UNI-RUSB Arquitectura de Maquinas Computadoras II- 2012 portafolio
1. UNIVERSIDAD NACIONAL DE INGENIERIA
FACULTAD DE ELECTROTECNIA Y COMPUTACION
UNI-RUSB
ASIGNATURA: Arquitectura de Maquinas Computadoras II.
PORTAFOLIO
ELABORADO POR:
Wilmer José Duarte López2009-29119
DOCENTE:
Ing. José L. Díaz Chow
GRUPO: 4T2-Co
Número de Lista: 12
Equipo: 6
2. Arquitectura de Maquinas Computadoras II- 2012
CLASE PRÁCTICA N⁰ 1
Arquitectura y Organización de computadoras
a. Un mapa conceptual que relacione los conceptos de Arquitectura y organización de computadoras.
ARQUITECTURA DE
COMPUTADORAS
ORGANIZACION ARQUITECTURA
Se compone de
Programador
Es visible al
Lógica del Programa
Tiene un impacto
directo en
Conjunto de Instrucciones
No. de bits
Mecanismos de E/S
Como ejemplos
FuncionalEstructural
Posee dos enfoques
Procesar datos
Almacenar datos
Trasladar datos
Operaciones de control
Realiza las operaciones
Procesador
Memoria
Entrada / Salida
Se compone de
3. Arquitectura de Maquinas Computadoras II- 2012
b. Un diagrama, esquema u otro tipo de instrumento gráficoque explique el funcionamiento de la
Arquitectura Secuencial de Programa Almacenado (ASPA).
2. Marcar en la casilla de la izquierda si el atributo de la computadora presentadoes un elemento de
organización empleado unoO, si lo es de arquitectura, con una A:
O 1. Construcción de la ALU
A 2. Cantidad de registros del procesador
O 3. Decisión de si la infraestructura de interconexión es mediante buses
A 4. Cantidad y tipo de operaciones del conjunto de instrucciones
O 5. Técnica empleada para construir la unidad de Control
A 6. Tamaño de la palabra
A 7. Cantidad de bancos de memoria
O 8. Construcción de los registros
O 9. Modos de direccionamiento
A 10. Tamaño del espacio de direcciones de memoria
Procesamiento
Unidad de
Control
Unidad De
Salida
Unidad de
Memoria
Unidad de
Entrada
4. Arquitectura de Maquinas Computadoras II- 2012
CLASE PRÁCTICA #2
Arquitecturas Históricas de Computadoras
5. Arquitectura de Maquinas Computadoras II- 2012
Para cada expresión de la lista que se presenta, desarrollar el código en ensamblador correspondiente de
cada una de las cuatro arquitecturas históricas:
PILA ACUMULADOR 2 REGISTROS 3 REGISTROS
a) PUSH A
PUSH B
ADD
PUSH C
ADD
POPA
LOAD A
ADD B
ADD C
STORE A
MOV R1,A
MOV R2,B
ADD R1,R2
MOV R1,C
ADD R2,R1
MOV A,R1
LOAD R1,A
LOAD R2,B
LOAD R3,C
ADD R4,R1,R2
ADD R4,R4,R3
STORE A,R4
b) PUSH B
PUSH X
MULT
PUSH B
ADD
PUSH X
SUB
POPX
LOAD B
MULT X
ADD B
SUB X
STORE X
MOV R1,B
MOV R2,X
MULT R1,R2
MOV R1,B
ADD R2,R1
MOV R2,X
SUB R1,R2
MOV X,R2
LOAD R1,B
LOAD R2,X
MULT R3,R1,R2
ADD R3,R3,R1
SUB R3,R3,R2
STORE X,R2
c) PUSH A
PUSH A
PUSB B
MULT
PUSH C
PUSH D
SUB
PUSH A
ADD
DIV
PUSH D
MULT
ADD
PUSH C
SUB
PUSH D
ADD
POPA
LOAD A
MULT B
STORE T1
LOAD C
SUB D
ADD A
STORE T2
LOAD T1
DIV T2
MULT D
STORE T1
LOAD A
ADD T1
SUB C
ADD D
MOVR1,A
MOV R2,B
MULT R1,R2
MOV R1,C
MOV R3,D
SUB R1,R3
MOV R1,A
ADD R3,R1
DIV R2,R1
MOV R2,D
MULT R1,R2
MOV R1,A
ADD R1,R2
MOV R1,C
SUB R2,R1
MOV R2,D
ADD R1,R2
MOV A,R2
LOAD R1,A
LOAD R2,B
LOAD R3,C
LOAD R4,D
MULT R5,R1,R2
SUB R6,R3,R4
ADD R6,R6,R1
DIV R5,R5,R6
MULT R5,R5,R4
ADD R5,R1,R5
SUB R5,R5,R3
ADD R5,R5,R4
STORE A,R5
d) PUSH A
PUSH A
MULT
PUSH B
ADD
PUSH A
PUSH B
ADD
SUB
PUSH B
DIV
POPD
PUSH A
MULT A
ADD B
STORE T1
LOAD A
ADD B
STORE T2
LOAD T1
SUB T2
DIV B
STORE D
MOV R1,A
MULT R1,R1
MOV R2,B
ADD R1,R2
MOV R1,A
MOV R3,B
ADD R1,R3
SUB R2,R3
MOV R1,B
DIV R3,R1
MOV D,R1
LOAD R1,A
LOAD R2,B
MULT R3,R1,R1
ADD R3,R3,R2
ADD R4,R1,R2
SUB R3,R3,R4
DIV R3,R3,R2
STORE D,R3
6. Arquitectura de Maquinas Computadoras II- 2012
PILA ACUMULADOR 2 DIRECCIONES 3 DIRECCIONES
e) PUSH A
PUSH A
PUSH D
DIV
ADD
PUSH C
PUSH A
SUB
PUSH D
MULT
ADD
PUSH C
ADD
POPA
LOAD A
DIV D
STORE T1
LOAD A
ADD T1
STORE T1
LOAD C
SUB A
MULT D
STORE T2
LOAD T1
ADD T2
ADD C
STORE A
MOV R1,A
LOAD B,R2
DIV R1,R2
ADD R1,R2
MOV R3,C
SUB R3,R1
MOV R3,D
MULT R1,R3
ADD R2,R3
MOV R1,C
ADD R3,R1
MOV A,R1
LOAD R1,A
LOAD R2,C
LOAD R3,D
DIV R4,R1,R3
ADD R4,R1,R4
SUB R5,R2,R1
MULT R5,R5,R3
ADD R4,R4,R5
ADD R4,R4,R2
STORE A,R4
f) PUSH A
PUSH X
PUSH X
MULT
MULT
PUSH B
PUSH X
MULT
ADD
PUSH C
ADD
POPY
LOAD X
MULT X
STORE T1
LOAD A
MULT T1
STORE T1
LOAD B
MULT X
STORE T2
LOAD T1
ADD T2
ADD C
STORE Y
MOV R1,A
MOV R2,X
MULT R2,R2
MULT R1,R2
MOV R1,B
MOV R3,X
MULT R1,R3
ADD R2,R3
MOV R1,C
ADD R3,R1
MOV Y,R1
LOAD R1,A
LOAD R2,B
LOAD R3,C
LOAD R4,X
MULT R5,R4,R4
MULT R5,R1,R5
MULT R6,R2,R4
ADD R5,R5,R6
ADD R5,R5,R3
STORE Y,R5
7. Arquitectura de Maquinas Computadoras II- 2012
CLASE PRÁCTICA #3
Diseño del Conjunto de Instrucciones
1. Se tiene que codificar un conjunto de instrucciones en un formato de 16 bits con campos de
dirección de 6 bits. En este conjunto se han considerado 15 instrucciones de 2 operandos, 63 de 1
operando y 4 sin operandos.
a. ¿Cabenlasinstruccionesenformatode bloque fijo?
R=No
b. ¿Cabenenformatode bloque extendido?
R=SI
c. ¿Cuantasmás de 2 operandospudierancaber?
R=Ninguna
d. ¿Cuantasmás de 1 operandopudierancaber?
R=Ninguna
e. ¿Cuantasmás de 0 operandopudierancaber?
R=60 Instruccionesmás
2. Se tiene que codificar un conjunto de instrucciones en un formato de 16 bits con campos de
dirección de 4 bits. En este conjunto se han considerado 13 instrucciones de 3 operandos, 32 de 1
operando y 4 sin operando. ¿Cuántas de 1 operando caben si se emplea: ?
a. Codificaciónde bloquefijo:
b. CodificaciónExtendida:
CO Operando 1 Operando 2 Operando 3
0000 xxxx xxxx xxxx
… … …
1100 xxxx xxxx xxxx
1101 0000 xxxx xxxx
… … … …
1101 1111 xxxx xxxx
1110 0000 xxxx xxxx
… … … …
1110 1111 xxxx xxxx
1111 0000 0000 xxxx
… … … …
1111 1111 1110 xxxx
1111 1111 1111 0000
… … … …
1111 111111 111111 0011
8. Arquitectura de Maquinas Computadoras II- 2012
3. Se tiene que codificar un conjunto de instrucciones, el cual consta de las operaciones cuyos
mnemónicos y frecuencias relativas se definen en la tabla mostrada a continuación. Determine:
a. Longituddel CO empleandotécnicade bloque fijo.
𝐥𝐨𝐠 𝟐( 𝟖) = 𝟑
b. Cada unode losCO empleandocodificaciónHuffman.
mnemónicos CO L (CO) f
MOV 11 2 0.25
ADD 10 2 0.25
SUB 011 3 0.125
AND 010 3 0.125
JMP 0011 4 0.0625
INT 0010 4 0.0625
CALL 0001 4 0.0625
NOT 0000 4 0.0625
c. Calcule lalongitudmediadel COtantoparacodificaciónde bloque fijocomolaHuffman.
𝑙( 𝐶𝑂) 𝑚𝑒𝑑 = 𝐿𝐴 = ∑
𝑙 𝑓𝑖 = 2 ∗
1
4
+ 2 ∗
1
4
+ 3 ∗
1
8
+ 3 ∗
1
8
+ 4 ∗
1
16
+ 4 ∗
1
16
4 ∗
1
16
+ 4 ∗
1
16
=
2 ∗ (
1
4
+
1
4
) + 3 ∗ (
1
8
+
1
8
) + 4 ∗ (
1
16
+
1
16
+
1
16
+
1
16
) = 2.75
𝑖=𝑛
𝑖=1
d. Determine la longitudoptimadel CO:
𝐿( 𝑐𝑜) 𝑜𝑝𝑡 = 𝐿𝑂
= ∑ 𝑓𝑖 log2
( 𝑓𝑖)
= − [
1
4
log2
1
4
+
1
4
log2
1
4
+
1
8
log2
1
8
+
1
8
log2
1
8
+
1
16
log2
1
16
+
1
16
log2
1
16
+
1
16
log2
1
16
= −2]
𝑖 =𝑛
𝑖 =1
e. Determine el gradode desperdiciode bitsoredundanciaconcadasistemade codificación
𝑅 =
𝐿𝐴 − 𝐿𝑂
𝐿𝐴
=
𝑅 𝑏𝑙𝑜𝑞𝑢𝑒 =
3 − 2
3
=
1
3
≈ 0.33333
𝑅 𝐻𝑢𝑓𝑓𝑚𝑎𝑛 =
2.75 − 2
2.75
=
0.75
2.75
≈ 0.2727
9. Arquitectura de Maquinas Computadoras II- 2012
4. Suponga que tiene una maquina con un formatode 2 direcciones de 6 bits cada uno y el CO esta en
bloque fijo de 4 bits. Su conjunto de instrucciones tiene 14 instrucciones y los modos se codifican
según la tabla. La máquina tiene 8 registros enumerados de R0 a R7.
a. Asigne código a las instrucciones siguientes ADD, SUB, JNZ, MOV
ADD 0001
SUB 0010
JNZ 0100
MOV 1000
b. Codifique en binario las instrucciones siguientes:
5. Llene la matriz de comparación de los modos de direccionamiento y arquitecturas poniendo
palomilla [√] o tacha [X] en dependencia si el modo aplica o no para esa arquitectura.
Posteriormente, analice cual arquitectura soporta más modos y cual menos. Con base en los
conocimientos adquiridos en clase, justifique el porqué de sus hallazgos.
Acumulador Pila 2 Direcciones 3 Direcciones
Inmediato √ √ √ √
Registro X X √ √
Memoria √ √ √ √
Indirecto de Reg. X X √ X
Autoincremento X X √ X
Autodecremento X X √ X
Indicé X X √ √
Relativo al PC √ √ √ √
10. Arquitectura de Maquinas Computadoras II- 2012
6. Escriba trozos de código en ensamblador de 2 direcciones que realicen las tareas descritas en la lista
a continuación.
Invertir una cadena.
Cadena Inicio de la cadena R1
Fin de la cadena R2
N Longitud de la cadena R3
Temporal R4
LEA R1, cadena
LEA R2, cadena
MOV R3, N
ADD R3, R2 ; localiza el final de la cadena
CICLO:
MOV R1, R4 ; invertir cadena
MOV R2, R1
MOV R4, R2
CMP (R1)+,-(R2) ; si R1 > R2
JA FIN
JMP CICLO
FIN: HLT
Determinar si una cadena es palíndrome
; ver si la palabra es palíndrome
mov cl,n
mov si,0
; limpiando contenido de ax
xor ax,ax
; moviendo registro n a al
mov al,n
mov di,ax
rr:
dec di
mov al,p[si]
mov dl,p1[di]
inc si
cmp al,dl
jnz imp
loop rr
11. Arquitectura de Maquinas Computadoras II- 2012
Genere los primeros n valores de la serie Fibonacci
MOV AX,00
MOV BX,01
MOV CX, 10; para el número de veces
MOV DX,00
CICLO:
ADD AX,BX;en AX se guarda el numero
MOV BX,DX
MOV DX,AX
LOOP CICLO
12. Arquitectura de Maquinas Computadoras II- 2012
CLASE PRÁCTICA #4
Unidad de ejecución
1. Represente en números enteros de 4 bits en las 4 técnicas estudiadas los siguientes:
0
1y -1
2 y -2
5 y -5
6 y -6
Numero Signo-Magnitud Complemento a 1 Complemento a 2 Exceso A M
0 0000
1000
0000 0000 1000
1 0001 0001 0001 1001
-1 1001 1110 1111 0111
2 0010 0010 0010 1010
-2 1010 1101 1110 0110
5 0101 0101 0101 1101
-5 1101 1010 1011 0011
6 0110 0110 0110 1110
-6 1110 1001 1010 0010
13. Arquitectura de Maquinas Computadoras II- 2012
2. Diseñe una ALU que realice las siguientes operaciones aritméticas: Suma, Resta, y lógicas: AND y OR. Las
operaciones aritméticas diséñelas basadas en CLA. Para implementar la resta emplee negadores para el
sustraendo y la línea de selección de resta en 1 pásela al Cin. Escriba la tabla de funciones de la ALU
resultante.
S1 S0 Z
0 0 +
0 1 -
1 0 AND
1 1 OR
Unidad
Aritmética
Unidad
lógica
MUX
X
Y
S0
S1
Z
14. Arquitectura de Maquinas Computadoras II- 2012
4. La figura siguiente muestra un registro de propósito general de 4 bits y su tabla de operaciones. Complete
los valores de L y R en esta tabla. Dibuje la circuitería necesaria para cargar los valores correctos en las
entradas L y R.
S1 S2 S3 S4 L R CLK CLR OPERACION
X X X X X X X 0 CLEAR
0 0 X X X X ↑ 1 ALMACENANDO
0 1 0 0 X 0 ↑ 1 DESPLAZAMIENTO LOGICO DERECHO
0 1 0 1 X Q3 ↑ 1 DESPLAZAMIENTO ARITMETICO DERECHO
0 1 1 0 X Q0 ↑ 1 ROTACION DERECHA
0 1 1 1 X C ↑ 1 ROTACION DERECHA SOBRE EL CARRY
1 0 0 0 0 X ↑ 1 DESPLAZAMIENTO LOGICO IZQUIERDO
1 0 0 1 0 X ↑ 1 DESPLAZAMIENTO ARITMETICO IZQIERDO
1 0 1 0 Q3 X ↑ 1 ROTACION IZQUIERDA
1 0 1 1 C X ↑ 1 ROTACION IZQUIERDA SOBRE EL CARRY
1 1 X X X X ↑ 1 CARGA PARALELA
15. Arquitectura de Maquinas Computadoras II- 2012
S
Q2 Q1Q3 Q0
MUX MUX
0 1 2 3
S
0 1 2 3
S
0 1 2 3
S
0 1 2 3
16. Arquitectura de Maquinas Computadoras II- 2012
CLASE PRÁCTICA #5
Desarrolle los pasos de control para las instrucciones siguientes a ejecutase en un procesador con estructura
de bus común basado en la arquitectura empleada como base del curso:
MOV(R1), ((R4)+)
Paso Operación Señales
1 MAR [PC],read,Z[PC] + 1 PCout,MARin,readcleary,setcAdd Zin
2 PC[Z], esperar Zout,PCin, WMFC
3 IR[MDR],decodificar MDRout, IRin,decoder
4 MAR[R4],read,Z[PC] +1 R4 out,MARin,read cleary,setcAddZin
5 Z[R4],espera R4out,Zin, WMFC
6 MAR[MDR]read,espera MDRout,MARin
7 SOURCE[MDR] MDRout,SOURCEin
8 MAR[R1] R1out,MARin
9 MDR [ Source],write Sourceout,MDRin,write
10 End End
17. Arquitectura de Maquinas Computadoras II- 2012
CLASE PRÁCTICA #6
Microprogramación
Empleando el DFD del microprograma de las instrucciones OP con formato R (operaciones binarias con
operandos que involucran registros) definido en el folleto del curso el cual está basado en un procesador
con estructura de bus común.
No. 2
Instrucción MULT 1000H(R7),((R5)+)
a) Defina los valores de los campos Mf, Rf, Md y Rd del formato de la instrucción en el IR según se muestra
en la figura.
CO MF RF MD RD
0 0 1 1 1 1 0 1 1 1 0 1 1 1 0 1
b) . Desarrolle los microprogramas de las instrucciones que se presentan en la tabla 1, sustituyendo Rf y Rd
por los valores reales de la instrucción y definiendo en cada caso de microrramificación el valor que queda
en el microPC.
DIR µ Instrucción
000 PCout, MARin, READ, Clear Y, Set C, ADD, Zin
001 Zout, PCin, WMFC
002 MDRout, IRin
003 µBr{ µPC←PLA; µPC←101; µPC5,4 ← IR11,10; µPC3 ← IR11
̅̅̅̅̅̅IR10
̅̅̅̅̅̅IR9}
161 PCout, MARin, READ, Clear Y, Set C, ADD, Zin
162 Zout, PCin, WMFC
163 MDRout, Yin
164 R7out,ADD,Zin
165 Zout, MARin, READ, µBr{ µPC0← IR4
̅̅̅̅̅ } WMFC
167 MDRout, SOURCEin
170 µBr{ µPC←201; µPC5,4 ← IR5,4; µPC3 ← IR5
̅̅̅̅̅IR4
̅̅̅̅̅IR3}
221 PCout, MARin, READ, Clear Y, Set C, ADD, Zin
222 Zout, R5in, µBr{ µPC←266; µPC6 ←IR3
̅̅̅̅̅} WMFC
266 MDRout, MARin, READ, WMFC
267 MDRout, Yin
270 SOURCEout, MULT, Zin
271 µBr{ µPC0 ← IR5
̅̅̅̅̅IR4
̅̅̅̅̅IR3
̅̅̅̅̅}
272 Zout, MDRin, WRITE, END