Diseño del procesador uniciclo

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
Microprocesadores Componentes básicos..
ORGANIZACIÓN COMPUTACIONAL
Camino de Datos y Control
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
Introduction to Microprocessors (Conference 2) From: Wikipedia, the free encyclopedia.
Tema 4: Unidad de Control
Profesor: Rodrigo Sanhueza F.
RESUMEN: Softmicro de 8 bits Xilinx
Tema: Microprocesadores
Arquitectura de Computadores
El procesador: la ruta de datos y el control (II Parte)
Datapath DLX.
Circuitos Combinacionales Comunes
CLASE 11.
ISA (Instruction Set Architecture)
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
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-
(CC) , José M. Foces-Morán.
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.
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.
Diseño de la Unidad de Control Multiciclo: Microprogramación
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 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.
Organización del Computador I Verano Aritmética (3 de 3) Basado en el capítulo 4 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.
CLASE 14.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
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
Organización del Computador CPU 3 y 4 – Diseño de una computadora.
Simulación en VHDL del Controlador FSM del MIPS
PICOBLAZE RESUMEN.
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
 PRESENTADO POR : ANDRES MAYORGA DANIELA PAEZ VEGA.
Arquitecturas de Computadoras Capitulo 2 Aritmética de enteros.
[ Arquitectura de Computadores ] ORGANIZACIÓN FUNCIONAL Präsentat ion Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
Arquitectura de Computadores IIC 2342 Semestre Rubén Mitnik Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia.
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.
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
El procesador Datapath y control.
Transcripción de la presentación:

Diseño del procesador uniciclo Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy Verano 2004 Profesora Borensztejn Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo Cada instrucción se ejecuta en un único ciclo de reloj CPI=1 para todas las instrucciones El período de reloj debe ser el de la instrucción más costosa: camino crítico Diseño poco flexible, pero fácil de comprender! Y de implementar!! Unidad 1 Diseño del procesador uniciclo

Metodología de sincronización Lógica Combinatoria estado estado El ciclo de reloj debe permitir que las salidas del bloque combinacional se estabilicen Actualización del estado Unidad 1 Diseño del procesador uniciclo

Metodología de sincronización Lógica Combinatoria estado Lectura y lógica Actualización del estado Un elemento de estado puede leerse y escribirse en el mismo ciclo. Unidad 1 Diseño del procesador uniciclo

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. Unidad 1 Diseño del procesador uniciclo

1er Paso: Formato MIPS de Instrucción Son todas de 32 bits. Tres formatos: Tipo R Tipo I Tipo J 31 26 21 16 11 6 0 op rs rt rd shamt funct 31 26 21 16 0 op rs rt Address/inmediate 31 26 0 op Target Address Unidad 1 Diseño del procesador uniciclo

1er Paso: Subconjunto MIPS ADD y SUB addu rd ,rs ,rt subu rd, rs ,rt OR inmediato ori rt, rs, inm16 LOAD and STORE lw rt, rs, inm16 sw rt, rs, inm16 BRANCH beq rs, rt, inm16 op rs rt rd shamt funct 31 26 21 16 11 6 0 31 26 21 16 0 op rs rt Address/inmediate 31 26 21 16 0 op rs rt Address/inmediate 31 26 21 16 0 op rs rt Address/inmediate Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo 1er Paso: RTL Todas las instrucciones comienzan haciendo el fetch ADDU R[rd]<--R[rs]+R[rt]; PC<--PC+4 SUBU R[rd]<--R[rs]-R[rt]; PC<--PC+4 ORI R[rt]<--R[rs]|zero_ext(Inm16); PC<--PC+4 LOAD R[rt]<--Mem[R[rs]+sign_ext(Inm16)]; PC<--PC+4 STORE Mem[R[rs]+sign_ext(Inm16)]<-- R[rt]; PC<--PC+4 BEQ if (R[rs]==R[rt]) then PC<--PC+4+(sign_ext(Inm16)*4) else PC<--PC+4 Unidad 1 Diseño del procesador uniciclo

1er Paso: Requerimientos del Conjunto de Instrucciones Memoria Instrucciones y Datos Registros (32x32) Leer rs Leer rt Escribir rt o rd PC Extensor de signo Sumar y Restar registros y/o valores inmediatos Operaciones lógicas(and/or) registros y/o valores inmediatos Sumar 4 al PC o 4+inmediato extendido *4 Unidad 1 Diseño del procesador uniciclo

2o Paso: Componentes del Camino de Datos r u c t i o n a d d r e s s P C I n s t r u c t i o n A d d S u m I n s t r u c t i o n m e m o r y M e m W r i t e a . I n s t r u c t i o n m e m o r y b . P r o g r a m c o u n t e r c . A d d e r A d d r e s s R e a d d a t a 1 6 3 2 S i g n e x t e n d W r i t e D a t a d a t a m e m o r y A L U c o n t r l R e g W i s a d 1 2 u D m b . Z 5 M e m R e a d 3 a . D a t a m e m o r y u n i t b . S i g n - e x t e n s i o n u n i t Unidad 1 Diseño del procesador uniciclo

2o Paso: Componentes del Camino de Datos Elementos Combinacionales Sumador , ALU y Multiplexor Suma 32 A B Op Resultado ALU Sel A B 32 + 32 A 32 32 MUX B Unidad 1 Diseño del procesador uniciclo

2o Paso: Componentes del Camino de Datos Elementos de Almacenamiento: Banco de Registros RegW CLK LRA LRB ER BusW BusA BusB 32 Registros de 32 bits 32 5 WE Data In 32 Data Out 32 CLK Unidad 1 Diseño del procesador uniciclo

2o Paso: Componentes del Camino de Datos Elementos de Almacenamiento: Banco de Registros: dos puertos de lectura RegW CLK LRA LRB ER BusW BusA BusB 32 Registros de 32 bits 32 5 R e a d r e g i s t e r n u m b e r 1 R e g i s t e r R e g i s t e r 1 M u R e a d d a t a 1 R e g i s t e r n – 1 x R e g i s t e r n R e a d r e g i s t e r n u m b e r 2 M u R e a d d a t a 2 x Unidad 1 Diseño del procesador uniciclo

2o Paso: Componentes del Camino de Datos Elementos de Almacenamiento: Banco de Registros: un puerto de escritura RegW CLK LRA LRB ER BusW BusA BusB 32 Registros de 32 bits 32 5 Unidad 1 Diseño del procesador uniciclo

2o Paso: Componentes del Camino de Datos Elementos de Almacenamiento: Memorias WE CLK dirección Dato In Dato Out Memoria de Datos 32 dirección instrucción Memoria de Instrucciones 32 Unidad 1 Diseño del procesador uniciclo

3er Paso:Construcción del Camino de Datos Fetch de Instrucciones Mem[PC]; PC<-- PC+4 (código secuencial) dirección instrucción Memoria de Instrucciones 32 4 + PC WE CLK Unidad 1 Diseño del procesador uniciclo

3er Paso:Construcción del Camino de Datos Formato R: Addu y Subu ADDU R[rd]<--R[rs]+R[rt]; PC<--PC+4 SUBU R[rd]<--R[rs]-R[rt]; PC<--PC+4 RegW ALUctr rs 5 LRA rt BusA Instrucción 5 LRB 32 rd 32 WR 5 32 Registros de 32 bits BusB 32 BusW 32 CLK Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo 3er Paso:Construcción del Camino de Datos Formato I: lógicas con Inmediato ORi R[rt]<--R[rs]op ZeroExtR[inm16]; PC<--PC+4 RegDst RegW Alusrc ALUctr rs 5 LRA rt BusA 5 LRB 32 32 WR 5 MUX 32 Registros de 32 bits BusB Instrucción rd 32 MUX BusW 32 CLK 32 Inm16 ZeroExt Unidad 1 Diseño del procesador uniciclo

3er Paso:Construcción del Camino de Datos Formato I: LOAD Lw rt,rs,inmm1 6 R[rt]<--Mem[R[rs]+ SignExt[inm16]]; PC<--PC+4 RegDst RegW Alusrc ALUctr W_src rs 5 LRA rt BusA 5 LRB 32 32 WR 5 MUX MUX 32 Registros de 32 bits BusB Instrucción rd WE 32 MUX BusW 32 @ Memoria de Datos CLK 32 32 Inm16 CLK EXtension Unidad 1 Diseño del procesador uniciclo

3er Paso:Construcción del Camino de Datos Formato I: STORE Sw rt,rs,inmm1 6 Mem[R[rs]+ SignExt[inm16]]<----R[rt]; PC<--PC+4 RegDst RegW Alusrc ALUctr W_src rs 5 LRA rt BusA 5 LRB 32 32 WR 5 MUX MUX 32 Registros de 32 bits BusB Instrucción rd WE 32 MUX BusW 32 @ Memoria de Datos CLK 32 32 Inm16 CLK EXtension Unidad 1 Diseño del procesador uniciclo

3er Paso:Construcción del Camino de Datos Formato I: Branch Beq rs, rt, inm16 if (R[rs]==R[rt]) then PC<--PC+4+(sign_ext(Inm16)*4 else PC<--PC+4 dirección instrucción Memoria de Instrucciones 32 4 + PC WE CLK Extensión <<2 PC_src MUX Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo 3er Paso:Juntando Todo Pcsrc MUX >>2 RegDst RegW ZERO Alusrc 32 ALUctr W_src 32 rs + LRA 5 32 rt BusA 4 LRB 5 32 32 WR MUX 32 Registros de 32 bits BusB MUX 5 instrucción rd WE MUX BusW 32 PC Memoria de Instrucciones 32 32 @ Memoria de Datos CLK CLK 32 Inm16 32 CLK EXtension Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo Señales de Control No Activa Activa RegDst destino es rt destino es rd ALUsrc operando proviene operando son los 16 bits de la del B. De Reg inst. con el signo extendido W_src El valor que se escribe en El valor que se escribe en el B. De Reg el B. de Reg proviene de proviene de Memoria la ALU RegW Nada Se escribe el valor en el registro especificado WE Nada Se escribe en la memoria el valor que está en su entrada PC_src PC=PC+4 PC=destino de salto Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo Ejemplo: Load Pcsrc MUX >>2 RegDst ZERO RegW Alusrc 32 ALUctr W_src 32 rs + LRA 5 32 rt BusA 4 LRB 5 32 32 WR MUX 5 32 Registros de 32 bits BusB MUX instrucción rd WE MUX BusW 32 PC Memoria de Instrucciones 32 32 @ Memoria de Datos CLK CLK 32 32 Inm16 CLK EXtension Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo Ejemplo: ADDU Pcsrc MUX >>2 RegDst RegW ZERO Alusrc 32 ALUctr W_src 32 rs + LRA 5 32 BusA 4 rt LRB 5 32 32 WR MUX 5 32 Registros de 32 bits BusB MUX instrucción rd WE MUX BusW 32 PC Memoria de Instrucciones 32 32 @ Memoria de Datos CLK CLK 32 32 Inm16 CLK EXtension Unidad 1 Diseño del procesador uniciclo

Ejemplo: BEQ (realizado) Pcsrc MUX >>2 RegDst RegW ZERO Alusrc 32 ALUctr W_src 32 rs + LRA 5 32 BusA 4 rt LRB 5 32 32 WR MUX 5 32 Registros de 32 bits BusB MUX instrucción rd WE MUX BusW 32 PC Memoria de Instrucciones 32 32 @ Memoria de Datos CLK CLK 32 32 Inm16 CLK EXtension Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo 40 Paso:Control Inm16 <0..15> Memoria de Instrucciones Branch Rd <11..15> Unidad de Control Unidad de Proceso RegW Rt <16..20> RegDst Rs <21..25> Funct <0..6> ALUsrc Op <26..31> ALUctr WE W_src Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo 4o Paso:Control Branch MUX WE CONTROL W_src >>2 Pcsrc RegW Alusrc ZERO 32 RegDst ALUctr 32 rs + LRA 5 32 rt BusA 4 LRB 5 32 32 WR MUX MUX 5 32 Registros de 32 bits BusB instrucción rd MUX BusW 32 PC Memoria de Instrucciones 32 32 @ Memoria de Datos CLK CLK 32 Inm16 32 CLK EXtension Unidad 1 Diseño del procesador uniciclo

4o Paso: Control Principal Addu Subu Lw Sw Ori Beq RegDst 1 1 0 x 0 x ALUsrc 0 0 1 1 1 0 W_src 0 0 1 x 0 x RegW 1 1 1 0 1 0 WE 0 0 0 1 0 0 Branch 0 0 0 0 0 1 ALUctr suma resta suma suma or resta Unidad 1 Diseño del procesador uniciclo

4o Paso: Control de la ALU 000 AND 001 OR 010 add 110 subtract 111 set-on-less-than 32 A B Op Resultado ALU Cero Unidad 1 Diseño del procesador uniciclo

4o Paso: Control de la ALU ALUop Control Control de la ALU 5..0 32 A Operación 31..26 32 Resultado ALU Instrucción 32 Cero B Unidad 1 Diseño del procesador uniciclo

4o Paso: Control de la ALU La ALU necesita 3 bits de control Dado el tipo de instrucción 00 = lw, sw 01 = beq, 10 = arithmetic y el código de función para las tipo R Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo Control Unidad 1 Diseño del procesador uniciclo

5o Paso: Implementación Unidad 1 Diseño del procesador uniciclo

Simple Estructura de Control Toda la lógica es combinacional Hay que esperar que las señales se estabilicen La duración del ciclo está determinada por la longitud del camino crítico Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo Camino Crítico: Load PC: propagación (hold)+ Acceso a Memoria de Instrucciones + Acceso el Banco de Registros + ALU, suma de 32 bits + Acceso a Memoria de Datos + Tiempo de setup para escribir en registros + Sesgo (skew) del reloj = longitud del ciclo Unidad 1 Diseño del procesador uniciclo

Duración del ciclo de reloj CLK to Q despreciable Memory Access Time 10 nseg Decodificación despreciable Register File Access Time 5 nseg Alu 10nseg Ìnstrucció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 Unidad 1 Diseño del procesador uniciclo

Temporización: Reg-Reg CLK to Q PC Memory Access Time Instrucción Control Logic Delay ALUctr RegW Register File Access Time BusA, BusB ALU delay Escritura de Registros BusW Unidad 1 Diseño del procesador uniciclo

Diseño del procesador uniciclo FIN Uniciclo Unidad 1 Diseño del procesador uniciclo