ancora l architettura elementare di un sistema di elaborazione:

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ancora l architettura elementare di un sistema di elaborazione:"

Transcript

1 Principi di architetture dei calcolatori: la gestione delle periferiche. Mariagiovanna Sami

2 Riprendiamo ancora l architettura elementare di un sistema di elaborazione: Il punto di partenza 2

3 Il punto di partenza Nello schema, al bus di sistema si connettono anche le varie unità periferiche (dette in genere unità di I/O, cioè di Ingresso/Uscita ), che si interfacciano con bus dati, bus degli indirizzi, bus di controllo in modo da scambiare informazione fra mondo esterno e sistema di elaborazione vero e proprio; Si può notare che nello schema di partenza queste unità vengono indirizzate dalla CPU e scrivono o leggono dati sul bus dati... Sono cioè unità slave, comandate dalla CPU e incapaci di prendere il controllo del sistema. Come si effettuano in realtà le operazioni di I/O? 3

4 Come migliorare l efficienza del sistema? Un collo di bottiglia nell architettura elementare di Von Neumann è costituito proprio dal sottosistema di ingressouscita (I/O). Infatti: Nello schema visto nel primo corso di Informatica, tutte le operazioni d ingresso/uscita avvengono a controllo di programma: il programmatore inserisce i nel flusso di esecuzione le specifiche istruzioni ad alto livello che determinano la lettura di un dato da una periferica di ingresso, o la scrittura su una periferica di uscita. In realtà l operazione non è banale: le unità coinvolte differiscono per tecnologia e per tempi di reazione... Occorre garantire comunque un corretto scambio di informazione! 4

5 Esempio di azioni di I/O Stampa di un carattere su stampante: è una tipica operazione di uscita cioè un trasferimento dalla CPU alla periferica. Si traduce in una sequenza di interazioni: la stampante t deve segnalare al calcolatore l che è disponibile (pronta) ad accettare un nuovo dato per la stampa (sincronizzazione); Una volta accertata la disponibilità della stampante, il calcolatore esegue un istruzione di uscita OUT trasferendo il carattere sul registro dati della stampante, che potrà quindi eseguirne la stampa (trasferimento). 5

6 Esempio di azioni di I/O Si noti: la stampante è dotata di un registro dati in cui memorizza il carattere che le viene inviato dalla CPU per tutto il tempo necessario a completare l operazione di stampa (di fatto, è in questo registro che la CPU scrive ), e di un registro di stato (nel caso più semplice, un registro di un solo bit) che segnala la disponibilità della stampante stessa: tale registro è posizionato dalla stampante e letto dalla CPU. 6

7 Esempio di azioni di I/O Acquisizione di un carattere da tastiera: è una tipica operazione di ingresso dalla periferica alla CPU. Anch essa si traduce in una sequenza di interazioni: il calcolatore deve verificare se la tastiera segnala che è stato premuto un tasto e quindi esiste un carattere disponibile (sincronizzazione); il calcolatore esegue un istruzione di ingresso IN dal registro dati della tastiera per acquisire il valore del carattere (trasferimento). Anche in questo caso l interfacciaf della tastiera (oltre alla logica per ricevere l indirizzo ed effettuare gli opportuni scambi di segnali di controllo) deve comprendere un registro dati (in cui si stabilizza il codice fornito dalla tastiera e che viene letto dalla CPU) e un registro di stato. 7

8 L interfacciamento delle unità di I/O Nelle strutture attuali: Al bus di sistema si collegano delle porte di accesso (I/O) che vengono indirizzate tramite il bus degli indirizzi e nelle quali c è spazio per registrare stato, dati e nel caso si tratti di collegamenti con unità bidirezionali o comunque in grado di espletare più funzionalità anche comandi che indicano il tipo di operazione che si vuole eseguire; Mediante un opportuno bus di interfacciamento, diverso da quello di sistema e che varia anche a seconda del tipo di periferica e di modalità di collegamento, si collega alla porta di accesso la periferica i dotata di una sua interfaccia i (h (che, ad esempio, traduce segnali meccanici in segnali elettrici, provvede a codificare l informazione raccolta, etc.). 8

9 Collegamento di una periferica (a livello di sistema) CALCOLATORE MEMORIA PROCESSORE BUS INTER RFACCIA PERIFERICA INTERFAC CIA Interazioni Esterne PORTE DI ACCESSO (I/O) stato comandi dati (trattati come bit in registri) BUS DI INTERFACCIAMENTO: Seriale/parallelo Dedicato/condiviso Standard/ad hoc (Esempi: RS232C, IEEE488, USB, SCSI: stato/comandi/dati sao/ o a d/da trattati a come segnali ocodici) 9

10 Porte di accesso (I/O) e bus Porte di accesso: includono registri indirizzabili e leggibili e/o scrivibili da parte del processore (accessibili anche dall interfaccia lato periferica) insieme a circuiti ausiliari Registro(i) dati: contengono i dati forniti dalla periferica alla CPU (trasferimento in ingresso) oppure forniti dalla CPU alla periferica (in uscita) Registro comandi: contiene informazioni che determinano il modo di funzionamento della periferica (informazioni generate dalla CPU e utilizzate dalla periferica) Registro di stato: contiene informazioni i i relative allo stato di funzionamento della periferica (informazioni generate dalla periferica e utilizzate dalla CPU). 10

11 Porte di accesso (I/O) e bus Minima informazione tipicamente contenuta nel registro di stato: la periferica è pronta ad accettare un dato dalla CPU o a trasferire un dato alla CPU (è disponibile) oppure no. Informazioni che transitano sul Bus di sistema: Bus indirizzi: i i indirizzi i i delle porte di accesso, forniti dal master del bus (in generale la CPU) Bus di controllo: segnale di lettura/scrittura, per specificare l accesso a porte di ingresso e uscita (più altri segnali che si vedranno in seguito), eventuale segnale IOREQ per specificare l accesso a porte di ingresso e uscita Bus dati: dati forniti dalla CPU alla periferica o viceversa 11

12 La gestione a controllo di programma Nella soluzione discussa finora, la sincronizzazione e il trasferimento vengono eseguiti dal programma che richiede l operazione di ingresso/uscita: più esattamente, il programma legge il registro di stato dell interfaccia della periferica se lo stato è periferica non pronta il programma ripete la lettura del registro di stato, fino a quando non trova che la periferica è pronta; a questo punto esegue il trasferimento del dato Esempio: programma per l introduzione i di una linea da tastiera e per la contemporanea generazione di eco sul video 12

13 La gestione a controllo di programma 13

14 La gestione a controllo di programma Nel segmento di programma ora riportato, si fa riferimento a un organizzazione del sistema nella quale le porte delle unità periferiche vengono trattate come se fossero posizioni i i di memoria alle quali si accede quindi con istruzioni tipo MOVE; in altre parole, le operazioni di ingressouscita non richiedono particolari istruzioni. 14

15 La gestione a controllo di programma generalizzando l esempio: il programma di gestione della periferica: legge il registro di stato dell interfaccia della periferica e ne verifica il valore con l istruzione IN registro_di_stato) se lo stato è periferica non pronta si ripete la lettura del registro di stato fino a quando lo stato non diventa periferica pronta ; quando lo stato è quest ultimo: esegue il trasferimento del dato tramite una delle seguenti operazioni: IN_registro_dati se la periferica è di ingresso (ad es. tastiera) OUT_registro_dati se la periferica è di uscita (ad es. stampante) 15

16 La gestione a controllo di programma se la periferica è d ingresso ingresso, dopo l istruzione IN, il dato acquisito deve essere copiato nella posizione (in memoria o in un registro della CPU) corrispondente alla relativa variabile se la periferica è di uscita, il dato che deve essere trasferito tramite l istruzione OUT deve prima essere prelevato dalla posizione che ospita la relativa variabile 16

17 La gestione a controllo di programma La gestione a controllo di programma è concettualmente molto semplice ma ha evidenti limiti: La CPU è asservita alla periferica; per non perdere dati, se la periferica non è pronta la CPU deve rimanere in ciclo in attesa che la periferica i si renda disponibile; Il trasferimento di dati in ingresso o in uscita è rigorosamente sincronizzato con l esecuzione del programma; catturare eventi esterni che si verificano in istanti non predicibili è praticamente impossibile (per riuscirvi, la CPU dovrebbe restare continuamente t in attesa senza poter fare altro!). 17

18 La gestione a controllo di programma La tecnica a controllo di programma peraltro è ideale se il ciclo di istruzioni del programma di gestione della periferica è inserito nel programma utente; quando il programma utente è in attesa, non ha null altro da fare; non c è nessun altro programma utente da eseguire. Se la periferica è pronta, l esecuzione del programma di gestione della periferica è molto veloce 18

19 Gestire eventi asincroni: L interruzione di programma (Interrupt) Come garantire Nel caso di eventi esterni che si verificano in istanti non predicibili, la capacità di gestirli con efficienza; Più in genere, la possibilità per la CPU di eseguire altri compiti quando la perifericanon risulta pronta e passare a gestire il trasferimento solo quando la periferica è pronta? Si introduce un nuovo concetto: quello di interruzione di programma (interrupt) p 19

20 Gestire eventi asincroni: L interruzione di programma (Interrupt) Concetto fondamentale: La CPU è ancora l unico master del sistema (sostanzialmente, l unica unità capace di accedere alle memorie e di inviare indirizzi sul bus degli indirizzi) ma le periferiche sono in grado di inviare alla CPU sul bus di controllo un segnale di interruzione per indicare una loro richiesta di accedere al bus di sistema: Nel caso di trasferimento in ingresso, al fine di trasferire un dato dalla periferica alla CPU, oppure Nel caso di una periferica di uscita, segnalando che un operazione di uscita è stata completata e che quindi la periferica è disponibile a effettuarne una nuova. 20

21 Gestire eventi asincroni: L interruzione di programma (Interrupt) In presenza di interruzione, la CPU deve essere in grado di sospendere l esecuzione del programma in corso, salvare tutta l informazione indispensabile per poterlo poi riprendere correttamente Passare a eseguire il programma per gestire il trasferimento con la periferica Riprendere l esecuzione del programma interrotto, recuperando l informazione salvata. 21

22 L interruzione di programma (Interrupt) Si consideri il caso di ingresso: quando l interfaccia della periferica porta il dato nella porta di ingresso, genera un segnale di interruzione (interrupt) per il processore Il processore se è disponibile ad accettare l interruzione, porta a termine l istruzione in corso, poi interrompe l esecuzione del programma in corso e salta automaticamente a eseguire la routine di risposta all interruzione che gestisce il trasferimento dalla porta d ingresso alla CPU e la successiva scrittura del dato in un registro interno della CPU o in memoria; Al termine di queste operazioni, il processore riprende (in modo trasparente) l esecuzione del programma interrotto. 22

23 L interruzione di programma (Interrupt) Per garantire la correttezza di quanto sopra, occorre che: L unità di controllo della CPU provveda in modo automatico a salvare come minimo l indirizzo della prima istruzione successiva all interruzione, i possibilmente altri registri i non visibili al programmatore; Il programma di gestione dell interruzione provveda poi come prima cosa al salvataggio del contesto del contenuto di tutti quei registri che verranno usati dal programma stesso come registri di utilità e, alla fine, al ripristino dei medesimi subito prima di restituire il controllo al programma interrotto mediante un istruzione di ritorno dall interruzione IRET (appartenente all insieme di istruzioni di macchina) che provvede al ripristino del PC di rientro nel programma interrotto. 23

24 L interruzione di programma (Interrupt) (Il comportamento nel caso di uscita è duale). La gestione della periferica diventa asincrona rispetto all esecuzione del programma principale, nel quale non vengono più inserite le istruzioni per gestire operazioni di I/O; Sul bus di controllo devono ora transitare ulteriori i informazioni la richiesta di interruzione (INT. REQUEST inviata dalla periferica alla CPU) e la disponibilità ad accettare l interruzione (INT. ACKNOWLEDGE inviata dalla CPU alla periferica). Si noti: l interruzione può essere disabilitata (o mascherata ), nel qual caso la CPU non la accetta e non restituisce il segnale INT. ACKNOWLEDGE 24

25 L interruzione di programma (Interrupt) Si consideri dapprima lo schema più semplice possibile, nel quale esistono un unica periferica interrompente (non occorre quindi distinguere fra diverse possibili sorgenti di interruzione) e un unico livello di interruzione (non occorre introdurre un concetto di priorità fra diverse interruzioni): Si vedono lo schema hardware e la sequenza di operazioni elementari (inclusi gli scambi di segnali di controllo) (anche qui, si fa riferimento a una periferica di ingresso). 25

26 Una sola periferica, un solo livello di interruzione Processore Memoria Programma di risposta (uno solo, in luogo prefissato) BUS INDIRIZZI DATI CONTROLLO INT. ACKNOWLEDGE INT. REQUEST PORTA Interfaccia Attivazione Letto Dato Interfaccia interrompente (una sola) 26

27 Una sola periferica, un solo livello di interruzione Vediamo ora passo per passo la successione delle operazioni. La periferica ha il dato pronto: 1. L interfaccia: Trasferisce il dato nella porta d ingresso e attiva (= porta a un opportuno valore logico, ad esempio il valore alto ) il segnale ATTIVAZIONE; il segnale INT.ACKNOWLEDGE (sul bus di controllo) non è attivo; l interfaccia può quindi attivare il segnale INT.REQUEST sulla corrispondente linea del bus di controllo 2. Il processore: riceve il segnale INT.REQUEST; Nel caso considerato, è interrompibile e quindi a sua volta attiva il segnale INT.ACKNOWLEDGE sul bus di controllo 27

28 3. L interfaccia Una sola periferica, un solo livello di interruzione riceve INT.ACKNOWLEDGE, e disattiva (riporta a valore logico basso) il segnale INT.REQUEST 4. Il processore termina l esecuzione dell istruzione di macchina in corso; salva lo stato del programma interrotto (come minimo, salva il PC tipicamente, sulla pila) e forza nel PC l indirizzo di inizio della routine di risposta all interruzione esegue la routine di risposta, che procede alla effettiva operazione di ingresso. Durante l esecuzione dell istruzione di lettura dalla porta, un ciclo di bus abilita la porta e il segnale LETTO di abilitazione i della porta viene trasferito all interfaccia 28

29 Una sola periferica, un solo livello di interruzione 5. L interfaccia disabilita il segnale ATTIVAZIONE e ritiene trasferito il dato. Può iniziare la lettura del dato successivo, se è già disponibile 6. Il processore Al termine della routine di gestione dell interruzione esegue l istruzione IRET (rientra dall interrupt) mediante la quale l indirizzo di rientro precedentemente salvato viene riportato nel PC così da riprendere il programma interrotto. Se occorreva salvare un contesto più ampio (es., i registri di tipo generale accessibili al programmatore, il registro di stato del processore, etc.) questi devono essere salvati da software all inizio del programma di gestione dell interruzione e ripristinati (sempre da sw) immediatamente prima della IRET. 29

30 Esempio: acquisizione dalla tastiera Acquisizione di un carattere da tastiera con gestione a interrupt Quando l interfaccia della periferica scrive il dato nel registro dati, con un segnale di interruzione allerta il processore (sincronizzazione). Il processore interrompe l esecuzione del programma in corso e salta automaticamente a eseguire la parte di programma che legge il registro dell interfaccia (trasferimento). Al termine di questo, il processore riprende il programma interrotto. 30

31 Esempio: gestione della stampante PROCESSORE Esegue istruzioni di un programma P ADATTATORE Stato:Non Pronta Dati:. STAMPANTE Occupata per un operazione PROCESSORE Passa a eseguire la routine di interrupt Interrupt ADATTATORE Stato: Pronta Dati:. STAMPANTE L operazione è terminata t PROCESSORE Routine di Interrupt OUT Stampante.Dati ritorno (IRET) il processore riprende il programma P A ADATTATORE Stato:Non Pronta Dati: A STAMPANTE stampa una A 31

32 Il caso reale La soluzione vista finora è estremamente semplicistica: in particolare, esiste una sola periferica interrompente quindi una sola possibile routine di gestione dell interruzione. Nei casi reali, di norma, esistono più periferiche interrompenti occorre identificare la periferica i interrompente t e la corrispondente routine di risposta all interrupt da eseguire. 1. Soluzione più semplice: esiste un unica unica routine di risposta, che interroga in sequenza i registri di stato delle diverse periferiche per identificare chi ha inviato interruzione e poi esegue le istruzioni corrispondenti; 2. Soluzione più avanzata: ricorso al vettore di interruzione. 32

33 Il caso reale Si noti che nel primo caso l ordine in cui si leggono i registri di stato associati alle diverse periferiche indica implicitamente una priorità di diritto al servizio nel caso in cui più periferiche abbiano simultaneamente richiesto accesso alla CPU. Il principio di vettore di interruzione (interruzione vettorizzata) implica che la periferica sia in grado di comunicare alla CPU informazione che consenta di risalire all indirizzo di inizio della relativa routine di gestione ma si ricordi, la CPU è ancora l unico master del sistema (quindi l unica unità in grado di portare un indirizzo sul bus degli indirizzi)! Come si procede? 33

34 Vettore di interruzione Durante la fase di accettazione di una interruzione, il processore attiva il segnale INT.ACKNOWLEDGE e genera un ciclo di bus di lettura dal bus dati senza portare alcun indirizzo sul bus degli indirizzi; La periferica interrompente che è di turno (tra tutte le periferiche contemporaneamente interrompenti è quella a priorità più elevata e deve quindi essere servita per prima) partecipa a questo ciclo di bus, e pone sul bus dati un numero che la identifica (il vettore dell interruzione); Il processore usa il vettore per determinare l indirizzo in memoria della corrispondente procedura di risposta. 34

35 Vettore di interruzione INDIRIZZI DATI CONTROLLO INT ACKNOWLEDGE Periferica Sono di turno Abilitazione Porta del vettore Vettore (fisso e prestabilito) Il vettore che indica l indirizzo di inizio della routine di gestione (o una parte di tale indirizzo) viene portato sul bus dei dati. 35

36 Livelli di priorità Ulteriori problemi che nascono dalla presenza di più unità interrompenti Occorre assegnare una priorità alle periferiche, e quindi agli interrupt, così da poter gestire correttamente richieste contemporanee di interruzione (si dà immediatamente risposta alla richiesta più prioritaria, le altre rimangono pendenti): nasce la necessità di un meccanismo di arbitraggio Si deve ammettere la possibilità di interruzioni annidate mentre il sistema sta servendo un interruzione, se ne presenta un altra e quindi prevedere il modo di gestirle. 36

37 Priorità e annidamento Un interrupt: può interrompere un programma in esecuzione (sia esso il Sistema Operativo piuttosto che un programma utente) può essere a sua volta interrotto da un altro interrupt (interrupt annidati) Per gestire correttamente l interrompibilità interrompibilità, devono essere disponibili a livello di processore dei meccanismi che consentono di attribuire priorità agli interrupt e cioè definire i se un interrupt con una certa priorità i può interrompere l esecuzione del processore stesso e se un interrupt può interrompere l esecuzione della routine di gestione di un altro interrupt. 37

38 Arbitraggio (priorità e gestione delle richieste contemporanee): linee individuali Soluzione più immediata: linee individuali per ogni periferica: semplice gestione delle priorità e dell arbitraggio, ma esplosione del numero di linee all aumentare dei dispositivi! INT_REQ1 INT_REQ2 INT_REQn processore periferica 1 periferica 2 periferica n circuito di arbitraggio della priorità INT_ACK1 INT_ACK2 INT_ACKn 38

39 Arbitraggio (priorità e gestione delle richieste contemporanee): arbitraggio daisychaining CPU L accettazione è fornita a tutte le periferiche del livello Le richieste di interruzione di tutte le periferiche del livello sono accumulate (un solo segnale) INT REQUEST BUS INT ACKNOWLEDGE OK Segnale di autorizzazione: viene propagato solo da chi non ha interrotto. Chi ha interrotto e riceve l autorizzazione, E DI TURNO. Periferica 1 Periferica 2 Periferica 3 Alta priorità Media priorità Bassa priorità 39

40 Arbitraggio (priorità e gestione delle richieste contemporanee): arbitraggio daisy chaining con più linee Linee condivise in daisy chaining ma separate per priorità processore INT_REQ1 periferica periferica INT_ACK1 INT_REQp periferica periferica circuito di arbitraggio della priorità INT_ACKp 40

41 Dispositivi controllori di priorità A suo tempo vennero offerti dispositivi specifici che risolvono anche il problema delle interruzioni annidate. Es.: Intel 8259A Richieste di interruzione INT REQUEST INT ACKNOWLEDGE) Dal BUS CONTROLLI VETTORE (al BUS DATI) Intel 8259A Interupt controller Tabella di 8 vettori IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 Segnali di cooperazione: possono essere usati per collegare tra loro più 8259A in modo da aumentare il numero delle richieste di interruzione 41

42 Interruzioni: priorità e annidamento L arbitraggio daisychaining risolve il problema della priorità in caso di richieste contemporanee. È possibile annidamento, ma implicitamente si ammette che un interrupt a priorità più bassa possa interromperne uno a priorità maggiore (effetto indesiderato) Il problema viene risolto introducendo nella CPU un mezzo per riconoscere e gestire il livello di priorità del processore. Tale livello viene scritto nel registro di stato: un interrupt viene accettato solo se ha priorità superiore a quella attualmente accettata dal processore. 42

43 Interruzioni: priorità e annidamento Il meccanismo funziona se: All accettazione della richiesta di interruzione il processore salva automaticamente non solo il PC ma anche il registro di stato (il meccanismo di salvataggio è realizzato da hardware, coordinato dall unità di controllo della CPU) Al termine della routine di risposta all interrupt, l istruzione di rientro ripristina automaticamente il registro di stato oltre che il PC (anche queste operazioni richiedono un opportuna predisposizione a livello hardware). Molto spesso la CPU, al momento in cui accetta un interrupt, disabilita il meccanismo di interruzione che deve poi essere esplicitamente riabilitato da software: si permette così che eventuali annidamenti vengano gestiti secondo i requisiti dell applicazione applicazione. 43

44 Interruzioni: priorità e annidamento In genere, la CPU rende disponibile anche un tipo di interrupt non mascherabile, cioè che non può essere disabilitato (una volta che sia utilizzato nell architettura del sistema basato sulla CPU stessa) né da software né da altre interruzioni: tale interruzione verrà quindi sempre servita. La soluzione è usata in particolare là dove occorra gestire meccanismi di allarme o comunque situazioni che non possono essere ignorate o differite. 44

45 La CPU di riferimento: Motorola livelli di priorità (07) Il livello 0 è la priorità minima Alle periferiche, i o a gruppi di periferiche, i vengono assegnati i livelli 17 L interruzione di livello 7 viene accettata sempre (interrupt non mascherabile) Il livello corrente di priorità è codificato nel registro di stato (SR) del processore Collegamento effettuato con linee in daisy chaining per priorità. 45

46 La CPU di riferimento: Motorola Quando il processore accetta la richiesta di interruzione salva sulla pila prima il PC e poi il registro di stato SR L istruzione di ritorno da interruzione (RTE) ripristina SR e PC Interrupt vettorizzato: codice identificativo di 8 bit inviato sulle linee del bus dati punta a un elemento della tabella delle interruzioni che contiene un vettore di interruzione di 32 bit che rappresenta l indirizzo iniziale della routine di risposta all interrupt 46

47 Esempio 47

48 Vincoli per la programmazione Il meccanismo di interruzione è simile a quello di invocazione di una funzione: infatti prevede: la cessione del controllo dell esecuzione tra il programma interrotto e la routine di risposta all interrupt interrupt. E quindi necessario salvare sulla pila (stack) l indirizzo di ritorno per il programma interrotto (e cioè l indirizzo dell istruzione successiva a quella in esecuzione nell istante in cui il programma è stato interrotto) il ritorno all esecuzione del programma interrotto. Le routine di risposta all interrupt utilizzano, per il ritorno, una istruzione macchina IRET speciale e diversa da RFS. Differenza fondamentale rispetto alle chiamate a funzione: queste ultime sono attivate dal programma in esecuzione, mentre le routine di interrupt sono scatenate da eventi rilevati dal processore e asincroni rispetto all esecuzione del programma che viene interrotto. 48

49 Vincoli per la programmazione La gestione di un evento di I/O mediante interrupt deve garantire che il programma interrotto possa poi essere ripreso in modo totalmente trasparente non si devono distruggere o danneggiare le informazioni relative al programma interrotto; Dato che le interruzioni si presentano in modo del tutto asincrono rispetto al programma principale, le azioni mirate a garantire tale correttezza non possono essere intraprese dal programma principale (non sappiamo a che punto si presenterà l interruzione) ma devono essere parte della routine di gestione dell interruzione. 49

50 Vincoli per la programmazione Per garantire la corretta ripresa del programma interrotto, di norma occorrerà che all inizio della routine di gestione dell interruzione venga salvato opportunamente in memoria il contenuto di quei registri generali della CPU che verranno usati nel corso della routine stessa, e che tali contenuti vengano ripristinati prima del rientro dalla routine. Nel caso di interruzioni annidate, ognuna delle singole routine dovrà provvedere alla corretta gestione rispetto a se stessa. 50

51 Vincoli per la programmazione Se l interruzione viene automaticamente disabilitata, tocca al programmatore riabilitarla al punto opportuno (immediatamente prima del rientro se non si vuole servire un altra interruzione nel corso della routine di gestione, oppure quando lo si giudica utile). L istruzione con la quale termina la routine di gestione dell interruzione automaticamente preleva dalla pila il PC e il registro di stato salvati e li ripristina; 51

52 Oltre controllo di programma e interruzione Esistono situazioni in cui la periferia non può essere gestita in modo soddisfacente né a controllo di programma né mediante interruzione: Caso tipico: occorre trasferire fra periferica e memoria una sequenza anche molto lunga di dati che si presentano a intervalli di tempo ben definiti (e molto brevi) l uno dall altro. Esempi: trasferimento verso il video, oppure a/da disco magnetico. Importa quindi non solo la latenza del singolo trasferimento, ma ancor più il throughput per l intera sequenza (ossia la frequenza a cui i dati si presentano). 52

53 Oltre controllo di programma e interruzione Per casi di questo tipo, nessuna delle due tecniche viste finora è accettabile: Con ambedue le tecniche, il tempo richiesto per trasferire una singola parola a/da memoria implica l esecuzione di un segmento di programma (quindi lettura ed esecuzione di una sequenza di istruzioni più o meno lunga): tale tempo può essere superiore all intervallo ammissibile fra due dati successivi (si noti: il tempo richiesto è addirittura superiore per la routine di gestione dell interruzione che non per il controllo da programma, dato che sono richiesti passaggi di controllo e salvataggi vari!). 53

54 Inoltre: Oltre controllo di programma e interruzione Anche se i tempi fossero rispettati, la CPU sarebbe di fatto completamente bloccata su funzioni di I/O per tutto il tempo del trasferimento dell intera sequenza, e non potrebbe eseguire alcun altro compito. Per gestire trasferimenti con le caratteristiche indicate, viene adottato un terzo tipo di gestione della periferia, detto Direct Memory Access (DMA). 54

55 Accesso diretto alla memoria DMA Il meccanismo di accesso diretto alla memoria (DMA) prevede che la periferica trasferisca in modo autonomo,, cioè senza l intervento del processore che esegua istruzioni di ingresso o uscita del singolo dato, un certo numero di dati in memoria centrale o dalla memoria centrale Occorre quindi introdurre un nuovo dispositivo speciale, detto controllore di DMA (DMAC), che deve poter diventare master del bus, togliendo questo ruolo alla CPU: si renderà necessaria una capacità di arbitraggio del bus. 55

56 Accesso diretto alla memoria DMA Il controllore di DMA deve: Prendere il controllo del bus, acquisendo la capacità di portare indirizzi sul bus degli indirizzi e di inviare sul bus di controllo segnali (comandi) alla memoria. Per questo occorre che il bus di controllo supporti due nuovi segnali, rispettivamente Bus Request (dal controllore di DMA alla CPU) e Bus Grant (dalla CPU al controllore di DMA): lo scambio di tali segnali (handshake) garantisce che le due unità master accedano al bus in modo mutuamente esclusivo; Inviare poi gli opportuni segnali sul bus di controllo per accedere alla memoria nel senso opportuno, e gestire il trasferimento dati. 56

57 Accesso diretto alla memoria DMA Di fatto, l uso del DMA prevede anche una serie di operazioni gestite dal software per predisporre correttamente il funzionamento del controllore. Nell uso del DMA, si possono prevedere tre fasi successive: 1. Predisposizione e Attivazione. Una procedura di Sistema Operativo (usando la tecnica a controllo di programma) scrive nei registri dell interfaccia del controllore di DMA l indirizzo di memoria dal quale iniziare il trasferimento l indirizzo nel buffer presente sulla periferica dal quale iniziare il trasferimento il numero di dati (parole di memoria) da trasferire la direzione del trasferimento (lettura o scrittura) il comando di avviamento dell operazione. 57

58 Accesso diretto alla memoria DMA 2. Trasferimento di un blocco di dati: in questo passo è attiva la modalità DMA: Lettura da periferica: ogni volta che arriva un dato dalla periferica al controllore di DMA, questo ruba un ciclo di bus, trasferisce il dato in memoria, incrementa l indirizzo di memoria nel proprio corrispondente registro interno, decrementa il numero di dati ancora da trasferire e aspetta il prossimo dato. Operazioni duali vengono effettuate per scrittura in periferica; Per diminuire ire il tempo tra due successivi cicli rubati, spesso il DMA viene effettuato senza restituire al processore il controllo del bus per la durata di tutti i trasferimenti di un blocco di dati (DMA Block Transfer). 58

59 Accesso diretto alla memoria DMA 3. Fine del trasferimento (gestita a interruzione). Quando l ultimo dato è stato trasferito, il controllore di DMA genera un interruzione e segnala al processore che l operazione in DMA si è conclusa. Il software potrà d ora in avanti fare opportuno uso dei dati acquisiti (ed eventualmente t predisporre un altro trasferimento) t Si noti: il ricorso al DMA implica in realtà il ricorso a tutte le tre modalità di gestione delle periferiche! 59

60 Accesso diretto alla memoria DMA Di norma, il controllore di DMA comprende (oltre ai vari registri necessari per contenere l indirizzo corrente di memoria,,quelli di inizio e quello di fine blocco, il registro di stato, il contatore di parole, etc.) anche un buffer in cui memorizzare temporaneamente dati coinvolti nel trasferimento t (la sua capacità può essere di una sola parola o di un intero blocco di memoria). Ovviamente, il DMAC comprende anche una parte di logica che comanda l esecuzione degli opportuni passi nella corretta sequenza! 60

61 DMA per trasferimento a blocchi BUS REQUEST BUS GRANT PORTA INDIRIZZI DATI CONTROLLO VIA! INDIRIZZO NUMERODATI registro Interfaccia di DMA Interruzione (al controllore di interruzione, attivato quando NUMERODATI si azzera) COMANDI HW Gestore di DMA RichiestaDMA FattoDMA Dato Cattura Controllore della Periferica I tre registri: INDIRIZZO (ad autoincremento) NUMERODATI (ad autodecremento) COMANDI possono essere letti e scritti da programma tramite porte di I/O 61

62 Interfaccia e registri di un controllore di DMA bit di abilitazione di interruzione bit di segnalazione di avvenuto trasferimento bit di segnalazione di avvenuta richiesta di interruzione registro di stato e controllo bit di read / write altri (eventuali) bit di stato e controllo IR_DMA IE_DMA bit di fine R/ W registro di indirizzo iniziale di blocco dati indirizzo iniziale del blocco registro di dimensione di blocco dati dimensione del blocco 62

63 Esempio di trasferimento mediante DMA: la gestione del disco La lettura fa riferimento a un settore di una traccia (un settore consta di un certo numero di bit in sequenza) Il controllore del disco muove la testina posizionandola sulla traccia voluta. Il disco ruota, e il controllore del disco legge i vari settori. Quando finalmente sotto la testina passa il settore voluto, questo viene letto dal controllore del disco. Quando il singolo carattere è disponibile, il controllore del disco lo passa al controllore di DMA e chiede che venga lanciato un ciclo di DMA. 63

64 Esempio di trasferimento mediante DMA: la gestione del disco Il controllore di DMA scrive il carattere in memoria, nell opportuna cella del buffer, incrementa l indirizzo di memoria, così da essere pronto per il successivo carattere, e decrementa il contatore caratteri; dopo aver letto l ultimo carattere del settore, il controllore del disco smette di agire; quando il controllore di DMA riceve l ultimo carattere del settore genera un segnale di interruzione (interruzione di fine DMA). 64

65 Arbitraggio daisychaining per richieste contemporanee di DMA Anche nel caso del DMA possono esistere più periferiche che utilizzano questa modalità di trasferimento, e altrettanti controllori (o interfacce ) di DMA; si rende quindi necessario collegarli in modo opportuno; Una soluzione immediata: il ricorso al daisy chaining, i come si è fatto per il caso dell interruzione. 65

66 Arbitraggio daisychaining per richieste contemporanee di DMA CPU L accettazione è fornita a tutte le periferiche Le richieste di bus di tutte le periferiche i sono accumulate (un solo segnale) BUS REQUEST BUS BUS GRANT OK Segnale di autorizzazione: viene propagato solo da chi non ha chiesto il bus. Chi ha chiesto il bus e riceve l autorizzazione, E DI TURNO. Interf. DMA 1 Alta priorità Interf. DMA 2 Media priorità Interf. DMA 3 Bassa priorità Periferica 1 Periferica 2 Periferica 3 sono di turno 66

67 Controllore di DMA: architettura BUS REQUEST BUS GRANT indirizzo indirizzo indirizzo indirizzo PORTA numerodati numerodati numerodati numerodati Interruzione (al controllore controllo di interruzione) Canale 1 controllo Canale 2 controllo Canale 3 controllo Canale 4 registro registro registro registro dato richiesta Interfaccia di Periferica 1 Interfaccia di Periferica 2 Interfaccia di Periferica 3 Interfaccia di Periferica 4 67

68 Gestione di I/O ed efficienza: alcune considerazioni Una prima considerazione: l uso dell interruzione garantisce una risposta pronta (entro un intervallo di tempo ben predeterminato) a un evento esterno, ma non il completamento dell azione richiesta entro un tempo noto a priori, a meno che all inizio del programma di gestione non si disabiliti l interrupt; 68

69 Gestione di I/O ed efficienza: alcune considerazioni il passaggio da gestione a controllo di programma a gestione su interruzione e a gestione in DMA corrisponde a crescenti livelli di parallelismo: Nel caso di gestione a controllo di programma non esiste parallelismo; Nel caso di interruzione si utilizza un parallelismo software : in realtà c è ancora una sola unità master (la CPU che esegue in mutua esclusione o il programma principale o la routine di interruzione) ma l utente vede l esecuzione dei due programmi in parallelo (si condividono tutte le risorse del sistema); Nel caso del DMA, esiste un vero parallelismo li a livello ll hardware (sono fisicamente presenti più master del bus): i diversi master si condividono alcune risorse del sistema (il bus e la memoria). 69

70 Uso del DMA gestione del disco ADATTATORE PROCESSORE Inizializza parametri, IN Disco.Controllo Memoria: M SettoreDisco: S Parole: P Operazione: L (lettura) Controllo:Start Dati:. DISCO PROCESSORE ADATTATORE Esegue un programma P MEMORIA Indirizzo Contenuto M + N X Memoria: M SettoreDisco: S Parole: P Operazione:L Controllo:Start Parole già lette: N Dati: X DISCO posizione N del settore S del Disco: X 70

71 Uso del DMA gestione del disco ADATTATORE PROCESSORE passa ad eseguire la routine di interrupt del disco, che può ad esempio lanciare un altra operazione Interrupt Memoria: M SettoreDisco: S Parole: P Operazione:L Controllo:Start Parole già lette: P Dati: DISCO 71

72 Gestione di sistema e periferia In sistemi di elaborazione molto semplici (tipicamente, basati su microcontrollori con parola di 8 o 16 bit) il programmatore applicativo può anche accedere direttamente a tutte le funzionalità; Nella grande maggioranza dei sistemi, il programmatore applicativo può accedere direttamente solo a un sottoinsieme delle funzionalità e delle modalità d uso della CPU altrimenti, deve chiamare opportune routine del sistema operativo. 72

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema

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

Architettura di un sistema di calcolo

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

Dettagli

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

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

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

L architettura del calcolatore (Terza parte)

L architettura del calcolatore (Terza parte) L architettura del calcolatore (Terza parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin I dispositivi periferici periferia parte centrale sottosistema

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

La Comunicazione tra i dispositivi

La Comunicazione tra i dispositivi La Comunicazione tra i dispositivi Per fare comunicare i dispositivi occorre : a) stabilire un protocollo di comunicazione - definire una forma di interazione e sincronizzazione che rispecchi certe regole

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Input/Output: bus, interfacce, periferiche

Input/Output: bus, interfacce, periferiche Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L

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

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica

Sistemi Operativi II Corso di Laurea in Ingegneria Informatica www.dis.uniroma1.it/~midlab Sistemi Operativi II Corso di Laurea in Ingegneria Informatica Prof. Roberto Baldoni Complementi: Buffer I/O Gestione dei buffer e I/O scheduling: 1. Richiami sulle tecniche

Dettagli

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 : Un Sistema Operativo è un insieme complesso di programmi che, interagendo tra loro, devono svolgere una serie di funzioni per gestire il comportamento del computer e per agire come intermediario consentendo

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Il sistema operativo

Il sistema operativo Il sistema operativo Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Cos è un Sistema Operativo? Per capirlo, immaginiamo inizialmente

Dettagli

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

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

Dettagli

Introduzione all acquisizione Dati

Introduzione all acquisizione Dati Introduzione all acquisizione Dati Laboratorio di Robotica Industriale Evoluzione della strumentazione Introduzione all acquisizione dati - 2 Trend nella strumentazione Introduzione all acquisizione dati

Dettagli

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline

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

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

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana:

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana: Progma La settimana scorsa: cos è l informatica? cos è un algoritmo? cos è un progma? come si descrive un algoritmo? di cosa si compone un? che cos è il software? a cosa serve? Questa settimana: qual è

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

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

Sottosistema di Ingresso/Uscita (I/O)

Sottosistema di Ingresso/Uscita (I/O) Corso di Calcolatori Elettronici I A.A. 2013-2014 Sottosistema di Ingresso/Uscita (I/O) ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica allievi J-Z Calcolatore: sottosistemi Processore

Dettagli

Input/Output Device Management

Input/Output Device Management Lecture 9_2.1 Input/Output Device Management License Information This work is licensed under the Creative Commons BY-NC License Paolo PRINETTO Politecnico di Torino (Italy) University of Illinois at Chicago,

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

ARCHITETTURA DI UN PERSONAL COMPUTER

ARCHITETTURA DI UN PERSONAL COMPUTER ARCHITETTURA DI UN PERSONAL COMPUTER Processore Tastiera Mouse CD-ROM Bus Memoria FD HD Stampante La struttura logica Fisicamente l unità centrale è costituita da:... la gabbia per le schede (rack)...

Dettagli

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo

clock DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus indirizzi Bus di controllo Schede a microprocessore Seconda parte Mondo esterno clock MEMORIA CPU PERIFERICA ADATTATORE DATA BUS ADDRESS BUS CONTROL BUS In realtà il bus del microprocessore si compone di 3 bus diversi: Bus dati

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

Introduzione ai Sistemi Operativi

Introduzione ai Sistemi Operativi Introduzione ai Sistemi Operativi Sistema Operativo Software! Applicazioni! Sistema Operativo! È il livello di SW con cui! interagisce l utente! e comprende! programmi quali :! Compilatori! Editori di

Dettagli

Funzioni del Sistema Operativo

Funzioni del Sistema Operativo Il Software I componenti fisici del calcolatore (unità centrale e periferiche) costituiscono il cosiddetto Hardware (ferramenta). La struttura del calcolatore può essere schematizzata come una serie di

Dettagli

INFORMATICA. Il Sistema Operativo. di Roberta Molinari

INFORMATICA. Il Sistema Operativo. di Roberta Molinari INFORMATICA Il Sistema Operativo di Roberta Molinari Il Sistema Operativo un po di definizioni Elaborazione: trattamento di di informazioni acquisite dall esterno per per restituire un un risultato Processore:

Dettagli

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

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

Dettagli

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore.

I processi. Un processo è una attività, controllata da un programma, che si svolge su un processore. I processi Cos è un processo? Un processo è una attività, controllata da un programma, che si svolge su un processore. Il programma è una entità statica che descrive la sequenza di istruzioni che devono

Dettagli

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore

Dispensa di Fondamenti di Informatica. Architettura di un calcolatore Dispensa di Fondamenti di Informatica Architettura di un calcolatore Hardware e software La prima decomposizione di un calcolatore è relativa ai seguenti macro-componenti hardware la struttura fisica del

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

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

Dettagli

Come funziona un sistema di elaborazione

Come funziona un sistema di elaborazione Introduzione Cosa è un Sistema Sste aoperativo? Come funziona un sistema di elaborazione Proprietà dei Sistemi Operativi Storia dei Sistemi di Elaborazione Sistemi Mainframe Sistemi Desktop Sistemi i Multiprocessori

Dettagli

MACCHINA DI VON NEUMANN

MACCHINA DI VON NEUMANN I seguenti appunti non hanno la pretesa di essere esaustivi, ma hanno l unico scopo di illustrare in modo schematico i concetti necessari allo sviluppo del programma di Informatica della 1D del Liceo Scientifico

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

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

CAP. 6: Nucleo del sistema operativo (La gestione dei processi)

CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Struttura interna del sistema operativo Linux CAP. 6: Nucleo del sistema operativo (La gestione dei processi) Architettura del sistema operativo shell Programmi utente Modo utente Interfaccia delle chiamate

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi Francesco Fontanella Complessità del Software Software applicativo Software di sistema Sistema Operativo Hardware 2 La struttura del

Dettagli

Introduzione ai sistemi operativi

Introduzione ai sistemi operativi Introduzione ai sistemi operativi Che cos è un S.O.? Shell Utente Utente 1 2 Utente N Window Compilatori Assembler Editor.. DB SOFTWARE APPLICATIVO System calls SISTEMA OPERATIVO HARDWARE Funzioni di un

Dettagli

Reti combinatorie: Codificatori

Reti combinatorie: Codificatori Reti combinatorie: Codificatori P. Marincola (Rev..2) Come si ricorderà, i decodificatori hanno essenzialmente il compito di convertire un codice binario a n bit in un codice -su-m, dovem =2 n. In molte

Dettagli

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore Contenuti Introduzione 1 Introduzione 2 3 4 5 71/104 Il Calcolatore Introduzione Un computer...... è una macchina in grado di 1 acquisire informazioni (input) dall esterno 2 manipolare tali informazioni

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 25 febbraio 2015. Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 25 febbraio 2015 1 / 42 INFORMATICA Varie definizioni: Scienza degli elaboratori elettronici (Computer Science)

Dettagli

Collegamento al sistema

Collegamento al sistema Collegamento al sistema Chi comanda il movimento della testina? Chi comanda la generazione del raggio laser? Chi si occupa di trasferire i dati letti in memoria centrale? Chi comanda la rotazione dei dischi?

Dettagli

Sistemi Operativi Giovanni Conforti. Sistemi di I/O

Sistemi Operativi Giovanni Conforti. Sistemi di I/O Sistemi Operativi Giovanni Conforti Sistemi di I/O 1 Sistemi di I/O Un ruolo fondamentale in un sistema di calcolo è rivestito dai dispositivi di I/O I dispositivi di I/O che popolano un sistema di calcolo

Dettagli

Le Infrastrutture Software ed il Sistema Operativo

Le Infrastrutture Software ed il Sistema Operativo Le Infrastrutture Software ed il Sistema Operativo Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il Sistema Operativo (S0) (Inf.) E' l'insieme dei programmi che consentono

Dettagli

Sistemi e schedulazione in tempo reale

Sistemi e schedulazione in tempo reale Sistemi e schedulazione in tempo reale 1 Sistemi in tempo reale Sistemi di calcolo in cui la correttezza del funzionamento dipende criticamente dal tempo in cui i risultati sono prodotti. Possibili campi

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 16 Martedì 3-12-2013 1 La tecnica di gestione di un dispositivo a interruzione

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

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

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

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

Dettagli

Informatica - A.A. 2010/11

Informatica - A.A. 2010/11 Ripasso lezione precedente Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Matematica, Statistica e Informatica Modulo: Informatica Esercizio: Convertire

Dettagli

CPU chips e bus. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

CPU chips e bus. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 CPU chips e bus anno accademico 2006 2007 pagina 1 Layout di una cpu anno accademico 2006 2007 pagina 2 I bus in un sistema a microprocessore anno accademico 2006 2007 pagina 3 Proprietà di un bus Bus

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

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

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

Dettagli

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

Dettagli

2. I THREAD. 2.1 Introduzione

2. I THREAD. 2.1 Introduzione 2. I THREAD 2.1 Introduzione Il tipo di parallelismo che è opportuno avere a disposizione nelle applicazioni varia in base al grado di cooperazione necessaria tra le diverse attività svolte in parallelo:

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Architettura del Personal Computer AUGUSTO GROSSI

Architettura del Personal Computer AUGUSTO GROSSI Il CASE o CABINET è il contenitore in cui vengono montati la scheda scheda madre, uno o più dischi rigidi, la scheda video, la scheda audio e tutti gli altri dispositivi hardware necessari per il funzionamento.

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

HARDWARE. Relazione di Informatica

HARDWARE. Relazione di Informatica Michele Venditti 2 D 05/12/11 Relazione di Informatica HARDWARE Con Hardware s intende l insieme delle parti solide o ( materiali ) del computer, per esempio : monitor, tastiera, mouse, scheda madre. -

Dettagli

Corso di Sistemi di Elaborazione A.A. 2008/2009

Corso di Sistemi di Elaborazione A.A. 2008/2009 Università di Ferrara Facoltà di Ingegneria Docente: Ing. Massimiliano Ruggeri Mail: m.ruggeri@imamoter.cnr.it mruggeri@ing.unife.it Tel. 0532/735631 Corso di Sistemi di Elaborazione A.A. 2008/2009 Durata:

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro Introduzione alle tecnologie informatiche Strumenti mentali per il futuro Panoramica Affronteremo i seguenti argomenti. I vari tipi di computer e il loro uso Il funzionamento dei computer Il futuro delle

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1

Programmazione concorrente in Java. Dr. Paolo Casoto, Ph.D. - 2012 1 + Programmazione concorrente in Java 1 + Introduzione al multithreading 2 La scomposizione in oggetti consente di separare un programma in sottosezioni indipendenti. Oggetto = metodi + attributi finalizzati

Dettagli

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX

ASPETTI GENERALI DI LINUX. Parte 2 Struttura interna del sistema LINUX Parte 2 Struttura interna del sistema LINUX 76 4. ASPETTI GENERALI DEL SISTEMA OPERATIVO LINUX La funzione generale svolta da un Sistema Operativo può essere definita come la gestione dell Hardware orientata

Dettagli

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi : di base e applicativo L HardWare (monitor, tastiera, circuiti, stampante, ) è il nucleo fondamentale del calcolatore ma da solo non serve a nulla. Bisogna utilizzare il software per poterlo fare funzionare.

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

Dettagli

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Il File System È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati Le operazioni supportate da un file system sono: eliminazione di dati modifica

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Appunti di Sistemi e Automazione

Appunti di Sistemi e Automazione Appunti di Sistemi e Automazione Il modello o macchina di Von Neumann rappresenta un computer con i suoi componenti principali e la sua organizzazione logico-funzionale. Tale progetto risale al 1945/1946.

Dettagli

Virtualizzazione delle Periferiche. Corso di Sistemi Operativi

Virtualizzazione delle Periferiche. Corso di Sistemi Operativi Virtualizzazione delle Periferiche Corso di Sistemi Operativi Introduzione Una delle funzioni principali di un SO è di controllare tutte le periferiche connesse al PC SO deve: comandare i dispositivi ascoltare

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

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

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

Dettagli

Le infrastrutture Hardware: architettura

Le infrastrutture Hardware: architettura Le infrastrutture Hardware: architettura Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il calcolatore: modello concettuale 1. Elaborazione 2. Memorizzazione Interconnessione

Dettagli

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti Tecniche per il progetto di sistemi elettronici tolleranti ai guasti Fulvio Corno, Maurizio Rebaudengo, Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Le tecniche di

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

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

TEORIA DEI SISTEMI OPERATIVI

TEORIA DEI SISTEMI OPERATIVI TEORIA DEI SISTEMI OPERATIVI Classificazione dei sistemi operativi (Sistemi dedicati, Sistemi batch, Sistemi interattivi multiutente) CLASSIFICAZIONE DEI SISTEMI OPERATIVI Le tre principali configurazioni

Dettagli

Tecnologia di un Database Server (centralizzato) Gestione del buffer

Tecnologia di un Database Server (centralizzato) Gestione del buffer Buffer Basi di Dati / Complementi di Basi di Dati 1 Tecnologia di un Database Server (centralizzato) Gestione del buffer Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Buffer

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni Sistemi Operativi a.a. 2010/2011 Francesco Fontanella Il Sistema Operativo Sistema Operativo 2 Il Sistema Operativo Il Sistema Operativo è uno strato

Dettagli

Drivers. Introduzione Tipologie Struttura Interazione con il kernel

Drivers. Introduzione Tipologie Struttura Interazione con il kernel Drivers Introduzione Tipologie Struttura Interazione con il kernel Driver Un driver è un modulo del sistema operativo Esterno al kernel Dedicato alla gestione di una specifica periferica Come altre funzionalità

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli