Encerrado

Veriog Tomasulo

Neste projeto você irá utilizar Verilog para implementar o algoritmo Tomasulo de

despacho simples como descrito no livro texto (Seções 3.4 e 3.5).

Descrição

No algoritmo Tomasulo a execução das instruções é dividida em 3 estágios: despacho,

execução e write back. Esses três estágios acessam componentes críticos de hardware:

o CDB, as estações de reserva (nas quais ocorrem as renomeações) e as unidades

funcionais. Você deverá implementar: (1) as estações de reserva, (2) os estágios do

algoritmo, (3) as unidades funcionais de multiplicação/divisão e soma/subtração, (4) o

banco de registradores, (5) as interconexões (barramentos e fios), e (6) a fila das

instruções. Você deverá testar a sua implementação utilizando um código de exemplo

e submeter o relatório e o seu projeto no Moodle.

Preparação

Você deverá criar todos os blocos básicos. Podem ser utilizados componentes da

LPM. Nesta versão simplificada do Tomasulo, só serão realizadas operações de soma,

subtração, multiplicação, e divisão de inteiros. Desta forma o banco de registradores

deverá ser inicializado.

As unidades funcionais operam com as seguintes latências: 5 ciclos multiplicação, 10

ciclos divisão, 2 ciclos soma/subtração.

Descrição INICIAL dos blocos básicos:

 CDB arbiter: arbitra qual unidade funcional poderá colocar o dado no CDB e

faz o broadcast do resultado para o resto das unidades funcionais e o banco de

registradores.

 CDB: barramento comum de dados que fornece o valor e o rótulo da estação de

reserva que produz o dado.

 Estações de reserva: armazenam as instruções. Você poderá criar um

componente separado para armazenar os registradores renomeados (ex, como

uma tabela de renomeações).

 Unidades funcionais: realizam as operações Soma/Subtração e

Multiplicação/Divisão.

 Fila de instruções: Buffer que contém as instruções.

 Banco de registradores: Conjunto de registradores que armazenam os dados.

Esta descrição inicial dos componentes deverá ser refinada e detalhada de acordo

com o projeto de cada grupo.

Por onde começar?

Pense na arquitetura do seu processador em alto nível (projeto top-down): quais

componentes são necessários, como contectar esses componentes, ou seja, quais

sinais são necessários. Em seguida detalhe cada um dos componentes lembrando

de realizar simulações para verificar o correto funcionamento.

Submissão

Crie um pacote contendo TODOS os códigos fontes, formas de onda, e o relatório do

projeto. Cada grupo deverá submeter um pacote no Moodle.

O relatório deverá incluir os seguintes componentes:

1. Uma introdução em alto nível da sua solução para o algoritmo Tomasulo (não

é para copiar a descrição do livro texto).

2. O projeto do seu processador, incluíndo detalhes necessários dos módulos

criados. Faça uma figura mostrando os blocos básicos e interconexões.

3. O código de teste utilizado e as formas de onda com uma explicação que

mostre o correto funcionamento.

4. Dificuldades encontradas.

5. Sugestões de melhorias da prática.

6. Comentários adicionais.

Apresentação em sala

Cada grupo deverá apresentar a estrutura do código e mostrar os testes

realizados (simulações) que comprovem o correto funcionamento da solução proposta.

Isto deverá ser feito até o dia 20/05/2016 no horário da aula. Não é necessário a

apresentação na placa.

Pontuação

 Código:

 Testes (simulações):

 Relatório:

Pontos Extras

 Inclusão das instruções de Load/Store e dos demais componentes necessários

para o funcionamento –

 Apresentação na placa –

 Despacho duplo das instruções –

 Tomasulo completo com especulação –

Habilidades: Eletrônica, FPGA, Microcontrolador, Verilog / VHDL

Veja mais: bluetooth broadcast linux, skype message broadcast, broadcast live flash, broadcast freelancer, broadcast graphic design, script streaming broadcast script, adult video broadcast, email broadcast, asterisk broadcast conference

Acerca do Empregador:
( 0 comentários ) Brazil

ID do Projeto: #10403909

3 freelancers estão ofertando em média $611 para esse trabalho

ahmedmohamed85

Dear sir I have more than 9 years experience in digital design using verilog please check my profile also please message me so that we can discuss

$833 CAD in 10 dias
(235 Comentários)
7.4
$666 CAD in 10 dias
(9 Comentários)
3.7
Newforce

Hello there, We can work on this project at the most reasonable rate. For your convenience, we can even arrange a free demo call between you and our team before you award us the project over freelance. It will help you Mais

$388 CAD in 12 dias
(0 Comentários)
0.0
tiagofee

A proposal has not yet been provided

$333 CAD in 14 dias
(0 Comentários)
0.0