Baixe o app para aproveitar ainda mais
Prévia do material em texto
Trabalho: Síntese de um Processador com Pipeline Tema Noções básicas do funcionamento de um processador e sua constituição interna Objetivos • Sintetizar uma unidade central de processamento (CPU), contendo uma unidade lógica e aritmética (ULA), registradores e uma unidade de controle (UC) centralizada/descentralizada, para um conjunto específico de instruções; • Compreender e aplicar o conceito de ILP (Instruction-Level Parallelism) no projeto da CPU; • Compreender e aplicar o conceito de microprogramação para a unidade de controle centralizada/descentralizada; • Projetar o formato e os modos de endereçamento para um conjunto de instruções dado, o sequenciamento e a temporização das microinstruções relativas a tal conjunto; • Analisar diferentes tipos de microarquiteturas paralelas; • Simular o funcionamento da unidade central de processamento e de seus subsistemas utilizando software de simulação e síntese de circuitos digitais; • Utilizar a ferramenta de síntese de circuitos digitais em Verilog para FPGA; • Preparar para o uso de ferramentas de síntese de circuitos integrados; e • Escrever um relatório técnico. Problema: Dispositivos do tipo FPGA (Field-Programmable Gate Array) são chips de lógica programável após o encapsulamento, cujo uso tem apresentado significativa ascensão nos últimos anos. Atualmente, é possível sintetizar um processador RISC em um chip FPGA por apenas US$ 2.00. Outros exemplos de aplicação desse tipo de chip podem ser encontrados em áreas diversas: - telecomunicações: circuitos de roteamento de estações rádio base de telefonia celular / satélites; - controles industriais: circuitos de controle integrados ou como lógica “glue”, no interfaceamento de microcontroladores; - sistemas de processamento digital de sinais: sistemas de reconhecimento de padrões (computação gráfica / análise facial / análise de íris / reconhecimento de placas de automóveis), decodificadores MPEG4 e tocadores MP3; - mod chips: dispositivos que “modificam” a função original de um sistema (desbloqueios de videogames); - arquiteturas reconfiguráveis; e - dispositivos acionados por computador: implementação de interfaces com barramentos padrão de PCs (PCI, PCI-Express, SCSI, dentre outros), possibilitando, inclusive, a síntese da própria aplicação de hardware desejada (back-end do dispositivo). Neste contexto, solicita-se à sua equipe de desenvolvimento a elaboração do soft-core de um processador para uso em FPGAs de baixo custo, que possa ter desempenho otimizado, através do uso de paralelismo em nível de instrução. Tal soft-core deve possuir as seguintes características: • Arquitetura de 5 estágios funcionais de execução paralela • Interfaceamento com módulos de memória separados para dados (2 SDRAM 32Mx16) e instruções (1 SRAM 2Mx16) • Instruções e operações internas em 32 bits • 16 registradores de propósito geral: R0 – R15 • Conjunto de instruções: vide tabela 1 • Modos de endereçamento: � imediato � base-deslocamento � a registrador • Possibilidade de lidar com 3 hazards RAW consecutivos, sem ter que paralisar a propagação de instruções entre os estágios funcionais. Tabela 1. Conjunto de instruções para o processador proposto. Tipo Instrução Operandos Descrição Transferência De Dados LW RD, I16 (RB) RD � [I16+RB] | RD � [RB] | RD � I16 SW RS, I16 (RB) [I16+RB] � RS | [RB] � RS Aritmética ADD RD, RF RD � RD + RF SUB RD, RF RD � RD – RF MUL RD, RF RD � RD * RF (R0 auxiliar) DIV RD, RF RD � RD / RF (R0 auxiliar) Lógica AND RD, RF RD � RD AND RF OR RD, RF RD � RD OR RF CMP RD, RF compara RD e RF, configurando RFlags NOT RD RD � NOT RD Transferência de Controle JR R desvio incondicional para o endereço [R] JPC I28 desvio incondicional relativo a PC atualizado BRFL R, Const desvio para o endereço [R] se RFlags = Const CALL R chamada de subrotina no endereço [R] RET Nenhum retorno de subrotina NOP Nenhum nenhuma operação Observações: - flags: (overflow/underflow, above, equal, error) Produtos: Organizem-se em grupos de 4 a 5 alunos (outras composições serão penalizadas com decréscimo de nota, equivalente a 10% por aluno). Cada grupo deverá entregar os seguintes artefatos: 1. O protótipo FPGA do processador gráfico (80% da nota), na plataforma DE2-115 da Altera, escrito em Verilog; e 2. O testbench do processador (20% da nota), desenvolvido em Verilog no software ModelSim, que ateste o correto funcionamento do mesmo. Fig. 1. Sugestão de arquitetura para o processador proposto. Releases: R1 – Definição da Arquitetura (19/05) 1. Definição das entradas e saídas primárias do circuito, ou seja, as portas do módulo Verilog de nível mais alto; 2. Layout das instruções, ou seja, o formato binário de cada instrução/grupo de instruções, respeitando seus modos de endereçamento; 3. Definição e encapsulamento (em módulos Verilog) dos módulos funcionais (circuitos combinacionais) e de armazenamento interno (registradores) de cada estágio do pipeline e seus respectivos sinais de controle; 4. Definição e encapsulamento (em módulos Verilog) dos campos (funções) dos registradores separadores de estágios e seus respectivos sinais de controle; e 5. Elaboração de uma tabela contendo todos os sinais de controle definidos para cada módulo especificado nos itens 3 e 4, preenchida com as micro-instruções referentes a cada instrução, para cada passo de execução (etapa de controle). Artefato: Documento de Arquitetura R2 – Implementação e Simulação (30/06) 1. Implementação e simulação dos módulos funcionais e de armazenamento interno definidos nos itens 3 e 4 do release R1; 2. Análise funcional e temporal dos dispositivos de armazenamento de armazenamento externo contidos na placa DE2-115; 3. Implementação e simulação da unidade de controle (centralizada ou descentralizada), para execução das micro-instruções definidas no item 5 do release R1; e 4. Revisão do Documento de Arquitetura. Artefatos: Documento de Arquitetura (revisado), Código HDL, Simulação (ModelSim) R3 – Prototipação e Testes (21/07) 1. Elaboração de diretivas de teste, de forma a garantir o estímulo de todas as instruções e de todas as situações de hazards previstas; 2. Elaboração do testbench; 3. Prototipação; e 4. Revisão do Documento de Arquitetura. Artefatos: Documento Plano de Testes, Protótipo do Processador (Funcionando), Sua Vida Futura / Sua Alma Recursos para Aprendizagem: • PATTERSON, D. A., HENNESSY, J. L. Arquitetura de Computadores: Uma Abordagem Quantitativa. 5. Ed., Editora Campus, 2014. • BROWN, Stephen D; VRANESIC, Zvonko G. Fundamentals of digital logic with Verilog design. 2. ed McGraw-Hill Higher Education, 2008. A importância do doutorado: • Quando se tem doutorado: O dissacarídeo de fórmula C12H22O11, obtido através da fervura e da evaporação de H2O do líquido resultante da prensagem do caule da gramínea Saccharus officinarum, (Linneu, 1758) isento de qualquer outro tipo de processamento suplementar que elimine suas impurezas, quando apresentado sob a forma geométrica de sólidos de reduzidas dimensões e retilíneas, configurando pirâmides truncadas de base oblonga e pequena altura, uma vez submetido a um toque no órgão do paladar de quem se disponha a um teste organoléptico, impressiona favoravelmente as papilas gustativas, sugerindo impressão sensorial equivalente provocada pelo mesmo dissacarídeo em estado bruto, que ocorre no líquido nutritivo da alta viscosidade, produzindo nos órgãos especiais existentes na Apis mellifera.(Linneu, 1758). Noentanto, é possível comprovar experimentalmente que esse dissacarídeo, no estado físico-químico descrito e apresentado sob aquela forma geométrica, apresenta considerável resistência a modificar apreciavelmente suas dimensões quando submetido a tensões mecânicas de compressão ao longo do seu eixo em consequência da pequena capacidade de deformação que lhe é peculiar. • Quando não se tem doutorado, um antigo provérbio inglês resume o exposto acima: Hard rapa is sweet, but it doesn't soft. • A versão para mestrado é muito simples e não vale à pena gastar tempo com mestrandos.
Compartilhar