UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION UNI-RUSB ASIGNATURA: Arquitectura de Maquin
Views 153 Downloads 6 File size 221KB
UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION
UNI-RUSB
ASIGNATURA: Arquitectura de Maquinas Computadoras II. PORTAFOLIO
ELABORADO POR:
Wilmer José Duarte López 2009-29119 DOCENTE:
Ing. José L. Díaz Chow GRUPO: 4T2-Co Número de Lista: 12 Equipo: 6
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 Maquinas Computadoras II- 2012
Se compone de
Memoria
Procesador
Realiza las operaciones
Entrada / Salida
Posee dos enfoques
Procesar dato
Almacenar da
Trasladar dat
Operaciones de c
Arquitectura de Maquinas Computadoras II- 2012
Arquitectura de Maquinas Computadoras II- 2012 b. Un diagrama, esquema u otro tipo de instrumento gráfico que explique el funcionamiento de la Arquitectura Secuencial de Programa Almacenado (ASPA).
Unidad de Memoria
Unidad de Entrada
Procesamiento
Unidad De Salida
Unidad de Control
2. Marcar en la casilla de la izquierda si el atributo de la computadora presentado es un elemento de organización empleado uno O, si lo es de arquitectura, con una A: O A O A O A A O O A
1. Construcción de la ALU 2. Cantidad de registros del procesador 3. Decisión de si la infraestructura de interconexión es mediante buses 4. Cantidad y tipo de operaciones del conjunto de instrucciones 5. Técnica empleada para construir la unidad de Control 6. Tamaño de la palabra 7. Cantidad de bancos de memoria 8. Construcción de los registros 9. Modos de direccionamiento 10. Tamaño del espacio de direcciones de memoria
Arquitectura de Maquinas Computadoras II- 2012
Arquitectura de Maquinas Computadoras II- 2012 CLASE PRÁCTICA #2 Arquitecturas Históricas de Computadoras
a)
b)
c)
d)
PILA PUSH A PUSH B ADD PUSH C ADD POP A PUSH B PUSH X MULT PUSH B ADD PUSH X SUB POP X 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 POP A PUSH A PUSH A MULT PUSH B ADD PUSH A PUSH B ADD SUB
ACUMULADOR LOAD A ADD B ADD C STORE A
LOAD B MULT X ADD B SUB X STORE X
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
PUSH A MULT A ADD B STORE T1 LOAD A ADD B STORE T2 LOAD T1 SUB T2
2 REGISTROS MOV R1,A MOV R2,B ADD R1,R2 MOV R1,C ADD R2,R1 MOV A,R1 MOV R1,B MOV R2,X MULT R1,R2 MOV R1,B ADD R2,R1 MOV R2,X SUB R1,R2 MOV X,R2 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 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
3 REGISTROS LOAD R1,A LOAD R2,B LOAD R3,C ADD R4,R1,R2 ADD R4,R4,R3 STORE A,R4 LOAD R1,B LOAD R2,X MULT R3,R1,R2 ADD R3,R3,R1 SUB R3,R3,R2 STORE X,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
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
Arquitectura de Maquinas Computadoras II- 2012 PUSH B DIV POP D
DIV B STORE D
DIV R3,R1 MOV D,R1
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: e)
f)
PILA PUSH A PUSH A PUSH D DIV ADD PUSH C PUSH A SUB PUSH D MULT ADD PUSH C ADD POP A PUSH A PUSH X PUSH X MULT MULT PUSH B PUSH X MULT ADD PUSH C ADD POP Y
ACUMULADOR 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 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
2 DIRECCIONES 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
3 DIRECCIONES 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
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
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. ¿Caben las instrucciones en formato de bloque fijo? R=No b. ¿Caben en formato de bloque extendido? R=SI c. ¿Cuantas más de 2 operandos pudieran caber? R=Ninguna d. ¿Cuantas más de 1 operando pudieran caber? R=Ninguna e. ¿Cuantas más de 0 operando pudieran caber? R=60 Instrucciones má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ón de bloque fijo: b. Codificación Extendida:
CO 0000 … 1100 1101 … 1101 1110 … 1110 1111 … 1111 1111 … 1111
Operando 1 xxxx … xxxx 0000 … 1111 0000 … 1111 0000 … 1111 1111 … 111111
Operando 2 xxxx … xxxx xxxx … xxxx xxxx … xxxx 0000 … 1110 1111 … 111111
Operando 3 xxxx xxxx xxxx … xxxx xxxx … xxxx xxxx … xxxx 0000 … 0011
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. Longitud del CO empleando técnica de bloque fijo.
log 2 ( 8 )=3 b. Cada uno de los CO empleando codificación Huffman. mnemónicos MOV ADD SUB AND JMP INT CALL NOT
CO 11 10 011 010 0011 0010 0001 0000
L (CO) 2 2 3 3 4 4 4 4
f 0.25 0.25 0.125 0.125 0.0625 0.0625 0.0625 0.0625
c. Calcule la longitud media del CO tanto para codificación de bloque fijo como la Huffman. i=n
l ( CO ) med=LA=∑ l fi= i =1
2∗1 2∗1 3∗1 3∗1 4∗1 4∗1 4∗1 4∗1 1 1 1 1 1 + + + + + + =¿ 2∗ + +3∗ + +4∗ 4 4 8 8 16 16 16 16 4 4 8 8 16
( ) ( ) (
d. Determine la longitud optima del CO: i=n
L ( co ) opt=LO=∑ fi log 2 ( fi ) ¿=− i=1
[
1 1 1 1 1 1 1 1 1 1 1 1 1 log 2 + log2 + log 2 + log 2 + log 2 + log 2 + log 2 4 4 4 4 8 8 8 8 16 16 16 16 16
e. Determine el grado de desperdicio de bits o redundancia con cada sistema de codificación
R=
LA−LO =¿ LA
R bloque=
3−2 1 = ≈ 0.33333 3 3
R Huffman=
2.75−2 0.75 = ≈ 0.2727 2.75 2.75
Arquitectura de Maquinas Computadoras II- 2012 4. Suponga que tiene una maquina con un formato de 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 SUB JNZ MOV
0001 0010 0100 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.
Inmediato Registro Memoria Indirecto de Reg. Autoincrem ento Autodecrem ento Indicé Relativo al PC
Acumulado r
Pila
√ X √ X
2 Direccione s √ √ √ √
3 Direccione s √ √ √ X
√ X √ X X
X
√
X
X
X
√
X
X √
X √
√ √
√ √
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 N
Inicio de la cadena Fin de la cadena R2 Longitud de la cadena Temporal R4
LEA R1, cadena LEA R2, cadena MOV R3, N ADD R3, R2 CICLO: MOV R1, R4 MOV R2, R1 MOV R4, R2 CMP (R1)+,-(R2) JA FIN JMP CICLO FIN:
R1 R3
; localiza el final de la cadena ; invertir cadena ; si R1 > R2
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
Arquitectura de Maquinas Computadoras II- 2012
Genere los primeros n valores de la serie Fibonacci MOV MOV MOV MOV
AX, 00 BX, 01 CX, 10; para el número de veces DX, 00
CICLO: ADD AX,BX; en AX se guarda el numero MOV BX,DX MOV DX,AX LOOP CICLO
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 0 1 -1 2 -2 5 -5 6 -6
SignoMagnitud 0000 1000 0001 1001 0010 1010 0101 1101 0110 1110
Complement oa1 0000
Complement oa2 0000
Exceso A M 1000
0001 1110 0010 1101 0101 1010 0110 1001
0001 1111 0010 1110 0101 1011 0110 1010
1001 0111 1010 0110 1101 0011 1110 0010
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 C in. Escriba la tabla de funciones de la ALU resultante.
Z
X Y
Unidad Aritmética MUX
Unidad lógica
S0 S1
S1 0 0 1 1
S0 0 1 0 1
Z + AND OR
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. S 1 X 0 0
S 2 X 0 1
S 3 X X 0
S 4 X X 0
L
R X X 0
CL K X ↑ ↑
CL R 0 1 1
X X X
0
1
0
1
X
Q3
↑
1
0 0
1 1
1 1
0 1
X X
Q0 C
↑ ↑
1 1
1
0
0
0
0
X
↑
1
1
0
0
1
0
X
↑
1
1 1
0 0
1 1
0 1
Q3 C
X X
↑ ↑
1 1
1
1
X
X
X
X
↑
1
OPERACION CLEAR ALMACENANDO DESPLAZAMIENTO LOGICO DERECHO DESPLAZAMIENTO ARITMETICO DERECHO ROTACION DERECHA ROTACION DERECHA SOBRE EL CARRY DESPLAZAMIENTO LOGICO IZQUIERDO DESPLAZAMIENTO ARITMETICO IZQIERDO ROTACION IZQUIERDA ROTACION IZQUIERDA SOBRE EL CARRY CARGA PARALELA
Arquitectura de Maquinas Computadoras II- 2012
Arquitectura de Maquinas Computadoras II- 2012 CLA MUX
MUX
0
1
S
2
3
0
Q3
1
S
2
3
0
1
S
2
3
Q1
Q2
0
1
2
3
S
Q0
SE 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)+) Pas o
Operación
Señales
1
MAR [PC], read, Z [PC] + 1
PCout, MARin, read cleary, setc Add 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, setc Add Zin
5
Z[R4], espera
R4out, Zin , WMFC
6
MAR[MDR]read,espera
MDRout,MARin
7
SOURCE[MDR]
MDRout,SOURCEin
Arquitectura de Maquinas Computadoras II- 2012 8
MAR[R1]
R1out, MARin
9
MDR [ Source],write
Sourceout, MDRin, write
10
End
End
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. Instrucción
2 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. 0
0
CO 1
1
1
MF 1
0
1
RF 1
1
0
MD 1
1
1
RD 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 001 002 003
PCout, MARin, READ, Clear Y, Set C, ADD, Zin Zout, PCin, WMFC MDRout, IRin µ Br{ µ PC←PLA; µ PC←101; µ PC ← IR 5,4 11,10;
161 162 163 164 165
PCout, MARin, READ, Clear Y, Set C, ADD, Zin Zout, PCin, WMFC MDRout, Yin R7out,ADD,Zin ´ Zout, MARin, READ, µ Br{ µ PC0← IR 4 } WMFC
167 170
MDRout, SOURCEin µ Br{ µ PC←201; µ PC ← IR ; 5,4 5,4
221 222
PCout, MARin, READ, Clear Y, Set C, ADD, Zin ´ Zout, R5in, µ Br{ µ PC←266; µ PC6 ← I R3 } WMFC
266 267 270 271
MDRout, MARin, READ, WMFC MDRout, Yin SOURCEout, MULT, Zin ´ 5 I ´R4 I ´R 3 µ Br{ µ PC ← IR } 0
272
Zout, MDRin, WRITE, END
µ PC ← 3
µ PC ← 3
´ 5 I ´R4 I R 3 IR }
IR´ 11 I R´ 10 I R9 }
Arquitectura de Maquinas Computadoras II- 2012
No 1. ADD (R7)+, ((R3)+)
Direcci ón
µInstrucción
000 001 002 003
PCout, MARin, READ, ClrY, SetC, ADD, Zin Zout, PCin, WMFC MDRout, IRin, DECODE MBR{ MPC 101, MPC5,4 IR11,10, MPC0 IR11. IR10. IR9} // MPC 121 R7out, MARin, READ, R7out, ADD, Zin Zout, R7in, WMFC, MBR{MPC0 IR9} WMFC // MPC 167 MDRout, Sourcein MBR {MPC 201, MPC5, 4 IR5, 4, MPC0 IR5. IR4. IR3} // MPC 221 R3out, MARin, READ, R3out, ADD, Zin Zout, R3in, WMFC MRDout, MARin, READ, WMFC MDRout, Yin, Sourceout, ADD, Zin MBR{ MPC0, IR5, IR4, IR3} Zout, MDRin, WRITE, END
121 122 166 170 221 222 266 267 270 271 272
No 3. SUB (1000H(R3)), R5
Direcc ión
µInstrucción
000 001 002 003
PCout, MARin, READ, ClrY, SetC, ADD, Zin Zout, PCin, WMFC MDRout, IRin, DECODE MBR{ MPC 101, MPC5,4 IR11,10, MPC0 IR11. IR10. IR9} // MPC 161 PCout, MARin, READ, ClrY, SetC, ADD, Zin Zout, PCin, WMFC MDRout, Yin R3out, ADD, Zin Zout, MARin, READ, MBR{MPC0 IR9} WMFC // MPC 166 MDRout, MARin, READ, WMFC
161 162 163 164 165 166
Arquitectura de Maquinas Computadoras II- 2012 167 170 211 270 271 272
MDRout, Sourcein MBR {MPC 201, MPC5, 4 IR5, 4, MPC0 IR5. IR4. IR3} // MPC 211 R5out, MARin, READ, MBR{ MPC 270} WMFC Sourceout, SUB, Zin MBR{ MPC0, IR5, IR4, IR3} Zout, MDRin, WRITE, END