Buscar

Trabalho

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Outros materiais