Sistemi Operativi 1. Mattia Monga. 11 aprile Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistemi Operativi 1. Mattia Monga. 11 aprile Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia"

Transcript

1 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it delle 11 aprile c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia License. Immagini tratte da [2] e da Wikipedia. 1

2 280 Lezione XV: La gestione delle delle

3 281 di un interruzione II caso: con cambiamento di stack 1 Salvataggio temporaneo di SS, ESP, EFLAGS, CS e EIP 2 Caricamento dei nuovi SS e ESP da un descrittore (Task State Segment) conservato nella GDT. 3 Push di SS, ESP, EFLAGS, CS e EIP sullo stack 4 Se serve, push di un codice di errore 5 L interrupt (o trap) gate viene utilizzato per inizializzare il nuovo code segment selector (CS) e EIP 6 Solo se è un interrupt, viene azzerato IF (le eccezioni possono invece essere ulteriormente interrotte) 7 Passa il controllo al gestore (CS:EIP) delle

4 282 La gestione delle interruzioni La gestione corretta delle interruzioni (sincrone e asincrone) dipende perciò dal corretto setup di GTD che viene utilizzata per conservare il Task State Segment che contiene gli interrupt gate delle

5 283 Segment descriptor 1 / kernel/protect.c / 2 struct gatedesc s { 3 u16 t offset low; 4 u16 t selector; Vedi par di 6 u8 t p dpl type; / P DL 0 TYPE / Intel Manual 3A 7 u16 t offset high; 8 }; delle 5 u8 t pad; / 000 XXXXX ig & trpg, XXXXXXXX task g / 1 / kernel/protect.c / 2 struct gatedesc s idt[ SIZE];

6 Inizializzazione 1 / kernel/protect.c prot init() / 2 struct gate table s gtp; 3 static struct gate table s { 4 PROTOTYPE( void ( gate), (void) ); 5 unsigned char vec nr; 6 unsigned char privilege; 7 } 8 gate table[] = { 9 { divide error, DIVIDE VECTOR, INTR PRIVILEGE }, 10 { single step exception, DEBUG VECTOR, INTR PRIVILEGE }, 11 { nmi, NMI VECTOR, INTR PRIVILEGE }, 12 { breakpoint exception, BREAKPOINT VECTOR, USER PRIVILEGE }, 13 { overflow, OVERFLOW VECTOR, USER PRIVILEGE }, 14 /... / 15 { general protection, PROTECTION VECTOR, INTR PRIVILEGE }, 16 { hwint00, VECTOR( 0), INTR PRIVILEGE }, 17 { hwint01, VECTOR( 1), INTR PRIVILEGE }, 18 /... / 19 { s call, SYS386 VECTOR, USER PRIVILEGE }, / 386 system call / 20 { level0 call, LEVEL0 VECTOR, TASK PRIVILEGE }, 284 delle

7 285 Task-State Segment descrittore di segmento memorizzato nella GDT contiene informazioni sullo stato di un processo in Minix viene usato solo nella fase di gestione di risposta agli interrupt delle

8 Inizializzazione 1 / kernel/protect.c prot init() / 2 struct tss s { 3 reg t backlink; 4 reg t sp0; / stack pointer to use during interrupt / 5 reg t ss0; / segment / 6 /... / 7 reg t ip; 8 reg t flags; 9 reg t ax; 10 reg t cx; 11 reg t dx; 12 /... / 13 reg t ldt; 14 }; tss.ss0 = DS SELECTOR; 17 init dataseg(&gdt[ INDEX], vir2phys(&tss), sizeof(tss), INTR PRIVILEGE); 18 gdt[ INDEX].access = PRESENT 19 (INTR PRIVILEGE << DPL SHIFT) TYPE; 286 delle

9 Inizializzazione 1 / kernel/protect.c prot init() / 2 3 / Build descriptors for interrupt gates in. / 4 for (gtp = &gate table[0]; 5 gtp < &gate table[sizeof gate table / sizeof gate table[0]]; 6 ++gtp) { 7 int gate(gtp >vec nr, (vir bytes) gtp >gate, 8 PRESENT INT GATE TYPE (gtp >privilege << DPL SHIFT)); 9 } / kernel/protect.c int gate() / 12 void int gate(unsigned vec nr, vir bytes offset, unsigned dpl type){ 13 / Build descriptor for an interrupt gate. / 14 register struct gatedesc s idp; idp = &idt[vec nr]; 17 idp >offset low = offset; 18 idp >selector = CS SELECTOR; 19 idp >p dpl type = dpl type; 20 } 287 delle

10 288 La gestione vera e propria 1 jump allo specifico interrupt o exception handler in mpx386.s. 2 Interrupt (per i quali serve interagire col ) ed eccezioni sono trattati in maniera diversa, ma in entrambi si prosegue con: 1 chiamata della routine save in cui 2 si salvano i registri generali 3 si caricano i selettori dei segmenti relativi al kernel 4 l indirizzo restart viene caricato sullo stack come indirizzo di rientro 3 chiamata alla routine di gestione vera e propria (che è scritta in C: intr handle o exception) 4 ritorno a restart delle

11 289 1 ; for protected mode. 2 ; This is much simpler than for 8086 mode, because the stack already points 3 ; into the process table, or has already been switched to the kernel stack. 4 5.align 16 6 save: 7 cld ; set direction flag to a known value 8 pushad ; save general registers 9 o16 push ds ; save ds 10 o16 push es ; save es 11 o16 push fs ; save fs 12 o16 push gs ; save gs 13 mov dx, ss ; ss is kernel data segment 14 mov ds, dx ; load rest of kernel segments 15 mov es, dx ; kernel does not use fs, gs 16 mov eax, esp ; prepare to return 17 incb ( k reenter) ; from 1 if not reentering 18 jnz set restart1 ; stack is already kernel stack 19 mov esp, k stktop 20 push restart ; build return address for int handler 21 xor ebp, ebp ; for stacktrace 22 jmp RETADR P STACKBASE(eax) 23.align 4 24 set restart1: 25 push restart1 26 jmp RETADR P STACKBASE(eax) delle

12 290 1 restart: 2 3 ; the current process or the next process if it is set. 4 5 cmp ( next ptr), 0 ; see if another process is scheduled 6 jz 0f 7 mov eax, ( next ptr) 8 mov ( proc ptr), eax ; schedule new process 9 mov ( next ptr), : mov esp, ( proc ptr) ; will assume P STACKBASE == 0 11 lldt P LDT SEL(esp) ; enable process segment descriptors 12 lea eax, P STACKTOP(esp) ; arrange for next interrupt 13 mov ( tss+3 S SP0), eax ; to save state in process table 14 restart1: 15 decb ( k reenter) 16 o16 pop gs 17 o16 pop fs 18 o16 pop es 19 o16 pop ds 20 popad 21 add esp, 4 ; skip return adr 22 iretd ; continue process delle

13 La gestione delle eccezioni 1 / kernel/exception.c exception() / 2 3 / If an exception occurs while running a process, the k reenter variable 4 will be zero. Exceptions in interrupt handlers or system traps will make 5 k reenter larger than zero. 6 / 7 if (k reenter == 0 &&! iskernelp(saved proc)) { 8 cause sig(proc nr(saved proc), ep >signum); 9 return; 10 } / kernel/system.c cause sig() / 13 void cause sig(proc nr, sig nr) 14 int proc nr; / process to be signalled / 15 int sig nr; / signal to be sent, 1 to NSIG / 16 { 17 / A system process wants to send a signal to a process. 18 Signals are handled by sending a message to PM. 19 / 20 } 291 delle

14 del Le linee di interrupt passano per prima cosa attraverso il registro IMR (Interrupt Mask Register) che verifica se le stesse sono state mascherate Nel caso di interrupt non mascherati, gli stessi sono registrati nel registro IRR (Interrupt Request Register), che li conserva finché sono stati opportunamente gestiti Priority Resolver seleziona l di piú alta priorità Viene inviato al processore il segnale INT 292 delle

15 293 del A sua volta il processore, appena sentito l interrupt, risponde con il segnale INTA (Interrupt Acknowledge) Alla ricezione del segnale INTA, il segnale che il sta gestendo viene memorizzato nel registro ISR (In Service Register ISR). Il bit corrispondente all viene anche resettato all interno di IRR e vengono disabilitati tutti gli interrupt di priorità minore o uguale a quello in corso Il processore invia un altro segnale INTA, a seguito del quale il carica sul data bus un numero di 8 bit che corrisponde al vettore dell interrupt delle

16 Ci sono in genere due 8259 in un PC, a due diversi indirizzi Il primo controlla gli da 0 a 7 Il secondo controlla gli da 8 a 15 Per ognuno ci sono due registri: Status (risp. port 0x20 e 0xA0) Command (risp. port 0x21 e 0xA1) Ad esempio per abilitare 4: delle 1 in al, 0x20 ;Read existing bits. 2 and al, 0xef ;Turn on 4 (COM1). 3 out 0x21, al ;Write result back to Al termine della gestione bisogna riabilitare (EOI, end of interrupt) 294

La gestione dei processi in Minix

La gestione dei processi in Minix La gestione dei processi in Minix Sistemi Operativi Lez. 28 Scheduling Round robin su 16 code di priorità Quando un processo viene bloccato senza aver esaurito il suo quanto di tempo, una volta risvegliato,

Dettagli

Assembly. Modello x86

Assembly. Modello x86 Assembly Modello x86 1 Il microprocessore Un MICROPROCESSORE è un circuito integrato dotato di una struttura circuitale in grado di attuare un prefissato SET di ISTRUZIONI 2 Caratteristiche del microprocessore

Dettagli

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 16. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 16. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011 Sistemi Operativi Introduzione all architettura IA-32 Lez. 16 1 Microprocessori Intel Nel 1979 Intel introduce la famiglia dei microprocessore 8086 8086, 8087, 8088, e 80186 Processori a 16-bit con registri

Dettagli

Sistemi Operativi. Lezione 13 Il context switch in MINIX. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

Sistemi Operativi. Lezione 13 Il context switch in MINIX. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010 Sistemi Operativi Lezione 13 Il context switch in MINIX Context switch Possiamo ora predisporre una routine per il context switch tra processi, che possiamo supporre sia risvegliata da un interrupt di

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. Send/Receive mini send Enqueue e dequeue mini receive mini notify. System call in MINIX

Sistemi Operativi. Bruschi Martignoni Monga. Send/Receive mini send Enqueue e dequeue mini receive mini notify. System call in MINIX 1 Mattia Lezione XIX: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo

Dettagli

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. a.a. 2008/09. Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Famiglia dei processori INTEL

Famiglia dei processori INTEL Famiglia dei processori INTEL 1975 2002 8080-8086 - 80286-80386 - 80486 - Pentium - Pentium II-III-IV - Itanium Compatibilità del SW (assemby) 8086 80286 80386 80486 Pentium Pentium III Perché studiare

Dettagli

Sistemi Operativi. Bruschi Martignoni Monga. La gestione. MINIX Architettura I device driver Block device. Memory driver Implementazione

Sistemi Operativi. Bruschi Martignoni Monga. La gestione. MINIX Architettura I device driver Block device. Memory driver Implementazione 1 Mattia Lezione XXVII: Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso

Dettagli

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 15. Corso: Sistemi Operativi Danilo Bruschi A.A. 2014/2015

Sistemi Operativi. Introduzione all architettura IA-32 Lez. 15. Corso: Sistemi Operativi Danilo Bruschi A.A. 2014/2015 Sistemi Operativi Introduzione all architettura IA-32 Lez. 15 1 Microprocessori Intel Nel 1979 Intel introduce la famiglia dei microprocessore 8086 8086, 8087, 8088, e 80186 Processori a 16-bit con registri

Dettagli

Sistemi x86 CALCOLATORI ELETTRONICI LM

Sistemi x86 CALCOLATORI ELETTRONICI LM Sistemi x86 CALCOLATORI ELETTRONICI LM 1 Registri x86 31 15 8 7 AH AX AL EAX 31 IP BH BX BL EBX CH CX DH DX CL DL ECX EDX 31 FLAGS EF SI ESI DI EDI BP EBP 15 8 7 SP CS SS DS ESP Sono presenti anche i registri

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

Dettagli

Interazione con il DOS e il BIOS

Interazione con il DOS e il BIOS Interazione con il DOS e il BIOS ARGOMENTI PRESENTATI IN QUESTI LUCIDI Routine di BIOS e DOS Due modalità diverse di restituire il controllo al DOS L interazione con le routine del DOS: l interrupt 21H

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Corso di Laurea Triennale in Informatica Università degli Studi di Bari Anno Accademico 2009-2010 Laboratorio lez1: il processore 8086/88 Prof. S.Pizzutilo I processori Intel

Dettagli

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it e 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Modi di esecuzione user / kernel

Modi di esecuzione user / kernel Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

Manualetto. Aggiornato al 31/07/2014

Manualetto. Aggiornato al 31/07/2014 Sistema emulato Periferiche 8086 Manualetto s165178 @ studenti.polito.it Aggiornato al 31/07/2014 Canali del sistema emulato Routine Descrizione Canale Indice IVT ISR_PA_IN L 8086 riceve un dato dalla

Dettagli

Il sistema delle interruzioni nel processore MC68000 (cenni)

Il sistema delle interruzioni nel processore MC68000 (cenni) Corso di Calcolatori Elettronici I A.A. 2011-2012 Il sistema delle interruzioni nel processore MC68000 (cenni) Lezione 33 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria

Dettagli

Sistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda

Sistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda 8259 (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'8259 è stato progettato

Dettagli

Istruzioni di modifica della sequenza di elaborazione

Istruzioni di modifica della sequenza di elaborazione Istruzioni di modifica della sequenza di elaborazione Permettono di modificare la sequenza di esecuzione delle istruzioni di un programma, normalmente controllata dal meccanismo automatico di avanzamento

Dettagli

Architettura di una CPU

Architettura di una CPU Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1

Dettagli

ARCHITETTURA DEL MICROPROCESSORE INTEL 8086 (iapx86/10)

ARCHITETTURA DEL MICROPROCESSORE INTEL 8086 (iapx86/10) ARCHITETTURA DEL MICROPROCESSORE INTEL 8086 (iapx86/10) Chip con 40 piedini e 29000 transistori Progettato a metà degli anni 70, periodo in cui la densità di integrazione era relativamente bassa ( solo

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Corso di Laurea Triennale in Informatica Università degli Studi di Bari Laboratorio lez1: il processore 8086/88 Prof. S.Pizzutilo Microprocessori INTEL per il PC 8080 (1974)

Dettagli

Messaggi in Minix. Sistemi operativi Lez. 10. Corso: Sistemi Operativi Danilo Bruschi A.A. 2006/2007

Messaggi in Minix. Sistemi operativi Lez. 10. Corso: Sistemi Operativi Danilo Bruschi A.A. 2006/2007 Messaggi in Minix Sistemi operativi Lez. 10 1 Comunicare in Minix I processi in Minix comunicano tra di loro attraverso scambio di messaggi I processi possono comunicare solo con processi al proprio livello

Dettagli

Schemi di paginazione nell architettura 86 (32 e 64 bit)

Schemi di paginazione nell architettura 86 (32 e 64 bit) Paginazione X86 1 Schemi di paginazione nell architettura 86 (32 e 64 bit) Questo documento mette insieme figure dai manuali Intel che illustrano gli aspetti salienti della gestione della memoria nell

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: motivi didattici: l architettura dei processori Intel

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: motivi didattici: l architettura dei processori Intel

Dettagli

Interruzioni o eccezioni? 1

Interruzioni o eccezioni? 1 0 Eccezioni in ARM C.Fantozzi, M.Moro Interruzioni o eccezioni? 1 In ARM si usa il termine eccezione (exception) per indicare una generica interruzione, in una delle tante diverse forme (esterna, software,

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: 1. motivi didattici: l architettura dei processori

Dettagli

IPC in Minix. Sistemi operativi Lez. 17-18. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

IPC in Minix. Sistemi operativi Lez. 17-18. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010 IPC in Minix Sistemi operativi Lez. 17-18 1 Comunicare in Minix I processi in Minix comunicano tra di loro attraverso scambio di messaggi I processi possono comunicare solo con processi al proprio livello

Dettagli

Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086.

Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. I processori Intel Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. L'8086 e' un processore a 16 bit quindi i suoi registri potranno

Dettagli

Nel microprocessore 8086 abbiamo una gran quantità di registri

Nel microprocessore 8086 abbiamo una gran quantità di registri I registri del microprocessore 8086 Nel microprocessore 8086 abbiamo una gran quantità di registri AH AL AX 1 1 1 1 1 1 1 0 0 1 0 1 1 1 0 1 B H B L BX 1 0 1 0 1 0 0 1 1 1 0 1 1 0 1 0 C H C L CX 1 0 1 1

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 4 ISC Esercizi per il recupero del debito formativo: Facendo esclusivamente uso delle istruzioni del linguaggio macchina mnemonico del microprocessore INTEL 8086 viste

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel della terza generazione progetto del 1978/79 address bus: 20 bit Ä 1M byte data bus: 8 bit per l 8088, 16 bit per l 8086 identico

Dettagli

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

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 15: - Macro - Eccezioni e interruzioni

Dettagli

L architettura Intel

L architettura Intel Architettura degli Elaboratori e delle Reti Lezione 33 L architettura Intel Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 33 1/30 Le prime

Dettagli

Linguaggio Assembler Intel -cenni - Calcolatori Elettronici B a.a. 2005/2006 Massimiliano Giacomin

Linguaggio Assembler Intel -cenni - Calcolatori Elettronici B a.a. 2005/2006 Massimiliano Giacomin Linguaggio Assembler Intel -cenni - Calcolatori Elettronici B a.a. 2005/2006 Massimiliano Giacomin 1 Un po di storia 1978: architettura 8086, a 16 bit, con registri dati a 16 bit e spazio di indirizzamento

Dettagli

Cenni ad Assembly Intel

Cenni ad Assembly Intel Cenni ad Assembly Intel Luca Abeni April 17, 2015 Architerrura Intel Utilizzata sulla maggior parte dei laptop, desktop e server moderni Lunga storia Dagli anni 70 (Intel 8080-8 bit!)......fino ad oggi

Dettagli

Esercitazione 8 Eccezioni & Interruzioni in MIPS 32 Claudia Raibulet raibulet@disco.unimib.it Eccezioni Le eccezioni = variazioni delle condizioni normali di funzionamento della CPU Conseguenze delle eccezioni

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

Architettura degli elaboratori (A)

Architettura degli elaboratori (A) Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma

Dettagli

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus Periferiche Interface Interface Interface Interface CPU SREG CREG DREG Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data

Dettagli

Gestione ad interrupt del pulsante S3

Gestione ad interrupt del pulsante S3 Esercitazione 4 - Interrupt Gestione ad interrupt del pulsante S3 L4 S Congiu, Tabella dei vettori di eccezione 1 Indirizzo Descrizione Modo 0x00000000 Reset SVC 0x00000004 Undefined Instruction (UDEF)

Dettagli

Programmazione Assembly Note su Microsoft Assembler

Programmazione Assembly Note su Microsoft Assembler Programmazione Assembly Note su Microsoft Assembler Giacomo Fiumara giacomo.fiumara@unime.it Anno Accademico 2012-2013 1 / 254 Microsoft Assembler Masm32.com installare configurare path perchè contenga

Dettagli

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive Assembler di Spim Assembler di SPIM Il programma è organizzato in linee Ogni linea può contenere un commento che parte dal carattere # e si estende fino alla fine della linea Ogni linea che non sia bianca

Dettagli

Strutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register

Strutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register Corso di Calcolatori Elettronici I A.A. 2010-2011 Strutture di controllo del flusso di esecuzione in assembler Lezione 25 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div

Dettagli

PASSI DI SVILUPPO DI UN PROGRAMMA: ESEMPIO

PASSI DI SVILUPPO DI UN PROGRAMMA: ESEMPIO PASSI DI SVILUPPO DI UN PROGRAMMA: ESEMPIO Programma diviso in due moduli: MA.ASM: programma pricipale e funzioni di utilità MB.ASM: sottoprogramma di elaborazione Primo modulo: MA.ASM EXTRN alfa: BYTE

Dettagli

Seminario di Sicurezza Informatica. Reference Monitors. Docente: Studente: FALLERI FILIPPO STEFANO BISTARELLI

Seminario di Sicurezza Informatica. Reference Monitors. Docente: Studente: FALLERI FILIPPO STEFANO BISTARELLI Seminario di Sicurezza Informatica Reference Monitors Studente: FALLERI FILIPPO Docente: STEFANO BISTARELLI Reference Monitor (RM) Reference monitor: Concetto di controllo degli accessi, che fà riferimento

Dettagli

Sistema Operativo - Gestione della Memoria lista argomenti di studio

Sistema Operativo - Gestione della Memoria lista argomenti di studio Sistema Operativo - Gestione della Memoria lista argomenti di studio Istruzioni assembly salti assoluti salti relativi Linking Rilocazione Statica Istruzioni rilocabili (salti relativi) Istruzioni Non

Dettagli

Blocchi funzione: FbModbusAsciiMs

Blocchi funzione: FbModbusAsciiMs Pagina 1 di 6 ELSIST Srl, www.elsist.it Blocchi funzione MNL041Q000 FbModbusAsciiMs Questo blocco funzione permette lo scambio di dati tra due sistemi, uno master ed uno slave, utilizzando una connessione

Dettagli

Linguaggio macchina e linguaggio assembly

Linguaggio macchina e linguaggio assembly FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Linguaggio macchina e linguaggio assembly Formato delle istruzioni 15 8 7 0 gruppo modo di indirizzamento codice dell

Dettagli

Calcolatori Elettronici Lezione A2 Architettura i8086

Calcolatori Elettronici Lezione A2 Architettura i8086 Calcolatori Elettronici Lezione A2 Architettura i8086 Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Architettura i8086 Sommario: L i8086 Registri Accesso alla memoria: indirizzi

Dettagli

Architettura 8086/8088

Architettura 8086/8088 Architettura 8086/8088 M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Sonza Reorda, M. Rebaudengo - a.a. 2007/08 Caratteristiche generali dell'8086 Usa la tecnologia

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Scopo di questa parte del corso e : introdurre i concetti principali dei sistemi operativi, identificare i requisiti hardware necessari alla gestione dei processi e del

Dettagli

Struttura dei Sistemi di Calcolo

Struttura dei Sistemi di Calcolo Università di Udine Facoltà di Scienze MM.FF.NN. A.A. 2009-2010 Copyright c 2000 04 Marino Miculan (miculan@dimi.uniud.it) La copia letterale e la distribuzione di questa presentazione nella sua integrità

Dettagli

Interrupts e System calls

Interrupts e System calls by Salvatore D'Angelo Table of contents 1 Introduzione... 2 2 Interrupts & Eccezioni... 2 2.1 Interrupts & Eccezioni: che cos'è un interrupt... 2 2.2 Interrupts & Eccezioni: Programmable Interrupt Controller

Dettagli

Il sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O.

Il sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O. Il sistema di I/O Calcolatori Elettronici 1 Architettura a bus singolo Memoria CPU Interfaccia Unità di I/O Interfaccia Unità di I/O Calcolatori Elettronici 2 1 Interfaccia Svolge la funzione di adattamento

Dettagli

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni

Dettagli

Memoria virtuale e Sistema operativo. In riferimento all architettura x86 e al sistema operativo Linux

Memoria virtuale e Sistema operativo. In riferimento all architettura x86 e al sistema operativo Linux Memoria virtuale e Sistema operativo In riferimento all architettura x86 e al sistema operativo Linux 1 Premessa Questa NON è una lezione di un corso di Sistemi Operativi, né tantomeno di Linux Lo scopo

Dettagli

Architettura x86 a 64 bit

Architettura x86 a 64 bit Architettura x86 a 64 bit Ovvero come l architettura x86 a 32 bit è stata portata a 64 bit 1 Per cominciare Contenuto Storia L architettura a 32 bit L architettura a 64 bit Avvertenza Per abitudine ci

Dettagli

Linguaggio Assembler Intel 80x86. Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin

Linguaggio Assembler Intel 80x86. Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin Linguaggio Assembler Intel 80x86 Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin 1 Scopi principali Studiare un ulteriore esempio di linguaggio assembler Saper svolgere semplici programmi

Dettagli

L insieme delle istruzioni (6)

L insieme delle istruzioni (6) L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso

Dettagli

Il livello architettura e set di istruzioni

Il livello architettura e set di istruzioni Corso di Informatica 2 Prof. Sciuto Il livello architettura e set di istruzioni Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano 7 Giugno 2004 Daniele Paolo Scarpazza

Dettagli

Interrupt-Driven I/O Gli Interrupts sono segnali hardware: - generati da device periferici es. fine di un operazione di I/O -oppure generati dalla CPU, a fronte di eccezioni i es. divisione per zero, stack

Dettagli

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix.

I Processi nel Sistema Operativo Unix. Gerarchie di processi Unix. Stati di un processo Unix. Stati di un processo Unix. I Processi nel Sistema Operativo Unix Processi Unix Unix è un sistema operativo multiprogrammato a divisione di tempo: l unità di computazione è il processo. Caratteristiche del processo Unix: processo

Dettagli

SET/CLEAR LOAD DATA FROM STRING

SET/CLEAR LOAD DATA FROM STRING SET/CLEAR STD CLD AZIONE: Imposta ad 1 (STD) o a zero (CLD) il valore del flag DF. Sono istruzioni senza parametri. Vanno sempre messi!! FLAG di cui viene modificato il contenuto: Nessuno (a parte DF).

Dettagli

Elementi di sicurezza e Privatezza. Lezione 8: memory error exploit

Elementi di sicurezza e Privatezza. Lezione 8: memory error exploit Elementi di sicurezza e Privatezza Lezione 8: memory error exploit Situazione I meccanismi di controllo degli accessi consentono un controllo particolarmente efficace su chi può fare cosa in un sistema

Dettagli

Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina

Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Anno Accademico 2013/2014 Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Prof. Riccardo Torlone Universita Roma Tre Instruction Set Architecture Il livello ISA è l interfaccia

Dettagli

Le procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I)

Le procedure. L insieme delle istruzioni (4) Prima della chiamata di una procedura. Le procedure (2) Architetture dei Calcolatori (lettere A-I) Le procedure L insieme delle istruzioni (4) Architetture dei Calcolatori (lettere A-I) In ogni linguaggio di programmazione si struttura il proprio codice usando procedure (funzioni, metodi, ) L utilizzo

Dettagli

Parte V. Il Livello delle Istruzioni Macchina

Parte V. Il Livello delle Istruzioni Macchina Parte V Il Livello delle Istruzioni Macchina V.1 Instruction Set Architecture Il livello ISA è l interfaccia tra HW e SW È il livello più basso a cui il processore è programmabile Criteri di scelta: Semplicità

Dettagli

Corso Sistemi Operativi

Corso Sistemi Operativi Corso Sistemi Operativi Ing. Pierfrancesco Bellini pierfrancesco.bellini@unifi.it Laboratorio DISIT Dip. Ingegneria dell Informazione Via S. Marta, 3 Programma a.a. 2016/17 Introduzione Struttura di un

Dettagli

Programmazione Assembly per 8088: Esercizi svolti

Programmazione Assembly per 8088: Esercizi svolti Programmazione Assembly per 8088: Esercizi svolti Marco Di Felice 13 dicembre 2006 1 Esercizio 1 (esercizio 1 del Tanenbaum, Appendice C) TESTO. Dopo l esecuzione dell istruzione MOV AX, 702 qual è il

Dettagli

Parte VI. Istruzioni ed indirizzamento

Parte VI. Istruzioni ed indirizzamento Parte VI Istruzioni ed indirizzamento VI.1 Instruction Set Architecture Il livello ISA è l interfaccia tra HW e SW È il livello più basso a cui il processore è programmabile Criteri di scelta: Semplicità

Dettagli

MULTIPROGRAMMAZIONE E PROTEZIONE. G. Frosini Multiprogrammazione e Protezione Slide 1

MULTIPROGRAMMAZIONE E PROTEZIONE. G. Frosini Multiprogrammazione e Protezione Slide 1 MULTIPROGRAMMAZIONE E PROTEZIONE G. Frosini Multiprogrammazione e Protezione Slide 1 SISTEMI MULTIPROGRAMMATI Sistema di elaborazione con un solo processore: può eseguire un solo programma alla volta;

Dettagli

INTERRUPT ed ECCEZIONI

INTERRUPT ed ECCEZIONI INTERRUPT ed ECCEZIONI Un interrupt viene definito di solito come un evento che altera la sequenza delle istruzioni eseguite da un processore. Gli eventi corrispondono a segnali elettrici generati da circuiti

Dettagli

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

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario Lezione 2 Principi Fondamentali di SO Interrupt e Caching Sommario Operazioni di un SO: principi fondamentali Una visione schematica di un calcolatore Interazione tra SO, Computer e Programmi Utente 1

Dettagli

Architetture dei Calcolatori

Architetture dei Calcolatori Architetture dei Calcolatori Lezione 11 -- 10/12/2011 Procedure Emiliano Casalicchio emiliano.casalicchio@uniroma2.it Fattoriale: risparmiamo sull uso dei registri q Rispetto alla soluzione precedente

Dettagli

Principali periferiche

Principali periferiche Principali periferiche Timer Periferica per il conteggio esatto del tempo Esempio: 8254 3 contatori "indietro" da 16 bit: si può impostare un valore iniziale fino a 0xFFFF in ciascuno dei tre contatori;

Dettagli

Componenti di un sistema operativo

Componenti di un sistema operativo Componenti di un sistema operativo Dipartimento di Informatica Università di Verona, Italy Componenti di un S.O. Gestione dei processi Gestione della memoria primaria Gestione della memoria secondaria

Dettagli

CLASSIFICAZIONE DEI SISTEMI DI ELABORAZIONE AUTOMATICA DELL INFORMAZIONE

CLASSIFICAZIONE DEI SISTEMI DI ELABORAZIONE AUTOMATICA DELL INFORMAZIONE APPUNTI DI SISTEMI rancesco Longo 4 ISC CLASSIICAZIONE DEI SISTEMI DI ELABORAZIONE AUTOMATICA DELL INORMAZIONE 1 SISTEMI CONVENZIONALI (Von Neumann) Sistemi che eseguono un programma già memorizzato nella

Dettagli

Lezione E12. Sistemi operativi open-source, embedded e real-time

Lezione E12. Sistemi operativi open-source, embedded e real-time Lezione E12 Sistemi operativi open-source, embedded e real-time 17 dicembre 2013 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SOSERT 13 E12.1 Di

Dettagli

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Introduzione allo sviluppo di progetti Premessa Qualunque sistema basato su microcontrollore deve eseguire un codice memorizzato in

Dettagli

Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione.

Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione. Consegne estive per gli studenti con sospensione del giudizio nella materia Sistemi per l'elaborazione e la trasmissione dell'informazione. Facendo esclusivamente uso delle istruzioni del linguaggio macchina

Dettagli

Il microprocessore DMC8

Il microprocessore DMC8 Il microprocessore DMC8 Fig. 1: Registri ed elementi di calcolo del DMC8 PC 16 bit Program Counter In altri contesti è chiamato anche Instruction Pointer. Questo registro a 16 bit contiene l indirizzo

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O Gestione e organizzazione dei dischi COMPITI

Dettagli

Desiderata: memoria capiente e veloce. Connessioni tra livelli di memoria. Memoria cache, struttura. Tecniche impiegate. Ad ogni accesso alla memoria

Desiderata: memoria capiente e veloce. Connessioni tra livelli di memoria. Memoria cache, struttura. Tecniche impiegate. Ad ogni accesso alla memoria Connessioni tra livelli di memoria Tape Registers Cache Main memory Magnetic disk Optical disk (Architettura degli Elaboratori) Gerarchie di memorie / 58 Metodo: Desiderata: memoria capiente e veloce i

Dettagli

Il microprocessore 8086

Il microprocessore 8086 1 Il microprocessore 8086 LA CPU 8086 Il microprocessore 8086 fa parte della famiglia 80xxx della INTEL. Il capostipite di questa famiglia è stato l 8080, un microprocessore ad 8 bit che ha riscosso un

Dettagli

1 Esercizi con architettura a 1 bus

1 Esercizi con architettura a 1 bus 1 Esercizi con architettura a 1 bus 1.1 Fetch dell istruzione NOTA: l istruzione ClearY azzera il registro Y mentre l istruzione CB imposta a 1 il bit di riporto/prestito in modo da sommare/sottrarre 1.

Dettagli

Uno sguardo al codice chiarificherà i dettagli. La tabella di invio interrupt intmap è definita nel file io.h.

Uno sguardo al codice chiarificherà i dettagli. La tabella di invio interrupt intmap è definita nel file io.h. CAPITOLO 9 - ELABORAZIONE DEGLI INTERRUPT L interrupt hardware è un meccanismo potente per fornire il supporto di molti servizi del sistema operativo. Come descritto nel capitolo 2, una richiesta di interrupt

Dettagli

Linguaggio macchina e linguaggio assembler

Linguaggio macchina e linguaggio assembler FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Linguaggio macchina e linguaggio assembler 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

UNITA PERIFERICA DI TIPO PARALLELO - PIA MC 6821

UNITA PERIFERICA DI TIPO PARALLELO - PIA MC 6821 UNITA PERIFERICA DI TIPO PARALLELO - PIA MC 6821 Indirizzamento interno dei registri: Registro di controllo CRA: Bit 7 Bit 6 Bit 5,4,3 Bit 2 Bit 1,0 IRQA1 IRQA2 CA2 DDRA CA1 Significato dei singoli bit:

Dettagli

Introduzione agli interrupt

Introduzione agli interrupt Corso di laurea in Ingegneria dell Informazione Indirizzo Informatica Reti e sistemi operativi Introduzione agli interrupt Le interruzioni (interrupt) I sistemi operativi attuali si basano sugli interrupt

Dettagli

Sottoprogrammi in linguaggio assembly del Motorola 68000

Sottoprogrammi in linguaggio assembly del Motorola 68000 Sottoprogrammi in linguaggio assembly del Motorola 68000 Daniele Paolo Scarpazza daniele.scarpazza@elet.polimi.it Politecnico di Milano Ultimo aggiornamento: 10 Maggio 2005 Bibliografia Sezioni 4.9, 5.6

Dettagli

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Architettura x86 a 64 bit

Architettura x86 a 64 bit Architettura x86 a 64 bit Ovvero come l architettura x86 a 32 bit è stata portata a 64 bit 1 Per cominciare Contenuto Storia L architettura a 32 bit L architettura a 64 bit Avvertenza Per abitudine ci

Dettagli

Il sottosistema di I/O. Input Output digitale

Il sottosistema di I/O. Input Output digitale Il sottosistema di I/O Il sottosistema di I/O consente la comunicazione fra il calcolatore ed il mondo esterno. Fanno parte del sottosistema i dispositivi (Unità di I/O) per la comunicazione uomo/macchina

Dettagli