Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Combinacionales Secuenciales
Combinational
Combinational inputs : : Logic :: outputs
inputs : : Logic :: outputs
Memory
k BeltWarn Call S
button
p w
Blue lig
ht
s Q
Cancel
button
R
TIPOS DE SISTEMAS SECUENCIALES
Asíncronos
Tipos de sistemas
secuenciales
Síncronos
DIAGRAMA DE ESTADOS
se t 0
Re
Set
Q 1
To
gg
Memoria
le
Q
10100 R S R Q Q'
Q 11000 1 0 1 0 initial
0 0 1 0 (afer S=1, R=0)
0 1 0 1
Q' 0 0 1 1 0 0 0 0 1 (after S=0, R=1)
10001 S
1 1 0 0 invalid!
SISTEMAS SECUENCIALES
LATCH FLIP-FLOP
• Se caracterizan por que • Se caracterizan por que
no hay señal de reloj que responden cuando se da
sincronice su evolución una transición en la
lo que hace todo cambio señal de reloj.
en la entrada conlleve a
un posible cambio en la
salida.
S Q
S Q
C
R Q' R Q'
FORMAS DE REPRESENTAR ELEMENTOS DE
MEMORIA
FORMAS DE
REPRESENTACION
PRE
J Q
C
ASINCRONAS
K Q'
CLR
J = K = HIGH
CLK
PRE
CLR
Q
Preset Toggle Clear
CIRCUITOS SECUENCIALES SINCRONOS
• Bloques de construcción: Compuertas
lógicas y flip-flops.
• Los flip-flops hacen de memoria
mientras las compuertas forman uno o
mas subcircuitos combinacionales.
• Hasta el momento se han discutido 4
tipos de FF:
- FF S-R.
- FF J-K.
- FF D.
- FF T.
MAQUINAS DE ESTADOS FINITOS
• La gran mayoría de algoritmos son implementados en
software, esto se debe principalmente a la flexibilidad y
facilidad de programación de los microprocesadores.
• Algunos algoritmos no pueden implementarse solo en software. Las razones pueden
variar de acuerdo a la aplicación pero frecuentemente hacen referencia a una
capacidad de procesamiento que NO PUEDE obtenerse con microprocesadores.
- La solución para implementar estos
algoritmos es utilizar hardware.
- Cuando un algoritmo se implementa en
hardware, las maquinas de estado se
emplean para acompañar la tarea (control).
- Una maquina de estados puede ser de la
complejidad que se quiera y funciona de
forma similar al software.
- La forma más simple de maquina de
estados es un contador.
COMPARACION FSM-ALGORTMOS
ALGORITMO (Lenguaje de programación) FSM
Paso o instrucción Estado
Ejemplo: A
a = b + c;
Ejemplo:
if(a > b){ x=0 A
c = 1 x=1
}
else {
c = 0; B C
}
• Las transiciones entre estados se representan con flechas. Estas se rotulan con las
entradas y el valor de estas que produjo la transición.
A B
5 estados 1 entrada
1 salida 1 salida
1 entrada
0 4 estados
entrada/salida
A 0/0
(0)
1
A
B
(0) 1/0
E 0 0
1/1 1/0
(1)
B 1/1
1 C 0/0
(1)
1
0 0/0
D D C
(0)
1 0/1
MAS ANOTACIONES SOBRE LOS DIAGRAMAS DE
ESTADOS
• Es muy importante tener en cuenta que si se tiene una variable de entrada
simple, cada estado en el diagrama debe tener dos flechas salientes, una
que corresponde a la entrada en un valor ‘1’ y otra en un valor ‘0’.
• Si fueran dos variables de entrada, deben salir de cada estado cuatro
flechas que corresponderían a todas las posibles combinaciones entre las
entradas: 00, 01, 10 y 11.
00/0
xx/0
xx/1
01/0 11/0
A
10/1 01/0
10/1
D C
B
11/0
00/0
TABLAS DE TRANSICION DE ESTADOS
• La tabla de transición de estados es otra forma de representar
circuitos secuenciales y FSMs. Es utilizada principalmente en el
algoritmo de diseño del sistema secuencial.
0
A
(0)
Siguiente
1 estado
Estado
Salida
presente
B
(0)
A A B 0
E 0 0
(1) B C D 0
C B D 1
1 C
(1) D E D 0
E A A 1
1
0
D
(0)
1
CIRCUITOS SECUENCIALES
TIPOS
Moore Mealy
CIRCUITOS MOORE
E 0 0
(1)
1
C
(1)
1
0
D
(0)
1
CIRCUITOS MEALY
• Si las salidas de un circuito dependen
del estado actual y de las entradas se 0/0
denominan Circuitos Mealy.
• Estando en un estado si preguntamos
A
por el valor de la salida, podemos no
tener respuesta hasta que no se
especifique el valor de la entrada en el 1/0
siguiente intervalo. 1/1 1/0
B 1/1
0/0
0/0
D C
0/1
TABLA DE TRANSICION EN CIRCUITOS MEALY
0/0
Siguiente estado
1/0
Estado
1/1 1/0 presente
A/0 B/0
B 1/1
A
0/0 B D/0 C/1
C B/0 A/0
D D/1 A/1
0/0
D C
0/1
MOORE .vs. MEALY
• En el sistema de Moore la • En forma general la versión de
independencia de las salidas Mealy de un circuito
de las entradas hace más fácil secuencial será más
seguir la operación del sistema económica en componentes
en pasos a través de sus físicos que la versión de
estados y por tanto hace Moore.
mucho más fácil la detección • Debido a la dependencia de
de errores. las salidas respecto a
• Menos propenso a glitches en entradas, los circuitos Mealy
las salidas. pueden presentar glitches.
Nota:
• Cualquier Sistema secuencial se puede implementar con alguna de los dos
tipos de circuitos moore ó mealy.
• Incluso es posible hacer combinaciones de ambos tipos de circuitos en un
solo diseño.
EJERCICIO
Dibuje el diagrama de estados y la tabla de transición de estados de un circuito
secuencial el cual da una salida Z = 1 solamente cuando la entrada X es igual 1 durante
3 o más intervalos consecutivos de reloj.
• Utilice un circuito tipo Moore
• Utilice un circuito tipo Mealy
SOLUCION MOORE
0
A
(0)
B 0
0 1
(0)
A A B 0
0 B A C 0
1
C A D 0
C D A D 1
(0)
D
(1)
1
SOLUCION MEALY
0/0
0/0
B A A/0 B/0
B A/0 C/0
C A/0 C/1
1/0
C 1/1
EJERCICIO 2
Dibuje el diagrama de estados y la tabla de transición de estados de un circuito
secuencial el cual da una salida Z = 1 cuando por una entrada X a ingresado la
secuencia de bits 1101. Para un circuito secuencial tipo:
• Moore.
• Mealy.
X Circuito Z
Secuencial
SOLUCION MOORE
S0 E.A E.S
0 X=0 X=1
I3 I2 I1 I0
4-bit register
D D D D
Q Q Q Q
clk
Q3 Q2 Q1 Q0
I3 I2 I1 I0
reg(4)
Q3 Q2 Q1 Q0
• Un registro básico realiza la carga en cada ciclo de reloj. ¿Cómo lograr que la carga se
realice solo en determinados ciclos de reloj y no en cada ciclo?
http://www.teahlab.com/
REGISTRO CON CARGA PARALELA
• Se implementa añadiendo Mux 2:1 a la entrada de
cada FF.
• Además de las entradas de datos se añade una
entrada mas load es la que dicta se el valor actual
almacenado en el FF se mantiene o se carga este
con el valor presente en las entradas de datos.
I3 I2 I1 I0
1 0 1 0 1 0 1 0
load 2× 1 I3 I2 I1 I0
load
D D D D
Q3 Q2 Q1 Q0
Q Q Q Q
Q3 Q2 Q1 Q0
(a) (c)
I3 I2 I1 I0 I3 I2 I1 I0
load = 0
load = 1
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
D D D D D D D D
Q Q Q Q Q Q Q Q
Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0
(b)
EJEMPLO TIPICO EN EL EMPLEO DE REGISTROS.
BALANZA ELECTRONICA
Características de la balanza
• Presenta 2 displays uno para
visualizar el peso actual y otro Scale Weight Sampler
para visualizar el peso 0010
1
almacenado.
• La anterior es una característica Save
b 1 I3 I2 I1 I0 a
útil para comparar el ítem actual 3 pounds
2 load
0011
Present weight clk Q3 Q2 Q1 Q0
con el anterior.
• Para almacenar el peso hace uso
de un registro.
• Al presionar el botón b hace que 3 pounds
Saved weight
el peso actual sea almacenado
en el registro.
SHIFT REGISTER (REGISTRO DE
DESPLAZAMIENTO)
• Es un registro de n bits con la capacidad de desplazar el dato
almacenado un bit cada ciclo de reloj ya sea hacia la izquierda o hacia
la derecha.
1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0 1
0
185
23
46
92
11
0
1
2
5 157
232
160
208
128
116
58
64
0
shr=1
shr 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
2× 1 2× 1
D D D D
D D D D
Q Q Q Q
Q Q Q Q
Q3 Q2 Q1 Q0
Q3 Q2 Q1 Q0 (b)
(a)
shr_in
shr
Q3 Q2 Q1 Q0
(c)
ROTATE REGISTER (REGISTRO DE ROTACION)
• Es similar al shift register pero en este caso la salida del registro que
esta mas a la derecha se lleva a la entrada del registro que se
encuentra mas a la izquierda.
Register contents
1 1 0 1
before shift right
Register contents
1 1 1 0
after shift right
I3 I2 I1 I0
shr_in
shl_in
Q Q Q Q Q3 Q2 Q1 Q0
Q3 Q2 Q1 Q0
(a) (b)
BANCO DE REGISTROS
Conjunto de FF flops dispuestos en dos dimensiones ( filas con m FF por
cada una, en donde n es el número de líneas de dirección, y m es el
número de líneas de entrada/salida).
BANCO DE REGISTROS
Conjunto de FF flops dispuestos en dos dimensiones ( filas con m FF por
cada una, en donde n es el número de líneas de dirección, y m es el
número de líneas de entrada/salida).
CONTADORES
Un contador es un arreglo de Flip Flops que progresa de estado en estado
en respuesta a un suceso, donde un suceso puede ser un ciclo de la señal
de reloj. El contador cuenta el número de sucesos.
Características:
1. Un número máximo de conteo
(módulo del contador).
2. Cuenta ascendente o
descendente
3. Operación síncrona o asíncrona
4. Autónomos o de auto
detención.
http://www.teahlab.com/
CONTADORES
Líneas de control del contador:
• Enable o habilitador: para el conteo en el valor que este.
• Reset síncrono o asíncrono: lleva el conteo a cero.
• Up/Down : Determina si el conteo es ascendente o descendente.
• Load síncrono o asíncrono: carga el conteo con un valor especifico.
PRE
Q0 Q1 Q2 Q3 Q4 Q5
D Q D Q D Q D Q D Q D Q
CLR
CLK
Clock Q0 Q1 Q2 Q3 Q4 Q5 100000
0 1 0 0 0 0 0
000001 010000
1 0 1 0 0 0 0
2 0 0 1 0 0 0
3 0 0 0 1 0 0 000010 001000
4 0 0 0 0 1 0
5 0 0 0 0 0 1 000100
CONTADORES JONHSON
• Un contador Jonhson de n-bits (también llamado contador de doble anillo)
presenta 2n estados a través de los ciclos de reloj.
• Ejemplo: Contador de Jonhson de 4 bits. (También llamado contador modulo
8).
Q0 Q1 Q2
D Q D Q D Q D Q
Q'
Q3'
CLR
CLK
0000
Clock Q0 Q1 Q2 Q3
0 0 0 0 0 0001 1000
1 1 0 0 0
2 1 1 0 0
0011 1100
3 1 1 1 0
4 1 1 1 1
5 0 1 1 1 0111 1110
6 0 0 1 1
7 0 0 0 1 1111
MEMORIAS
44
Memorias
45
Memorias
Introducción
¿Qué es el CMOS?
CMOS = Complementary Metal Oxyd Semiconductor (Semiconductor
Complementario de Oxido Metálico)
46
Memorias
Memoria Caché
El intercambio de datos entre la CPU y la memoria RAM es una de las tareas
que se hacen con mayor frecuencia.
Dado que la RAM es mucho más lenta que la CPU se ha incorporado a la CPU
y a la Motherboard, un circuito de memoria Caché, la cuál es una memoria de
alta velocidad.
Esta es una de las cosas que mejora el desempeño del sistema en general.
La memoria Caché es un circuito de memoria de alta velocidad en el que se
almacenan bloques de instrucciones del programa en ejecución y un bloque
de datos del conjunto de datos que se está utilizando.
Esto bajo el supuesto de que los siguientes datos o instrucciones que se van a
ejecutar están inmediatamente después de los últimos datos o instrucciones
utilizados.
47
Memorias
Memoria Caché
48
Jerarquía de las memorias
Jerarquía de memorias en un Pentium
Métricas de las memorias
• Capacidad de almacenamiento: en bytes o
múltiplos (kB, MB, TB)
• Tiempo de acceso: en segundos o
submúltiplos (ns, ms)
• Velocidad de tranferencia de datos: en
bytes/seg o múltiplos
• Comsumo de energía: en Watts
• Tamaño físico: en cm3
• Costo total y costo por MB: en $ y $/MB
Memorias
Introducción
• Una memoria es un dispositivo capaz de almacenar información.
• Operaciones:
– Escritura: Introducir información en una posición determinada de la memoria
– Lectura: Obtener información existente en una posición determinada de la
memoria
• Palabra de memoria
– Unidad de almacenamiento típica. Contienen números binarios.
– La capacidad es el número de palabras: C
– El tamaño el número de bytes.
• Direcciones de memoria
– Cada palabra se identifica por un número que llamamos dirección.
– El tamaño de las direcciones el número de bits de las direcciones:B
– El espacio direccionable es D=2B. Se ha de cumplir D>=C.
52
Memorias
Parámetros básicos de las memorias
• Capacidad
• Velocidad
– Tiempo de acceso: tiempo que pasa desde que empieza un operación de
lectura o de escritura hasta que concluye.
– Tiempo de ciclo: tiempo que pasa desde que comienza una operación de
lectura o de escritura hasta que se pueda empezar con la siguiente.
– Velocidad de ciclo: número de palabras que se pueden leer o escribir por
unidad de tiempo
• Coste
– Medido en euros/bit o euros/byte
• Ideal: memorias grandes, muy rápidas y muy baratas.
53
Memorias
Tipos de memoria
54
Memorias
La memoria en un PC ( JERARQUÍA )
• El PC utiliza la memoria para acceder rápido a la
información.
• El disco es más lento, pero es necesario porque la
información en la RAM del sistema no es permanente.
55
¿Qué es una memoria RAM?
Es la memoria donde se almacenan los datos
(programas) con los que estamos trabajando en
ese momento.
es un dispositivo electrónico que se encarga de
almacenar datos e instrucciones de manera
temporal, de ahí el término de memoria de tipo
volátil ya que pierde los datos almacenados una
vez apagado el equipo; pero a cambio tiene una
muy alta velocidad para realizar la transmisión de
la información.
¿Qué es una memoria RAM?
Historia.
• Uno de los primeros tipos de memoria RAM
fue la memoria de núcleo magnético,
desarrollada entre 1949 y 1952 y usada en
muchos computadores hasta el desarrollo de
circuitos integrados a finales de los años 60 y
principios de los 70
Historia.
• En 1969 fueron lanzadas una de las primeras
memorias RAM basadas en semiconductores
de silicio por parte de Intel con el integrado
3101 de 64 bits de memoria y para el siguiente
año se presentó una memoria DRAM de 1
Kibibyte
Historia.
• En 1973 se presentó una innovación que
permitió otra miniaturización y se convirtió en
estándar para las memorias DRAM: la
multiplexación en tiempo de la direcciones de
memoria
Historia.
• A finales de los 80 el aumento en la velocidad
de los procesadores y el aumento en el ancho
de banda requerido, dejaron rezagadas a las
memorias DRAM con el esquema original
MOSTEK, de manera que se realizaron una
serie de mejoras en el direccionamiento como
las siguientes:
Tipos de Memorias.
SDR SDRAM
• Memoria síncrona, con tiempos de acceso de
entre 25 y 10 ns y que se presentan en
módulos DIMM de 168 contactos. Fue
utilizada en los Pentium II y en los Pentium III ,
así como en los AMD K6, AMD Athlon K7 y
Duron.
DDR SDRAM
Memoria síncrona, envía los datos dos veces por cada ciclo de reloj. De este
modo trabaja al doble de velocidad del bus del sistema, sin necesidad de
aumentar la frecuencia de reloj. Se presenta en módulos DIMM de 184
contactos en el caso de ordenador de escritorio y en módulos de 144
contactos para los ordenadores portátiles. Los tipos disponibles son:
DDR2
DDR3
Futuro próximo de las RAM
RAM DDR4
Los módulos DDR4 serán fabricados en procesos de 30
nanómetros en niveles de tan sólo 1,2 voltios. Los primeros
modelos serán comercializados en 2012 a velocidades de
2.133 y 2.667 MHz, incorporando a la gama entusiasta en
2013 modelos que podrán transferir datos a una tasa de reloj
efectiva de 3.200 MHz.
La memoria ROM (siglas de Read Only Memory en inglés)
es un dispositivo de almacenamiento básico en
ordenadores y demás dispositivos