Estructura interna de un microprocesador multiciclo

Document Sample
Estructura interna de un microprocesador multiciclo Powered By Docstoc
					                          INSTITUTO TECNOLÓGICO DE COSTA RICA
                           ESCUELA DE INGENIERÍA ELECTRÓNICA
                                       I semestre 2003
                                                                                    Página 1 de 4

Curso: Laboratorio de Diseño de Sistemas Digitales
Prof.: Alfonso Chacón R.

Estructura interna de un microprocesador multiciclo1
Características de un micro multiciclo general (figura 1):

        Una única unidad de memoria
        Una única ALU
        Uno o más registros luego de cada unidad funcional que sostiene la salida de la
         misma hasta que se usa el valor en un ciclo subsecuente de reloj
        Si las instrucciones no son de tamaño constante (como en el 8086) son necesarios
         varios ciclos de traída de instrucción.




                                             Figura 1



Al final de cada ciclo, todos los datos usados en ciclos de reloj subsecuentes deben
almacenarse en un registro. Los datos usados por instrucciones subsecuentes deben
guardarse en alguno de los registros visibles para el programador (i.e., el banco de registros,
el PC o la memoria). Los datos usados por la misma instrucción un ciclo posterior deben
guardarse en los registros adicionales.




1
    Tomado de: Hennessy, D. A., y Patterson, J. L. Computer Organization and Design. The Hardware
           Software Interface. 2 ed. San Francisco, CA: Morgan Kauffman. 1998. 377-410
                       INSTITUTO TECNOLÓGICO DE COSTA RICA
                        ESCUELA DE INGENIERÍA ELECTRÓNICA
                                    I semestre 2003
                                                                                 Página 2 de 4

El IR y el MDR se usan para guardar la salida de la memoria para una lectura de
instrucción y una lectura de datos, respectivamente. Se usan dos registros separados porque
ambos datos pueden necesitarse durante el mismo ciclo.

Los registros A y B sostienen los valores de los operandos leídos del banco de registros.

El registro ALUOut sostiene la salida de la ALU

Algunos de estos registros, como el IR, necesitan mantenerse a lo largo de la ejecución de
toda la instrucción. Por ello necesitan una señal de control propia. ¿Cuáles otros registros
necesitan esto y cuáles no?

Cómo las unidades de función se comparten para diferentes propósitos, es necesario añadir
multiplexores. Por ejemplo, cómo se usa una única memoria para datos e instrucciones, es
necesario añadir un mux para seleccionar las dos fuentes de direccionamiento posibles: el
PC (para instrucciones) o ALUOut (para acceso de datos).

¿Dónde son necesarios más muxes?

Es necesario determinar las unidades que necesitarán control de escritura y lectura: la ALU
(para seleccionar operación), el IR (cada vez que se termina una operación y se inicia una
traída de instrucción), el MDR, el banco de registros, la memoria.

Para compatibilidad con 8086 es necesario añadir un registro de banderas.

En la figura 2 se muestra un ejemplo de un micro con todas las señales de control y partes
de hardware extras. Este es un ejemplo de un microprocesador MIPS que tiene un formato
de instrucción de un solo tamaño (32 bits). El formato de instrucción de este micro es el de
la tabla 1. Cómo se podrá ver, es necesario primero conocer este formato de instrucción
para a partir de él determinar las necesidades de señales de control. Nota: las instrucciones
de acceso de memoria en este micro se incluyen dentro de las de formato I.

                                           Tabla 1
                       INSTITUTO TECNOLÓGICO DE COSTA RICA
                        ESCUELA DE INGENIERÍA ELECTRÓNICA
                                    I semestre 2003
                                                                                 Página 3 de 4




                                          Figura 2


El control de este micro está centralizado. Esta es una máquina de estados que va
generando las señales necesarias para ir cargando los registros con los datos obtenidos de
cada etapa. Por ejemplo: una traída de instrucción o fetch.
   1. Habilitar en Mux de dirección para que PC dirija la memoria
   2. Habilitar carga de IR. IR = Memory [PC]
   3. Incrementar PC. PC= PC+2
   4. Decidir si es necesario otro fetch (instrucciones de tamaño variable) o si debe iniciar
       microrrutina de ejecución de la instrucción.


Una ejemplo de una visión de alto nivel de la FSM de control es la de la figura 3. Como se
ve en la tabla 1, este micro que tiene categorizadas sus instrucciones en: operaciones de
acceso a memoria, instrucción de tipo registro, instrucciones de bifurcación, instrucciones
de salto.




                                          Figura 3
                      INSTITUTO TECNOLÓGICO DE COSTA RICA
                       ESCUELA DE INGENIERÍA ELECTRÓNICA
                                   I semestre 2003
                                                                             Página 4 de 4

En la rutina de fetch, los primeros pasos son independientes de la clase de instrucción.
Luego vienen una serie de secuencias que dependen del código de operación de la
instrucción. Cuando se completan las acciones necesarias para una instrucción, el control
regresa a la primera etapa. La figura 4 ilustra la primera parte de la máquina con la
generación de las señales de control para escoger los operandos en los muxes y cargar los
registros en un caso específico de micro como el de la figura 2.




                                        Figura 4


ACR/acr
18 mayo 2004

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:31
posted:4/21/2012
language:Latin
pages:4