Sei sulla pagina 1di 68

09/04/2013 00:53:00

Il processore PD32
Macchina di von Neumann

Unità di Memoria di Unità di


Ingresso lavoro Uscita

Unità di
Calcolo

Unità di
Controllo
Suddivisione SCA-SCO

Unità di Memoria di Unità di


Ingresso lavoro Uscita

Unità di
Calcolo
SCA

Unità di
Controllo
SCO

Segnali di controllo/condizione
Flusso dati
Modifica macchina di Von Neumann
con CPU
SI PRENDE SOLO UNA PARTE DELLA MEMORIA (NON SAREBBE CONVENIENTE
PRENDERLA TUTTA!)

Unità di Memoria di Unità di


Ingresso lavoro Uscita

Unità di
Calcolo

Unità di LV 1: CACHE (è la più piccola)


LV 2: MEMORIA DI LAVORO
Controllo LV 3: DISCO (memoria di massa)

CPU
Dal linguaggio ad alto livello al
linguaggio macchina
Non dipende dalla Programma in
a=b+c
macchina HW Linguaggio alto Livello

Compilatore

• Insieme istruzioni che movw b,R1


dipendono dalla Programma in movw c,R2
macchina hw (simboliche) Linguaggio Assembly addw R2,R1
• Commenti movw R1,a
• Riferimenti simbolici
Assemblatore

000101..010100
• Insieme Istruzioni della Programma in 1011101..010100
macchina hw Linguaggio Macchina 01011..11101010
• Riferimenti indirizzi fisici 010..1110101010

Macchina HW
PD32
• Processore “virtuale” dotato di registri da 32 bit
• Non esiste nella realtà, ma le sue funzionalità sono
simulate tramite un programma
• Set delle istruzioni sottoinsieme dei processori
Motorola
• Nel seguito sarà usato per approfondire alcuni
aspetti legati alle architetture dei calcolatori
• Sistema multiciclo
• No pipeline, no memoria cache
R0, R1...
R0 R1
.. R7

riferimento

.
MDR

memoria
allo schema

di lavoro
registri sca/sco
sul quaderno
MAR (09/04/2013)
struttura di
interconnessione

ingresso/uscita
I/ODR

dispositivi
TEMP1 TEMP2 I/OAR

ALU, SR
PC
Collega-
ALU SHIFTER
shifter IR
menti
unità di con
calcolo memoria
e I/O
UNITA' DI
CONTROLLO

CPU
N.B.
non sono indicati i segnali di controllo che dal SCO vanno verso i
registri interni, le unità di calcolo e la struttura di interconnessione
PD32- Sottosistema di Calcolo (SCA)

• Registri (basati su Flip-Flop D con segnale


di Enable)
– speciali
– generali
• Dispositivi di calcolo
– Shifter
– ALU (somma e sottrazione)
• MUX
• Decodificatori
• Struttura di interconnessione: BUS
Processamento dell’istruzione

Il processamento dell’istruzione (ciclo istruzione)prevede


tre fasi: fetch, decodifica e esecuzione

-Il fetch serve per prelevare l’istruzione dalla memoria

-La decodifica serve per identificare quale micro-


programma del sottosistema di controllo (SCO) attivare

-L’esecuzione serve ad implementare la “semantica”


dell’istruzione. Può richiedere uno o più cicli macchina
(interazioni con la memoria o i dispositivi di I/O)
Un semplice esempio
Consideriamo l’istruzione a=a+b, espressa in un
linguaggio di alto livello
• “Memorizza nella variabile di nome a, la somma dei
valori contenuti nelle variabili di nome a e b”
• Nota: Le variabili sono individuate da un nome
simbolico deciso precedentemente nel programma..

a 15 a 24
a =a+b
b 9 b 9

Prima Dopo
Un semplice esempio (2)
Per eseguire questa istruzione è necessario
– Stabilire dove sono memorizzati i valori da sommare
– Stabilire dove va scritto il risultato dell’operazione
– Quale operazione svolgere
• Nel PD32, gli operandi sono memorizzati nei registri
interni alla CPU (registri visibili al programmatore)
• Il formato dell’istruzione è (s può essere B,W,L)
ADDs <sorgente><destinazione>
Il campo destinazione è un registro che contiene il
valore iniziale di un operando e che sarà modificato
ADDW R2,R1
(somma R1 con R2 (16 bit) e poni il risultato in R1)
Esecuzione istruzione
Indirizzo

PC 100 adds R2,R1 100

.
.
PC=Program Counter
contatore di programma MEMORIA
(memorizza indirizzo
dell’ istruzione
in esecuzione)
Istruzione: fase di fetch
Indirizzo

PC 100 adds R2,R1 100

IR adds R2,R1 .
.
PC=Program Counter MEMORIA
IR= Instruction Register
(memorizza istruzione
in esecuzione)
Istruzione: decodifica
Indirizzo

PC 100 adds R2,R1 100

IR adds R2,R1 .
.

MEMORIA
Controllo
Decodifica istruzione: identifica il
microprogramma per l’esecuzione
dell’istruzione
Istruzione: fase di esecuzione
Indirizzo

PC 100 adds R2,R1 100

IR adds R2,R1 .
.

MEMORIA
Risorse di
Controllo
calcolo Esecuzione dell’istruzione (il
SCO comanda il SCA)
CPU come interprete
L’esecuzione di un programma può essere visto come
la ripetizione continua dei seguenti passi (Ciclo
Istruzione) che interpretano le istruzioni del
programma contenuto in memoria. La notazione
fetch: (PC)IR (PC) indica il
incrementa PC contenuto
esegui istruzione in IR della
locazione di
vai al passo fetch
memoria con
indirizzo PC
• La CPU interpreta le istruzioni che man mano sono presenti nel suo
Instruction Register (nota che l’esecuzione puo’ modificare il PC)
• Tale schema è semplificato poiché per interagire con l’esterno, o
gestire situazioni anomale, tale ciclo deve poter essere interrotto.
PD32- BUS interno
• Usato per il collegamento dei registri interni
• Operazioni che caratterizzano il bus
– Ricezione dati
• i bit presenti sul bus sono memorizzati in un registro
– Trasmissione dati
• Il contenuto di un registro è posto sul bus
• Al più un solo registro può scrivere sul bus
– segnali di controllo opportunamente generati
• Il segnale di abilitazione alla scrittura di un registro
corrisponde alla ricezione dei dati presenti sul bus in
quel momento
• Il segnale di abilitazione sul buffer three-state
permette di trasferire sul bus il contenuto del registro
PD32- BUS interno, segnali di controllo

Una sola scrittura per volta (controllo mediante Bi)


2n segnali di controllo (n numero dei registri)

WR0 WR1 WR7


R0 R1 R7

BR0 BR1 BR7

32 bit
Wi=1, leggi dal bus
Bi =1 scrivi sul bus
PD32- BUS interno, esempio R1 -> R0
Per eseguire il trasferiemento da R1 ad R0
(simbolicamente (R1)->R0) devono essere affermati
solamente i seguenti segnali: BR1 = 1, WR0 = 1

WR0 WR1 WR7


R0 R1 R7

BR0 BR1 BR7

32 bit
PD32- Banco dei registri

• Insieme di 8 registri generali indicati da R0 ad R7


• Sono controllati mediante
– Segnali di abilitazione per
• scrittura del registro (WM)
• lettura e conseguente invio sul bus interno del
contenuto del registro (RM)

WM
Indirizzo
RM

BUS interno
PD32- Banco dei registri
Indirizzo registro
Decoder

WM

RM

R0 R1 w7 R7
w1
w0

B0 B1 B7

wi =1, scrivi valore sul bus in Ri BUS


Bi = 1, invia sul bus valore di Ri
PD32- esempio: R7 ->BUS
Indirizzo registro
Address=111, RM=1
Decoder
1
1 Address
1

WM

RM

R0 R1 w7 R7
w1
w0

B0 B1 B7

BUS
nota: non si può leggere e scrivere
contemporaneamente
PD32- ALU
• Esegue le operazioni aritmetiche e logiche dei
valori memorizzati in due registri tampone (non
visibili al programmatore) Temp1 e Temp2
• Il risultato è posto in un registro generale Ri

TEMP1 TEMP2 WT2


WT1
32

OpCode
ALU (specifica operazione
BA
da eseguire)
buffer 3-state per far passare le info sul bus
PD32- ALU, esempio:
esecuzione addw R2,R1

WM RM

TEMP1 TEMP2 WT2


WT1
3
Address
REGISTRI

OpCode
ALU

BA

32
PD32- ALU, esempio:
esecuzione addw R2,R1

1. R1 -> Temp1 RM=1, Address = 001, WT1=1

WM RM

TEMP1 TEMP2 WT2


WT1
3
Address
REGISTRI

OpCode
ALU

BA

32
PD32- ALU, esempio:
esecuzione addw R2,R1

1. R1 -> Temp1 RM=1, Address = 001, WT1 = 1


2. R2 -> Temp2 RM=1, Address = 010, WT2 = 1
WM RM

TEMP1 TEMP2 WT2


WT1
3
Address
REGISTRI

OpCode
ALU

BA

32
PD32- ALU, esempio: esecuzione addw R2,R1
1. R1 -> Temp1 RM=1, Address = 001, WT1 = 1
2. R2 -> Temp2 RM=1, Address = 010, WT2 = 1
3. ALU-OUT(Temp1+Temp2)->R1 WM=1, Address
= 001, OpCode = addw, BA=1
WM RM

TEMP1 TEMP2 WT2


WT1
3
Address
REGISTRI

OpCode
ALU

BA

32
Osservazioni

• Per l’esecuzione dell’istruzione (senza


considerare la fase di fetch) sono state
necessarie 3 operazioni elementari
• Ogni operazione viene eseguita durante un ciclo
di clock
• In generale il numero di cicli di clock richiesti
per completare una istruzione è variabile e
dipende dall’istruzione. Tale paramentro viene
indicato con CPI (Clock per Instruction)
• La velocità di esecuzione di un programma
dipende anche dal numero medio di CPI
PD32- Shifter
Usato per eseguire operazioni di scorrimento di posizioni,
nonché per lo spostamento di dati tra registri interni (i
registri tampone non possono scrivere sul bus mentre i
segnali di controllo valgono per tutti i registri)

TEMP1 TEMP2 WT2


32 bit WT1

OpCode OpCode
SHIFTER
ALU

BA BS
Shifter (background)

Spostamento logico a destra di k posti.

bn-i = 0 (per 0 ≤ i < k)


bi = ai+k (per 1≤ i ≤ n - k)
C = ak
0 . . .0 a . .a a a ...a
n k+2 k+1 k 1

b b b b b C
n n-k+1 n-k 2 1
Barrel shifter
an a n-1 an-2 a n-3 a1
d

. . . c1
1
ogni cella prende un ingresso
e ne genera 3.

. . . c2
2
registro

. . .
di c3
3
controllo
. . . .
in questo caso: no shift . . . .
. . . .
... ... c log n -1
log n -1

c log n
log n

... ...
bn bn/2 b1
Schema di una cella

Ci

d
11/04/2013

PD32- Status Register


Contiene informazioni sull’esito dell’ultima operazione
(ex. zero, overflow). Usato anche come ingresso
per alcune operazioni (ex. Salti condizionati)

TEMP1 TEMP2 WT2


WT1
32

OpCodeALU OpCodeSHIFTER
SHIFTER
ALU

BA BS
SR

BSR
dallo SCO Wt1 Wt2 dallo SCO

R0 TEMP1 TEMP2
singola linea
opcode
AND AND opcode
linee multiple ALU shifter

B B
BA dallo
R1 SR BS
SCO

B SR
AND AND

decoder
. M IR

...
U
. X
.
S W dallo SCO
MUX IR
R7
dallo SCO 2 gruppi di 3 bit
AND AND ognuno

INC(N=1,2,4)
PC
W
PC
R <- dallo SCO -> W <- dallo
M
M <- SCO
R
PC

N.B. non sono evidenziate le variabili di condizione che da SR e IR vanno al SCO


Incremento PC

Il PC deve essere
incrementato (se
INC4 non si eseguono
PC INC2 istruzione di salto)
INC1

NOTA: le
WPC

istruzioni PD-32
possono avere
R
PC lunghezza diversa;
quindi incremento
PC è variabile
PD32- Interazione con la memoria
• La memoria contiene sia i dati che le istruzioni e
può essere sia letta che scritta.
• E’ necessario quindi:
– Prelevare istruzioni
– Leggere dati
– Scrivere dati
• Le operazioni di lettura/scrittura avvengono fra
una locazione di memoria e un registro (registro
dati, RI, PC)
• E’ necessario quindi instradare opportunamente i
dati ricevuti dalla memoria verso i registri e
viceversa.
Memoria: organizzazione logica

a a a a
3 2 1 0
00 00
00
00
01
10 Organizzazione logica a vettore
00
01
11
00 di 16 celle di memoria
01 01
01 10 a a a a a a a a a a a a a a a a
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
01 11 0 0 11 0 0 10 0 0 01 0 0 00
10 00 0 1 11 0 1 10 0 1 01 0 1 00
10 01 1 0 11 1 0 10 1 0 01 1 0 00
1 1 11 1 1 10 1 1 01 1 1 00
10 10
10 11

Un’organizzazione a 4 moduli
11 00
11 01
11 10
11 11 di 16 celle di memoria
Organizzazione di una RAM statica (4 x 3 bit)

input ai registri

0 || 1

decoder

0 || 1

1
1

chip select:
lavora || non lavora

read = 1 -> scrivo


read = 0 -> leggo
output
Memoria RAM
RD

1
amplificatore al DB
2 di uscita

decoder di
. matrice m x m CS

riga
. bit

. dal DB
m amplificatore
di scrittura

WR
...
1 2 m

decoder di
colonna
per "pilotare" il mondo esterno
(per riadattare)

indirizzi
dall'AB

linea
singola
linee
multiple
Memoria comportamento esterno

Funzionalmente è caratterizzata dai seguenti segnali


– Indirizzo della parola da leggere/scrivere
– MR, affermato se si vuole leggere
– MW, affermato se si vuole scrivere
– CS, Abilita l’intero modulo (Chip Select)
– Dati

Tempo di accesso

n bit
Indirizzo valido
Dati

MR MR
MW
CS
Dato valido
Indirizzo

m bit
Memoria organizzazione in moduli
Data BUS (32 bit)
i dati della prima riga vengono letti
e portati sul bus

d31…d24 d23…d16 d15…d8 d7…d0


riga 1

MR MR MR MR
MW MW MW MW

CS CS CS CS

riga n

a2…a31 a2…a31 a2…a31 a2…a31


0000

Mb3
Address BUS (30 bit)
Mb2
Mb1
Mb0
Memoria: spazio di indirizzamento

Lo spazio di indirizzamento del PD32 e’


Locazione
monodimensionale e
00000000 Composto da 232 locazioni (byte)

Byte (8 bit)

Word (16 bit)

Locazione
FFFFFFFF
Longword (32 bit)
Memoria: disallineamento

a a a a a a a a a a a a a a a a
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
0 0 11 0 0 10 0 0 01 0 0 00
0 1 11 0 1 10 0 1 01 0 1 00
1 0 11 1 0 10 1 0 01 1 0 00
1 1 11 1 1 10 1 1 01 1 1 00

Esempio di memorizzazione di una informazione di quattro byte allineati sullo stesso indirizzo di riga.

a a a a a a a a a a a a a a a a
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
0 0 11 0 0 10 0 0 01 0 0 00
0 1 11 0 1 10 0 1 01 0 1 00
1 0 11 1 0 10 1 0 01 1 0 00
1 1 11 1 1 10 1 1 01 1 1 00

Esempio di memorizzazione di una informazione di quattro byte disallineati


a a a a a a a a a a a a a a a a
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
0 0 11 0 0 10 0 0 01 0 0 00
0 1 11 0 1 10 0 1 01 0 1 00
1 0 11 1 0 10 1 0 01 1 0 00
1 1 11 1 1 10 1 1 01 1 1 00

Esempio di memorizzazione di una informazione di due byte disallineati


Memoria: byte allineati
Data BUS (32 bit)

d31…d24 d23…d16 d15…d8 d7…d0

MR MR MR MR
MW MW MW MW

CS CS CS CS

a2…a31 a2…a31 a2…a31 a2…a31

Mb3
Address BUS (30 bit)
Mb2
Mb1
Mb0
Memoria: byte non allineati (1)
Data BUS (32 bit)

d31…d24 d23…d16 d15…d8 d7…d0

MR MR MR MR
MW MW MW MW

CS CS CS CS

a2…a31 a2…a31 a2…a31 a2…a31

Mb3
Address BUS (30 bit)
Mb2
Mb1
Mb0
Memoria: byte non allineati (2)
Data BUS (32 bit)

d31…d24 d23…d16 d15…d8 d7…d0

MR MR MR MR
MW MW MW MW

CS CS CS CS

a2…a31 a2…a31 a2…a31 a2…a31

Mb3
Address BUS (30 bit)
Mb2
Mb1
Mb0
Memoria: interfaccia del PD32

• Registro Memoria Dati (MDR)


• Registro Indirizzo (MAR)
• Segnali di Controllo (MR,MW, Mb3, Mb2, Mb1, Mb0)
WMDR

BMDR dati
Memoria
SCO Di
Segnali di Lavoro
Controllo

indirizzi

Bus interno WMAR


Memoria: interfaccia SCA del PD32

M Data Bus
D
R
Bus Interno del PD32

DIR B
B W MDR DB
MDR

M Address Bus
A
R

W B
MAR AB

SCA del PD32


PD32- Interazione con l’esterno
• Ogni fase che comporta l’interazione con le
unità esterne viene detta ciclo macchina.
• Ogni ciclo macchina può essere costituito
da uno o due cicli di bus; per esempio la
o: ciclo istruzione

lettura di una parola memorizzata su due


byte non allineati sullo stesso indirizzo di
riga necessita di due accessi in memoria
(cioè di due cicli di bus).
Interfaccia dispositivi di I/O
a noi interessa questa parte!
INTERFACCIA

Indipendente dal Dipendente dal


dispositivo dispositivo
indirizzi
Decoder
segnali di segnali di
controllo
Device controllo
Control
Registro

dati
dati

BUS
Dispositivi di I/O: interfaccia del PD32

• Registro Dati (I/ODR)


• Registro Indirizzo (I/OAR)
• Segnali di Controllo (I/OR,I/OW, Start, ……….)

WMDR

BI/ODR dati
Dispositivo
SCO
di I/O
Segnali di Controllo

indirizzi

Bus interno WMAR


I/O: interfaccia SCA del PD32

I/O
D
R
I/O
Bus Interno del PD32

Data
Bus

DIR B
B W I/ODR I/ODB
I/ODR

I/O
A
R I/O
Address
Bus

W B
I/OAR I/OAB

SCA del PD32


Interconnesione del PD32
30
Memory address bus
PD32 Memory control bus
Memory data bus
32
Modulo di Modulo di
8

memoria memoria
32
Interfaccia
I/O

dispositivo
di I/O
Interfaccia

dispositivo
I/O

di I/O

I/O address bus


I/O control bus
I/O data bus
Sottosistema di controllo (SCO)

Data In Data Out


SCA
(SLAVE)

Stato o variabili di
condizionamento TASK

Variabili SCO Uscite


Condizionamento (MASTER)
esterne esterne
Sottosistema
di controllo (SCO)
start

microprogramma
relativo alla fase di
fetch

Decodifica
codice della
classe dell'
istruzione

XXX YYY ZZZ

microprogramma microprogramma microprogramma


relativo relativo relativo
alle istruzione alle istruzione ... alle istruzione
la cui classe è la cui classe è la cui classe è
XXX YYY ZZZ
SCO: schema di Mealy

CK
reg. SEL
variabili di
circuito di
selezione
condizione

ROM micro ordini


codice
classe

load
CK
spostamento base
reset
SCO: schema di Moore

Cod. Classe: codice


istruzione load reset
codice classe
Load: segnale di

base
caricamento nuova

spostamento
istruzione (a fine micro ordini
ROM
fetch) SEL

Reset: azzera cod.


CK
classe (inizia fetch)
SS1SS2 SSm
variab. di cond.:
...
influenzano
esecuzione istr. (ad multiplexer
circuito di
selezione
es. var. in SR)
Micrordini:
comandi per SCA variabili di
condizione

CK: clock
Interazione con la memoria: ciclo di scrittura

T1 T2 T3

CLOCK

BUS
indirizzo
INDIRIZZI

MWR

BUS dato
DATI
Interazione con la memoria: ciclo di lettura

T1 T2 T3

CLOCK

BUS
indirizzo
INDIRIZZI

MRD

BUS dato
DATI
Passi elementari per eseguire il Fetch
(ipotesi: 4 byte allineati in memoria)

1. PC -> MAR; /* trasferimento del contenuto del PC nel MAR */

WMDR
WPC
PC RPC
Data Bus
INC4
Memoria
Di
BMDR DIR BDB Lavoro
WIR IR Address Bus

WMAR BAB
Fetch
1. PC -> MAR; /* trasferimento del contenuto del PC nel MAR */
2. (MAR)->MDR /* trasferimento istruzione da eseguire in MDR*/

WMDR
WPC
PC RPC
Data Bus
INC4
Memoria
Di
BMDR DIR BDB Lavoro
WIR IR Address Bus

WMAR BAB
Fetch
1. PC -> MAR; /* trasferimento del contenuto del PC nel MAR */
2. (MAR) -> MDR /* trasferimento istruzione da eseguire in MDR*/
3. MDR -> IR /* trasferimento istruzione da eseguire nell’IR*/
PC+4->PC /* e predisposizione PC per prelievo prossima
istruzione*/
WMDR
WPC
PC RPC
Data Bus
INC4
Memoria
Di
BMDR DIR BDB Lavoro
WIR IR Address Bus

WMAR B
AB
Fetch: micro-ordini

1. PC -> MAR; /* trasferimento del contenuto del PC sul


MAR */
1. RPC = 1, WMAR = 1
2. (MAR) -> MDR /* trasferimento istruzione da eseguire in MDR*/
1. BAB = 1 /* T1 */
2. BAB = 1, MRD = 1 /* T2 */
3. BAB = 1, MRD = 1, WMDR = 1 /* T3*/
3. MDR -> IR /* trasferimento istruzione da eseguire in IR e
predisposizione PC per prelievo prossima istruzione*/
1. BMDR = 1, WIR = 1, INC4 = 1
Ciclo Istruzione - Decode
fetch5: decodifica istr. utilizzando
RESET
IR e dopo esecuzione delle diverse
istruzioni, add, mov, sub, jump...

reset fetch1 fetch2 fetch3 fetch4 fetch5


IR
I = MOV add1
I = ADD
add2
addx
SCO
Ciclo Istruzione
Ciclo Istruzione - Fetch
Il registro “Program Counter” contiene l’indirizzo
da cui prelevare l’istruzione da eseguire.
Il SCO lo incrementa di 4 ad ogni fetch MEMORIA

Fetch PC

1) PC -> MAR
2) (MAR) -> MDR Istruzione 1
3) MDR -> IR, PC + 4 -> PC
Istruzione 2
IR = Instruction Register
Istruzione 3

Nell’esempio
si assume
che ogni
istruzione sia
Segnali di comando per la SCA e per lo SCO Bus memoria di 4 byte
Esecuzione dell’istruzione
Nel PD32 la fase di esecuzione di un ciclo istruzione
consiste in un numero variabile di cicli macchina dipendente
dal numero di accessi in memoria necessari (oltre al fetch)
ADDW #20h, R2
ADDW R1, R2
Uno degli operandi (0x20) è memorizzato
Entrambi gli operandi sono contenuti nei due byte successivi a quelli contenente
in registri interni del PD32 l’istruzione (indirizzamento immediato)
(indirizzamento a registro)
1. PC -> MAR;
1. PC -> MAR; 2. (MAR) -> MDR
2. (MAR) -> MDR 3. MDR -> IR , PC+4->PC
4. R2 -> Temp1
3. MDR -> IR , PC+4->PC
5. PC -> MAR
4. R1 -> Temp1
6. (MAR) ->MDR
5. R2 -> Temp2 7. MDR -> Temp2, PC+2->PC
6. OUT_ALU -> R2 8. OUT_ALU -> R2
Esercizi
Con riferimento alla parte SCA della CPU, rispondere
• Cosa succede se elimino il buffer temp2? discutere
l’efficienza del sistema (vantaggi e svantaggi)
• Modificare la struttura SCA inserendo due bus dati
• Se ci sono due bus dati come migliora l’efficienza
del sistema? su quali operazioni?
• Nel PD32 ci sono 8 registri dati; discutere vantaggi
e svantaggi di avere molti registri dati (ad es. cento)
• Nel fetch si incrementa il PC per tutte le istruzioni.
Perché è corretto anche per i salti; migliora
l’efficienza?
• Dare il microdice per le istruzioni di salto del PD32