Arquitectura de Maquinas Computadoras II

UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION UNI-RUSB ASIGNATURA: Arquitectura de Maquin

Views 153 Downloads 6 File size 221KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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