410 likes | 731 Views
Organización del Computador 1. Lógica Digital 2 Circuitos y memorias. Flip-flops. Circuitos combinatorios Funciones Booleanas El resultado depende sólo de las entradas
E N D
Organización del Computador 1 Lógica Digital 2 Circuitos y memorias
Flip-flops • Circuitos combinatorios Funciones Booleanas • El resultado depende sólo de las entradas • Para hacer aplicaciones mas interesantes, necesitamos circuitos que puedan “recordar” su estado y que actúen según su estado y las entradas. • ¿Para que? Para construir memorias, registros, contadores, etc. • Un circuito lógico de estas características se denomina flip-flop. La razón porque memoriza un estado hasta que se le grabe otro estado diferente.
Realimentación • Para utilizar sus valores previos, los circuitos secuenciales recurren a la realimentación. • La realimentación se produce cuando una salida se conecta a una entrada. • Ejemplo simple:. • Si Q es 0 siempre será 0, si es 1, siempre será 1, porqué?
Flip-flop SR • Uno de los circuitos secuenciales más básicos es el flip-flop SR. • “SR” por set/reset. • Circuito lógico y diagrama en bloque
Flip-flop SR • La tabla característica describe el comportamiento del flip-flop SR. • Q(t) es el valor de la salida al tiempo t. Q(t+1) es el valor de Q en el próximo ciclo de clock.
Flip-flop SR • A los efectos del análisis de los estados, podemos considerar que el flip-flop SR tiene en realidad 3 entradas: S, R, y su salida actual Q(t). • Note los dos valores indefinidos, cuando las entradas S y R son 1, el flip-flop es inestable ¿Por qué?
Flip-flop RS • Para uniformar el tipo de compuerta a utilizar puede demostrarse fácilmente que todos los circuitos lógicos se pueden construir utilizando compuertas NOR o Compuertas NAND solamente. • Esto ayuda a trabajar con los elementos reales ya que minimiza la cantidad de componentes físicos que incluimos en nuestro diseño lógico
Aplicando De Morgan S + Qt = S . Qt S Q Q S Q Q R R Q S Q R Flip-flop RS NAND
Habilitación de datos (Enable) • Generalmente es necesario determinar cuando grabar información en un latch, a pesar de tener datos en la entrada • Para habilitar (enable) es ideal la compuerta AND. Si Enable = 0, Q = 0 Si Enable = 1, Q = A A Q Enable
S S’ Q Enable Q R’ R Flip-flop SR con Enable S S’ Q Enable Integramente con compuertas NAND Q R’ R
Ejercicio Encontrar Q para las señales R, S dadas S 1 0 1 0 1 1 1 1 1 0 R 0 0 1 1 1 0 1 0 1 1 S Q Q Q R t
Ejercicio Encontrar Q para las señales R, S dadas S 1 0 1 0 1 1 1 1 1 0 R 0 0 1 1 1 0 1 0 1 1 S Q Q 0 1 1 1 1 0 0 0 0 1 Q R t
Circuitos sincrónicos • Los circuitos sincrónicos funcionan sobre lo que denominaremos base de tiempo. • Es decir, las salidas dependen no sólo de las entradas, sino del estado en que estaban las salidas y del ritmo que impone la base de tiempo.
Bases de tiempo = Relojes • En general, necesitamos una forma de ordenar los diferentes eventos que producen cambios de estados • Para esto usamos relojes • Un “reloj” (clock) es un circuito capaz de producir señales eléctricas oscilantes, con una frecuencia uniforme
Cambios de estado • Los cambios de estado se producen en cada tick de reloj • Estos cambios pueden producirse cuando se produce un cambio de flanco (ascendente o descendente) o por un cambio nivel (alto o bajo)
Flip-flop RS sincrónico Q S CK Q R
Flip-flop RS sincrónico set S Q clock CK Q R reset
Ejercicio Encontrar Q para las señales R, S dadas usando RS síncrono CK S R S Q Q CK Q t R
Ejercicio Encontrar Q para las señales R, S dadas usando RS síncrono CK S R S Q Q CK Q t R
Flip-flop D • Otra modificación al flip-flop SR es el denominado flip-flop D. • Elimina el estado inestable asegurando que siempre S y R son mutuamente inversas • Note que retiene el valor de la entrada al pulso de clock, hasta que cambia dicha entrada, pero al próximo pulso de clock.
Flip-flop D • El flip-flop D es el circuito fundamental en: • una celda de 1 bit de memoria RAM, de tecnología estática (de las que nos ocuparemos en breve). • un bit de un registro de un controlador Entrada Salida. • un bit de un registro que compone la arquitectura de la CPU
Registros • Registro de 4 bits compuesto por 4 flip-flop D.
Registro de desplazamiento basado en flip-flop D data Q Q Q Q D D D D CK CK CK CK
Limitaciones de los flip-flop Ciclo de reloj Q Q data D D clock CK CK Q Q tpd • Cuando se conectan en cascada para construir circuitos secuenciales, el tiempo de propagación tpd, que es el que tarda la entrada del latch en grabarse a su salida, puede hacer que una entrada tome el nuevo estado en tpd en lugar de en el ciclo siguiente de clock. • Se trata de dispositivos transparentes. La entrada se propaga a la salida luego de tpd. tpd ¿Cómo se arregla esto?
Ciclo de reloj tpd tpd Flip-flops Master Slave • Son dispositivos de almacenamiento no transparentes Q S Q1 S2 S1 Q2 CK CK Q Q2 Q1 R2 R1 R Q1 Q2
Flip-flop JK • La idea es convertir el flip-flop SR en un flip-flop estable. Es posible realizar esta modificación. • El flip-flop modificado se denomina JK. • “JK” en honor de Jack Kilby (inventor del circuito integrado).
Flip-Flop JK • A la derecha podemos ver el circuito lógico de flip-flop SR modificado. • La tabla característica indica que es estable para cualquier combinación de sus entradas.
Diseño de circuitos • Los circuitos digitales se pueden ver desde dos puntos de vista: análisis digital y síntesis digital. • El Análisis Digital explora la relación entre las entradas a un circuito y sus salidas. • La Síntesis Digital crea diagramas lógicos utilizando los valores expresados en una tabla de verdad. • Los diseñadores de circuitos digitales deben tener en cuenta el comportamiento físico de los circuitos electrónicos, es decir existen retardos de propagación, los cuales pueden incidir cuando las señales toman distintos caminos, en la tabla de verdad de todo el sistema.
Contadores • Un contador binario es otro ejemplo de circuito secuencial. • El bit de menor orden se complementa a cada pulso de clock. • Cualquier cambio de 0 a 1 , produce el próximo bit complementado, y así siguiendo a los otros flip-flop.
Celda de memoria seleccionar entrada S Q salida R leer/escribir (1/0)
BC Celda de memoria Celda de memoria seleccionar entrada S Q salida seleccionar R entrada salida leer/escribir (1/0) leer/escribir (1/0)
Unidad de memoria de 4 x 3 bits Unidad de memoria de 4 × 3 bits Dato de entrada (3 bits) D0 A0 BC BC BC A1 D1 BC BC BC Entrada de selección de memoria D2 BC BC BC D3 BC BC BC Decoder 2×4 leer/escribir Dato de salida
Buffer de 3 estados EN = 0 EN = 1 OUT OUT IN IN Esquema eléctrico EN: enable IN: input OUT: output
Buffer de 3 estados Tabla de verdad Diagrama EN: enable IN: input OUT: output
Diagrama en bloqueRAM de 64K x 8 bits Chip 64 x 8 RAM