Architettura degli elaboratori

Slides:



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

1 Introduzione ai calcolatori Parte II Software di base.
La struttura fisica e logica di un elaboratore
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.
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.
Operating System Concepts
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
CEFRIEL Consorzio per la Formazione e la Ricerca in Ingegneria dellInformazione Politecnico di Milano © William Fornaciari Tecniche di gestione.
L’organizzazione della comunicazione di I/O G. Vercelli
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Struttura dei sistemi operativi (panoramica)
Com’è fatto un elaboratore?
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
1 Gestione del processore Il modello a processi sequenziali.
memoria gestita staticamente:
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
Ingresso/Uscita u Materiale in: –Queste trasparenze, non basta il testo! –Tanenbaum 2.4.1, 5.6.4, 5.6.5,
La macchina di von Neumann
GLI INTERRUPT PAG..
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)
INPUT / OUTPUT. Connessione tra componenti CPU RAM DischiMonitor StampanteTastieraMouse BUS = Interfacce o Controller.
Le procedure di gestione input/output Poiché le operazioni di input/output sono più lente rispetto alla velocità del processore, occorrerà sincronizzarle.
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Dimitri Caruso Classe 2^ Beat ISIS G. Meroni Anno Scolastico 2007/08
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Introduzione al linguaggio assembly del microprocessore a parte
ARCHITETTURA DI UN ELABORATORE
Struttura di un SO Menu Struttura SO Algoritmo Programma Processo
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
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.
I processi.
Architettura di una CPU
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Il nucleo del Sistema Operativo
Calcolatori Elettronici Il Processore
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)
Gestione del processore (Scheduler)
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:
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.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
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
1 Processi e Thread Processi Thread Meccanismi di comunicazione fra processi (IPC) Problemi classici di IPC Scheduling Processi e thread in Unix Processi.
Informatica Generale Marzia Buscemi
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.
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.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Aprile 2015Architettura degli Elaboratori - Mod. B - 2. Macchina di Mano1 Logica di controllo “hardwired”
Transcript della presentazione:

Architettura degli elaboratori 24 novembre 2004 L’organizzazione dell’I/O: dispositivi di accesso, gestione degli interrupt

Gestione degli interrupt Definizioni di eccezione ed interrupt Perché introdurre interrupt Cosa deve fare il sistema in caso di interrupt Esempi di I/O interrupt Comunicazione tra il processore ed il dispositivo di I/O Abilitazione/disabilitazione di interrupt : livelli Interrupt multipli e simultanei : gestione delle priorità

Definizioni di eccezione ed interrupt Un'eccezione è un evento inaspettato dall’interno del processore (ad es. divisione per zero) Un interrupt è un evento inaspettato che proviene dall’esterno del processore (ad es. terminazione di un’operazione di stampa) Entrambi, come le operazioni di jump/branch, modificano il normale flusso di esecuzione delle istruzioni

Approfondimenti nei corsi Definizioni di eccezione ed interrupt Approfondimenti nei corsi sui Sistemi Operativi Esempi di tipologie di eccezioni Overflow aritmetici Esecuzione di istruzioni non definite Esecuzione di istruzioni privilegiate … … Fault di accesso in memoria System calls (meglio classificate come trap) Esempi di tipologie di interrupt Segnalazioni da parte di dispositivi di I/O

Perché introdurre interrupt Le operazioni di I/O sono di gran lunga piú lente delle operazioni della CPU In un sistema senza interrupt la CPU si ritrova spesso: a fare polling delle periferiche a intervalli regolari per iniziare operazioni di I/O ad attendere il completamento di operazioni di I/O IDEA DI BASE : mettere la CPU in condizioni di svolgere lavoro utile durante le operazioni di I/O

Il diagramma di stato che descrive il ciclo di istruzione Perché introdurre interrupt Il diagramma di stato che descrive il ciclo di istruzione

Il diagramma di stato che descrive il ciclo di istruzione Perché introdurre interrupt Il diagramma di stato che descrive il ciclo di istruzione - come si modifica

Cosa deve fare il sistema in caso di interrupt Salvataggio dell’indirizzo dell’istruzione corrente e di tutti i registri necessari al ripristino Disabilitazione di interrupt successivi durante la gestione di un interrupt Scelta del segmento di codice (routine di gestione dell’interrupt) appropriato per la gestione di quel tipo di interrupt type: X X_handler() dispositivo job j job j CPU Memoria

Cosa deve fare il sistema in caso di interrupt Salvataggio dell’indirizzo dell’istruzione corrente e di tutti i registri necessari al ripristino Disabilitazione di interrupt successivi durante la gestione di un interrupt Scelta del segmento di codice (routine di gestione dell’interrupt) appropriato per la gestione di quel tipo di interrupt dispositivo X_ handler() job j CPU Memoria

… e quando l’interrupt handler ha terminato… Cosa deve fare il sistema in caso di interrupt … e quando l’interrupt handler ha terminato… X_handler() dispositivo job k CPU Memoria

Cosa deve fare il sistema in caso di interrupt A LIVELLO LOGICO… dispositivo X_ handler() job j CPU Memoria Durante l’esecuzione dell’interrupt handler si è in kernel mode, per permettere al solo Sistema Operativo di manipolare le strutture dati utili allo scopo

Trasferimento di un blocco dalla memoria al disco Un esempio : interrupt di disco La CPU mette in comunicazione memoria e controller del disco Può quindi evitare di attendere e “dedicarsi ad altro” Il controller, quando ha finito il trasferimento dei dati, informa la CPU mediante un interrupt Trasferimento di un blocco dalla memoria al disco

… ed un altro esempio : interrupt di stampante Stampare senza interrupt : mandare una riga attendere il completamento mandare la riga successiva … elabora … stampa n righe Stampare con interrupt : mandare una riga andare avanti alla prossima elaborazione quando arriva l’interrupt mandare la riga successiva elaborating waiting la stampante accetta solo una riga alla volta

Comunicazione tra il processore ed il dispositivo di I/O POLLING (diverso dal polling a intervalli regolari!!!) la CPU riceve un interrupt anonimo interroga tutti i dispositivi per vedere chi deve eseguire un’operazione di I/O esegue la routine appropriata Maggior dettaglio nella gestione degli interrupt multipli CAUSE REGISTER la CPU riceve un interrupt con identificatore del dispositivo (o di un gruppo di dispositivi), che va caricato nel cause register il controllo passa all’unica routine di gestione dell’interrupt che determina ed esegue la subroutine appropriata VECTORED INTERRUPT SYSTEM la CPU riceve un interrupt con un indirizzo mediante l’uso di un interrupt vector, manda in esecuzione la routine appropriata

Interrupt vector : mappa tipi di interrupt a indirizzi di routine di gestione interrupt

Comunicazione tra il processore ed il dispositivo di I/O ALTRI REGISTRI DI SUPPORTO Cause register – contiene il codice dell’interrupt generato (utilizzato anche per gestire le eccezioni) IPC – contiene il Program Counter memorizzato prima di passare il controllo alla gestione dell’interrupt Status register – per gestire i livelli di interrupt ed il mascheramento … che discuteremo in altra occasione LATENZA DI INTERRUPT : come velocizzare il salvataggio dei registri?

… E PER FISSARE I CONCETTI… Chiediamoci quali sono le principali differenze tra una normale chiamata a procedura e la gestione di un interrupt Per esempio, c’è sempre identità tra l’originatore dell’interrupt e chi lo subisce?!

Studiare anche… Abilitazione/disabilitazione di interrupt Interrupt multipli e simultanei : gestione delle priorità