i / o Padrões de Barras e Controladores de Dispositivos

1

Estou muito confuso sobre padrões de barramento 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 unidade 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 a freqüência de clock do microcontrolador HDD é determinada?

E de acordo com o artigo acima, por que há uma palavra como "sata drive"? 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 ". Então, 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 do que o bus frontal (fsb)? falar por 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 corretamente? Então, por que essas interfaces de barramento lentas são usadas para comunicação entre a memória e os controladores de dispositivo?

    
por spartacus 29.04.2014 / 14:41

1 resposta

0

I'm really confused about bus standards like 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.

My first question is how hdd microcontroller clock frequency is determined?

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

And according to above article why there is a word like "sata drive"? I mean if "ata" or "sata" etc. are just bus interfaces between the cpu and device controllers why "ata","sata" or "pci" words become a prefix for peripheral devices?

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

É usado como um adjetivo para designar o tipo de interface que o periférico tem 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).

i understood that two seperate communications occur when we want to read sectors from hdd, first is between "cpu - device controller" and second is "device controller - hdd".So how these seperate communications work each other?

O controlador do dispositivo está no meio de ambas as operações.
O moderno controlador de disco que está embutido 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% invertido. Para um setor de leitura do disco, a primeira transferência é 'hdd - > controlador de dispositivo 'e, em seguida, a segunda transferência é' controlador de dispositivo - > host '.
Também "transferência de dados" é uma descrição mais precisa da operação do que "comunicações".

Finally if "ata" or "sata" are interfaces that just stand for "cpu&memory(dma)-device controller" communication gateway, why this interface is slower than the 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.
Um "gateway de comunicação" é completamente outro animal.

i mean if i speak for dma transfer, after disk controller reads one sector from hdd it must transfer this sector to memory right?

Uma interface periférica tão rápida quanto um FSB sobre um cabo flexível de 0,25 metros pode 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 melhorada.

So why these slow bus interfaces are used for communication between the memory and device controllers?

Custo.
Para confundi-lo ainda mais, essas interfaces periféricas não se conectam diretamente a "memória" (como você escreveu várias vezes). Normalmente, o lado 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.

    
por 29.10.2014 / 21:59