Arquitetura e Barramentos de E/S
A arquitetura de E/S define como um processador e a memória se comunicam com dispositivos periféricos através de barramentos, controladores, interrupções e esquemas de endereçamento, governando como os comandos e dados fluem de e para o mundo exterior.
Definition
A arquitetura e os barramentos de E/S são a organização e as interconexões pelas quais o processador e a memória de um computador trocam sinais de controle e dados com dispositivos periféricos, incluindo o endereçamento dos registradores do dispositivo e os mecanismos pelos quais os dispositivos solicitam serviço.
Scope
Este tópico abrange a estrutura de entrada/saída: barramentos e interconexões ponto a ponto, controladores e registradores de dispositivos, E/S mapeada na memória versus mapeada na porta, E/S por sondagem e por interrupção, e protocolos e arbitragem de barramento. Ele trata de como os dispositivos são conectados e controlados. Exclui o mecanismo de DMA de transferência em massa e a virtualização (virtualização de E/S e DMA) e as próprias mídias de armazenamento (dispositivos de armazenamento secundário).
Core questions
- Como os dispositivos periféricos são endereçados e controlados pelo processador?
- Como a E/S mapeada na memória e a E/S mapeada na porta diferem?
- Como a E/S por sondagem e a E/S orientada por interrupção se comparam em eficiência?
- Como os barramentos e as interconexões ponto a ponto arbitram e transferem dados?
Key concepts
- controladores e registradores de dispositivos
- E/S mapeada na memória
- E/S mapeada na porta
- sondagem (polling)
- interrupções e manipuladores de interrupção
- barramentos e interconexões
- arbitragem de barramento
- endereçamento de E/S
Key theories
- E/S orientada por interrupção
- Em vez de sondar continuamente um dispositivo, o processador prossegue com outro trabalho e é notificado por uma interrupção quando o dispositivo precisa de atenção, melhorando grandemente a eficiência para dispositivos lentos ou que operam intermitentemente.
Mechanisms
Cada dispositivo é gerenciado por um controlador que expõe registradores que o processador lê e escreve, seja através de endereços mapeados na memória ou portas de E/S especiais. O processador pode sondar esses registradores ou, de forma mais eficiente, habilitar interrupções para que o dispositivo sinalize quando estiver pronto. Os barramentos conectam componentes e arbitram o acesso entre múltiplos mestres, enquanto os sistemas modernos utilizam cada vez mais links seriais ponto a ponto de alta velocidade em vez de barramentos paralelos compartilhados.
Clinical relevance
A arquitetura de E/S determina a eficiência com que um sistema se comunica com dispositivos de armazenamento, rede e outros. A E/S orientada por interrupção libera o processador para trabalho útil, e a evolução de barramentos compartilhados para interconexões seriais rápidas, como o PCI Express, sustenta a largura de banda necessária para o armazenamento, rede e hardware acelerador modernos.
History
Sistemas iniciais utilizavam E/S programada e barramentos paralelos compartilhados com arbitragem central. Mecanismos de interrupção e barramentos padronizados como ISA e PCI melhoraram a flexibilidade e o desempenho. A mudança para interconexões seriais ponto a ponto de alta velocidade, exemplificada pelo PCI Express, abordou os limites de largura de banda e sinalização dos barramentos paralelos compartilhados.
Key figures
- John L. Hennessy
- David A. Patterson
- Abraham Silberschatz
Related topics
Seminal works
- hennessy2019
- silberschatz2018
Frequently asked questions
- Qual é a diferença entre E/S mapeada na memória e E/S mapeada na porta?
- A E/S mapeada na memória atribui aos registradores do dispositivo endereços dentro do espaço de endereçamento de memória regular, de modo que instruções comuns de carga e armazenamento os acessam. A E/S mapeada na porta usa um espaço de endereçamento separado e instruções especiais para acesso ao dispositivo. A E/S mapeada na memória é mais comum em arquiteturas modernas.
- Por que as interrupções são melhores do que a sondagem para a maioria dos dispositivos?
- A sondagem desperdiça ciclos do processador verificando repetidamente se um dispositivo está pronto. As interrupções permitem que o processador faça outro trabalho e seja notificado apenas quando o dispositivo realmente precisa de serviço, o que é muito mais eficiente para dispositivos lentos ou que respondem de forma imprevisível.