Академический Документы
Профессиональный Документы
Культура Документы
ESCOLADEENGENHARIADEPARTAMENTODEELETRNICA
(DELT)
DENERAUGUSTODELISBOABRANDO
GUILHERMEJUNIOSILVAPASSOS
IRVINGMARTINSCOURA
PROCESSADORMIPS:
Projeto,ConstruoeAnlise
ProjetodeumprocessadorMIPS
Disciplina:SistemasProcessadoresePerifricos/TurmaPA4E
ProfessorOrientador:JlioCzarDaviddeMelo
DatadeApresentao:22deDezembrode2015
BeloHorizonte
Dezembro2015
SumrioRpido:
Introduo
DescriodoProjeto
ULAUnidadeLgicoAritmtica
Descrio
FormasdeOnda
BancodeRegistradores
Descrio
FormasdeOnda
MEMIMemriadeInstrueseMEMDMemriadeDados
Descrio
FormasdeOnda
ViadeDados
Descrio
FormasdeOnda
Controladora
Descrio
FormasdeOnda
Processador
Descrio
FormasdeOnda
Resultados
ResuladosobtidosnoMARS
CdigoAssembly
ResultadodaSimulao
ResultadodaCompilaodoProjetonoQuartusII
NmeroderecursosutilizadosdaFPGA
FrequnciaMximadeOperaodoProcessador
FormasdeOndadoProgramadoProblema
Concluses
1.
Introduo
Atualmente, imaginaromundosemcomputadorespraticamenteimpossvel.Nesse
cenrio, a competio entre empresas de tecnologia a fim de melhorar e evoluir seus
computadores tem sido extremamente forte. Dentre os itens que podem ser melhorados,
estoosprocessadores.
O processador o componente no qual so usadas as tecnologias de fabricao
mais recentes, o que o torna frequentemente o mais complexo e mais caro tambm.
Fazendo uma analogia com o corpo humano, o processador seria semelhante ao crebro.
Sozinho ele no possui tanta utilidade, mas quando acoplado aos perifricos como
memria, placas de rede, vdeo, som, ele capaz de processar as informaes desses
perifricosecoordenarosistemacomoumtodoeemharmonia.
Neste trabalho, ser desenvolvido um processador conhecido como MIPS
(
Microprocessor without Interlocked Pipeline Stages
), que possui arquitetura de mesmo
nome. O processador MIPS est includo na categoria de modelo de computao RISC
(
Reduced Instruction Set Computing
), que so processadores que possuem um conjunto
simples e pequeno de instrues que levam aproximadamente a mesma quantidade de
tempo para serem executadas. Muitos processadores modernos utilizam tal modelo de
computao.
Para desenvolvimento do processador sero criados os blocos individuais que
compem o processador. Dentre esses blocos esto, na Via de Dados, a ULA (Unidade
LgicoAritmtica), o BancodeRegistradoreseaMEMI(MemriadeInstrues).Paraesse
trabalho, a MEMD (Memria de Dados) ser alocada ao projeto para leitura e salvamento
dedados.Aofinal,aControladoraseuniraViadeDadosparaacriaodoprocessador.
As ferramentas utilizadas sero o
software
Quartus II, utilizado na criao dos
programas em VHDL do processador, o ModelSim e Qsim, ferramentas de simulao,okit
DE2 com FPGA EP2C35F672C6N, todos da Altera Corporation e o
software
MARS, uma
IDEparaMIPSemlinguagemAssembly.
2.
DescriodoProjeto
2.1.
ULAUnidadeLgicoAritmtica
2.1.1.
Descrio
2.1.2.
FormasdeOnda
AbaixopodeseverasimulaodaULAgeradapelo
software
QSim:
Figura1:FormadeOndadaSimulaodaULA
2.2.
BancodeRegistradores
2.2.1.
Descrio
2.2.2.
FormasdeOnda
Figura2:FormadeOndadoBancodeRegistradores
2.3.
MEMIMemriadeInstrueseMEMDMemriade
Dados
2.3.1.
Descrio
2.3.2.
FormasdeOnda
Figura3:FormadeOndadaSimulaodaMemriadeDados
Figura4:FormadeOndadaSimulaodaMemriadeInstrues
2.4.
ViadeDados
2.4.1.
Descrio
2.4.2.
FormasdeOnda
2.5.
Controladora
2.5.1.
Descrio
2.5.2.
FormasdeOnda
2.6.
Processador
2.6.1.
Descrio
entradas, porexemplo.AsnicasentradasdoProcessadorsoo
clock
eo
reset
.Oprimeiro
pode ser gerado porumosciladordecristale osegundoumainterrupofeitaparaalgum
tipodemanutenoouparareinicializaodoprogramaoperandonoprocessador.
Para testar o processador,foiutilizadoo
softwareMARSMIPSSimulatorparagerar
o arquivo binrio das instrues que foi carregado na memria de instrues e o QSim.
Abaixo, a simulao utilizando o programa do problema da seo 3.1.1. Observase que o
resultado foi sempre FFFF pois nessa simulao o valor que deveria ser encontrado no
estavanovetor.
2.6.2.
FormasdeOnda
Figura5:FormadeOndadeTestedoProcessador
3.
Resultados
3.1.
ResuladosobtidosnoMARS
3.1.1.
CdigoAssembly
1. .data
2. elementos:
.word
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
busca
3. length:
.word
10
4. elemsearch:
.word
#comprimento do vetor
5.
6.
.text
7. main:
8.
nop
9.
addiu
$t9,
$0
,
10
#
carrega na memoria o comprimento do vetor
10.
addiu
$t8, $t9,
1
11.
12.
lw
$s0,
(
$t9
)
13.
la
$s1, elementos
14.
lw
$s2,
(
$t8
)
15.
addi
$s3, $zero,
0
#indice
16.
17.comparacao:
18.
nop
19.
lw
$t0,
0
(
$s1
)
20.
beq
loop
21.
nop
22.
addi
$s3, $s3,
1
-
se em
1o
indice
23.
slt
beq
loop
25.
nop
26.
addi
27.
28.
nop
$s1, $s1,
1
comparacao
29.
30.sucesso:
31.
nop
32.
addi
33.
34.
nop
$s7, $s3,
0
fim
35.
36.semsucesso:
37.
nop
38.
addi
$s7, $zero,
-
1
#armazena
-
1no resultado, indicando uma
falha
(
saida
=FFFF...
)
39.
40.
nop
fim
41.
42.fim:
43.
nop
44.
addi
45.
46.
nop
$s7, $s7,
0
fim
3.1.2.
ResultadodaSimulao
Abaixo,podeseveroresultadodasimulaonoMARS.
Figura6:ResultadodaSimulaonoMARSdoprograma
3.2.
ResultadodaCompilaodoProjetonoQuartusII
3.2.1.
NmeroderecursosutilizadosdaFPGA
Como podemos ver na figura abaixo, o nmero de pinos foi de 99 (21% do total),o
total de elementos lgicos foi de 2121 (6% do total disponvel) eotamanhodamemriafoi
de49152(totalizando10%dototaldisponvel).
10
Figura7:RecursosutilizadosdaFPGA
3.2.2.
FrequnciaMximadeOperaodoProcessador
Figura8:FrequnciaMximadeOperaodoProcessador
3.3.
FormasdeOndadoProgramadoProblema
Figura9:FormadeOndadaSimulaodoPrograma(procurandovalor3)
11
Figura10:FormadeOndadaSimulaodoPrograma(procurandovalor5)
4.
Concluses
12