¿Por qué están poniendo "procesadores" en los discos duros?

54

¿Qué significa cuando los discos duros tienen un procesador en el disco duro? ¿Cómo funciona y qué beneficio tiene?

No entiendo: la CPU de la computadora es el procesador y el disco duro transfiere su contenido a la RAM de la computadora host. ¿Los procesadores adicionales preprocesan los datos de alguna manera?

Aquí hay unos ejemplos:

  1. Western Digital WD Black WD1002FAEX 1TB "Velocidad de procesador dual"
  2. NETGEAR ReadyNAS 312 Almacenamiento conectado a la red sin disco de 2 bahías "Procesador Intel de doble núcleo a 2,1 GHz y memoria integrada de 2 GB"

Además, los enrutadores ahora también tienen procesadores. ¿Por qué es eso necesario? Supongo que tiene sentido: es necesario que suceda algo de lógica para que los paquetes se lean para saber en qué puertos enviarlos, pero ¿por qué los enrutadores antiguos no los necesitaban?

Ejemplo de enrutador inalámbrico con procesador : " procesador de doble núcleo"

Me sorprende, porque el modelo de máquina von Neumann no incluye procesadores en almacenamiento diagrama.

Celeritas
fuente
19
Ese Netgear no es solo un enrutador sino un servidor de archivos completo. Con el disco duro, solo realiza un preprocesamiento en uno e IO en otros. Teóricamente un poco más rápido, pero un SSD sigue siendo el rey de la velocidad. Parece que el enrutador ASUS tiene algunas características de VPN y otra fantasía que necesitaría tener algo de poder de procesamiento, de ahí el doble núcleo.
user341814
17
El modelo de Von Neumann no dice nada sobre la estructura de los dispositivos de E / S. Aún necesita una tarjeta gráfica para controlar un monitor, a pesar de que ese modelo lo agrupa todo bajo un solo bloque de "salida".
user253751
10
La arquitectura de Von Neumann (desde 1945) es un gran punto de partida (conceptualmente) para comprender las computadoras de programas almacenados. La implementación real de las computadoras modernas (incluida la mayoría de los periféricos) es significativamente más detallada. En 1945 no había "periféricos inteligentes", por lo que no se representarían en el diagrama. Los automóviles son conceptualmente iguales a como eran en 1945 (cuatro ruedas, un motor, volante), pero no esperaría que un diagrama simplificado de un automóvil de 1945 le diera una comprensión integral de ellos hoy.
Maxx Daymon
77
El diagrama de arquitectura von Neumann tampoco incluye una flecha entre "Memoria" y "Almacenamiento". Considere DMA .
un CVn
3
¿Sabía que (aparte de Apple, debido a Woz), cada microordenador doméstico (que se me ocurre) tenía un procesador en la unidad de disquete? ¿Recuerdas el sonido chunk-chunk-chunk de las primeras unidades de disquete de Apple? Eso fue porque encontraron el sector cero moviendo el brazo impulsor a la distancia máxima tres veces.
Elliott Frisch

Respuestas:

81

Bueno, HDD siempre tenía procesadores, principalmente para almacenar en caché los datos y hacer otras cosas de HDD como marcar bloques defectuosos, etc.

El producto Netgear que vinculó es un NAS, que le permite transmitir contenido multimedia a través de la red, por lo que no es realmente un HDD. Es más como un HDD conectado a la red con un software sofisticado que le permite transmitir información a través de la red.

Los enrutadores antiguos también tenían procesadores, aunque solían ser lentos y no se anunciaban en absoluto. El WRT54G, que salió en 2002, tenía un Broadcom BCM4702 funcionando a 125Mhz. No muy rápido de hecho. Sin embargo, en estos días exigimos más de los enrutadores, y características como VPN requieren procesadores más rápidos.

matthew5025
fuente
14
Los discos duros no siempre han tenido "procesadores" reconocibles, pero ciertamente han sido comunes durante 15-20 años.
Daniel R Hicks
21
Las unidades ST-506 eran unidades "tontas" y eran populares hasta principios de la década de 1990. IDE (Integrated Drive Electronics, también conocido como unidades "inteligentes") coloca el controlador (CPU) directamente en las unidades, al igual que SCSI.
Maxx Daymon
11
Los discos duros que contienen procesadores se remontan a principios de la década de 1960 con los procesadores periféricos de la serie CDC 6000 y equivalentes en el IBM System / 360 (y posiblemente en máquinas anteriores).
Andrew Medico
3
Bueno, usted necesita un procesador para que la memoria caché funcione de manera óptima, como decidir qué datos almacenar en la memoria caché
matthew5025
3
Los discos duros ciertamente no siempre han rastreado internamente los bloques defectuosos. ¿Por qué crees que MS-DOS 6.0 introdujo Scandisk y su función de escaneo de superficie para llenar el FAT con una lista de clústeres defectuosos?
un CVn
125

No entiendo: la CPU de la computadora es el procesador y el disco duro transfiere su contenido a la RAM de la computadora host. ¿Los procesadores adicionales preprocesan los datos de alguna manera?

La CPU es un procesador; hay otros. Un procesador es el que ejecuta el código del programa, por lo que cualquier dispositivo que tenga firmware (que es código) tiene un procesador de algún tipo.

Un disco duro tiene su propio procesador (pequeño) que ejecuta firmware que implementa un protocolo de interfaz (por ejemplo, SATA o SCSI) y controla los motores del disco. Piense en su disco duro como una computadora especializada dentro de una computadora; el cable SATA es como un cable de red que le permite comunicarse con la computadora "principal". La CPU crea mensajes (como paquetes de comandos SATA) para indicarle a la unidad qué datos desea y los envía a la unidad a través del cable; el procesador de la unidad mira los mensajes de la CPU y controla los motores y las cabezas magnéticas de la unidad para leer o escribir los datos.

Un NAS es una computadora que ejecuta software de servidor de archivos. En principio, no es diferente de configurar carpetas compartidas en su PC; NAS está ejecutando un sistema operativo más liviano en un procesador más lento, pero está haciendo esencialmente el mismo trabajo. Lo mismo ocurre con un enrutador.

Wyzard --Deja de dañar a Mónica--
fuente
53
Me gusta esta respuesta La CPU es una unidad central de procesamiento , por lo que tiene que haber otras.
gronostaj
19
El punto clave es "cualquier dispositivo que tenga firmware (ejecuta código) tiene un procesador de algún tipo". ¡Así se hace Wyzard!
Mindwin
2
Power Loss Protection es un ejemplo de una característica que se puede implementar en un disco duro con un procesador y un código de programa. La unidad puede detectar cuándo se perdió la energía del MB. El programa que se ejecuta en el procesador de la HD puede escribir el último bit de datos almacenados en el disco (con energía de un condensador incorporado). Dado que el MB no tiene energía, la CPU no tiene energía y es inútil para cualquier operación de escritura HD sin terminar. Por lo tanto, tiene sentido que la HD tenga su propio código de potencia, procesador y programa para terminar las escrituras almacenadas en búfer y apagarse limpiamente.
MikeM
2
Y de Wikipedia: "Algunos discos duros de PC tempranos no estacionaron los cabezales automáticamente cuando se desconectó prematuramente la alimentación y los cabezales aterrizaron en datos. En algunas otras unidades tempranas, el usuario ejecutaría un programa para estacionar manualmente los cabezales". - Con un procesador y un código de programa, ese problema también se resolvió.
MikeM
@gronostaj, ¿entonces también necesitamos unidades de procesamiento descentralizado?
Thorbjørn Ravn Andersen
33

Si pudieras ver en detalle el funcionamiento de una PC de escritorio típica, encontrarás procesadores por todas partes. Si tiene un teclado y un mouse conectados a los puertos USB, hay un procesador dentro del teclado y uno dentro del mouse que habla el protocolo USB.

En el caso de un disco duro, hay un montón de cosas que debe hacer ese procesador. Por un lado, el procesador tiene que colocar la cabeza, esperar el momento adecuado y luego enviar los datos a los platos. Cuando la CPU pide leer un montón de datos, el procesador encuentra el orden óptimo para recuperar esos datos del disco, y tal vez incluso recupera algunos datos adicionales que pasaron debajo de la cabeza para guardarlos en la memoria caché en caso de que la CPU los solicite próximo.

Los discos duros modernos también pueden hacer comprobaciones de estado SMART en segundo plano. La CPU no tiene que preocuparse por estas cosas, aparte de posiblemente pedir los resultados periódicamente.

Los "enrutadores" modernos de SoHo no son solo enrutadores. También son puntos de acceso, conmutadores, servidores DHCP, servidores web, e implementan NAT, firewall, a veces incluso funciones NAS, y muchas otras cosas. Sus procesadores tienen mucho trabajo por hacer.

Básicamente, un procesador es tan barato de implementar en estos días que se usan en casi cualquier caso en el que tengan sentido. La excepción serían los casos en que la tarea es muy simple o donde se requiere un alto rendimiento. Diablos, probablemente haya incluso uno en su fuente de alimentación para administrar las velocidades de los ventiladores y optimizar el consumo de energía.

David Schwartz
fuente
1
"Si tiene un teclado y un mouse conectados a los puertos USB, hay un procesador dentro del teclado y uno dentro del mouse que habla el protocolo USB". Pensé que este era el trabajo de un controlador . ¿Los controladores a veces se consideran las mismas cosas que los procesadores?
Celeritas
1
Los controladores pueden ser hardware puro, pero los requisitos para ellos tienden a aumentar, lo que hace que el hardware sea cada vez más complejo. En cierto punto de complejidad, es más fácil usar un procesador y hacer las cosas en el software. Pero eso no le da al controlador un nombre diferente; los usuarios generalmente no quieren o tienen que saber cómo se implementa el controlador. Además, con los complejos ASIC de hardware y FPGA en estos días, la distinción para los procesadores se vuelve un poco confusa.
Guntram Blohm apoya a Monica el
Leí eso como "chirrido de mouse" al principio :)
Tom Zych
21

Muchos dispositivos "inteligentes" actuales son, de hecho, computadoras completas, que a menudo ejecutan algún clon de Linux. Si el dispositivo es lo suficientemente permisivo, o ha sido rooteado / liberado, es posible que pueda jugar con él, instalar nuevos paquetes o incluso cambiar el sistema operativo. Por supuesto, usan CPU.

Los ejemplos incluyen teléfonos, televisores, reproductores de DVD, lectores de libros electrónicos, cajas NAS, enrutadores domésticos, módems y administración fuera de banda en servidores, que en realidad son computadoras completas con su propio sistema operativo.

Pero incluso los dispositivos tontos tienen procesadores, a menudo llamados microcontroladores, responsables de, por ejemplo, leer y escribir datos. La tarjeta Micro SD en su teléfono contiene un procesador y una tarjeta SIM tiene otro, capaz de ejecutar aplicaciones Java.

Incluso los juguetes simples para niños, como un semáforo, tienen un microntrolador, ya que es más fácil y económico implementar la lógica de la luz en el software del microcontrolador que en componentes discretos.

Edheldil
fuente
8
En realidad, pocas personas saben que la tarjeta SIM es una computadora real e incluso puede reprogramarla sobre la marcha a través de
mensajes de texto
Ver JavaCard
Andrew Medico
No solo las tarjetas SIM, sino cualquier tarjeta inteligente Chip & Pin que cumpla con el estándar ISO. Las tarjetas bancarias, las tarjetas de lealtad y muchas más llevan todas estas cosas ahora y algunas de ellas son sorprendentemente poderosas.
Shawty
20

Para responder a su pregunta específica sobre unidades de disco duro que nadie parece haber abordado.

SATA (y todas las demás interfaces de conexión de disco que se me ocurren) funciona con bloques. Los comandos se definen para (entre muchas otras cosas) leer y escribir bloques de almacenamiento físico específicos, y los datos se proporcionan a través del cableado de la interfaz de archivos adjuntos. Ese comando debe procesarse en algún lugar, lo que se puede hacer ya sea en un software que se ejecuta en un procesador incorporado o utilizando algún tipo de configuración de hardware puro que probablemente tendría que hacer lo mismo.

¿Adivina qué es más barato, físicamente más pequeño, lejos de ser improbable, más fácil de trabajar y, por lo general, mucho más versátil? Así es, un procesador, una pequeña cantidad de memoria de programa (flash, EPROM, ROM o cualquier otra cosa que se adapte a sus necesidades) y una pequeña cantidad de RAM, los dos últimos de los cuales, si sus necesidades son lo suficientemente modestas, incluso podrían incluirse dentro del procesador en sí (ver, por ejemplo, la familia de microcontroladores PIC ).

Además, recuerde que los discos de disco en realidad no almacenan bits. Almacenan codificaciones de bits de flujo magnético. Algo debe procesar las lecturas de flujo que provienen del cabezal de lectura, o procesar los datos en transiciones de flujo que se entregarán al cabezal de escritura. Si una lectura es imperfecta, entonces los datos de corrección de errores (almacenados junto con los datos) se utilizan idealmente (desafortunadamente no siempre es el caso ) para corregir el error y devolver buenos datos en lugar de basura, o devolver un error si el problema es demasiado severo para ser corregible. Nuevamente, eso es más fácil de implementar en un software que debe ejecutarse en algo, y un procesador con algo de memoria nuevamente se ajusta bastante bien.

Tener una gran capacidad de procesamiento incorporada significa que puede utilizar esquemas de codificación y recuperación de errores más avanzados, lo que en el caso de los discos duros significa que puede agrupar más datos en la misma superficie física. El resultado final es una mayor capacidad de almacenamiento para usted de lo que de otro modo sería posible. Sin embargo, la potencia de procesamiento del microcontrolador del disco duro no es de importancia crítica para el usuario de la unidad.

un CVn
fuente
1
Para elaborar "o usar algún tipo de configuración de hardware puro", los microcontroladores (como usted menciona) y los ASIC personalizados solían ser mucho más comunes. Hoy en día, a menudo es más barato y más sencillo construir con procesadores "reales" que ejecutan un sistema operativo integrado sin ROM, que diseñar y fabricar ASIC personalizados y escribir firmware altamente especializado para los microcontroladores. El problema de hardware se convierte en un problema de software y los componentes están más estandarizados; ambos reducen los costos ... y abren la puerta a nuevas capacidades.
echo el
12

Perdóname si he leído demasiado este punto pero aún no lo he leído en las respuestas (aunque todas las demás respuestas son geniales).

La implementación de procesadores en equipos de hardware también reduce la carga de trabajo de su procesador central, que es su CPU en la placa base.

Piense en una computadora con una sola CPU que tiene que hacer todo el trabajo que debe hacerse. Controle la memoria, controle el bus, gestione cálculos específicos del disco duro (gire el disco, acceda, magnitud para escribir, leer, etc.)

Si todo lo que necesita hacer lo hace su CPU, entonces no quedaría mucho tiempo para sus tareas reales.

Stefan
fuente
9

Comencemos con lo obvio: esos "procesadores" siempre han estado allí en algún nivel. Con las unidades más antiguas, éstas se encontraban en tarjetas controladoras, y con cualquier cosa que se acercara a las modernas, los discos duros tenían controladores de disco : la designación "IDE" para las unidades pata se refiere al hecho de que la electrónica estaba a bordo en lugar de tener una tarjeta separada.

Si bien tradicionalmente han sido microcontroladores, mi SSD: un Samsung 840 tiene un procesador basado en tres brazos. Estos chips hacen cosas como nivelar el desgaste, manejar varias traducciones internas (como convertir comandos ATA o SCSI a algo que el sistema electrónico de la unidad de disco), y dos factores: que el hardware es mucho más complicado de lo que solía ser, y los procesadores son más baratos y rápidos de lo que solían ser significa que tiene sentido tirar un núcleo de propósito general reducido a una unidad. Sin embargo, sí, estos procesadores siempre han estado allí.

Con los enrutadores, siempre han tenido mips o núcleos de brazo: básicamente necesitan la potencia para ejecutar un servidor web, y enrutamiento, etc. Muchas unidades conectadas a la red usan núcleos similares o mejores para que puedan manejar cosas como smb o la página de administración.

De hecho, durante muchos años, los teclados tenían los mismos procesadores M68K que encontraría en muchas computadoras antiguas, y hay ratones con núcleos de brazo para manejar cosas como iluminación elegante y respuestas cada vez más rápidas.

Journeyman Geek
fuente
¿Cuándo han tenido los teclados 68K microprocesadores? ¿Y las unidades como el ST-225 realmente tenían procesadores?
supercat
Bueno, este era un viejo y viejo teclado de cascabel que desmonté hace unos 4-5 años, y era de segunda mano en ese momento. Fue un poco de sorpresa. El ST 225 era anterior al IDE, por lo que supuse que necesitaba un controlador separado. Apenas lo consideraría algo que encontraría en una PC de los últimos 15 años más o menos
Journeyman Geek
¿Estás seguro de que era un 68K frente a algo como un 68HC05?
supercat
Re ST 225. Las unidades MFM son lo suficientemente viejas como para usar la CPU de las computadoras principales. La unidad en sí misma simplemente tiene un cable con la señal sin procesar de los cabezales de la unidad, una señal para cambiar de pista, una señal para la dirección de cambio de pista (a una pista más alta o a una pista más baja) y una señal para indicar la pista cero fue alcanzado. Toda la gestión (incluido el seguimiento de sectores defectuosos tal como está impreso en la etiqueta del disco) se realizó en el software de la computadora principal.
Hennes
5

Además, los enrutadores ahora también tienen procesadores. ¿Por qué es eso necesario? Supongo que tiene sentido: es necesario que suceda algo de lógica para que los paquetes se lean para saber en qué puertos enviarlos, pero ¿por qué los enrutadores antiguos no los necesitaban?

Los enrutadores siempre han tenido un procesador. Los dos enrutadores originales eran software que se ejecutaba en PDP-11 (sí, el sucesor de la máquina en la que se escribió originalmente Unix). Uno fue desarrollado en Stanford y el otro en el MIT. El enrutador Stanford fue licenciado posteriormente a una pequeña empresa entonces llamada Cisco Systems. Cisco volvió a empaquetar las computadoras PDP en gabinetes personalizados, colocó una etiqueta de "Cisco" y las vendió como enrutadores.

Así que eso es lo que usaban los viejos enrutadores: procesadores.

Recuerdo haber leído una entrevista de uno de los fundadores de Cisco que dijo algo como: "esa es la ventaja de vender software como cajas de metal: no es necesario convencer a la gente de que no pase copias de él a sus amigos". Mi google-fu falla hoy, así que no puedo encontrar la cotización real. Esos fueron los días antes de que cierto fundador de una pequeña empresa llamada Microsoft convenciera a las personas de que debían pagar por el software (en aquel entonces era una versión inicial de Basic).

slebetman
fuente
4

Todo el equipo semiautónomo desde el nacimiento de la revolución informática ha tenido algún tipo de "Procesador", es hasta ahora que nunca se marcó como tal.

Lo que está viendo aquí es la continua corrupción y las verdades a medias que se extienden a través de nuestra sociedad a través de las celosas agencias de marketing, donde los vendedores se animan cada vez más y se les hace creer que son las estrellas del espectáculo, simplemente porque son los que están haciendo. las ganancias

Sin embargo, el hecho es que todo lo que tenga que realizar un conjunto de tareas donde la próxima iteración de un proceso puede ser diferente a la iteración anterior, debe tener algún tipo de intérprete que pueda dar sentido a las instrucciones que se le dan al dispositivo. , y luego reaccionar a esas instrucciones de alguna manera.

De vuelta en las brumas del tiempo, la terminología como "Controladores" era la norma, pero todavía se reducía a lo mismo.

Tomemos, por ejemplo, un "disco duro IDE, con su controlador IDE integrado", aunque no es una CPU en el mismo sentido que piensas en una CPU en la placa principal de tu PC, nunca es una forma de CPU.

La PC host envía "Códigos OP" (abreviatura de códigos de operación) a través del bus (PCI, ISA, MCI, PCIe o lo que sea) al controlador de unidades, el controlador luego lee este código y cualquier dato que se le proporcione y los convierte en operaciones físicas que luego hacen que la unidad mueva las cabezas al lugar correcto y lea los datos solicitados.

Los enrutadores tienen una historia aún más larga, Cisco ha construido equipos de red durante la mayor parte de los últimos 50 años o más, y cada uno de estos dispositivos ha tenido un controlador / CPU personalizado en todo ese tiempo. Esta CPU fue diseñada por Cisco, para Cisco expresamente con el propósito de programar y controlar su rango completo o enrutadores y conmutadores.

Las tarjetas gráficas son otra cosa, oyes a la gente usar el término "GPU" como si fuera algo místico que solo hace gráficos. No lo es, es un procesador de algoritmo matemático masivamente paralelo, Iv'e acaba de terminar la edición técnica de un libro sobre Nvidia CUDA, y lo que aprendí sobre las GPU de Nvidia fue bastante sorprendente, estas cosas son procesadores por derecho propio, procesadores que son diseñados para hacer un conjunto de trabajos especializados, pero aún son semi inteligentes y capaces de muchos tipos diferentes de operación.

Como ya se ha señalado, Netgear Readynas es en realidad más como una PC completa por derecho propio. Está especialmente diseñado para funcionar solo como un dispositivo de almacenamiento remoto.

Si quisiera, no habría nada que le impida reprogramar el dispositivo Netgear con un nuevo software y hacerlo funcionar perfectamente como un servidor web, un servidor de base de datos o incluso un pequeño servidor de desarrollo de Linux. (Una búsqueda rápida le mostrará más que un puñado de proyectos destinados a hacer tal cosa con estas unidades NAS)

En términos de procesador, puede sorprenderle saber que no son solo los discos duros los que tienen "procesadores" en estos días, pruebe este pequeño experimento.

Ponte de pie en tu cocina y mira cuántas CPU puedes contar.

Estoy dispuesto a apostar a que su refrigerador / congelador, lavadora, lavavajillas, horno y microondas (como mínimo) tienen algún tipo de procesador, puede que no sea un Intel Core i7, pero sigue siendo un procesador, y está diseñado para sentarse en silencio, interpretando las instrucciones que le envían otros circuitos eléctricos / digitales que luego se convierten en las operaciones físicas que ve.

Entonces, ¿cuál es la definición de un procesador?

Bueno, es un poco difícil de precisar en estos días, pero en general, la definición de "Procesador" es algo similar a "Cualquier unidad autónoma, que sea capaz de actuar sobre entradas externas de una manera semi inteligente y producir un conjunto conocido de salidas derivadas de esas entradas "

Por lo tanto, cualquier unidad autónoma, circuito, chip o máquina autónoma que pueda efectuar una manifestación física de algún proceso conocido basado en un conjunto de entradas predefinidas puede considerarse, en su sentido más básico y genérico, un procesador de alguna descripción.

ricura
fuente
+1 encuentra que esta es una buena respuesta reflexiva. Me hubiera gustado leer sobre la paralización masiva de GPU en términos de "1024 núcleos hacen todas las mismas instrucciones al mismo tiempo" para ser más precisos en esa dirección, pero de todos modos me gusta tu respuesta :)
Stefan
1
Gracias :-) si está interesado en el paralelismo masivo de las GPU, esté atento a la gama de libros electrónicos gratuitos de Syncfusions para "CUDA Succintly", se lanzará en un futuro no muy lejano y se puede descargar gratis.
Shawty
4

Si bien los discos duros y las tarjetas de memoria flash no siempre han incluido procesadores, su diseño está sujeto a un principio bastante simple: algo con un procesador debe saber qué es necesario para almacenar y recuperar datos. Si un dispositivo de almacenamiento no contiene un procesador pero está conectado a algo que sí lo tiene, entonces el hardware debe permitir que la información se almacene y recupere utilizando la secuencia exacta de pasos que el dispositivo conectado espera. Incluso si el almacenamiento y la recuperación de información de alguna otra manera pudiera ser más eficiente, es posible que el sistema conectado no pueda saberlo.

Como ejemplo, la mayoría de los discos duros funcionan magnetizando cada pieza del disco en una de dos direcciones. Si una "L" representa la magnetización en una dirección por una cierta cantidad de tiempo y una "R" representa la magnetización en la otra por la misma cantidad de tiempo, tratando de almacenar datos directamente usando "L" para representar un "1" y " R "para representar un" 0 "sería muy poco confiable debido a dos factores:

  1. Una cadena larga de unos o ceros representaría una cadena larga de Ls o Rs, que a su vez puede interpretarse erróneamente como una cadena un poco más larga o un poco más corta. Por ejemplo, si el motor de accionamiento funciona un 5% más lento cuando se leen los datos que cuando se escribieron, lo que se escribió como una cadena de 20 Ls podría malinterpretarse como una cadena de 21 Ls.

  2. Dos cadenas de L separadas por un pequeño número de R pueden extenderse en esa pequeña cadena de R y "engullirla". Del mismo modo, dos cadenas de Rs separadas por un pequeño número de Ls.

Debido a estos factores, las unidades generalmente necesitan codificar información en series de Ls y Rs cuya longitud se encuentra entre un máximo y un mínimo; Los valores óptimos para la longitud máxima y mínima pueden variar según la calidad de la electrónica, el motor, el cabezal y los medios. Además, debido a que las pistas externas de un disco son más largas que las internas, podrían almacenar series más cortas de Ls y Rs que las externas.

Para que la información se almacene en una unidad, debe estar conectada a algo que sepa cómo convertir datos en cadenas de Ls y Rs que los medios podrán contener. Si el acto de convertir Ls y Rs fuera responsabilidad de un controlador que estaba separado del propio disco, entonces un disco solo necesitaría usar formatos que serían entendidos por cualquier controlador al que pudiera estar conectado. Mover el controlador al ensamblaje de la unidad alivia este problema: si cada fabricante envía una unidad con un controlador que puede entender cómo almacena los datos, no tendrá que preocuparse por si otros controladores comprenderán esos datos, ya que la información solo será almacenado y recuperado por el controlador contenido en el conjunto de la unidad.

Super gato
fuente
3

Como la gente ya explicó, muchos periféricos / dispositivos siempre han tenido procesadores para proporcionar su funcionalidad principal e incluso los enrutadores relativamente básicos son en efecto servidores pequeños (el aspecto más visible para el usuario final serían los asistentes de configuración basados ​​en la web, necesita un IP stack, un servidor web, etc. y un procesador para ejecutarlos).

Pero también debe darse cuenta de que un NAS de consumidor moderno es aún más que eso, generalmente puede iniciar sesión a través de un navegador web y tendrá acceso a una GUI con muchas aplicaciones, un sistema de administración de paquetes de software, múltiples servicios para transmitir archivos multimedia, ejecute actualizaciones automáticas, lea otros dispositivos de almacenamiento conectados a un puerto USB, etc., por lo que casi un entorno de escritorio completo (aunque obviamente parte del trabajo para la GUI se comparte con la máquina cliente).

Relajado
fuente
2

Todos los discos duros siempre han tenido procesadores. Todos los enrutadores siempre han tenido procesadores.

Su tarjeta gráfica tiene un procesador. Siempre ha. Su tarjeta de interfaz de red tiene un procesador. Siempre ha. Su impresora tiene un procesador, su teclado, su mouse, y sigue y sigue y sigue. Sería difícil pensar en un dispositivo que esté conectado a su computadora que NO tenga un procesador de algún tipo.

Ahora se anuncian más porque su rendimiento es más crítico, porque estamos pidiendo a estos dispositivos que hagan más y más.

Cuenta
fuente
2

Prácticamente no hay ningún dispositivo en la electrónica de la computadora que sea tan tonto que pueda desempeñar su función sin un procesador, al menos prácticamente todo tiene que codificar una señal de entrada o salida en algún momento. Si esa señal varía, debe haber reglas sobre cómo varía y un procesador hace cumplir esas reglas.

Alejándome un poco más de la pregunta, pero reforzando todo lo que tiene el tema de los procesadores , en los años 80 fui un administrador de sistemas a cargo de algunos mainframes VAX / VMS.

Teníamos una impresora de banda muy rápida (ruidosa) que ejecutaba un banco de martillos golpeando una banda de alta velocidad y alta resistencia. Creo que era una impresora de 600 líneas por minuto. Eso es completamente 132 líneas de caracteres, no una línea de puntos.

Para controlar el momento en que los martillos golpean la banda, tenía algunos circuitos electrónicos simples. Esto necesitaba un programa diferente dependiendo de la banda: podría tener bandas aún más rápidas que solo tenían letras mayúsculas (varios conjuntos de ASCII en una banda).

El programa para ese procesador se almacenó en un trozo de cinta de papel que también se leía en un bucle continuo, cada vez que se encendía la impresora (sí, se dejaba funcionando la mayor parte del tiempo).

Solo me enteré cuando mi operador se entusiasmó al limpiar la impresora y encontró la cinta de papel. Afortunadamente, se dio cuenta de que no era solo un trozo de papel perdido y no intentó quitarlo.

Andy Dent
fuente
2

¿Qué significa cuando los discos duros tienen un procesador en el disco duro?

Significa que el disco tiene una pequeña CPU. En general, cualquier dispositivo que tenga una CPU tendrá firmware.

¿Cómo funciona y qué beneficio tiene?

Los periféricos de la computadora son complejos. Por ejemplo, el acto de leer y escribir datos en una unidad de disquete es bastante complicado. Debe manipular el hardware que mueve el cabezal de la unidad, luego buscar encabezados de sector, descubrir si los datos que ingresan en una línea de lectura tienen sentido según un protocolo, etc.

Tomemos un ejemplo simplificado de lectura de una unidad de disquete: probablemente la forma más rudimentaria que una CPU puede comunicarse con el mundo exterior es a través de puertos de E / S. Estos puertos están conectados a líneas en la placa base o enchufes: si la electricidad pasa por una línea, un 1 es visible para la CPU en el puerto cuando se lee, si no, entonces un 0 es visible para la CPU. De manera similar para la escritura, la CPU puede escribir un 1 en un puerto para que la electricidad atraviese la línea, o establecerlo en 0 para detener eso.

Entonces, para una unidad de disquete, digamos que de alguna manera tiene una línea conectada al cabezal de lectura / escritura del disquete. Para leer los datos, debe esperar una "inversión de flujo", básicamente un cambio en la energía magnética que podría hacer que la línea pase de 0 a 1 o de 1 a 0. Luego necesitaría realizar un seguimiento de cuánto tiempo hasta detecta una segunda inversión de flujo, y continúa haciéndolo hasta que tenga todos los bits en su sector, y combina esas duraciones medidas para recrear los datos. Esto ni siquiera entra en cosas como mover el cabezal del variador o esperar a que el motor del variador alcance una velocidad normal para que sus duraciones no se estropeen, y tener en cuenta el hecho de que probablemente no haya dos motores exactamente iguales, por lo que necesita para ser flexible en sus medidas de alguna manera.

Con suerte, eso sonó complicado, porque lo es.

Entonces, seguro, puede programar una CPU de computadora normal para hacer eso, pero debido a que es muy sensible al tiempo, la CPU de su computadora realmente no puede hacer mucho más mientras esto sucede. Las computadoras viejas que realmente hicieron algo así en todas las CPU / todo el software para ahorrar dinero, como la antigua Apple IIe, no podían hacer nada más mientras leían / ​​escribían en el disco por este motivo.

Al colocar una pequeña CPU en la unidad y tener un controlador en la placa base, que en realidad es solo un bus de comunicaciones, su CPU puede ejecutar otros programas, obtener / enviar datos a la unidad utilizando el bus y descargar la mayor parte de la carga física. nivele el trabajo al propio disco. Además, a medida que la tecnología mejora, la programación de bajo nivel para manejarla puede permanecer en el disco, y no hay necesidad de cambiar los programas en su computadora para trabajar con diferentes formatos de disco interno.

Con respecto a los enrutadores, la función real de enrutamiento de bajo nivel no es difícil de hacer en hardware, y muchos enrutadores de nivel empresarial hacen exactamente eso, pero son cosas como firewall, reenvío de puertos, control de acceso y la interfaz web o consola que son lo suficientemente complejas como para necesitar una CPU para hacerlo.

Me sorprende, porque el modelo de máquina von Neumann no incluye procesadores en almacenamiento

No hay nada en el modelo von Neumann que diga que ningún periférico pueda ser una máquina von Neumann. Lo que convierte a un periférico en periférico es el hecho de que la CPU puede enviarle comandos a través de algún tipo de bus u otro mecanismo de E / S y obtener resultados.

LawrenceC
fuente
2

---- Todas las respuestas en esta página fueron demasiado largas (o eso me pareció) - - - Así que me gustaría agregar una ...

  • Los discos tienen procesadores porque la actividad física de pasar de "Spot" a "Spot" en el disco, en un buen orden, es una tarea semi-difícil

  • Si lee / escribe datos en un orden "incorrecto" o "lento", en función de las distancias y de cada uno de ellos, puede ralentizar severamente la transferencia de datos.

La mejor manera de describir eso es si trabaja en una tienda y le dicen que obtenga artículos de los rincones más distantes, antes de poner todo en camino.

Un comando inteligente es recoger todo en ruta = = Así es como AHCI funciona con NCQ.

NCQ necesita un procesamiento más inteligente porque planifica mejor sus búsquedas.

Antes de que esto se hiciera, algo llamado PIO o "Procesador controlado ... umm ... E / S. Lo cual era lento porque 1. la distancia entre la CPU y el HDD es enorme en términos de computadora: Latencia. Latencia para decidir comandos = transferencia lenta 2. La CPU hace (necesita hacer) otras cosas 3. Eso es ... realmente lo más importante.

La computadora solicita archivos aquí y aquí El disco es responsable de "CÓMO" llevarlo a la computadora.

... estoy listo

TardisGuy
fuente
Lo que estás describiendo se conoce como algoritmo de ascensor . La cola de comandos (como el NCQ de SATA) permite que la CPU envíe múltiples comandos a la unidad como un grupo, de modo que la unidad pueda decidir el orden más eficiente para cumplirlos. Sin la cola de comandos, la CPU tiene que esperar a que la unidad atienda cada solicitud antes de enviar la siguiente, por lo que la unidad debe atender las solicitudes en el orden en que la CPU las envía. Eso puede ser menos eficiente ya que la CPU no conoce el diseño físico interno del disco.
Wyzard --Detener Dañar a Mónica--
Sin embargo, PIO es algo diferente. Ese es un modo en el que la CPU tiene que ejecutar código para recibir los datos que lee la unidad, lo cual es ineficiente. En general, es reemplazado por DMA , que permite que el disco almacene los datos directamente en la RAM mientras la CPU trabaja en otras cosas.
Wyzard --Detener Dañar a Mónica--
Sí, no estaba siendo [exacto] [exacto], pero la función del rendimiento es la latencia resultante por transacción.
TardisGuy