ENGG56 - Trabalho

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 4

UNIVERSIDADE FEDERAL DA BAHIA - UFBA

ESCOLA POLITÉCNICA / DEPARTAMENTO DE ENGENHARIA ELÉTRICA E DE COMPUTAÇÃO


2019.2 – ENGG56 – PROJETO DE CIRCUITOS INTEGRADOS DIGITAIS
PROF. WAGNER L. A. DE OLIVEIRA

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;
 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), veículos autônomos, decodificadores MPEG4 e HEVC;
- mod chips: dispositivos que “modificam” a função original de um sistema (desbloqueios
de videogames);
- 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);
- arquiteturas reconfiguráveis em tempo de execução; e
- HPC (High-Performance Computing): coprocessadores para aceleração de partes de
algoritmos em substituição/colaboração com GPUs (exemplo: Bing da Microsoft).

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 e instruções;
 Instruções e operações internas de 32 bits;
 32 registradores de propósito geral: R0 – R31 (R0 e R1 auxiliares);
 Conjunto de instruções: vide tabela 1;
 Modos de endereçamento: imediato / base-deslocamento / a registrador;
 Possibilidade de tratamento de até 32 chamadas de sub-rotinas; e
 Possibilidade de lidar com até 3 dependências verdadeiras (RAW) consecutivas, evitando
paralisar a propagação de instruções entre os estágios funcionais (excetuando-se LW).

Tabela 1. Conjunto de instruções para o processador proposto.

Tipo Instrução Operandos Descrição

LW RD, I16 (RB) RD  [I16+RB] | RD  [RB] | RD  I16


Transferência
SW RS, I16 (RB) [I16+RB]  RS | [RB]  RS
de Dados
MOV RD, RS RD  RS
ADD RD, RS RD  RD + RS
SUB RD, RS RD  RD – RS
Aritmética
MUL RD, RS RD  RD * RS
DIV RD, RS RD  RD / RS
AND RD, RS RD  RD AND RS
OR RD, RS RD  RD OR RS
SHL RD, RS RD  RD << RS
Lógica
SHR RD, RS RD  RD >> RS
CMP RD, RS compara RD e RS, configurando RFlags
NOT RD RD  NOT RD
JR R desvio incondicional para o endereço [R]
JPC I26 desvio incondicional relativo a PC atualizado
desvio para o endereço [R]
Transferência BRFL R, I5, M5
se RFlags[i]= I5[i], para todo i = 1 em M5
de Controle
CALL R chamada de sub-rotina no endereço [R]
RET Nenhum retorno de sub-rotina
NOP Nenhum nenhuma operação
Obs.: [ ] = conteúdo de memória (de dados ou de instruções, a depender da instrução executada)
R0 = 0 e R1 = 1 somente podem ser usados para leitura
RFlags = vetor de 5 bits com componentes [overflow/underflow, above, below, equal, error]
I5 = vetor de 5 bits a ser comparado com RFlags, mediante máscara M5
M5 = vetor de 5 bits (componente = 1 ativa comparação; componente = 0 desativa comparação)
Produtos:

Organizem-se em 3 grupos de alunos (2 grupos de 2 alunos e 1 grupo de 3 alunos).


Cada grupo deverá entregar os seguintes artefatos:

1. O protótipo FPGA do processador solicitado, na plataforma DE2-115 da Intel, 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: (entregas via e-mail oliveira.wagner@ufba.br com cópia para wlao@uol.com.br)

R1 – Definição da Arquitetura (21/10)

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 (11/11)

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 das memórias para dados e instruções;
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 (29/12)

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.
 BERGERON, J. Writing Testbenches: Functional Verification of HDL Models, 2013.

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). No entanto, é 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.

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy