Progetto del processore e supporto del processore al SO (interruzioni eccezioni) Salvatore Orlando

Documenti analoghi
Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Esempio: aggiungere j

Arch. Elab. - S. Orlando 2. unità funzionali possono essere usate più volte per eseguire la stessa

Problemi con progetto a singolo ciclo. Progetto CPU (multiciclo) Esempio di riduzione del ciclo di clock. Datapath multiciclo

Progetto CPU (multiciclo) Salvatore Orlando

Università degli Studi di Cassino

Università degli Studi di Cassino

Modi di esecuzione user / kernel

Progetto CPU (multiciclo)

Università degli Studi di Cassino e del Lazio Meridionale

Esempio: aggiungere j

Instruction Level Parallelism Salvatore Orlando

Instruction Level Parallelism

Arch. Elab. - S. Orlando 2. ma aumentiamo il rate di accesso alla memoria (per leggere istruzioni e. leggere/scrivere dati) von Neumann bottleneck

LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 19

Interrupt. LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 19. Prof. Rosario Cerbone

CALCOLATORI ELETTRONICI 14 giugno 2010

IL SISTEMA DELLE INTERRUZIONI

Le Interruzioni. Ciclo del processore

memoria virtuale protezione

Il problema dello I/O e gli Interrupt. Appunti di Sistemi per la cl. 4 sez. D A cura del prof. Ing. Mario Catalano

Gerarchie di memoria Salvatore Orlando

A c r h c i h te t t e t t u t r u a r d g e li el e abo b ra r t a o t ri Interruzioni

Instruction Level Parallelism Andrea Gasparetto

Università degli Studi di Cassino

Gestione delle eccezioni (CPU multiciclo) La CPU pipeline

CPU multiciclo eccezioni CPU pipeline

CALCOLATORI ELETTRONICI 30 agosto 2010

Interruzioni parte prima. Inquadramento del problema

Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini

Esercitazione su Instruction Level Parallelism Salvatore Orlando

Il ciclo del processore semplificato BOOTSTRAP FETCH EXECUTE

Progetto CPU (ciclo singolo)

Progetto CPU (ciclo singolo) Salvatore Orlando

Architettura degli Elaboratori

7 May INTERRUPT ED ECCEZIONI I. Frosio

Evoluzione delle architetture Evoluzione strutturale

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)

CALCOLATORI ELETTRONICI 9 settembre 2011

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto

CALCOLATORI ELETTRONICI 29 giugno 2015

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici A a.a. 2008/2009

15 April INTERRUPT ED ECCEZIONI I. Frosio

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Sistemi operativi. Lez. 18 Interrupt ed Eccezioni in IA-32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011

Sistemi Operativi. Lezione 3 Processi e Thread

Architettura degli Elaboratori Gestione dei control-hazard nella pipeline. Prof. Andrea Sterbini

Università degli studi di Bologna Anno Accademico 2000/2001 Corso di Architettura degli elaboratori

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Architetture dei sistemi elettronici 14. Il microcontrollore

Informatica Generale 07 - Sistemi Operativi:Gestione dei processi

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite

Problemi del ciclo singolo

Esercitazione su Instruction Level Parallelism

Architettura degli Elaboratori B. Introduzione al corso. Componenti di un calcolatore convenzionale. (ciclo singolo) Progetto CPU. Contenuti del corso

CALCOLATORI ELETTRONICI 27 giugno 2017

Corso di Laurea in Informatica

Architettura degli Elaboratori B Introduzione al corso

La pipeline. Sommario

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

Architettura dei sistemi di elaborazione (Input/Output parte 2)

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

Il processore Pentium

Esercitazione 6 Datapath multiciclo Eccezioni in PCSPIM

Ciclo del Processore. Memoria

CALCOLATORI ELETTRONICI 20 gennaio 2012

Corso di Laurea in Informatica

CALCOLATORI ELETTRONICI A 25 gennaio 2011

La pipeline. Sommario

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo

Prestazioni delle cache

INGEGNERIA E TECNOLOGIE DEI SISTEMI DI CONTROLLO Processori per sistemi di controllo. Classificazione. I microcontrollori

il Nucleo e la gestione dei processi

Interrupt ed Eccezioni

CALCOLATORI ELETTRONICI 9 gennaio 2013

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

Corso di Laurea in Informatica Architetture degli Elaboratori

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Cicli di clock e istruzioni

CALCOLATORI ELETTRONICI 27 marzo 2018

Lezione XII: La gestione delle eccezioni in MINIX

Architettura dell elaboratore

Architettura dell elaboratore

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Esercizi vari Salvatore Orlando

ARCHITETTURA DEL CALCOLATORE

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

ARCHITETTURA DI UN ELABORATORE

Architettura degli elaboratori - CPU multiciclo A.A. 2016/17. Architettura degli elaboratori

Calcolatori Elettronici

Architettura degli Elaboratori

Il sistema delle interruzioni nel processore MC68000 (cenni)

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

Transcript:

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

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 Processore 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 Control Datapath Interruzione I/O Memoria Arch. Elab. - S. Orlando 2

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 Arch. Elab. - S. Orlando 3

Gestione di eccezioni e interruzioni Problema: l handler (il gestore) del SO deve essere in grado di capire quale evento si è verificato. Soluzione 1: interruzioni 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 Arch. Elab. - S. Orlando 4

Gestione di eccezioni e interruzioni Soluzione 2: il 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 Nel MIPS viene questa 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: 0xC0000000 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 e minimale 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 Arch. Elab. - S. Orlando 8

Rilevamento eccezione Dobbiamo aggiungere 2 nuovi stati al nostro automa a partire dallo stato Instruction Decode, dobbiamo poter transire nel nuovo stato Invalid Instruction ma solo viene identificato un Op-code 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 9

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 0xC0000000 in PC Il prossimo stato sarà il Fetch (lettura della prima istruzione dell handler) Arch. Elab. - S. Orlando 10

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

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

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 Arch. Elab. - S. Orlando 13