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