• Non ci sono risultati.

Architettura degli elaboratori

N/A
N/A
Protected

Academic year: 2021

Condividi "Architettura degli elaboratori"

Copied!
4
0
0

Testo completo

(1)

Architettura degli elaboratori - Eccezioni (cenni) A.A. 2017/18

Università dell'Insubria - Marco Tarini 1

Università degli Studi dell’Insubria Dipartimento di Scienze Teoriche e Applicate

Architettura degli elaboratori

Gestione delle eccezioni (cenni)

Marco Tarini

Dipartimento di Scienze Teoriche e Applicate [email protected]

Capacità della CPU

Finora abbiamo ragionato sulla CPU in base alle istruzioni da implementare.

In realtà esistono altre responsabilità della CPU oltre all’esecuzione (corretta) delle istruzioni.

La CPU deve essere in grado di gestire eventi esterni e far fronte a casi imprevisti interni

Eventi esterni come:

«l’utente ha premuto un tasto sulla tastiera» o

«è arrivato un pacchetto IP dalla rete»

Casi imprevisti interni come:

«hai diviso per zero» o

«hai acceduto ad un indirizzo di memoria invalido»

Unità di controllo microprogrammata

Architettura degli elaboratori - 2 -

(2)

Architettura degli elaboratori - Eccezioni (cenni) A.A. 2017/18

Università dell'Insubria - Marco Tarini 2

Eccezioni

Eccezione = trasferimento del flusso di esecuzione non programmato Gestito dal sistema

Salva l’indirizzo dell’istruzione che ha causato l’eccezione, insieme al resto dello stato della CPU!

Al return, si restituisce il controllo al programma utente e si riprisitna lo stato

Unità di controllo microprogrammata

Architettura degli elaboratori - 3 -

User program Exception Handler

“return from Exception”

Salto al gestore dell’eccezione

Ritorno al programma utente L’eccezione si

verifica quando la CPU sta eseguendo questa

istruzione

Due tipi di eccezioni

Interrupt

Causa: eventi esterni alla CPU Asincroni rispetto all’esecuzione

Non si può prevedere quando capiteranno

Capitano mentre la CPU sta eseguendo una qualsiasi istruzione Vanno gestiti tra due istruzioni successive:

alla fine di ogni istruzione si guarda se c’è un interrupt pendente da gestire Trap (per MIPS:exception)

Causa: da eventi interni alla CPU

Esempi: overflow, divisioni per zero, errori di parità,

accessi in memoria incorretti (page fault), invocazione di servizi del S.O Sincroni all’esecuzione

Una data istruzione li genera, nel corso del datapath

Vengono detectati dopo la fine di una istruzione (o microistruzione) CPU La condizione eccezionale deve essere risolta nell’istruzione successiva

Eseguend un apposito handler

Come? Per es: ripetendo l’istruzione che ha causato l’evento, o simulandola, o terminando il programma, o Blue Screen of Death, o…

Al termine, si torna al programma utente (oppure no)

Unità di controllo microprogrammata

Architettura degli elaboratori - 4 -

(3)

Architettura degli elaboratori - Eccezioni (cenni) A.A. 2017/18

Università dell'Insubria - Marco Tarini 3

Eccezioni: Unità di controllo

CPU multiciclo

Architettura degli elaboratori - 5 -

Op

next step

WMFC

dalla ALU bit di esito

read / write alla RAM

(via bus)

alla ALU

ALU op

al datapath da IR

int00 pending

S R Q

2

step n.

N

trap 00 trap 01

set int. 00 dalla ALU o datapath

int01 pending

S R Q

set int. 01

Logica di controllo

dai dispositivi (via BUS)

Eccezion in MIPS (esempi)

Evento Origine Tipo

I/O device request Esterna Interrupt

Invoke OS by user program Interna Exception

Arithmetic overflow Interna Exception

Using an undefined instruction Interna Exception

Hardware malfunctions qualsiasi Exception o Interrupt

Unità di controllo microprogrammata

Architettura degli elaboratori - 6 -

(4)

Architettura degli elaboratori - Eccezioni (cenni) A.A. 2017/18

Università dell'Insubria - Marco Tarini 4

Indirizzamento del gestore delle eccezioni

Interrupt Vector Table

PC  MEM[IV_base + cause || 00]

usatissimo in Intel, AMD, … RISC Handler Table

PC  IT_base + cause || 0000 saves state and jumps

MIPS: fixed entry PC  EXC_addr

Unità di controllo microprogrammata

Architettura degli elaboratori - 7 -

IV_base

cause

handler code

IT_base

cause handler entry code

MIPS: supporto alla gestione delle eccezioni

Registri specializzati per la gestione delle eccezioni/SVC

EPC: registro (a 32 bit) che contiene l’indirizzo dell’istruzione coinvolta.

Cause: registro usato per registrare la causa dell’eccezione.

BadVAddr: contiene l’indirizzo di memoria il cui riferimento ha causato l’eccezione.

Status: program status register (PSR o PSW)

Segnali di controllo per i registri EPC, Cause, BadVAddr, e Status Possibilità di caricare PC con l’indirizzo della routine di gestione delle eccezioni

Possibilità di decrementare PC (PC = PC – 4) per compensarne l’incremento (EPC deve indicare l’istruzione “colpevole” non la successiva).

Unità di controllo microprogrammata

Architettura degli elaboratori - 8 -

Riferimenti

Documenti correlati

Le porte di connessione esterne sono collocate nella zona posteriore del telaio e sul fianco sinistro della cornice del display. Nella parte posteriore sono presenti una

Integrazione completa per gestione comunicazione scambi paesi a fiscalità privilegiata Black List, comprensiva della gestione del terzo soggetto atto ad agevolare l’utente

Serve un modo per capire quando calcolare la media; visto che, ad ogni ciclo di clock viene aggiornata la somma, si può sfruttare lo stesso clock, per contare quante somme sono

A differenza dei precedenti computer, utilizzabili per applicazioni specializzate e professionali, i normali computer da casa o da ufficio, detti Personal Computer o semplicemente

Mentre può capitare trovare in un testo un singo- lo trattino che divide la frase in due parti, le parentesi sono SEMPRE due, proprio perché devono delimitare, contenere una parte

Ad ogni consegna, da effettuare con pacco sigillato (ovvero con etichetta sigillo comprovante l’integrità del pacco) contenente tutto il materiale ordinato, dovrà essere allegata

Analizzare un terzo scenario in cui, per bilanciare la produzione, l’azienda richieda che nello stabilimento italiano si assemblino almeno l’80% dei PC prodotti in ciascuno degli

Analizzare un terzo scenario in cui, per bilanciare la produzione, l’azienda richieda che nello stabilimento italiano si assemblino almeno l’80% dei PC prodotti in ciascuno degli