tema7 camino datos unidad control fc gii.ppt [modo de...
TRANSCRIPT
77 Camino de datos y unidadCamino de datos y unidad dede7.7. Camino de datos y unidad Camino de datos y unidad de de controlcontrolco t oco t o
Fundamentos de los ComputadoresGrado en Ingeniería Informáticag
IntroducciónIntroducción
La versatilidad es una característica deseable de los sistemas digitalesgUn sistema digital complejo puede ser capaz de manipular unos datos determinados de formas diferentes, en función de lo que indique un programa
L bj i dLos objetivos de este tema son:Describir el diseño de un camino de datos utilizando elementos combinacionales y secuencialescombinacionales y secuencialesDescribir el diseño de una unidad de control que permita interpretar un programa y utilizar el camino de datos para distintos fines
Camino de datos y unidad de control 2
IntroducciónIntroducción
Introducción
Camino de datosDiseño de un camino de datos sencilloDiseño de un camino de datos más completoCaminos de datos generales
Unidad de controlDiseño de una unidad de controlImplementación de una unidad de control
Resumen y BibliografíaResumen y Bibliografía
Camino de datos y unidad de control 3
Caminos de datosCaminos de datosLos caminos de datos son sistemas digitales utilizados con frecuencia para la manipulación de datos y la realización de cálculos numéricos complejos
P l l l i d d t f i d l i i tPor regla general, los caminos de datos funcionan de la siguiente manera:
Los valores de variables y constantes se almacenan en registros o y gmemorias tras el flanco de la señal de relojEstos valores son modificados durante el período entre dos flancos de reloj por medio de lógica combinacionalreloj por medio de lógica combinacionalLos resultados de estas operaciones se vuelven a almacenar en los registros o memorias tras el siguiente flanco de reloj
Camino de datos y unidad de control 4
IntroducciónIntroducción
Introducción
Camino de datosDiseño de un camino de datos sencilloDiseño de un camino de datos más completoCaminos de datos generales
Unidad de controlDiseño de una unidad de controlImplementación de una unidad de control
Resumen y BibliografíaResumen y Bibliografía
Camino de datos y unidad de control 5
Un camino de datos sencilloUn camino de datos sencillo
Por ejemplo, para realizar la suma de 100 números se podría seguir un algoritmo iterativog g
suma = 0para i = 1 a 100
suma = suma + entrada
Este bucle podría ejecutarse en un camino de datos de 32 bits
suma = suma + entradafin para
Este bucle podría ejecutarse en un camino de datos de 32 bits formado por un registro y una ALU
La variable suma se almacenaría en el registro, que denominaremos acumuladorEn cada ciclo se sumaría al contenido del acumulador el valor de una nueva variable de entradanueva variable de entrada
Camino de datos y unidad de control 6
Un camino de datos sencilloUn camino de datos sencillo
Este diagrama muestra un ejemplo de camino de datos j psencillo que podría realizar esta suma
El multiplexor permite elegir el operando de la izquierda de la ALU de entre un 0 y el valor de una línea de entradavalor de una línea de entrada
Camino de datos y unidad de control 7
Un camino de datos sencilloUn camino de datos sencillo
El acumulador es un registro de desplazamiento con carga en p gparalelo
El d d l d h d lEl operando de la derecha de la ALU será siempre el contenido del acumuladordel acumulador
El contenido del acumulador también puede obtenerse como salida a través de un adaptador triestadotriestado
Camino de datos y unidad de control 8
Un camino de datos sencilloUn camino de datos sencillo
En cada ciclo del funcionamiento del circuito será necesario determinar los valores de las 9 señales de control
Los valores de estas señalesLos valores de estas señales vendrán dados por una palabra de control de 9 bits
Camino de datos y unidad de control 9
Un camino de datos sencilloUn camino de datos sencillo
En total, este camino de datos necesita 102 ciclos para prealizar su función
E l i i lEn el primer ciclo se pone a cero el acumulador
El los siguientes 100 ciclos se realiza la suma
En el último ciclo se saca el resultado por la salidaresultado por la salida
Camino de datos y unidad de control 10
Un camino de datos sencilloUn camino de datos sencillo
Durante la realización de esta operación será necesario pgenerar 102 palabras de control
Con una secuencia diferente de palabras de control podríade palabras de control podría usarse este camino de datos para realizar otras operaciones sencillas
Camino de datos y unidad de control 11
IntroducciónIntroducción
Introducción
Camino de datosDiseño de un camino de datos sencilloDiseño de un camino de datos más completoCaminos de datos generales
Unidad de controlDiseño de una unidad de controlImplementación de una unidad de control
Resumen y BibliografíaResumen y Bibliografía
Camino de datos y unidad de control 12
Un camino de datos más completoUn camino de datos más completo
Un camino de datos sencillo con un acumulador puede ser utilizado para la realización de operaciones aritméticas simplesp p p
Sin embargo, la realización de operaciones aritméticas más l j i á l i l t ió d i d d tcomplejas requerirá la implementación de un camino de datos
más elaborado
Además, la necesidad de usar más de una variable temporal puede obligar a usar un banco de registros en lugar de sólo un acumulador
Camino de datos y unidad de control 13
Un camino de datos más completoUn camino de datos más completo
Este diagrama muestra un camino de datos más complejop j
El circuito incluye un banco de i t d t tregistros de tres puertos que se
encarga tanto de proporcionar los dos operandos a la ALU como dedos operandos a la ALU como de memorizar el resultado de la operación
Camino de datos y unidad de control 14
Un camino de datos más completoUn camino de datos más completo
Este camino de datos se controla con una palabra de p20 bits que determina los destinos, fuentes y operaciones del circuito
Aquí se muestran las tablas deAquí se muestran las tablas de operación de la ALU y el registro de desplazamiento, así como la estructura de la palabra de control
Camino de datos y unidad de control 15
IntroducciónIntroducción
Introducción
Camino de datosDiseño de un camino de datos sencilloDiseño de un camino de datos más completoCaminos de datos generales
Unidad de controlDiseño de una unidad de controlImplementación de una unidad de control
Resumen y BibliografíaResumen y Bibliografía
Camino de datos y unidad de control 16
Caminos de datos generalesCaminos de datos generales
Los caminos de datos vistos hasta ahora resultarían demasiado lentos para muchas aplicacionesp p
Para conseguir mejores prestaciones, es necesario que los i d d t d li i icaminos de datos sean capaces de realizar varias operaciones
concurrentemente, dando lugar a caminos de datos paralelos
El primer paso para conseguir un camino de datos paralelo sería aumentar el número de puertos del banco de registros
Camino de datos y unidad de control 17
Camino de datos paraleloCamino de datos paralelo
Este diagrama muestra un camino de datos con un banco de registros de seis puertos, seis buses y cuatro unidades g p , yfuncionales
Camino de datos y unidad de control 18
Camino de datos paraleloCamino de datos paralelo
Este camino de datos puede hacer dos operaciones en paralelo, una en la ALU o el desplazador y la otra en el multiplicador o el p y pdivisor
Camino de datos y unidad de control 19
Camino de datos paraleloCamino de datos paralelo
Sin embargo, este camino de datos no podría realizar una suma y un desplazamiento a la vez o una multiplicación y una división al p p ymismo tiempo
Ad á t i d d t t d li dAdemás, este camino de datos tampoco es capaz de realizar dos sumas o dos multiplicaciones a la vez
Por lo tanto, este camino de datos paralelo no sería realmente capaz de duplicar las prestaciones del camino de datos sencillo, ya que el paralelismo disponible es sólo parcial
Camino de datos y unidad de control 20
Camino de datos a medidaCamino de datos a medida
Por lo tanto, las prestaciones de un camino de datos dependerán no sólo del número y tipo de unidades funcionales, sino también y p ,de cómo estén conectadas
E t i ifi l h d di ñ i d d tEsto significa que, a la hora de diseñar un camino de datos paralelo, habrá que hacerlo a medida, teniendo en cuenta el objetivo del circuito para obtener la mejor relación entre su costeobjetivo del circuito para obtener la mejor relación entre su coste y sus prestaciones
Se necesitará una cantidad concreta de cada unidad funcionalAlgunas unidades funcionales necesitarán un bus propioOtras unidades funcionales podrán compartir un bus
Camino de datos y unidad de control 21
Camino de datos a medidaCamino de datos a medida
Este diagrama muestra un ejemplo de camino de datos a medida, aunque un diseño real dependería de las prestaciones necesarias q p py la complejidad aceptable
Camino de datos y unidad de control 22
IntroducciónIntroducción
Introducción
Camino de datosDiseño de un camino de datos sencilloDiseño de un camino de datos más completoCaminos de datos generales
Unidad de controlDiseño de una unidad de controlImplementación de una unidad de control
Resumen y BibliografíaResumen y Bibliografía
Camino de datos y unidad de control 23
Unidad de controlUnidad de control
La operación realizada por un camino de datos depende de la secuencia de palabras de control que se le suministran a lo largo p q gde su funcionamiento
P li ió t i l di ñ dPara realizar una operación concreta es necesario el diseño de una unidad de control que, en cada ciclo de reloj, proporcione la palabra de control adecuadapalabra de control adecuada
Esta unidad de control puede implementarse como un circuito secuencial con biestables que almacenen su estado, una lógica de estado siguiente y una lógica de salida que proporcione la palabra de controlpalabra de control
Camino de datos y unidad de control 24
IntroducciónIntroducción
Introducción
Camino de datosDiseño de un camino de datos sencilloDiseño de un camino de datos más completoCaminos de datos generales
Unidad de controlDiseño de una unidad de controlImplementación de una unidad de control
Resumen y BibliografíaResumen y Bibliografía
Camino de datos y unidad de control 25
Diseño de una unidad de controlDiseño de una unidad de control
Como ejemplo vamos a diseñar una unidad de control que utilice qel camino de datos sencillo con un banco de registros de 3 puertos para realizar un contador de unos
Este circuito recibirá un dato de entrada, contará el número de unos que tenga y lo sacará por la salida
Camino de datos y unidad de control 26
Diseño de una unidad de controlDiseño de una unidad de control
Comenzaremos por suponer que el dato de entrada proviene del exterior y está disponible en las entradas del circuitoy p
Para describir el algoritmo utilizaremos cuatro variables t l d d l l á i d d ltemporales, cada una de las cuales será asignada a uno de los registros del banco de registros
Dato – almacenará el dato de entradaDato – almacenará el dato de entradaCuenta – almacenará el número de unos del datoMáscara – contendrá la constante 1Temp – variable auxiliar
Camino de datos y unidad de control 27
Diseño de una unidad de controlDiseño de una unidad de control
El algoritmo de la cuenta de unos debe, en primer lugar, inicializar las variables
Introducir el dato de entrada en la variable DatoInicializar la variable Cuenta a 0 y la variable Máscara a l
Tras esto se entra en un bucle para comprobar cada bitSe obtiene el bit menos significativo del número haciendo un AND de Dato con MáscaraDato con MáscaraSi el bit es 1 se incrementa la CuentaSe desplaza el Dato una posición a la derechap pEl bucle terminará cuando Dato sólo contenga ceros
Por último, el valor de Cuenta aparecerá a la salida
Camino de datos y unidad de control 28
Diseño de una unidad de controlDiseño de una unidad de control
Éste es el algoritmo necesario para realizar la operación, así como una posible asignación de los registros necesarios para las p g g pcuatro variables
Camino de datos y unidad de control 29
Diseño de una unidad de controlDiseño de una unidad de control
Conociendo el algoritmo y los registros asignados a las variables, podemos replantearlo para obtener la secuencia de palabras de p p p pcontrol necesaria
Camino de datos y unidad de control 30
Diseño de una unidad de controlDiseño de una unidad de control
La unidad de control sería un módulo secuencial separado con ptres señales
Inicio – señal de entrada que indica d lcuando comenzar la cuenta
Dato≠0 – señal de entrada proporcionada por el camino de p p pdatosHecho – señal de salida que indica que la cuenta ha terminado y elque la cuenta ha terminado y el resultado está disponible a la salida
Camino de datos y unidad de control 31
Diseño de una unidad de controlDiseño de una unidad de control
Para implementar los ocho estados de la unidad de control serán necesarios tres biestables, que supondremos de tipo D, q p pEl cálculo de la lógica de estado siguiente se realiza de la forma habitual
Camino de datos y unidad de control 32
Diseño de una unidad de controlDiseño de una unidad de control
La lógica de salida de la unidad de control debe incluir la señal de salida Hecho y las 20 señales pertenecientes a la palabra de y p pcontrol del camino de datos
Camino de datos y unidad de control 33
Diseño de una unidad de controlDiseño de una unidad de control
Este diagrama muestra el contador de unos con la implementación de la unidad de control y el camino de datos que se ha utilizado
Camino de datos y unidad de control 34
IntroducciónIntroducción
Introducción
Camino de datosDiseño de un camino de datos sencilloDiseño de un camino de datos más completoCaminos de datos generales
Unidad de controlDiseño de una unidad de controlImplementación de una unidad de control
Resumen y BibliografíaResumen y Bibliografía
Camino de datos y unidad de control 35
Implementación de la unidad de controlImplementación de la unidad de control
Hasta ahora se ha supuesto que la unidad de control se diseña usando biestables con la correspondiente lógica asociada para p g pcalcular el estado siguiente y la salidaPodemos pensar en el conjunto de biestables como en un registro de estado que almacena, como su nombre indica, el estado de la unidad de control
Camino de datos y unidad de control 36
Implementación de la unidad de controlImplementación de la unidad de control
El tipo de implementación que hemos visto, basada en un registro de estado, resulta útil para unidades de control sencillasg , p
Sin embargo, una unidad de control puede llegar a tener miles de t d ibl i t d ñ l d t d lid lestados posibles y cientos de señales de entrada y salida, por lo
que una implementación con biestables daría un resultado demasiado complejodemasiado complejo
Por este motivo, existen varios diseños alternativos que permiten simplificar la implementación de las unidades de control
Camino de datos y unidad de control 37
Implementación de la unidad de controlImplementación de la unidad de control
Una posibilidad para simplificar la implementación de las lógicas de estado siguiente y salida es utilizar un decodificadorg g yCada estado se identifica mediante una señal que valga 1 cuando el registro de estado esté en un estado concreto y 0 en los demás casos
Camino de datos y unidad de control 38
Implementación de la unidad de controlImplementación de la unidad de control
También se puede simplificar la lógica de estado siguiente aprovechando que muchas unidades de control tienen secuencias p qde estados con un único sucesor
Codificando consecutivamente los estados de las secuenciasSustituyendo el registro de estado por un contadorEl contador incrementará el estado para seguir por una secuencia o cargará un nuevo valor para saltar a otra distintaun nuevo valor para saltar a otra distinta
Camino de datos y unidad de control 39
Implementación de la unidad de controlImplementación de la unidad de control
Una última estrategia requiere sustituir la lógica de estado siguiente por una memoria ROM de controlg pEn este tipo de diseños, que suelen recibir el nombre de control microprogamado, el registro de estado actúa como un registro de direcciones para la ROM
Camino de datos y unidad de control 40
Implementación de la unidad de controlImplementación de la unidad de control
El contenido de la ROM, que suele conocerse como microprograma, determina cuál es el estado siguiente a partir de p g , g puno dadoLa lógica asociada a la ROM es la encargada de determinar el estado siguiente, lo que puede implicar
Seguir incrementando secuencialmente el valor del estadoli l i d d lRealizar un salto a otra secuencia dentro del programa
Mientras que la implementación con un registro de estado es la más popular para circuitos sencillos el control microprogramadomás popular para circuitos sencillos, el control microprogramadose emplea con frecuencia en el diseño de procesadores complejos
Camino de datos y unidad de control 41
IntroducciónIntroducción
Introducción
Camino de datosDiseño de un camino de datos sencilloDiseño de un camino de datos más completoCaminos de datos generales
Unidad de controlDiseño de una unidad de controlImplementación de una unidad de control
Resumen y BibliografíaResumen y Bibliografía
Camino de datos y unidad de control 42
ResumenResumen
Las unidades de memorización permiten almacenar los valores de las variables usadas en los programas que se ejecutan en un p g q jcamino de datos
L i t t ió d t t dLa interpretación de estos programas corre a cuenta de una unidad de control, que indica al camino de datos lo que debe hacer para obtener los resultados deseadoshacer para obtener los resultados deseados
Una unidad de control capaz de interpretar un programa y un camino de datos capaz de ejecutarlo nos permiten entrever cómo se realiza el diseño de un procesador real
Camino de datos y unidad de control 43
BibliografíaBibliografíaPrincipios de Diseño Digital
Capítulo 7Daniel D. GajskiPrentice Hall, 1997
Camino de datos y unidad de control 44