Anda di halaman 1dari 64

Laboratrio de

Arquitetura de
Computadores
PROFESSOR: FERNANDO ESQU RI O TORRES
E- MAI L: ESQUI RI O@DECOM. CEFETMG. BR
CEFET- MG
Aula preparada a partir do Material do professor Jeferson Chaves (DECOM/CEFET-MG) e do professor Ricardo de
Oliveira Duarte (DELT/UFMG).
Algumas consideraes
Ol prezados Alunos de Engenharia da Computao, boa
tarde!
O material da disciplina de LAOC1 ser disponibilizada no
endereo:
http://esquirio.com.br/moodle/
Escolhama opo LAOC1
Para ter acesso:
Nome de usurio e senha sero enviados por e-mail at amanh.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 2
Algumas consideraes
Esse ser o canal que irei disponibilizar o material de aula,
trabalhos etc.
Seus trabalhos devero ser enviados por esse portal.
O Formato da nossa prova de mudar.
Trabalhos prticos
Provas escritas.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 3
Funcionamento do Processador de 3 Instrues
A Unidade de Controle iniciar o funcionamento do processador.
A primeira ao da Unidade de Controle, ou seja, a primeira ao do ciclo de
instruo ser a Operao de Busca de uma instruo na Memria de
Programa (MI).
PC o registrador da CPU responsvel por armazenar o endereo da prxima
instruo a ser buscada na MI.
O registrador PC inicializada como o endereo da primeira instruo na MI,
ou seja, o endereo ZERO (0).
O registrador RI conter a instruo trazida da MI.
Portanto a seguintes aes sero realizadas:
RI = MI [PC]
PC = PC + 1
Para que essas aes aconteam a Controladora dever habilitar os sinais de
controle para atualizar o PC e habilitar o RI para escrita.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 4
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 5
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Operao de Decodificao
Vamos ver o funcionamento do processador de 3 instrues
para o pequeno trecho de programa explicado
anteriormente.
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 6
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Operao de Decodificao
Primeiro: a instruo localizada no endereo 0 (zero) da
memria de instruo: R[0] = MD [0]
No incio: o PC contm o endereo 0 (zero), ento a unidade
de controle vai buscar a instruo localizada no endereo 0
(zero) da memria de instruo e vai armazenar dentro do
registrador de instruo, habilitando o registrador de
instruo para escrita.
01
R[0] = MD [0]
Em seguida: acontece a operao de decodificao, isso
realizada dentro da controladora. A controladora, a partir, da
instruo armazenada dentro do registrador de instruo,
interpreta que instruo essa que foi buscada na MI.
Instruo decodificada
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 7
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Operao de Decodificao
Uma vez codificada passa-se para Operao de Execuo da
Instruo
01
R[0] = MD [0]
Instruo decodificada
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 8
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Operao de Decodificao
01
R[0] = MD [0]
Instruo decodificada
Via de dados
Banco de
Registradores
n-bit MUXs 2:1
A
ULA
Operao de Execuo da Instruo
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
1
Memria de Programa
Memria de Dados
R[0] = MD [0]
MD [0]: 99
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 9
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Operao de Decodificao
01
R[0] = MD [0]
Instruo decodificada
Via de dados
Banco de
Registradores
n-bit MUXs 2:1
A
ULA
Operao de Execuo da Instruo
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
1
Memria de Programa
Memria de Dados
R[0] = MD [0]
MD [0]: 99
Ou seja, a controladora passa, uma vez identificada a instruo, a instruir a
via de dados a realizar a operao demanda pela instruo corrente.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 10
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Operao de Decodificao
01
R[0] = MD [0]
Instruo decodificada
Via de dados
Banco de
Registradores
n-bit MUXs 2:1
A
ULA
Operao de Execuo da Instruo
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
1
Memria de Programa
Memria de Dados
R[0] = MD [0]
MD [0]: 99
Na posio 0 (zero) da memria de dados est armazenado o valor 99. Esse valor
vai ser levado para dentro do registrador 0 (zero) do banco de registradores.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 11
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Operao de Decodificao
01
R[0] = MD [0]
Instruo decodificada
Via de dados
Banco de
Registradores
n-bit MUXs 2:1
A
ULA
Operao de Execuo da Instruo
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
1
Memria de Programa
Memria de Dados
R[0] = MD [0]
MD [0]: 99
Para que isso acontea o caminho tem que estar selecionado no multiplexador e
o banco de registradores tem que estar habilitado para escrita no endereo 0
(zero) ou no registrado R[0] do banco de registradores.
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 12
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
Para processar cada instruo, a Unidade de Controle deve
executar a tarefas de forma cclica:
- Buscar a Instruo na MI e incrementar PC;
- Decodificar a Instruo;
- Executar a Instruo.
Uma vez que o PC foi incrementado na instruo anterior, o
mesmo passa a ter o valor 1, ou seja, vai ser buscada, agora a
instruo do endereo 1 na memria de programa. E PC
incrementado para a busca da prxima instruo.
12
R[1] = MD [1]
A instruo 1 buscada na memria de programa e
armazenada no registrador de instruo.
Finalizando a operao de busca.
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 13
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
12
R[1] = MD [1]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Decodificao
2
R[1] = MD [1]
Em seguida, passa-se para a operao de
decodificao da instruo.
Note que PC j est com o valor atualizado
para a busca da prxima instruo.
No processo de decodificao, a
controladora l do registrador de instruo
a instruo e decodifica/interpreta que
uma instruo de load (carga).
"Carga"
Ou seja, o valor de R[1] vai ser
atualizado com o valor do endereo
1 da posio de memria de dados. R[1]: ??
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 14
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
12
R[1] = MD [1]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
2
R[1] = MD [1]
"Carga"
R[1]: ??
Via de dados
Banco de Reg
n-bit MUXs 2:1
A
ULA
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
2
Memria de Programa
Memria de Dados
R[1] = MD [1]
MD [1]: 102
Decodificao
Execuo
Na fase de execuo, a unidade de controle instrui a via de dados o que deve ser
feito.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 15
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
12
R[1] = MD [1]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
2
R[1] = MD [1]
"Carga"
R[1]: ??
Via de dados
Banco de Reg
n-bit MUXs 2:1
A
ULA
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
2
Memria de Programa
Memria de Dados
R[1] = MD [1]
MD [1]: 102
Decodificao
Execuo
Buscar o dado contido no endereo 1 da via de dados, habilitando para isso o
caminho no multiplexador. E gravando o contedo da memria de dados (102) no
registrador R[1].
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 16
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
Emseguida, acontece a busca da terceira instruo:
R[2] = R[0] + R[1]
Essa instruo gravada no registrador RI e PC
incrementado de um.
23
R[2] = R[0] + R[1]
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 17
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
23
R[2] = R[0] + R[1]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Decodificao
3
R[2] = R[0] + R[1]
Um vez terminada a busca da instruo,
passa-se para a operao de decodificao
da instruo.
A controladora vai interpretar/decodificar a
instruo e tomar as medidas necessrias
para que a instruo ocorre corretamente.
"ULA (soma)"
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 18
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
23
R[2] = R[0] + R[1]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
3
R[2] = R[0] + R[1]
"ULA (soma)"
R[2]: ??
Via de dados
Banco de Reg
n-bit MUXs 2:1
A
ULA
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
3
Memria de Programa
Memria de Dados
R[2] = R[0] + R[1]
Decodificao
Execuo
A controladora vai ordenar a ULA para executar uma soma do contedo do
registrador 0 (zero) como contedo do registrador 1 (um) do banco de registradores.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 19
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
23
R[2] = R[0] + R[1]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
3
R[2] = R[0] + R[1]
"ULA (soma)"
R[2]: ??
Via de dados
Banco de Reg
n-bit MUXs 2:1
A
ULA
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
3
Memria de Programa
Memria de Dados
R[2] = R[0] + R[1]
Decodificao
Execuo
O resultado da ULA (circuito combinacional) vai ser gravado no registrador R[2], ou
seja, o valor 201 vai ser gravado nesse registrador.
201
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 20
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
Por fim, a ltima instruo do programa buscada na
memria de instruo e trazida para o RI.
MD [9] = R[2]
34
MD [9] = R[2]
Funcionamento do Processador de 3 Instrues
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 21
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
34
MD [9] = R[2]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Decodificao
4
MD [9] = R[2]
Essa instruo decodificada como uma
instruo de store (gravar/armazenar) na
memria de dados.
"grava"
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 22
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
34
MD [9] = R[2]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
4
MD [9] = R[2]
"ULA (soma)"
Via de dados
Banco de Reg
n-bit MUXs 2:1
A
ULA
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
4
Memria de Programa
Memria de Dados
MD [9] = R[2]
Decodificao
Execuo
A controladora instrui a via de dados a armazenar o valor do registrador 2 do banco
de registradores no endereo 9 da memria de dados.
R[2]: 201
MD [9] = ??
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 23
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
34
MD [9] = R[2]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
4
MD [9] = R[2]
"ULA (soma)"
Via de dados
Banco de Reg
n-bit MUXs 2:1
A
ULA
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
4
Memria de Programa
Memria de Dados
MD [9] = R[2]
Decodificao
Execuo
Para que isso acontea, o endereo do registrador 2 tem que estar selecionado pela
controladora. O endereo 9 da memria de dados tem que estar selecionado na
memria de dados.
R[2]: 201
MD [9] = ??
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 24
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
34
MD [9] = R[2]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
4
MD [9] = R[2]
"ULA (soma)"
Via de dados
Banco de Reg
n-bit MUXs 2:1
A
ULA
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
4
Memria de Programa
Memria de Dados
MD [9] = R[2]
Decodificao
Execuo
E uma ao de gravao na memria de dado tem que estar habilitada. Esse o
processo de execuo da ltima instruo.
R[2]: 201
MD [9] = 201
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 25
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
Busca de instruo
34
MD [9] = R[2]
Memria de Programa
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
4
MD [9] = R[2]
"ULA (soma)"
Via de dados
Banco de Reg
n-bit MUXs 2:1
A
ULA
Unidade de controle
Controladora
PC RI
0: R[0] = MD [0]
1: R[1] = MD [1]
2: R[2] = R[0] + R[1]
3: MD [9] = R[2]
4
Memria de Programa
Memria de Dados
MD [9] = R[2]
Decodificao
Execuo
No havendo mais instrues, o processador para.
R[2]: 201
MD [9] = 201
Fluxo de projeto de um
processador
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 26
Fluxo de projeto de um processador
Vamos ver uma descrio breve dos passos que vocs
necessitaro para projetar sua CPU.
Objetivo:
Compreender as etapas de um fluxo de Projeto de um
Processador.
Pr-requisitos:
Saber projetar umSistema Digital sncrono.
Ter assimilado o contedo da aula anterior sobre funcionamento
de processadores.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 27
Fluxo de projeto de processadores
Aqui apresentamos o fluxo de projeto
de processadores para ser usado para
projetarmos nossa prpria CPU.
Esse fluxo de projeto composto de 9
passos. Numerados de 1 a 9.
Quanto maior o nmero do passo,
mais cheio de detalhes de
implementao se apresenta a CPU.
Quanto menor o nmero do passo,
mais abstrato ou mais ausente de
detalhes de implementao tem seu
processador.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
28
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
1
2
3
4
5
6
7
8
9
Dizemos que os passo 1, 2 e 3,
reunidos, formam o Projeto da
Arquitetura do processador.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
29
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
Esses passos guardam as
informaes que sero importantes
o Usurio ou Programador da CPU.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
30
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
Nessa fase que se implementa a
identidade do processador, ou seja,
para qual aplicao ou quais conjuntos
de aplicaes a nvel do usurio ele
ser mais adequado.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
31
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
As trs etapas subsequentes
formamo que chamamos de projeto
RTL (Register Transfer Level).
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
32
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
Nessas etapas, projetamos na forma
de circuito digital, o conjunto de
instrues da sua CPU. Especificado
nas trs primeiras etapas.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
33
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
Isso feito usando diagrama de
estados e linguagemde descrio de
Hardware.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
34
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
Usaremos a linguagem verilog como
linguagem para descrio de hardware
para nossa CPU e a ferramenta
Quartus II da altera para compilar a
descrio dos nossos circuito.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
35
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
Para o desenho dos diagramas de
estado, sugiro usar o template UML
da ferramenta Microsoft Vision.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
36
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
Para o desenho dos componentes que
formaro a sua CPU, sugiro usar o
template de desenho bsico da mesma
ferramenta.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
37
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
As ltimas trs etapas (7, 8 e 9) consiste
no projeto fsico da CPU.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
38
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
PROJETO FSICO
(Nvel de Implementao em Hardware)
So os passos para projetar o chip com a CPU,
esses assuntos so para um disciplina de
projeto de circuito VLSI ou microeletrnica.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
39
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
PROJETO FSICO
(Nvel de Implementao em Hardware)
No projetaremos o chip, essas fases
sero implementadas de forma diferente
na nossa disciplina.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
40
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO
DA ARQUITETURA
(Nvel do Usurio e do Programador)
PROJETO RTL
(Nvel de Transferncia de Registradores)
PROJETO FSICO
(Nvel de Implementao em Hardware)
O FPGA um chip composto por blocos
lgicos programveis, usando para
executar qualquer circuito lgico
combinacional e sequencial.
A partir de descrio do circuito digital e
de uma descrio de hardware tal como
verilog.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
41
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
PROJETO FSICO
(Nvel de Implementao em Hardware)
1. Utilizaremos o software QUARTUS II para
simular cdigo emverilog da CPU;
2. Montaremos um sistema em verilog composto
por CPU + MI + MD para testes;
3. Geraremos uma descrio desse sistema para
ser gravada no FPGA do kit da Altera.
Fluxo de projeto de processadores
Vamos agora passar para o primeiro passo
do fluxo de Projeto de processadores.
A documentao de cada etapa, est
disponvel no ambiente do MOODLE da
disciplina no endereo:
http://esquirio.com.br/moodle/
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
42
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
1. Definir o conjunto de instrues do
processador (Composto de 4 sub passos):
Defina se todas as instrues vo ter o mesmo
tamanho ou no.
Defina o tamanho embits da instruo.
Defina o tamanho do campo reservado para
representar o cdigo da operao da instruo
(OPCODE).
Defina o tamanho dos campos reservados para
representar os operandos.
Todos esse requisitos sero passados ao
aluno no documento de requisitos de
projeto do primeiro trabalho.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
43
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
1. Definir o conjunto de instrues do
processador (Composto de 4 sub passos):
Nesse momento, voc documentar o
comportamento de todas instrues do conjunto de
instrues que sua CPU dever realizar.
Voc vai consultar o documento "requisitos_projeto"
que conter uma breve descrio de cada instruo
que sua CPU dever realizar.
Voc dever detalhar cada instruo descrita no
documento "requisitos_projeto" preenchendo uma
tabela (em "guia_etapa1.doc") com os seguintes
itens:
ARGUMENTOS da instruo (operandos)
FUNO da instruo (Tarefas que a CPU realizar)
EXEMPLO de uso da instruo (para o programador de sua
CPU)
COMENTRIO explicando o funcionamento da instruo
(para quemfor programar sua CPU)
OPCODE e o CDIGO BINRIO da instruo.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
44
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
1. Definir o conjunto de instrues do
processador (Composto de 4 sub passos):
Um modelo de exemplo dessa etapa para um
processador de 3 instrues apresentado no
documento "exemplo_etapa1.
A falta de especificao correta de uma
instruo nessa etapa implicar em um grande
retrabalho emfuturas etapas.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
45
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
Vamos agora passar para o segundo passo
do fluxo de Projeto de processadores.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
46
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
2. Agrupe as instrues que voc definiu
dentro das categorias:
Consiste em voc definir alguma caracterstica
essencial para agrupar o maior nmero de
instrues dentro de um menor nmero possvel
de categorias.
Veja uma possvel forma de classificao de
categorias, conforme os tipos de operao que a
instruo dever realizar.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
47
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
2. Agrupe as instrues que voc definiu
dentro das categorias:
Instrues de movimentao de dados.
Instrues de processamento de dados.
Instrues de desvio.
Demais instrues.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
48
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
2. Agrupe as instrues que voc definiu
dentro das categorias:
Podemos classificar as instrues utilizando
outro tipo de categorias, como por exemplo,
nmero de operandos.
A classificao das instrues em categorias,
facilita a etapa de escrever a controladora do
fluxo de projeto de processadores.
O agrupamento em poucas categorias
ocasionar uma controladora mais simples de
ser implementada, caso contrrio a controladora
ficar umpouco mais complicada.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
49
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
2. Agrupe as instrues que voc definiu
dentro das categorias:
Instrues de movimentao de dados.
Instrues de processamento de dados.
Instrues de desvio.
Demais instrues.
Tarefas:
Documente seu agrupamento seguindo os passos de
"guia_etapa_1.doc", conforme o modelo apresentado em
"exemplo_etapa1".
Implicaes:
O no cumprimento dessa etapa poder ocasionar em dificuldades na
fase de otimizao da Controladora.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
50
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
51
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
Vamos agora passar para o terceiro passo
do fluxo de Projeto de processadores.
3. Definir o cdigo de mquina para cada
instruo:
Tarefas:
Defina um cdigo de operao nico para cada instruo
definida no passo 1.
Documente essa etapa seguindo os passos apresentados
em"guia_etapa1.doc".
Implicaes:
A falta do cumprimento dessa etapa, impedir que voc
escreva a Controladora do seu processador.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
52
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
53
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
Vamos agora passar para o quarto passo do
fluxo de Projeto de processadores.
4. Projetar a Mquina de Estados Finitos
FSM de alto nvel para todas as instrues
do seu conjunto de instrues:
Tarefas:
Usando como base o conceito de ciclo de instruo,
desenhe a FSM de alto nvel para cada instruo. Siga o
"guia_etapa2.doc".
Documente essa etapa seguindo os passos apresentados
em"exemplo_etapa2.doc".
Implicaes:
A falta do cumprimento dessa etapa, impedir que voc
escreva a Controladora do seu processador.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
54
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
4. Projetar a Mquina de Estados Finitos
FSM de alto nvel para todas as instrues
do seu conjunto de instrues:
Tarefas:
Usando como base o conceito de ciclo de instruo,
desenhe a FSM de alto nvel para cada instruo. Siga o
"guia_etapa2.doc".
Documente essa etapa seguindo os passos apresentados
em"exemplo_etapa2.doc".
Implicaes:
A falta do cumprimento dessa etapa, impedir que voc
escreva a Controladora do seu processador.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
55
Fluxo de projeto de processadores
Na FSM acima, podemos observar o nome
dos estados, as transies de um estado para
outro, as aes necessrias acontecer na
transio de um estado para outro e as aes
que ocorreram quando estivermos em
determinado estado.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
56
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
Vamos agora passar para o quinto passo do
fluxo de Projeto de processadores.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
57
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
5. Definir os componentes que vo compor a
Via de Dados e a Unidade de Controle:
Tarefas:
Para cada estado documentado na etapa anterior, desenhe
detalhadamente o componente (bloco operativo)
necessrio para realizar cada ao da Via de dados.
Para cada transio de estado documentado na etapa
anterior desenhe o componente (bloco operativo)
necessrio para realizar cada ao se este ainda no tiver
sido desenhado.
Siga os passos do documento "guia_etapa3.doc".
Documente essa etapa usando os modelo apresentado em
"exemplo_etapa3.doc".
Implicaes:
A falta do cumprimento dessa etapa, impedir que voc
escreva o cdigo verilog do caminho de dados da sua CPU.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
58
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
Vamos agora passar para o sexto passo do
fluxo de Projeto de processadores.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
59
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
6. Projetar a Unidade de Controle:
Tarefas:
Converter a Mquina de Estados Finitos de alto nvel na
Mquina de Estados Finitos da Controladora. Para isso,
mantenha os mesmos estados no diagrama de estados que
voc desenhou na etapa anterior, substituindo uma a uma
as operaes que envolvem movimentao ou
processamento de dados por sinais de controle, que so
ativados ou lidos dos componentes que formam a Via de
Dados.
Documente essa etapa usando os modelo apresentado em
"exemplo_etapa4.doc" e "exemplo_etapa5.doc".
Siga os passos do documento "guia_etapa4.doc" e
"guia_etapa5.doc" para realizar o seu trabalho.
Implicaes:
A falta do cumprimento dessa etapa, impedir que voc
escreva o cdigo verilog da controladora da sua CPU.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
60
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
A ltima parte do projeto de processadores
(Implementao e Testes):
AGRUPAR Via de Dados (que j foi validada e
simulada) e Unidade de Controle (que j foi
validada e simulada) em um nico componente
de mais alta hierarquia CPU.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES
61
Definir o conjunto mnimo de Instrues Assembly
Agrupar as instrues em categorias
Definir o cdigo de mquina para cada instruo
Projetar a FSMde alto nvel
Definir os elementos necessrios para a execuo da
Via de Dados e Unidade de Controle.
Escrever a Unidade de Controle:
Microprograma ou Hardware (FSMde baixo nvel)
Portas Lgicas
Transistores
Implementao em camadas (VLSI)
Fluxo de projeto de processadores
A ltima parte do projeto de processadores
(Implementao e Testes):
AGRUPAR Via de Dados (que j foi validada e
simulada) e Unidade de Controle (que j foi
validada e simulada) em um nico componente
de mais alta hierarquia CPU.
1. Utilizaremos o software QUARTUS II para
gravar a descrio verilog do Sistema (CPU +
MI + MD) no FPGA do Kit da Altera.
Sistema:
- CPU
- MI (Contendo umprograma teste)
- MD
Fluxo de projeto de processadores
Cada aula futura discutiremos em detalhes o que
deveremos produzir em cada uma das etapas do fluxo de
projeto de sua CPU.
Ser apresentado um exemplo de cada etapa tomando-se
como base umprocessador hipottico de 3 instrues.
O exemplo servir de modelo para o desenvolvimento do
seu projeto.
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 62
Referncias
PATTERSON, D. A.; HENNESSY, J. L. Organizao e projeto de
computadores: a interface hardware/sofware. 3. ed. Rio de
Janeiro: Campus, 2005.
MANO, M. Morris; CILETTI, Michael D. Digital Design. 4. Ed.
Upper Saddle River, N. J.: Prentice-Hall, 2007
Sees disponbilizadas no pendrive, e-mail e Moodle.
http://en.wikipedia.org/wiki/Verilog
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 63
At a prxima aula
16/05/2014 PROFESSOR FERNANDO ESQURIO TORRES 64

Anda mungkin juga menyukai