1 / 28

Sistemi Elettronici Programmabili (SELPR)

Prof. Adelio Salsano - Dott. Stefano Bertazzoni – Ing. Salvatore Pontarelli III Ciclo Dal 2 Marzo 2009 al 24 Aprile 2009 Lezioni Lunedì ore 11.30 – 13.15, Aula 3 Nuovi edifici Mercoledì ore 14 – 15.45 Aula 9 NE

theola
Download Presentation

Sistemi Elettronici Programmabili (SELPR)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prof. Adelio Salsano - Dott. Stefano Bertazzoni – Ing. Salvatore Pontarelli • III Ciclo • Dal 2 Marzo 2009 al 24 Aprile 2009 • Lezioni • Lunedì ore 11.30 – 13.15, Aula 3 Nuovi edifici • Mercoledì ore 14 – 15.45 Aula 9 NE • Giovedì ore 11.30 – 13.15, Aula 3 NERicevimento studenti: lunedì e giovedì ore 15-17 • Organizzazione • Quattro settimane per richiami di elettronica digitale, circuiti programmabili, architettura e caratteristiche hardware e software dei sistemi a microprocessore. • Verifica intermedia • Tre settimane di lezioni ed esercitazioni relative a sistemi a microcontrollore, basate su un microcontrollore commerciale. • Verifiche finali • Possibilità di modifica in relazione ai prerequisiti degli studenti Sistemi Elettronici Programmabili (SELPR)

  2. Programma • Introduzione: dal continuo al discreto • Richiami di elettronica digitale: • Sistemi numerici e algoritmi di conversione • Funzioni logiche e aritmetiche • Circuiti combinatori e sequenziali • PLD e FPGA: Architetture; celle elementari e strutture complesse • Microcalcolatori e microprocessori: Architetture • Caratteristiche hardware dei microprocessori: Lunghezza di parola; Velocità; Registri • Memorie permanenti e di lavoro • Sequenza di esecuzione di una istruzione • Caratteristiche software dei microprocessori: Codici operativi; Modi indirizzamento • Progetto di un microprocessore • Sistemi elettronici digitali: definizioni; architetture di interconnessione • Le periferiche • La gestione dello scambio dei dati • La comunicazione tra sistemi digitali: Trasmissione seriale; Trasmissione parallela; Riconoscimento e correzione degli errori • Linguaggi e strumenti di programmazione • Presentazione di un microcontrollore commerciale: • Architettura • Set di istruzione • Tecniche di programmazione • Sviluppo di un progetto • In funzione della disponibilità di posti di lavoro, sono previste esercitazioni pratiche sui sistemi presentati • MATERIALE DIDATTICO • Trasparenze e dispense del corso www.uniroma2.it/didattica (selpr1) e www.elet.uniroma2.it • (approfondimenti) • Carl Hamacher, Z. Vranesic, S. Zaky: “Introduzione all’architettura dei Calcolatori” , MacGraw- Hill • H.A. Farhat: “Digital Design and Computer Organization”, CRC Press Sistemi elettronici programmabili

  3. I fenomeni naturali sono intrinsecamente continui - temperatura, velocità, ecc. La misura di una grandezza è intrinsecamente discreta  numero La precisione può essere spinta quanto si vuole Strumenti analogici e digitali  conversione A/D e D/A Simboli e numeri. Codici binari. Simboli rappresentano oggetti come lettere dell’alfabeto, o qualità e possono – non sempre - essere messi in ordine  funzioni logiche I numeri possono essere ordinati, sommati, moltiplicati, ecc.  concetto indipendente dalla rappresentazione I sistemi numerici: decimale, binario. Valore posizionale Le cifre sono i simboli usati in un sistema in una certa base  0-9 per la base 10, 0-1 per la base 2, 0-7 per la base 8. Dal Continuo al Discreto Sistemi elettronici programmabili

  4. Adder Cin B A SUM Cout 0 0 0 0 0 0 0 1 1 0 Half adder 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 • Equivalente decimale di un numero in base B • D =  Pi Bi • Equivalente binario di un numero decimale Divisioni successive per 2 I resti sono i bit successivi a partire da B0 • Algoritmi simili per numeri frazionari (<1) successive moltiplicazioni per passaggio da decimale a binario • Half adder e full adder di numeri binari Full Adder Sistemi elettronici programmabili

  5. Numeri negativi  Complemento a 2 Serve per fare le sottrazioni sommando il complemento a due del sottraendo Il bit più significativo dà il segno: 1 corrisponde a numero negativoPassaggio da un numero al suo complemento a 2 Complementare tutti i bit e sommare 1 0000  0 0001 1 …..01117 1111-1 1110-2 …..1001-7 1000-8 ESEMPI  4 bit da –8 a +7  Si prendono i quattro bit meno significativi e si trascura il riporto +1 = 0001 -1 = 1111 10000 +5 = 0101 -2 = 1110 10011 Sistemi elettronici programmabili

  6. Codici (1)  Codici  Stabiliscono una corrispondenza biunivoca tra simboli/numeri e rappresentazione in termini di bit.  Lunghezza di un codice Numero di bit usato per rappresentare un simbolo/numero  Con N bit possono essere rappresentati al massimo 2N “oggetti” diversi Codici ridondanti per facilitare il riconoscimento di errori, l’esecuzione di operazioni, ecc.   Codici pesati e non pesati per numeri  binario, BCD a 4 o 5 bit, eccesso 3.   Codice ASCII (American Standard Code for Information Interchange)  7 bit per lettere e numeri i numeri hanno come primi bit 011, seguiti dai 4 bit BCD  tutte le tastiere.  Bar code. Sistemi elettronici programmabili

  7. Codici (2)   Codifica e decodifica: dal simbolo/ numero ai bit e viceversa Funzioni logiche  Display 7 segmenti.  Funzioni logiche relazioni tra variabili che possono essere “vere” o “false” – “1” o “0”  Esempio: lampada accesa (“1”) se l’interruttore è acceso (“1) e c’è la corrente (“1”).  Byte: 8 bit - Digit: 4 bit - Parola o word: numero di bit corrispondente al parallelismo del sistema di elaborazione.  Le funzioni logiche sono espresse ed elaborate con le regole dell’algebra booleana. Sistemi elettronici programmabili

  8. L’algebra booleana si basa su alcune funzioni elementari, OR, o somma logica, AND, o moltiplicazione logica e NOT, o negazione logica. ·        F= A+B  F vero se A o B vero o se sono veri sia A che B ·        F=A.B  F vero solo se sia che B sono veri. ·        F=A/  F vero se A falso, F falso se A vero. ·        “Vero”, “true”, corrisponde a “1” e “falso”, “false”, corrisponde a “0”. OR AND NOT A B F A B F A F 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 Algebra Booleana e Porte Elementari Tabelle della verità Sistemi elettronici programmabili

  9. NOR OR negato NAND AND negato Funzioni più complesse sono rappresentabili con tabelle della verità e con opportune interconnessioni di funzioni elementari CIRCUITI LOGICI Data una espressione booleana, è possibile realizzare un circuito logico corrispondente e viceversa. I circuiti logici lavorano tra due tensioni corrispondenti rispettivamente a “1” e a “0”. Sono in genere la tensione minima e la massima del circuito – terra e alimentazione e si dice che lavora in logica positiva se a “1” corrisponde la tensione più alta e a “0” la tensione più bassa. Per realizzare un circuito logico Funzione logica, p.e. tabella della verità  Semplificazione con leggi algebra Implementazione Altre funzioni elementari sono: Sistemi elettronici programmabili

  10.  Il negato di una somma è uguale al prodotto dei negati  Il negato di un prodotto è uguale alla somma dei negati   Leggi varie per semplificare le espressioni booleane  Possibile utilizzare solo NOR o solo NAND per realizzare la generica funzione booleana SIMBOLI DELLE FUNZIONI ELEMENTARI AND OR INV NAND NOR De Morgan Sistemi elettronici programmabili

  11. Una funzione logica può essere realizzata con un circuito logico – or, and, nor,,,,- o In alternativa, può essere realizzata utilizzando memorie elettroniche (RAM, ROM, EEPROM, FLASH…) partendo direttamente dalla tabella della verità. Una funzione logica ad n variabili fa corrispondere ad ognuna delle 2n combinazioni degli ingressi un valore per l’uscita: può essere implementata con una memoria 2n x1, con gli indirizzi corrispondenti alle combinazioni degli ingressi. Questa soluzione è utilizzata per esempio nei FPGA Tabelle di Look-up (LUT) Sistemi elettronici programmabili

  12. I circuiti logici che considereremo nel corso sono realizzati con transistori MOS che possono essere schematizzati come interruttori aperti o chiusi, con resistenze, effettive o equivalenti, e capacità. I simboli relativi sono i seguenti Componenti Usati nei Circuiti Logici NMOS PMOS R C Sistemi elettronici programmabili

  13. I circuiti logici si basano sulla realizzazione di inverter, o, meglio, di blocchi circuitali che, in funzione degli ingressi, colleghino l’uscita all’alimentazione (pull-up, o PUN, Pull Up Network) o a terra (pull-down, o PDN, Pull Down Network). Possono essere usate diverse tecnologie: la più usata attualmente è la CMOS. L’inverter di base esegue la funzione “negazione”, cioè VDD PUN IN OUT IN OUT PDN GND Circuiti Logici Elementari Sistemi elettronici programmabili

  14. A B VDD B VDD A OUT NAND OUT A NOR B GND GND Altri Circuiti Logici Elementari Sistemi elettronici programmabili

  15. VDD A B C D A C B D GND Funzioni Complesse Funzioni più complesse si realizzano considerando prima il PDN; cioè realizzando la funzione che dà l’uscita bassa: il PUN è quindi realizzato come duale del PDN.ESEMPIO: Da cui Y Sistemi elettronici programmabili

  16. Vout Vc Vin Transmission Gate Coppia NMOS/PMOS che conduce sia il valore alto che il valore basso in modo ottimale FAN IN e FAN OUT: Fan in è il numero di porte di ingresso ammesse per la tecnologia considerata, mentre il fan out è il numero di ingressi che l’uscita di una porta logica può pilotare rispettando i limiti di capacità e di ritardo ammessi Sistemi elettronici programmabili

  17. Informazione memorizzata in capacità Numero MOS metà dei CMOS+2 I due MOS collegati ad un clock per precarica e valutazione L’informazione si perde se la frequenza del clock è troppo bassa VDD   PDN Cl  t CIRCUITI DINAMICI OUT Sistemi elettronici programmabili

  18. I circuiti esaminati finora sono detti “combinatori”: l’uscita dipende solo dagli ingressi attuali I circuiti nei quali l’uscita dipende dagli ingressi attuali e dagli ingressi precedenti sono detti “sequenziali” -esempio tipico è il flip flop RS che memorizza un bit in logica statica R Q RQ S S Circuiti Combinatori e Sequenziali Sistemi elettronici programmabili

  19. Sistemi complessi richiedono un segnale di clock per sincronizzare le operazioni dei diversi componenti e circuiti La memorizzazione avviene in elementi sensibili al livello – latches - o al fronte –flip flop. Flip Flop con funzionalità diverse (RS, D, JK) sincronizzati LATCH RS SENSIBILE AL LIVELLO R RQ S Q S CK CK Il Clock Sistemi elettronici programmabili

  20. Flip-Flop CK S Q R D D Q D Q D Q D Q MS CK CK CK Latch D  DATA FLIP FLOP D Master –Slave  Commuta sul fronte negativo Sistemi elettronici programmabili

  21. Flip-Flop J R Q CK K S D Q MS D Q MS D Q MS D Q MS CK FLIP FLOP JK Registro a scorrimento Sistemi elettronici programmabili

  22. Un sistema di calcolo necessita di memorie per i programmi e per i dati MEMORIA CENTRALE e MEMORIA DI MASSA ·La memoria centrale serve per i dati da elaborare e deve avere velocità elevata  Accesso casuale, cioè il tempo di accesso non dipende dall’indirizzo  Tecnologia microelettronica (RAM e ROM) ·  La memoria di massa serve per i programmi e per dati che normalmente non vengono usati immediatamente nelle elaborazioni  Tempi di accesso elevati (ms) e tecnologia elettromeccanica (hard disk) ·  Memorie RAM R/W: lettura e scrittura con tempi comparabili · Memorie ROM, Read Only Memories FLASH, EEPROM: conservano le informazioni anche senza l’alimentazione  o memorie permanenti scritte una volta per tutte o memorie per le quali la procedura di scrittura richiede tempi molto elevati e ha una complessità maggiore della lettura  lettura in tempi come le RAM Memorie Sistemi elettronici programmabili

  23. Architettura di una Ram Sistemi elettronici programmabili

  24. ·OR di AND ·ROM ·PAL ·PLA Dispositivi Logici Programmabili (PLD) FUSE OUT . . . 0 A2 2 A1 A0 Sistemi elettronici programmabili

  25. AB C C D PAL ·Numero limitato di AND di ingresso con connessioni programmabili. ·        Connessioni fisse verso l’OR di uscita Convenzione: B D C B A Sistemi elettronici programmabili

  26. FPGA  Field Programmable Logic Array Sono i componenti più moderni: consentono fino a 4 livelli di logica combinatoria e inoltre contengono registri  Possibilità di realizzare sistemi anche sequenziali, modificabili via software PLA (Programmable Logic Array ) Si programmano le interconnessioni degli AND e degli OR Sistemi elettronici programmabili

  27. Un microcalcolatore è un sistema elettronico programmabile sincrono basato su circuiti integrati ad elevata integrazione collegati attraverso opportune interfacce ad organi di I/O e normalmente rivolti ad un singolo utilizzatore. Un microprocessore ( o ALU, Arithmetic and Logic Unit) è un circuito integrato ad elevata integrazione in grado di eseguire operazioni logiche, aritmetiche e di controllo su dati generati dal microprocessore stesso o fornito dall’esterno. La struttura di un microcalcolatore è quella classica detta di Von Neumann Microprocessori e Microcalcolatori (1) Sistemi elettronici programmabili

  28. Microcalcolatori e Microprocessori (2) • Il Microprocessore (o CPU, Central Processing Unit) in genere contiene una ALU (Arithmetic and Logic Unit), un’unità di controllo e i circuiti di interfaccia verso le periferiche. • La Memoria può essere esterna al microprocessore. • I microprocessori si distinguono per lunghezza di parola, corrispondente al numero di bit trattati in parallelo, oltre per le altre caratteristiche hardware e software, quali la velocità, le caratteristiche elettriche, l’architettura, il set di istruzioni, ecc. • Lo scambio dei dati tra i diversi circuiti di un microcalcolatore e all’interno del microprocessore va da collegamenti punto-punto ai sistemi a bus. • In genere si individua un dispositivo sorgente e uno o più dispositivi destinatari, con il dispositivo sorgente che generea il dato e un eventuale segnale di controllo e il dispositivo destinatario che riceve il dato e, quando necessario, conferma l’avvenuta ricezione. Sistemi elettronici programmabili

More Related