ancora l architettura elementare di un sistema di elaborazione:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

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

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

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

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

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

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

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

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

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

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

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

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

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

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

Gestione della memoria centrale

Gestione della memoria centrale Gestione della memoria centrale Un programma per essere eseguito deve risiedere in memoria principale e lo stesso vale per i dati su cui esso opera In un sistema multitasking molti processi vengono eseguiti

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

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

AXO Architettura dei Calcolatori e Sistema Operativo. gestione di IO e interfacciamento a bus

AXO Architettura dei Calcolatori e Sistema Operativo. gestione di IO e interfacciamento a bus AXO Architettura dei Calcolatori e Sistema Operativo gestione di IO e interfacciamento a bus Collegamento di una periferica al calcolatore (a livello di sistema) CALCOLATORE MEMORIA PROCESSORE BUS INTERFACCIA

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

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

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Architettura hw. La memoria e la cpu

Architettura hw. La memoria e la cpu Architettura hw La memoria e la cpu La memoria centrale e la CPU Bus controllo Bus indirizzi Bus dati Bus di collegamento con la cpu indirizzi controllo dati Bus Indirizzi 11 Bus controllo Leggi/scrivi

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

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo I Thread 1 Consideriamo due processi che devono lavorare sugli stessi dati. Come possono fare, se ogni processo ha la propria area dati (ossia, gli spazi di indirizzamento dei due processi sono separati)?

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

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

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Gestione Risorse Umane Web

Gestione Risorse Umane Web La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...

Dettagli

Sistemi operativi. Esempi di sistemi operativi

Sistemi operativi. Esempi di sistemi operativi Sistemi operativi Un sistema operativo è un programma che facilita la gestione di un computer Si occupa della gestione di tutto il sistema permettendo l interazione con l utente In particolare un sistema

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

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

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

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

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari A.A. 2012 2013 1 Introduzione Questo documento raccoglie i requisiti preliminari per il software di controllo

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

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

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

Sistema operativo: Gestione della memoria

Sistema operativo: Gestione della memoria Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Sistema operativo: Gestione della memoria La presente dispensa e

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione delle istruzioni, il verificarsi di eventi

Dettagli

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME)

Introduzione. Coordinazione Distribuita. Ordinamento degli eventi. Realizzazione di. Mutua Esclusione Distribuita (DME) Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Sistema operativo Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base Architettura a strati di un calcolatore

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

Materiali per il modulo 1 ECDL. Autore: M. Lanino

Materiali per il modulo 1 ECDL. Autore: M. Lanino Materiali per il modulo 1 ECDL Autore: M. Lanino RAM, l'acronimo per "random access memory", ovvero "memoria ad acceso casuale", è la memoria in cui vengono caricati i dati che devono essere utilizzati

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

INFORMATICA 1 L. Mezzalira

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

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA)

Il SOFTWARE DI BASE (o SOFTWARE DI SISTEMA) Il software Software Il software Il software è la sequenza di istruzioni che permettono ai computer di svolgere i loro compiti ed è quindi necessario per il funzionamento del calcolatore. Il software può

Dettagli

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...

Dettagli

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09

SISTEMI OPERATIVI. Prof. Enrico Terrone A. S: 2008/09 SISTEMI OPERATIVI Prof. Enrico Terrone A. S: 2008/09 Che cos è il sistema operativo Il sistema operativo (SO) è il software che gestisce e rende accessibili (sia ai programmatori e ai programmi, sia agli

Dettagli

Gestione di una UART SOFTWARE.

Gestione di una UART SOFTWARE. Corso di BASCOM 8051 - (Capitolo 3 1 ) Corso Teorico/Pratico di programmazione in BASCOM 8051. Autore: DAMINO Salvatore. Gestione di una UART SOFTWARE. Capita, a volte in alcune applicazioni, di avere

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

Pronto Esecuzione Attesa Terminazione

Pronto Esecuzione Attesa Terminazione Definizione Con il termine processo si indica una sequenza di azioni che il processore esegue Il programma invece, è una sequenza di azioni che il processore dovrà eseguire Il processo è quindi un programma

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

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

Introduzione al sistema operativo Il file system: file, directory,...

Introduzione al sistema operativo Il file system: file, directory,... ,OVRIWZDUHGLVLVWHPD cosa vedremo: Introduzione al sistema operativo Il file system: file, directory,...... 223,OVRIWZDUHLQWURGX]LRQH L hardware da solo non è sufficiente per il funzionamento dell elaboratore

Dettagli

MANUALE UTENTE Fiscali Free

MANUALE UTENTE Fiscali Free MANUALE UTENTE Fiscali Free Le informazioni contenute in questa pubblicazione sono soggette a modifiche da parte della ComputerNetRimini. Il software descritto in questa pubblicazione viene rilasciato

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

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

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

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

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

La Gestione delle risorse Renato Agati

La Gestione delle risorse Renato Agati Renato Agati delle risorse La Gestione Schedulazione dei processi Gestione delle periferiche File system Schedulazione dei processi Mono programmazione Multi programmazione Gestione delle periferiche File

Dettagli

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

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

IRSplit. Istruzioni d uso 07/10-01 PC

IRSplit. Istruzioni d uso 07/10-01 PC 3456 IRSplit Istruzioni d uso 07/10-01 PC 2 IRSplit Istruzioni d uso Indice 1. Requisiti Hardware e Software 4 1.1 Requisiti Hardware 4 1.2 Requisiti Software 4 2. Installazione 4 3. Concetti fondamentali

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

L applicazione dei vettori di collaudo

L applicazione dei vettori di collaudo L applicazione dei vettori di collaudo Fulvio Corno Maurizio Rebaudengo Matteo Sonza Reorda Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Introduzione Gli ATE I programmi di collaudo.

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento: martedì, 12.00-13.00. Dip. Di Matematica Modalità esame: scritto + tesina facoltativa 1

Dettagli

Organizzazione della memoria

Organizzazione della memoria Memorizzazione dati La fase di codifica permette di esprimere qualsiasi informazione (numeri, testo, immagini, ecc) come stringhe di bit: Es: di immagine 00001001100110010010001100110010011001010010100010

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

MANUALE SOFTWARE F24 ISTRUZIONI PER L UTENTE

MANUALE SOFTWARE F24 ISTRUZIONI PER L UTENTE MANUALE SOFTWARE F24 ISTRUZIONI PER L UTENTE PAGINA 2 MODELLO F24 Indice Capitolo 1: Come muoversi all interno del programma 3 1.1 Importazione dati da anno precedente 3 1.2 Inserimento di una nuova anagrafica

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

CONCETTI BASE dell'informatica Cose che non si possono non sapere! CONCETTI BASE dell'informatica Cose che non si possono non sapere! Pablo Genova I. I. S. Angelo Omodeo Mortara A. S. 2015 2016 COS'E' UN COMPUTER? È una macchina elettronica programmabile costituita da

Dettagli

Il problema del produttore e del consumatore. Cooperazione tra processi

Il problema del produttore e del consumatore. Cooperazione tra processi Il problema del produttore e del consumatore Cooperazione tra processi Risorsa consumabile I processi disgiunti possono interferire tra loro a causa dell'uso di risorse permanenti, ma ognuno di essi ignora

Dettagli