Differenze tra le versioni di "Lezioni: introduzione generale"
Riga 6: | Riga 6: | ||
Dal punto di vista logico la memoria è una sorta di vettore di elementi individuati univocamente da un ''indice'' progressivo che ne rappresenta l'indirizzo. Tali elementi possono essere rappresentati plasticamente da celle di una griglia più grande, che è la memoria medesima. | Dal punto di vista logico la memoria è una sorta di vettore di elementi individuati univocamente da un ''indice'' progressivo che ne rappresenta l'indirizzo. Tali elementi possono essere rappresentati plasticamente da celle di una griglia più grande, che è la memoria medesima. | ||
− | =Codificazione dei dati in memoria: i dati come stati di tensione elettrica= | + | =Codificazione dei dati in memoria: i dati elementari come stati di tensione elettrica= |
I dati in memoria vengono salvati attraverso stati di tensione elettrica, così distinti: | I dati in memoria vengono salvati attraverso stati di tensione elettrica, così distinti: | ||
* tensione alta: V<FONT Size=1>high</font> = 5v o 3,3v | * tensione alta: V<FONT Size=1>high</font> = 5v o 3,3v | ||
Riga 36: | Riga 36: | ||
Per rendere ancor più comprensibile e semplificare la rappresentazione dei valori di tensione (per ora convertiti in rappresentazione binaria con bit posti a 0 o 1 a seconda della tensione elettrica rappresentata), si è convenzionalmente attribuito un numero a ciascun bit in ragione della sua posizione all'interno del Byte: | Per rendere ancor più comprensibile e semplificare la rappresentazione dei valori di tensione (per ora convertiti in rappresentazione binaria con bit posti a 0 o 1 a seconda della tensione elettrica rappresentata), si è convenzionalmente attribuito un numero a ciascun bit in ragione della sua posizione all'interno del Byte: | ||
128 64 32 16 8 4 2 1 | 128 64 32 16 8 4 2 1 | ||
− | + | sommando tali valori dei bit si ottiene '''255'''. Inoltre, va sottolineato che sulla base delle diverse combinazioni dello stato binario (0 e 1) che ogni bit può assumere, il Byte può assumere '''256''' valori diversi, come una sorta di gradiente partendo dallo 0 (ossia tutti i bit con stato a 0) sino a 255 (tutti i bit con stato a 1). | |
+ | Quindi lo stato dei bit di ogni byte può essere rappresentato attraverso un numero intero dato dalla somma dei numeri rappresentati da ogni bit avente stato posto a 1. | ||
<BR>Esempio: | <BR>Esempio: | ||
| '''0''' | '''1'''| '''0'''| '''1'''|'''0'''|'''0'''|'''0'''|'''1'''| | | '''0''' | '''1'''| '''0'''| '''1'''|'''0'''|'''0'''|'''0'''|'''1'''| | ||
Riga 48: | Riga 49: | ||
==Dati monobyte e dati multibyte== | ==Dati monobyte e dati multibyte== | ||
− | Poiché il processore centrale è in grado di eseguire operazioni aritmetiche semplici, i numeri da computare sono rappresentati ovviamente da Byte (insieme di 8 bit) di dati. | + | Poiché il processore centrale è in grado di eseguire operazioni aritmetiche semplici, i numeri da computare sono rappresentati ovviamente da Byte (insieme di 8 bit) di dati. Nei paragrafi precedenti abbiamo visto come - per semplificazione - ogni bit assume un valore numerico in base alla sua posizione nel byte. |
<FONT Color=red size=4><B>Pagina in costruzione !</b></font> | <FONT Color=red size=4><B>Pagina in costruzione !</b></font> |
Versione delle 06:32, 21 apr 2018
Gli elementi fondamentali e basilari di un calcolatore sono un microprocessore, per elaborare i dati, e la memoria, per immagazzinare i dati elaborati o da elaborare da parte del microprocessore.
Indice
La Memoria
La Memoria è il supporto che consente di conservare dati, informazioni nel tempo.
Dal punto di vista logico la memoria è una sorta di vettore di elementi individuati univocamente da un indice progressivo che ne rappresenta l'indirizzo. Tali elementi possono essere rappresentati plasticamente da celle di una griglia più grande, che è la memoria medesima.
Codificazione dei dati in memoria: i dati elementari come stati di tensione elettrica
I dati in memoria vengono salvati attraverso stati di tensione elettrica, così distinti:
- tensione alta: Vhigh = 5v o 3,3v
- tensione bassa: Vlow = 0v
In tal senso gli stati di tensione elettrica, appena visti, possono essere considerati i dati di informazione più basilari ed elementari nella tecnologia digitale informatica. Pertanto i dati vengono codificati sempre mediante "sequenze" di valori di tensione Vhigh o Vlow.
Esempio:
5v 5v 5v 5v __⌈¯¯⌊__⌈¯¯¯¯¯⌊_____⌈¯¯⌊ 0v 0v 0v 0v
Rappresentazione degli stati di tensione elettrica nel sistema binario
Affinché sia umanamente più comprensibile soprattutto in fase di operazioni aritmetiche, tali valori di tensione vengono per convenzione rappresentati dalle due cifre binarie 0 e 1.
Ogni stato di tensione Vhigh o Vlow è chiamato bit. Pertanto la CPU e la memoria lavorano tramite sequenze di bit aventi stato 1 oppure 0.
Affinché la CPU possa effettuare le operazioni in aritmetica binaria, che è capace di compiere, deve ricevere gruppi di sequenze di bit, che per essa abbiano significato. Ogni gruppo di stati di tensione, bit, avente per la CPU un significato operativo (ad esempio un comando), è formato da 8 bit. La CPU infatti esegue solo istruzioni: ogni sequenza di bit (stati di tensione Vhigh o Vlow), che giunge alla CPU in qualità di istruzione, produce nel microprocessore una elaborazione di tali dati e conseguenzialmente delle azioni, che hanno effetti esterni alla CPU medesima.
Ugualmente anche ogni cella (indirizzo) di memoria potrà contenere, memorizzato, solo e sempre un insieme di 8 bit.
Ogni gruppo di 8 bit è chiamato Byte.
Riprendendo l'esempio, sopra esposto, di una sequenza di valori di tensioni elettriche, possiamo così rappresentarla in binario (sequenza di bit aventi stato 0 oppure stato 1):
8 bit 01011001 1 Byte
Il bit più a destra è ritenuto il bit meno significativo dell'ottetto, mentre il bit più a sinistra è considerato il bit più significativo.
Dalla rappresentazione binaria alla rappresentazione numerica
Per rendere ancor più comprensibile e semplificare la rappresentazione dei valori di tensione (per ora convertiti in rappresentazione binaria con bit posti a 0 o 1 a seconda della tensione elettrica rappresentata), si è convenzionalmente attribuito un numero a ciascun bit in ragione della sua posizione all'interno del Byte:
128 64 32 16 8 4 2 1
sommando tali valori dei bit si ottiene 255. Inoltre, va sottolineato che sulla base delle diverse combinazioni dello stato binario (0 e 1) che ogni bit può assumere, il Byte può assumere 256 valori diversi, come una sorta di gradiente partendo dallo 0 (ossia tutti i bit con stato a 0) sino a 255 (tutti i bit con stato a 1).
Quindi lo stato dei bit di ogni byte può essere rappresentato attraverso un numero intero dato dalla somma dei numeri rappresentati da ogni bit avente stato posto a 1.
Esempio:
| 0 | 1| 0| 1|0|0|0|1| |128|64|32|16|8|4|2|1| ⭭ ⭭ ⭭ 64 + 16 + 1 = 81
Il Byte (insieme di 8 bit), come sopra rappresentato in binario, può dunque essere ancor più agevolmente e brevemente rappresentato, anche ai fini dell'effettuazione di una eventuale operazione aritmetica, dal valore intero 81.
Ciò significa che, se affermiamo che un certo Byte ha valore 81 in rappresentazione numerica decimale, lo stato interno dei suoi bit è quello rappresentato nel precedente esempio, ossia: 01010001. Conseguentemente si disporrà così l'invio di una sequenza di valori di tensione elettrica: 0v-5v-0v-5v-0v-0v-0v-5v.
In vero convenzionalmente, per rappresentare un valore assunto da un Byte, si è preferito usare il sistema esadecimale, il quale può rappresentare numeri molto grandi mediante una quantità di cifre inferiore a quella richiesto dalla rappresentazione numerica decimale.
Dati monobyte e dati multibyte
Poiché il processore centrale è in grado di eseguire operazioni aritmetiche semplici, i numeri da computare sono rappresentati ovviamente da Byte (insieme di 8 bit) di dati. Nei paragrafi precedenti abbiamo visto come - per semplificazione - ogni bit assume un valore numerico in base alla sua posizione nel byte.
Pagina in costruzione !