DISEÑO DEL PROCESADOR PROCESADOR 1
DISEÑO DEL PROCESADORPROCESADOR
1
� La CPU se puede descomponer en los dos bloques siguientes:◦ Unidad de control del procesadorUnidad de control del procesadorUnidad de control del procesadorUnidad de control del procesador◦ Unidad de procesamientoUnidad de procesamientoUnidad de procesamientoUnidad de procesamiento
2
� Dirige la ejecución del programa.
� Su diseño similar a lo visto para el multiplicador binario. Diferencia es que ahora hay muchas más líneas de control y las operaciones realizadas son más complicadas.
� Tiene en cuenta el estado presente para controlar su evolución y tomar decisiones con respecto a las nuevas operaciones que serán iniciadas.
� Se puede descomponer en tres bloques:◦ Registro de memorización de estado presente.◦ Registro de memorización de estado presente.◦ Bloque de cálculo del próximo estado.◦ Bloque de cálculo de las salidas.
� Realizaciones posibles:◦ Lógica cableada � técnicas clásicas de diseño de circuitos secuenciales. Circuitos rápidos,
complejos y costosos. Desventaja que cualquier modificación implica un nuevo diseño partiendo de cero.
◦ Realización microprogramada � Bloque de cálculo de las señales de salida y parte del bloque de cálculo del próximo estado se sustituyen por una memoria que almacena el estado de las señales de control en cada periodo de cada instrucción.
� El registro de estado presente se convierte en un registro de dirección para esa memoria.
3
� Realiza todas las operaciones necesarias para ejecutar una instrucción.
� Puede ser descrita mediante una lista de todas sus microoperaciones.
� Las microoperaciones se pueden clasificar en dos grupos:
� De transferencia � transfiere información de un almacenamiento fuente a un almacenamiento de destino.
� De proceso � Opera con unos operandos y el resultado lo deja en el almacenamiento de destino indicado.
4
� Cada instrucción lleva a cabo una parte elemental del procesamiento.
� Instrucciones se interpretan en la unidad de control y se ejecutan en la unidad de procesamiento.
� Cada CPU tiene su propio formato de instrucciones.
� InstrucciónInstrucciónInstrucciónInstrucción � se puede ver como una cadena de bits que se agrupan en campos con tamaños diferentes:
� InstrucciónInstrucciónInstrucciónInstrucción � se puede ver como una cadena de bits que se agrupan en campos con tamaños diferentes:◦ Longitud de los distintos campos no es igual para todas las instrucciones.◦ No todos los campos tienen que estar presentes en todas las instrucciones.◦ Las distintas instrucciones podrán por tanto tener distintas longitudes.
� Campo código operación
� Campo de dirección
5
� Pueden tener dos campos más:� Tipo de instrucción
� De transferencia de datos.� Aritméticas, lógicas y de comparación.� De desplazamiento.� De transferencia de control.� De gobierno.
� Modo � indica la forma de obtener la dirección efectiva de los datos.
� Modo � indica la forma de obtener la dirección efectiva de los datos.
� Uno de los elementos esenciales es el número de campos de dirección que posee la instrucción.
� Objetivo importante � conseguir que el número de accesos a memoria que necesitan los programas sea mínimo.
6
� Incluye tres direcciones de memoria. Requiere un número elevado de bits para codificarla.
7
� Resultado se posiciona en el lugar que ocupaba uno de los operandos.
8
� Procesador dedica un registro específico a la función de servir como operando destino
9
� Los datos se guardan en la pila.
� Las microoperaciones se realizan con los datos colocados en la cima de la pila o en el nivel inmediatamente inferior (si es una operación que necesita dos operandos).
� El resultado se guarda en la cima de la pila.
� En este caso las instrucciones solo necesitarán un acceso a memoria.
10
� Extensión del concepto de procesador con acumulador.
� En vez de un único registro acumulador, un banco de registros para almacenar resultados.
� En las instrucciones será necesario un campo adicional para referenciar los registros.
� En las instrucciones será necesario un campo adicional para referenciar los registros.
� Ventajas:� Registros más rápidos que memoria.� Se reduce las necesidades de espacio en memoria de los
programas.� Se reduce el número de accesos a memoria.
11
� Repertorio de instrucciones mucho menor.
� Programas más largos y en principio más lentos de ejecución, pero se simplifica el diseño del procesador.
� Arquitectura carga/almacenamiento � accesos a memoria para cargar o escribir datos.
� Instrucciones regulares � todas tienen la misma longitud.
12
13
14
15
16
17
18
19
� Interpretación de los campos de dirección de la instrucción viene determinado por el modo de direccionamiento � Obtendremos así la dirección efectiva.
� Una instrucción puede tener más de un campo � Una instrucción puede tener más de un campo de dirección, y cada dirección podrá tener su propio modo de direccionamiento.
� Ventajas de los modos de direccionamiento:� Reducción del tamaño de palabra de la instrucción.� Aumento de la flexibilidad en la programación.
20
� El propio código de operación especifica de forma implícita la posición del operando o del resultado. (característico de procesadores con pila).
21
� El campo de dirección contiene el propio operando en lugar de una dirección.
22
� El campo de dirección contiene la dirección de una posición de memoria o la dirección de un registro.
23
� El campo de dirección se denomina desplazamiento y se suma al contenido de un registro que se especifica en la instrucción.
� Ventaja de que da un campo de dirección más pequeño.pequeño.
24
� El campo de dirección especifica una dirección de memoria o registro que contiene la dirección en la que realmente está el operando buscado.
� Ventaja en este caso que el direccionamiento no está limitado por el tamaño del campo de dirección.
� Desventaja que son necesarios dos accesos para acceder al � Desventaja que son necesarios dos accesos para acceder al operando.
25
� Para acceder a datos que están almacenados en arrays o tablas.
� Campo de dirección especifica la dirección de comienzo y se le suma al valor de un registro índice para obtener la dirección efectiva.
� El índice se puede incrementar o decrementar para acceder al siguiente elemento.siguiente elemento.
26
27
28
29