Architettura di un Elaboratore - PDF
Document Details
Uploaded by Deleted User
Filippo Sciarrone
Tags
Summary
Questi appunti trattano l'architettura di un elaboratore, concentrandosi sul modello di Von Neumann. L'autore, Filippo Sciarrone, fornisce una panoramica delle componenti principali di un elaboratore e delle loro funzioni. Il documento è adatto a studenti di informatica.
Full Transcript
ARCHITETTURA DI UN ELABORATORE Filippo Sciarrone Filippo Sciarrone “Architettura di un elaboratore” Indice 1. INTRODUZIONE........................................................................... 3...
ARCHITETTURA DI UN ELABORATORE Filippo Sciarrone Filippo Sciarrone “Architettura di un elaboratore” Indice 1. INTRODUZIONE........................................................................... 3 2. JOHN VON NEUMANN................................................................ 4 3. IL MODELO DI VON NEMANN................................................. 6 4. LE COMPONENTI DEL MODELLO.......................................... 9 4.1 La CPU...................................................................................... 9 4.2 La Memoria Centrale.......................................................... 10 4.3 Le interfacce......................................................................... 11 4.4 I Bus........................................................................................ 11 BIBLIOGRAFIA/SITOGRAFIA....................................................... 13 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 2 di 13 Filippo Sciarrone “Architettura di un elaboratore” 1. INTRODUZIONE In questa dispensa di accompagnamento alla video-lezione, si introduce l’architettura del moderno calcolatore, basata su intuizioni geniali di uno degli scienziati più acuti del XX secolo: John Von Neumann. Si illustrano le parti principali del modello di Von Neumann in modo molto generale, lasciando ad UDA successive i necessari approfondimenti. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 3 di 13 Filippo Sciarrone “Architettura di un elaboratore” 2. JOHN VON NEUMANN John Von Neumann (Figura 1), nasce a Budapest il 28 dicembre del 1903 da una famiglia di banchieri ebrei. A sei anni intratteneva gli ospiti di famiglia con la sua prodigiosa memoria, ripetendo all'istante intere pagine di elenco telefonico che gli erano state mostrate solo per pochi istanti o eseguendo rapidamente a mente divisioni con due numeri da otto cifre. Si divertiva conversando in greco antico, arrivando a padroneggiare, intorno ai dieci anni, sei lingue. Considerato come uno dei più grandi matematici della storia moderna, a lui si devono contributi fondamentali in numerosi campi come: teoria degli insiemi, analisi funzionale, topologia, fisica quantistica, economia, informatica, teoria dei giochi, fluidodinamica e in molti altri settori della matematica. Ideò modelli matematici per descrivere la meteorologia, che ancora oggi vengono utilizzati. Collaborò molto strettamente con il pentagono USA per la costruzione di bombe atomiche ed in particolare, partecipò al progetto Manhatthan per la costruzione delle bombe atomiche poi lanciate su Hiroshima e Nagasaki. Dagli inizi del 1944 von Neumann era anche responsabile di un contratto di ricerca dell’” Istituto di studi avanzati” (IAS) di Princeton. Il progetto principale aveva come obiettivo la soluzione di problemi matematici complessi di natura militare; allo IAS in particolare, fu affidato lo studio di metodi numerici per risolvere i problemi di onde d’urto. Negli ultimi mesi della guerra questo progetto si estese alla ricerca di metodi per i cosiddetti “calcolatori ad alta velocità”. Sul “Memorandum sul programma del computer ad alta velocità” pubblicato l’8 novembre 1945, von Neumann evidenziò un progetto che Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 4 di 13 Filippo Sciarrone “Architettura di un elaboratore” andava oltre la costruzione del computer: “Dovranno essere fatte delle ulteriori ricerche in parallelo con lo sviluppo e la costruzione della macchina. Comunque, il lavoro principale dovrà essere fatto quando la macchina sarà completa e disponibile, usando la macchina stessa come strumento di sperimentazione”. Viene considerato il padre del calcolatore moderno. Muore a Washington l’8 Febbraio 1957. Molti dei lavori di von Neumann non furono pubblicati perché coperti da segreto militare. Nel 1946 fu nominato, in un contesto non strettamente militare, presidente del “Comitato del calcolo ad alta velocità” del “Comitato nazionale di ricerca”. Parte dei suoi sforzi era volta all’organizzazione scientifica dell’informatica e delle tecnologie connesse, anche se, a suo parere, non erano ancora maturi i tempi per fondare una società scientifica che si dedicasse sullo sviluppo dei calcolatori veloci. Continuò comunque a sviluppare le sinergie tra le potenzialità dei computer e le necessità di soluzioni computazionali di problemi nucleari. Figura 1: John Von Neumann Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 5 di 13 Filippo Sciarrone “Architettura di un elaboratore” 3. IL MODELO DI VON NEMANN Nel 1945 il matematico J. Von neumnn propose un modello di architettura per elaborare e gestire i dati, chiamato modello di Von Neumann (Figura 2). Figura 2: Il modello di Von Neumann (le periferiche non ne fanno parte). Von Neumannn ideò quindi il primo modello di calcolatore elettronico, ancora oggi utilizzato dalle aziende costruttrici come punto di riferimento. Come si vede dalla Figura 2, esso si basa su un insieme di semplici blocchi funzionali interconnessi. Secondo questo modello, il calcolatore è una macchina programmabile capace di eseguire sequenze di operazioni elementari, costituite da istruzioni elementari, dette istruzioni macchina, codificate come stringhe binarie. Come detto precedentemente, questo modello viene tuttora utilizzato: l’evoluzione negli anni ha riguardato i singoli componenti e l’ottimizzazione del Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 6 di 13 Filippo Sciarrone “Architettura di un elaboratore” funzionamento dei vari elementi tra loro. Si sottolinea il fatto che l’architettura dell’hardware di un calcolatore reale è molto complessa: il modello di Von Neumann è un modello semplificato dei calcolatori moderni e che, come tale non è una macchina reale. J. Von Neumann è stato il progettista (dal 1945 al 1950) del primo calcolatore in cui i programmi potevano essere memorizzati anziché codificati mediante cavi e interruttori. La struttura del modello di Von Neumann E’ un modello di macchina semplificato in cui vengono evidenziate tutte le parti principali alla base degli attuali calcolatori. E’ composto da 4 componenti principali: Unità centrale di elaborazione Memoria centrale Interfacce Ingresso/Uscita (Input/Output) Bus Come detto precedentemente, tale modello rimane il punto di riferimento, con le dovute eccezioni tecnologiche, della costruzione dei moderni elaboratori. Tale architettura viene infatti mappata sulla motherboard ovvero sulla parte fisica e logica di un computer, argomento che verrà approfondito in altra unità didattica (Figura 3). Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 7 di 13 Filippo Sciarrone “Architettura di un elaboratore” Figura 3: Mapping tra modello e motherboard. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 8 di 13 Filippo Sciarrone “Architettura di un elaboratore” 4. LE COMPONENTI DEL MODELLO In questo paragrafo vengono introdotti i quattro elementi principali del modello insieme alla loro caratteristiche funzionali generali. 4.1 La CPU La unità centrale di elaborazione (Central Processing Unit), chiamata anche processore o è l’unità fondamentale di un elaboratore poiché è in grado di eseguire istruzioni per l’elaborazione dei dati, di svolgere anche funzioni di controllo (ovvero, di coordinamento) delle altre componenti funzionali. Nelle architetture moderne si parla di Microprocessore, intendendo con tale termine quel componente (elettronico) che rappresenta l’implementazione reale di una CPU del modello di Von Neumann (Figura 4). Il microprocessore è costituito da un monocristallo di silicio estremamente puro, sezionato finemente, quindi trattato ad altissime temperature in forni che contengono vari tipi di impurità allo stato gassoso. Queste impurità devono legarsi alla struttura reticolare del cristallo, influenzando la sua capacità di condurre elettricità. Il silicio diventa così un semiconduttore ed è in grado quindi di resistere al passaggio di corrente elettrica in misura maggiore rispetto ai normali conduttori come il rame, ma non tanto quanto gli isolanti. Il microprocessore (o unità centrale di elaborazione, CPU) è una elaborata combinazione transistor, che si definisce circuito integrato. I circuiti integrati vengono adoperati nei più svariati settori, dall'amplificazione dell'audio al controllo delle funzioni di un microonde; i microprocessori si differenziano da altri circuiti integrati del genere per il fatto che le variazioni elettriche, conseguenti ai segnali Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 9 di 13 Filippo Sciarrone “Architettura di un elaboratore” d'ingresso, si verificano all'interno del processore stesso in base a particolari elaborazioni. Figura 4: Esempio di microprocessore. 4.2 La Memoria Centrale La memoria centrale, memorizza e fornisce l’accesso a dati e istruzioni. Il processore dialoga con la memoria centrale attraverso operazioni di lettura/scrittura. In pratica, il processore legge ed esegue le istruzioni che legge, secondo opportune regole, in memoria centrale. Esistono nelle moderne implementazioni degli elaboratori, varie tipologie di memoria (Figura 5), organizzate su schede e su circuiti integrati singoli posti nella motherboard, che verranno studiate in dettaglio nelle prossime UDA. Figura 5: Memoria centrale. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 10 di 13 Filippo Sciarrone “Architettura di un elaboratore” 4.3 Le interfacce Le interfacce rappresentano componenti di collegamento (considerate esterne al calcolatore), che consentono lo scambio di dati tra calcolatore e utente. L’interfaccia può cambiare al variare della periferica da collegare al calcolatore. Ad esempio l’interfaccia video SVGA oppure l’interfaccia USB con i suoi vari standard. In Figura 6 un esempio di interfaccia tra computer e stampante. Praticamente l’interfaccia lavora a due livelli: logico e fisico. A livello logico comanda lo scambio di dati, dialogando con la periferica mentre a livello fisico l’interfaccia rende compatibili i segnali elettrici che parlano da una parte l’elaboratore e dall’altra la periferica. Figura 6: Un esempio di interfaccia. 4.4 I Bus L’informazione all’interno di un elaboratore “viaggia” su speciali “autostrade” che collegano le diverse unità, dette bus. Un bus è un gruppo di segnali, o di piste sul circuito stampato, utilizzati per trasportare i segnali elettrici che rappresentano i bit tra le varie unità. I bus possono essere classificati come bus di sistema o bus interno,che collega le unità interne all’elaboratore, o come bus di periferica o bus di Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 11 di 13 Filippo Sciarrone “Architettura di un elaboratore” I/O che servono a collegare dispositivi periferici. Si hanno tre tipologie principali di bus: Bus dei Dati (Data Bus) - adibito al trasferimento dei dati tra un'unità che trasmette e un'unità che riceve Bus degli Indirizzi (Address Bus) - è il bus sul quale viene indicato l'indirizzo dell'unità interessata all'operazione, esempio la cella di memoria Bus dei segnali di controllo (Control Bus) - è il bus sul quale sono inviati i comandi che la CPU impartisce alle altre componenti del sistema In Figura 7 si osservi la composizione del System Bus, scomposto nei tre canali elencati precedentemente. Figura 7: System Bus. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 12 di 13 Filippo Sciarrone “Architettura di un elaboratore” BIBLIOGRAFIA/SITOGRAFIA Curtin, P.,D., Foley, K., Sen, K., Morin, C. (2016). Informatica di base. McGraw-Hill Education. Mezzalama, M. and Piccolo, E. (2010). Capire l’informatica. CittàStudi Edizioni. http://didattica.uniroma2.it/assets/uploads/corsi/38779/John_vo n_Neumann,_Lapprendista_stregone_.pdf (Piergiorgio Odifreddi) http://www.minerva.unito.it/SIS/VonNeumann/VonNeumann11.htm Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 13 di 13 IL MICROPROCESSORE Filippo Sciarrone Filippo Sciarrone “Il microprocessore” Indice 1. INTRODUZIONE........................................................................... 3 2. CARATTERISTICHE GENERALI.............................................. 4 3. L’ARCHITETTURA DEL MICROPROCESSORE................... 7 4. IL CICLO MACCHINA............................................................... 10 BIBLIOGRAFIA/SITOGRAFIA....................................................... 12 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 2 di 12 Filippo Sciarrone “Il microprocessore” 1. INTRODUZIONE In questa dispensa di accompagnamento alla video-lezione, si introduce l’architettura del microprocessore, l’elemento più importante dell’architettura di von Neumann il quale ha il compito di eseguire le istruzioni. Si illustrano dapprima le caratteristiche generali, successivamente l’architettura funzionale ed infine il modello di funzionamento, a tre e cinque stati. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 3 di 12 Filippo Sciarrone “Il microprocessore” 2. CARATTERISTICHE GENERALI L’elemento fondamentale di un sistema di elaborazione, come proposto da von Neumann, è la CPU (Central Processing Unit). Questa viene realizzata fisicamente attraverso un microprocessore che può essere multicore, cioè costituito da più CPU eguali in un unico componente integrato (chip), come ad esempio il microprocessore i7 della intel, illustrato in Figura 1 (Baldino et al., 2016). Figura 1: il chip del microprocessore i7 di ultima generazione della Intel. Per comprendere adeguatamente l’architettura ed il funzionamento di un microprocessore, conviene riflettere inizialmente sull’architettura generale di un sistema di elaborazione a microprocessore, ovvero entrare con una lente di ingrandimento nel modello di von Neumann di Figura 2. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 4 di 12 Filippo Sciarrone “Il microprocessore” Figura 2: modello di von Neumann. Come si può notare, la CPU risulta un elemento comunicante con gli altri elementi del sistema attraverso il system bus, composto a sua volta da tre tipologie di canali. Scendendo ancora nel dettaglio, risulta utile sottolineare come, la mansione fondamentale di una CPU sia quella di eseguire istruzioni operanti su dati. Sia le istruzioni che i dati sono, in questa tipologia di architettura, memorizzati in memoria centrale e quindi diviene fondamentale lo schema illustrato in Figura 3, dove i componenti del modello comunicano in modo dedicato. Inoltre, nella figura, viene introdotto un altro elemento essenziale per il funzionamento di un microprocessore, ovvero il clock. Per comprendere l’importanza del clock, bisogna ricordare che un sistema di elaborazione e microprocessore è un sistema discreto e come tale, composto da un numero grande, ma finito di stati o configurazioni. A questo proposito è utile ricordare le prime calcolatrici meccaniche dei secoli passati dove le singole operazioni venivano effettuate attraverso meccanismi a ruote dentate: ogni operazione corrispondeva a vari spostamenti delle ruote dentate. Nel caso del microprocessore, continuando con l’analogia, il clock è uno spostamento di un singolo dentino dell’ingranaggio. Pertanto, il tempo in questi sistemi, ovvero Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 5 di 12 Filippo Sciarrone “Il microprocessore” quanto dura una operazione, va misurato attraverso il numero di impulsi di clock richiesti per portarla a termine. Ne consegue che più è alta la frequenza di clock, a parità di architettura, più risulterà veloce il microprocessore. Bus Indirizzi Memoria Centrale CPU (istruzioni e dati) Bus Dati (Microprocessore) Lettura Scrittura Clock Figura 3: il dialogo CPU-RAM. Dalla Figura 3 si nota anche lo stretto collegamento del microprocessore con la memoria centrale. In particolare si notino i due segnali leggi e scrivi, i quali appartengono alla categoria dei segnali di controllo (bus controlli), i quali servono a dire alla memoria centrale se il microprocessore vuole leggere o scrivere in memoria. Come vedremo tra poco, nelle moderne architetture di un microprocessore, per evitare i rallentamenti dovuti alle diverse velocità tra microprocessore e memoria centrale (RAM), si introduce la memoria cache. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 6 di 12 Filippo Sciarrone “Il microprocessore” 3. L’ARCHITETTURA DEL MICROPROCESSORE Nel corso dei decenni, l’evoluzione della CPU è stata enorme in termini di capacità di elaborazione e velocità, e la struttura interna (architettura), si è evoluta, fino ad arrivare a quella esposta in Figura 4. Figura 4: architettura generale di un microprocessore. Seguendo lo schema di Figura 4, passiamo ad illustrarne le componenti. Bus interno: canale che consente di trasferire dati e indirizzi tra i vari blocchi del microprocessore. Questa componente rappresenta un vero e proprio canale, misurato in numero di bit, il quale, più è grande e più velocizza il microprocessore. Infatti si supponga di avere due microprocessori esattamente uguali tranne che per il suo bus interno: il primo a 32 bit ed il secondo a 64 bit. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 7 di 12 Filippo Sciarrone “Il microprocessore” Risulta chiaro che, dovendo trasferire 64 bit da una componente all’altra, entrambe interne al microprocessore, il primo tipo di microprocessore dovrà impiegare due viaggi mentre il secondo uno; ALU (Arithmetic Logic Unit): unità che esegue tutte le operazioni logico-matematiche; Registri: piccole aree di memoria molto veloci che conservano i dati da elaborare e le informazioni relative alle operazioni da eseguire durante l’esecuzione delle istruzioni; Control Unit: o coordina e gestisce le operazioni interne dei vari blocchi in base ai segnali ricevuti dall’esterno e alle istruzioni da eseguire; Cache interna: o Area di memoria ad accesso veloce atta a contenere le istruzioni successive a quella in corso di esecuzione, velocizzando così la fase di reperimento dell’istruzione dalla memoria centrale. Organizzata su più livelli (L1,L2,L3) in base alla velocità di accesso e alla frequenza d’uso; Logica di controllo: o Insieme di circuiti che trasformano gli impulsi elettrici provenienti dall’esterno in segnali utili per l’unità di controllo e trasformano in impulsi elettrici i comandi provenienti dall’unità di controllo. Si ricordi Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 8 di 12 Filippo Sciarrone “Il microprocessore” che le istruzioni alla fine devono essere trasformate in segnali elettrici; Memory Interface (Memory Management Unit): o Fornisce ai bus esterni di comunicazione (dati e indirizzi) gli impulsi necessari per le comunicazioni con la memoria e le periferiche e di trasformare gli impulsi ricevuti dall’esterno sui due bus in segnali utili per l’unità di controllo; Bus dati: o Trasferisce dati e istruzioni tra microprocessore e memoria centrale (bidirezionale); Bus indirizzi: o Gli indirizzi con i quali la cpu seleziona una cella di memoria o una periferica (monodirezionale); Bus controlli: o Segnali di sincronizzazione e controllo; Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 9 di 12 Filippo Sciarrone “Il microprocessore” 4. IL CICLO MACCHINA In questo paragrafo si illustra la modalità di funzionamento di un microprocessore. Iniziamo prima con il ciclo macchina a tre stati, passando successivamente a quello a cinque stati. L’esecuzione di ciascuna istruzione avviene mediante lo svolgimento delle seguenti tre operazioni di base (ciclo macchina): Fase di Fetch (IF) (lettura): o Il microprocessore legge dalla memoria centrale l’istruzione da eseguire; Fase di decode (ID) (decodifica): o Il microprocessore determina il tipo di istruzione che deve essere eseguito; Fase di Execute (EX): o Il microprocessore esegue l’istruzione, richiede lo svolgimento di tutte le azioni necessarie per la sua corretta esecuzione; Preleva una istruzione dalla memoria centrale Interpreta l’istruzione Esegue l’istruzione Figura 5: il ciclo macchina a tre stati. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 10 di 12 Filippo Sciarrone “Il microprocessore” Le tre fasi esposte rappresentano quindi un ciclo con il quale il microprocessore esegue le istruzioni. In letteratura il ciclo macchina si può trovare anche a cinque stati, introducendo due sotto-stati aggiuntivi, come illustrato in Figura 6: Fase MEM: o scrittura del risultato in memoria (solo per alcune istruzioni) Fase WB (Write Back): o scrittura del risultato nel registro opportuno e aggiornamento dello stato Gli attuali microprocessori sono si basano su una serie di micro- operazioni ciascuna di durata 1 ciclo di clock in modo tale da ottimizzare i tempi di esecuzione. Fetch Decode Figura 6: il ciclo macchina a 5 stati. Execute Mem WB Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 11 di 12 Filippo Sciarrone “Il microprocessore” BIBLIOGRAFIA/SITOGRAFIA Curtin, P.,D., Foley, K., Sen, K., Morin, C. (2016). Informatica di base. McGraw-Hill Education. Mezzalama, M. and Piccolo, E. (2010). Capire l’informatica. CittàStudi Edizioni. Baldino, E., Rondano, R., Spano, A. Iacobelli, C. (2016). Internet Working. Mondadori Education, Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 12 di 12 LA SCHEDA MADRE Filippo Sciarrone Filippo Sciarrone “La Scheda Madre” Indice 1. INTRODUZIONE........................................................................... 3 2. CARATTERISTICHE GENERALI.............................................. 4 2.1 Relazione con il modello di Von Neumann...................... 4 2.2 Modello di von Neumann e scheda madre........................ 5 3. ARCHITETTURA DI UNA SCHEDA MADRE......................... 6 3.1 Northbridge............................................................................. 7 3.2 Southbridge............................................................................. 7 3.3 Memoria RAM (Random Access Memory)........................ 8 4. ASSEMBLAGGIO DI UN COMPUTER................................... 13 BIBLIOGRAFIA/SITOGRAFIA....................................................... 14 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 2 di 14 Filippo Sciarrone “La Scheda Madre” 1. INTRODUZIONE In questa dispensa di accompagnamento alla video-lezione, si introduce la motherboard ovvero la scheda madre, una piastra hardware sulla quale risiedono tutte le componenti funzionali di un elaboratore. Come si vedrà, essa rappresenta la realizzazione fisica del modello di Von Neumann, con le dovute eccezioni causate dalla continua evoluzione tecnologica di tutte le componenti elettroniche. I concetti appresi in questa unità didattica aiuteranno a selezionare il materiale giusto per assemblare il proprio computer. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 3 di 14 Filippo Sciarrone “La Scheda Madre” 2. CARATTERISTICHE GENERALI La scheda madre o motherboard rappresenta la piattaforma fisica sulla quale sono installate le componenti e le interfacce hardware di un elaboratore. Un esempio è illustrato in Figura 1 dove viene illustrata la scheda Asus M5A78L-M PLUS. Una caratteristica fondamentale che distingue una scheda madre da un’altra è il chipset ovvero una sigla corrispondente ad una ben precisa architettura hardware. Su tale argomento torneremo in modo approfondito nelle prossime sezioni. Figura 1: Esempio di scheda madre. 2.1 Relazione con il modello di Von Neumann La scheda madre rappresenta la realizzazione fisica del modello di Von Neumann. E’ interessante notare come un modello, astratto, di elaboratore, del 1945, ancora oggi rappresenta il punto di riferimento delle architetture alla base di un calcolatore. Infatti, tra le sue funzionalità abbiamo: Esecuzione delle istruzioni Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 4 di 14 Filippo Sciarrone “La Scheda Madre” Coordinamento delle componenti installate (CPU, RAM,…) Trasferimento dati dal e verso il mondo esterno (periferiche) 2.2 Modello di von Neumann e scheda madre In Figura 2 è illustrato il modello di von Neumann in relazione ad una scheda madre, in questo caso la ASUS P5KPL/1600. Ovviamente ad occhio immediato non risulta semplice individuare una ad una le relazioni tra le parti hardware e le parti del modello. In questo paragrafo cercheremo di dare indicazioni chiare in tal senso. Figura 2: Mapping tra modello di von Neumann e motherboard. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 5 di 14 Filippo Sciarrone “La Scheda Madre” 3. ARCHITETTURA DI UNA SCHEDA MADRE In questo paragrafo entriamo nel dettaglio di una scheda madre, illustrandone le componenti fondamentali. Partendo dall’architettura esposta in Figura 31, vediamo che da un punto di vista logico- funzionale, una motherboard è suddivisa nei seguenti due componenti principali (architettura Intel/AMD): Northbridge o CPU o PCI-E o RAM (Memoria centrale) Southbridge o Periferiche lente Figura 3: Schema dell'architettura di una scheda madre Intel/AMD 1 https://it.wikipedia.org/wiki/Northbridge Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 6 di 14 Filippo Sciarrone “La Scheda Madre” 3.1 Northbridge Il northbridge, chiamato anche MCH o Memory Controller Hub, è il circuito integrato che controlla la comunicazione tra gli elementi veloci come la RAM, la CPU ed il bus PCI-Express. In Figura 4 è visibile il Northbridge. L’FSB o Front Side Bus è il canale di collegamento diretto ad alta velocità con la CPU. Northbridge Southbridge Figura 4: Northbridge e Southbridge. 3.2 Southbridge Il Southbridge chiamato anche ICH (I/O Controller Hub) gestisce le comunicazioni con gli elementi lenti della motherboard. In Figura 4 è evidenziato insieme al Northbridge. Gli elementi che controlla il Southbridge sono: PCI o Bus di collegamento con vecchie periferiche USB o Canale seriale per la comunicazione con periferiche ISA IDE BIOS Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 7 di 14 Filippo Sciarrone “La Scheda Madre” o Canale di comunicazione con le Basic Input/output System Legacy 3.3 Memoria RAM (Random Access Memory) La RAM è il luogo fisico dove vengono allocati dati e istruzioni ed è a diretto contatto con il microprocessore: è la realizzazione concreta della Memoria Centrale. E’ caratterizzata dal fatto che il microprocessore, ricordando il modello di Von Neumann, può accedere sia in lettura che in scrittura in qualsiasi locazione attraverso un apposito BUS o canale di comunicazione (FSB). Dal punto di vista funzionale, una RAM può essere vista come un’enorme matrice, indirizzata dal microprocessore attraverso il bus indirizzi, come illustrato in Figura 5. Si compone di celle (o locazioni). Ogni cella di memoria è in grado di memorizzare una parola di memoria (ovvero, un sequenza di bit di lunghezza fissata). Inoltre, ogni cella è caratterizzata da: Un indirizzo, che è un numero che identifica la cella e ne consente l’accesso; Un valore, che è la sequenza di bit memorizzata dalla cella La fase di lettura/scrittura di una parola prende il nome di ciclo di memoria. Ciclo di lettura o Il microprocessore mette sul bus indirizzi l’indirizzo della cella di memoria da leggere Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 8 di 14 Filippo Sciarrone “La Scheda Madre” o Il microprocessore attiva il segnale di lettura appartenente al bus controlli ed in input alla memoria (leggi in figura) o La memoria rende disponibile il dato sul bus dati Ciclo di scrittura o Il microprocessore mette sul bus indirizzi l’indirizzo della cella di memoria o Il microprocessore attiva il segnale di scrittura sul bus controlli, in ingresso alla memoria (segnale scrivi in figura) o Il microprocessore mette sul bus dati il dato da scrivere in memoria centrale o Il dato viene scritto alla locazione indicata in memoria centrale Questo schema è riportato in Figura 5. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 9 di 14 Filippo Sciarrone “La Scheda Madre” Figura 5: Architettura funzionale della memoria centrale (RAM). Tra le caratteristiche più importanti di una RAM, ricordiamo le seguenti: Capacità – Il numero di bit che possono essere memorizzati, misurati in byte (e multipli del byte); 1Kbyte indica 210 byte = 1024 byte 1Mbyte indica 220 byte = 1024 Kbyte = 1 048 576 byte 1Gbyte indica 230 byte = 1024 Mbyte = 1 073 741 824 byte Velocità di accesso – Misura la velocità di esecuzione delle operazioni di lettura/scrittura, dette cicli di memoria; Volatilità – le memorie RAM (Random Access Memory) possono essere sia lette che scritte, ma i dati memorizzati vengono persi allo spegnimento del calcolatore; – Le memorie ROM (Read Only Memory) possono essere solo lette ed i dati sono memorizzati in modo permanente. Tale tipologia di memoria viene utilizzata ad esempio dalle case costruttrici per memorizzare in modo Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 10 di 14 Filippo Sciarrone “La Scheda Madre” permanente i dati: sono i casi di memorie contenenti programmi particolari, in genere utilizzati da dispositivi hardware. Dal punto di vista della componentistica, le RAM sono organizzate in schede da inserire in particolari slot, come illustrato in Figura 6. Figura 6: la RAM. In Figura 7 viene illustrato un esempio di motherboard. Figura 7:Esempio di architettura. Asus P5E3 WS. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 11 di 14 Filippo Sciarrone “La Scheda Madre” Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 12 di 14 Filippo Sciarrone “La Scheda Madre” 4. ASSEMBLAGGIO DI UN COMPUTER In questa sezione si illustrerà brevemente come assemblare un computer desktop. Le componenti da valutare sono molteplici. Qui per semplicità riportiamo uno studio fatto per assemblare un computer orientato al gaming. La motherboard ovviamente è la componente principale ovvero lo scheletro sul quale inserire tutte le componenti, dalla CPU alla memoria centrale,…. Il costo totale del computer è di circa € 1.900,00, un prezzo alto ma giustificato dalle prestazioni. CComponente Modello Marca Prezzo (€) Motherboard Prime Z370-A Asus 141,31 Microprocessore Intel® Core™ i7-8700K Intel 325,84 Vengeance LPX 32GB RAM (2X16GB) Corsair 201,37 Cooler Case MasterBox Lite 5 ATX Master 44,15 Cooler Ventola MaterLiquid ML360R Master 141,31 Scheda Grafica Radeon RX 8GB Asus 172,23 Scheda di rete cablata XG-C100C Asus 86,78 Scheda di rete wireless TL-WDN480 TP-Link 61,73 MK120 WIRED SLIM (w/ Tastiera /Mouse Mouse) Logitech 12,75 Alimentatore Platinum 400W SeaSonic 79,04 Cuffie VOID PRO RGB Corsair 57,03 Archiviazione BarraCuda Pro 8TB SeaGate 240,75 Monitor 32UD59-B LG 322,38 Casse Z623 200 Logitech 87,73 Avendo a disposizione tale matrice di riferimento, lo studente ha una guida a disposizione per tentare la costruzione del proprio personal. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 13 di 14 Filippo Sciarrone “La Scheda Madre” BIBLIOGRAFIA/SITOGRAFIA Curtin, P.,D., Foley, K., Sen, K., Morin, C. (2016). Informatica di base. McGraw-Hill Education. Mezzalama, M. and Piccolo, E. (2010). Capire l’informatica. CittàStudi Edizioni. Baldino, E., Rondano, R., Spano, A. Iacobelli, C. (2016). Internet Working. Mondadori Education, https://it.wikipedia.org/wiki/Scheda_madre Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 14 di 14 LA MEMORIA Filippo Sciarrone Filippo Sciarrone “La Memoria” Indice 1. INTRODUZIONE........................................................................... 3 2. MEMORIZZARE I DATI............................................................... 5 3. LA MEMORIA CENTRALE......................................................... 7 4. ARCHITETTURA.......................................................................... 9 4.1 Parametri della RAM.......................................................... 10 4.2 Memoria Cache..................................................................... 10 BIBLIOGRAFIA/SITOGRAFIA....................................................... 13 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 2 di 13 Filippo Sciarrone “La Memoria” 1. INTRODUZIONE Un programma memorizzato su un computer digitale mantiene sia le istruzioni del programma che i dati in una memoria volatile ad accesso casuale (Random Access Memory). I computer con programma memorizzato erano degli anni '40, come il Colossus e l'ENIAC, programmati impostando interruttori e inserendo cavi per instradare i dati e controllare i segnali tra diverse unità funzionali. L'unità di memoria, oggetto di questa dispensa è costituita dalla RAM, a volte indicata come memoria principale o centrale. A differenza di un disco rigido (memoria secondaria), questa memoria è veloce e anche direttamente accessibile dalla CPU. Come si vedrà, la RAM è divisa in partizioni. Ogni partizione è composta da un indirizzo e il suo contenuto (entrambi in formato binario). L'indirizzo identificherà in modo univoco ogni posizione nella memoria. Il caricamento dei dati dalla memoria permanente (disco rigido), nella memoria temporanea (RAM) più veloce e direttamente accessibile, consente alla CPU di funzionare molto più rapidamente. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 3 di 13 Filippo Sciarrone “La Memoria” Figura 1: il modello di Von Neumann. Il modello di Von Neumann è sempre il nostro punto di partenza. Come si può vedere dalla Figura 1 la memoria centrale è una parte importante dell’architettura di un elaboratore. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 4 di 13 Filippo Sciarrone “La Memoria” 2. MEMORIZZARE I DATI E’ un dato di fatto che il calcolatore elettronico parla il linguaggio binario (0,1) ovvero il sistema di numerazione binario. Il dato per essere trattato da un elaboratore deve essere quindi codificato in una sequenza di bit. Questa problematica specifica di codifica dell’informazione in bit, sarà trattata in un’altra UDA. Oggi, grazie a internet si generano ogni giorno grandi quantità di dati (e.g. big data). Un effetto di tale fenomeno è stata la nascita del mercato degli apparti di storage e il mercato delle soluzioni cloud. Da un punto di vista generale, la memoria (Memory Unit) è l'unità destinata ad accogliere i programmi ed i dati inseriti nel calcolatore. Essa va suddivisa tra: memoria centrale – è la memoria che contiene dati e programmi memoria di massa (unità elettromagnetiche) – Utilizzata per l'archiviazione dei dati e dei programmi per conservarli nel tempo (dischi magnetici ed ottici, pen drive USB, ecc.). di questa ne parliamo in un’altra UDA. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 5 di 13 Filippo Sciarrone “La Memoria” Figura 2: l'evoluzione dei dispositivi di memorizzazione. La Figura 2 illustra l’evoluzione che si è avuta negli anni nei dispositivi di storage. Si è passati da dispositivi locali basati su hard disk a dispositivi basati o su apposite unità, molto efficienti oppure basati su cloud. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 6 di 13 Filippo Sciarrone “La Memoria” 3. LA MEMORIA CENTRALE La memoria centrale è organizzata come una sequenza ordinata di celle di lunghezza prefissata (word), ciascuna caratterizzata da: un indirizzo un contenuto Una cella di memoria può essere costituita da 8, 16, 32 o 64 bit. Un altro parametro importante della memoria è il tempo di accesso ovvero il tempo necessario al trasferimento di un dato tra CPU e memoria, ossia il tempo richiesto per leggere o scrivere un dato in una cella di memoria. La memoria centrale può essere realizzata con dispositivi diversi in funzione del tipo di elaboratore. Le memorie a semiconduttore possono essere classificate in due grandi categorie: le memorie a tecnologia RAM e quelle a tecnologia ROM. Due esempi sono raffigurati in Figura 3. Figura 3: esempi di memorie RAM Le memorie RAM (Random Access Memory) sono memorie in cui l’informazione può essere letta o scritta. Sono dette memorie volatili. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 7 di 13 Filippo Sciarrone “La Memoria” Le memorie ROM (Read Only Memory) sono memorie a sola lettura. L'operazione di scrittura viene effettuata una volta per tutte dal costruttore e l'informazione non si perde in assenza di alimentazione. Altri tipi di memorie ROM sono: PROM, EPROM, EEPROM. Queste ultime utilizzate nella realizzazione di pen drive o delle memorie flash. Le RAM si distinguono in statiche e dinamiche. Queste ultime sono di gran lunga più utilizzate per il loro miglior rapporto prezzo/prestazioni. Le RAM dinamiche (DRAM) si sono evolute per migliorare la velocità di accesso. Si è passati dalle SDRAM (Syncrohnuos Dynamic RAM) alle attuali DDR RAM (Double Data Rate RAM), o semplicemente DDR, che sono già alla terza versione: DDR 3. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 8 di 13 Filippo Sciarrone “La Memoria” 4. ARCHITETTURA L’architettura della memoria centrale è raffigurata in Figura 4. La figura è molto articolata e descrive una fase completa di dialogo tra memoria centrale e microprocessore. Sono raffigurati tutti e tre i bus dell’architettura di Von Neumann: bus dati, indirizzi e controlli ed una RAM di 128 words, ciascuna di 16 bit. La figura esprime un’operazione di lettura o scrittura in memoria. Le fasi devono essere lette nel modo seguente: Si vuole leggere o scrivere una word all’indirizzo di memoria: 01111010 (indirizzo posto sul bus indirizzi) Nel bus controlli è attivo il segnale di lettura o di scrittura Nel bus dati viaggia il dato da inserire o letto Figura 4: architettura della RAM Architettura della memoria centrale in riferimento al modello di Von Neumann Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 9 di 13 Filippo Sciarrone “La Memoria” 4.1 Parametri della RAM Adesso vediamo alcuni parametri caratteristici di una RAM. Iniziamo con la capacità intesa come il numero di bit che possono essere memorizzati, misurati in byte (e multipli del byte), successivamente la Capacità e la Volatilità: Capacità – 1Kbyte indica 210 byte = 1024 byte – 1Mbyte indica 220 byte = 1024 Kbyte = 1 048 576 byte – 1Gbyte indica 230 byte = 1024 Mbyte = 1 073 741 824 byte Velocità di accesso – misura la velocità di esecuzione delle operazioni di lettura/scrittura Volatilità – le memorie RAM (Random Access Memory) possono essere sia lette che scritte, ma i dati memorizzati vengono persi allo spegnimento del calcolatore – le memorie ROM (Read Only Memory) possono essere solo lette ed i dati sono memorizzati in modo permanente 4.2 Memoria Cache Al fine di migliorare le prestazioni di memoria, rendendo più breve il tempo medio di accesso, i progettisti di elaboratori hanno introdotto uno speciale sistema di memoria, chiamato cache memory. In essa vengono memorizzate, replicandole, le informazioni, dati e istruzioni, che hanno la maggior probabilità di essere utilizzate in un breve orizzonte temporale dalla CPU: In tal modo il tempo di Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 10 di 13 Filippo Sciarrone “La Memoria” lettura/scrittura di un dato risulta molto inferiore rispetto alla RAM tradizionale. La memoria cache, chiamata anche memoria CPU, è la memoria ad accesso casuale statico ad alta velocità (SRAM) che un microprocessore può accedere più rapidamente di quanto possa accedere alla normale RAM. Questa memoria è tipicamente integrata direttamente nel chip della CPU o collocata su un chip separato che ha un'interconnessione bus separata con la CPU. Lo scopo della memoria cache è quello di memorizzare le istruzioni e i dati del programma che vengono utilizzati ripetutamente nelle operazioni di programmi o informazioni che la CPU probabilmente richiederà successivamente. Il processore del computer può accedere rapidamente a queste informazioni dalla cache anziché doverlo prelevare dalla memoria centrale del computer. L'accesso rapido a queste istruzioni aumenta la velocità generale del programma. Poiché il microprocessore elabora i dati, cerca prima nella memoria cache. Se trova le istruzioni o i dati che sta cercando da una precedente lettura dei dati, non deve eseguire una lettura più lunga dei dati dalla memoria principale o da altri dispositivi di memorizzazione dei dati. La memoria cache è responsabile dell'accelerazione delle operazioni e dell'elaborazione del computer. La maggior parte dei programmi utilizza solo poche risorse del computer. Questo perché le istruzioni ripetute tendono ad essere memorizzate nella cache. Questo è il motivo per cui le misurazioni delle prestazioni del computer con processori più lenti ma cache più grandi possono essere più veloci di quelle per computer con processori più veloci ma con meno spazio nella cache. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 11 di 13 Filippo Sciarrone “La Memoria” Il caching multilivello o multilivello è diventato popolare nelle architetture server e desktop, con diversi livelli che offrono maggiore efficienza attraverso il tiering gestito. In poche parole, meno frequentemente si accede a determinati dati o istruzioni, più in basso è il livello di cache in cui sono scritti i dati o le istruzioni. Questo schema è raffigurato in Figura 5. I livelli evidenziati sono L1, L2 e poi la memoria DRAM. Oggigiorno esiste anche il livello L3 di memoria cache e tutti i livelli sono allocati direttamente dentro la CPU. Figura 5: schema dei livelli di memerie cache. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 12 di 13 Filippo Sciarrone “La Memoria” BIBLIOGRAFIA/SITOGRAFIA Curtin, P.,D., Foley, K., Sen, K., Morin, C. (2016). Informatica di base. McGraw-Hill Education. Mezzalama, M. and Piccolo, E. (2010). Capire l’informatica. CittàStudi Edizioni. Baldino, E., Rondano, R., Spano, A. Iacobelli, C. (2016). Internet Working. Mondadori Education, Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 13 di 13 LA MEMORIA SECONDARIA Filippo Sciarrone Filippo Sciarrone “La Memoria secondaria” Indice 1. CARATTERISTICHE GENERALI.............................................. 3 2. HARD DISK.................................................................................... 5 3. CONFIGURAZIONE RAID.......................................................... 7 3.1 Configurazione RAD 1.......................................................... 7 3.2 Configurazione RAD 4-5....................................................... 8 4. ALTRI DEVICES........................................................................... 9 5. COMPACT DISK.......................................................................... 11 6. DVD................................................................................................ 14 BIBLIOGRAFIA/SITOGRAFIA....................................................... 16 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 2 di 16 Filippo Sciarrone “La Memoria secondaria” 1. CARATTERISTICHE GENERALI La memoria di massa è una memoria del computer che non è volatile e di natura persistente e non è accessibile direttamente dal microprocessore. Permette all'utente di memorizzare dati che possono essere istantaneamente e facilmente recuperati, trasportati e utilizzati da applicazioni e servizi. La memoria di massa è costituita da tutti i dispositivi di memorizzazione permanenti, come la memoria di sola lettura (ROM), le unità flash, le unità disco rigido (HDD), i nastri magnetici e altri tipi di supporti di memorizzazione interni/esterni. Nelle operazioni di calcolo, la memoria di massa è accessibile solo dalla memoria principale e successivamente trasferita al processore. Questa memoria è più lenta della memoria centrale ma può memorizzare e conservare i dati, anche se il computer non è collegato all'alimentazione elettrica. Ha anche notevoli capacità di archiviazione, che vanno da megabyte a diversi terabyte di spazio di archiviazione all'interno di una singola memoria. Le caratteristiche principali: non volatilità: i dati memorizzati non vengono persi allo spegnimento del calcolatore (perché memorizzati in forma magnetica o ottica e non elettronica); grande capacità di memorizzazione: una unità di memoria secondaria ha capacità maggiore (anche di diversi ordini di grandezza) rispetto alla memoria centrale; bassi costi per bit: il costo per bit di una memoria secondaria è minore (di diversi ordini di grandezza) rispetto alla memoria centrale; tempo di accesso (seek time): tempo per il posizionamento dell’elemento di lettura/scrittura su un blocco di dati; velocità di trasferimento (throughput): massima quantità di dati trasferibile nell’unità di tempo. Altre caratteristiche delle memorie secondarie rispetto alle memorie centrali sono ad esempio la minore velocità di accesso (i tempi Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 3 di 16 Filippo Sciarrone “La Memoria secondaria” di accesso a una memoria secondaria sono maggiori (di qualche ordine di grandezza) rispetto alla memoria principale). I dati di una memoria di massa per essere acceduti dal processore devono comunque transitare nella memoria centrale. In pratica: la memoria secondaria memorizza tutti i programmi e di dati del calcolatore e memorizza i programmi in esecuzione e i dati necessari per la loro esecuzione. Esempi: Hard Disk, SSD, Pen Drive, CD-ROM, DVD. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 4 di 16 Filippo Sciarrone “La Memoria secondaria” 2. HARD DISK Un hard disk (disco fisso) è una unità di memorizzazione composta da uno o più piatti di alluminio rotanti ricoperti di materiale magnetico, da testine. Una testina permette la scrittura e lettura di bit su un disco, memorizzati sotto forma di stati di polarizzazione (positiva e negativa). Inoltre, in un disco magnetico ciascun piatto è composto da due superfici (facce), ciascuna faccia è suddivisa in tracce (circolari) e settori (a spicchio). Un cilindro è l’insieme delle tracce in una data posizione radiale, i settori sono le unità logiche di memorizzazione con capacità di 512 byte (o superiori). L’indirizzo di un settore è dato dalle seguenti informazioni: cilindro, superficie e settore. In Figura 1 due immagini della struttura interna di un hard disk. Si possono notare le varie parti: nella figura di sinistra sono visualizzate alcune componenti tra cui la Data Cache ovvero il firmware(=ROM con software di gestione a bordo) il quale pilota i meccanismi. Nella figura di destra invece vediamo la tipica struttura winchester con più piatto in un unico cilindro, ciascuno dei quali dotato di apposite testine di lettura/scrittura. Figura 1: la struttura interna di un hard disk. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 5 di 16 Filippo Sciarrone “La Memoria secondaria” Nella Figura 2 abbiamo un’altra prospettiva dell’hard disk dove sono messe in risalto lo chassis con le sue parti meccaniche, la figura centrale con la struttura dei singoli piatti ed infine le testine con la loro distanza dal piatto. Figura 2: altra struttura di un hard disk In particolare, il Piatto singolovè un supporto rigido ricoperto di materiale ferromagnetico, con una testina di lettura/registrazione (elettrocalamita). La testina sfiora il disco a circa 1μm. La struttura come accennato è quella Wincgester ovvero diversi piatti impilati con capacità di memorizzazione che va da 10 GB a 2 TB (TeraByte) ed oltre. Il tempo di accesso ai dati risulta dell’ordine di 10ms, mentre la velocità di trasferimenton è dell’ordine di 10 MB/s. I piatti sono fissi, racchiusi in un contenitore in cui è fatto il vuoto. I piatti ruotano e le testine leggono o scrivono sulle trace attraverso unità che sono i settori. La velocità di rotazione dei piatti è: 10-15,000 RPM (dischi veloci, per server) 5-10,000 RPM (per PC e WS) 3-5,000 RPM (per computer portatili) Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 6 di 16 Filippo Sciarrone “La Memoria secondaria” 3. CONFIGURAZIONE RAID Si chiama Configura zione RAID, un sistema di dischi per realizzare unità di memorizzazione per server. Si usano dischi di qualità media con meccanismi di correzione degli errori misti HW/SW. La sigla RAID sta per: Redundant Array of Independent (Inexpensive) Disks. Esistono varie configurazioni di sistemi RAID, numerate dallo 0 al 5. Ne vediamo alcune. 3.1 Configurazione RAD 1 In questa configurazione, i dati sono copiati identici su due o più dischi speculari, come illustrato in Figura 3 (immagine a sinistra). Pertanto si ha ridondanza massima: se un hard disk si rompe, piò subito entrare in funzione la sua copia. In genere i server che supportano tale configurazione RAID consentono anche il BOOT A CALDO ovvero la possibilità di estrarre ed inserire un hard disk senza spegnere la macchina. Figura 3: configurazione RAID 1( a sinistra) e RAID 4-5 (a destra).. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 7 di 16 Filippo Sciarrone “La Memoria secondaria” 3.2 Configurazione RAD 4-5 I dati sono smistati su più hard disk distribuendo in questo modo lo spazio richiesto dai dati. In Figura 3 un esempio applicativo. Inoltre, un sistema di controllo dell’errore consente di individuare possibili errori di scrittura. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 8 di 16 Filippo Sciarrone “La Memoria secondaria” 4. ALTRI DEVICES In questo paragrafo trattiamo la illustrazione di altri dispositivi utilizzati per la memorizzazione secondaria. Solid State Disk (SSD) Il Solid State Disk è un disco composto da chip di memoria. E’ caratterizzato da una lettura veloce, da una scrittura lenta. Ha un tempo seek costante e molto basso 0.1 ms ed una velocità di trasferimento di 100 MB/s e superiori. Manifesta però un costo per bit alto. Pen drive Basata su tecnologia EEPROM, con alta capacità di memorizzazione: 32 GB, in crescita. Non è dotata di parti mobili (basso consumo energia). Tipicamente con connettore USB. In Figura 4 un esempio di pen Drive. Figura 4: Struttura di un pen-drive. SD Card La SD card, Secure Digital (www.sdcard.org) ha un’alta capacità (4 GB, in crescita), nessuna parte mobile (basso consumo energia). Le dimensioni risultano alquanto ridotte, anche se ne esistono diversi formati come la micro SD card per il cellulare. ridotte (24x32 mm,o Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 9 di 16 Filippo Sciarrone “La Memoria secondaria” miniSD 20x21.5 mm). E’ veloce, (100 Mbps 4-bit mode, 25 Mbps 1-bit SPI mode) e viene utilizzata in molti applicazioni come la robotica ed i droni. Figura 5: una SD card. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 10 di 16 Filippo Sciarrone “La Memoria secondaria” 5. COMPACT DISK Il Compact disc (CD) è un formato di archiviazione dati di dischi ottici digitali che è stato sviluppato congiuntamente da Philips e Sony e rilasciato nel 1982. Il formato è stato originariamente sviluppato per archiviare e riprodurre solo registrazioni audio (CD-DA), ma è stato successivamente adattato per la memorizzazione di dati (CD-ROM). Da questi sono derivati anche altri formati, tra cui l'archiviazione audio e dati (CD-R) write-once, supporti riscrivibili (CD-RW), Compact Disc video (VCD), Super Video Compact Disc (SVCD), Photo CD, PictureCD , CD-i e CD musicale avanzato. Il primo lettore CD audio disponibile in commercio, il Sony CDP-101, è stato rilasciato nell'ottobre 1982 in Giappone. I CD standard hanno un diametro di 120 millimetri (4,7 pollici) e possono contenere fino a circa 80 minuti di audio non compresso o circa 700 MiB di dati. Il Mini CD ha vari diametri che variano da 60 a 80 millimetri (da 2,4 a 3,1 in); a volte vengono utilizzati per i singoli CD, memorizzano fino a 24 minuti di audio o forniscono driver di periferica. Al momento dell'introduzione della tecnologia nel 1982, un CD poteva archiviare molti più dati di un disco rigido del personal computer, che normalmente conteneva 10 MB. Entro il 2010, i dischi rigidi hanno comunemente offerto lo stesso spazio di archiviazione di un migliaio di CD, mentre i loro prezzi erano crollati a livello di commodity. Nel 2004, le vendite mondiali di CD audio, CD-ROM e CD- R hanno raggiunto circa 30 miliardi di dischi. Nel 2007, 200 miliardi di CD erano stati venduti in tutto il mondo. Dai primi anni 2000 i CD venivano sempre più sostituiti da altre forme di archiviazione e distribuzione digitale, con il risultato che entro Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 11 di 16 Filippo Sciarrone “La Memoria secondaria” il 2010 il numero di CD audio venduti negli Stati Uniti era sceso del 50% circa dal loro picco; tuttavia, sono rimasti uno dei metodi di distribuzione principali per l'industria musicale. Nel 2014, le entrate derivanti dai servizi di musica digitale corrispondevano per la prima volta a quelle delle vendite in formato fisico1. La Figura 1 illustra la struttura ed il funzionamento di un CD. In pratica, un raggio laser colpisce la superficie, se tale raggio viene riflesso si associa il valore 1 altrimenti il valore 0. Figura 6: meccanismo di lettura da un CD-ROM. Tra la le varie tipologie di CD abbiamo: – dischi ottici, a sola/prevalente lettura – singola faccia, rimovibili – capacità: 650-700 MB dati (74-80’ audio) – lenti: tempo di accesso 300 ms – uso: distribuzione di software o dati – tipologie: 1 https://en.wikipedia.org/wiki/Compact_disc Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 12 di 16 Filippo Sciarrone “La Memoria secondaria” – CD-ROM (dati registrati in produzione) – CD-R (dati registrabili da utente) – CD-RW (dati registrabili e cancellabili da utente, ma con perdita di capacità) Tra le velocità di trasferimento abbiamo: – base = 176 KB/s – oggi 2x, 3x, 4x, 8x, 16x,..., 52x Mentre quando sono indicate tre velocità esse sono nell’ordine: – write-once /rewrite /read – es. 12x / 10x / 32x (= 1.8 / 1.5 / 4.8 MB/s) Con tempo di accesso: 100 ms. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 13 di 16 Filippo Sciarrone “La Memoria secondaria” 6. DVD Il DVD (abbreviazione di Digital Versatile Disc) è un formato di archiviazione di dischi ottici digitali inventato e sviluppato nel 1995. Il supporto è in grado di memorizzare qualsiasi tipo di dati digitali ed è ampiamente utilizzato per software e altri file di computer, nonché programmi video guardati con lettori DVD. I DVD offrono una maggiore capacità di archiviazione rispetto ai compact disc pur avendo le stesse dimensioni. I DVD preregistrati sono prodotti in serie con macchine per lo stampaggio che stampano fisicamente i dati sul DVD. Tali dischi sono una forma di DVD-ROM perché i dati possono solo essere letti e non scritti o cancellati. I dischi DVD registrabili vuoti (DVD-R e DVD + R) possono essere registrati una volta utilizzando un registratore DVD e quindi funzionano come DVD-ROM. I DVD riscrivibili (DVD-RW, DVD + RW e DVD-RAM) possono essere registrati e cancellati molte volte. I DVD sono utilizzati nel formato video digitale consumer DVD- Video e nel formato audio digitale consumer DVD-Audio nonché per l'authoring di dischi DVD scritti in uno speciale formato AVCHD per contenere materiale ad alta definizione (spesso in combinazione con videocamere formato AVCHD). I DVD contenenti altri tipi di informazioni possono essere indicati come dischi di dati DVD. La tassonomia dei DVD segue le seguenti classificazioni: – Dischi con diametro 12 cm (8 cm = miniDVD) – Single side (SS) o double side (DS) – Single layer (SL) o double layer (DL) Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 14 di 16 Filippo Sciarrone “La Memoria secondaria” – 2 GB = 1 ora di video ad alta qualità, con 3 colonne sonore differenti (durata ancora maggiore se video con qualità VHS) – Velocità 1x = 1.32 MB/s In Figura 7 è illustrata la differente capacità di memorizzazione tra DVD e CD. Figura 7: differenza nella capacità di memorizzazione tra DVD e CD. Per concludere questo excursus sulle periferiche di memorizzazione di massa, parliamo adesso dei Blue-Ray DVD. Questo standard rappresenta un nuovo formato DVD (incompatibile col precedente), dove si usa un raggio laser blu-violetto (l=405 nm) invece che rosso (l=650 nm). La capacità di memorizzazione è di 25/50 GB (single/double layer). Viene utilizzato per memorizzare un film in HD. Per un ulteriore approfondimento, si consiglia il sito: http://www.bluraydisc.com Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 15 di 16 Filippo Sciarrone “La Memoria secondaria” BIBLIOGRAFIA/SITOGRAFIA Curtin, P.,D., Foley, K., Sen, K., Morin, C. (2016). Informatica di base. McGraw-Hill Education. Mezzalama, M. and Piccolo, E. (2010). Capire l’informatica. CittàStudi Edizioni. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 16 di 16 IL SISTEMA OPERATIVO Filippo Sciarrone Filippo Sciarrone “IL Sistema Operativo” Indice 1. INTRODUZIONE........................................................................... 3 2. CONCETTI BASE.......................................................................... 5 3. PROCESSI E RISORSE............................................................... 9 4. FUNZIONALITÀ GENERALI.................................................... 11 5. ARCHITETTURA DI UN SISTEMA OPERATIVO................ 13 BIBLIOGRAFIA/SITOGRAFIA....................................................... 15 Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 2 di 15 Filippo Sciarrone “IL Sistema Operativo” 1. INTRODUZIONE Un sistema operativo è un software di sistema che gestisce le risorse hardware e software del computer e fornisce servizi comuni per i programmi per computer. I sistemi operativi programmano le attività per un uso efficiente del sistema e possono anche includere software di contabilità per l'allocazione dei costi del tempo del processore, della memoria di massa, della stampa e di altre risorse. Per le funzioni hardware come l'input e l'output e l'allocazione della memoria, il sistema operativo funge da intermediario tra i programmi e l'hardware del computer, anche se il codice dell'applicazione viene solitamente eseguito direttamente dall'hardware e spesso effettua chiamate di sistema ad un funzione del sistema operativo o è interrotta da esso. I sistemi operativi si trovano su molti dispositivi che contengono un computer, dai telefoni cellulari e console per videogiochi ai server Web e ai supercomputer. Oggigiorno, il sistema operativo desktop dominante è Microsoft Windows con una quota di mercato dell'82,74% circa. macOS di Apple Inc. è al secondo posto (13,23%), e le varietà di Linux sono collettivamente al terzo posto (1,57%). Nel settore mobile (smartphone e tablet combinato), l'utilizzo nel 2017 arriva fino al 70% di Android di Google e secondo i dati del terzo trimestre 2016, Android su smartphone è dominante con l'87,5% e un tasso di crescita del 10,3% all'anno, seguito da iOS di Apple con il 12,1 percento e una diminuzione annua della quota di mercato del 5,2 percento, mentre gli altri sistemi operativi ammontano a appena lo 0,3 percento. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 3 di 15 Filippo Sciarrone “IL Sistema Operativo” Le distribuzioni Linux sono dominanti nei settori server e supercalcolo. Altre classi specializzate di sistemi operativi, come sistemi embedded e real-time, esistono per molte applicazioni1. 1 https://en.wikipedia.org/wiki/Operating_system Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 4 di 15 Filippo Sciarrone “IL Sistema Operativo” 2. CONCETTI BASE Un Sistema Operativo è un insieme di programmi standard che permettono di realizzare una efficiente comunicazione tra l’hardware della macchina e l’utente. Ovviamente la Figura 1 è una figura emblematica estrema di cosa significhi una comunicazione uomo- computer: senza una opportuna comunicazione o, nel nostro caso interfaccia, non risulta possibile far fare all’elaboratore ciò che chiediamo. Tale figura, per quanto bizzarra possa sembrare racchiude però la filosofia di un Sistema Operativo: far comunicare in modo adeguato l’uomo con la macchina. Figura 1: l'umano che prega un computer di lavorare! Un quadro migliore, più strutturato e consono alla serietà del corso è quello illustrato in Figura 2, dove il Sistema Operativo ha una sua collocazione ben precisa in un’architettura a strati, della quale parleremo approfonditamente in seguito. Comunque in tale figura spicca la posizione del Sistema Operativo, come gestore dei circuiti che compongono l’elaboratore, ovvero delle sue componenti più interne, delle quali l’utente non si deve preoccupare. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 5 di 15 Filippo Sciarrone “IL Sistema Operativo” Figura 2: una visione più articolata della comunicazione uomo-macchina2. Il Sistema Operativo è in qualche modo il software responsabile della gestione delle risorse del calcolatore, e in particolare di come le risorse vengono allocate alle applicazioni ovvero ai programmi in esecuzione, che possono essere molteplici allo stesso istante. Ad esempio, l’utente può richiede al sistema operativo di eseguire un programma facendo semplicemente un doppio click sull’icona di un programma sul desktop del calcolatore (ad esempio un programma della suite Office). Per avviare l’esecuzione di tale programma, il sistema operativo svolge le seguenti attività: individua il codice eseguibile del programma (memorizzato su hard disk) alloca al programma le risorse necessarie per la sua esecuzione (ad esempio, una certa quantità di memoria centrale) carica il codice eseguibile del programma in memoria centrale 2 https://en.wikipedia.org/wiki/Operating_system Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 6 di 15 Filippo Sciarrone “IL Sistema Operativo” avvia il programma Alla luce di quanto detto, possiamo allora affermare che il Sistema Operativo deve permettere all’utente (il quale non è detto che sia un informatico) di usare in modo semplice e immediato tutte le risorse (HW e SW) che il sistema di elaborazione mette a disposizione, come ad esempio ottimizzare l’uso delle risorse a disposizione, attuando opportune politiche di gestione razionale delle stesse e fornire un’immagine astratta di tutte le risorse disponibili, indipendentemente da come queste funzionino (risorse hardware) e dei dettagli implementativi necessari al loro uso. In questo modo, si svincola l’utente comune dalla struttura fisica della macchina stessa. Ricordando la struttura di Von Neumann dei moderni elaboratori, un programma è un insieme di istruzioni che deve eseguire il calcolatore ovvero il microprocessore o CPU per risolvere un particolare problema come la risoluzione di una equazione di II grado. Le istruzioni, codificate in un apposito linguaggio di programmazione (e.g. linguaggio C), un linguaggio comprensibile sia all’umano che alla macchina3, sono allocate in memoria centrale dove, la CPU attraverso il ciclo istruzione esegue ciascuna istruzione. A questo punto, per il corretto prosieguo dello studio, è importante sottolineare come un calcolatore sia rappresentabile attraverso una macchina a stati finiti, ovvero attraverso un sistema il quale, a partire da uno stato iniziale, evolve nel tempo attraverso una sequenza di azioni deterministiche provocate dall’esecuzione delle istruzioni di un programma. Per stato del sistema si intende un insieme di parametri caratteristici quali i registri generali, lo stack pointer, il 3 In altra UDA viene trattata in modo dettagliato tale tematica. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 7 di 15 Filippo Sciarrone “IL Sistema Operativo” program counter, il registro di stato4. In sostanza, ogni istruzione determina un insieme di cambiamenti finito. La rappresentazione a stati finiti di un elaboratore, ne fornisce una visione simbolica molto semplice. 4 Si veda la UDA che tratta il microprocessore. Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 8 di 15 Filippo Sciarrone “IL Sistema Operativo” 3. PROCESSI E RISORSE In questo paragrafo introduciamo alcuni elementi essenziali per la comprensione del modo di funzionamento di un Sistema Operativo: la definizione di processo e di risorsa. Un Processo è sostanzialmente un programma in esecuzione il quale, per poter evolvere, ha però bisogno di componenti HW e SW come ad esempio microprocessore, video, hard disk,etc. etc.. Definiamo invece Risorsa qualsiasi elemento hardware o software che viene usato da un processo e che ne condiziona l’avanzamento. Ad esempio, un programma deve effettuare una lettura da un codice a barre per poi elaborarlo: la risorsa hardware che si occupa della lettura del codice prima o poi lo deve leggere altrimenti il processo/programma non avanza. Figura 3: esempio di schematizzazione di un elaboratore a livello funzionale. In Figura 3 è illustrata l’architettura funzionale generale di un elaboratore, sempre a partire dal modello di Von Neumann. In essa sono evidenziate: la Memoria centrale, i Processori e gli I/O Devices. Come si può notare, la parte del Sistema Operativo è allocata in Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 9 di 15 Filippo Sciarrone “IL Sistema Operativo” memoria centrale, in una zona non accessibile ai programmi normali (in altra UDA verrà trattata tale tematica). Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 10 di 15 Filippo Sciarrone “IL Sistema Operativo” 4. FUNZIONALITÀ GENERALI Vediamo in questo paragrafo quali sono allora le funzionalità generali di un Sistema Operativo. Un Sistema Operativo ha due gruppi di funzionalità principali: il primo gruppo verso l’utente ed il secondo gruppo verso la macchina: Funzionalità verso l’utente: Attraverso un’apposita interfaccia, permette di utilizzare applicativi e dati presenti nel calcolatore (e di creare nuovi dati) Permette la condivisione della stessa macchina a più utenti (isolando lo spazio di lavoro, coordinando l’accesso a risorse condivise) Funzionalità verso i programmi: Attivazione, esecuzione, terminazione Attribuzione delle risorse del calcolatore (CPU, memoria, I/O, ecc.) ai programmi Coordinamento rispetto all’uso condiviso delle risorse Tutto ciò tenendo presente che più processi possono richiedere le stesse risorse, in genere limitate, che tutti i processi in competizione sulla stessa risorsa devono comunque ottenere la risorsa prima o poi, che i tempi di inattività della risorsa devono essere minimi e che bisogna minimizzazione i tempi di attesa dei processi, una funzionalità mo,lto importante di un Sistema Operativo è quella dello Scheduling, ovvero della funzionalità che gestisce a quale tra i processi in Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 11 di 15 Filippo Sciarrone “IL Sistema Operativo” competizione deve essere assegnata una certa risorsa. In particolare, le responsabilità dello scheduling solo: Tenere aggiornate le informazioni sullo stato di ciascuna risorsa Gestire i conflitti Assegnare una risorsa ad un processo Prendere il controllo di una risorsa Infatti, un Sistema Operativo, da un punto di vista funzionale, ricade sotto la seguente classificazione standard riguardante la gestione delle risorse: Gestore del/dei processori Gestore della memoria centrale Gestore delle periferiche – Input/Output Gestore delle informazioni – File System Attenzione! Questo materiale didattico è per uso personale dello studente ed è coperto da copyright. Ne è severamente vietata la riproduzione o il riutilizzo anche parziale, ai sensi e per gli effetti della legge sul diritto d’autore (L. 22.04.1941/n. 633) Pag. 12 di 15 Filippo Sciarrone “IL Sistema Operativo” 5. ARCHITETTURA DI UN SISTEMA OPERATIVO I sistemi operativi hanno una struttura complessa, che può essere descritta come una gerarchia di macchine virtuali dove ciascun livello della gerarchia è relativo a una macchina virtuale del sistema operativo che gestisce una diversa tipologia di risorse. Le risorse gestite sono i processori, la memoria, le periferiche, le memorie secondarie, l?