vuoi
o PayPal
tutte le volte che vuoi
ARCHITETTURA DELL'ELABORATORE
L'hardware: CPU e dispositivi di input/output interagiscono, RAM e memoria secondaria memorizzano. All'avvio dell'elaboratore, programmi (almeno il S.O.) e dati (se ce ne sono) risiedono in memoria secondaria. I programmi per essere eseguiti devono essere portati in memoria principale (RAM), così anche i dati per essere utilizzati dai programmi. La CPU (Central Processing Unit) esegue i programmi eseguendo le istruzioni di cui sono composti. Avviene l'input/output e la memorizzazione su memoria secondaria.
La memoria principale è una componente fondamentale del calcolatore e permette di memorizzare sia il programma che i dati. Fisicamente è formata da componenti elettronici (transistor, resistenze, condensatori) miniaturizzati e ogni unità elementare può trovarsi a due diversi livelli di tensione elettrica (o carica del condensatore): è il corrispettivo fisico del bit.
La memoria è strutturata in una sequenza di celle (o locazioni) di memoria: ogni cella memorizza un byte. Le celle sono numerate in sequenza: indirizzo. Specificando l'indirizzo di una cella, la CPU è in grado di leggere e/o modificare il valore del byte memorizzato in quella cella. Lo spazio di indirizzamento è l'insieme o il numero delle celle indirizzabili direttamente e il numero di celle indirizzabili è una potenza di 2 (es 16 bit si indirizzano 2^16 = 65.536 celle). Il numero di celle indirizzabili è il numero di informazioni rappresentabile con un certo numero di bit. L'unità di misura della memoria è il byte. Si usano dei multipli: Kilobyte (KB) = 1024 byte (2^10 byte); Megabyte (MB) = 1024 KB (2^20 byte); Gigabyte (GB) = 1024 MB (2^30 byte).
Random Access Memory (RAM): memoria ad accesso casuale. Si chiama "ad accesso casuale" perché si può accedere direttamente alle varie celle, una volta noto il loro indirizzo.
temponecessario per accedere ad una cella è lo stesso, indipendentemente dalla posizione della cella nellasequenza: il termine "random" (casuale) indica proprio il fatto che non vi sono differenzenell'accesso alle varie celle della memoria. La RAM è veloce: il tempo di lettura/scrittura di unacella è compreso tra 5 e 30 nanosecondi (miliardesimi di secondo = 10-9 s). La RAM è volatile:formata da componenti elettronici, se viene tolta l'alimentazione anche per un breve periodo ditempo (frazioni di secondo) tutto ciò che contiene viene perso (e la macchina deve ripartire). LaRAM è relativamente costosa.La ROM (Read-Only Memory) è memoria in sola lettura. Non può essere modificata (a meno chenon sia di un tipo particolare, EPROM) e non è volatile. Veloce quasi quanto la RAM, solitamenteusata per memorizzare programmi e dati necessari all'avvio dell'elaboratore (programmi dibootstrap (avvioin input/output. La CPU esegue le istruzioni una alla volta, seguendo l'ordine stabilito dal programma. Durante l'esecuzione, la CPU può accedere alla memoria per leggere o scrivere dati, eseguire operazioni aritmetiche o logiche, e comunicare con i dispositivi di input/output. La CPU è composta da diverse unità funzionali, tra cui l'unità di controllo, l'unità aritmetico-logica e le unità di memoria. L'unità di controllo coordina l'esecuzione delle istruzioni, mentre l'unità aritmetico-logica esegue le operazioni matematiche e logiche. Le unità di memoria sono responsabili della lettura e scrittura dei dati nella memoria. La CPU comunica con gli altri componenti del computer attraverso bus di dati, bus di indirizzi e bus di controllo. Il bus di dati trasferisce i dati tra la CPU e la memoria, mentre il bus di indirizzi indica la posizione di memoria da leggere o scrivere. Il bus di controllo gestisce il flusso delle istruzioni e dei dati tra la CPU e gli altri componenti. La velocità di una CPU è misurata in clock, che rappresenta il numero di cicli di clock che la CPU può eseguire al secondo. Una CPU con un clock più alto può eseguire più istruzioni al secondo, quindi è più veloce. Tuttavia, la velocità di una CPU non è l'unico fattore che determina le prestazioni di un computer. Altri fattori, come la quantità di memoria disponibile e la velocità del disco rigido, possono influire sulle prestazioni complessive del sistema. In conclusione, la CPU è il componente principale di un computer ed è responsabile dell'esecuzione dei programmi e delle operazioni matematiche e logiche. La sua velocità e le sue prestazioni influiscono sul funzionamento generale del sistema.Verso dispositivi di I/O. Combinando in modo diverso sequenze anche molto lunghe di istruzioni (i programmi) si possono svolgere al computer compiti completamente diversi. È formata da: Control Unit, Arithmetic Logic Unit, Registri. La CONTROL UNIT (CU) è la parte più importante del processore. Funzioni: esegue le istruzioni dei programmi, coordina le attività del processore, controlla il flusso delle istruzioni tra il processore e la memoria. Non ha il compito di controllare il risultato delle istruzioni. La CU svolge la sua attività in modo ciclico. Ciclo di fetch-decode-execute (o ciclo della macchina):
- Fetch (preleva): preleva dalla memoria principale la prossima istruzione da eseguire;
- Decode (decodifica): decodifica l'istruzione e preleva gli operandi specificati;
- Execute (esegui): esegue l'istruzione utilizzando la componente opportuna, memorizza i risultati e ricomincia.
L'esecuzione (passo execute) comporta
L'invio di comandi opportuni all'unità relativa: calcoli → Arithmetic Logic Unit; lettura/scrittura dati → memoria; acquisizione/stampa → dispositivi di I/O. La frequenza con cui è eseguito il ciclo di fetch-decode-execute è scandita dal clock (orologio interno): ad ogni impulso di clock la CU esegue un ciclo. La velocità di elaborazione di una CPU dipende dalla frequenza del suo clock.
La ARITHMETIC LOGIC UNIT (ALU) esegue le operazioni di tipo aritmetico (ad es. somme) e logico (ad es. confronti). Preleva gli operandi dai registri e deposita il risultato delle operazioni in uno (o più) registri.
I REGISTRI sono piccole celle di memoria con tempi di accesso molto più bassi rispetto alla memoria primaria. Mantengono le informazioni necessarie per eseguire l'istruzione corrente. Hanno dimensione di 16, 32 o 64 bit (da cui CPU a 16, 32 o 64 bit) e sono in numero molto limitato (10, 20, 64 o 128), visto che sono
all'interno della CPU • Si dividono in registri: generali e speciali (PC, IR). I Registigenerali sono in numero ridotto: 8, 16, 32, 64, 128... in funzione dell'architettura. Sono usati comecelle di memoria temporanea; contengono gli operandi e i risultati delle istruzioni in esecuzione. Inalcune architetture, alcuni registri hanno funzioni privilegiate; ad es. l'accumulatore in generecontiene il risultato delle operazioni. Il Program Counter (PC) è un registro speciale che contienel'indirizzo in memoria principale della prossima istruzione da eseguire. Quando un programmaviene avviato, l'indirizzo della prima istruzione viene caricato nel Program Counter e all'esecuzionedi un'istruzione, il PC viene modificato per contenere l'indirizzo della prossima istruzione daeseguire (non necessariamente quella immediatamente successiva). L'Instruction Register (IR) è unregistro speciale che contiene l'istruzioneattualmente in esecuzione. La CU legge l'istruzione contenuta in IR e la esegue.
La Memoria Secondaria
Limitazioni della RAM: poco capiente, costosa, volatile. È necessario usare la memoria secondaria.
Caratteristiche della memoria secondaria: capiente, (relativamente) poco costosa, non volatile, lenta.
La CPU può eseguire (ed elaborare) esclusivamente programmi (e dati) che risiedono in memoria principale. I programmi e i dati risiedono in memoria secondaria e quindi devono essere copiati in memoria principale. Quando si esegue un programma, il sistema operativo lo copia da memoria secondaria (es. hard disk) in RAM: l'operazione si chiama loading o caricamento. È composta da: supporti di memorizzazione (componente fisico in cui vengono immagazzinati i dati) e dispositivi di memorizzazione (leggono/scrivono dati dal/sul supporto di memorizzazione).
Esistono tecnologie diverse: magnetica, ottica (magneto-ottica), flash (o allo stato solido).
La Memoria
Magnetica sfrutta il fenomeno fisico della polarità. Sul supporto sono presenti particelle magnetiche; la testina di lettura/scrittura cambia/rileva la polarità delle particelle. Prese due particelle magnetiche adiacenti: stessa polarità = 0, diversa polarità = 1. Usata per alcuni harddisk, floppy disk e nastri. La Memoria ottica sfrutta la riflessione della luce di un laser. Sul supporto sono presenti delle minuscole scanalature (pit) che formano zone chiare (luce riflessa) e zone scure (luce non riflessa): se chiaro/scuro o scuro/chiaro = 1, se chiaro/chiaro o scuro/scuro = 0. Gerarchia di memoria: registri → cache → memoria principale → disco fisso → Supporti esterni (HD esterni, CD, DVD, BD, flash disk, nastri magnetici). Dispositivi di Input/Output Servono a comunicare e interagire con l'elaboratore; non necessariamente con un essere umano. Dispositivi di input sono: tastiera, dispositivi di puntamento (mouse ecc), microfono (ingeneraleLine In), scanner, fax. Dispositivi di output sono: stampanti, videoterminali, videoproiettori, casseacustiche, plotter.
Il bus è la linea di comunicazione per la trasmissione di informazioni tra i vari componenti del sistema. Fisicamente, è un insieme di collegamenti in rame. Tutti i componenti del sistema sono collegati al bus e esso collega la CPU ad altri dispositivi del computer. Il bus locale è un'evoluzione del bus di sistema, per il collegamento veloce tra CPU, memoria e periferiche veloci.
IL SISTEMA OPERATIVO
Il Software
L'hardware da solo è soltanto un insieme di ferro, plastica e silicio e non è sufficiente per il funzionamento dell'elaboratore. Occorre utilizzare il software, un insieme di programmi che permettono di trasformare un insieme di circuiti elettronici in un oggetto in grado di svolgere funzioni di varia natura. I computer sono infatti prgrammabili: possono svolgere compiti diversi in base a istruzioni contenute
nei programmi. Il Sistema Operativo è l'insieme di programmi che interagiscono e cooperano tra di loro per gestire efficientemente il computer e le sue periferiche e per creare un ambiente virtuale per facilitare l'interazione uomo-macchina. Il s.o. esegue un comando seguendo i seguenti passi:- verifica se si tratta di un comando valido
- lo traduce per la macchina fisica
- eseguito il comando, a) fornisce un riscontro all'utente e b) si pone in attesa di un nuovo comando da parte dell'utente.
Funzioni svolte dal sistema operativo
Accensione e configurazione della macchina: bootstrap
Bootstrap = Avvio dell'elaboratore.
Primo problema: la CPU esegue esclusivamente programmi in memoria principale. La RAM è volatile, è vuota quando si accende il computer. Prima soluzione: mettere i programmi in memoria secondaria. Secondo problema: per caricare i programmi da memoria secondaria usiamo il filesystem (cioè il sistema operativo), ma il s.o.
risiede in RAM, che è volatile e quindi vuota quando si accende il computer. Seconda soluzione: usiamo un piccolo programma (BIOS), molto semplice, che ha il co