Você está na página 1de 4

Bacharelado em Ciencia da Computacao DINF / UFPR

Projetos Digitais e Microprocessadores 1


o
Semestre de 2009
Prof. Luis Allan K unzle http://www.inf.ufpr.br/kunzle
MICO-v18-r0 27/04/2009
Microprocessador MICO Versao 18
Releases - Historico:
r1 27/04/2009 primeira versao da especica cao
Resumo
Este projeto tem como objetivo fazer com que os alunos da disciplina de
Projetos Digitais e Microprocessadores consolidem seus conhecimentos de sis-
temas digitais atraves da implementa cao de um processador capaz de simular
um subconjunto de instru coes MIPS reais, utilizando para isso o simulador
Tkgate.
1 Introducao
O projeto do MICO deste semestre distingue-se dos semestres anteriores por
propor que os alunos passem por todas as etapas do projeto de um micro-
processador, desde a identica cao do conjunto de instru coes necessario para
a solu cao de um determinado problema ate a gera cao de uma estrutura de
controle que permita a execu cao de um programa armazenado em mem oria.
Tres etapas, detalhadas a seguir, comp oem o projeto do microprocessador.
A implementa cao e simula cao deve ser realizada utilizando a ferramenta
TkGate (http://www.tkgate.org). As equipes devem construir o datapath
a partir dos m odulos e portas logicas disponveis no TkGate.
2 Primeira Fase: Projeto da ISA
Os componentes pre-denidos da ISA para o MICO-v18 s ao os seguintes:
1. barramento de dados de 32 bits
2. barramento de endere cos de 32 bits
3. endere cos de E/S mapeados em mem oria
4. 32 registradores de proposito geral de 32 bits
5. ao menos 16 instru coes (algumas instru coes podem ter o mesmo opcode,
mas modos diferentes)
6. sem restri coes quanto ao n umero de modos de endere camento
7. servi cos de interrup cao de hardware e software
8. suporte a pelo menos n umeros com sinal (em complemento de 2) e sem
sinal
1
Nesta fase, o projeto deve conter todas as informa coes que um progra-
mador necessita para escrever um programa no MICO-v18. A ISA proposta
deve levar em considera cao as restri coes acima descritas e conter os seguintes
elementos:
Conjunto de Instru c oes: descrever com clareza as micro-opera coes de cada
instru cao.
Modo de Endere camento: como os dados s ao acessados em cada ins-
tru cao.
Formato da Instru cao: como cada instru cao e traduzida em codigo de
m aquina.
Registradores: como os registradores acessveis pelo usuario s ao denidos
e usados.
Processor Status Word ou C odigos de Condi cao: deni cao destes e quais
instru coes podem afeta-los.
Power-on reset: como a CPU reagir a quando o sinal de reset for recebido.
A ISA proposta pela equipe deve minimamente conter os quatro grupos
de instru coes descritos abaixo:
Transferencia de Dados: permite que os dados sejam movidos entre re-
gistradores e mem oria.
Manipula cao de Dados: executa opera coes aritmeticas ou logicas nos da-
dos (incluindo as de deslocamento).
Transferencia de Controle: saltos ou desvios condicionais ou incondicio-
nais.
Instru c oes especiais: tais como NOP e set ou reset dos codigos de condi cao.
O princpio da arquitetura RISC e tal que somente as instru coes frequente-
mente usadas s ao implementadas pela CPU. A seguir ser ao apresentados tres
problemas que devem ser resolvidos usando o MICO-v18. Escreva programas
para resolver os tres problemas qualquer linguagem de programa cao. A se-
guir, procure identicar um conjunto de 16 instru coes MIPS que seja capaz
de resolver os tres problemas. Este conjunto compor a a ISA desta fase do
projeto.
Teste do Projeto da ISA
Os problemas a seguir dever ao ser usados para validar o MICO-v18. No
relat orio desta fase dever a constar os programas escritos usando as instru coes
da ISA proposta.
Problema 1: N umeros Primos (Manipulacao de Dados) Escreva
um programa que encontre todos os n umeros primos entre 1 e 100. Coloque-
os em uma lista na mem oria de dados. Para facilitar, busque um algoritmo
eciente para encontrar n umeros primos antes de iniciar a escrita do programa.
2
Problema 2: Sort (Movimento de Dados e Controle de Trans-
ferencia) Classique um conjunto de 10 strings em ordem decrescente.
Cada string consiste de 4 caracteres ASCII de 8 bits e esta empacotado em
uma palavra de 32 bits.
Problema 3: Fatorial (Funcoes de E/S) Calcule o fatorial de um
n umero fornecido via teclado, cuja sada ser a um display BCD.
3 Segunda Fase: Datapath
. . .
4 Terceira Fase: Controle
. . .
5 Procedimentos de Entrega
Desenvolvimento do trabalho: O trabalho deve ser realizado indivi-
dualmente ou pelas duplas.
Datas de entrega:
Primeira Fase (Projeto da ISA): 11 de Maio de 2.009
Segunda Fase (Datapath):
Primeira Fase (Controle):
Nao serao aceitos trabalhos fora do prazo.
As entregas ser ao feitas por submiss ao eletr onica, via e-mail.
Cabe aos alunos vericarem periodicamente, na home-page da disciplina,
as atualiza coes neste documento.
Cada trabalho entregue dever a corresponder a um arquivo com a seguinte
denomina cao: MICO-v18-fase i-fulano beltrano.tar.gz, em que fulano
e beltrano s ao os login name dos participantes no DINF. O conte udo do
arquivo, empacotado com tar e comprimido com gzip, deve conter um di-
ret orio com o mesmo nome do arquivo acima, sem a extensao .tar.gz. Ele deve
conter, obrigatoriamente:
o GRR, o nome completo e o e-mail de contato dos membros da equipe
e a data;
uma descri cao geral da ISA proposta;
uma descri cao detalhada com todas as instru coes e seus formatos de ins-
tru cao, as atribui coes de opcode, os modos de endere camento adotados,
etc. Esta e a parte mais importante do relat orio desta fase. Procure na
web os textos de referencia para CPUs ou micro-controladores comerciais
e veja como s ao documentados seus conjuntos de instru coes.
as hip oteses assumidas para a realiza cao do projeto (por exemplo, os
endere cos de mem oria para E/S);
3
a listagem dos programas, comentados.
Trabalhos incompletos nao serao avaliados.
A criterio do professor da disciplina, um ou mais alunos(as) po-
dem ser chamados a apresentar e defender qualquer etapa do pro-
jeto. A nota do aluno(a) avaliado(a) sera a nota da equipe.
4

Você também pode gostar