Dipartimento di Ingegneria dell’Informazione Università degli Studi di Parma Fondamenti di Informatica Il Calcolatore Monica Mordonini 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 2 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 3 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 4 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 5 Schema hardware di un Personal Computer Tutti I compne nti sono uniti da un “bus” che trasporta le informaz ioni FLOPPY DISK HARD DISK CD ROM ALIMENTATORE MEMORIA CPU SCHEDA AUDIO SCHEDA VIDEO CABINET SCHEDA MADRE FI - Il Calcolatore 6 Software Software: programmi che vengono eseguiti dal sistema Distinzione fra: Software di base (i.e. sistema operativo) Software applicativo FI - Il Calcolatore 7 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 8 Macchina di Von Neumann (anni ‘40) Unità di Controllo (CU) Ingresso (Input) Memoria Centrale Uscita (Output) Unità aritmetica (ALU) FI - Il Calcolatore 9 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 10 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 11 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 12 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 13 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 14 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 15 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 16 CPU La CPU è costituita da un microprocessore le cui capacità possono essere stimate da: Numero di transistor Frequenza di clock FI - Il Calcolatore 17 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 18 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 19 Memoria Centrale La memoria è organizzata in una sequenza logica di locazioni individuate da un indirizzo e contenente un byte di informazione. FI - Il Calcolatore 20 Memoria Centrale La capacità di una memoria si misura in byte: K (kilo) 210 1000 M (mega) 220 1.000.000 G (giga) 230 1.000.000.000 T (tera) 240 1.000.000.000.000 Il tempo di accesso di una locazione di memoria e dell’ordine delle decine di nanosecondi. FI - Il Calcolatore 21 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 22 Memoria Centrale La memoria centrale di un calcolatore contiene tre tipi di memoria elettronica RAM (Random Access Memory) ROM (Read Only Memory) Riscrivibile (operazioni di lettura e scrittura) Accesso Casuale Volatile Non riscrivibile Accesso Casuale Non volatile Cache FI - Il Calcolatore 23 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 24 Memorie cache Se abbiamo memorie così veloci perché non le usiamo per costruire tutta la RAM? Costano troppo FI - Il Calcolatore 25 Gerarchia delle Memorie Velocità Registri cache Memoria locale Memoria centrale RAM Memoria di massa Capacità FI - Il Calcolatore 26 Capacità delle memorie Tipo di meoria Capacita’ Memoria centrale Dischi magnetici Dischi floppy Nastri (bobina) Nastri (cassetta) Dischi Ottici 32-1024Mbyte 4-20 Gbyte 1.4 Mbyte 20-400 Mbyte 200-5000 Mbyte 650 Mbyte 17 Gbyte FI - Il Calcolatore 27 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 28 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 29 Le Unità Periferiche Le unità periferiche si dividono in tre classi: Input Output Input/Output FI - Il Calcolatore 30 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, CDROM, DVD FI - Il Calcolatore 31 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 32 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 33 Dischi Magnetici I dischi magnetici usano la polarizzazione di un materiale ferromagnetico (ossido di ferro) depositato su un supporto inerte. Riscrivibili Non volatili FACCIA TESTINA CILINDRO TRACCIA SETTORE FI - Il Calcolatore 34 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 35 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 36 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 37 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 38 Interfacce Le periferiche di diversi costruttori devono essere intercambiabili, senza richiedere parti hardware differenti sul calcolatore. Interfaccia Calcolatore Standard Connessione FI - Il Calcolatore Interfaccia Standard Periferica 39 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 40 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 41 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 42 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 multiprocessore, macchine dataflow, reti neurali FI - Il Calcolatore 43