Qu'est-ce que cela signifie quand les disques durs ont un processeur sur le disque dur ?
Cela signifie que le lecteur a une petite unité centrale. En général, tout périphérique doté d'une unité centrale dispose d'un micrologiciel.
Comment fonctionne-t-il et quels sont ses avantages ?
Les périphériques d'ordinateur sont complexes. Par exemple, l'acte de lire et d'écrire des données sur un lecteur de disquettes est assez complexe. Vous devez manipuler le matériel qui déplace la tête du lecteur, puis rechercher les en-têtes de secteur, savoir si les données qui arrivent sur une ligne de lecture ont un sens selon un protocole, etc.
Prenons un exemple simplifié de lecture d'un lecteur de disquettes : La façon la plus rudimentaire dont une unité centrale peut communiquer avec le monde extérieur est probablement par le biais des ports d'entrée/sortie. Ces ports sont connectés à des lignes sur la carte mère ou à des prises - si de l'électricité passe par une ligne, un 1 est visible pour l'UC sur le port lorsqu'il est lu, sinon, un 0 est visible pour l'UC. De même pour l'écriture, le CPU peut écrire un 1 sur un port pour faire passer l'électricité par la ligne, ou le mettre à 0 pour arrêter cela.
Ainsi, pour un lecteur de disquettes, disons que vous avez une ligne connectée à la tête de lecture/écriture de la disquette. Pour lire des données, il faut attendre une "inversion de flux", c'est-à-dire un changement d'énergie magnétique qui fait passer la ligne de 0 à 1 ou de 1 à 0. Il faut ensuite noter le temps qui s'écoule jusqu'à ce que vous détectiez une deuxième inversion de flux, et continuer ainsi jusqu'à ce que vous ayez tous les bits de votre secteur, et assembler ces durées mesurées pour recréer les données. Cela ne tient même pas compte de choses comme le déplacement de la tête d'entraînement ou l'attente que le moteur d'entraînement atteigne une vitesse normale pour que vos durées ne soient pas faussées, et la prise en compte du fait qu'il n'y a probablement pas deux moteurs exactement identiques et que vous devez donc être flexible dans vos mesures.
J'espère que ça a l'air compliqué, parce que ça l'est.
Bien sûr, vous pouvez programmer le processeur d'un ordinateur normal pour qu'il le fasse, mais comme il est très sensible au temps, le processeur de votre ordinateur ne peut pas vraiment faire grand-chose d'autre pendant ce temps. Les anciens ordinateurs qui, pour des raisons d'économie, utilisaient ce type d'opération dans toutes les unités centrales et tous les logiciels, comme l'ancien Apple IIe, ne pouvaient rien faire d'autre pendant la lecture/écriture sur le disque pour cette raison.
En plaçant une petite unité centrale dans le lecteur, et en ayant un contrôleur sur la carte mère qui n'est en fait qu'un bus de communication, votre unité centrale peut exécuter d'autres programmes, obtenir/envoyer des données au lecteur en utilisant le bus, et décharger la plupart des travaux physiques de bas niveau sur le lecteur lui-même. De plus, au fur et à mesure que la technologie s'améliore, la programmation de bas niveau pour la gérer peut rester dans le lecteur, et il n'est pas nécessaire de changer de programme sur votre ordinateur pour travailler avec différents formats de lecteur interne.
En ce qui concerne les routeurs, la fonction de routage de bas niveau n'est pas difficile à réaliser en matériel, et de nombreux routeurs d'entreprise le font, mais ce sont des éléments comme le pare-feu, la redirection de port, le contrôle d'accès et l'interface web ou la console qui sont suffisamment complexes pour nécessiter un processeur.
Je suis surpris, car le modèle de machine de von Neumann n'inclut pas les processeurs sur le stockage.
Rien dans le modèle de von Neumann ne dit que les périphériques ne peuvent pas être eux-mêmes des machines de von Neumann. Ce qui fait d'un périphérique un périphérique, c'est le fait que l'unité centrale peut lui envoyer des commandes via une sorte de bus ou un autre mécanisme d'entrée/sortie et obtenir des résultats en retour.