297566_Cap_03[1]

297566_Cap_03[1]


DisciplinaPrincípios da Arquitetura de Computadores18 materiais128 seguidores
Pré-visualização2 páginas
Click to edit Master title style
Click to edit Master subtitle style
*
*
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 \u2013 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 \u2013 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 \u2013 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