Arquitectura de Computadores Resumen para Certamen 2 Por Franco Zuccar
Componentes básicos Compuertas logicas (AND, OR, NOT, XOR, NAND y NOR) Flip-Flop s (SR, JK, D y T) Los circuitos combinacionales se forman con los primeros mientras que los secuenciales con ambos.
Circuitos Combinacionales El estado de las salidas depende del estado de las entradas del circuito. Se puede representar como una caja con n entradas y m salidas donde las salidas se encuentran en función de las entradas mediante una combinación de compuertas lógicas.
NAND s y NOR s Las compuertas lógicas más utilizadas en circuitos integrados. Todas las operaciones lógicas básicas se pueden convertir a estas compuertas gracias a la ley de De Morgan
NAND NOT: OR: AND:
NOR NOT: OR: AND:
Circuitos Secuenciales Presentan un estado interno. Compuesto por circuitos combinacionales y elementos de memoria (Flip-Flop s) Las salidas están en función de las entradas así como del estado interno actual del circuito secuencial
Flip-Flop s Son circuitos combinacionales que guardan un estado interno. Tipos: SR (Set-Reset) D (Delay) JK (Jump-Keep) T (Toggle)
Flip-Flop SR La salida Q mantiene su estado cuando ambas entradas están en 0 La salida Q cambiará a 1 si la entrada S está en 1 y R en 0 (Estado Set) La salida Q cambiará a 0 si la entrada S está en 0 y R en 1 (Estado Reset) La salida Q queda indeterminada (oscila constantemente) si ambas entradas están en 1
Flip-Flop D La salida Q toma el mismo estado que la entrada D
Flip-Flop JK Tiene el mismo comportamiento que el Flip- Flop SR pero reemplaza el estado indeterminado por un toggle: La salida Q cambiará al estado contrario si ambas entradas están en estado 1
Flip-Flop T La salida Q mantiene su estado actual si la entrada T está en 0 La salida Q cambiará al estado contrario si la entrada T está en 1
Sincronía En los sistemas asincrónicos las salidas varían cada vez que las entradas lo hacen. En los sistemas sincrónicos las salidas varían sólo cuando una señal llamada clock (reloj) lo indica. La señal de sincronización puede darse por un estado especifico o por la transición de este
De circuito secuencial a diagrama de estado Se deben identificar los Flip-Flop s con una letra (por ejemplo A, B, ) Las entradas de cada Flip-Flop tendrán un sub-índice indicando a que Flip-Flop pertenece dicha entrada (J A, K A, J B, K B, ) Las salidas de cada Flip-Flop se identificarán con la misma letra de dicho Flip-Flop Se expresan las entradas como funciones logicas Se forman los mapas de Karnaugh de las todas las entradas (J A, K A, J B, K B, ) con respecto de las salidas (A, B, ) Utilizando la tabla de excitación del Flip-Flop utilizado se crean los mapas de Karnaugh de los estados siguientes de cada Flip-Flop (Q A (n+1), Q B (n+1), ) A partir de estas tablas se puede dibujar el diagrama de estado del circuito secuencial
Ejemplo de C.S. a D.E. Se tiene el siguiente circuito con los Flip-Flop s JK identificados como A, B y C:
Ejemplo de C.S. a D.E. Las entradas son: JA: 1 KA: C B JB: C KB:!A JC: 1 KC:!A +!B Los mapas de Karnaugh de las entradas son:
Ejemplo de C.S. a D.E. Los mapas de Karnaugh de los estados siguientes son:
Ejemplo de C.S. a D.E. El diagrama de estados es:
De diagrama de estado a circuito secuencial Se crea una tabla con estado actual y estado siguiente (2 columnas solamente o por separado) Se pasan los datos a los mapas de Karnaugh de los estados siguientes de cada Flip-Flop Se elige un tipo de Flip-Flop y utilizando su tabla de excitación se encuentran las posibles entradas para los estados siguientes En este mapa de Karnaugh se encuentran las funciones mínimas para cada entrada
Ejemplo de D.E. a C.S. Se tiene el siguiente diagrama de estados:
Ejemplo de D.E. a C.S. Se crean las tablas: Q n A Q (n+1) A 0 0 0 1 1 0 0 1 1 1 1 0 Q n B Q (n+1) B 0 1 1 0 0 1 1 1 1 1 1 0 Q n C Q (n+1) C 1 0 0 0 0 1 1 0 0 1 1 1
Ejemplo de D.E. a C.S. Se crean los mapas de Karnaugh de los estados siguientes para cada Flip-Flop \AB C\ 00 01 11 10 0-1 1 0 1 0 1 0 - \AB C\ 00 01 11 10 0-0 1 1 1 1 1 0 - \AB C\ 00 01 11 10 0-0 1 1 1 0 0 1 - Q A n Q B n Q C n
Ejemplo de D.E. a C.S. Utilizando el Flip-Flop JK y su tabla de excitación se crean los mapas de Karnaugh para las entradas \AB C\ 00 01 11 10 0-11 10 11 1 01 11 11 - \AB C\ 00 01 11 10 0-11 10 11 1 11 10 11 - \AB C\ 00 01 11 10 0-01 11 11 1 11 11 10 - JK A n JK B n JK C n
Ejemplo de D.E. a C.S. Se obtienen las funciones mínimas para cada entrada J A : B+!C K A :!A+!B+C J B : 1 K B : AC+!A!C+!B J C : A+C K C :!A+!C
Ejemplo de D.E. a C.S. Finalmente se arma el circuito secuencial resultante:
Componentes estructurados Se construyen a partir de los elementos básicos anteriores Es importante el papel de la compuerta de tercer estado (permite conectar y desconectar los distintos elementos a voluntad)
Registros Unidad fundamental FF tipo D Permite almacenar información en ellos (16, 32 y 64 bits tamaños comunes) 2 tipos: Paralelos: n entradas y n salidas más una línea de control de carga Serial: 1 entrada y 1 salida más una línea de corrimiento Varios registros se pueden conectar mediante un bus y controlando el acceso a este mediante compuertas de tercer estado
Multiplexores Básicamente la salida toma el valor de una de las entradas elegida mediante líneas de control (es un selector) Para n líneas de entrada, log 2 n líneas de control
Codificadores y decodificadores Decodificadores transforman la entrada binaria a salida decimal: las líneas de salida están numeradas y el numero binario representado en la entrada es el numero de la línea que se enciende. Codificadores transforman la entrada decimal a salida binaria. Para n líneas binarias hay 2 n líneas decimales
Archivo de registros Conjunto de registros cuyas salidas convergen a 2 MUX permitiendo leer 2 registros a la vez
ALU Aritmetic Logic Unit: Realiza las operaciones aritmeticas. Como entradas tiene 2n líneas de operandos, entrada de carry anterior y líneas de control para elegir la operación a realizar. Como salidas tiene n líneas de resultado, salida de carry y puede tener líneas de control como zero (indica que el resultado de la operación es igual a cero) u overflow
ALU
Lenguaje de maquina Refiérase a la ayudantía de ASM
MIPS Presenta 32 registros Las instrucciones son todas de 32 bits Existen 3 tipos: Tipo R (operación de registros) Tipo I (operaciones inmediatas y de memoria) Tipo J (operación de saltos en la ejecución)
Instrucciones R 6 bits que identifican el tipo de instrucción 15 bits que indican la dirección de 3 registros (5 bits cada uno = 32 registros) 5 bits para la rotación de registros (donde corresponde) 6 bits para definir la función a utilizar Opcode (6) Rs (5) Rt (5) Rd (5) Sa (5) Function (6)
Instrucciones I 6 bits que identifican el tipo de instrucción 10 bits que indican la direccion de 2 registros (5 bits cada uno) 16 bits que almacenan el valor inmediato a utilizar en la operacion Opcode (6) Rs (5) Rt (5) Immediate (16)
Instrucciones J 6 bits que identifican el tipo de instrucción 26 bits que indican la posición en la memoria a la cual se debe realizar el salto Opcode (6) Target (26)
Comparación de instrucciones Todas presentan 6 bits iniciales que identifican a la instrucción para interpretarla correctamente. Opcode (6) Rs (5) Rt (5) Rd (5) Sa (5) Function (6) Opcode (6) Rs (5) Rt (5) Immediate (16) Opcode (6) Target (26)
Interrupciones-Excepciones Ambas se refieren a llamadas a sub rutinas no planificadas Interrupción es un evento externo que genera esta llamada (teclado, pantalla, disco, etc) Excepción es un evento interno que genera esta llamada (overflow, división por cero, instrucción incorrecta, etc)
Tratamiento de int-exc Pueden ser de dos tipos: Con un registro especial que guarda la causa de la int-exc. La ejecucion del programa salta a una direccion especifica. Interrupciones vectorizadas. La ejecucion del programa salta a distintas direcciones dependiendo de la causa de la int-exc donde se deben realizar las acciones correspondientes según el caso.
Maquina monociclo Etapas: IF: Fetch de instrucción ID: Decodificación y fetch de registros EX: Ejecución y cálculo de la dirección efectiva MEM: Acceso a la memoria en lectura o escritura WB: Escritura de registros en el archivo de registros Al realizarse todas estas etapas al mismo tiempo, se debe separar la memoria de datos de la memoria de instrucciones
Maquina monociclo
Maquina multiciclo Cada etapa se realiza en distintos ciclos de reloj. Esto libera de la necesidad de tener memoria especifica de datos y de instrucciones. Se deben agregar registros a la unidades lógicas para preservar su valor entre ciclos.
Maquina multiciclo