Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Corso di Informatica Applicata Introduzione Università degli studi di Cassino Corso.

Slides:



Advertisements
Presentazioni simili
Traduzione ed Interpretazione
Advertisements

Software di base: Linguaggi di Programmazione
La struttura fisica e logica di un elaboratore
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Definizione e tipi di implementazione
IL MICROCONTROLLORE ST6
Elaboratore e Sistemi Operativo
Architettura di un sistema informatico Hardware
IL MICROCONTROLLORE PIC16F84A
DAL MICROPROCESSORE AI SISTEMI EMBEDDED Informatica per lAutomazione II (Informatica B o II) Anno accademico 2008/2009 Prof. Giuseppe Mastronardi Ing.
MICROCONTROLLORI Di Tiziano Ragazzi.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Corso di Informatica Applicata - © 2005 Saverio De Vito Corso di Informatica Applicata Esercitazione Università degli studi di Cassino Corso di Laurea.
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Struttura dei sistemi operativi (panoramica)
Il Linguaggio Macchina
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
La macchina di von Neumann
La macchina di von Neumann
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
Introduzione al linguaggio assemby del microprocessore a parte
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Introduzione al linguaggio assembly del microprocessore a parte
Unità centrale di processo

Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Assembly per pic 16fxx Generalità.
Progettato e realizzato Da Daniele Scaringi 5AET
WATCHDOG TIMER E’ un oscillatore interno al  C, ma indipendente dal resto dei circuiti, il cui scopo è quello di rilevare eventuali blocchi della CPU.
Calcolatori Elettronici Il Processore
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corsi di Laurea in Biotecnologie
Programmazione Assembly
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
OSCILLATORE E’ un circuito elettronico che genera forme d'onda senza avere un segnale di ingresso. Nel Microcontrollore gli impulsi generati dall'oscillatore.
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
1 1. Introduzione alla gestione della memoria 2. Swapping 3. Memoria virtuale 4. Implementazione 5. Algoritmi di sostituzione Gestione della Memoria.
Informatica e Informatica di Base
Corso di Informatica Applicata - Lezione I - © Saverio De Vito Corso di Informatica Applicata Introduzione Università degli studi di Cassino Corso.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata (3) Istruzioni J-type Istruzioni di salto Istruzioni.
Corso di Informatica Applicata Lezione 7 Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Ing. Saverio De Vito.
Corso di Informatica Applicata Introduzione Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Ing. Saverio De.
Introduzione ai Microcontrollori Una prima definizione I microcontrollori sono utilizzati per gestire segnali in ingresso (input utente o da sensori),
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Pic16f84 Assembly I/O.
Transcript della presentazione:

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Corso di Informatica Applicata Introduzione Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Ing. Saverio De Vito Tel.:

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Compilatori, Assemblatori,Interpreti Il processo di compilazione risolve il gap tra linguaggi “vicini” al linguaggio naturale e linguaggi vicini al livello della macchina standard (+ S. O.) attraverso un processo di traduzione dell’ intero codice sorgente. Il processo è più o meno complesso in dipendenza della differenza di complessità tra i linguaggi, e della complessità architetturale. Un Assemblatore è essenzialmente un compilatore per linguaggio Assembly. Poiché, di fatto, il linguaggio assembly è una rappresentazione simbolica del linguaggio numerico della macchina (corrispondenza 1-1), il compito di traduzione è molto più leggero di quello di un compilatore per linguaggi ad alto livello (C++, C, Pascal, Fortran, etc.) Il processo di interpretazione vince il gap traducendo le singole istruzioni in sequenze di istruzioni eseguibili da una macchina virtuale sottostante. Un interprete esegue il lavoro di una macchina virtuale (es.: Interprete Matlab) Compilatore(Linker)Esecutore Source Code

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Compilazione vs. Interpretazione Vantaggi Esecuzione + Veloce Ottimizzazione (Efficienza) cross- instructionSvantaggi Staticità Vantaggi Portabilità (?) Ottimizzazione cross- instructionSvantaggi Esecuzione + lenta Codice poco efficiente

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Il processo di Assemblaggio A prima vista sembrerebbe che l’ assemblatore non debba far altro che tradurre un istruzione assembly in una a livello macchina e ricominciare il processo con la prossima istruzione fino alla fine del codice sorgente… ed in un certo senso ciò è vero. In realtà la problematica è leggeremente + complessa (es.: riferimento anticipato – uso di un etichetta prima della definizione in un salto) Soluzioni per il riferimento anticipato: –Traduzione in due passi (sol. Vincente) –Traduzione a singolo passo con tabella dei non-risolti

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Architetture PIC (PICmicro): Le architetture PIC sono implementate su singolo chip con funzioni di microcontrollo, utilizzate in applicazioni embedded. A differenza di realizzazioni di architetture microprocessore tradizionali, i PIC sono orientati ad applicazioni: Single TaskSingle Task I PIC sono Monoprogramma. Immagazzinato in memoria da dispositivi esterni.Monoprogramma. Immagazzinato in memoria da dispositivi esterni. L’ organizzazione architetturale prevede: Memoria e drivers di periferiche (I/O) interni Memoria e drivers di periferiche (I/O) interni Microarchitettura RISC Microarchitettura RISC Harvard Model (dual bus, differisce dalla von neumann per avere bus differenti per codice e dati)

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Il successo delle architetture PIC è dovuto sostanzialmente alla: Semplicità di programmazione (ISA ridotto)Semplicità di programmazione (ISA ridotto) Facile integrabilitàFacile integrabilità Flessibilita -> FamiglieFlessibilita -> Famiglie Ricerca della massima efficienza a costo contenutoRicerca della massima efficienza a costo contenuto Al momento, queste architetture sperimentano una grande diffusione nella domotica ed in generale nel controllo digitale per applicazioni low-costAl momento, queste architetture sperimentano una grande diffusione nella domotica ed in generale nel controllo digitale per applicazioni low-cost Architetture PIC (PICmicro):

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Programming Cycle

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito L’ ambiente Target PIC16F84 [18 pin] E’ definibile come macchina RISC (35 istruzioni). 2-stage pipeline [Fetch/Decodifica e Esecuzione] – Tempo di esecuzione di una generica istruzione = 1 ciclo macchina (eccetto le istruzioni di salto, che ne richiedono due) –1 ciclo macchina corrisponde a quattro cicli di clock. Architettura Harvard. Frequenza di clock pari a 10MHz Parola codice a 14 bit Memoria Interna separata per Codice (1k*14bit ->1024 istruzioni) e Dati (68 Byte SRAM) + (EEPROMs 64 bytes) –Deperibilità delle EEPROMs

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Architettura ad accumulatore Stack separato a 8 livelli I/O TTL compatibile Power on Reset Sleep mode Cifratura dati Costo … pochi euro (<5) L’ ambiente Target (2)

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito PIC16F84 [18 pin]

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito PIC 16F84 : Piedinatura RA0 To RA4 : RA è una porta bidirezionale (I/O). RB0 To RB7 :RB è una seconda porta bidirezionale. Si comporta esattamente come la RA, però ci sono 8 bit. VSS And VDD: Alimentazione del microcontrollore. VDD è il positivo, and VSS è il negativo, o 0V. La massima tensione applicabile è di 6V, e il minimo è 2V OSC1/CLK IN And OSC2/CLKOUT: Pin a cui si collega l’oscillatore esterno (external clock), in modo tale che il microcontrollore possa essere in grado di gestire il CLK. MCLR Pin utilizzato per cancellare la memoria del PIC (i.e. quando vogliamo riprogrammarlo). INT ingrasso INT. T0CK1 è un altro ingresso di clock, su questo opera un timer interno. È totalmente indipendente rispetto al clock principale.

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito PIC 16F84 Data Path

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Alziamo il coperchio ……

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Organizzazione della Memoria

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Architettura Register File Il Register file è costituito da 48 locazioni (byte) di memoria RAM volatile veloce indirizzabili da 0x00 a 0x2F (pagina 0)48 locazioni (byte) di memoria RAM volatile veloce indirizzabili da 0x00 a 0x2F (pagina 0) 48 locazioni locazioni (byte) di memoria RAM volatile veloce indirizzabili da 0x80 a 0xAF (pagina 1).48 locazioni locazioni (byte) di memoria RAM volatile veloce indirizzabili da 0x80 a 0xAF (pagina 1). Le prime 12 locazioni delle due pagine sono utilizzate in modo speciale per specificare le modalità di operazione del PIC (ad esempio configurare le porte di I/O) Per la natura delle applicazione dei PIC, i registri speciali vengono utilizzati di frequente Le altre locazioni possono essere utilizzate liberamente dal programmatore. Architettura ad Accumulatore : Registro W (Working Memory) -> (Ops A-L, Ops MD)

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Program Memory Caratteristiche 1024 locazioni ognuna in grado di contenere un’ istruzione da 14 bit Indirizzi da 0x000 a 0x3FF Il PC è inizialmente posto a 0x000, per cui ad ogni reset il PIC inizierà ad eseguire le istruzioni a partire dalla locazione 0x000. Il PIC target non è in grado di modificare a run time il contenuto della memoria di programma, anyway esistono versioni (F87) in grado di fare ciò.

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Porte di I/O Il PIC 16F84 è dotato di porte di input output (A e B) Porta A: 4 bits ; Porta B: 8 bits I singoli PIN delle porte possono essere configurati come Input o Output digitale mediante l’ utilizzo di opportune istruzioni operanti su registri speciali

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Istruzioni di movimentazione dati Le istruzioni di movimentazione dati nel PIC target possono : Spostare dati dalla memoria dati al registro accumulatore –MOVLW (Move literal to W) : MOVLW K Spostare dati da locazioni della memoria a W/F (Diadica) –MOVF (Move File A to B) : MOVF A,B B = W o F (test) Spostare dati dall’ accumulatore ad una locazione di memoria –MOVWF (Move W to F) : MOVWF K

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Operazioni Aritmetiche Principali Addizionare –ADDLW (Add Literal to W) : ADDLW K –ADDWF (Add W to F) : ADDWF F,D Sottrarre –SUBLW (Subtract W from L) : SUBLW K –SUBWF (Subtract W form F : SUBWF F,D Incrementare –INCF (Increment F) : INCF F,D Decrementare –DECF (Decrement F) : DECF F,D

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Operazioni Logiche Principali Il PIC Target è dotato di aritmetica intera ad 8 bit AND –ANDLW (AND Literal and W): ANDLW K –ANDWF (AND W with F) ANDWF F,D OR –IORLW (Inclusive OR Literal with W) IORLW K –IORWF (Inclusive OR W with F) IORWF F,D XOR –XORLW (Exclusive OR Literal with W) XORLW K –XORWF (Exclusive OR W with F) XORWF F,D Shift –RLF (Rotate Left through Carry) RLF F,D –RRF (Rotate Right through Carry) RRF F,D Le operazioni aritmetico logiche hanno effetti su alcuni bit del registro di Flag (STATUS)

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Setting delle Porte L’ ISA del PIC 16F84 mette a disposizione operazioni per il set di singoli bit che possono essere utilizzati per settare i valori in uscita BSF Bit Set File : BSF F,B BCF Bit Clear File : BCF F,B Set e Clear vanno intesi nella logica positiva (Set=porre ad 1; Clear=porre a 0)

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito DataSheet ………………… Continua sul Data Sheet ……………………

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Riferimenti utili: MicroChip: DataSheet PIC16F84 C.pdf Breve introduzione a MPLAB: Tutorial su PIC16F84

Corso di Informatica Applicata - Lezione 4 - © 2005 Saverio De Vito Riepilogo et al.: –Compilatori, Assemblatori, Interpreti. –Architetture PIC –Il PIC 16F84(A) –ISA e DataSheet del PIC 16F84(A)