Documente Academic
Documente Profesional
Documente Cultură
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
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:
R-FORMAT
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
I-Format
lw regA regB imm beq regA regB imm addi regA regB imm
0
7 bits
op
3 bits
regA regB
3 bits 3 bits
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
Dados
Reg # PC Endereo Instruo Banco de Registradores Reg # Reg # Memria de Dados UAL Endereo
Dados
Projeto Lgico
Organizao de Computadores
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
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
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 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
Instruo de Soma
Organizao de Computadores
Mem[PC] R[destreg] PC PC + 1
Obtm instruo da memria R[regA] + R[regB] Executa operao de soma Calcula prximo endereo
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
EscReg
Instruo de Carga
Organizao de Computadores
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
Registradores
3 3 3
Instruo
Reg a ser lido #1 Reg a ser lido #2 Reg a ser escrito Dado de escrita
16
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
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
Registradores
3 3 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
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
PC+1 vindo do caminho de dados de busca de uma instruo Soma Somador Registradores
3 3
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
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
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
LerMem
32
Somador Registradores
3
32
PC
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
Somador Registradores
PC
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
DvC
Exten- 32 so de sinal
32 32 32
1
PC +1 32
0
M u x
32
Somador Registradores
32
Resultado da UAL
PC
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
DvC
EscMem
32 UAL fonte 32
M u x
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