Il processore PD 32 Macchina di von Neumann

  • Slides: 68
Download presentation
Il processore PD 32

Il processore PD 32

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

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

Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Calcolo Unità di Controllo

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

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

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

Dal linguaggio ad alto livello al linguaggio macchina Non dipende dalla macchina HW Programma

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 • Insieme Istruzioni della macchina hw • Riferimenti indirizzi fisici Programma in Linguaggio Assembly movw b, R 1 movw c, R 2 addw R 2, R 1 movw R 1, a Assemblatore Programma in Linguaggio Macchina HW 000101. . 010100 1011101. . 010100 01011. . 11101010 010. . 111010

PD 32 • Processore “virtuale” dotato di registri da 32 bit • Non esiste

PD 32 • 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

R 0, R 1. . . registri ALU, shifter unità di calcolo Collegamenti con

R 0, R 1. . . registri ALU, shifter unità di calcolo Collegamenti con memoria e I/O

PD 32 - Sottosistema di Calcolo (SCA) • Registri (basati su Flip-Flop D con

PD 32 - 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

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 microprogramma 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 •

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 b 9 Prima a =a+b a b 24 9 Dopo

Un semplice esempio (2) Per eseguire questa istruzione è necessario – Stabilire dove sono

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 PD 32, 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 R 2, R 1 (somma R 1 con R 2 (16 bit) e poni il risultato in R 1)

Esecuzione istruzione Indirizzo PC 100 PC=Program Counter contatore di programma (memorizza indirizzo dell’ istruzione

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

Istruzione: fase di fetch Indirizzo PC 100 IR adds R 2, R 1 PC=Program

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

Istruzione: decodifica Indirizzo PC 100 IR adds R 2, R 1 . . MEMORIA

Istruzione: decodifica Indirizzo PC 100 IR adds R 2, R 1 . . MEMORIA Controllo Decodifica istruzione: identifica il microprogramma per l’esecuzione dell’istruzione 100

Istruzione: fase di esecuzione Indirizzo PC 100 IR adds R 2, R 1 Controllo

Istruzione: fase di esecuzione Indirizzo PC 100 IR adds R 2, R 1 Controllo adds R 2, R 1 100 . . Risorse di calcolo MEMORIA Esecuzione dell’istruzione (il SCO comanda il SCA)

CPU come interprete L’esecuzione di un programma può essere visto come la ripetizione continua

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 incrementa PC esegui istruzione in IR vai al passo fetch • • (PC) indica il contenuto della locazione di memoria con indirizzo PC La CPU interpreta le istruzioni che 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.

PD 32 - BUS interno • Usato per il collegamento dei registri interni •

PD 32 - 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

PD 32 - BUS interno, segnali di controllo Una sola scrittura per volta (controllo

PD 32 - BUS interno, segnali di controllo Una sola scrittura per volta (controllo mediante Bi) 2 n segnali di controllo (n numero dei registri) WR 0 WR 1 R 0 BR 0 Wi=1, leggi dal bus Bi =1 scrivi sul bus WR 7 R 1 BR 1 R 7 BR 7 32 bit

PD 32 - BUS interno, esempio R 1 -> R 0 Per eseguire il

PD 32 - BUS interno, esempio R 1 -> R 0 Per eseguire il trasferiemento da R 1 ad R 0 (simbolicamente (R 1)->R 0) devono essere affermati solamente i seguenti segnali: BR 1 = 1, WR 0 = 1 WR 0 WR 1 R 0 BR 0 WR 7 R 1 BR 1 R 7 BR 7 32 bit

PD 32 - Banco dei registri • Insieme di 8 registri generali indicati da

PD 32 - Banco dei registri • Insieme di 8 registri generali indicati da R 0 ad R 7 • Sono controllati mediante – Segnali di abilitazione per • scrittura del registro (WM) • lettura e conseguente invio sul bus interno del contenuto del registro (RM) Indirizzo WM RM BUS interno

PD 32 - Banco dei registri Decoder Indirizzo registro WM RM w 0 R

PD 32 - Banco dei registri Decoder Indirizzo registro WM RM w 0 R 0 w 1 R 1 B 0 wi =1, scrivi valore sul bus in Ri Bi = 1, invia sul bus valore di Ri w 7 B 1 R 7 BUS

PD 32 - esempio: R 7 ->BUS Indirizzo registro Address=111, RM=1 Decoder 1 1

PD 32 - esempio: R 7 ->BUS Indirizzo registro Address=111, RM=1 Decoder 1 1 1 Address WM RM w 0 R 0 w 1 B 0 R 1 w 7 B 1 nota: non si può leggere e scrivere contemporaneamente R 7 BUS

PD 32 - ALU • Esegue le operazioni aritmetiche e logiche dei valori memorizzati

PD 32 - ALU • Esegue le operazioni aritmetiche e logiche dei valori memorizzati in due registri tampone (non visibili al programmatore) Temp 1 e Temp 2 • Il risultato è posto in un registro generale Ri 32 TEMP 1 WT 1 TEMP 2 ALU BA WT 2 Op. Code (specifica operazione da eseguire)

PD 32 - ALU, esempio: esecuzione addw R 2, R 1 WM RM TEMP

PD 32 - ALU, esempio: esecuzione addw R 2, R 1 WM RM TEMP 1 WT 1 3 Address TEMP 2 WT 2 REGISTRI Op. Code ALU BA 32

PD 32 - ALU, esempio: esecuzione addw R 2, R 1 1. R 1

PD 32 - ALU, esempio: esecuzione addw R 2, R 1 1. R 1 -> Temp 1 WM RM=1, Address = 001, WT 1=1 RM TEMP 1 WT 1 3 Address TEMP 2 WT 2 REGISTRI Op. Code ALU BA 32

PD 32 - ALU, esempio: esecuzione addw R 2, R 1 1. 2. R

PD 32 - ALU, esempio: esecuzione addw R 2, R 1 1. 2. R 1 -> Temp 1 R 2 -> Temp 2 WM RM=1, Address = 001, WT 1 = 1 RM=1, Address = 010, WT 2 = 1 RM TEMP 1 WT 1 3 Address TEMP 2 WT 2 REGISTRI Op. Code ALU BA 32

PD 321. 2. 3. ALU, esempio: esecuzione addw R 2, R 1 -> Temp

PD 321. 2. 3. ALU, esempio: esecuzione addw R 2, R 1 -> Temp 1 RM=1, Address = 001, WT 1 = 1 R 2 -> Temp 2 RM=1, Address = 010, WT 2 = 1 ALU-OUT(Temp 1+Temp 2)->R 1 WM=1, Address = 001, Op. Code = addw, BA=1 WM RM TEMP 1 WT 1 3 Address TEMP 2 WT 2 REGISTRI Op. Code ALU BA 32

Osservazioni • • Per l’esecuzione dell’istruzione (senza considerare la fase di fetch) sono state

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

PD 32 - Shifter Usato per eseguire operazioni di scorrimento di posizioni, nonché per

PD 32 - 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) 32 bit TEMP 1 WT 1 TEMP 2 Op. Code ALU BA WT 2 SHIFTER Op. Code BS

Shifter (background) Spostamento logico a destra di k posti. bn-i = 0 (per 0

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

Barrel shifter

Schema di una cella

Schema di una cella

PD 32 - Status Register Contiene informazioni sull’esito dell’ultima operazione (ex. zero, overflow). Usato

PD 32 - Status Register Contiene informazioni sull’esito dell’ultima operazione (ex. zero, overflow). Usato anche come ingresso per alcune operazioni (ex. Salti condizionati) 32 TEMP 1 WT 1 TEMP 2 Op. Code. ALU WT 2 SHIFTER ALU BA Op. Code. SHIFTER BS SR BSR

Wt 1 R 0 Wt 2 TEMP 1 TEMP 2 singola linea AND linee

Wt 1 R 0 Wt 2 TEMP 1 TEMP 2 singola linea AND linee multiple ALU shifter B B BA R 1 . . decoder . . M U X S R 7 AND BS SR B SR AND opcode IR W MUX IR AND PC INC(N=1, 2, 4) W R M W PC M R PC N. B. non sono evidenziate le variabili di condizione che da SR e IR vanno al SCO

Incremento PC INC 4 INC 2 INC 1 WPC PC R PC Il PC

Incremento PC INC 4 INC 2 INC 1 WPC PC R 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

PD 32 - Interazione con la memoria • La memoria contiene sia i dati

PD 32 - 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

Memoria: organizzazione logica Organizzazione logica a vettore di 16 celle di memoria Un’organizzazione a 4 moduli di 16 celle di memoria

Organizzazione di una RAM statica (4 x 3 bit)

Organizzazione di una RAM statica (4 x 3 bit)

Memoria RAM

Memoria RAM

Memoria comportamento esterno Funzionalmente è caratterizzata dai seguenti segnali – – – Indirizzo della

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

Memoria organizzazione in moduli Data BUS (32 bit) d 31…d 24 d 15…d 8

Memoria organizzazione in moduli Data BUS (32 bit) d 31…d 24 d 15…d 8 d 7…d 0 MR MW CS CS a 2…a 31 Mb 3 Mb 2 Mb 1 Mb 0 d 23…d 16 a 2…a 31 Address BUS (30 bit)

Memoria: spazio di indirizzamento Locazione 0000 Lo spazio di indirizzamento del PD 32 e’

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

Memoria: disallineamento Esempio di memorizzazione di una informazione di quattro byte allineati sullo stesso

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) d 31…d 24 d 15…d 8 d

Memoria: byte allineati Data BUS (32 bit) d 31…d 24 d 15…d 8 d 7…d 0 MR MW CS CS a 2…a 31 Mb 3 Mb 2 Mb 1 Mb 0 d 23…d 16 a 2…a 31 Address BUS (30 bit)

Memoria: byte non allineati (1) Data BUS (32 bit) d 31…d 24 d 15…d

Memoria: byte non allineati (1) Data BUS (32 bit) d 31…d 24 d 15…d 8 d 7…d 0 MR MW CS CS a 2…a 31 Mb 3 Mb 2 Mb 1 Mb 0 d 23…d 16 a 2…a 31 Address BUS (30 bit)

Memoria: byte non allineati (2) Data BUS (32 bit) d 31…d 24 d 15…d

Memoria: byte non allineati (2) Data BUS (32 bit) d 31…d 24 d 15…d 8 d 7…d 0 MR MW CS CS a 2…a 31 Mb 3 Mb 2 Mb 1 Mb 0 d 23…d 16 a 2…a 31 Address BUS (30 bit)

Memoria: interfaccia del PD 32 Registro Memoria Dati (MDR) Registro Indirizzo (MAR) Segnali di

Memoria: interfaccia del PD 32 Registro Memoria Dati (MDR) Registro Indirizzo (MAR) Segnali di Controllo (MR, MW, Mb 3, Mb 2, Mb 1, Mb 0) WMDR SCO Segnali di Controllo Bus interno dati MDR BMDR MAR • • • Memoria Di Lavoro indirizzi WMAR

Memoria: interfaccia SCA del PD 32

Memoria: interfaccia SCA del PD 32

PD 32 - Interazione con l’esterno • Ogni fase che comporta l’interazione con le

PD 32 - 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 INTERFACCIA indirizzi Indipendente dal dispositivo Decoder segnali di controllo Registro

Interfaccia dispositivi di I/O INTERFACCIA indirizzi Indipendente dal dispositivo Decoder segnali di controllo Registro segnali di Device controllo Control dati BUS

Dispositivi di I/O: interfaccia del PD 32 • Registro Dati (I/ODR) • Registro Indirizzo

Dispositivi di I/O: interfaccia del PD 32 • Registro Dati (I/ODR) • Registro Indirizzo (I/OAR) • Segnali di Controllo (I/OR, I/OW, Start, ………. ) SCO Segnali di Controllo Bus interno I/0 AR BI/ODR WMDR dati Dispositivo di I/O indirizzi WMAR

I/O: interfaccia SCA del PD 32

I/O: interfaccia SCA del PD 32

Interconnesione del PD 32 30 PD 32 32 Interfaccia I/O Modulo di memoria dispositivo

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

Sottosistema di controllo (SCO) Data In Data Out SCA (SLAVE) Stato o variabili di

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

Sottosistema di controllo (SCO) Decodifica

Sottosistema di controllo (SCO) Decodifica

SCO: schema di Mealy variabili di condizione circuito di selezione reg. SEL ROM CK

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

SCO: schema di Moore Cod. Classe: codice istruzione Load: segnale di caricamento nuova istruzione

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 T 1 T 2 CLOCK BUS INDIRIZZI

Interazione con la memoria: ciclo di scrittura T 1 T 2 CLOCK BUS INDIRIZZI indirizzo MWR BUS DATI dato T 3

Interazione con la memoria: ciclo di lettura T 1 T 2 T 3 CLOCK

Interazione con la memoria: ciclo di lettura T 1 T 2 T 3 CLOCK BUS INDIRIZZI indirizzo MRD BUS DATI dato

Passi elementari per eseguire il Fetch (ipotesi: 4 byte allineati in memoria) PC ->

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

Fetch PC -> MAR; /* trasferimento del contenuto del PC nel MAR */ (MAR)->MDR

Fetch PC -> MAR; /* trasferimento del contenuto del PC nel MAR */ (MAR)->MDR /* trasferimento istruzione da eseguire in MDR*/ WMDR WPC PC RPC MDR 1. 2. INC 4 Data Bus BMDR IR DIR BDB MAR WIR Memoria Di Lavoro WMAR Address Bus BAB

Fetch PC -> MAR; /* trasferimento del contenuto del PC nel MAR */ (MAR)

Fetch 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 WPC PC RPC MDR 1. 2. 3. INC 4 Data Bus BMDR IR DIR BDB MAR WIR Memoria Di Lavoro WMAR Address Bus BAB

Fetch: micro-ordini 1. PC -> MAR; /* trasferimento del contenuto del PC sul MAR

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 /* T 1 */ 2. BAB = 1, MRD = 1 /* T 2 */ 3. BAB = 1, MRD = 1, WMDR = 1 /* T 3*/ 3. MDR -> IR /* trasferimento istruzione da eseguire in IR e predisposizione PC per prelievo prossima istruzione*/ 1. BMDR = 1, WIR = 1, INC 4 = 1

Ciclo Istruzione - Decode fetch 5: decodifica istr. utilizzando IR e dopo esecuzione delle

Ciclo Istruzione - Decode fetch 5: decodifica istr. utilizzando IR e dopo esecuzione delle diverse istruzioni, add, mov, sub, jump. . . RESET reset fetch 1 fetch 2 fetch 3 fetch 4 I = MOV fetch 5 IR add 1 I = ADD add 2 SCO addx

Ciclo Istruzione

Ciclo Istruzione

Ciclo Istruzione - Fetch Il registro “Program Counter” contiene l’indirizzo da cui prelevare l’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 Fetch 1) 2) 3) MEMORIA PC PC -> MAR (MAR) -> MDR -> IR, PC + 4 -> PC Istruzione 1 Istruzione 2 IR = Instruction Register Segnali di comando per la SCA e per lo SCO Istruzione 3 Bus memoria Nell’esempio si assume che ogni istruzione sia di 4 byte

Esecuzione dell’istruzione Nel PD 32 la fase di esecuzione di un ciclo istruzione consiste

Esecuzione dell’istruzione Nel PD 32 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 R 1, R 2 Entrambi gli operandi sono contenuti in registri interni del PD 32 (indirizzamento a registro) ADDW #20 h, R 2 Uno degli operandi (0 x 20) è memorizzato nei due byte successivi a quelli contenente l’istruzione (indirizzamento immediato) 1. PC -> MAR; 2. (MAR) -> MDR 3. MDR -> IR , PC+4 ->PC 4. R 2 -> Temp 1 4. R 1 -> Temp 1 5. PC -> MAR 5. R 2 -> Temp 2 6. (MAR) ->MDR 6. OUT_ALU -> R 2 7. MDR -> Temp 2, PC+2 ->PC 8. OUT_ALU -> R 2

Esercizi Con riferimento alla parte SCA della CPU, rispondere • Cosa succede se elimino

Esercizi Con riferimento alla parte SCA della CPU, rispondere • Cosa succede se elimino il buffer temp 2? 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 PD 32 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 PD 32