Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

Gestione della memoria centrale
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.
Perché le interruzioni?
Il Sistema Operativo.
Gestione del processore
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.
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.
Criticità sui dati Consideriamo una sequenza di 5 istruzioni
Criticità sui dati (1° esempio)
Criticità sul controllo
Criticità sui dati (esempio da fare on line)
Criticità sul controllo
Criticità sul controllo
Il livello Microarchitetturale
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?
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
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.
Ingresso/Uscita u Materiale in: –Queste trasparenze, non basta il testo! –Tanenbaum 2.4.1, 5.6.4, 5.6.5,
Esercizio 18 – Le eccezioni Creare un trap-handler che gestisca opportunamente le eccezioni 7 (Bus error durante accesso ad area dati/stack ) e 12 (overflow)
Le procedure di gestione input/output Poiché le operazioni di input/output sono più lente rispetto alla velocità del processore, occorrerà sincronizzarle.
Il Modello logico funzionale dell’elaboratore
Gerarchie di memoria Salvatore Orlando.
Architettura degli elaboratori
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
GESTIONE INTERRUPT CPU INTEL 8086
ARCHITETTURA DI UN ELABORATORE
Sistemi di elaborazione e trasmissione delle informazioni
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
Sistemi ad elevate prestazioni Lezione 1
Università degli Studi di Napoli “Federico II” Facoltà di Ingegneria Dipartimento di Informatica e Sistemistica Corso di Sistemi ad elevate prestazioni.
STRUTTURA DI UN COMPUTER
Sistema Operativo (Software di base)
Prima di iniziare… Durata attività: due lezioni frontali + una lezione laboratorio + compiti per casa Prerequisiti: elementi base architettura dei calcolatori.
Gli interrupt Quando una periferica richiede attenzione alla cpu genera un segnale detto di interrupt.
Arch. Elab. - S. Orlando 1 Esercitazione su Instruction Level Parallelism Salvatore Orlando.
Architettura di una CPU
Bus Interface Unit L1 I-CacheL1 D-Cache Fetch/Decode unit Dispatch/Execute unit Retire unit Instruction Pool System Bus L2 Cache 256 KB integrata 4 cicli.
Calcolatori Elettronici Introduzione al Pipelining
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
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Tipo Documento: unità didattica 3 Modulo 7 Compilatore: Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione C.Corpo D.Riepilogo.
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Gestione dei dispositivi di I/O:
Sistemi Elettronici Programmabili
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.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Informatica Generale Marzia Buscemi
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
STRUTTURA DELL’ELABORATORE
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Gli interrupt Richiesta di attenzione alla cpu. Viene generato un segnale detto di interrupt diretto alla cpu.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Transcript della presentazione:

Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando

Arch. Elab. - S. Orlando 2 Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l’esecuzione delle istruzioni, il verificarsi di eventi inattesi, quali interruzioni ed eccezioni Eccezione –evento sincrono, generato all’interno del processore, e provocato da problemi nell’esecuzione di un’istruzione es.: overflow, istruzione non valida Control Datapath Processore Memoria I/O Interruzione evento asincrono, che giunge dall’esterno del processore segnale che giunge da un’unità di I/O, utilizzato per comunicare alla CPU il verificarsi di certi eventi es.: la terminazione di un’operazione di I/O la cui esecuzione era stata richiesta in precedenza dalla CPU

Arch. Elab. - S. Orlando 3 Gestione di eccezioni e interruzioni Il controllo di ogni processore deve essere predisposto per gestire il verificarsi di eventi inattesi Tutti i processori, quando si verifica un evento di eccezione/interruzione, la gestiscono secondo lo schema seguente: –interruzione dell’esecuzione del programma corrente –salvataggio di parte dello stato di esecuzione corrente (almeno PC) –salto ad una routine del codice che costituisce il Sistema Operativo (SO) il SO è stato caricato in memoria al momento del boot del sistema il salvataggio dello stato del programma interrotto serve al SO per poter riprenderne eventualmente l’esecuzione, successivamente e se necessario Nota che le routine del SO possono essere invocate esplicitamente dai programmi (es.: invocazione routine di I/O) –nel MIPS abbiamo l’istruzione syscall –esecuzione della syscall interpretata dal controllo come una particolare eccezione interna

Arch. Elab. - S. Orlando 4 Gestione di eccezioni e interruzioni Problema: l’handler (il gestore) del SO deve essere in grado di capire quale evento si è verificato. Soluzioni alternative: 1il controllo della CPU, prima di saltare all’handler predisposto dal SO (ad un indirizzo fisso), deve salvare in un registro interno un identificatore numerico del tipo di eccezione/interruzione verificatosi. L’handler accederà al registro interno per determinare la causa dell’eccezione/interruzione 2interruzioni vettorizzate: esistono handler diversi per eccezioni/interruzioni differenti. Il controllo della CPU deve scegliere l’handler corretto, saltando all’indirizzo corretto. A questo scopo, viene predisposto un vettore di indirizzi, uno per ogni tipo di eccezioni/interruzioni, da indirizzare tramite il codice numerico dell’eccezione/interruzione Nel MIPS viene adottata la 1 a soluzione, usando un registro, denominato Cause, per memorizzare il motivo dell’eccezione/interruzione Il PC corrente viene invece salvato nel registro EPC (Exception PC)

Arch. Elab. - S. Orlando 5 Gestione eccezioni nel MIPS Il Controllo (ma anche il Datapath corrispondente) deve essere progettato per –individuare l’evento inatteso –interrompere l’istruzione corrente –salvare il PC corrente (nel registro interno EPC = Exception PC) –salvare la causa dell’interruzione nel registro Cause consideriamo solo le eccezioni di overflow e istruzione non valida 0 = istruzione non valida 1=overflow –saltare ad una routine del SO (exception/interrupt handler) ad un indirizzo fisso: 0xC

Arch. Elab. - S. Orlando 6 Gestione eccezioni nel MIPS Il MIPS non salva nessun altro registro oltre PC –è compito dell’handler salvare altre porzioni dello stato corrente del programma (es. tutti i registri generali), se necessario approccio RISC => semplice –esistono CPU dove il “salvataggio esteso” dello stato viene sempre effettuato prima di saltare all’interrupt handler salvataggio garantito dal microcodice => complesso approccio CISC

Arch. Elab. - S. Orlando 7 Rilevamento eccezione Overflow –rilevato sulla base del segnale che arriva al controllo dall’ALU Istruzione non valida –rilevato sulla base del campo op dell’istruzione Dobbiamo aggiungere 2 nuovi stati al nostro automa –a partire dallo stato Instruction Decode, dobbiamo poter transire nel nuovo stato Invalid Instruction solo se giunge un Op non valido –a partire dallo stato R-type Completion, dobbiamo poter anche transire nello stato Overflow solo se giunge un segnale di overflow dal Datapath (ALU) al 3 o ciclo questa transizione di stato si potrebbe anticipare allo stato Execution ? –Problema: next state da calcolare in base ad un segnale calcolato dal Datapath durante lo stesso ciclo di clock => avremmo bisogno di un ciclo di clock più lungo

Arch. Elab. - S. Orlando 8 Rilevamento eccezione I nuovi stati che gestiscono le eccezioni dovranno occuparsi –di salvare in EPC il PC corrente (ovvero PC - 4) –di salvare 0/1 in Cause –di memorizzare 0xC in PC Il prossimo stato sarà il Fetch (lettura della prima istruzione dell’handler)

Arch. Elab. - S. Orlando 9 Architettura degli Elaboratori Nuovo controllo MULTICICLO Invalid Instruction Overflow

Arch. Elab. - S. Orlando 10 Nuovo Datapath MULTICICLO Nuovo ingresso per PC (ind. Interrupt handler): 0xC EPC viene caricato con il risultato dell’ALU, che calcola PC- 4 Cause viene caricato con 0, oppure con 1.

Arch. Elab. - S. Orlando 11 Pipeline: interruzioni/eccezioni Il verificarsi di un’eccezione è legata all’esecuzione di una certa istruzione –le istruzioni precedenti devono essere completate –l’istruzione che ha provocato l’eccezione e quelle successive devono essere eliminate dalla pipeline (trasformate in nop) –deve essere fetched la prima routine dell’exception handler Le interruzioni sono asincrone, ovvero non sono legate ad una particolare istruzione –siamo più liberi nello scegliere quale istruzione interrompere per trattare l’interruzione