Organización del Computador

Slides:



Advertisements
Presentaciones similares
Simulación en VHDL del Datapath del MIPS
Advertisements

El modelo de Von Neumann
Diseño de la ruta de datos monociclo para la arquitectura MIPS
Procesadores Pipeline II
ORGANIZACIÓN COMPUTACIONAL
Camino de Datos y Control
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
Sistemas Operativos Funcionamiento general de una computadora bajo el control de un programa.
Departamento de Ingeniería de Sistemas Universidad de Antioquia
Circuitos Digitales II
Arquitectura de Computadores
El procesador: la ruta de datos y el control (II Parte)
Datapath DLX.
EL Sistemas Digitales Ing. José Alberto Díaz García Escuela de Ingeniería Electrónica Arquitectura Segmentada Pipeline (Segmentación)
CLASE 11.
ISA (Instruction Set Architecture)
Computer Architecture Notes Jan 26, 2004 Dusan Kuzmanovic Jimmy Ortegon.
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
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.
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.
Capítulo 5. El procesador: Camino de datos y control.
Organización del Computador I Verano Excepciones Basado en el capítulo 6 del libro de Patterson y Hennessy Verano 2004Profesora Borensztejn.
Tema 2. CPU: Introducción
Datapath para las instrucciones de carga y almacenamiento (load/store)
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 11.
Organización del Computador
Departamento de Ingeniería de Sistemas Universidad de Antioquia
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.
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.
Diseño del procesador uniciclo
CLASE 14.
Capítulo 4 CPU y la memoria.
Instruction fetch cycle (IF) IR
Organización del Computador CPU 3 y 4 – Diseño de una computadora.
Simulación en VHDL del Controlador FSM del MIPS
ARQUITECTURA DE COMPUTADORES
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
Arquitectura de Computadoras (Taller) Semestre II de 2008.
El procesador Datapath y control. Universidad de SonoraArquitectura de Computadoras2 Introducción En esta parte del curso contiene: Las principales técnicas.
Fundamentos de los Computadores Grado en Ingeniería Informática
Pipeline: Peligros de datos
El procesador Diseño del control.
Superescalares Scheduling estático.
Pipelining Datapath y control.
Datapath para las instrucciones aritméticas y lógicas
Datapath para las instrucciones de brinco
Excepciones e interrupciones
Pipelining Peligros (hazards).
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
Datapath para las instrucciones de carga y almacenamiento (load/store)
Clase 7 Assembly - Simulador MSX88.
Arquitectura 2013 Explicación 4.
Creando un solo datapath
Organización del Computador
Pipelining Introducción.
Organización del Computador
8. Diseño del Procesador Fundamentos de los Computadores
Pipeline: Peligros de datos
ARQUITECTURA DEL COMPUTADOR Ing. Diana E. López.
Microarquitectura Modelo de estudio: Mic-1
Funciones: Manejar todas las operaciones de acceso, lectura y escritura a cada una de las posiciones de la memoria principal donde se almacenan las instrucciones.
El procesador Datapath y control.
Transcripción de la presentación:

Organización del Computador CPU 3 – Diseño de una computadora

Consideraciones Una única ALU, una única Memoria, un único Banco de Registros. Problemas con el uso de los recursos?? Dos tipos de problemas: Una instrucción utiliza un mismo recurso varias veces y se pierden los valores anteriores. Una instrucción utiliza un mismo recurso en la misma etapa para dos o mas cosas distintas.

Algunos componentes disponibles 1 6 3 2 S i g n e x t d b . - s o u M m R a W r y A P C b . P r o g r a m c o u n t e r A L U c o n t r l e s u Z 3 R e g W r i t s a d 1 2 D n u m b . 5 b . A L U

Diseño: Pasos necesarios 1er Paso: Analizar el conjunto de instrucciones para determinar los requerimientos del Camino de Datos. 2o Paso: Seleccionar los componentes. 3er Paso: Construir el Camino de Datos según los requerimientos. 4o Paso: Analizar la implementación de cada instrucción para determinar las señales de control necesarias. 5o Paso: Construir el Control.

Cinco Etapas de Ejecución Fetch de Instrucción (Fetch/IF) Decodificación (y lectura de registros) (Decode/ID) Ejecución (o Cálculo de Dirección de memoria) (Execution/EX) Acceso a datos en memoria (Mem) Escritura en registros (Write Back/WB)

Formato MIPS de Instrucción Son todas de 32 bits. Tres formatos: Tipo R Aritméticas Tipo I Transferencia, salto Operaciones con operando inmediato Tipo J Saltos op rs rt rd sh funct 31 26 21 16 11 6 0 op rs rt Address/inmediate 31 26 21 16 0 op Target Address 31 26 0

1er Paso: Subconjunto MIPS ADD y SUB (R[rd] = R[rs] op R[rt]) addu rd ,rs ,rt subu rd, rs ,rt LOAD and STORE lw rt, rs, inm16 R[rt] = Mem[ R[rs]+sign_ext(Inm16) ]; sw rt, rs, inm16 Mem[ R[rs]+sign_ext(Inm16) ]= R[rt]; BRANCH beq rs, rt, inm16 if (R[rs]==R[rt]) then PC=PC+(sign_ext(Inm16)*4) JUMP J target PC<31:2> =PC<31:28>,(target <25:0> << 2) op rs rt rd shamt funct 31 26 21 16 11 6 0 op rs rt Address/inmediate 31 26 21 16 0 op rs rt Address/inmediate 31 26 21 16 0 op Target Address 31 26

RTL Cada instrucción está formada por un conjunto de microoperaciones. RTL (Registrer Tranfer Language): se utilizada para determinar la secuencia exacta de microoperaciones. Ejemplo (Fetch en Marie): t1: MAR <- (PC) t2: MBR <- mem[MAR], PC <- (PC) +1 t3: IR <- (MBR)

1o Paso:Tipo R (add, sub..) RTL R[rd] = R[rs] op R[rt] y PC=PC+4 shamt funct 31 26 21 16 11 6 0 R[rd] = R[rs] op R[rt] y PC=PC+4 RTL T1: IR  mem[PC]; PCPC+4 T2: A R[rs]; BR[rt] T3: ALUOutA op B T4: R[rd]  ALUOut

Branch RTL BEQ if (R[rs]==R[rt]) then PC=PC+(sign_ext(Inm16)*4) op rs rt Address/inmediate 31 26 21 16 0 BEQ if (R[rs]==R[rt]) then PC=PC+(sign_ext(Inm16)*4) RTL T1: IR mem[PC]; PC PC + 4 T2: A R[rs] (Se guardan para el ciclo siguiente) B  R[rt] ALUOut PC + signextend(imm16) << 2 (calcula la dir. Del salto) T3: Comparar A y B PC  ALUOut Si el flag Zero esta activo

LOAD RTL T1: IR  mem[PC] PC PC + 4 T2: A  R[rs] op rs rt Address/inmediate 31 26 21 16 0 LOAD R[rt] = Mem[ R[rs]+sign_ext(Inm16) ]; RTL T1: IR  mem[PC] PC PC + 4 T2: A  R[rs] B  R[rt] (B no se usa) T3: ALUOut  A + signextend(imm16) (Calcula la dir.) T4: MBR  Mem[ALUOut] T5: R[rt]  MDR

STORE RTL T1: IR  mem[PC] PC  PC + 4 T2: A  R[rs] op rs rt Address/inmediate 31 26 21 16 0 STORE Mem[ R[rs]+sign_ext(Inm16) ]<-- R[rt]; RTL T1: IR  mem[PC] PC  PC + 4 T2: A  R[rs] B  R[rt] (valor a escribir) T3: ALUOut  A + signextend(imm16) T4: Mem[ALUOut]  B

JUMP op Target Address 31 26 0 Jump: PC<31:2>  PC<31:28>,(target <25:0> << 2) Calcula la dirección concatenando los 26 bits del operando RTL T1: IR  mem[PC] PC  PC + 4 T2: NADA! T3 PC<31:2>  PC<31:28>, (IR<25:0> << 2)

Resumen de las etapas

Número de Ciclos Brach y Jump: 3 ciclos (IF,ID,EX) Las tipo R: 4 ciclos (IF,ID,EX,WB) STORE: 4 ciclos (IF,ID,EX,MEM) LOAD: 5 (IF,ID,EX,MEM,WB)