Architettura del calcolatore
Il PC è in generale un elaboratore elettronico “general purpose” per uso individuale. Le componenti principali sono:
- Hardware
- Software, d’ambiente ed applicativo
Il funzionamento del PC è basato su due elementi fondamentali:
- Istruzioni da eseguire
- Dati da elaborare
Hardware e software
1. Hardware (HW): è composto da una serie di elementi funzionali, presenti in ogni PC: unità di elaborazione, memoria centrale, memoria di massa, bus di sistema, unità periferiche.
2. Software (SW):
- Software di sistema (o d’ambiente): dedicato alla gestione dell’elaboratore
- Software applicativo: opera al di sopra del SW d’ambiente ed è dedicato alla realizzazione di specifiche esigenze applicative
Modello di Von Neumann
Modello composto da quattro elementi funzionali:
- Unità di elaborazione (CPU): interpretazione ed esecuzione dei programmi, coordinamento macchina
- Memoria centrale: contiene dati ed istruzioni
- Interfacce delle periferiche: scambio informazioni con mondo esterno (es. stampante, tastiera)
- Bus di sistema: collega gli altri elementi funzionali
Funzionamento generale
1. Il processore estrae le istruzioni dalla memoria, le decodifica e le esegue. Le istruzioni possono comportare:
- Operazioni di manipolazione dei dati
- Operazioni di trasferimento dei dati
2. I trasferimenti di dati attraverso elementi funzionali diversi avvengono per mezzo del bus di sistema.
3. Le fasi di elaborazione si susseguono in modo sincrono rispetto ad un orologio di sistema, il clock.
4. Durante ogni intervallo di tempo l'unità di controllo (parte del processore) stabilisce la funzione da svolgere.
5. L’intera macchina opera in maniera sequenziale.
Memoria centrale
La memoria centrale è destinata ad accogliere dati e programmi su cui l’elaboratore opera. È di dimensioni ridotte rispetto alla memoria di massa, ma è un passaggio obbligato perché l’informazione, prima di essere elaborata, viene acquisita dalla memoria centrale. È una sequenza di celle di memoria, ciascuna contenente una word che è una sequenza di bit che assume un particolare valore in base alla sequenza di 0 e 1 che verrà inserita nella corrispondente cella di memoria. La memoria centrale è una memoria volatile, cioè il suo contenuto si perde quando si spegne il calcolatore; mentre la memoria di massa è permanente.
Ciascuna cella (Hbit) di memoria può essere indirizzata, cioè l’elaboratore può selezionare una particolare cella attraverso il suo indirizzo. L’indirizzamento avviene tramite il registro degli indirizzi che si trova nella CPU: se il registro ha k bit, si possono indirizzare fino a 2k celle di memoria e gli indirizzi variano da 0 a 2k - 1.
Bus di sistema
- Bus dati: trasferisce i dati dalla cella di memoria al registro dati in un’operazione di lettura, o viceversa in un’operazione di scrittura.
- Bus indirizzi: trasmette il contenuto del registro indirizzi alla memoria centrale.
- Bus controlli: manda codici da eseguire e informazioni di avvenuta esecuzione dell’operazione.
Unità di elaborazione CPU
Contiene gli elementi circuitali che regolano il funzionamento dell’elaboratore. La sua funzione è quella di eseguire i programmi contenuti nella memoria centrale prelevando, decodificando ed eseguendo tutte le istruzioni. È costituito da elementi circuitali come:
- Unità di controllo: preleva e decodifica le istruzioni e invia segnali di controllo per il trasferimento e l’elaborazione delle informazioni.
- Orologio del sistema (clock): sincronizza le istruzioni
- Unità aritmetico-logica (ALU)
Ha diversi registri, cioè elementi memoria che possono essere velocemente scritti e letti:
- Registro dati DR e registro indirizzi AR
- Registro istruzione corrente CIR: contiene l’istruzione in esecuzione sull’elaboratore
- Registro contatore di programma PC: contiene l’indirizzo della prossima istruzione
- Registro interruzioni INTR: contiene informazioni sullo stato di funzionamento delle periferiche
- Registri di lavoro: analoghi a celle di memoria
- Registro di stato SR: riporta indicazioni relative a risultati ottenuti dalla ALU.
Interfacce delle periferiche
Consentono il collegamento dell’elaboratore con le periferiche. Sono molto diverse in base al tipo di periferica considerata e possono essere dotate da più o meno unità di controllo. Ha generalmente 3 registri:
- Registro dati: per scambiare dati con la periferica.
- Registro comando: contiene il comando che la periferica deve eseguire.
- Informazione sullo stato della periferica.
Sequenza di lettura
1. L’unità di elaborazione carica l’indirizzo della parola che desidera leggere nel registro indirizzi e lo trasmette alla memoria centrale tramite il bus indirizzi.
2. L’unità di elaborazione richiede un’operazione di lettura tramite il bus di controllo.
3. La memoria centrale esegue l’operazione di lettura, che sposta tramite il bus dati il contenuto della parola nel registro dati.
4. La memoria segnala all’unità di elaborazione, tramite il bus di controllo, che l’operazione è terminata e che il dato richiesto è disponibile nel registro dati.
Scheda madre
Grande circuito stampato sul quale ci sono cip di silicio. Ha una batteria a bottone che ha il solo compito di tenere traccia del tempo che passa. Ha il microprocessore su cui compare sempre una ventola per evitare il surriscaldamento. Ha la RAM.
Cache e ROM
La memoria cache è una piccola memoria RAM a cui il microprocessore (CPU) può accedere in modo più veloce rispetto alla memoria RAM; ha un ordine di memoria di Kbit. La ROM è una memoria a sola lettura che non può essere modificata dall’utilizzatore del PC. Il microprocessore accede alle informazioni con questo ordine: cache 1° e 2° livello, RAM, Hard Disk Drive.
Hard disk drive
È il componente che memorizza in modo permanente le informazioni elaborate. Queste informazioni sono magnetizzate sulla superficie del disco e pertanto rimangono memorizzate anche se viene a mancare corrente. Sull’HDD si trovano: il sistema operativo, il software e i file dati. È fisicamente composto da più dischi, posti sottovuoto, e da più testine di lettura che contemporaneamente leggono i dati dai dischi in rotazione.
Memorizzazione
Quando si deve memorizzare un dato, la testina di lettura/scrittura si posiziona sulla traccia/settore opportuni. La scrittura si ottiene modificando la polarizzazione magnetica delle particelle che rivestono ogni piatto. Vengono inviati impulsi elettrici sulla bobina avvolta lungo il nucleo magnetico in modo da generare un campo elettromagnetico capace di orientare le particelle di ferro nel modo opportuno. La lettura viene eseguita rilevando la polarizzazione imposta alle particelle: i banchi di molecole polarizzate sul disco creano un campo magnetico capace di generare corrente nella bobina della testina, quando questa si avvicina. La direzione della corrente dipende dalla polarità delle bande. Rilevando la direzione della corrente, si capisce se la testina sta passando su uno 0 oppure su un 1.
Formattazione
Un hard disk è strutturato per registrare dati su cilindri, tracce e settori (clusters, tracks, sectors). I settori sono dei cerchi concentrici, le tracce sono una suddivisione dei settori stessi mentre i cilindri sono dei gruppi di settori. Il numero dei settori e delle tracce in cui è suddiviso un disco rigido ne determina la capacità. Per poterlo utilizzare è necessario formattarlo, ma prima di fare questo è indispensabile partizionarlo e scrivere su esso le informazioni delle partizioni e del boot sector. Queste operazioni vengono gestite dal sistema operativo e in particolare dal file system. Una volta formattati i dischi, il sistema operativo tiene traccia del posizionamento di ogni singolo cluster di dati (= la combinazione di due o più settori su un’unica traccia) e guida il movimento delle testine di lettura e scrittura avanti e indietro sulle varie tracce mentre il disco è in rotazione in modo che possano accedere rapidamente ad ogni singolo file.
Deframmentazione: operazione che consente di riordinare i file sul disco per fare in modo che l'accesso ad essi sia più rapido.
Periferiche di memorizzazione
- Floppy disk: Dischi da 5,25 a 3,5 pollici che erano in grado di memorizzare 1,44 MB.
- CD e DVD: I CD ROM memorizzano fino a 650 MB di dati su un singolo disco. I DVD memorizzano fino a 4,7 GB di dati su un singolo strato e 9,4 GB su due strati. I più usati sono i double layer-double face. Sono letti in base a come viene riflessa la luce polarizzata.
- Monitor: Ha due caratteristiche principali:
- Risoluzione grafica: le immagini che vengono visualizzate sono suddivise in una griglia di punti detti Pixel, ciascuno dei quali rappresenta l’entità minima di visualizzazione dell’immagine sullo schermo. Il numero di punti che costituisce la griglia è detto risoluzione. Maggiore è la risoluzione e minore è la dimensione dei singoli punti che compongono un’immagine.
- Frequenza di refresh: l’intero schermo viene più volte rigenerato con una frequenza che varia da 60 a 120 Hz. Il valore minimo accettabile per evitare che l’immagine abbia sfarfallii è 70 Hz.
Rappresentazione binaria dell’informazione
Codifica dati e istruzioni
Per scrivere un programma che descriva un algoritmo, è necessario rappresentare istruzioni e/o dati usando un formato che il calcolatore sia in grado di: memorizzare, elaborare e trasmettere. È necessario che vengano rispettate le regole di composizione, cioè la sintassi, in modo da creare un codice, cioè un insieme di regole che ad ogni configurazione ammissibile associa un’entità di informazione. Il calcolatore usa l’alfabeto binario: 1 0, che non limita in alcun modo le sue funzionalità. La cifra binaria si indica con bit ed è la quantità di informazione che si ottiene selezionando una configurazione da un insieme che ne contiene due.
Il numero di oggetti che posso codificare con parole binarie composte da k bit è 2k oggetti. Se passo da una parola con k bit a una con k+1 bit, si raddoppia il numero di oggetti che posso rappresentare. Per codificare N oggetti mi servono 2k bit quindi k = (log2 N).
Per definire un codice devo identificare due insiemi: le configurazioni ammissibili e gli oggetti da rappresentare, ed infine devo associare gli elementi dei due insiemi.
- Bit: 2 stati
- Byte: 8 bit
- 10KB: 2k bit
- 20MB: 2k bit
- 30GB: 2k bit
Per codificare i caratteri sono stati inventati 3 codici:
- Codice ASCII: usa 7 bit quindi può rappresentare 128 caratteri
- Codice ASCII esteso: usa 8 bit e quindi può rappresentare 256 caratteri
- Codice UNICODE: usa 16 bit ed è utile nel caso di alfabeti particolarmente complessi (es. cinese)
Numeri naturali
Notazione posizionale: permette di rappresentare un qualsiasi numero naturale e il significato attribuito a ciascuna cifra è funzione della posizione che occupa nel numero. Si possono rappresentare 2n numeri da 0 a 2n-1.
Conversione binario-decimale & conversione decimale-binario
Per aumentare i bit: premetto un bit 0 a sinistra. Per ridurre i bit: can...
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.