39
1 Diseño del procesador uni ciclo Unidad 1 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 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Embed Size (px)

Citation preview

Page 1: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

1Diseño del procesador unicicloUnidad 1

Organización del Computador I Verano

Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Verano 2004 Profesora Borensztejn

Page 2: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 2

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!!

Page 3: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 3

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

Page 4: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 4

Metodología de sincronización

Lógica Combinatoria

estado

Un elemento de estado puede leerse y escribirse en el mismo ciclo.

Actualización del estado

Lectura y lógica

Page 5: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 5

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.

Page 6: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 6

1er Paso: Formato MIPS de Instrucción

Son todas de 32 bits. Tres formatos:

• Tipo R

• Tipo I

• Tipo J

op rs rt rd shamt funct

op rs rt Address/inmediate

31 26 21 16 11 6 0

31 26 21 16 0

op Target Address

31 26 0

Page 7: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 7

op rs rt rd shamt funct

31 26 21 16 11 6 0

op rs rt Address/inmediate

31 26 21 16 0

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 Address/inmediate

31 26 21 16 0

op rs rt Address/inmediate

31 26 21 16 0

Page 8: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 8

1er Paso: RTLTodas las instrucciones comienzan haciendo el fetchADDU 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

Page 9: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 9

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

Page 10: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 10

2o Paso: Componentes del Camino de Datos

PC

Instructionmemory

Instructionaddress

Instruction

a. Instruction memory b. Program counter

Add Sum

c. Adder

ALU control

RegWrite

RegistersWriteregister

Readdata 1

Readdata 2

Readregister 1

Readregister 2

Writedata

ALUresult

ALU

Data

Data

Registernumbers

a. Registers b. ALU

Zero5

5

5 3

16 32Sign

extend

b. Sign-extension unit

MemRead

MemWrite

Datamemory

Writedata

Readdata

a. Data memory unit

Address

Page 11: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 11

2o Paso: Componentes del Camino de Datos

• Elementos Combinacionales

– Sumador , ALU y Multiplexor

A

B

32

32

32+

Suma

32

32

32

A

B

Op

ResultadoA

LU

Sel

A

B

32

32

32

MU

X

Page 12: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 12

2o Paso: Componentes del Camino de Datos

• Elementos de Almacenamiento: Banco de Registros

WE

CLK

Data Out

Data In 32

32

RegW

CLK

LRA

LRB

ER

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

Page 13: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 13

2o Paso: Componentes del Camino de Datos

• Elementos de Almacenamiento: Banco de Registros: dos puertos de lectura

Mux

Register 0

Register 1

Register n – 1

Register n

Mux

Read data 1

Read data 2

Read registernumber 1

Read registernumber 2

RegW

CLK

LRA

LRB

ER

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

Page 14: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 14

2o Paso: Componentes del Camino de Datos

• Elementos de Almacenamiento: Banco de Registros: un puerto de escritura

n-to-1decoder

Register 0

Register 1

Register n – 1C

C

D

DRegister n

C

C

D

D

Register number

Write

Register data

0

1

n – 1

n

RegW

CLK

LRA

LRB

ER

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

Page 15: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 15

2o Paso: Componentes del Camino de Datos

• Elementos de Almacenamiento:– Memorias

direccióninstrucción

Memoria de Instrucciones

3232

WE

CLK

dirección

Dato In

Dato Out

Memoria de Datos

32

32

32

Page 16: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 16

3er Paso:Construcción del Camino de DatosFetch de Instrucciones

• Mem[PC]; PC<-- PC+4 (código secuencial)

direccióninstrucción

Memoria de Instrucciones

3232

4

32

32

32+

PC

WE

CLK

Page 17: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 17

3er Paso:Construcción del Camino de DatosFormato R: Addu y Subu

ADDU R[rd]<--R[rs]+R[rt]; PC<--PC+4

SUBU R[rd]<--R[rs]-R[rt]; PC<--PC+4

32

RegW

CLK

rs

rt

rd

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

Inst

rucc

ión LRA

LRB

WR

ALUctr

Page 18: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 18

3er Paso:Construcción del Camino de DatosFormato I: lógicas con Inmediato

ORi R[rt]<--R[rs]op ZeroExtR[inm16]; PC<--PC+4

32

RegW

CLK

rs

rt

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

Inst

rucc

ión

LRA

LRB

WR

ALUctr

rd

RegDst

MU

X

ZeroE

xt

Inm1632

MUX

Alusrc

Page 19: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 19

3er Paso:Construcción del Camino de DatosFormato I: LOAD

Lw rt,rs,inmm1 6

R[rt]<--Mem[R[rs]+ SignExt[inm16]]; PC<--PC+4

32

RegW

CLK

rs

rt

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

Inst

rucc

ión

LRA

LRB

WR

ALUctr

rd

RegDst

MU

X

EX

tension

Inm1632

MUX

Alusrc

MUX

CLK

Memoria de Datos

32

@

WE

W_src

Page 20: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 20

3er Paso:Construcción del Camino de DatosFormato I: STORE

Sw rt,rs,inmm1 6

Mem[R[rs]+ SignExt[inm16]]<----R[rt]; PC<--PC+4

32

RegW

CLK

rs

rt

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

Inst

rucc

ión

LRA

LRB

WR

ALUctr

rd

RegDst

MU

X

EX

tension

Inm1632

MUX

Alusrc

MUX

CLK

Memoria de Datos

32

@

WE

W_src

Page 21: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 21

3er Paso:Construcción del Camino de DatosFormato I: Branch

Beq rs, rt, inm16

if (R[rs]==R[rt]) then PC<--PC+4+(sign_ext(Inm16)*4

else PC<--PC+4

direccióninstrucción

Memoria de Instrucciones

324

32

32

32+

PC

WE

CLK

32

32

32+

Extensión

<<

2

MU

X

PC_src

Page 22: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 22

RegW

CLK

rs

rt

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

LRA

LRB

WR

rd

RegDst

MU

X

EX

tension

Inm16

32

MUX

Alusrc

4

32

32

32+

PC

CLK

instrucción

Memoria de Instrucciones

32

>>

2

32

ALUctr

MUX

CLK

Memoria de Datos

32

@

WE

W_src

MU

X

Pcsrc

3er Paso:Juntando Todo

ZERO

Page 23: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 23

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

Page 24: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 24

Ejemplo: Load

RegW

CLK

rs

rt

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

LRA

LRB

WR

rd

RegDst

MU

X

EX

tension

Inm1632

MUX

Alusrc

4

32

32

32+

PC

CLK

instrucción

Memoria de Instrucciones

32

>>

2

32

ALUctr

MUX

CLK

Memoria de Datos

32

@

WE

W_src

MU

XPcsrc

ZERO

Page 25: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 25

Ejemplo: ADDU

RegW

CLK

rs

rt

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

LRA

LRB

WR

rd

RegDst

MU

X

EX

tension

Inm1632

MUX

Alusrc

4

32

32

32+

PC

CLK

instrucción

Memoria de Instrucciones

32

>>

2

32

ALUctr

MUX

CLK

Memoria de Datos

32

@

WE

W_src

MU

XPcsrc

ZERO

Page 26: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 26

Ejemplo: BEQ (realizado)

RegW

CLK

rs

rt

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

LRA

LRB

WR

rd

RegDst

MU

X

EX

tension

Inm1632

MUX

Alusrc

4

32

32

32+

PC

CLK

instrucción

Memoria de Instrucciones

32

>>

2

32

ALUctr

MUX

CLK

Memoria de Datos

32

@

WE

W_src

MU

XPcsrc

ZERO

Page 27: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 27

40 Paso:Control

Inm16 <0..15>

RegW

RegDst

ALUsrc

ALUctr

WE

W_src

Unidad de Proceso

Unidad de Control

Memoria de Instrucciones

BranchRd <11..15>

Rt <16..20>

Rs <21..25>

Funct <0..6>

Op <26..31>

Page 28: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 28

RegW

CLK

rs

rt

BusW

BusA

BusB32 Registros de 32 bits

32

5

5

5

32

32

LRA

LRB

WR

rd

RegDst

MU

X

EX

tension

Inm16

32

MUX

Alusrc

4

32

32

32+

PC

CLK

instrucción

Memoria de Instrucciones

32

>>

2

32

ALUctr

MUX

CLK

Memoria de Datos

32

@

WE

W_src

MU

X

Pcsrc

4o Paso:Control

ZERO

Branch

CONTROL

Page 29: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 29

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

Page 30: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 30

4o Paso: Control de la ALU

000 AND001 OR010 add110 subtract111 set-on-less-than

32

32

32

A

B

Op

Resultado

AL

U

Cero

Page 31: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 31

4o Paso: Control de la ALU

32

32

32

A

B

Operación

Resultado

AL

U

CeroInstrucción

31..26

5..0

ALUop

Control de

la ALU

Control

Page 32: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 32

4o Paso: Control de la ALU

ALUOp Funct field OperationALUOp1 ALUOp0 F5 F4 F3 F2 F1 F0

0 0 X X X X X X 010X 1 X X X X X X 1101 X X X 0 0 0 0 0101 X X X 0 0 1 0 1101 X X X 0 1 0 0 0001 X X X 0 1 0 1 0011 X X X 1 0 1 0 111

• La ALU necesita 3 bits de control

– Dado el tipo de instrucción 00 = lw, sw01 = beq, 10 = arithmetic

– y el código de función para las tipo R

Page 33: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 33

Control

Instruction RegDst ALUSrcMemto-

RegReg

WriteMem Read

Mem Write Branch ALUOp1 ALUp0

R-format 1 0 0 1 0 0 0 1 0lw 0 1 1 1 1 0 0 0 0sw X 1 X 0 0 1 0 0 0beq X 0 X 0 0 0 1 0 1

PC

Instructionmemory

Readaddress

Instruction[31– 0]

Instruction [20– 16]

Instruction [25– 21]

Add

Instruction [5– 0]

MemtoReg

ALUOp

MemWrite

RegWrite

MemRead

BranchRegDst

ALUSrc

Instruction [31– 26]

4

16 32Instruction [15– 0]

0

0Mux

0

1

Control

Add ALUresult

Mux

0

1

RegistersWriteregister

Writedata

Readdata 1

Readdata 2

Readregister 1

Readregister 2

Signextend

Shiftleft 2

Mux

1

ALUresult

Zero

Datamemory

Writedata

Readdata

Mux

1

Instruction [15– 11]

ALUcontrol

ALUAddress

Page 34: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 34

5o Paso: Implementación

Operation2

Operation1

Operation0

Operation

ALUOp1

F3

F2

F1

F0

F (5– 0)

ALUOp0

ALUOp

ALU control block

R-format Iw sw beq

Op0

Op1

Op2

Op3

Op4

Op5

Inputs

Outputs

RegDst

ALUSrc

MemtoReg

RegWrite

MemRead

MemWrite

Branch

ALUOp1

ALUOpO

Page 35: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 35

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

Page 36: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 36

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

Page 37: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 37

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

Page 38: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

Unidad 1 Diseño del procesador uniciclo 38

Temporización: Reg-Reg

PC

Instrucción

ALUctr

RegW

BusA, BusB

BusW

CLK to Q

Memory Access Time

Control Logic Delay

Register File Access Time

ALU delayEscritura de Registros

Page 39: Unidad 1Diseño del procesador uniciclo1 Organización del Computador I Verano Procesador Uniciclo Basado en el capítulo 5 del libro de Patterson y Hennessy

39Diseño del procesador unicicloUnidad 1

FIN Uniciclo