Sistemi Operativi 1. Mattia Monga. a.a. 2008/09
|
|
- Rosangela Casati
- 4 anni fa
- Visualizzazioni
Transcript
1 1 Mattia Dip. di Informatica e Comunicazione Universita 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 License. Immagini tratte da [?] e da Wikipedia. 1
2 284 Lezione XV: La gestione delle
3 285 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 e un interrupt, viene azzerato IF (le eccezioni possono invece essere ulteriormente interrotte) 7 Passa il controllo al gestore (CS:EIP)
4 286 La gestione delle interruzioni La gestione corretta delle interruzioni (sincrone e asincrone) dipende percio dal corretto setup di GTD che viene utilizzata per conservare il Task State Segment che contiene gli interrupt gate
5 287 Segment descriptor Vedi par di \Intel Manual 3A" 1 / kernel/protect.c / 2 struct gatedesc s f 3 u16 t oset low; 4 u16 t selector; 5 u8 t pad; / j000jxxxxxj ig & trpg, jxxxxxxxxj task g / 6 u8 t p dpl type; / jpjdlj0jtypej / 7 u16 t oset high; 8 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 f 4 PROTOTYPE( void ( gate), (void) ); 5 unsigned char vec nr; 6 unsigned char privilege; 7 g 8 gate table[] = f 9 f divide error, DIVIDE VECTOR, INTR PRIVILEGE g, 10 f single step exception, DEBUG VECTOR, INTR PRIVILEGE g, 11 f nmi, NMI VECTOR, INTR PRIVILEGE g, 12 f breakpoint exception, BREAKPOINT VECTOR, USER PRIVILEGE g, 13 f overow, OVERFLOW VECTOR, USER PRIVILEGE g, 14 /... / 15 f general protection, PROTECTION VECTOR, INTR PRIVILEGE g, 16 f hwint00, VECTOR( 0), INTR PRIVILEGE g, 17 f hwint01, VECTOR( 1), INTR PRIVILEGE g, 18 /... / 19 f s call, SYS386 VECTOR, USER PRIVILEGE g, / 386 system call / 20 f level0 call, LEVEL0 VECTOR, TASK PRIVILEGE g, 288
7 289 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
8 Inizializzazione 1 / kernel/protect.c prot init() / 2 struct tss s f 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 ags; 9 reg t ax; 10 reg t cx; 11 reg t dx; 12 /... / 13 reg t ldt; 14 g; tss.ss0 = DS SELECTOR; 17 init dataseg(&gdt[ INDEX], vir2phys(&tss), sizeof(tss), INTR PRIVILEGE); 18 gdt[ INDEX].access = PRESENT j 19 (INTR PRIVILEGE << DPL SHIFT) j TYPE; 290
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) f 7 int gate(gtp >vec nr, (vir bytes) gtp >gate, 8 PRESENT j INT GATE TYPE j (gtp >privilege << DPL SHIFT)); 9 g / kernel/protect.c int gate() / 12 void int gate(unsigned vec nr, vir bytes oset, unsigned dpl type)f 13 / Build descriptor for an interrupt gate. / 14 register struct gatedesc s idp; idp = &idt[vec nr]; 17 idp >oset low = oset; 18 idp >selector = CS SELECTOR; 19 idp >p dpl type = dpl type; 20 g 291
10 292 La gestione vera e propria 1 jump allo specico 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 e scritta in C: intr handle o exception) 4 ritorno a restart
11 293 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 ag 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)
12 294 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
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)) f 8 cause sig(proc nr(saved proc), ep >signum); 9 return; 10 g / 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 f 17 / A system process wants to send a signal to a process. 18 Signals are handled by sending a message to PM. 19 / 20 g 295
14 del Le linee di interrupt passano per prima cosa attraverso il registro IMR (Interrupt Mask Register) che verica 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" nche sono stati opportunamente gestiti Priority Resolver seleziona l' di piu alta priorita Viene inviato al processore il segnale INT 296
15 297 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 priorita 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
16 298 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: 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)
Sistemi Operativi 1. Mattia Monga. 11 aprile 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 delle 11 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5
DettagliLezione XII: La gestione delle eccezioni in MINIX
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 4 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2008/09
1 Mattia Dip. di Informatica e Comunicazione Universita 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
DettagliLa gestione dei processi in Minix. Sistemi Operativi Lez. 12
La gestione dei processi in Minix Sistemi Operativi Lez. 12 Scheduling Round robin su 16 code di priorità Quando un processo viene bloccato senza aver esaurito il suo quanto di tempo, una volta risvegliato,
DettagliSistemi Operativi 1. Lezione XIX: System call in MINIX. Mattia Monga. 22 aprile 2008
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 22 aprile 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliLa 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,
DettagliSistemi operativi. Lez. 18 Interrupt ed Eccezioni in IA-32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2010/2011
Sistemi operativi Lez. 18 Interrupt ed Eccezioni in IA-32 1 Il ciclo fetch-decode-execute Il processore opera costantemente sotto il controllo del seguente ciclo: 1) Fetch the next instruction from ram
DettagliInterrupts and Exceptions
s and Exceptions Da Understanding Linux Kernel Daniel P. Bovet, Marco Cesati Gli interrupts sono generati da timer e da periferiche sono asincroni Le exception sono sincrone Errori di programma Condizioni
DettagliIntel x 86. Prof. B.Fadini a.a. 2006/2007
Intel x 86 Prof. B.Fadini (fadini@unina.it) a.a. 2006/2007 La CPU 8086 e la gestione segmentata della memoria Prof. B.Fadini (fadini@unina.it) a.a. 2006/2007 % #&' 3 Intel 8086/8088 Registri a 16-bit Bus
DettagliAssembly. 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
DettagliSistemi 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
DettagliSistemi 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
DettagliInterruzioni (1) Periferiche I/O 2 1
Interruzioni () Un interrupt è un evento inatteso che interrompe il normale flusso di esecuzione del programma e causa il trasferimento del controllo ad una apposita procedura di servizio in grado di gestire
DettagliInterruzioni (1) Interruzioni (2)
Interruzioni () Un interrupt è un evento inatteso che interrompe il normale flusso di esecuzione del programma e causa il trasferimento del controllo ad una apposita procedura di servizio in grado di gestire
DettagliLe syscall in Minix. Sistemi Operativi Lez. 11
Le syscall in Minix Sistemi Operativi Lez. 11 System Call Interfaccia tra le applicazioni ed il sistema operativo, per lo svolgimento di operazioni che coinvolgono dispositivi o strutture di memoria gestite
DettagliSistemi 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
DettagliSistemi 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
DettagliSistemi 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
DettagliSistemi 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
DettagliSistemi Operativi 1. Lezione III: Concetti fondamentali. Mattia Monga. 7 marzo 2008
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi 1. Mattia Monga. 7 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 7 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliTabella IDT. File di intestazione «int.h» e file delle routine di interruzione «isr.s»
Tabella IDT File di intestazione «int.h» e file delle routine di interruzione «isr.s».............................................. 4519 Funzioni per definire la tabella IDT.................... 4532 Gestione
DettagliSistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliArchitettura del Pentium
PENTIUM Architettura interna del Pipeline interna (U e V) Branch Prediction Logic Registri interni Registri di sistema Operating mode nel Real Mode Protected Mode Livelli di privilegio Segmentazione Selettori
DettagliSistemi Operativi 1. Mattia Monga. 6 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 6 marzo 2007 1 c 2007 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliLezione XXVII: La gestione dell I/O in MINIX
1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 20 maggio 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSistemi Operativi 1. Mattia Monga. 20 maggio 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 20 maggio 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia
DettagliSi pone allora il problema fondamentale: come far dialogare la CPU con le periferiche nel modo più efficiente possibile CPU
Sistemi Roberta Gerboni 1 Un computer è un sistema complesso costituito da: - una Unità Centrale di Elaborazione (CPU) - e da un insieme più o meno numeroso di dispositivi periferici chiamati, semplicemente,
DettagliEccezioni. Università degli Studi di Milano Corso di Laurea in Informatica, A.A
Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2018-2019 Eccezioni Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano (MI) Ufficio S242 nicola.basilico@unimi.it
DettagliSistemi Operativi. Bruschi Martignoni Monga. La gestione del clock in MINIX Il clock Gestione clock MINIX Clock task IRQ Handler Message handler
1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it Lezione XXII: a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso modo
DettagliSistemi 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
DettagliSistemi 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
DettagliUniversità degli Studi di Cassino e del Lazio Meridionale
Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Eccezioni ed Interruzioni Anno Accademico 2013/2014 Alessandra Scotto di Freca Si ringrazia il prof.francesco Tortorella
DettagliManualetto. 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
DettagliUniversità degli Studi di Cassino
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2007/2008 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliUniversità degli Studi di Cassino
Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2004/2005 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione
DettagliModi 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
DettagliFamiglia 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
DettagliSistemi Operativi (Laboratorio)
Sistemi Operativi (Laboratorio) Lorenzo Martignoni Dipartimento di Informatica e Comunicazione Università degli Studi di Milano, Italia lorenzo@security.dico.unimi.it a.a. 2008/09 Bruschi Martignoni Monga
DettagliIl 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
DettagliSistemi Operativi. Bruschi Martignoni Monga
1 Mattia Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it Lezione XVIII: a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi allo stesso
DettagliSistemi 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
DettagliSistemi Operativi. Introduzione all architettura IA-32 Lez. 17. Corso: Sistemi Operativi Danilo Bruschi A.A. 2012/2013
Sistemi Operativi Introduzione all architettura IA-32 Lez. 17 1 Microprocessori Intel Nel 1979 Intel introduce la famiglia dei microprocessore 8086 8086, 8087, 8088, e 80186 Processori a 16-bit con registri
Dettagli15 April INTERRUPT ED ECCEZIONI I. Frosio
15 April 2011 1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM)
DettagliSistemi 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
Dettagli7 May INTERRUPT ED ECCEZIONI I. Frosio
1 INTERRUPT ED ECCEZIONI I. Frosio SOMMARIO Eccezioni ed interrupt Esempi Gestione SW delle eccezioni: i dettagli 2 CICLO DI ESECUZIONE DI UN ISTRUZIONE Fecth (prelievo istruzione dalla RAM) Decodifica
DettagliARCHITETTURA 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
DettagliInterrupt ed Eccezioni
Interrupt ed Eccezioni Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento al Patterson, versione 5: 4.9, 5.4 e A.7 1/27 http:\\borghese.di.unimi.it\
DettagliProgrammazione in linguaggio assembly per architetture Intel 8088
Programmazione in linguaggio assembly per architetture Intel 8088 Marco Di Felice 1 Università of Bologna Dipartimento di Scienze dell Informazione Corso di Architettura degli Elaboratori mail: difelice@cs.unibo.it
DettagliLa gestione della memoria su IA-32. Lez. 32 Sistemi Operativi
La gestione della memoria su IA-32 Lez. 32 Sistemi Operativi Preliminari In protected mode, IA-32 prevede uno spazio di memoria fisica di 4 Gbyte (2 32 bytes) È uno spazio lineare (non segmentato) con
DettagliARCHITETTURA 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
DettagliGestione delle eccezioni.
Gestione delle eccezioni nicola.basilico@unimi.it http://homes.di.unimi.it/basilico/teaching/ Eccezioni Fetch Decodifica Calcolo Lettura / scrittura Eccezione (es. istruzione non riconosciuta) Eccezione
DettagliInterazione 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
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2015/16. Dip. di Informatica Università degli Studi di Milano, Italia
1 Mattia Monga Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it di base a.a. 2015/16 1 cba 2008 16 M. Monga. Creative Commons Attribuzione Condividi allo stesso modo 4.0
DettagliIntroduzione. Architettura
Introduzione Questo simulatore fornisce una versione semplificata dell assemblatore sfruttato dal processore 8088 trasformando il codice inserito in input in codice eseguibile e ne simula l esecuzione
DettagliHardware 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,
DettagliARCHITETTURA 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 formato
DettagliSchemi 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
DettagliARCHITETTURA 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
DettagliMicrocontrollori 12/03/2014. Progettazione Sistemi Elettronici 2013/2014 1
Microcontrollori 2013/2014 1 Microcontrollori 2013/2014 2 Microcontrollori CPU Instruction set -CISC Complex Instruction Set Computing (Intel x86 family; Motorola 680x0) -RISC Reduced Instruction Set computer
DettagliBIU - Bus Interface Unit. EU - Execution Unit. indipendente e asincrono: Costituito da due unità che operano in modo parzialmente
Sistemi Roberta Gerboni Introdotto sul mercato nel giugno 1978 Primo processore a 16 bit Costituito da due unità che operano in modo parzialmente indipendente e asincrono: EU - Execution Unit BIU - Bus
DettagliArchitettura 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
DettagliLaboratorio 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
DettagliLinguaggio Assemblativo della famiglia 80x86
Linguaggio Assemblativo della famiglia 80x86 Dr. Luciano Capitanio BOZZA PRELIMINARE Assembler 80x86 Dr. Luciano Capitanio 1 Linguaggio Assemblativo della famiglia 80x86 Obiettivo Verranno forniti gli
DettagliSistemi Operativi 1. Mattia Monga. a.a. 2016/17. Dip. di Informatica Università degli Studi di Milano, Italia
1 Mattia Monga Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it di base a.a. 2016/17 1 cba 2008 17 M. Monga. Creative Commons Attribuzione Condividi allo stesso modo 4.0
DettagliArchitettura 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)
DettagliESERCITAZIONE Operandi Architettura ad 1 operando Architettura a 2 operandi Architettura a 3 operandi
ESERCITAZIONE 9 Sommario Operandi Registri dedicati Gestione di sottoprogrammi Meccanismi di interruzione 1. Operandi Le prestazioni di una CPU possono variare considerevolmente a seconda del numero di
DettagliEsercitazione 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
DettagliNote su. Interruzioni. e Multi Rate Timer
Introduzione alla progettazione di sistemi embedded a microcontrollore Note su Interruzioni e Multi Rate Timer prof. Stefano Salvatori A.A. 2017/2018 Eccetto dove diversamente specificato, i contenuti
DettagliTrasparenze del Corso di Sistemi Operativi
Università di Udine Facoltà di Scienze MM.FF.NN. Laurea in Informatica A.A. 2018/19 Trasparenze del Corso di Sistemi Operativi Marina Lenisa Università di Udine Copyright c 2000-04 Marino Miculan (miculan@dimi.uniud.it)
DettagliElettronica dei Sistemi Programmabili A.A Microcontrollori. Architettura degli ARM CORTEX TM -M0 (1a parte)
Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Architettura degli ARM CORTEX TM -M0 (1a parte) Programmer's model del Cortex-M0 2/24 Modi operativi e stati Due modi operativi Thread
DettagliMessaggi 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
DettagliInterruzioni 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,
DettagliIstruzioni di controllo del flusso
Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal
DettagliSistemi Operativi e Reti 1
Sistemi Operativi e Reti 1 Dip. di Informatica Università degli Studi di Milano, Italia mattia.monga@unimi.it a.a. 2014/15 1 cba 2015 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo
DettagliSistemi 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
DettagliRivediamo alcuni concetti fondamentali: note sulle interruzioni e sul Multi Rate Timer
Introduzione alla progettazione di sistemi embedded a microcontrollore Rivediamo alcuni concetti fondamentali: note sulle interruzioni e sul Multi Rate Timer prof. Stefano Salvatori A.A. 2016/2017 Eccetto
DettagliArchitettura dei sistemi di elaborazione (Input/Output parte 2)
Architettura dei sistemi di elaborazione (Input/Output parte 2) Gestione dell I/O Il processore può comunicare con uno o più dispositivi esterni secondo schemi temporali imprevedibili che dipendono dalle
Dettagli; ; Definizione costanti
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 TITLE
DettagliInterfacciamento a periferiche
Interfacciamento a periferiche Periferica controller o interfaccia CPU/RAM. In genere la periferica è elettromeccanica e l interfaccia digitale (scheda sul bus o integrata su motherboard). Ma l esatta
DettagliSistemi di Elaborazione a Microprocessore (interfaccia parallela) M. Rebaudengo - M. Sonza Reorda
8255 (interfaccia parallela) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'Intel 8255 implementa un interfaccia di
DettagliRIKAYA Operating System
RIKAYA Operating System Specifiche di Progetto FASE 2 v.0.1 Anno Accademico 2018-2019 (da un documento di Marco di Felice) RIKAYA OS Sistema Operativo in 6 livelli di astrazione. Livello 6: Shell interattiva
DettagliARCHITETTURA 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
DettagliIPC 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
DettagliGestione 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)
DettagliIstruzioni di trasferimento dati
Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:
DettagliIstruzioni 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
DettagliL 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
DettagliEsercizi 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
DettagliPeriferiche 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
DettagliL 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/29 Le prime
DettagliLa gestione del clock in Minix
La gestione del clock in Minix Sistemi Operativi Lez. 29 1 La periferica Il cristallo di quarzo sottoposto a tensione genera un segnale con frequenza che varia da 5 a 200 MHz Ad ogni ciclo il contatore
DettagliManualino minimale MIPS
Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica
DettagliArchitettura 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
DettagliNel 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
DettagliSistemi Operativi. Bruschi Martignoni Monga. Strutture dati per la gestione dei processi Context switch Thread. Scheduling
1 Mattia Lezione VI: Lo Dip. di Informatica e Comunicazione Universita degli Studi di Milano, Italia mattia.monga@unimi.it batch batch a.a. 2008/09 1 c 2009 M.. Creative Commons Attribuzione-Condividi
Dettagli