Fundamentos e Arquitetura de Computadores i Parte Pag. 13-37
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 07: …max.santana/material/aoc-i/Aula07... ·...
Transcript of ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I AULA 07: …max.santana/material/aoc-i/Aula07... ·...
ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I
AULA 07: ESTRUTURA E FUNCIONAMENTO DE
UMA CPU MULTICICLO
Prof. Max Santana Rolemberg Farias [email protected]
Colegiado de Engenharia de Computação
• Vantagem: – Simplicidade de implementação
• Datapath e Controle
• Desvantagens: – Custo de hardware
• Duplicação de componentes devido a restrição de um ciclo para o processamento de instruções.
– Desempenho • Ciclo de clock longo para comportar instrução mais lenta • Instruções que demandam menos tempo deixam CPU ociosa • Implementação pouco eficiente
ANALISE DE UMA CPU MONOCICLO
COMO MELHORAR O DESEMPENHO NA EXECUÇÃO DE VÁRIAS INSTRUÇÕES?
• Dividir processamento de instrução em diferentes estágios.
• Executar cada estágio da CPU em um ciclo de relógio. – Ciclo pode ser menor
• Reutilizar componentes de hardware.
– Componente de hardware pode ser utilizado em estágios diferentes.
• Começar uma instrução antes da última instrução terminar.
– Diferentes instruções requerem quantidade de estágios diferentes. – Algumas instruções podem ser processadas em menos tempo – Tempo médio de processamento pode melhorar.
CPU MULTICICLO
COMO MELHORAR O DESEMPENHO
COMO DIVIDIR O PROCESSAMENTO DE UMA INSTRUÇÃO EM ESTÁGIOS?
• Estágios
– Busca
– Decodifica
– Opera com ALU
– Acesso a memória
– Escreve em registradores
PROCESSAMENTO EM ESTÁGIOS
Sempre executado
Depende da instrução, pode não ser executado.
VISÃO ABSTRATA DE UMA CPU MONOCICLO
Duplicação de componentes para realizar soma
Memória diferentes para instruções e dados
Busca - Decodifica - Executa
Clock
VISÃO ABSTRADA DE UMA CPU MULTICICLO
Memória única para instruções e dados Componente único para realizar operações
VISÃO ABSTRADA DE UMA CPU MULTIMODO (MAIS REGISTRADORES)
Registradores auxiliares entre unidades funcionais maiores
Serão usados na mesma instrução, mais em ciclo de clock diferente
• Um ciclo de clock pode acomodar uma das operações: – Acesso de memória – Acesso ao banco de registradores (2 leitura ou 1 escrita) – Operação da ALU.
• Unidades funcionais só podem ser utilizadas uma vez durante um ciclo: – ALU, memória, registradores auxiliares – Exceção: registradores auxiliares
• IR: Armazena instruções lida da memória • MDR: Armazena dado lido da memória • A e B: Armazenam operandos lidos do banco de registradores • ALUOut: Armazena saída da ALU
IMPLEMENTAÇÃO DE UMA CPU MULTICICLO
• Dados de uma instrução que precisam ser utilizados em outra instrução são armazenados nas unidades visível ao programador.
– Memória
– Banco de registardores
– PC
• Dados necessários entre estágios (ciclo) diferentes de uma mesma instrução
IMPLEMENTAÇÃO DE UMA CPU MULTICICLO
ESTRUTURA DE UMA CPU MONOCICLO
UNIDADE DE PROCESSAMENTO DE UMA CPU MULTICICLO
Mais multiplexadores ou multiplexadores expandido
ENTRADA DE ENDEREÇO DE UMA CPU MULTICICLO
Escolha entre endereço de instrução (PC) ou endereço de dado (ALUOut)
PRIMEIRO OPERANDO DA ALU DE UMA CPU MULTICICLO
Escolha entre endereço de instrução (PC) ou operando de saída do banco de registrador (A)
SEGUNDO OPERANDO DA ALU DE UMA CPU MULTICICLO
Escolha entre saída do banco de registradores (B), a constante 4 (para incrementar o PC), o sinal estendido de deslocamento de 2 bits (para BEQ) e o sinal simplesmente estendido (para LW/SW)
SEGUNDO OPERANDO DA ALU DE UMA CPU MULTICICLO
Os registradores auxiliares não precisam de sinal de controle de escrita porque são atualizados em todo ciclo de clock
UNIDADE DE PROCESSAMENTO COM CONTROLE UMA CPU MULTICICLO
UNIDADE DE CONTROLE UMA CPU MULTICICLO (SINAIS DE 1 BIT)
UNIDADE DE CONTROLE UMA CPU MULTICICLO (SINAIS DE 2 BIT)