Questão Padrões de Barramento e Controladores de Dispositivos de E / S


Estou muito confuso sobre padrões de ônibus como ide, ata, sata, pci etc.

Acabei de ler este artigo:Quando ocorre uma leitura de disco ou gravação de disco, para onde vão os dados? Então, se falamos de disco rígido; placa lógica hdd contém um microcontrolador, buffer-ram, driver de motor etc. Este microcontrolador se comunica com o driver do motor para ler e escrever setores para platôs de disco rígido. Como eu sei que um microcontrolador é uma combinação de cpu, registros, portas io, ram etc. deve haver firmware dentro do microcontrolador.

Minha primeira pergunta é como freqüência de clock do microcontrolador hdd é determinada?

E de acordo com o artigo acima, porque há uma palavra como "unidade sata"? Quero dizer, se "ata" ou "sata" etc. são apenas interfaces de barramento entre os controladores cpu e de dispositivo, por que as palavras "ata", "sata" ou "pci" se tornam um prefixo para dispositivos periféricos?

Eu realmente quero entender profundamente sobre a comunicação com dispositivos periféricos.Acima do artigo entendi que duas comunicações separadas ocorrem quando queremos ler setores do disco rígido, primeiro é entre "cpu - controlador de dispositivo" e segundo é "controlador de dispositivo - hdd" .So como essas comunicações separadas funcionam entre si?

Finalmente, se "ata" ou "sata" são interfaces que representam apenas o gateway de comunicação "cpu & memory (dma) -device controller", por que essa interface é mais lenta que o front side bus (fsb)? depois que o controlador de disco lê um setor do disco rígido, ele deve transferir esse setor para a memória, certo? Então, por que essas interfaces de barramento lentas são usadas para comunicação entre a memória e os controladores de dispositivo?


1


origem


Um microcontrolador não terá uma CPU, se tivesse uma CPU, seria uma microprocessor. ATA e SATA não representam o que você acha que eles representam. ATA significa AT Attachment Há também PATA e SATA. Praticamente todas as suas conclusões estão erradas.  ATA foi realmente chamado IDE e PATA foi chamado Enahnced IDE  Parallel ATA e Serial ATA são os padrões atuais com o PATA sendo o padrão anterior que foi eliminado de todas as placas-mãe (a maioria). - Ramhound
- "ATA e SATA não representam o que você pensa que representam. ATA significa AT Attachment" .. então o que isso significa? - "Quase todas as suas conclusões estão erradas" .. Eu ficaria feliz se vc me ajudar a entender. - spartacus
Eu te disse o que ATA fica, mas é mais conhecido como IDE. Eu listei várias das suas conclusões que estão incorretas. O SATA não é lento, ele tem um barramento de dados direto para os processadores x86. A única coisa que pode ser mais rápida é o PCI-Express, excluindo o cache real que a CPU tem, é claro. Eu estava enganado O ATA realmente tem registros por causa do controlador de DMA, mas ele não tem uma CPU em si, já que eu explico que seria então chamado de microproessor em vez de um microcontrolador. - Ramhound
@Ramhound - "Um microcontrolador não terá CPU" - Dê uma olhada nas fichas de dados de microcontroladores modernos (como Linha de Atmel), e você descobriria que eles têm um núcleo de processador (também conhecido como CPU). - sawdust


Respostas:


Estou muito confuso sobre padrões de ônibus como ide, ata, sata, pci etc.

Você deve separar o PCI do ATA, SATA e IDE.
ATA, SATA e IDE não são um barramento como o PCI.

Minha primeira pergunta é como freqüência de clock do microcontrolador hdd é determinada?

Essa é uma decisão baseada no que é rentável versus o nível de desempenho exigido.

E de acordo com o artigo acima, porque há uma palavra como "unidade sata"? Quero dizer, se "ata" ou "sata" etc. são apenas interfaces de barramento entre os controladores cpu e de dispositivo, por que as palavras "ata", "sata" ou "pci" se tornam um prefixo para dispositivos periféricos?

SATA e ATA são interfaces, não "interfaces de ônibus".

É usado como um adjetivo para designar o tipo de interface que o periférico possui e o que é necessário no lado do computador host.
Se você tiver uma "unidade SATA" e não tiver portas SATA livres na placa-mãe do seu PC, não será possível conectá-la. Se houver outras interfaces não usadas (como um slot PCI ou porta IDE ou porta USB), você poderá usar o adaptador apropriado (com custo adicional e talvez uma penalidade de desempenho).

Eu entendi que duas comunicações separadas ocorrem quando queremos ler setores do disco rígido, primeiro é entre "cpu - controlador de dispositivo" e segundo é "controlador de dispositivo - hdd" .Então, como essas comunicações separadas funcionam uns aos outros?

O controlador do dispositivo está no meio de ambas as operações.
O controlador de disco moderno que é incorporado em uma unidade de disco SATA possui seu próprio processador (também conhecido como microcontrolador), RAM e flash, e executa seu próprio firmware para executar suas funções.

BTW você tem o fluxo de dados 100% para trás. Para um setor de leitura do disco, a primeira transferência é 'hdd -> device controller' e, em seguida, a segunda transferência é 'device controller -> host'.
Também "transferência de dados" é uma descrição mais precisa da operação do que "comunicações".

Finalmente, se "ata" ou "sata" são interfaces que representam apenas o gateway de comunicação "cpu & memory (dma) -device controller", por que essa interface é mais lenta que o front side bus (fsb)?

Uma interface periférica é geralmente mais lenta que um barramento de processador simplesmente por causa do comprimento e da construção. O barramento frontal tem apenas alguns centímetros de comprimento e está totalmente contido na placa-mãe. O projetista de circuito tem excelente controle do ruído elétrico previsto que o ônibus terá que rejeitar. Uma interface periférica é quase sempre para um dispositivo off-board usando um cabo flexível. Existem inúmeras compensações de custo versus desempenho que influenciam no design de tais interfaces.

BTW que não é uma boa definição para uma interface.
UMA "gateway de comunicação" é completamente outro animal.

Quero dizer, se eu falo para transferência de dma, depois que o controlador de disco lê um setor do disco rígido, ele deve transferir esse setor para a memória, certo?

Uma interface periférica tão rápida quanto um FSB sobre um cabo flexível de 0,25 metros poderia ser 1000 vezes mais cara. A relação custo versus benefício é ruim porque apenas uma fase de uma transferência de dados em várias fases está sendo aprimorada.

Então, por que essas interfaces de barramento lentas são usadas para comunicação entre a memória e os controladores de dispositivo?

Custo.
Para confundi-lo ainda mais, essas interfaces periféricas não se conectam diretamente "memória" (como você escreveu várias vezes). Normalmente, o lado do host dessa interface se conecta a um barramento de sistema local, de modo que a CPU (usando PIO) ou o controlador de DMA pode acessar o registro de dados da interface.
Talvez isso seja muito detalhe para você, mas talvez seja essa falta de detalhes e simplificação que contribui para a confusão.


0



esta é uma resposta incrível, obrigado u tanto viu! - spartacus