l’architettura di von neumann
DESCRIPTION
L’architettura di Von Neumann. CPU. RAM. Mem second. I/O. bus. RAM = Random Access Memory memoria ad accesso casuale. Nella RAM, come ovunque in un computer, le informazioni sono rappresentate con sequenze di 0 e di 1. Numeri binari. La RAM quindi è fatta per contenere tali numeri. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/1.jpg)
L’architettura di Von Neumann
CPU RAMMem
secondI/O
bus
![Page 2: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/2.jpg)
RAM = Random Access Memory memoria ad accesso casuale
Nella RAM, come ovunque in un computer, le informazioni sono rappresentate con sequenze di 0 e di 1. Numeri binari.
La RAM quindi è fatta per contenere tali numeri.
•un bit può contenere o 0 o 1
•un byte è una sequenza di 8 bits
•una parola consiste di 4 bytes
![Page 3: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/3.jpg)
quindi la RAM è
una sequenza di bytesbyte
da cui si leggono ed in cui si scrivono singoli byte o blocchi di 4 bytes consecutivi: le parole.
bit
parola
![Page 4: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/4.jpg)
0
1
2
3
4
5
6
7
8
9
10
11
Indirizzamento di byte e parolebyte
0
1
2
parola00000000
00000001
00000010
00000011
00000100
00000101
00000110
00000111
00001000
00001001
00001010
00001011
in binario
![Page 5: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/5.jpg)
unità di misura della RAM
1 Kilo byte: 210 = 1024 bytes, 1000
1 Mega byte: 220 = 1.048.576 bytes, 1000000
1 Giga byte 230 = 1.073.741.824 bytes, 109
1 Tera byte 240 = 1.099.511.627.776 bytes, 1012
![Page 6: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/6.jpg)
• RAM accedere ad ogni byte ha la stessa durata (10-7 sec): non dipende da quale byte è stato acceduto prima
• è volatile: se tolgo la spina l’informazione è persa (c’è anche la ROM)
• ogni byte ha un indirizzo 0,1,2......
• il byte è la minima quantità accessibile (attraverso il suo indirizzo)
Caratteristiche della RAM
![Page 7: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/7.jpg)
La CPU: unità centrale di calcolo:
bus
RAM
ALU
CI1 CI2 CIk
P
IP
RC
CPU
R0
Rn
registri di calcolo
esegue programmi che sono nella RAM
![Page 8: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/8.jpg)
La CPU esegue continuamente il ciclo ADE=Access/Decode/Execute
• Access: preleva dalla RAM la prossima istruzione da eseguire (l’indirizzo è in P, l’istruzione viene messa in IP)
• Decode: decifra il codice dell’istruzione I che si trova memorizzata in IP
• Execute: la esegue attivando il circuito CI
![Page 9: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/9.jpg)
Memoria Secondaria:
• è permanente
• dischi fissi, floppy, nastri magnetici, CD
• accesso sequenziale o misto (il tempo varia a seconda dell’accesso precedente)
• è adatta per leggere/scrivere grandi quantità di dati (in posizioni contigue)
![Page 10: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/10.jpg)
I/O = Input/Output
Dispositivi di comunicazione utente computer. In un personal computer:
• Input = tastiera
• output = video / stampanti
• velocità diverse e molto minori delle altre parti del computer (decimi di sec)
![Page 11: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/11.jpg)
I dati fondamentali sono:INTERI, REALI e CARATTERI
Il computer ha memoria finita e quindi l’insieme dei numeri interi rappresentabili, quello dei numeri reali rappresentabili e quello dei caratteri rappresentabili sono necessariamente finiti.
Rappresentazione dei dati nella RAM
![Page 12: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/12.jpg)
Gli interi nel computer
e i negativi ?
Generalmente gli interi occupano una parola di 32 bit: in tutto 232 numeri distinti.
0201
0min
n
i
ix
12211
0max
nn
i
ix
1
0
00
11
11 2222
n
i
ii
nn bbbbx
Con n bit bn-1…b1b0 si rappresentano interi positivi da 0 a 2n-1:
![Page 13: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/13.jpg)
Riserviamo il primo bit per il segno:0 = positivo 1 = negativo.
I numeri positivi rappresentabili sono quelli compresi tra 0 e 2n-1-1
Vi sono due modi per rappresentare i numeri negativi detti rispettivamente rappresentazione con complemento a 1 e con complemento a 2.
![Page 14: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/14.jpg)
Complemento a uno
Si complementa a 2n-1 il valore assoluto del numero.
Esempio con n = 6 bit: la rappresentazione di –10 è:
63- 10=--- 53
111111- 001010=------- 110101
in binario
![Page 15: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/15.jpg)
Problemi:• 2 rappresentazioni per lo 0: +0 e –0
63- 0=--- 63
111111- 000000=------- 111111
in binario
• complicata realizzazione delle operazioni aritmetiche
Concludendo: con n = 6 si rappresentano i numeri:
0 1 ... 31 32 ... 63
0 1 ... 31 -31 ... -0 positivi negativi
Rappr.
Numero
![Page 16: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/16.jpg)
Complemento a due
Si complementa il valore assoluto del numero a 2n invece che a 2n-1.
Esempio con n = 6 bit: la rappresentazione di –10 è:
64- 10=--- 54
1000000- 001010=-------0110110
in binario
![Page 17: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/17.jpg)
Complementando 0 si ottiene ancora 0
64- 0=--- 64 ha gli ultimi 6 bit uguali a 0
in binario 1000000- 000000=-------1000000
Complementando 54 (che rappresenta –10) si ottiene 64- 54=--- 10 ha il bit 5 uguale a 0(positivo)
in binario 1000000- 110110=-------0001010
![Page 18: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/18.jpg)
Complementando 32 (che rappresenta –32) si ottiene
64- 32=--- 32 ha il bit 5 uguale a 1(negativo)
in binario 1000000- 100000=-------0100000
Concludendo: con n = 6 si rappresentano i numeri:
0 1 ... 31 32 ... 63
0 1 ... 31 -32 ... -1 positivi negativi
Rappr.
Numero
![Page 19: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/19.jpg)
In generale: con n bits
positivi 0 .... 2n-1-1
negativi -2n-1 .... -1
![Page 20: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/20.jpg)
La somma è semplice (n = 6)
10+ 12=--- 22
Somma di numeri positivi: 10+12
in binario 001010+ 001100=-------0010110
001000riporto
I due ultimi riporti sono uguali
![Page 21: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/21.jpg)
Somma di numeri negativi: (-10)+(-12)
-10 64-10 = 54 -12 64-12 = 52
106-64=42
bit di overflow
54+ 52=---106
complemento
64-42 = 22
verifica
-22 64-22= 42
in binario 110110+ 110100=-------1101010
110100riporto
I due ultimi riporti sono uguali
![Page 22: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/22.jpg)
54+ 12=--- 66
Somma con un numero negativo (-10)+12
-10 64-10 = 54
66-64 = 2
in binario 110110+ 001100=-------1000010
111100riporto
I due ultimi riporti sono uguali
![Page 23: L’architettura di Von Neumann](https://reader033.vdocuments.pub/reader033/viewer/2022061518/5681351a550346895d9c715a/html5/thumbnails/23.jpg)
27+ 12=--- 39
Risultato troppo grande 27+12
64-39 = 25 -25 64-25= 39
= -25 errore di overflow
in binario 011011+ 001100=-------0100111
011000riporto
I due ultimi riporti sono diversi