You are on page 1of 84

Arquitectura de Computadoras

.
Unidad Central de
Procesamiento
.

Unidad Central de
Procesamiento
Se encarga de ejecutar los programas almacenados

en la memoria, para lo cual, realiza repetitivamente


el siguiente proceso:

Lectura de la instruccin (fetch)


Decodificacin (interpretacin)
Lectura operandos (datos)
Ejecucin
Escritura del resultado
2

Arquitectura de Computadoras

Unidad Central de
Procesamiento
Est dividida a su vez en las siguientes unidades:

Unidad de proceso, compuesta por:

Unidad Aritmtico Lgica


Registros (almacn de datos a corto plazo)

Unidad de control

Arquitectura de Computadoras

Construccin del Camino


de Datos
La ruta de datos est compuesta por los elementos
de la CPU por donde fluye la informacin que
procesa el computador.

Una forma de implementar la ruta o camino de

datos es determinar los elementos necesarios para


ejecutar cada tipo de instruccin.

Arquitectura de Computadoras

Elementos de la Ruta de
Datos

para almacenar las instrucciones y los


Memorias
datos

Contador de programa (PC) que guarda la direccin


de la instruccin

Sumador para incrementar el PC, y que permite la


ejecucin secuencial de las instrucciones

Archivo de registros. Para las instrucciones de tipo


R, lw/sw y salto condicional

Unidad Aritmtico Lgica


Otros: extensin de signo, desplazamientos lgicos,
etc.

Arquitectura de Computadoras

Etapa de bsqueda y
decodificacin
Etapa comn en la ejecucin de todas las
instrucciones.

Pasos que se realizan

Leer la instuccin de memoria


Incremetar el contador de programa
Decodificar la instruccin

Arquitectura de Computadoras

Etapa de bsqueda y
decodificacin
Elementos necesarios

Unidad de Memoria de Instrucciones


Contador de programa
Sumador

Arquitectura de Computadoras

Etapa de bsqueda y
decodificacin
4
+

PC

Dir.Lectura
Memoria de
Instrucciones
Instruccin

Arquitectura de Computadoras

Instrucciones aritmticolgicas
Operaciones a realizar

Leer dos registros: rs y rt


Realizar operacin en la ALU
Almacenar resultado en registro rd.

Elementos necesarios

Banco de registros
Unidad Aritmtico Lgica (ALU)

Arquitectura de Computadoras

Banco de Registros
D.E.

RD
DS2

RF1

RF2

MULT.
4A1

RF2

Reg. 0

DS1

MULT.
4A1

RF1

DS1

DECOD. DECOD. DECOD.


2A4
2A4
2A4

RD

REGISTROS

D.E.

DS2

Reg. 1
Reg. 2
Reg. 3

10

Arquitectura de Computadoras

Instrucciones aritmticolgicas

RD
RF2

REGISTROS

D.E.

RF1

c.o.

rs

rt

rd

11

fn.

DS1

ALU

Ruta de datos tras


la lectura de la
instruccin

DS2

Operacin a
realizar

Arquitectura de Computadoras

Instrucciones de
transferencia de datos

Operaciones a realizar

Leer el registro fuente


Calcular la direccin efectiva del dato
Leer en memoria y almacenar en registro destino o leer
de registro y almacenar en MC.

Elementos necesarios

Banco de registros
ALU
Unidad de extensin de signo
Memoria de datos
12

Arquitectura de Computadoras

Instrucciones de
transferencia de datos
Clculo de la direccin efectiva
c.o.

rf

rd

desplazamiento
16 bits

1111 1111 1111 1111 1001 1100 0000 1010


Contenido del registro rf

+
Direccin de acceso a memoria

13

Arquitectura de Computadoras

Instrucciones de
transferencia de datos
c.o.

rf

rd

desplazamiento

Carga de datos en
un registro.
Leer

Extensin
signo
Direccin

RF2
RF1

DS1

Memoria
de Datos

ALU

RD

REGISTROS

D.E.

Dato

DS2
Suma

14

Arquitectura de Computadoras

Instrucciones de
transferencia de datos
c.o.

rf

rd

desplazamiento

Almacenamiento
de datos en MC.
Escribir

Extensin
signo
Direccin

RF2
RF1

DS1

Memoria
de Datos

ALU

RD

REGISTROS

D.E.

Dato

DS2
Suma

15

Arquitectura de Computadoras

Instrucciones de salto
condicional
Operaciones a realizar

Leer los registros


Realizar la comparacin
Calcular la direccin de salto
Realizar la modificacin del PC si la condicin es
cierta

16

Arquitectura de Computadoras

Instrucciones de salto
condicional
Elementos necesarios

Banco de registros
ALU
Clculo de direccin de salto

Sumador
Extensin de signo y desplazamiento de 2 bits

17

Arquitectura de Computadoras

Instrucciones de salto
condicional
Clculo de direccin de salto
c.o.

rf

rd

desplazamiento
16 bits

1111 1111 1111 1111 1001 1100 0000 1010

00

1111 1111 1111 1110 0111 0000 0010 1000


PC actualizado (PC+4)

+
Direccin de salto

18

Arquitectura de Computadoras

Instrucciones de salto
condicional
rf

rd

Extensin
signo

RF2

ALU

<<2

DS1

+4
DS2

multiplexor

cero

ALU

RF1

REGISTROS

D.E.
RD

desplazamiento

+4

c.o.

PC

19

Arquitectura de Computadoras

Instrucciones de salto
incondicional
Operaciones a realizar

Calcular la direccin a cargar en el PC

Elementos necesarios

PC
Sumador +4
Unidad de desplazamiento de 2 bits.

20

Arquitectura de Computadoras

Instrucciones de salto
incondicional
Calcular la direccin a cargar en el PC
c.o.

direccin
00

26 bits

PC actualizado (PC + 4)
0110 1111 .. .. .. .. .. .. .. .. .. .. .. .. .

4 bits

26 bits

00

Nuevo valor del PC

21

Arquitectura de Computadoras

Instrucciones de salto
incondicional
c.o.

direccin
26 bits

4 bits

28 bits

<<2

+4
PC

+4
4 MSB

22

Arquitectura de Computadoras

Ruta de Datos Completa


Los recursos que se utilicen ms de una vez durante
la ejecucin de una instruccin debern duplicarse.

Cuando dos o ms instrucciones requieren un


mismo recurso, ste deber compartirse
(MULTIPLEXACIN)

23

Arquitectura de Computadoras

Ruta de Datos Completa


<<2
PC[31-28]

[25-0]

Suma

M
U
X

Suma

[20-16]

RF2
0

1 U

[15-11]

RD

Datos
DS1

DS2

0
1M

U
X

PC+4

Cero

ALU

RF1

[25-21]

Registros

2U

Datos

Instruccin

Direccin

PC

Memoria Instrucciones

Direccin

Memoria
Datos

Extensin
signo

[15-0]

<<2

24

Arquitectura de Computadoras

Ruta de Datos Completa


<<2
PC[31-28]

[25-0]

Suma

M
U
X

Suma

[20-16]

RF2
0M
1 U

[15-11]

RD

Datos
DS1

DS2

0
1M

U
X

PC+4

Cero

ALU

RF1

[25-21]

Registros

2U

Datos

Instruccin

Direccin

PC

Memoria Instrucciones

Direccin

Memoria
Datos

Extensin
signo

[15-0]

<<2

25

Arquitectura de Computadoras

Ruta de Datos Completa


<<2
PC[31-28]

[25-0]

Suma

M
U
X

Suma

[20-16]

RF2
0

[15-11]

M
1 U
X

RD

Datos
DS1

DS2

DS1
egistros

Cero

ALU

RF1

[25-21]

Registros

2U

Datos

Instruccin

Direccin

PC

Memoria Instrucciones

0
1M

U
X

Direccin

Memoria
Datos

RF2
Extensin
R DS2
RD signo

PC+4
[15-0]

<<2

26

Arquitectura de Computadoras

Ruta de Datos Completa


<<2
PC[31-28]

[25-0]

Suma

M
U
X

Suma

[20-16]

RF2
0

[15-11]

M
1 U
X

RD

Datos
DS1

DS2

DS1
egistros

Cero

ALU

RF1

[25-21]

Registros

2U

Datos

Instruccin

Direccin

PC

Memoria Instrucciones

0
1M

U
X

Direccin

Memoria
Datos

RF2
Extensin
R DS2
RD signo

PC+4
[15-0]

<<2

27

Arquitectura de Computadoras

Ruta de Datos Completa


<<2
PC[31-28]

[25-0]

Suma

M
U
X

Suma

[20-16]

RF2
0

[15-11]

M
1 U
X

RD

Datos
DS1

DS2

DS1
egistros

Cero

ALU

RF1

[25-21]

Registros

2U

Datos

Instruccin

Direccin

PC

Memoria Instrucciones

0
1M

U
X

Direccin

Memoria
Datos

RF2
Extensin
R DS2
RD signo

PC+4
[15-0]

<<2

28

Arquitectura de Computadoras

Ruta de Datos Completa


<<2
PC[31-28]

MemaReg

[25-0]

Suma

M
U
X

Suma

FuentePC

[20-16]

RF2
0 M
1

[15-11]

U
X

RD

Datos
DS1

DS2

Cero

Direccin

Memoria
Datos

1M

U
X

RegDestino
LeerMem

PC+4

Extensin
signo

[15-0]

<<2

EscribirMem

ALU

RF1

[25-21]

Registros

2U

Datos

Instruccin

Direccin

PC

Memoria Instrucciones

EscribirReg

OpALU
FuenteALU

29

Arquitectura de Computadoras

Unidad de Control
Elemento encargado de generar las seales que

dirigen el funcionamiento de los elementos de la


ruta de datos.
FuentePC
MemaReg

Instruccin
(slo algunos bits)

ControlALU

Unidad de Control

RegDestino
FuenteALU
EscribirReg
LeerMem
EscribirMem

30

Arquitectura de Computadoras

Unidad de Control
FuentePC

2 seales que controlan el multiplexor de entrada al PC.


Seleccionan el nuevo PC de:

Antenior + 4
Calculado de un salto condicional
Calculado de un salto incondicional

31

Arquitectura de Computadoras

Unidad de Control
MemaReg

Una seal que controla el multiplexor de la entrada


datos del banco de registros.
Discrimina si los datos provienen de la memoria de
datos o de la salida de la ALU.

32

Arquitectura de Computadoras

Unidad de Control
ControlALU

Tres seales que indican la operacin a realizar en la


ALU.

RegDestino

Seal que controla qu parte de la instruccin


determina el registro sobre el que se va a escribir, los
bits [15...11] o los bits [20...16].

33

Arquitectura de Computadoras

Unidad de Control
FuenteALU

Seal que controla el multiplexor de una de las entradas


de la ALU.
Determina si el operando es un dato inmediato o el
contenido de un registro.

EscribirReg

Indica si en la operacin se va a escribir algn registro


o no.

34

Arquitectura de Computadoras

Unidad de Control

LeerMem y EscribirMem

Indican el tipo de operacin sobre la memoria de datos,


si es que se hace alguna.

35

Arquitectura de Computadoras

Control de la ALU
El control de la ALU se realiza mediante las 3
seales ControlALU

36

Arquitectura de Computadoras

Control de la ALU
Las seales de ControlALU se generan a partir del
cdigo de operacin y del tipo de funcin.

Para instrucciones aritmtico-lgicas:

37

Arquitectura de Computadoras

Control de la ALU
Para instrucciones de carga y almacenamiento:

Para instrucciones de carga salto condicional:

38

Arquitectura de Computadoras

Control de la ALU
Circuito bastante complejo.
Se generan varios niveles de decodifacin para:

Simplificar el diseo
Hacerlo ms eficiente
FN
ControlALU

OP
Unidad de Control

Unidad de Control
ALU

OpALU

39

Arquitectura de Computadoras

Control de la ALU

40

Arquitectura de Computadoras

Control de la ALU

41

Arquitectura de Computadoras

Control de la ALU

42

Arquitectura de Computadoras

Ruta de datos multiciclo

Ruta de datos monociclo: La frecuencia de reloj se


debe seleccionar para poder ejecutar la instuccin
de mayor coste temporal.

Se retrasa la ejecucin del resto de operaciones.

43

Arquitectura de Computadoras

Ruta de datos multiciclo


Dividiendo la ejecucin de una instruccin en
varias fases independientes, se mejora el
rendimiento del procesador.

Cada instruccin solo ejecuta los ciclos que requiere.


La frecuencia de reloj es mayor.

44

Arquitectura de Computadoras

Ruta de datos multiciclo


qu se mejora cuando?:

Se descompone la ejecucin del tipo de instruccin ms


largo en 5 fases del mismo coste temporal
Un 33% de las operaciones requieren solo de 2 fases,
otro 33% requieren solo de 3 fases y el 33% restante
requieren de las 5 fases.

45

Arquitectura de Computadoras

Ruta de datos multiciclo


La frecuencia de reloj es 5 veces mayor.
El tiempo medio para ejecutar una instruccin,
respecto a la unidad monociclo es:
1/5*( 0,3*2+ 0,3*3+ 0,3*5) =
1/5 * (0,6 + 0,9 + 1,5 ) = 0,6

Por trmino medio una instruccin cuesta 0,6 veces


lo que costaba en la unidad monociclo

TENEMOS UNA UNIDAD QUE VA 1,6 VECES


MS RPIDA

46

Arquitectura de Computadoras

Ruta de datos multiciclo


Elementos de estado para almacenar informacin
utilizada en diferentes ciclos de reloj

Registro de instruccin ( IR )
Registro de datos ( MDR )
Registros de datos de ALU ( A y B )
Registro de resultado de ALU ( R )

47

Arquitectura de Computadoras

Ruta de datos multiciclo


Unificacin de la memoria de instrucciones y

memoria de datos en una nica unidad de memoria.

Multiplexor para seleccionar la procedecencia de la


direccin a acceder (PC o R )

de escritura necesaria en los registros (PC e


Seal
IR)

48

Arquitectura de Computadoras

Ruta de datos multiciclo


Utilizacin de una nica ALU

Operaciones aritmtico-lgicas
Clculo de la direccin de la siguiente instruccin a
ejecutar

PC+4
Resultado de un salto condicional
Resultado de un salto incondicional

49

Arquitectura de Computadoras

mux

Ruta de datos multiciclo


<<2

MDR

DS1

Cero

ALU

mux

mux

mux

50

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 1: Carga de
Instruccin
<<2

MDR

DS1

Cero

ALU

mux

mux

mux

51

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 2: Decodificacin y
bsqueda de registros
<<2

MDR

DS1

Cero

ALU

mux

mux

mux

52

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

Ruta de datos multiciclo


Las dos fases anteriores son comunes a todas las
instrucciones.

En la segunda de ellas se realizan clculos por

adelantado, que dependiendo de la instruccin que


se decodifique podrn se aprovechados o no.

53

Arquitectura de Computadoras

mux

Fase 3: Clculo direccin


acceso memoria
<<2

MDR

DS1

Cero

ALU

mux

mux

mux

54

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 3: Operacin
aritmtico lgica
<<2

MDR

DS1

Cero

ALU

mux

mux

mux

55

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 3: Salto condicional


<<2

MDR

DS1

Cero

ALU

mux

mux

mux

56

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 3: Salto incondicional


<<2

MDR

DS1

Cero

ALU

mux

mux

mux

57

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 4:Almacenamiento de
resultado
<<2

MDR

DS1

Cero

ALU

mux

mux

mux

58

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 4: Acceso a memoria


(almacenamiento)
<<2

MDR

DS1

Cero

ALU

mux

mux

mux

59

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 4: Acceso a memoria


(carga)
<<2

MDR

DS1

Cero

ALU

mux

mux

mux

60

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

mux

Fase 5: Carga del dato en


registro
<<2

MDR

DS1

Cero

ALU

mux

mux

mux

61

Registros

IR

RF2

DS2

<<2

RD

RF1

Salida

Entrada

Memoria

mux

Direccin

PC

mux

Extensin
signo

Datos

Arquitectura de Computadoras

Seales de control

Para controlar el flujo de informacin entre los

diferentes elementos de la ruta de datos se


necesitan, adems de las seales de control que ya
se tenan en la ruta monociclo, nuevas seales de
control

62

Arquitectura de Computadoras

<<2

ALU

mux

PC

mux

<<2

Registros

mux

IR
MDR

Memoria

mux

mux

Ext. Sig.

PC

mux

mux

Seales de control

FuentePC

63

Arquitectura de Computadoras

mux

Seales de control
RD
DS2
RF2
RF1

Registros

ALU

mux mux

<<2

A B

Registros

mux
mux

IR
MDR

Memoria

mux

PC

Ext. Sig.

mux

<<2

DS1

Datos

RegDestino

64

Arquitectura de Computadoras

mux

Seales de control
<<2
<<2

ALU

ALU

mux

Cero

mux

mux

A B

Registros

mux
mux

IR
MDR

Memoria

mux

PC

Ext. Sig.

SelALU-A

65

Arquitectura de Computadoras

mux

Seales de control
<<2

mux

Cero

ALU

ALU

mux mux

<<2

Registros

mux
mux

IR
MDR

Memoria

mux

PC

Ext. Sig.

SelALU-B

66

Arquitectura de Computadoras

mux

Seales de control

Entrada

Salida

mux

ALU

mux mux

A B

Registros

mux
mux

IR
MDR

Memoria

mux

PC

<<2

Direccin

Ext. Sig.

Memoria

<<2

IoD

67

Arquitectura de Computadoras

Seales de control

68

Arquitectura de Computadoras

Unidad de Control

Implementacin de un
autmata de estados.

Unidad de
control

Microprogramada

Salidas

Cableada

Entradas

Cada instruccin
define el conjunto de
seales del camino de
datos que deben estar
activas en un estado
determinado.

Campos cdigo y
operacin del IR
Registro de estado

69

Arquitectura de Computadoras

multiciclo

70

Arquitectura de Computadoras

Excepciones e
interrupciones
Suceso inesperado que cambia el flujo normal de
ejecucin de una instruccin

Las excepciones se producen dentro del procesador.


(Desbordamiento aritmtico)

Las interrupciones se producen fuera del


procesador. (E/S)

71

Arquitectura de Computadoras

Excepciones e
interrupciones

Ejemplos:

Acceso a memoria desalineado


Fallo de pgina
Violacin de proteccin
Peticin de dispositivo de E/S
Excepcin software
Inicializacin
Instruccin no definida
Excepcin aritmtica
72

Arquitectura de Computadoras

Procesamiento de una
excepcin

73

Arquitectura de Computadoras

Procesamiento de una
excepcin

74

Arquitectura de Computadoras

Procesamiento de una
excepcin

75

Arquitectura de Computadoras

Procesamiento de una
excepcin

76

Arquitectura de Computadoras

Tratamiento de excepciones.
Modificacin en la ruta de datos

Se van a considerar nicamente dos excepciones:

Ejecucin de instruccin no definida


Desbordamiento aritmtico

Las operaciones a realizar cuando se detecta una


excepcin son:

Guardar la direccin de la instruccin en la que se ha


generado la excepcin.
Transferir el control al sistema operativo.
77

Arquitectura de Computadoras

Tratamiento de excepciones.
Modificacin en la ruta de datos

Registro EPC (Exception Program Counter). Se

utilizar para guardar la direccin de la instruccin


en la que se ha producido la excepcin.

Para el tratamiento de la excepcin por parte del

sistema operativo se necesita saber el motivo que la


ha causado.

Utilizacin del Registro de Causa.


Utilizacin de interrupciones vectorizadas.

78

Arquitectura de Computadoras

Tratamiento de excepciones.
Modificacin en la ruta de datos

Registro de Causa.

Se almacena el motivo por el que se ha producido la


excepcin.
La rutina de gestin de las excepciones es comn a
todas ellas.
En dicha rutina se accede al Registro de Causa para
determinar las operaciones a realizar.

79

Arquitectura de Computadoras

Tratamiento de excepciones.
Modificacin en la ruta de datos

Interrupciones vectorizadas.

La direccin a la que se transfiere el control viene


determinada por la causa de la excepcin.
Existe una rutina especfica para cada una de las causas
de excepcin.

80

Arquitectura de Computadoras

Tratamiento de excepciones.
Modificacin en la ruta de datos

Nuevos elementos:

EPC
RC (Registro de Causa)

Seales de control de escritura sobre dichos


registros:

Escr_EPC
Escr_RC

81

Arquitectura de Computadoras

Tratamiento de excepciones.
Modificacin en la ruta de datos

DS1

Datos

EPC
Cero

ALU

mux mux

mux

MDR

DS2

Estado

<<2

mux
IR

RF2
RF1

Salida

Memoria

mux

Direccin Entrada

PC

RD

Registros

Extensin
signo

DIR. RSE

mux

<<2

Unidad
Control
ALU

DA

RC

mux

IND

UNIDAD DE CONTROL

82

Arquitectura de Computadoras

Tratamiento de excepciones.
Modificacin en la ruta de datos
Operaciones a realizar en la Fase 3 ante una
excepcin de IND (Instruccin No Definida)

Almacenar en EPC el valor PC - 4


Almacenar en RC el cdigo de excepcin
Modificar el Registro de Estado
Cargar en PC la direccin de salto de la rutina de
servicio de excepcin

Estas mismas operaciones se realizarn en la Fase 4


de una operacin aritmtica si se detecta una
excepcin por desbordamiento aritmtico. En este
caso en RC se almacena el cdigo DA

83

Arquitectura de Computadoras

Tratamiento de excepciones.
Modificacin en la ruta de datos

Leer el registro RC.


Ejecutar subrutina en funcin de la excepcin de la
que se trate

En dicha subrutina se hace el tratamiento real de la


excepcin

Retornar de la excepcin

En funcin del EPC


Modificar el Registro de Estado
84

Arquitectura de Computadoras

You might also like