You are on page 1of 17

UPM

DIE

Arquitectura de sistemas digitales

LECCIN
LECCIN 00 :: Repaso
Repaso
Arquitectura
Arquitectura de
de un
un sistema
sistema uP
uP
(el
(el picoprocesador)
picoprocesador)

Componentes
Componentes bsicos
bsicos
Ciclo
Ciclo bsico
bsico de
de ejecucin
ejecucin de
de una
una instruccin
instruccin
Mejorando
Mejorando el
el sistema:
sistema: Diseo
Diseo final
final

Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

0-1

UPM
DIE

Arquitectura de sistemas digitales

Componentes bsicos: Registros, ALU y operaciones bsicas


Operaciones bsicas
Operacin
ADD
SUB
IN
OUT

IN

Cd. op.
00
01
10
11

OUT

IN

OUT

Registro A

Cd. op.
001
011
101
111
010

(OUT = IN + B)

IN
ADD
OUT

ALU (A = A op B)

Carga registro B
Operacin
ADD
SUB
IN
OUT
MOV

Registro B

Secuencia:

IN

IN

OUT

OUT

Reg A

MOV

Secuencia:
Reg B

(OUT = IN1 + IN2)

IN
MOV
IN
ADD
OUT

ALU

Necesitamos ms bits
Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

0-2

UPM
DIE

Arquitectura de sistemas digitales

Registros, ALU y operaciones bsicas


Varias entradas y salidas
IN 0

Operacin
ADD
SUB
IN
OUT
MOV

Operando
Nada
Nada
0,1,2,3
0,1,2,3
Nada

IN 3

Cd. op.
001-011-101ii
111oo
010--

OUT 0

Reg A

OUT 3

Reg B

ALU

Necesitamos ms bits
O0

Realizacin hardware

IN 0

M2

Utilizamos registros con


habilitacin de carga y
multimplexores. Habr que
activar adecuadamente las
seales de control
Leccin 0. Repaso. Arquitectura de un sistema uP.

IN 3

UPM-DIE

D0

Registro de
instrucciones
M1

Reg A

D7

Out 3

MUX
MUX

E1

O3

Out 0

Reg B

ALU

S/R

E2

Secuenciador
de
instrucciones

M1
M2

E1
E2

0-3

UPM
DIE

Arquitectura de sistemas digitales

Cdigo ensamblador y cdigo mquina


Programa en memoria
Cdigo
ensamblador
o mnemnico

Secuencia:
IN 1
MOV
IN 2
ADD
OUT 1

Direccin
0
1
2
3
4

Dato (7..0)
1010 0001
0100 0000
1010 0010
0010 0000
1110 0001

Ensamblado

Leccin 0. Repaso. Arquitectura de un sistema uP.

Cdigo
mquina

Grabado /
Cargado

UPM-DIE

D7

A15
Memoria
de 64K x 8

D0

A0

Seales
de control

0-4

UPM
DIE

Arquitectura de sistemas digitales

Todo junto: secuenciacin


Ejecucin secuencial de un programa almacenado en memoria

IN 0

IN 3

OUT 0

Reg A

OUT 3

RI

Secuenciador
Instr.

Reg B

D 7..0

Memoria

ALU

INC

Contador de programa

A 15..0

CPU

Ejecucin de una instruccin:

Leccin 0. Repaso. Arquitectura de un sistema uP.

Reset

UPM-DIE

1. Bsqueda instruccin
2. Decodificacin
3. (Operacin ALU)
4. (Transferencia de registros)
5. Incrementar contador de programa
0-5

UPM
DIE

Arquitectura de sistemas digitales

Ciclo bsico de ejecucin


Secuenciacin de instrucciones
Bsqueda
Instruccin
1

En funcin de la instruccin
pueden realizarse unos
acciones u otras

Incremen.
PC
5

Decod.
Instruccin
2

ADD,
SUB

MOV, IN,
OUT

Bsqueda

Decod.

Trans. Reg

Inc. PC

ADD,
SUB

Bsqueda

Decod.

Op. ALU

Trans. Reg

Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

MOV, IN,
OUT

Transf.
Registros
3

Opera.
ALU
4

La ejecucin de diferentes
ciclos se puede solapar
Inc. PC

0-6

UPM
DIE

Arquitectura de sistemas digitales

Ciclo bsico de ejecucin con ciclos de espera

Secuenciacin de instrucciones

Bsqueda
Instruccin
1

Ciclos
Espera
4

IN

El microprocesador se queda en
un estado de espera hasta que
el resto del sistema le responde.
Es necesaria una seal de
reconocimiento.

Ready
Decod.
Instruccin
2

ADD,
SUB

Bsqueda

Decod.

WAIT

WAIT

Leccin 0. Repaso. Arquitectura de un sistema uP.

Not
Ready

Incremen.
PC
5

WAIT

UPM-DIE

Trans. Reg

MOV,
OUT
Transf.
Registros
3
Opera.
ALU
4

Inc. PC

0-7

UPM
DIE

Arquitectura de sistemas digitales

Realizacin hardware del sistema completo

IN 0

IN 3

O1

Out 0

O4

Out 3
D 7..0

M2

MUX
Reg Instr.
MUX

E1

M1

Reg A

E2

Reg B

ALU

S/R

E1
E2
S/R
M1
M2
O1
O2
O3
O4

Secuenciador
de
instrucciones
(mquina de
estados)

INC
ER

Memoria

Clk

PC

INC

ER

Reset
A 15..0

Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

0-8

UPM
DIE
Realizacin hardware: Cronograma de secuenciacin de las seales

Arquitectura de sistemas digitales

Bus

Dec

Exe

Tr

Inc

Bus/Inc

Dec/Exe/Tr

Clk

PC

0003

A15..0

0003

D7..0
RI

PC

0003

0004

0004

A15..0

0003

0004

D7..0

0004

100----xxx---xx

RI

100-----

S/R

S/R

M1

M1

05

07

ALUout
MUXout

0B

xx
xx

05

07

ER

E1

E1

INC

INC

Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

0B

xx

ER

Secuenciacin de la instruccin ADD

100-----

xx

MUXout

0B

xxx---xx

A
ALUout

0B

100-----

0B
0B

Secuenciacin de ADD en 2 ciclos de reloj


0-9

UPM
DIE

Arquitectura de sistemas digitales

Mejorando el sistema
Modificacin para cargar datos en A desde la memoria

IN 0

IN 3

OUT 0

Reg A

OUT 3

RI

Decod.
Instr.

Reg B

D 7..0

Memoria

ALU

PC

Registro de direcciones

CPU

A 15..0

Instrucciones con varios bytes


...
Datos
Cdigo
operacin
Leccin 0. Repaso. Arquitectura de un sistema uP.

Tipos de direccionamiento
Inmediato: LDAA #24
Directo:
LDAA 24
UPM-DIE

A <- 24
(Constante)
A <- Mem(0024) (Variable)
0-10

UPM
DIE

Arquitectura de sistemas digitales

Mejorando el sistema (II)


Modificacin para poder realizar saltos en el programa

IN 0

IN 3

OUT 0

Reg A

OUT 3

RI

Decod.
Instr.

Reg B

D 7..0

Memoria

ALU

PC

Registro de direcciones

CPU

A 15..0

Nuevas instrucciones
JMP #$10BA
Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

PC <- $10BA
0-11

UPM
DIE

Arquitectura de sistemas digitales

Mejorando el sistema (III)


Modificacin para poder realizar saltos condicionales

IN 0

IN 3

OUT 0

Reg A

RC

Reg B

OUT 3

RI

RC

D 7..0

Decod.
Instr.

ALU

PC

AR

CPU

A 15..0

RC = Registro de condiciones
RC:

Memoria

Resultado cero (Z)


Acarreo (C)
Positivo/Negativo (P)

Leccin 0. Repaso. Arquitectura de un sistema uP.

Nuevas instrucciones
BEQ $10BA
UPM-DIE

( si ltima operacin = 0 -> PC <-$10BA )


0-12

UPM
DIE

Arquitectura de sistemas digitales

Mejorando el sistema (IV)


Unificacin de E/S y accesos a memoria (E/S dedicada)
Transferencias con memoria
RI

LDAA $10BA
STAA $1043

OE

(A <- Mem($10BA) )
(Mem($1043) <- A )

D 7..0

Decod.
Instr.

ALU
RC
AR

Control
memo

PC

Memoria

Cont.
IO

IO

CPU
A 15..0

Transferencias con E/S


Leccin 0. Repaso. Arquitectura de un sistema uP.

INA
$10
OUTA $1A

UPM-DIE

(A <- E/S($10) )
(E/S($1A) <- A )
0-13

UPM
DIE

Arquitectura de sistemas digitales

Mejorando el sistema (y V): Diseo final


Unificacin de E/S y accesos a memoria (E/S mapeada)
Transferencias con memoria
RI
OE
D 7..0

Decod.
Instr.

LDAA $10BA
STAA $1043

(A <- Mem($10BA) )
(Mem($1043) <- A )

ALU
RC
AR

PC

R/W

Memoria
CE

R/W

IO
CE

CPU
A 14..0

Transferencias con E/S


LDAA $0010
STAA $001A

(A <- E/S($10) )
(E/S($1A) <- A )

Leccin 0. Repaso. Arquitectura de un sistema uP.

A 15

Decodificador
direcciones

UPM-DIE

0-14

UPM
DIE

Arquitectura de sistemas digitales

Resumen: Arquitectura interna de la CPU


Registros

Unidad de control

Almacenamiento temporal de los datos


(operandos, resultados, ...)

Encargada de la secuenciacin de todas las


operaciones y movimiento de datos

ALU
Unidad AritmticoLgica: realiza
operaciones lgicas
(and, or, shift, ...) y
aritmticas (suma,
resta, comp, ...) con los
datos

Buses
Conexionado de las
seales entre los
diferentes elementos
de la CPU

Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

0-15

UPM
DIE

Arquitectura de sistemas digitales

Ejercicio prctico n 1
Proponer modificaciones a la arquitectura para aadir un
registro ndice, as como su instruccin correspondiente (clase)
Plantear como se modificara el cdigo VHDL y el programa de
prueba del picoprocesador para aadir dicho registro ndice
(clase)
Proponer modificaciones a la arquitectura para aadir un
puntero de pila, as como su instruccin correspondiente
(clase)
Modificar y simular el cdigo VHDL del picoprocesador para
aadir dicho registro ndice (personal)

Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

0-16

UPM
DIE

Arquitectura de sistemas digitales

Ciclos de ejecucin en el picoProcessor (Versin mejorada)

RDWR

NOP

PCINC

FETCH

LDAI

DECOD

MOV
ALU

LDAM
STAM

Bxx
LDAM
STAM
JMP

GETLSB

LDAM
STAM
JMP

GETMSB

Bxx
JMP

EXEC

Leccin 0. Repaso. Arquitectura de un sistema uP.

UPM-DIE

0-17