RIEPILOGO GENERALE - PowerPoint PPT Presentation

1 / 42
About This Presentation
Title:

RIEPILOGO GENERALE

Description:

RIEPILOGO GENERALE Sistemi Elettronici Programmabili RIEPILOGO GENERALE Sistemi Elettronici Programmabili Direct Memory Access (DMA) L accesso diretto alla memoria ... – PowerPoint PPT presentation

Number of Views:102
Avg rating:3.0/5.0
Slides: 43
Provided by: 81705
Category:

less

Transcript and Presenter's Notes

Title: RIEPILOGO GENERALE


1
RIEPILOGO GENERALE
  • Sistemi Elettronici Programmabili

2
Very Large Scale of Integration
(Non Riprogrammabili)
Full Custom Standard Cell Gate Array
3 Input NAND
3
Logic Devices
4
PAL Architettura della GAL16LV8
Output Logic Macro Cell
5
FPGA Architettura
6
FPGA Logic Element (Block)
7
FPGA LUT Look Up Table (2 Ingressi)
8
FPGA Programmazione
9
FPGA Programmazione (2)
10
FPGA Logic Element (Block) - ALTERA
11
ALTERA Stratix Architecture
12
Micro (Processore, Calcolatore, Controllore)
13
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
  • prelevare le istruzioni del programma
  • leggere da memoria i dati da elaborare
  • contenere i dati in elaborazione
  • scrivere in memoria i risultati dei calcoli

14
Processore e Memoria
Collegamenti tra unità funzionalie alcuni
elementi strutturali interni.
15
Registri del Processore
  • Contatore di programma (program counter, PC)
  • punta allistruzione da prelevare ed eseguire
  • Registro di istruzione (instruction register,
    IR)
  • contiene listruzione correntemente in esecuzione
    (listruzione è codificata in forma numerica)
  • Registri di uso generale o banco di registri
    (register file, R0 Rn?1)
  • contengono dati (e indirizzi) correntemente in
    uso
  • Registro di indirizzo di memoria (memory address
    register, MAR) e registro dei dati di memoria
    (memory data register, MDR)
  • servono per leggere e scrivere la memoria

16
Architetture Interne dei Microprocessori
17
Ruolo del Sistema Operativo
  • Normalmente il calcolatore è equipaggiato con un
    sistema operativo (SO).
  • Il SO è un complesso di programmi che danno al
    calcolatore funzionalità minimali
  • caricare e attivare uno o più programmi
  • gestire le unità funzionali di memoria e I/O
  • permettere lesecuzione simultanea di due o più
    programmi (processi) concorrenza
  • permettere la compresenza di più utenti
  • garantire affidabilità e sicurezza del
    calcolatore.

18
CARATTERISTICHE SOFTWARE
  • Set di istruzioni
  • Architettura
  • Gruppi
  • Modi di indirizzamento
  • Inerente
  • Immediato
  • Diretto
  • Indiretto
  • Implicito
  • indicizzato

19
Il microcalcolatore
20
Microprocessore
21
Gruppi di istruzioni
  • Caricamento (MOV, LD, ST)
  • Aritmetiche (ADD, SUB,INC, DEC)
  • Logiche (AND, OR)
  • Salto condizionato o incondizionato (JMP)
  • Controllo (NOP, HALT)
  • Scorrimento (SR, SL, RR, RL)
  • Set e reset di bit

22
Linguaggi descrittivi
Instruction Set Register Transfer
LD x AC? Mx
STO x Mx? AC
ADD x AC?AC Mx
SUB x AC? AC- Mx
AND x AC? AC Mx
OR x AC? AC u Mx
Register Transfer Instructions basate
sullaccumulatore
23
Istruzione Macchina
  • Il linguaggio macchina in forma simbolica è
    chiamato anche linguaggio assemblatore o assembly
    language.
  • Lassemblatore (assembler) è uno strumento SW che
    esamina il programma in linguaggio macchina
    simbolico.
  • Se non ha errori, lo traduce (o assembla)
    generandone la forma numerica corrispondente.
  • Di seguito si danno le caratteristiche
    fondamentali che si trovano nelle istruzioni di
    ogni linguaggio macchina, per un tipo di
    processore classico con registri interni.

24
Modello di Processore
  • La maggior parte dei processori è costituita da
    alcuni registri interni e ununità
    aritmetica-logica
  • banco di registri di uso generale servono per i
    dati
  • registri di uso speciale servono per il
    controllo
  • I registri interni contengono i dati da elaborare
    correntemente e varie informazioni di controllo
    necessarie per eseguire il programma.
  • Molti dei registri interni del processore
    registri sono visibili da parte del programmatore
    in linguaggio macchina, e si possono nominare
    nelle istruzioni macchina stesse.

25
Registri di Uso Speciale
  • Contatore di programma o PC (program counter)
  • contiene lindirizzo dellistruzione macchina da
    prelevare ed eseguire
  • Puntatore alla pila o SP (stack pointer)
  • contiene lindirizzo della cima della pila
    (stack), e si usa per la gestione del
    sottoprogramma (routine)
  • Registro di stato o SR (status register, talvolta
    indicato come PSW, program status word)
  • contiene vari bit che indicano lo stato del
    processore (modo utente-sistema, bit di esito,
    controllo di interruzione, e simili)

26
Forma Simbolica
  • Il programmatore denota listruzione macchina in
    forma simbolica, facilmente leggibile, come per
    esempio NOME arg1, arg2, commento
  • Il nome (o codice mnemonico) indica loperazione
    MOVE (carica, memorizza o copia dato), ADD
    (addiziona dato), SUB (sottrai), ecc
  • Gli elementi arg1, arg2, ecc, sono gli argomenti
    e indicano i dati da elaborare o dove scrivere il
    risultato, o anche, nelle istruzioni di salto,
    dove reperire la prossima istruzione da eseguire.
  • Il commento è solo ad uso del programmatore

27
Istruzione a Due Argomenti
  • Istruzione a due argomenti o binariaNOME arg1,
    arg2
  • EsempioADD R1, R2
  • addiziona i contenuti di R1 e R2 e scrivi la
    somma in R2, sovrascrivendone il contenuto
    precedente
  • R1 è sorgente, R2 è sia sorgente sia destinazione

28
Simbologia di Base
  • Loperatore freccia verso sinistra ? funziona
    in sostanza come operatore di assegnamento dest
    inazione 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.

29
Operatore di Riferimento
  • Lindirizzo è un numero (positivo o al minimo
    nullo) e anche il dato lo è, o lo si può
    facilmente ridurre a numero (carattere codice
    ASCII).
  • Come distinguere tra un numero inteso come dato o
    come riferimento a un contenitore di dato (parola
    di memoria o registro) ? Cioè, come capire se il
    numero è dato o indirizzo ?
  • Per indicare che un numero sia da intendere come
    indirizzo (che si riferisce indirettamente a un
    dato) e non direttamente come dato da elaborare,
    racchiudilo tra parentesi quadre e .

30
Periferiche
31
Gestione delle Periferiche
Le Periferiche sono generalmente dei dispositivi
Slave che dipendono dal Processore che deve
quindi provvedere alla loro gestione. Questa
funzione viene espletata principalmente con due
tecniche gestite dalla CPU 1. Polling in cui la
gestione è demandata al programma 2. Interrupt
attraverso il quale la periferica può richiedere
servizio E una tecnica che esclude la CPU dalla
gestione,il DMA attraverso il quale si stabilisce
un collegamento diretto tra memoria e dispositivo
Interrupt
Polling
Nel controllo da programma, la CPU interroga
periodicamente la porta della periferica di
interesse, in modo da tenere sotto controllo lo
stato della stessa. Quando la periferica è
disponibile a ricevere o trasmettere un dato, la
CPU esegue le istruzioni necessarie. Questo
approccio risulta assai poco efficiente,
comportando un grosso spreco di tempo da parte
della CPU. Ha il vantaggio di non richiedere
hardware dedicato. La gestione delle periferiche
è SINCRONA al programma. Ossia è il programmatore
a decidere quando servire la periferica.
Nella gestione mediante Interrupt è la periferica
stessa a richiedere servizio mediante un apposito
segnale. Il processore non deve interrogare
periodicamente le periferiche. La gestione delle
periferiche è ASINCRONA al programma nel senso
che il programmatore non può prevedere quando ci
sarà una richiesta di servizio.
32
Polling esecuzione
E previsto laccesso alle periferiche in
determinati punti del programma Si controlla se
la periferica 1 ha richiesto il servizio e nel
caso si esegue la routine di pertinenza Si
controlla se la periferica 2 ha richiesto il
servizio e nel caso si esegue la routine di
pertinenza Se le periferiche richiedono
sporadicamente il servizio si ha un uso non
ottimale delle risorse di calcolo
33
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)

34
Direct Memory Access (DMA)
  • Laccesso diretto alla memoria consente (solo) di
    scambiare dati tra una periferica e la RAM senza
    lintervento della CPU (Rigidità)
  • Non viene perso del tempo di CPU nello scambio
    dei dati (la CPU continua ad eseguire il
    programma principale fino al prossimo cache miss)
  • Necessita di hardware (complesso) aggiuntivo

35
Controllore di DMA
  • 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
  • Indirizzo di partenza
  • Lunghezza del blocco
  • Direzione del trasferimento

36
Tipi di Collegamento
37
Bus Asincrono Monodirezionale
Protocollo aperto (Slave sempre pronto)
Protocollo chiuso
38
Bus Asincrono Bidirezionale
39
Bus Asincrono Bidirezionale con Wait
40
Bus Sincrono
41
Tipologie di Memorie allo stato solido
RAM (Random Access Memory)
Volatili
Non Volatili
SRAM (Static RAM)
ROM (Read Only Memory)
Masked ROM
Flip-Flop Statiche Velocissime Cella Grande Costo
per Bit Taglio 100 Kbit
Programmate in fonderia Costo per Bit
OTP (One Time Programmable)
Fuse - Antifuse
EPROM (Electrically Programmable ROM)
DRAM (Dynamic RAM)
MOS Floating Gate Cancellabili mediante UV
Capacità Dinamiche (Refresh) Veloci Cella
piccola Costo per Bit Taglio 100 Mbit
EEPROM (Electrically Erasable Programmable ROM)
MOS Floating Gate E-P Random Access R Lenta, E-P
molto lenti Costo per Bit
Flash
SDRAM (Synchronous DRAM)
MOS Floating Gate P Random Access E a banchi R
Lenta, P molto lenti, E lentissimo Costo per
Bit Taglio 100 Mbit
Capacità Accesso a burst Self Refresh
42
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com