(5 crediti) Calcolatori a.a. R. 2003/2004 Beraldi Elettroni Obiettivo Verifica Libri Conoscenza Prova del corso: del funzionamento di un calcolatore elettronico Informazione Tanenbaum, testo scritta Architettura (4-5 domande) + orale generali dei sul computer corso Sito Cioffi-Jorno-Villani IVedizione, del corsoutet Libreria - Il processore PD32, un MASSON approccio strutturato, Materiale http://www.dis.uniroma1.it/~beraldi/didattica.html Trasparenze integrativo del corso, disponibili sul sito del corso
Introduzione Struttura Rappresentazione di un calcolatore Programma Il livello processore logico PD-32 digitale numerica e codici del corso Calcolatore Utente Utilizza finale elettronico: i programmi del calcolatore i punti (o applicazioni), di vista Programmatore Scrive Singolo, applicazioni gruppo per il calcolatoreex: word processor.. Introduzione
Calcolatore Utente elettronico: i punti di vista Programmatore finale del calcolatore Introduzione Gestore Utilizza Scrive i programmi (o applicazioni), ex: word processor.. Progettista Ha applicazioni per il calcolatore Il Progetta A Singolo, gruppo Studia teorico finale Installare seconda il del compito o con calcolatore Esistenza a livello nuovi delle un sw, di e complessità astratto calcolatori gruppo far dimensione ottimizzazione funzionare (sistemista) persone.. del prestazioni, correttamente calcolatore aggiornamenti, può il calcolatore coincidere backupdati,.. con l utente di proprietà algoritmi del (programmi) calcolo per risolvere un problema Hardware e Software Software L insieme Circuititi (SW) (HW) dei elettronici componenti (Memoria, elettronici dispositivi un I/O, calcolatore collegamenti fisici,..) Introduzione Insieme Software Windows MAC Unix di / OS di Linux programmi base (98, NT,2K,..) (sistema eseguibili operativo) da un calcolatore Applicazioni Microsoft utente HW swper e Compilatori, SW sono lo sviluppo Office.. logicamente ambienti di applicazioni integrati equivalenti di sviluppo (IDE)
Gamma Sistemi PDA(Personal Sistemi dei embedded sistemi di calcolcolo di calcolo Personal Agenda Computer, elettronica Digital PC Assistant) incorporati in altri sistemi (ex: automobili,..) Introduzione Stazioni Server Progettazione Automazione di lavoro d ufficio Mainframe Assistita (Workstation,WS) Sistemi Applicazioni la usate gestione da molti dal del Computer sistema utenti, ex informativo (CAD) web server Reti Supercalcolatore Aumento Previsione di Workstation(NOW) della tempo potenza di calcolo mediante il collegamento di una organizzazione di PC o WS (es:banca) Calcolatori Elettronici, Beraldi, ad alta aa03/04 velocità mediante rete Esempio Posta d impiego elettronica di calcolatori Introduzione Applicazione Client di posta Server Server Client
Gli Prima antenati (1642-1944) Progetto macchina da calcolo: Pascalina, costruita da B.Pascal(1623-1662) Breve da basata parte operazioni su dischi addizione meccanici combinatori in movimento per effettuare storia di della C. Babbagenel prima macchina programmabile, la macchina analitica, del calcolo 1834 automatico Programmazione Prima Uso programmazione di attività schede perforate delle dei telai operazioni da ingresso Jaquard con da parte dati, memorizzazione già di Ada impiegate Lovelace dei per risultatiintermedi (nome la Primi lavorare un tentativi linguaggio su grandezze d impiego di programmazione binarie, di dispositivi calcolatore attuale, elettromeccanici ADA) Z1(Stibbitz,1937 (relè)per -Zuse) dato ad Calcolatori Elettronici, Aiken Primo Beraldi, progetta aa03/04 calcolatore e porta general a termine purpose Mark I(1944) Prima COLOSSUS generazione valvole termoioniche (1945-1955) Partecipazione Calcolatore Breve Primo codice Special-purposeimpiegato per la decodifica di messaggi in storia durante di la A. IIguerra Turingmondiale del digitale calcolo mondo automatico ENIAC(Electronic primo calcolatore Numerical elettronico Integratorand programmabile, (funzionante Calculator) realizzato già nel da 1943) Programmabile Pensata 18.000 Mauchly tubi per (Moore a calcoli vuoto, mediante School balistici 30 della tonnellate, collegamento durante Pennsylvania forma la IIguerra di da cavi University) U, esterni mondiale 1900 somme Eckert al secondo e IAS: Esistenza Primo calcolatore resa nota alla con fine programma della guerra memorizzato (1946) Calcolatori Elettronici, Johnv. Beraldi, aa03/04 Neumann ( architettura di von Neumann ) (1952)
La macchina di vonneumann Breve storia del calcolo automatico Memoria Unitàlogica Unitàdi registro accumulatore controllo (dati aritmetica e programmi) Dispositivo ingresso di uscitacon Esempio Calcolatori Load(INPUT) AddB Store(OUTPUT) di programma Elettronici, Beraldi, aa03/04 //nell accumulatore //Copia //Somma l accumulatore il il contenuto dell input dell accumulatore uscita nell accumulatore con il contenuto di B, risultato Seconda generazione Nasce TX-0 PDP-1 Breve PDP-8 / generazione la TX-2 DEC, (simile macchine Digital (1955-1965), Equipment sperimentali Corporation basata sui transistor storia Primo TX-0) del minicomputer, calcolo annunciato automatico Nasce Supercomputer la Usa 50.000 CDC, un Control esemplari bus(unico) (Cray-1) Data venduti per collegare Corporation tutte le nel parti 1965
Terza IBM generazione Immesso Idea generazione S/360 nuova: prima sul Compatibilità mercato (1965-1980), famiglia nel 1964 fra di calcolatori elementi circuiti della integrati famiglia Breve storia del calcolo automatico Intel4004 Primo microprocessore (1971) Quarta 1980: generazione Inizia la integrazione diffusione dei a larga Personal scala Computer (VLSI) Progressiva riduzione dell importanza dei centri di (PC) IBM cloni luogo diffuse in del cui PC il sono progetto IBMgestiti dei e calcolatori processori dando luogo calcolo alla creazione (CED), di unico Altre La Windows diffusione ditte derivato in campo del PC dal (Apple, si SO accompagna OS/2 Amiga, simile Atari,..) al a successo quello legato del Sistema ai PC Apple Operativo Breve storia del calcolo automatico
Alcune foto ENIAC-(1946) primo calcolatore moderno PDP-8 primo Ampiamente minicalcolatore (1965) diffuso COLOSSUS Usato Sembra per il primo decifrare vero i messaggi computerdei tedeschi
Personal Computer CRAY-1 primo supercalcolatore (1974) vettoriale PDA Sistema Sistema Elettronico Parti elettronico digitale programmabile Calcolatore Sfrutta (o digitale componenti) che interagiscono modo organico fra loro elettronico elettronici digitali oggi Programmabile In Il soli particolare lavora su grandezze binarie (porte (bit) logiche) ossia comportamento valori, un insieme indicati di del convenzionalmente ordini sistema è flessibile con e 0 specificato e 1 possono medianteun cioè assumere programma, due Si Altre fonda man non architetture sull trattate Architettura (ex: nel corso) calcolatori von Neumann paralleli, multiprocessore,.. sono possibili
Essa Per insieme, nozione studiare l architettura di un calcolatore è conveniente introdurre la La Una è un entità astratta di macchina nozione macchina detto set in istruzioni grado di eseguire o linguaggio istruzioni appartenenti adun di può essere fisica o Macchina Spesso si usa il termine livelloè per virtuale Una macchina Linguaggio è composta da un insieme indicare di una risorse macchina Ammettiamo e Il gestite significato dalle di istruzioni di aver ogni definito istruzione un è linguaggio dato facendo L1, riferimento come che realizzare alle sono risorse controllare Calcolatori Elettronici, macchina Beraldi, aa03/04 che esegue le istruzioni di L1? la Possiamo elementi eseguire 0, considerare l insieme di componenti elettronici (porte logiche, L hw In M0) dotata di memoria) concettualmente come una macchina di un linguaggio (macchina L0, fisica,o costruita di livello per come realtà materialmente il tutte le istruzioni di L1 supporto linguaggio L0, che all esecuzione Se istruzione hw) P poiché è un di il comportamento P programma per volta e di scritto la M0 esegue controlla è scritto in (è L1, un le nei tale risorse interpretedi circuiti macchina elettronici M0 è L1 solo esamina realizzato concettuale Ogni una serie istruzione di attività in L1 dei corrisponde circuiti elettronici ad una sequenza istruzioni L0, ossia una in P Macchina Interprete di L1 fisica che esegue le istruzioni di L1
Da La disposizione programmabile un punto di vista astratto è conveniente pensare di avere a L hw essa macchina una mediante macchina il virtualem1, linguaggio L1composta da opportune risorse, come è più astratta M1 è gerarchicamente superiore ad M0, nel senso che è supporto (anche se all esecuzione non di molto) di M0 microarchitettura Le Registri ALU Data-path risorse (Unità (in principali (connessioni Aritmetica grado di di memorizzare Logica) tale per livello il trasferimento sono gruppi di bit, dei dati) ex: 16-32 bit) A del Nota: questo data-path. controllato livello in alcune direttamente Il esiste programma architetture un programma dall hw tale è un interprete (microprogramma) swnon del linguaggio esiste ed per il data-path di il livello controllo 2è Il livello 1 M1,L1 M0,L0
Interpretazione E In altro possibile questo linguaggio modo ora scrivere L2 realizzo un la programma macchina virtuale in L1 che M2 sia un interprete di un Realizzazione di una virtuale P M2 Interprete di L2 scritto in L1 Macchina fisica Programma scritto in L2 M2,L2 Interpretazione M1,L1 Esecuzione via hw M0,L0 In Dato programma istruzione equivalenti generale un programma e σ(ist)={i1,..,im} ad cosi ed una esegue via..istruzione istruzione in la L2, sequenza l interprete ij L1 IST L2corrisponde equivalente, esamina la poi prima una esamina sequenza istruzione la seconda di del istruzioni Interpretazione macchina Istruzione L2 µi µi µi µi Sequenza equivalente σ
Il ISA calcolatore (InstructionSet livello 2 è il livello Architecture) più basso al quale un utente possa programmare un In sull hw(nelle Registri, La alcuni macchina casi locazioni cosiddette la del macchina livello di memoria, macchine microarchitettura di livello.. RISC); ISA è non realizzata è programmabile direttamente poggiandosi livello altri è ottenuta 2 (microprogramma) livello ISA nel eseguito modo descritto, dall hw (macchine ossia mediante CISC) un interprete livello ISAsw Macchina fisica Macchina Interprete Calcolatori Elettronici, Realizzazione logica Beraldi, cablata aa03/04mediante Realizzazione logica microprogrammata fisica mediante Riepilogo primi tre livelli Interprete sw o controllo cablato microarchitettura ISA dispositivi logici CPU
Il Ad con in Sistema Operativo (SO) consente all utente usare l elaboratore ragionando Sistema..fornisce Ad termini esempio, l elaboratore esempio molto il l astrazione SO l utente più (spesso fornisce astratti ordina l interfaccia rispetto all elaboratore ai grafica) livelli mediante precedenti fare la qualcosa quale un utente interagisce operativo del file (livello 3) Il E risorse (fase sistema di bootstrap) operativo e viene rimane caricato residente in memoria in memoria, all accensione diventando del il gestore calcolatore Le realmente un istruzioni interprete interpretate) nuove ibrido del (alcune SO si istruzioni chiamano sono system quelle call del livello ISA, altre sono delle Calcolatori Elettronici, Ad Beraldi, esempio aa03/04 trasferisci un blocco dati dal disco alla memoria Un esempio storico Istruzioni del SO
Multitasking (nozioni di base) Per E Il (task) SO una assegna tecnica a che turno consente la CPU l esecuzione ai vari task contemporanea secondo qualche politica di diversi (scheduling) programmi Sistemi aspetto che esemplificare, essi il progrediscano ogni task usa la CPU per un fisso t(es: ~ms) e dopo operativi proprio turno. in Gli parallelo utenti che interagisco con i task hanno l impressione servizi forniti dal SO task task Sistema Operativo Hardware task Macchina Virtuale dedicata task Macchina Virtuale dedicata Traduzione Se Un tecnica Realizzazione Miè altro della la modo macchina traduzione per realizzare una macchina virtuale è mediante la di da una realizzare, un qualunque virtuale in Ogni Il Liviene istruzioni programma istruzione eseguito Li-1risultante di nel Piviene seguente da sostituita tutte modo: sostituzioni con la sequenza (traduzione), programma equivalente sia esso Piscritto in di Impiegato eseguito di da norma Mi-1per implementare i livelli 4 e 5 Pi, è traduttore Pi Pi-i
E Di Ogni una norma rappresentazione è la rappresentazione simbolica di uno dei della livelli macchina sottostanti ISA Livello La esempio macchina istruzione ADD A,B è rappresentata simbolicamente (codice assembler), ad assembler pseudo-istruzioni Programma mette (direttive a disposizione per l assemblatore) delle macro (gruppi di istruzioni) e delle assembler in codice Assemblatore eseguibile Programma Livello ISA dal ADD A,B 01010101001 E specifico il livello problema visto normalmente (es programmi da in chi java) scrive applicazioni peruno Livello applicativo Programma in Java Compilatore dall interprete Programma eseguibile java (jvm) JVM int i; i=i+2; bytecode Macchina ISA eseguita da
Macchina linguaggio virtuale macchina Mne Ln Architettura Un macchine descrizione delle calcolatore varie virtuali macchine delle di un è costituito caratteristiche calcolatore virtuali da (livelli) è varie la Architettura a livelli di un calcolatore Macchina Calcolatori Elettronici, linguaggio linguaggio Macchina virtuale Beraldi, aa03/04 fisica macchina macchina MO M1e e L0 L1 Livello Il C,C++,Java,.. livello 5: 2: Linguaggi (macchina di ISA-Instruction alto livello Livello set al la quale macchina Architecture) 1: un Le utente istruzioni è può il più di programmare questo basso livello Tipica divisione a livelli di un calcoltare si microprogramma interprete controlla chiamano il della data microistruzioni(µi). macchina path (se presente) M2 e è livello Il La macchina livello 0 è composta un da elettronici elementi digitali, fisici (componenti Calcolatori Elettronici, Beraldi, detti aa03/04 portelogiche)
Leggere capito 1 del Tanenbaum Approfondimenti e curiosità