virtual cpu - eniac dr.ssa veronica marchetti università degli studi di roma tor vergata
TRANSCRIPT
![Page 1: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/1.jpg)
Virtual CPU - Eniac
Dr.ssa Veronica Marchetti
Università degli Studi di Roma “Tor Vergata”
![Page 2: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/2.jpg)
rev 1 2
In dettaglio...Vedremo oggi cosa accade all’ interno della
vCPU a fronte della esecuzione delle diverse operazioni :
Load numero ( ‘LOAD 0’ non setta il bit ZE a 1)
Somma
Prodotto
Memorizzazione
![Page 3: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/3.jpg)
Ricordiamo il formato dell’istruzione
Fissato a 24 bit.
8 bit dedicati al codice operativo (b23…b16).
b23 =1 instruzione di tipo o .
3 bit per il tipo dell’argomento (b15…b13).
13 per l’argomento (b12…b0).
![Page 4: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/4.jpg)
Ricordiamo le 2 Classi di istruzioni
La differenza tra le due categorie è formalizzata tramite la specifica di due classi di istruzioni: la classe e la classe .
Le due classi si distinguono per mezzo dell’MSB dell’istruzione: il bit b23.
Nella classe i bit b15…b13
sono sempre assegnati a zero in quanto inutilizzati. La tipologia dell’argomento è insita nel codice operativo.
![Page 5: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/5.jpg)
rev 1 5
Esempio : LOADLOAD ‘numero’
LOAD 5 1 01 00 000 000 0000000000101
b23 =1 istruzioni di tipo
b22b21 = categoria
b20...b16 codificano la specifica operazione all’interno della categoria (per questa categoria si usano solo i bit b20 b 19)
![Page 6: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/6.jpg)
rev 1 6
Ricordiamo:Istruzioni classe α (tipologia variabile)
Codifica del tipo di argomento
Come detto la tipologia dell’argomento delle istruzioni di tipo α viene specificata dai 3 bit di tipo (b15...b13)
b15 identifica la natura dell’argomento dell’istruzione :
1 indica che l’argomento è un nome di registro
0 indica che è un numero naturale
Gli altri due bit, b14b13, assumono di conseguenza
significati diversi in base alla natura dell’argomento
![Page 7: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/7.jpg)
rev 17
Esempio : LOAD @LOAD @5
LOAD @5 1 01 00 000 001 0000000000101
LOAD @BX 1 01 00 000 101 0000000000001
b23 =1 istruzioni di tipo
b22b21 = categoria
b20...b16 codificano la specifica operazione all’interno della categoria (per questa categoria si usano solo i bit b20 b 19)
![Page 8: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/8.jpg)
rev 1 8
LOAD 5
OpCode
![Page 9: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/9.jpg)
rev 1 9
LOAD 5
OpCode
![Page 10: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/10.jpg)
rev 1 10
LOAD @5
OpCode
![Page 11: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/11.jpg)
rev 1 11
LOAD @5
OpCode
![Page 12: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/12.jpg)
rev 1 12
LOAD @@5
OpCode
![Page 13: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/13.jpg)
rev 1 13
LOAD @@5
OpCode
![Page 14: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/14.jpg)
rev 1 14
LOAD BX
OpCode
![Page 15: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/15.jpg)
rev 1 15
LOAD BX
OpCode
![Page 16: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/16.jpg)
rev 1 16
LOAD @BX
OpCode
![Page 17: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/17.jpg)
rev 1 17
LOAD @BX
OpCode
![Page 18: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/18.jpg)
rev 1 18
STORE @6
OpCode
![Page 19: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/19.jpg)
rev 1 19
STORE @6
OpCode
![Page 20: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/20.jpg)
rev 1 20
STORE @@6
OpCode
![Page 21: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/21.jpg)
rev 1 21
STORE @@6
OpCode
![Page 22: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/22.jpg)
rev 1 22
Esempio : SOMMAADD 7 1 10 01 000 000 0000000000111
b23 =1 istruzioni di tipo
b22b21 = categoria
b20...b16 codificano la specifica operazione all’interno della categoria (per questa categoria si usano solo i bit b20 b 19)
![Page 23: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/23.jpg)
rev 1 23
ADD 5
OpCode
![Page 24: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/24.jpg)
rev 1 24
ADD 5
OpCode
![Page 25: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/25.jpg)
rev 1 25
‘ADD 5’ : Cosa accade all’interno dell’ ALU
![Page 26: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/26.jpg)
rev 1 26
MUL @5
OpCode
![Page 27: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/27.jpg)
rev 1 27
MUL @5
OpCode
![Page 28: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/28.jpg)
rev 1 28
‘MUL @5’ : Cosa accade all’interno dell’ ALU
![Page 29: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/29.jpg)
rev 1 29
Un semplice esempioProgramma che calcola (senza istruzioni condizionate) il cubo del
numero contenuto nella cella di memoria 5.
Address Content
0
1 LOAD @5
2 MUL @5
3 MUL @5
4 STORE @6
5 3
6
![Page 30: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/30.jpg)
rev 1 30
Cosa accade…Address Content
0
1 LOAD @5
2 MUL @5
3 MUL @5
4 STORE @6
5 3
6
![Page 31: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/31.jpg)
rev 1 31
STORE CX
OpCode
![Page 32: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/32.jpg)
rev 1 32
STORE CX
OpCode
![Page 33: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/33.jpg)
rev 1 33
STORE @CX
OpCode
![Page 34: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/34.jpg)
rev 1 34
STORE @CX
OpCode
![Page 35: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/35.jpg)
rev 1 35
SUB 0
OpCode
![Page 36: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/36.jpg)
rev 1 36
SUB 0
OpCode
![Page 37: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/37.jpg)
rev 1 37
JZ 21
OpCode
![Page 38: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/38.jpg)
rev 1 38
JZ 21
OpCode
![Page 39: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/39.jpg)
rev 1 39
JMP 11
OpCode
![Page 40: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/40.jpg)
rev 1 40
JMP 11
OpCode
![Page 41: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/41.jpg)
rev 1 41
‘DEC X’ : Cosa accade all’interno dell’ ALU
![Page 42: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/42.jpg)
rev 1 42
‘INC X’ : Cosa accade all’interno dell’ ALU
![Page 43: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/43.jpg)
rev 1 43
‘NOT X’ : Cosa accade all’interno dell’ ALU
![Page 44: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/44.jpg)
rev 1 44
‘NEG X’ : Cosa accade all’interno dell’ ALU
![Page 45: Virtual CPU - Eniac Dr.ssa Veronica Marchetti Università degli Studi di Roma Tor Vergata](https://reader035.vdocuments.pub/reader035/viewer/2022062319/5542eb4f497959361e8be775/html5/thumbnails/45.jpg)
rev 1 45
Eniac
Emulatore di una CPU virtuale progettata e realizzata dal Dott. Mauro Codella e Dott. Dario Dussoni
Attualmente il software è reperibile alla seguente URL :
http://sourceforge.net/projects/eniac/