organización y arquitectura de computadoras · 2013-03-10 · la unidad de control arquitectura de...

42
La Unidad de Control Arquitectura de Computadoras 1 Organización y arquitectura de computadoras Tema 8 La Unidad de Control Modelo RTL, Microoperaciones

Upload: others

Post on 06-May-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 1

Organización y arquitectura de computadoras

Tema 8

La Unidad de Control

Modelo RTL, Microoperaciones

Page 2: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 2

El Concepto de Programa• Los sistemas alambrados son rígidos

• Un programa es una secuencia de pasos

• Para cada paso, se realiza una operación de transferencia o una operación artmética o lógica

• Para cada operación, se genera un conjunto específico de señales de control

• Un hardware de propósito general puede realizar diferentes tareas si se le dan las señales de control correctas

• Cuando se requieren cambios, en lugar de re-alambrar, se proporciona un nuevo conjunto de señales de control

Page 3: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 3

Elementos que constituyen un programa en ejecución

Ejecución de un programa

Ciclo deinstrucción

Ciclo deinstrucción

Ciclo deinstrucción

. . .

Obtención Indirecto Ejecución Interrupción

µOP µOP µOP µOP µOP

Page 4: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 4

Micro-Operaciones

• Una computadora ejecuta un programa

• Ciclo de obtención/ejecución

• Cada ciclo tiene un número de etapas– Ver pipelining

• Llamadas micro-operaciones

• Cada paso hace muy poco

• Operación atómica del CPU

Page 5: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 5

Tipos de micro-operaciones

• Transferencia de datos entre registros

• Transferencia de datos de registro a almacenamiento externo

• Transferencia de datos de almacenamiento externo a registro

• Hacer operaciones aritméticas o lógicas

Page 6: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 6

Elementos básicos del procesador

• ALU

• Registros

• Trayectorias de datos internos

• Trayectorias de datos externos

• Unidad de control

Page 7: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 7

Trayectoria de datos y Unidad de Control

Page 8: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 8

Registros

• Memory Address Register (MAR) – Conectado al bus de direcciones– Especifica la dirección para una operación

de lectura/escritura

• Memory Data Register (MDR) – Conectado al bus de datos– Tiene los datos a escribir o los datos leidos

en la última lectura

• Program Counter (PC) – Tiene la dirección de la siguiente

instrucción a ser captada

• Instruction Register (IR) – Tiene la última instrucción captada

MDR

Page 9: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 9

Ciclo instrucción

• Obtención– Transferir el PC al MAR

– Realizar una lectura a memoria, incrementar el PC

– Esperar a que la memoria tenga lista la información

– Pasar el valor del MDR a IR

• Ejecución– Realizar la acción especificada por el código de operación

almacenado en IR

Page 10: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 10

PC

MAR

MDR

Y

Z

Decodificador de Instrucciones y Lógica

de control

IR

R0

R(n-1)

MUX

ALU

Direcciones

Datos

Constante

Select

Bus de Memoria

Señales deControl

ALUCarry-in

Señales de controlBus interno del CPU

A B

Modelo del CPU – Organización de un solo bus

SP

Page 11: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 11

Organización interna

• Usualmente un solo bus interno

• Las puertas controlan el movimiento de datos dentro y fuera del bus

• Las señales de control coordinan la transferencia de hacia y desde el bus externo del sistema

• Se añaden dos registros temporales para el funcionamiento correcto de la ALU: Y y Z

Page 12: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 12

Ejecución de Instrucciones

• Cada instrucción puede descomponerse en una secuencia de transferencias entre registros

• Las transferencias entre registros son coordinadas por señales de control

• Secuencias típicas– Transferir el contenido de un registro a otro

– Ejecutar una operación y almacenar el resultado en un registro

– Leer/escribir desde/hacia memoria/registro

Page 13: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 13

Notación para transferencias entre registros

- denota una transferencia de datos

• [ ] – contenido de una localidad de memoria

• Examples:– IR [PC]

• Transfer contents of location in PC to IR

– PC PC + 4• Incrementa el contenido del PC

Page 14: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 14

Transferencia entre registros

• Cada registro tiene dos señales de control

• Ejemplo– R3 [R7]

• Activar R7out – el contenido de R7 es colocado en el bus interno del procesador

• Activar R3in – el contenido del bus interno del procesador es colocado en R3

Page 15: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 15

Ri

Bus interno del procesador

X

X

Riin

Riout

MDR

X

X

MDRin

MDRout

X

MDRinE

X

MDRoutE

Bus de MemoriaLíneas de Datos

Señales de control para la entrada y salida de datos en los registros

Page 16: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 16

Ejemplo de señales de control - Obtención

• MAR <- PC– La unidad de control activa una señal que abre la puerta

entre MAR (MARin) y PC (PCout)

• MDR <- [memoria]– Abre la puerta entre MAR (MARout) y el bus de

direcciones

– La memoria lee las señales de control

– Abre la puerta entre el bus de datos y MDR

Page 17: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 17

Lógica de control para un bit del registro Ri

Page 18: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 18

Temporización de una transferencia entre registros

Page 19: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 19

Ciclo de obtención• La dirección de la siguiente instrucción está en PC

• La dirección se pone en el bus de direcciones (MAR)

• La unidad de control emite un comando de lectura

• El resultado (dato de la memoria) aparece en el bus de datos

• El dato del bus se captura en el MDR

• El dato (instrucción) se mueve del MDR al IR

• MDR queda libre para próximas captaciones de datos

• PC se incrementa en 1

Page 20: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 20

Flujo de Datos (Obtención)

Page 21: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 21

Secuencia de obtención (simbólica)

• t1: MAR <- PC

• t2: MDR <- [memoria]

• t3: IR <- MDR

• t4: Z <- PC + 1

• t5: PC <- Z

• (tx = unidad de tiempo/ciclo de reloj)

Page 22: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 22

Reglas para agrupar eventos en un ciclo de reloj

• Debe seguirse la secuencia correcta de eventos– MAR <- PC debe preceder MDR <- [memoria]

• Deben evitarse conflictos– No se debe leer y escribir el mismo registro al mismo tiempo– MDR <- (memoria) e IR <- [MDR] no deben de estar en el mismo

ciclo– No se puede utilizar un recurso común como el Bus interno para

dos transferencias distintas

• También: PC <- [PC] +1 es una suma– Usa la ALU– Puede necesitar micro-operaciones adicionales

Page 23: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 23

Secuencia de obtención optimizada

• t1: MAR <- PC

Z <- PC + 1

• t2: MDR <- [memoria]

PC <- Z

• t3: IR <- MDR

Page 24: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 24

Ciclo de obtención del dato

• Se examina IR

• Si la instrucción indica modo indirecto, se realiza el ciclo indirecto– Los N bits menos significativos del MDR se transfieren al MAR

– La unidad de control solicita una lectura de memoria

– El resultado (dirección del operando) se transfiere al MDR

Page 25: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 25

Ciclo indirecto

• MAR <- (IRdirección) - campo dirección de IR

• MDR <- (memoria)

• IRdirección <- (MDRdirección)

• MDR contiene una dirección

• IR está en el mismo estado que si no se hubiera usado direccionamiento indirecto

• (¿Qué dice esto sobre el tamaño de IR?)

Page 26: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 26

Flujo de datos (ciclo indirecto)

Page 27: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 27

Ciclo de Ejecución

• Puede tomar muchas formas

• Depende de la instrucción que está siendo ejecutada

• Puede incluir– Lectura/Escritura en memoria

– Entrada/Salida

– Transferencia entre registros

– Operaciones en la ALU

Page 28: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 28

Ciclo de interrupción• t1: MDR <-PC

• t2: MAR <- dirección de salvaguarda

• PC <- dirección de la rutina

• t3: memoria <- MBR

• Esto es un mínimo– Puede haber micro-operaciones adicionales para obtener

la dirección

– Guardar el contexto lo hace la rutina de manejo de interrupción, no las micro-operaciones

Page 29: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 29

Ciclo de ejecución (ADD)

• Diferente para cada instrucción

• ej. ADD R1,X – añade el contenido de la dirección X a R1, resultado en R1

• t1: MAR <- (IRdirección)

• t2: MDR <- (memoria)

• t3: R1 <- R1 + MDR

Page 30: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 30

Ciclo de ejecución (ISZ)• ISZ X - incrementa y salta si es cero

– t1: MAR <- (IRdirección)

– t2: MDR <- (memoria)– t3: MDR <- MDR + 1– t4: memoria <- (MDR)– if (MDR) == 0 then PC <- PC + 1

• Notas:– La comprobación y actuación puede implantarse como una

microoperación– Esta puede ejecutarse durante la misma unidad de tiempo en la

cual el valor actualizado de MBR se guarda en memoria

Page 31: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 31

Ciclo de ejecución (BSA)• BSA X – Salta y guarda la dirección

– La dirección de la instrucción que viene a continuación de la instrucción BSA, se guarda en la posición X

– La ejecución continua de X+1– t1: MAR <- (IRdirección)

– MDR <- (PC)– t2: PC <- (IRdirección)

– memoria <- (MDR)– t3: PC <- (PC) + 1

Page 32: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 32

Ejemplo de la ejecución de una instrucción

• Add (R3), R1

• R1 <- M[R3] + R1

1. Obtener la instrucción2. Obtener el Operando3. Realizar la operación4. Almacenar el resultado

Page 33: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 33

Activación de las señales de control

• Add (R3), R1t1: PCout, MARin, Read, Select4, Add, Zin

t2: Zout, PCin, Yin, WMFC

t3: MDRout, IRin

t4: R3out, MARin, Read

t5: R1out, Yin, WMFC

t6: MDRout, SelectY, Add, Zin

t7: Zout, R1in, End

obtencionejecucion

Page 34: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 34

Add (R3), R1 – estado t1

Bus de Memoria

Líneas deControl ALU

PC

MAR

MDR

Y

Z

Decodificador de Instrucciones y Lógica

de control

IR

R1

R2

R3

MUX

ALU

Direcciones

Datos

Constante 4

Select4

Carry-in

Señales de control

A B

PCout, MARin, Read, Select4, Add, Zin

PCout

MARin

READ

Zin

ADD

t1: MAR <- PC Z <- PC + Const READ memory

Page 35: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 35

Add (R3), R1 – estado t2

Bus de Memoria

Líneas deControl ALU

PC

MAR

MDR

Y

Z

Decodificador de Instrucciones y Lógica

de control

IR

R1

R2

R3

MUX

ALU

Direcciones

Datos

Constante

Select

Carry-in

Señales de control

A B

Zout, PCin, WMFCPCin

Zout

WMFC

t2: PC <- Z MDR <- M[MAR]

Page 36: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 36

Add (R3), R1 – estado t3

Bus de Memoria

Líneas deControl ALU

PC

MAR

MDR

Y

Z

Decodificador de Instrucciones y Lógica

de control

IR

R1

R2

R3

MUX

ALU

Direcciones

Datos

Constante

Select

Carry-in

Señales de control

A B

MDRout, IRin

MDRout IRin

Opcode Add

t3: IR <- MDR

Page 37: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 37

Add (R3), R1 – estado t4

Bus de Memoria

Líneas deControl ALU

PC

MAR

MDR

Y

Z

Decodificador de Instrucciones y Lógica

de control

RI

R1

R2

R3

MUX

ALU

Direcciones

Datos

Constante

Select

Carry-in

Señales de control

A B

R3out, MARin, Read

MARin

R3out

READ

t4: MAR <- R3 READ memory

Page 38: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 38

Add (R3), R1 – estado t5

Bus de Memoria

Líneas deControl ALU

PC

MAR

MDR

Y

Z

Decodificador de Instrucciones y Lógica

de control

RI

R1

R2

R3

MUX

ALU

Direcciones

Datos

Constante

Select

Carry-in

Señales de control

A B

R1out, Yin, WMFC

R1out

WMFC

Yin

t5: MDR <- M[MAR] Y <- R1

Page 39: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 39

Add (R3), R1 – estado t6

Bus de Memoria

Líneas deControl ALU

PC

MAR

MDR

Y

Z

Decodificador de Instrucciones y Lógica

de control

RI

R1

R2

R3

MUX

ALU

Direcciones

Datos

Constante

SelectY

Carry-in

Señales de control

A B

MDRout, SelectY, Add, Zin

MDRout

Zin

ADD

t6: Z <- MDR + Y

Page 40: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 40

Add (R3), R1 – estado t7

Bus de Memoria

Líneas deControl ALU

PC

MAR

MDR

Y

Z

Decodificador de Instrucciones y Lógica

de control

RI

R1

R2

R3

MUX

ALU

Direcciones

Datos

Constante

Select

Carry-in

Señales de control

A B

Zout, R1in, End

Zout

R1in

END

t7: R1 <- Z END instruction

Page 41: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 41

Organización de tres buses

Page 42: Organización y arquitectura de computadoras · 2013-03-10 · La Unidad de Control Arquitectura de Computadoras 2 El Concepto de Programa • Los sistemas alambrados son rígidos

La Unidad de Control Arquitectura de Computadoras 42

ADD R4, R5, R6