SVILUPPO DI UNA STRUTTURA INTEGRATA PER LA GESTIONE DEGLI INTERRUPT NEI MICROCONTROLLORI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "SVILUPPO DI UNA STRUTTURA INTEGRATA PER LA GESTIONE DEGLI INTERRUPT NEI MICROCONTROLLORI"

Transcript

1 Università degli Studi di Palermo Facoltà di Ingegneria DIPARTIMENTO DI INGEGNERIA ELETTRICA, ELETTRONICA E DELLE TELECOMUNICAZIONI (D.I.E.E.T.) Corso di laurea in Ingegneria Elettronica SVILUPPO DI UNA STRUTTURA INTEGRATA PER LA GESTIONE DEGLI INTERRUPT NEI MICROCONTROLLORI Tesi di laurea di: Daniela Di Sclafani Tutor universitario: Prof. Ing. Giuseppe Caruso Tutor aziendale STMicroelectronics : Ing. Vincenzo Matranga ANNO ACCADEMICO 2005/2006

2 Al Signore Dio che ci benedice, ci custodisce, ci mostra la Sua Faccia ed ha misericordia di noi, volge a noi il Suo sguardo e ci dà pace...

3 Indice RINGRAZIAMENTI...IV INTRODUZIONE... V CAPITOLO 1 LA MEMORIA FLASH INTRODUZIONE LA CELLA DI MEMORIA FLASH LA PROGRAMMAZIONE LA CANCELLAZIONE LA CELLA FLASH MULTILIVELLO ARCHITETTURA NOR ARCHITETTURA NAND L ARCHITETTURA INTERNA L INTERFACCIA CAPITOLO 2 I MICROCONTROLLORI INTRODUZIONE INTRODUZIONE AI MICROCONTROLLORI CARATTERISTICHE ARCHITETTURALI IL CORE L UNITA ARITMETICO-LOGICA I REGISTRI INTERNI LA CONTROL UNIT LE PERIFERICHE ON-CHIP LE MODALITA POWER SAVING LE ISTRUZIONI ESECUZIONE DELLE ISTRUZIONI CAPITOLO 3 UC A STRUTTURA MODULARE LA STRUTTURA MODULARE IL VHDL I MODULI DELLA UC LA UC MODULARE MODIFICHE ALLA UC MODULARE II

4 CAPITOLO 4 LA GESTIONE DEGLI INTERRUPT INTRODUZIONE AGLI INTERRUPT CLASSIFICAZIONE IL TRATTAMENTO DELLE INTERRUZIONI INTERRUZIONI ANNIDATE ISTRUZIONI DI INTERRUPT ABILITAZIONE / DISABILITAZIONE RESET RETI LOAD SULL INTERRUPT VECTOR TABLE PRIORITÁ CONSIDERAZIONE...58 CAPITOLO 5 UC_INT ED INT_CONTROLLER INTRODUZIONE LE MACCHINE A STATI FINITI LA PROGETTAZIONE ORIENTATA ALLA DFT UC_INT INT_CONTROLLER INT_MANAGER PR_CONTROLLER SIGNAL_PRIORITY GROUP_PRIORITY DEC_ROUTINE MUX_ROUTINE REPORT SIMULAZIONI LOGICHE SIMULAZIONE UC_INT SIMULAZIONI INT_CONTROLLER SIMULAZIONE GLOBALE SIMULAZIONI GATE-LEVEL SIMULAZIONE UC_INT SIMULAZIONE INT_CONTROLLER INDICE DELLE FIGURE BIBLIOGRAFIA III

5 Ringraziamenti Le prime persone che desidero ringraziare sono i miei genitori e le mie sorelle, per il loro sostegno e la comprensione, grazie ai quali oggi ho potuto raggiungere questo importante obiettivo (spero siate Orgogliosi di me!). Ringrazio il mio relatore universitario, Prof.Ing.Giuseppe Caruso, per avermi dato la possibilità di svolgere questa tesi presso lo stabilimento STMicroelectronics di Palermo, consentendomi di maturare dal punto di vista professionale ed umano. Un ringraziamento particolare va al mio tutor aziendale, Ing.Vincenzo Matranga, per la disponibilità, la gentilezza e l importante competenza tecnica e professionale, con le quali mi è stato Maestro. Un doveroso ringraziamento va al responsabile del Development Center STMicroelectronics di Palermo, l Ing.Biagio Giacalone, per la Gentilezza con la quale mi ha accolta nel sito e mi ha consentito un primo approccio nel mondo del lavoro. Un necessario ringraziamento va all Ing.Giampaolo Giacopelli, che ha sempre trovato del tempo da dedicarmi, fornendomi importanti suggerimenti tecnici e sostenendomi dal punto di vista morale, insieme all Ing.Giovanni Montana,a cui non va un minore ringraziamento. Infine, desidero ringraziare tutte le persone che mi sono state vicine, credendo in me e sostenendomi durante tutto il corso dei miei studi. Grazie. IV

6 Introduzione Lo scopo del presente lavoro di tesi, svolto presso la divisione MPG (Memory Product Group) del Development Center di Palermo di STMicroelectonics, è stato quello di sviluppare una struttura integrata per la gestione degli interrupt nei microcontrollori embedded delle memorie flash di STMicroelectronics. Tale progetto è nato dall esigenza di migliorare e predisporre il microcontrollore embedded agli scopi futuri, visto che le memorie flash, soprattutto le multilivello, in continua e crescente evoluzione, si presentano sempre più complesse. Nel microcontrollore embedded attualmente presente nelle memorie flash, come nella M58KR512J, non è presente una struttura di interrupt management e quindi tale progetto non si è appoggiato ad un progetto preesistente. Per portare a termine questo progetto è stato necessario acquisire le conoscenze di base sul funzionamento delle memorie flash, per comprendere la funzionalità del microcontrollore embedded; per questo motivo il primo capitolo di questa tesi è stato dedicato appunto alle memorie flash. Inoltre, essendo il microcontrollore embedded sostanzialmente un vero e proprio microcontrollore, si è dedicato il secondo capitolo ad una spiegazione generale sui microcontrollori. Tra le nuove peculiarità del microcontrollore embedded vi è quella dell adozione di una struttura modulare dell unità di controllo, sulla base del brevetto di STMicroelecronics descritto nel capitolo 3. Il mio lavoro di tesi ha riguardato, in particolare, il progetto di un singolo modulo dell unità di controllo (UC_INT), dopo aver introdotto le istruzioni di microcodice di interrupt management, illustrate nel terzo capitolo, e dei diversi blocchi attuatori (INT_MANAGER, PR_CONTROLLER, DEC_ROUTINE, MUX_ROUTINE), che sono stati allocati nell unità di elaborazione del microcontrollore. Il capitolo 5 è interamente dedicato alla descrizione del progetto, realizzato in ambiente UNIX con l aiuto dei tool: - NCSIM di Cadence per le simulazioni; - Design Framework II di Cadence per gli schematici; - Design Compiler di Synopsys per le sintesi. V

7 Il flusso di progettazione di tipo semi-custom adottato, mostrato in Figura I, ha tenuto conto dei criteri di Design For Testability (DFT), come illustrato nel quinto capitolo. SPECIFICHE DESCRIZIONE COMPORTAMENTALE (VHDL) SIMULAZIONE COMPORTAMENTALE (NCSIM) SINTESI LOGICA (Design Compiler) SIMULAZIONE GATE-LEVEL (NCSIM) SINTESI FISICA E LAYOUT Figura I Flusso di progettazione VI

8 1. La Memoria Flash CAPITOLO 1 LA MEMORIA FLASH In questo primo capitolo viene descritta panoramicamente la memoria Flash. Nella seguente introduzione vengono esposte brevemente le memorie appartenenti alla stessa classe di cui fa parte la memoria Flash ed inoltre vengono spiegate le principali caratteristiche che hanno portato ad un grande successo sul mercato di quest ultima tipologia di memoria. Nei restanti paragrafi, invece, più in dettaglio, vengono descritte: la struttura della cella flash standard e multilivello, le architetture di organizzazione delle celle, cioè la struttura NOR e la struttura NAND, e il generico schema a blocchi di una memoria Flash. Infine, il capitolo si conclude con la descrizione del blocco di interfaccia relativo alla memoria M58KR512J. 1.1 INTRODUZIONE La memoria Flash, sviluppata per la prima volta dalla Intel (1988), è una memoria a semiconduttore costruita in tecnologia CMOS e fa parte della classe di memorie non-volatili e riprogrammabili (NVRWM, Non-Volatile Read Write Memory). Non-volatile sta ad indicare la capacità di una memoria a mantenere l'informazione in essa immagazzinata anche in assenza della tensione di alimentazione, per un tempo indefinitamente lungo; mentre riprogrammabile indica la possibilità di modificare il contenuto informativo delle celle di memoria. Fanno parte della classe NVRWM anche le memorie EPROM (Eraseble Programmable Read Only Memory) ed EEPROM (Elettricaly Erasable PROM); ma il mercato delle memorie Flash ha di gran lunga sorpassato per quantità quello di queste altre due memorie. Tutte e tre le memorie (EPROM, EEPROM e FLASH) utilizzano la cella a transistore a gate flottante FAMOS (Floating-gate Avalance-injection MOS), sfruttando lo stesso meccanismo per la programmazione; la caratteristica che le distingue è legata all'operazione di cancellazione. 1

9 1. La Memoria Flash La memoria EPROM viene cancellata rimuovendo il chip dal sistema nel quale è inserito e sottoponendolo a radiazione ultravioletta. La memoria EEPROM viene cancellata per via elettrica e l'operazione avviene on-chip, per cui non è necessario estrarre il chip dal circuito nel quale è inserito. In essa viene utilizzato sia per la programmazione che per la cancellazione l effetto tunnel Fowler- Nordheim, che verrà illustrato nelle pagine seguenti; questo effetto produce però la necessaria utilizzazione di due transistori (uno di selezione e l altro di conservazione) per cella, cioè per ogni bit di informazione memorizzato, per evitare disturbi tra celle adiacenti durante le operazioni di scrittura o lettura. Il costo elevato, dovuto ai due transistori per cella, ha portato al declino delle EEPROM a favore delle Flash. La memoria FLASH, infatti, a differenza delle EEPROM, necessita di un unico transistor per ogni bit di informazione, non presentando in ogni cella il transistor di selezione. Il vantaggio offerto dalla FLASH consiste quindi in un aumento della capacità di memoria per unità di area, rinunciando però alla possibilità di cancellare una cella alla volta, cosa invece possibile nelle EPROM ed EEPROM. Si realizzano pertanto memorie Flash organizzate in settori logici (blocks), cioè gruppi di bit che vengono cancellati simultaneamente; tra questi settori ve ne è uno principale (Boot Block) e generalmente più piccolo degli altri, nel quale sono contenute le informazioni per il power-up. In definitiva, nelle memorie Flash la scrittura della matrice può avvenire per singolo bit, mentre la cancellazione procede per blocchi, per cui è possibile cancellare tutta la memoria velocemente (da qui il nome flash ). Il tempo di programmazione è generalmente di qualche µs, con correnti elevate, il tempo di cancellazione di secondi e il tempo di lettura di circa 50 ns. I cicli di scrittura possibili vanno dai 10 3 ai La memoria Flash è un tipo di memoria portatile che non richiede alimentazione elettrica per mantenere i dati, occupa poco spazio ma ha una buona capacità di memoria, è di basso costo e viene realizzata ad alto grado di integrazione. Per tutte queste buone proprietà, essa trova oggi molti campi di applicazione, come nelle fotocamere digitali, nei cellulari, nei pendrive, nei palmari, nei lettori di musica portatili, nei microprocessori e in molti altri dispositivi. 2

10 1. La Memoria Flash 1.2 LA CELLA DI MEMORIA FLASH La cella di memoria flash è basata su un dispositivo MOSFET a doppia gate (FAMOS), cioè un transistore MOS convenzionale con uno strato addizionale di polisilicio inserito tra la gate e il canale, chiamato Floating-Gate, isolato tramite l ossido di silicio e accoppiato capacitivamente con l elettrodo relativo alla gate di controllo (Control-Gate), come si osserva in Figura 1.1. Gate Source Drain SiO 2 Control-Gate Floating-Gate t ox t ox n + n + Substrato p Bulk Figura 1.1 Transistore a Floating-Gate (FAMOS) In Figura 1.2 è mostrato invece il simbolo elettrico di questo dispositivo FAMOS. Gate Drain Bulk Source Figura 1.2 Simbolo elettrico (FAMOS) Rispetto ad un normale transistore MOS lo spessore dell ossido di gate (t ox < 10 nm) è raddoppiato e quindi la tensione di soglia dovrebbe aumentare; in realtà la tensione di soglia risulta programmabile elettricamente. Infatti, durante un operazione di programmazione, controllando l iniezione di carica nel Floating-Gate, è possibile variare la tensione di soglia V T della cella, provocando così uno 3

11 1. La Memoria Flash spostamento della caratteristica corrente-tensione I DS /V GS del transistor, come visibile in Figura 1.3. I DS bit 1 bit 0 V T V GS Figura 1.3 Traslazione della curva caratteristica I DS /V GS in seguito ad un operazione di programmazione All assenza di carica nella Floating-Gate viene associato il livello logico 1 e il transistore risulta spento (cella cancellata), mentre alla presenza di carica è associato il livello logico 0 (cella programmata) e il transistore risulta acceso. Per la programmazione, che consiste nel portare la soglia del transistore a valori tali da non permettergli la conduzione, è impiegato il meccanismo di iniezione a valanga di elettroni caldi hot electron (CHE: Channel Hot Electrons), che consiste in un processo energetico che fornisce agli elettroni energia sufficiente per superare la barriera di potenziale che nasce tra Floating-Gate, ossido sottile e Bulk. Per la cancellazione invece viene sfruttato l effetto tunnel Fowler-Nordheim LA PROGRAMMAZIONE In Figura 1.4 a) è mostrato il diagramma a bande, in stato di equilibrio, tra i livelli energetici presenti nel sistema costituito dall interfaccia: Floating-Gate, ossido sottile e Bulk. Con l applicazione di una tensione di polarizzazione sul Control-Gate, viene creato attraverso l ossido un campo elettrico elevato, che permette agli elettroni di guadagnare energia, divenire caldi, e superare la barriera di ossido, causando l iniezione a valanga dei portatori, che vengono intrappolati nel polisilicio della gate flottante, che essendo isolato può conservare tale carica per un tempo infinitamente lungo. Questo fenomeno può avvenire però solo con ossidi di spessore inferiore a 100 nm. 4

12 1. La Memoria Flash E C Bulk Floating-Gate Si SiO 2 Si E C E C E C E F E F E F E F E V E V E V E V a) b) Figura 1.4 Diagramma a bande in condizione di equilibrio a) e durante la programmazione b) A fine programmazione, infine, il diagramma a bande sarà quello mostrato in Figura 1.5. E C E F E V Figura 1.5 Diagramma a bande a fine programmazione La programmazione di una cella viene quindi realizzata applicando una tensione elevata ai terminali di gate e di drain, mentre il terminale di source viene mantenuto a massa, come mostrato in Figura 1.6. V PP V DD SiO 2 CG FG n + n + Substrato Figura 1.6 Cella Flash durante la programmazione 5

13 1. La Memoria Flash Gli elettroni, divenuti caldi ed intrappolati nel polisilicio della gate flottante, vanno a ridurre il potenziale dell elettrodo. Questo meccanismo (CHE) è quindi un processo autolimitato in quanto la carica negativa accumulata nella gate flottante riduce il campo elettrico e di conseguenza è più difficile rendere caldi e iniettare gli elettroni. Tale effetto può essere dimostrato a partire dal modello capacitivo della cella FAMOS, mostrato in Figura 1.7, associando alla sezione Control-Gate, ossido, Floating-Gate la capacità C CG e alla sezione Floating-Gate, ossido, Bulk la capacità C FG. Control-Gate Floating-Gate V CG C CG C FG V FG Bulk Figura 1.7 Modello capacitivo della cella FAMOS La tensione accoppiata sulla Floating-Gate è data dalla formula: V FG = C CG CCG + C FG dove: V CG è la tensione di programmazione applicata sul Control-Gate, C CG è la capacità tra Control-Gate e Floating-Gate, C FG è la capacità tra Control-Gate e Bulk. Dopo una iniezione di carica la tensione sulla Floating-Gate è data dalla formula: V PFG = C CG CCG + C FG V V CG PCG QFG + C + C dove: V PFG è la tensione accoppiata sulla Floating-Gate dopo una programmazione, V PCG è la tensione di programmazione sulla Control-Gate, pari a V CG + V T, Q FG è la carica iniettata nella gate flottante. CG FG 6

14 1. La Memoria Flash Dopo la programmazione la tensione di soglia V T aumenta, e dalle due espressioni precedenti si ricava la seguente relazione: V T = Q C CG FG Quindi, con una normale tensione gate-source di 5V non si riesce più ad accendere il dispositivo, che rimane interdetto; ma occorre generare una tensione molto elevata per la programmazione del transistore. Essendo il biossido di silicio, SiO 2, un ottimo isolante, la carica intrappolata nella gate flottante può essere mantenuta per molti anni e senza che il circuito venga alimentato. La scrittura della cella per Channel-Hot-Electrons può portare all intrappolamento di elettroni ad alta energia nell ossido sovrastante la drain e ciò impedisce l ulteriore accumulazione di elettroni nella Floating-Gate, provocando un aumento della tensione di soglia ed un aumento del tempo di scrittura LA CANCELLAZIONE Secondo il fenomeno quantistico del tunnelling Fowler-Nordheim, gli elettroni con contenuto energetico inferiore alla barriera di potenziale possono attraversare l ossido di silicio purché questo sia sufficientemente sottile e siano verificate opportune specifiche condizioni di campo elettrico. E C E F E V Figura 1.8 Diagramma a bande rappresentativo dell effetto tunnel La cancellazione viene realizzata mantenendo la gate a massa e applicando al source una tensione elevata, che permette agli elettroni di uscire dalla gate flottante ed iniettarsi nel source, grazie al meccanismo di tunnel Fowler-Nordheim, come mostrato in Figura

15 1. La Memoria Flash V PP SiO CG FG non connesso n + Substrato p n + Figura 1.9 Cella Flash durante la cancellazione La densità di corrente che esce dalla Floating-Gate è descritta dalla seguente relazione: J= A E 2 e E0/E dove A ed E0 sono delle costanti legate al processo tecnologico, mentre E è il campo elettrico attraverso l'ossido ed è funzione della tensione di Floating-Gate, secondo la relazione: E=V FG /d dove d è lo spessore dell'ossido. Per evitare l effetto di sovrascarica della gate flottante, che renderebbe il transistore a svuotamento, si ricorre a tecniche di soft-erasing, per cui la tensione V T viene monitorata durante l operazione di cancellazione. Quando si cancellano simultaneamente un blocco di celle, il diverso valore iniziale della tensione di soglia delle celle, dovuto al fatto che alcune celle possono essere state programmate mentre altre no, potrebbe causare una certa dispersione dei valori di tensione di soglia delle celle al termine della fase di cancellazione. Per rimediare a questo problema occorre: prima programmare tutte le celle, in modo che abbiano tutte lo stesso valore iniziale della tensione di soglia, dopo è possibile applicare l impulso di cancellazione ed infine si effettua la lettura di tutto il blocco di celle per verificare che siano state cancellate tutte le 8

16 1. La Memoria Flash celle. Se il controllo ha esito negativo, viene applicato un nuovo impulso di cancellazione e si rieffettua la lettura. I tempi tipici per l esecuzione dell operazione di cancellazione variano da 100 ms a 1 s. Durante la cancellazione, la giunzione di source, sotto l ossido, si piega per azione del campo elettrico verticale e si formano coppie elettrone-lacuna per tunnel di elettroni; gli elettroni fluiscono nella source mentre le lacune nel subtrato, ma non tutte, perché alcune, guadagnando energia per azione del forte campo elettrico verticale, passano la barriera di potenziale dell ossido e si intrappolano nell ossido stesso. Queste cariche positive intrappolate nell ossido rendono più lenta la cancellazione e degradano la cella. Questo fenomeno è chiamato Intrappolamento di cariche per Band-to-Band Tunnel (BBT) ed è mostrato in Figura CG SiO 2 FG n + Source Substrato p Figura 1.10 Band-to-Band-Tunel (BBT) L intrappolamento di cariche nell ossido per Band-to-Band Tunnel (BBT), durante la cancellazione, o l intrappolamento di cariche nell ossido per Channel-Hot-Electron(CHE) producono problemi macroscopici come la perdita di dati (Data Retention) per degradazione della qualità dell ossido e problemi di Endurance, cioè resistenza della cella al numero di cicli di scrittura/cancellazione. Le tensioni elevate, necessarie per l esecuzione delle operazioni di programmazione e cancellazione vengono in genere generate all interno del chip della memoria stessa, usando circuiti a pompa di carica (charge pump), che sono dei veri e propri moltiplicatori di tensione, il cui elemento chiave è il condensatore. Occorrono inoltre circuiti di regolazione per evitare picchi di tensione dannosi per l affidabilità. 9

17 1. La Memoria Flash 1.3 LA CELLA FLASH MULTILIVELLO Mentre nelle memorie Flash standard ogni cella può contenere un singolo bit di informazione nell approccio multilivello, che nasce dall esigenza di avere dispositivi di memoria non volatili con densità più elevata e basso costo, si ha la possibilità di immagazzinare più di un bit d informazione per singola cella di memoria. L'approccio multilivello permette una riduzione sostanziale dell'area complessiva della matrice di memoria ed inoltre una corrispondente riduzione dell'occupazione di area dei circuiti di decodifica. Il processo di fabbricazione, cioè la tecnologia, le procedure, il controllo e i circuiti per leggere e scrivere i dati memorizzati sono però molto più complessi per le memorie multilivello, in cui è richiesta un elevata precisione. La tecnologia Flash Multilivello richiede una distribuzione stretta delle cariche nella Floating-Gate, e la maggiore vicinanza tra i livelli di soglia, corrispondenti ai differenti contenuti informativi, produce ulteriori problemi dal punto di vista dell affidabilità; inoltre i problemi di Data Retention e di Endurance risultano intrinsecamente più elevati. Per questi motivi è richiesta una maggiore resistenza della cella ai disturbi durante le operazioni. Nella flash standard a due livelli, presentata per la prima volta dalla Intel nel 1995, la lettura si identifica con il riconoscimento dello stato di conduzione o di spegnimento della cella a Floating-Gate, cui si associerà il valore logico 1 o 0. Controllando la distribuzione di V T e modulando opportunamente le tensioni V CG e V D si può incrementare la capacità della memoria a parità di dimensioni e tecnologia delle celle. I DS V T11 V T10 V T01 V T00 V GS Figura 1.11 Caratteristiche I DS /V GS di programmazione nella cella multilivello 10

18 1. La Memoria Flash Attraverso un corretto riconoscimento dei diversi livelli di carica immagazzinata nel transistor a Floating-Gate, che si ottiene confrontando la corrente di drain della cella con una corrente di riferimento, si possono ed esempio con quattro livelli codificare due bit di informazione, consentendo alla cella di raddoppiare il suo contenuto informativo. Specchi di corrente R R R V 1 trasduttore V 2 B 1 V 3 B 0 R R R V G I REF3 I REF2 I REF1 Figura 1.12 Lettura di una cella multilivello V T V 1 V 2 V 3 S 1 S 0 V T11 V T10 V T01 V T Tabella 1.1 Lettura di una cella multilivello Per la programmazione delle celle viene utilizzato un algoritmo che prevede una fase di programmazione, seguita da una fase di verifica, che consiste nella lettura del contenuto della cella. La costante crescita del mercato delle memorie embedded, cioè integrate all'interno di un sistema per applicazioni specifiche, ha motivato l'interesse per sistemi di programmazione senza verifica. 11

19 1. La Memoria Flash 1.4 ARCHITETTURA NOR Le memorie Flash con architettura di tipo NOR sono oggi quelle più utilizzate e impiegate principalmente in quei campi che richiedono media-bassa densità e salvataggio permanente di dati raramente soggetti a modifiche, per esempio, per i sistemi operativi delle fotocamere digitali o dei telefoni cellulari. In Figura 1.13 è riportata la struttura di une matrice di celle in architettura NOR: BL WL 0 WL 1 WL 2 source Figura 1.13 Gruppo di celle rappresentative dell architettura NOR L architettura NOR è una struttura molto versatile che consente di supportare sullo stesso chip differenti modalità di operare quali, multilivello e tradizionale. Come si osserva in Figura 1.13, tale struttura non necessita dei transistor di selezione; le Control-Gate delle celle sulla stessa riga sono collegati dalla stessa word-line; i drain delle celle sulla stessa colonna sono connessi dalla stessa bit-line e i source delle celle nello stesso settore sono collegati da un souce-line comune. Ogni singola cella è indirizzabile attraverso due segnali, uno proveniente dalle bit-lines e l altro dalle word-lines. La cella viene indirizzata attraverso dei decodificatori di riga e di colonna, mentre il Source-Switch serve per applicare la tensione durante la cancellazione. Infine, ogni colonna è collegata ad un uscita ed ai sense amplifier che riconoscono il contenuto informativo delle celle. I tempi di accesso sono minori rispetto ad una architettura NAND, poiché le operazioni non sono sequenziali. 12

20 1. La Memoria Flash Le operazioni fondamentali supportate da una memoria Flash con struttura NOR sono: la programmazione, la lettura, la cancellazione, la verifica e la compattazione. Programmazione: La programmazione avviene per effetto CHE. Tutti i source sono posti a massa, la bit-line della cella selezionata viene portata alla tensione di programmazione (es. 4,7V) mentre la wordline delle celle da programmare ad una tensione superiore (es. 9V), in modo da fornire un campo elettrico trasverso sufficiente per far superare la barriera di potenziale e quindi l ossido agli elettroni, con il conseguente immagazzinamento di carica nel Floating-Gate; mentre per le celle che non si desidera programmare è necessario portare le word-lines a massa. Verifica di programmazione: Tale operazione viene eseguita in seguito ad una operazione di programmazione, per controllare che quest ultima sia avvenuta correttamente. La necessità di tale verifica è dovuta ai diversi problemi tecnologici e alle variazioni delle condizioni ambientali, che producono perdita di carica, con il conseguente spostamento della soglia e quindi errore nella programmazione. La lettura è eseguita in maniera rigorosa ed ad una tensione di lettura (es. 7,2-7,5V ) tale da garantire un buon margine di sicurezza. Lettura: Per poter leggere è necessario applicare sulla word-line un'opportuna tensione di lettura (es. 4,5-5V), porre tutti i souces a massa e collegare le bit-lines al circuito di sensing; per le celle da deselezionare è necessario portare a zero le word-lines. Il riconoscimento dei livelli logici avviene grazie ai circuiti di sensing, i quali, in base alla corrente che scorre sulle bit-lines, sono in grado di decidere il livello logico immagazzinato nelle singole celle; infatti, se la cella è stata precedentemente programmata, presenterà una tensione di soglia elevata, o una bassa corrente, a cui il sense amplifier assocerà livello logico 0, mentre se la cella è non programmata la tensione di soglia sarà minore, quindi corrente elevata, a cui si assocerà il livello logico 1. In genere il metodo 13

21 1. La Memoria Flash più comune per identificare lo stato di una cella consiste nel confrontare la corrente della cella con quella di una cella di riferimento. Cancellazione: Il fenomeno fisico sfruttato nella cancellazione è l effetto tunnel Fowler-Nordheim. La cancellazione avviene contemporaneamente per l insieme di celle che hanno in comune lo stesso source. Sulla word-line viene applicata una tensione di cancellazione (es.-8v), sul source viene applicata una tensione positiva, mentre le bit-lines vengono lasciate flottanti. Anche per la cancellazione si ha la necessità di controllare l efficacia dell operazione con un operazione di verifica. Verifica di cancellazione: Quest operazione viene eseguita come una semplice lettura ma con una tensione sulla gate minore di quella di lettura (es. 4,5V) in modo da assicurarsi la completa assenza di celle programmate. Compattazione: Quest operazione è necessaria per ripristinare un valore della tensione di soglia V T ad un valore fissato, in conseguenza ad una operazione di cancellazione. La variazione della tensione di soglia è legata, infatti, ad una diminuzione della carica nella Floating-Gate tale da portare il livello di V T addirittura a valori negativi, il che comporta quindi la conduzione della cella anche in caso di deselezione della stessa. Per evitare tale fenomeno è necessario iniettare carica nella Floating-Gate applicando opportune tensioni sulla gate (ad es. 2.1V), sul source (ad es. 0.8V) e sul drain (ad es. 7V). 14

22 1. La Memoria Flash 1.5 ARCHITETTURA NAND L architettura NAND, nata successivamente alla NOR, nel 1989, da una collaborazione tra Samsung e Toshiba, rappresenta l'alternativa più economica alle memorie NOR Flash. Queste ultime, infatti, sono costituite da blocchi di maggiori dimensioni e quindi il settore di cancellazione è maggiore. Inoltre a parità di capacità risulta meno costoso produrre una NAND rispetto alla NOR, in quanto le celle di memoria delle flash NAND sono grandi solo la metà delle celle delle memorie NOR. Per questi importanti vantaggi le Flash NAND vengono utilizzate nelle schede di memoria CompactFlash, SD (Secur Digital), MMC (MultiMediaCard), xd (Picture Card), MS (Memory Stick), USB Memory Flash/Pendrive ecc.. Dal punto di vista strutturale nell architettura di tipo NAND i dispositivi sono organizzati a gruppi e vi sono, per ogni gruppo di transistori a doppia gate, due transistori di selezione o di accesso, di cui uno collegato alla bit-line, l altro al source, come mostrato in Figura selezione 0 BL 0 BL 1 WL 0 WL 1 selezione 1 source Figura 1.14 Gruppo di celle rappresentative dell architettura NAND 15

23 1. La Memoria Flash I transistori sono collegati in serie e quindi si ha un limite al numero di questi, in quanto un eccessivo numero di transistori in serie peggiora le prestazioni. Inoltre i tempi di accesso sono piuttosto elevati in quanto tutte le operazioni devono avvenire sequenzialmente. Una memoria Flash con struttura di tipo NAND supporta tre operazioni fondamentali: la lettura, la programmazione e la cancellazione. Lettura: Le celle vengono lette serialmente applicando la tensione di lettura (es. 5V) sulle word-lines deselezionate e ponendo sulla word-line selezionata una tensione inferiore a quella di lettura (compresa tra 0-2.4V), abilitando il transistore di selezione collegato alla bit-line. Le bit-lines sono naturalmente collegate ad opportuni circuiti di sensing che esplicano la loro funzione di riconoscimento del livello di carica immagazzinata nelle celle. Ci possono essere più file di transistori a doppia gate collegati alla stessa bit-line, per cui, durante la lettura uno solo dei transistori di selezione_0 dev essere attivo, altrimenti si creano interferenze. Programmazione: Per programmare una cella è necessario abilitare i transistor di selezione collegato alla bit-line con una tensione pari a quella di programmazione (es. 20V), mentre il transistore di selezione collegato al source è disabilitato. Le bit-lines e il source sono posti a massa, invece per quanto riguarda le word-lines deselezionate, queste vengono portate ad un valore inferiore della tensione di programmazione (es. 10V) mentre la word-line selezionata alla tensione di programmazione (es. 20V). Cancellazione: L operazione di cancellazione avviene lasciando le bit-lines e i source flottanti, abilitando per ogni fila entrambi i transistori di selezione, applicando una tensione elevata (es. 20V) e ponendo le word-lines delle celle selezionate a 0V. In questo modo i transistori cancellati diventano di tipo a svuotamento, con una V T negativa. 16

24 1. La Memoria Flash 1.6 L ARCHITETTURA INTERNA Una memoria Flash è costituita oltre che dall array di celle anche da una circuiteria periferica che serve ad esplicare tutte le funzionalità del dispositivo, come mostrato in Figura V DD Circuiti analogici Multiplexer Decoder di riga Matrice di celle Logica di controllo Decoder di colonna Circuiti di sensing Bus I/O Indirizzi Dati Segnali di controllo Figura 1.15 Architettura interna di una memoria Flash Si osservano i seguenti blocchi logici: La matrice di celle L array è costituito dall insieme delle celle elementari FAMOS, distribuite in un opportuno formato matrice e consente di immagazzinare un numero elevato di bit. Solitamente l array di una memoria è organizzato in settori, intendendo con tale termine il numero minimo di celle che possono essere cancellate nello stesso istante di tempo, evitando l inconveniente di dover cancellare tutta la memoria per cancellare solo un numero minimo di bit. I decoder di riga e di colonna 17

25 1. La Memoria Flash I decodificatori sia di riga che di colonna provvedono insieme all indirizzamento della memoria, permettendo di accedere ai bytes sui quali si desidera effettuare operazioni. Il decodificatore di riga ha un numero di uscite pari al numero di righe dell'array, mentre quello di colonna dipende sia dalla lunghezza della parola di memoria (solitamente pari ad 8 bit o 16 bit), ma anche dall organizzazione dei settori. Circuiti di sensing Hanno la funzione di convertire il dato tipicamente analogico, proveniente dalle celle di memoria, in un dato digitale e inviarlo successivamente sul bus di I/O. Alla base del sensing vi sono i sense amplifier, costituiti da convertitori corrente/tensione e da comparatori, per effettuare la lettura di una cella. Logica di controllo Ha il compito di effettuare le complesse operazioni che si eseguono nei dispositivi Flash, quali la cancellazione con le relative verifiche, la programmazione e la comunicazione con l utente esterno. Vi sono due possibili architetture per la logica di controllo delle memorie Flash: la prima impiega una o più macchine a stati finiti, che offrono il pregio di una maggiore compattezza del sistema; la seconda invece presenta al suo interno un microcontrollore, funzionante attraverso la lettura di una piccola RAM, dalla quale preleva le istruzioni e le esegue in successione. Quest ultima architettura è la preferita nei dispositivi moderni, soggetti a numerose modifiche, poiché basta riprogrammare un nuovo set di istruzioni in una Flash interna (ROM) al dispositivo per modificare il funzionamento. Circuiti analogici Provvedono alla generazione di segnali interni dedicati di tensione per la programmazione e la cancellazione e sono generalmente costituiti da tre pompe di carica, di cui una di alta tensione e bassa corrente, una di bassa tensione e alta corrente e la terza necessaria alla generazione delle tensioni negative, utilizzate nella cancellazione. Multiplexer Ha lo scopo di selezionare le tensioni di polarizzazione opportune relativamente alla modalità operativa. Bus I/O Infine, il blocco di bus I/O contiene i buffer per i segnali di Input ed Output, che connettono il sistema al mondo esterno. 18

26 1. La Memoria Flash 1.7 L INTERFACCIA Per l illustrazione degli ingressi e delle uscite, presenti sulla generica interfaccia di una memoria Flash, si procede in questo paragrafo considerando l esempio della memoria Flash Multilivello da 512Mbit a 2 bit per cella, M58KR512J, prodotta dalla STMicroelecronics e di particolare interesse per la presente tesi. In Figura 1.16 è riportata la configurazione dei piedini della memoria Flash M58KR512J. V DD V DDQ V PP E G W RP L K M58KR512J 512Mbit Mux I/O Burst, Mass Memory Interface 1.8V Supply Flash Memory ADQ0-ADQ15 RDY INT V SS V SSQ Figura 1.16 Segnali di ingresso e uscita della M58KR512J La memoria Flash è controllata tramite i seguenti pin, attivi a livello logico basso: Chip Enable ( E ): attiva la logica di controllo, i buffer di input, i decoder e il sense amplifier. Il dispositivo è attivo quando questo pin è a V IL e il Reset è a V IH ; mentre se il Chip Enable è a V IH la memoria non è selezionata, le uscite sono ad alta impedenza e il consumo di potenza è ridotto, con una corrente di standby di circa 50µA. Output Enable (G ): collega i data buffer alle uscite durante l operazione di lettura. Write Enable (W ): abilita la scrittura. I dati o comandi sono acquisiti sulle commutazioni del Chip Enable o del Write Enable, qualunque cosa accada prima. Reset ( RP ): provvede ad un reset hardware della memoria. Quando il Reset è a V IL, la memoria viene resettata, le uscite sono ad alta impedenza e il consumo di corrente è ridotto. Dopo il reset tutti i blocchi saranno nello stato di locked, i registri interni e i segnali di 19

27 1. La Memoria Flash uscita vengono inizializzati allo stato di default e la memoria entra nella modalità di lettura asincrona, per cui durante la commutazione negativa del Chip Enable e del Latch Enable devono venir assicurate delle uscite dati valide. Quando invece il Reset è a V IH, la memoria è in funzionamento normale. Latch Enable ( L ): abilita l acquisizione degli input di indirizzo (ADQ0-ADQ15) durante il suo fronte di discesa. Quando il Latch Enable è a V IH l address latch è interdetto, mentre risulta trasparente quando il Latch Enable è a V IL. Vi sono altri segnali di sincronismo e di uscita: Clock (K): segnale di ingresso che sincronizza la memoria con il microcontrollore durante le operazioni di lettura sincrona. L indirizzo è acquisito sul fronte del segnale di Clock quando il Latch Enable è a V IL. Il Clock è inutilizzato, cioè don t care, durante le operazioni di lettura/scrittura asincrone. Ready (R): segnale di uscita utilizzato durante le operazioni di lettura sincrona, per indicare se il dato sul bus di uscita è valido o meno. La polarità del segnale di Ready può essere configurata. Questo segnale è attivo o, se Chip Enable è a V IH o Reset è a V IL, ad alta impedenza. Interrupt (INT): segnale di uscita che indica se un operazione è stata completata o meno. Questo segnale può essere o ad alta impedenza o attivo e la polarità può essere configurata. Quando è attivo, viene sempre guidato dal dispositivo, senza tener conto delle polarità del Chip Enable o del Reset. La memoria flash presenta inoltre i seguenti pin per l alimentazione: V DD Supply Voltage: fornisce la potenza per tutte le operazioni di lettura, scrittura, programmazione e cancellazione, al core interno della Mass Memory Interface. V DDQ Supply Voltage: fornisce la potenza ai pin di I/O, indipendentemente da V DD, ma può anche essere legata a quest ultima. V PP Program Supply Voltage: è sia un pin di controllo che un pin che fornisce potenza a seconda del range di tensione applicata. Se V PP è compreso tra 0V e V DDQ, allora la funzionalità è di pin di controllo e con una tensione più bassa di V PPLK si ha protezione assoluta contro le operazioni di programmazione e cancellazione, mentre con una tensione maggiore di V PP1 queste operazioni sono abilitate. Questo segnale viene campionato all inizio di un operazione di programmazione o cancellazione per cui un suo cambiamento dopo 20

28 1. La Memoria Flash l inizio di un operazione non produce alcun effetto. Se invece V PP è elevato, il pin avrà la funzionalità di fornire potenza e dovrà essere stabile finché l algoritmo non viene completato. V SS Ground: fornisce la massa ed è di riferimento per tutto il sistema. V SSQ Ground: fornisce la massa per la circuiteria alimentata da V DDQ e può essere connesso a V SS. Ed infine vi sono sedici pin di indirizzo che sono multiplexati con i segnali di dati input/output: Data Input/Output (ADQ0-ADQ15): permette l acquisizione di un dato o un comando durante una operazione di scrittura o l uscita di un dato durante un operazione di lettura. Address Inputs (ADQ0-ADQ15): selezionano l indirizzo di memoria a cui si vuole accedere durante le operazioni di lettura o scrittura. 21

29 2. I Microcontrollori I MICROCONTROLLORI CAPITOLO 2 Come visto nel precedente capitolo, le memorie Flash sono dei dispositivi analogici abbastanza complessi, in cui la maggior parte dell area di silicio è occupata da matrici di celle di memoria, un altra ampia parte dell area in silicio viene utilizzata per circuiti analogici, ed infine vi è un blocco digitale embedded, che gestisce le modalità di lavoro della memoria. In quest ultimo blocco è allocato un microcontrollore, per la gestione delle operazioni da eseguire sulle celle di memoria. Questo Microcontrollore Embedded, anche se più semplice, è un vero e proprio microcontrollore sia per funzionalità che per architettura; per questo motivo il presente capitolo offre una descrizione, che si può considerare generale, sui microcontrollori. 2.1 INTRODUZIONE L odierno Microcontrollore Embedded presente nelle memorie Flash Multilivello (2 b/c) della STMicroelecronics, come la M58KR512J, ha una struttura composta da un decodificatore delle istruzioni o unità di controllo ed un unità di elaborazione dati, come mostrato in Figura 2.1. BUS di microcodice MICRO Input decoder Circuiti di elaborazione Output Figura 2.1 Struttura del Micro Embedded 22

30 2. I Microcontrollori dove tra gli input è evidenziato il BUS di microcodice da 16 bit, che trasporta le word di microcodice da eseguire e proviene da una SP_RAM (single port RAM), la quale, dopo la fase di POWER ON, contiene le istruzioni degli algoritmi embedded che il microcontrollore esegue in successione. Il Decoder ha la funzione di decodifica delle istruzioni e di generazione dei segnali di controllo e comando dei blocchi attuatori presenti all interno dell unità di elaborazione, per l esecuzione delle istruzioni. In particolare, tra i circuiti di elaborazione vi sono: la ALU, il banco di registri (REG_FILE), il PC, lo SP, lo STACK, il Watchdog ed altri blocchi. All interno del gruppo FMG (Flash Memory Group) di STMicroelectronics di Palermo si è lavorato al microcodice del microcontrollore embedded delle memorie Flash Multilivello, per renderlo standard e poterlo utilizzare all interno di tutte le memorie di futura generazione. Il microcontrollore realizzato è basato sullo standard industriale con core a 16 bit. Le peculiarità principali prefissate per il microcontrollore embedded sono state le seguenti: - flessibilità ed espansibilità del set istruzioni; - maggior numero di segnali di ingresso e di uscita indirizzabili; - maggior numero di segnali settabili simultaneamente; - codifica delle istruzioni attraverso 4 bit fissati, dei 16 bit di cui è composta una parola (word) di microcodice; - istruzione di MOVE applicabile su registri interni e/o esterni; - istruzione di LOAD/SAVE da/su RAM su/da registri interni e/o esterni; - istruzione immediata di LOAD di una costante su registri; - fino a 16 operazioni logiche/aritmetiche; - time-spec nell asserzione di WAIT senza immagazzinare un registro dedicato; - fino a ~26ms settabili sul registro di WAIT; - operazioni compiute da software anziché da hardware dedicato. Lo scopo dei progettisti in ST è stato quello di rendere migliore e più flessibile il precedente microcontrollore embedded, con la conseguente modifica della struttura e del set d istruzioni. Per quest ultimo, inoltre, sono state previste delle istruzioni di gestione degli interrupt, non presenti nel precedente set, e un Program Counter (PC) da 16 bit, in opposizione al precedente da 11 bit, con un conseguente aumento dello spazio di indirizzamento della memoria di microcodice. 23

31 2. I Microcontrollori 2.2 INTRODUZIONE AI MICROCONTROLLORI Un microcontrollore (µc o MCU-MicroController Unit) è un dispositivo logico programmabile che raggruppa, integrato in un unico chip, un sistema a micro-processore, cioè l insieme di CPU, memoria e dispositivi periferici di I/O e viene generalmente realizzato con un processo CMOS statico. Memoria CPU Dispositivi di I/O Figura 2.2 Architettura di un microcontrollore La CPU (Central Processing Unit), detta anche Core, è l unità centrale di elaborazione, che, comunicando con le varie periferiche interne attraverso dei canali, chiamati bus, si fa carico di eseguire il programma ed elaborare i dati. La memoria ha generalmente un organizzazione che comprende tre differenti blocchi di memoria: la Program Memory (Flash), che è quella parte di memoria in cui risiede il programma da eseguire, la Data Memory (RAM), in cui risiedono le variabili di lavoro generate dal programma e la EEPROM Data Memory, che offre la possibilità di memorizzare dati in maniera non volatile. I dispositivi di I/O permettono la comunicazione biunivoca del microcontrollore con l esterno e sono solitamente organizzati a blocchi, detti Port, che possono assumere diverse funzioni, come ingresso dati digitale, ingresso dati analogico, uscita digitale standard, ingresso con interruzione, I/O seriale. 24

32 2. I Microcontrollori All interno di un microcontrollore vi sono anche dei moduli aggiuntivi, come l oscillatore di Clock, il gestore di Reset, i contatori di tempo o timer, tra cui il Watchdog Timer, convertitori Analogici/Digitali, convertitori Digitali/Analogici, moduli per le comunicazioni seriali su Bus, ecc. I collegamenti tra CPU ed ogni altro blocco funzionale interno al microcontrollore vengono realizzati attraverso i bus, nei quali possono circolare dati, indirizzi di locazioni di memoria o segnali di controllo, secondo i tre differenti tipi di bus: Control bus: che è l insieme di tutti i segnali di controllo scambiati dalla CPU con i dispositivi di memoria, di elaborazione dati, di input/output che coordinano e sincronizzano le attività dell intero sistema. Address bus: che trasporta in maniera univoca gli indirizzi corrispondenti ad una locazione di memoria o a un dispositivo di input/output. Data bus: che trasporta dati memorizzati in una locazione di memoria (indirizzata preventivamente grazie al bus indirizzi) alla CPU o viceversa. I tre bus possono essere fisicamente distinti tra loro o multiplexati, cioè alcune linee assumono in tempi diversi funzioni diverse, per cui è necessario un hardware opportuno che provveda a separare ed utilizzare le informazioni, funzionalmente diverse, presenti sulle medesime linee. Per quanto riguarda il numero di linee che costituiscono i vari bus, esso dipende dalle caratteristiche del sistema. In particolare il microcontrollore embedded realizzato per le memorie flash ha sia il bus dati che il bus indirizzi da 16 bit CARATTERISTICHE ARCHITETTURALI Esistono due grandi famiglie di microcontrollori: quelli CISC (Complex Instruction Set Computer) e quelli RISC (Reduced Instruction Set Computer). Nei primi, come per i processori general purpose, si utilizza un architettura di Von Neuman (es. nel microcontrollore ST10), caratterizzata dall avere un bus unico tra CPU e memoria e una memoria comune per i dati e per le istruzioni; quest ultima caratteristica comporta più di un ciclo macchina per l esecuzione di ogni istruzione e questo costituisce un primo svantaggio. Inoltre, il numero di istruzioni e metodi di indirizzamento risultano elevati. 25

33 2. I Microcontrollori Il secondo svantaggio dei microcontrollori CISC riguarda il fatto che non si possono utilizzare segnali di clock a frequenza troppo elevata. Nei microcontrollori RISC invece si utilizza un architettura chiamata Harward (es. nel microcontrollore ST40), che prevede la memoria dati separata dalla memoria di programma e due bus separati tra CPU e data-memory, e tra CPU e program-memory. La CPU quindi può effettuare parallelamente due accessi: uno in data-memory e uno in program-memory e, sfruttando tecniche di pipeline, può arrivare ad eseguire un istruzione ogni ciclo macchina. Nei µc RISC si hanno inoltre poche istruzioni (< 50) e pochi modi di indirizzamento (solo diretto e indiretto), che rendono tale architettura più semplice e vantaggiosa rispetto a quella CISC. Il set di istruzioni ridotto per i microcontrollori RISC naturalmente manca di istruzioni particolari a scopi specifici, il che si traduce, a volte, nel dover utilizzare diverse istruzioni al posto di un unica eventuale istruzione più complessa. L architettura circuitale RISC consente di ottenere, a differenza dell architettura CISC, maggiore compattezza, clock elevati, velocità di operazione ed esecuzione delle istruzioni in un singolo colpo di clock; inoltre la lunghezza delle istruzioni viene mantenuta costante in modo da garantire una prevedibilità nei tempi di esecuzione delle istruzioni. La filosofia che sta dietro l architettura RISC prevede un unità centrale, ovvero la parte intelligente del sistema, e un insieme di registri che consentono il movimento dei dati e delle istruzioni, che in questi vengono caricati dalla memoria; non si possono quindi eseguire operazioni dirette sui dati in memoria, ma solo tra i registri interni. Per la semplicità complessiva e i suoi numerosi vantaggi, l industria dei microcontrollori tende ad adoperare un architettura di tipo RISC. CPU CPU Program memory Data memory Memory (program and data) a) b) Figura 2.3 Architetture Harward a) e Von Neuman b) 26

34 2. I Microcontrollori 2.3 IL CORE Il Core o CPU è il cervello del dispositivo, in quanto è responsabile della correttezza dell operazione di fetch, cioè di caricamento dell istruzione, e dell operazione di execute, cioè dell esecuzione dell istruzione caricata, ed ha il compito di decodifica delle istruzioni stesse. Da questo viene svolta anche una funzione di controllo sui bus e per quanto riguarda gli accessi allo Stack, che è una pila di registri dedicati, organizzati con accesso seriale, utilizzati dalla CPU in caso di chiamata a subroutine o interrupt, cioè dove la CPU salva l'indirizzo di quella che sarebbe dovuta essere la successiva istruzione da eseguire se non si fosse verificata una chiamata a subroutine (istruzione CALL) o un interrupt. Nello Stack è generalmente utilizzata una politica di gestione LIFO (Last Input First Output). Dal punto di vista dei blocchi logici, come mostrato in Figura 2.4 la CPU è l insieme dell ALU (Arithmetic Logical Unit), della Control Unit (CU) e di un Array Register con almeno: un registro accumulatore (W o ACC), un Program Counter (PC), un Instruction Register (IR) e uno Stack Pointer (SP). Control Unit CPU ALU Registers Figura 2.4 Architettura della CPU 27

35 2. I Microcontrollori L UNITA ARITMETICO-LOGICA L Unità aritmetico-logica (ALU), che insieme ai suoi input ed output costituisce il data-path della CPU, è costituita da una rete combinatoria in grado di eseguire operazioni aritmetiche come somma, sottrazione e operazioni logiche come AND, OR, NOT e shift, tra i dati nei registri. Le diverse operazioni vengono selezionate sulla base di un certo numero di linee di controllo, provenienti dall Unità di Controllo. Senza esplicite specificazioni le operazioni sono svolte in base ai criteri del complemento a 2 e, nelle istruzioni a 2 operandi, tipicamente un operando è sempre il contenuto del registro accumulatore, mentre il secondo operando è contenuto in uno dei fileregister o è una costante; mentre nelle istruzioni a singolo operando, l operando può essere il contenuto del registro accumulatore o di un registro. Il ciclo di data-path consiste nel passaggio di due operandi attraverso la ALU e la memorizzazione del risultato dell operazione, che viene in genere portato sull accumulatore. L ALU, inoltre, interagisce con un ulteriore registro di flag, chiamato Status Register, destinato a contenere informazioni ulteriori sull esito delle operazioni svolte. FLAG ACCUM. TEMP. ALU segnali di controllo Figura 2.5 ALU 28

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

introduzione I MICROCONTROLLORI

introduzione I MICROCONTROLLORI introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Gerarchia delle memorie

Gerarchia delle memorie Memorie Gerarchia delle memorie Cache CPU Centrale Massa Distanza Capacità Tempi di accesso Costo 2 1 Le memorie centrali Nella macchina di Von Neumann, le istruzioni e i dati sono contenute in una memoria

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

PLC Programmable Logic Controller

PLC Programmable Logic Controller PLC Programmable Logic Controller Sistema elettronico, a funzionamento digitale, destinato all uso in ambito industriale, che utilizza una memoria programmabile per l archiviazione di istruzioni orientate

Dettagli

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti Banco di registri e memoria Corso ACSO prof. Cristina SILVANO Politecnico di Milano Componenti di memoria e circuiti di pilotaggio L organizzazione interna della memoria e del banco di registri prevedono

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Memorie ROM (Read Only Memory)

Memorie ROM (Read Only Memory) Memorie ROM (Read Only Memory) Considerando la prima forma canonica, la realizzazione di qualsiasi funzione di m variabili richiede un numero di porte AND pari al numero dei suoi mintermini e di prolungare

Dettagli

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A.

Sistemi Elettronici #1. Sistemi Elettronici. Definizioni e concetti generali. Sistemi Elettronici Laurea Triennale in Elettronica A.A. Sistemi Elettronici Definizioni e concetti generali Concetti generali Il microcontrollore è un dispositivo che raggruppa su un unico chip un processore ed un insieme di dispositivi CPU Memoria RAM Memoria

Dettagli

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

Dettagli

Memory TREE. Luigi Zeni DII-SUN Fondamenti di Elettronica Digitale

Memory TREE. Luigi Zeni DII-SUN Fondamenti di Elettronica Digitale Memory TREE Mercato delle memorie non-volatili Organizzazione della memoria Row Address 1 2 M Row D e c o d e r M 2 rows 1 Bitline One Storage Cell Cell Array Wordline Row Decoder 2 M 1 2 N Sense Amplifiers

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

8 Microcontrollori PIC

8 Microcontrollori PIC 8 Microcontrollori PIC 8.1 Descrizione generale Un microcontrollore è un dispositivo elettronico che opportunamente programmato è in grado di svolgere diverse funzioni in modo autonomo. Essenzialmente

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

La memoria centrale (RAM)

La memoria centrale (RAM) La memoria centrale (RAM) Mantiene al proprio interno i dati e le istruzioni dei programmi in esecuzione Memoria ad accesso casuale Tecnologia elettronica: Veloce ma volatile e costosa Due eccezioni R.O.M.

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

Dettagli

Fig. 1. Cella SRAM a 4 transistori.

Fig. 1. Cella SRAM a 4 transistori. NOTE SULLE MEMORIE. Dimensionamento della cella SRAM 4T La Fig. 1 mostra lo schema di una memoria SRAM a 4 transistori (4T). L elemento di memoria è realizzato con una coppia di invertitori NMOS con carico

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

Introduzione alle misure con moduli multifunzione (DAQ)

Introduzione alle misure con moduli multifunzione (DAQ) Facoltà di Ingegneria Università degli Studi di Firenze Dipartimento di Elettronica e Telecomunicazioni Introduzione alle misure con moduli multifunzione (DAQ) Ing. Andrea Zanobini - Maggio 2012 Dipartimento

Dettagli

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione RCHITETTUR DI UN ELORTORE MCCHIN DI VON NEUMNN Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). UNITÀ FUNZIONLI fondamentali Processore (CPU) Centrale

Dettagli

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica

I componenti di un Sistema di elaborazione. Memoria centrale. È costituita da una serie di CHIP disposti su una scheda elettronica I componenti di un Sistema di elaborazione. Memoria centrale Memorizza : istruzioni dati In forma BINARIA : 10001010101000110101... È costituita da una serie di CHIP disposti su una scheda elettronica

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Vari tipi di computer

Vari tipi di computer Hardware Cos è un computer? Un computer è un elaboratore di informazione. Un computer: riceve informazione in ingresso (input) elabora questa informazione Può memorizzare (in modo temporaneo o permanente)

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo Schede a microprocessore Seconda parte Mondo esterno clock MEMORIA CPU PERIFERICA ADATTATORE DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus dati

Dettagli

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM Il computer è un apparecchio elettronico che riceve dati di ingresso (input), li memorizza e gli elabora e fornisce in uscita i risultati (output). Il computer è quindi un sistema per elaborare informazioni

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Materiali per il modulo 1 ECDL. Autore: M. Lanino Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter

Informatica B a.a 2005/06 (Meccanici 4 squadra) PhD. Ing. Michele Folgheraiter Informatica B a.a 2005/06 (Meccanici 4 squadra) Scaglione: da PO a ZZZZ PhD. Ing. Michele Folgheraiter Architettura del Calcolatore Macchina di von Neumann Il calcolatore moderno è basato su un architettura

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it La memoria principale 2 izzazione della memoria principale ria principale è organizzata come

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

La memoria - generalità

La memoria - generalità Calcolatori Elettronici La memoria gerarchica Introduzione La memoria - generalità n Funzioni: Supporto alla CPU: deve fornire dati ed istruzioni il più rapidamente possibile Archiviazione: deve consentire

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione:

Modulo 1 Le memorie. Si possono raggruppare i sistemi di elaborazione nelle seguenti categorie in base alle possibilità di utilizzazione: Modulo 1 Le memorie Le Memorie 4 ETA Capitolo 1 Struttura di un elaboratore Un elaboratore elettronico è un sistema capace di elaborare dei dati in ingresso seguendo opportune istruzioni e li elabora fornendo

Dettagli

Funzionalità di un calcolatore

Funzionalità di un calcolatore Funzionalità di un calcolatore Il calcolatore: modello concettuale 1. Elaborazione 2. Memorizzazione Interconnessione 3. Comunicazione (interfaccia) Architettura di un computer componenti per elaborare

Dettagli

Le memorie. Introduzione

Le memorie. Introduzione Le memorie Introduzione Una memoria è un sistema elettronico in grado di immagazzinare dati in forma binaria, per poi renderli disponibili ad ogni richiesta. Tale sistema è costituito da un insieme di

Dettagli

Corso PLC - Manuale Pratico 1

Corso PLC - Manuale Pratico 1 Corso PLC - Manuale Pratico 1 "!#$ % L'unità centrale di un PLC, chiamata più semplicemente CPU, normalmente occupa il primo modulo del rack. Si individua subito in quanto tipicamente è dotata di un selettore,

Dettagli

Architettura dei calcolatori I parte Introduzione, CPU

Architettura dei calcolatori I parte Introduzione, CPU Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Le memorie. Generalità E applicazioni

Le memorie. Generalità E applicazioni Le memorie Generalità E applicazioni Caratteristiche generali Tempo di risposta Capacità Alimentazione Dissipazione di potenza Numero di pin Costo per bit Modalità di accesso Per poter scrivere un dato

Dettagli

Il microprocessore 8086

Il microprocessore 8086 1 Il microprocessore 8086 LA CPU 8086 Il microprocessore 8086 fa parte della famiglia 80xxx della INTEL. Il capostipite di questa famiglia è stato l 8080, un microprocessore ad 8 bit che ha riscosso un

Dettagli

I componenti di un Sistema di elaborazione. CPU (central process unit)

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

PROGRAMMA DI SISTEMI TERZA AET 2014/2015 PROGRAMMA DI SISTEMI TERZA AET 2014/2015 Docente: Gamerra Giuseppe, Porta Giovanni Testo : manuali originali dello Z80, appunti in classe, dispense sulla intranet, simulatore OSHONSOFT A) Non sono state

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Mercato delle memorie non-volatili

Mercato delle memorie non-volatili Memory TREE Mercato delle memorie non-volatili Organizzazione della memoria Row Address 1 2 M Row D e c o d e r M 2 rows 1 Bitline One Storage ell ell Array Wordline Row Decoder 2 M 1 2 N Sense Amplifiers

Dettagli

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE CORSO INTRODUTTIVO DI INFORMATICA NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE Dott. Paolo Righetto 1 CORSO INTRODUTTIVO DI INFORMATICA Percorso dell incontro: 1) Alcuni elementi della configurazione hardware

Dettagli

1.4b: Hardware. (Memoria Centrale)

1.4b: Hardware. (Memoria Centrale) 1.4b: Hardware (Memoria Centrale) Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.11, 3.13 IV ediz.: cap. 2.8, 2.9 Questi lucidi Memoria Centrale Un

Dettagli

Architettura hw. La memoria e la cpu

Architettura hw. La memoria e la cpu Architettura hw La memoria e la cpu La memoria centrale e la CPU Bus controllo Bus indirizzi Bus dati Bus di collegamento con la cpu indirizzi controllo dati Bus Indirizzi 11 Bus controllo Leggi/scrivi

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

1.1.3.1. Conoscere i diversi tipi di memoria centrale presenti nel computer, quali: RAM (randomaccess memory), ROM (read-only memory)

1.1.3.1. Conoscere i diversi tipi di memoria centrale presenti nel computer, quali: RAM (randomaccess memory), ROM (read-only memory) 1.1.3.1 Conoscere i diversi tipi di memoria centrale presenti nel computer, quali: RAM (randomaccess memory), ROM (read-only memory) Se non fosse in grado di ricordare l uomo non sarebbe capace di eseguire

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO 1 Domanda [1 punto] Dato il formato in virgola mobile su 32 bit così definito (precisione singola): o 1

Dettagli

Laurea Specialistica in Informatica

Laurea Specialistica in Informatica Corso di Laurea in FISICA Laurea Specialistica in Informatica Fisica dell informazione 1 Elementi di Architettura degli elaboratori Prof. Luca Gammaitoni Informazioni sul corso: www.fisica.unipg unipg.it/gammaitoni/fisinfoit/gammaitoni/fisinfo

Dettagli

Tecnologia dell Informazione

Tecnologia dell Informazione Tecnologia dell Informazione Concetti di base della tecnologia dell informazione Materiale Didattico a cura di Marco Musolesi Università degli Studi di Bologna Sede di Ravenna Facoltà di Giurisprudenza

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai

Informatica di base. Hardware: CPU SCHEDA MADRE. Informatica Hardware di un PC Prof. Corrado Lai Informatica di base Hardware: CPU SCHEDA MADRE HARDWARE DI UN PC 2 Hardware (parti fisiche) Sono le parti fisiche di un Personal Computer (processore, scheda madre, tastiera, mouse, monitor, memorie,..).

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

1.4a: Hardware (Processore)

1.4a: Hardware (Processore) 1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Strutture di Memoria 1

Strutture di Memoria 1 Architettura degli Elaboratori e Laboratorio 17 Maggio 2013 Classificazione delle memorie Funzionalitá: Sola lettura ROM, Read Only Memory, generalmente usata per contenere le routine di configurazione

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli