Programmi applicativi
I programmi applicativi sono quei software che permettono all'utente di interagire con il computer tramite il sistema operativo. Un programma di videoscrittura come Word o un foglio di calcolo come Excel rientrano in questa categoria. Nell'uso quotidiano del PC, si utilizzano principalmente programmi applicativi. Anche un videogioco è un esempio di programma applicativo. Un programma applicativo realizzato per un sistema operativo, a parte rari casi, non funziona su un altro sistema operativo a meno che non rappresenti un'estensione o un aggiornamento.
Componenti del computer
Il BIOS
Il BIOS è un chip ROM (read only memory) specifico di una data piastra madre. Le istruzioni e i dati in esso contenuti rimangono praticamente fissi per tutto il ciclo di vita del PC e sono utilizzati dalla CPU all'accensione del PC. Il programma nella ROM contiene principalmente le istruzioni per la partenza (start-up) del PC, che si possono dividere in:
- POST (Power On Self Test): Istruzioni per il controllo del funzionamento elettronico dei dispositivi all’accensione del PC;
- SETUP: Istruzioni per la configurazione dei dispositivi dopo l’accensione e il POST;
- BIOS: Istruzioni per la configurazione verso il Sistema Operativo (CMOS);
- BOOT: Istruzioni per la partenza del Sistema Operativo.
Il BIOS raccoglie una serie di programmi software a basso livello (funzioni di base) che il sistema operativo sfrutta per interagire con l’hardware della macchina. Tra queste funzioni troviamo i caratteri digitati alla tastiera, l’invio dei caratteri alla stampante e l’accesso alla memoria, alle unità a disco e ad altri dispositivi di input/output. Non tutti i sistemi operativi utilizzano tutte le funzioni del BIOS (vedi UNIX).
Il CMOS
Il CMOS è una tecnologia elettronica con cui si costruiscono dispositivi a basso consumo. In un PC, il CMOS si riferisce a una memoria RAM a basso consumo dove vengono memorizzati i dati di configurazione dei dispositivi presenti e che possono essere alterati dall'utente. Il chip CMOS è alimentato da una batteria tampone, quindi, anche spegnendo il PC, i dati non si perdono.
La ROM
La ROM è una memoria non volatile atta a contenere informazioni memorizzate dal costruttore del dispositivo, ma nella quale non è possibile scrivere nulla. Nella ROM troviamo un tipo di software che difficilmente sarà soggetto a variazioni (come il BIOS del PC, schede di controllo di periferiche, cartucce per i giochi, programmi applicativi di alcuni palmari e altre apparecchiature programmabili). Al pari delle RAM, le ROM sono ad accesso casuale. La non modificabilità della ROM ha costretto molti utenti a chiedere la sostituzione della ROM nel caso di aggiornamenti necessari. Il tempo di accesso è dell’ordine dei nanosecondi (1ns = 10-9 sec).
La memoria principale
La memoria principale fornisce la capacità di "memorizzare" le informazioni e può essere vista come una lunga sequenza di componenti elementari, ognuna delle quali può contenere un’unità di informazione (un bit). Le componenti elementari sono aggregate tra di loro e formano delle strutture complesse dette PAROLE. (8 bit = 1 Byte, 2 byte = 1 WORD, a seconda dell’architettura, in altri casi 4 byte = 1 WORD). La memoria può essere vista quindi come una sequenza di parole. La memoria contiene almeno due tipi di informazioni: la sequenza di istruzioni che devono essere eseguite dal processore e l’insieme di dati su cui tali istruzioni operano. Ciascuna parola è caratterizzata da un indirizzo, che corrisponde all’ordinamento delle parole nella sequenza ed è un numero intero (partono da 0). Un altro nome con cui viene indicata la memoria principale è memoria RAM (Random Access Memory). Questa definizione indica che il tempo di accesso a una cella è lo stesso indipendentemente dalla posizione della cella. Le operazioni che un processore può effettuare sulla memoria sono le operazioni di lettura e scrittura di informazioni nelle celle. La memoria principale perde ogni suo contenuto quando si interrompe l’alimentazione elettrica. Questa caratteristica viene chiamata volatilità. È quindi necessario, per conservare le informazioni (programmi e dati), avere altri tipi di memoria che conservano il contenuto anche senza alimentazione elettrica.
Una parola di memoria è, a seconda del tipo di computer, un aggregato di due, quattro o otto byte, sul quale si può operare come su un blocco unico. Per eseguire le operazioni di lettura e scrittura sulla memoria, si deve specificare l’indirizzo della parola su cui si vuole operare. L’indirizzo di una parola è un numero intero e quindi lo si può codificare in binario. Il numero di parole di memoria determina il numero di bit necessari a rappresentare l’indirizzo. Le dimensioni della memoria principale variano a seconda del tipo di computer e vengono espresse mediante le seguenti unità di misura: 1 Kilobyte (KB) corrisponde a 1024 byte (210), 1 Megabyte (MB) corrisponde a 1024 Kbyte, 1 Gigabyte (GB) corrisponde a 1024 Mbyte, 1 Terabyte (TB) corrisponde a 1024 Gbyte. Nei computer attuali, le dimensioni tipiche della memoria principale vanno dai 128 ai 512 Mbyte (e oltre).
Ogni cella è caratterizzata da: un indirizzo, che è un numero che ne identifica la cella e ne consente l’accesso; un valore, che è la sequenza di bit memorizzata dalla cella; un tempo di accesso, che è il tempo necessario per leggere o scrivere un’informazione in una parola.
Il ciclo di memoria
Il ciclo di memoria è il tempo minimo che intercorre tra due accessi in memoria. Le memorie principali dei computer attuali hanno tempi di accesso dell’ordine di nanosecondi (1 nanosecondo = un miliardesimo di secondo).
Struttura di una memoria centrale
Storicamente, le CPU sono sempre state più veloci delle memorie. Man mano che sono migliorate le memorie, sono migliorate anche le CPU, mantenendo la differenza. Quando la CPU invia una richiesta alla memoria, la parola necessaria non arriverà se non dopo molti cicli di CPU. Più la memoria è lenta, più cicli dovrà aspettare la CPU.
Perché non costruire memorie veloci come la CPU?
In effetti, la tecnologia lo permette, ma esiste un problema: per poter essere veloci come le CPU, queste memorie dovrebbero trovarsi sullo stesso chip della CPU (perché la connessione via bus alla memoria è lenta). Tale soluzione farebbe aumentare il volume del chip (CPU + memorie) e ne farebbe aumentare anche il costo. La soluzione per tale problema è un compromesso che prevede la presenza di una piccola memoria veloce nello stesso chip che contiene la CPU e una o più memorie lente all’esterno della CPU, collegate tramite bus.
Il processore
Il processore è la componente dell’unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale. L’elaborazione avviene in accordo a sequenze di istruzioni (istruzioni macchina). Il linguaggio in cui si scrivono queste istruzioni viene chiamato linguaggio macchina. Il ruolo del processore è quello di eseguire programmi in linguaggio macchina.
L'unità di controllo
L’Unità di Controllo (UC) si occupa di coordinare le diverse attività che vengono svolte all’interno del processore. Il processore svolge la sua attività in modo ciclico. Ad ogni ciclo vengono svolte diverse attività controllate e coordinate dalla UC. La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock. Ad ogni impulso di clock, la UC esegue un’istruzione macchina (o meglio ad ogni ciclo di clock cambia lo stato interno della macchina). La velocità di elaborazione di un processore dipende dalla frequenza del suo clock. I processori attuali hanno valori di frequenza di clock che variano tra i 100 MHz e 3 GHz (tra 100 milioni di impulsi al secondo e 3 miliardi di impulsi al secondo).
Il clock
Il clock è un segnale periodico, costituito da una sequenza alternata di uno e zero, che viene distribuito a tutti i circuiti sequenziali sincroni per sincronizzarne il funzionamento. L’intervallo di tempo che intercorre tra due successivi impulsi è detto periodo di clock. La frequenza viene misurata in MHz (megahertz, milioni di cicli al secondo). Un ciclo della durata di 1 ns (nanosecondo) equivale a 1000 MHz (1 GHz). Maggiore è la frequenza, maggiore è la velocità del processore, che tuttavia non può essere aumentata a piacere in quanto i circuiti devono avere il tempo di completare la propagazione dei nuovi valori logici prima che arrivi un nuovo impulso di clock.
L'unità aritmetico-logica
L’Unità Aritmetico-Logica (ALU) è costituita da un insieme di circuiti in grado di svolgere le operazioni di tipo aritmetico e logico. La ALU legge i dati contenuti all'interno dei registri generali, esegue le operazioni e memorizza il risultato in uno dei registri generali. Vi sono circuiti in grado di eseguire la somma di due numeri binari contenuti in due registri e di depositare il risultato in un registro, e circuiti in grado di eseguire il confronto tra due numeri binari. In alcuni elaboratori, oltre alla ALU, si può avere un processore specializzato per effettuare operazioni matematiche particolari, il coprocessore matematico.
CISC o RISC
Fino all’inizio degli anni '80, la quasi totalità degli elaboratori era basata su processori con pochi registri, ma con unità di controllo molto complesse in grado di eseguire istruzioni anche molto articolate. Le architetture di questo tipo erano chiamate CISC (Complex Instruction Set Computer), ovvero computer con set di istruzioni complesse (a loro volta composte da microistruzioni). Successivamente, accanto a questa tipologia di CPU, è comparso un altro approccio detto RISC (Reduced Instruction Set Computer). L’idea di base prevede di dotare il processore di un numero ridotto di istruzioni, ma di renderle estremamente efficienti, in modo che, combinando queste semplici istruzioni, si possano ottenere programmi estremamente complessi eseguiti a velocità molto elevate. L’obiettivo seguito nel passaggio da architetture CISC a RISC è stato quello di minimizzare il tempo macchina di esecuzione di un’istruzione.
Memoria cache
Questo tipo di memoria veloce si chiama cache (dal francese cacher, che significa nascosto) ed è una memoria di transito tra RAM e CPU, che velocizza gli accessi ai dati e alle istruzioni. Si tratta di una memoria ad alta velocità (alcuni nanosecondi) in grado di rispondere alle richieste di lettura oppure di filtrare le richieste di scrittura verso la memoria centrale senza imporre stati di attesa al processore. Uno stato di attesa è un ciclo di clock durante il quale il processore sospende l’elaborazione e attende il completamento delle operazioni di accesso alla memoria.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti lezione Inglese
-
Appunti Programmazione e controllo
-
Appunti di elementi di informatica e programmazione, Programmazione C
-
Appunti Diritto amministrativo, con schemi e mappe concettuali. Semplice, discorsivo e completo