550 likes | 755 Views
IL MICROPROCESSORE. Il microprocessore è un singolo circuito integrato in grado di effettuare operazioni decisionali, di calcolo o di elaborazione dell’informazione. SCHEMA GENERALE DI UNA CPU. PRELIEVO E DECODIFICA ISTRUZIONE (INSTRUCTION FETCHER E DECODER). INTERFACCIA CON LA RAM.
E N D
IL MICROPROCESSORE • Il microprocessore è un singolo circuito integrato in grado di effettuare operazioni decisionali, di calcolo o di elaborazione dell’informazione. Maurizio Sparacino - Note di tecnologie informatiche
SCHEMA GENERALE DI UNA CPU PRELIEVO E DECODIFICA ISTRUZIONE (INSTRUCTION FETCHER E DECODER) INTERFACCIA CON LA RAM ALLA MEMORIA MEMORY INTERFACE ABILITAZIONI E DISABILITAZIONI FUNZIONI VARIE REGISTRI TEMPORIZZAZIONE UNITA’ CPU UNITA’ DI CONTROLLO E TEMPORIZZAZIONE Unità logico aritmetica 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. Maurizio Sparacino - Note di tecnologie informatiche
BUS DI SISTEMA 001110100000011110…..000001111100000000000011110101……….11111111111111110 CONTROLLER HD PR 1 PROCESSORE PR 2 UNITA’ DISCO ALU REGISTRI PR….. MEMORIA RAM PR N-1 MEMORIA CACHE (NASCONDIGLIO) PR N SISTEMA OPERATIVO Maurizio Sparacino - Note di tecnologie informatiche
Microprocessore Intel 8086 Fondamenti architetturali Maurizio Sparacino - Note di tecnologie informatiche
ISTRUZIONE 00110...001111 00000111…..11111110000000000111 CODICE OPERATIVO 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) Maurizio Sparacino - Note di tecnologie informatiche
Evoluzione in pillole Introdotto nel 1978, il chip 8086 a 16 bit conteneva appena 29.000transistor 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. 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 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” 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. 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 Maurizio Sparacino - Note di tecnologie informatiche
Schema a blocchi Registri generali CU ALU 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. 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). 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. 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. 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. 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. 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, …) Maurizio Sparacino - Note di tecnologie informatiche
APPLICAZIONI SISTEMA OPERATIVO KERNEL BIOS (firmware) HARDWARE 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 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) Maurizio Sparacino - Note di tecnologie informatiche
IL SISTEMA OPERATIVO • TRASFORMA LA MACCHINA HARDWARE IN UNA “macchina astratta” ( O VIRTUALE) Maurizio Sparacino - Note di tecnologie informatiche
ESISTE UNA GRANDE VARIETA’ DI SISTEMI OPERATIVI DIVERSI • UNIX • UBUNTU GNU/LINUX • MAC OS X • WINDOWS 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 Maurizio Sparacino - Note di tecnologie informatiche
Transistor metallo ossido semiconduttore a canale N con GATE FLOTTANTE per la memorizzazione del bit Maurizio Sparacino - Note di tecnologie informatiche
Schiera ( ARRAY) di celle di memoria SSD Maurizio Sparacino - Note di tecnologie informatiche
I RICERCATORI STANNO CERCANDO DI REALIZZARE hard diskTRADIZIONALI ESTREMAMENTE SOTTILI, TALI DA POTER ESSERE UTILIZZATO ALL'INTERNO DI SISTEMI TABLET 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 ) 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). 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. 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. 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. 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. 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. 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” 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. 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. 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. 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. 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. 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). 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. 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 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 ) 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 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. 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 Maurizio Sparacino - Note di tecnologie informatiche