CPU Implementação. Multiciclo. Prof. Carlos Bazilio

Documentos relacionados
SSC0112 Organização de Computadores Digitais I

Arquiteturas de Computadores

SSC0114 Arquitetura de Computadores

Organização de Computadores

Infraestrutura de Hardware. Implementação Monociclo de um Processador Simples

Infraestrutura de Hardware. Implementação Multiciclo de um Processador Simples

PARTE II - CONJUNTO DE INSTRUÇÕES ARQUITETURA DE COMPUTADORES ANTONIO RAMOS DE CARVALHO JÚNIOR

ção de Computadores II

CAPÍTULO 4 CAMINHO DE DADOS E CONTROLE

SSC0611 Arquitetura de Computadores

18/10/2010. Unidade de Controle Controle. UC Microprogramada

Tiago Alves de Oliviera

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

O Processador: Via de Dados e Controle (Parte C: microprogramação)

O Processador: Via de Dados e Controle

Sistemas de Computação. Instruções de Linguagem de Máquina

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 10

Organização de Sistemas de Computadores

O Processador: Caminho de Dados e Controle

Relembrando desempenho...

Prova 1 Eng. Elétrica Arquitetura de Computadores Prof. Celso A. Saibel Santos Nome: Data:

Organização e Arquitetura de Computadores I

Implementação da UCP. Construção do caminho de dados Controle Implementação monociclo. Organização de Computadores

Prof. Gustavo Oliveira Cavalcanti

MIPS Implementação. sw) or, slt. Vamos examinar uma implementação que inclui um subconjunto de instruções do MIPS

Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores. Organização Básica de Computadores

Arquitetura de Computadores - Controle Microprogramado. por Helcio Wagner da Silva

Organização e Arquitetura de Computadores I

O Funcionamento do Processador

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I

O Funcionamento do Processador

DataPath II Tomando o controle!

UCP: Construindo um Caminho de Dados (Parte I)

Infraestrutura de Hardware. Instruindo um Computador

Organização e Arquitetura de Computadores I

Microprocessadores CPU. Unidade de Controle. Prof. Henrique

Unidade Central de Processamento UCP (CPU)

Parte Operativa x Controle Aula 12. Prof. Jadir Eduardo Souza Lucas Universidade Federal do Espírito Santo Departamento de Informática

Aula 17: UCP: Construindo um Caminho de Dados (Parte I)

Pipeline. Prof. Leonardo Barreto Campos 1

Explorando o paralelismo entre instruções

SSC0902 Organização e Arquitetura de Computadores

Organização e Arquitetura de computadores

SSC0611 Arquitetura de Computadores

Organização de computadores. Aula 05

Nível da Microarquitetura

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ORGANIZAÇÃO COMPUTACIONAL

Introdução à Computação: Arquitetura von Neumann

Arquitetura de Computadores I

Introdução. Os mesmos princípios se aplicam a processadores. No MIPS as instruções são divididas normalmente em cinco etapas:

Arquitetura e Organização de Computadores

Arquitetura e Organização de Computadores

1. A pastilha do processador Intel possui uma memória cache única para dados e instruções. Esse processador tem capacidade de 8 Kbytes e é

4. Modelo de Programação do DLX Introdução

Universidade Federal do Rio de Janeiro Bacharelado em Ciência da Computação. Arquitetura de Computadores I. Organização Básica do Computador

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Organização e Arquitetura de Computadores I

2. A influência do tamanho da palavra

ORGANIZAÇÃO DE COMPUTADORES

Computador Cleópatra

Questionário Arquitetura e Organização de Computadores

Arquitetura de Computadores II

PSI3441 Arquitetura de Sistemas Embarcados

SSC0112 Organização de Computadores Digitais I

Projeto Cpu. Carlos O. Cunha Filho César H. Kallas

III.2 - Princípios de Arquitetura

ARQUITETURA DE COMPUTADORES. Organização de Sistemas Computacionais. Prof.: Agostinho S. Riofrio

Mapeando o Controle no Hardware

AULA 05: LINGUAGEM DE MONTAGEM: SUPORTE A PROCEDIMENTOS

Arquitetura de Computadores Aula 11 - Multiprocessamento

Arquitetura de Computadores. Prof. João Bosco Jr.

O Computador Neander Neander - Computador Hipotético Didático

O Nível da Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura. Um Exemplo de Microarquitetura

Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras - PURO

Sistemas Processadores e Periféricos Aula 2 - Revisão

Aula 21: UCP: Instrução Jump, Monociclo vs. Multiciclo, Pipeline

Data Path / Control Path Controle do MIPS

Arquitetura e Organização de Computadores

Organização ou MicroArquitectura

Processador. Processador

Arquitetura de Computadores

ção de Computadores I

Transcrição:

CPU Implementação Multiciclo Prof. Carlos Bazilio bazilio@ic.uff.br

Até então, tínhamos t...

Problemas com Implementação Monociclo Ciclo de clock tem o mesmo tamanho para todas as instruções implementadas; Este ciclo é definido pela instrução de maior duração (lw load word); Cada unidade funcional só pode ser usada 1 vez por ciclo; Com isso, algumas unidades funcionais são duplicadas, aumentando consideravelmente o custo do hardware.

Implementação Multiciclo A execução de cada instrução é quebrada em passos; Cada passo gasta 1 ciclo de clock; Com isso, uma unidade funcional pode ser utilizada + de 1 vez por instrução, desde que em diferentes ciclos.

Implementação Multiciclo Diferenças: Única memória; Única UAL; Registradores após unidades funcionais.

Implementação Multiciclo Caminho de Dados Inclusões: Registradores (IR, MDR, A, B, UALSaída), Multiplexadores (End. Memória, UAL)

Implementação Multiciclo Linhas de Controle

Implementação Multiciclo Caminho Completo

Trecho da MáquinaM de Estados

Passos na execução de uma instrução (1/5) Busca da instrução e cálculo do endereço seguinte: IR = Memória[PC] PC = PC + 4

Passos na execução de uma instrução (2/5) Decodificação da instrução e busca do registrador: A = Reg[IR[25-21]] B = Reg[IR[20-16]] UALSaída = PC + extensão_sinal(ir[15-0] << 2)

Passos na execução de uma instrução (3/5) Execução, cálculo do endereço de memória ou desvio condicional: Referência a memória: UALSaída = A + extensão_sinal(ir[15-0]) Instrução aritmética ou lógica: UALSaída = A op B Desvio condicional: Se (A == B) PC = UALSaída Desvio incondicional: PC = PC[31-28] (IR[25-0]<<2)

Passos na execução de uma instrução (4/5) Final de execução das instruções de escrita em memória e do tipo R: Referência a memória (load): MDR = Memória [UALSaída] Referência a memória (store): Memória [UALSaída] = B Instruções aritméticas ou lógicas: Reg[IR[15-11]] = UALSaída

Passos na execução de uma instrução (5/5) Final de execução das instruções de leitura à memória: Referência a memória (load): Reg[IR[20-16]] = MDR

Implementação do Controle No monociclo utilizamos um conjunto de tabelas-verdade; Na implementação de controle no projeto multiciclo veremos 2 abordagens: Máquina de estados finitos; Microprogramação.

Controle Máquina de Estados Finitos (1/6)

Controle Máquina de Estados Finitos (2/6)

Controle Máquina de Estados Finitos (3/6)

Controle Máquina de Estados Finitos (4/6)

Controle Máquina de Estados Finitos (5/6)

Máquina de Estados Finitos Completa (6/6)

Implementação do Controle

Microprogramação A implementação real do MIPS possui um conjunto com cerca de 100 instruções; Cada gasta de 1 a 20 ciclos de clock para ser executada; Naturalmente, a função de controle será bem mais complexa, o que dificulta a sua especificação de forma gráfica; Microprogramação é o projeto de controle como um programa que implementa instruções de máquina em termos de estruturas mas simples (microinstruções).

Microprogramação Na microprogramação temos a representação simbólica dos valores das linhas de controle; Assim, um microprograma está para os sinais de controle (microinstruções) assim como a linguagem de montagem está para as instruções de máquina.

Armazenamento de um Microcódigo

Formato da microinstrução Deve seguir padrões de projeto de linguagens de programação; Cada campo deve ser responsável por um conjunto de sinais que não se sobreponham; Do formato apresentado no livro, temos 6 campos que controlam o caminho de dados e 1 que controla o seqüenciamento das microinstruções.

Formato da microinstrução (1/4) Controle da UAL (operação da UAL) Valores: Soma: faz com o que a UAL some Subtração: idem para subtração Código de função: usa o campo de função da instrução SRC1 (entrada 1 da UAL) Valores: PC: PC como primeira entrada da UAL A: A como primeira entrada da UAL

Formato da microinstrução (2/4) SRC2 (entrada 2 da ual) Valores: B: B como segunda entrada da UAL 4: B constante 4 como segunda entrada da UAL Estendido: saída da extensão de sinal Estendido/deslocado: saída da extensão com deslocamento de 2 bits Controle de Registrador (leitura/escrita) Valores: Leitura: atualiza A e B com campos do IR Escrita da UAL: Escreve no banco com campo do IR (rd) e UALSaida como dado Escrita do MDR: Escreve no banco com campo do IR (rt) e MDR como dado

Formato da microinstrução (3/4) Memória (leitura/escrita na memória) Valores: Leitura à partir do PC: Lê da memória usando o PC e escreve resultado no IR Leitura à partir do UAL: Lê da memória usando o UALSaida e escreve resultado no MDR Escrita à partir da UAL: Escreve na memória usando UALSaida como endereço e B como dado Controle PCEsc (Escrita no PC) Valores: UAL: Escreve a saída da UAL no PC UALOut-cond: Se saída Z da UAL ativa, atualiza PC com UALSaida End. Desvio Incondicional: Atualiza PC com endereço incondicional da instrução

Formato da microinstrução (4/4) Seqüenciamento (Como escolher a próxima microinstrução) Valores: Seq: Escolhe a próxima microinstrução sequencialmente Busca: Desvia para a primeira microinstrução Despacho i: Despacha de acordo com o tipo de instrução (opcode)

Arquitetura Multiciclo

Microprograma Microprograma Busca UalOut B A Sub Beq1 Busca Incond Jump1 Busca EscUal Seq B A Func Rform1 Busca EscUal SW2 Busca EscMdr Seq LerUal LW2 Desp2 Ext A Soma Mem1 Desp1 Leitura ExtDes PC Soma Seq Ual PC 4 PC Soma Busca Seq PcEsc Mem Regs Src2 Src1 Ual Ident

Bibliografia Organização e projeto de computadores David A. Patterson & John L. Hennessy LTC