arquitectura

20

Click here to load reader

Upload: franklin-salazar

Post on 02-Jul-2015

805 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: arquitectura

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.

Page 2: arquitectura

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

Page 3: arquitectura

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á

Page 4: arquitectura

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.

Page 5: arquitectura

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

Page 6: arquitectura

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.

Page 7: arquitectura

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. 

Page 8: arquitectura

        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.

Page 9: arquitectura

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.

Page 10: arquitectura
Page 11: arquitectura
Page 12: arquitectura
Page 13: arquitectura
Page 14: arquitectura
Page 15: arquitectura