Il processore PD32.

Slides:



Advertisements
Presentazioni simili
Circuiti Aritmetico-Logici
Advertisements

La struttura fisica e logica di un elaboratore
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Elaboratore e Sistemi Operativo
Informatica Generale Susanna Pelagatti
Architettura di un sistema informatico Hardware
CdL Ingegneria Informatica n.o. Anno Accademico 2007/08 Fondamenti di Informatica I – corso A Giacomo Piscitellipag. 1/30 Architettura dei calcolatori.
Il Linguaggio Macchina
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Caratteristiche principali dell’architettura del processore MIPS
CALCOLATORI ELETTRONICI
Caratteristiche principali dell’architettura del processore MIPS
Macchina a stati finiti DMAC 1.I/O dalla memoria al disco in modalità Burst 2.I/O dalla memoria al disco in modalità Burst Stealing 3.I/O dal disco alla.
Interfaccia del Timer1 I/O AB I/O DB I/O CB Dec SELECT START IRQ SCO R Q S Q STATUS STARTDEV COMPLETE CLEAR IVN CPU IACK IN IACK OUT IRQ IOWR REG COUNTER.
Esercizio Esame Un processore PD32 è interfacciato a due periferiche di input A e B, e ad un DMAC il quale puo’ gestire trasferimento di dati da B verso.
Schema di principio del SCA di una MMU Memory Management Unit
Gestione delle subroutine
Caratteristiche principali dell’architettura del processore MIPS
Il livello Microarchitetturale
Il Linguaggio Macchina
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
ARCHITETTURA DEL CALCOLATORE
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
Architettura dell’elaboratore
Il Calcolatore Elettronico
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Alcune Istruzioni per la gestione dellI/O (Classe 7) Per la destinazione D0 sono ammessi tutti i tipi di indirizzamento tranne quello immediato. Per la.
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Sia TAPE una periferica di gestione di nastri magnetici in grado di acquisire/fornire dati a 8 bit, e sia CD una periferica di masterizzazione in grado.
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Architettura di una CPU
Architettura del calcolatore
3  Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione  elaborazione dati  memorizzazione dati 
Calcolatori Elettronici Il Processore
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
CALCOLATORI ELETTRONICI
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Sistemi Elettronici Programmabili
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Informatica Lezione 4 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 20 Maggio.
Come esegue le istruzioni il microprocessore Un’istruzione è sempre composta da più operazioni elementari.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Dalla macchina di Von Neumann …
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

Il processore PD32

Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo

Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo SCA Unità di Controllo SCO Segnali di controllo/condizione Flusso dati

Modifica macchina di Von Neumann con CPU Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo CPU

Dal linguaggio ad alto livello al linguaggio macchina Non dipende dalla macchina HW Programma in Linguaggio alto Livello a=b+c Compilatore Insieme istruzioni che dipendono dalla macchina hw (simboliche) Commenti Riferimenti simbolici movw b,R1 movw c,R2 addw R2,R1 movw R1,a Programma in Linguaggio Assembly Assemblatore 000101..010100 1011101..010100 01011..11101010 010..1110101010 Insieme Istruzioni della macchina hw Riferimenti indirizzi fisici Programma in Linguaggio Macchina Macchina HW

PD32 Processore “virtuale” dotato di registri da 32 bit Non esiste nella realtà, ma le sue funzionalità sono simulate tramite un programma Nel seguito sarà usato per approfondire alcuni aspetti legati alle architetture dei calcolatori Sistema multiciclo No pipeline, no memoria cache

R0,R1... registri Collega-menti con memoria e I/O ALU, shifter unità di calcolo

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

Esecuzione dell’istruzione L’esecuzione dell’istruzione prevede tre fasi fetch, decodifica e esecuzione La decodifica è fatta dal sistema di controllo (SCO); le altre da SCA SCA utilizza le risorse del processore La fase di esecuzione di un ciclo istruzione consiste in un numero variabile (dipende dall’istruzione) di operazioni elementari (cicli macchina) Ciascun ciclo esegue un’operazione elementare (ad esempio trasferimento di un dato da un registro)

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 a 15 24 a =a+b b b 9 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 (32 bit) e poni il risultato in R1

Esecuzione istruzione Indirizzo 100 PC adds R2,R1 100 . PC=Program Counter contatore di programma (memorizza indirizzo dell’ istruzione in esecuzione) MEMORIA

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

Istruzione: decodifica Indirizzo adds R2,R1 100 PC 100 IR adds R2,R1 . MEMORIA Controllo Decodifica istruzione: predispone i comandi per la sua esecuzione

Istruzione: fase di esecuzione Indirizzo PC adds R2,R1 100 100 IR adds R2,R1 . MEMORIA Controllo Risorse di calcolo Esecuzione dell’istruzione (consiste di diversi passi)

CPU come interprete La CPU può essere specificato come la ripetizione continua del seguenti passi (Ciclo Istruzione) che interpretano le istruzioni di un programma contenuto in memoria. fetch: (PC)IR incrementa PC esegui istruzione in IR vai al passo fetch La CPU interpreta le istruzioni che man mano sono presenti nel suo Instruction Register (nota che l’esecuzione istr. puo’ modificare PC) Tale schema è semplificato poiché per interagire con l’esterno, o gestire situazioni anomale, tale ciclo deve poter essere interrotto. La notazione (PC) indica il contenuto della locazione di memoria con indirizzo PC

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 BR7 BR1 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 Decoder Indirizzo registro R0 R1 R7 WM RM R0 R1 R7 w7 w1 w0 B0 B1 B7 wi =1, scrivi valore sul bus in Ri Bi = 1, invia sul bus valore di Ri BUS

PD32- esempio: R7 ->BUS Indirizzo registro Address=111, RM=1 Decoder 1 Address WM RM R0 R1 R7 w7 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 (specifica operazione da eseguire) ALU BA

PD32- ALU, esempio: esecuzione addw R2,R1 WM RM REGISTRI TEMP1 TEMP2 WT2 WT1 3 Address OpCode ALU BA 32

PD32- ALU, esempio: esecuzione addw R2,R1 R1 -> Temp1 RM=1, Address = 001, WT1=1 WM RM REGISTRI TEMP1 TEMP2 WT2 WT1 3 Address OpCode ALU BA 32

PD32- ALU, esempio: esecuzione addw R2,R1 R1 -> Temp1 RM=1, Address = 001, WT1 = 1 R2 -> Temp2 RM=1, Address = 010, WT2 = 1 WM RM REGISTRI TEMP1 TEMP2 WT2 WT1 3 Address OpCode ALU BA 32

PD32- ALU, esempio: esecuzione addw R2,R1 R1 -> Temp1 RM=1, Address = 001, WT1 = 1 R2 -> Temp2 RM=1, Address = 010, WT2 = 1 ALU-OUT(Temp1+Temp2)->R1 WM=1, Address = 001, OpCode = addw, BA=1 WM RM REGISTRI TEMP1 TEMP2 WT2 WT1 3 Address 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 WT1 32 bit 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  

Barrel shifter

Schema di una cella

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

Wt1 Wt2 R0 TEMP1 TEMP2 singola linea linee multiple opcode AND AND opcode ALU shifter B B R1 BA S R BS B SR AND AND decoder . M I R . . . U . X . S MUX W R7 IR AND AND INC(N=1,2,4) PC W PC R W M M 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 non si eseguono istruzione di salto) NOTA: le istruzioni PD-32 possono avere lunghezza diversa; quindi incremento PC è variabile INC2 PC INC1 WPC R PC

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 Organizzazione logica a vettore di 16 celle di memoria Un’organizzazione a 4 moduli di 16 celle di memoria

Memoria RAM

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 MW CS MR Dato valido Indirizzo m bit

Memoria organizzazione in moduli Data BUS (32 bit) d31…d24 d23…d16 d15…d8 d7…d0 MR MW CS MR MW CS MR MW CS MR MW CS a2…a31 a2…a31 a2…a31 a2…a31 Mb3 Mb2 Mb1 Mb0 Address BUS (30 bit)

Memoria: spazio di indirizzamento Lo spazio di indirizzamento del PD32 e’ monodimensionale e Composto da 232 locazioni (byte) Locazione 00000000 Byte (8 bit) Word (16 bit) Locazione FFFFFFFF Longword (32 bit)

Memoria: disallineamento Esempio di memorizzazione di una informazione di quattro byte allineati sullo stesso indirizzo di riga. Esempio di memorizzazione di una informazione di quattro byte disallineati 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 MW CS MR MW CS MR MW CS MR MW CS a2…a31 a2…a31 a2…a31 a2…a31 Mb3 Mb2 Mb1 Mb0 Address BUS (30 bit)

Memoria: byte non allineati (1) Data BUS (32 bit) d31…d24 d23…d16 d15…d8 d7…d0 MR MW CS MR MW CS MR MW CS MR MW CS a2…a31 a2…a31 a2…a31 a2…a31 Mb3 Mb2 Mb1 Mb0 Address BUS (30 bit)

Memoria: byte non allineati (2) Data BUS (32 bit) d31…d24 d23…d16 d15…d8 d7…d0 MR MW CS MR MW CS MR MW CS MR MW CS a2…a31 a2…a31 a2…a31 a2…a31 Mb3 Mb2 Mb1 Mb0 Address BUS (30 bit)

Memoria: interfaccia del PD32 Registro Memoria Dati (MDR) Registro Indirizzo (MAR) Segnali di Controllo (MR,MW, Mb3, Mb2, Mb1, Mb0) WMDR Memoria Di Lavoro SCO dati BMDR MDR Segnali di Controllo MAR indirizzi Bus interno WMAR

Memoria: interfaccia 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 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 Indipendente dal dispositivo Dipendente dal dispositivo indirizzi Decoder segnali di controllo segnali di controllo Device 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 Dispositivo di I/O SCO dati BI/ODR I/ODR Segnali di Controllo I/0AR indirizzi Bus interno WMAR

I/O: interfaccia SCA del PD32

Interconnesione del PD32 30 PD32 Memory address bus Memory control bus Memory data bus 32 Modulo di memoria Modulo di memoria 8 32 Interfaccia I/O dispositivo di I/O Interfaccia I/O dispositivo di I/O I/O address bus I/O control bus I/O data bus

Sottosistema di controllo (SCO) SCA (SLAVE) SCO (MASTER) TASK Data In Data Out Stato o variabili di condizionamento Variabili Condizionamento esterne Uscite

Sottosistema di controllo (SCO) Decodifica

SCO: schema di Mealy ROM CK reg. SEL variabili di condizione circuito di selezione ROM micro ordini codice classe load CK spostamento base reset

SCO: schema di Moore Cod. Classe: codice istruzione Load: segnale di caricamento nuova istruzione (a fine fetch) Reset: azzera cod. classe (inizia fetch) variab. di cond.: influenzano esecuzione istr. (ad es. var. in SR) Micrordini: comandi per SCA CK: clock

Interazione con la memoria: ciclo di scrittura CLOCK BUS INDIRIZZI indirizzo MWR dato BUS DATI

Interazione con la memoria: ciclo di lettura CLOCK BUS indirizzo INDIRIZZI MRD BUS dato DATI

Passi elementari per eseguire il Fetch (ipotesi: 4 byte allineati in memoria) PC -> MAR; /* trasferimento del contenuto del PC nel MAR */ MDR MAR Memoria Di Lavoro WMAR WMDR PC RPC IR WIR WPC Address Bus Data Bus B DIR DB AB INC4

Fetch Memoria Di MDR Lavoro MAR PC -> MAR; /* trasferimento del contenuto del PC nel MAR */ (MAR)->MDR /* trasferimento istruzione da eseguire in MDR*/ WMDR Memoria Di Lavoro WPC RPC PC Data Bus INC4 MDR B DIR B MDR DB WIR IR MAR Address Bus WMAR B AB

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

Fetch: micro-ordini PC -> MAR; /* trasferimento del contenuto del PC sul MAR */ RPC = 1, WMAR = 1 (MAR) -> MDR /* trasferimento istruzione da eseguire in MDR*/ BAB = 1 /* T1 */ BAB = 1, MRD = 1 /* T2 */ BAB = 1, MRD = 1, WMDR = 1 /* T3*/ MDR -> IR /* trasferimento istruzione da eseguire in IR e predisposizione PC per prelievo prossima istruzione*/ BMDR = 1, WIR = 1, INC4 = 1

Ciclo Istruzione - Decode fetch5: decodifica istr. utilizzando IR e dopo esecuzione delle diverse istruzioni, add, mov, sub, jump... RESET reset fetch1 fetch2 fetch3 fetch4 fetch5 IR add1 I = MOV 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 -> MAR (MAR) -> MDR MDR -> IR, PC + 4 -> PC PC Istruzione 1 Istruzione 2 IR = Instruction Register Istruzione 3 Si assume che ogni istruzione sia di 4 byte Segnali di comando per la SCA e per lo SCO Bus memoria

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 nei due byte successivi a quelli contenente l’istruzione (indirizzamento immediato) Entrambi gli operandi sono contenuti in registri interni del PD32 (indirizzamento a registro) PC -> MAR; (MAR) -> MDR MDR -> IR , PC+4->PC R2 -> Temp1 PC -> MAR (MAR) ->MDR MDR -> Temp2, PC+2->PC OUT_ALU -> R2 PC -> MAR; (MAR) -> MDR MDR -> IR , PC+4->PC R1 -> Temp1 R2 -> Temp2 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