scieee Science in your language
[es] (orig)

Diseño e implementación de un simulador software basado en el procesador MIPS32

Abstract

La arquitectura de computadores es una asignatura de gran importancia actualmente en las titulaciones de Informática. Pero en muchas ocasiones, los estudiantes tienen problemas para comprender la materia debido a la falta de herramientas que muestren el funcionamiento de los componentes internos de la arquitectura de los computadores de manera fácil e intuitiva. En este trabajo se expone un simulador del procesador MIPS32 desarrollado en .NET que puede ser controlado a través de línea de comandos o desde una interfaz gráfica versátil e intuitiva para facilitar a los alumnos el estudio de la arquitectura de los procesadores segmentados. La interfaz gráfica ofrece un entorno de desarrollo integrado en el que editar y ensamblar los programas, así como mostrar el funcionamiento del procesador a través de sus registros, memoria, pipeline y el cronograma de ejecución. En este trabajo se expondrá un simulador como producto que responde a las necesidades de los alumnos en asignaturas relacionadas con el estudio de la arquitectura de los computadores. En primer lugar se expondrá una comparativa de simuladores MIPS, posteriormente se mostrarán las características del procesador que se simula, se describirá la implementación del ensamblador y del propio simulador y finalmente se mostrará su funcionamiento a través de la interfaz gráfica desarrollada denominada VisualMips32.

Read accessible full text

Diseño e implementación de un simulador software basado en el procesador MIPS32

Author: Rivas Pérez, Manuel; Domínguez Morales, Manuel Jesús; Gómez Rodríguez, Francisco de Asís; Linares Barranco, Alejandro; Jiménez Moreno, Gabriel; Civit Balcells, Antón
Publisher: Universidad de Granada
Year: 2015
Source: https://idus.us.es/bitstreams/29ce5a76-afd8-4a0b-b813-117996b1d3fe/download
Diseño e implemen ación de un simulado so wa e
basado en el p ocesado MIPS32
Manuel Ri as Pé ez1, Manuel Domínguez Mo ales1, F ancisco Gómez Rod íguez1,
Alejand o Lina es Ba anco1, Gab iel Jiménez Mo eno1, An ón Ci i Balcells1
1 Depa amen o de A qui ec u a y Tecnología de Compu ado es
Escuela Técnica Supe io de Ingenie ía In o má ica
Uni e sidad de Se illa
A enida Reina Me cedes s/n
Se illa, España
{m i as, mdominguez, gomez oz, alina es, gaji, ci i }@a c.us.es
Resumen. La a qui ec u a de compu ado es es una asigna u a de g an
impo ancia ac ualmen e en las i ulaciones de In o má ica. Pe o en muchas
ocasiones, los es udian es ienen p oblemas pa a comp ende la ma e ia debido
a la al a de he amien as que mues en el uncionamien o de los componen es
in e nos de la a qui ec u a de los compu ado es de mane a ácil e in ui i a. En
es e abajo se expone un simulado del p ocesado MIPS32 desa ollado en
.NET que puede se con olado a a és de línea de comandos o desde una
in e az g á ica e sá il e in ui i a pa a acili a a los alumnos el es udio de la
a qui ec u a de los p ocesado es segmen ados. La in e az g á ica o ece un
en o no de desa ollo in eg ado en el que edi a y ensambla los p og amas, así
como mos a el uncionamien o del p ocesado a a és de sus egis os,
memo ia, pipeline y el c onog ama de ejecución. En es e abajo se expond á
un simulado como p oduc o que esponde a las necesidades de los alumnos en
asigna u as elacionadas con el es udio de la a qui ec u a de los compu ado es.
En p ime luga se expond á una compa a i a de simulado es MIPS,
pos e io men e se mos a án las ca ac e ís icas del p ocesado que se simula, se
desc ibi á la implemen ación del ensamblado y del p opio simulado y
inalmen e se mos a á su uncionamien o a a és de la in e az g á ica
desa ollada denominada VisualMips32.
Palab as Cla e: MIPS32, simulado , segmen ación, .NET, a qui ec u a de
compu ado es.
Abs ac . Nowadays, compu e a chi ec u e is a e y impo an subjec in
Compu e Science deg ees. Bu o en, s uden s ha e p oblems unde s anding
he opic due o he lack o ools o show he beha io o he in e nal compu e
a chi ec u e componen s in an easy and in ui i e way. This pape p esen s a
MIPS32 p ocesso simula o de eloped in .NET ha can be con olled ia
command line o de s o using a e sa ile and in ui i e g aphical in e ace ha
makes he s udy o segmen ed p ocesso a chi ec u e easie . The GUI (g aphical
use in e ace) o e s an in eg a ed de elopmen en i onmen , whe e assembly
p og ams can be assembled and un, in addi ion o being able o wa ch a s ep-
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
79
by-s ep execu ion h ough i s egis e s, memo y, pipeline and execu ion
ch onog am. This pape p esen s a simula o as a so wa e ool de eloped o
mee he s uden s’ needs in subjec s ela ed o he compu e a chi ec u e. Fi s , a
compa a i e o se e al MIPS simula o s is shown. A e ha , he
implemen a ion o he assemble and he simula o i sel will be desc ibed; and,
inally, i s ope a ion is displayed h ough he de eloped g aphical in e ace,
called VisualMips32.
Keywo ds: MIPS32, simula o , segmen a ion, .NET, compu e a chi ec u e.
1 In oducción
La elec ónica digi al ha e olucionado ápidamen e en muy poco iempo llegando a
in eg a más de mil millonesde ansis o es en un mismo chip. La a qui ec u a
ambién ha e olucionado con nue as es uc u as como la segmen ación, el uso de
cachés, p ocesamien o mul i-hilo o el mul ip ocesamien o ayudados po es e aumen o
de la in eg ación de los ansis o es. El es udio de la a qui ec u a de los compu ado es
es de g an impo ancia en las i ulaciones uni e si a ias elacionadas con la
in o má ica. Es as a qui ec u as, u o de su e olución, pueden esul a complejas lo
que p o oca que muchos es udian es encuen en di icul ades pa a comp ende algunos
aspec os de la asigna u a de a qui ec u a de compu ado es, como la segmen ación de
cauce (pipelining) o el cálculo del endimien o del p ocesado . La segmen ación es
una écnica muy impo an e en a qui ec u a de compu ado es en la que a ias
ins ucciones pueden ejecu a se simul áneamen e man eniendo cada una de ellas en
una e apa di e en e de la u a de da os (da apa h). El uso de p ocesado es ejemplo
ayuda al alumno a comp ende los concep os cla e de la a qui ec u a y las mejo as de
los p ocesado es. Es e es el caso del p ocesado MIPS desc i o en los lib os de
Henessy y Pa e son [1] [2] ampliamen e conocidos po la comunidad uni e si a ia,
que han con e ido a es e p ocesado de ejemplo en uno de los más u ilizados pa a
enseña la asigna u a de a qui ec u a de compu ado es en las uni e sidades [3].
Pe o aun así, es os con enidos son di íciles de asimila si se exponen únicamen e
haciendo uso de la piza a o con lápiz y papel. Es po ello que muchos los p o eso es
emplean simulado es g á icos como he amien a pa a mos a los concep os de o ma
in ui i a e in e ac i a simpli icando la o ma en la que los p o eso es enseñan y los
alumnos ap enden la a qui ec u a de compu ado es. Hay nume osos a ículos que
a an sob e el ap endizaje de la a qui ec u a de compu ado es [4–7] y la mayo ía
de ienden la impo ancia de los simulado es pa a el ap endizaje. De hecho es os
simulado es se han con e ido en una he amien a indispensable pa a que los alumnos
puedan en ende las complejas a qui ec u as di íciles de asimila sin la in e az g á ica
que los simulado es ac uales pueden o ece [8].
Hay una g an a iedad de simulado es ac ualmen e, desde los más simples has a
complejos simulado es u ilizados en in es igación y que son analizados en [9].
Algunos di igidos a simula los componen es ha dwa e y o os la a qui ec u a del
juego de ins ucciones cada uno de ellos con dis in o ni el de de alle desde
simplemen e modela el compo amien o ex e no a mos a las in e acciones de los
componen es in e nos. A pesa de habe g an a iedad de ellos, algunos no son
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
80
adecuados pa a el ap endizaje ya que son di íciles de usa y comp ende , o bien son
demasiado especí icos [6].
En es e abajo se p esen a un so wa e que simula y isualiza el p ocesamien o de
ins ucciones del p ocesado segmen ado MIPS pa a mejo a la calidad de la
enseñanza y da a los es udian es un en o no en el que expe imen a . Es e abajo se
o ganiza de la siguien e o ma: En la sección 2 se exponen los eque imien os
necesa ios pa a desa olla el simulado académico adecuado. La sección 3 desc ibe
muchos de los simulado es que exis en y se especi ican los aspec os más ele an es de
cada uno de ellos. La sección 4 mues a las ca ac e ís icas del p ocesado MIPS que
se ha simulado. Pos e io men e se desc ibe la implemen ación del ensamblado y del
simulado en la sección 5, el uncionamien o del en o no isual VisualMIPS32 en la
sección 6 y, e minando el p esen e abajo, con las mejo as u u as y las
conclusiones.
2 Obje i os
Pa a consegui el obje i o p incipal de ob ene una he amien a que acili e la
enseñanza y el ap endizaje de la a qui ec u a de compu ado es, el desa ollo de es e
so wa e se basa en los siguien es eque imien os:
 Pe mi i econ igu a y pa ame iza el p ocesado .
 Realiza ejecución paso a paso y con ol de pun os de in e upción
(B eakpoin s).
 Simula la e sión monociclo, mul iciclo y segmen ada del p ocesado .
 O ece una in e az g á ica in ui i a, cla a y ácil de usa .
 In eg a un edi o de ensamblado en el en o no de desa ollo.
 Inclui un amplio núme o de ins ucciones del epe o io an o de en e os
como de coma lo an e además de pseudo-ins ucciones.
 Mos a in o mación cla a y de allada sob e la codi icación de cada
ins ucción, la segmen aciónde las ins ucciones, los ipos de bloqueos que se
p oducen, la ac i ación de des íos (bypasses) y las es adís icas sob e el
endimien o ob enido.
3 O os simulado es
Como se indicó an e io men e, exis en ac ualmen e muchas he amien as pa a
simula el uncionamien o de un p ocesado y de muy di e sos ipos, algunas de ellas
poco adecuadas pa a la enseñanza debido a su di icul ad o po se muy especí icas [7].
A con inuación se desc iben los simulado es o ien ados a la enseñanza más conocidos
especi icando algunos pun os a a o o en con a de ellas:
 Q Spim [10, 11]. Es un simulado de MIPS32 p og amado en C++ y Q que
ue muy u ilizado an o en educación como en la indus ia [12]. Es e
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
81
simulado implemen a un amplio epe o io de ins ucciones incluyendo
algunas en coma lo an e [13]. Es una buena he amien a de depu ación y es
in ui i a pe o sólo simula la e sión del p ocesado monociclo.
 MARS [12, 14]. Es á esc i o en ja a y se u iliza de muchas uni e sidades de
odo el mundo. Simula la ejecución del p og ama ensamblado paso a paso y
mues a el esul ado de los egis os y de la memo ia. Su en o no de
desa ollo in eg a un edi o capaz de mos a la sin axis en una en ana
eme gen e du an e la p og amación. Es una buena he amien a de simulación
y depu ación aunque, al igual que Q Spim, sólo es capaz de simula la
e sión monociclo del MIPS. Una de las ca ac e ís icas más des acable de
es e simulado es que admi e la inclusión de plug-ins lo que pe mi e amplia
su uncionalidad. Buen ejemplo de ello es el MIPS X-Ray [15], un plug-in
que ep esen a g á icamen e la u a de da os del p ocesado .
 P ocesso Sim [16]. Es una he amien a desa ollada en ja a que simula el
MIPS R2000 monociclo. Es e simulado incluye a ias u as de da os
di e en es, e incluso el usua io puede c ea más, que se mues an
g á icamen e en o ma de animación. Respec o a la animación, un p oblema
del que adolece es que sólo un componen e puede en ia un mensaje en cada
ins an e de iempo cuando en ealidad odos los componen es debe ían
abaja concu en emen e [17]. O as de sus debilidades son que no mues a
u a de da os de la e sión segmen ada, que su edi o es muy simple y que el
juego de ins ucciones que implemen a es muy educido.
 MIPS-Da apa h [18]. Es un simulado desa ollado en C++ que mues a la
u a de da os g á icamen e an o de la e sión monociclo como de la
segmen ada, con y sin adelan amien os. Pe mi e la ejecución paso a paso,
pe o posee un juego de ins ucciones muy educido y no sopo a el bloqueo
del cauce.
 WebMIPS [19]. Es e simulado ue p og amado en ASP y simula el MIPS
segmen ado con de ección de iesgos. Es un simulado educa i o in e esan e
ya que se ejecu a desde un explo ado web po lo que no p ecisa ins alación.
Es capaz de ejecu a se paso a paso mos ando la u a de da os g á icamen e.
Es un buen simulado educa i o pe o no implemen a la e sión monociclo,
su edi o es muy simple y la ep esen ación de la u a de da os es es á ica.
 EduMIPS64 [20, 21]. Es a he amien a es una e-implemen ación del
simulado WinMips64 [22][23]. Simula el p ocesado MIPS64 segmen ado,
posee una in e az muy in ui i a, posee un amplio epe o io de ins ucciones
que incluye ope aciones en pun o lo an e, llamadas al sis ema e implemen a
la de ección de bloqueos. Po el con a io, no posee un edi o in eg ado, no
sopo a simulación monociclo ni mues a la u a de da os.
 MiniMIPS [24]. Es un simulado implemen ado en C pa a Unix. Mues a la
u a de da os du an e la simulación pe o no es a ni el RT ni es animada y el
único da o de endimien o que o ece es el núme o de ciclos.
 D Mips [25]. Es un simulado de MIPS32 implemen ado en ja a que
isualiza paso a paso la u a de da os incluyendo la la encia de los
componen es cuando usa el modo pe o mance. Mues a a ias u as de da os
basadas en lib os de Henessy y Pa e son [1, 2] incluyendo la u a de da os
monociclo y segmen ada. Posee un edi o que mues a la sin axis en un menú
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
82
eme gen e. Su ca ac e ís ica más des acable es que posee una e sión pa a la
pla a o ma And oid.
En [19] se mues a una abla que compa a a ios simulado es MIPS eniendo en
cuen a si implemen an el MIPS de Hennessy y Pa e son [1, 2] a ni el RT, si mues an
da os es adís icos del endimien o, si ealizan animaciones en iempo de simulación
que mues en cómo se ans ie en las señales o si emplean una pla a o ma
independien e que los haga más po ables. En [25] ambién se expone una abla
compa a i a muy comple a de muchos de los simulado es an e io men e ci ados
eniendo en cuen a muchos aspec os como, si in eg a un edi o , si implemen a
ins ucciones en coma lo an e, si la u a de da os es con igu able, si es segmen ado, o
si pe mi e la edición de da os du an e la simulación.
4 Ca ac e ís icas del p ocesado simulado: MIPS32
MIPS (ac ónimo de Mic op ocesso wi hou In e locked Pipeline S ages) es un
p ocesado con un juego educido de ins ucciones (RISC) desa ollado po MIPS
Compu e Sys ems, que pasó a llama se MIPS echnologies y que ha sido endida a
Imagina ion echnologies.
Los p ocesado es MIPS o man pa e de una g an amilia de p ocesado es RISC
desde su p ime p ocesado R2000 en el 1986 cuyo juego de ins ucciones ha
e olucionado desde la e sión o iginal denominada MIPS I has a las ac uales MIPS32
y MIPS64.
G acias a la sencillez de su a qui ec u a y al hecho de que ac ualmen e sea bas an e
u ilizado en sis emas embebidos, lo ha con e ido en un p ocesado muy adecuado
pa a el es udio de la a qui ec u a de compu ado es en las uni e sidades.
El simulado p esen ado en es e abajo es á basado en el p ocesado MIPS32 cuya
a qui ec u a ISA puede consul a se en [26, 27, 28]. Las ca ac e ís icas p incipales de
es e p ocesado son:
 P ocesado RISC segmen ado de 32 bi s y di ecciones de 32 bi s
 Ins ucciones de amaño ijo pa a una ápida decodi icación de las
ins ucciones.
 Almacenamien o en memo ia en big-endian o li le-endian.
 32 egis os de p opósi o gene al de 32 bi s pa a en e os.
 Unidades uncionales independien es pa a el p oduc o y la di isión. Es as
unidades uncionales con ienen además los egis os HI y LO u ilizados pa a
almacena el esul ado de ope aciones ( éase Figu a 1).
 Cop ocesado de coma lo an e. Es e cop ocesado es iden i icado como
cop ocesado 1 y posee un banco de 32 egis os de 32 bi s (Figu a 1) que
pueden emplea se pa a almacena núme os en coma lo an e de simple
p ecisión (32 bi s) o bien pueden ag upa se po pa es pa a almacena
núme os en coma lo an e de doble p ecisión (64 bi s).
 Unidad de de ección y con ol de iesgos.
 Implemen a adelan amien os ( o wa ding) pa a educi los bloqueos de
da os.
 Sal os e a daos pa a educi los bloqueos de con ol.
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
83

$0
...
$31
Regis os de en e os
Unidad
a i mé ica
Unidad
Mul iplicación
Di isión
HI LO
CPU
$ 0
...
$ 31
Regis os FP
Cop ocessado 1 (FPU)
Unidad
A i mé ica
De FP
Figu a 1. Unidades de p ocesamien o del MIPS32
Todas es as ca ac e ís icas han sido implemen adas en el p ocesado siendo
con igu ables la u ilización de adelan amien os, los sal os e a dados, el núme o de
ciclos que du an las e apas y cuáles de ellas son segmen adas ( e Figu as 11-12).
4.1 Modos de di eccionamien o
Las a qui ec u as RISC admi en un conjun o muy educido de modos de
di eccionamien o y odos ellos han sido implemen ados en el simulado . Los modos
de di eccionamien o son:
 Regis o. El ope ando es á en un egis o del banco de egis os de en e os o
de coma lo an e según el ipo de ins ucción. Pa a especi ica los egis os
de en e os en ensamblado pueden u iliza se indis in amen e dos
nomencla u as. La nomencla u a empleada pa a cada egis o apa ece en la
Tabla 1 y ambién se mues a el uso al que a des inado cada egis o. Una
nomencla u a consis e en emplea el símbolo ‘$’ seguido del núme o del
egis o (po ejemplo add $1, $2, $3) y o a u iliza el símbolo ‘$’ seguido de
una palab a que de ine su u ilización, po ejemplo add $a , $ 0, $ 1.
Tabla 1. Nomencla u a y uso de los egis os de en e os del p ocesado .
Nomb e
Regis o
Uso
$ze o
0
Cons an e 0
$a
1
Rese ado pa a el ensamblado
$ 0-$ 1
2-3
Valo es de e o no
$a0-$a3
4-7
A gumen os
$ 0-$ 7
8-15
Tempo ales
$s0-$s7
16-23
Valo es Gua dados
$ 8-$ 9
24-25
Tempo ales
$k0-$k1
16-27
Rese ados pa a el ke nel
$gp
28
Pun e o Global
$sp
29
Pun e o de Pila
$ p
30
Pun e o de Ma co
$ a
31
Di ección de e o no
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
84
 Inmedia o. El ope ando es una cons an e de 16 bi s almacenada en la p opia
ins ucción, po ejemplo addi $1,$2, 2000.
 Regis o base más desplazamien o. Di eccionamien o a memo ia en el que la
di ección e ec i a iene de e minada po el con enido de un egis o
denominado egis o base más una cons an e que ac úa de desplazamien o.
Es e modo de di eccionamien o sólo se usa en ins ucciones de acceso a
memo ia (ca gas y almacenamien os). Su sin axis es inm( eg), siendo eg el
egis o base e inm el desplazamien o, po ejemplo lw $1, 24($2).
 Rela i o al Con ado de P og ama. Se emplea exclusi amen e en los sal os
condicionales y la di ección des ino de sal o se ob iene sumando una
cons an e de 16 bi s en complemen o a 2 al egis o con ado de p og ama.
Es e modo de di eccionamien o queda ocul o en el ensamblado g acias al
uso de e ique as. Un ejemplo de es e modo se ía beqz $1, $2, e iqsigue.
 Pseudodi ec o: U iliza una cons an e pa a especi ica los 26 bi s menos
signi ica i os de la di ección. Los 6 bi s más signi ica i os que al an, de los
32 bi s que o man la di ección, se oman del egis o PC. Es po ello po lo
que su nomb e con iene el p e ijo pseudo. Es e modo se emplea
exclusi amen e pa a indica la di ección de sal o en las ins ucciones de sal o
incondicional sin egis o (ins ucciones j y jal). Al igual que en el modo de
di eccionamien o an e io , el edi o ocul a es e de alle median e e ique as
(po ejemplo j sigue).
4.2 Repe o io de ins ucciones
De odo el epe o io de ins ucciones de la a qui ec u a MIPS32, o mado po algo
más de 200 ins ucciones incluyendo las que ope an en coma lo an e, es e simulado
implemen a 80 de ellas que son las que comúnmen e se encuen an en la mayo ía de
los p og amas en ensamblado .
Las ablas 2a-2d mues an el epe o io de las ins ucciones implemen adas en el
simulado clasi icadas según el ipo de ope ación que ealizan.
Tabla 2a. Ins ucciones de ca ga y almacenamien o.
Ins ucción
Desc ipción
lb eg,inm16( eg)
Ca ga by e con signo en eg. en e o desde mem (ex iende signo).
lbu eg,inm16( eg)
Ca ga by e sin signo en eg. en e o desde mem (ex iende ce os).
lh eg,inm16( eg)
Ca ga 16 bi s con signo en eg. en e o desde mem. (ex iende signo)
lhu eg,inm16( eg)
Ca ga 16 bi s sin signo en eg. en e o desde mem. (ex iende ce os)
lw eg,inm16( eg)
Ca ga 32 bi s en eg. en e o desde mem.
sb eg,inm16( eg)
Gua da by e en mem. desde eg. en e o
sh eg,inm16( eg)
Gua da 16 bi s en mem. desde eg. en e o
sw eg,inm16( eg)
Gua da 32 bi s en mem. desde eg. en e o
lwc1 eg,inm16( eg)
Ca ga 32 bi s en eg. FP simple p ec. desde mem.
ldc1 eg,inm16( eg)
Ca ga 64 bi s en eg. FP doble p ec. desde mem.
swc1 eg,inm16( eg)
Gua da 32 bi s en mem. desde eg. FP
sdc1 eg,inm16( eg)
Gua da 64 bi s en mem. desde eg FP doble p ec.
m c1 eg, eg
Ca ga 32 bi s en eg. en e o desde eg. FP
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
85
m c1 eg, eg
Ca ga 32 bi s en eg. FP desde eg. en e o
m lo eg
Ca ga 32 bi s en eg. en e o desde eg. LO
m hi eg
Ca ga 32 bi s en eg. en e o desde eg. HI
lui eg,inm16
Ca ga inm de 16 bi s en pa e al a de eg. en e o
li eg,imm32
Ca ga inm de 32 bi s en eg. en e o (pseudo-ins ucción).
la eg,e iq
Ca ga en eg. en e o la di ección de una e ique a
Tabla 2b. Ins ucciones de ope aciones a i mé icas y lógicas con en e os.
Ins ucción
Desc ipción
add eg, eg, eg
Suma en e egis os de en e os
addu eg, eg, eg
Suma en e egis os de en e os sin desbo damien o
addi eg, eg,inm16
Suma de en e os con inmedia o
addiu eg, eg,inm16
Suma de en e os con inmedia o sin desbo damien o
sub eg, eg, eg
Res a en e egis os de en e os
subu eg, eg, eg
Res a en e egis os de en e os sin desbo damien o
mul eg, eg, eg
Mul iplicación de en e os con signo.
mul eg, eg
Mul iplicación de en e os con signo de 32 bi s.
mul u eg, eg
Mul iplicación de en e os sin signo de 32 bi s.
di eg, eg
Di isión de en e os con signo.
di u eg, eg, eg
Di isión de en e os sin signo.
and eg, eg, eg
Ope ación AND en e egis os
andi eg, eg,inm16
Ope ación AND en e egis o e inmedia o
no eg, eg, eg
Ope ación NOR en e egis os.
o eg, eg, eg
Ope ación OR en e egis os.
o i eg, eg,inm16
Ope ación OR en e egis o e inmedia o
xo eg, eg, eg
Ope ación OR exclusi a en e egis os.
xo i eg, eg,inm16
Ope ación OR exclusi a en e egis o e inmedia o
sll eg, eg,inm16
Desplazamien o lógico a la izquie da
s l eg, eg,inm16
Desplazamien o lógico a la de echa
s a eg, eg,inm16
Desplazamien o a i mé ico a la de echa
sll eg, eg, eg
Desplazamien o lógico a la izquie da a iable
s l eg, eg, eg
Desplazamien o lógico a la de echa a iable
s a eg, eg, eg
Desplazamien o a i mé ico a la de echa a iable
ol eg, eg, eg
Ro ación a la izquie da a iable
o eg, eg, eg
Ro ación a la de echa a iable
sl eg, eg, eg
Compa ación “meno que” en e eg. con signo
sl u eg, eg, eg
Compa ación “meno que” en e eg. sin signo
sl i eg, eg,inm16
Compa ación “meno que” con inm y con signo
sl iu eg, eg,inm16
Compa ación “meno que” con inm sin signo
nop
No ope ación.
Tabla 2c. Ins ucciones de ope aciones a i mé icas y lógicas en coma lo an e.
Ins ucción
Desc ipción
add.d eg, eg, eg
Suma en FP de simple p ecisión
sub.d eg, eg, eg
Res a en FP de simple p ecisión
mul.d eg, eg, eg
Mul iplicación en FP de simple p ecisión
di .d eg, eg, eg
Di isión en FP de simple p ecisión
abs.d eg, eg
Valo absolu o en FP de simple p ecisión
add.d eg, eg, eg
Suma en FP de doble p ecisión
sub.d eg, eg, eg
Res a en FP de doble p ecisión
mul.d eg, eg, eg
Mul iplicación en FP de doble p ecisión
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
86
di .d eg, eg, eg
Di isión en FP de doble p ecisión
abs.d eg, eg
Valo absolu o en FP de doble p ecisión
Tabla 2d. Ins ucciones de con ol.
Ins ucción
Desc ipción
beq eg, eg,e iq
Sal o el. a PC si ambos egis os son iguales
bne eg, eg,e iq
Sal o el. a PC si ambos egis os son dis in os
beqz eg,e iq
Sal o el. a PC si el egis o es igual a “0”
bnez eg,e iq
Sal o el. a PC si el egis o es dis in o de “0”
bl z eg,e iq
Sal o el. a PC si el egis o es meno que“0”
blez eg,e iq
Sal o el. a PC si el egis o es meno o igual a “0”
bg z eg,e iq
Sal o el. a PC si el egis o es mayo que “0”
bgez eg,e iq
Sal o el. a PC si el egis o es mayo o igual a “0”
bg eg, eg,e iq
Sal o el. a PC si es mayo con signo
bge eg, eg,e iq
Sal o el. a PC si es mayo o igual con signo
bl eg, eg,e iq
Sal o el. a PC si es meno con signo
ble eg, eg,e iq
Sal o el. a PC si es meno o igual con signo
bg u eg, eg,e iq
Sal o el. a PC si es mayo sin signo
bgeu eg, eg,e iq
Sal o el. a PC si es mayo o igual sin signo
bl u eg, eg,e iq
Sal o el. a PC si es meno sin signo
bleu eg, eg,e iq
Sal o el. a PC si es meno o igual sin signo
j e iq
Sal o incondicional a di ección de 26 bi s (e iq)
jal e iq
Sal o incondicional a di . de 26 bi s con e o no.
j eg
Sal o incondicional a di . dada po egis o
jal eg
Sal o incondicional a di . po egis o con e o no.
5 Implemen ación
Es a he amien a se ha implemen ado en C# .NET y cons a undamen almen e de
los siguien es elemen os:
 Ensamblado Se ha desa ollado una lib e ía dinámica (.dll) enca gada de
analiza el código ensamblado de las 80 ins ucciones enume adas en las
Tablas 2a-2d y gene a el código máquina incluyendo la in o mación del
analizado .
 Simulado MIPS32. Se ha implemen ado el simulado del MIPS32 en o a
lib e ía dll independien e incluyendo la memo ia p incipal. Básicamen e se
enca ga de simula paso a paso el p ocesamien o de las ins ucciones e
in o ma de las e apas del pipeline. Es a lib e ía u iliza di ec amen e el
componen e an e io po lo que aba ca odo el p oceso desde el ensamblado
del p og ama has a la simulación.
 ConsolaMips32. Es una in e az que mues a po pan alla el c onog ama de
ejecución en modo ex o.
 VisualMips32. In e az g á ica del simulado que in eg a el edi o y que
mues a el es ado del p ocesado desde dis in os pun os de is a como es el
pipeline, c onog ama, egis os, memo ia, e c. du an e la simulación de
o ma g á ica.
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
87
El en o no se compone undamen almen e de sie e en anas que el usua io puede
acopla a la en ana p incipal en o ma de pes añas o subdi idiendo el á ea de o as ya
acopladas. Al inicia la aplicación las en anas se encuen an dis ibuidas en la
en ana p incipal como mues a la Figu a 5.
La en ana p incipal del en o no, que si e de con enedo pa a el es o de en anas,
posee los siguien es bo ones:
 Bo ón de Menú. pa a accede a odas las unciones del en o no.
 Bo ón de Con igu ación. Mues a la en ana de con igu ación del p ocesado
y simulado .
 Bo ones de na egación. Pa a einicia y a anza en la simulación ciclo a
ciclo, ins ucción a ins ucción o has a el inal.
6.1 Ven ana Edi o
Es a en a se u iliza p incipalmen e pa a ca ga , edi a y ensambla el código
ensamblado a simula . Los p og amas se gua dan con la ex ensión asm.
Como se ap ecia en la Figu a 6, además de los bo ones p opios de cualquie edi o
de ex o, incluye el bo ón Ensambla enca gado de de ec a los e o es del código y
mos a los po la en ana de mensajes. Si la opción Au oEnsambla de la en ana de
con igu ación es á ac i a los e o es se mos a án au omá icamen e du an e la edición
del p og ama.
Figu a 6. Ven ana Edi o
El en o no iene sopo e pa a ges iona pun os de in e upción (b eakpoin s)
du an e la simulación. Desde la en ana Edi o se pueden inse a es os pun os de
in e upción bien a a és del bo ón B eakpoin mos ado en la Figu a 6 o haciendo
doble clic con el a ón en el ma gen izquie do del á ea de edición. Al comenza la
simulación, los pun os de in e upción que se hayan de inido en el edi o se
ans ie en a la en ana Ins ucciones.
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
94

6.2 Ven ana Mensajes
Es a en ana se enca ga de de alla los e o es de ensamblado que p esen a el
código du an e la ase de edición o bien las excepciones lanzadas po el p ocesado al
ejecu a las ins ucciones du an e la simulación.
6.3 Ven ana Memo ia
Como se ap ecia en la Figu a 7, es a en ana ep esen a el con enido de la memo ia
en hexadecimal y pe mi e ag upa las posiciones de memo ia o mando by es, medias
palab as, palab as o dobles palab as. Tan o el con enido del segmen o de código como
el del segmen o de da os puede se ambién modi icado di ec amen e po el usua io.
Cuando se ealiza una esc i u a en memo ia, bien sea po el usua io o po el
p ocesado , la en ana mues a en ojo el úl imo da o que ha sido modi icado. A
con inuación se desc iben los elemen os de la en ana memo ia:
 Selec o Di ección de inicio: pe mi e al usua io accede ápidamen e a una
zona de e minada de la memo ia. En ella puede indica se, una di ección de
memo ia en hexadecimal (po ejemplo 0x00400000), o el nomb e de un
segmen o (como puede se . ex pa a i al comienzo del segmen o de código)
o bien el nomb e de una a iable de inida en el p og ama.
 Selec o By es po da o: especi ica en cuán os by es se ag upan los da os
con enidos en la memo ia. Pueden ag upa se po by es, medias palab as (16
bi s), palab as (32 bi s) o dobles palab as (64 bi s).
Figu a 7. Ven ana Memo ia
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
95
 Selec o Da os po línea: es ablece cuan os da os se mues an en cada línea
del á ea del con enido de la memo ia, siendo el amaño de cada da o
especi icado po el selec o an e io men e desc i o.

 Bo ón edi o de ins ucciones: al pulsa es e bo ón cuando el cu so se
encuen a en el segmen o de código, el en o no oma los da os de la memo ia
sob e los que se encuen a el cu so y los in e p e a como el código de una
ins ucción. A con inuación se ab e la en ana Edi o de Ins ucciones
(Figu a 8) que pe mi e modi ica el con enido de la memo ia en unción de la
ins ucción que el usua io de ina.
6.4 Ven ana Edi o de ins ucciones
La unción p incipal del edi o de ins ucciones es codi ica ins ucciones de o ma
sencilla con el in de modi ica el p og ama ca gado en memo ia du an e su
ejecución. Po o o lado, p opo ciona una he amien a didác ica de in e és pa a
es udia los o ma os de ins ucción del p ocesado MIPS.
Una ez abie o el edi o , el usua io puede modi ica di ec amen e los bi s del
código de la ins ucción, especi ica el mnemónico de una nue a ins ucción o incluso
modi ica cada uno de los campos que con iene el o ma o de la ins ucción. En
unción del código de ope ación que se especi ique los campos que o man el o ma o
de ins ucción cambia án au omá icamen e. Cada una de las al e na i as an e io es
puede especi ica se en base decimal, bina ia o hexadecimal.
Figu a 8. Ven ana Edi o de Ins ucciones
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
96
6.5 Ven anas de edición de egis os
Consis en en dos en anas que isualizan y pe mi en modi ica el con enido de los
egis os del banco de egis os de en e os y de coma lo an e du an e la simulación.
Figu a 9. (Izquie da) Ven ana del banco de egis os de en e os; (De echa) Ven ana
del banco de egis os de coma lo an e.
En es as en anas se encuen an los siguien es elemen os:
 Selec o de la base de isualización: especi ica la base en la que se mos a án
los egis os: bina io, hexadecimal, en e o o na u al (en e o sin signo).
Independien emen e de cuál sea la base de isualización seleccionada, el
usua io pod á modi ica el con enido de los egis os en cualquie base
simplemen e especi icando el p e ijo 0x pa a e e i se a la base hexadecimal,
el p e ijo b pa a desc ibi que se a a de base bina ia o ninguno de los
an e io es pa a a a el alo in oducido como base decimal.
 Bo ón P ecisión de los egis os en FP: Cada egis o de FP de los 32 que
posee el banco puede u iliza se pa a almacena un núme o en coma lo an e
de simple p ecisión, o bien pueden ag upa se dos a dos pa a o ma egis os
de 64 bi s con el in de almacena núme os en coma lo an e de doble
p ecisión. El bo ón P ecisión conmu a á en e la isualización del banco
como 32 egis os de simple p ecisión o 16 egis os de doble p ecisión.
 Bo ón Nomencla u a de egis os: en MIPS32 pueden u iliza se dos
nomencla u as dis in as pa a e e i se a los egis os, una consis en e en
especi ica el símbolo $ seguido del núme o que ocupa en el banco de
egis os (po ejemplo $1), o bien emplea el símbolo $ jun o al nomb e que
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
97
deno a la unción del egis o en el p ocesado (po ejemplo $ 2). La Tabla 1
ecoge ambas nomencla u as, su equi alencia y uso.
6.6 Ven ana Ins ucciones
Lis a las ins ucciones que se encuen an almacenadas en el segmen o de código y
las decodi ica.
Pa a cada ins ucción de la lis a se especi ican los siguien es campos:
 Di ección de memo ia donde comienza la ins ucción.
 Codi icación de la ins ucción exp esada en hexadecimal.
 Nemónico de la ins ucción.
 Tex o de la ins ucción según apa ece en el edi o del código de usua io.
 E apa en la que se encuen a cada ins ucción du an e la simulación.
Figu a 10. Ven ana Ins ucciones
Es a en ana pe mi e además edi a las ins ucciones y es ablece pun os de
in e upción du an e la ejecución.
6.7 Ven ana Pipeline
La a qui ec u a MIPS32 dispone de a ias unidades uncionales de cálculo, unas
in eg adas en el p ocesado y o as alojadas en un cop ocesado independien e (Figu a
1), cada una de ellas dedicada a ealiza cie os ipos de ope aciones. A con inuación
se desc iben las unidades uncionales que posee el MIPS32 y que han sido
implemen adas en el simulado :
 Unidad de en e os p incipal (EXi): enca gada de las ca gas,
almacenamien os, sal os y las ope aciones ALU en e as excep o las de
mul iplicación y di isión. Po ejemplo la ins ucción add $1, $2,$3 se
ealiza ía en Exi.
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
98
 Unidad pa a mul iplicación de en e os (EXm).
 Unidad pa a la di isión de en e os (EXd).
 Unidad de FP p incipal (EX p): ealiza odas las ope aciones de coma
lo an e a excepción de la mul iplicación y la di isión. Ejemplo add.s $ 2,
$ 4, $ 5.
 Unidad pa a la mul iplicación en coma lo an e (EX pm).
 Unidad pa a la di isión en coma lo an e (EX pd).
Teniendo en cuen a es as unidades uncionales, el simulado ep esen a un pipeline
según se mues a en la Figu a 11.
IF ID
EXd
EX p
EX pm
mul.s $ 8,$10,$12
EX pd
EXm
di $12,$13
EXi
add $1,$2,$3
MEM WB
mul $10,$11
add.s $ 2,$ 4,$ 6
di .s $ 8,$10,$12
Figu a 11. Pipeline con las unidades uncionales independien es
Sal o la unidad uncional EXi, es as unidades ealizan ope aciones complejas po
lo que suelen p ecisa de a ios ciclos de eloj pa a ealiza el cálculo, así que la e apa
EX de ales ins ucciones du a más de un ciclo. Además, algunas de es as unidades de
cálculo mul iciclo pueden es a a su ez segmen adas, es o es, que el cálculo de la
ope ación puede es a di idido en a ias sube apas. La en aja de las unidades
segmen adas es que pe mi en comenza una nue a ope ación en cada ciclo de eloj
aunque o as an e io es no hayan e minado.
EXd
di $13,$14 [3]
EXm
EXm0
mul $8,$9
EXm1 EXm2 EXm3
mul $3,$4
EXm4
mul $1,$2
Figu a 12. (A iba) Ejemplo de unidad segmen ada mul iciclo; (Abajo) Ejemplo de
unidad no segmen ada mul iciclo
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
99

La Figu a 12 mues a una posible o ma de ep esen a las unidades segmen adas y
no segmen adas mul iciclo. El ejemplo de la Figu a 12a co esponde a una unidad de
la mul iplicación segmen ada con 5 e apas y que con iene 3 ins ucciones en ejecución
cada una en sube apas dis in as. La Figu a 12b mues a una unidad uncional de la
di isión con igu ada como no segmen ada en la que hay una ins ucción que se
encuen a en el ciclo 3 de su ejecución.
Un ejemplo de la en ana Pipeline se encuen a en la Figu a 13. En ella se
ep esen a el es ado del pipeline median e cajas siguiendo un esquema simila al
mos ado en la Figu a 11. Pa a especi ica el es ado de cada e apa, el bo de del
ecuad o que ep esen a a la e apa se colo ea según el esul ado de la ejecución de la
ins ucción alojada en ella. Un bo de de colo neg o especi ica que la ejecución se ha
ealizado con éxi o y o o colo ep esen a el ipo del bloqueo según la con igu ación
de colo es especi icada en la con igu ación del simulado .
Figu a 13. Ven ana Pipeline
Cada caja que ep esen a a una e apa se puede mo e y cambia de amaño pa a
adap a se a las necesidades del usua io. También dispone de bo ones que simpli ican
la dis ibución de las e apas en el espacio de abajo y eo ganizan las sube apas de
cada e apa ho izon al o e icalmen e.
6.8 Ven ana C onog ama
Una de las en anas que apo a más in o mación al simula el p ocesamien o
segmen ado es la en ana C onog ama. Como puede ap ecia se en la Figu a 14, en
es a en ana se ep esen a el diag ama de iempos del es ado de cada e apa en cada
ciclo de eloj du an e la ejecución de las ins ucciones del código en ensamblado .
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
100
Como suele se lo habi ual, el eje de o denadas indica las ins ucciones y las
abscisas el ciclo de ejecución. Pa a cada ins ucción se especi ica un núme o de
secuencia, que ocupa en la ejecución de la ins ucción, la di ección de memo ia y su
ep esen ación en ensamblado . Pa a cada in e sección ins ucción-ciclo se mues a el
nomb e de la e apa y el es ado en el que se encuen a. Cuando la e apa ha sido
bloqueada se u iliza un código de colo es con igu able que iden i ica el ipo de
bloqueo. Pa a una mejo iden i icación del bloqueo, es posible opcionalmen e acha
el nomb e de la e apa y añadi un ca ác e especial jun o al nomb e. El signi icado de
es os ca ac e es especiales es el siguien e:
 As e isco como p e ijo (*): deno a que la e apa posee un bloqueo ipo lec u a
as esc i u a (RAW). Po de ec o se ep esen an en ojo. Ejemplo *EXi
 As e isco como su ijo (*): especi ica que la e apa posee un bloqueo ipo
esc i u a as esc i u a (WAW) y se ep esen an en e de. Po ejemplo EX*.
 Acen o ci cun lejo (^): ep esen a a los bloqueos es uc u ales y suelen
apa ece en colo ama illo. Si a de ejemplo EX^.
 Ba a ascenden e (/). Indica un bloqueo de con ol y es dibujado en colo
azul. Po ejemplo IF/.
Cuando la ins ucción no puede a anza de e apa debido a la de ención del cauce
no se u iliza ningún ca ác e especial, an sólo se mues a la e apa en g is po de ec o
y apa ece achada.
Figu a 14. Ven ana C onog ama
En una e apa mul iciclo, la ins ucción debe á pe manece en la unidad uncional
du an e a ios ciclos. Si la e apa es á segmen ada, el c onog ama mues a jun o al
nomb e de la e apa el núme o de la sube apa en la que se encuen a la ins ucción.
Véase como ejemplo la ins ucción 1 que apa ece en la Figu a 14; en ella puede e se
que la ins ucción mul ealizó su ase EX en la unidad de mul iplicación de en e os
EXm, que es á segmen ada y que du a 5 ciclos. Dicha ins ucción accedió a la
sube apa 0 de EXm en el ciclo 3 y ue a anzando a las siguien es sube apas has a
alcanza la úl ima sube apa en el ciclo 7. En cambio las e apas con igu adas como
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
101
mul iciclo no segmen adas no añaden ningún iden i icado de la sube apa en la que se
encuen an ya que en ealidad la sube apa es única, sólo que du a a ios ciclos. La
Figu a 14 mues a un ejemplo de ello en la ins ucción 2, la cual en a en la sube apa
que posee EXd en el ciclo 4 y pe manece en ella has a pasa a la e apa de MEM.
Pa a inaliza es e a ículo, se exponen a con inuación los posibles abajos u u os
y las conclusiones.
7 T abajos u u os
Aunque el simulado p esen ado en es e abajo ya ha alcanzado el in de su ase de
desa ollo según los eque imien os es ablecidos inicialmen e, son innume ables las
mejo as que se le es án aplicando pa a con e i le mayo es abilidad, iabilidad y
e sa ilidad. Además de es as con inuas mejo as, cla es pa a consegui un so wa e de
calidad, se han añadido a la lis a de a eas po hace nue as ca ac e ís icas y
he amien as. Algunas de ellas encaminadas a amplia el sis ema que se simula con
nue os componen es como cachés y BTB; algunas o ien adas a ep esen a el sis ema
con mayo de alle, como es mos a la u a de da os a ni el RT, pe o sin sac i ica su
acilidad de uso.
Po úl imo, en aspec os elacionados con la docencia, es e simulado aba ca un
con enido ín imamen e elacionado con la asigna u a A qui ec u a de Compu ado es
de segundo cu so de los g ados de Ingenie ía In o má ica impa idos po la
Uni e sidad de Se illa. Po consiguien e, se p e ende u iliza lo es e cu so académico
en las sesiones p ác icas elacionadas con es a ma e ia, así como deja lo a lib e
disposición del alumnado pa a su desca ga g a ui a y uso pa a p ác icas en casa.. De
es a mane a, se p e ende ealiza un análisis de la mejo a del endimien o académico
en el alumnado median e dos mecanismos di e enciados:
 Encues a anónima al alumnado: en la que se e alua án aspec os más
subje i os de la u ilidad del simulado ampliamen e de allado en las
secciones an e io es. De es a mane a se pueden ob ene unas conclusiones
ápidas sob e la u ilidad y idelidad del simulado , de ca a a ealiza las
mejo as opo unas pa a el siguien e cu so académico.
 E aluación de esul ados académicos: es e mecanismo p e ende apo a unas
mé icas obje i as ace ca de la mejo ía de comp ensión del p ocesado MIPS
median e una compa a i a en e las cali icaciones ob enidas po el alumnado
en cu sos an e io es y las ob enidas en el cu so académico ac ual.
Median e la e aluación de las mé icas an e io es se espe a ob ene su icien e
in o mación pa a mejo a aquellos aspec os del simulado que más p oblemas
ocasionen al ap endizaje del alumnado. De es a o ma, el simulado se á some ido a
un ciclo de mejo a con inua; ob eniéndose una e sión de ini i a del simulado en
pocos cu sos académicos.
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
102
8 Conclusiones
El es udio de la a qui ec u a de compu ado es puede con e i se en una a dua a ea
pa a p o eso es y alumnos si no se dispone de un simulado adecuado. En es e abajo
se ha desc i o algunos de los simulado es académicos más u ilizados y se ha
p esen ado un nue o so wa e de simulación del p ocesado MIPS32 segmen ado
o ien ado a la enseñanza y al ap endizaje de la a qui ec u a de compu ado es que se
impa e en las uni e sidades. Es e simulado implemen a más de 80 ins ucciones y
simula el compo amien o del p ocesado con capacidad pa a de ec a y esol e los
iesgos en la segmen ación. Implemen a algunas mejo as del p ocesado MIPS como
son los adelan amien os ( o wa ding) y los sal os e a dados. También se ha p opues o
una in e az g á ica muy in ui i a y e sá il con el p opósi o de hace más a ac i o el
es udio del p ocesado a los es udian es. El simulado es á implemen ado en una
lib e ía independien e de la in e az po lo que pod ía diseña se nue as in e aces de
usua io adap adas a las necesidades de los alumnos.
Re e encias
1. D. A. Pa e son and J. L. Hennessy, “Compu e O ganiza ion and Design - The
Ha dwa e/So wa e In e ace”, 3 d ed. Mo gan Kau mann, 2005
2. John L. Hennessy and Da id A. Pa e son, “Compu e A chi ec u e: A
Quan i a i e App oach”. San F ancisco, CA: Mo gan Kau man, 2007.
3. J. L. S. C. Pe ei a, “Educa ional package based on he MIPS a chi ec u e o
FPGA pla o ms”, Mas e Thesis, Faculdade de Engenha ia da Uni e sidade
do Po o, June 2009. h p:// eposi o io-abe o.up.p /bi s eam/10216/59975/1/0
00135086.pd
4. A. Clemen s, “The unde g adua e cu iculum in compu e a chi ec u e”, IEEE
Mic o, ol. 20, no. 3, pp. 13–21, 2000
5. J. Djo dje ic, B. Nikolic, T. Bo ozan, and A. Milenko ie, “CAL2: Compu e
aided lea ning in compu e a chi ec u e labo a o y”, Compu . Appl. Eng.
Educ., ol. 16, pp. 172–188, 2008
6. B. Nikolic, Z. Radi oje ic, J. Djo dje ic and V. Milu ino ic, "A Su ey and
E alua ion o Simula o s Sui able o Teaching Cou ses in Compu e
A chi ec u e and O ganiza ion", Educa ion, IEEE T ansac ions on , o1.52,
no.4, pp.449-458, 2009
7. H. Oz ekin, F. Temu as, and A. Gulbag, “BZK.SAU: Implemen ing a
ha dwa e and so wa e-based compu e a chi ec u e simula o o educa ional
pu pose”, P oc. 2nd In . Con . Compu . Design Appl., pp. 490–497, 2010
8. B. Mus a a, "Modem compu e a chi ec u e eaching and lea ning suppo : An
expe ience in e alua ion", In e na ional Con e ence on In o ma ion Socie y (i-
Socie y), pp.411-416, 27-29, 2011
9. W. Yu cik, G. S. Wol e and M. A. Holiday, “A Su ey o Simula o s used in
Compu e O ganiza ion/A chi ec u e Cou ses”, P ocs. o Summe Con . on
Compu e Simula ion, pp. 524-529, O lando, Flo ida, 2001.
10. Página web del simulado Q Spim: h p://spimsimula o .sou ce o ge.ne
Enseñanza y Ap endizaje de Ingenie ía de Compu ado es. Núme o 5, 2015
103