Laboratorio di Informatica I Struttura della lezione • Classificazione degli elaboratori • Alcuni concetti base: Lezione 2: Introduzione al corso – la struttura di base del calcolatore – algoritmi – la programmazione Vittorio Scarano Laboratorio di Informatica I • linguaggi di programmazione • il processo di realizzazione Corso di Laurea in Informatica – una gerarchia di macchine logiche Laboratorio di Informatica 1 Classificazione di Elaboratori 2 Personal Digital Assistant (PDA) schermo da 3 a 6 pollici; peso ~200g senza tastiera (palmari) o con tastiera mini Dimensione Capacità Costo Personal Digital Assistant (PDA) Network Computer Notebook Personal Computer Workstation Mini-computer Mainframe Supercomputer Facilità d’uso Genericità Laboratorio di Informatica 1 Vittorio Scarano Vittorio Scarano (hand-held) alimentazione a batteria Sistema Operativo ridotto input tramite penna e riconoscimento scrittura interfaccia a raggi infrarossi per collegamento Esempi: Apple Newton, PalmPilot, Psion, Sharp 5800, Philips Velo1, etc. 3 Network Computers Laboratorio di Informatica 1 Vittorio Scarano 4 Computer Notebook Dimensioni di un agenda formato A4 • Recente introduzione • Capacità di calcolo simili ad un Personal Computer • scarica il proprio Sistema Operativo da rete Peso da 1 Kg fino a 4-5 Kg. Alimentazione a rete ed a batteria (ricaricabile) Prestazioni simili ad un Personal Computer – a seconda del S.O. caricato assumono funzionalità diverse ma ad un costo più elevato. Dotati di dispositivi interscambiabili Esempi: • utile per piattaforma di calcolo eterogeneo Apple Powerbook, Toshiba Notebook, etc. Laboratorio di Informatica 1 Vittorio Scarano 5 Laboratorio di Informatica 1 Vittorio Scarano 6 Laboratorio di Informatica I Personal Computer Workstation Detto anche microcomputer Stazioni di lavoro individuali dall’elevata capacità di calcolo; “nato” nel 1981 dalla IBM Potenti processori dedicati per la grafica anche se 77 la Commodore presentava il PET... Utilizzati nella: architettura a processore unico progettazione CAD (Computer Aided oggetto della evoluzione più rapida Design) Due piattaforme: grafica computerizzata (video) Wintel (WINdows + InTEL) simulazione di processi complessi Apple PowerPC Laboratorio di Informatica 1 Vittorio Scarano 7 Laboratorio di Informatica 1 Mini e Supermini Computer 8 Vittorio Scarano I “grossi calibri”... Mainframe Supportano centinaia di utenti Elevata capacità di gestione dati Costo e gestione elevata e complessa. Calcolatori dipartimentali Supportano decine di utenti ed utenze con interessi specifici Supercomputer Estremamente veloci (multiprocessore) Alto grado di parallelismo interno Usati in campo scientifico o tecnico per: Potenze di calcolo elevate Ambiente multi-utente Software Applicativo particolare Dotati (spesso) di multiprocessore elaborazione di dati atmosferici inviati da satellite simulazione di voli spaziali, etc… Laboratorio di Informatica 1 Vittorio Scarano 9 Le Componenti di un Calcolatore Laboratorio di Informatica 1 Architettura Generale di un Elaboratore • Hardware (HW): Processore – il calcolatore (circuiti elettronici) • Software (SW): Memoria Centrale Bus di Interconnessione Memorie di Massa – programmi (istruzioni per l’hardware) • Firmware – Componenti HW pre-programmate per realizzare specifiche funzionalità. Controller dispositivi I/O e comunicazione Cabinet Video Laboratorio di Informatica 1 Vittorio Scarano 10 Vittorio Scarano 11 Stampante Memorie di massa esterne Laboratorio di Informatica 1 Vittorio Scarano Dispositivi di comunicazione 12 Laboratorio di Informatica I Il Processore Processore Il Processore • Central Processing Unit (CPU) • Effettua la computazione: Memoria Centrale – controllata dalle istruzioni prelevate dalla memoria Memorie di Massa Bus di Interconnessione • Circuiti integrati Controller dispositivi I/O e comunicazione – integra (milioni di) transistor Cabinet Video Dispositivi di comunicazione Stampante Memorie di massa esterne Laboratorio di Informatica 1 13 Vittorio Scarano Laboratorio di Informatica 1 14 Vittorio Scarano La Memoria Centrale Confronto: numero di transistors 19 98 8 .0 0 0 .0 0 0 Processore 7 .0 0 0 .0 0 0 Memoria Centrale 6 .0 0 0 .0 0 0 19 97 5 .0 0 0 .0 0 0 Bus di Interconnessione Memorie di Massa 19 93 4 .0 0 0 .0 0 0 3 .0 0 0 .0 0 0 19 89 2 .0 0 0 .0 0 0 19 85 P. M MX 6 8048 um 6 8038 P e n ti 6 8028 8086 Laboratorio di Informatica 1 Vittorio Scarano Cabinet um I I 19 81 19 82 0 P e n ti 1 .0 0 0 .0 0 0 Controller dispositivi I/O e comunicazione Video 15 Stampante Dispositivi di comunicazione Memorie di massa esterne Laboratorio di Informatica 1 La Memoria Centrale 16 Vittorio Scarano Confronto di memorie Dimensione (#transistors) • Contiene: 30 000 0 – dati – programmi 25 6M b 25 000 0 20 000 0 • Random Access Memory (RAM) • Memoria volatile 15 000 0 10 000 0 – necessita di alimentazione elettrica 64 M b 50 000 64 K b 25 6K b 1M b 4M b 16 M b 0 19 84 Laboratorio di Informatica 1 Vittorio Scarano 17 Laboratorio di Informatica 1 19 85 19 86 19 88 Vittorio Scarano 19 89 19 92 19 94 18 Laboratorio di Informatica I Confronto di memorie La Memoria di Massa Velocità (in ns) 1 60 Processore 1 50 Memoria Centrale 1 40 1 20 1 20 Bus di Interconnessione 80 70 Memorie di Massa 1 00 60 60 50 50 40 40 Controller dispositivi I/O e comunicazione Cabinet 20 0 1 98 4 1 98 5 Laboratorio di Informatica 1 1 98 6 1 98 8 1 98 9 1 99 2 Video 1 99 4 Vittorio Scarano 19 Laboratorio di Informatica 1 Processore – dati – programmi Memoria Centrale Bus di Interconnessione Memorie di Massa • Memoria secondaria (Secondary Storage) • Dischi magnetici: – interni/esterni – rigidi (hard disk) – floppy disk (removibili) Controller dispositivi I/O e comunicazione Cabinet Video 21 Stampante Laboratorio di Informatica 1 22 Vittorio Scarano Altri elementi... • Permettono la comunicazione con utenti: Processore – per inserire di dati/programmi – per fornire risultati – (in generale) per il controllo Memoria Centrale Memorie di Massa Bus di Interconnessione • La postazione di lavoro: – monitor, tastiera, mouse • Stampanti Controller dispositivi I/O e comunicazione Cabinet Video Vittorio Scarano Dispositivi di comunicazione Memorie di massa esterne I dispositivi di Input/Output Laboratorio di Informatica 1 20 Vittorio Scarano I dispositivi di Input/Output • Contengono in maniera permanente: Vittorio Scarano Dispositivi di comunicazione Memorie di massa esterne La Memoria di Massa Laboratorio di Informatica 1 Stampante 23 Stampante Memorie di massa esterne Laboratorio di Informatica 1 Vittorio Scarano Dispositivi di comunicazione 24 Laboratorio di Informatica I Altri elementi... La creazione di un programma • Bus di comunicazione • Un processo composto di fasi diverse • Necessario: – permette la comunicazione tra i componenti – facilita la connessione (standard) – Identificare il problema – Conoscere la soluzione – Implementare ed eseguire la soluzione • Dispositivi di comunicazione: – verso rete geografica (modem) – verso rete locale (scheda di rete) • Ciclo di vita del software – debugging – maintenance Laboratorio di Informatica 1 25 Vittorio Scarano Laboratorio di Informatica 1 Il processo: una vista informale Il processo in dettaglio Problema Problema Analisi Analisi Algoritmo Soluzione informale Soluzione Soluzione formale Formalizzazione Stesura di una descrizione Descrizione Programmazione Interpretazione Descrizione interpretata Esecuzione 26 Vittorio Scarano Programma in linguaggio ad alto livello Compilazione Soluzione Programma in Linguaggio Macchina Esecuzione Laboratorio di Informatica 1 Vittorio Scarano 27 Laboratorio di Informatica 1 Gli Algoritmi 28 Vittorio Scarano Il processo in dettaglio • Algoritmo: Problema Sequenza finita di istruzioni che, se eseguite, svolgono un particolare compito. Analisi • Caratteristiche di un algoritmo: Soluzione informale Formalizzazione – non ambiguità – effettivo (esecuzioni eseguibili) – finito (terminazione) Codifica Soluzione formale Programmazione Programma in linguaggio ad alto livello Compilazione • Studio della complessità di un algoritmo Programma in Linguaggio Macchina Esecuzione Laboratorio di Informatica 1 Vittorio Scarano 29 Laboratorio di Informatica 1 Vittorio Scarano 30 Laboratorio di Informatica I Codifica di un algoritmo Il processo in dettaglio • Trasformazione della sequenza di passi (astratti) in un linguaggio di programmazione ad alto livello • Linguaggi ad alto livello: Problema Analisi Soluzione informale Formalizzazione – indipendenti dalla piattaforma (quasi…) – Esempi: Soluzione formale Programmazione • Fortran, Pascal, Basic, Cobol, C, C++, Java etc. Programma in linguaggio ad alto livello Compilazione Programma in Linguaggio Macchina Esecuzione Laboratorio di Informatica 1 31 Vittorio Scarano La compilazione compilatore Vittorio Scarano 32 Una gerarchia di “Macchine” logiche • Traduce il linguaggio ad alto livello in linguaggio macchina (compreso dal processore) • Effettuata dal compilatore e dal linker file sorgente Laboratorio di Informatica 1 Utilizzatori: Software Applicativo file oggetto Linguaggi ad Alto livello linker file eseguibile Software di Base Sistema Operativo, Utilità, Software Comunicazione Hardware/Firmware librerie Componenti Elettronici, Collegamenti fisici Laboratorio di Informatica 1 Vittorio Scarano 33 Laboratorio di Informatica 1 Vittorio Scarano 34