t3_bloques memos rom con diodos

19
 Arquitectura de Computadores Tema 3 - Bloques lógicos Los bloques lógicos son combinaciones de puertas lógicas (AND, OR, NOT …) que realizan distintas funciones lógicas. Los distintos bloques lógicos que vamos a describir son formalizaciones que realizan diversas operacion es lógicas más o menos frecuentes en el diseño de los dispositivos electrónicos digitales, y en concreto de los microprocesadores. Partimos, por tanto, de puertas lógicas elementales, para acabar describiendo, aunque sea a grandes rasgos, los componentes que forman la organización de un procesado r. Básicamente los bloques lógicos se dividen en dos categorías principales: - Bloqu es c ombin acio nale s: So n aq uello s en los que el va lor d e sa lida del bloqu e depende únicamen te de los valores de entrada del mismo, en cada instante de tiempo, con la salvedad del retardo que impone la electrónica, es decir, el tiempo que tarda en reaccionar el sistema, y ofrecer una salida a partir del momento en el que efectuamos una entrada determinada en el mismo. Su comportamiento quedá perfectamente descrito mediante una tabla de verdad. - Bloqu es s ecu enci ales: Son aque llos en lo s qu e el valo r de salid a de l blo que depende de las entradas, y del estado del propio sistema en el instante o instantes anteriores. Estos sistemas nos van a permitir construir módulos sícronos, elementos de memoria, máquinas de estados, y otros muchos componentes que requieren un comportamiento determinado a lo largo del tiempo. Para describir su funcionamiento, no nos bastará, en general con una tabla de verdad, sino que necesitaremos realizar un cronograma. Bloques combinacionales Multiplexor Permite seleccionar una de entre muchas líneas de entrada, y conectarla con una única salida. La selección se realiza mediante una serie de líneas de dirección. Con n bits en la dirección, podemos selecciona r una de entre 2 n  líneas de entrada. Las líneas de entrada y de salida pueden ser de 1 o de varios bits. Diagrama Area de Arquitectura y Tecnología de Computadores Departamento de Informática e Ingeniería de Sistemas

Upload: david-wilfredo-granados-minaya

Post on 07-Jul-2015

142 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 1/19

 

Arquitectura de Computadores

Tema 3 - Bloques lógicos

Los bloques lógicos son combinaciones de puertas lógicas (AND, OR, NOT …) que

realizan distintas funciones lógicas.

Los distintos bloques lógicos que vamos a describir son formalizaciones que realizan

diversas operaciones lógicas más o menos frecuentes en el diseño de los dispositivos

electrónicos digitales, y en concreto de los microprocesadores. Partimos, por tanto, de

puertas lógicas elementales, para acabar describiendo, aunque sea a grandes rasgos, los

componentes que forman la organización de un procesador.

Básicamente los bloques lógicos se dividen en dos categorías principales:

- Bloques combinacionales: Son aquellos en los que el valor de salida del bloque

depende únicamente de los valores de entrada del mismo, en cada instante de

tiempo, con la salvedad del retardo que impone la electrónica, es decir, el tiempo

que tarda en reaccionar el sistema, y ofrecer una salida a partir del momento en

el que efectuamos una entrada determinada en el mismo. Su comportamiento

quedá perfectamente descrito mediante una tabla de verdad.

- Bloques secuenciales: Son aquellos en los que el valor de salida del bloque

depende de las entradas, y del estado del propio sistema en el instante o instantes

anteriores. Estos sistemas nos van a permitir construir módulos sícronos,

elementos de memoria, máquinas de estados, y otros muchos componentes que

requieren un comportamiento determinado a lo largo del tiempo. Para describir

su funcionamiento, no nos bastará, en general con una tabla de verdad, sino que

necesitaremos realizar un cronograma.

Bloques combinacionales 

Multiplexor

Permite seleccionar una de entre muchas líneas de entrada, y conectarla con una única

salida. La selección se realiza mediante una serie de líneas de dirección. Con n bits en ladirección, podemos seleccionar una de entre 2n líneas de entrada. Las líneas de entrada y

de salida pueden ser de 1 o de varios bits.

Diagrama

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 2: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 2/19

 

Arquitectura de Computadores

Función lógica

Implementación lógica de un multiplexor de 1 bit

Demultiplexor

Realiza la operación inversa al multiplexor, es decir, conecta una única entrada a una de

entre 2n líneas de salida.

Diagrama

Comunicación serie utilizando multiplexores y demultiplexores

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 3: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 3/19

 

Arquitectura de Computadores

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 4: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 4/19

 

Arquitectura de Computadores

Unidad Aritmético Lógica (ALU) 

Consiste en un solo bloque combinacional capaz de realizar distintas operaciones

aritméticas y lógicas. Necesita dos entradas de n bits (operandos) y una salida, también

de n bits (resultado). Además, necesitará una entrada adicional que permita seleccionar

la operación a realizar, así como otras entradas y salidas auxiliares de las operaciones:

acarreo de entrada para conexiones en cascada, acarreo de salida y otros flags (cero,

desbordamiento, signo…).

ALU de 1 bit conectable en cascada

Las señales F1F0 seleccionan la operación deseada. El decodificador selecciona la salida

procedente de la puerta AND, OR, NOT o del sumador.

F1 F0 Operación

0 0 S = A AND B 

0 1 S = A OR B 

1 0 S = NOT A 

1 1 S = A + B + Cin 

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 5: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 5/19

 

Arquitectura de Computadores

Esquema de la ALU de 4 bits SN74181 de Texas Instruments

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 6: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 6/19

 

Arquitectura de Computadores

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 7: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 7/19

 

Arquitectura de Computadores

Decodificador

El decodificador es un circuito muy similar al multiplexos. Tiene

una entrada binaria de n bits, y 2n salidas. Cuando introducimos un

valor por la entrada, se activa la línea de salida correspondiente al

valor introducido, y se desactivan todas las demás. Se añade una

línea adicional de “permiso” (grant). Si la línea de permiso está

desactivada, no se activará ninguna línea en la salida.

Los decodificadores que se activan en alto, ponen en nivel de

tensión alto (1 lógico) la línea activada, y a 0 todas las demás. Un

decodificador que se activa en bajo, pone a 0 la línea activada, y a

1 todas las demás.

Tabla de verdad de un decodificador activado en bajo

G A B Y0 Y1 Y2 Y3 

1 X X 1 1 1 1

0 0 0 0 1 1 1

0 0 1 1 0 1 1

0 1 0 1 1 0 1

0 1 1 1 1 1 0

Yi = 0 si X=i y G=0 ; 1 en caso contrario (X=AB)

Un decodificador activado en alto, tendría la tabla de verdad inversa a esta.

Esquema de implementación

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

X0

X1

Z0

Z1

Z2

Z3

P

Page 8: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 8/19

 

Arquitectura de Computadores

Codificadorcon prioridad

Realiza la función inversa al decodificador. A partir de 2n líneas

de entrada, devuelve a la salida en binario el número de la línea

de entrada más alta que esté activa (nivel lógico 1). Una línea

adicional (Bloque Activo) nos indicará si hay alguna línea activa,

o están todas inactivas (nivel lógico 0).

Tabla de verdad de un codificador con prioridad

X3 X2 X1 X0 Z1 Z0 BA

0 0 0 0 0 0 0

0 0 0 1 0 0 1

0 0 1 X 0 1 1

0 1 X X 1 0 1

1 X X X 1 1 1

BA = Bloque Activo = 1 cuando alguna entrada está activa

Conversor de código utilizando un codificador y un decodificador

(¿cuál es su funcionamiento? ¿cómo será su tabla de verdad?)

MemoriaROM

Permite recuperar información binaria almacenada

de forma “permanente”. La memoria está

configurada como un conjunto de 2p unidades de n

bits cada una. El bloque tendrá, por tanto una

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

BA

Z1

X0

X1

X2

X3

Z0

X0

X

 

1 Z1

Z0

ROM

OE

datodir

Page 9: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 9/19

 

Arquitectura de Computadores

entrada de p bits, que indice una dirección o

ubicación concreta de memoria, y una salida de n

bits, por la que obtendremos el dato solicitado. Una

entrada adicional (Output Enable) permite activar o

desconectar la salida mediante un buffer tri-estado.

Implementación básica de una ROM mediante diodos y un decodificador activado en

bajo (como el visto anteriormente). Aquellos enlaces en los que hay colocado un diodo,

presentarán un bit 0 en la salida, y los que no tienen diodo, presentarán un bit 1.

Síntesis de funciones lógicas mediante ROM

Una forma muy sencilla de implementar una funión lógica cualquiera consiste en

utilizar para ello una memoria ROM. Ló único que necesitamos para ello es una

memoria con tantos bits de dirección como variables de la función lógica, y tantos bits

por dirección (anchura de la memoria) como salidas necesitemos. En la memoria ROMhabrá que almacenar, para cada posible entrada (cada dirección de memoria) el

resultado que se espera de la función a implementar.

Ejemplo: Implementación de un sumador de dos bits, salida con acarreo.

Tenemos 4 bits de entrada (dos por cada operando) y tres de salida (resultado más

acarreo). Necesitaremos, por tanto, una ROM de 16 direcciones, y cada una de ellas de

3 bits (por lo menos).

Si las líneas de direccionamiento son d0, d1, d2 y d3, y las salidas son z0, z1 y z2,

asociamos d0=x0, d1=x1, d2=y0, d3=y1, y z3=C (acarreo)

Valor de la memoria:

D3 (Y1) D2 (Y0) D1 (X1) D0 (X0) Z3(c) Z1 Z0

0 0 0 0 0 0 0

0 0 0 1 0 0 1

0 0 1 0 0 1 0

0 0 1 1 0 1 1

0 1 0 0 0 0 1

0 1 0 1 0 1 0

0 1 1 0 0 1 1

0 1 1 1 1 0 01 0 0 0 0 1 0

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 10: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 10/19

 

Arquitectura de Computadores

1 0 0 1 0 1 1

1 0 1 0 1 0 0

1 0 1 1 1 0 1

1 1 0 0 0 1 1

1 1 0 1 1 0 0

1 1 1 0 1 0 1

1 1 1 1 1 1 1

Bloques secuenciales 

Los bloques secuenciales son aquellos en los que la salida en un tiempo T depende de

los valores de la entrada en T y en los instantes anteriores. Tienen “memoria histórica”,

en el sentido de que su valor depende de cuánto ha valido la entrada anteriormente.

X

F

Z

Pueden ser:

- asíncronos: Z(T) = F(X(t=0..T))

- síncronos : Z[k] = F(X[k], X[k-1], X[k-2]

…) donde X[k] es la entrada en el ciclo k. El tiempo se va desarrollando en instantes

discretos o “ciclos”, que vienen determinados por un reloj, un dispositivo que genera

una onda cuadrada, y va marcando el paso del tiempo.

t

Registro

El elemento secuencial básico es el registro. Es un bloque que permite almacenar un

valor introducido por la entrada del mismo (escritura), y mantener dicho valor en la

salida (lectura), incluso en ausencia de nuevo valor en la entrada.

El circuito base de los registros es el biestable R-S, cuyo comportamiento es el

siguiente:

S

R Q Q- 

0 0 Q Q-

0 1 0 11 0 1 0

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

 

R

S

Q

Q

Page 11: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 11/19

 

Arquitectura de Computadores

1 1 0 0

En este circuito, si la entrada S está a 1 y R a 0, la salida Q valdrá 1 (Q- en modo

normal tiene el valor complementario de Q). S cumple la función de SET (establecer a

1). Con S=0 y R=1, Q valdrá 0 (modo RESET). Si tanto R como S valen 1, la salida

será 0 tanto en Q como en Q-, y si ambas entradas están a 0, Q y Q- mantienen el valor

que tenían de forma indefinida. Tenemos así un elemento básico de memoria, que

podemos establecer a 1 (S=1) o a 0 (R=1), y luego mantener indefinidamente para

lectura, mientras mantenemos R y S en nivel bajo.

Para conseguir que el elemento funcione de forma síncrona, basta con que agregemos

una etapa previa controlada por un reloj.

R

S

Q

Q

clock

clear

preset

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 12: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 12/19

 

Arquitectura de Computadores

En los biestables síncronos, las entradas sólo se pueden transmitir a las salidas (y por

tanto, quedar “almacenadas” en el dispositivo) cuando la señal del reloj está en alto,

quedando las salidas desconectadas de la entrada cuando el reloj está en bajo (un reloj

en bajo hace que ambas entradas a las puertas NOR estén también en bajo). Así 

conseguimos sincronizar el dispositivo, de forma que lea los datos sólo en instantes

determinados.

Aunque aquí no vamos a entrar en más detalles técnicos, es posible modificar las

estructuras anteriores, de forma que consigamos registros que respondan sólo durante el

flanco de subida del reloj, o durante el flanco de bajada. A título meramente

descriptivo, presentamos algunas variaciones del mismo.

Biestable J-K, con lectura en flanco de bajada.

Biestable tipo T

Cambia su estado con cada ciclo de reloj. Permite construir contadores.

¿Cuáles serían las salidas de Q0, Q1, Q2 y Q3 a medida que va funcionando el reloj?

Registros

Un registro es una combinación de n biestables, que permiten almacenar de forma

síncrona n bits.

Para que una señal presentada en la entrada del registro pase correctamente a la salida

del mismo, se deben cumplir ciertas restricciones temporales en torno al instante del

flanco ascendente del reloj (el momento en el que el reloj pasa de 0 a 1). Esto es debido

a que, aunque conceptualmente digamos que las señales son cuadradas (pasan

instantáneamente de 0 a 1), en la realidad esto no es así. Ni el reloj pasa

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

clock 

clock 

X

Z

8

?

15

8

30

15

t

Page 13: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 13/19

 

Arquitectura de Computadores

instantáneamente de 0 a 1, ni las señales se transmiten de la entrada a la salida de las

puertas lógicas instantáneamente. Estos tiempos de retardo imponen restricciones

temporales en la transmisión de las señales, y condicionarán en definitiva la máxima

frecuencia de reloj a la que puede funcionar el sistema. Los principales parámetros

temporales a tener en cuenta son:

- Setup (o tiempo de “calentamiento”). Es el mínimo tiempo que una señal tiene que

estar en la entrada de un registro antes del flanco ascendente del reloj, para que la

carga del registro se efectúe correctamente.

- Hold. Es el tiempo mínimo que debemos mantener la señal en la entrada después de

la señal de reloj, para garantizar que el dato haya sido correctamente escrito.

- Delay. Es el máximo tiempo que tarda la señal de entrada en transmitirse a la salida.

A partir de ese tiempo, podemos estar seguros de que la salida es correcta, y los

biestables del registro están debidamente estabilizados, pero antes de dicho retardo,

no podemos tener total seguridad, por lo que no podemos dar por buena la salida

obtenida.

En el siguiente cronograma, suponemos que hemos introducido por la entrada un valor

1, estando el registro anteriormente a 0. tPFF es el delay o tiempo de retardo.

Si aumentamos la frecuencia del reloj, y por tanto, vamos estrechando el tiempo del

ciclo (tw) podemos encontrarnos con la siguiente situación al enlazar la salida de un

elemento con la entrada de otro:

En este caso, el tiempo de retardo más el tiempo de setup sumados son menores que el

ciclo de reloj. Por tanto, el sistema nos obliga a tener estabilizada una señal en laentrada del segundo dispositivo (setup) antes de tener la seguridad de que el primer

dispositivo nos está dando una señal correcta (delay), comportándose el circuito de

forma imprevisible.

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

clock 

X 3 8

 

15

tsu

th

Z 8 15

tdela

Page 14: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 14/19

 

Arquitectura de Computadores

Registro con permiso

Es una variante del registro antes descrito. Simplemente se le añade una entrada de

“permiso” (enable), que deberá estar activa antes del flanco del reloj para que se

produzca en el registro la escritura del dato introducido. Si la entrada de permiso está

inactiva, el registro no cambia su estado.

¿Cuál podría ser su implementación utilizando puertas lógicas?

Los registros con permiso pueden tener varias aplicaciones. Por ejemplo, imaginemosque tenemos en un procesador un banco de registros donde almacenar los resultados de

operaciones aritméticas o lógicas que efectúa una ALU. Podemos conectar las entradas

de todos los registros a la salida de la ALU, y mediante un decodificador, activar

únicamente la línea de permiso del registro en el que queremos guardar el resultado,

dejando los demás registros como estaban.

Memoria RAM 

La memoria RAM, es funcionalmente muy similar a una memoria ROM, con la

diferencia de que además de leer datos, podemos escribirlos. Por tanto, además de laslíneas de dirección y de salida, que ya teníamos en la ROM, necesitaremos líneas de

control que nos permitan indicar al dispositivo si lo que queremos es leer un dato

almacenado en la RAM, o escribir en la memoria un dato que introducimos por el bus

de datos. Así, mientras en la ROM el bus de datos era unidireccional (salida), en la

RAM es bidireccional (entrada y salida). Las celdas básicas de una RAM, dado que

necesitamos leer y escribir, no serán elementos preconfigurados por hardware (como en

la ROM), sino que serán esencialmente biestables como los vistos hasta ahora.

Celda básica de una memoria RAM

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

clock  Enable

Page 15: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 15/19

 

Arquitectura de Computadores

Esquema de una memoria RAM

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 16: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 16/19

 

Arquitectura de Computadores

Introducción a las máquinas de estados 

Entre los automatismos, en ocasiones nos encontramos con situaciones en las que la

salida de un sistema no es función exclusivamente del valor de la entrada del mismo,

sino que depende también del estado en el que se encuentre en ese momento el sistema,

es decir, de su “historia dinámica”.

Veamos un ejemplo. Supongamos un sistema que controla el encendido y apagado de

un motor mediante un pulsador. Pulsando una vez el botón de encendido, el motor se

pone en marcha. Soltamos el botón y el motor sigue en marcha. Si queremos apagar el

motor, volvemos a pulsar el botón, y el motor se para. Soltamos el pulsador, y el sistema

queda como al principio. La señal de entrada que tenemos es el pulsador, que puede

estar pulsado (X=1) o no pulsado (X=0). Pero sólo viendo la señal de entrada (la

posición del pulsador) no podemos saber si el motor está en marcha o no. Necesitamos

conocer las distintas veces que el interruptor se ha pulsado y soltado.

No pulsado / apagado

Pulsado / Encencido

No pulsado / Encencido

Pulsado / Apagado

Pulsar

Soltar

Pulsar

Soltar

No pulsar

No pulsar

Mantener pulsado

Mantener pulsado

Como podemos deducir del diagrama, tendremos una entrada (pulsador) con dos valores

posibles, una salida con dos valores posibles (motor encendido / apagado), y cuatro

estados posibles.

Las máquinas de estados se pueden implementar electrónicamente mediante una

combinación de bloque secuencial (registro que guarda el estado del sistema) y bloque

combinacional, que calcula en cada ciclo el valor de la salida, y el nuevo estado del

sistema.

Los autómatas secuenciales son las implementaciones electrónicas de las máquinas de

estados, y pueden ser:

- síncronos: Las salidas y el estado cambian automáticamente con cualquier

modificación de las entradas, estabilizándose el sistema en un estado tal que el

“siguiente estado” es él mismo.

- Asíncronos: Las salidas y el estado del sistema cambian sólo en instantes de

tiempo predeterminados, marcados por un reloj de sincronización.

Existen dos formalizaciones para describir e implementar las máquinas de estados:

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 17: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 17/19

 

Arquitectura de Computadores

- Autómatas de Mealy: La salida depende de la entrada y del estado del sistema.

Para un mismo estado del sistema, la salida puede variar de forma asíncrona con

una variación de las entradas, aunque el estado sólo cambie de forma síncrona.

- Autómata de Moore: Las salidas dependen exclusivamente del estado del

sistema, de forma que tanto el estado del sistema como las salidas cambiarán de

forma síncrona.

En general, un autómata de moore requiere más estados para modelar una máquina de

estados, por lo que utilizará más memoria, aunque suelen ser más fáciles de modelar que

los autómatas de Mealy. Sin embargo, ambos modelos son equivalentes. Cualquier

máquina de estados se puede modelar mediante un autómata de Moore o de Mealy, y

hay normas para transformar un modelo en otro.

 

Modelo de autómata de Mealy Modelo de autómata de Moore

Implementación electrónica

Existen muchas formas de implementar un autómata. A modo de ejemplo, veremos

cómo implementar el problema del motor y el pulsador, utilizando como lógica

combinacional una ROM.

Como nuestro problema tiene cuatro estados, necesitamos dos bits para codificar los

estados. Necesitamos también un bit para codificar la entrada, por lo que el bloque

combinacional tendrá tres entradas, y ocho combinaciones posibles. Las salidas serán

dos bits para codificar el nuevo estado (modelo de Moore). La salida la podemos

obtener directamente de uno de los bits del estado. Necesitaremos, por tanto una ROM

de ocho palabras de dos bits por palabra. Los estados los codificaremos de la siguiente

forma:- Apagado / no pulsado = 00

- Apagado / pulsado = 01

- Encendido / no pulsado = 10

- Encendido / pulsado = 11

La salida al control de encendido del motor será, por tanto el bit más significativo del

estado. La programación de la ROM será:

S1 S0 Entrada S’1 S’0

0 0 0 0 0

0 0 1 1 10 1 0 0 0

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Lógica

combinacional

Registro (estado)

entrada salidaLógica

combinacional

Registro (estado)

entrada

salidaCalculo salidas

Page 18: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 18/19

 

Arquitectura de Computadores

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 1 0

1 1 1 1 1

(S1S0 es el estado actual. S’1S’0 es el siguiente estado del sistema)

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas

Page 19: T3_Bloques Memos Rom Con Diodos

5/9/2018 T3_Bloques Memos Rom Con Diodos - slidepdf.com

http://slidepdf.com/reader/full/t3bloques-memos-rom-con-diodos 19/19

 

Arquitectura de Computadores

Las máquinasde estadosy los microprocesadores

Hemos visto distintos bloques lógicos, combinacionales y secuenciales, necesarios para

el diseño de distintos elementos de la organización de los microprocesadores: registros

para almacenar la información temporal en los procesadores, ALUs para realizar

operaciones aritméticas y lógicas, ROMs y RAMs como almacenes de información

estática y dinámica, y otros componentes como los multiplexores y codificadores, que

permiten implementar, entre otras cosas, todas las señales de control necesarias para

activar o desactivar los distintos componentes necesarios para la ejecución de las

instrucciones.

Nos falta por describir, aunque sea mínimamente, un componente: la unidad de control.

La unidad de control es un dispositivo capaz de, a partir de una instrucción leída desde

la memoria, ejecutar toda una secuencia de acciones necesarias para la ejecución de la

misma. Por ejemplo, para ejecutar la lectura de un dato desde la memoria, y guardarlo

en un registro, deberá activar la escritura desde un registro de dirección al bus de

direcciones, activar la señal de lectura en la RAM, activar la señal de “permiso de

escritura” en el registro destino, para que el dato pase desde el bus de datos al registro,

etc.

La ejecución ordenada de todas estas operaciones se modela mediante una máquina de

estados, y se implementa dentro del microprocesador mediante un autómata como el

descrito en este tema (aunque, evidentemente, un poco más complejo que el ejemplo

propuesto).

Area de Arquitectura y Tecnología de Computadores

Departamento de Informática e Ingeniería de Sistemas