Вы находитесь на странице: 1из 26

Implementao da UCP

Organizao de Computadores

Construo do caminho de dados Controle Implementao monociclo

Conceitos Gerais para Implementao do Processador


Organizao de Computadores

Conceito de caminho de dados e controle Caminho dos bits de instruo e dados Utilizao de clock, lgica combinacional e seqencial Comea uma implementao simples e iterativamente vai melhorando

Performance
Organizao de Computadores

Medida de performance baseada em:


nmero de instrues perodo do clock ciclos de clock por instruo (CPI)

O primeiro um fator do programa, mas os dois ltimos so baseados na implementao do processador

Subconjunto de instrues
Organizao de Computadores

Para simplificar o estudo do projeto do processador, o foco ser dado em um subconjunto de instrues do MIPS:

Memria: lw e sw Aritmtica: add e addi Desvio: beq

O mtodo de implementao das outras instrues ocorre naturalmente

Reviso do Formato das Instrues


Organizao de Computadores

R-FORMAT

add regA regB destreg

31

25 24

22 21 rd op 3 bits

19 18

16 15 regB

3 2

0
7 bits

regA
3 bits

0
13 bits

destreg
3 bits

3 bits

op: cdigo de operao regA: registrador com primeiro operando fonte regB: registrador com segundo operando fonte destreg: registrador que guarda resultado da operao

Reviso do Formato das Instrues


Organizao de Computadores

I-Format

lw regA regB imm beq regA regB imm addi regA regB imm

Desvio utiliza endereo PC relativo (PC + 1 + imm)


31 25 24 22 21 19 18 16 15 0 imm 16 bits

0
7 bits

op
3 bits

regA regB
3 bits 3 bits

Funo bsica da CPU


Organizao de Computadores

Buscar uma instruo na memria Interpretar qual operao representada pela instruo Trazer (se for o caso) os operandos para a CPU Executar a operao Armazenar (se for o caso) os dados de sada Repetir o processo com uma nova instruo

etapas do Ciclo de Instruo

Viso Abstrata da Implementao


Organizao de Computadores

Os dados fluem entre a memria e as unidades funcionais

Dados

Reg # PC Endereo Instruo Banco de Registradores Reg # Reg # Memria de Dados UAL Endereo

Dados

Projeto Lgico
Organizao de Computadores

Duas definies importantes

Combinacional - sada depende somente das entradas Exemplo: ALU Seqencial: elementos contem informaes de estado Exemplo: Registradores

Elementos Combinacionais
Organizao de Computadores

Select

32

Somador

Soma

A 32 B

M u x

32 C

Controle da UAL
3

Zero UAL Resultado da UAL

Banco de Registradores
Organizao de Computadores

Contm 32 registradores

Dois barramentos de 32 bits de sada Dado lido #1 e Dado lido #2 Um barramento de 32 bits de entrada Dado a ser escrito Registrador 0 tem o valor 0 Registrador selecionado por Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito seleciona registro que recebe Dado a ser escrito quando EscReg=1
Nmero dos registradores Reg a ser lido #1 3 Reg a ser lido #2 3 Reg a ser escrito 32 Dado de escrita
3

32 Dado lido #1 Dados Dado 32 lido #2

Dado

EscReg

Memria
Organizao de Computadores

Um barramento de entrada: Dado a ser escrito Um barramento de sada: Dado lido Seleo de endereo

EscMem

Endereo Dado a ser escrito Dado lido

Endereo seleciona a palavra a ser colocada em Dado lido Para escrever no endereo, seta EscMem para 1 Para ler do endereo, seta LerMem para 1

LerMem

Passos do Projeto
Organizao de Computadores

De acordo com a arquitetura do conjunto de instrues, define-se uma estrutura organizacional macro (nmero de unidades funcionais, por exemplo) Essa estrutura refinada para definir os componentes do caminho de dados, sua interconexo e pontos de controle Estrutura de controle definida O projeto do caminho de dados e controle refinado para projeto fsico e validao funcional

Busca da Instruo
Organizao de Computadores

Busca a instruo na memria, cujo endereo est no contador de programa PC Incrementa o contador de programa PC de 1

1 Somador
PC

Endereo de leitura Instruo Memria de Instrues

Instruo de Soma
Organizao de Computadores

add regA regB destreg


Mem[PC] R[destreg] PC PC + 1

Obtm instruo da memria R[regA] + R[regB] Executa operao de soma Calcula prximo endereo

Caminho de Dados para Instrues do tipo R


Organizao de Computadores

R[destreg]

R[regA] op R[regB]

Controle da UAL e de EscReg baseado na instruo decodificada Reg a ser lido #1, Reg a ser lido #2, Reg a ser escrito so regA, regB, destreg
Registradores
3 3

Operao da UAL
3

Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita

Dado lido #1 Dado lido #2

Zero UAL Resultado da UAL

EscReg

Instruo de Carga
Organizao de Computadores

lw regA regB imm


mem[PC] End PC R[regA]+SignExt(imm) Mem[End] PC+1 R[regB]

Busca instruo na memria Calcula o endereo da memria Carrega os dados no registrador Calcula o prximo endereo

7 bits 0

3 bits op

3 bits regA

3 bits regB

16 bits imediato

Caminho de Dados para Instruo de Carga


Organizao de Computadores

Registradores
3 3 3

Operao da UAL EscMem


3

Instruo

Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita
16

Dado lido #1 Dado lido #2

EscRegExten- 32 16 so de sinal

Zero Memria de dados Resultado Endereo Dado da UAL lido UAL Dado a ser escrito LerMem

EscReg

Instruo de Armazenamento
Organizao de Computadores

sw regA regB imm


mem[PC] End PC Mem[End] PC+1 R[regB]

Busca instruo na memria Calcula o endereo da memria Carrega os dados na memria Calcula o prximo endereo

R[regA]+SignExt(imm)

7 bits 0

3 bits op

3 bits regA

3 bits regB

16 bits imediato

Caminho de Dados para Instruo de Armazenamento


Organizao de Computadores

Registradores
3 3 3

Operao da UAL EscMem


3

Instruo

Reg a ser Dado lido #1 lido #1 Reg a ser lido #2 Reg a ser Dado escrito lido #2 Dado de escrita EscReg Exten- 32 16 so de sinal

Zero Memria de dados Resultado Endereo Dado da UAL lido UAL Dado a ser escrito LerMem

Instruo de Desvio Condicional


Organizao de Computadores

beq regA regB imm


mem[PC] Cond PC R[regA]-R[regB] PC+1 + SignExt(imm) PC+1 if (Cond eq 0)

Busca instruo na memria Calcula a condio de desvio Calcula endereo PC relativo Calcula o prximo endereo

else PC

7 bits 0

3 bits op

3 bits regA

3 bits regB

16 bits imediato

Instruo de Desvio Condicional


Organizao de Computadores

PC+1 vindo do caminho de dados de busca de uma instruo Soma Somador Registradores
3 3

Endereo alvo do desvio condicional

Operao da UAL

Instruo

Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita EscReg
16

Dado lido #1 UAL Zero Ddo lido #2 Para a lgica de controle do desvio condicional

Exten- 32 so de sinal

Busca de Instruo e Instrues Aritm. e Lg. e de Referncia Memria


Organizao de Computadores

32 32 1

Somador
3

Registradores Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita EscReg Operao da UAL
32 3

EscMem

PC

Endereo de leitura Instruo Memria de Instrues

3 M U X 3

UAL fonte
32 M u x 32

MemParaReg M Memria Zero de dados Resultado Endereo Dado M lido da UAL 32 u UAL
x

RegDst
16

Exten- 32 so de sinal

Dado a ser escrito


32

LerMem

Caminho de Dados para Suportar Subconjunto das Instrues


Organizao de Computadores
FontePC
32 32 M u x

32

Somador Registradores
3

32

Resultado 32 da UAL Somador Operao da UAL


3

PC

Endereo de leitura Instruo Memria de Instrues

3 M 3 U X

RegDst
16

Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita EscReg

EscMem

32 32

UAL fonte

Exten- 32 so de sinal

MemParaReg Memria Zero 32 de dados Resultado Endereo Dado M M da UAL 32 lido u u x 32 x UAL Dado a ser escrito
32

LerMem

Caminho de Dados para Carregar PC


Organizao de Computadores

PC incrementado normalmente Se instruo beq pode adicionar imm a PC + 1


M u x

Somador Registradores

Resultado da UAL Somador Operao da UAL


3

PC

Endereo de leitura Instruo Memria de Instrues


M U X

RegDst

Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita EscReg
16

UAL fonte
M u x

Zero Resultado da UAL UAL

DvC

Exten- 32 so de sinal

Juntando Todas as Partes


Organizao de Computadores

32 32 32
1

PC +1 32

0
M u x

32

Somador Registradores

32

Resultado da UAL

PC

Endereo de leitura Instruo Memria de Instrues

Reg a ser lido #1 3 Reg a ser M lido #2 3 U Reg a ser X escrito Dado de escrita RegDst EscReg
16

Somador Operao da UAL


3

DvC

EscMem

32 UAL fonte 32
M u x

Zero Resultado da UAL UAL

32

32

Exten- 32 so de sinal

MemParaReg Memria de dados 32 Endereo Dado M 32 lido u 32 x Dado a ser escrito LerMem

Вам также может понравиться