Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
William Stallings Arquitetura e Organização de Computadores Capítulo 3 Barramentos do Sistema Conceito Programa • Sistemas Hardwired são inflexíveis • Hardware de propósito geral podem fazer tarefas diferentes, utilizando-se de sinais de controle corretos • Em vez de re-projetar o hardware, fornecer um novo conjunto de sinais de controle O que é um programa? • Uma seqüência de passos • Para cada passo, uma operação aritmética ou lógica é feita • Para cada operação, um diferente conjunto de sinais de controle é necessário Função da Unidade de Controle • Um pedaço de hardware aceita o código e emite os sinais de controle. • Para cada operação um código único é fornecido • P.e. ADD (somar), MOVE (mover) • Nós temos um computador! Componentes • A Unidade de controle e Unidade Aritmética e Lógica constituem a Unidade Central de Processamento • Dados e instruções precisam entra no sistema e os resultados saírem • Entrada/Saída • Armazenamento temporário de código e resultados é necessário • Memória principal Componentes do computador: Vista de alto nível Ciclo da instrução • Dois passos: • Busca • Execução Ciclo de Busca • O Contador de Programa (PC) guarda o endereço da próxima instrução a ser buscada • O Processador busca a instrução da posição da memória apontada pelo PC • Incrementa o PC • A menos que não seja a próxima (desvio) • A instrução é carregada no Registrador de Instrução - IR • O Processador interpreta a instrução e executa as ações requeridas Ciclo de execução • Processador-memória • Transferência de dados entre a CPU e a memória principal • Processador I/O • Transferência de dados entre a CPU e o módulo de I/O • Processamento de dados • Operações aritméticas ou lógicas nos dados • Controle • Alteração na seqüência das operações • p.e. JUMP • Combinação dos itens acima Exemplo de Execução Ciclo de Instrução – Diagrama de Estados Interrupções • Mecanismo pelo qual outros módulos (p.e. I/O) podem interromper a seqüência normal de processamento • Programa • p.e. overflow, divisão por zero • Relógio (Timer) • Gerado pelo relógio interno do processador • Usado em sistemas pre-emptive multi-tasking • I/O • Da controladora de I/O • Falha de hardware • p.e. erro de paridade de memória Controle de Fluxo de programa Ciclo de interrupção • Adicionando ao ciclo de instrução • Processador verifica se existe interrupção • Indicado pelo sinal de interrupção • Se não existe interrupção, buscar a próxima instrução • Se existe interrupções pendentes: • Suspenda a execução do programa corrente • Salvar o contexto • Colocar no PC o endereço de início da rotina manipuladora da interrupção • Processar a interrupção • Restaurar o contexto e continuar o programa interrompido Ciclo de instruções com interrupções – Diagrama de Estados Interrupções Múltiplas • Interrupções desabilitadas • O processador ignorará as interrupções enquanto processa uma interrupção • As interrupções permanecerão pendentes e serão checadas após a primeira interrupção ter sido processada • Manipulação as interrupções na seqüências que elas ocorrem • Definir prioridades • Interrupções de baixa prioridade podem ser interrompidas por interrupções de maior prioridade • Quando a interrupção de maior prioridade foi processada, o processador retorna para a interrupção previa Interrupções Múltiplas - Seqüencial Interrupções Múltiplas - Alinhadas Conectando • Todas as unidades tem de ser conectadas • Diferentes tipos de conexão para diferentes tipos de unidades • Memória • Entrada/Saída • CPU Conexão da Memória • Recebe e envia dados • Recebe endereços (de posições) • Recebe sinais de controle • Leitura (Read) • Escrita (Write) • Temporalização (Timing) Conexão de Entrada/Saída - 1 • Similar à memória sobre o ponto de c\vista do computador • Saída • Recebe dados do computador • Envia dados para os periféricos • Entrada • Recebe dados dos periféricos • Envia dados para o computador Conexão de Entrada/Saída - 2 • Recebe sinais de controle do computador • Envia sinais de controle para os periféricos • p.e. girar os discos • Recebe endereços do computador • p.e número da porta para identificar o periférico • Envia sinais de interrupção (controle) Conexão da CPU • Le instruções e dados • Escreve dados (depois do processamento) • Envia sinais de controle para as outras unidades • Recebe (& atua) interrupções Barramentos • Existem várias possibilidades de sistemas de interconexão • Estruturas de barramentos unicas ou multiplas são muito comuns • p.e. Control/Address/Data bus (PC) • p.e. Unibus (DEC-PDP) O que é um barramento? • É um caminho de comunicação entre dois ou mais dispositivos • Comumente usa broadcast • Geralmente agrupando • Vários canais em um barramento • p.e o barramento de dados de 32 bits são 32 canais separados de um único bit • Linhas de força podem não serem exibidas Barramento de dados • Transportam dados • Lembre-se que não existe diferença entre dados e instruções neste nível • Largura é uma chave determinante da performance • 8, 16, 32, 64 bit Barramento de endereço • Identifica a fonte ou o destino do dado • p.e. A CPU precisa ler uma instrução (dado) de uma determinada posição na memória • A largura do barramento determina a capacidade máxima da memória do sistema • p.e. 8080 tem barramento de endereço de 16 bit permitindo 64k no espaço de endereço Barramento de controle • Informação de controle e temporalização • Sinal leitura/escrita da memória • Requisição de interrupção • Sinal de relógio (clock) Esquema de interconexão de Barramento Grande e amarelo? • Como se parece os barramentos? • Linhas paralelas nos circuitos impressos • Cabos fitas • Conectores nas placas mães • p.e. PCI • Conjuntos de arames (fios) Problemas do barramento Único • Muitos dispositivos em um barramento leva: • Demoras na propagação • Caminhos de dados longos significam que coordenação do uso do barramento pode afetar desempenho adversamente • Se for transferido dados em grupo pode-se aproximar na capacidade do barramento • A maioria dos sistemas usam barramentos múltiplos para superar esses problemas Tradicional (ISA) (com cachê) Barramento de alta performance Tipos de barramentos • Dedicado • Linhas separadas de endereço e dados • Multiplexado • Linhas compartilhadas • Linha de controle endereço válido ou dado válido • Vantagem – poucas linhas • Desvantagens • Controle mais complexo • Performance final Arbitração do Barramento • Mais que um módulo controlando o barramento e.g. CPU e controladora de DMA • Apenas um módulo deve controlar o barramento em um instante • Arbitração pode ser centralizada ou distribuída Arbitração Centralizada • Dispositivo de hardware único controla o acesso ao barramento • Controlador do barramento • Arbitro • Pode ser parte da CPU ou separado Arbitração Distribuída • Cada módulo reivindica o barramento • Lógica de controle em todos os módulos Temporalização • Coordenação dos eventos no barramento • Síncrono • Eventos determinados pelo sinal do relógio (clock) • Barramento de Controle inclua a linha de clock • Uma seqüência 1-0 é um ciclo do barramento • Todos os dispositivos podem ler a linha de clock • Comumente sync subida da borda • Comumente um único ciclo para um evento Diagrama de temporalização Síncrona Diagrama de temporalização Assíncrona Barramento PCI • Peripheral Component Interconnection • Intel liberou para domínio público • 32 ou 64 bits • 50 linhas Linhas Barramento PCI (necessário) • Linha de Sistema • Inclui clock e reset • Endereços e dados • 32 linhas multiplexadas para endereço e dados • Linha de interrupção e validação • Interface Controle • Arbitração • Não compartilhada • Diretamente conectada no arbitro do barramento PCI • Linhas de Erro Linhas Barramento PCI (opcional) • Linhas de Interrupção • Não compartilhada • Suporte a cachê • Extensão do barramento para 64-bits • 32 linhas adicionais • Multiplexador de tempo • 2 linhas para permitir os dispositivos concordar em usar transferências de 64-bits • JTAG/Boundary Scan • Para procedimentos de teste Comandos PCI • Transição entre iniciador (mestre) e o alvo • Barramento de reivindicações mestres • Determina o tipo de transação • p.e. I/O leitura/escrita • Fase de endereçamento • Uma ou mais fases de dados PCI Diagrama de Temporalização de Leitura Arbitração de barramentos PCI Leituras recomendadas • Stallings, capítulo 3 (tudo) • www.pcguide.com/ref/mbsys/buses/ • De fato, leia o local inteiro! • www.pcguide.com/