organizaÇÃo e arquitetura de computadores i aula 07: …max.santana/material/aoc-i/aula07... ·...

Post on 03-Aug-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

AULA 07: ESTRUTURA E FUNCIONAMENTO DE

UMA CPU MULTICICLO

Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br

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)

top related