Architettura dei Microcontrollori Microchip PIC18F
|
|
|
- Aureliana Lidia Santoro
- 10 anni fa
- Visualizzazioni
Transcript
1 Architettura dei Microcontrollori Microchip PIC18F A. Romani Elettronica dei Sistemi Digitali L-A
2 Cos è un microcontrollore? Differenza tra Microprocessore e Microcontrollore à Microprocessore: normalmente si intende un dispositivo limitato alla sola CPU, che richiede memoria, clock e componenti/periferiche esterni (maggior complessità di progetto) Es. Intel x86 à Microcontrollore: normalmente si intende un sistema incluso in un unico package che comprende una CPU, memoria (RAM, ROM/Flash), periferiche digitali (registri I/O, timer, etc.) e analogiche (ADC, comparatori, etc.), oscillatori per generare il clock, etc. Es. Microchip PIC, Texas Instruments MSP430, etc. MCU = Micro-Controller Unit
3 Architettura di un Microcontrollore Una MCU PIC contiene: à datapath con ALU à decoder per POCHE istruzioni. à Oscillatori/PLL per la generazione del clock à Registri generali (RAM) à Registri con funzioni speciali (SFR) à Interrupt Controller à RAM per dati. à FLASH per codice. à Porte di I/O digitale. à Altre periferiche Timer interno AD Converter USART (seriale) SPI/I2C PWM EEPROM dati
4 Microcontrollori Microchip PIC18 Con pochissimi componenti esterni e poche righe di programma si può ottenere un SISTEMA COMPLETO FUNZIONANTE. Facilità di lavoro à Semplice montaggio su scheda à E tutto dentro (anche il clock!) à Non serve progettare una MotherBoard! Programmazione à Assembler con poche, semplici istruzioni à Disponibili compilatori C, basic, Una volta programmato VA! Limiti nelle prestazioni à c e quello che c è (RAM e frequenza limitate) à potenza di calcolo limitata
5 MCU Microchip Diverse famiglie di Microcontrollori à 8, 16, 32 bit Ogni famiglia è composta da numerosi componenti, distinti per: à Memoria dati à Memoria codice à Periferiche à Frequenza di clock à Consumi di potenza
6 Famiglia PIC18 Caratteristiche: à Architettura a 8 bit à Instruction word a 16 bit à Architettura di memoria Harvard Frequenza massima: à 32MHz 64MHz (Internal PLL x4) Memoria codice: à 4KB 128KB Costo: à 1.20$ $ Data EEPROM à 0B 1024B Numero di pin: à pin Tensione di lavoro: à 1.8V 5.5V
7 PIC18 Part numbering Es. condizioni di utilizzo tipo di package PIC18F I/PT memoria codice flash 1 = 18 pin 2 = 28 pin 4 = 40/44 pin 6 = 64 pin 8 = 80 pin 2 1 = 2K bytes 2 2 = 4K bytes 2 3 = 8K bytes 2 4 = 16K bytes 2 5 = 32K bytes 2 6 = 64K bytes 2 7 = 128K bytes
8 Architettura di memoria I PIC18 includono 3 tipi di memoria: à Memoria codice (max 128KB) programma dati permanenti (es. da ricopiare in RAM durante l esecuzione) à Memoria dati RAM (max 3968B) dati temporanei à Memoria E 2 PROM (max 1024B) Mem Flash Codice dati permanenti bus istruzioni CPU bus dati RAM dati periferiche EEPROM
9 Architettura Data-path Esecuzione controllata da un clock a 4 fasi non sovrapposte Struttura della pipeline: à à A regime viene completata un istruzione ogni 4 cicli di clock (eccetto branch). Latenza 8 cicli di clock. MIPS = f CK (MHz)/4
10 PIC18 Spazio di indirizzamento RAM dati vista come insieme di registri à (GPR, General Purpose Registers) Le periferiche sono accessibili attraverso registri di controllo à detti Special Function Register à mappati alle locazioni alte dello spazio di indirizzamento (quindi omogenei alla RAM) Indirizzamento à a 12 bit à A 8 bit + 4 bit per selezione banco
11 Programmazione C E il modo più semplice per programmare un microcontrollore I produttori forniscono Header files e Librerie per utilizzare il dispositivo à L header file definisce tutti i tipi e strutture dati necessarie alla programmazione, à Definisce costanti simboliche per accedere ai registri di controllo delle periferiche à Definisce costanti simboliche per i valori di configurazione dei registri di controllo Es. à /* Esempio programma C */ #include <p18f452.h> #include <adc.h> [ ]
12 Registri di controllo Solitamente l header file definisce nomi simbolici per i registri associandoli alla locazione di memoria corrispondente à es. #define PORTA (*((volatile unsigned char *) (0xF60))) à unsigned char: intero a 8 bit senza segno (0..255) à à à à volatile: keyword del linguaggio utilizzata per indicare al compilatore che la locazione di memoria può essere modificata anche da agenti esterni alla CPU (es. porta I/O in lettura da un pulsante esterno, o il valore di un timer, etc). Se non indicata il compilatore potrebbe fare caching sui registri interni e non rileggere dalla periferica il valore attuale. *: in C indica un puntatore, cioè un tipo di dato/variabile che contiene l indirizzo di una locazione di memoria (che contiene un intero senza segno a 8 bit in queto caso) (tipo di dato): in C indica l operazione di casting : cioè il valore o la variabile che seguono devono essere considerati dal compilatore come il tipo di dato entro parentesi. Es. 0xF60 da solo è un intero a 12 bit, ma con il casting (volatile unsigned char *) (0xF60) diventa un indirizzo di memoria a cui è contenuto un intero senza segno a 8 bit volatile. * in C indica anche l operatore di dereferenziazione. Deve essere seguito da un puntatore. Es. *p = 12; scrive il valore 12 nella locazione di memoria contenuta nella variabile p, definita magari come int *p; (puntatore a intero). Quindi: *( (volatile unsigned char *) (0xF60)) dereferenzia la locazione di memoria 0xF60 e quindi consente di leggere o scrivere a questo indirizzo, dove c è la porta di I/O A: à Es. *( (volatile unsigned char *) (0xF60)) = 12; // scrive 12 nel // registro PORTA variabile1 = *( (volatile unsigned char *) (0xF60)); //copia il valore // del registor PORTA in variabile1 #define simbolo espressione implementa una macro : cioè una sostituzione testuale nel listato della parola simbolo con espressione à Dunque per accedere alla locazione di memoria F60 dove c è la porta dati A basta usare il simbolo PORTA invece della espressione corrispondente; Es. PORTA = 0b ; //scrive 4 zeri e 4 uni nella porta di uscita A
13 Programmazione C Come deve essere impostato un programma per un microcontrollore? Deve essere gestito come un LOOP INFINITO à Es. Non c è uscita o ritorno dal programma: A chi dovrebbe ritornare il programma? E quando? à /* Esempio programma C */ #include <p18f452.h> #include <adc.h> void main(void) /* Inizializzazione dati e periferiche */ [ ] Ogni MCU ha il suo header file, poiché ha una diversa architettura interna! /* Loop principale */ while(1) [ ] Esistono header file anche per le periferiche più complesse
14 Esempio: Controllo di un semaforo pedonale Esempio di schematico Vdd PGC GND PGD VDD MCLR 5.6k Vdd 10k Vdd 10k 100nF 33pF 1k 1k 1k
15 Programmazione C Es. Controllo di un semaforo. à Supponiamo luci verde, gialla, rossa e pulsante collegate come in slide precedente #include <p18f452.h> #define VERDE PORTBbits.RB1 #define GIALLO PORTBbits.RB2 #define ROSSO PORTBbits.RB4 #define PULSANTE PORTBbits.RB5 extern void delay_ms(unsigned int millisec); void main(void) /* Inizializzazione *) TRISB = 0b ; // porta B tutta in output tranne //il bit 5 ROSSO = 0; GIALLO = 0; VERDE = 1; while(1) while (!PULSANTE) ; // il pulsante se premuto // manda a 1 il segnale // esterno ed esco dal loop GIALLO = 1; delay_ms(2000); VERDE = 0; GIALLO = 0; ROSSO = 1; delay_ms(30000); ROSSO = 0; VERDE = 1; Indica che l oggetto è definito in un altro modulo (già compilato) e che verrà agganciato nella fase di linking quando viene creato il file binario ( eseguibile )
16 PIC18 - Periferiche Porte I/O digitali: à Servono per Generare segnali digitali in uscita Leggere segnali digitali in ingresso à Registri di uscita (PORTx) collegati: al bus dati come periferiche (ogni reg. ha un suo indirizzo nello spazio di indirizzamento) ai pin del dispositivo in uscita à Registro di controllo (TRISx) Collegato al bus dati come periferica al suo spazio di indirizzamento à Registro di ingresso LAT o I/O pin
17 DATA BUS PIC18 - Periferiche Le porte di I/O sono raggruppate in registri a 8 bit, accessibili individualmente o in parallelo à PORTA, PORTB,, PORTE, etc. PORTB.RB0 PORTB.RB1 PORTB.RB7
18 Programmazione C Porte I/O Esempio: à /* 10MHz */ #include <p18f458.h> void MSDelay(unsigned int); void main(void) TRISB = 0x00; /* configura la porta B come 8 output */ while(1) /* loop infinito */ PORTB = 0b ; MSDelay(250); PORTB = 0b ; MSDelay(250); void MSDelay(unsigned int itime) unsigned int i; unsigned char j; for (i=0;i<itime;i++) for (j=0; j<165;j++); /* ritardo gestito contando le iterazioni comprese in 1 ms. */
19 PIC18 Convertitore A/D Periferica che converte grandezze analogiche (tensioni) in numeri binari
20 PIC18 Convertitore A/D Risoluzione: 10 bit 4-28 canali analogici Funzione di trasferimento Es. #define GODONE ADCON0bits.GO #define ADON ADCON0bits.ADON #define ADFM ADCON1bits.ADFM void ADC_Init(void) TRISA = 0b ; //1=input ADCON1 = 0b ; //1=digital //0=analog ADFM=1; //10 bit ADON=1; int ADC_Convert(void) GODONE=1; //faccio partire la //conversione e while(godone) //aspetto che //sia finita return (ADRESH<<8) ADRESL;
21 Scelta della frequenza di clock Diverse modalità 1. Quarzo esterno (quando è richiesta precisione o frequenza elevate) 2. Generatore di onda quadra esterno (es. quando lo stesso clock deve arrivare a più dispositivi) 3. Oscillatore con RC esterno (semplice ed economico ma non troppo preciso e stabile) 4. Oscillatore interno configurabile (non servono componenti esterni, ed è possibile solo un insieme limitato di frequenze)
22 Le interruzioni Un meccanismo molto potente nella programmazione dei microcontrollori è la gestione delle interruzioni (interrupt) à In risposta ad eventi esterni, il micro sospende l esecuzione del programma principale, esegue apposite routine di servizio, e poi ritorna all esecuzione principale à Es. Posso programmare una periferica Timer (contatori) per generare un interrupt ogni secondo. Il micro può ad es. avere un programma principale in cui legge dati continuamente da un sensore con l ADC e, ogni secondo grazie all interrupt, aggiornare un display con l indicazione dell ora.
23 Gestione delle interruzioni Al RESET il micro esegue l istruzione contenuta alla locazione 0000H (detta reset vector) Il RESET vector causa un salto all entry point main 0020H, il programma inizia ad essere eseguito Se durante l esecuzione si verifica un interrupt a bassa priorità il micro automaticamente salta all indirizzo 0018H ed esegue l istruzione ivi contenuta Un nuovo salto ci porta all indirizzo 0040H dove risiede la procedura di gestione degli interrupt Verificando i FLAG è possibile capire quale periferica ha fatto scattare l interruzione, per poi eseguire la routine corrispondente Terminata la routine di gestione il micro ritorna al punto del programma in cui era stato interrotto indirizzo 0000H 0008H 0018H 0020H 0040H memoria codice GOTO 0020H GOTO 0040H GOTO 0040H main: inizializzazioni; GIE=1; while (1) main loop; Check interrupt flag if TMRIF==1 Routine_Timer; if ADCIF==1; Routine_ADC; reset vector High priority int. vector Low priority int. vector main program start
24 Gestione delle interruzioni Esempio #include <p18c452.h> void main (void); void InterruptHandlerHigh (void); // Definisco l high priority interrupt vector #pragma code InterruptVectorHigh = 0x08 void InterruptVectorHigh (void) _asm goto InterruptHandlerHigh //jump to interrupt routine _endasm // Definisco la routine di servizio #pragma code #pragma interrupt InterruptHandlerHigh void InterruptHandlerHigh () if (INTCONbits.TMR0IF) //check for TMR0 overflow INTCONbits.TMR0IF = 0; //clear int.flag Flags.Bit.Timeout = 1; //indicate timeout LATBbits.LATB0 =!LATBbits.LATB0; //toggle LED on RB0 union struct unsigned Timeout:1; TMR0 timeout unsigned None:7; Bit; unsigned char Byte; Flags; // // Main routine //flag to indicate a Void main () // Inizializzazioni Flags.Byte = 0; INTCON = 0x20; //disable global and enable TMR0 interrupt INTCON2 = 0x84; //TMR0 high priority RCONbits.IPEN = 1; //enable priority levels TMR0H = 0; //clear timer TMR0L = 0; //clear timer T0CON = 0x82; //set up timer0 - prescaler 1:8 INTCONbits.GIEH = 1; //enable interrupts TRISB = 0; while (1) if (Flags.Bit.Timeout == 1) //timeout? Flags.Bit.Timeout = 0; //clear timeout indicor LATBbits.LATB7 = LATBbits.LATB0; //copy LED state from RB0 to RB7
Architettura del PIC 18F452
Controllo Digitale a.a. 2005-2006 Architettura del PIC 18F452 Ing. Federica Pascucci PIC 18F452 Caratteristiche Frequenza operativa: 40 MHz Memorie: Program FLASH memory: 32 KBytes, 16 K-istruzioni memorizzabili
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
INTRODUZIONE alla PROGRAMMAZIONE di MICROCONTROLLORI
LUCIDI LEZIONI SISTEMI ELETTRONICI INDUSTRIALI www.dismi.unimo.it (People Associated Pavan ) www.microchip.com com (Datasheet PIC - DS30292) (Mid Range Family Manual DS33023) Università degli Studi di
09-05-07. Introduzione ai microcontrollori PIC
09-05-07 Introduzione ai microcontrollori PIC Daniele Beninato: Nicola Trivellin: [email protected] [email protected] Che cosa è un microcontrollore? Un microcontrollore è un sistema a microprocessore
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
A/D CON PIC 16F877. Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2 ADCON0... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON...
A/D CON PIC 16F877 Sommario INTRODUZIONE... 2 SELEZIONARE I BANCHI... 2... 4 ADCS1, ADCS0... 4 CH2, CH1 E CH0... 5 GO/DONE... 6 ADON... 7 ESEMPIO 1... 7 ADCON1... 8 ADFM... 8 PGF3, PGF1 E PGF0... 9 ESEMPIO
Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole.
Corso introduttivo sui microcontrollori A. S. 2007 2008 Microcontrollori Microchip PIC 8 bit Nicola Amoroso [email protected] NA L2 1 Microcontrollori Microchip PIC 8 bit PIC: Peripheral Interface
Corso di Informatica Applicata. Lezione 7. Università degli studi di Cassino
Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 7 Ing. Saverio De Vito e-mail: [email protected] Tel.: +39
Davide Gennaretti, Matteo Nicolini
Seminario sui Microcontrollori Davide Gennaretti, Matteo Nicolini AA 2003-04 II Facoltà di Ingegneria Elettronica Cesena Cosa sono i microcontrollori? Piccoli computer concentrati in un chip Un Datapath
Lezione 8. Figura 1. Configurazione del registro INTCON
Lezione 8 In questa puntata, ci dedicheremo all'impiego dei cosiddetti "interrupt", che tanto incutono temore ai più inesperti. Ma che cosa sono questi interrupt? Come abbiamo già visto, un programma non
Arduino: Programmazione
Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite
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
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
Gestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania [email protected] http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
Il sensore ad ultrasuoni
Il sensore ad ultrasuoni Caratteristiche elettriche Alimentazione: 5 Vcc Il sensore rileva oggetti da 0 cm fino a 6,45 metri. Tre diverse possibiltà per leggere il dato di uscita del sensore: 1. lettura
I PIC Partendo da Zero By link_89
I PIC Partendo da Zero By link_89 Indice: 1. Introduzione 2. Che cosa serve 3. I più usati 4. I registri 5. Il Primo progetto Introduzione Con questa guida non pretendo di insegnarvi a usare perfettamente
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
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
Le funzioni in C. I programmi C sono costituiti da definizioni di variabili e funzioni.
Le funzioni in C I programmi C sono costituiti da definizioni di variabili e funzioni. Una definizione di funzione ha il seguente formato: tipo-ritornato nome-funzione(lista-parametri) { dichiarazioni
Embedded Software Sviluppo di uno Scheduler di base per PIC18. Tutorial. Embedded Software. Sviluppo di uno Scheduler di base per PIC18.
Tutorial Embedded Software Sviluppo di uno Scheduler di base per PIC18 Pagina 1 Sommario 1. INTRODUZIONE... 3 2. COSA CI SERVE?... 3 3. UN PO DI TEORIA... 4 4. DALLA TEORIA ALLA PRATICA... 5 5. IMPLEMENTAZIONE...
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
Introduzione alla programmazione in C
Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale
Linguaggio C. Fondamenti. Struttura di un programma.
Linguaggio C Fondamenti. Struttura di un programma. 1 La storia del Linguaggio C La nascita del linguaggio C fu dovuta all esigenza di disporre di un Linguaggio ad alto livello adatto alla realizzazione
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
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
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
Che cos è la barriera luminosa?
BARRIERA LUMINOSA Che cos è la barriera luminosa? Pezzi da contare Diodo IR o Laser (emittente) Pezzi contati Direzione del nastro trasportatore FOTODIODO (ricevitore) Direzione del nastro trasportatore
I microcontrollori. In sostanza i pic hanno le seguenti caratteristiche:
I microcontrollori Con il termine di microcontrollori si intende un sistema integrato simile ad un microprocessore ma contente su un unico chip oltre la CPU, anche la memoria RAM, memoria dati, memoria
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
Architettura degli elaboratori (A)
Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma
Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli
CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per
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
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
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
Categorie di sistemi Digitali
Vivian Marco 3isc AS 2007/08 Categorie di sistemi Digitali A Logica cablata Il comportamento di questi sistemi è legato dalla loro struttura fisica. Se si desidera modificarne il comportamento è necessario
Corso Base Arduino ed Elettronica
Corso Base Arduino ed Elettronica Secondo incontro Saldatura e Relatore: Roberto Beligni [email protected] L'ambiente di sviluppo L'ambiente di sviluppo di Arduino (Chiamato IDE) facilita la
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
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
Capitolo. Interfacciamento di periferiche I/O con il PC. 1.1 Il BUS di espansione del PC
Capitolo 1 Interfacciamento di periferiche I/O con il PC 1.1 Il BUS di espansione del PC 1.2 Interfacciamento di periferiche I/O con il PC, con dispositivi non programmabili 1.3 Istruzioni per leggere
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
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
Sistema operativo: Gestione della memoria
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e
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
Un micro FPGA. skills. come il core ABC. il core ABC sia la suite di sviluppo di AC-
skills di Un micro FPGA che parte dall ABC Quando in molti progetti è necessario unire alla logica programmabile la funzionalità di un piccolo microprocessore le soluzioni semplici come il core ABC possono
INTERFACCIA PER PC MEDIANTE PORTA SERIALE
INTERFACCIA PER PC MEDIANTE PORTA SERIALE Scheda d interfaccia per PC da collegare alla porta seriale. Consente di controllare otto uscite a relè e di leggere otto ingressi digitali e due analogici. Un
MICROCONTROLLORE PIC16F84A
MICROCONTROLLORE PIC16F84A Il microcontrollore pic16f84a, a differenza di un computer normale e' dotato in un unico integrato di tutti gli elementi fondamentali di un computer, che sono la Cpu, unita'
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control
La tecnica DDS. Un generatore di toni DTMF
La tecnica DDS 32 Un generatore di toni DTMF standard con selezione a tastiera è presentato in quest articolo come applicazione della tecnica DDS (Direct Digital Synthesys), mediante un microprocessore.
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
L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti
Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune
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
Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
Introduzione ai Microcontrollori Workshop 08/06/2011 Dott.Ing.Marco Frosini Qprel srl Dott.Ing.Lorenzo Giardina Qprel srl Slide 1 di 27 L'elettronica digitale PRIMA dei microcontrollori Elemento base:
Qualche informazione sul microcontrollore PIC
Qualche informazione sul microcontrollore PIC Il Web contiene un ampia quantità di informazioni sui microcontrollori e sulla famiglia PIC in particolare. Accanto ai siti dei produttori hardware e software
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
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
I puntatori e l allocazione dinamica di memoria
I puntatori e l allocazione dinamica di memoria L allocazione delle variabili Allocazione e rilascio espliciti di memoria Le funzioni malloc e free 2 2006 Politecnico di Torino 1 Allocare = collocare in
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
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
Arduino UNO. Single board microcontroller
Arduino UNO Single board microcontroller Che cos è Arduino? Arduino è una piattaforma hardware basata su un microcontrollore, per lo sviluppo di applicazioni che possono interagire con il mondo esterno.
Calcolatori Elettronici
Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
La struttura dati ad albero binario
La struttura dati ad albero binario L albero è una struttura dati nella quale le informazioni sono organizzate in modo gerarchico, dall alto verso il basso. Gli elementi di un albero si chiamano nodi,
Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
Hardware di un Computer
Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,
Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
Strutture. Strutture e Unioni. Definizione di strutture (2) Definizione di strutture (1)
Strutture Strutture e Unioni DD cap.10 pp.379-391, 405-406 KP cap. 9 pp.361-379 Strutture Collezioni di variabili correlate (aggregati) sotto un unico nome Possono contenere variabili con diversi nomi
Calcolatori Elettronici. La memoria gerarchica La memoria virtuale
Calcolatori Elettronici La memoria gerarchica La memoria virtuale Come usare la memoria secondaria oltre che per conservare permanentemente dati e programmi Idea Tenere parte del codice in mem princ e
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
OSCILLOSCOPIO SOFTWARE
OSCILLOSCOPIO SOFTWARE Ghiro Andrea Franchino Gianluca Descrizione generale... 3 Interazioni tra processi e risorse... 4 Funzionalità di processi e risorse... 5 Interfaccia e comandi utente... 6 Funzioni
Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput
Valutazione delle Prestazioni Architetture dei Calcolatori (Lettere A-I) Valutazione delle Prestazioni Prof. Francesco Lo Presti Misura/valutazione di un insieme di parametri quantitativi per caratterizzare
Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi
Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da
Allocazione dinamica della memoria - riepilogo
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della
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
Esempio di moltiplicazione come somma e spostamento
Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35
UNA INTRODUZIONE AL MONDO DEI MICROCONTROLLORI
UNA INTRODUZIONE AL MONDO DEI MICROCONTROLLORI 1 Microcontrollori? Molti prodotti utilizzati quotidianamente contengono più intelligenza di quanto ogni utente possa immaginare. Uno studio indica che ogni
CIRCUITO DI TEST E SOFTWARE UTILIZZATI
CIRCUITO DI TEST E SOFTWARE UTILIZZATI Circuito di Test Nello schema elettrico di figura A è rappresentato un circuito, realizzabile anche senza l ausilio di un circuito stampato, che consente di testare
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
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
Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena
Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena Aldo Romani A.a. 2005-2006 UART UART Universal Asynchronous Receiver/Transmitter Clock implicito e trasmissione
Testi di Esercizi e Quesiti 1
Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica
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.
Lezione 4. Figura 1. Schema di una tastiera a matrice di 4x4 tasti
Lezione 4 Uno degli scogli maggiori per chi inizia a lavorare con i microcontroller, è l'interfacciamento con tastiere a matrice. La cosa potrebbe a prima vista sembrare complessa, ma in realtà è implementabile
Esame di Stato 2015. Materia: SISTEMI AUTOMATICI PRIMA PARTE
Esame di Stato 2015 Materia: SISTEMI AUTOMATICI PRIMA PARTE Il problema proposto riguarda un sistema di acquisizione dati e controllo. I dati acquisiti sono in parte di natura digitale (misura del grado
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
Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):
Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande
Esercizi per il recupero del debito formativo:
ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano
Corso di Sistemi di Elaborazione delle informazioni
Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del
Inizializzazione, Assegnamento e Distruzione di Classi
Inizializzazione, Assegnamento e Distruzione di Classi Lezione 9 Operazioni Automatiche In ogni programma C++ oggetti classe vengono gestiti automaticamente dal compilatore Inizializzati al momento della
Progetto di Microcontrollori. Cronotermostato per Caldaia
Progetto di Microcontrollori Cronotermostato per Caldaia Obiettivo del Progetto Realizzazione di un dispositivo elettronico capace di gestire l accensione di una caldaia mediante il controllo della temperatura
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
Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione
IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza
Università degli Studi di Cassino Corso di Fondamenti di Informatica Puntatori. Anno Accademico 2010/2011 Francesco Tortorella
Corso di Informatica Puntatori Anno Accademico 2010/2011 Francesco Tortorella Variabili, registri ed indirizzi Abbiamo visto che la definizione di una variabile implica l allocazione (da parte del compilatore)
Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari
Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari A.A. 2012 2013 1 Introduzione Questo documento raccoglie i requisiti preliminari per il software di controllo
GESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
