Logo Passei Direto
Buscar

Cap. 03 Arquitetura e Organização de Computadores - William Stallings

User badge image

Enviado por Frederico Xavier em

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/

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Mais conteúdos dessa disciplina

Mais conteúdos dessa disciplina