21
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

Embed Size (px)

DESCRIPTION

Ejercicios resueltos sobre clases practica de la clase de Arquitectura de Maquinas Computadoras II. Uni-Nicaragua

Citation preview

Page 1: Arquitectura de Maquinas Computadoras II

UNIVERSIDAD NACIONAL DE INGENIERIAFACULTAD 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

Page 2: Arquitectura de Maquinas Computadoras II

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

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.

Page 3: Arquitectura de Maquinas Computadoras II

Procesamiento

Unidad de Control

Unidad De Salida

Unidad de Memoria

Unidad de Entrada

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).

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 1. Construcción de la ALUA 2. Cantidad de registros del procesadorO 3. Decisión de si la infraestructura de interconexión es mediante busesA 4. Cantidad y tipo de operaciones del conjunto de instruccionesO 5. Técnica empleada para construir la unidad de ControlA 6. Tamaño de la palabraA 7. Cantidad de bancos de memoriaO 8. Construcción de los registrosO 9. Modos de direccionamientoA 10. Tamaño del espacio de direcciones de memoria

Page 4: Arquitectura de Maquinas Computadoras II

Arquitectura de Maquinas Computadoras II- 2012

CLASE PRÁCTICA #2

Arquitecturas Históricas de Computadoras

PILA ACUMULADOR 2 REGISTROS 3 REGISTROSa) PUSH A

PUSH BADDPUSH CADDPOP A

LOAD AADD BADD CSTORE A

MOV R1,AMOV R2,BADD R1,R2MOV R1,CADD R2,R1MOV A,R1

LOAD R1,ALOAD R2,BLOAD R3,CADD R4,R1,R2ADD R4,R4,R3STORE A,R4

b) PUSH BPUSH XMULTPUSH BADDPUSH XSUBPOP X

LOAD BMULT XADD BSUB XSTORE X

MOV R1,BMOV R2,XMULT R1,R2MOV R1,BADD R2,R1MOV R2,XSUB R1,R2MOV X,R2

LOAD R1,BLOAD R2,XMULT R3,R1,R2ADD R3,R3,R1SUB R3,R3,R2STORE X,R2

c) PUSH APUSH APUSB BMULTPUSH CPUSH DSUBPUSH AADDDIVPUSH DMULTADDPUSH CSUBPUSH DADDPOP A

LOAD AMULT BSTORE T1LOAD CSUB DADD ASTORE T2LOAD T1DIV T2MULT DSTORE T1LOAD AADD T1SUB CADD D

MOVR1,AMOV R2,BMULT R1,R2MOV R1,CMOV R3,DSUB R1,R3MOV R1,AADD R3,R1DIV R2,R1MOV R2,DMULT R1,R2MOV R1,AADD R1,R2MOV R1,CSUB R2,R1MOV R2,DADD R1,R2MOV A,R2

LOAD R1,ALOAD R2,BLOAD R3,CLOAD R4,DMULT R5,R1,R2SUB R6,R3,R4ADD R6,R6,R1DIV R5,R5,R6MULT R5,R5,R4ADD R5,R1,R5SUB R5,R5,R3ADD R5,R5,R4STORE A,R5

d) PUSH APUSH AMULTPUSH BADDPUSH APUSH BADDSUBPUSH BDIVPOP D

PUSH AMULT AADD BSTORE T1LOAD AADD BSTORE T2LOAD T1SUB T2DIV BSTORE D

MOV R1,AMULT R1,R1MOV R2,BADD R1,R2MOV R1,AMOV R3,BADD R1,R3SUB R2,R3MOV R1,BDIV R3,R1MOV D,R1

LOAD R1,ALOAD R2,BMULT R3,R1,R1ADD R3,R3,R2ADD R4,R1,R2SUB R3,R3,R4DIV R3,R3,R2STORE D,R3

Page 5: Arquitectura de Maquinas Computadoras II

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 DIRECCIONES 3 DIRECCIONESe) PUSH A

PUSH APUSH DDIVADDPUSH CPUSH ASUBPUSH DMULTADDPUSH CADDPOP A

LOAD ADIV DSTORE T1LOAD AADD T1STORE T1LOAD CSUB AMULT DSTORE T2LOAD T1ADD T2ADD CSTORE A

MOV R1,ALOAD B,R2DIV R1,R2ADD R1,R2MOV R3,CSUB R3,R1MOV R3,DMULT R1,R3ADD R2,R3MOV R1,CADD R3,R1MOV A,R1

LOAD R1,ALOAD R2,CLOAD R3,DDIV R4,R1,R3ADD R4,R1,R4SUB R5,R2,R1MULT R5,R5,R3ADD R4,R4,R5ADD R4,R4,R2STORE A,R4

f) PUSH APUSH XPUSH XMULTMULTPUSH BPUSH XMULTADDPUSH CADDPOP Y

LOAD XMULT XSTORE T1LOAD AMULT T1STORE T1LOAD BMULT XSTORE T2LOAD T1ADD T2ADD CSTORE Y

MOV R1,AMOV R2,XMULT R2,R2MULT R1,R2MOV R1,BMOV R3,XMULT R1,R3ADD R2,R3MOV R1,CADD R3,R1MOV Y,R1

LOAD R1,ALOAD R2,BLOAD R3,CLOAD R4,XMULT R5,R4,R4MULT R5,R1,R5MULT R6,R2,R4ADD R5,R5,R6ADD R5,R5,R3STORE Y,R5

Page 6: Arquitectura de Maquinas Computadoras II

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 Operando 1 Operando 2 Operando 30000 xxxx xxxx xxxx

… … …1100 xxxx xxxx xxxx1101 0000 xxxx xxxx

… … … …1101 1111 xxxx xxxx1110 0000 xxxx xxxx

… … … …1110 1111 xxxx xxxx1111 0000 0000 xxxx

… … … …1111 1111 1110 xxxx1111 1111 1111 0000

… … … …1111 111111 111111 0011

Page 7: Arquitectura de Maquinas Computadoras II

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.log2 (8 )=3

b. Cada uno de los CO empleando codificación Huffman.

mnemónicos CO L (CO) fMOV 11 2 0.25ADD 10 2 0.25SUB 011 3 0.125AND 010 3 0.125JMP 0011 4 0.0625INT 0010 4 0.0625

CALL 0001 4 0.0625NOT 0000 4 0.0625

c. Calcule la longitud media del CO tanto para codificación de bloque fijo como la Huffman.

l (CO )med=LA=∑i=1

i=n

l fi= 2∗14

+ 2∗14

+3∗18

+ 3∗18

+ 4∗116

+ 4∗116

4∗116

+ 4∗116

=¿2∗(14+ 1

4 )+3∗( 18+ 1

8 )+4∗( 116

+ 116

+ 116

+ 116 )=2.75

d. Determine la longitud optima del CO:

L (co )opt=LO=∑i=1

i=n

fi log2 ( fi )¿=−[14

log214+ 1

4log2

14+ 1

8log2

18+ 1

8log2

18+ 1

16log2

116

+ 116

log2116

+ 116

log21

16=−2]

e. Determine el grado de desperdicio de bits o redundancia con cada sistema de codificación

R=LA−LOLA

=¿

Rbloque=3−23

=13≈0.33333

R Huffman=2.75−22.75

=0.752.75

≈ 0.2727

Page 8: Arquitectura de Maquinas Computadoras II

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 0001SUB 0010JNZ 0100MOV 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 DireccionesInmediato √ √ √ √Registro X X √ √Memoria √ √ √ √Indirecto de Reg. X X √ XAutoincremento X X √ XAutodecremento X X √ XIndicé X X √ √Relativo al PC √ √ √ √

Page 9: Arquitectura de Maquinas Computadoras II

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 R2N Longitud de la cadena R3

Temporal R4

LEA R1, cadenaLEA R2, cadenaMOV R3, NADD R3, R2 ; localiza el final de la cadena

CICLO:MOV R1, R4 ; invertir cadenaMOV R2, R1

MOV R4, R2CMP (R1)+,-(R2) ; si R1 > R2JA FINJMP CICLO

FIN: HLTDeterminar 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

Page 10: Arquitectura de Maquinas Computadoras II

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

Page 11: Arquitectura de Maquinas Computadoras II

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:

01y -12 y -25 y -56 y -6

Numero Signo-Magnitud Complemento a 1 Complemento a 2 Exceso A M0 0000

10000000 0000 1000

1 0001 0001 0001 1001-1 1001 1110 1111 01112 0010 0010 0010 1010-2 1010 1101 1110 01105 0101 0101 0101 1101-5 1101 1010 1011 00116 0110 0110 0110 1110-6 1110 1001 1010 0010

Page 12: Arquitectura de Maquinas Computadoras II

Unidad Aritmética

Unidad lógica

MUX

X

Y

S0

S1

Z

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.

S1 S0 Z0 0 +0 1 -1 0 AND1 1 OR

Page 13: Arquitectura de Maquinas Computadoras II

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 CLEAR0 0 X X X X ↑ 1 ALMACENANDO0 1 0 0 X 0 ↑ 1 DESPLAZAMIENTO LOGICO DERECHO0 1 0 1 X Q3 ↑ 1 DESPLAZAMIENTO ARITMETICO DERECHO0 1 1 0 X Q0 ↑ 1 ROTACION DERECHA0 1 1 1 X C ↑ 1 ROTACION DERECHA SOBRE EL CARRY1 0 0 0 0 X ↑ 1 DESPLAZAMIENTO LOGICO IZQUIERDO1 0 0 1 0 X ↑ 1 DESPLAZAMIENTO ARITMETICO IZQIERDO1 0 1 0 Q3 X ↑ 1 ROTACION IZQUIERDA1 0 1 1 C X ↑ 1 ROTACION IZQUIERDA SOBRE EL CARRY1 1 X X X X ↑ 1 CARGA PARALELA

Page 14: Arquitectura de Maquinas Computadoras II

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

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, 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

8 MAR[R1] R1out, MARin

9 MDR [ Source],write Sourceout, MDRin, write

Page 15: Arquitectura de Maquinas Computadoras II

Arquitectura de Maquinas Computadoras II- 2012

10 End End

Page 16: Arquitectura de Maquinas Computadoras II

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. 2Instrucció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 RD0 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ón000 PCout, MARin, READ, Clear Y, Set C, ADD, Zin

001 Zout, PCin, WMFC002 MDRout, IRin

003 µBr{µPC←PLA;µPC←101;µPC5,4 ← IR11,10; µPC3 ← IR11I R10 I R9}161 PCout, MARin, READ, Clear Y, Set C, ADD, Zin

162 Zout, PCin, WMFC163 MDRout, Yin

164 R7out,ADD,Zin

165 Zout, MARin, READ,µBr{µPC0← IR4 } WMFC167 MDRout, SOURCEin

170 µBr{µPC←201;µPC5,4 ← IR5,4; µPC3 ← IR5 I R4 I R3}221 PCout, MARin, READ, Clear Y, Set C, ADD, Zin

222 Zout, R5in, µBr{µPC←266;µPC6 ←I R3} WMFC266 MDRout, MARin, READ, WMFC267 MDRout, Yin

270 SOURCEout, MULT, Zin

271 µBr{ µPC0 ← IR5 I R4 I R3}272 Zout, MDRin, WRITE, END

Page 17: Arquitectura de Maquinas Computadoras II

Arquitectura de Maquinas Computadoras II- 2012

No 1.

ADD (R7)+, ((R3)+)

Dirección µInstrucción000 PCout, MARin, READ, ClrY, SetC, ADD, Zin001 Zout, PCin, WMFC002 MDRout, IRin, DECODE003 MBR{ MPC 101, MPC5,4 IR11,10, MPC0 IR11. IR10. IR9} // MPC 121121 R7out, MARin, READ, R7out, ADD, Zin122 Zout, R7in, WMFC, MBR{MPC0 IR9} WMFC // MPC 167166170221222266267270271272

MDRout, SourceinMBR {MPC 201, MPC5, 4 IR5, 4, MPC0 IR5. IR4. IR3} // MPC 221R3out, MARin, READ, R3out, ADD, ZinZout, R3in, WMFCMRDout, MARin, READ, WMFCMDRout, Yin,Sourceout, ADD, ZinMBR{ MPC0, IR5, IR4, IR3}Zout, MDRin, WRITE, END

No 3.

SUB (1000H(R3)), R5

Dirección

µInstrucción

000 PCout, MARin, READ, ClrY, SetC, ADD, Zin001 Zout, PCin, WMFC002 MDRout, IRin, DECODE003 MBR{ MPC 101, MPC5,4 IR11,10, MPC0 IR11. IR10. IR9} // MPC 161161 PCout, MARin, READ, ClrY, SetC, ADD, Zin162 Zout, PCin, WMFC163164165166167170211270271272

MDRout, YinR3out, ADD, ZinZout, MARin, READ, MBR{MPC0 IR9} WMFC // MPC 166MDRout, MARin, READ, WMFCMDRout, SourceinMBR {MPC 201, MPC5, 4 IR5, 4, MPC0 IR5. IR4. IR3} // MPC 211R5out, MARin, READ, MBR{ MPC 270} WMFCSourceout, SUB, ZinMBR{ MPC0, IR5, IR4, IR3}Zout, MDRin, WRITE, END