Storia e Architettura dei Computer: Dalle Origini ai Sistemi Operativi Moderni
Classificato in Informatica
Scritto il in
italiano con una dimensione di 6,42 KB
Introduzione all'Elaborazione dei Dati
Un insieme di input di dati, dopo essere stati elaborati dalla macchina, diventano dati di output.
Precursori delle Calcolatrici Moderne
I precursori delle attuali calcolatrici da scrivania includono le macchine di Pascal e Leibniz. Successivamente, Charles Babbage introdusse concetti analitici fondamentali, ideando una macchina capace di elaborazione informatica che incorporava:
- Input Device (Dispositivo di input)
- Dispositivo di output
- Memoria
- Unità di controllo
- Unità aritmetico-logica
Un altro passo avanti fu l'uso di schede perforate per contenere le informazioni delle persone intervistate, portando alla costruzione di una macchina tabulatrice in grado di leggere e catalogare le informazioni in tabelle.
I Computer dell'Era Elettronica
I principali computer che hanno segnato l'inizio dell'era elettronica sono:
- ENIAC: Utilizzava tubi a vuoto.
- EDVAC: Il primo computer in grado di memorizzare un programma.
- Univac I: Utilizzava il nastro magnetico come dispositivo di memorizzazione.
- Univac II: Includeva una memoria a nuclei di ferrite.
Generazioni di Computer
L'evoluzione tecnologica viene suddivisa in diverse generazioni:
- Prima Generazione: Basata sui tubi a vuoto. I computer avevano grandi dimensioni e la loro manutenzione era molto difficile.
- Seconda Generazione: Sostituzione del tubo a vuoto con il transistor. Si iniziarono a utilizzare linguaggi di alto livello come Cobol, Fortran e Algol.
- Terza Generazione: Basata sui circuiti integrati, il che ha permesso una significativa miniaturizzazione dei computer.
- Quarta Generazione: Composta da computer che integrano la CPU su un unico chip, chiamati microprocessori. Migliorarono le unità di archiviazione e iniziò l'uso dei dischetti.
- Quinta Generazione: Caratterizzata da architetture di elaborazione parallela e progetti che utilizzano circuiti speciali ad alta velocità.
Linguaggi di Programmazione
Esistono diverse tipologie di linguaggi per comunicare con l'hardware:
- Linguaggio Macchina: Composto da istruzioni codificate che un computer può interpretare ed eseguire direttamente (linguaggio di basso livello).
- Linguaggio di Alto Livello: È indipendente dall'architettura specifica del computer e offre migliori infrastrutture per il programmatore, facilitando la scrittura del codice.
La CPU e i suoi Componenti
La CPU (Central Processing Unit) è costituita da un circuito integrato che interpreta ed esegue le istruzioni dei programmi memorizzati. Gestisce i dati provenienti dalle unità di input, li elabora e li invia alle periferiche di uscita. I suoi componenti principali sono:
Unità di Controllo (UC)
Interpreta ed esegue le istruzioni macchina memorizzate nella memoria principale e genera i segnali di controllo necessari per la loro attuazione. Include:
- Decodificatore di istruzioni: Responsabile di estrarre e analizzare il codice delle istruzioni correnti.
- Orologio (Clock): Fornisce una successione di impulsi elettrici a intervalli costanti per sincronizzare le operazioni.
- Sequenziatore: Genera micro-ordini per l'esecuzione passo dopo passo delle istruzioni.
Unità Aritmetico-Logica (ALU)
Ottiene i dati su cui vengono eseguite operazioni aritmetiche e confronti logici, restituendo poi il risultato. Una parte fondamentale è l'Unità in Virgola Mobile (FPU), responsabile della gestione delle operazioni decimali complesse.
Registri
I registri immagazzinano dati temporanei. La dimensione del registro interno indica il numero di bit che il processore può gestire simultaneamente.
Categorie di Registri:
- Registri visibili all'utente: Utilizzati nel linguaggio assembly o macchina per ottimizzare le risorse. Si dividono in:
- Registri di indirizzo: Contengono l'indirizzo di memoria dei dati.
- Registri dati: Utilizzati per contenere dati di uso frequente.
- Registri di condizione: Memorizzano l'esito dell'ultima operazione eseguita.
- Registri di controllo e di stato:
- Contatore di programma (PC): Contiene l'indirizzo della prossima istruzione.
- Registro istruzioni (IR): Contiene il codice dell'istruzione corrente.
- Registro indirizzi di memoria (MAR): Contiene la posizione di memoria a cui accedere.
- Registro di scambio (MBR/Swapping): Riceve o invia i dati verso la posizione di destinazione.
Bus e Memoria
Lo scambio di dati tra la CPU e le altre unità avviene tramite i Bus:
- Bus Dati: Una serie di linee (una per ogni bit) che trasmettono informazioni simultaneamente in parallelo.
- Bus Indirizzi: Utilizzato dalla CPU per selezionare l'indirizzo di memoria o il dispositivo di input/output specifico.
Memoria RAM
La RAM può memorizzare due tipi di informazioni: la sequenza di istruzioni del programma e i dati gestiti da tali istruzioni. Ogni cella contiene solitamente 8 bit (1 byte). È una memoria di tipo volatile.
Il Sistema Operativo
Il Sistema Operativo è un insieme di programmi che controllano il funzionamento dell'hardware, offrendo all'utente un'interfaccia semplice per accedere al computer. Coordina e definisce le priorità di tutti i processi e delle periferiche. Si compone principalmente di:
- Kernel (Nucleo): Gestisce le funzioni base.
- Interprete dei comandi (Shell): Permette l'interazione con l'utente.
- File System: Gestisce l'archiviazione e l'organizzazione dei dati.