DISEÑO LÓGICO DE PROCESADORES
Orgonizacion del Procesador
Un procesador, incluye tanto registros visibles por el
usuario como registros de control/estado. Los registros visibles por el usuario
pueden ser de uso general o tener una utilidad especial, mientras que los
registros de control y estado se usan para controlar el funcionamiento del
procesador, un claro ejemplo es el contador de programa.
Los procesadores utilizan la segmentación de instrucciones
para acelerar la ejecución. La segmentación de cauce se puede dividir en ciclo
de instrucción en varias etapas separadas que operan secuencialmente, tales
como la captación de instrucción, decodificación de instrucción, cálculo de
direcciones de operando, ejecución de instrucción y estructura del operando
resultado.
El procesador se organiza,
para esto se tiene que considerar los siguientes requisitos:
- Captar instrucciones: el procesador lee una instrucción de memoria (registro, cache o memoria principal).
- Interpretar instrucción: la instrucción se codifica para determinar qué acción es necesario.
- Captar datos: la ejecución de una instrucción puede exigir leer datos de memoria o de un módulo de E/S.
- Procesar datos: la ejecución e una instrucción puede exigir llevar a cabo alguna operación aritmética o lógica con los datos.
- Escribir datos: los resultados de una ejecución pueden exigir escribir datos en la memoria o en el módulo de E/S.
Para realizar esto, el procesador necesita almacenar
instrucciones y datos temporalmente mientras una instrucción esta ejecutándose,
en otras palabras el procesador necesita una pequeña memoria interna.
En esta figura se muestra
una visión simplificada de un procesador, que indica su conexión con el
resto de sistema, a través del bus del sistema. La ALU lleva a cabo el
verdadero cálculo o procesamiento de datos. La unidad de control controla la
transferencia de datos e instrucciones así a dentro y así afuera del
procesador, y el funcionamiento de la ALU. Además la figura muestra una memoria
interna mínima, que consta de un conjunto de posiciones de almacenamiento
llamadas registros.
|
Unidad aritmético-lógico
La unidad Aritmético Lógica, es parte de la CPU, se la conoce como ALU por sus siglas en inglés de (arithmetic logic unit) en su interior tiene los circuitos digitales que realizan las operaciones aritméticas y lógicas, entre dos operando, sobre esta muchas operaciones; realiza la resta, la multiplicación a través de sumas múltiples o con complementos, esto se realiza cargando los operando en el ACUMULADOR AC que recibe mediante el bus de datos.
Es necesario que se deba determinar en su interior las condiciones en las que son procesados los operandos, como si es negativo o positivo, si se ha desbordado la capacidad, con esta información se determinará cual será la decisión a tomar.
![]() |
Esquemático para una ALU: A y B son operandos; R es la salida; F es la entrada de la unidad de control; D es un estado de la salida. |
Diseño de Procesadores
Diseño de un circuito aritmetico
El componente básico de la sección aritmética de un ALU es un sumador en paralelo. Un sumador en paralelo se construye con un número de circuitos sumadores completos conectados en cascada. Controlando la entrada de datos al sumador en paralelo, es posible obtener diferentes tipos de operaciones aritméticas.
![]() |
Imagen del diseño de un circuito aritmético |
Diseño del circuito logico
Las microoperaciones lógicas manipulan los bits de los operandos separadamente y tratan cada bit como una variable binaria.
Las 16 operaciones lógicas pueden ser generadas en un circuito y seleccionadas por medio de cuatro líneas de selección. Como todas las operaciones lógicas pueden obtenerse por medio de operaciones AND, OR y NOT, podría ser más conveniente emplear un circuito lógico justamente con esas operaciones. Para tres operaciones se necesitan dos variables de selección.
Pero dos líneas de selección pueden seleccionar entre cuatro operaciones lógicas, de manera que se escoge también la función OR-exclusiva (XOR) para el circuito lógico que va a diseñarse en esta y en la siguiente sección.
El método más simple y directo de diseñar un circuito lógico se muestra en la imagen. El diagrama muestra una etapa típica designada por el suscrito i. El circuito debe repetirse n veces para un circuito lógico de n bits. Las cuatro compuertas generan las cuatro operaciones lógicas OR, OR-exclusiva, A ND y NOT. Las dos variables de selección en el multiplexor seleccionan una de las compuertas de la salida.
Diseño de una unidad logica aritmetica
En esta sección se diseña un ALU con ocho operaciones aritméticas y cuatro operaciones lógicas. Las tres variables de selección s2.s1 y .s0. Seleccionan ocho operaciones diferentes y el arrastre de entrada cin se usa para seleccionar cuatro operaciones aritméticas adicionales.
El diseño de un ALU es un problema de lógica combinacional. Debido a que la unidad tiene un patrón regular, ésta puede fraccionarse en etapas idénticas conectadas en cascada por medio de los arrastres. Se puede diseñar una etapa del ALU y luego duplicarla para conseguir el número de etapas requeridas.
Los pasos de que se compone el diseño de un ALU son los siguientes:
El diseño de un ALU es un problema de lógica combinacional. Debido a que la unidad tiene un patrón regular, ésta puede fraccionarse en etapas idénticas conectadas en cascada por medio de los arrastres. Se puede diseñar una etapa del ALU y luego duplicarla para conseguir el número de etapas requeridas.
Los pasos de que se compone el diseño de un ALU son los siguientes:
- Diseñar la sección aritmética independientemente de la sección lógica.
- Determinar las operaciones lógicas obtenidas del circuito aritmético en el paso 1, asumiendo que los arrastres de salida de todas las etapas son 0.
- Modificar el circuito aritmético para obtener las operaciones lógicas requeridas.
![]() |
Imagen del diseño de una unidad logica aritmetica |
Registro de condicion
Las magnitudes relativas de dos números pueden ser determinadas restando un número de otro y luego combinando ciertas condiciones de los bits en la diferencia resultante. Si los dos números están sin signo las condiciones de los bits de algún interés, son el arrastre de salida y un resultado posible de cero. Si los dos números incluyen un bit de signo en la posición de mayor orden, las condiciones principales de los bits, son el signo del resultado, una indicación de cero y una condición de sobrecapacidad. Es conveniente algunas veces suplementar el ALU con un registro de condición donde se almacenan aquellas condiciones de los bits para análisis posterior. El estado de los bits de condición se llama algunas veces código de condición de los bits o bits indicadores
La imagen muestra un diagrama de bloque de un ALU de 8 bits con un registro de condición de 4 bits. Los cuatro bits de condición se simbolizan por medio de c, s, z y v. Los bits se ponen a uno ó cero como resultado de una operación realizada en el ALU.
- El bit C se pone a uno si el arrastre de salida del ALU es 1 y se pone a cero (borrado) si el arrastre de salida es 0.
- El bit S se pone a uno si el bit de mayor orden del resultado en Ia salida del ALU (bit del signo) es 1 y se pone a cero (borrado) si el bit de mayor orden es 0.
- El bit Z se pone a uno si la salida del ALU contiene sólo ceros y se pone a cero (borrado) de otra manera. Z=1 si el resultado es cero y Z=0 si el resultado es diferente de cero.
- El bit V se pone a uno si la OR-exclusiva de los arrastres C8 Y C9 es 1 y de otra maneras e pone a cero (borrado.) Esta es la condición de sobrecapacidad cuando los números están en la representación de signo-complemento de 2. Para el ALU de 8 bits, V se pone a uno si el resultado es mayor que 127 o menor que -128.
Diseño de un registro de desplazamiento
La unidad de desplazamiento adjunta a un procesador trasfiere la salida del ALU al bus dé salida. La unidad de desplazamiento puede trasferir la información directamente sin un desplazamiento o puede desplazar la información a la derecha o a la izquierda. Se debe tener alguna precaución para que algunas veces no haya trasferencia del ALU al bus de salida. El registro de desplazamiento produce la microoperación de desplazamiento comúnmente no disponible en un ALU.
Un circuito obvio para un registro de desplazamiento es un registro de desplazamiento bidireccional con carga en paralelo. La información del ALU puede ser trasferida al registro en paraleló para luego desplazarla a la derecha o a la izquierda. En esta configuración se necesita un pulso de reloj para la trasferencia al registro de desplazamiento y se necesita otro pulso para el desplazamiento. Estos dos pulsos son agregados al pulso necesario para trasferir información del registro de desplazamiento al registro de destino
En la imagen anterior muestra un registro de desplazamiento de lógica combinacional, el cual se puede construirse con multiplexores.
Unidad Procesadora
Las variables de selección en la unidad procesadora controlan las microoperaciones ejecutadas dentro del procesador durante cualquier pulso de reloj dado. Donde las variables de selección controlan los buses, el ALU, el registro de desplazamiento y el registro de destino.
La imagen muestra, un diagrama de bloque de una unidad procesadoras. Este consiste de siete registros R1 hasta R7 y el registro de condición. Las salidas de los siete registros van a través de dos multiplexores para seleccionar las entradas del ALU. La entrada de datos de una fuente externa se selecciona también con los mismos multiplexores. L a salida del ALU pasa a través de un registro de desplazamiento y luego va a un grupo de terminales de salida externos. La salida del registro de desplazamiento puede transferirse a cualquiera de los registros o a un destino externo.
Diseño del acumulador
Algunas unidades procesadora distinguen un registro de otros y lo llaman registro acumulador. El ALU asociado con el registro puede ser construido como un circuito combinacional. En esta configuración, el registro acumulador es esencialmente un registro de desplazamiento bidireccional con carga en paralelo el cual es conectado a un ALU. Debido a la conexión de retroalimentación de la salida del registro a una de las entradas en el ALU el registro acumulador y su lógica asociada, cuando se toman como una sola unidad, constituyen un circuito secuencial
El diagrama de bloque de un acumulador que forma un circuito secuencial se muestra en la imagen anterior. El registro A y el circuito combinacional asociado constituyen un circuito secuencial. El circuito combinacional. Remplaza al ALU pero no puede separarse del registro ya que éste es solamente la parte del circuito combinacional del circuito secuencial. EI registro A se trata algunas veces como el registro acumulador y se denota algunas veces por eI símbolo AC. Aquí, el acumulador se refiere al registro A y a un circuito combinacional asociado. Las entradas externas al acumulado, son las entradas de datos de B y las variables de control que determinan las microoperaciones del registro.
Fuentes consultada
0 comentarios:
Publicar un comentario