Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

El modelo de Von Neumann
Diseño de la ruta de datos monociclo para la arquitectura MIPS
Estructuras segmentadas
ORGANIZACIÓN COMPUTACIONAL
Camino de Datos y Control
Arquitectura de Computadores I
Arquitectura de Computadores I PIPELINING. Pipelining Un pipeline es una serie de etapas, en donde en cada etapa se realiza una porción de una tarea.
Tema 4: Unidad de Control
CICLO DE EJECUCION DE UNA INSTRUCCION
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Arquitectura de Computadores
Pipelines: Riesgos.
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)
PLANIFICACIÓN DINÁMICA DE INSTRUCCIONES
Unidad 2: Organización del CPU
Este obra se publica bajo unalicencia de Creative Commons Reconocimiento- NoComercial-CompartirIgual 3.0 España.licencia de Creative Commons Reconocimiento-
Instrucciones: FORMATO DE INSTRUCCIONES
P(C) = m * nMAXIMO GRADO DE PARALELISMO WSBS ha sido llamado el procesamiento en serie de bits, ya que se procesa un bit por vez (n = m = 1). Es el procesamiento.
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.
Unidad 2: Segmentación Dependencias de Control Docente: ing. José Díaz Chow.
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.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
Capítulo 5 El procesador Félix García Carballeira Jesús Carretero Pérez José Daniel Sánchez García David Expósito Singh © Ediciones Paraninfo1.
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
TEMA 2: Organización de computadores
Funcionamiento de la CPU
Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
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
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
“Organización y Arquitectura de Computadores” William Stallings
Organización del Computador I Verano Memoria Virtual Basado en el capítulo 7 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
CLASE 13.
Organización del Computador I Verano Procesador Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
El procesador Diseño del control.
Cap. 6: Pipelining. Encauzamiento de procesadores
Diseño del procesador uniciclo
CLASE 14.
Capítulo 4 CPU y la memoria.
Maquinas Digitales Funciones del Procesador Buscar instrucciones Interpretar instrucciones Buscar datos Procesar datos Escribir datos.
Informática Clase Arquitectura de la Computadora.
Organización del Computador I Verano Control Multiciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
Instruction fetch cycle (IF) IR
Capítulo 8 Segmentación de Instrucciones.
Organización del Computador CPU 3 y 4 – Diseño de una computadora.
Simulación en VHDL del Controlador FSM del MIPS
Organización del Computador I Verano Aritmética (2 de 3) Basado en el capítulo 4 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn.
ARQUITECTURA DE COMPUTADORES
ARQUITECTURA DEL COMPUTADOR INTEGRANTES: CASTRO MYCHAEL ALVEAR NELSON FLORES DANILO RODRIGUEZ CARLOS IZQUIERDO HARRY INTEGRANTES: CASTRO MYCHAEL ALVEAR.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Fundamentos de los Computadores Grado en Ingeniería Informática
Pipeline: Peligros de datos
El procesador Diseño del control.
Pipelining Datapath y control.
Organización del Computador
Datapath para las instrucciones de carga y almacenamiento (load/store)
Creando un solo datapath
Pipelining Introducción.
Organización del Computador
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
El procesador Datapath y control.
Transcripción de la presentación:

Organización del Computador I Verano Procesador Segmentado Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn

Segmentación Descompone una determinada operación en n suboperaciones a realizar en etapas distintas, de manera que se puedan realizar n operaciones simultáneas, cada una en una etapa distinta. Divide una operación en suboperaciones Desacopla las suboperaciones F F2 F3 F1 Procesador Segmentado Unidad 2

Segmentación No reduce la latencia de una instrucción, sino que ayuda a incrementar la productividad de toda la tarea. Permite que los recursos se utilizen óptimamente, sin ciclos ociosos. La velocidad, o frecuencia con que una instrucción sale del pipeline (cauce) está limitada por el tiempo de proceso de la etapa más lenta. Idealmente, la mejora en velocidad debida a la segmentación es igual al número de etapas: la segmentación involucra gastos las etapas pueden no estar equilibradas==> tiempo de inactividad El diseñador debe equilibrar la duración de las etapas. Procesador Segmentado Unidad 2

Ejecución de lw en la máquina uniciclo Instrucción Memoria Lect. ALU Memoria Escritura Total Registros Datos Registros Formato R 10 5 10 5 30 Load 10 5 10 10 5 40 Store 10 5 10 10 35 Beq 10 5 10 25 Ins R Alu Mem W 40 nseg lw Procesador Segmentado Unidad 2

Etapas de la Segmentación La instrucción se divide en 5 etapas: Ifetch Reg/Dec Ejec Mem WB Una etapa, un ciclo, debe acomodar la operación más lenta ===>> 10 nseg. El speedup ideal debiera ser 5. Procesador Segmentado Unidad 2

Máquina uniciclo vs segmentada Ins R Alu Mem W 40 nseg lw lw Ins R Alu Mem W lw Ins R Alu Mem W 10 nseg Ins R Alu Mem W lw 10 nseg 10 nseg 10 nseg 10 nseg 10 nseg 10 nseg Procesador Segmentado Unidad 2

Mejora de la Segmentación Donde están los problemas? Hay que considerar el tiempo de llenado y vaciado del pipeline (20nseg+20nseg) Las etapas tienen la misma duración y no realizan la misma cantidad de trabajo La eficiencia del pipeline es mayor al considerar muchas instrucciones, porque las latencias individuales aumentan pero la productividad disminuye. Procesador Segmentado Unidad 2

Uniciclo, Multiciclo vs Segmentada Load Store Ciclo 1 Ciclo 2 Ciclo 3 Ciclo 4 Ciclo 5 Ciclo 6 Ciclo 7 Ciclo 8 Ciclo 9 Ciclo 10 Load Store R Fetch Reg ALU Mem WB Fetch Reg ALU Mem Load Fetch Reg ALU Mem WB Store Fetch Reg ALU Mem WB R Fetch Reg ALU Mem WB Procesador Segmentado Unidad 2

Mejora de la Segmentación Suponemos que ejecutamos 100 instrucciones Uniciclo 40nseg * 1 CPI * 100inst= 4000 nseg Multiclo 10nseg * 4,5 CPI * 100 inst= 4500 nseg Segmentada 10nseg * (1 CPI * 100 inst + 4 ciclos) = 1040 nseg Ahora ,Mejor!!! Procesador Segmentado Unidad 2

Óptimo uso de recursos ciclos Inst 1 Inst 2 Inst 3 Inst 4 Inst 5 1 2 3 1 2 3 4 5 6 7 M Reg Inst 1 Inst 2 Inst 3 Inst 4 Inst 5 Procesador Segmentado Unidad 2

¿Problemas? No puede utilizarse el mismo recurso en el mismo momento para hacer distintas cosas. Por ejemplo: la memoria no puede utilizarse al mismo tiempo para leer instrucciones y escribir o leer datos. Varias instrucciones utilizan un mismo recurso en distintos momentos y se pierden los valores anteriores Por ejemplo: la ejecución de la segunda instrucción carga la instrucción de memoria sobre el registro IR aún cuando la primera instrucción depende de la información que había guardado en IR. Procesador Segmentado Unidad 2

Procesador Segmentado Lineal Todas las instrucciones tardan el mismo tiempo y atraviesan todas las etapas. Cada unidad funcional sólo puede ser usada una vez por instrucción (el flujo de información queremos que vaya siempre hacia la derecha) Cada unidad funcional debe ser utilizada en la misma etapa por todas las instrucciones. Queremos evitar problemas!!!! Por ejemplo: Lw IF Reg Eje Mem Wr R IF Reg Eje Wr Procesador Segmentado Unidad 2

Uso de U.F Paso Registros ALU Memoria Fetch Todas PC<--PC+4 Todas Inst<--M[PC] Lectura Todas Eje Tipo R: operación Lw y Sw: dirección Beq: operación y dirección Mem Lw y Sw PostW Lw Tipo R Procesador Segmentado Unidad 2

Memoria Se utiliza en la etapas Fetch y Memoria Debe poder soportar al mismo tiempo : lectura de instrucción lectura/escritura de dato Soluciones: una memoria con dos ports de lectura y uno de escritura memoria separada de instrucciones y datos Procesador Segmentado Unidad 2

ALU Se utiliza en la etapas Fetch y Ejecución Debe poder soportar al mismo tiempo : PC + 4 (Fetch) S=AopB o S=A+ inm16 o Z=(A=B) (Ejecución) S=PC+inm16 (Ejecución) Solución: 1 ALU y 2 sumadores

Banco de Registros Se leen en Decode y se escriben en Wb Debe poder soportar dos accesos de lectura y uno de escritura por ciclo. Se leen en la primera mitad del ciclo. Se escriben en la segunda mitad del ciclo.

Registros de Segmentación Entre cada etapa y la siguiente guardaremos la información que debe acompañar a cada instrucción en su marcha por el camino de datos. Pcsrc MUX Z 32 IF/ID ID/EX EX/MEM MEM/WB 32 + 32 PC+4 4 RegDst RegW >>2 ALUctr rs Alusrc W_src 5 LRA rt WE LRB 5 32 WR PC 5 Registros Memoria de Instrucciones @ rd inst BusW Memoria de Datos Inm16 CLK Ext

Instrucción Tipo R IR IF/ID ID/EX A B IRrd EX/MEM S IRrd MEM/WB S IRrd Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusB<---R[rt] BusS<---BusA+BusB R[rd]<--BusS IR IF/ID ID/EX A B IRrd EX/MEM S IRrd MEM/WB S IRrd Procesador Segmentado Unidad 2

Instrucción Load IR IF/ID ID/EX A EX/MEM S IRrt MEM/WB Dato IRrt Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusS<---BusA+ext(inm16); Dato<--Mem[busS]; R[rt]<--Dato IR IF/ID ID/EX A Ext(inm16) IRrt EX/MEM S IRrt MEM/WB Dato IRrt Procesador Segmentado Unidad 2

Instrucción Store IR IF/ID ID/EX A EX/MEM S B MEM/WB Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<---R[rs]; BusS<---BusA+ext(inm16); Mem[busS]<--BusB; IR IF/ID ID/EX A Ext(inm16) B EX/MEM S B MEM/WB Procesador Segmentado Unidad 2

Instrucción Beq IR PC + 4 IF/ID PC + 4 ID/EX A Z Dst EX/MEM MEM/WB Transferencias Físicas IR<---MEM[PC]; PC<--PC+ 4; BusA<--R[rs]; BusB<--R[rt]; dst<--- PC+4+ Signext(inm16)*4; Z<-- (BusA=BusB) ; si (Z) entonces PC<---dst; IR PC + 4 IF/ID PC + 4 ID/EX A Ext(inm16) B Z Dst EX/MEM MEM/WB Procesador Segmentado Unidad 2

Registros de Segmentación IR PC+4 IF/ID A B Irrd PC + 4 ID/EX Irrt ext(inm16) S Irrd Irrt B Z Dst EX/MEM S Irrd Irrt Dato MEM/WB Procesador Segmentado Unidad 2

Registros de Segmentación(mejor) IR PC+4 IF/ID A B Irrd PC + 4 ID/EX Irrt ext(inm16) S Reg B Z Dst EX/MEM S Reg Dato MEM/WB Procesador Segmentado Unidad 2

Camino de Datos con Señales de Control Salto Zero MUX 32 IF/ID ID/EX EX/MEM MEM/WB 32 + 32 PC+4 4 RegW >>2 5 rs Alusrc W_src LRA rt 5 WE LRB 5 32 WR PC Registros Memoria de Instrucciones @ inst BusW Memoria de Datos ALUctr Inm16 Ext Control ALU rt rd Aluop RegDst

Lógica de Control El secuenciamiento de control debe viajar con la instrucción a través del Camino de Datos. Cada ciclo de reloj se realizan escrituras en el PC, por lo tanto no hay señal especial de escritura para él. Los 4 registros de segmentación también se actualizan en cada ciclo. Dividimos las señales de control en 3 grupos, de acuerdo a la etapa en la que actúan. Instrucción Ejecución Memoria Wb RegDst ALUop1 ALUop0 ALUsrc Salto WE RegW W_src Formato R 1 1 0 0 0 0 1 0 Lw 0 0 0 1 0 0 1 1 Sw x 0 0 1 0 1 0 x Beq x 0 1 0 1 0 0 x Procesador Segmentado Unidad 2

Juntando Todo MUX >>2 RegW Salto ID/EX Zero W EX/MEM MEM/WB Control M W 32 IF/ID EX M W 32 + 32 PC+4 4 RegW >>2 Alusrc W_src LRA $10 LRB WE 32 WR PC Registros Memoria de Instrucciones $11 @ inst BusW Memoria de Datos ALUctr Ext Control ALU Aluop RegDst

Identificar las instrucciones Salto ID/EX Zero 10 00 MUX W EX/MEM MEM/WB Control 00 01 M 00 1100 W 1 32 1 IF/ID EX 00 M W 1 32 + 32 PC+4 1 4 RegW >>2 10 Alusrc W_src LRA $10 $5 11 LRB WE 15 32 WR PC Registros Memoria de Instrucciones $11 @ $6 inst BusW Memoria de Datos ALUctr 2090 16 Ext Control ALU 11 6 31 15 1 Aluop RegDst

Organización del Computador I Verano Rendimiento (2 de 3) Basado en el capítulo 2 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn

FIN Segmentado