of 24/24
Sistemi Elettronici Progr ammabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili

Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili

  • View
    252

  • Download
    3

Embed Size (px)

Text of Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici...

  • Slide 1
  • Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili
  • Slide 2
  • Sistemi Elettronici Programmabili: Riepilogo 2 Logic Devices ASIC (Application Specific Integrated Circuit) Standard Cell Gate Array PLD (Programmable Logic Devices) SPLD (Simple PLD) PLA (Programmable Logic Array) PAL (Programmable Array Logic) GAL (Generic Array Logic) CPLD (Complex PLD) FPGA
  • Slide 3
  • Sistemi Elettronici Programmabili: Riepilogo 3 FPGA: Architettura
  • Slide 4
  • Sistemi Elettronici Programmabili: Riepilogo 4 FPGA: Logic Element (Block)
  • Slide 5
  • Sistemi Elettronici Programmabili: Riepilogo 5 FPGA: LUT Look Up Table (2 Ingressi)
  • Slide 6
  • Sistemi Elettronici Programmabili: Riepilogo 6 Unit (Sottosistemi) del Calcolatore Processore, per eseguire il programma Unit di ingresso-uscita (o di input-output, I/O), per introdurre dati ed emettere risultati Unit di memoria, per contenere e conservare informazioni (dati e programmi Sistema di collegamento: bus
  • Slide 7
  • Sistemi Elettronici Programmabili: Riepilogo 7 Istruzione e Dato Lelemento di informazione minimo trattato dal calcolatore la parola: parola: sequenza di bit 0 o 1 (p. es. 8, 16, 32 o 64 bit) Sia il dato (intero, carattere, ecc) sia listruzione macchina sono codificati in parole, secondo varie rappresentazioni. Dati e istruzioni complessi sono codificati mediante sequenze di pi parole. Il processore elabora parole e la memoria contiene parole (e anche il sistema di I/O scambia parole).
  • Slide 8
  • Sistemi Elettronici Programmabili: Riepilogo 8 Processore e Memoria Processore e memoria sono i due sistemi fondamentali del calcolatore (e sempre necessariamente presenti). Il processore contiene svariati registri interni, per comunicare con la memoria: Contatore di programma (program counter, PC) Registro di istruzione (instruction register, IR) Registri di uso generale o banco di registri (register file, R0 Rn 1) Registro di indirizzo di memoria (memory address register, MAR) e registro dei dati di memoria (memory data register, MDR)
  • Slide 9
  • Sistemi Elettronici Programmabili: Riepilogo 9 Architetture Interne dei Microprocessori
  • Slide 10
  • Sistemi Elettronici Programmabili: Riepilogo 10 Il microcalcolatore CPU Decoder Flash RAM ADD (n) ADD (n-1) nCS0 nCS1 nOE nWE Data nOE nWE nOE nWE
  • Slide 11
  • Sistemi Elettronici Programmabili: Riepilogo 11 Microprocessore
  • Slide 12
  • Sistemi Elettronici Programmabili: Riepilogo 12 Linguaggio macchina Il linguaggio macchina in forma simbolica chiamato anche linguaggio assemblatore o assembly language. Listruzione macchina il compito elementare eseguibile da parte del processore. Il processore preleva (fetch) da memoria centrale listruzione macchina da eseguire correntemente. Il processore decodifica (decode) listruzione, cio la analizza e ne determina il significato. Il processore esegue (execute) listruzione, elaborando i dati opportuni e producendo il risultato.
  • Slide 13
  • Sistemi Elettronici Programmabili: Riepilogo 13 Dati e istruzioni in memoria La memoria contiene istruzioni macchina (programma) e dati (da elaborare). Listruzione macchina, in forma numerica cio eseguibile da parte del processore, contenuta in una o pi parole di memoria consecutive, come il dato. Listruzione macchina in forma simbolica, facilmente leggibile, come per esempio NOMEarg1, arg2, commento indica con NOME (o codice mnemonico) loperazione: MOVE (carica, memorizza o copia dato), ADD (addiziona dato), SUB (sottrai), ecc. e con arg1, arg2, ecc. i dati su cui listruzione deve operare (sorgente) o dove scrivere il risultato (destinazione), o anche, nelle istruzioni di salto, dove reperire la prossima istruzione da eseguire (salto). Istruzioni a due, tre o un argomento. Normalmente gli argomenti sorgente precedono quelli destinazione..
  • Slide 14
  • Sistemi Elettronici Programmabili: Riepilogo 14 Formalismo RTL Loperatore freccia verso sinistra funziona in sostanza come operatore di assegnamento: destinazione valore origine valore Tipicamente lorigine del valore una costante, un numero contenuto in un registro, una parola di memoria o unespressione aritmetica tra oggetti di tale genere. Lindirizzo un numero (positivo o al minimo nullo) e anche il dato lo , o lo si pu facilmente ridurre a numero (carattere codice ASCII). Indirizzo in parentesi quadra
  • Slide 15
  • Sistemi Elettronici Programmabili: Riepilogo 15 Classi di Istruzione Istruzioni di trasferimento (caricamento, memorizzazione e copia) Istruzioni aritmetiche e logiche Istruzioni di ingresso e uscita (lettura o scrittura di dato da o su periferica) Istruzioni di confronto (confronto tra due dati (uguale, diverso, minore, maggiore, minore o uguale, maggiore o uguale) o di un dato con zero, esame di bit o di gruppo di bit Istruzioni di manipolazione dati complessi (gestione della pila) Istruzioni di controllo del flusso di esecuzione del programma (salto condizionato e incondizionato, salto a conteggio (per ciclo) salto a sottoprogramma (routine)) Istruzioni di controllo del processore (p. e. gestione del meccanismo di interruzione)
  • Slide 16
  • Sistemi Elettronici Programmabili: Riepilogo 16 Modi di indirizzamento Il modo di indirizzamento un insieme di regole secondo cui denotare nellistruzione macchina come: reperire il dato da elaborare o la posizione dove andare a scrivere il risultato dellelaborazione modo di dato individuare la prossima istruzione da eseguire, quando non si deve andare di seguito (caso dellistruzione di salto) modo di istruzione
  • Slide 17
  • Sistemi Elettronici Programmabili: Riepilogo 17 Elenco dei Modi
  • Slide 18
  • Sistemi Elettronici Programmabili: Riepilogo 18 Polling Collegamento delle periferiche con Polling No Hardware aggiuntivo No controllo aggiuntivo Controllo I/O sincrono con programma Ottimizzazione del codice Grande flessibilit Spreco di tempo di CPU per interrogazione periferiche
  • Slide 19
  • Sistemi Elettronici Programmabili: Riepilogo 19 Collegamento con Interrupt La CPU controlla lo stato di IINTR Il registro IE abilita gli Interrupt (pu essere controllato via software) Tutti gli interrupt possono essere mascherati tramite il registro IE (interrupt enable) tranne i NMI (interrupt non mascherabili)
  • Slide 20
  • Sistemi Elettronici Programmabili: Riepilogo 20 Controllore di DMA Laccesso diretto alla memoria consente (solo) di scambiare dati tra una periferica e la RAM senza lintervento della CPU Quando c una richiesta di DMA il controllore genera una richiesta alla CPU (DMAREQ) La CPU risponde con DMAACK e lascia il controllo del BUS al controllore di DMA (address BUS e data BUS = Z) Il controllore genera gli indirizzi per la memoria La CPU continua lesecuzione del programma principale Occorre fornire: 1.Indirizzo di partenza 2.Lunghezza del blocco 3.Direzione del trasferimento
  • Slide 21
  • Sistemi Elettronici Programmabili: Riepilogo 21 Tipologie di Memorie allo stato solido Volatili Non Volatili RAM (Random Access Memory) SRAM (Static RAM) Flip-Flop Statiche Velocissime Cella Grande Costo per Bit Taglio ~ 100 Kbit DRAM (Dynamic RAM) Capacit Dinamiche (Refresh) Veloci Cella piccola Costo per Bit Taglio ~ 100 Mbit ROM (Read Only Memory) Programmate in fonderia Costo per Bit EEPROM (Electrically Erasable Programmable ROM) MOS Floating Gate E-P Random Access R Lenta, E-P molto lenti Costo per Bit Masked ROM MOS Floating Gate Cancellabili mediante UV Fuse - Antifuse OTP (One Time Programmable) EPROM (Electrically Programmable ROM) Flash MOS Floating Gate P Random Access E a banchi R Lenta, P molto lenti, E lentissimo Costo per Bit Taglio ~ 100 Mbit SDRAM (Synchronous DRAM) Capacit Accesso a burst Self Refresh
  • Slide 22
  • Sistemi Elettronici Programmabili: Riepilogo 22 RX Gen clock Rx Gen clock data clk Comunicazione seriale TX data Modalit Asincrona TX RX Modalit Sincrona Gen clock Tx I bit vengono inviati singolarmente (serialmente, uno dopo laltro) ma fanno parte di una unit informativa pi grande: la WORD
  • Slide 23
  • Sistemi Elettronici Programmabili: Riepilogo 23 Comunicazione Seriale: Tx Tx 11010011 CLK Tx CLK Rx DataInDataOut Tx serializza la WORD inviando i bits che la compongono uno alla volta
  • Slide 24
  • Sistemi Elettronici Programmabili: Riepilogo 24 Comunicazione Seriale: Rx 11010011 CLK Tx CLK Rx DataInDataOut Rx 123 n - 1n -12 CLK Rx ricostruisce la WORD andando a valutare il suo significato solo quando sono stati ricevuti tutti i bits di cui composta