I.T.I.S Carlo Zuccate Venezia Mestre. Triennio di specializzazione in Informatica, sperimentazione ABACUS.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I.T.I.S Carlo Zuccate Venezia Mestre. Triennio di specializzazione in Informatica, sperimentazione ABACUS."

Transcript

1 I.T.I.S Carlo Zuccate Venezia Mestre Triennio di specializzazione in Informatica, sperimentazione ABACUS. Materia: Sistemi per l elaborazione e la trasmissione dell informazione Insegnante: Stefano Lazzarini stefano.lazzarini@libero.it Relazione programma del quarto anno Alunno Boscolo Jona 4ISC Anno Scolastico: 2005/2006

2 INDICE Assembler.. 2 I microcomputer e i microprocessori 3 L architettura dell Intel La funzione di traduzione degli indirizzi... 6 I registri di segmento dell Intel I registri generali dell Intel Il linguaggio macchina dell Intel Le istruzioni aritmetico logiche a due operandi. 12 Le istruzioni aritmetico logiche ad un operando 15 Le istruzioni di salto.. 16 Istruzioni di chiamata/rientro da una procedura 17 L utilizzo dello stack di sistema 17 L istruzione Interrupt e l istruzione Interrupt Return I metodi d indirizzamento.. 19 Le interruzioni 20 Le istruzioni di controllo 21 Tipi di interruzione 22 Il programma debug del DOS 24 I sistemi Operativi 25 L architettura logica dei sistemi d elaborazione 26 La multiprogrammazione 27 Il processo d esecuzione di un programma 28 Il descrittore dei processi 29 Esercizi Svolti 32 Boscolo Jona 4ISC Anno Scolastico 2005/2006 1

3 Assembler Boscolo Jona 4ISC Anno Scolastico 2005/2006 2

4 I microcomputer e i microprocessori Un microcomputer è un sistema a programma memorizzato la cui unità centrale è composta da un numero limitato di circuiti integrati ad altissima scala di integrazione. Almeno uno di questi circuiti integrati svolge la funzione di processore. Questo circuito integrato viene anche detto microprocessore. Quindi per microprocessore si intende un circuito integrato ad altissima scala di integrazione che svolge la funzione di processore all interno dell unità centrale di un microcomputer. Nell unità centrale di un microcomputer ci sono pochi circuiti integrati interconnessi tra loro. La maggior parte di essi è infatti collegata al bus di sistema. Microprocessore Memoria Centrale Interfacce di I/O Interfacce di I/O Bus di sistema I microprocessori si dividono in famiglie. Una famiglia è un insieme di microprocessori in qualche modo compatibili tra loro. La famiglia dei microprocessori Intel Una delle caratteristiche più importanti dei processori della famiglia Intel è la loro compatibilità verso il basso, cioè tutti i programmi realizzati per uno qualsiasi di questi microprocessori può essere eseguito da tutti i microprocessori successivi della stessa famiglia. Questo è possibile in quanto l insieme delle istruzioni eseguibili da ogni nuovo modello di processore di questa famiglia possiede come sottoinsieme tutte le istruzioni eseguibili dai modelli precedenti. Anno Sigla Numero di transistor Frequenza di Funzionamento CPI H/CPI Khz Mhz Mhz 16 CPI IPS Mhz 8 CPI 2 MIPS Mhz 4 CPI 3 MIPS Mhz 2 CPI 50 MIPS 1993 Pentium Mhz 1 CPI 200 MIPS 1997 Pentium II Mhz 0,75 IPC 1999 Pentium III Ghz 1,5 IPC 2000 Pentium IV Ghz 2 IPC 6 GIPS La velocità di un processore si ottiene facendo il rapporto tra la frequenza di funzionamento e i cicli per istruzione: V= F/CPI Boscolo Jona 4ISC Anno Scolastico 2005/2006 3

5 L Architettura dell Intel 8086 L Intel 8086 è composto da: 16 Linee Dati, che trasportano i dati da un modulo all altro 20 Linee d indirizzi, che trasportano gli indirizzi di locazione della memoria 2 linee di alimentazione, che alimentano ciascun modulo 2 linee di controllo, che controllano e sincronizzano il funzionamento di ogni modulo La capacità della memoria di questo microprocessore è 2 20 byte e cioè 1Mb, e la sua architettura è a 16 Bit. Execution Unit Bus Interface Unit Funzioni della Execution Unit: Decodifica dei codici operativi delle istruzioni Calcolo degli indirizzi degli operandi Esecuzione delle operazioni specificate dalle istruzioni Componenti della Execution Unit: Unità aritmetica logica (ALU) a 16 bit 8 registri generali a 16 bit registro dei flag a 16 bit Logica di decodifica dei codici operativi Logica di controllo e temporizzazione Funzioni della Bus Ineterface Unit: Prelievo dei codici delle istruzioni da eseguire Accesso alle celle di memoria e alle porte d I/O Traduzione degli indirizzi di memoria Componenti della Bus Interface Unit: Istruction Pointer 4 registri di segmento logica di traduzione degli indirizzi istruction queue di 6 byte (memorizza il codice delle istruzioni prelevate dalla BIU) logica di controllo e temporizzazione Boscolo Jona 4ISC Anno Scolastico 2005/2006 4

6 L architettura Pipeline (Catena di montaggio) La differenza tra una tradizionale architettura e l architettura dell Intel 8086 sta nel fatto che ha 2 unità di controllo, questo perché così facendo la Execution Unit esegue le operazioni, mentre la Bus Interface Unit preleva l operazione successiva da eseguire e la velocità di elaborazione raddoppia. Notiamo quindi che in ogni istante troviamo sempre 2 istruzioni in fase di elaborazione. L elaborazione delle istruzioni comprende 3 fasi: il prelievo, eseguito dalla Bus Interface Unit la decodifica, eseguita dalla Execution Unit l esecuzione, eseguita dalla Execution Unit Questo particolare tipo di architettura è detta architettura Pipeline, in questo caso a 2 stadi. Numero di istruzioni P DE P DE P DE T 2T 3T 4T Tempo di elaborazione L architettura pipeline a n stadi prevede la suddivisione del ciclo di elaborazione delle istruzioni in n fasi, eseguita da un unità specializzata all interno del processore. La velocità di elaborazione diventa quindi V=n/T, dove T è il tempo di esecuzione di un istruzione. 1 fase 2 fase 3 fase n fase T/n T/n T/n T/n Funzionamento dell Istruction queue Istruction queue Codici delle istruzioni da eseguire BIU 6x8 Bit EU Istruzioni Eseguite Boscolo Jona 4ISC Anno Scolastico 2005/2006 5

7 La Funzione di traduzione degli indirizzi Ci sono due diversi modi di specificare la posizione di ciascuna cella della memoria centrale, gli indirizzi fisici e quelli logici. Indirizzi Fisici: Codici binari di 20 cifre generati dal microprocessore per accedere a ciascuna cella della memoria centrale 0 (IF) Indirizzi Logici: Coppie di codici binari di 16 cifre specificati dalle istruzioni del linguaggio macchina del microprocessore IL = (segment,offset) 0 (segment) (offset) Calcolo dell indirizzo fisico di un indirizzo logico (IF) 2 = [(segment) 2 *16+(offset) 2 ]mod 2 20 esempio: IL = [(01FA) 16 ;(F00B) 16 ] 01FA0+ F00B= (10FAB) 16 IF = (10FAB) 16 Calcolo degli indirizzi logici di un indirizzo fisico Il numero degli indirizzi logici è di 2 16 *2 16 e quindi di 2 32 Il numero degli indirizzi fisici è di 2 20 Notiamo quindi come ad ogni indirizzo fisico corrispondano 4096 indirizzi logici 2 32 /2 20 =2 12 Per k=1,2, Segment K = (Segment K) mod 2 16 Offset K = (Offset + 16K) mod 2 16 L indirizzo Logico Normalizzato L indirizzo logico normalizzato è un indirizzo logico la cui parte offset è minore di 16 Segment = IF div 16 Offset = IF mod 16 Boscolo Jona 4ISC Anno Scolastico 2005/2006 6

8 I registri di segmento sono: CS: Code Segment Register DS: Data Segment Register ES: Extra Segment Register SS: Stack Segment Register I Registri di Segmento dell Intel 8086 Code Segment Register: Specifica la parte segment degli indirizzi logici delle celle di memoria che contengono i codici delle istruzioni da eseguire. Indirizzo logico della prossima istruzione da eseguire: Segment = CS Offset = IP IF = [CS*16 + IP] mod 2 20 Data Segment Register: Specifica la parte segment dell indirizzo logico delle celle di memoria che contengono gli operandi delle istruzioni da eseguire Indirizzo fisico di un operando: IF = (DS*16+Offset) mod 2 20 Extra Segment Register: Specifica la parte segment dell indirizzo logico delle celle di memoria che contengono gli operandi delle istruzioni da eseguire Stack Segment Register: Specifica la parte segment dell indirizzo logico delle celle di memoria che contengono gli elementi dello stack del programma Lo stack si trova nella memoria centrale a partire dalla cella d indirizzo fisico SS*16 La sua capacità Massima 64 Kbyte L ultimo indirizzo logico è (SS;SP) dove SP è il registro generale dell execution unit IF = (SS*16+SP) mod 2 20 SS*16 IF SS* esempio: IL = [(FA000) 16 :(FFFF) 16 ] FA000+ FFFF= (109FFF) 16 IF = (109FFF) 16 mod 2 20 = (08FFF) 10 Boscolo Jona 4ISC Anno Scolastico 2005/2006 7

9 Il Segmento del Codice CS*16 Codice delle istruzioni 64Kb CS* Il Segmento dei Dati DS*16 Codice degli operandi 64Kb DS* Il Segmento Extra ES*16 Codice degli operandi 64Kb ES* Il Segmento dello stack SS*16 SS*16+SP SS* Area Libera TOS BOS 64Kb SP=0 SP-1 = (FFFF)16 Bottom Of Stack Stack overflow Boscolo Jona 4ISC Anno Scolastico 2005/2006 8

10 Mappa della memoria fisica utilizzata da un programma: (00000) 16 CS*16 CODICE Non accessibili alle istruzioni del programma 64Kb DS*16 ES*16 DATI EXTRA 64Kb 64Kb 256 Kb SS*16 (FFFFF) 16 STACK 64Kb Modello tiny ES*16=DS*16=CS*16=SS*16 CODICE DATI EXTRA STACK 64Kb Boscolo Jona 4ISC Anno Scolastico 2005/2006 9

11 I registri generali dell intel 8086 Sigla Nome Completo AX Accumulatore BX Base CX Contatore DX Dati SP Stack Pointer BP Base Pointer SI Source Index DI Destination Index I primi 4 registri (AX,BX,CX,DX) sono divisi in 2 parti: i primi 8 bit sono chiamati rispettivamente AL,BL,CL,DL; gli ultimi 8 bit sono chiamati rispettivamente AH,BH,CH,DH. Da ora indicheremo con il simbolo R 16 i registri AX BX CX DX SP BP SI DI Mentre indicheremo con il simbolo R 8 i registri AL AH BL BH CL CH DL DH Boscolo Jona 4ISC Anno Scolastico 2005/

12 Il Linguaggio Macchina dell Intel 8086 Questo microprocessore possiede 117 nomi mnemonici L istruzione Move Questa istruzione fa parte della categoria di trasferimento. Svolge la funzione di copiare il contenuto di un registro o di una cella di memoria in un altro registro o in un'altra cella di memoria. Operazione: Dest = Sorg Sintassi: [ RS: ] mov Dest,Sorg Dove Dest è l operando di destinazione dell istruzione e Sorg è l operando sorgente. [ RS: ] indica invece un registro di segmento, è cioè RS = CS DS ES SS Dest = R 8 R 16 RS [ BYTE ]m [ WORD ]m Sorg = R 8 R 16 RS [ BYTE ]m [ WORD ]m Cost Dove [ BYTE ]m indica una cella di memoria di 8 bit, mente [ WORD ]m indica una cella di memoria di 16 bit. Il meta simbolo Cost invece, rappresenta una costante numerica di al massimo 4 cifre esadecimali. Regole per l utilizzo del comando move : 1. i due operandi devono avere la stessa lunghezza; 2. i due operandi non possono rappresentare contemporaneamente una cella di memoria; 3. se la destinazione è un registro di segmento la sorgente non può essere una costante. Combinazioni di operandi possibili Dest Sorg Esempio Operazione R 8 R 8 mov AL,AH AL=AH R 8 [ BYTE ]m mov AL,byte [01FA] AL = byte[ds:01fa] R 8 cost mov AL,0FFAB AL = (AB) 16 R 16 R 16 mov AX,BX AX = BX R 16 RS mov AX,ES AX = ES R 16 [ WORD ]m mov AX,word[01FA] AX = word[ds:01fa] R 16 cost mov BX,01FA BX = (01FA) 16 RS R 16 mov ES,AX ES = AX RS [ WORD ]m mov SS,[01FA] SS = word[ds:01fa] [ BYTE ]m R 8 mov [01FA],BL Byte[DS:01FA] = BL [ BYTE ]m cost mov [01FA],0 Byte[DS:01FA] = 0 [ WORD ]m R16 mov word[01fa],ax Word[DS:01FA] = AX [ WORD ]m RS mov [01FA],ES Word[DS:01FA] = ES Boscolo Jona 4ISC Anno Scolastico 2005/

13 Sintassi: [ RS: ] nome Dest,Sorg Le istruzioni aritmetico logiche a due operandi Dest = R 8 R 16 [ BYTE ]m [ WORD ]m Sorg = R 8 R 16 [ BYTE ]m [ WORD ]m Cost Regole per l utilizzo delle istruzioni aritmetico logiche: 1 i due operandi devono avere la stessa lunghezza; 2 i due operandi non possono rappresentare contemporaneamente una cella di memoria; L istruzione Add Svolge l addizione binaria tra due operandi Nome mnemonico: add Operazione: Dest = (Dest+Sorg) mod 2 n n=8 16 CF = (Dest+Sorg) div 2 n n=8 16 ZF=1 se Dest = 0 ZF=0 se Dest 0 L istruzione Add With Carry Nome mnemonico: adc Operazione: Dest = (Dest+Sorg+CF) mod 2 n n=8 16 CF = (Dest+Sorg+CF) div 2 n n=8 16 ZF=1 se Dest = 0 ZF=0 se Dest 0 L istruzione Subtract Nome mnemonico: subb Operazione: Dest = (Dest-Sorg) mod 2 n n=8 16 CF = (Dest-Sorg) div 2 n n=8 16 ZF=1 se Dest = 0 ZF=0 se Dest 0 L istruzione Subtract With Borrow Nome mnemonico: sbb Operazione: Dest = (Dest-Sorg-CF) mod 2 n n=8 16 CF = (Dest-Sorg-CF) div 2 n n=8 16 ZF=1 se Dest = 0 ZF=0 se Dest 0 Boscolo Jona 4ISC Anno Scolastico 2005/

14 L istruzione Compare Nome mnemonico: cmp Operazione: CF = (Dest-Sorg) div 2 n n=8 16 ZF=1 Se (Dest-Sorg) mod 2 n =0 ZF=0 Se (Dest-Sorg) mod 2 n 0 L istruzione AND Nome mnemonico: and Operazione: Copia nell operando di destinazione il prodotto logico bit a bit dei codici contenuti nei due operandi ZF=1 Se Dest=0 ZF=0 Se Dest 0 Dest = Dest and Sorg L istruzione OR Nome mnemonico: or Operazione: Copia nell operando di destinazione la somma logica bit a bit dei codici contenuti nei due operandi ZF=1 Se Dest=0 ZF=0 Se Dest 0 Dest = Dest or Sorg L istruzione Exclusive Or Nome mnemonico: xor Operazione: Copia nell operando di destinazione la somma esclusiva bit a bit dei codici contenuti nei due operandi ZF=1 Se Dest = 0 ZF=0 Se Dest 0 Dest = Dest xor Sorg Boscolo Jona 4ISC Anno Scolastico 2005/

15 L istruzione Test Nome mnemonico: test Operazione: Equivale ad un istruzione AND ma non modifica l operando di destinazione ZF=1 Se Ris=0 ZF=0 Se Ris 0 Ris = Dest and Sorg Esempio: Dove: test AL,40 AL = (a 7,a 6,a 5,a 4,a 3,a 2,a 1,a 0 ) 2 40 = ( ) 2 Ris = (0,a 6,000000) 2 Da cui capiamo che: ZF = a 6 Boscolo Jona 4ISC Anno Scolastico 2005/

16 Sintassi: [ RS: ] nome Dest Dest = R 8 R 16 [ BYTE ]m [ WORD ]m Le istruzioni aritmetico logiche a un operando L istruzione Multiply Nome mnemonico: mul Operazione: se Dest = R 8 byte m AX = AL * Dest se Dest = R 16 word m [DX,AX] = AX * Dest L istruzione Divide Nome mnemonico: div Operazione: se Dest = R 8 byte m AL = AX div Dest AH=AX mod Dest se Dest = R 16 word m AX = [DX,AX] div Dest DX = [DX,AX] mod Dest L istruzione Increment Nome mnemonico: inc Operazione: Dest = Dest + 1 Se Dest = 0 Se Dest 0 ZF=1 ZF=0 L istruzione Decrement Nome mnemonico: dec Operazione: Dest = Dest - 1 Se Dest = 0 Se Dest 0 ZF=1 ZF=0 L istruzione NOT Nome Mnemonico : not Operazione : Negazione Bit a Bit Per i = 0,1,..N-1 Dest i = Not Dest i (N=8 16) Boscolo Jona 4ISC Anno Scolastico 2005/

17 Le istruzioni di Salto Sintassi: nome cost Dove cost è una costante esadecimale di al massimo 4 cifre Operazione: Se condizione di salto = vero Allora IP=Cost Nome Condizione di salto JMP VERA JC CF=1 JNC CF=0 JZ ZF=1 JNZ ZF=0 Sinonimi Nome Sinonimo Utilizzo JC JB Sottrazioni JNC JNB JZ JE Compare JNZ JNE Combinazioni Nome Condizione di salto JBE CF=1 o ZF=1 JA CF=0 e ZF=0 Esempio1: CMP Dest,Sorg JA Cost Esegue il salto quando la Dest > Sorg Esempio2: CMP Dest,sorg JBE Cost Esegue il salto quando la Dest Sorg Boscolo Jona 4ISC Anno Scolastico 2005/

18 Istruzioni di chiamata/rientro da una procedura Chiamata ad una procedura: Sintassi: call cost Operazioni: SP = SP-2 word[ss:sp] = IP IP = (cost) 16 Ritorno da una procedura: Sintassi: ret Operazioni: IP = word[ss:sp] SP = SP+2 Utilizzo dello Stack di sistema L istruzione push Sintassi: [ RS ] push sorg Operazioni: SP = SP-2 word[ss:sp] = sorg sorg = R16 RS [ word ]m L istruzione pop Sintassi: [ RS ] pop dest Operazioni: dest = word[ss:sp] SP = SP+2 dest = R16 RS [ word ]m Boscolo Jona 4ISC Anno Scolastico 2005/

19 L istruzione Interrupt Sintassi: Int cost 0 (cost) Operazioni: push(flags) push (CS) push(ip) IP = word [n*4] CS = word [n*4+2] n è il valore della costante in esadecimale n = (cost) 16 (cost) 16 viene detta codice dell interruzione La corrispondente routine del sistema operativo viene dette routine di servizio dell interruzione 1024 byte della memoria centrale vengono riservati per la tabella dei vettori di interruzione dove vengono memorizzati gli indirizzi delle routine di servizio delle interruzioni. La tabella contiene al massimo 256 vettori, cioè indirizzi logici di 4 byte ciascuno. (00000) 16 (00004) 16 offset segment offset segment Vettore di ISR0 Vettore di ISR1 n*4 offset segment Vettore di ISRn (1024-4) 10 offset segment Vettore di ISR255 Per esempio l istruzione int 21 cede il controllo al sistema operativo che controlla il contenuto del registro AH, che se contiene il valore 4C termina il programma. Sintassi: I RET Operazioni: pop(ip) pop(cs) pop(flags) L istruzione Interrupt Return Boscolo Jona 4ISC Anno Scolastico 2005/

20 I metodi di indirizzamento L Intel 8086 permette di fare riferimento nel campo degli operandi delle istruzioni ad una cella di memoria in diversi modi detti metodi d indirizzamento. Metodo m= Offset = *Segment = Diretto [cost] (cost)16 DS [RB] RB DS se RB=BX SS se RB=BP Indiretto [RI] [RB+RI] RI RB+RI DS DS se RB=BX SS se RB=BP Relativo [RB±cost] RB±(cost) 16 DS se RB=BX SS se RB=BP Diretto Indicizzato [RI] ±cost RI±(cost) 16 DS Relativo Indicizzato [RB+RI±cost] RB+RI±(cost) 16 DS se RB=BX SS se RB=BP Dove: [RB] = BX BP [RI] = SI DI Registro Base Registro Indice NOTA* A meno che il registro di segmento non venga specificato esplicitamente prima del nome dell istruzione Boscolo Jona 4ISC Anno Scolastico 2005/

21 Le interruzioni Le interruzioni sono un meccanismo che permettere ad un computer di eseguire delle procedure appena si verificano dei particolari eventi che richiedono attenzione immediata, ad esempio lo spostamento del mouse, l arrivo di dati da una porta d ingresso o la fine della lettura di un settore di un disco. Nel processore Intel 8086 esistono vari tipi di interruzioni: le interruzioni software, causate da una particolare istruzione del linguaggio macchina; le interruzioni hardware, causa da un componente o da un dispositivo dell unitа centrale. Le interruzioni hardware si dividono in: interruzioni hardware interne, causate da un componente interno al processore; interruzioni hardware esterne, causate da un dispositivo esterno al processore. A loro volta le interruzioni hardware interne si divino in: interruzioni hardware interne per errore di divisione, causate dall esecuzione di un istruzione di divisione quando il quoziente di una divisione non e rappresentabile nell operando di destinazione oppure quando il divisore e uguale a zero; Interruzioni hardware interne per esecuzione passo passo, causate dalla fine dell esecuzione di ogni istruzione, ma solo se prima dell inizio dell esecuzione di tale istruzione il flag TRAP vale 1 (il flag TRAP corrisponde all ottavo bit del registro dei flag. Le interruzioni hardware esterne si dividono invece in: Interruzioni hardware esterne mascherabili, che si verificano se il segnale presente sulla linea di controllo INTR (interrupt request) e a livello alto e se il flag INTERRUPT (IF) del processore vale 1. Questo tipo di interruzioni possono essere disabilitate temporaneamente in modo che il processore le possa ignorare almeno per un certo periodo; Interruzioni hardware esterne non mascherabili, che si verificano quando il segnale presente su una particolare linea di controllo del bus di sistema, la liena NMI (not mascherable interrupt), commuta a livello alto. Questo tipo di interruzioni non possono essere disabilitate e quindi quando si verificano il processore verrà sempre interrotto. Boscolo Jona 4ISC Anno Scolastico 2005/

22 Istruzioni di controllo Le istruzioni di controllo sono particolari istruzioni che permettono di modificare il valore del flag INTERRUPT. L istruzione Set Interrupt Flag Sintassi: STI Operazione: IF=1 L istruzione Set Interrupt Flag Sintassi: CLI Operazioni: IT=0 Il ciclo d interpretazione delle istruzioni Inizio prelievo decodifica esecuzione NO interruzione SI sequenza d interruzione Le interruzioni hanno una priorità che è ordinata in base al loro codice d interruzione. L interruzione con priorità massima è l interruzioni con codice 0, mentre quella di minima priorità è l interruzioni con codice 255. Sequenza d interruzione 1. push(flags) 2. push(cs) 3. push(ip) 4. IF=0 e TF=0 5. IP = WORD[n*4] 6. CS = WORD [n*4+2] Dove n è il codice dell interruzione a maggiore priorità. Boscolo Jona 4ISC Anno Scolastico 2005/

23 Tipi di interruzione Codice Tipi di interruzione 0 Interruzioni hardware interne per errore di divisione 1 Interruzioni hardware interne per modalità di esecuzione passo passo 2 Interruzioni hardware esterne non mascherabili Gli altri codici possono essere usati per le interruzioni interne mascherabili e per interruzioni software. Il codice delle interruzioni hardware esterne mascherabili viene inviato al microprocessore dal dispositivo che ha emesso tale richiesta d interruzione attraverso le 8 linee dati meno significative del bus di sistema. Sequenze d interruzione relativa alle interruzioni hardware esterne non mascherabili 1. push(flags) 2. push(cs) 3. push(ip) 4. IF=0 ; TF=0 5. invia due impulsi negativi sulla terza linea di controllo INTA, che di solito si trova a livello alto, e legge il codice delle interruzioni dalle 8 linee meno significative del bus di sistema; con il primo informa il dispositivo che il microprocessore ha interrotto l elaborazione in corso, e con il secondo il dispositivo invia il codice dell interruzione. 6. IP = word[n*4] 7. CS = word[n*4+2] Utilizzo dell interruzioni hardware interne passo passo Questo programma è composto di due procedure, la procedura principale e da una routine di gestione delle interruzioni con codice 1. inizio inizio Inizializza le strutture dati utilizzate Conteggio = conteggio-1 Blocco vuoto Interrupt return no Conteggio 0 si fine loop Boscolo Jona 4ISC Anno Scolastico 2005/

24 dosseg : informa l assemblatore che il programma deve essere eseguito in modalità DOS.model : specifica all assemblatore quale modello di memoria deve essere utilizzato..data : specifica l inizio della sezione dei dati. dw : define word, definisce una cella di memoria di tipo word, alla sua sinistra si mette un nome simbolico che rappresenta la cella di memoria.code : definisce l inizio della sezione del codice..org : origing, è seguito dalla costante in esadecimale, e specifica l indirizzo della prima istruzione del programma. Set Interrupt vector È un servizio del sistema operativo DOS Numero 25h che si richiama con l interruzione 21h ponendo: ah = 25h al = codice di interruzione dx = parte offset del nuovo indirizzo della routine di servizio dell interruzione ds = parte segment L istruzione PUSH FLAGS Nome mnemonico: pushf Operazione: pushf(flags) L istruzione POP FLAGS Nome mnemonico: popf Operazione: popf(flags) Boscolo Jona 4ISC Anno Scolastico 2005/

25 Il programma Debug del DOS Permette di provare ad eseguire un altro programma in modalità controllata, per esempio eseguendo un istruzione X volte. Inoltre permette di accedere al contenuto di tutti i registri del processore e delle celle della memoria centrale. Permette di copiare nella memoria centrale il contenuto di uno o più blocchi o settori di un unità disco, o di salvare su disco il contenuto di un area di memoria centrale. In fine permette di assemblare una sequenza di istruzioni scritta in linguaggio macchina e di salvare il codice macchina in memoria centrale. E anche capace di disassemblare il codice macchina di sequenze di istruzioni contenute in memoria centrale. Boscolo Jona 4ISC Anno Scolastico 2005/

26 I Sistemi Operativi Boscolo Jona 4ISC Anno Scolastico 2005/

27 L architettura logica dei sistemi d elaborazione I sistemi d elaborazione sono classificati in base al livello di astrazione relativo alle funzioni che svolgono. Dal più basso livello di astrazione al più alto troviamo: La piattaforma hardware, cioè l insieme dei componenti hardware, (processore, memoria centrale, unità periferiche ecc.) che comunica agli altri componenti per mezzo delle istruzioni del linguaggio macchina; Il Kernel, cioè il nucleo del sistema operativo, un programma che ha il compito di estendere l insieme delle istruzioni del linguaggio macchina con una serie di servizi d accesso e gestione delle varie risorse di sistema; Le procedure di libreria di sistema che utilizzano delle funzioni fornite da altri programmi detti interfaccia dei programmi applicativi. Queste interfacce sono chiamate API, e sono l insieme di funzioni di libreria messe a disposizione dal sistema di elaborazione ai programmi scritti nei linguaggi ad alto livello. I programmi che l utente vuole eseguire, e si dividono in: programmi applicativi, che risolvono i problemi degli utenti, e programmi di sistema, che gestiscono le risorse di sistema. Gli utenti interagiscono con l intero sistema di elaborazioni attraverso l interfaccia utente. Alla luce di quanto detto sopra un sistema operativo è quindi una collezioni di programmi che svolgono il compito di gestire tutte le risorse di un sistema di elaborazione, permettendo a tutti gli altri programmi di accedervi in modo semplice, efficiente ed affidabile. Gli obbiettivi di un sistema operativo Gli obbiettivi di un sistema operativo sono: La semplicità d utilizzo del sistema da parte degli utenti e dei loro programmi, che si può ottenere mettendo a disposizione degli utenti e dei loro programmi delle interfacce di livello adeguato, come ad esempio le API, interfacce con i programmi applicativi orientati agli oggetti, o le interfacce utente grafiche, tra le quali ricordiamo quelle a finestre ed icone, quelle a linea di comando, e quelle a menù; L efficienza nell utilizzo delle varie risorse del sistema, che si può ottenere attraverso le tecniche di gestione delle risorse, come la multiprogrammazione, la memoria virtuale e lo spooling; L affidabilità del funzionamento del sistema nel suo complesso, che si può ottenere applicando delle particolari tecniche di protezione delle risorse del processore, della memoria e delle informazioni. Boscolo Jona 4ISC Anno Scolastico 2005/

28 La multiprogrammazione Questa particolare tecnica di gestione delle varie risorse di sistema permette di eseguire più programmi contemporaneamente, questo ha vari vantaggi, tra i quali: l aumento dell utilizzo di tutte le risorse dell unità centrale, e la possibilità da parte dell utente di svolgere più lavori contemporaneamente. Nella multiprogrammazione, dopo il caricamento del kernel, viene caricato in memoria centrale il codice macchina di più programmi contemporaneamente, così da poterne eseguire in ogni momento uno qualsiasi. Il numero di programmi che vengono eseguiti contemporaneamente è anche detto grado di multiprogrammazione. Vediamo ora cos è e come possiamo calcolare il coefficiente di utilizzo del processore. Per il nostro esempio utilizzeremo una generica funzione per la lettura di un record da disco. Inizio Apri file EOF no Leggi record successivo si Chiudi file Elabora il record letto (presumiamo 1000 istruzioni) Il tempo impiegato per leggere un file da disco è di 10 msec Supponendo che la velocità d elaborazione dell unità centrale sia di I/s, facendo il rapporto tra il numero di istruzioni del programma e la velocità di elaborazione dell unità centrale otteniamo il tempo di utilizzo del processore ISTR = 10 µsec 100 MIPS Calcoliamo ora il coefficiente di utilizzo del processore, cioè il valor medio del rapporto tra il tempo di utilizzo del processore e il tempo complessivamente trascorso per eseguire un programma. Questo rapporto indica quanto il processore viene effettivamente utilizzato. C = 10 µsec = msec C%=0,1% Notiamo quindi come sia basso il coefficiente d utilizzo del processore quando si esegue un solo programma per volta. Boscolo Jona 4ISC Anno Scolastico 2005/

29 Il processo d esecuzione di un programma Diagramma delle transizioni di stato dei processi terminazione In corso Attesa di un particolare evento bloccato Il processo finisce di eseguire il programma Scadenza del Time Slice assegnatogli all inizio della schedulazione (assegnazione) Si verifica l evento del quale ero in attesa pronto Lo stato di pronto è il primo stato di ogni processo, e il passaggio da questo stato allo stato In Corso è detto schedulazione del processo. Servizi del sistema operativo per la gestione dei processi Creazione di un nuovo processo Permette di creare un nuovo processo di esecuzione. Il processo che richiede il servizio è detto processo padre e il nuovo processo è detto processo figlio. Questo servizio restituisce al processo padre un numero che identifica univocamente il nuovo processo creato. Il primo processo, creato dopo il caricamento del sistema operativo dal kernel, è detto processo iniziale. Terminazione del processo La terminazione di un processo deve essere richiesta dal processo che vuole essere terminato. Attesa della terminazione L attesa di terminazione di un processo di esecuzione di un programma può venir richiesta solo dal processo padre, che potrebbe però avere più di un figlio, e quindi richiede il numero di identificazione del processo figlio, che restituisce al padre anche la causa della terminazione. Se il processo figlio non ha ancora richiesto la terminazione il codice di identificazione non è disponibile, il processo padre viene quindi messo in stato di blocco finché il figlio richiede la terminazione, che restituisce al padre il codice di identificazione. Distruzione di un processo Richiede ad un processo di eliminare un altro processo. Boscolo Jona 4ISC Anno Scolastico 2005/

30 Il descrittore di un processo Per ogni processo che viene creato il sistema operativo mantiene tutte le informazioni relative ad un processo di esecuzione del programma in una particolare struttura dati detta descrittore del processo. Le informazione contenute nel descrittore del processo sono: Il numero di identificazione del processo; Il numero di identificazione del processo padre; Lo stato di avanzamento in cui si trova il processo di esecuzione del programma (Pronto/In Corso/Bloccato); Il valore di tutti i registri del processo; L indirizzo iniziale e le dimensioni di tutte le aree di memoria riservate al processo(l indirizzo e la lunghezza del segmento che contiene i dati ecc); Le informazioni relative a tutte le altre risorse di sistema che sono state riservate al processo (file aperti, eventuali terminali e altri dispositivi ecc) I descrittori dei processi sono contenuti in code, un esempio di tali code è la coda dei scrittori dei processi in stato di pronto. Quando viene creato un nuovo processo, viene creato anche il suo descrittore, che viene inserito in questa coda; da qui vengono estratti i descrittori dei processi da porre in stato di esecuzione sul processore. Quando è scaduto il quanto di tempo a disposizione del processo in stato di esecuzione, il descrittore viene inserito di nuovo nella coda dei descrittori dei processi in stato di pronto. Descrittore dei nuovi processi schedulazione Quanto di tempo scaduto processi Attesa di un evento Coda dei descrittori dei processi bloccati Verificarsi di un evento Ci sono diverse tecniche di schedulazione: FIFO Round Rubin A classi di priorità Un esempio di coda di tipo FIFO o Round Rubin è la coda dei descrittori dei processi in stato di pronto. Tecnica di schedulazione Vantaggi Svantaggi FIFO Efficienza Affidabilità Classi di priorità Affidabilità Efficienza Round-Robin Affidabilità/Efficienza Affidabilità/Efficienza Boscolo Jona 4ISC Anno Scolastico 2005/

31 I processi del dos: terminazione esecuzione Creazione del processo figlio (EXEC) bloccato creazione Terminazione del processo figlio I processi in Unix: esecuzione Wait (P.I.D) bloccato Schedulazione pronto Terminazione processo P.I.D Definizioni: Processo: attività di esecuzione di un programma Multiprogrammazione: tecnica per eseguire più programmi contemporaneamente Thread: attività di esecuzione di una procedura di un programma Multithreading: tecnica utilizzata per eseguire più procedure uno stesso programma contemporaneamente. Stati di avanzamento di thread creazione pronto schedulazione esecuzione Rilascio del processo agli altri thread (doevents) Verifica dell evento atteso Attesa di un particolare evento bloccato Boscolo Jona 4ISC Anno Scolastico 2005/

32 ESERCIZI Boscolo Jona 4ISC Anno Scolastico 2005/

33 ESERCIZI SVOLTI Esercizio1: Azzera la cella (FFFFF) 16 Conversione: Segment = (FFFFF) 16 div 16 = (FFFF) 16 Offset = (FFFFF) 16 mod 16 = (0F) 16 BYTE [(FFFFF) 16 ]=0 ovvero BYTE[(FFFF) 16 :(F) 16 ]=0 MOV AX,Segment MOV AX,0FFFF MOV RS,AX traduzione assembly MOV DS,AX MOV BYTE[Offset] MOV BYTE[0F],0 Esercizio2: Scambiare i contenuti delle celle di indirizzo fisico 1F00A e 10A50 1F00A Indirizzo fisico = 1F00A Indirizzo logico = (1000:F00A) 10A50 Indirizzo fisico = 10A50 Indirizzo logico = (1000:0A50) mov AX,1000 mov DS,AX mov DL,[0F00A] mov DH,[A050] mov [0F00A],DH mov [0A50],DL Esercizio3: azzerare il registro AX se IF00A>10A50 mov DX,1000 mov DS,DX mov BL,[0F00A] cmp BL,[0A50] jc continua jz continua mov AX,0 continua: INT3 Boscolo Jona 4ISC Anno Scolastico 2005/

34 Esercizio4: Azzerare tutte le celle di memoria il cui indirizzo logico ha parte offset compreso tra (100) 16 e (200) 16 ciclo: mov BX,100 mov byte[bx],0 inc BX cmp BX,201 jne ciclo Esercizio5: AX=BL*CL mov AX,0 ; AX=0 ciclo add AL,BL ; AL=AL+BL adc AH,0 ; AH=AH+CF sub CL,1 ; CL=CL-1 jnz ciclo ; se CL 0 torna al ciclo int 3 Boscolo Jona 4ISC Anno Scolastico 2005/

35 Esercizio6:Somma due numeri binari di 32 cifre il cui codice è contenuto nella memoria centrale S=(a+b) mod 2 32 a = WORD [(10000) 16 ] a = WORD [(10001) 16 ] b = WORD [(20000) 16 ] b = WORD [(20002) 16 ] s = WORD [(30000) 16 ] s = WORD [(30003) 16 ] a 7 a a 15 a a 23 a a 31 a 24 IF a = (10000) 16 IL a = [(1000) 16 : (0) 16 ] IF b = (20000) 16 IL b = [(2000) 16 : (0) 16 ] IFs = (30000) 16 IL s = [(3000) 16 : (0) 16 ] MOV AX,1000 ; AX=Segment MOV DS,AX ; DS=AX MOV BX, WORD[0] MOV AX,2000 ; AX=Segment MOV ES,AX ; BX=AX ADD BX,WORD[0] ; BX=BX+WORD[ES:0] MOV AX,3000 MOV ES,AX MOV WORD[0],BX ; S = BX = A B MOV AX,1000 MOV DS,AX MOV BX, WORD[2] MOV AX,2000 MOV ES,AX ADC BX,WORD[2] MOV AX,3000 MOV ES,AX MOV WORD[2],BX Boscolo Jona 4ISC Anno Scolastico 2005/

36 Esercizio7 : Copiare il contenuto del segmento di indirizzo fisico iniziale DS*16 e lunghezza uguale a CX byte nell area di memoria ES*16 Inizio: mov BX,0 Ciclo: mov AL,byte[BX] ES mov byte[bx],al inc BX dec CX jne Ciclo ret Esercizio8: Compattare la stringa togliendo gli spazi vuoti Inizio: mov SI,0 mov DI,0 Ciclo: cmp byte[si],20 je incsi mov AL,byte[SI] mov byte[di],al cmp byte[di],0 je FINE inc DI incsi: inc SI FINE: Ret Esercizio9: Visualizzare una stringa il cui primo elemento è (DS:SI) Inizio: mov SI,0 ; i=0 Ciclo: cmp byte[si],0 ; Se Stringa[i]=Term allora termina il programma je FINE mov AH,0E ; AH = numero del servizio mov AL,byte[SI] ; AL = Stringa[i] mov BX,0 ; BX = numero di pagina int 10 ; chiama la routine del BIOS relativa ai servizi dello schermo inc SI ; i=i+1 jmp Ciclo FINE: ret Boscolo Jona 4ISC Anno Scolastico 2005/

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

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

L Assembler 8086. Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica

L Assembler 8086. Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica L Assembler 8086 M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Si suddividono in: istruzioni per il calcolo binario istruzioni

Dettagli

I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi. Elementi di Assembly 8086

I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi. Elementi di Assembly 8086 I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi Elementi di Assembly 8086 1 Assembly 8086 I registri Per poter elaborare le informazioni ricevute dall esterno,

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

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

Il linguaggio assembly 8086

Il linguaggio assembly 8086 Il linguaggio assembly 8086 Introduzione Il linguaggio macchina Il linguaggio naturale di un microprocessore è il linguaggio macchina. Nel linguaggio macchina non esistono riferimenti astratti o simbolici

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

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

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

Il linguaggio Assembly della CPU 8086. Il linguaggio Macchina

Il linguaggio Assembly della CPU 8086. Il linguaggio Macchina Il linguaggio Assembly della CPU 8086 Il linguaggio Macchina Fortemente orientato alla macchina Direttamente eseguibile Praticamente illeggibile Utilizzato negli anni 50 70 per sviluppare programmi Attualmente

Dettagli

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO

CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO 1 Domanda [1 punto] Dato il formato in virgola mobile su 32 bit così definito (precisione singola): o 1

Dettagli

CALCOLATORI ELETTRONICI II

CALCOLATORI ELETTRONICI II CALCOLATORI ELETTRONICI II L ASSEMBLATORE Microsoft MASM MASM Argomenti della lezione Faremo riferimento al linguaggio sorgente accettato dall assemblatore Microsoft MASM nelle versioni successive alla

Dettagli

Architettura del Set di Istruzioni (ISA)

Architettura del Set di Istruzioni (ISA) Architettura del Set di Istruzioni (ISA) Maurizio Palesi Maurizio Palesi 1 Instruction Set Architecture (ISA) Software instruction set Hardware Maurizio Palesi 2 1 Instruction Set Architecture (ISA) Applicazioni

Dettagli

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.

Dettagli

HARDWARE E SOFTWARE DEL µp 8086

HARDWARE E SOFTWARE DEL µp 8086 HARDWARE E SOFTWARE DEL µp 8086 Dispensa interna Istituto Tecnico Industriale M. Panetti BARI Premessa Un sistema a µp si può pensare costituito da due strutture: una software e l altra hardware. Esse

Dettagli

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse. Capitolo 7 Le infrastrutture SoftWare Funzioni del sistema operativo Rendere utilizzabili le risorse fisiche presenti nel sistema informatico: correttezza e precision; anywhere, anytime; affidabilità,

Dettagli

Calcolatori Elettronici Parte X: l'assemblatore as88

Calcolatori Elettronici Parte X: l'assemblatore as88 Anno Accademico 2013/2014 Calcolatori Elettronici Parte X: l'assemblatore as88 Prof. Riccardo Torlone Università Roma Tre L'assemblatore as88 Disponibile presso: CD-ROM allegato al libro di testo del corso

Dettagli

Caratteristiche di un PC

Caratteristiche di un PC Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

L Assembler 80x86 Concetti Generali. M. Rebaudengo M. Sonza Reorda P. Bernardi

L Assembler 80x86 Concetti Generali. M. Rebaudengo M. Sonza Reorda P. Bernardi L Assembler 80x86 Concetti Generali M. Rebaudengo M. Sonza Reorda P. Bernardi Sommario Introduzione Pseudo-Istruzioni Operatori Modi di Indirizzamento Istruzioni Sommario Introduzione Pseudo-Istruzioni

Dettagli

Informatica Teorica. Macchine a registri

Informatica Teorica. Macchine a registri Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire

Dettagli

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control

Dettagli

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine. Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere

Dettagli

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca

Dettagli

È consuetudine classificare le istruzioni macchina in base al numero degli operandi a cui

È consuetudine classificare le istruzioni macchina in base al numero degli operandi a cui Testo di rif.to: [Congiu] - 4.1,4.2 (pg. 129 138) 02.a Le istruzioni di macchina Classificazione delle istruzioni Direttive per l assemblatore Classificazione delle istruzioni È consuetudine classificare

Dettagli

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler Indice Linguaggio ad alto livello, linguagio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni aritmetiche, di trasferimento dati e di salto Conversione linguaggio assembler in linguaggio

Dettagli

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

(1) (2) (3) (4) 11 nessuno/a 9 10. (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B Compito: Domanda 1 Per l'algoritmo fornito di seguito, qual è il valore assunto dalla variabile contatore quando l'algoritmo termina: Passo 1 Poni il valore di contatore a 1 Passo 2 Ripeti i passi da 3

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

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

CAPITOLO 4: BASI DI ASSEMBLY

CAPITOLO 4: BASI DI ASSEMBLY CAPITOLO 4: BASI DI ASSEMBLY x86 Un giorno a qualcuno venne in mente di creare un processore 8086, che si è poi evoluto ed è diventato il più veloce 80286, meglio conosciuto come 286, che a sua volta ha

Dettagli

ARCHITETTURA DEI CALCOLATORI VOLUME I

ARCHITETTURA DEI CALCOLATORI VOLUME I Graziano Frosini ARCHITETTURA DEI CALCOLATORI VOLUME I ASSEMBLER E CORRISPONDENZA FRA C++ E ASSEMBLER CON RIFERIMENTO AL PERSONAL COMPUTER E ALL AMBIENTE DI PROGRAMMAZIONE DJGPP Copyright MMIX ARACNE editrice

Dettagli

Architettura di un Elaboratore

Architettura di un Elaboratore Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

La gestione dell I/O (Cap. 5, Tanenbaum)

La gestione dell I/O (Cap. 5, Tanenbaum) La gestione dell I/O (Cap. 5, Tanenbaum) Prestazioni e generalità Gestione software Supporti su disco Orologi Lezione Architettura degli Elaboratori - 1 - A. Sperduti Pagina 1 Prestazioni e generalità

Dettagli

Classe 3a INF - Esecuzione di un interrupt: ricostruzione delle operazioni al calcolatore con Turbo Debugger

Classe 3a INF - Esecuzione di un interrupt: ricostruzione delle operazioni al calcolatore con Turbo Debugger Classe 3a INF - Esecuzione di un interrupt: ricostruzione delle operazioni al calcolatore con Turbo Debugger Turbo debugger è un potente strumento di sviluppo pensato, anni fa, come complemento agli strumenti

Dettagli

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI PROGETTO DELLA CPU MEMORIZZAZIONE DEGLI OPERANDI DOVE SONO MEMORIZZATI GLI OPERANDI NELLA CPU? ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI SCELTE PROGETTUALI: 1. DOVE SONO MEMORIZZATI

Dettagli

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:

Dettagli

Introduzione. Un calcolatore digitale è costituito da un sistema interconnesso dei seguenti dispositivi:

Introduzione. Un calcolatore digitale è costituito da un sistema interconnesso dei seguenti dispositivi: Appunti di Calcolatori Elettronici Organizzazione dei sistemi di elaborazione Introduzione... 1 La CPU... 2 Ciclo di esecuzione delle istruzioni... 3 Insieme delle istruzioni... 4 Organizzazione della

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

MASSIMO UBERTINI ASSEMBLER WWW.UBERTINI.IT

MASSIMO UBERTINI ASSEMBLER WWW.UBERTINI.IT MASSIMO UBERTINI ASSEMBLER WWW.UBERTINI.IT ;Nome del programma: inser.asm ;Programmatore: ;Descrizione ;Programma che inserisce un valore nel registro AX. DOSSEG.MODEL SMALL.STACK 200H.DATA.CODE BEGIN:

Dettagli

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

PROGRAMMA DI SISTEMI TERZA AET 2014/2015 PROGRAMMA DI SISTEMI TERZA AET 2014/2015 Docente: Gamerra Giuseppe, Porta Giovanni Testo : manuali originali dello Z80, appunti in classe, dispense sulla intranet, simulatore OSHONSOFT A) Non sono state

Dettagli

C. P. U. MEMORIA CENTRALE

C. P. U. MEMORIA CENTRALE C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

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

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000 AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono

Dettagli

L architettura del calcolatore (Prima parte)

L architettura del calcolatore (Prima parte) L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati

Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati Il Livello LogicoDigitale i Blocchi funzionali combinatori Circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati

Dettagli

Assembler Intel 80x86: Struttura di un programma e Direttive

Assembler Intel 80x86: Struttura di un programma e Direttive Assembler Intel 80x86: Struttura di un programma e Direttive Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin 1 Istruzioni e direttive Formato generale dei comandi: [nome] codice operazione

Dettagli

Assembler 8086/8088: Concetti Generali

Assembler 8086/8088: Concetti Generali L Assembler 8086 Concetti Generali M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Sommario Introduzione Pseudo-Istruzioni Operatori

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.

Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato. Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti

Dettagli

introduzione I MICROCONTROLLORI

introduzione I MICROCONTROLLORI introduzione I MICROCONTROLLORI Definizione Un microcontrollore è un dispositivo elettronico programmabile Può svolgere autonomamente diverse funzioni in base al programma in esso implementato Non è la

Dettagli

CALCOLATORI ELETTRONICI II

CALCOLATORI ELETTRONICI II CALCOLATORI ELETTRONICI II ARCHITETTURA DEL PROCESSORE 886 PARTE (II) Argomenti della lezione Architettura del processore 886 parte (II) Stack Stack I/O Lo stack Lo stack L'886 prevede alcune strutture

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06. SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a

Dettagli

[http://www.di.univaq.it/muccini/labarch]

[http://www.di.univaq.it/muccini/labarch] [http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 3: Introduzione a SPIM

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

PARTE III MACCHINE A REGISTRI

PARTE III MACCHINE A REGISTRI PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). RCHITETTUR DI UN ELORTORE Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). MCCHIN DI VON NEUMNN UNITÀ FUNZIONLI fondamentali Processore (CPU) Memoria

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

Calcolo numerico e programmazione Architettura dei calcolatori Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

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

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

MODELLI DI MEMORIA e CALL

MODELLI DI MEMORIA e CALL Corso di Archite?ura degli Elaboratori Modulo di Assembly MODELLI DI MEMORIA e CALL Bruno Iafelice University of Bologna iafelice at cs(dot)unibo(dot)it 1 ArgomenC Modelli di memoria per 8088 Chiamata

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

Programmazione modulare 2012-2013

Programmazione modulare 2012-2013 Programmazione modulare 2012-2013 Indirizzo: Informatica Abacus Disciplina: SISTEMI DI ELABORAZIONE E TRASMISSIONE DELLE INFORMAZIONI Classe: A e B Docenti: Buscemi Letizia Ore settimanali previste: 5

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

PROGRAMMARE IN ASSEMBLER SU PROCESSORI X86.

PROGRAMMARE IN ASSEMBLER SU PROCESSORI X86. PROGRAMMARE IN ASSEMBLER SU PROCESSORI X86. Dopo svariati anni di sperimentazione e apprendimento del linguaggio assembly ho finalmente deciso di pubblicare una pagina web su questo argomento. In modo

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

Esempio di moltiplicazione come somma e spostamento

Esempio di moltiplicazione come somma e spostamento Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35

Dettagli

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI PROGETTO DELLA CPU ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI SCELTE PROGETTUALI: 1. DOVE SONO MEMORIZZATI GLI ERANDI NELLA CPU? 2 QUANTI ERANDI SONO CHIAMATI IN MODO ESPLICITO 3. DOVE

Dettagli

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0 Fondamenti Teorici Antonio Pescapè e Marcello Esposito Parte Seconda v2.0 Agenda Modello di Von Neumann Algoritmo del Processore Linguaggio Macchina e Linguaggio Assembler Hardware e Software Compilatori

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

Lezione n.9. Introduzione al linguaggio macchina

Lezione n.9. Introduzione al linguaggio macchina Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo

Dettagli

CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO

CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO L architettura di un calcolatore Informatica Linguaggi ad alto livello/applicazioni Sistema operativo Assembler ISA Architettura

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A 1 Calcolatori Elettronici L-A Obiettivo del modulo è lo studio dei seguenti aspetti dell hardware dei calcolatori: l architettura i principi di funzionamento le tecniche di progettazione l impatto dell'architettura

Dettagli

Powered by: Relators:

Powered by: Relators: Powered by: Hacking Group Como www.hgcomo.org Relators: Beretta Matteo, matteo@hgcomo.org Pizzagalli Diego Ulisse ulisse@hgcomo.org Atmel AVR Studio 4 integra al suo interno un ambiente di programmazione

Dettagli

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO PROGRAMMA Descrizione funzionale di un calcolatore elementare, COS'E' UN ELETTRONICO HARDWARE SOFTWARE HARDWARE

Dettagli

Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni

Sistemi operativi. Motivazione. Tipi di software. Sistemi operativi. Un sistema operativo (SO) e un insieme di programmi che gestiscono le funzioni Motivazione Sistemi operativi Molte attivita in parallelo su un singolo calcolatore Es.: stampa di un documento e scrittura di un altro Il sistema operativo serve a coordinare queste attivita e far comunicare

Dettagli

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione

Gestione della memoria. Paginazione Segmentazione Segmentazione con paginazione Gestione della memoria Paginazione Segmentazione Segmentazione con paginazione Modello di paginazione Il numero di pagina serve come indice per la tabella delle pagine. Questa contiene l indirizzo di base

Dettagli

COMPILAZIONE. Tarsformazione di linguaggi

COMPILAZIONE. Tarsformazione di linguaggi COMPILAZIONE Tarsformazione di linguaggi Le fasi della compilazione File sorgente Compilazione File sorgente File sorgente File sorgente Compilazione Compilazione Compilazione Libreria di run-time File

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

STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET

STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET Lo stack STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET Lo stack (tradotto talvolta in italiano con pila o catasta) è un'area di memoria privilegiata, dove il microprocessore può salvare

Dettagli

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni

WINDOWS95. 1. Avviare Windows95. Avviare Windows95 non è un problema: parte. automaticamente all accensione del computer. 2. Barra delle applicazioni WINDOWS95 1. Avviare Windows95 Avviare Windows95 non è un problema: parte automaticamente all accensione del computer. 2. Barra delle applicazioni 1 La barra delle applicazioni permette di richiamare le

Dettagli

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori

Dettagli

Processore PC. Spazio di indirizzamento. la ALU (Arithmetic and Logic Unit) la FPU (Floating Point Unit)

Processore PC. Spazio di indirizzamento. la ALU (Arithmetic and Logic Unit) la FPU (Floating Point Unit) Processore PC Faremo riferimento al cosiddetto processore PC, che rappresenta una schematizzazione dei processori a 32 bit presenti nei Personal Computer. Il processore è costituito da due unità fondamentali:

Dettagli

4. Operazioni aritmetiche con i numeri binari

4. Operazioni aritmetiche con i numeri binari I Numeri Binari 4. Operazioni aritmetiche con i numeri binari Contare con i numeri binari Prima di vedere quali operazioni possiamo effettuare con i numeri binari, iniziamo ad imparare a contare in binario:

Dettagli

I componenti di un Sistema di elaborazione. CPU (central process unit)

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli