Pourquoi mettent-ils des «processeurs» sur les disques durs?

54

Qu'est-ce que cela signifie quand les disques durs ont un processeur sur le disque dur? Comment cela fonctionne-t-il et quels sont ses avantages?

Je ne comprends pas - le processeur de l'ordinateur est le processeur et le disque dur transfère son contenu dans la mémoire vive de l'ordinateur hôte. Des processeurs supplémentaires prétraitent-ils les données d'une manière ou d'une autre?

Voici quelques exemples:

  1. Western Digital WD Black WD1002FAEX 1To "Vitesse du double processeur"
  2. NETGEAR ReadyNAS 312 Stockage en réseau sans disque à 2 baies "Processeur Intel 2.1 GHz à double cœur et 2 Go de mémoire intégrée"

De plus, les routeurs ont maintenant des processeurs. Pourquoi est-ce nécessaire? Je suppose que cela a du sens: il faut une certaine logique pour que les paquets soient lus afin de savoir sur quels ports ils doivent être envoyés, mais pourquoi les anciens routeurs n'en avaient-ils pas besoin?

Exemple de routeur sans fil avec processeur : " Processeur double cœur"

Je suis surpris, car le modèle de machine von Neumann n'inclut pas de processeurs en stockage diagramme.

Céléritas
la source
19
Ce Netgear n'est pas simplement un routeur mais un serveur de fichiers à part entière. Avec le disque dur, il effectue simplement un traitement préalable sur l’un et l’entrée-sortie sur d’autres. Théoriquement un peu plus rapide, mais un SSD reste le roi de la vitesse. On dirait que le routeur ASUS possède certaines fonctionnalités VPN et autres fantaisies qui nécessiteraient une certaine puissance de traitement, d'où le double cœur.
user341814
17
Le modèle Von Neumann ne dit rien sur la structure des périphériques d'E / S. Vous avez toujours besoin d’une carte graphique pour piloter un moniteur, même si ce modèle l’intègre dans un seul bloc "sortie".
user253751
10
L’architecture Von Neumann (à partir de 1945) est un excellent point de départ (conceptuel) pour comprendre les ordinateurs à programme enregistré. La mise en œuvre réelle des ordinateurs modernes (y compris la plupart des périphériques) est beaucoup plus détaillée. En 1945, il n'y avait pas de "périphériques intelligents", ils ne seraient donc pas représentés dans le diagramme. Les voitures sont conceptuellement les mêmes qu'en 1945 (quatre roues, un moteur, un volant) mais vous ne vous attendriez pas à ce qu'un schéma simplifié d'une voiture de 1945 vous en donne une compréhension complète aujourd'hui.
Maxx Daymon
7
Le diagramme d'architecture de von Neumann n'inclut pas non plus de flèche entre "Mémoire" et "Stockage". Considérons DMA .
un CVn
3
Saviez-vous que (à part Apple - à cause de Woz), tous les premiers micro-ordinateurs domestiques (auxquels je peux penser) avaient un processeur dans le lecteur de disquette? Rappelez-vous le son morceau-morceau-morceau des premiers lecteurs de disquettes Apple? C'est parce qu'ils ont trouvé le secteur zéro en déplaçant le bras d'entraînement jusqu'à la distance maximale trois fois.
Elliott Frisch

Réponses:

81

Eh bien, le disque dur a toujours eu des processeurs, principalement pour mettre en cache des données et faire d'autres tâches du disque dur, comme le marquage de blocs défectueux, etc.

Le produit Netgear que vous avez lié est un NAS, ce qui vous permet de diffuser du contenu multimédia à partir de celui-ci sur le réseau. Ce n'est donc pas vraiment un disque dur. Cela ressemble plus à un disque dur connecté au réseau avec un logiciel sophistiqué pour vous permettre de diffuser des informations sur le réseau.

Les anciens routeurs avaient également des processeurs, bien qu'ils aient été lents et qu'ils ne fussent pas annoncés du tout. Le WRT54G, sorti en 2002, était équipé d’un Broadcom BCM4702 fonctionnant à 125 MHz. Pas très vite en effet. Cependant, ces jours-ci, nous demandons plus aux routeurs et des fonctionnalités telles que le VPN nécessitent des processeurs plus rapides.

matthew5025
la source
14
Les disques durs n'ont pas toujours eu de "processeurs" reconnaissables, mais ils sont certainement communs depuis 15 à 20 ans.
Daniel R Hicks
21
Les disques ST-506 étaient des disques "muets" et étaient populaires jusqu’au début des années 90. IDE (Integrated Drive Electronics, également appelé "lecteurs intelligents") place le contrôleur (CPU) directement sur les lecteurs, à l'instar de SCSI.
Maxx Daymon
11
Les disques durs contenant des processeurs remontent au début des années 1960 avec les processeurs périphériques de la série CDC 6000 et leurs équivalents sous IBM System / 360 (et peut-être avec des machines plus anciennes).
Andrew Medico
3
Vous avez besoin d’un processeur pour que le cache fonctionne de manière optimale, comme de
choisir les
3
Les disques durs n'ont certainement pas toujours suivi les blocs défectueux en interne. Pourquoi pensez-vous que MS-DOS 6.0 a introduit Scandisk et sa fonctionnalité d'analyse de surface pour renseigner le FAT avec une liste de clusters défectueux?
un CVn
125

Je ne comprends pas - le processeur de l'ordinateur est le processeur et le disque dur transfère son contenu dans la mémoire vive de l'ordinateur hôte. Des processeurs supplémentaires prétraitent-ils les données d'une manière ou d'une autre?

Le processeur est un processeur; il y en a d'autres. Un processeur est ce qui exécute le code de programme. Ainsi, tout périphérique doté d'un microprogramme (qui est un code) possède un processeur quelconque.

Un disque dur a son propre (petit) processeur exécutant un micrologiciel implémentant un protocole d'interface (par exemple, SATA ou SCSI) et contrôlant les moteurs du lecteur. Pensez à votre disque dur comme un ordinateur spécialisé dans un ordinateur; le câble SATA est comme un câble réseau lui permettant de communiquer avec l'ordinateur "principal". La CPU crée des messages (tels que des paquets de commandes SATA) pour indiquer au lecteur quelles données il veut et les envoie au lecteur via le câble; Le processeur du lecteur examine les messages de la CPU et contrôle les moteurs et les têtes magnétiques du lecteur pour lire ou écrire les données.

Un NAS est un ordinateur exécutant un logiciel de serveur de fichiers. En principe, ce n'est pas différent de la configuration de dossiers partagés sur votre PC. le NAS exécute un système d'exploitation plus léger sur un processeur plus lent, mais effectue essentiellement le même travail. Il en va de même pour un routeur.

Wyzard - Arrête de blesser Monica--
la source
53
J'aime cette réponse. La CPU est une unité centrale , il doit donc y en avoir d'autres.
gronostaj
19
Le point clé est "tout périphérique doté d'un micrologiciel (code d'exécution) dispose d'un processeur quelconque". Bravo Wyzard!
Mindwin
2
La protection contre la perte d'alimentation est un exemple de fonctionnalité pouvant être implémentée dans un disque dur avec un code de processeur et de programme. Le lecteur peut détecter quand le MB a perdu l’alimentation. Le programme exécuté dans le processeur du disque dur peut alors écrire le dernier bit de données en mémoire tampon sur le disque (alimenté par un condensateur intégré). Étant donné que le MB n’est plus alimenté, le processeur qu’il utilise n’est plus alimenté et ne permet aucune opération d’écriture HD non terminée. Il est donc logique que le disque dur dispose de sa propre puissance, de son processeur et de son code de programme pour terminer les écritures en mémoire tampon et les éteindre proprement.
MikeM
2
Et de Wikipedia: "Certains anciens disques durs PC ne garaient pas automatiquement la tête lorsque l’alimentation était coupée prématurément et que la tête se posait sur des données. Dans certaines autres unités, l’utilisateur exécutait un programme pour garer manuellement la tête." - Avec un processeur et un code de programme, ce problème a également été résolu.
MikeM
@gronostaj nous avons donc également besoin d'unités de traitement décentralisées?
Thorbjørn Ravn Andersen Le
33

Si vous pouviez examiner en détail le fonctionnement d'un PC de bureau typique, vous trouveriez des processeurs partout. Si vous avez un clavier et une souris connectés aux ports USB, il y a un processeur à l'intérieur du clavier et un autre à l'intérieur de la souris qui parle le protocole USB.

Dans le cas d'un disque dur, ce processeur a une tonne de choses à faire. D'une part, le processeur doit positionner la tête, attendre le bon moment, puis envoyer les données aux plateaux. Lorsque le processeur demande à lire une série de données, le processeur trouve l'ordre optimal pour extraire ces données du disque et peut même récupérer des données supplémentaires qui sont passées sous la tête pour être mises en cache si le processeur le demande. suivant.

Les disques durs modernes peuvent également effectuer des contrôles de santé SMART en arrière-plan. Le processeur n'a pas à se préoccuper de ces choses-là, à part peut-être demander les résultats périodiquement.

Les "routeurs" modernes de SoHo ne sont pas que des routeurs. Ce sont également des points d’accès, des commutateurs, des serveurs DHCP, des serveurs Web, et ils implémentent la NAT, le pare-feu, parfois même les fonctions NAS, et bien d’autres choses encore. Leurs transformateurs ont des tonnes de travail à faire.

Fondamentalement, un processeur est si peu coûteux à mettre en œuvre de nos jours qu'il est utilisé dans presque tous les cas où cela fait sens. L'exception serait les cas où la tâche est très simple ou où des performances élevées sont requises. Heck, il y a probablement même un dans votre alimentation pour gérer la vitesse des ventilateurs et optimiser la consommation d'énergie.

David Schwartz
la source
1
"Si vous avez un clavier et une souris connectés aux ports USB, il y a un processeur à l'intérieur du clavier et un autre à l'intérieur de la souris qui parle le protocole USB." Je pensais que c'était le travail d'un contrôleur . Les contrôleurs sont-ils parfois considérés comme les mêmes choses que les processeurs?
Celeritas
1
Les contrôleurs peuvent être du matériel pur, mais leurs exigences ont tendance à augmenter, rendant le matériel de plus en plus complexe. À un certain point de complexité, il est plus facile d’utiliser un processeur et d’utiliser le logiciel. Mais cela ne donne pas au contrôleur un nom différent; les utilisateurs ne veulent généralement pas ou ne doivent pas savoir comment le contrôleur est implémenté. De plus, avec les ASIC et les FPGA matériels complexes de nos jours, la distinction entre les processeurs devient un peu floue.
Guntram Blohm soutient Monica
Au début, je lisais cela comme un "grincement de souris" :)
Tom Zych Le
21

De nombreuses appliances "intelligentes" actuelles sont en fait des ordinateurs à part entière, exécutant souvent un clone de Linux. Si le périphérique est suffisamment autorisé, ou s'il a été enraciné / jailbreaké, vous pourrez peut-être le modifier, installer de nouveaux packages ou même modifier le système d'exploitation. Ils utilisent bien sûr des processeurs.

Les exemples incluent les téléphones, les téléviseurs, les lecteurs de DVD, les lecteurs de livres électroniques, les boîtiers NAS, les routeurs domestiques, les modems et la gestion hors bande dans les serveurs, qui sont en fait des ordinateurs complets dotés de leur propre système d'exploitation.

Mais même les périphériques idiots ont des processeurs, souvent appelés microcontrôleurs, chargés par exemple de lire et d’écrire des données. La carte Micro SD de votre téléphone contient un processeur et une carte SIM en est une autre, capable d’exécuter des applications Java.

Même de simples jouets pour enfants, comme un feu de circulation, sont dotés d'un microrégulateur, car il est plus facile et moins coûteux de mettre en œuvre la logique de la lumière dans le logiciel du microcontrôleur que dans des composants discrets.

Edheldil
la source
8
en fait, peu de gens savent que la carte SIM est un vrai ordinateur et vous pouvez même la reprogrammer à la volée à l'aide de SMS spéciaux
phuclv
Voir JavaCard
Andrew Medico
Pas seulement les cartes SIM, mais toutes les cartes à puce Chip & Pin conformes à la norme ISO. Les cartes bancaires, les cartes de fidélité et bien d’autres encore portent ces choses maintenant et certaines d’entre elles sont étonnamment puissantes.
shawty
20

Pour répondre à votre question spécifique sur les disques durs que personne ne semble avoir abordée.

SATA (et toutes les autres interfaces de connexion de disque auxquelles je peux penser) fonctionne avec des blocs. Les commandes sont définies (entre autres choses) pour lire et écrire des blocs de stockage physiques spécifiques, et les données sont fournies via le câblage d'interface de pièces jointes. Cette commande doit être traitée quelque part, ce qui peut être effectué dans un logiciel fonctionnant sur un processeur intégré, ou en utilisant une sorte de configuration matérielle pure qui devrait probablement faire la même chose.

Devinez ce qui est moins cher, physiquement plus petit, plus facile à manipuler et en général beaucoup plus polyvalent? C’est vrai, un processeur, une petite quantité de mémoire de programme (mémoire flash, EPROM, ROM ou tout autre équipement adapté à vos besoins) et une petite quantité de RAM, les deux derniers étant suffisants si vos besoins sont suffisamment modestes. processeur lui-même (voir par exemple la famille de microcontrôleurs PIC ).

N'oubliez pas non plus que les plateaux de disque ne stockent pas de bits. Ils stockent des codages de flux magnétiques de bits. Quelque chose doit traiter les lectures de flux provenant de la tête de lecture ou transformer les données en transitions de flux à attribuer à la tête d'écriture. Si une lecture est imparfaite, les données de correction d'erreurs (stockées avec les données) est utilisé pour l' idéal (ce qui est malheureusement pas toujours le cas ) corriger l'erreur et le retour de bonnes données plutôt que des ordures, ou retourner une erreur si le problème est trop grave pour être corrigible. Encore une fois, c’est plus facile à implémenter dans un logiciel qui doit fonctionner sur quelque chose, et un processeur avec un peu de mémoire convient à merveille.

Disposer de beaucoup de puissance de traitement à bord signifie que vous pouvez utiliser des schémas de codage et de récupération d'erreur plus avancés, ce qui signifie que, dans le cas des disques durs, vous pouvez stocker davantage de données sur la même surface physique. Le résultat final est une capacité de stockage plus grande pour vous que ce qui serait autrement possible. La puissance de traitement du microcontrôleur à disque dur lui-même n’a cependant pas d’importance critique pour l’utilisateur du lecteur.

un CVn
la source
1
Pour élaborer sur «ou en utilisant une sorte de configuration matérielle pure» - les microcontrôleurs (comme vous le dites) et les ASIC personnalisés étaient beaucoup plus courants. De nos jours, il est souvent plus simple et moins coûteux de construire avec de "vrais" processeurs exécutant un système d'exploitation intégré à partir de la ROM, plutôt que de concevoir et de fabriquer des ASIC personnalisés et d'écrire un micrologiciel hautement spécialisé pour les microcontrôleurs. Le problème matériel devient un problème logiciel et les composants sont plus standardisés. ces deux solutions réduisent les coûts ... et ouvrent la porte à de nouvelles fonctionnalités.
echo le
12

Pardonnez-moi si j'ai dépassé ce point mais je ne l'ai pas encore lu dans les réponses (bien que toutes les autres réponses soient excellentes).

Le déploiement de processeurs sur du matériel réduit également la charge de travail de votre processeur central, qui constitue votre processeur sur la carte mère.

Pensez à un ordinateur avec un seul processeur qui doit effectuer tout le travail à effectuer. Mémoire de contrôle, bus de contrôle, gestion des calculs spécifiques au disque dur (rotation du disque, accès, amplitude d'écriture, de lecture, etc.)

Si tout ce qui doit être fait est fait par votre processeur, il ne restera plus beaucoup de temps pour vos tâches réelles.

Stefan
la source
9

Commençons par l'évidence: ces "processeurs" ont toujours été présents à un niveau donné. Avec les anciens disques, ceux-ci se trouvaient dans des cartes de contrôleur et, avec tout ce qui approche , les disques durs ont des contrôleurs de disque - la désignation "IDE" pour les lecteurs pata fait référence au fait que l'électronique était à bord plutôt que d'avoir une carte séparée.

Bien que traditionnellement il s’agisse de micro-contrôleurs, mon ssd - un samsung 840 a un processeur à trois bras. Ces puces permettent, entre autres, de niveler l'usure, de gérer diverses conversions internes (telles que la conversion de commandes ATA ou SCSI en une sorte de grincement de l'électronique de lecteur), et deux facteurs: le matériel est beaucoup plus compliqué qu'il ne l'était auparavant et les processeurs sont moins chers et plus rapides. qu’auparavant, il est logique de transformer un disque dur polyvalent en un disque dur. Cependant, oui, ces processeurs ont toujours été présents.

Avec les routeurs, ils ont toujours eu des cœurs de bras ou de mips - ils ont essentiellement besoin de l’alimentation pour exécuter un serveur Web, un routage, etc. De nombreux lecteurs connectés au réseau utilisent des cœurs similaires ou meilleurs pour pouvoir gérer des choses comme smb ou la page d'administration.

Pendant de nombreuses années, les claviers ont les mêmes processeurs M68K que ceux de nombreux ordinateurs anciens et il existe des souris avec des cœurs de bras capables de gérer des tâches comme un éclairage sophistiqué et des réponses toujours plus rapides.

Compagnon Geek
la source
Quand les claviers ont-ils eu des microprocesseurs de 68K!? Et des lecteurs comme le ST-225 comportaient-ils vraiment des processeurs?
Supercat
Eh bien, c’était un vieux clavier de sonnette packard misérable que j’ai démonté il ya quelque chose comme il ya 4 ou 5 ans et qui était d’occasion. Était un peu une surprise. La ST 225 était antérieure à l'IDE, et avait donc besoin d'un contrôleur séparé, je suppose. Je considérerais à peine cela comme quelque chose que vous trouveriez dans un PC des 15 dernières années ou plus
Journeyman Geek
Êtes-vous sûr que c'était un 68K contre quelque chose comme un 68HC05?
Supercat
Concernant le ST 225. Les disques MFM sont suffisamment vieux pour utiliser le processeur de l'ordinateur principal. Le lecteur lui-même ne dispose que d’un câble avec le signal brut de la tête du lecteur, d’un signal permettant de changer de piste, d’un signal indiquant le sens de changement de piste (vers une piste supérieure ou inférieure) et d’un signal indiquant le zéro de la piste. a été atteint. Toute la gestion (y compris le suivi des secteurs défectueux tels qu’imprimés sur l’étiquette des disques) a été effectuée à l’aide de logiciels sur l’ordinateur principal.
Hennes
5

De plus, les routeurs ont maintenant des processeurs. Pourquoi est-ce nécessaire? Je suppose que cela a du sens: il faut une certaine logique pour que les paquets soient lus afin de savoir sur quels ports ils doivent être envoyés, mais pourquoi les anciens routeurs n'en avaient-ils pas besoin?

Les routeurs ont toujours eu un processeur. Les deux routeurs d'origine étaient des logiciels fonctionnant sur des PDP-11 (oui, le successeur de la machine sur laquelle Unix était écrit à l'origine). L'un a été développé à Stanford et l'autre au MIT. Le routeur Stanford a ensuite été concédé sous licence à une jeune entreprise appelée Cisco Systems. Cisco a regroupé les ordinateurs PDP dans des boîtiers personnalisés, les a étiquetés «Cisco» et les a vendus en tant que routeurs.

C'est donc ce que les vieux routeurs utilisaient - les processeurs.

Je me souviens d’avoir lu une interview d’un des fondateurs de Cisco qui disait: «c’est l’avantage de vendre des logiciels en tant que boîtiers en métal - il n’est pas nécessaire de convaincre les gens de ne pas en remettre des copies à leurs amis». Mon google-fu me fait défaut aujourd'hui, donc je ne trouve pas la citation réelle. C'était à l'époque où un certain fondateur d'une petite entreprise appelée Microsoft a convaincu les gens qu'ils devaient payer pour un logiciel (à l'époque, c'était une version antérieure de Basic).

bûcheron
la source
4

Depuis le début de la révolution informatique, tous les équipements semi-autonomes portent une sorte de "processeur", mais jusqu'à présent, ils n'étaient jamais vraiment signalés comme tels.

Ce que vous voyez ici, c'est la corruption permanente et les demi-vérités qui sont répandues dans notre société par des agences de marketing zélées, où les vendeurs sont de plus en plus encouragés et amenés à croire qu'ils sont les stars de la série, tout simplement parce qu'ils en sont les créateurs. les profits.

Cependant, tout ce qui doit exécuter un ensemble de tâches pour lequel la prochaine itération d'un processus peut être différente de l'itération précédente doit avoir un interprète capable de donner un sens aux instructions données au périphérique. , puis réagissez à ces instructions d’une manière ou d’une autre.

De retour dans la nuit des temps, des termes tels que "Contrôleurs" étaient la norme, mais ils se résumaient toujours à la même chose.

Prenons, par exemple, un "disque dur IDE avec contrôleur IDE intégré", bien qu’il ne s’agisse pas d’un processeur au sens où l’on pense à un processeur situé sur la carte principale de votre PC, il n’en reste pas moins une forme de processeur.

Le PC hôte envoie des "codes OP" (abréviation de codes d'opération) sur le bus (PCI, ISA, MCI, PCIe ou autre) au contrôleur de disque, le contrôleur lit alors ce code et toutes les données fournies avec ce dernier, puis les transforme. lors d'opérations physiques qui amènent le lecteur à déplacer les têtes au bon endroit et à lire les données demandées.

Les routeurs ont une histoire encore plus longue, Cisco a construit des équipements de réseau pour la majeure partie des 50 dernières années, voire plus, et chacun de ces périphériques possède un contrôleur / processeur personnalisé depuis tout ce temps. Cette unité centrale a été conçue par Cisco pour le but spécifique de Cisco de programmer et de contrôler toute leur gamme de routeurs et de commutateurs.

Les cartes graphiques sont une autre chose, vous entendez les gens regrouper le terme "GPU" comme si c'était quelque chose de mystique qui ne fait que des graphiques. Ce n'est pas, c'est un processeur d'algorithme mathématique massivement parallèle, Iv'e vient de terminer la révision technique d'un livre sur Nvidia CUDA, et ce que j'ai appris sur le GPU de Nvidia était plutôt surprenant, ces choses sont des processeurs à part entière, des processeurs qui sont conçus pour effectuer un ensemble de travaux spécialisés, mais ils restent semi-intelligents et capables de nombreux types d'opération

Comme cela a déjà été souligné, le Netgear Readynas ressemble en réalité à un PC complet à part entière. Il est spécialement conçu pour fonctionner uniquement en tant que périphérique de stockage distant.

Si vous le souhaitiez, rien ne vous empêcherait de reprogrammer le périphérique Netgear avec un nouveau logiciel et de le rendre parfaitement opérationnel en tant que serveur Web, serveur de base de données ou même un petit serveur de développement Linux. (Une recherche rapide vous montrera plus qu'une poignée de projets visant à faire une telle chose avec ces unités NAS)

En ce qui concerne le processeur, vous serez peut-être surpris d'apprendre que les disques durs équipés de "Processeurs" ne sont pas les seuls. Essayez cette petite expérience.

Allez dans votre cuisine et voyez combien de processeurs vous pouvez compter.

Je suis prêt à parier que votre réfrigérateur / congélateur, votre lave-vaisselle, votre lave-vaisselle, votre four et votre micro-ondes (du moins) possèdent tous une sorte de processeur, ce n'est peut-être pas un processeur Intel Core i7, mais il s'agit toujours d'un processeur, et il est conçu pour rester silencieux, interprétant les instructions qui lui sont envoyées par d’autres circuits électriques / numériques, qu’il transforme ensuite en opérations physiques que vous voyez.

Alors, quelle est la définition d'un processeur?

Bien qu’il soit un peu difficile à cerner de nos jours, mais en général, la définition de «processeur» ressemble à «Toute unité autonome, capable d’agir sur des entrées externes de manière semi-intelligente et de produire une ensemble connu de sorties dérivées de ces entrées "

Ainsi, toute unité, circuit, puce ou machine autonome autonome pouvant effectuer une manifestation physique d’un processus connu sur la base d’un ensemble d’entrées prédéfinies peut être considérée, dans son sens le plus fondamental et le plus générique, comme un processeur d’une description quelconque.

shawty
la source
+1 trouve cela une bonne réponse plus approfondie. J'aurais aimé lire sur la parallélisation massive de GPU en termes de "1024 cœurs font tous la même instruction en même temps" pour être plus précis dans cette direction - mais j'aime bien votre réponse :)
Stefan
1
Merci :-) si vous êtes intéressé par le parallélisme massif des GPU, surveillez la gamme Ebook gratuite de Syncfusions pour "CUDA Succintly". Elle devrait sortir dans un avenir pas trop lointain, et elle est téléchargeable gratuitement.
shawty
4

Alors que les disques durs et cartes mémoire flash ont des processeurs pas toujours inclus, leur conception est soumise à un principe assez simple: quelque chose avec un processeur doit savoir ce qui est nécessaire pour stocker et récupérer des données. Si un périphérique de stockage ne contient pas de processeur mais est connecté à quelque chose qui le contient, le matériel doit permettre le stockage et l'extraction des informations en utilisant la séquence exacte des étapes attendues par le périphérique connecté. Même s'il peut être plus efficace de stocker et de récupérer des informations d'une autre manière, le système connecté ne peut en aucun cas en être informé.

Par exemple, la plupart des disques durs fonctionnent en magnétisant chaque morceau du disque dans l’une des deux directions. Si un "L" représente la magnétisation dans un sens pendant un certain temps et qu'un "R" représente la magnétisation dans le même temps, essayez de stocker des données directement en utilisant "L" pour représenter un "1" et " R "représenter un" 0 "serait très peu fiable à cause de deux facteurs:

  1. Une longue chaîne de uns ou de zéros représenterait une longue chaîne de L ou de R, qui peut à son tour être mal interprétée en tant que chaîne légèrement plus longue ou plus courte. Par exemple, si le moteur d'entraînement tourne 5% plus lentement lorsque les données sont lues que lors de l'écriture, ce qui a été écrit sous la forme d'une chaîne de 20 L pourrait être mal interprété sous la forme d'une chaîne de 21 L.

  2. Deux chaînes de L séparées par un petit nombre de R peuvent se répandre dans cette petite chaîne de R et "engloutir". De même, deux chaînes de R séparées par un petit nombre de L.

En raison de ces facteurs, les lecteurs doivent généralement coder les informations en exécutions de L et de R dont la longueur est comprise entre certains maximum et minimum; les valeurs optimales pour la longueur maximale et minimale peuvent varier en fonction de la qualité des composants électroniques, du moteur, de la tête et du support. De plus, étant donné que les pistes externes d'un disque sont plus longues que les pistes internes, elles peuvent éventuellement stocker des exécutions plus courtes de Ls et de R que les pistes externes.

Pour que des informations puissent être stockées sur un lecteur, il doit être connecté à quelque chose qui sait convertir les données en chaînes de L et de R que le support pourra contenir. Si le fait de convertir les L et les R incombait à un contrôleur distinct du lecteur lui-même, un lecteur ne devrait utiliser que des formats compatibles avec tout contrôleur auquel il pourrait être connecté. Le fait de déplacer le contrôleur vers l’ensemble de lecteurs résout ce problème: si chaque fabricant livre un lecteur avec un contrôleur capable de comprendre comment il stocke les données, il n’a pas à s’inquiéter de savoir si d’autres contrôleurs comprendraient ces données, car les informations ne seront alors disponibles. stockés et récupérés par le contrôleur contenu dans l’entraînement.

supercat
la source
3

Comme cela a déjà été expliqué, de nombreux périphériques / périphériques ont toujours eu des processeurs pour fournir leur fonctionnalité principale et même les routeurs relativement basiques sont en fait de petits serveurs (l'aspect le plus visible pour l'utilisateur final serait les assistants de configuration Web, vous avez besoin d'un Pile IP, un serveur Web, etc. et un processeur sur lequel les exécuter).

Mais vous devez également comprendre qu’un NAS grand public moderne est encore plus que cela, vous pouvez généralement vous y connecter via un navigateur Web et avoir accès à une interface graphique avec de nombreuses applications, à un système de gestion de progiciels, à plusieurs services pour diffuser des fichiers multimédia, exécuter des mises à jour automatiques, lire d'autres périphériques de stockage connectés à un port USB, etc., de manière à créer presque un environnement de bureau à part entière (bien que certains travaux pour l'interface graphique soient évidemment partagés avec la machine cliente).

Détendu
la source
2

Tous les disques durs ont toujours eu des processeurs. Tous les routeurs ont toujours eu des processeurs.

Votre carte graphique a un processeur. A toujours. Votre carte d'interface réseau a un processeur. A toujours. Votre imprimante a un processeur, votre clavier, votre souris et ainsi de suite. J'aurais du mal à penser à un périphérique connecté à votre ordinateur qui ne dispose PAS d'un processeur quelconque.

Ils sont maintenant davantage annoncés parce que leurs performances sont plus critiques, parce que nous demandons à ces appareils de faire de plus en plus.

Facture
la source
2

Il n’existe pratiquement aucun dispositif dans l’électronique informatique qui soit si bête qu’il puisse jouer son rôle sans processeur: au minimum, pratiquement tout doit coder un signal en entrée ou en sortie à un moment donné. Si ce signal varie, il doit exister des règles indiquant comment il varie et un processeur les applique.

Dérivant un peu plus loin de la question mais renforçant le thème de tous les processeurs , dans les années 80, j'étais administrateur système et responsable de plusieurs ordinateurs centraux VAX / VMS.

Nous avions un imprimeur de bande très rapide (bruyant) qui exécutait une série de marteaux frappant une bande à haute vitesse et à haute résistance. Je pense que c'était une imprimante à 600 lignes par minute. C'est complètement formé 132 lignes de caractères, pas une ligne de points.

Pour contrôler le timing de la frappe des marteaux sur le groupe, celui-ci avait quelques circuits électroniques simples. Cela nécessitait un programme différent selon les bandes - vous pourriez avoir des bandes encore plus rapides ne comportant que des lettres majuscules (plusieurs jeux d’ASCII sur une bande).

Le programme de ce processeur était stocké sur un morceau de ruban en papier qui était également lu en boucle chaque fois que l’imprimante était allumée (oui, elle fonctionnait la plupart du temps).

Je n'ai appris que lorsque mon opérateur a été enthousiaste à nettoyer l'imprimante et a trouvé le ruban adhésif. Heureusement, il réalisa qu'il ne s'agissait pas d'un bout de papier égaré et n'essaya pas de l'enlever.

Andy Dent
la source
2

Qu'est-ce que cela signifie quand les disques durs ont un processeur sur le disque dur?

Cela signifie que le lecteur a un petit processeur. En règle générale, tout périphérique doté d'un processeur aura un microprogramme.

Comment cela fonctionne-t-il et quels sont ses avantages?

Les périphériques informatiques sont complexes. Par exemple, le fait de lire et d’écrire des données sur un lecteur de disquette est assez compliqué. Vous devez manipuler le matériel qui déplace la tête de lecteur, puis rechercher des en-têtes de secteur pour déterminer si les données entrant sur une ligne de lecture ont un sens, conformément à un protocole, etc.

Prenons un exemple simplifié de lecture d'un lecteur de disquette: la manière la plus rudimentaire qu'un processeur puisse communiquer avec le monde extérieur consiste à utiliser des ports d'E / S. Ces ports sont connectés aux lignes de la carte mère ou aux sockets - si l'électricité passe par une ligne, le CPU visible sur le port lors de la lecture est 1, sinon, le 0 est visible par le CPU. De même pour l'écriture, la CPU peut écrire un 1 sur un port pour que l'électricité passe par la ligne ou la mettre à 0 pour l'arrêter.

Donc, pour un lecteur de disquette, disons que vous avez une ligne connectée à la tête de lecture / écriture de la disquette. Pour lire des données, vous devez attendre une "inversion de flux", c'est-à-dire un changement d'énergie magnétique qui ferait passer la ligne de 0 à 1 ou de 1 à 0. Vous devrez ensuite savoir combien de temps vous détectez une seconde inversion de flux et continuez ainsi jusqu'à ce que vous ayez tous les bits de votre secteur, et rassemblez les durées mesurées pour recréer les données. Cela n'entre même pas dans des choses telles que déplacer la tête d'entraînement ou attendre que le moteur d'entraînement atteigne une vitesse normale afin que vos durées ne soient pas gâchées, et en tenant compte du fait qu'il n'y a probablement pas deux moteurs identiques, vous avez donc besoin être flexible dans vos mesures en quelque sorte.

Espérons que cela paraisse compliqué, parce que ça l'est.

Bien sûr, vous pouvez programmer un processeur d'ordinateur normal pour le faire, mais comme il est très sensible au temps, le processeur de votre ordinateur ne peut pas faire grand chose d'autre pendant que cela se produit. Les vieux ordinateurs qui faisaient réellement quelque chose comme ça dans tous les processeurs / logiciels pour économiser de l'argent, comme le vieil Apple IIe, ne pouvaient rien faire d’autre en lisant / écrivant sur un disque pour cette raison.

En plaçant un petit processeur dans le lecteur et en disposant un contrôleur sur la carte mère qui n’est en réalité qu’un bus de communication, votre CPU peut exécuter d’autres programmes, envoyer / envoyer des données au lecteur à l’aide du bus et décharger la plupart des tâches physiques. niveau travail à la commande elle-même. De plus, à mesure que la technologie évolue, la programmation de bas niveau à 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 au niveau entreprise le font bien, mais il s’agit de fonctions telles que le pare-feu, la redirection de port, le contrôle d’accès et l’interface Web ou la console. un processeur pour le faire.

Je suis surpris, car le modèle de machine von Neumann n'inclut pas de processeurs en stockage

Dans le modèle de von Neumann, rien ne dit que les périphériques ne peuvent pas être eux-mêmes des machines de von Neumann. Ce qui fait qu'un périphérique est un périphérique, c'est le fait que la CPU peut lui envoyer des commandes via un bus ou un autre mécanisme d'E / S et obtenir des résultats.

LawrenceC
la source
2

---- Toutes les réponses sur cette page étaient trop longues (ou du moins ce que je ressentais) - - - Je voudrais donc en ajouter une ...

  • Les disques ont des processeurs parce que l'activité physique consistant à passer de "Spot" à "Spot" sur le disque, dans le bon ordre, est une tâche semi-difficile

  • Si vous lisez / écrivez des données dans un ordre "incorrect" ou "lent", en fonction des distances et telles, vous pouvez ralentir considérablement le transfert de données.

La meilleure façon de le dire est de travailler dans un magasin et d’obtenir des articles dans les coins les plus éloignés avant de tout envoyer en route.

Une commande intelligente consiste à tout prendre en route = = C’est un peu la façon dont AHCI fonctionne avec NCQ.

NCQ a besoin d’un traitement plus intelligent car il planifie mieux ses recherches.

Avant cela, quelque chose appelé PIO ou "Contrôlé par le processeur ... euh ... I / O. Ce qui était lent parce que 1. la distance entre le CPU et le disque dur est vaste en termes informatiques: Latence. Latence pour décider des commandes = transfert lent. 2. Le processeur fait (doit faire) d’autres tâches 3. C’est vraiment… l’essentiel.

L'ordinateur demande des fichiers ici et ici. Le disque est responsable de "COMMENT" pour le transférer à l'ordinateur.

... k im fait

TardisGuy
la source
Ce que vous décrivez est connu sous le nom d' algorithme d'ascenseur . La mise en file d'attente des commandes (telle que NCQ de SATA) permet au processeur d'envoyer plusieurs commandes au lecteur en tant que groupe, de sorte que le lecteur puisse décider de l'ordre le plus efficace pour les exécuter. Sans la mise en file d'attente des commandes, la CPU doit attendre que le lecteur réponde à chaque requête avant d'envoyer la suivante. Le lecteur doit donc traiter les requêtes dans l'ordre d'envoi par la CPU. Cela peut être moins efficace car le processeur ne connaît pas la structure physique interne du disque.
Wyzard --Stop Harming Monica--
PIO est quelque chose de différent, cependant. C'est un mode dans lequel le processeur doit exécuter du code pour recevoir les données lues par le lecteur, ce qui est inefficace. Il est généralement remplacé par le DMA , qui permet au lecteur de stocker les données directement dans la RAM tandis que le processeur travaille à d’autres tâches.
Wyzard --Stop Harming Monica--
Oui, je n'étais pas [exact] [exact] mais la fonction de la performance est la latence résultante par transaction.
TardisGuy