390 likes | 1.11k Views
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.
E N D
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. • un bit può contenere o 0 o 1 • un byte è una sequenza di 8 bits • una parola consiste di 4 bytes
bit quindi la RAM è una sequenza di bytes byte da cui si leggono ed in cui si scrivono singoli byte o blocchi di 4 bytes consecutivi: le parole. parola
parola in binario 00000000 00000001 00000010 00000011 00000100 00000101 00000110 00000111 00001000 00001001 00001010 00001011 0 1 2 Indirizzamento di byte e parole byte 0 1 2 3 4 5 6 7 8 9 10 11
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
Caratteristiche della RAM • 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)
La CPU: unità centrale di calcolo: registri di calcolo R0 Rn RC P CI1 CI2 CIk IP esegue programmi che sono nella RAM CPU bus RAM ALU
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
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)
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)
Rappresentazione dei dati nella RAM 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.
Con n bit bn-1…b1b0 si rappresentano interi positivi da 0 a 2n-1: Gli interi nel computer Generalmente gli interi occupano una parola di 32 bit: in tutto 232 numeri distinti. e i negativi ?
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.
in binario 111111- 001010= ------- 110101 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
in binario 111111- 000000= ------- 111111 Concludendo: con n = 6 si rappresentano i numeri: Rappr. 0 1 ... 31 32 ... 63 0 1 ... 31 -31 ... -0 Numero positivinegativi • Problemi: • 2 rappresentazioni per lo 0: +0 e –0 63- 0= --- 63 • complicata realizzazione delle operazioni aritmetiche
in binario 1000000- 001010= ------- 0110110 Complemento a due Si complementa il valore assoluto del numero a 2ninvece che a 2n-1. Esempio con n = 6 bit: la rappresentazione di –10 è: 64- 10= --- 54
Complementando 54 (che rappresenta –10) si ottiene 64- 54= --- 10 ha il bit 5 uguale a 0(positivo) in binario 1000000- 110110= ------- 0001010 Complementando 0 si ottiene ancora 0 64- 0= --- 64 ha gli ultimi 6 bit uguali a 0 1000000- 000000= ------- 1000000 in binario
Concludendo: con n = 6 si rappresentano i numeri: Rappr. 0 1 ... 31 32 ... 63 0 1 ... 31 -32 ... -1 Numero positivinegativi Complementando 32 (che rappresenta –32) si ottiene 64- 32= --- 32 ha il bit 5 uguale a 1(negativo) in binario 1000000- 100000= ------- 0100000
In generale: con n bits positivi 0 .... 2n-1-1 negativi -2n-1 .... -1
riporto 001000 in binario 001010+ 001100= ------- 0010110 La somma è semplice (n = 6) Somma di numeri positivi: 10+12 10+ 12= --- 22 I due ultimi riporti sono uguali
riporto 110100 110110+ 110100= ------- 1101010 in binario 106-64=42 64-42 = 22 -2264-22= 42 bit di overflow complemento verifica Somma di numeri negativi: (-10)+(-12) -1064-10 = 54-1264-12 = 52 54+ 52= --- 106 I due ultimi riporti sono uguali
riporto 111100 in binario 110110+ 001100= ------- 1000010 Somma con un numero negativo (-10)+12 -1064-10 = 54 54+ 12= --- 66 I due ultimi riporti sono uguali 66-64 = 2
riporto 011000 in binario 011011+ 001100= ------- 0100111 Risultato troppo grande 27+12 = -25 errore di overflow 27+ 12= --- 39 I due ultimi riporti sono diversi 64-39 = 25-2564-25= 39