Arquitectura de Computadores

Slides:



Advertisements
Presentaciones similares
Arquitectura RISC & CISC y DSP
Advertisements

El modelo de Von Neumann
UNIVERSIDAD DEL VALLE DE MEXICO
UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Estructuras segmentadas
Procesadores Pipeline II
ORGANIZACIÓN COMPUTACIONAL
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
TEMA 2 Arquitectura de un Ordenador
REPUBLICA BOLIVARIANA DE VENEZUELA. MINISTERIO DEL PODER POPULAR PARA LA DEFENSA. UNIVERSIDAD NACIONAL EXPERIMENTAL DE LA FUERZA ARMADA NACIONAL. NÚCLEO.
Tema 4: Unidad de Control
Fermín Sánchez Carracedo Universitat Politècnica de Catalunya
CICLO DE EJECUCION DE UNA INSTRUCCION
1. Introducción Estructura básica de un computador.
Sistemas Operativos Funcionamiento general de una computadora bajo el control de un programa.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Pipelines: Riesgos.
El procesador: la ruta de datos y el control (II Parte)
SEGMENTACIÓN DEL CAUCE
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
El nivel de la Microprogramación
Arquitectura Von Neumann
Composición Interna de un Procesador
Computadora Digital Arquitectura de John Von Neumann

MICRO Y MACRO ARQUITECTURA
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-
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.
Memoria Cachés. Universidad de SonoraArquitectura de Computadoras2 Introducción Caché es el nivel de memoria situada entre el procesador y la memoria.
Universidad Tecnológica de la Selva Ing. Emmanuel Gordillo Espinoza.
El procesador Creando un solo datapath. Universidad de SonoraArquitectura de Computadoras2 Introducción 1. Crear un solo datapath a partir de los datapaths.
Organización de Computadoras
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.
LOS MICROPROCESADORES
Tema 2: Lenguaje máquina
Tema 2. CPU: Introducción
Datapath para las instrucciones de carga y almacenamiento (load/store)
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.
CLASE 13.
Sánchez Manjarrez Silvana Ing. Daniel Domínguez C. México, D.F. a 13 de septiembre del 2006 Arquitectura de Computadoras Arquitecturas CISC Y RISC Campus.
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.
1.1 Introducción A Los Sistemas Informáticos
Instruction fetch cycle (IF) IR
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.
PROCESADORES.
E.A.P. “INGENIERÍA DE SISTEMAS” UNIVERSIDAD PERUANA UNION.
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
El procesador es el cerebro del computador que se encarga de organizar, procesar la información ejecutar cálculos y en general realizar muchos procesos.
ARQUITECTURA DE COMPUTADORES
Resolución de problemas Fundamentos de Programación M.I. Jaime Alfonso Reyes Cortés.
ARQUITECTURA DEL COMPUTADOR INTEGRANTES: CASTRO MYCHAEL ALVEAR NELSON FLORES DANILO RODRIGUEZ CARLOS IZQUIERDO HARRY INTEGRANTES: CASTRO MYCHAEL ALVEAR.
CAPITULO V Arquitectura de Von Neumann
Arquitectura de Computadores Clase 6 Ciclo y Conjunto de Instrucciones IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
Hiperpipeline Superescalares Arquitectura de Computadoras 2012.
Pipelining Datapath y control.
Organización del Computador
Arquitectura 2013 Explicación 4.
Pipelining Introducción.
Organización del Computador
Transcripción de la presentación:

Arquitectura de Computadores 1. Introducción 2. La CPU 3. Lenguaje Máquina 4. La Memoria 5. Sistemas de Entrada/Salida 6. Mejora del Rendimiento 7. Arquitecturas RISC 

Arquitectura de Computadores 6. Mejora del Rendimiento 1. CPU Segmentada (Pipeline) 1.2 Un ejemplo: DLX 1. CPU Segmentada (Pipeline) 1.2 Un ejemplo: DLX 2. Memoria Caché

La CPU Segmentación (Un ejemplo: DLX) Vamos a ver una simplificación (sin tener en cuenta instrucciones multiciclo, MMU, etc.) Arquitectura RISC load/store Arquitectura Harvard de memoria 5 etapas IF: Extracción de la instrucción ID: Decodificación / Acceso a registros EX: Ejecución / Cálculo de operandos MEM: Acceso a memoria WB: Write Back (escritura en registros) Cada etapa en un ciclo de reloj Arquitectura de Computadores

Escritura en registros Pipeline ...DLX 32 Salto Nuevo PC ALU ALU Input 1 ALU Input 2 ALU Input 3 PC Registros Unidad de Saltos I-caché Actualizar PC Reg. Instr. Dato de Mem. Lectura / Escritura ALU Output D-caché MUX 5 32 Dato a Reg. Almacenar Reg. 32 Escritura en registros IF ID EX 32 MEM WB Arquitectura de Computadores

IF: Extracción de la instrucción Pipeline ...DLX IF: Extracción de la instrucción IR = I_Cache [PC] IR es el Registro de Instrucción PC = PC+4 PC es el Contador de Programa ID: Decodificación / Acceso a registros 1 Subciclo: Decodificar instrucción 2 Subciclo: ALU_Input[1..2] = Registros (IR [25-21 , 20-16]) ó ALU_Input[3] = IR[15-0] (Dir. Inmediatos) ó Nuevo PC = Dir_Salto (en instrucciones de salto) Arquitectura de Computadores

EX Ejecución / Cálculo de operandos Pipeline ...DLX EX Ejecución / Cálculo de operandos Obtener ALU_Output operación aritmética/lógica dirección de memoria … MEM Acceso a memoria Dato_a_Registro = ALU_Output ó D_Cache [ALU_Output] = Almacenar_Reg WB Write Back (escritura en registros) Registros[] = Dato_a_Registro ó Registros[] = Dato_de_Mem Arquitectura de Computadores

DLX Instrucciones Típicas Pipeline ...DLX DLX Instrucciones Típicas INSTRUCCIÓN OPERACIÓN EJEMPLO NOP LW Reg, Dir (Reg<-Mem[Dir]) LW r12, Vector(r4) SW Dir, Reg (Mem[Dir]<- Reg) SW Vector(r4), r12 ADD/SUB RA,RB,RC (RA<-RB+RC) ADD R1,R2,R3 SGT RA,RB,RC (NE,EQ,LT,LE,GE) RA =(RB>RC)?1:0 SGT R1,R5,R4 BEQZ RA,ETIQ IF RA=0 GOTO ETIQ BEQZ R1,BUCLE SLLI RA,RB,X (SLL,SRL,SRLI) RA<-RB<<2 SLLI R5,R5,2 Arquitectura de Computadores

DLX Ralentización – Dependencias de Datos Pipeline ...DLX DLX Ralentización – Dependencias de Datos Sólo vamos a estudiar las RAW WAW ocurren en cauces con más de un etapa de escritura y en ejecuciones fuera de orden WAR cuando una etapa de escritura precede a una de lectura lw R1,$100 lw R2,$200 add R2,R1,R2 sub R1,R2,R1 Tiempo 1 2 3 4 5 6 7 8 IF ID IF EX ID IF MEM EX ID IF WB MEM EX ID Nuevo R1 WB MEM EX WB MEM Antiguo R1 WB Arquitectura de Computadores

Se accede a los registros en el 2 subciclo de ID Pipeline ...DLX SOLUCIÓN SOFTWARE (Insertar NOP por el compilador) 1 2 3 4 5 6 7 8 9 lw R1,$100 MEM WB IF ID EX Se accede a los registros en el 2 subciclo de ID Nuevo R1 lw R2,$200 No hay conflicto add R2,R1,R2 nop nop Tiempo ¿Habría bastado con una única instrucción NOP? Arquitectura de Computadores

SOLUCIÓN HARDWARE (Detener el cauce) Pipeline ...DLX SOLUCIÓN HARDWARE (Detener el cauce) 1 2 3 4 5 6 7 8 9 10 lw R1,$100 IF ID IF EX ID IF MEM EX IF WB MEM IF Nuevo R1 WB ID IF lw R2,$200 EX IF MEM IF WB ID add R2,R1,R2 EX sub R1,R2,R1 Tiempo ¡Cada dependencia RAW genera 2 burbujas! Se ralentiza la ejecución del programa Arquitectura de Computadores

¡Eliminamos las burbujas! ¿Funciona para todas las instrucciones? Pipeline …DLX SOLUCIÓN HARDWARE (Anticipación) 1 2 3 4 5 6 Anticipación add R2,R1,R2 IF ID IF EX MEM WB R2 sub R1,R2,R1 ID EX MEM WB Tiempo ALU R2 ¡Eliminamos las burbujas! ¿Funciona para todas las instrucciones? Arquitectura de Computadores

SOLUCIÓN HARDWARE (Detener el cauce + Anticipación) Pipeline …DLX SOLUCIÓN HARDWARE (Detener el cauce + Anticipación) 1 2 3 4 5 6 7 Anticipación MEM->EX 8 9 10 lw R1,$100 IF MEM ID EX IF ID WB MEM IF Anticipación EX->EX R1 R2 lw R2,$200 EX WB ID MEM EX WB MEM add R2,R1,R2 R2 sub R1,R2,R1 Tiempo Aparecen burbujas cuando hay instrucciones de acceso a memoria (lw) El dato en una instrucción load (lw) está disponible tras la etapa MEM Arquitectura de Computadores

EJEMPLO – Sin anticipación (Forwarding) Pipeline ...DLX EJEMPLO – Sin anticipación (Forwarding) 1 2 3 4 5 6 7 8 9 lw R5,$100 IF MEM ID EX WB Nuevo R5 slli R5,R5,2 ID IF MEM WB EX ID EXE IF sgt R1,R4,R5 Tiempo Arquitectura de Computadores

DLX Ralentización – Motivos estructurales Pipeline …DLX DLX Ralentización – Motivos estructurales DLX no tiene riesgos estructurales (Structural Stall). Vamos a introducir algunas modificaciones en las etapas del cauce para provocar la aparición de riesgos estructurales. Caso 1.- Supongamos que en la etapa MEM realizamos una escritura en los registros Tiempo 1 2 3 4 5 6 7 8 CASO 1 lw R1,$100 slli R5,R6,2 IF ID EX MEM WB EX WB Acceso simultáneo Banco de REGISTROS MEM WB WB Arquitectura de Computadores

Pipeline ...DLX CASO 2 OTROS RIESGOS Caso 2.- La etapa ID tiene dos subciclos (1º decodificación y 2º acceso a los operandos en el banco de registros). Dividimos la etapa ID en dos: DEC, REG. CASO 2 lw R5,$100 slli R5,R5,2 Tiempo 1 2 3 4 5 6 7 8 ………………………… Acceso simultáneo IF DEC REG MEM EX WB Banco de REGISTROS REG MEM WB EX OTROS RIESGOS Utilización de la ALU (por ejemplo para actualizar el contador de programa) Una única memoria (accesos simultáneos desde las etapas IF y MEM). Arquitectura de Computadores

DLX Ralentización – Bifurcaciones Pipeline ...DLX DLX Ralentización – Bifurcaciones El problema aparece con las instrucciones de salto condicional Detener el cauce, para conocer la siguiente instrucción a ejecutar, reduce su rendimiento Calcular la dirección de salto lo antes posible (etapa ID) favorece la toma de decisiones y evita los riesgos de control Implementación BTA (Branch Target Address): Nuevo registro interno En la etapa ID se calcula la dirección del salto (desplazamiento sobre el PC), se guarda en BTA y se comprueba la condición de salto (consulta de un registro) Política adoptada: Predicción estática de “no saltar” En la etapa EX, si el salto se toma, se actualiza PC con BTA Puede ocurrir dos situaciones: No se toma el salto => Continua la ejecución Se toma el salto => Vaciar el cauce ACIERTO Arquitectura de Computadores

Bifurcaciones: NO se toma el salto Predicción estática de Pipeline ...DLX Bifurcaciones: NO se toma el salto Predicción estática de “no saltar” 1 2 3 4 5 6 7 8 9 10 IF ID IF EX ID MEM EX ID IF WB MEM EX ID nop BTAC = PC + despl. R1=1 beqz R1,SALIR WB MEM EX PC = PC + 4 R1=1 → NO SALTAR IF WB MEM add R2,R3,R2 sub R5,R4,R6 WB SALIR: …….. Tiempo Arquitectura de Computadores

Bifurcaciones: SI se toma el salto Predicción estática de Pipeline ...DLX Bifurcaciones: SI se toma el salto Predicción estática de “no saltar” 1 2 3 4 5 6 7 8 9 10 IF ID IF EX ID IF MEM EX WB MEM ID nop PC = BTAC R1=0 beqz R1,SALIR WB EX Vaciar ¡¡SALTAR!! add R2,R3,R2 sub R5,R4,R6 IF MEM WB SALIR: …….. Tiempo Arquitectura de Computadores