O que significa quando os discos rígidos têm um processador no disco rígido? Como funciona e qual o benefício?
Eu não entendo - a CPU no computador é o processador e o disco rígido transfere seu conteúdo para a RAM do computador host. Processadores adicionais pré-processam os dados de alguma forma?
aqui estão alguns exemplos:
- Western Digital WD Preto WD1002FAEX 1TB "Velocidade dupla do processador"
- Armazenamento conectado em rede sem disco de 2 compartimentos ReadyNAS 312 da NETGEAR "Processador Intel de 2.1GHz de núcleo duplo e memória interna de 2 GB"
Além disso, os roteadores agora também têm processadores. Por que isso é necessário? Eu acho que meio que faz sentido - alguma lógica precisa acontecer para que os pacotes sejam lidos para saber em quais portas enviá-las, mas por que os roteadores antigos não precisavam delas?
Exemplo de um roteador sem fio com processador : "Processador de núcleo duplo"
Estou surpreso, porque o modelo de máquina von Neumann não inclui processadores no armazenamento .
fonte
Respostas:
Bem, o HDD sempre teve processadores, principalmente para armazenar dados em cache e fazer outras coisas, como marcar blocos ruins etc.
O produto Netgear que você vinculou é um NAS, que permite transmitir mídia a partir dele pela rede, portanto, não é realmente um HDD. É mais como um HDD conectado à rede com algum software sofisticado para permitir que você transmita informações pela rede.
Os roteadores antigos também tinham processadores, embora fossem lentos e não anunciados. O WRT54G, lançado em 2002, tinha um Broadcom BCM4702 rodando a 125Mhz. Na verdade, não é muito rápido. No entanto, hoje em dia exigimos mais dos roteadores, e recursos como VPN exigem processadores mais rápidos.
fonte
A CPU é um processador; há outros. Um processador é o que executa o código do programa; portanto, qualquer dispositivo com firmware (que é código) possui um processador de algum tipo.
Um disco rígido possui seu próprio (pequeno) processador executando firmware que implementa um protocolo de interface (por exemplo, SATA ou SCSI) e controla os motores do inversor. Pense no seu disco rígido como um computador especializado dentro de um computador; o cabo SATA é como um cabo de rede que permite a comunicação com o computador "principal". A CPU cria mensagens (como pacotes de comando SATA) para informar à unidade quais dados ele deseja e as envia para a unidade através do cabo; o processador da unidade examina as mensagens da CPU e controla os motores e as cabeças magnéticas da unidade para realmente ler ou gravar os dados.
Um NAS é um computador executando um software de servidor de arquivos. Em princípio, não é diferente de configurar pastas compartilhadas no seu PC; o NAS está executando um sistema operacional mais leve em um processador mais lento, mas fazendo essencialmente o mesmo trabalho. O mesmo vale para um roteador.
fonte
Se você pudesse ver em detalhes o funcionamento de um PC de mesa típico, encontrará processadores em todo o lugar. Se você possui um teclado e mouse conectados às portas USB, há um processador dentro do teclado e outro no mouse falando o protocolo USB.
No caso de um disco rígido, há muitas coisas para esse processador fazer. Por um lado, o processador precisa posicionar a cabeça, aguardar o momento certo e enviar os dados para os pratos. Quando a CPU pede para ler um monte de dados, o processador encontra a ordem ideal para recuperar esses dados do disco e talvez até obtenha alguns dados extras que passaram por baixo da cabeça para serem colocados no cache, caso a CPU solicite. Próximo.
Os discos rígidos modernos também podem fazer verificações de integridade SMART em segundo plano. A CPU não precisa se preocupar com essas coisas, a não ser pedir os resultados periodicamente.
Os modernos "roteadores" do SoHo não são apenas roteadores. Eles também são pontos de acesso, comutadores, servidores DHCP, servidores da Web e implementam NAT, firewall, às vezes até funções NAS e muitas outras coisas. Seus processadores têm muito trabalho a fazer.
Basicamente, um processador é tão barato de implementar hoje em dia que é usado em quase todos os casos em que faz sentido. A exceção seria nos casos em que a tarefa é muito simples ou em que é necessário alto desempenho. Caramba, provavelmente há até uma em sua fonte de alimentação para gerenciar as velocidades dos ventiladores e otimizar o consumo de energia.
fonte
Muitos dispositivos "inteligentes" atuais são, de fato, computadores de pleno direito, geralmente executando algum clone do Linux. Se o dispositivo for permitido o suficiente ou tiver sido rooteado / desbloqueado, você poderá mexer nele, instalar novos pacotes ou até alterar o sistema operacional. Eles, é claro, usam CPUs.
Os exemplos incluem telefones, TVs, aparelhos de DVD, leitores de livros eletrônicos, caixas NAS, roteadores domésticos, modems e gerenciamento fora de banda em servidores, que na verdade são computadores inteiros com seu próprio sistema operacional.
Mas mesmo dispositivos burros têm processadores, geralmente chamados microcontroladores, responsáveis por, por exemplo, ler e gravar dados. O cartão Micro SD do telefone contém um processador e um cartão SIM possui outro, capaz de executar aplicativos Java.
Mesmo brinquedos simples para crianças, como um semáforo, possuem microntrolador, pois é mais fácil e barato implementar a lógica da luz no software do microcontrolador do que em componentes discretos.
fonte
Para responder sua pergunta específica sobre unidades de disco rígido que ninguém parece ter abordado.
O SATA (e todas as outras interfaces de conexão de disco em que posso pensar) funciona com blocos. Os comandos são definidos para (entre muitas outras coisas) ler e gravar blocos de armazenamento físico específicos, e os dados são fornecidos através do cabeamento da interface de anexo. Esse comando deve ser processado em algum lugar, o que pode ser feito em software que roda em um processador integrado ou usando algum tipo de configuração pura de hardware que provavelmente precisaria fazer a mesma coisa.
Adivinha o que é mais barato, fisicamente menor, longe de improvável mais fácil de trabalhar e, geralmente, muito mais versátil? É isso mesmo, um processador, uma pequena quantidade de memória de programa (flash, EPROM, ROM ou qualquer outra coisa que atenda às suas necessidades) e uma pequena quantidade de RAM, sendo que as duas últimas, se suas necessidades forem modestas o suficiente, podem até ser incluídas no próprio processador (veja, por exemplo, a família PIC de microcontroladores ).
Além disso, lembre-se de que os discos não armazenam bits. Eles armazenam codificações de fluxo magnético de bits. Algo deve processar as leituras de fluxo provenientes do cabeçote de leitura ou processar os dados em transições de fluxo a serem fornecidas ao cabeçote de gravação. Se uma leitura é imperfeita, os dados de correção de erros (armazenados juntamente com os dados) são usados para corrigir o erro de maneira ideal (infelizmente nem sempre é o caso ) e retornar bons dados em vez de lixo, ou retornar um erro se o problema for muito grave. grave para ser corrigível. Novamente, isso é mais fácil de implementar em software que precisa rodar em algo, e um processador com alguma memória novamente se encaixa perfeitamente.
Ter muito poder de processamento integrado significa que você pode usar esquemas de codificação e recuperação de erros mais avançados, o que, no caso de discos rígidos, significa que você pode amontoar mais dados na mesma área de superfície física. O resultado final é uma capacidade de armazenamento maior para você do que seria possível. O poder de processamento do próprio microcontrolador de disco rígido, no entanto, não é de importância crítica para o usuário da unidade.
fonte
Perdoe-me se eu excedi esse ponto, mas ainda não o li nas respostas (embora todas as outras respostas sejam ótimas).
A implantação de processadores em equipamentos de hardware também reduz a carga de trabalho do seu processador central, que é sua CPU na placa principal.
Pense em um computador com uma única CPU que precisa fazer todo o trabalho que precisa ser feito. Controle a memória, controle o barramento, gerencie cálculos específicos do disco rígido (gire a unidade, acesse, magnitude para escrever, ler etc.)
Se tudo o que precisa ser feito for feito por sua CPU, não resta muito tempo para as tarefas reais.
fonte
Vamos começar pelo óbvio - esses "processadores" sempre estiveram lá em algum nível. Nas unidades mais antigas, estas estavam em placas controladoras e, com qualquer coisa que se aproximas moderna, as unidades de disco rígido possuem controladores de disco - a designação "IDE" para unidades pata refere-se ao fato de os eletrônicos estarem integrados ao invés de possuir uma placa separada.
Embora tradicionalmente sejam microcontroladores, meu ssd - um samsung 840 possui um processador com três núcleos . Esses chips fazem coisas como nivelar o desgaste, manipular várias traduções internas (como converter comandos ATA ou SCSI em algo que os componentes eletrônicos da unidade emitem) e dois fatores - esse hardware é muito mais complicado do que costumava ser, e os processadores são mais baratos e rápidos do que costumavam ser, faz sentido lançar um núcleo de uso geral em uma unidade. No entanto, sim, esses processadores sempre estiveram lá.
Com os roteadores, eles sempre tiveram núcleos mips ou arm - eles basicamente precisam da capacidade de executar um servidor da web, roteamento e assim por diante. Muitas unidades conectadas à rede usam núcleos semelhantes ou melhores, para que possam lidar com coisas como smb ou a página de administração.
Por esse motivo, por muitos anos, os teclados tinham os mesmos processadores M68K que você encontraria em muitos computadores antigos, e há mouses com núcleos de braço para lidar com coisas como iluminação sofisticada e respostas cada vez mais rápidas.
fonte
Os roteadores sempre tiveram um processador. Os dois roteadores originais eram software rodando em PDP-11s (sim, o sucessor da máquina na qual o Unix foi originalmente escrito). Um foi desenvolvido em Stanford e o outro no MIT. Mais tarde, o roteador Stanford foi licenciado para uma pequena start-up chamada Cisco Systems. A Cisco reempacotou os computadores PDP em gabinetes personalizados, colocou uma etiqueta "Cisco" e os vendeu como roteadores.
Então é isso que os roteadores antigos usavam - processadores.
Lembro-me de ler uma entrevista de um dos fundadores da Cisco, que disse algo como: "essa é a vantagem de vender software como caixas de metal - você não precisa convencer as pessoas a não passar cópias para seus amigos". Meu google-fu falha hoje, então não consigo encontrar a cotação real. Naqueles dias, um certo fundador de uma pequena empresa chamada Microsoft convenceu as pessoas de que deviam pagar pelo software (naquela época era uma versão inicial do Basic).
fonte
Todos os equipamentos semi-autônomos, desde o nascimento da revolução dos computadores, tiveram algum tipo de "processador", apenas até agora nunca foram realmente identificados como tal.
O que você vê aqui são as contínuas corrupções e meias verdades que são espalhadas por nossa sociedade por mais zelosas agências de marketing, onde os vendedores são cada vez mais incentivados e obrigados a acreditar que são as estrelas do programa, simplesmente porque eles estão criando os lucros.
O fato é que, no entanto, qualquer coisa que precise executar um conjunto de tarefas em que a próxima iteração de um processo possa ser diferente da iteração anterior, deve ter algum tipo de intérprete que possa dar sentido às instruções fornecidas ao dispositivo e, em seguida, reaja a essas instruções de alguma maneira.
De volta às brumas do tempo, terminologias como "Controladores" eram a norma, mas elas ainda se resumiam à mesma coisa.
Tomemos, por exemplo, um "disco rígido IDE, com o controlador IDE integrado", embora não seja uma CPU no mesmo sentido que você pensa em uma CPU na placa principal do seu PC, ela nunca é menos uma forma de CPU.
O PC host envia "Códigos OP" (abreviação de códigos de operação) através do barramento (PCI, ISA, MCI, PCIe ou o que for) para o controlador de unidades, o controlador lê esse código e todos os dados fornecidos com ele e os transforma em operações físicas que fazem com que a unidade mova as cabeças para o local correto e leia os dados solicitados.
Os roteadores têm uma história ainda mais longa, a Cisco construiu equipamentos de rede agora na maior parte dos últimos 50 anos ou mais, e cada um desses dispositivos possui um controlador / CPU personalizado o tempo todo. Esta CPU foi projetada pela Cisco, para a Cisco expressamente com o objetivo de programar e controlar toda a sua gama ou Roteadores e Switches.
Placas gráficas são outra coisa, você ouve as pessoas usarem o termo "GPU" como se fosse uma coisa mística que faz apenas gráficos. Não é, é um processador de algoritmos matemáticos massivamente paralelo; Iv'e acabou de fazer a edição técnica de um livro sobre a Nvidia CUDA, e o que aprendi sobre as GPUs da Nvidia foi bastante surpreendente, essas coisas são do próprio processador, processadores que são projetados para realizar um conjunto especializado de tarefas, mas ainda são semi-inteligentes e capazes de diversos tipos de operações.
Como já foi apontado, o Netgear Readynas é mais como um PC completo por si só. Foi desenvolvido especialmente para funcionar apenas como um dispositivo de armazenamento remoto.
Se você quisesse, nada o impediria de reprogramar o dispositivo Netgear com um novo software e fazê-lo funcionar perfeitamente como servidor Web, servidor de banco de dados ou mesmo um pequeno servidor de desenvolvimento Linux. (Uma pesquisa rápida mostrará mais de um punhado de projetos destinados a fazer isso com essas unidades NAS)
Em termos de processador, bem, talvez você se surpreenda ao saber que não são apenas os discos rígidos que têm "Processadores" atualmente, tente este pequeno experimento.
Fique na sua cozinha e veja quantas CPUs você pode contar.
Aposto que seu refrigerador / freezer, lavadora de roupas, lava-louças, forno e micro-ondas (no mínimo) têm algum tipo de processador, pode não ser um Intel Core i7, mas ainda é um processador, e foi projetada para ficar em silêncio, interpretando instruções enviadas a ele por outros circuitos elétricos / digitais, que depois se transformam nas operações físicas que você vê.
Então, qual é a definição de um processador?
Hoje em dia é um pouco difícil definir, mas, em geral, a definição de "Processador" é algo parecido com "Qualquer unidade independente, capaz de atuar em entradas externas de maneira semi-inteligente e produzir um conjunto conhecido de saídas derivadas dessas entradas "
Portanto, qualquer unidade, circuito, chip ou máquina autônoma que possa efetuar uma manifestação física de algum processo conhecido com base em um conjunto de entradas predefinidas pode, no seu sentido mais básico e genérico, ser considerado um processador de alguma descrição.
fonte
Embora os discos rígidos e os cartões de mídia flash nem sempre incluam processadores, seu design está sujeito a um princípio bastante simples: algo com um processador precisa saber o que é necessário para armazenar e recuperar dados. Se um dispositivo de armazenamento não contém um processador, mas está conectado a algo que possui, o hardware deve permitir que as informações sejam armazenadas e recuperadas usando a sequência exata de etapas esperadas pelo dispositivo conectado. Mesmo que o armazenamento e a recuperação de informações de outra maneira possam ser mais eficientes, pode não haver maneira pela qual o sistema conectado possa saber sobre isso.
Como exemplo, a maioria dos discos rígidos funciona magnetizando cada parte do disco em uma das duas direções. Se um "L" representa magnetização em uma direção por um certo período de tempo e um "R" representa magnetização na outra pelo mesmo período de tempo, tentando armazenar dados diretamente usando "L" para representar um "1" e " R "para representar um" 0 "não seria confiável devido a dois fatores:
Uma longa sequência de uns ou zeros representaria uma longa sequência de Ls ou Rs, que por sua vez pode ser interpretada como uma sequência um pouco mais longa ou um pouco mais curta. Por exemplo, se o motor do inversor estiver funcionando 5% mais devagar quando os dados forem lidos do que quando foram gravados, o que foi gravado como uma sequência de 20 Ls pode ser interpretado incorretamente como uma sequência de 21 Ls.
Duas seqüências de Ls separadas por um pequeno número de Rs podem se espalhar para essa pequena sequência de Rs e "devorá-la". Da mesma forma, duas cadeias de Rs separadas por um pequeno número de Ls.
Devido a esses fatores, as unidades geralmente precisam codificar as informações em execuções de Ls e Rs cujo comprimento varia entre um máximo e um mínimo; os valores ideais para o comprimento máximo e mínimo podem variar dependendo da qualidade dos componentes eletrônicos, motor, cabeçote e mídia. Além disso, como as faixas externas em um disco são mais longas que as faixas internas, eles podem armazenar execuções mais curtas de Ls e Rs do que as faixas externas.
Para que as informações sejam armazenadas em uma unidade, ela deve estar conectada a algo que saiba como converter dados em sequências de Ls e Rs que a mídia poderá armazenar. Se o ato de converter Ls e Rs fosse de responsabilidade de um controlador separado da própria unidade, uma unidade precisaria usar apenas formatos que seriam entendidos por qualquer controlador ao qual pudesse estar conectado. Mover o controlador para o conjunto da unidade alivia esse problema: se cada fabricante enviar uma unidade com um controlador que possa entender como armazena dados, não será necessário se preocupar se outros controladores entenderiam esses dados, pois as informações serão apenas armazenado e recuperado pelo controlador contido no conjunto da unidade.
fonte
Como as pessoas já explicaram, muitos periféricos / dispositivos sempre tiveram processadores para fornecer sua funcionalidade principal e até roteadores relativamente básicos são efetivamente pequenos servidores (o aspecto mais visível para o usuário final seria os assistentes de configuração baseados na Web, você precisa de um Pilha de IPs, servidor da web etc. e um processador para executá-los).
Mas você também deve perceber que um NAS de consumidor moderno é ainda mais do que isso; geralmente você pode fazer login nele através de um navegador da Web e terá acesso a uma GUI com muitos aplicativos, um sistema de gerenciamento de pacotes de software, vários serviços para transmitir arquivos de mídia, execute atualizações automáticas, leia outros dispositivos de armazenamento conectados a uma porta USB, etc., para um ambiente de desktop quase completo (embora, obviamente, algum trabalho para a GUI seja compartilhado com a máquina cliente).
fonte
Todos os discos rígidos sempre tiveram processadores. Todos os roteadores sempre tiveram processadores.
Sua placa gráfica possui um processador. Sempre tem. Sua placa de interface de rede possui um processador. Sempre tem. Sua impressora possui um processador, teclado, mouse e assim por diante. Seria difícil pensar em um dispositivo conectado ao seu computador que NÃO tenha algum tipo de processador.
Agora eles estão sendo anunciados mais porque seu desempenho é mais crítico, porque solicitamos que esses dispositivos façam mais e mais.
fonte
Não há praticamente nenhum dispositivo na eletrônica de computadores que seja tão burro que possa desempenhar seu papel sem um processador - pelo menos praticamente tudo tem que codificar um sinal para dentro ou para fora em algum momento. Se esse sinal variar, deve haver regras sobre como ele varia e um processador aplica essas regras.
Indo um pouco mais longe da questão, mas reforçando o tema tudo tem processadores , nos anos 80 eu era um administrador de sistemas encarregado de alguns mainframes VAX / VMS.
Tínhamos uma impressora de banda muito rápida (barulhenta) , que executava um banco de martelos atingindo uma banda de alta velocidade e alta resistência. Eu acho que era uma impressora de 600 linhas por minuto. São 132 linhas de caracteres completamente formadas, não uma linha de pontos.
Para controlar o tempo de como os martelos atingiam a banda, havia alguns circuitos eletrônicos simples. Isso precisava de um programa diferente, dependendo da banda - você poderia ter bandas ainda mais rápidas, com apenas letras maiúsculas (vários conjuntos de ASCII em uma banda).
O programa desse processador era armazenado em um pedaço de fita de papel que também era lido em um loop contínuo, toda vez que a impressora era ligada (sim, ela ficava em execução na maioria das vezes).
Eu só descobri quando meu operador ficou entusiasmado ao limpar a impressora e encontrou a fita de papel. Felizmente, ele percebeu que não era apenas um pedaço de papel perdido e não tentou removê-lo.
fonte
Isso significa que a unidade possui uma pequena CPU. Geralmente, qualquer dispositivo que tenha uma CPU terá firmware.
Periféricos de computador são complexos. Por exemplo, o ato de ler e gravar dados em uma unidade de disquete está bastante envolvido. Você precisa manipular o hardware que move o cabeçote da unidade e procurar cabeçalhos de setor, descobrindo se os dados que entram em uma linha de leitura estão fazendo algum sentido, de acordo com um protocolo etc.
Vamos dar um exemplo simplificado de leitura de uma unidade de disquete: Provavelmente, a maneira mais rudimentar de uma CPU se comunicar com o mundo exterior é através de portas de E / S. Essas portas estão conectadas a linhas na placa-mãe ou soquetes - se a eletricidade estiver passando por uma linha, um 1 é visível para a CPU na porta quando é lido, se não, então um 0 é visível para a CPU. Da mesma forma, para escrever, a CPU pode escrever 1 em uma porta para fazer a eletricidade passar pela linha ou configurá-la como 0 para impedir isso.
Portanto, para uma unidade de disquete, digamos que, de alguma forma, você tenha uma linha conectada à cabeça de leitura / gravação do disquete. Para ler os dados, é necessário aguardar uma "inversão de fluxo" - basicamente uma mudança na energia magnética que faria com que a linha passasse de 0 a 1 ou 1 a 0. Você precisaria acompanhar quanto tempo até você detecta uma segunda inversão de fluxo e continua fazendo isso até ter todos os bits em seu setor, e junta essas durações medidas para recriar dados. Isso nem se aplica a mover a cabeça do inversor ou esperar que o motor atinja uma velocidade normal para que suas durações não sejam prejudicadas, e levando em consideração o fato de que não há dois motores exatamente iguais, então você precisa para ser flexível em suas medições de alguma forma.
Espero que isso pareça complicado, porque é.
Então, com certeza, você pode programar uma CPU normal do computador para fazer isso, mas como é muito sensível ao tempo, a CPU do seu computador não pode fazer muito mais enquanto isso estiver acontecendo. Computadores antigos que realmente faziam algo assim em toda a CPU / todo o software para economizar dinheiro, como o antigo Apple IIe, não podiam fazer mais nada ao ler / gravar no disco por esse motivo.
Ao colocar uma pequena CPU na unidade e ter um controlador na placa-mãe que é realmente apenas um barramento de comunicação, sua CPU pode executar outros programas, obter / enviar dados para a unidade usando o barramento e descarregar a maior parte dos recursos físicos de baixa capacidade. trabalho nivelado para a própria unidade. Além disso, à medida que a tecnologia melhora, a programação de baixo nível para lidar com isso pode permanecer na unidade e não há necessidade de alterar os programas no seu computador para trabalhar com diferentes formatos de unidade interna.
Em relação aos roteadores, a função de roteamento de baixo nível real não é difícil de executar no hardware, e muitos roteadores de nível corporativo fazem exatamente isso, mas são coisas como firewall, encaminhamento de porta, controle de acesso e a interface ou console da Web que são complexos o suficiente para serem necessários. uma CPU para fazer isso.
Não há nada no modelo de von Neumann que diga que nenhum periférico possa ser ele próprio máquinas de von Neumann. O que faz de um periférico um periférico é o fato de que a CPU pode enviar comandos por algum tipo de barramento ou outro mecanismo de E / S e obter resultados de volta.
fonte
---- Todas as respostas nesta página eram muito longas (ou assim eu senti) - - - Então, gostaria de adicionar uma ...
Os discos têm processadores porque a atividade física de passar de "Spot" para "Spot" no disco, em uma boa ordem, é uma tarefa semi-difícil
Se você ler / gravar dados em uma ordem "Ruim" ou "lenta", com base nas distâncias e de cada um para cada um, poderá reduzir a velocidade da transferência de dados.
A melhor maneira de descrever isso é se você trabalha em uma loja e recebe instruções para obter itens dos cantos mais distantes, antes de colocar tudo no caminho.
Um comando inteligente é pegar tudo na rota = = É assim que o AHCI funciona com o NCQ.
O NCQ precisa de processamento mais inteligente porque planeja melhor suas buscas.
Antes disso, algo chamado PIO ou "Controlado pelo processador ... umm ... E / S. O que era lento porque 1. a distância entre a CPU e o HDD é grande em termos de computador: Latência. Latência para decidir comandos = transferência lenta 2. A CPU faz (precisa fazer) outras coisas 3. Isso é ... realmente as principais coisas.
O computador solicita arquivos aqui e aqui O disco é responsável por "COMO" levá-lo ao computador.
... estou pronto
fonte