Sección de Sistemas Digitales EC2721 Arquitectura del Computador I

Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 – Arquitectura del Computador I Problemario:

6 downloads 58 Views 187KB Size

Recommend Stories


ARQUITECTURA DEL COMPUTADOR
ARQUITECTURA DEL COMPUTADOR Ingeniería de Sistemas SYC-30525 Realizado por: Rojas Morales, Junipero, Urdaneta Melean, Jorge Luis Valera Antequera, Da

Notas de Teórico. Arquitectura del Computador
Arquitectura de Computadoras Notas de Teórico Departamento de Arquitectura Instituto de Computación Universidad de la República Montevideo - Urugu

Story Transcript

Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 – Arquitectura del Computador I Problemario: Memoria / Entrada Salida / Buses / Punto Flotante PARTE I: Memoria y Entrada / Salida 1.- Se dispone de cantidad suficiente de chips de Memoria RAM de 1K X 8, 256K x 4, 64K x 1, compuertas lógicas, registros (74LS374, etc.), decodificadores (74LS138, 74LS139, etc), y otros dispositivos de lógica digital compatibles. Se requiere construir varios sistemas de memoria. Para cada uno, proponga combinación de chips de memoria, un mapa de memoria asignada por chip y un diagrama circuital: a) 1M x 8 b) 32K x 16 c) 1Gb x 64 2.- Un circuito básico de Salida puede diseñarse con registros, como el 74LS374. Un puerto de Entrada puede implementarse con buffers de 3 estados como el 74LS244 (unidireccional), 74LS245 (bidireccional). Dibuje el circuito de un Puerto de Entrada/Salida (bidireccional) utilizando combinaciones de estos dispositivos (puede añadir compuertas lógicas). 3.- Utilizando los dispositivos disponibles de 1 y 2, diseñe un circuito de Bus para un sistema de Memoria y Entrada/Salida mapeada en memoria para un procesador de 16 bits de Direccionamiento y 8 bits de datos cuyo mapa de memoria sea el siguiente: Direcciones 0x0000 0xEFF8 – 0xEFFF 0xEFFF

Función Memoria Puertos de Entrada/Salida No implementado

4.- Ejercicio inverso al 3. Para el circuito de la figura, diga cual es el mapa de memoria de Memoria/Entrada/Salida. 5.- Utilizando contadores preiniciables (74LS193, por ejemplo) y registros puede implementarse circuitos de temporización por interrupciones, como dispositivos de Entrada/Salida. Proponga un posible circuito de un módulo temporizador para un procesador de 8 bits.

PARTE II: Buses 1.- Suponga que en un computador 8 dispositivos de I/O están conectados al árbitro según el esquema de árbitro centralizado con niveles que se muestra en la figura 3-39(b) en [1], y están conectados de la siguiente manera: · Línea de Sol. De Bus Nivel 3: dispositivos D8 y D7 · Línea de Sol. De Bus Nivel 2: dispositivos D6, D5 y D4 · Línea de Sol. De Bus Nivel 1: dispositivos D3, D2 y D1 La línea de solicitud de bus de Nivel 3 tiene mayor prioridad que la de Nivel 2 y ésta mayor prioridad que la de Nivel 1. Los Dispositivos en conexión de encadenamiento circular están identificados con el número mayor más cerca del CPU (por ejemplo, D8 es el que está más cerca de todos). Suponga que todas las interrupciones se atienden y resuelven en cuatro unidades de tiempo. Explique en qué orden se atienden y resuelven las peticiones si los dispositivos solicitan el bus de la siguiente forma: · En t = 0: solicitan el bus D8 y D3 · En t = 3: solicitan el bus D4 y D1 · En t = 7: solicitan el bus D7 · En t = 10: solicitan el bus D8 y D5 Haga una gráfica temporal que indique cual proceso está siendo atendido por el CPU (puede ser una barra identificada sobre un eje horizontal de tiempo, u con barras para cada Dispositivo). 2.- Analice la figura 2 para bus síncrono (3-37 de A. Tanenbaum) y responda: a) Suponga que el período de reloj no es 25ns sino 40ns, pero se mantienen las restricciones temporales asociadas a la respuesta del circuito y dispositivos (tabla).¿Cuánto tiempo tendría la memoria para colocar los datos en el bus durante T3, despues de habilitarse MREQ, en el peor de los casos?. b) Suponga que el reloj se mantiene en 40MHz, pero TAD se aumenta a 16ns. ¿Podrían seguirse usando chips de memoria de 40ns? 3.- Suponga que la transferencia de bloques de la figura 3 (3-41 de A. Tanenbaum) se efectúa por el bus de la figura 2 (3-37 de A. Tanenbaum). ¿Qué ancho de banda adicional se obtendría usando esta transferencia de bloques en lugar de transferencias individuales, en el caso de bloques muy largos?. 4.- Conteste la pregunta anterior, suponiendo que el ancho del bus es de 32 bits y no de 8 bits. 5.- En el bus asíncrono de la figura 4 (3-38 de A. Tanenbaum), denotando los tiempos de transición de las lineas de dirección como TA1 y TA2, y los tiempos de transición de MREQ como TMREQ1 y TMREQ2, etc., escriba todas las desigualdades implícitas en el saludo completo.

PARTE III: Programación en Ensamblador 1.- Diga el contenido de la memoria (incluyendo la Pila) del y los registros del MC68HC908GP32 después de ejecutado el programa en Assembler para el HC08 que se le da a continuación: b)

a)

ORG

ORG $40 a0040

Resultado: DS.B ORG $8000

a8000 a8003 a8004 a8005 a8006 a8009 a800A a800D a800E a8010 a8012

6E 9C 4F 5F C6 87 C6 87 AD B7 A7

01 1F

A000 A001 06 40 02

a0040

resultado: DS.B ORG

;PROGRAMA

main: mov #$01,1F rsp clra clrx lda Num1 psha lda Num2 psha bsr calculo sta Resultado AIS #2

a8014 20 FE loop: calculo: a8016 a8017 a801A a801D a801E a8020

1

8C 9EEE 03 9EE6 04 52 AB 05 81

bra loop

clrh ldx 3,SP lda 4,SP div add #5 rts ORG $A000

aA000 28 aA001 10

Num1: Num2:

DC.B DC.B

aFFFE 8000

ORG $FFFE RESET_INT: DC.W END

$28 16

main

$40 1

$8000

main: a8000 a8002 a8003 a8005 a8007 a8009

10 9C A6 AD B7 20

1F

a800B a800E a8010 a8011 a8012

45 8013 AB 03 89 8B 81

05 04 40 FE

lazo:

bset 0,CONFIG1 rsp lda #5 bsr Calculo1 sta resultado BRA lazo

Calc1: ldhx #Calc2 add #3 pshx pshh rts

a8013 A0 01 a8015 81

Calc2: sub rts

aFFFE 8000

ORG $FFFE DC.W main

#1

2.- La arquitectura de Conjunto de Instrucciones (ISA) del Microcontrolador MC68HC908GP32 no dispone de un mecanismo automático de paso de parámetros a métodos (subrutinas) y uso de Variables Locales como el del IJVM para el Mic-1, de modo que el programador/compilador debe implementar, por software, su propio mecanismo para poder implementar métodos generales que permitan, por ejemplo, la recursión. Proponga un algoritmo sencillo y escriba el código correspondiente en ensamblador, que permita implementar esto. 3.- Dibuje un Diagrama de Estados y Escriba el código en Lenguaje Ensamblador para MC68HC908GP32 para que realice las siguientes tareas: a)_________________________________________________________________

b)_________________________________________________________________

c)_________________________________________________________________

EC2721_Arquitectura del Computador 1 Trimestre: Enero_Marzo 2008. Problemas: Tipos de datos. Punto Flotante IEEE754. Punto Fijo

1.-Formatos en Punto Flotante.

1.a.- IEEE 32 bits (Precisión: 6.5 dígitos decimales).

S

E (exponente 8 bits)

m (mantisa 23 bits)

valor: - 1S . 2 (E – 127) .(1 + 0. m)

1.b.- IEEE 64 bits (Precisión: 15 dígitos decimales).

S

E (exponente 11 bits)

m (mantisa 52 bits)

valor: - 1S . 2 (E – 1023) .(1 + 0. m)

float es implementaso como IEEE32 y double como IEEE64 en el Compilador del CODEWARRIOR

2.- Formatos en Punto Fijo.

2.a.- Formato DSP (Precision: 4.5 digitos decimales) m (mantisa 16 bits)

E(exponente 16 bits)

valor = m . 2 E (sin bits escondidos) Los exponentes negativos son representados en complemento a dos.

La mantisa se representa en formato Punto Fijo con signo A(0,15).

El CODEWARRIOR for microcontrolers V6.1 no soporta el formato DSP.

2.b.- Formato Punto Fijo sin signo. U(a,b) ejemplo: U(6,10) Numero de bits = N = a + b

b

⎛ 1 ⎞ n = N − 1 n x = ⎜ ⎟ . ∑ 2 .xn ⎝ 2 ⎠ n=0

.... N=a+b

2.c.- Formato Punto Fijo con signo. A(a,b) ejemplo: A(5,10) Numero de bits = N = a + b + 1

⎛1⎞ x = ⎜ ⎟ ⎝2⎠

b

N −2 ⎡ ⎤ . ⎢ − 2 N −1.x N −1 + ∑ 2n .x n ⎥ …..N = a + b +1 0 ⎣ ⎦

Notas en IEEE 32 y IEEE 64 Precisión Simple

Precisión doble

Objeto representado

Exponente

fracción

Exponente

fracción

0

0

0

0

0

0

no cero

0

no cero

± numero no normalizado

1-254

anything

1-2046

anything

± punto flotante

255

0

2047

0

255

no cero

2047

no cero

±∞ NaN

Problemas resueltos:

P1.- Obtenga la representación en formato IEEE 32 del número 50010 50010 = 1111101002 = 1.11110100 ∗ 28 S=signo = 0 E=exponente=8+127=135….13510 = 100001112 S E (exponente)

m (mantisa)

0 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4

3

F

A

0

0

0

0

P2- Obtenga la representación en formato IEEE 32 del número -50010 S E (exponente)

m (mantisa)

1 1 0 0 0 0 1 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 C

3

F

A

0

0

0

0

P3.- Se tienen 13 bits: 0

1

1

0

1

0

mantisa (Punto fijo A(1,7))

0

0

0

0

1

1

0

exponente 2 compl.

que representan un numero en formato DSP con 9 bits para la mantisa y 4 bits de exponente. La mantisa

tiene formato A(1,7).

Diga el valor de este numero en base 10.

valor = 1.625∗ 26 = 104.010

P4.- Represente el numero 500 base 10 en formato DSP. 50010 = 1111101002 50010 = 0.1111101002 ∗ 29

mantisa A(0,15)

exponente (complemento a 2)

0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 7

D

0

0

0

0

0

9

P5.- Represente el numero -500 base 10 en formato DSP.

50010 = 1111101002

−50010 = [ not(0111110100) +1] 2c = [1000001011+1]2c = 10000011002c −50010 = 1.0000011002c ∗ 29

mantisa A(0,15)

exponente (complemento a 2)

1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 8

3

0

0

0

0

0

9

P6.- Se tienen 32 bits que representan un número en formato IEEE 754 de 32 bits. N= 0x3F490FDA

3

F

4

9

0

F

D

A

0 0 1 1 1 1 1 1 0 1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 Diga el valor de este numero en base 10. valor: - 1S . 2 (E – 127) .(1 + 0. m) Exponente verdadero = Exponente – 127 = 126 -127 = -1 Signo S = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 131072 262144 524288 1048576 2097152 4194304 8388608

0.50000000000000000000000 0.25000000000000000000000 0.12500000000000000000000 0.06250000000000000000000 0.03125000000000000000000 0.01562500000000000000000 0.00781250000000000000000 0.00390625000000000000000 0.00195312500000000000000 0.00097656250000000000000 0.00048828125000000000000 0.00024414062500000000000 0.00012207031250000000000 0.00006103515625000000000 0.00003051757812500000000 0.00001525878906250000000 0.00000762939453125000000 0.00000381469726562500000 0.00000190734863281250000 0.00000095367431640625000 0.00000047683715820312500 0.00000023841857910156200 0.00000011920928955078100

1 0 0 1 0 0 1 0 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0

0.50000000000000000000000 0.00000000000000000000000 0.00000000000000000000000 0.06250000000000000000000 0.00000000000000000000000 0.00000000000000000000000 0.00781250000000000000000 0.00000000000000000000000 0.00000000000000000000000 0.00000000000000000000000 0.00000000000000000000000 0.00024414062500000000000 0.00012207031250000000000 0.00006103515625000000000 0.00003051757812500000000 0.00001525878906250000000 0.00000762939453125000000 0.00000000000000000000000 0.00000190734863281250000 0.00000095367431640625000 0.00000000000000000000000 0.00000023841857910156200 0.00000000000000000000000 0.57079625129699700000000

Fraccion =0. 10010010000111111011010=0.570795774459838 Valor = (-1)0 x (1.5707962512969900) x 0.5 = 0.785398126

Problemas Propuestos:

1.- Obtenga la representación de los siguientes números dados en base 10 en formato IEEE32

a . −

2010 , − 2010

b . −

20.510 , − 20.510

c . −

0.110 , − 0.110 , 0, 62510

d . −

π

2.- Se tienen 3 números x, y, z dados en formato IEEE32. x = 0x5FBE4000 y = 0x3FF80000 z = 0xBFBE4000 obtenga el valor de : a.- x + y b.- x + y + z 3.- Se tienen 2 números dados en formato DSP. x= 0xAB040001 y=0x7301FFD2 Diga su valor en base 10. 4.- Represente el numero pi en formato DSP compare el valor obtenido con el valor obtenido en 1.d

5.- Compare el rango de valores que es posible representar con formato IEEE32 con el rango que es posible representar en formato DSP.

6.- Explique porque el formato DSP tiene precisión de 4.5 dígitos decimales y el formato IEEE32 tiene precisión de 6.5 dígitos decimales.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.