1 RIEPILOGO GENERALE Sistemi Elettronici Programmabili.

Slides:



Advertisements
Presentazioni simili
La struttura fisica e logica di un elaboratore
Advertisements

Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Gestione Input Output A. Ferrari.
Perché le interruzioni?
IL MICROCONTROLLORE ST6
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Elaboratore e Sistemi Operativo
Architettura di un sistema informatico Hardware
CdL Ingegneria Informatica n.o. Anno Accademico 2007/08 Fondamenti di Informatica I – corso A Giacomo Piscitellipag. 1/30 Architettura dei calcolatori.
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
Memorie.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Il Linguaggio Macchina
Com’è fatto un elaboratore?
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
La macchina di von Neumann
L’Architettura del Sistema di Elaborazione
Architettura dell’elaboratore
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
ELETTRONICA DIGITALE (II Parte)
L' ARCHITETTURA DI VON NEUMANN
Architettura degli elaboratori
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
ELETTRONICA DIGITALE (2^ Parte) (8)
ARCHITETTURA DI UN ELABORATORE
La RAM, la ROM e la CPU di Beatrice Cecchini e Margherita Pelagagge
Unità centrale di processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
ELETTRONICA DIGITALE (II PARTE) (1)
Sistemi Elettronici Programmabili: La Memoria Principale 6-1 Sistemi Elettronici Programmabili La memoria principale.
Architettura di una CPU
Architettura del calcolatore
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Calcolatori Elettronici Il Processore
Luglio 2004Generalità Hardware1 Luglio Generalità Hardware2 MACCHINA DI VON NEUMAN (1947) BUS Processore Elaborazione Controllo Memoria Ingresso.
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:
Calcolatori Elettronici Il Processore (2)
Corsi di Laurea in Biotecnologie
CALCOLATORI ELETTRONICI
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
ELETTRONICA DIGITALE (II Parte) (6-7) 13.12;15.12
Gestione dei dispositivi di I/O:
Tecnologie Implementative
Sistemi Elettronici Programmabili
MICROPROCESSORI Un processore è un circuito integrato in grado di effettuare operazioni di calcolo o di elaborazione dell'informazione Il circuito contiene.
Tecniche Automatiche di Acquisizione Dati
Dispositivi e sistemi logici
Fabio Garufi - TAADF Tecniche Automatiche di Acquisizione Dati Richiami di Architettura degli elaboratori.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
Architettura di un calcolatore e linguaggio macchina.
1 Input/Output. 2 Livelli del sottosistema di I/O Hardware Gestori delle interruzioni Driver dei dispositivi Software di sistema indipendente dal dispositivo.
L’esecuzione dei programmi
I MICROPROCESSORI.
Sistemi Elettronici Programmabili1 Istruzioni macchina Sistemi Elettronici Programmabili.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Elettronica Digitale (II Parte) 10-11_10 1 ELETTRONICA DIGITALE (II Parte) (10) 24/01/11 RIEPILOGO 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.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Tipi di Computer MainframeSupercomputerMinicomputerMicrocomputerHome Computer Personal Computer WorkstationMicrocontrollori Sistemi Barebone.
Il modello di Von Neumann
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Transcript della presentazione:

1 RIEPILOGO GENERALE Sistemi Elettronici Programmabili

2 Very Large Scale of Integration 3 – Input NAND Full Custom Standard Cell Gate Array Vengono disegnate tutte le maschere Costi di progetto elevatissimi Costi di realizzazione elevatissimi Basata su celle predisegnate Costi di progetto Elevati Costi di realizzazione elevati Vengono Disegnate le sole interconnessioni Costi di progetto Elevati Costi di realizzazione meno bassi (Non Riprogrammabili) (Non Riprogrammabili)

3 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 Programmate durante la produzione nella Fab Programmabili sul campo Re/Programmabili nel circuito

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à funzionali e alcuni elementi strutturali interni.

15 Registri del Processore Contatore di programma (program counter, PC): –punta all’istruzione da prelevare ed eseguire Registro di istruzione (instruction register, IR): –contiene l’istruzione correntemente in esecuzione (l’istruzione è codificata in forma numerica) Registri di uso generale o banco di registri (register file, R 0 – R n  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 l’esecuzione 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 CPU Decoder Flash RAM ADD (n) ADD (n-1) nCS0 nCS1 nOE nWE Data nOE nWE nOE nWE

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 Register Transfer Instructions basate sull’accumulatore Instruction Set Register Transfer LD xAC  M[x] STO xM[x]  AC ADD xAC  AC+ M[x] SUB xAC  AC- M[x] AND xAC  AC ^ M[x] OR xAC  AC u M[x]

23 Istruzione Macchina Il linguaggio macchina in forma simbolica è chiamato anche linguaggio assemblatore o assembly language. L’assemblatore (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 un’unità 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 l’indirizzo dell’istruzione macchina da prelevare ed eseguire Puntatore alla pila o SP (stack pointer): –contiene l’indirizzo 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 l’istruzione macchina in forma simbolica, facilmente leggibile, come per esempio: NOMEarg1, arg2, …commento Il nome (o codice mnemonico) indica l’operazione: 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 binaria: NOMEarg1, arg2 Esempio: ADD 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 L’operatore freccia verso sinistra “  ” funziona in sostanza come operatore di assegnamento: destinazione valore  origine valore Tipicamente l’origine del valore è una costante, un numero contenuto in un registro, una parola di memoria o un’espressione aritmetica tra oggetti di tale genere.

29 Operatore di Riferimento L’indirizzo è 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 Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data REGister; Questi registri sono generalmente “MAPPATI IN MEMORIA” ossia sono visti come locazioni di memoria nello spazio di indirizzamento

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 Polling Interrupt 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 l’accesso 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) L’accesso diretto alla memoria consente (solo) di scambiare dati tra una periferica e la RAM senza l’intervento 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 l’esecuzione del programma principale Occorre fornire: 1.Indirizzo di partenza 2.Lunghezza del blocco 3.Direzione del trasferimento

36 Tipi di Collegamento

37 Bus: Asincrono Monodirezionale Protocollo chiuso Protocollo aperto (Slave sempre pronto)

38 Bus: Asincrono Bidirezionale

39 Bus: Asincrono Bidirezionale con Wait

40 Bus: Sincrono

41 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

42