Sunteți pe pagina 1din 15

Introducción

Un proceso de diseño lógico es una tarea muy compleja, debido a eso se ha


implementado el desarrollo de una gran variedad de técnicas en relación con el diseño del
computador con el fin de facilitar los procesos de diseño. Sin embargo para el desarrollo de
los procedimientos algorítmicos este no funciona debido a que para este se tiene que utilizar
el razonamiento mental del diseñador humano. La parte mas difícil del diseño es en el
momento de establecer los objetivos, además de la formulación de los algoritmos y los
procedimientos que se iran a utilizar para lograr los objetivos que ya planteados.

La formación binaria que se encuentre en un sistema digital es almacenada en un


procesador o en un registro de memoria y puede estar constituida por datos e información
de control, estos datos son elementos discretos que son manipuladas por las
microoperaciones. Siendo un algoritmo un procedimiento para dar solución a un problema
especifico y un algoritmo diseñado es para configurar el problema con una pieza del
equipo.

El diseño de un sistema digital requiere una secuencia de control que omienza con la
suposición de la disponibilidad de variables de tiempo, este es diseñado como una variable
de secuencia por medio de un estado o una representación equivalente para la transacción
entre estados. La secuencia de control y las relaciones de transferencia registros pueden
deducirse directamente de la especificación en palabras del problema, pero en algunas
ocasiones es conveniente utilizar una representación intermedia para describir la secuencia
necesaria de operaciones del sistema.

Un flujograma es una manera de expresar la secuencia de pasos de procedimientos o


instrucciones y la forma de tomar decisión respecto un algoritmo. Este en un algoritmo
diseñado usa los nombres de las variables de registro definidos de la configuración inicil
del equipo, y este consiste en un diagrama de bloques conectados por medio de líneas
directas y dentro de estos bloques encuentran las instrucciones para la configuración.

Desarrollo
Diseño de Lógica de control
El proceso del diseño lógico es una, tarea compleja. Muchas instalaciones
desarrollan varias técnicas de diseño del computador automatizado para facilitar el proceso
de diseño. Sin embargo las especificaciones para el sistema y el desarrollo de
procedimientos algorítmicos para lograr las tareas requeridas de procesamiento de datos no
pueden ser automatizados y requieren un razonamiento mental para el diseñador.

La parte de mayor desafío y creatividad del diseño es el establecimiento de


objetivos de diseño y la formulación de algoritmos y procesamientos para lograr objetivos
enunciados. Esta tarea requiere una cantidad considerable de experiencia e ingenuidad por
parte del diseñador.

La información binaria encontrada en un sistema digital se almacena en un


procesador o registros de memoria y puedes ser constituida por datos o información de
control. Los datos son elementos discretos de información que se manipulan por micro-
operaciones.

La temporización de todos los registros en un sistema digital sincrónicos se maneja


por medio de un generador de pulsos de reloj maestro.

El diseño de un sistema digital que requiere una secuencia de control comienza con
la suposición de la disponibilidad de variables de tiempo

Organización del control


Una vez que se haya establecido la secuencia de control se puede diseñar el sistema
secuencial que configura las operaciones de control. Como el control es un circuito
secuencial, éste se puede diseñar por el procedimiento lógico secuencial. Sin embargo, este
método es poco práctico en la mayoría de los casos debido al gran número de estados que el
circuito de control puede tener. Los métodos de diseño que usan estados y tablas de
excitación pueden usarse en teoría pero en la práctica son engorrosos y difíciles de manejar.
Además, los circuitos de control obtenidos por este método requieren por lo general un
número excesivo de flip-flops y compuertas, lo cual implica el uso de compuertas SSI.

El principal objetivo del diseño de lógica de control debe ser el desarrollo de un


circuito que configure la secuencia de control deseada de una manera lógica y directa. El
esfuerzo de minimizar el número de circuitos tendería a producir una configuración
irregular, lo cual haría difícil para cualquier persona diferente al diseñador, el
reconocimiento de la secuencia de eventos por los cuales pasa el control. Como
consecuencia podría ser difícil dar servicio y mantener el equipo cuando está en operación.
Debido a las razones citadas anteriormente los diseñadores con experiencia lógica
usan métodos para el diseño de lógica de control que pueden ser considerados como una
extensión del método lógico secuencial clásico combinado con el método de trasferencia
entre registros. En esta sección se consideran cuatro métodos de organización de control.

1. Método de un flip-flop por estado:

Este método usa un flip-flop por estado en el circuito secuencial de control.


Solamente se pone a uno un flip-flop en un tiempo dado, los demás se ponen a cero. Se
hace programar un solo bit de un flip-flop a otro bajo el control de la lógica de decisión. En
tal arreglo cada flip-flop representa un estado y se activa solamente cuando el bit de control
se trasfiere a éste.

Este método no usa un número mínimo de flip-flops para el circuito secuencial. De


hecho, éste usa un número máximo de flip-flops.

La ventaja de un flip-flop por método de estado es la simplicidad con la cual se


diseña. Este tipo de controlador puede diseñarse por inspección a partir de un diagrama de
estado que describe la secuencia de control.

La configuración de una lógica de control secuencial de cuatro estados, que usa


cuatro flip-flops. Si el circuito de control no necesita entradas externas para su cadencia, el
circuito se reduce a un circuito de desplazamiento simple con un solo bit que se desplaza de
una posición a la siguiente. Si la secuencia de control debe repetirse una y otra vez, el
control se reduce a un contador de anillo. Un contador de anillo es un registro de
desplazamiento con la salida del Último flip-flop conectado a la entrada del primer flip-
flop.

2. Método del registro de secuencia y el decodificador:

Este método usa un registro para darle secuencia a los estados de control. El registro
se decodifica para suministrar una salida por cada estado. El circuito tendrá 2n estados y el
decodificador 2n salidas, para n flip-flops en el registro de secuencia. Por ejemplo un
registro de 4 bits puede estar en cualquiera de los 16 estados. Un decodificador 4x16 tendrá
16 salidas una para cada estado del registro, tanto el registro de frecuencia como el
decodificador con componentes MSI.
El registro de frecuencia tiene 2 flip-flops y el decodificador establece salidas
separadas para cada uno de los registros, La transmisión al siguiente estado del registro de
secuencia es una función del estado presente y las condiciones de entradas externas.

3. Control PLA:

El PLA es un componente LSI que puede configurar cualquier circuito


combinacional complejo. El control del PLA es esencialmente similar al registro de
secuencia y al método del decodificador excepto que todos los circuitos combinacionales se
configuran con un PLA, incluyendo el decodificador y la lógica de decisión. Es posible
reducir el número de CI y el número de alambres de interconexión, usando un PLA para el
circuito combinacional.

Un registro de secuencia externo establece el estado presente del circuito de control.


Las salidas PLA determinan cuáles micro-operaciones deben iniciarse dependiendo de las
condiciones de entrada externas y del estado presente del registro secuencial. Al mismo
tiempo, otras salidas del PLA determinan el estado siguiente del registro de secuencia.

El registro de secuencia es externo al PLA si la unidad configura solamente


circuitos combinacionales. Sin embargo hay algunos PLA disponibles que incluyen no
solamente compuertas sino flip-flops dentro de la unidad.

4. Control del microprograma:

El propósito de la unidad de control es iniciar una serie de pasos secuencia les de


micro-operaciones. Durante cualquier tiempo dado se deben iniciar ciertas operaciones
mientras que otras permanecen latentes. Así, las variables de control en un tiempo dado
pueden ser representadas por una cadena de 1 ó 0 llamada palabra de control. Dichas
palabras de control pueden ser programadas para iniciar las diferentes componentes en el
sistema de una manera organizada. Una unidad de control cuyas variables de control se
almacenan en una memoria, se llaman unidad de control micro-programada. Cada palabra
de control de memoria se llama microinstrucción y una secuencia de microinstrucciones se
llama microprograma. Como poco se necesitan las alteraciones del microprograma, la
memoria de control puede ser una ROM. El uso del microprograma comprende la
ubicación de todas las variables de control en palabras de la ROM para usarlas por medio
de las unidades de control a través de operaciones sucesivas de lecturas. El contenido de la
palabra en la ROM en una dirección dada especifica las micro-operaciones del sistema.

Un desarrollo mas avanzado conocido como micro-programación dinámica permite


cargar inicialmente un micro-programa a partir de una consola de computador o una
memoria auxiliar como un disco magnético.
Control de componentes alambrados

Se comienza con la posición del problema y se procede con los pasos del diseño
para obtener la lógica de control del sistema el diseño se lleva acabo en 5 pasos:

1. Se enuncia el problema: el problema aquí es configurar con materiales la adición y


sustracción de dos números binarios de punto fijo representado en forma de signos-
magnitud. Se puede usar aritmética implementada siempre y cuando el resultado final este
en forma de signo-magnitud.
La suma de dos números en un registro de longitud finita podría resultar en una suma que
excede la capacidad de almacenamiento.

2. Se asume una configuración inicial del equipo: los dos números binarios con signos al
ser sumados o restados contienen bit. Las magnitudes de los números contienen R=N-1 bit
y se almacenan en los registros A y B. los bit de signos se almacenan en los flip-flops A y
B.

3. Se formula el algoritmo: la representación de números por signos-magnitud es famaliar


debido a que se usa para los calculos aritméticos a lápiz y papel. El procedimiento de de
suma y resta de dos números binarios con signos de lápiz y papel es muy simple y directo.
Una revision de este procedimiento podría ser útil para deducir el algoritmo diseñado.

4. Se especifica la parte del procesador de datos: el flujograma del algoritmo listatodas


las microoperaciones para la parte del procesador de datos del sistema. Las operaciones
entre A y B pueden realizarse con el ALU.

5. Se diseña la lógica de control: el diseño de un control con materiales interconectados es


un problema de lógica secuencial. Los recuadros del flujograma pueden ser considerados
como estado de circuito secuencial y los recuadros de decisión como condisiones de
sistemas del siguiente estado. Las microopraciones que deben ser ejecutadas en un estado
dado, se especifican dentro de un recuadro de función.
Las condiciones para la transición del siguiente estado se especifican dentro del recuadro de
decisión o en las líneas que se conectan entre los recuadros de función. Aunque se puede
formular esta relación entre un flujograma y el diagrama de estado, la conversión entre una
forma y otra no es única. En consecuencia, diferentes diseñadores producían diferentes
diagramas de estado para el mismo flujograma y cada cual puede ser una correcta
representación del sistema.

Control del microprograma


En un microprograma de control, las variables de control que inician micro-
operaciones se almacenan en la memoria. La memoria de control es comúnmente una ROM
ya que la secuencia de control es permanente y no necesita alteración. Las variables de
control almacenadas en la memoria son leídas una a una para iniciar la secuencia de micro-
operaciones del sistema.

Las palabras almacenadas en la memoria de control son microinstrucciones y cada


una de ellas especifica una o más micro-operaciones para los componentes en el sistema.
Una vez que se ejecutan estas micro-operaciones, la unidad de control debe determinar la
siguiente dirección. Por tanto, unos pocos bits de la microinstrucción se usan para controlar
la generación de la dirección para la siguiente microinstrucción. Así una microinstrucción
contiene bits para iniciar micro-operaciones y bits para determinar la siguiente dirección
para la memoria de control en sí misma.

Además de la memoria de control, una unidad de control de microprograma debe


incluir circuitos especiales para seleccionar la siguiente dirección como se especifica por la
microinstrucción. Estos circuitos y la configuración de los bits de microinstrucción
almacenados en la memoria varían de una unidad a otra.

Un estado en la memoria de control se representa por la dirección de una


microinstrucción. Una dirección para la memoria de control especifica una palabra de
control dentro de una microinstrucción.

Control de la unidad procesadora

Una unidad de control del microprograma debe tener una configuración de


propósito general para adaptarse a una gran cantidad de situaciones. Una unidad de control
de microprograma debe tener una memoria de control suficiente como para almacenar
microinstrucciones. Se debe hacer provisión para incluir todas las variables de control
posibles en el sistema y no solamente para controlar un ALU. El multiplexor y los bits
seleccionados deben incluir todos los demás bits de condición posibles que se quieran
comprobar en el sistema. Se debe tener una provisión para aceptar una dirección externa
para iniciar muchas operaciones en vez de dos operaciones solamente tales como suma y
sustracción.

La principal ventaja del control del microprograma es el hecho que una vez que se
ha establecido la configuración de los materiales no debe haber necesidad de cambios
posteriores de las conexiones entre los componentes. Si se quiere establecer una secuencia
de control diferente para el sistema, todo lo que se necesita es especificar un conjunto
diferente de microinstrucciones para la memoria de control. La configuración con los
materiales no debe cambiar para las diferentes operaciones; el único cambio debe ser el
microprograma que reside en la memoria de control.
Secuenciador del microprograma

El secuenciador es el centro neurálgico de gestión, control y planificación del


microprocesador, por tanto su función es fundamental para el desarrollo de cualquier
instrucción software.

A la hora de realizar un secuenciador pueden tenerse presente dos políticas de diseño:


históricamente, la primera es la cableada. Esta metodología convierte el secuenciador de la
máquina en un autómata finito determinista (máquina de Mealy o máquina de Moore). Los
secuenciadores así diseñados tendrán siempre la misma funcionalidad, y sólo mediante una
modificación hardware podrá ser cambiada; esto obliga a un costoso desarrollo hardware
del equipo. Al mismo tiempo que dificulta notablemente la prueba y la fiabilidad del
mismo.

Por otra parte, el secuenciador puede diseñarse como si fuese un microprocesador del
propio microprocesador. En este caso, las decisiones no están sujetas a un circuito
combinacional lógico, sino al contenido de una memoria (memoria de microprograma el
contenido de esta memoria es el encargado de establecer el circuito combinacional de
estados lógicos para la realización de una determinada tarea, actuando de una forma muy
sencilla.

Un valor 1 lógico en una posición de memoria (recuérdese una célula CMOS cargada)
sería equivalente a un circuito cerrado, mientras que un valor 0 lógico sería equivalente a
un circuito abierto. Esta técnica de diseño permite. por tanto, variar fácilmente (bastaría
cambiar el contenido de la memoria de microprograma) la actuación de un microprocesador
ante los mismos eventos, es decir, permite pasar fácilmente un microprocesador de
propósito general a uno de propósito específico.

En conclusión, se puede afirmar que si el microprocesador es el alma funcional de una


computadora, el secuenciador lo es a su vez en la misma proporción del microprocesador.

La microprogramación, por tanto, es una programación de muy bajo nivel (más bajo
que el código ensamblador), a nivel de lenguaje máquina (ceros y unos). Por tanto su
aplicación queda restringida a los centros de investigación y desarrollo hardware, ya que el
fabricante realizará dicha aplicación tanto para un microprocesador de propósito general
como para un microprocesador de propósito especifico, a petición del cliente. Debido a
esto, un usuario normal no puede modificar ni la estructura ni el código de microprograma
residente en su microprocesador.
Conclusión

El diseño de un sistema no puede comenzar hasta que el diseñador este seguro de


dos cosas: primero el problema debe comprenderse completamente y debe ser de gran
interés para el diseñador, segundo se debe asumir una configuración inicial del equipo para
conformar el procedimiento. Y a partir del enunciado del problema y la disponibilidad del
equipo se busca una solución y la forma del algoritmo.

El control inicia todas las micro-operaciones en el procesamiento de datos, en un


tiempo determinado, el estado de control secuencial inicia un conjunto de micro-
operaciones ya preseleccionadas. Este pasa el siguiente estado o inicia otras micro-
operaciones esto depende de las condiciones que estén presente y de otras entradas.

El diseño lógico de control no puede separarse del desarrollo del algoritmo para
resolver un problema de diseño, sin embargo, la lógica de control está relacionada
directamente a la parte del procesador de datos del sistema que este controla.

S-ar putea să vă placă și