Organização e Arquitetura de Computadores Material de apoio Barramentos: definições de barramentos de dados, de endereço e de controle Tópico: 07 2 Esclarecimentos Esse material é de apoio para as aulas da disciplina e não substitui a leitura da bibliografia básica. Os professores da disciplina irão focar alguns dos tópicos da bibliografia assim como poderão adicionar alguns detalhes não presentes na bibliografia, com base em suas experiências profissionais. O conteúdo de slides com o título “Comentário” seguido de um texto, se refere a comentários adicionais ao slide cujo texto indica e tem por objetivo incluir alguma informação adicional aos conteúdo do slide correspondente. Bibliografia básica: PATTERSON, A.D.E.; HENNESSY, L.J.. Organização e projetos de computadores: a interface hardware/software. São Paulo: Campus, 2005.; MONTEIRO, Mário A.. Introdução à organização de computadores. 5.ed. Rio de Janeiro: LTC, 2007. STALLINGS, William. Arquitetura e organização de computadores : projeto para o desempenho. São Paulo: Pearson Education, 2005. 3 Barramentos Os principais componentes de um computador são: processador, memória e dispositivos de E/S. Para que estes módulos computacionais possam se comunicar (transmitindo dados) é necessário que exista uma estrutura de interconexão entre cada um dos componentes do computador. A esta estrutura ou caminho de conexão também damos o nome de barramento. 4 Barramentos Os principais componentes de um computador são: processador, memória e dispositivos de E/S. Para que estes módulos computacionais possam se comunicar (transmitindo dados) é necessário que exista uma estrutura de interconexão entre cada um dos componentes do computador. A esta estrutura ou caminho de conexão também damos o nome de barramento. 5 Barramentos Ao lado temos uma figura que ilustra as entradas e saídas dos componentes principais de um computador: memória, dispositivos de entrada e saída e CPU; 1. memória: a operação de leitura ou escrita é indicada através de um sinal de controle (bit 0 ou 1). Além disso, o endereço da posição de memória para que a operação seja realizada também deve ser informado. 2. E/S: também é possível que se realize operações de leitura ou escrita sobre o dispositivo externo. Cada controladora está associada a um endereço (porta) distinto para que possa ser identificada. Além disso, sinais de interrupção podem ser emitidos e direcionados ao processador. 3. processador: consegue ler dados e instruções para serem processados. Além disso, sinais de controle são gerados para coordenar a execução do sistema como um todo. É possível que o processador receba sinais de interrupção de outros componentes. 6 Barramentos O barramento deve permitir os seguintes fluxos de transferências de informações: memória para o processador: instruções ou dados. processador para a memória: dados. E/S para o processador: dados de um dispositivo de E/S são lidos pela CPU através deum módulo de E/S. processador para E/S: dados são enviados para um dispositivo de E/S. transferência entre um dispositivo de E/S e memória: DMA. 7 Interconexão de Barramentos Uma característica muito importante dos barramentos é o compartilhamento do meio de transmissão, uma vez que vários dispositivos podem ser conectados a um mesmo barramento. Graças a esta característica, um sinal enviado por um componente conectado a um barramento específico pode ser recebido por todos os demais componentes que pertencem a mesma conexão. Portanto, se dois ou mais dispositivos decidirem enviar sinais ao barramento no mesmo instante, estes sinais irão se sobrepor e, consequentemente, serão corrompidos. Dessa forma, é permitido que apenas um dispositivo transmita sinais pelo barramento a cada instante. Basicamente, os barramentos são constituídos por linhas de comunicação capazes de transmitir sinais que representam um único dígito binário (0 ou 1). Dessa forma, podemos usar de forma simultânea todas as linhas que compreendem o barramento para transmitir uma quantidade N de bits em paralelo e melhorar a taxa de transferência. 8 Estrutura dos Barramentos Normalmente, o barramento de sistemas possui entre 50 e 100 linhas distintas. Cada uma dessas linhas tem uma função específica dentro da estrutura de interconexão. No entanto, podemos classificar estas linhas em 3 grupos funcionais: dados, endereços e controle. Algumas linhas também são usadas para distribuir energia aos componentes que estão conectados ao barramento. 9 Barramento de Dados Utilizado pra transferir dados entre os módulos do sistema. Normalmente, este barramento contém 32 linhas (largura do barramento). Como cada linha consegue transmitir apenas um bit por vez, a quantidade de linhas determina quantos bits podem ser transferidos de uma vez. O desempenho do sistema sofre forte influência da largura do barramento de dados. Por exemplo, se o barramento de dados tiver 8 bits de largura e cada instrução tiver tamanho igual a 16 bits, o processador precisará acessar 2 vezes o módulo de memória em cada ciclo de instrução. 10 Barramento de Endereços Utilizado para designar a origem ou destino dos dados que estão sendo transferidos pelo barramento de dados. Um fato interessante é que a largura do barramento de endereços determina a capacidade máxima da memória. Por exemplo, suponha que o barramento de endereço é de 24 bits, dos quais 16 bits são utilizados para representar um endereço de memória. Isso significa que os endereços da memória principal são representados com 16 bits e, portanto, posso endereçar 216 posições de memória diferentes com este tamanho de endereço. Normalmente, utilizamos as linhas de endereços também para endereçar as portas de módulos de E/S. Geralmente, os bits mais significativos identificam um componente específico do sistema e os bits menos significativos identificam uma porta de E/S ou uma posição de memória (endereço). 11 Barramento de Controle Importantes pois controlam o acesso e a utilização das linhas de dados e de endereços pelos componentes do sistema, uma vez que o barramento é compartilhado. Os sinais de controle podem ser destinados a emitir comandos e também informações de temporização (clock). Os sinais de comandos são enviados para especificar o tipo de operação que será executada (escrita e leitura na memória, escrita e leitura em porta de E/S, requisição e concessão do barramento, interrupção, etc). 12 Operação dos Barramentos O barramento opera da seguinte forma: Quando um módulo deseja enviar dados para outro módulo, ele deve: 1. obter o controle do barramento; 2. transferir os dados por meio do mesmo. Quando um módulo deseja requisitar dados de outro módulo, ele deve: 1. obter o controle do barramento; 2. transferir uma requisição para o outro módulo por meio das linhas de endereço e de controle apropriadas. Feito isso ele deve aguardar que os dados sejam enviados. Os barramentos são constituidos de condutores elétricos organizados de forma paralela. Estes condutores são linhas de metal impressas em um cartão ou placa.