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

Post on 06-May-2020

9 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

La Unidad de Control Arquitectura de Computadoras 1

Organización y arquitectura de computadoras

Tema 8

La Unidad de Control

Modelo RTL, Microoperaciones

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

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

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

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

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

La Unidad de Control Arquitectura de Computadoras 7

Trayectoria de datos y Unidad de Control

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

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

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

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

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

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

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

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

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

La Unidad de Control Arquitectura de Computadoras 17

Lógica de control para un bit del registro Ri

La Unidad de Control Arquitectura de Computadoras 18

Temporización de una transferencia entre registros

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

La Unidad de Control Arquitectura de Computadoras 20

Flujo de Datos (Obtención)

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)

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

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

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

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?)

La Unidad de Control Arquitectura de Computadoras 26

Flujo de datos (ciclo indirecto)

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

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

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

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

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

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

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

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

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]

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

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

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

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

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

La Unidad de Control Arquitectura de Computadoras 41

Organización de tres buses

La Unidad de Control Arquitectura de Computadoras 42

ADD R4, R5, R6

top related