Fondamenti di Informatica Il Calcolatore Monica Mordonini Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma
FI - Il Calcolatore 2 Storia del calcolatore I calcolatori: nati in risposta all’esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi: nati in risposta all’esigenza di definire procedure meccaniche per la soluzione di problemi
FI - Il Calcolatore 3 Storia del calcolatore I primi tentativi di automatizzare di calcolo risalgono al ‘500 Negli anni ’40 nasce l’idea di un calcolatore a programma memorizzato e la nascita del calcolatore moderno
FI - Il Calcolatore 4 Il Calcolatore Un calcolatore è una macchina in grado di elaborare e memorizzare automaticamente informazioni. Un calcolatore può elaborare informazioni rappresentate in un formato detto digitale. La caratteristica fondamentale di un calcolatore è quella di essere una macchina programmabile.
FI - Il Calcolatore 5 Il Calcolatore Il comportamento di un calcolatore segue queste tre fasi: Legge un insieme di informazioni (dati di input). Elabora queste informazioni attraverso un insieme di istruzioni (programma). Restituisce le informazioni risultato dell’elaborazione (dati di uscita).
FI - Il Calcolatore 6 Schema hardware di un Personal Computer CPU SCHEDA VIDEO SCHEDA AUDIO FLOPPY DISK HARD DISK CD ROM ALIMENTATORE SCHEDA MADRE MEMORIA CABINET Tutti I compne nti sono uniti da un “bus” che trasporta le informaz ioni
FI - Il Calcolatore 7 Software Software: programmi che vengono eseguiti dal sistema Distinzione fra: Software di base (i.e. sistema operativo) Software applicativo
FI - Il Calcolatore 8 Macchina di Von Neumann (anni ‘40) La memoria contiene i dati e il programma Unità di processo Strutture di controllo per l’esecuzione sequenziale delle istruzioni Grande influenza sui linguaggi di programmazione
FI - Il Calcolatore 9 Macchina di Von Neumann (anni ‘40) Unità di Controllo (CU) Memoria Centrale Unità aritmetica (ALU) Uscita (Output) Ingresso (Input)
FI - Il Calcolatore 10 CPU La CPU (Central Processing Unit) è il “cervello” del calcolatore. Esegue i programmi contenuti nel calcolatore. Comanda le altre parti del calcolatore. La CPU è composta da due parti (+ i registri): La CU (Control Unit) esegue le istruzioni, comanda le altre parti della CPU e controlla il flusso delle operazioni tra i registri e la memoria. L’ALU (Arithmetic Logical Unit) esegue le operazioni aritmetiche, le operazioni logiche e i confronti tra dati.
FI - Il Calcolatore 11 CPU Il funzionamento della CPU è dato dal seguente ciclo macchina Caricamento: la CU preleva l’istruzione dalla memoria. Decodifica: la CU interpreta l’istruzione ed eventualmente trasferisce dalla memoria i dati necessari alla sua esecuzione. Esecuzione: la CU comanda le parti Memorizzazione: i risultati dell’operazione vengono memorizzati nella memoria centrale o in registri della CPU. Il clock da’ la base dei tempi necessaria per mantenere il sincronismo fra le operazioni
FI - Il Calcolatore 12 I registri Sono locazioni di memoria interne alla CPU e come tali molto veloci Poiché i registri compendiano tutto lo stato dell’elaborazione di un certo processo salvando in memoria tutto il contenuto dei registri è possibile accantonare un processo per passare a svolgerne un altro ripristinando dalla memoria il contenuto di tutti i registri è possibile ripristinare lo stato di un processo accantonato riprendendone l’esecuzione come se nulla fosse accaduto ã questo consente al sistema operativo di eseguire più compiti allo stesso tempo (multitasking)
FI - Il Calcolatore 13 CPU Il set di istruzioni definisce il linguaggio comprensibile dalla CPU. Questo linguaggio viene chiamato linguaggio macchina. I programmi eseguibili dalla CPU sono sequenze di istruzioni in linguaggio macchina.
FI - Il Calcolatore 14 CPU Le istruzioni del linguaggio macchina sono molto semplici: Istruzioni di lettura e scrittura nella memoria centrale Istruzioni aritmetiche Istruzioni di salto ad una certa istruzione del programma
FI - Il Calcolatore 15 CPU La prestazioni di una CPU sono misurate dal numero di istruzioni eseguite al secondo. L’unità di misura adottata è il MIPS.
FI - Il Calcolatore 16 CPU Le CPU si distinguono in base al tipo di set di istruzioni CISC (Complex Instruction Set Computer) L’istruction set di un calcolatore deve contenere quante piu’ istruzioni possibili, anche se ognuna di queste richiede piu’ cicli per l’esecuzione poiche’ cio’ permette di creare macchine piu’ potenti (ie pentium) RISC (Reduced Instruction Set Computer) Ogni istruzione dell’istruction set di un calcolatore deve essere eseguita in un solo ciclo: sebbene saranno neccessarie piu’ istruzioni per svolgere una singola istruzioen CISC il sistema risultera’ comunque piu’ veloce (ie powerPC)
FI - Il Calcolatore 17 CPU La CPU è costituita da un microprocessore le cui capacità possono essere stimate da: Numero di transistor Frequenza di clock
FI - Il Calcolatore 18 CPU Più grande è il numero di transistor del processore più complesse sono le operazioni eseguibili a parità di tempo. Il clock è il segnale che cadenza l’esecuzione delle singole istruzioni. Quindi più alta è la frequenza di clock più operazioni sono eseguite a parità di tempo.
FI - Il Calcolatore 19 Memoria Centrale L’ informazione è memorizzata per mezzo di singoli dispositivi elettronici che possono trovarsi ognuno in due possibili stati: Un interruttore che può essere aperto oppure chiuso. Un condensatore che può essere carico oppure scarico.
FI - Il Calcolatore 20 Memoria Centrale La memoria è organizzata in una sequenza logica di locazioni individuate da un indirizzo e contenente un byte di informazione.
FI - Il Calcolatore 21 Memoria Centrale La capacità di una memoria si misura in byte: Il tempo di accesso di una locazione di memoria e dell’ordine delle decine di nanosecondi. K (kilo) 2 10 1000 M (mega) 2 20 G (giga) 2 30 T (tera) 2 40
FI - Il Calcolatore 22 Memoria centrale Indirizzamento Ø E’ l’attività con cui l’elaboratore seleziona una particolare cella di memoria Ø per farlo l’elaboratore pone l’indirizzo della cella desiderata nel registro indirizzi
FI - Il Calcolatore 23 Memoria Centrale La memoria centrale di un calcolatore contiene tre tipi di memoria elettronica RAM (Random Access Memory) Riscrivibile (operazioni di lettura e scrittura) Accesso Casuale Volatile ROM (Read Only Memory) Non riscrivibile Accesso Casuale Non volatile Cache
FI - Il Calcolatore 24 Memoria cache Sebbena la RAM sia veloce non lo è abbastanza per i processori moderni il processore perde tempo perciò per aspettare i dati dalla RAM Soluzione: inserire tra processore e RAM una memoria particolarmente veloce dove tenere i dati usati più spesso : memoria cache
FI - Il Calcolatore 25 Memorie cache Se abbiamo memorie così veloci perché non le usiamo per costruire tutta la RAM? Ü Costano troppo
FI - Il Calcolatore 26 Gerarchia delle Memorie Registri cache RAM Memoria locale Memoria centrale Memoria di massa Velocità Capacità
FI - Il Calcolatore 27 Capacità delle memorie
FI - Il Calcolatore 28 Le Unità Periferiche Le unità periferiche permettono al calcolatore: La comunicazione con il mondo esterno. Il mantenimento di grandi quantità di informazioni non gestibili dalla memoria centrale.
FI - Il Calcolatore 29 Le Unità Periferiche La comunicazione fra l’elaboratore ed una periferica avviene tramite un dispositivo chiamato interfaccia le interfacce sono molto diverse fra loro e dipendono dal tipo di unità periferica da connettere
FI - Il Calcolatore 30 Le Unità Periferiche Le unità periferiche si dividono in tre classi: Input Output Input/Output
FI - Il Calcolatore 31 Le Unità di Input Le Unità di input permettono al calcolatore di ricevere informazioni dal mondo esterno. Sono basate su: Trasduttori (posizione, temperatura, pressione, luminosità,…). Parte elettronica (per mantenere l'informazione, per codificarla, per segnalare lo stato dell'unità,…). Le principali periferiche di input sono: Tastiera, mouse, scanner, microfono, telecamera, CD- ROM, DVD
FI - Il Calcolatore 32 Le Unità di Output Le Unità di output permettono al calcolatore di inviare informazioni al mondo esterno. Sono basate su: Parte elettronica (per mantenere l'informazione, per codificarla, per segnalare lo stato dell'unità,…). Attuatori (trasformano il segnale elettrico digitale in: posizione, temperatura, pressione, luminosità,…). Le principali periferiche di output sono: Monitor, stampante, casse acustiche
FI - Il Calcolatore 33 Le Unità di Input/Output Le unità di input/output possono essere utilizzate indipendentemente come ingresso e uscita. Le principali periferiche di input/output sono: Hard-disk, floppy disk, CD-RW, tape Le unità di input/output e le due unità di input CD-ROM e DVD vengono anche indicate come memorie di massa.
FI - Il Calcolatore 34 Dischi Magnetici I dischi magnetici usano la polarizzazione di un materiale ferromagnetico (ossido di ferro) depositato su un supporto inerte. Riscrivibili Non volatili TRACCIA SETTORE FACCIA TESTINA CILINDRO
FI - Il Calcolatore 35 Dischi Magnetici Il tempo per accedere ai dati di un settore non è costante, ma è relativamente basso (ordine della decina di millisecondi). Tempo di seek (posizionamento sul cilindro) Tempo di assestamento (posizione stabile) Tempo di latenza (posizionamento sul settore) Tempo di trasferimento (scrittura o lettura dei dati)
FI - Il Calcolatore 36 Dischi Magnetici Gli hard disk sono più veloci delle unità a floppy disk: Si mantengono sempre in rotazione. Possono ruotare a velocità più elevate in quanto le testine non sono a contatto con la superficie dei dischi.
FI - Il Calcolatore 37 Dischi Magnetici La superficie originaria di un disco magnetico è una superficie completamente smagnetizzata. L’operazione di formattazione inizializza un disco magnetico rendendolo capace di memorizzare dei dati. L’operazione di formattazione è un’operazione distruttiva.
FI - Il Calcolatore 38 Dischi Magnetici Formattazione fisica inserisce sul disco tutte le informazione necessarie per individuare le tracce ed i settori. Formattazione logica organizza lo spazio fisico ( i settori) del disco in archivi (il cosiddetto file system); crea tabelle contenenti informazioni relative agli archivi. La formattazione logica è legata al sistema operativo con cui si lavora (ogni sistema operativo ha un proprio file system)
FI - Il Calcolatore 39 Interfacce Le periferiche di diversi costruttori devono essere intercambiabili, senza richiedere parti hardware differenti sul calcolatore. Calcolatore Periferica Interfaccia Standard Connessione
FI - Il Calcolatore 40 Interfacce IDE (Intelligent Drive Electronics ) Usato per gli hard disk. Fino a due hard-disk. SCSI (Small Computer System Interface) Si possono collegare più unità periferiche di vario tipo. Le unità SCSI possono scambiarsi i dati direttamente, senza passare attraverso il microprocessore del calcolatore. Fino a 16 unità periferiche.
FI - Il Calcolatore 41 Interfacce Interfaccia parallela Usato in genere per le stampanti. Permette la trasmissione di una sequenza di byte in parallelo su otto linee. Interfaccia seriale Usato in genere per dispositivi lenti come il mouse. Permette la trasmissione di una sequenza di bit su di un’unica linea.
FI - Il Calcolatore 42 Interfacce USB Definito da un consorzio (Intel compaq, Microsoft) con l’intento di sostituire sia le porti seriali che parallele Velocita’ 12MBit/sec Collega fino a 127 periferiche in cascata Completamente “Plug and Play”
FI - Il Calcolatore 43 Oltre la macchina di Von Neumann Problema: nella macchina di Von Neumann le operazioni sono strettamente sequenziali Altre soluzioni introducono forme di parallelismo processori dedicati (coprocessori) al calcolo numerico, alla gestione della grafica, all’I/O esecuzione in parallelo delle varie fasi di una istruzione: mentre se ne esegue una, si acquisiscono e decodificano le istruzioni successive (pipeline) architetture completamente diverse: sistemi multi- processore, macchine dataflow, reti neurali