ÍNDICE 1. INTRODUCCIÓN AL SIMULADOR WinDLX3 2. DESCRIPCIÓN .

3y ago
41 Views
2 Downloads
328.74 KB
42 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : River Barajas
Transcription

MATERIAL DIDÁCTICO DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES III1ÍNDICE1. INTRODUCCIÓN AL SIMULADOR WinDLX .31.1. Instalación.32. DESCRIPCIÓN DEL ENTORNO DE SIMULACIÓN.42.1. Ventana y menú Register .52.2. Ventana y menú Code.62.3. Ventana y menú Pipeline.82.4. Ventana y menú Clock Cicle Diagram .92.5. Ventana y menú Statistics.112.6. Ventana y menú Breakpoints.122.7. La Barra de menús.132.7.1. Menú File .132.7.2. Menú Window .142.7.3. Menú Execute.142.7.3.1. Ventana DLX-I/O .162.7.4. Menú Memory .172.7.5. Menú Configuration .192.7.6. Menú Help .213. LA ESTRUCTURA DEL PIPELINE DE DLX.213.1. Etapa IF .213.2. Etapa ID.213.3. Etapa EX.213.4. Etapa MEM .223.5. Etapa WB .224. EL LENGUAJE ENSAMBLADOR DEL SIMULADOR WinDLX .224.1. Repertorio de instrucciones del DLX.224.1.1. Instrucciones de transferencia de datos.234.1.2. Instrucciones lógicas y aritméticas .244.1.3. Instrucciones de control .264.1.4. Instrucciones de coma flotante.274.2. Sintaxis de las expresiones .294.3. Directivas.295. TRAPS.30DEPARTAMENTO DE INFORMÁTICA Y AUTOMÁTICA-UNED

2CUADERNO DE PRÁCTICAS5.1. Trap #1: Apertura de un archivo . 315.2. Trap #2: Cierre de un archivo . 325.3. Trap #3: Lectura de un bloque de un archivo. 325.4. Trap #4: Escritura de un bloque a un archivo. 335.5. Trap #5: Envío de información hacia la salida estándar . 346. EJECUCIÓN DE LAS INSTRUCCIONES. 346.1. Ejecución de las instrucciones en coma flotante . 357. EJEMPLOS DE CÓDIGO DLX. 367.1. Cálculo del máximo común divisor . 367.2. Cálculo del factorial de un número . 387.3. Generador de una tabla de números primos . 398. PRÁCTICA A REALIZAR . 408.1. Evaluación de la práctica. 438.2. Formato de la memoria . 438.3. Forma de entrega . 438.4. Plazo de presentación . 43CURSO ACADÉMICO 2000-2001

MATERIAL DIDÁCTICO DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES III31. INTRODUCCIÓN AL SIMULADOR WinDLXWinDLX (Windows De LuXe simulator) es un simulador del pipeline del procesador DLX que se estudiaen el libro “Arquitectura de Computadores: Una Aproximación Cuantitativa” 1ª de, Patterson y Hennessy.Este software de simulación permite el procesamiento de programas escritos en ensamblador de DLX,mostrando toda la información relevante de la CPU (estado del pipeline, banco de registros,entrada/salida, memoria, estadísticas, ). Su versatilidad posibilita la modificación de la estructura ytiempos de latencia del pipeline de la CPU y del tamaño de la memoria, así como del contenido de otrosde sus componentes mientras se desarrolla la ejecución de un programa.El software que se distribuye ha sido desarrollado en el Departamento de Diseño-VLSI de la UniversidadTecnológica de Viena, y funciona bajo el entorno Microsoft Windows 3.1 o una versión superior. Ladirección de contacto es:Vienna University of TechnologyProf. Herbert GrünbacherDepartment for VLSI-DesignTreitlstr. 3/2A-1040 ViennaFAX: ( 43-1) 56 96 97e-mail: maziar@vlsivie.twien.ac.atEn caso de no disponer de un disquete con el software y tener acceso a un ordenador con conexión aInternet, dos direcciones en donde se puede conseguir el simulador son:Servidor WWW del Dpto. de Informática y Automática. tmlServidor FTP del Dept. for VLSI-Design. Universidad Tecnológica de Vienaftp://ftp.vlsivie.twien.ac.at1.1. InstalaciónTodos los programas que conforman el software de simulación vienen comprimidos en un fichero autoexpandible denominado WINDLX D.EXE. Para proceder a su instalación en el disco duro del ordenadorsiga los siguientes pasos:1. Cree un directorio WINDLX en algún lugar del disco duro de su ordenador y sitúese en ese directorio.2. Escriba el siguiente comando y ejecútelo: A:\WINDLX D.EXE. Esto ocasionará que los archivos seandesempaquetados e instalados en el directorio actual del disco duro. Los archivos que deben habersido creados son:WINDLX.EXEWINDLX E.TXT(222.621 bytes)(92.389 bytes)(341.802 bytes)(1.279 bytes)(1.395 bytes)(1.539 bytes)(1.308 bytes)(2.139 bytes)(2.777 bytes)SimuladorArchivo de ayuda (idioma: inglés)Breve tutorial (idioma: inglés, formato: Word)Archivo ejemplo en ensamblador de DLXArchivo ejemplo en ensamblador de DLXArchivo ejemplo en ensamblador de DLXArchivo ejemplo en ensamblador de DLXInformación sobre la instalación (ASCII)Información sobre la instalación (Bloc de Notas)3. Si no está en Windows 3.1, entre y cree un nuevo grupo de programa denominado WinDLX. Dentrode él cree dos elementos del programa que correspondan a los ficheros WINDLX.EXE yWINDLX.HLP. Deberán aparecer dos iconos con el siguiente aspecto:DEPARTAMENTO DE INFORMÁTICA Y AUTOMÁTICA-UNED

4CUADERNO DE PRÁCTICASSi dispone de Windows’ 95 no será necesaria la creación del grupo de programa. Simplementeabriendo la carpeta WINDLX visualizará los iconos de todos los ficheros que componen el softwarede simulación.4. Haga doble clic sobre el icono del simulador para comenzar a realizar experimentos.2. DESCRIPCIÓN DEL ENTORNO DE SIMULACIÓNUna vez abierta la aplicación podrá observar que aparece una ventana principal que a su vez contiene 6ventanas inicialmente minimizadas, mostrando cada una de ellas diferentes aspectos relacionados conel procesador que se está simulando. El nombre de cada una de estas seis ventanas es: Registros (Register).Código (Code)Pipeline.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 ominimizadas 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 lamemoria asociada al procesador.Figura 1. Ventana principal de WinDLXLa Barra de menús de WinDLX contiene 7 menús con los comandos necesarios para manejar lasdistintas posibilidades del simulador. En realidad el número de menús es superior, ya que el quintocomenzando por la izquierda cambia según sea la ventana que se encuentre activa en ese instante. Porlo tanto, tendremos los siguientes menús: File, Window, Execute, Memory, Configuration, Register,Code, Pipeline, Clock Cycle Diagram, Statistics, Breakpoints y Help.CURSO ACADÉMICO 2000-2001

MATERIAL DIDÁCTICO DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES III52.1. Ventana y menú RegisterTodos los valores de los registros disponibles en el procesador son visualizados en esta ventana (Figura3). 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 siempre0. Coma flotante. Pueden considerarse como 32 registros de simple precisión (F0 al F31) o dedoble precisión (64 bits), en cuyo caso sólo se dispone de 16 registros (D0, D2, D4, , D30).Para modificar el contenido de los registros basta con hacer doble clic sobre uno de ellos en la ventanade registros; tras esto aparecerá una ventana de diálogo en la que se puede introducir el nuevo valor.Los registros que pueden modificarse son los de propósito general, coma flotante y los especiales PCy FPSR. Valores legales para los registros enteros son expresiones enteras que pueden incluir nombresde registros (por ejemplo, R19 * 20), admitiéndose para los registros en coma flotante únicamentevalores constantes (es decir, R19 * 20 no sería validado, mientras que 12.9, sí).078Byte 00Byte 178Byte 032Formato de un registro de coma flotante en simple precisión31Byte 355 56Byte 631Byte 323 24Byte 247 48Byte 523 24Byte 215 16Byte 139 40Byte 415 1663Formato de un registro de coma flotante en doble precisiónByte 7Figura 2. Formato de los registros de coma flotanteFigura 3. Ventana de registrosDEPARTAMENTO DE INFORMÁTICA Y AUTOMÁTICA-UNED

6CUADERNO DE PRÁCTICASLos registros de propósito especial son los siguientes: FPSR (Floating-Point Status Register). Es un registro de estado de 1 bit de longitud, utilizado paracomparaciones y excepciones de coma flotante. Todos los movimientos desde y hacia esteregistro se realizan a través de los registros de propósito general. Las comparaciones en puntoflotante asignan el bit de este registro, estando disponibles instrucciones de salto que basan suresultado en el valor del bit (1 cierto, 0 falso). PC (Program Counter). Siempre contiene la dirección de la próxima instrucción que va a serejecutada. Los saltos y las bifurcaciones pueden cambiar el contenido del mismo. IMAR (Instruction Memory Address Register). Este registro es inicializado con el contenido delcontador de programa en la etapa IF a causa de que está conectado con el sistema de memoria,mientras que el PC no. IR (Instruction Register). En la etapa IF es cargado con la próxima instrucción a ejecutarse. A, B. Son cargados en la etapa ID y sus valores son enviados a los operandos de la unidadaritmético lógica en la siguiente etapa, la EX. En WinDLX, además existen los pseudo-registrosAHI y BHI que contienen los 32 bits superiores para valores en coma flotante de doble precisión. BTA (Branch Target Address). En la etapa ID, la dirección de salto/bifurcación es calculada yescrita en este registro (ver página 292 del texto base de la asignatura). ALU (Aritmethic Logical Unit). El resultado de una operación en la ALU es transferido a esteregistro. En WinDLX existe un pseudo-registro llamado ALUHI que contiene los 32 bits superiorespara valores en coma flotante de doble precisión. DMAR (Data Memory Address Register). La dirección de memoria a la que se va acceder estransferida a este registro en la etapa EX. En la etapa MEM, el acceso a la memoria para lecturao escritura es efectuado con el valor almacenado en este registro. SDR (Store Data Register). El dato que se va a escribir en memoria por medio de una instrucciónes almacenado previamente en este registro. En WinDLX existe un pseudo-registro llamadoSDRHI que contiene los 32 bits superiores para valores en coma flotante de doble precisión. LDR (Load Data Register). El dato que es leído de memoria se almacena en este registro. EnWinDLX existe un pseudo-registro llamado LDRHI que contiene los 32 bits superiores paravalores en coma flotante de doble precisión.Los comandos situados en el menú Register permiten visualizar uno o varios subconjuntos de registros,así como especificar si el contenido de los registros se representan en decimal o hexadecimal. Losregistros en punto flotante siempre se representan en forma decimal.2.2. Ventana y menú CodeEn la ventana Code son visualizadas tanto en forma hexadecimal como desemsambladas lasinstrucciones de DLX que hay almacenadas en memoria junto con sus direcciones. Por otra parte, lospuntos de ruptura (breakpoints) de cada instrucción son indicados con Bxx, siendo xx el tipo de puntode ruptura.Cuando una instrucción está ejecutándose en una etapa determinada del pipeline, un colorcaracterístico de cada etapa es utilizado como color de fondo para la instrucción. Junto con el color y ala derecha de la representación hexadecimal de la instrucción aparece una etiqueta indicando la etapaen que se encuentra (ver Figura 4).Es posible recorrer todas la memoria existente utilizando la teclas de desplazamiento de páginas(RePág, AvPág, Inicio, Fin), las teclas de posición ( , , , ) o la barra de desplazamiento (lateralderecho de la ventana). Siempre que se ejecutan instrucciones del código ensamblador almacenado enla memoria, las procesadas en último lugar son las que se visualizan en la ventana.CURSO ACADÉMICO 2000-2001

MATERIAL DIDÁCTICO DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES III7Figura 4. Ventana de códigoPara obtener información detallada de las instrucciones que están en el pipeline se selecciona lainstrucción con el cursor del ratón o con la tecla TAB y se pulsa ENTER, o se hace doble clicdirectamente sobre la instrucción. Tras esto aparecerá la ventana de información de la instrucción comose puede apreciar en la Figura 5 (más adelante se describirán con mayor detalle los contenidos de estaventana). Para deseleccionar una instrucción pulse la tecla ESC.En principio, para establecer y suprimir los puntos de ruptura desde la ventana Code es necesarioseleccionar la instrucción tal y como se ha descrito y recurrir a los comandos del menú Code.Figura 5. Ventana de información de instrucciónDEPARTAMENTO DE INFORMÁTICA Y AUTOMÁTICA-UNED

8CUADERNO DE PRÁCTICASEl menú Code contiene los siguiente comandos: From Address. Al activar este comando aparece una ventana de diálogo similar a la que se puedeapreciar en la siguiente figura. Por medio de este comando es posible especificar la primeradirección de memoria que se comienza a visualizar en la ventana Code. El valor que se especificapuede ser cualquier expresión entera (se permiten operadores y símbolos).Figura 6. Ventana del comando From Address Set Breakpoint. Al activar este comando aparece una ventana de diálogo en la que es posibleasignar un punto de ruptura a la instrucción seleccionada (máximo 20 puntos de ruptura).Figura 7. Ventana de diálogo del comando Set Breakpoint Delete Breakpoint. Permite eliminar el punto de ruptura asignado a la instrucción seleccionada.2.3. Ventana y menú PipelineEn la ventana Pipeline se visualizan las etapas por las que pasan las instrucciones dentro de laestructura del pipeline del procesador. Si la ventana tiene un tamaño suficientemente grande, las cajascoloreadas que representan las etapas visualizan la instrucción que en ese preciso instante se estáejecutando.Haciendo doble clic con el puntero del ratón sobre las cajas, es posible obtener información detalladasobre las instrucciones que en ese instante se están ejecutando en cada etapa. La información sevisualiza por medio de la ventana de información de la instrucción (Figura 8).El menú Pipeline contiene un único ítem denominado Display Floating point stages. Su utilidad es la demostrar en la ventana Pipeline las etapas en coma flotante existentes o por el contrario, visualizar sólolas cinco etapas básicas del pipeline del DLX (en la Figura 8 se puede apreciar el aspecto de la ventanaPipeline con la opción Display Floating point stages activa).CURSO ACADÉMICO 2000-2001

MATERIAL DIDÁCTICO DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES III9Figura 8. Ventana Pipeline2.4. Ventana y menú Clock Cicle DiagramEn esta ventana se visualizan las operaciones que se realizan en cada ciclo de reloj y en cada etapa.Como puede apreciarse en la Figura 9, cada columna representa el estado del pipeline en un ciclo dereloj. El estado actual del pipeline es representado en color gris en la columna situada en el extremoderecho de la ventana. Al igual que en la ventana Code, es posible obtener más información sobre unainstrucción haciendo doble clic sobre ella.Las detenciones (stalls) son representadas en cajas coloreadas en el color asociado a la etapa detenida.La etiqueta que aparece en el interior de las cajas proporciona más información sobre el tipo dedetención: R-Stall (Read After Write Stall). Una flecha en color rojo señala la instrucción que estáproduciendo la detención por causa de este tipo de riesgo de datos. T-Stall (Trap Stall). Esta detención sólo se produce ante una instrucción de trap. La instrucciónde trap permanece en la etapa IF hasta que no queden más instrucciones en el interior delpipeline. W-Stall (Write After Write Stall). Una flecha roja señala la instrucción que causa la detención.Este riesgo sólo se presenta en pipelines que escriben en los registros o en memoria en variasetapas. El pipeline de DXL escribe sólo los registros en la etapa WB, evitando esta clase deriesgos para las instrucciones enteras, pero no con las operaciones en coma flotante, comoveremos más adelante. S-Stall (Structural Stall). N

2. DESCRIPCIÓN DEL ENTORNO DE SIMULACIÓN.4 2.1. Ventana y menú Register . (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

Related Documents:

NDICE GENERAL NDICE GENERAL Presentación Estos apuntes de la asignatura de MØtodos NumØricos, impartida en la Escuela TØcnica Superior de Ingenieros de Telecomunicación de la Universidad de MÆlaga se han escrito durante el actual curso 2002/2003, a partir de los apuntes anteriores, que contenían una serie de erratas e incorrecciones.

Introducci on Recuerdo muy bien la primera vez que o hablar de la conjetura de Birch y Swinnerton-Dyer. Fue unos meses antes de acabar la licenciatura en la Universitat de Barcelona, en junio de 1998. Hab a llamado a la puerta de la profesora Pilar Bayer para preguntarle si querr a ser la directora de mi tesis doctoral.

Tema 1.- Introducci on a la Visi on Arti cial Programa 1 Segmentaci on Universidad de C ordoba: Escuela Polit ecnica Superior M aster de Sistemas Inteligentes 3 / 200

Tema 9: Introduccio n a las redes neuronales D. Balbont ın Noval F. J. Mart ın Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computaci on e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial IA 2013-2014 Tema 9: Introducci on a las redes neuronales.

Tema 9: Introduccio n a las redes neuronales D. Balbont ın Noval F. J. Mart ın Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computaci on e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial IA 2012-2013 Tema 9: Introducci on a las redes neuronales.

3 COBAEV/DA/SD/01-2012 Mœsica VI ndice Contenido PÆgina Fundamentación 4 Competencias genØricas 15 Competencias disciplinares 16 Ubicación de Mœsica en el plan de estudios 17 Distribución de bloques 19 Bloque I Interpretas el sentimiento posromÆntico en las formas musicales que anteceden y nacen en las crisis históricas de las .

F usi n y cristalizaci n fraccionada (i.e. con segragaci n instant nea) 27 C ristalizaci n 27 F usi n 29 P roblem as 29 C ap tu lo 6: T ip olog a d e rocas gn eas 32 D iagram as para la clasificaci n de rocas gneas 32 A p ndice: C lasificaci n de granitos 38 C lasificaci n S -I-A -M de granitos 38

superior por la gr a ca de una funci on continua no negativa f, en su parte inferior por el eje x, a la izquierda por la recta x ay a la derecha por la recta x b. El problema que nos planteamos es el siguiente: Qu e numero, si lo hubiese, puede ser considerado como el area de ? 6.5.Ap ndice: c lculo de reas,longitudesyvol menes 149 6.5.