Buscar

Introducao a Processadores em VHDL


Continue navegando


Prévia do material em texto

1
Processadores em FPGAs
Exemplo: Um Processador Didático 
de 8 bits
Prof. Edward David Moreno
edwdavid@gmail.com
2
Agenda
� Conceito de processadores
� Proposta de um arquitetura simplificada
� Criação do sistema de I/O
� Implementação e Simulação do processo de 
busca.
� Implementação e Simulação do processo de 
decodificação e execução.
� Implementação em FPGAs
� Geração e análise de desempenho
3
Introdução
Tipos de processadores:
– Propósito Geral: Pentium, AMD...
– Processadores Dedicados: Processadores de 
redes, imagem, som. 
– Processadores Específicos: processador para 
algoritmo RSA (normalmente não tem instruções, 
apenas configurações) 
– Co-processadores: Matemáticos. (auxilia um 
processador geral) 
4
Introdução
Ciclo de execução dos processadores:
Busca
DecodificaçãoExecução
Quando o ciclo de busca inicia ?
Quando pára?
5
Introdução
Instruções: uma instrução é uma seqüência de 
bits que representa uma operação ou dado. 
– O processador executa instruções.
– Cada processador tem suas própria instruções 
(podem existir instruções compatíveis)
– Conjunto de instruções = programa ou rotina
– uma instrução é composta por:
opcode Dados, Config, ender. etc
6
Introdução
Módulos básicos de um processador:
– ULA – Unidade Lógica e Aritmética: AND, ADD, 
SUB, XOR, etc.
– RI – Registrador de instruções: contém a 
instrução que esta sendo executada. 
– PC – Contador de programa: aponta para 
próxima instrução a ser buscada
– UC – Unidade de controle – responsável pelo 
controle do ciclo de busca-decodificação-
execução. 
7
Processador Simplificado de 8 bits
B
ULA
RI
PCPC
4 bits
Memória
RAM
4x8
addr
din
8 bits
UC
A
LED
dout
rw
Clock 12Mhz
8 bits B
ULA
RI
PCPC
4 bits
PCPC
4 bits
Memória
RAM
4x8
addr
din
8 bits
UC
A
LED
dout
rw
Clock 12Mhz
8 bits
8
Memória
Definir a placa FPGA
Ex. XC 4000 XL
Modelo 4010 XL PC84
RAM 4 x 8
Dout
8Din
R/W
ADDR
8
1
4
9
Operações da Memória
LEITURA:
ADDR <= `0001`;
RW <= `0`; Dout = VALOR em ADDR
ESCRITA:
ADDR <= `0010`;
Din <= ´VALOR`;
RW <= `1`;
--------------------------
RW <= ´0´;
10
Simulando a Memória no XILINX
Criando o Módulo na Ferramenta XILINX
-TOOLS
- LogBlox Module Genrator
- Memories
- NOME
-Configurações
Mem File: RAM2
Editar Arquivo TXT
-Dados:
-0: 01,
-1: 05,
-2: 06.
- -----
SIMULAR NO XILINX
11
Instruções e Formato
� LOAD, ADD, INC, DEC, JMP, LED1, 
LED2
0 0 0 x x x x xADD
OP
0 0 0 x x x x xSUB
0 0 0 x x x x xINC
0 0 0 x x x x xDEC
0 0 0 x x x x xLED1
0 0 0 x x x x xLED0
12
Instruções e Formato
0 0 0 1 0 0 0 0LOAD
OP Reg. Destino (A)
0 0 0 0 0 0 0 0 Dado ( 8bits )
0 0 0 x 0 0 0 0JMP
OP
endereço