Unidad #4

DISEÑO DE COMPUTADORES


El diseño del computador digital es una tarea complicada.  No se debe espera el cubrimiento de todos los aspectos del diseño en un solo capítulo.  Aquí interesa el sistema y el diseño lógico de un computador digital pequeño cuyas especificaciones se formulan de una manera arbitraria para poder establecer una configuración  mínima para una máquina muy pequeña, aunque práctica.
El proceso del diseño se divide en seis fases:
  1. La descomposición .del computador digital en registros que especifican la configuración general del sistema.
  2. La especificación de las instrucciones del computador.
  3. La formulación de los circuitos de tiempo y de control.
  4. La lista de operaciones de trasferencia entre registros necesaria para ejecutar todas las instrucciones de computador.
  5. El diseño de la sección del computado
  6. El diseño de la sección del control. 
El proceso de diseño se lleva a cabo por medio de las listas tabuladas que sumarizan las especificaciones y operaciones en forma compacta. La sección del procesado se define por medio del diagrama de bloque que consiste de registros y multiplexores. Se asume que el lector tiene información suficiente para remplazar los bloques en el diagrama con circuitos MSI.


CONFIGURACIÓN DEL SISTEMA 

 


     Esta configuración se supone que satisface la estructura del sistema final. En una situación practica, el diseñador comienza con una configuración tentativa de un sistema, y la modifica constantemente durante el proceso de diseño. El nombre de cada registro se escribe dentro del bloque, conjuntamente con la designación simbólica en paréntesis. 


     El generador del reloj maestro es una fuente de pulsos de reloj común, por lo general un oscilador, el cual genera un tren periódico de pulsos. A estos pulsos se les da mayor capacidad por medio de amplificadores y se distribuyen por todo el sistema. Cada pulso debe llega a cada flip-flop y registros al mismo tiempo. El llevar los retardos a la misma fase puede necesitarse indirectamente de manera que la diferencia en retardos de trasmisión es uniforme por todas partes. La frecuencia de los pulsos es una función de la velocidad con la cual opera el sistema. Se asume una frecuencia de 1 megaciclo, la cual da un pulso cada milisegundo. Esta frecuencia de pulso se escoge para tener un número redondo y evitar problemas de los retados de propagación en los circuitos. La unidad de memoria tiene una capacidad de 4.096 palabras de 16 bits cada una. Esta capacidad es suficientemente larga para un proceso significativo. Se puede usar un tamaño menor si se desea construir un computador en el laboratorio bajo restricciones económicas. 

Instrucciones de Computador 

El número de instrucciones disponibles en un computador y su eficiencia en resolver el problema entre manos, es una buena indicación de lo bien que el diseñador del sistema previó la aplicación que se requería de la máquina. Los sistemas de cómputo mediano y de gran escala, pueden tener cientos de instrucciones, mientras que la mayoría de computadores pequeños limitan la lista a menos de 100. Las instrucciones se deben escoger con cuidado para imprimir las características suficientes del sistema con el fin de resolver un amplio rango de problemas de procesamiento de datos. Los requerimientos mínimos de tal lista deben incluir una capacidad para almacenar y cargar palabras de la memoria, un conjunto suficiente de operaciones aritméticas  y lógicas, algunas propiedades de modificación de direcciones, bifurcación incondicional, bifurcación bajo condiciones de prueba, propiedades de manipulación de registro e instrucciones I/O. La  lista instrucciones escogidas para el computador pretende ser la mínima requerida para un procesador de datos práctico pero restringido. 

La formulación del conjunto de instrucciones para el computador va mano a mano con la formulación de los formatos para datos y palabras de instrucciones. Una palabra de memoria consiste de 16 bits. Una palabra pude representar una unidad de datos o una instrucción. Los formatos de palabras de datos se muestran en la imagen siguiente. Los datos para las operaciones aritméticas se representan por un número binario de 15 bits con un signo en la posición del bit décimo sexto. Se asume que los números están en su-equivalente de complemento de 2. Las operaciones lógicas se realizan con bits individuales de la palabra, con el bit 16 tratado como cualquier otro bit. Cuando el computador se comunica con un dispositivo I/O, la información trasferida se considera compuesta de caracteres alfanuméricos de 8 bits. Dos de estos caracteres pueden acomodarse en una palabra de computador.


Los formatos de palabras de instrucción se muestran en la imagen siguiente. La parte operativa de la instrucción contiene cuatro bits; el significado de los 12 bits restantes depende del código de operación encontrado. Una instrucción de referencia de memoria  usa los 12 bits restantes para especificar una instrucción. Una instrucción de referencia de registro implica una operación o prueba con el registro A o el E. No se necesita un operando de la memoria; por tanto, los 12 bits menos significativos son usados para especificar la operación o la prueba que se va a ejecutar. Una instrucción de referencia de registro se reconoce por el código 0110 en la parte de operación. Similarmente una instrucción de entrada-salida no necesita  una referencia para la memoria y se reconoce por el código de operación 0111. Los 12 bits restantes se usan para especificar el dispositivo particular y el tipo de operación o prueba realizada.


Solamente cuatro bits de la instrucción están disponibles para el código de operación. Parecería que el computador está restringido á un máximo de 16 operaciones diferentes. Sin embargo, como las instrucciones de referencia de registro y de entrada-salida usan los 12 bits restantes como parte del código de operación, el número total de instrucciones puede exceder de 16. De hecho, el número total de instrucciones escogido para el computador es 22.  De las 16 diferentes operaciones que pueden ser formuladas con cuatro bits. Solamente ocho pueden ser utilizadas por el computador, porque el bit  de la extrema izquierda de todas las instrucciones (bit 16) es siempre 0. Esto deja abierta la posibilidad de agregar nuevas instrucciones y aumentar  la capacidad del computador, si se desea.

Sincronización  de Tiempo y Control

     Todas las operaciones del computador están sincronizadas por un generador de tiempo maestro cuyos pulsos de reloj se aplican a todos los flip-flops del sistema. Además, está disponible cierto número de variables de tiempo en la unidad de control para darle secuencia a la operación en el orden adecuado. Esas variables de tiempo se designan como t0, t1, t2,  y t3 y se muestran en la imagen a continuación. 

     Los pulsos de reloj ocurren una vez cada micro-segundo (μs). Cada variable de tiempo es de 1 μs de duración y ocurre una vez cada 4 μs. Se asume que el disparo de los flip-flops ocurre durante el flanco negativo de los pulsos de reloj. Se puede controlar el pulso de reloj específico que dispara el registro, aplicando una de las variables de tiempo al terminal de entrada de habilitación de un registro dado. Las variables de tiempo se repiten continuamente de manera que t0 aparezca después de t3. Cuatro variables de tiempo son suficientes para la ejecución de cualquier instrucción en el computador que consideramos aquí. En otras situaciones podría ser necesario emplear un número diferente de variables de tiempo.


Se asume que el tiempo de acceso de memoria es menor que 1 μs. Una operación de lectura o escritura de memoria puede iniciarse con una de las variables de tiempo cuando ésta se ponga alta. La operación de memoria se completará en el momento en que llegue el pulso siguiente de reloj. 

          El computador digital opera con pasos discretos controlados por las señales de tiempo. Una instrucción es leída de la memoria y ejecutada en los registros por medio de una secuencia de microoperaciones. Cuando el control recibe una instrucción, éste genera las funciones de control adecuadas para las microoperaciones requeridas. En la imagen siguiente, se muestra un diagrama de bloque de la lógica de control.


Una instrucción que se lee de la memoria se coloca en el registro B separador de la memoria. La instrucción tiene un código de operación de 4 bits, designado por el símbolo OP. Si ésta es una instrucción de referencia de memoria tendrá una parte de dirección designada por el símbolo AD.  El código de operación se trasfiere siempre al registro de instrucción I. El código de operación en I se decodifica en ocho salidas q0 – q7, siendo el número suscrito igual al código hexadecimal para la operación. El registro G es un contador de 2 bits que cuenta continuamente los pulsos de reloj, durante el tiempo en que el flip-flop S, de comienzo-parada esté puesto a uno. Las salidas del registro G se decodifican en cuatro variables de tiempo t0 – t3. El flip-flop F distingue entre los ciclos de búsqueda y de ejecución. Otras condiciones de status son necesarias para determinar la secuencia de control. Las salidas de los circuitos de lógica de control indican todas las microoperaciones para el computador. El diagrama de bloque de la lógica de control es útil para visualizar la unidad de control del computador, cuando se derivan las operaciones de trasferencia entre registros durante el proceso de diseño de la lógica.

Ejecución de Instrucciones

Las operaciones de trasferencia entre registros describen de una forma concisa el proceso de trasferencia de información dentro de los registros del computador. Cada proposición de la descripción consiste de una función de control, seguida de una coma, seguida de una o más microoperaciones con notación simbólica. La función de control es una función de Boole cuyas variables son las señales de tiempo t0 – t3, la operación decodificada q0 –q7 y ciertas condiciones de los bits de condición. Las microoperaciones son especificadas de acuerdo con la notación simbólica definida en el método de trasferencia entre registros.

Una vez que se active el interruptor de comienzo, la secuencia del computador sigue un patrón básico. Una instrucción cuya dirección está en el PC se lee de la memoria. Su parte de operación se trasfiere al registro I y el PC se incrementa en 1 para prepararla para la dirección de la siguiente instrucción. Si la instrucción es del tipo referencia de memoria, podría ser necesario accesar de nuevo la memoria para leer el operando. Así, las palabras leídas de la memoria al registro B pueden ser instrucciones o datos. El flip-flop F se usa para distinguir entre los dos. Cuando F=0, la palabra leída de la memoria, se interpreta como una instrucción y se dice que el computador está en el ciclo de búsqueda de la instrucción. Cuando F=1, la palabra leída de la memoria se toma como un operando y se dice que el computador está en el ciclo de ejecución.

DISEÑO DE LOS REGISTROS DE COMPUTADO

El diseño de un sistema digital sincrónico sigue un procedimiento prescrito. A partir del conocimiento de las necesidades el sistema se formula una red de control y se obtiene una lista de operaciones de trasferencia entre registros del sistema. Una vez que se haya derivado esa lista, el resto del diseño es directo. Algunas instalaciones utilizan técnicas de automatización para el diseño de computador para traducir las proposiciones de trasferencia entre registros a un diagrama de circuitos compuesto de circuitos integrados.

La lista de funciones de control presenta las funciones de Boole para las compuertas en la red lógica de control. La lista de microoperaciones da una indicación del tipo de registros que deben escogerse para el computador. Aunque estas tablas son suficientes para completar el diseño lógico del sistema, podría ser conveniente redistribuir la información en las tablas de una manera más conveniente durante el proceso de configuración actual.

Diseño del Control 

La unidad de control del computador genera las variables de control para los registros y unidad de menoría. Hay 24 variables de control diferentes. Se presentaron tres métodos para el diseño de la lógica de control: el control con componentes alambrados, el control PLA y el control del microprograma. La unida de control del computador puede ser diseñada usando cualquiera de estos tres métodos.

Consola del Computador 


Cualquier computador tiene un panel de control o consola con interruptores y lámparas para permitir comunicación manual y visual entre el operador y el computador. Esta comunicación es necesaria para comenzar la operación del computador (bootstrapping) y para propósitos de mantenimiento. Para completar se enumera un conjunto de funciones de la consola útiles para el computador aunque no se muestren los circuitos necesarios para configurar estas funciones.  

Las lámparas indican al operador la condición de los registros del computador. La salida normal de un flip-flop conectado a una lámpara indicadora causará que la lámpara alumbre cuando el flip-flop se pone a 1 y se apague cuando el flip-flop se borra. Los registros cuyas salidas van a ser observadas en la consola del computador son: A, B, PC, MAR, I, E, F y S. Cuando se muestra el número total del flip-flop se encuentra que es necesario 63 lámparas indicadoras. Un conjunto de interruptores y sus funciones para la consola pueden incluir lo siguiente:


  1. Dieciséis interruptores de "palabra" para establecer manualmente los bits de una palabra.
  2. Un interruptor de "comienzo" para preparar el flip-flop S. La señal de este interruptor borra el flip-flop F, N9, U9 y el registro G.
  3. El interruptor de "parada" para borrar el flip-flop S. Para asegurar que se complete esta instrucción la señal que viene del interruptor se aplica conjuntamente con la función de Boole (F + q5+ q6 + q2 + q7) t3 a una compuerta AND antes de que se aplique para el borrado de la compuerta S.
  4. Un interruptor de "cargar dirección" para trasferir una dirección al registro PC. Cuando se activa este interruptor, el contenido de los 12 interruptores de "palabra" se trasfieren al PC.
  5. Un interruptor de "depósito" para almacenar manualmente palabras en la memoria. Cuando se activa este interruptor, el contenido del PC se trasfiere al MAR y se inicia el ciclo de memoria. Después de 1 μs, el contenido de los 16 interruptores de "palabra" se trasfieren al registro B y se incrementa el PC en 1.
  6. Un interruptor de "exposición" para examinar el contenido de la palabra en la memoria. Cuando se activa este interruptor, el contenido del PC se trasfiere al MAR, se inicia un ciclo de memoria y se incrementa el PC en 1. El contenido de la palabra de memoria especificado por la dirección en el PC, está en el registro B y puede verse en las correspondientes lámparas indicadoras.          
        Para asegurarse que el computador no esté funcionando cuando la energía se aplica, el flip-flop S debe tener un círculo especial que lo forcé a una posición de borrado inmediatamente después de aplicar energía a la máquina.

por: Juan Samuel.
Fuente bibliográfica:

3 comentarios:

  1. Buen aporte! cabe destacar que dado que la configuración del sistema debe satisfacer la estructura del sistema final. Esto es posible por medio de instrucciones que son operaciones elementales que el procesador puede cumplir, estas se almacenan en la memoria principal, esperando ser tratadas por el procesador. Las instrucciones poseen dos campos: código de operación y el código operando.

    ResponderEliminar
  2. La informacion de esta pagina esta bien organizada.. me gusto

    ResponderEliminar