Trabajo Práctico Nro. 1 - Primer Cuatrimestre 2008

Anuncio
Trabajo Práctico Nro. 1 - Primer Cuatrimestre 2008
Organización del Computador 1
Fecha de entrega: martes 29 de abril de 2008
Multimedia Logic
Los ejercicios de esta sección deben ser resueltos utilizando el programa Multimedia Logic, que
puede descargargarse desde la página de la materia. El informe debe incluir los gráficos generados
por dicho programa.
Ejercicio 1 Construir un circuito que realice la suma de dos números de 4 bits en notación
complemento a 2.
Ejercicio 2 Utilizando el sumador del ejercicio anterior, construir un circuito que determine si la
secuencia de bits, producto de la suma de dos números de 4 bit en notación complemento a 2, es
capicúa.
Ejercicio 3 Construir un circuito contador de 3 bits que realice la siguiente secuencia: 000, 001,
000, 011, 000, 101, 000 y 111. Se cuenta con el componente flip-flop JK del simulador.
Simulador ORGA1
Los ejercicios de esta sección deben ser resueltos utilizando el simulador de la máquina Orga1,
que puede descargargarse desde la página de la materia.
Ejercicio 4 Dado el siguiente programa en Orga I,
rutina: CMP R0, R1
JL R0mR1
MOV R3, R0
MOV R0, R1
MOV R1, R3
R0mR1: CMP R1, R2
JL fin
CMP R2, R0
JL R2mR0
MOV R3, R2
MOV R2, R1
MOV R1, R3
JMP fin
R2mR0: MOV R3, R0
MOV R0, R2
MOV R2, R1
MOV R1, R3
fin:
RET
main:
MOV R0, 0x0942
MOV R1, 0xF442
MOV R2, 0x0111
CALL rutina
a) Realizar el seguimiento del programa detallando instrucciones ejecutadas, cambios en registros, banderas, memoria, PC y SP.
1
b) ¿Cuál será el valor de los registros R0, R1 y R2; si antes de llamar a rutina, R1 vale 0x8000.
c) ¿Qué tarea realiza la rutina?
d) Dar la posición de memoria y valor del desplazamiento de todas las instrucciones de salto.
Ejercicio 5 Sea un procesador Orga I, se desea:1
a) Programar una rutina que dados valores en los registros R0, R1 y R2, obtiene en R0 el mayor
de todos, en R1 el menor de todos y en R2 la suma del mayor con el menor.
b) Modificar la rutina del ejercicio 4. para que no altere ningún registro distinto de R0, R1 y
R2.
Ejercicio 6 Para cada una de las siguientes instrucciones, indicar que cambios producen y como
se codifican.
a) MOV [[0x0103]], [0x0104]
b) ADD [0x0101], [0x0102]
c) ADD [R0+0x0001], [R2]
d) CMP 0xFFFF, [0x0101]
e) SUB [0x0104], R0
f) NEG 0x0011
g) NOT [[0x0102]]
h) NOT 0xFFFF
i) CALL 0xFF11
Suponiendo que:
R0 = 0x0100
R1 = 0x0101
R2 = 0x0102
[0x0100] = 0x0102
[0x0101] = 0x0101
[0x0102] = 0x0102
[0x0103] = 0x0101
[0x0104] = 0x0103
[0x0105] = 0x0104
Ejercicio 7 Sea un procesador Orga I, se desea realizar las siguientes rutinas sobre un vector de
n elementos, donde el registro R0 apunta al primer elemento del vector y el registro R1 indica la
cantidad de elementos del mismo.
a) Programar una rutina que ordene el vector.
b) Programar una rutina que obtenga la moda.
1 Ayuda:
Utilizar la rutina del ejercicio anterior.
2
Descargar