Arquitectura de Computadoras (Taller) Semestre II de 2008.

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Arquitectura de Computadores I
Diseño de la ruta de datos monociclo para la arquitectura MIPS
A REA DE TECNOLOGIA ELECTRONICA U NIVERSIDAD DE O VIEDO LECCION 5 – ARQUITECTURA INTERNA DE LOS PIC - 1F.F. LINERA ARQUITECTURA BASICA. CARACTERISTICA.
Estructuras segmentadas
Camino de Datos y Control
Arquitectura de Computadores I
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Arquitectura de Computadores
Pipelines: Riesgos.
Introducción a la programación
El procesador: la ruta de datos y el control (II Parte)
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
EMISION MULTIPLE DE INSTRUCCIONES
Algorítmo de Mapeo Directo
Mejoras a las Máquinas Von Neumann
Circuitos Combinacionales Comunes
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Microcomputadores Prof : Tatiana Marín R.. Sistema basado en microprocesador de 8 bits.
ESTRUCTURAS DE CONTROL
Arquitectura del Computador
TRADUCTOR DE UN PROGRAMA
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Unidad 2: Organización del CPU
ARQUITECTURAS SIMD TIPOS
Instrucciones: FORMATO DE INSTRUCCIONES
Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 3 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Procesador Introducción - Funcionamiento - Memoria caché
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 18 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Scheduling dinámico Algoritmo de Tomasulo.
Funcionamiento de la CPU
Unidad 2: Segmentación Excepciones en la Segmentación Docente: Ing. José Díaz Chow ARQUITECTURA DE MÁQUINAS COMPUTADORAS III.
Diseño de la Unidad de Control Multiciclo: Microprogramación
Arquitectura de Von Neumann
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Administrador de procesos
Departamento de Ingeniería de Sistemas Universidad de Antioquia
“Organización y Arquitectura de Computadores” William Stallings
Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
El procesador Diseño del control.
Cap. 6: Pipelining. Encauzamiento de procesadores
Capítulo 4 CPU y la memoria.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 14 La mayor parte del contenido de estas láminas, ha sido extraído del libro Computer Organization and.
Instruction fetch cycle (IF) IR
ARQUICTECTURA DE SERVIDORES
Capítulo 8 Segmentación de Instrucciones.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Principio unidad 1.
Computadora Es una máquina electrónica que recibe y procesa datos para convertirlos en información útil. Una computadora es una colección de circuitos.
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
Alumno: Gerardo Mario Valdés Ortega
ARQUITECTURA DE COMPUTADORES
Unidad de transferencia de memoria
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
Santiago Restrepo Rodríguez
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Arquitectura básica de la computadora
Pipeline: Peligros de datos
El procesador Diseño del control.
Pipelining Datapath y control.
Datapath para las instrucciones de carga y almacenamiento (load/store)
Pipelining Introducción.
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
El procesador Datapath y control.
Transcripción de la presentación:

Arquitectura de Computadoras (Taller) Semestre II de 2008

Pipelining Pipelining es una técnica de implementación en la cual múltiples instrucciones se solapan en su ejecución. Analogía física: una lavadora. Elementos o fases: proceso de lavado, proceso de secado, doblado de la ropa, almacenamiento de la ropa. Pipelining es una técnica de implementación en la cual múltiples instrucciones se solapan en su ejecución. Analogía física: una lavadora. Elementos o fases: proceso de lavado, proceso de secado, doblado de la ropa, almacenamiento de la ropa.

Elementos y procesos Proceso de lavado Proceso de secado Doblado de la ropa Almacenamiento de la ropa

Sin pipelining Sin pipelining, cada proceso dura media hora. Un usuario gastaría 8 horas para el lavado completo de cuatro prendas.

Con pipelining Con pipelining se trabaja en paralelo dependiendo de la disponibilidad de los recursos. El proceso se reduce de 8 horas a 3.5 horas.

Fases de ejecución en MIPS 1. Buscar la instrucción en memoria 2. Leer los registros mientras se decodifica la instrucción 3. Ejecutar la operación o calcular una dirección 4. Buscar un operando en la memoria de datos 5. Escribir el resultado en un registro 1. Buscar la instrucción en memoria 2. Leer los registros mientras se decodifica la instrucción 3. Ejecutar la operación o calcular una dirección 4. Buscar un operando en la memoria de datos 5. Escribir el resultado en un registro

Proyecto base: 8 instrucciones load word (lw) store word (sw) add (add) subtract (sub) and (and) or (or) set-less-than (slt) branch-on-equal (beq) load word (lw) store word (sw) add (add) subtract (sub) and (and) or (or) set-less-than (slt) branch-on-equal (beq)

Implantación MONOCICLO Todas las instrucciones toman un ciclo de reloj. En cada ciclo actúan las unidades funcionales. El Tiempo de operación para las unidades funcionales es: Acceso a memoria:200 ps Operación de la ALU:200 ps Lectura o escritura de registros:100 ps Todas las instrucciones toman un ciclo de reloj. En cada ciclo actúan las unidades funcionales. El Tiempo de operación para las unidades funcionales es: Acceso a memoria:200 ps Operación de la ALU:200 ps Lectura o escritura de registros:100 ps

Tiempo para cada instrucción La longitud del ciclo de reloj debe ser tal que acomode a la instrucción que consuma más tiempo. En este caso la longitud del ciclo de reloj debe ser de 800 ps.

Ejecución no pipelining para tres instrucciones lw Tres instrucciones lw SIN pipelinign consumen 2400 ps = 800 ps * 3.

Ejecución pipelining para tres instrucciones lw Tres instrucciones lw CON pipelining consumen 1400 ps

Relación entre pipelining y NO pipelining Para un caso en el cual se tienen 5 etapas funcionales, como es el caso que se acaba de estudiar, se tiene: 160 = 800 / 5 Este es un caso ideal.

PREGUNTA 1 Analice la fórmula de la diapositiva anterior, explicando su significado: Respuesta: El tiempo promedio que tarda en ejecutar cada parte de la instrucción, este caso se trata de una instrucción que tiene 5 pasos.

Diseño de instrucciones utilizando pipelining Las instrucciones deben cumplir ciertas restricciones a la hora de diseñar un sistema basado en pipelining.  Todas las instrucciones tienen la misma longitud  En MIPS hay pocos formatos de instrucción  Los datos caben exactamente en una palabra Las instrucciones deben cumplir ciertas restricciones a la hora de diseñar un sistema basado en pipelining.  Todas las instrucciones tienen la misma longitud  En MIPS hay pocos formatos de instrucción  Los datos caben exactamente en una palabra

Riesgos al utilizar pipelining 1. Riesgo estructural La estructura del procesador impide que se pueda realizar el pipelining. Por ejemplo, si se tiene, en lugar de dos memorias, una sola memoria, ejecutar cuatro instrucciones lw plantearía un problema de acceso a la memoria. 1. Riesgo estructural La estructura del procesador impide que se pueda realizar el pipelining. Por ejemplo, si se tiene, en lugar de dos memorias, una sola memoria, ejecutar cuatro instrucciones lw plantearía un problema de acceso a la memoria.

PREGUNTA 2 Analice la gráfica de la ejecución pipeline de tres instrucciones lw y agregue una cuarta instrucción lw. ¿Qué problema se presenta?: Respuesta: En ese instante se esta accediendo al mismo espacio de memoria con dos instrucciones independientes que deben hacer referencia a datos diferentes, uno de lectura y otro de lectura. Esto hace que el dato leído no sea el que se espera.

Riesgos al utilizar pipelining 2. Riesgo en los datos Ocurre cuando una instrucción necesita datos de una instrucción que se está ejecutando previamente, y debe esperar a que culmine para la anterior para que ella pueda ser ejecutada. 2. Riesgo en los datos Ocurre cuando una instrucción necesita datos de una instrucción que se está ejecutando previamente, y debe esperar a que culmine para la anterior para que ella pueda ser ejecutada.

PREGUNTA 3 Analice las siguientes instrucciones: add $s0, $t0, $t1 sub $t2, $s0, $t3 ¿Piensa usted que se presenta alguna dependencia? Respuesta en la siguiente diapositiva AYUDA: observe que el dato en $s0 se obtiene en la primera instrucción, al FINAL de la ejecución.

PREGUNTA 3 Respuesta: Respuesta: Existe dependencia debido a que primero se debe calcular la instrucción add para que en la siguiente instrucción $s0 contenga el valor que se necesita para la instrucción sub.

Peligro con los datos Debe tomarse en cuenta, en relación con el riesgo relativo a los datos, que seguramente debe introducirse un retardo (bubble) antes de que la nueva instrucción pueda ejecutarse. Lo anterior implica una disminución de la eficiencia en el proceso de pipelining. Debe tomarse en cuenta, en relación con el riesgo relativo a los datos, que seguramente debe introducirse un retardo (bubble) antes de que la nueva instrucción pueda ejecutarse. Lo anterior implica una disminución de la eficiencia en el proceso de pipelining.

Implantación específica IF: Bloque de búsqueda de instrucción ID: Decodificación de la instrucción y almacenamiento en registro EX: Etapa de ejecución en el ALU MEM: Acceso a la memoria WB: Escritura de registro IF: Bloque de búsqueda de instrucción ID: Decodificación de la instrucción y almacenamiento en registro EX: Etapa de ejecución en el ALU MEM: Acceso a la memoria WB: Escritura de registro A continuación (en la siguiente diapositiva) se muestran los bloques funcionales debidamente interconectados, operando en cascada para las instrucciones add y sub.

Implantación específica IF: Bloque de búsqueda de instrucción ID: Decodificación de la instrucción y almacenamiento en registro EX: Etapa de ejecución en el ALU MEM: Acceso a la memoria WB: Escritura de registro IF: Bloque de búsqueda de instrucción ID: Decodificación de la instrucción y almacenamiento en registro EX: Etapa de ejecución en el ALU MEM: Acceso a la memoria WB: Escritura de registro

Interpretación sombreado Si el bloque está sombreado a la derecha, entonces el componente es leído. Si el bloque está sombreado a la izquierda, entonces sobre el bloque se escribe. En la suma, por ejemplo, se LEE una instrucción, se LEEN los registros de la instrucción, se lee y escribe información en la ALU, el acceso a la memoria no se utiliza y, finalmente, se ESCRIBE sobre un registro destino. Si el bloque está sombreado a la derecha, entonces el componente es leído. Si el bloque está sombreado a la izquierda, entonces sobre el bloque se escribe. En la suma, por ejemplo, se LEE una instrucción, se LEEN los registros de la instrucción, se lee y escribe información en la ALU, el acceso a la memoria no se utiliza y, finalmente, se ESCRIBE sobre un registro destino.

Pipelining de las dos instrucciones Observe la línea azul. Ella indica que la segunda etapa no podrá continuar hasta tanto no se produzca el resultado en la etapa anterior. Es decir, la resta está condicionada por la suma.

PREGUNTA 4 Respuesta: Se lee una instrucción add que hace referencia a dos posiciones de memoria, luego se ejecuta en la alu la suma se accede a memoria y se escribe el resultado. La instrucción sub sigue este mismo camino un paso atrás en la ejecución, el resultado de la operación de la alu es utilizada para calcular la instrucción sub, aun sin terminar de ejecutarse la totalidad de la instrucción add. Sí no se incluye en la estructura un camino para enviar el resultado antes de escribirlo en memoria se presenta un error ya que la instrucción sub estaría referenciando un valor que aun no esta disponible. Explique con sus propias palabras el funcionamiento del anterior circuito para la suma y la resta:

Resolviendo riesgos En el siguiente circuito se ejecutan dos instrucciones utilizando pipeline. Dado que dichas instrucciones presentan dificultades por el uso de recursos, es necesario introducir retardos. Estudie cuidadosamente el circuito y responda la pregunta que se hace.

Instrucciones lw y sub PREGUNTA 5: Explique el funcionamiento, en sus palabras, del circuito mostrado.

PREGUNTA 5 Respuesta: La instrucción lw carga la palabra que se encuentra en la direccion 20$(12) en la posición de memoria $10, la siguiente instrucción sub requiere de este resultado para su operación. En este caso se introdujo un retardo con el fin de que al acceder esta posición en la instrucción sub el nuevo dato ya se encuentre disponible en el archivo de registros.