IL MICROPROCESSORE • Il microprocessore è un singolo circuito integrato in grado di effettuare operazioni decisionali, di calcolo o di elaborazione dell’informazione. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche SCHEMA GENERALE DI UNA CPU PRELIEVO E DECODIFICA ISTRUZIONE (INSTRUCTION FETCHER E DECODER) MEMORY INTERFACE ALLA MEMORIA INTERFACCIA CON LA RAM ABILITAZIONI E DISABILITAZIONI FUNZIONI VARIE REGISTRI TEMPORIZZAZIONE UNITA’ CPU Unità logico aritmetica UNITA’ DI CONTROLLO E TEMPORIZZAZIONE A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche IMPULSI DI CLOCK • Il microprocessore costituisce l’implementazione fisica della CPU più comune, utilizzata dalla quasi totalità dei computer e altri dispositivi digitali. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche BUS DI SISTEMA 001110100000011110…..00000111110000000 0000011110101……….11111111111111110 PR 1 CONTROLLER HD PROCESSORE PR 2 ALU REGISTRI PR….. MEMORIA RAM PR N-1 PR N MEMORIA CACHE (NASCONDIGLIO) SISTEMA OPERATIVO A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche UNITA’ DISCO Microprocessore Intel 8086 Fondamenti architetturali A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche ISTRUZIONE 00110...001111 CODICE OPERATIVO 00000111…..11111110000000000111 OPERANDI UN PROGRAMMA E’ COSTITUITO DA UNA SERIE DI ISTRUZIONI CIASCUNA DELLE QUALI SPECIFICA UNA DETERMINATA AZIONE. LA PRIMA PARTE PRENDE IL NOME DI CODICE OPERATIVO, E SERVE APPUNTO A SPECIFICARE IL TIPO DI OPERAZIONE DA COMPIERE (somma, prodotto, trasferimento di dato, confronto tra dati,… ) : “CAMPO CODICE OPERATIVO” LA SECONDA PARTE RIGUARDA LA SPECIFICAZIONE DI QUALI SIANO E DOVE SI TROVINO GLI OPERANDI : “CAMPO OPERANDI” (un operando può essere specificato direttamente, oppure indicando la sua posizione in un registro interno alla cpu oppure in memoria centrale o anche nell’interfaccia di una periferica) A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Evoluzione in pillole Introdotto nel 1978, il chip 8086 a 16 bit conteneva appena 29.000 transistor e operava a 5 MHz. In confronto, il processore Pentium 4 contiene 55 milioni di transistor e opera a 3,06 GHz, una velocità più di 600 volte più elevata. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Transistor I transistor vengono impiegati in ambito elettronico, principalmente, come amplificatori di segnali elettrici o come interruttori elettronici comandati da segnali elettrici Processo di fabbricazione di un transistor A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Struttura esterna Il package ha una struttura dual in line che significa: “due file di 20 piedini (pin) parallele” A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Chip In informatica il termine chip può significare: • circuito integrato cioè un dispositivo elettronico costituito dall'integrazione di un circuito elettronico su di un substrato di materiale semiconduttore (in genere silicio, ma a volte anche arseniuro di gallio o altri). • microprocessore (spesso abbreviato con µP) cioè un componente elettronico digitale formato da transistor racchiuso in uno o più circuiti integrati. Uno o più processori sono utilizzati come CPU da un sistema di elaborazione digitale come può essere un personal computer, un palmare, un telefono cellulare o un altro dispositivo digitale. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Piedinatura (pin-out) Ogni piedino fornisce una funzionalità diversa. Il CLOCK ad esempio scandisce gli intervalli di tempo sulla base dei quali avvengono tutte le elaborazioni A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Schema a blocchi Registri generali CU ALU A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Dalla loro introduzione ad oggi, l’evoluzione del microprocessore ha seguito con una buona approssimazione la legge di Moore, una legge esponenziale che prevede il raddoppio del numero di transistor integrabili sullo stesso chip ogni 18 mesi. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Le caratteristiche principali di un processore sono •il numero di transistor, •il numero di bit (che determina la quantità di dati che il processore può elaborare) •la frequenza (cioè la velocità con il quale vengono elaborati i dati). A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Il valore del processo produttivo espresso in nanometri indica la distanza fra i gate dei transistor. Il processo produttivo è connesso con le dimensioni dei transistor utilizzati in una CPU. Al diminuire del processo produttivo è richiesta una tensione di alimentazione minore dai transistor producendo così meno calore e diminuendo conseguentemente i consumi di energia elettrica. Per esempio, nell'anno 2006 il processo produttivo delle CPU era di 45 nanometri contro i 22 nanometri attuali, una gran bella differenza in termini di produzione di calore e di consumi. Più è minore il valore del processo produttivo più transistor si avranno per unità di superficie e generalmente più le frequenze di clock delle CPU potranno aumentare. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche I processori Dual core e Multi core mettono insieme due o più CPU indipendenti con una propria cache, controller in un singolo package. Per quanto concerne i processori Dual core esistono tre modi diversi per crearli: 1) Die singolo. Consiste nel combinare due core su un singolo die. Un esempio di die singolo sono il Pentium D SmithField. 2) Die Doppio. In questo metodo due die separati vengono posti su un singolo package e poi collegati tra di loro da collegamenti esterni. Il primo progetto Intel cha ha sfruttato tale metodo è il Pentium D Presler. 3) Die Monolitico. Tale metodo permette di condividere alcune unità del processore, tipo la cache che in tal mdo è condivisa con tutti i core. Oltre che alla cache anche il controller della memoria RAM può essere condiviso. Tale metodologia viene impiegata con successo sui processori multi core. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Per quanto riguarda i processori Multi core si tratta di combinare i modi descritti nel Dual Core. Così avremo per esempio due core Dual Core (Conroe) costruiti su un Die Monolitico accoppiati su Die Doppio per un numero 4 di core complessivi. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Generalmente la memoria cache ha la funzione di mantenere una copia dei dati a cui si accede più frequentemente nella memoria principale di sistema. Quando la CPU deve leggere un dato dalla memoria principale di sistema controlla se questo è residente in cache e in caso positivo lo carica velocemente. In questo caso si parla di cache hit, e nel caso contrario di cache miss. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche SISTEMA OPERATIVO E’ UN’INFRASTRUTTURA SOFTWARE (strato software) CHE SI PONE TRA L’INFRASTRUTTURA HARDWARE E L’UTENTE ( O IL SOFTWARE APPLICATIVO : EDITOR DI TESTI, BROWSER WEB, …) A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche APPLICAZIONI SISTEMA OPERATIVO KERNEL BIOS (firmware) HARDWARE A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche IL SISTEMA OPERATIVO Consente di utilizzare la risorse del sistema informatico senza preoccuparsi delle loro caratteristiche fisiche ( cioè tipo di processore, dimensione del bus dati, interfaccia video, … ) GRAZIE AL SISTEMA OPERATIVO L’UTENTE SI PONE AD “alto livello” RISPETTO ALL’HARDWARE A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche IL SISTEMA OPERATIVO • CONSENTE L’UTILIZZO CONCORRENTE DEL SISTEMA DA PARTE DI PIU’ PROGRAMMI : • PIU’ PROGRAMMI concorrono NELL’UTILIZZO DELLE RISORSE RENDENDO “trasparente” LA GESTIONE DELLA CONCORRENZA ( L’UTENTE NON SE NE PREOCCUPA) A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche IL SISTEMA OPERATIVO • TRASFORMA LA MACCHINA HARDWARE IN UNA “macchina astratta” ( O VIRTUALE) A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche ESISTE UNA GRANDE VARIETA’ DI SISTEMI OPERATIVI DIVERSI - UNIX UBUNTU GNU/LINUX MAC OS X WINDOWS A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche IL SISTEMA OPERATIVO RISIEDE SU UNA MEMORIA DI MASSA (TIPICAMENTE UN HARD – DISK). I tablet utilizzano memorie di massa di tipo SSD ( Solid State Drive) Cella di memoria SSD A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Transistor metallo ossido semiconduttore a canale N con GATE FLOTTANTE per la memorizzazione del bit A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Schiera ( ARRAY) di celle di memoria SSD A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche I RICERCATORI STANNO CERCANDO DI REALIZZARE hard disk TRADIZIONALI ESTREMAMENTE SOTTILI, TALI DA POTER ESSERE UTILIZZATO ALL'INTERNO DI SISTEMI TABLET A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche RECENTEMENTE SI E’ LAVORATO ALLA REALIZZAZIONE DI HARD DISK IN FORMATO DA 2,5 POLLICI E DA 5 MILLIMETRI DI SPESSORE, CHE PUO’ ESSERE ADATTO PER LA REALIZZAZIONE DI unità di storage ibride DA USARSI ALL'INTERNO DI TABLET MULTIMEDIALI (I ricercatori hanno preso come riferimento lo spessore di iPad 2, 8,8 millimetri ) A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Nella progettazione di un hard disk di ridotto spessore è importante riuscire a risolvere la sfida di ridurre adeguatamente le dimensioni del motore di rotazione evitando allo stesso tempo di compromettere le prestazioni del dispositivo e la sua stabilità meccanica, dato che la velocità di rotazione è di qualche migliaia di giri al minuto. Tali hard-disk possono fungere da base per la realizzazione di una soluzione ibrida provvista di elementi di memoria allo stato solido (porte logiche NAND in tecnologia NMOS di tipo flash [le flash-rom], in grado di migliorare prestazioni e consumo energetico dell'unità di storage). A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Resta comunque qualche dubbio sull'effettiva volontà da parte dei produttori di tablet di impiegare hard drive tradizionali : gli hard disk sono infatti costruiti con l'impiego di parti mobili, che li rendono pertanto meno affidabili dei dispositivi a stato solido. I tablet, inoltre, sono per lo più utilizzati in movimento e non su superfici stabili come ad esempio i sistemi notebook. La ricerca di per la realizzazione di hard-disk di ridotte dimensioni e alta capacità però continua, poiché il mercato dei TABLET è destinato ad arrivare a 200 milioni di unità nel corso del 2014. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche E' inoltre opportuno tenere presente che le alluvioni che hanno funestato la Tailandia nel corso del 2011 e che hanno causato problemi a tutta la filiera dell'industria degli hard disk, comporteranno un ritardo anche nell'eventuale adozione di nuove tecnologie. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche ATTUALMENTE I TABLET UTILIZZANO memorie di archiviazioni di massa di tipo Solide State Drive (SSD o Disco allo Stato Solido in italiano). Le SSD rappresentano l’ultima frontiera dell’archiviazione di massa per i nostri PC. A differenza del tradizionale Hard Disk, non sono presenti dischi: né magnetici né di altro tipo. Nonostante tutto gli si da l’appellativo di disco perché usato in sostituzione del vecchio Hard Disk. La capacità resta (normalmente) limitata a 32, 64, 128 Gbyte. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche SSD: quando e a chi conviene abbandonare l’Hard Disk tradizionale? Il vantaggio di acquisire una SSD è quello di ottenere sia un miglioramento complessivo delle prestazioni del PC sia un notevole aumento della capacità di trasferimento dati. Il prezzo di una SSD è fino a 10 volte maggiore quello di un Hard Disk tradizionale. Facendo un confronto tra il TOP delle memorie attualmente in commercio, mentre una SSD può costare da 350 euro (per la versione da 120Gb) fino a 3.000 euro (per la versione da 1 TB), un Hard Disk tradizionale 3 TB costa circa 230 euro. Per l’utente normale di tablet, che difficilmente riempie l’hard disk , conviene sicuramente una memoria di massa di tipo SSD con capacità relativamente bassa, poiché i costi sono ancora modesti. In caso di necessità di archiviazione di grosse quantità di dati ( film, ad esempio) l’uso di memorie SSD diventerebbe piuttosto costoso. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche ALL’ATTO DELL’ACCENSIONE DEL CALCOLATORE E’ NECESSARIA UNA PROCEDURA PER EFFETTUARE IL CARICAMENTO IN MEMORIA CENTRALE ( COSIDDETTA RAM, ESSA SI’ SEMPRE ALLO STATO SOLIDO – SI PENSI ALLE CELLE DELLE SSD MA PRIVE DEL float-gate ) DEL SISTEMA OPERATIVO ( O LE PARTI ESSENZIALI DEL S.O.) Tale operazione viene eseguita dal BIOS, che risiede in un opportuno firmware. Il firmware di un calcolatore è simile alle SSD, ma non è normalmente accessibile all’utente : esso è scritto su una memoria flash-rom, riprogrammabile solo attraverso particolari Procedure. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Il bios •Esegue dei test diagnostici sull’hardware inizializzando le unità I/O •Localizza il S.O. sull’H.D. e lo carica in RAM •Cede il controllo della macchina al S.O. Solo quando il S.O controlla la macchina, può avvenire la richiesta di esecuzione di un programma, che viene perciò caricato in RAM divenendo così “processo” A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Il sistema operativo fornisce all’utente le istruzioni astratte (lettura/scrittura) affinchè possa avvenire l’interazione con il calcolatore e il processo in esecuzione : le istruzioni di basso livello nei confronti delle periferiche (tastiera, mouse, monitor, stampante, …) vengono mascherate con comandi astratti (lettura/scrittura) disponibili all’utente. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Anche gli “Hard Disk” SSD devono essere organizzati logicamente al fine di poter reperire in modo efficiente le informazioni. Devono perciò essere “formattati” e suddivisi in cartelle (directory) organizzate in modo gerarchico. Il S.O. si occupa di gestire tale struttura tramite il file system. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Il file system rende trasparente i dettagli di lettura/scrittura dell’informazione indipendentemente dai supporti hardware. Nel corso degli anni la tendenza è stata quella di ridurre la funzionalità del kernel al minimo indispensabile in modo da poter integrare le varie funzionalità di gestione dell’hardware periferico con moduli personalizzati. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Il S.O. si occupa anche della gestione della CPU e della memoria centrale. In particolare pianifica l’utilizzo della CPU e l’allocazione in RAM da parte dei processi in esecuzione. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Un processo ( detto anche task – azione, lavoro, incombenza,…) è un programma in esecuzione. Contrariamente ad un programma che è un oggetto statico ( una pura sequenza di istruzioni), un processo è un oggetto dinamico : il suo ”stato” cambia nel tempo. Lo stato di un processo è costituito dai valori contenuti in memoria e nei registri della CPU. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Lo stesso programma può dare vita a più processi distinti ( detti “figli”, ad esempio più finestre di un browser web). A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche Quando più processi sono attivi, si parla di elaborazione parallela a livello di processo : viene gestito dal sistema operativo che viene perciò classificato come S.O. multitasking. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche SE UN PROCESSO E’ IMPEGNATO IN OPERAZIONI DI I/O ( input/output –lettura di dati in ingresso o scrittura di dati in uscita) NON DEVE IMPEGNARE LA CPU NELL’ATTESA DELLA FINE DI TALE OPERAZIONE, FACENDOLA RIMANENERE INOPEROSA. LE OPERAZIONI DI I/O SONO INFATTI DI PERECCHI ORDINI DI GRANDEZZA PIU’ LENTE DELLE OPERAZIONI LOGICO/ARITMETICHE. E’ ANCHE NORMALE CHE LA MAGGIOR PARTE DEI PROCESSI SIANO COSTITUITI DA OPERAZIONI DI I/O, INTERVALLATE DA BREVI PERIODI DI ELABORAZIONE. L’ACCESSO AL H.D. COSTITUISCE ANCH’ESSO UN’ OPERAZIONE DI I/O A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche E’ CHIARO A QUESTO PUNTO CHE IN OGNI ISTANTE UN SOLO PROCESSO IMPEGNA LA CPU CON UNA SUA ISTRUZIONE. E’ POSSIBILE UN’ELABORAZIONE PARALLELA A LIVELLO DI ISTRUZIONI ( DUE PROCESSI CHE IN UN DATO MOMENTO HANNO UNA PROPRIA ISTRUZIONE IN ESECUZIONE IN MODO SIMULTANEO) SE L’HARDWARE HA DUE UNITA’ DI ELABORAZIONE, CIOE’ DUE CPU ( PROCESSORE DUAL-CORE ) A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche GLI ALTRI PROCESSI SI POSSONO TROVARE IN UNO DEI DUE STATI pronto ( cioè in grado di far eseguire una proria istruzione appena la cpu diviene disponibile ) in attesa ( di un evento esterno : accesso ad un h.d., pressione di un tasto,…) E’ IL KERNEL CHE GOVERNA IL CONTROLLO DEI PROCESSI, FACENDOLI PASSARE DA UNO STATO ALL’ALTRO A SECONDA DELLA FASE IN CUI SONO A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche SE UNA PERIFERICA HA PRONTO IL DATO RICHIESTO DA UN processo in attesa AVVISA IL KERNEL CON UN SEGNALE DETTO DI interrupt. A QUESTO PUNTO IL KERNEL “RISVEGLIA” IL PROCESSO PONENDOLO IN STATO DI pronto. LO SCHEDULER E’ IL MODULO DEL KERNEL CHE DECIDE QUALE TRA I PROCESSI pronti DEBBA IMPEGNARE LA CPU CON LE PROPRIE ISTRUZIONI. PRIMA DI RENDERE EFFETTIVA L’ESECUZIONE DI UN PROCESSO EFFETTIVO, LO SCHEDULER DEVE RECUPERARE IL SUO “contesto” CHE AVEVA SALVATO IN UNA AREA DI RAM. il contesto viene caricato nei registri interni della cpu. A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche FINE ESECUZIONE COMANDO DI ESECUZIONE DI UN PROGRAMMA FINE “QUANTO” DI TEMPO PROCESSO IN ESECUZIONE EFFETTIVA LISTA PROCESSI PRONTI PRIMO PROCESSO NELLA LISTA “PRONTI” INTERRUPT ESTERNA INTERRUPT INTERNA LISTA PROCESSI IN ATTESA A.S.2011/2012 Maurizio Sparacino - Note di tecnologie informatiche