EC-4: Introducción al funcionamiento del procesador (v3d)

88
Tema 4 (I) El procesador Estructura de Computadores Grado en Ingeniería Informática Grupo ARCOS Universidad Carlos III de Madrid

Transcript of EC-4: Introducción al funcionamiento del procesador (v3d)

Page 1: EC-4: Introducción al funcionamiento del procesador (v3d)

Tema 4 (I)

El procesador

Estructura de Computadores

Grado en Ingeniería Informática

Grupo ARCOS

Universidad Carlos III de Madrid

Page 2: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Contenidos

2

1. Introducción

1. Motivación y objetivos

2. Funciones básicas de la unidad de control

3. Señales de control y operaciones elementales

2. Computador elemental:

1. Estructura del computador elemental

2. Señales de control

3. Operaciones elementales

ARCOS @ UC3M

Page 3: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

A recordar…

ARCOS @ UC3M3

1. Estudiar la teoría asociada.

� Estudiar el material asociado a la bibliografía: las transparencias solo no son suficiente.

2. Repasar lo visto en clase.

� Realizar el cuaderno de prácticas progresivamente.

3. Ejercitar las competencias.

� Realizar las prácticas progresivamente.

� Realizar todos los ejercicios posibles.

Page 4: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Contenidos

4

1. Introducción

1. Motivación y objetivos

2. Funciones básicas de la unidad de control

3. Señales de control y operaciones elementales

2. Computador elemental:

1. Estructura del computador elemental

2. Señales de control

3. Operaciones elementales

ARCOS @ UC3M

Page 5: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Motivación

ARCOS @ UC3M5

• En el tema 3 se estudia

qué hace:

• Instrucciones

• Direccionamiento

• Etc.

• En el tema 4 se estudia

cómo lo hace:

• Funcionamiento interno

• Diseño de la U.C.S. E/S

ALU

BUS

B.R.

CPU

U.C.

M.P.

MARMAR

MDRMDR

Page 6: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

S. E/S

ALU

BUS

B.R.

CPUM.P.

MARMAR

MDRMDR

Motivación

ARCOS @ UC3M6

• La Unidad de Control es el director de orquesta:

• coordina el funcionamiento del resto de los elementos

• El estudio de la Unidad de Control es importante

U.C.

Page 7: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Unidad de control

ARCOS @ UC3M7

� Entrada:

� Instrucción en ejecución

� Registro de estado

� Contador de programa

� Salida:

� Señales de control y

estado externas a la UCP

Señales de control

PCPC

RERE

RIRI

Unidad de

Control

Reloj

Ciclo de reloj

Page 8: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Objetivos

ARCOS @ UC3M8

� Conocer las señales de control típicas en un computador que genera la U.C.

Señales de control

PCPC

RERE

RIRI

Unidad de

Control

Reloj

¿?

Page 9: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Objetivos

ARCOS @ UC3M9

� Conocer las señales de control típicas en un computador que genera la U.C.

� Conocer la forma de:

� Especificar

� Diseñar

La unidad de control

Señales de control

PCPC

RERE

RIRI

Unidad de

Control

Reloj

¿?

Page 10: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Contenidos

10

1. Introducción

1. Motivación y objetivos

2. Funciones básicas de la unidad de control

3. Señales de control y operaciones elementales

2. Computador elemental:

1. Estructura del computador elemental

2. Señales de control

3. Operaciones elementales

ARCOS @ UC3M

Page 11: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (1)

ARCOS @ UC3M11

• Leer de memoria principal la instrucción apuntada por el PC

• Incrementar PC

• Decodificar instrucción

• Hacer que se ejecute la instrucción

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

Page 12: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (1)

ARCOS @ UC3M12

• Leer de memoria principal la instrucción apuntada por el PC

• Incrementar PC

• Decodificar instrucción

• Hacer que se ejecute la instrucción

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

PCPC

IRIR

Page 13: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (1)

ARCOS @ UC3M13

• Leer de memoria principal la instrucción apuntada por el PC

• Incrementar PC

• Decodificar instrucción

• Hacer que se ejecute la instrucción

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

+’1’

Page 14: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (1)

ARCOS @ UC3M14

• Leer de memoria principal la instrucción apuntada por el PC

• Incrementar PC

• Decodificar instrucción

• Hacer que se ejecute la instrucción

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

Page 15: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (1)

ARCOS @ UC3M15

• Leer de memoria principal la instrucción apuntada por el PC

• Incrementar PC

• Decodificar instrucción

• Hacer que se ejecute la instrucción

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

Page 16: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (1)

ARCOS @ UC3M16

• Leer de memoria principal la instrucción apuntada por el PC

• Incrementar PC

• Decodificar instrucción

• Hacer que se ejecute la instrucción

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

Page 17: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (2)

ARCOS @ UC3M17

� Además:

• Resolver situaciones anómalas

• Atender las interrupciones

• Controlar la comunicación con los periféricos

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

Page 18: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (2)

ARCOS @ UC3M18

� Además:

• Resolver situaciones anómalas

• Atender las interrupciones

• Controlar la comunicación con los periféricos

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

Page 19: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (2)

ARCOS @ UC3M19

� Además:

• Resolver situaciones anómalas

• Atender las interrupciones

• Controlar la comunicación con los periféricos

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

Page 20: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Funciones de la unidad de control (2)

ARCOS @ UC3M20

� Además:

• Resolver situaciones anómalas

• Atenderlas interrupciones

• Controlar la comunicación con los periféricos

S. E/S

ALU

BUS

B.R.PCPC

CPU

U.C.

IRIR

M.P.

MARMAR

MDRMDR

Page 21: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Contenidos

21

1. Introducción

1. Motivación y objetivos

2. Funciones básicas de la unidad de control

3. Señales de control y operaciones elementales

2. Computador elemental:

1. Estructura del computador elemental

2. Señales de control

3. Operaciones elementales

ARCOS @ UC3M

Page 22: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Registro y bus

ARCOS @ UC3M22

� Registro

� Permite almacenar varios bits

� Bus

� Permite transmitir varios bits entre dos elementos conectados a él

N-1 0

010101010101

Page 23: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Señales: triestado de salida

ARCOS @ UC3M23

� Triestado

� Se coloca entre los elementos y el bus

� Permite mandar al bus unos datos

� IMPORTANTE

� No se puede activar dos o más triestados al mismo bus y al mismo tiempo

N-1 0

Ta

010101010101

tiempo

CLK

Ta

Page 24: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Señales: carga en registro

ARCOS @ UC3M24

� Carga en registro

� Permite almacenar en el flanco de reloj el valor que esté a la entrada

� Durante el nivel del ciclo el registro mantiene el valor antiguo

� Al final del ciclo es cuando se actualiza

� IMPORTANTE

� Por tanto, en el siguiente ciclo se verá a la salida el nuevo valor

N-1 0

Ca010101010101

tiempo

CLK

Ca

Page 25: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Secuencia de señales

ARCOS @ UC3M25

N-1 0

Ca

Ta

010101010101

N-1 0

Cb

Tb

11111111111111111111111111

1111111111111

tiempo

CLK

Ca

Tb

Page 26: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo de

operación elemental de transferencia

ARCOS @ UC3M26

� Operación elemental de transferencia:� Elemento de

almacenamiento origen� Elemento de

almacenamiento destino� Se establece un camino� A <- B

� IMPORTANTE

� Establecer el camino entre origen y destino en un mismo ciclo

� En un mismo ciclo NO:

� se puede atravesar un registro

� se pasará por un bus 2 veces

tiempo

CLK

Ca

Tb

N-1 0

Ta

010101010101

N-1 0

111111111111 CbCa

Tb

xx: A ← B [Tb, Ca]

Page 27: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Secuencia de señales

ARCOS @ UC3M27

N-1 0

000011

N-1 0

000010 CbN-1 0

000001 CcN-1 0

000000 Cd

Mux. 1 Mux. 2

+

Ca

SC1 SC2A B C D

000010

000010

tiempo

CLK

Ca

SC1

SC2sc2=d

sc1=b

Page 28: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo de

operación elemental de procesamiento

ARCOS @ UC3M28

� Operación elemental de procesamiento:� Elemento(s) de origen� Elemento destino� Operación de transformación en

el camino� A <- B + C

� IMPORTANTE

� Establecer el camino entre origen y destino en un mismo ciclo

� En un mismo ciclo NO:

� se puede atravesar un registro

� se pasará por un bus 2 veces

yy: A ← B+C [SC1=b,SC2=d, Ca]

N-1 0

101010

N-1 0

101010 Cb

N-1 0

101010 Cc

N-1 0

101010 Cd

Mux. 1 Mux. 2

+

Ca

SC1 SC2

tiempo

CLK

Ca

SC1

SC2

sc2=d

sc1=b

Page 29: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Operaciones elementales

ARCOS @ UC3M29

Clasificación de operaciones elementales:

a) Operaciones de transferencia:� Elemento de almacenamiento origen� Elemento de almacenamiento destino� Se establece un camino

b) Operaciones de proceso:� Elemento/s origen� Elemento destino� Operación que transforma

la información en su camino

xx: A ← B

yy: A ← ϕ(B)

Page 30: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Contenidos

30

1. Introducción

1. Motivación y objetivos

2. Funciones básicas de la unidad de control

3. Señales de control y operaciones elementales

2. Computador elemental:

1. Estructura del computador elemental

2. Señales de control

3. Operaciones elementales

ARCOS @ UC3M

Page 31: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Estructura de un computador elemental

ARCOS @ UC3M31

Address BusData Bus

Control Bus

A31-A0 D31-D0 R W IOR

V7-V0D31-D0

BE3-BE0

I/O

IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW

Display

IOSR IOCR IODR KBDR

INTA

KBSR DDR DSR

IOW INT MRdy IORdy

Keyboard

A31-A0

MRdy ADDR DATA R WBE

Processor

Memory

Page 32: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Estructura de un computador elemental

ARCOS @ UC3M32

Memory

Address BusData Bus

Control Bus

ALU

RegisterFile

MAR

IR

SR

0 1

MBRC0

C1

Ta

Td

T1

RARBRELE

T9 T10

AB

E

PCC2

Control Unit+4

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z I U

SelP

SELEC 5

Offset

Control Signals

Bytes SelectorBW C3

C4 C5

C6

C7

T2 T3

T4 T5 T6 T7 T8

2

2MA MB

M1 M2

4

Internal Bus

5

5

5

Processor

A31-A0 D31-D0 R W IOR

V7-V0D31-D0

BE3-BE0

SE

22

0 1MUX M7

SELEC11 10 01

CLK

I/O

IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW

DisplayIOSR IOCR IODR KBDR

INTA

KBSR DDR DSR

IOW INT MRdy IORdy

Keyboard

A31-A0

MRdy ADDR DATA R WBE

Size5

MUX0 1

MUX

A1A0SEW

4

Page 33: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Estructura de un computador elemental

ARCOS @ UC3M33

Memory

Address BusData Bus

Control Bus

ALU

RegisterFile

MAR

IR

SR

0 1

MBRC0

C1

Ta

Td

T1

RARBRELE

T9 T10

AB

E

PCC2

Control Unit+4

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z I U

SelP

SELEC 5

Offset

Control Signals

Bytes SelectorBW C3

C4 C5

C6

C7

T2 T3

T4 T5 T6 T7 T8

2

2MA MB

M1 M2

4

Internal Bus

5

5

5

Processor

A31-A0 D31-D0 R W IOR

V7-V0D31-D0

BE3-BE0

SE

22

0 1MUX M7

SELEC11 10 01

CLK

I/O

IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW

DisplayIOSR IOCR IODR KBDR

INTA

KBSR DDR DSR

IOW INT MRdy IORdy

Keyboard

A31-A0

MRdy ADDR DATA R WBE

Size5

MUX0 1

MUX

A1A0SEW

4

Banco de registros yregistros auxiliares (RT1 y RT2)

Page 34: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Señales de control

ARCOS @ UC3M34

Nomenclatura: Nomenclatura:

• Ry -> Identificador de registro parael punto y

• Mx -> Selección en multiplexor• Tx -> Señal de activación triestado• Cx -> Señal de carga de registro

� Banco de registros y registros RT1 y RT2

� RA – salida de registro RA a A

� RB – salida de registro RB a B

� RE – salida de registro RE a E

� LE – activa la escritura para RE

� T9 – copia de A al bus interno

� T10 – copia de B al bus interno

� C4 – del bus interno al RT1

� T4 – salida de RT1 al bus interno

� C5 – del bus interno al RT2

� T5 – salida de RT2 al bus interno

RegisterFile

RARBRELE

T9 T10

AB

E

RT1 RT2C4 C5

T4 T5

5

5

5

Internal Bus

Page 35: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en registros

ARCOS @ UC3M35

� SWAP R1 R2

RegisterFile

RARBRELE

T9 T10

AB

E

RT1 RT2C4 C5

T4 T5

5

5

5

Internal Bus

Page 36: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en registros

ARCOS @ UC3M36

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

RegisterFile

RARBRELE

T9 T10

AB

E

RT1 RT2C4 C5

T4 T5

5

5

5

Internal Bus

Page 37: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en registros

ARCOS @ UC3M37

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

RegisterFile

RARBRELE

T9 T10

AB

E

RT1 RT2C4 C5

T4 T5

5

5

5

Internal Bus

Page 38: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en registros

ARCOS @ UC3M38

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

RegisterFile

RARBRELE

T9 T10

AB

E

RT1 RT2C4 C5

T4 T5

5

5

5

Internal Bus

Page 39: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en registros

ARCOS @ UC3M39

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

RegisterFile

RARBRELE

T9 T10

AB

E

RT1 RT2C4 C5

T4 T5

5

5

5

Internal Bus

Page 40: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Estructura de un computador elemental

ARCOS @ UC3M40

Memory

Address BusData Bus

Control Bus

ALU

RegisterFile

MAR

IR

SR

0 1

MBRC0

C1

Ta

Td

T1

RARBRELE

T9 T10

AB

E

PCC2

Control Unit+4

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z I U

SelP

SELEC 5

Offset

Control Signals

Bytes SelectorBW C3

C4 C5

C6

C7

T2 T3

T4 T5 T6 T7 T8

2

2MA MB

M1 M2

4

Internal Bus

5

5

5

Processor

A31-A0 D31-D0 R W IOR

V7-V0D31-D0

BE3-BE0

SE

22

0 1MUX M7

SELEC11 10 01

CLK

I/O

IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW

DisplayIOSR IOCR IODR KBDR

INTA

KBSR DDR DSR

IOW INT MRdy IORdy

Keyboard

A31-A0

MRdy ADDR DATA R WBE

Size5

MUX0 1

MUX

A1A0SEW

4

Unidad Aritmetico-Lógica (ALU)

Page 41: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Señales de control

ARCOS @ UC3M41

� ALU

� MA – selección de operando A

� MB – selección de operando B

� Cop – código de operación

ALU

AB

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

CO (C03-C00) Operación

0000 A and B

0001 A or B

0010 not (A)

0011 A xor B

0100 Shift Right Logical (A) B= number of bits to shift

0101 Shift Right Arithmetic( A)B= number of bits to shift

0110 Shift left (A)B= number of bits to shift

0111 Rotate Right (A)B= number of bits to rotate

1000 Rotate Left (A)B= number of bits to rotate

1001 A + B

1010 A - B

1100 A * B (with overflow)

1101 A / B (integer division)

1110 A % B (integer division)

1111 LUI (A)

Page 42: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Señales de control

ARCOS @ UC3M42

ALU

AB

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

0000000000000000

31 16 15 0

31 16 15 0

LUI

CO (C03-C00) Operación

0000 A and B

0001 A or B

0010 not (A)

0011 A xor B

0100 Shift Right Logical (A) B= number of bits to shift

0101 Shift Right Arithmetic( A)B= number of bits to shift

0110 Shift left (A)B= number of bits to shift

0111 Rotate Right (A)B= number of bits to rotate

1000 Rotate Left (A)B= number of bits to rotate

1001 A + B

1010 A - B

1100 A * B (with overflow)

1101 A / B (integer division)

1110 A % B (integer division)

1111 LUI (A)

Page 43: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Señales de control

ARCOS @ UC3M43

ALU

AB

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

CO (C03-C00) Operación

0000 A and B

0001 A or B

0010 not (A)

0011 A xor B

0100 Shift Right Logical (A) B= number of bits to shift

0101 Shift Right Arithmetic( A)B= number of bits to shift

0110 Shift left (A)B= number of bits to shift

0111 Rotate Right (A)B= number of bits to rotate

1000 Rotate Left (A)B= number of bits to rotate

1001 A + B

1010 A - B

1100 A * B (with overflow)

1101 A / B (integer division)

1110 A % B (integer division)

1111 LUI (A)

Resultado O N Z

Resultado positivo (0 se considera +) 0 0 0

Resultado == 0 0 0 1

Resultado negativo 0 1 0

Desbordamiento de la operación 1 0 0

División por cero 1 0 1

Page 44: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en ALU

ARCOS @ UC3M44

� ADD $t3 $t1 $t2

O. Elemental Señales

$t3 � $t1 + $t2 RA=$t1, RB=$t2, MA=0, MB=0, cod.OP=+, T6, RE=$t3, LE=1

ALU

RegisterFile

RARBRELE

T9 T10

AB

E

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

5

5

5

Page 45: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en ALU

ARCOS @ UC3M45

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

ALU

RegisterFile

RARBRELE

T9 T10

AB

E

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

5

5

5

� SWAP R1, R2 sin Rtmp

Page 46: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en ALU

ARCOS @ UC3M46

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

ALU

RegisterFile

RARBRELE

T9 T10

AB

E

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

5

5

5

� SWAP R1, R2 sin Rtmp

O. Elemental Señales

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

R1 � (R1 ^ R2)

R2 � (R1 ^ R2) ^ R2

R1 � (R1 ^ R2) ^ R1

Page 47: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en ALU

ARCOS @ UC3M47

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

ALU

RegisterFile

RARBRELE

T9 T10

AB

E

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

5

5

5

� SWAP R1, R2 sin Rtmp

O. Elemental Señales

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

Page 48: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en ALU

ARCOS @ UC3M48

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

ALU

RegisterFile

RARBRELE

T9 T10

AB

E

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

5

5

5

� SWAP R1, R2 sin Rtmp

O. Elemental Señales

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

Page 49: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en ALU

ARCOS @ UC3M49

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

ALU

RegisterFile

RARBRELE

T9 T10

AB

E

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

5

5

5

� SWAP R1, R2 sin Rtmp

O. Elemental Señales

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

Page 50: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales en ALU

ARCOS @ UC3M50

� SWAP R1 R2

O. Elemental Señales

RT1� R1 RA=1, T9, C4

R1 � R2 RA=2, T9, RE=1, LE

R2 � RT1 T4, RE=2, LE

ALU

RegisterFile

RARBRELE

T9 T10

AB

E

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z

C4 C5

C6

T4 T5 T6 T7

2MA MB

4

Internal Bus

5

5

5

� SWAP R1, R2 sin Rtmp

O. Elemental Señales

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

R2�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=2

R1�R1 ^ R2 RA=1, RB=2, Cop=^, T6, RE=1

Page 51: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Estructura de un computador elemental

ARCOS @ UC3M51

Memory

Address BusData Bus

Control Bus

ALU

RegisterFile

MAR

IR

SR

0 1

MBRC0

C1

Ta

Td

T1

RARBRELE

T9 T10

AB

E

PCC2

Control Unit+4

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z I U

SelP

SELEC 5

Offset

Control Signals

Bytes SelectorBW C3

C4 C5

C6

C7

T2 T3

T4 T5 T6 T7 T8

2

2MA MB

M1 M2

4

Internal Bus

5

5

5

Processor

A31-A0 D31-D0 R W IOR

V7-V0D31-D0

BE3-BE0

SE

22

0 1MUX M7

SELEC11 10 01

CLK

I/O

IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW

DisplayIOSR IOCR IODR KBDR

INTA

KBSR DDR DSR

IOW INT MRdy IORdy

Keyboard

A31-A0

MRdy ADDR DATA R WBE

Size5

MUX0 1

MUX

A1A0SEW

4

Memoria principal, registro de direcciones y de datos

Page 52: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Señales de control

ARCOS @ UC3M52

Nomenclatura: Nomenclatura:

• MAR -> registro de direcciones• MBR -> registro de datos

� Memoria principal

� R – lectura

� W – escritura

� BE3-BE0 = A1A0 + BW

� C0 – del bus interno al MAR

� C1 – del bus de datos al MBR

� Ta – salida de MAR al bus de direcciones

� Td – salida de MBR al bus de datos

� T1 – salida de MBR al bus interno

� M1– selección para MBR: de memoria o bus interno

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

Page 53: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales para usar la memoria

ARCOS @ UC3M53

� Lectura

� Escritura

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

Page 54: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales para usar la memoria

ARCOS @ UC3M54

� Lectura

� Escritura

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

O. Elemental Señales

MAR � <dirección> …, C0

MBR � MP[MAR] Ta, R, M1, C1

Page 55: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales para usar la memoria

ARCOS @ UC3M55

� Lectura

� Escritura

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

O. Elemental Señales

MAR � <dirección> …, C0

MBR � MP[MAR] Ta, R, M1, C1

Page 56: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales para usar la memoria

ARCOS @ UC3M56

� Lectura

� Escritura

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

O. Elemental Señales

MAR � <dirección> …, C0

MBR � MP[MAR] Ta, R, M1, C1

Page 57: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales para usar la memoria

ARCOS @ UC3M57

� Lectura

� Escritura

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

O. Elemental Señales

MAR � <dirección> …, C0

MBR � <dato> …, C1

Ciclo de escritura Ta, Td, E

O. Elemental Señales

MAR � <dirección> …, C0

MBR � MP[MAR] Ta, R, M1, C1

Page 58: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales para usar la memoria

ARCOS @ UC3M58

� Lectura

� Escritura

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

O. Elemental Señales

MAR � <dirección> …, C0

MBR � <dato> …, C1

Ciclo de escritura Ta, Td, E

O. Elemental Señales

MAR � <dirección> …, C0

MBR � MP[MAR] Ta, R, M1, C1

Page 59: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales para usar la memoria

ARCOS @ UC3M59

� Lectura

� Escritura

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

O. Elemental Señales

MAR � <dirección> …, C0

MBR � <dato> …, C1

Ciclo de escritura Ta, Td, E

O. Elemental Señales

MAR � <dirección> …, C0

MBR � MP[MAR] Ta, R, M1, C1

Page 60: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales para usar la memoria

ARCOS @ UC3M60

� Lectura

� Escritura

Memory

MAR

0 1

MBRC0 C1

Ta

Td

T1

BytesSelector

BW

M1

A31-A0 D31-D0

D31-D0

BE3-BE0

22

A31-A0

MRdy ADDR DATA R WBE

MUX

A1A0

4

Addr.BusData BusCtrl. Bus

SEW

O. Elemental Señales

MAR � <dirección> …, C0

MBR � <dato> …, C1

Ciclo de escritura Ta, Td, E

O. Elemental Señales

MAR � <dirección> …, C0

MBR � MP[MAR] Ta, R, M1, C1

Page 61: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Estructura de un computador elemental

ARCOS @ UC3M61

Memory

Address BusData Bus

Control Bus

ALU

RegisterFile

MAR

IR

SR

0 1

MBRC0

C1

Ta

Td

T1

RARBRELE

T9 T10

AB

E

PCC2

Control Unit+4

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z I U

SelP

SELEC 5

Offset

Control Signals

Bytes SelectorBW C3

C4 C5

C6

C7

T2 T3

T4 T5 T6 T7 T8

2

2MA MB

M1 M2

4

Internal Bus

5

5

5

Processor

A31-A0 D31-D0 R W IOR

V7-V0D31-D0

BE3-BE0

SE

22

0 1MUX M7

SELEC11 10 01

CLK

I/O

IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW

DisplayIOSR IOCR IODR KBDR

INTA

KBSR DDR DSR

IOW INT MRdy IORdy

Keyboard

A31-A0

MRdy ADDR DATA R WBE

Size5

MUX0 1

MUX

A1A0SEW

4

Registros SR, PC y IR

Page 62: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Señales de control

ARCOS @ UC3M62

� Contador de programa PC:� C2, M2 – PC <- PC + 4

� C2 – del bus interno al PC

� T2 – de PC a bus interno

� Registro de estado SR:� C7 – de bus interno al SR

� SelP=11, M7 – flags de ALU a SR

� T8 – del SR al bus interno

� Registro de instrucciones IR:� C3 – del bus interno al IR

� T3 – de IR al bus interno� Offset, Size, SE: qué parte de IR

IR

SELEC 5

Offset

C3

T3

Internal Bus

SESize

5

PCC2

+4

T2

M2

Internal Bus

MUX0 1

SR

0 N Z

SelP

C7

T8

2

0 1MUX M7

SELEC11 10 01

Internal Bus

Page 63: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Estructura de un computador elemental

ARCOS @ UC3M63

Memory

Address BusData Bus

Control Bus

ALU

RegisterFile

MAR

IR

SR

0 1

MBRC0

C1

Ta

Td

T1

RARBRELE

T9 T10

AB

E

PCC2

Control Unit+4

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z I U

SelP

SELEC 5

Offset

Control Signals

Bytes SelectorBW C3

C4 C5

C6

C7

T2 T3

T4 T5 T6 T7 T8

2

2MA MB

M1 M2

4

Internal Bus

5

5

5

Processor

A31-A0 D31-D0 R W IOR

V7-V0D31-D0

BE3-BE0

SE

22

0 1MUX M7

SELEC11 10 01

CLK

I/O

IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW

DisplayIOSR IOCR IODR KBDR

INTA

KBSR DDR DSR

IOW INT MRdy IORdy

Keyboard

A31-A0

MRdy ADDR DATA R WBE

Size5

MUX0 1

MUX

A1A0SEW

4

Unidad de Control (UC)

Page 64: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Unidad de control

ARCOS @ UC3M64

Control Memory

MUX B0 1

76

CO

A0 A1

MUX A

µInstruction

µAd

dr

+1 00

A0

Sel RA Sel RB Sel RE

Sel A Sel B Sel E

RA RB RE Cop

49

0(fetch)

MUX0 1MR

Rest of CPUControl Signals

MUX0 1

MRMUX0 1

MR

co2µAddr

SRO N Z I U

B C MCMR Cop

µAddr

12

IR

MUX C8 7 6 5 4 3 2 1 0

31 30 29 1 0

MRdy IORdy INT 0

MUX0 1MC

4 4

IR3-IR0

01

10

11

5 5 5 55 5

6 4

Page 65: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

� Microinstrucción: A cada palabra que define un período de una instrucción

� Las microinstrucciones � tienen un bit por cada señal de control.

� cadena de 1’s y 0’s que representa el estado de cada señal de control durante un período de una instrucción.

Unidad de control almacenada.

Microprogramación (1)

ARCOS @ UC3M65

Page 66: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

� Microprograma: conjunto ordenado de microinstrucciones, que representan el cronograma de una instrucción.

� Firmware (microcódigo): conjunto de los microprogramas de una máquina.

Unidad de control almacenada.

Microprogramación (2)

……

mic

ropr

ogra

ma

firm

war

e

ARCOS @ UC3M66

Page 67: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

� RESET: valores por defecto

� PC <-0x00, SP<- 0xFF, …

� FETCH: traer sig. instrucción

� I<- Mem[PC], PC++, salto-a-C.O.

� Microprograma: uno por instrucción de ensamblador

� Traer resto de operandos (si hay)

� actualizar PC en caso de más operandos

� Realizar la instrucción

� Salto a FETCH

Unidad de control almacenada.

Microprogramación (3)

RESET

FETCH

li $a0, #valor

bnez $a1 /posicion

Contenido M.Control

ARCOS @ UC3M67

Page 68: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Unidad de control

ARCOS @ UC3M68

MUX B0 1

76

CO

A0 A1

MUX A

µInstruction

µAd

dr

+1 00

A0

Sel RA Sel RB Sel RE

Sel A Sel B Sel E

RA RB RE Cop

49

0(fetch)

MUX0 1MR

Rest of CPUControl Signals

MUX0 1

MRMUX0 1

MR

co2µAddr

SRO N Z I U

B C MCMR Cop

µAddr

12

IR

MUX C8 7 6 5 4 3 2 1 0

31 30 29 1 0

MRdy IORdy INT 0

MUX0 1MC

4 4

IR3-IR0

01

10

11

5 5 5 55 5

6 4

Control MemoryA0 Sel A Sel B Sel EB C MCMR Cop

A0 Sel A Sel B Sel EB C MCMR Cop

……

Page 69: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Unidad de control

ARCOS @ UC3M69

MUX B0 1

76

CO

A0 A1

MUX A

µInstruction

µAd

dr

+1 00

A0

Sel RA Sel RB Sel RE

Sel A Sel B Sel E

RA RB RE Cop

49

0(fetch)

MUX0 1MR

Rest of CPUControl Signals

MUX0 1

MRMUX0 1

MR

co2µAddr

SRO N Z I U

B C MCMR Cop

µAddr

12

IR

MUX C8 7 6 5 4 3 2 1 0

31 30 29 1 0

MRdy IORdy INT 0

MUX0 1MC

4 4

IR3-IR0

01

10

11

5 5 5 55 5

6 4

Control MemoryA0 Sel A Sel B Sel EB C MCMR Cop

A0 Sel A Sel B Sel EB C MCMR Cop

……

µ00 µI1

µIM (salto a fetch)

ADD

fetch

µI0

µI1

µIK (salto a µProg)

Page 70: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Unidad de control

ARCOS @ UC3M70

MUX B0 1

76

CO

A0 A1

MUX A

µInstruction

µAd

dr

+1 00

A0

Sel RA Sel RB Sel RE

Sel A Sel B Sel E

RA RB RE Cop

49

0(fetch)

MUX0 1MR

Rest of CPUControl Signals

MUX0 1

MRMUX0 1

MR

co2µAddr

SRO N Z I U

B C MCMR Cop

µAddr

12

IR

MUX C8 7 6 5 4 3 2 1 0

31 30 29 1 0

MRdy IORdy INT 0

MUX0 1MC

4 4

IR3-IR0

01

10

11

5 5 5 55 5

6 4

Control MemoryA0 Sel A Sel B Sel EB C MCMR Cop

A0 Sel A Sel B Sel EB C MCMR Cop

……

µ00 µI1

µIM (salto a fetch)

ADD

fetch

µI0

µI1

µIK (salto a µProg) CO

0 µDir de la 1ª µI del ADD

1 µDir de la 1ª µI del LW

N µDir de la 1ª µI del µP N

µAddr

Page 71: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Unidad de control

ARCOS @ UC3M71

A0 A1 Salida

0 0 Sig µDir

0 1 µDir de salto

1 0 Salto a µProg. (ROM)

1 1 fetch

Control Memory

MUX B0 1

76

CO

A0 A1

MUX A

µInstruction

µAd

dr

+1 00

A0

Sel RA Sel RB Sel RE

Sel A Sel B Sel E

RA RB RE Cop

49

0(fetch)

MUX0 1MR

Rest of CPUControl Signals

MUX0 1

MRMUX0 1

MR

co2µAddr

SRO N Z I U

B C MCMR Cop

µAddr

12

IR

MUX C8 7 6 5 4 3 2 1 0

31 30 29 1 0

MRdy IORdy INT 0

MUX0 1MC

4 4

IR3-IR0

01

10

11

5 5 5 55 5

6 4

Page 72: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplo operaciones elementales con la UC

ARCOS @ UC3M72

� Salto a la dirección 000100011100 (12 bits) si Z = 1. En caso contrario se salta a la siguiente.

O. Elemental Señales

Si (Z)

µPC=000100011100A0=0, B=0, C=01102, mADDR=0001000111002

� Salto incondicional a la dirección 000100011111

O. Elemental Señales

µPC=000100011111 A0=0, B=1, C=00002, mADDR=0001000111112

� Salto a la primera µdirección del µprograma asociado al CO

O. Elemental Señales

Salto a CO A0=0, B=1, C=00002

Page 73: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

ResumenEstructura de un computador elemental

ARCOS @ UC3M73

Memory

Address BusData Bus

Control Bus

ALU

RegisterFile

MAR

IR

SR

0 1

MBRC0

C1

Ta

Td

T1

RARBRELE

T9 T10

AB

E

PCC2

Control Unit+4

0 1MUX

00 01 10 11MUX

RT3

RT1 RT2000…0100000…0001

Cop 3

0 N Z I U

SelP

SELEC 5

Offset

Control Signals

Bytes SelectorBW C3

C4 C5

C6

C7

T2 T3

T4 T5 T6 T7 T8

2

2MA MB

M1 M2

4

Internal Bus

5

5

5

Processor

A31-A0 D31-D0 R W IOR

V7-V0D31-D0

BE3-BE0

SE

22

0 1MUX M7

SELEC11 10 01

CLK

I/O

IORdy ADDR DATA IOR IOW INT INTA INTV ADDR DATA IOR ADDR DATA IOR IOW

DisplayIOSR IOCR IODR KBDR

INTA

KBSR DDR DSR

IOW INT MRdy IORdy

Keyboard

A31-A0

MRdy ADDR DATA R WBE

Size5

MUX0 1

MUX

A1A0SEW

4

Page 74: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

ResumenEstructura de un computador elemental

ARCOS @ UC3M74

Control Memory

MUX B0 1

76

CO

A0 A1

MUX A

µInstruction

µAd

dr

+1 00

A0

Sel RA Sel RB Sel RE

Sel A Sel B Sel E

RA RB RE Cop

49

0(fetch)

MUX0 1MR

Rest of CPUControl Signals

MUX0 1

MRMUX0 1

MR

co2µAddr

SRO N Z I U

B C MCMR Cop

µAddr

12

IR

MUX C8 7 6 5 4 3 2 1 0

31 30 29 1 0

MRdy IORdy INT 0

MUX0 1MC

4 4

IR3-IR0

01

10

11

5 5 5 55 5

6 4

Page 75: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Contenidos

75

1. Introducción

1. Motivación y objetivos

2. Funciones básicas de la unidad de control

3. Señales de control y operaciones elementales

2. Computador elemental:

1. Estructura del computador elemental

2. Señales de control

3. Operaciones elementales

ARCOS @ UC3M

Page 76: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Descripción de la actividad de la U.C.

ARCOS @ UC3M76

Instrucción

Secuencia de operaciones elementales

Secuencia de señales de control por cada operación elemental

mv R0 R1

• RI <- [PC]

• PC++

• decodificación

• R0 <- R1

+ nivel de detalle Hw.

Page 77: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Descripción de la actividad de la U.C.

ARCOS @ UC3M77

Instrucción

Secuencia de operaciones elementales

Secuencia de señales de control por cada operación elemental

mv R0 R1

• RI <- [PC]

• PC++

• decodificación

• R0 <- R1

Page 78: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Operaciones elementales asociadas a una instrucción de ensamblador

ARCOS @ UC3M78

A. Fetch

B. Traer operandos

C. Ejecutar

D. Guardar resultados

1.- MAR ← PC2.- RI ← Memoria(MAR)3.- PC ← PC + ”4”4.- Decodificación de la instrucción

5.- MAR ← R4

6.- Rtmp ← Memoria(MAR)

7.- Rtmp ← R3 + Rtmp

8.- MBR ← Rtmp

9.- MAR← R2

10.- Memoria(MAR) ← MBR

ADD (R2) R3 (R4)

Page 79: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Operaciones elementales asociadas a una instrucción de ensamblador

ARCOS @ UC3M79

� Preciso conocer que operaciones son posibles en una arquitectura:

A <- A + CB <- A + DA <- A + BA <- C + D + AA <- D + D

1.- MAR ← PC2.- RI ← Memoria(MAR)3.- PC ← PC + ”4”4.- Decodificación de la instrucción

5.- MAR ← R4

6.- Rtmp ← Memoria(MAR)

7.- Rtmp ← R3 + Rtmp

8.- MBR ← Rtmp

9.- MAR← R2

10.- Memoria(MAR) ← MBR

ADD (R2) R3 (R4)

Page 80: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Operaciones elementales asociadas a una instrucción de ensamblador

ARCOS @ UC3M80

� Preciso conocer que operaciones son posibles en una arquitectura:

� No hay un “camino” para llevar los valores.

� No hay “operador” para hacer un cálculo.

� No es posible atravesar un registro en el ciclo de reloj

� No es posible llevar a un bus dos valores a la vez.

1.- MAR ← PC2.- RI ← Memoria(MAR)3.- PC ← PC + ”4”4.- Decodificación de la instrucción

5.- MAR ← R4

6.- Rtmp ← Memoria(MAR)

7.- Rtmp ← R3 + Rtmp

8.- MBR ← Rtmp

9.- MAR← R2

10.- Memoria(MAR) ← MBR

ADD (R2) R3 (R4)

Page 81: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplos de describir las O.E. asociadas a una instrucción

ARCOS @ UC3M81

� ADD .4, .7

� LD .3, #734[.4++]

� SUB .12, [#1734[.13]]

� BZ #1342[.6]

Page 82: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

Ejemplos de describir las O.E. asociadas a una instrucción

ARCOS @ UC3M82

Instrucción Significado

ADD .4, .7 R4 ← R4+ R7

LD .3, #734[.4++]R3 ← Memoria[#734 + R4]R4++

SUB .12, [#1734[.13]] R12 ← Memoria[Memoria[#1734 + R13]]

BZ #1342[.6]Si SR.Z==0

Salto a fetchPC ← #1342 + R6

Page 83: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

ADD .4,.7 (Operaciones elementales)

ARCOS @ UC3M83

1. MAR ← PC

2. MBR ← memoria(MAR)

3. PC ← PC + ‘4‘

4. IR ← MBR

5. Decodificación y salto a CO

6. R4 ← R4 + R7, SR ← Bits de estado aritméticos

Instrucción Significado

ADD .4, .7 R4 ← R4+ R7

Page 84: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

LD .3,#734[.4++] (Operaciones elementales)

ARCOS @ UC3M84

1. MAR ← PC2. MBR ← memoria(MAR)3. PC ← PC + ‘4‘4. IR ← MBR5. Decodificación y salto a CO

6. RT2 ← RI(734)7. MAR ← RT2 + R4

8. MBR ← memoria(MAR)9. R3 ← MBR10. R4 ← R4 + 1

Instrucción Significado

LD .3, #734[.4++]R3 ← MP[#734 + R4]R4++

Page 85: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

LD .3,#734[.4++] (Operaciones elementales)

ARCOS @ UC3M85

1. MAR ← PC2. MBR ← memoria(MAR)3. PC ← PC + ‘4‘4. IR ← MBR5. Decodificación y salto a CO6. MAR ← PC7. MBR ← memoria(MAR)8. PC ← PC + ‘4‘9. RT2 ← MBR10. MAR ← RT2 + R4

11. MBR ← memoria(MAR)12. R3 ← MBR13. R4 ← R4 + 1

Instrucción Significado

LD .3, #734[.4++]R3 ← MP[#734 + R4]R4++

Page 86: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

SUB .12,[#1734[.13]] (Operaciones elementales)

ARCOS @ UC3M86

1. MAR ← PC

2. MBR ← memoria(MAR)

3. PC ← PC + ‘4‘

4. IR ← MBR

5. Decodificación y salto a CO

6. RT2 ← RI(1734)

7. MAR ← RT2 + R13

8. MBR ← memoria(MAR)

9. MAR ← MBR

10. MBR ← memoria(MAR)

11. RT2 ← MBR

12. R12 ← R12 – RT2

Instrucción Significado

SUB .12, [#1734[.13]] R12 ← MP[MP[#1734+R13]]

Page 87: EC-4: Introducción al funcionamiento del procesador (v3d)

Alejandro Calderón MateosFélix García-Carballeira,

BZ #1342[.6] (Operaciones elementales)

ARCOS @ UC3M87

1. MAR ← PC

2. MBR ← memoria(MAR)

3. PC ← PC + ‘4‘

4. IR ← MBR

5. Decodificación y salto a CO

6. Si no se cumple la condición, entonces saltar a FETCH

7. RT2 ← RI(1342)

8. PC ← RT2 + R6

9. saltar a FETCH

Instrucción Significado

BZ #1342[.6]Si SR.Z==0

Salto a fetchPC ← #1342 + R6

Page 88: EC-4: Introducción al funcionamiento del procesador (v3d)

Tema 4 (I)

El procesador

Estructura de Computadores

Grado en Ingeniería Informática

Grupo ARCOS

Universidad Carlos III de Madrid