Sie sind auf Seite 1von 11

Estructura de Computadores Ejercicios + Soluciones

Ejercicio 1 Dados los siguientes nmeros representados en decimal: 35 12,5 Representar dichos nmeros en coma flotante segn el estndar IEEE 754 de precisin simple. SOLUCION: 35 35 = 17,5 * 21 = 8,75 * 22 = 4,375 * 23 = 2,1875 * 24 = 1,09375 * 25 Mantisa: 0,09375 => 00011000000000000000000 Exponente: 5 + 127 = 132 => 10000100 12,5 12,5 = 6,25 * 21 = 3,125 * 22 = 1,5625 * 23 Mantisa: 0,5625 => 10010000000000000000000 Exponente: 3 + 127 = 130 => 10000010

Ejercicio 2 Considrese un computador que representa los nmeros en coma flotante segn un supuesto estndar IEEE754 de precisin reducida con 16 bits (1 bit para el signo, 5 bits para el exponente sesgado y 10 bits para la mantisa). Se pide: a. b. c. d. e. Cul es el valor del sesgo para el exponente? Cul es el valor del menor nmero representable en valor absoluto? Cul es el valor del menor nmero representable? Representar los nmeros decimales 8,5 y 3,75 en el estndar definido. Sumar los nmeros anteriores siguiendo el algoritmo de suma del estndar IEEE754 aplicado al formato de 16 bits.

SOLUCIN:

a. El sesgo ser 2k-1 - 1, siendo k el nmero de bits utilizados en el campo exponente. Como k=5, el sesgo ser 25-1 - 1 = 15.
b. Como el exponente tiene 5 bits, tendr valores comprendidos entre 0 y 31, pero el 0 y el 31 se utilizan como excepciones, por lo que el menor valor del exponente ser 1. La menor mantisa ser 0000000000. Por tanto el menor nmero representable en valor absoluto ser: 2E-15 1.M = 21-15 1.0000000000 = 2-14 c. El menor nmero representable ser el nmero negativo con mayor valor absoluto. Signo negativo = 1 Mayor exponente = 30 (ya que el 31 se usa como excepcin) Mayor mantisa = 1111111111 Por tanto el menor nmero representable ser: (-1)S 2E-15 1.M = - 230-15 1.1111111111 = - 215 (2 - 2-10) ya que: 2 2-10 2-2-10 = 10.0000000000 = 0.0000000001 = 1.1111111111 0 0 10010 (3+15) 0001000000 10000 (1+15) 1110000000

d.

8,5 = 1000,1(2 = 1,0001 23 3,75 = 11,11(2 = 1,111 21 N1 = 8,5 = N2 = 3,75 = 0 0 10010 10000

e.

0001000000 1110000000

1) Se restan los exponentes: E1 - E2 = 10010-10000 = 00010 = 2(10 2) Se desplaza la mantisa del nmero de menor exponente dos lugares a la izquierda, incluyendo el bit no visible. 1.M2 = 1.1110000000 0.0111100000 3) Se suman las mantisas 1.M1 y 1.M2 desplazada: 1.0001000000 + 0.0111100000 = 1.1000100000 Como es de la forma 1.M, no es necesario normalizar el resultado. 4) El resultado final es: 0 10010 1000100000 = + 2 18-15 (20 + 2-1 +2-5) = 8 (1 + 0,5 + 0.03125) = 12,25

Ejercicio 3
Responder a las siguientes preguntas relativas a los modos de direccionamiento en un computador cuyo procesador tiene 16 registros de 8 bits cada uno para uso general, y en el que se utiliza un sistema de memoria paginada. a. Explicar si la utilizacin del direccionamiento indirecto se debe a que permite referenciar operandos de mayor tamao que el direccionamiento directo. b. Cul es el rango de direccionamiento con desplazamiento con registro base para el siguiente formato de instruccin?

Cdigo de operacin (8 bits) Registro (4 bits)

Direccin (20 bits)

c. Explicar si las direcciones reales o efectivas que se obtienen a partir de los campos de operando de una instruccin deben ser direcciones de memoria principal.

SOLUCIN: a. Ambos tipos de direccionamiento referencian operandos del mismo tamao (normalmente con la longitud de palabra). La ventaja del direccionamiento indirecto es que permite ampliar el rango de direccionamiento a 2 n, siendo n la longitud de palabra, frente al direccionamiento directo en el que el rango de direccionamiento est limitado por el nmero de bits del campo de direccin de la instruccin, que normalmente ser bastante menor que la longitud de palabra. b. Como los registros son de 8 bits, con ellos se puede referenciar desde 0 hasta 255 (2 8-1), y como el campo de direccin es de 20 bits, se puede representar desde 0 hasta 1.048.575 (2 201). Por tanto, el rango de direccionamiento con desplazamiento con registro base es desde 0 (0+0) hasta 1.048.830 (255+1.048.575). c. En un sistema de memoria paginada las direcciones reales o efectivas no son direcciones de memoria principal, sino direcciones virtuales o registros del procesador. En el caso de direcciones virtuales, la correspondencia con direcciones fsicas de memoria principal depender del mecanismo de paginacin.

Ejercicio 4

Disponemos de un computador cuyo bus de datos tiene un tamao de 16 bits, el tamao de sus registros tambin es de 16 bits, utiliza un sistema de memoria paginada y que maneja el siguiente formato de instruccin: Cdigo de operacin (5 bits) Registro (3 bits)
A la vista de esta informacin, se pide (Razone todas las respuestas):

Direccin (8 bits)

d. Cual es el nmero mximo de instrucciones que puede tener este computador en su juego de instrucciones. e. Nmero de registros de uso general que posee la mquina. f. Si utilizamos direccionamiento directo, que cantidad de memoria es posible direccionar con este formato de instrucciones. Explique en que consiste el direccionamiento directo g. Si utilizamos direccionamiento indirecto, que cantidad de memoria es posible direccionar con este formato de instrucciones. Explique en que consiste el direccionamiento indirecto. h. Cul es el rango de direccionamiento con desplazamiento relativo a registro base para este formato de instruccin? i. Explicar si las direcciones efectivas que se obtienen a partir de los campos de operando de una instruccin son direcciones fsicas de memoria principal. SOLUCIN: b. Puesto que el cdigo de operacin que maneja este computador es de 5 bits, el nmero mximo de instrucciones que puede tener el juego de instrucciones del computador es: 2 5 = 32. c. El campo que posee la instruccin en el enunciado tiene tres bits para referirse a los registros de la mquina, luego podemos referenciar 2 3 = 8 registros. d. El campo que podemos utilizar para escribir una direccin de memoria tiene 8 bits, en el direccionamiento directo la direccin de memoria a la que queremos acceder ha de estar escrita en la propia instruccin, luego podemos acceder desde la direccin 0 a la direccin (2 8 1) = 255. e. En el direccionamiento indirecto el campo de la instruccin que contiene la direccin en realidad tiene la direccin de la posicin de memoria donde se encuentra la direccin real del dato, luego cuando leamos en memoria el dato que se encuentra en el campo de direccin de la instruccin vamos a leer 16 bits que me indican realmente la direccin de memoria donde se encuentra el dato, por tanto en este caso es posible direccionar 2 16 = 65536 direcciones. f. Como los registros son de 16 bits, con ellos se puede referenciar desde la posicin 0 hasta 65535 (216-1), y como el campo de direccin es de 8 bits, se puede representar desde la posicin 0 hasta 255 (28-1). Por tanto, el rango de direccionamiento con desplazamiento con registro base es desde 0 (0+0) hasta 65790 (65535 + 255). g. En un sistema de memoria paginada las direcciones reales o efectivas no son direcciones de memoria principal, sino direcciones virtuales o registros del procesador. En el caso de direcciones virtuales, la correspondencia con direcciones fsicas de memoria principal depender del mecanismo de paginacin.

Ejercicio 5 La figura muestra la estructura de un computador con una CPU de 32 bits y un banco de 16 registros generales (R1 a R16). MAR es el registro de direcciones de memoria y MBR el registro de datos de memoria. El registro RT es un registro temporal transparente al usuario. TR1 y TR2 tambin son registros transparentes al usuario. La ALU permite realizar cuatro operaciones: suma, resta, incremento y decremento. Este computador representa los nmeros enteros en complemento a dos y los nmeros en coma flotante segn el estndar IEEE 754 de precisin simple. Suponga que se requiere un ciclo para acceder a memoria y que sta se accede a nivel de palabra. Adems, todas las instrucciones de este computador caben perfectamente en una palabra.

U n id a d d e C o n tro l

REST

B anco de R e g is t r o s
SP PC RI

TR1 M AR M BR

TR2

RT

Bus de D ire c c io n e s

ALU
Bus de D a to s

O P

L E

M e m o r ia P r in c ip a l

Se pide: 1. Microprograme a nivel de operaciones elementales la instruccin ADD .R2, [#700[.7++]] SOLUCION: En esta instruccin se utiliza direccionamiento indirecto relativo, por lo que se deben hacer dos accesos a Memoria Principal para obtener el segundo operando de la suma. T0 MAR PC memoria T1 MBR MP TR1 PC instruccin. Del contador de programa al registros de direcciones de De memoria principal al registro de salida de memoria Del contador de programa a la ALU para preparar la siguiente

T2 PC TR1 + 1 T3 RI MBR Un. Control T4 TR1 RI T5 TR2 R7 T6 MAR TR1 + TR2 T7 MBR MP R7 TR2 +1 T8 MAR MBR T9 MBR MP T10 TR1 MBR T11 TR2 R2 T12 R2 TR1 + TR2

Al contador de programa le sumo 1 Me llevo lo leido en memoria al registro de intrucciones de la Me llevo el 700 a TR1 uno de los registros de la ALU Me llevo el contenido del registro 7 al otro registro de la ALU Sumo 700 + R7 y preparo para leer el contenido de memoria De memoria principal al registro de salida de memoria Postincremento de R7 Preparo para realizar otra lectura de memoria De memoria principal al registro de salida de memoria De memoria principal al registro TR1 de la ALU Del registro 2 al registro TR2 de la ALU La suma de los dos operandos la guardo en el registro 2

Ejercicio 6 La figura muestra la estructura de un computador con una CPU de 32 bits y un banco de 16 registros generales (R1 a R16). D es el registro de direcciones de memoria y RM el registro de datos de memoria. El registro RA es un registro temporal transparente al usuario. Mux.X y Mux.Y tambin son registros transparentes al usuario. La ALU permite realizar cuatro operaciones: suma, resta, incremento y decremento. Este computador representa los nmeros enteros en complemento a dos y los nmeros en coma flotante segn el estndar IEEE 754 de precisin simple. Suponga que se requiere un ciclo para acceder a memoria y que esta se accede a nivel de palabra.

FP

PC
C M L E

B XX

1 O P

3 2 M ux. X

XY

3 4 M ux. Y E s ta d o TP TS SP FLM FEM B u s d e D a to s

Banco de R e g is tr o s

DA

DB

O p e ra d o r
RA TD TRD

M e m o r ia P r in c ip a l

B u s d e D ir e c c io n e s

FR A A' CR

FD FS RM

TRA

TA TI

TR M

TM

= 0 < 0 D e s b o rd . A c a rre o In te r r. . In h ib . In t. N c l./U s u . FEST

FI E s ta d o Com para d o r

PO

RF

R e lo j O s c ila d o r

U n id a d de C o n tro l
S e a le s d e C o n tr o l D A D B O P X X X Y ........

C o n tr o l d e E /S

Este computador dispone del juego de instrucciones del MIPS R2000 (que se adjunta en una hoja), en el que todas las instrucciones caben perfectamente en una palabra. 1. Responda a las siguientes preguntas: a. Cul es el mximo nmero real positivo que se puede representar en este computador? b. Pasar a coma flotante los siguientes nmeros representados en decimal y realizar la suma de dichos nmeros. 56 -38125x10-4 Solucin: a. Signo Exponente Mantisa
1 bit 8 bits 23 bits

El mayor nmero representable es el 2* 2-23*2127 b. Representando estos nmeros en el estandar IEEE 754 obtenemos los siguientes nmeros binarios: 54 = 0 10000100 11000000000000000000000 -38125*10-4 = 1 10000000 11010000000000000000000 Para realizar la suma, primero igualamos exponentes 54 -38125*10-4 0 10000100 1100000000000000000000000 1 10000100 0001110100000000000000000

Y realizamos la suma binaria de las mantisas con su signo 0 10000100 10100001100000000000000 2. Responda a las siguientes preguntas: a. Microprograme a nivel de operaciones elementales la instruccin LD .R3, #520[.R7++] (recuerde que cabe en una palabra de memoria). Suponiendo que cada ciclo de lectura/escritura a memoria tarda 3 perodos de reloj Cuntos ciclos se necesitan para ejecutar esta instruccin en este computador? b. Concepto de microprogramacin, microinstruccin y microprograma. Solucin: a. T0 T1 T2 T3 T4 T5 T6 T7 D PC I M(D) Lectura PC PC + 1 D 520 + R7 R3 M(D) R7 R7 + 1 Lectura R3 Memoria TP, FD, PO, RF=0 CM, L L L, TM, FI, XY=11, OP=Y+1, TD, FP FD, TI, DA=7, XY=10, XX=10, OP=X+Y,TD, CM, L, DA=7, XY=10, OP=X+1, TA, CR L L, TM, DA=3, CR

b. Microinstruccin: cada palabra que define un periodo de una instruccin, cada microinstruccin tiene un bit por seal de control, este ser 1 si ha de activarse, y 0 en caso contrario. Microprograma: conjunto ordenado de microinstrucciones que representan el cornograma de una instruccin. Microprogramacin: Utilizacin microprogramas para realizar la Unidad de Control, almacenando en ella todos los microprogramas de las instrucciones bsicas del computador.

Ejercicio 7 En qu consiste una unidad de control microprogramada? Dibuje el esquema correspondiente a una unidad de control microprogramada con secuenciamiento implcito. SOLUCION Unidad de control microprogramada: Idea bsica: Emplear una memoria para almacenar el estado de las seales de control en cada perodo de cada instruccin. A cada palabra que define un perodo de una instruccin Microinstruccin Unidad de control microprogramada Las microinstrucciones tienen un bit por cada seal de control. Microinstruccin: cadena de 1s y 0s que representa el estado de cada seal de control durante un perodo de una instruccin.

Caractersticas de la unidad de control microprogramaza Correcciones, modificaciones y ampliaciones fciles Slo se cambian algunas microinstrucciones. Se pueden incluir instrucciones complejas. Permite incluir funciones del sistema operativo. Computadores con varios juegos de instrucciones. Se pueden emular otros computadores. Rutinas de diagnstico. Hw simple difcil microcdigo

Secuenciamiento implcito:

control.

Instrucciones de un microprograma ordenadas consecutivamente en la memoria de Necesario: Etapa traductora (ROM o PLA) Registro de microdirecciones e incrementador

Das könnte Ihnen auch gefallen