INTRODUCCIÓN WinDLX ( Windows De LuXe simulator ) simulador del pipeline del procesador DLX desarrollado en el Departamento de Diseño-VLSI de la Universidad Tecnológica de Viena. Referencia bibliográfica: “Arquitectura de Computadores: Una Aproximación Cuantitativa” 1ª ed., Patterson y Hennessy. 1.
2.
Permite el procesamiento de programas escritos en ensamblador de DLX, mostrando toda la información relevante de la CPU: 1. Estado del pipeline 2. Banco de registros 3. Entrada/Salida 4. Memoria 5. Estadísticas etc Posibilita la modificación de la estructura y tiempos de latencia del pipeline de la CPU y del tamaño de la memoria, así como del contenido de otros de sus componentes mientras se desarrolla la ejecución de un programa. 2005-2006
MaríaJoséDíaz
Diapositiva: 1
• •
Todos los programas vienen en un fichero autoexpandible: WINDLX_D.EXE. Siga los siguientes pasos:
• •
1. Crear directorio WINDLX y situarse en él. 2. Ejecutar WINDLX_D.EXE y se desempaquetarán todos los archivos quedando instalado el programa. Los archivos que se deben haber creado son: – – – – – – – – –
•
WINDLX.EXE (Simulador) WINDLX .HLP Archivo de ayuda (Iinglés) WDLXTUT.DOC Breve tutorial (Inglés y formato: Word) FACT.S Archivo ejemplo en ensamblador de DLX GCM.S Archivo ejemplo en ensamblador de DLX INPUT.S Archivo ejemplo en ensamblador de DLX PRIM.S Archivo ejemplo en ensamblador de DLX README Información sobre la instalación. README.TXT Información sobre la instalación
3. Ejecute el programa simulador WINDLX.EXE para comenzar a trabajar.
2005-2006
MaríaJoséDíaz
Diapositiva: 2
•
Una vez abierta la aplicación podrá observar que aparece una ventana principal que a su vez contiene 6 ventanas inicialmente minimizadas, mostrando cada una de ellas diferentes aspectos relacionados con el procesador que se está simulando. El nombre de cada una de estas seis ventanas es: – Registros (Register). – – – – –
•
Código Pipeline(.Code) Diagrama de Ciclos de Reloj ( Clock Cycle Diagram ) Estadísticas (Statistics) Puntos de ruptura ( Breakpoints)
Una característica de estas ventanas es que no pueden cerrarse por lo que permanecen abiertas o minimizadas durante todo el tiempo que se esté empleando el simulador. Junto con estas ventanas, existen otras que son creadas dinámicamente (hasta un máximo de 10) y que muestran el estado de la memoria asociada al procesador. Ver Ventana
2005-2006
MaríaJoséDíaz
Diapositiva: 3
La Barra de menús de WinDLX contiene 7 menús con los comandos necesarios para manejar las distintas posibilidades del simulador. Code Pipeline cambia según que ventana se encuentre activa. Son: - File - Window - Execute - Memory - Configuration - Register, Code, Pipeline, Clock Cycle Diagram, Statistics, Breakpoints
- Help.
2005-2006
MaríaJoséDíaz
Diapositiva: 4
Vemos los registros disponibles en el procesador. Ver Registros Los registros existentes son:
· Especiales. 16 registros. Se describirán más
adelante. · Enteros o de propósito general . 32 registros (R0 al R31) de 32 bits. El registro R0 es siempre 0. · Coma flotante. Pueden considerarse como 32 registros de simple precisión (F0 al F31) o de doble precisión (64 bits), en cuyo caso sólo se dispone de 16 registros (D0, D2, D4,…, D30). 2005-2006
MaríaJoséDíaz
Diapositiva: 5
Los registros se modifican haciendo doble clic sobre uno de ellos en la ventana de registros; tras esto aparecerá una ventana de diálogo en la que se puede introducir el nuevo valor. Registros modificables: -
Pro pósflo itotan gen Coma teeral Registros especiales PC (Contador de Programa) y FPSR (Registro de estado de Punto Flotante).
Valores permitidos : - Para los registros enteros, expresiones enteras: R15 * 10. - Para los registros en coma flotante: solo valores constantes: 10.5
2005-2006
MaríaJoséDíaz
Diapositiva: 6
Registros de Propósito especial • FPSR (Floating-Point Status Register). Registro de estado (1 bit). – Se utiliza para comparaciones y excepciones de punto
flotante. – Se actualiza a través de los registros de propósito general. – Las instrucciones de salto basan su resultado en el valor del bit (1 cierto, 0 falso).
• PC (Program Counter). Contiene la dirección de la próxima instrucción a ejecutar. – Saltos y bifurcaciones pueden cambiar su contenido. 2005-2006
MaríaJoséDíaz
Diapositiva: 7
• IMAR (Instruction Memory Address Register). Se inicializa con el contenido del contador de programa en la etapa IF. • IR (Instruction Register). Se carga con la siguiente instrucción a ejecutarse en la etapa IF. • A, B. Se cargan en la etapa ID y sus valores se envían a los operandos de la Unidad Aritmético Lógica en la siguiente etapa (EX). Existen además
los pseudo-registros AHI y BHI que contienen los 32 bits superiores para valores en coma flotante de doble precisión. 2005-2006
MaríaJoséDíaz
Diapositiva: 8
• BTA (Branch Target Address): La dirección de salto/bifurcación se calcula en la etapa ID y se escribe en el registro BTA.
• ALU (Aitmethic Logical Unit): Se guarda el resultado de una operación. WINDLX posee ademas un pseudo-registro ALUHI que tiene los 32 bits superiores para coma flotante de doble precisión. • DMAR (Data Memory Address Register). Tendrá la dirección de memoria a la que se va a acceder en la etapa EX. En la etapa MEM, se accede a memoria con el valor de este registro. 2005-2006
MaríaJoséDíaz
Diapositiva: 9
•
SDR
•
LDR (Load Data Register). Contiene el dato leido de
(Store Data Register). Contiene el dato que se va a escribir en memoria. SDRHI es un pseudoregistro que contiene los 32 bits superiores para valores en punto flotante de doble precisión. memoria. LDRHI es un pseudo-registro que contiene los 32 bits superiores para valores en punto flotante de doble precisión.
Desde el menú Register se permite visualizar todo el conjunto de registros. 2005-2006
MaríaJoséDíaz
Diapositiva: 10
Ventana Code • Es donde se visualizan las instrucciones de
DLX en hexadecimal y desemsambladas, junto con su dirección. • Los puntos de ruptura se indican con Bxx, xx indica el tipo de punto de ruptura. • En cada etapa del pipeline se utiliza un color, cuando una instrucción entra en dicha etapa el fondo se pone de dicho color y a la derecha aparece el nombre de la etapa en la que se encuentra. Ver Ejemplo 2005-2006
MaríaJoséDíaz
Diapositiva: 11
Ventana Code • Nos podemos mover por el código con las
teclas RePag,AvPag, Inicio, Fin y las teclas del cursor. • Obtenemos más información de las instrucciones si seleccionamos la instrucción y pulsamos ENTER. Aparece la ventana de información, pulsando ESC o el botón OK volvemos a la ventana de código. Ver ventana de información 2005-2006
MaríaJoséDíaz
Diapositiva: 12
Ventana Code El menú Code tiene los siguientes comandos: • From Address. Permite especificar la dirección a partir de la cual se va a visualizar en la ventana CODE.
2005-2006
MaríaJoséDíaz
Diapositiva: 13
Ventana Code
• Set Breakpoint. Permite asignar un
punto de ruptura seleccionada.
2005-2006
a
MaríaJoséDíaz
la
instrucción
Diapositiva: 14
Ventana Code • Delete Breakpoint. Permite eliminar el punto
de ruptura definido seleccionada.
2005-2006
para
MaríaJoséDíaz
la
instrucción
Diapositiva: 15
Ventana Pipeline • Se visualizan las etapas por las que pasan las
instrucciones dentro del pipeline del procesador. Ver Pipeline • Haga doble click sobre una instrucción y obtendrá información detallada, sobre su ejecución. Ver información • Display Floating Point Stages, único elemento del menú Pipeline. Muestra en la ventana Pipeline las etapas en coma floatante existentes o las cinco etapas básicas del pipeline del DLX. 2005-2006
MaríaJoséDíaz
Diapositiva: 16
Ventana Clock Cicle Diagram
• Se visualizan las operaciones que se realizan
en cada ciclo de reloj y en cada etapa. Ver pantalla • Cada columna representa el estado del pipeline en un ciclo de reloj. • El estado actual se representa en la columna de la derecha en color gris. • Para obtener mayor información, hacer doble click sobre la instrucción. 2005-2006
MaríaJoséDíaz
Diapositiva: 17
Ventana Clock Cicle Diagram
• Las detenciones están representadas
por cajas de color (identificativas de cada etapa). • Tipos de Detención: R-Stall – Una instrucción (Read After Writeleer Stall). Riesgo de datos. J intenta un operando que va a
ser modificado por una instrucción previa I. Surgen de las dependencias verdaderas. – T-Stall (Trap Stall). Se produce ante una instrucción de trap. Esta instrucción permanece en la etapa IF hasta que no queden más instrucciones en el interior del pipeline. 2005-2006
MaríaJoséDíaz
Diapositiva: 18
Ventana Clock Cicle Diagram – W-Stall (Write After Write Stall). Una instrucción J
intenta escribir en un operando destino antes de que sea modificado por una instrucción anterior I. Surgen de las dependencias de salida – S-Stall (Structural Stall). No existen suficientes
recursos hardware para ejecutar la instrucción. – Stall. Cuando una instrucción en punto flotante está en la etapa MEM, la instrucción siguiente se detiene en la etapa intEX etiquetándola con la palabra Stall.
2005-2006
MaríaJoséDíaz
Diapositiva: 19
Ventana Clock Cicle Diagram
• Las opciones del menú són: – Display Forwarding. Se activa para permitir la anticipación de datos, evitando la detención. Se indica con una flecha verde en el diagrama de ciclos de reloj.
– Display Cause of Stalls. Si está activa, se marca
con una flecha roja la instrucción que causa la detención por riesgos de datos (RAW o WAW). – Delete History. Elimina el historial de instrucciones ejecutadas en el diagrama de ciclos de reloj. No se volverán a visualizar en el diagrama. 2005-2006
MaríaJoséDíaz
Diapositiva: 20
Ventana Clock Cicle Diagram – Set Histroy Length : Permite configurar la longitud del
historial (entre 0 y 100 instrucciones). Con longitud =0, sólo se visualiza en el diagrama la instrucción que se ejecuta en ese momento.
Ver detenciones y anticipación
2005-2006
MaríaJoséDíaz
Diapositiva: 21
Ventana Statistics
• Permite
visualizar estadísticas simulación que se está realizando. • La información que aparece es: Total
sobre
la
. Contiene:
–
• Nº de ciclos consumidos. • Nº de instrucciones ejecutadas que ha pasado
por la etapa ID. • Nº de instrucciones que están siendo ejecutadas en ese instante en el pipeline. 2005-2006
MaríaJoséDíaz
Diapositiva: 22
Ventana Statistics – Hardware configuration. Proporciona información
sobre: • Tamaño de memoria. • Unidades de proceso de punto flotante y ciclos consumen. Habilitado o no el mecanismo de anticipación. • que
– Stall. Proporciona información absoluta y
relativa sobre: • Nº de riesgos RAW. Si la anticipación está
habilitada y la opción Detail Info del menú Statistics está activa, el número de detenciones se dividirá en : 2005-2006
MaríaJoséDíaz
Diapositiva: 23
Ventana Statistics – Nº de riesgos RAW provocados por una instrucción de carga. – Nº de riesgos RAW provocados por una instrucción de salto o
bifurcación. – Nº de riesgos RAW provocados por una instrucción de punto flotante.
• Nº de riesgos WAW. • Nº de detenciones estructurales antes de instrucciones
de coma flotante. • Nº de detenciones de control. Es equivalente al número de saltos condicionales efectivos debido a que el procesador DLX simulado aplica la política de predecirno-efectivo, no produciendo los saltos no efectivos detenciones y los efectivos producen la detención de un ciclo. 2005-2006
MaríaJoséDíaz
Diapositiva: 24
Ventana Statistics – Conditional Branches. Nº de saltos condicionales.
Si la opción Detail Info está activada se amplia la información mostrando los saltos efectivos y los no efectivos. – Load/Store-Instructions. Nº de instrucciones de
carga y almacenamiento ejecutadas. Si la opción Detail Info está activa, se muestran las cargas y almacenamientos por separado. – Floating point stages instructions. Nº de instrucciones ejecutadas en las etapas de punto flotante. Si la opción Detail Info está activa la información se presenta: 2005-2006
MaríaJoséDíaz
Diapositiva: 25
Ventana Statistics • Total de instrucciones ejecutadas en la etapa faddEX-
Stage. • Total de instrucciones ejecutadas en la etapa fmulEXStage. • Total de instrucciones ejecutadas en la etapa fdivEXStage.
– Traps. Total de traps realizados.
Ver Diagrama de ciclos de reloj
2005-2006
MaríaJoséDíaz
Diapositiva: 26
Ventana Breakpoints • Contiene las instrucciones sobre la que se han
definido puntos de ruptura. • Permite tener como máximo 20 puntos de ruptura. • Se permite modificar, visualizar y modificar puntos de
ruptura ya definidos. • Hacer doble click sobre la instrucción para modificar el
punto de ruptura. 2005-2006
MaríaJoséDíaz
Diapositiva: 27
Ventana Breakpoints • El menú aparecen los siguientes comandos: – Set … Permite fijar un punto de ruptura, introducciendo en la ventana de diálogo los siguientes datos: • Addres. Dirección de la instrucción. Puede ser: » Expresión entera formada por operadores y símbolos. El resultado es múltiplo de 4 o se convertirá al siguiente múltiplo de 4.
• Type. Indica la etapa del pipeline en que se abortará la instrucción,
IF, ID, EX, MEM, WB. O bién cuando se produzca la operación indicada en el caso de READ y WRITE.
– Delete. Elimina el punto de ruptura que está seleccionado. – Delete All. Elimina todos los puntos de ruptura definidos. – Change … Abre ventana de diálogo. Ver ventana diálogo
2005-2006
MaríaJoséDíaz
Diapositiva: 28
Barra de Menús
• La barra de menú contiene 6 opciones: – File – Window – Execution – Memory – Configuration – Help
2005-2006
MaríaJoséDíaz
Diapositiva: 29
Menú File
• Tareas relacionadas con la carga de ficheros – Reset DLX. Al seleccionarla se realizan las siguientes operaciones: • Se limpia el Pipeline • Se inicializan las estadísticas • Se inicializan los registros • Se elimina el historial de instrucciones ejecutadas • Se cierran todos los ficheros abiertos • Se cancela la redirección DLX-I/O • Se limpia la ventana DLX-I/O • La memoria permanece inalterable (los símbolos
definidos se mantienen). 2005-2006
MaríaJoséDíaz
Diapositiva: 30
Menú File – Reset All. Todas las operaciones que realiza Reset DLX,
inicializando además la memoria y eliminando todos los símbolos excepto $DATA y $TEXT. – Load Code or Data. Permite seleccionar ficheros con código DLX con extensión “.s”. • Load ->Realiza la carga en DLX de los ficheros
seleccionados en la parte de Selected Files. • Cancel -> Cancela la pantalla. • Select -> Selecciona el fichero seleccionado y lo
pasa a la ventana Selected Files. • Delete -> Borra el fichero seleccionado de la
ventana de Selected Files.
2005-2006
MaríaJoséDíaz
Diapositiva: 31
Menú File El poder cargar varios módulos a la vez permite la utilización de símbolos globales. – Quit WINDLX. Realiza la salida del simulador, permitiendo
guardar la configuración que se tenía en ese momento.
2005-2006
MaríaJoséDíaz
Diapositiva: 32
Menú Window
• Permite opciones de visualización de las
ventanas de Windlx. • Pemite maximizar las ventanas de trabajo de Windlx: – Pipeline – Stadistics – Register – Breakpoints – Code – Clock Cicle 2005-2006
MaríaJoséDíaz
Diapositiva: 33
Menú Execute • Permite ejecutar el código ensamblado y visualizar la ventana
de entrada/salida. Los comandos que aparecen son:
– Single Cycle: La simulación se realiza ciclo a
ciclo. (Tecla F7). – Multiple
Cycles:
La ejecución se realiza simulando los “n” ciclos parametrizados en la ventana (Tecla F8):
La simulación se parará cuando: - Se simule el nº de ciclos especificados - Se aborte la operación pulsando CANCEL. - Ocurra un error - Se alcance un punto de ruptura - Se procese un trap 2005-2006
MaríaJoséDíaz
Diapositiva: 34
Menú Execute
En los dos opciones sgtes. se visualizará la ventana DLX-I/O. Ver ventana – Run. (Tecla F5) La ejecución continuará hasta: • Detención con el botón CANCEL • Ocurra un error • Se alcance un punto de ruptura • Se procese un trap
– Run to…(Tecla F4) Ejecutará hasta encontrar un
punto de ruptura definido temporalmente, pero que se guarda para la próxima vez que se utilice este comando. 2005-2006
MaríaJoséDíaz
Diapositiva: 35
Menú Execute – Display DLX-I/O. Visualiza la ventana DLX-I/O.
Esta ventana se activa cuando: – Al activar Display DLX-I/O. – Se ejecuta un trap, cuya salida no ha sido
redireccionada a un archivo. – Se ejecuta un trap que necesita de introducción de datos. – Cuando se ejecuta un programa con más de un ciclo, permitiendo abortar la simulación, introducir un dato o visualizar un mensaje. 2005-2006
MaríaJoséDíaz
Diapositiva: 36
Menú Execute
La ventana DLX-I/O dispone de un menú llamado DLX-Standard-I/O que se obtiene al pulsar la esquina superior izquierda de la ventana. Contiene: – Delete Window : Limpia la ventana DLX-I/O. – Redirect to File: Tiene un submenú con las sgtes. opciones: • Standard input. Entrada de datos hacia el programa. • Standard output. Salida de datos de la aplicación. • Standard error. Salida de errores durante la simulación. 2005-2006
MaríaJoséDíaz
Diapositiva: 37
Menú Execute
Cualquiera de las entradas, salidas y errores se pueden redireccionar a un fichero mediante las opciones del menú Redirect To File : • Standard Input (Extensión .IN). • Standard Output (Extensión .OUT). • Standard Error (Extensión .ERR).
Ver cuadro de diálogo
2005-2006
MaríaJoséDíaz
Diapositiva: 38
Menú Memory
• Proporciona comandos para : – Visualizar contenido de memoria (Tecla F6).Ver • Permite ver los valores en: – Hexadecimal – Decimal – Carácter
• Habiendo seleccionado el tamaño de la representación
del dato anteriormente: – Byte. Permite formato hexadecimal, decimal o carácter. – Half Word. Permite hexadecimal o decimal. – Word. Permite hexadecimal o decimal. – Floating Point. Permite decimal. – Double Floating Point. Permite decimal. 2005-2006
MaríaJoséDíaz
Diapositiva: 39
Menú Memory – Cambiar el contenido de direcciones de memoria
(Tecla F2). Ver • Se puede seleccionar el formato de visualización del
dato. • Para modificar memoria expresión enteralay posición se pulsa de el botón SET. se introduce la • Next -> Muestra el contenido de la posición siguiente a la
dirección actual. • Previous -> Muestra el contenido de la posición anterior a la actual. • La dirección se incrementa en el número de bytes correspondientes, según el tipo de formato seleccionado. 2005-2006
MaríaJoséDíaz
Diapositiva: 40
Menú Memory – Symbols . Permite la visualización y modificación
de símbolos. Ver Ventana. • En la ventana Simbols List, se visualizan todos los símbolos definidos, ordenados por el nombre y el valor. • Se definen nuevos símbolos, introducciendo nombre y valor y pulsando el botón New. • Se cambia el valor de un símbolo, seleccionándolo e introducciendo un nuevo valor en el campo Value. • Se borra un símbolo, seleccionándolo y pulsando el botón Delete. 2005-2006
MaríaJoséDíaz
Diapositiva: 41
Menú Configuration
• Permite configurar el simulador WinDLX. Tiene
los siguientes comandos: –
F l o at i n g
poi nt
Stages.
Permite la configuración de las unidades en punto flotante (1..8) y sus latencias (1..50 ciclos). Modificar uno de estos valores implica la reinicialización del procesador. Ver Pantalla de Configuración 2005-2006
MaríaJoséDíaz
Diapositiva: 42
Menú Configuration – Memory size.
Permite modificar el tamaño de memoria disponible por el procesador teóricamente. El tamaño variará entre 512 bytes (0x200) y 16 Mbytes (0x1000000). En la práctica el tamaño vendrá limitado por la configuración del entorno Windows.
Ver Pantalla Configuración de Memoria 2005-2006
MaríaJoséDíaz
Diapositiva: 43
Menú Configuration – Simbolic Addresses. • Activado las direcciones de memoria se visualizarán
como símbolo + desplazamiento. • No activo las direcciones de memoria se visualizarán en hexadecimal
– Absolute Cycle Count .
• Activado, se cuentan los ciclos de reloj desde 0 y se
reinicializa el procesador y las estadísticas. • No activo, los ciclos de reloj se cuentan a partir del instante actual ( 0, -1, -2 …..).
– Enable Forwarding . • Activa o desactiva el mecanismo de anticipación de
datos. 2005-2006
MaríaJoséDíaz
Diapositiva: 44
Menú Configuration – Load. Permite recuperar un fichero de configuración del
procesador. Después de realizar la carga se reinicializa Windlx sin inicializar la memoria, ni los símbolos definidos.
– Save. Permite guardar la configuración del procesador en un fichero con extensión “.WDC”. Cuando Windlx se inicia por primera vez se carga el archivo “Windlx.wdc”
automáticamente. 2005-2006
MaríaJoséDíaz
Diapositiva: 45
Menú Help
• Permite
acceder constituido por:
al
sistema
de
ayuda
– Manual de usuario – Descripción del procesador DLX – Repertorio de Instrucciones.
2005-2006
MaríaJoséDíaz
Diapositiva: 46
Estructura del pipeline DLX • El pipeline DLX consta de 5 etapas.
2005-2006
MaríaJoséDíaz
Diapositiva: 47
• IF – Se lee una instrucción de memoria y se almacena
en el registro de instrucciones. – El contador de programa se incrementa apuntando a la siguiente instrucción.
• ID
– Se decodifica la instrucción leida en la etapa IF. – Se registros implicados en la instrucción se
transfieren del bando de memoria y se almacenan en los registros A y B. – Se calculan los saltos condicionales, para reducir los riesgos de control 2005-2006
MaríaJoséDíaz
Diapositiva: 48
• EX Se selecciona la unidad adecuada para los operandos a tratar. Las unidades funcionales pueden ser: – intEX. Realiza operaciones aritméticas enteras, excepto multiplicar y dividir. Calcula también las direcciones efectivas de salto para referencias a memoria y bifurcaciones. – faddEX. Realiza sumas y restas en coma flotante en simple y doble precisión. – fmulEX. Realiza multiplicación en coma flotante en simple y doble precisión con y sin signo. – fdivEX. Realiza división en coma flotante en simple y doble precisión con y sin signo. 2005-2006
MaríaJoséDíaz
Diapositiva: 49
• MEM
Solo las cargas y almacenamientos acceden a esta etapa. – Carga: Los datos se leen de memoria – Almacenamiento:
Los datos se transfieren a
memoria.
Las direcciones usadas se calculan en la etapa anterior. 2005-2006
MaríaJoséDíaz
Diapositiva: 50
• WB – El resultado obtenido de las etapas anteriores se
transfiere al banco de registros. – La operación de escritura a registro se realiza en la pimera mitad del ciclo, luego la instrucción que se encuentre en la etapa ID en ese momento, puede leer el registro en la segunda mitad del ciclo de reloj. Esto evita utilizar la anticipación de resultados a dicha instrucción. 2005-2006
MaríaJoséDíaz
Diapositiva: 51
Ensamblador DLX • Las instrucciones del procesador DLX son de 4 tipos: – De transferencia de datos. – Lógicas y aritméticas. – De control. – De punto flotante
Todas las instrucciones son de 32 bits.
• Hay tres formatos de instrucciones distintos: 6 bits
1.- TIPO R :
Cod.Op.
2.- TIPO I :
Cod.Op.
6 bits
3.- TIPO J : 2005-2006
5 bits 5 bits 5 bits 5 bits
6 bits
rs
f u n ct
rt
rd
s h am t
5 bits 5 bits 16 bits rs
rt
6 bits
26 bits
Cod. Op.
Dirección
Dirección
MaríaJoséDíaz
Diapositiva: 52
Ins. Transferencia de Datos
• Se usan para transferir datos: – Entre registros y memoria – Entre registros enteros y registros punto
flotante o especiales. La dirección de memoria se calcula mediante: dir =16 bits de desplazamiento con signo +registro de propósito general. Ver conjunto de instrucciones
2005-2006
MaríaJoséDíaz
Diapositiva: 53
Ins. Transferencia de Datos
2005-2006
MaríaJoséDíaz
Diapositiva: 54
2005-2006
MaríaJoséDíaz
Diapositiva: 55
2005-2006
MaríaJoséDíaz
Diapositiva: 56
2005-2006
MaríaJoséDíaz
Diapositiva: 57
2005-2006
MaríaJoséDíaz
Diapositiva: 58
2005-2006
MaríaJoséDíaz
Diapositiva: 59
2005-2006
MaríaJoséDíaz
Diapositiva: 60
Veamos la información que contiene en cada una de las etapas
2005-2006
MaríaJoséDíaz
Diapositiva: 61
Información general sobre la instrucción Instrucción consultada Dirección en memoria Codificación en hexadecimal
Etapa en la que se encuentra Ciclo en que comenzó la ejecución Ciclo en que finalizó, si lo ha hecho Número de ciclos consumidos
2005-2006
MaríaJoséDíaz
Diapositiva: 62
Información sobre la etapa IF Duración de la etapa, dentro sobre los ciclos en total. Estado de la ejecución ¿Qué se ha hecho ?
Registro de dirección de memoria de Instrucción = Contrador de Programa Registro Instrucción=Contenido de de la dirección almacenada en IMAR. Contador de programa = Siguiente Instrucción a ejecutar. No ha necesitado detenciones.
2005-2006
MaríaJoséDíaz
Diapositiva: 63
Información sobre la etapa ID Duración de la etapa, dentro sobre los ciclos en total. Estado de la ejecución ¿Qué se ha hecho ?
Registro A = R0
No ha necesitado detenciones.
2005-2006
MaríaJoséDíaz
Diapositiva: 64
Duración de la etapa, dentro sobre los ciclos en total. Estado de la ejecución ¿Qué se ha hecho ?
Registro A = R0 No ha necesitado detenciones. No se ha producido adelantamiento
2005-2006
MaríaJoséDíaz
Diapositiva: 65
Duración de la etapa, dentro sobre los ciclos en total. Estado de la ejecución ¿Qué se ha hecho ?
No se ha hecho nada No ha necesitado detenciones.
2005-2006
MaríaJoséDíaz
Diapositiva: 66
Duración de la etapa, dentro sobre los ciclos en total. Estado de la ejecución. Aun en el Pipeline ¿Qué se ha hecho ?
Registro R1 = Registro ALU No ha necesitado detenciones.
2005-2006
MaríaJoséDíaz
Diapositiva: 67
Tipo de detención
2005-2006
MaríaJoséDíaz
Diapositiva: 68
Anticipación
Detención
2005-2006
MaríaJoséDíaz
Diapositiva: 69
2005-2006
MaríaJoséDíaz
Diapositiva: 70
2005-2006
MaríaJoséDíaz
Diapositiva: 71
2005-2006
MaríaJoséDíaz
Diapositiva: 72
2005-2006
MaríaJoséDíaz
Diapositiva: 73
2005-2006
MaríaJoséDíaz
Diapositiva: 74
2005-2006
MaríaJoséDíaz
Diapositiva: 75
2005-2006
MaríaJoséDíaz
Diapositiva: 76
2005-2006
MaríaJoséDíaz
Diapositiva: 77