Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
CPU.
Componenti CPU:
- Unità Aritmetico-Logica (ALU): compie le principali operazioni aritmetiche e logiche:
operazioni logiche: sono operazioni nelle quali i simboli 0 e 1 rappresentano
o rispettivamente "vero" e "falso". Ci sono vari tipi di operazioni logiche:
AND (“e”): accetta come input due bit e restituisce come output solo un bit: il
bit di output avrà valore 1 (“vero”) solo se entrambi i bit di input avevano
valore 1 (“vero”); in tutti gli altri casi avrà invece il valore 0 (“falso”).
OR (“o”): accetta come input 2 bit e ne restituisce uno: il bit di output ha
valore 1 anche se è uno solo dei bit di input abbia valore 1.
NOT: ha come input solo un bit: se il valore è 0 il valore dell’output sarà 1, e
viceversa.
- Bus: sono necessari per lo scambio di dati e sono presenti alcuni all'interno alla CPU e
altri fra la CPU e le altre componenti del computer.
Bus CPU e computer: il bus dei dati, attraverso il quale arrivano i dati in entrata sui
o quali effettuare elaborazioni, ed escono quelli in uscita, i risultati delle elaborazioni
fatte. Questo avviene perché la maggior parte della memoria di un computer è
esterna alla CPU. I dati per poter essere continuamente ricevuti e inviati devono
essere conservati nella memoria attraverso un meccanismo di indirizzi: ogni cella
della memoria sarà identificata attraverso il proprio indirizzo, in modo che i dati
contenuti possono essere recuperati e modificati in maniera diretta.
Bus di controllo: serve allo scambio di dati di sincronizzazione, la CPU e le altre
o componenti del computer devono lavorare in maniera coordinata, per farlo devono
scambiarsi informazioni sullo stato e sui tempi di esecuzione dei vari compiti. La
frequenza del lavoro della CPU funziona come un orologio di sistema che segna il
ritmo del lavoro svolto da tutta la macchina (l'unità di controllo genera segnali di
controllo e sincronizzazione).
- Piastra madre: la CPU è di norma incastonata in una scheda (madre) che raccoglie le
componenti fondamentali di ogni computer. In particolare la CPU non è saldata alla piastra
madre ma viene inserita in un apposito slot (slot one) che permette all'occorrenza di
sostituirla. Sopra questo slot ci sono porte di comunicazione verso l'esterno: attraverso di
esse i dati possono raggiungere le periferiche, la porta USB è un'alternativa recente e la
porta PS/2 è usata per il collegamento del mouse. Sotto lo slot del processore c'è il chip di
controllo della AGP: è un canale dedicato a far circolare in maniera veloce unicamente i
dati grafici. Accanto ad essa vi sono altri slot (ISA e PCI) che sono alloggiamenti dei quali
possono essere inserite schede di espansione.
- Memoria: la memoria può essere di due tipi:
Innestata sulla piastra madre:
o RAM (Random Access Memory): è una memoria volatile dove viene
conservata la maggior parte dei dati sui quali stiamo lavorando. I dati
vengono conservati sottoforma di potenziali elettrici, quindi se si spegne il
computer vanno persi.
ROM (Reed Only Memory) o BIOS (Basic Input-Output System): è una
memoria a sola lettura che serve per il funzionamento del computer
stesso, senza di essa la macchina non potrebbe lavorare. Ha il compito di
far circolare l’informazione all’interno del computer, ma non rende il
computer capace di comunicare con l’utente. Non è neanche in grado di
comunicare con periferiche e strumenti accessori che possono essere
collegati al computer. Recentemente si usano più spesso moduli di memoria
non volatile aggiornabili in caso di necessità (flash memory).
Memoria cache (usata recentemente): memoria autonoma all’interno del
microprocessore, più veloce della RAM e quindi capace di migliorare le
prestazioni del sistema.
La macchina di Turing: è una macchina astratta capace di lavorare in formato digitale sulla base
di un programma composto da regole; è una costruzione concettuale. È in grado di calcolare il
valore di qualsiasi funzione per la quale disponiamo di procedure effettive di computazione. Lavora
solamente con i simboli ma questo non vuol dire che si debba limitare a fare operazioni numeriche.
È composta da un nastro infinito diviso in singole celle, in ciascuna delle quali può essere scritto
un simbolo (0 e 1), comprende poi una testina di lettura/scrittura che sia in grado di leggere il
simbolo che si trova nella cella e scrivere su di essa. La testina in grado poi di scorrere sul nastro
in entrambe le direzioni. La macchina potrà assumere una serie finita di stati distinti e con questi
stati potremo specificare le istruzioni del programma da far eseguire alla macchina.
La macchina di von Neumann: sviluppata negli anni 40 da Jonh von Neuman, è in primo luogo
una costruzione teorica che influenzò però direttamente la realizzazione di due tra i primi
computer: l’ENIAC e l’EDVAC.
I programmi
Esistono diversi tipi di software (programmi) per il funzionamento del computer.
Sistema operativo (operating system): serveo a far comunicare il computer nella lingua
dell’utente. Ha poi il compito di integrare le poche conoscenze dell’architettura di sistema fornite
dal BIOS con le informazioni dettagliate sul tipo di periferiche usate; mette poi a disposizione una
serie di “strumenti base” utilizzati dai vari programmi che l’utente può eseguire. Ogni sistema
operativo contiene il file system: sistema di gestione dei file. File: sono tutti i documenti conservati
sul disco rigido di un computer, e sono anche i programmi utilizzati per produrre e lavorare sui
documenti. Essi sono organizzati in cartelle e sottocartelle.
Tipi di sistemi operativi:
- Sistemi operativi a caratteri: all’inizio la comunicazione avveniva attraverso un
linguaggio artificiale molto povero, ma sufficiente a impartire istruzioni base al computer.
Si basano quindi sull’idea che l’utente impartisca i comandi in forma scritta utilizzando la
tastiera (MS-DOS, UNIX).
- Interfacce a icone (o grafiche): la comunicazione avviene attraverso una rappresentazione
grafica degli oggetti con i quali operare (primo dalla Apple negli anni ’70).
Il sistema operativo più diffuso è il Microsoft Windows che ha 10 tratti distintivi dal punto di vista
dell’utente.
1. Desktop spazio bidimensionale all’interno del quale sono presenti le icone.
2. Icone: rappresentano dati e programmi.
3. Puntatore del mouse
4. Finestre: ogni finestra comprende:
- Tre pulsanti nell’angolo a destra
- Barra superiore
- Barra dei menu
- Barre dei pulsanti
- Porzione principale aperta sul documento
- Barre di scorrimento verticale e orizzontale
5. Barra delle applicazioni
6. Menu
7. Pulsanti
8. Pulsante d’avvio-Start
9. Finestra esplora risorse
10. Sistema d’aiuto-Help (F1)
Programmi applicativi: sono programmi che affiancano il sistema operativo e corrispondono agli
interessi e alle necessità dell’utente. Ci sono diversi tipi:
- Programmi di calcolo: sono di vario genere e sono utilizzati per il lavoro scientifico. Sono
soprattutto fogli elettronici o spreadsheet: programmi utilizzati per creare tabelle dati, in
genere numerici, effettuando automaticamente i relativi calcoli; i più recenti possono
analizzare i dati e generare automaticamente grafici e diagrammi. Sono il Visicalc, Lotus 1
2 3, Microsoft Excel.
- Programmi di video scrittura (o word processor): permettono di scrivere, salvare,
stampare, modificare un testo. Nuove funzioni: formattare il testo (corsivi, grassetti..),
allineare il testo, cambiare il carattere (font) utilizzato e la sua dimensione, inserimento
immagini, numerazione pagine… Dominio di Microsoft Word.
- Programmi per la creazione di database: nati per automatizzare la gestione di ogni
genere di dati organizzati. Un database è costituito da una collezione di schede, o record,
dalla struttura regolare e organizzata in campi (field). La ricerca avviene attraverso l’uso di
uno specifico linguaggio di ricerca. Dominio di Microsoft Access.
- Giochi: arcade, simulazioni, strategia, adventure, edutainment.
- Programmi di grafica: disegno, fotoritocco, specializzati alcuni nella grafica vettoriale
(rappresentazione attraverso figure geometriche elementari), grafica tridimensionale e
programmi per il disegno tecnico (CAD)
- Programmi per gestione dell’audio e della musica: per registrazione e riproduzione dei
suoni attraverso diversi formati audio (wave e MP3). Programmi di uso specialistico per la
composizione della musica. Programmi di riconoscimento e sintesi vocale.
- Programmi per gestione video: riproduzione e montaggio video (Windows medio Player,
Quicktime Player, Premiere).
- Programmi per strumenti per l’editoria multimediale: permettono di fondere testo,
immagini, suoni, filmati, in prodotti come un CD-ROM interattivo.
- Programmi per la navigazione su World Wide Web: i browser.
Un programma è un insieme di istruzioni scritte in un linguaggio comprensibile per il computer, il
modo in cui queste operazioni vengono eseguite dal computer dipende da come il computer stesso
è fatto. Il programma dovrà quindi implementare un algoritmo utilizzando un linguaggio che il
computer sia in grado di comprendere. Questo è il linguaggio macchina, molto complesso e
faticoso, sono quindi stati creati:
- Linguaggi di basso livello: molto vicini al linguaggio macchina e all’architettura fisica del
computer.
- Linguaggi di alto livello: più vicini al nostro modo di comprendere e impostare i problemi.
Per questi tipi di programma è necessario impostare un programma-traduttore (realizzato in
linguaggio macchina) in grado di convertire il nostro linguaggio in istruzioni di linguaggio
macchina. Ci sono due tipi di programma-traduttore:
Interprete: traduce in tempo reale una per una le singole istruzioni
o Compilatore: traduce una volta per tutte il programma, restituendo in cambio il
o codice binario che può essere eseguito immediatamente dal computer.
- Linguaggi procedurali: fornisce una dopo l’altra, una serie di istruzioni al computer da
eseguireuna procedura. (COBOL, Pascal, FORTRAN, BASIC, C)
- Linguaggi dichiarativi: descrive, dichiara, quali sono i dati del problema, il computer
analizzerà questi dati e ne dedurrà la risposta da dare. Più comodi per l’utente ma più
faticosi per il computer. (PROLOG)
- Linguaggi orientati agli oggetti: nascono per due motivi: è comodo modulare i programmi
realizzati (dato che porzioni di programma tendono a ripetersi), e nel costruire modulatori è
utile partire da oggetti dei quali il programma si occupa (definendone proprietà e
comportamenti, e stabilendo f