Vous êtes sur la page 1sur 27

INGENIERÍA TÉCNICA

EN INFORMÁTICA DE SISTEMAS

Estructura de Computadores

Relación de Problemas

Departamento de Tecnología Electrónica


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

BOLETIN 1: Diseño de Sistemas Digitales a nivel RT

P1. Un registro universal (RU8) de 8 bits tiene la siguiente descripción:


- Entradas de datos: 8 en paralelo (X7-0) y dos en serie (r y l), una para desplazamiento a derecha (r) y otra a
izquierda (l).
- Salidas de datos: 8 en paralelo (z7-0).
- Entradas de control: la del reloj (Ck) y dos para las distintas operaciones (S1S0, con 00 para inhibición, 01
para desplazamiento a la derecha, 10 para desplazamiento a izquierda y 11 para carga en paralelo).
Descríbalo a nivel RT. Especifique un registro equivalente cuyo control se efectúe con sólo una entrada
activa por cada operación de cambio de datos. Diséñelo utilizando un RU8.

P2. Describa a nivel RT un contador ascendente mod-64 con puesta a cero, carga en paralelo e inhibición.

P3. Un registro A con n etapas individuales se acopla a un bus cuyas líneas llevan los bits B. Los componentes
del registro A son biestables SR. Dibuje el diagrama lógico de un circuito asociado a una etapa del registro
que nos permita ordenar la transferencia a la etapa del bit que resulte cuando Ai hace la operación AND con
Bi, esto es, Ai ← AiBi.

Repítalo para Ai ← Ai + Bi, Ai ← Ai ⊕ Bi, Ai ← Ai ⊕ Bi .

P4. Se desea realizar la operación:


MAB: B ← A
1) Dibuje la celda básica de B con biestables RS.
2) Suponga que encontramos aceptable realizar una transferencia registro a registro en dos pasos, es decir,
primero borramos B y después cargamos B con el contenido de A. Demuestre que en este caso podemos usar
menos hardware que en el apartado 1. Dibuje la celda básica de B y las señales para dicha transferencia sín-
crona.

P5. Sobre un registro A deben realizarse las tres operaciones siguientes, siendo B el contenido de n bits de un
bus de datos:
TNOR: A←A+B

TNAND: A← A•B

TEQ: A← A⊕B
Diseñe una etapa del registro A de n-bits con biestables JK.

P6. Se definen las siguientes operaciones de desplazamiento a la derecha:


- LSR (Logic Shift Right): Se trata del llamado desplazamiento lógico, en el que el bit de entrada serie es 0.
- ASR (Arithmetic Shift Right): Se trata del llamado desplazamiento aritmético, en el que el bit de entrada
serie es el bit de signo.
- ROR (Rotation Right): Se trata de la llamada rotación, en la que el bit de entrada serie coincide con el bit
de salida serie.
a) Describa las tres operaciones a nivel RT para un registro de n bits, representando el circuito correspondi-
ente.
b) Realice los tres circuitos anteriores para el caso n = 8 utilizando el registro 74198.
c) Realice un circuito basado en 74198 que permita realizar las siguientes funciones:

A1 A0 Operación

00 LSR
01 ASR
1- AOR

2 Diseño de Sistemas Digitales a nivel RT


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

X7-0
8

Dsr Dsl MR S1 S0

0 - - Puesta a 0 asíncrona
MR 74198
100 Inhibición
S1 [8]
101 Desplazamiento izqda.
S0 110 Desplazamiento dcha.
111 Carga en paralelo
8

CK
O7-0

P7. Compare las siguientes declaraciones RT:


a) A + B: E←C+D
b) A + B: E←C∨D
c) C + D: E←A+B
d) A • B: E←C∧D
e) A • B: E←C•D
f) A • B: E←CxD

P8. Se dispone de un registro con terminales de entrada y salida separados que posee una única señal de control
para escritura, W. Se pretende incorporar este registro a un sistema ya dado a través de un bus 3-estados bidi-
reccional. Describa cómo se implementa la incorporación.

P9. Se dispone de cuatro registros con datos (R0, R1, R2 y R3) y una ALU, todo de n bits. Se desea diseñar un
sistema que permita a cualquiera de los registros ser datos-operandos o/y destino del resultado. El registro
fuente del dato A es seleccionado por dos bits, A1 y A0; el de B, por B1 y B0; y el de destino, por D1 y D0.
Muestre la estructura del sistema e indique cómo se realiza una operación en los siguientes casos:
1) Un esquema de conexión basado en multiplexado, usando registros con terminales de entrada y salida sep-
arados.
2) Un esquema de conexión basado en buses tri-estado, usando registros con terminales de entrada y salida
separados.
3) Usando registros con terminales de datos bidireccionales.
Añada, en cada caso, los dispositivos que se necesiten.
Indique en cada caso la secuencia de activación de las señales de control de los dispositivos indicando de
dónde provienen.

P10. En un sistema digital se desean implementar las siguientes micro-operaciones condicionales:


W: M ← MBR (El dato de MBR se escribe en memoria)
R: MBR ← M (Se lee de memoria un dato y se escribe en MBR)
E: MBR ← EXR (Se carga en MBR el dato de un registro externo EXR).
k
La memoria M es RAM de 2 x n, con bus de datos de entrada y de salida separados, con una señal de habil-
itación activa en alta (EN) y señal de control de lectura-escritura (R/W); cuando no se lee de la memoria, sus
salidas muestran un 0 lógico. El registro MBR es de n bits, con entradas y salidas separadas, señal de carga
en paralelo (L) y salidas incondicionales. El registro EXR, de n bits, tiene salidas incondicionales.

Diseño de Sistemas Digitales a nivel RT 3


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

Describa a nivel RT los dispositivos con memoria y construya la unidad de datos del sistema. Las señales W,
R y E son generadas por el controlador. No importa cómo se generen las señales de dirección de la memoria.

P11. Un procesador posee los siguientes registros: un contador de programa (PC) y un registro de direcciones de
memoria (MAR) de 16 bits, un registro de datos de memoria (MDR) de 24 bits y un registro de instrucciones
(IR) de 8 bits. MAR podrá ser cargado con el contenido de PC (cuando se activa una señal LPC) o con los
16 bits menos significativos de MDR (cuando se activa una señal LMDR). Los 8 MSB's de MDR se almace-
narán en IR (cuando se active una señal TMDR).
a) Indique a nivel RT las transferencias hacia MAR y hacia IR, y dibuje un diagrama de bloques del proce-
sador.
b) Se dispone de circuitos integrados, cada uno de los cuales incluye un registro o un contador de 8 bits.
Indique cuántos circuitos integrados se necesitan para construir el sistema indicado, mostrando su ubicación
en el diagrama de bloques anterior.
c) Diseñe MAR utilizando el Circuito Integrado 74198.
d) Diseñe MAR utilizando el C.I. 74298.

IA3-0 IB3-0
4 4

S CIR

CIR ← IA
S 74298
0
CIR ← IB
CIR[4]
1
Ck

Q3-0

Nota: C.I. 74298 ver problema 6.

P12. Sean A y B registros de desplazamiento de cuatro bits y sea S la función de control del desplazamiento. Para
el diagrama temporal de la figura, indique la secuencia de salida SOb si inicialmente los registros están car-
gados con los siguientes datos: [A] = 1010, [B] = 0111

SIb SOb
SIa A B
SOa

Ck &
S

Ck

4 Diseño de Sistemas Digitales a nivel RT


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

P13. En la unidad de datos de la figura se activan las señales de acuerdo con la siguiente secuencia de control.

ciclo EN d1 d0 S1 S0

1 0 1 1 0 0
2 1 1 1 1 1
3 0 0 0 0 1
4 0 0 1 1 0
5 1 0 0 0 0
6 0 1 0 1 1

Describa qué operaciones se hacen (a nivel RT), así como la operación global en los seis ciclos de reloj.

S1 0 1 2 3

S0 n x MUX 4:1

n
n
n n n n

A B C D

n n n n

0
d1
1
d0 2
3

EN

P14. La figura muestra una carta ASM de un sistema así como la unidad de datos correspondiente. En dicha carta,
x e y son entradas que pueden tener cualquier valor binario, permaneciendo constantes desde que Xs se
hace 1.
Especifique todos los errores de esta carta, comentándolos brevemente.

Ra Rb Rc
Wa A Wb B Wc C
Za Zb Zc

Diseño de Sistemas Digitales a nivel RT 5


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

0
Xs
1

S=1

1 0
x.y

C←B B←C

0 1
x+y 0 1
x

A←B 0
C←0 y A←C
1

C←A

sí no
C=0

B←A A←B

P15. Considere un sistema con tres registros (A, B, C) de ocho bits. Ha de tener lugar la siguiente secuencia de
operaciones en el orden que se describen:
Cuando se activa una señal de comienzo (Xs), los datos de entrada se cargan en A. El complemento de los
datos de A se cargan en C. Finalmente, los datos de C se almacenan en B. Con los datos de A y B se hace la
operación OR y el resultado se almacena en C. Finalmente, los datos de C son situados en las líneas de salida,
tras lo cual el sistema va al estado de espera.
a) Describa las operaciones a nivel RT.
b) Diseñe la unidad de datos que pueda realizarlas.
c) Haga la carta ASM de las señales a activar por el control.
d) ¿Habría que hacer algún cambio para imponer que las líneas de salida estuviesen en alta impedancia
cuando no mostraran el dato? En su caso, ¿cuáles son?

P16. Se desea realizar la siguiente microoperación:


K T0 A ← B0
T1 A ← B1
T2 A ← B2
T3 A ← B3
NOR (T0+T1+T3+T4) NOP

6 Diseño de Sistemas Digitales a nivel RT


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

donde K identifica esta microoperación, T0-T3 son las variables de entrada, los registros son de ocho bits y,
.
en cada instante, hay como mucho una señal de entrada a 1 (esto es, Ti Tj = 0 ∀i, j).
a) Represente el bloque ASM correspondiente.
b) Muestre una implementación del circuito que realiza esta instrucción en los dos casos siguientes:
1. Los registros Bi tienen salida estándar en paralelo.
2. Los registros Bi tienen salida triestado (alta impedancia) en paralelo.

P17. Para la unidad de datos de la figura, diseñe un controlador que permita realizar la operación de intercambio
de información entre los registros A, B, C de la siguiente forma:

A→ B →C

Rt
Wt RT Ra

∇ A
Wa

Rb
A ∇ B
b ALU a Wb
S
8

Rac Rc
∇ C
Wac ACUM Wc
Zac ∇
8
8
SHL

P18. Para la unidad de datos de la figura anterior, diseñe un controlador basado en registro de desplazamiento que
permita realizar la operación siguiente:
C = 4 * (A + B).
Nota: La entrada SHL del acumulador produce un desplazamiento lógico hacia la izquierda, introduciendo
un “0” por la derecha.

P19. Para la unidad de datos de la figura, diseñe una unidad de control basada en registro de desplazamiento de
forma que, en función de dos bits de entrada I1, I0, pueda elegirse entre una de las cuatro macrooperaciones
siguientes:
1) A ← A + 2B
2) A ← A - 2B
3) C ← A - 2B
4) C ← 2A + 2B

Diseño de Sistemas Digitales a nivel RT 7


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

Rt Rsh
RT SHIFT REG. Wsh
Wt ∇
SHL
8 8

SEL 0 MUX 1
Ra
∇ A
Wa

Rb
A ∇ B
b ALU a Wb
S
8

Rac Rc
ACUM ∇ C Wc
Wac
Zac ∇
8
8

P20. Para la unidad de datos de la figura, diseñe un controlador que permita escribir en B el número de “1” que
hay en A. El contador C1 es de tres bits (mod. 8) y el C2 de 8 bits (mod. 256). ¿Qué cambio hay que introducir
para escribir en B el número de “0” de A?
Nota: Zi = Puesta a 0 síncrona.
Ii = Incrementar.
CYi = CARRY.

Wa Wb
A[8] B[8]
Ra Rb

8 8
8

8 3 8

Rd CY1 CY2
Wd REG. DESP. C1 C2
SHR
R1 W1 I1 Z1 R2 W2 I2 Z2

8 Diseño de Sistemas Digitales a nivel RT


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

P21. Para la unidad de datos que se presenta, se quiere realizar un sistema digital capaz de comparar dos números
de 8 bits (A y B), y almacenar en A el mayor de ellos y en B el menor. Tras finalizar la operación, el sistema
generará una señal de FIN.
a) Defina correctamente las operaciones de los registros.
b) Obtenga la carta ASM y el controlador.
c) Sin añadir elementos nuevos, ¿se puede simplificar la arquitectura de esta unidad de proceso? Razone la
respuesta.

A[8] C[8]
1
E E>F
E=F
B[8] D[8] F E<F
1
8

CONT. mod-8

P22. La figura muestra la solución al último apartado del problema anterior. Recordemos que se trata de almace-
nar en A el mayor y en B el menor de los datos previamente almacenados en A y B. Determine la carta ASM
para esta unidad.

Ra Rc
Wa A[8] iL C[8]
Wc
SHLa
A7

Rb
Wb B[8] iL
SHLb
8 UP
B7 CONT. mod-8 CY
CL

P23. La figura muestra la memoria (MEM) de un sistema: el registro de direcciones (MAR) puede ser cargado
con el contador del programa (PC) o con el puntero de pila (SP), el registro de datos (MDR) está conectado
a un bus de datos internos (IDB), al que también se conecta el registro A, y otro externo (EDB) conectado
con la memoria.Se quiere incorporar las dos operaciones de la pila de EMPUJAR (PUSH) y EXTRAER
(PULL) que consisten respectivamente, en llevar A a la pila y en llevar de la pila a A (recuerde que PUSH
A implica MEM ← A y SP ← SP + 1, mientras que PULL A implica SP ← SP - 1 y A ← MEM(SP)).
Cuando no hay operación de la pila, el puntero SP apunta a la PRIMERA DIRECCIÓN LIBRE.
Diseñe el controlador que permita ejecutar las operaciones de PUSH (I1I0 =00) y PULL (I1I0 = 01).
Nota: los códigos I1I0 = 1X están reservados para otras operaciones no definidas en el enunciado.

Diseño de Sistemas Digitales a nivel RT 9


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

IPC ISP
PC[16] SP[16]
DSP
16 16 IDB[8]

Ra
A[8]
Wa
TPC
MAR[16]
TSP

Ri
Wi
CS R W MDR[8] Re
16
We

AB[16]
MEM
EDB[8]

P24. En la unidad de datos de la figura se han representado todos los componentes y los caminos de datos.
Suponga que, además, existe disponible una señal, FIN, que se pone a 1 cuando se han sumado n bits. Se
desea realizar las tres macrooperaciones siguientes:
C←A+B
C←A
C←B
a) Especifique las señales de control y operaciones de los registros y el biestable.
b) Diseñe el controlador.

A[n]
1 Cin
A0 a
Sumador
B[n] completo C[n]
1 b
B0 Cout

IN
Biestable
OUT

P25. Diseñe un sistema digital (ver figura), que opere como sigue. Sincronizado con Ø1, recibe por XS un pulso
de un ciclo de duración y, a continuación, 8 bits de datos en serie por una línea Din.
El sistema, de forma sincronizada con Ø2, en primer lugar debe generar por XO un pulso de un ciclo de
duración y, seguidamente, retransmitir por Dout los 8 bits de datos recibidos.

10 Diseño de Sistemas Digitales a nivel RT


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

XS
XO
Din SISTEMA
Φ1 DIGITAL Dout

Φ2
CLK
q
1 T

P26. Un número decimal de dos dígitos se almacena en dos registros de cuatro bits en forma BCD. El registro M
contiene los dígitos más significativos; el L, los menos. Los números se transfieren para que aparezcan en
un registro R de ocho bits. Para efectuar la transferencia se dispone de un bus de cuatro bits accesible a M y
L, pero sólo a las cuatro posiciones de más a la derecha del registro R. La operación de transferencia se real-
iza respondiendo a un conmutador.
a) Establezca una arquitectura para el sistema especificando los terminales de control de cada registro.
b) Construya la carta ASM.
c) Diseñe el controlador del sistema.

P27. Haga la carta ASM y diseñe el controlador de un ascensor que circula entre dos pisos (1o y 2o). En cada piso
hay un pulsador para llamar al ascensor (L1 y L2) y dentro del ascensor hay dos pulsadores (B1 y B2) para
elegir el piso de destino. En cada piso existe un sensor que detecta la llegada del ascensor y activa una señal
(T1 para el 1er piso y T2 para el 2o).
a) Si el ascensor está en movimiento y se pulsa algún interruptor debe continuar hasta alcanzar el piso des-
tino.
b) Antes de iniciar el movimiento hay que dar la orden de cerrar la puerta del ascensor (señal CP) y al final-
izar el recorrido hay que dar la orden de abrir la puerta (señal AP).
c) Para que el ascensor se mueva hay que activar las señales SUBE o BAJA hasta que alcance el piso destino.

P28. Un sistema digital tiene como unidad de datos lo representado en la figura. Inicialmente, al menos uno de los
bits de A es un cero. El sistema debe dar como salida el número binario de la posición del “0” menos
significativo de la palabra almacenada en el registro A.
a) Describa, a nivel RT, los componentes de esta unidad de datos.
b) De la carta ASM y diseñe el controlador (basado en un biestable por estado).
c) Si el valor inicial de A es: 10101011, represente en el tiempo (hasta que se ha generado la salida deseada)
los siguientes parámetros: BUS, señales de control (RA, S1, S0, CLC, UP) y las salidas del sistema digital.

Diseño de Sistemas Digitales a nivel RT 11


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

¿Cuál es el contenido de RU8 y de CONT tras regresar al estado de espera?

RA A[8] S1S0 OPERACIÓN

BUS7-0 00 INHIBICIÓN
8
01 CARGA PARALELO
10 DESP. IZQ.
11 DESP. DCHA.
S1 R L
RU8
S0
8
S1 CY
CONT mod-8
S0
Z7-0
3

O2-0

P29. Un sistema digital debe analizar su línea de entrada X con objeto de contabilizar el número de pulsos de esa
señal que tiene de anchura 1, 2 ó 3 ciclos de reloj. El sistema dispone de tres salidas (z1, z2, z3) con las que
se indica cuál de los tres tipos de pulsos es más numeroso. (Por ejemplo, si se han recibido siete pulsos de
un ciclo de reloj, cuatro pulsos de dos ciclos y nueve pulsos de tres ciclos, el sistema generaría como salida
z1z2z3 = 001). Desde que se le da la orden de comienzo, se deberán analizar 256 ciclos de reloj, volviéndose
después al estado inicial. Diseñe dicho sistema, utilizando los subsistemas habituales.
Nota 1: Nunca se recibirán pulsos de más de tres ciclos de reloj.
Nota 2: En caso de igualdad se activan las salidas correspondientes.

P30. Dado el controlador de la figura basado en un biestable por estado:


a) Realice la carta ASM correspondiente a dicho controlador.

0
0
q1 q2 q3 1 q4
D1 D2 D3 D4
1
X1
X2

0 z

X1 X2

Nota: Este controlador no tiene señal de comienzo ni estado de No Operación. Resuelva el apartado (b) sin
preocuparse de este hecho.

12 Diseño de Sistemas Digitales a nivel RT


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

P31. Un sistema digital (ver figura) consiste en una cerradura electrónica que se abre mediante una combinación
adecuada de 8 bits. La combinación está almacenada en el sistema. El modo de operación es como sigue:
RESET

LEE

INTENTA ABRE
Sistema
BIT Digital

Ck

- La señal RESET lleva al sistema al estado inicial (no hay que incluirla dentro de la carta ASM ya que se
considera asíncrona).
- La señal BIT indica el bit correspondiente de la combinación (comenzando por el más significativo).
- La señal LEE (al activarse) indica que se puede leer la entrada BIT.
- La señal INTENTA (al activarse) indica que ya se ha introducido la combinación y si es correcta se abrirá
la caja (poniéndose la salida ABRE a 1).
a) Diseñe la unidad de datos del sistema.
b) Exprese el algoritmo de control mediante una carta ASM (no es necesario diseñar la unidad de control).

P32. Un sistema digital controla el proceso de llamadas telefónicas a través de la red telefónica. Las llamadas
pueden ser provinciales (7 dígitos) o nacionales (9 dígitos). Tras activarse la señal de comienzo Xs, en cada
ciclo de reloj llega el dígito correspondiente del número marcado. El usuario activa una señal (YA) cuando
termina de teclear. El sistema debe responder de la siguiente forma: si el número de dígitos recibidos es incor-
recto, durante un ciclo de reloj debe activarse una señal de error (E); si el número de dígitos es correcto,
durante un ciclo de reloj debe activarse la señal de llamada (LLAMA) y una señal adicional que indicará si
la llamada es provincial (P) o nacional (N). El sistema recibe una señal, (COM), que indica si el teléfono de
destino comunica. En este caso deberá volver a realizar la llamada hasta tres veces sin necesidad de volver
a marcar. Diseñe el sistema.
Nota: No se preocupe de cómo se almacena el número.

P33. Se desea diseñar la unidad de control del nuevo modelo de lavadora V-1000 que tiene las siguientes especi-
ficaciones:
- El ciclo de lavado, que se inicia al activar la orden de comienzo Xs, consta de prelavado (P), lavado (L),
aclarado (A) y centrifugado (C), que se harán en ese orden. La máquina procederá a cada operación cuando
la unidad de control active la correspondiente señal (P, L, A o C).
- La lavadora V-1000 dispone, fuera de la unidad de control, de un contador con señales de puesta a cero
(CLS) y de incremento (I), así como cuatro salidas que se activan cuando transcurre el tiempo de prelavado
(TP), el de lavado (TL), el de aclarado (TA) y el de centrifugado (TC). Cada uno de estos tiempos (TC, TA, TL
y TP) se contabilizan desde cero.
- El ciclo de lavado se divide en dos subciclos. Uno de duración fija TL y otro variable que termina cuando
se activa un “Sensor de Ropa Limpia” (SRL = 1).
- Durante el prelavado, lavado y aclarado la puerta de la lavadora deberá estar bloqueada, para lo cual se acti-
vará la salida correspondiente.
- El último ciclo, el de centrifugado, tiene una duración TC. Si se detecta la apertura de la puerta de la lava-
dora, el centrifugado quedará interrumpido. Para ello existirá una señal (PA) que se activa cuando la puerta
está abierta. En el momento que se detecta la desactivación de dicha señal, el proceso de centrifugado con-
tinuará a partir de donde se interrumpió.
Dibuje el diagrama de bloque y la carta ASM de la unidad de control y diséñela con 1 biestable por estado.

P34. Se desea diseñar una calculadora que realice la suma, resta o multiplicación de dos datos de entrada sin signo
de 12 bits (ver figura). Para ello, su diseño se descompondrá en dos partes.

Diseño de Sistemas Digitales a nivel RT 13


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

1) Realización de SUMA y RESTA.


Los dos datos de entrada se captarán tras activarse la señal ENTRA. Después, el sistema operará según cuál
de las dos señales (SUMA o RESTA) esté activa. Sólo una de estas señales podrá estar activa. El resultado
se mostrará en el bus de salida R. Si A<B, al ejecutar RESTA se hará B−A y se activará la salida
Signo_Menos.
a) Diseñe una unidad de datos propia para este problema. Esto es, no tiene por qué parecerse a la dada
en teoría. En todo caso, deberá estar especificada y dimensionada adecuadamente.
b) Determine la carta ASM.
2) Además, realización de MULT.
Al sistema anterior se incorporará la multiplicación A * B, cuando se active MULT, que se hará sumando A
tantas veces como indique B.
a) Rediseñe la unidad de datos anterior para incorporar esta nueva operación (la unidad de datos no
puede incluir un multiplicador como subsistema). Redimensione la unidad para que no existan prob-
lemas de desbordamiento.
b) Obtenga la carta ASM global y diseñe el controlador.

A B
12 12

Xs
ENTRA FIN
SUMA
RESTA Signo_Menos
MULT
+|*

A B

P35. Se va a calcular el producto aritmético P de dos números X e Y (P = X.Y). Para ello se van a emplear tres
contadores CX, CY y CP. Al comienzo del proceso se cargan los operandos X e Y en sus respectivos conta-
dores CX y CY. El contador CP contendrá el resultado al final del proceso. El producto se obtiene incre-
mentando CP un total de P veces. Para conseguir esto se decrementa CX hasta que llega a cero en cuyo caso
se decrementa una vez CY y se vuelve a cargar X en CX. Naturalmente, cuando CY llega a cero CX se ha
decrementado un total de X.Y veces. Si al mismo tiempo se ha ido incrementando CP tendremos en ese con-
tador el resultado esperado.
a) Describa a nivel RT CX, CY y CP.
b) Obtenga la carta ASM del sistema.
c) Diseñe la unidad de control utilizando el método de un biestable por estado.

P36. Un sistema digital contiene dos números de ocho bits, almacenados en dos registros A y B. El exponente lo
forman los dos bits de mayor peso del registro y, al igual que la mantisa, no tiene signo (ver figura). Esto es,
las cantidades representadas son positivas y enteras. No existe ningún tipo de normalización, es decir, el bit
más significativo de la mantisa puede ser distinto de 1. Se desea diseñar el sistema digital que sea capaz de

14 Diseño de Sistemas Digitales a nivel RT


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

depositar en el registro C, el mayor de los dos números.


mantisa

e1 e0 a5 a4 a3 a2 a1 a0
punto decimal
exponente

P37. Un formato asíncrono para transmitir en serie un carácter de 8 bits (D0-D7) se muestra en la siguiente figura.
El primer bit, que sirve para avisar al receptor del inicio del carácter (bit de start), es un 0 lógico. A contin-
uación vienen los 8 bits del dato, empezando por el menos significativo, el D0. Posterior al D7 viene el bit
de paridad impar P y, por último, un bit de stop que es 1 lógico. La duración de cada uno de estos bits es Tbit.

Tbit Tbit

X D0 D 1 D2 D3 D 4 D5 D 6 D7 P
X SISTEMA
Bit de start Bit de stop
Tbit

Xs ERROR_PARIDAD
clk
ERROR_TRAMA

16 ciclos
X
1er ciclo 8o ciclo
clk

Se desea diseñar un sistema digital capaz de recoger los bits de datos en este formato y almacenarlos en el
registro RCREG. El reloj del sistema es mucho más rápido que la señal X; en concreto, el periodo es de Tbit/
16, esto es, existen 16 ciclos de reloj por cada bit de entrada. Tras la activación de la señal Xs el sistema
operará de la forma siguiente:
- Si en un ciclo de reloj el sistema detecta X = 0, espera 8 ciclos (punto medio de un bit) y vuelve a leer X.
Si ahora X = 1 interpreta que ha habido un error transitorio y vuelve a esperar un bit de start correcto. Si X
sigue valiendo 0 pasa a leer el mensaje para lo cual capturará cada bit leyendo X en el medio del bit (aprox-
imadamente el ciclo octavo (ver figura)).
- Tras leer un dato, el sistema esperará uno nuevo sin necesidad de activarse la señal Xs. Así mismo, el
sistema debe activar la señal ERROR_PARIDAD cuando la paridad recibida no sea la correcta y debe activar
la señal ERROR_TRAMA cuando el bit de stop es un 0 en lugar de un 1.
Diseñe el sistema digital completo.

Diseño de Sistemas Digitales a nivel RT 15


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

BOLETIN 2: Diseño a nivel RT de un Computador Simple

P1. La siguiente figura muestra la Unidad de Procesado de Datos de un microprocesador con bus de datos de 8
bits (D7-D0) y bus de direcciones de 16 bits (A15-A0).
AB[16] (a Memoria)

A15 - A0
MARH[8] MARL[8]

8
PCH[8] PCL[8]
RT[8]

IR[8] ALU

AC[8]

CONTROL
MDR[8]

DB[8] (a/de Memoria)

D 7 - D0
Como puede observarse, el bus interno de comunicación es de 8 bits y dispone de los siguientes registros:
- MAR (Memory Address Register): de 16 bits, está formado por la concatenación de dos registros de 8 bits:
MARH y MARL.
- MDR (Memory Data Register): de 8 bits, su finalidad es servir como registro intermedio entre el procesador
y la memoria externa. Todo dato que entre o salga del procesador deberá ser almacenado previamente en
MDR.
- IR (Instruction Register): es de 8 bits.
- PC (Program Counter): es de 16 bits y está formado por la concatenación de dos registros de 8 bits: PCH y
PCL.
- AC (Acumulador): es de 8 bits.
- RT (Registro Temporal): es de 8 bits y es utilizado para el cálculo de operaciones intermedias.
Obtenga la secuencia de microoperaciones necesarias para realizar la siguiente instrucción indicando
cuáles corresponden al ciclo de FETCH y cuáles al de EXECUTE:
LDA $B043
Nota: Cada instrucción ocupa 3 palabras de 8 bits consecutivas de la memoria. En la primera aparece el
código de operación (LDA); en la segunda aparecen los 8 bits de dirección más significativos del operando
(A15 - A8); y en la tercera aparecen los 8 bits de dirección menos significativos (A7 - A0).

16 Diseño a nivel RT de un Computador Simple


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

P2. Con el conjunto de instrucciones del CS2, diseñe un programa que permita realizar la instrucción siguiente:
Si A=B go to $20
Si A≠B go to $21
donde A y B son dos números que se encuentran en las posiciones de memoria $F0 y $F1 respectivamente.

P3. ¿Se pueden realizar operaciones aritméticas en Ca2 con el CS2?

P4. Diseñar un programa con el juego de instrucciones del CS2 que permita la división de dos números A y B
positivos. El resultado será un cociente que se almacenará en la dirección de memoria $COCIENTE y el resto
en la dirección de memoria $RESTO

P5. Dados dos números positivos N1 y N2 almacenar en el AC el mayor de los dos.

P6. Sean A y B dos números con signo que se encuentran en las direcciones $FF y $FE respectivamente. Se desea
desarrollar un programa que almacene en la dirección $F0 el mayor de ambos números.

P7. A partir de la dirección $F0 existen 16 datos positivos. Se pide almacenar en $E0 el mayor de los 16 datos.

P8. Realizar un programa con el CS2 que obtenga el valor absoluto de la diferencia de dos datos positivos
almacenados en memoria.

P9. Sean A,B y C tres números positivos que se encuentran en las posiciones $FF, $FE y $FD respectivamente.
Desarrollar un programa que permita determinar cuál de los números A y B, está más cerca de C y almace-
narlo en la dirección $E0.

P10. A partir de la dirección $F0 nos encontramos con 16 datos. Se pide diseñar un programa que almacene en
$E0 el número de 1’s totales existentes en los 16 datos.¿qué modificaciones habría que realizar para contar
el número de 0’s totales?

Diseño a nivel RT de un Computador Simple 17


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

BOLETIN 3: El Microprocesador Motorola 68000

P1. Partiendo de la siguiente situación inicial, donde se indica el contenido de ciertos registros y direcciones de
memoria:
Dirección Contenido Registro Contenido
800 08 A0 0000 0802
801 03 A1 0000 0804
802 01 D0 0000 0002
803 00 D1 FFFF FFFF
Indique el valor que tendrá el registro D1 después de ejecutar la instrucción MOVE de forma independiente
en cada uno de los casos siguientes:
a) MOVE.B D0,D1
b) MOVE.W (A0)+,D1
c) MOVE.L -(A1),D1
d) MOVE.B -3(A1,D0.W),D1
e) MOVE.L -2(A0),D1

P2. Inicialmente, el contenido del registro D0 es 00000003. Indique cuál será su contenido después de ejecutar
la siguiente secuencia de instrucciones:
MOVE.L #$FFFF,$0F3A
MOVE.L D0,D1
MOVE.L #$0F3A,A0
MOVE.L (A0)+,D0
ADD.L D1,D0

P3. Partiendo de los valores iniciales que se dan a continuación, indique los valores que tendrán las posiciones
de memoria después de ejecutar la siguiente secuencia de instrucciones:
Registro Valor Dirección Valor
D0 0000 0002 0000 0F3A 00
A0 0000 0F3B 0000 0F3B 00
A1 0000 0F3A 00000F3C 00
0000 0F3D 00
0000 0F3E 00
0000 0F3F 00
0000 0F40 00
0000 0F41 00
0000 0F42 00

MOVE.L #$0F3F,$0F3A
MOVE.B #2,(A1)
MOVE.B D0,4(A0)
MOVE.W $0F3C,3(A0,D0.W)

P4. Dados los siguientes valores iniciales de registros y memoria, indique los resultados obtenidos tras ejecutar
el siguiente fragmento de código:
Registro Valor Dirección Valor
A0 0000 0004 0000 0008 1D
D2 0123 ABCD 0000 0009 1B
D3 000C 0002 0000 000A 1C
0000 000B 14
0000 000C 0C
0000 000D 0A
0000 000E 0B
0000 000F 03

18 El Microprocesador Motorola 68000


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

MOVE.B #$1A,$B
MOVE.W $8,$C
MOVE.W D2,8(A0,D3.W)

P5. Diseñe las instrucciones necesarias para implementar en lenguaje ensamblador la siguiente secuencia de sen-
tencias de un lenguaje de alto nivel y escriba con las instrucciones diseñadas el programa que la implementa.
Indique claramente la operación que realiza cada una de las instrucciones y los modos de direccionamiento
aplicables a sus operandos.
FOR i := ValorInicial TO ValorFinal D0
Calculo1
Siguiente Instruccion

NOTA: Cálculo1 es una secuencia de operaciones cualesquiera que no es necesario programar. ValorInicial
y ValorFinal son dos variables con los límites del bucle FOR.

P6. Un ordenador tiene las siguientes características:


- Memoria de 64 Kpalabras de 8 bits
- 8 registros de 16 bits
- Instrucciones de longitud fija de 32 bits con código de operación de 10 ó 13 bits. El C.O. indica el
modo de direccionamiento de los operandos.
- Las constantes se especifican con 8 bits.
Se quiere diseñar una instrucción de tipo MOVE Fuente,Destino utilizando distintos modos de direcciona-
miento para especificar sus operandos. Indique, explicando las causas, para cuáles de los siguientes casos no
es posible diseñar la instrucción:
a) Fuente: directo a memoria Destino: inmediato
b) Fuente: indirecto a registro con postincremento Destino: directo a memoria
c) Fuente: directo a memoria Destino: directo a memoria
d) Fuente: inmediato Destino: directo a registro

P7. La instrucción MOVEQ #Dato8,Dn del MC68000 mueve una constante de 8 bits a un registro de datos. El
código máquina de MOVEQ #6,D1 es $7206 y el código máquina de la instrucción MOVEQ #5,D2 es
$7405. Indique el código máquina de la instrucción MOVEQ #$7F,D7.

P8. Indique los valores que tomarían los pines del MC68000 durante la ejecución de la instrucción MOVE.B
$FFFF07,D1. El contenido de la posición de memoria $FFFF07 es $0A. Indique, además, qué pines activa
el procesador y cuáles la memoria.

P9. Indique qué líneas activa el MC68000 al ejecutar la instrucción (se supone que la instrucción ya ha sido traída
a la CPU) MOVE.W #7,$AF34. Idem para MOVE.B #7,D0.

P10. Cuando se inicializa el MC68000 hace lo siguiente: lee el valor de la entrada 0 de la tabla de excepciones, lo
guarda en el registro SSP (puntero de pila del supervisor), lee el valor de la entrada 1 de la tabla de vectores
de excepción, lo guarda en el PC y comienza a ejecutar instrucciones.
La situación inicial es la siguiente: el contenido del vector 0 es $FFFFFE, y el vector 1 apunta a la dirección
$000400, cuyo contenido es $5F7C0005, que corresponde al código de la instrucción MOVE.L #5,-(SP).
Indicar los distintos valores que irán tomando en cada ciclo de acceso a memoria las líneas del bus de direc-
ciones, el bus de datos y la señal R/W' del MC68000 desde que se pulsa el botón de RESET hasta que termina
de ejecutarse dicha instrucción.

El Microprocesador Motorola 68000 19


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

P11. Realice un programa que permita trasponer una matriz cuadrada de dimensión 5. Sus componentes son
tamaño palabra (W) y la forma de almacenamiento es la mostrada en la figura.

a11 = [M($A)] a21 = [M($A + 10)]


a11 a12 a13 a14 a15
a12 = [M($A + 2)] a22 = [M($A +12)]
a21 a22 a23 a24 a25 a13 = [M($A + 4)] .
a14 = [M($A + 6)] .
a31 a32 a33 a34 a35 a15 = [M($A + 8)] .
a41 a42 a43 a44 a45

a51 a52 a53 a54 a55

P12. Realice una subrutina para sumar dos vectores de 10 números enteros de 32 bits que se almacenan en posi-
ciones consecutivas de memoria. La dirección de memoria en que se encuentra el primero de ellos es el con-
tenido del registro de direcciones A1 y la del segundo está en A2. Se cumple que (A1) + 10 x 4 < (A2).
Almacene el resultado a partir de A3.

P13. A partir de la dirección $010000 nos encontramos con una matriz de dimensión 10 x 10 de datos de tipo
entero (positivos y negativos) y tamaño palabra (W). Diseñe un programa que permita almacenar en el reg-
istro D7 el valor más alto de la tabla y en D6 el más bajo.

P14. Repita el ejercicio anterior si los datos de tipo entero son de 64 bits (dos palabras largas) sin signo y el valor
del más alto se deposita en la dirección $mayor y la del más bajo en la dirección $menor.

P15. Diseñe una subrutina que calcule el factorial de un número natural de 8 bits y devuelva el resultado en una
palabra. Además la subrutina debe indicar al programa principal si se ha producido un overflow o no en el
resultado.

P16. Diseñe un programa que permita aplicar un algoritmo de realce sobre un vector de N datos enteros sin signo
de tipo byte. El tamaño de la tabla se encuentra en la dirección $DIR anterior al inicio del vector y tiene
tamaño byte, esto es, el tamaño máximo de la tabla es de 255 bytes. El algoritmo de realce consiste en poner
a 0 todos los elementos del vector que sean menores que el valor medio de todos los elementos del vector y
poner a uno todos los bits de aquellos elementos que superen la media.

P17. Se desea convertir un vector de 10 elementos hexadecimales de tipo byte que se encuentra en la dirección
$DIR1 a un vector de 10 elementos en BCD situado a partir de la dirección $DIR2. Para el desarrollo de este
programa no se podrán utilizar las instrucciones de aritmética decimal ni las de manejo de bits que incluye
el MC68000.

P18. Realice un programa que permita multiplicar dos datos sin signo A y B de 32 bits cada uno almacenados en
las posiciones $DATOA y $DATOB. El resultado se depositará en la dirección $RES. Tenga en cuenta el
tamaño del resultado.

P19. Se dispone de una tabla de 20 números de tamaño palabra (W). Realice un programa que permita ordenar
dicha tabla de mayor a menor. Indique las modificaciones que sería necesario realizar para ordenar la tabla
de menor a mayor.

20 El Microprocesador Motorola 68000


Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

BOLETIN 4: Memoria

Nota: En aquellos problemas donde no se indique lo contrario debe suponerse que el espacio de direccionamiento
es de 64K.

P1. Un sistema basado en un microprocesador dispone de 3 RAMs de 8K*8 y una EPROM de 8K*8. Diseñe el
circuito de decodificación correspondiente.

P2. Utilizando circuitos de memoria de 8K*8, realice una asociación de 32K a partir de la posición $6000.

P3. Utilizando memorias 4K*4, diseñe un circuito de decodificación que permita situar 16Kbytes a partir de la
posición $1000.

P4. Se desea diseñar un sistema microcomputador que tenga 64Kbytes de memoria, de los cuales, 40K sean
RAM y 16K ROM. Se dispone de chips de los siguientes tipos:
ROMs: 16K*4
RAMs: 16K*8
RAMs: 4K*8
Diseñe el circuito de decodificación necesario.

P5. El mapa de memoria de un microprocesador con bus de direcciones de 16 bits está ocupado por 8K ROM y
20K RAM. Diseñe el circuito de decodificación necesario si se dispone de chips de 8K*4 ROM, 16K*4
RAM y 4K*8 RAM.

P6. Utilizando circuitos de memoria 2K*4, realice una configuración 8K*8 que ocupe 8K posiciones a partir de
la 4096(10 en un mapa de memoria de 64K.

P7. Diseñe un circuito decodificador que permita situar 20Kbytes de RAM a partir de la dirección $5000 dentro
de un mapa de memoria de 64K. Para ello se disponen de chips de 8K*8 y 4K*4.

P8. Dibuje el mapa de memoria para el circuito de la figura, indicando, razonadamente, las posiciones ocupadas
por las memorias RAM y ROM.

A15

0
A14 1 D 1 &
A13 0 E 2
A15 C
3

A12 - A0 D0 - D7 A12 - A0 D 0 - D7
ROM 13
RAM 8
13 8

Memoria 21
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

P9. Determine el mapa de memoria correspondiente al circuito de la figura.

A11 - A0
ROM1
12 8
0
0
A13 1 D 1
A12 0 E 2 &
C
0 3
A15 1 D 1 &
A14 0 E 2 A10 - A0
C
3 ROM2
11 8
0
A13 1 D 1
A11 0 E 2
C
3

A10 - A0
ROM3
11 8

D0 - D7

P10. En el mapa de memoria de un microcomputador de 16 líneas de dirección (A15/A0) se han ubicado una
memoria RAM de 8K en las primeras 8K posiciones de memoria y una memoria ROM de 8K en las últimas
8K posiciones de memoria. Se desea incluir una memoria RAM de 32K, para lo que se han propuesto los 3
diseños de la figura. Indique en qué medida es correcto cada uno de los diseños y, si es posible, determine
qué palabra de la RAM se direcciona cuando A15/A0= $ABCD (hexadecimal) en cada uno de los 3 casos.
¿Que dirección hay que poner en el BUS de direcciones para leer la posición $4680 de la RAM en cada caso?.

A14⊕Α13 A0 A15A14A13 + A15A14A13

A15,A13- A0 D0 - D7 A15 - A1 D0 - D 7 A14 - A0 D0 - D 7

15
RAM 8 15
RAM 8 15
RAM 8

(a) (b) (c)

P11. Determine el mapa de memoria del circuito de la figura. Indique, si es posible, qué palabras de la RAM se
direccionan cuando A15/A0 = $4ABC y A15/A0 = $8000.

22 Memoria
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

A13

& CS
0
3 A15,A12 ,A10 - A0 D0 - D7
A15 1 D 1 2 RAM
0 E 1 MUX 4:1 13 8K*8 8
A12 2
C 0
3 1 0

A14 A11

P12. Se desea transferir el contenido de las memorias M2 y M3 a la memoria M1 (ver figura). Se dispone de una
instrucción:
TRANSFIERE ($ Nº de palabras, $Fuente, $Destino)
Dicha instrucción transfiere un bloque, cuyo número de palabras es el indicado, desde la dirección fuente
hacia la dirección destino; por ejemplo, para transferir 4K-palabras ($1000) que están escritas a partir de la
posición $2000 a posiciones de memoria que comiencen en $7000 se pondría:
TRANSFIERE ($1000, $2000, $7000).
(El sistema interpreta y ejecuta esta instrucción).
Escriba el programa necesario para el circuito de la figura.

0
A13 - A0 D0 - D7
M1
& 14 16K 8
0
1
A15 2
2
3
A14 1
4
5
A12 0 A13,A11 - A0 D0 - D7
6
M2
DEC 7 8K
13 8

A13,A11 - A0 D0 - D7
M3
13 8K 8

P13. Se dispone de 3 circuitos de memoria con entrada de selección activa en nivel bajo: dos son de 8K palabras
y el tercero de 32K. Estos circuitos van a estar direccionados por un procesador de 16 señales de direcciones
(A15/A0). Se requiere que los circuitos de 8K ocupen las direcciones menores y las mayores.
a) Proponga un mapa de memoria que utilice los tres circuitos y deje libre las 16K palabras de dirección
sobrantes. Diseñe el circuito que realiza ese mapa.

Memoria 23
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

b) Indique el circuito de memoria y la posición en dicho circuito que se activa con cada una de las siguientes
direcciones ($A15/A0, en hexadecimal): $0123, $2345, $4567, $6789, $89AB, $ABCD, $CDEF y $EF01.

P14. Para el circuito de la figura, determine las distintas secuencias de salida, indicando las direcciones en que
ocurren cada una de ellas, dentro de un mapa de memoria de 64K.
$ [$]
A15 0 0
1 2
2 F
0 3 B
&
1 4 F
A14 2
2 5 D
3 6 E
A13 1 a3 CS d3
4
a2 d2 7 B
A12 0
5
A11 a1 d1 8 0
6 d0 9 1
A10 a0
DEC 7 A 2
B 3
q2 C A
CONTADOR
CLK D B
MOD-4
q1 E F
F C

P15. Se dispone de RAMs de 8K*8 y de 4K*4. En una CPU de 16 líneas de dirección y 8 de datos:
a) Diseñe con puertas lógicas un banco de memoria de 28K palabras, a partir de la dirección $4000 del espa-
cio de direcciones.
b) Indique la posición física correspondiente a las direcciones $4567 y $CAFE en el bus de direcciones.
c) ¿Qué dirección hay que poner en el bus de direcciones para leer la posición $0123 de una de las RAMs de
4K*4?
d) Indique los cambios que hay que hacer si el bus de datos fuera de 4 bits.

P16. Para un sistema con 16 líneas de dirección se necesitan 40K de memoria dejando libre el resto. Se dispone
de una RAM de 32K y otra de 8K, ambas con señal de selección de chip CS, de lectura/escritura R/W y buses
compartidos. La memoria resultante deberá tener señales de lectura R y de escritura W separadas y activas
en alta, sin selección de chip.
a) Diseñe el circuito
b) Qué palabras de memoria se corresponden con las direcciones lógicas siguientes: $FOCA, $4342,
$9CAD.
c) Cuál es la dirección lógica que hay que poner para acceder a la palabra $7531 de la RAM de 32K. Cuál
sería para la $0246 de la RAM de 8K.

P17. Se necesita un contador cuya secuencia sea (0, 6, 1, 7, 2, 4, 3, 5).


(a) Diséñelo usando biestables JK.
(b) Si el contador se conecta a una RAM de la forma indicada en la figura, rellene la tabla que se da supo-
niendo que el estado inicial de cuenta es el 0.

24 Memoria
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

[$]
CK D3-0 q2q1q0 Z3-0
0123
D3-0 0 - 4500 000 4
CONT 1 6
RAM inicial q0 q1 q2 r/w 2 6
3 7
A1 RAM
$ [$] 4 7
A0 5 8
0 4 6 8
1 5 7 9
Z3-0
2 0 8 9
3 0 9 C
10 A

P18. La figura muestra un diagrama de bloques de la memoria principal de un micropocesador de 16 líneas de


dirección. El bloque de “dispositivos de memoria” contiene 2 RAM‘s de 8kx8 y 1 ROM de 16kx8. El otro
bloque reúne al circuito de decodificación junto a un circuito secuencial.
MEMORIA PRINCIPAL
R/W
16 AB
CIRCUITO DISPOSITIVOS
MICROPROCESADOR AD SECUENCIAL DE
Y DE
READY DECODIFICACIÓN MEMORIA

CLK
DB 8
El funcionamiento del microprocesador para acceder a una palabra de memoria es el siguiente:
→ El microprocesador coloca en el bus AB una dirección sincronizada con el flanco de subida de la señal
de reloj. Esta dirección se mantiene hasta que se reciba un pulso de un ciclo de reloj por la señal READY,
después del cual el microprocesador podrá poner una nueva dirección (ver cronograma).
→ Para indicarle al “circuito secuencial y de decodificación” que se ha colocado una dirección nueva, el
microprocesador activa la señal AD durante un ciclo de reloj.
Por su parte el “circuito secuencial y de decodificación” debe operar del siguiente modo:
→ Activa de forma adecuada los Chip Select (CS, activos en alta) de cada uno de los chips de memoria.
→ Además, genera la señal de READY, que le indica al microprocesador que ya ha realizado la operación
con la memoria. Esta señal READY se va a activar en ciclos de reloj distintos dependiendo de si el micro-
procesador quiere acceder a la RAM o a la ROM. En concreto:
- Cuando accede a la RAM, se activa la señal de READY en el período siguiente al que se activó AD.
- Cuando accede a la ROM, la señal de READY se activa tres ciclos de reloj después de aquél en el que se
activó AD.
Diseñe el “circuito secuencial y de decodificación” utilizando la PAL secuencial de la figura
ciclos de CLK
AB bus RAM ROM
AD
READY

Memoria 25
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

X1

Z1

X2

Z2

X3
q1
D q

X4
q0
D q

X5
Z3

Z4

CLK

P19. En el mapa de la memoria de 64K de la figura, tenemos ya colocadas tres memorias, una de 16K (M3) y dos
de 8K (M1 y M2).
a) Obtenga el circuito decodificador necesario para cubrir total-
mente el resto de este mapa de memoria sabiendo que se dispone de $FFFF
M1 8K
un sólo chip de 8K (M4). Se dispone de decodificadores 2:4 con sal-
8K
idas activas en bajo y una entrada de habilitación también activa en
bajo, así como puertas AND de dos entradas. M2 8K
b) Si las líneas de entrada al chip de 8K (M4) son A14, A11-A0, 8K
indique en cada uno de los siguientes casos si se accede o no a M4
M3 16K
y si es asi inque a qué posición se accede:
$9071 $0123 $4444 $FOCA.
16K
$0000

P20. Se tiene un ordenador con procesador MC68000 conectado a seis pastillas de memoria RAM (RAM0,
RAM1, ...., RAM5) de 8Kx8 con señal de selección activa en bajo y cuyas funciones de selección se dan a
continuación:
RAM0: A23+A22+A21+A20+A19+A18+A17+A16+A15+A14+AS'+UDS'
RAM1: A23+A22+A21+A20+A19+A18+A17+A16+A15+A14+AS'+LDS'
RAM2: A23+A22+A21+A20+A19+A18+A17'+A16+A15+A14+AS'+UDS'
RAM3: A23+A22+A21+A20+A19+A18+A17'+A16+A15+A14+AS'+LDS'
RAM4: A23+A22+A21+A20'+A19+A18+A17+A16+A15+A14+AS'+UDS'
RAM5: A23+A22+A21+A20'+A19+A18+A17+A16+A15+A14+AS'+LDS'

26 Memoria
Estructura de Computadores
Ingeniería Técnica en Informática de Sistemas

a) Dibujar el mapa de memoria de este ordenador


b) A partir de la dirección de memoria $00020354 se tiene cargado el siguiente programa. Indicar a qué pas-
tillas de memoria se accede al ejecutar cada una de las instrucciones del programa:

$020354 MOVE.B #02,D0


$020358 MOVE.B $702,D1
$02035E ADD.W D0,D1
$020360 MOVE.W D1,$102FF0
$020366 ................

P21. Cierta máquina dispone de un procesador MC68000. Por razones en las que no vamos a entrar, se desea que
disponga de 16 Kbytes de memoria a partir de la dirección $F800 situados en direcciones múltiplos de 4.
Para ello, se dispone de una pastilla de memoria de 16Kx8 con señal de selección activa en bajo. Indicar la
función de selección correspondiente a dicha pastilla realizando decodificación parcial.

P22. Se tiene un procesador con bus de direcciones de 16 bits (A15, A14, A13, ....,A1, A0) y bus de datos de 8
bits (D7, D6, ....., D1, D0) al que se desean conectar dos pastillas de memoria RAM. Una de las pastillas
(RAM1) es de 4Kx8 y cubrirá las direcciones $0000...$0FFF; la RAM2 es de 8Kx8 y cubrirá las direcciones
$E000...$FFFF. Ambas pastillas de memoria tienen entrada de selección activa en bajo. Escribir la función
de selección para las pastillas en los siguientes casos:
a) Utilizando lógica de decodificación total
b) Utilizando lógica de decodificación parcial
NOTA: Salvo que se indique lo contrario, para todos estos problemas supondremos un mapa de memoria de
64Kbytes.

Memoria 27

Vous aimerez peut-être aussi