DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing. Marco Giannini
Introduzione
La struttura dei moderni calcolatori è rappresentata dal modello di VON NEUMANN ed è costituita dalle seguenti unità: Unità di ingresso o input Unità di memoria Unità di controllo (CU) Unità aritmetico logica (ALU) Unità di uscita o output
Unità Aritmetico-Logica Unità di Controllo Unità di Input Memoria Unità di Output
Parte fondamentale di un computer è il processore (CPU)* che è composto da: Unità Aritmetico-Logica (ALU), che opera su informazioni presenti in singole unità di memoria, i Registri Unità di Controllo (CU), che consente di interpretare ed eseguire una sequenza di istruzioni mediante un numero finito di micro-ordini, passando da uno stato iniziale ad uno finale * Se tutte le parti di un processore sono integrate in un unico chip si parla di microprocessore
Il sistema prevede che la macchina effettui le seguenti operazioni elementari: 1.Operazioni di ingresso dati 2.Operazioni di trasferimento dati dalla memoria ai registri, allALU e viceversa 3.Operazioni aritmetiche e logiche eseguite in ALU 4.Operazioni di uscita
Il programma è una sequenza di istruzioni che impartiscono comandi allhardware per lesecuzione delle diverse operazioni richieste
Tutte le operazioni sono permesse da programmi memorizzati nella memoria centrale ed avvengono sotto il controllo del processore che accede alla memoria, preleva le istruzioni del programma, le interpreta e le esegue. Per fare ciò opera in due fasi: -Caricamento del programma (load-time) -Esecuzione del programma (run-time)
Nel modello di VON NEUMANN la memoria centrale è costituita da: Insieme ordinato di celle o locazioni indirizzabili In ogni cella viene contenuto il valore di una informazione Il prelievo dellinformazione dalla memoria non altera e non cancella il contenuto dellinformazione che quindi rimane disponibile per altre analoghe operazioni di lettura (la lettura non è distruttiva) La registrazione o scrittura in memoria comporta la sostituzione e perciò la modifica della vecchia informazione con la nuova (la scrittura è distruttiva) Le informazioni della memoria centrale sono direttamente accessibili dallunità di controllo
La capacità di memoria centrale viene espressa in byte che è la minima unità indirizzabile; se di tipo statico è dellordine dei KB, se di tipo dinamico è dellordine dei MB. La capacità di memoria di massa è dellordine dei GB e la minima unità indirizzabile è il record fisico (da 512 a 4096 bit).
Le memorie di massa sono memorie ausiliarie e funzionano come unità I/O; le informazioni in esse contenute vengono trasferite nella memoria centrale per poter essere elaborate. La memoria di massa svolge un ruolo di archivio di informazioni ed i dati su di essa sono organizzati in archivi o file, composti da più record logici.
Gerarchie di memorie Registri Cache Memoria centrale volatile (SRAM o DRAM) o non volatile (ROM o Flash EEPROM) Dischi magnetici fissi Dischi magnetici rimovibili Dischi ottici rimovibili a sola lettura (CD-ROM o DVD) Nastri magnetici o di backup (Streamer tape) Memoria universale della rete (Internet) Aumenta la capacità di memoria Aumenta la velocità di accesso a memoria (alla reperibilità dei dati)
Le unità di ingresso e di uscita vengono dette in gergo unità I/O (input/output) e sono: Tastiera Mouse Monitor (schermo) Supporti magnetici e magneto-ottici (dischi, dischetti, nastri, CD, DVD, etc.) Stampanti Plotter Scanner Schede magnetiche Lettori ottici (barre) Audio grabber Frame grabber Video grabber Microfoni Altoparlanti
Tra le unità I/O vanno quindi ricordati i convertitori analogico-digitali per lacquisizione di segnali (grabber di suoni e immagini) e i convertitori digitali-analogici per la restituzione di segnali (verso altoparlanti e monitor) La qualità della definizione di suoni e immagini è funzione della quantizzazione (bit per campione) e della risoluzione nel tempo o nello spazio (frequenza di campionamento)
I microcontrollori
Sistemi di elaborazione 1/3 I sistemi di elaborazione, generalmente, possono essere classificati in due categorie: general-purpose e application-specific. General-purpose: programmati per soddisfare una varietà di differenti applicazioni (PC, Mainframe e Workstation) Application-specific: sistemi dedicati ad una precisa applicazione (Controllo di applicazioni domestiche, controllo di impianti industriali, robot)
Sistemi di elaborazione 2/3 I sistemi dedicati sono un sottoinsieme dei sistemi application-specific. Essi sono pensati, sin dalla fase di progetto, per essere sistemi che eseguono un singolo programma ripetutamente. Sono sistemi piccoli, veloci dal punto di vista computazionale, dal basso consumo e dal costo modesto. Sistemi di elaborazione General-purpose Application-specific Sistemi dedicati
Sistemi di elaborazione 3/3 Nei sistemi general-purpose lutente finale e loperatore hanno accesso a tutte le componenti software del sistema. Nei sistemi dedicati il produttore programma il sistema. Mentre lutente finale può intervenire solo su una sezione molto limitata della componente software.
Sistemi Embedded Per la realizzazione dei sistemi embedded un posto di rilievo è occupato dai microcontrollori. Essi presentano una serie di caratteristiche che li rendono dei completi sistemi di calcolo. Sono costituiti da tre parti: CU, ALU e registri Memoria di programma (ROM) e memoria dati (RAM) Una parte che si occupa dellInput/Output
Microcontrollori CU ALU REGISTRI ROM RAM La peculiarità di questi sistemi è quella di inglobare in un unico chip le caratteristiche di base di un microprocessore, più una serie di caratteristiche che li rendono un completo sistema di calcolo. INPUT/OUTPUT Microprocessore + + MICROCONTROLLORE Introduzione
Microcontrollori Vs Microprocessori Microprocessore : singolo circuito integrato in grado di effettuare operazioni decisionali, di calcolo o di elaborazione dell'informazione Microcontrollore : In un unico circuito integrato sono realizzate tutte le funzioni tipiche di un calcolatore unità centrale memorie RAM e ROM porte di ingresso/uscita timer convertitore A/D …
Vantaggi e svantaggi di un microcontrollore Ideali per sistemi embedded Maggiore efficienza delle istruzioni create apposta per svolgere operazioni specifiche Semplificazione nella scrittura dei programmi Costi contenuti Flessibilità limitata Risorse Limitate