INTERFACCIAMENTO INPUT-OUTPUT, GESTIONE DELLE INTERRUZIONI E GESTIONE DELLE PERIFERICHE

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "INTERFACCIAMENTO INPUT-OUTPUT, GESTIONE DELLE INTERRUZIONI E GESTIONE DELLE PERIFERICHE"

Transcript

1 INTERFACCIAMENTO INPUT-OUTPUT, GESTIONE DELLE INTERRUZIONI E GESTIONE DELLE PERIFERICHE IV a EL. Analisi delle strutture di interfacciamento per ingressi ed uscite, analisi dei segnali di interruzione, analisi delle modalità di gestione delle varie periferiche e analisi di programmi che consentono al microprocessore di colloquiare con quest ultime mediante la gestione dei segnali di interruzione.

2 Fin qui abbiamo solo discusso di trasferimenti che avevano luogo tra il microprocessore e la memoria e viceversa Come risulta logico, avere un sistema incapace di colloquiare con il mondo esterno è totalmente inutile perché si va a compromettere sia il funzionamento e soprattutto si restringe il campo di utilizzo di tale sistema. Dunque emerge l esigenza di avere alcuni dispositivi che diano al sistema la possibilità di colloquiare anche con il mondo esterno e questi dispositivi si definiscono dispositivi di interfacciamento input-output. Anche questa tipologia di dispositivi è collegata al microprocessore mediante i tre bus principali (dati,indirizzi e controllo). uando il microprocessore fa un trasferimento verso le interfacce deve poter decidere verso quale periferica mandare il dato. Tutto questo viene fatto sfruttando l A-BUS. Alla luce di ciò si capisce che il dato che aspetta di essere trasferito transiterà sul D-BUS ed il C-BUS avrà il compito fondamentale di stabilire se l operazione in corso è una scrittura o una lettura e di coordinare tutte le altre operazioni mediante un segnale di clock. --ARCHITETTURE DI COLLEGAMENTO DELLE PERIFERICHE-- A prescindere dalle caratteristiche di trasferimento dei dati verso le interfacce, esistono fondamentalmente due architetture per il collegamento di quest ultime che sono: COLLEGAMENTO MEMORY MAPPED I/O : (I/O mappato in memoria) in questo caso sia la memoria che le interfacce sono viste dal sistema come due cose uguali. In questa configurazione del totale delle locazioni indirizzabili, la maggior parte viene dedicata alla memoria mentre quelle restanti vengono dedicate alle interfacce. Per il corretto funzionamento di questa tipologia di collegamento si richiedono opportune reti di decodifica il cui compito è quello di distinguere se l indirizzo che transita sull A-BUS serve per aprire una specifica locazione di memoria o al contrario serve per selezionare una determinata periferica. Il vantaggio di quest architettura è quello che le medesime istruzioni vengono usate con la memoria e possono essere usate anche per i dispositivi di interfaccia. Un microprocessore che fa uso di questa particolare architettura di gestione è il 6502 della Rockwell. COLLEGAMENTO ISOLATED I/O : (I/O isolato) in questo caso invece il microprocessore opera una distinzione tra le operazioni di memoria e quelle per le interfacce. Sul C-BUS infatti viene previsto un ulteriore segnale il cui compito è quello di selezionare o l interfaccia oppure la memoria. Del totale delle locazioni indirizzabili, tutte sono utilizzabili indistintamente sia dalla memoria che dai dispositivi di interfaccia. Il vantaggio più grande di questo tipo di architettura è che si

3 ha un guadagno a livello di locazioni indirizzabili e tutto ciò senza andare a modificare la struttura interna del sistema. Un microprocessore che usa questo tipo di architettura è lo Z80 della Zilog. A questi tipi di architetture definite unibus (tutto ciò perché non sono previsti bus separati per la memoria e le interfacce) se ne aggiunge una definita multibus con la quale si dispongono bus differenti per la memoria e per le interfacce con il vantaggio di poter effettuare trasferimenti con la memoria e con le interfacce simultaneamente. Il cablaggio effettuato con questa tecnica è esposto qui di seguito: µp MEMORIA INTERFACCE C-BUS D-BUS A-BUS Il mp0 utilizza la struttura unibus con I/o isolato. --COMPOSIZIONE DEL BUS DI CONTROLLO DEL mp0-- Il C-BUS del mp0 comprende una serie di segnali di abilitazione di cui qui di seguito è riportata la descrizione: MRE: (richiesta di memoria), questo segnale viene abilitato dalla CU quando si deve effettuare una transizione di dati tra microprocessore e memoria. IORE: (richiesta di interfacce), questo segnale viene abilitato dalla CU nel momento in cui si deve effettuare un trasferimento dati dal microprocessore e le interfacce. R/W: questo segnale viene abilitato dalla CU quando si deve effettuare una lettura (dalla memoria o dalle interfacce portando a livello logico 1 il segnale) oppure una scrittura (in memoria o nei registri di interfaccia portando a livello logico zero il segnale). INT: questo segnale viene abilitato per richiedere un interruzione (argomento che varrà trattato nelle prossime pagine). CLOCK: è il segnale principale ed è quello che da la sincronizzazione

4 ai dispositivi collegati. --DISPOSITIVI DI I/O-- Potendo indirizzare 256 locazioni di memoria, potremmo dire che il mp0 può avere collegati 256 dispositivi diversi. Nella realtà però, il programma che simula il funzionamento interno del mp0 prevede solamente il collegamento di due porte di ingresso ed una di uscita dove: L indirizzo $E0 è quello della prima porta di ingresso che corrisponde praticamente all ingresso predisposto per la tastiera. L indirizzo $F0 è quello della seconda porta di ingresso che ci permette di acquisire dati attraverso la porta parallela del computer. In fase di scrittura questa locazione diventa una porta di uscita di 8 bit che si appoggia sempre sulla porta parallela. Analizziamo per prima la porta di uscita di tipo parallelo Un ipotetica porta di uscita di tipo parallelo può essere costituita da una struttura formata da 8 DFF i cui ingressi sono direttamente collegati al D-BUS. Le uscite del circuito stesso sono messe a disposizione dell utilizzatore. La struttura avuta con l uso dei DFF è fondamentale perché il dato in fase di scrittura, rimane sul D-BUS per un tempo molto ridotto per poter essere apprezzato dall utilizzatore. La porta di uscita presenta due terminali designati per effettuare il controllo, questi due terminali sono: CK: è il segnale che va ad abilitare la scrittura nei DFF. Esso è gestito indirettamente dal microprocessore che lo abilita se e solo se quest ultimo deve implementare un istruzione di scrittura. OE: è il segnale che abilita le uscite a trasferire il dato verso l utilizzatore. Esso è gestito direttamente dall esterno ogni qual volta si voglia leggere gli 8 bit in uscita. Comunque la scrittura viene abilitata solo quando è attivo il segnale IORE mentre quello di R/W è a livello logico zero e sull A-BUS transita l indirizzo della porta nella quale si devono scrivere i dati. Per l attivazione del segnale di scrittura il mp0 si serve di un opportuna rete di decodifica che non appena si verifica che quando l A-BUS= F0H porta a livello alto il segnale di scrittura IORE e porta a livello basso quello di R/W. Lo schema della rete di decodifica è riportato qui di seguito: D-BUS A-BUS C-BUS

5 R /W IOR E B it meno significativo (A0) DECODER Abilitazione scrittura B it più significativo (A7) uesta rete di decodifica così fatta potrebbe idealmente funzionare ma presenta delle limitazioni ovvero: Il microprocessore non sa se il dato che è stato scritto a sua volta è stato letto dall utilizzatore L utilizzatore non sa se il dato che ha letto è un nuovo dato oppure quello letto in precedenza. Per ovviare a questo inconveniente, possiamo disporre una sorta di regolatore di scambi il quale funge da indicatore di stato della porta. uesto lavoro può essere svolto da un flag. uesto flag assumerà il livello alto quando il microprocessore scrive un dato nei DFF e leggendo questo flag l utilizzatore potrà sapere con certezza che il dato presente nella porta di uscita è un nuovo dato. Dopo che l utilizzatore ha acquisito il dato provvederà a cambiare lo stato del flag (portandolo al suo livello basso). Finchè il flag poi non torna allo stato alto, l utilizzatore sa che nessun nuovo dato è stato scritto nella porta di uscita. Dalla parte del microprocessore, esso vedendo lo stato del flag potrà sapere se il dato che era presente nella porta di uscita è stato prelevato oppure no. uesto modo di comunicare tra due punti (che risultano essere il microprocessore e la porta di uscita) fatto di opportuni scambi di segnali che vanno ad informare reciprocamente i due punti in comunicazione è detto protocollo di Handshaking. uesti protocolli sono necessari ogni qual volta si deve instaurare la comunicazione tra due punti del sistema che tra loro sono asincroni oppure hanno velocità di risposta differenti. La realizzazione del flag può essere realizzata mediante l uso di un latch di tipo SR. Lo schema di cablaggio di una porta di uscita di tipo parallelo è illustrato qui sotto: mp0 memoria D-BUS A-BUS C-BUS Rete di decodifica CK porta OE Rete Dati per di decodifica utilizzatore Lettura S R Dato pronto

6 Il comando di set del latch è gestito dal microprocessore quando effettua un operazione di scrittura e viene dunque collegato assieme al segnale CK della porta. Il comando reset viene generato nel momento in cui l utilizzatore effettua la lettura dei DFF abilitando dunque il segnale di Output-Enable (OE). Dunque il pin di reset può essere collegato direttamente al segnale OE della porta di uscita. L uscita del latch viene poi portata all esterno in modo tale che sia all attenzione dell utilizzatore. Dopo queste considerazioni, vediamo anche come il flag può essere letto dal microprocessore Il microprocessore per scrivere un dato nella porta di uscita va ad abilitare il segnale IORE e porta a livello logico basso il segnale R/W ed infine mette il dato da scrivere sul D-BUS. La rete di decodifica è collegata sia all A-BUS che al C-BUS e dunque riconosce l indirizzo e il tipo di istruzione e genera un segnale di scrittura nella porta di uscita. Il dato che transita simultaneamente sul D-BUS viene scritto nei DFF della porta. Contemporaneamente a ciò il segnale che abilita la scrittura nella porta arriva anche al terminale di set perciò la sua uscita varrà 1, ovvero in uscita è disponibile un nuovo dato. L utilizzatore,vedendo lo stato del latch può capire che un nuovo dato è disponibile nella porta di uscita. L utilizzatore a sua volta acquisisce questo dato abilitando il comando di lettura che va sia ad attivare i buffer three-state della porta e ripristina l uscita del latch al livello basso. Fin quando il microprocessore non scrive altri dati nella porta il flag resterà a livello logico zero. Il microprocessore può leggere il flag se andiamo a collegare una delle due uscite del latch al D-BUS. uesta uscita però non o può essere collegata direttamente al bus perché sennò andremmo a bloccare la linea di quest ultimo. Per evitare di incorrere in questi problemi si abilita il collegamento dell uscita del latch ad uno dei bit del D-bus solo quando il microprocessore effettua una lettura del flag. Per la gestione delle abilitazioni tra l uscita del latch ed il D-BUS si interpone un buffer threee-state. L abilitazione del buffer viene gestita a sua volta mediante una rete di decodifica che decodificherà gli indirizzi ed i segnali del C-BUS. La locazione dove è previsto il flag è $F1. Detto ciò possiamo dire che il buffer collegato all uscita del latch viene abilitato solo se sull A-BUS transita l indirizzo $F1 perciò è abilitato il segnale IORE e quello di R/W viene portato a livello alto consentendo al microprocessore di leggere il flag. La rete di decodifica è la seguente: D-BUS

7 A-BUS C-BUS R /W IOR E B it meno significativo (A0) DECODER Abilitazione three-state B it più significativo (A7) Con quest ultimo accorgimento possiamo illustrare anche la struttura completa di una porta di uscita di tipo parallelo: Three-state mp0 memoria D-BUS A-BUS C-BUS Le reti di decodifica (quella per leggere il flag e quella per scrivere nel latch sono Rete di decodifica state assimilate in un unico blocco. Si è scelto di collegare al D-BUS tramite il buffer l uscita del latch SR perché in questo modo se il Lettura microprocessore legge zero nel latch vuol dire che nella porta Dè ati già per presente utilizzatore un dato. Dopo che l utilizzatore ha acquisito il dato l uscita del latch si porta a zero e quella va ad 1 indicando che la porta è libera. Se noi consideriamo la porta parallela di uscita come qualcosa di singolo, vedremo che essa è una struttura dotata di simmetria tra l interno e l esterno: USCITA: Dal microprocessore Rete di decodifica CK porta OE S R Dato pronto DATI IN INGR E S S O S CR ITTUR A S CK porta OE R POR TA LIBE R A Rete di decodifica DATI IN US CITA LE TTUR A DATO PR ONTO

8 All utilizzatore INGRESSO: Al microprocessore DATI IN US CITA LE TTUR A CK porta OE Rete di decodifica DATI IN INGR E S S O S CR ITTUR A Dall utilizzatore S R DATO PR ONTO POR TA LIBE R A Da questi due schemi emerge una conclusione fondamentale: che se si invertono i collegamenti di una porta di uscita riusciremo ad ottenere una porta di ingresso. Anche la porta di ingresso deve avere le uscite three-state perché non è possibile collegarle direttamente sul D-BUS. Anche in questo caso la cosa più utile da fare è quella di usare una porta che abbia memoria. Con questa porta si evita che il dato venga perso. Una porta di d ingresso in linea generale funziona in questo modo : L utilizzatore scrive nella porta mandando gli 8 bit ed abilitando il segnale di scrittura Tutto ciò provoca la memorizzazione del dato e porta a livello alto l uscita del latch. uesta uscita indicherà al microprocessore che un nuovo dato è stato scritto nella porta di ingresso. Arrivati a questo punto il microprocessore deve poter leggere lo stato dell uscita del latch e per rendere il suo valore reperibile sul D-BUS si collega a quest ultimo mediante un buffer three-state ed una rete di decodifica di cui qui sotto riportiamo lo schema: D-BUS A-BUS C-BUS R /W IOR E B it meno significativo (A0) DECODER Abilitazione lettura B it più significativo (A7)

9 uando l uscita del latch si porta ad 1, un nuovo dato è pronto per essere acquisito dal microprocessore mentre l altra uscita trovandosi a zero indica all utilizzatore che la porta è occupata. uando il microprocessore si trova a d effettuare una lettura da questa porta esso abilitava ad abilitare il terminale di OE e ripristina a zero lo stato dell uscita del latch. Così facendo l uscita del latch si porta ad 1 informando che la porta è libera. Nel caso specifico del mp0 le due porte di ingresso si trovano rispettivamente: Alla locazione $E0 (tastiera) Alla locazione $F0 (stesso indirizzo della porta di uscita verso la porta parallela della stampante). la rete di decodifica darà 1 in uscita se sull A-BUS transiterà l indirizzo della locazione F0H. Nel simulatore per mp0 il flag per la porta di ingresso alla locazione F0H è situato alla locazione F2H. La rete di decodifica di questo flag è illustrata qui sotto: D-BUS A-BUS C-BUS R /W IOR E B it meno significativo (A0) DECODER Abilitazione three-state B it più significativo (A7) Dopo quest ultimo accorgimento, la struttura completa di una porta di ingresso di tipo parallelo risulta essere la seguente: Three-state mp0 memoria D-BUS A-BUS C-BUS Rete di decodifica CK porta OE Rete D ati dall di decodifica utilizzatore S R

10 scrittura P orta libera Infine il flag della porta di ingresso collegata alla tastiera (locazione E0H) è collocato alla locazione E2H. --GESTIONE DELLE PORTE DI I/O-- Adesso occupiamoci di come un microprocessore riesce a gestire una porta di ingresso-uscita Nel trasferimento dei dati verso l esterno, il microprocessore non ha problemi nello svolgere questa operazione, l unico accorgimento è che il programma che si occupa del trasferimento dati verso l esterno deve controllare lo stato del flag di uscita per vedere se l utilizzatore ha acquisito il dato. Il criterio con i quale si può effettuare la gestione di una porta di uscita è il seguente: ripeti finchè FLAG=1 (uscita del latch) invia dato uesto criterio può essere usato senza problemi ma presenta un inconveniente, ossia finchè il flag della porta di uscita non si porta a livello alto il microprocessore non può più implementare nessuna operazione in quanto si trova ad eseguire un ciclo di attesa. Per ovviare a questo inconveniente, un programma che deve effettuare la gestione della porta di uscita può essere scritto seguendo l array qui sotto illustrato: inizia CONTATORE 0 ripeti leggi MEM [CONTATORE] invia dato appena letto incrementa CONTATORE finchè CONTATORE = 0 fine. Da qui deriva la seguente traduzione in assembly: 0 LDA #0 inizializzazione CONTATORE 2 STA $20 salva CONTATORE in una locazione variabile 4 LDA ($20) carica in accumulatore l indirizzo indicato dalla locazione CONTATORE 6 CALL 20 chiama il sottoprogramma per l invio dati

11 8 LDA $20 carica il valore del CONTATORE 10 ADD #1 incrementalo di 1 12 JZ 16 se CONTATORE = 0 termina 14 JMP 2 oppure aggiorna il contenuto della variabile CONTATORE 16 HLT terminazione del programma 20 PUSH salva momentaneamente il contenuto dell ACC nello stack 21 IN $F1 carica in ACC lo stato del flag della porta di uscita 23 AND #1 mascherane tutti i bit meno che l LSB 25 JZ 21 se ACC=0 il dato di prima ancora non è stato letto, perciò salta e ricontrolla nuovamente lo stato del flag 27 POP recupera il dato dallo stack 28 OUT $F0 scrivi questo dato nella porta di uscita 30 RET ritorna al programma principale Nel mp0 per leggere o scrivere nelle porte I/O sono state predisposte due istruzioni di trasferimento che sono: IN: con la quale ci è consentito leggere dalla porta che è specificata nel campo di indirizzo con il consecutivo trasferimento del dato nell accumulatore. Tipo di indirizzamento Codice operativo Codice operativo in Hex diretto OUT: con la quale ci è consentito scrivere nella porta di interfaccia specificata dal campo di indirizzo. Il dato transita dall ACC verso la porta. Tipo di indirizzamento Codice operativo Codice operativo in Hex diretto A Nel programma che simula il funzionamento del mp0 si può vedere in maniera istantanea come variano gli stati dei vari flag. Però in un operazione di trasferimento dati, questi ultimi vengono lasciati per un breve tempo in una locazione di memoria definita buffer. Per vedere meglio l utilità di un buffer, immaginiamo di scrivere un programma il quale acquisisce i dati dalla porta di ingresso $E0 (tastiera) e li alloca nel buffer che si estende dalle locazioni $A0 a $AF. Un programma di questo genere può essere riassunto nel seguente array: inizia BUFFER $A0 ripeti ripeti

12 leggi il flag della porta di ingresso $E0 finchè flag = 1 (dato pronto) leggi dato MEM [BUFFER] dato appena letto Incrementa BUFFER finchè BUFFER = $B0 fine. Supponendo la locazione 20 come BUFFER la traduzione in assembly di questo array è la seguente: 0 LDA #$A0 carica in ACC la locazione di partenza del buffer 2 STA $20 salva il contenuto dell ACC nella locazione variabile 20 4 IN $E0 leggi il flag della porta di ingresso ($E0) 6 AND #1 e mascherane tutti i bit eccetto l LSB 8 JZ 4 se flag=0 torna a controllare il flga oppure 10 IN $E0 leggi il dato dalla porta di ingresso e 12 STA ($20) salvalo nella locazione puntata da BUFFER 14 LDA $20 carica in ACC il valore del buffer 16 ADD #1 incrementalo 18 PUSH e poi salvalo nello stack 19 ADD #$50 somma il complemento a due di $B0 (ovvero $50) 21 JZ 26 se il risultato è zero il buffer è pieno oppure 23 POP recupera il valore del buffer 24 JMP 2 dallo stack e torna all inizio del ciclo 26 HLT fine programma Nel caso in cui noi andiamo ad utilizzare il mp0, dobbiamo sempre tenere sotto controllo lo stato del flag della porta di ingresso in quanto quando esso si porta a livello basso è possibile fornire un nuovo dato perché se lo si fa prima il dato precedentemente inserito andrebbe perso. Dobbiamo anche tenere presente la scarsa velocità del mp0 che presenta un clock di sistema di pochi Hz. e può eseguire poche istruzioni in un secondo non tenendo conto che istruzioni più complesse richiedono maggiori cicli di clock per essere eseguite. --INTERRUZIONI-- abbiamo appena analizzato la possibilità del microprocessore di colloquiare con una porta di uscita tramite il controllo ciclico del flag, ma adesso andiamo ad analizzare la situazione in cui il microprocessore deve gestire più di una porta di uscita Il primo metodo utilizzato per gestire una moltitudine di porte è il cosiddetto polling il quale consiste nell interrogazione ciclica dei flag di ogni singola porta. peràò questo metodo gestionale presenta un inconveniente di fondo, ossia il

13 microprocessore perde parte del suo tempo per effettuare il controllo delle periferiche anche quando non vi è nessun dato in arrivo. Il meccanismo con il quale una periferica informa il sistema che in essa è presente un nuovo dato è detto interruzione o interrupt. Le interruzioni sono gestite in maniera differente in base al tipo di microprocessore. Per far si che la periferica possa interrompere ciò che il microprocessore sta facendo quest ultimo deve mettere a disposizione un terminale apposito che verrà poi collegato alla linea del C-BUS. uando avviene un interruzione: Il sistema interrompe l esecuzione dell ultima istruzione Poi salta alla locazione dalla quale inizia il programma che ha il compito di gestire le interruzioni. Infine una volta terminato il sottoprogramma di gestione delle interruzioni il sistema ripristina il contenuto dei suoi registri e riprende la sua attività esattamente da dove l aveva fermata. Adesso analizziamo la situazione interna al sistema quando si deve eseguire una programma di gestione delle interruzioni Abbiamo accennato prima che non appena si manifesta un interruzione, il sistema salta ad eseguire un sottoprogramma per gestirla. Prima di effettuare il salto a sottoprogramma il microprocessore salva il contenuto del program counter, dell ACC e dei flag nello STACK. Non appena il sottoprogramma termina, il sistema ripristina i valori che aveva salvato nello stack proseguendo la sua attività esattamente da dove l aveva interrotta. Però le interruzioni non sempre sono eseguibili dal microprocessore, a tal fine si parla di : Interruzioni mascherabili: ovvero quella categoria di interruzioni che non vengono eseguite dal sistema in quanto si trova ad eseguire un operazione più importante. Interruzioni non mascherabili: ovvero quelle interruzioni che non possono venire disabilitate in alcun modo e che quando si verificano devono essere dunque eseguite tassativamente dal sistema. Il problema sorge quando dobbiamo gestire delle interruzioni nidificate, ovvero di interruzioni che sorgono mentre un programma di gestione delle interruzioni è già in esecuzione. Per gestire al meglio questo problema viene previsto un preciso meccanismo che viene definito di priorità delle interruzioni. Immaginiamo perciò di avere tre diverse periferiche: P3,P2 e P1. Supponiamo che la periferica P3 sia prioritaria rispetto a P2 e P1 e che la periferica P2 sia prioritaria solo rispetto alla periferica P1. Supponiamo ora che la periferica P1 generi un interruzione e che poi sopraggiungano anche quelle generate da P3 e P2. Il microprocessore inizia dunque a gestire la periferica P1 ma non appena sopraggiunge l interruzione della periferica P3, esso dovrà gestire quest ultima

14 periferica. Invece quando il microprocessore dovrà gestire l interruzione della periferica P2, questa verrà eseguita prioritariamente a scapito della periferica P1 ma non a scapito della periferica P3 che come abbiamo detto è la più prioritaria tra le tre. Per la gestione di questo meccanismo sono previsti due diversi tipi di approcci: Approccio hardware: realizzato mediante una gestione a catena o daisy chain con il quale le periferiche sono collegate al bus in cascata. Così facendo ogni periferica può generare un interruzione ma solo se viene abilitata dalla periferica che la precede. Alla luce di ciò ogni periferica verrà dotata di un ingresso IEI e di un uscita IEO che servono per abilitare le interruzioni: lo schema della gestione daisy chain è riportato qui sotto: microproces s ore P3 IE O IEI P2 IE O IEI P1 IEO Con questo tipo di approccio se P3 genera un interruzione disabilita automaticamente tutte le altre. Se invece è P2 a generare un interruzione, la disabilitazione avviene solo per la periferica P1 mentre P3 essendo la più prioritaria della catena di gestione è comunque libera di generare interruzioni. Approccio software: realizzato mediante l uso di un registro i cui bit indicano l abilitazione delle varie periferiche. Così facendo si potranno gestire tante periferiche quanti sono i bit del registro. Se un bit generico del registro si trova a livello alto il segnale di interruzione di una periferica generica potrà interrompere l operato del microprocessore oppure se così non fosse verrebbe mascherata. Il registro delle interruzioni può essere poi programmato e ciò ci consente di gestire la priorità delle periferiche in maniera abbastanza flessibile. uesto registro è situato indifferentemente o all interno o all esterno del microprocessore ma l importante è che da esso sia possibile sia leggere che scrivere. Esso può anche essere fatto come una vera e propria porta ingresso/uscita nella quale immettendo è possibile modificare la gestione delle priorità delle periferiche. Lo schema della gestione di tipo software è esposto qui di seguito: R E GIS TR O INTE R R UZIONI INT 1 INT 2 AL M ICROPR OC INTE S S OR E OR INT 3

15 --INTERRUZIONI E PORTE DI I/O-- La gestione delle interruzioni ci può tornare utile anche se ci troviamo a gestire porte I/O di sola uscita. Consideriamo ora la parte di sottoprogramma utile per scrivere nella porta di uscita: 20 PUSH salva il contenuto dell ACC nello stack 21 IN $F1 carica in ACC lo stato del flag della porta di uscita 23 AND #1 maschera tutti i bit eccetto l LSB 25 JZ 21 se ACC=0 il dato precedente non è stato ancora letto, dunque ricontrolla nuovamente il flag 27 POP recupera il dato da inviare dallo stack 28 $F0 scrivi il dato nella porta di uscita 30 RET ritorna al programma principale Nel caso in cui il dispositivo esterno per qualunque motivo non acquisisce il dato, l uscita del latch non torna mai ad 1 e si rischia di far fare al microprocessore un ciclo senza fine del controllo del flag della porta di uscita. In altri casi si ha che il tempo che intercorre tra una lettura ed una scrittura può essere abbastanza lungo ed il microprocessore è coinvolto in questo controllo mentre potrebbe svolgere altre operazioni. Per ovviare a questo inconveniente potremmo impostare un tempo massimo di attesa oltre il quale il microprocessore rinuncia a scrivere il dato segnalando un errore di timeout.

16 --INTRODUZIONE DELLE INTERRUZIONI NELLE PORTE DI I/O-- PORTA DI USCITA: Three-state mp0 memoria INT D-BUS A-BUS C-BUS Rete di decodifica CK porta OE Rete di decodifica Lettura Aggiungendo una linea per le interruzioni, si ha che quando il dato viene letto D ati per utilizzatore dall utilizzatore l uscita del latch va a livello alto generando un interruzione. Così facendo il microprocessore può essere interrotto ogni qual volta avviene l acquisizione di un dato da parte dell utilizzatore. Per collegare in maniera opportuna i vari circuiti alla rete di interruzione si deve anche tener conto se le periferiche siano più di una. In linea generale tutti i microprocessori possiedono poche linee di controllo che vengono condivise tra le periferiche tramite delle reti di controllo. Inoltre nei processori il segnale di interruzione è sensibile ai fronti piuttosto che ai livelli mentre nei sistemi più sofisticati si ricorre in base alle esigenze o all una o all altra modalità. Il principio di funzionamento della gestione delle interruzioni per una porta di uscita di tipo parallelo avviene in questo modo: Il programma principale abilita le interruzioni, implementa tutte le operazioni che occorrono e salva i risultati delle varie operazioni in un buffer senza occuparsi di inviare dati alla porta di uscita. In memoria è poi presente un sottoprogramma per la gestione delle interruzioni il cui compito è quello di prendere un dato dal buffer e di mandarlo alla porta di uscita uando si manifesta un altra interruzione il microprocessore salta ad eseguire il sottoprogramma di gestione delle interruzioni che si occuperà poi di scrivere un nuovo dato nei DFF della porta di uscita. S R Dato pronto Three-state

17 PORTA DI INGRESSO: mp0 memoria INT D-BUS A-BUS C-BUS Rete di decodifica scrittura CK porta OE Rete di decodifica S R P orta libera Il funzionamento è assimilabile in Dlinea ati dall generale utilizzatore a quello visto per la porta di uscita. In questo caso però il segnale di interruzione è prelevato all uscita del latch. Dunque quando una dato viene scritto dall esterno l uscita del latch va a livello logico alto e genera un interruzione. Nel caso specifico del mp0 si ha a disposizione una linea INT alla quale sono collegate tutte e tre le porte ed esse vengono gestite senza alcun principio di priorità. Ogni qual volta si verifica un interruzione nel mp0 esso salva l ACC, il PC ed i flag nello stack e poi salta alla locazione 80H dove si troverà la prima istruzione del programma di gestione delle interruzioni. Le istruzioni che ci consentono di gestire le interruzioni sono tre e sono: DISABLE INTERRUPT (DI) : è un istruzione che serve per disabilitare la interruzioni Tipo di indirizzamento Codice operativo Codice operativo in Hex implicito A8 ENABLE INTERRUPT (EI) : è un istruzione che serve per abilitare le interruzioni Tipo di indirizzamento Codice operativo Codice operativo in Hex implicito A0 INTERRUPT RETURN (IRET) : serve a ripristinare il sistema dopo un interruzione Tipo di indirizzamento Codice operativo Codice operativo in Hex implicito B0

18 Adesso immaginiamo di scrivere un programma che riesca ad acquisire dati dalla porta di ingresso alla locazione E0H (tastiera) gestito tramite le interruzioni. Per comodità possiamo immaginare che questo programma sia un programma di calcolo che consiste in un ciclo ripetuto di incremento dell ACC il cui contenuto di volta in volta viene trasferito alla porta di uscita alla locazione F0H. Il programma può essere il seguente: 0 LDA #0 carica in ACC il valore 0 2 PUSH salva il valore dell ACC nello stack 3 IN $F1 leggi il flag della porta di uscita dopodiché 5 AND #1 maschera tutti i bit eccetto l LSB 7 JZ 3 se flag=0 torna a leggere il flag 9 POP oppure recupera dallo stack il valore dell ACC 10 OUT $F0 invia tale dato alla porta di uscita 12 ADD #1 incrementa di 1 il contatore 14 JMP 2 e re-inizia il ciclo Il problema di fondo che presenta questo programma è che non è possibile controllare la porta di ingresso. Per far si che anche la porta di ingresso venga controllata bisognerà abilitarne le interruzioni. Perciò all inizio del nostro programma dovremmo prevedere un istruzione che ci consenta di abilitare le interruzioni che di norma sono disabilitate. Il programma con l aggiunta di questo accorgimento risulta essere il seguente: 0 EI abilita le interruzioni (flag I=1) 1 LDA #0 carica in ACC il valore 0 3 PUSH salva il valore dell ACC nello stack 4 IN $F1 leggi il flag della porta di uscita dopodiché 6 AND #1 maschera tutti i bit eccetto l LSB 8 JZ 3 se flag=0 torna a leggere il flag 10 POP oppure recupera dallo stack il valore dell ACC 11 OUT $F0 invia tale dato alla porta di uscita 13 ADD #1 incrementa di 1 il contatore 15 JMP 2 e re-inizia il ciclo Provando questo programma con il simulatore abbiamo riscontrato che il ciclo viene effettuato correttamente ed i dati sono inviati alla porta di uscita. Se però viene premuto un tasto, il microprocessore salva i dati nello stack e salta alla prima locazione dove è scritto il programma di gestione delle interruzioni (80H). In quella locazione però non ancora troviamo scritto il programma, dunque dobbiamo aspettarci che il microprocessore a quel punto avrà un comportamento strano che nel peggiore dei casi lo porta anche all arresto. Per evitare ciò bisogna sempre assicurarsi che siano disponibili i programmi di gestione delle interruzioni. Nel caso prima illustrato siccome non ci interessa acquisire dati dall esterno sarà sufficiente che alla locazione 80H sia scritta l istruzione IRET. Nel caso in cui invece volessimo l acquisizione di dati che provengono dall esterno e che questi debbano

19 essere salvati in memoria (per esempio alla locazione A0H), il sottoprogramma di gestione delle interruzioni verrà così scritto: $80 PUSH salva l accumulatore nello stack (il contenuto del PC e dei flag è stato salvato al sopraggiungere dell interruzione) $81 IN $E2 leggi il flag della tastiera $83 AND #$01 maschera tutti i bit meno che l LSB $85 JZ $8B se è zero, l interruzione non è stata generata dalla tastiera perciò ritorna $87 IN $E0 oppure leggi il dato dalla porta di ingresso $89 STA $A0 salva il dato trovato nella porta di ingresso alla locazione A0H $8B POP ripristina il contenuto dell ACC $8C IRET ritorno dall interruzione È da notare come il sottoprogramma di gestione delle interruzioni non incida minimamente sulla struttura del programma iniziale. Dal punto di vista del microprocessore esistono due modi di controllo per vedere quale periferica ha generato l interruzione e questi due modi sono: Controllo ciclico delle periferiche: nel quale il sottoprogramma di gestione delle interruzioni controlla in modo ciclico i flag di ogni singola porta e quando trova una flag attivo andrà ad eseguire la parte di sottoprogramma dedicato a quella periferica. uesto metodo tuttavia più semplice risulta avere una scarsa efficienza. Un tipo di sottoprogramma che potrebbe consentire il controllo ciclico delle periferiche è stato riassunto nel seguente array: inizia salva l ACC nello stack leggi il flag della periferica P1 se flag = 1 allora esegui il sottoprogramma di gestione di P1 leggi il flag della periferica P2 se flag = 1 allora esegui il sottoprogramma di gestione di P2... leggi il flag della periferica Pn se flag = 1 allora esegui il sottoprogramma di gestione di Pn ritorna da interruzione Tradotto in assembly il programma risulta essere il seguente: $80 PUSH salva l ACC nello stack $81 IN $54 leggi il flag di una prima porta I/O $83 AND #1 mascherane tutti i bit meno che l LSB

20 $85 JZ $89 se flag=0 controlla la porta I/O successiva oppure $87 CALL P1 chiama il sottoprogramma di gestione di P1 $89 IN $70 leggi il flag della seconda porta I/O $8B AND #1 mascherane tutti i bit eccetto l LSB $8D JZ $91se flag=0 controlla la porta I/O successiva oppure $8F CALL P2 chiama il sottoprogramma di gestione di P2 $C1 IN $FF leggi il flag di una terza periferica $C3 AND #1 mascherane tutti i bit tranne l LSB $C5 JZ $C9 se flag=0 recupera il valore dell ACC dallo stack oppure $C7 CALL P3 chiama il sottoprogramma di gestione di P3 $C9 POP ripristina il contenuto dell ACC $CB ritorna dall interruzione Interrupt vettorizzato: quando una periferica interrompe viene riconosciuta dal microprocessore e rende disponibile sul D-BUS un numero di identificazione. uesto numero perviene al microprocessore e viene utilizzato come indirizzo della prima istruzione del sottoprogramma di gestione delle interruzioni di quella specifica periferica. uesto metodo risulta essere il più efficiente in quanto in alcuni casi è la periferica stessa ad indicare al microprocessore qual è il programma di gestione da eseguire. CONSIDERAZIONI: non si sono verificati problemi nello svolgimento dell esperienza e tutto è stato svolto correttamente.

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

DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0

DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0 DATA: 21-09-08 CLASSE: V a EL. TITOLO: ELABORAZIONE DEL SISTEMA OPERATIVO PER mp0 nelle lezioni precedenti abbiamo preso in esame tutte le caratteristiche e le funzionalità del microprocessore didattico

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

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

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

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

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

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

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Introduzione. Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache... Appunti di Calcolatori Elettronici Concetti generali sulla memoria cache Introduzione... 1 Il principio di localizzazione... 2 Organizzazioni delle memorie cache... 4 Gestione delle scritture in una cache...

Dettagli

Programmazione dello Z80

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

Dettagli

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

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

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

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

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

ARCHITETTURA DEI CALCOLATORI

ARCHITETTURA DEI CALCOLATORI A09 139 Graziano Frosini Giuseppe Lettieri ARCHITETTURA DEI CALCOLATORI VOLUME II STRUTTURA DEL PROCESSORE, DEL BUS, DELLA MEMORIA E DELLE INTERFACCE, E GESTIONE DELL I/O CON RIFERIMENTO AL PERSONAL COMPUTER

Dettagli

ancora l architettura elementare di un sistema di elaborazione:

ancora l architettura elementare di un sistema di elaborazione: Principi di architetture dei calcolatori: la gestione delle periferiche. Mariagiovanna Sami Riprendiamo ancora l architettura elementare di un sistema di elaborazione: Il punto di partenza 2 Il punto di

Dettagli

PLC Sistemi a Logica Programmabile

PLC Sistemi a Logica Programmabile PLC Sistemi a Logica Programmabile Prof. Nicola Ingrosso Guida di riferimento all applicazione applicazione dei Microcontrollori Programmabili IPSIA G.Ferraris Brindisi nicola.ingrosso @ ipsiaferraris.it

Dettagli

Lezione n.9. Introduzione al linguaggio macchina

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

Dettagli

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

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

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

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

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

Architettura di un calcolatore: introduzione

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

Dettagli

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

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 del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

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

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

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

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

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

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

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

Capitolo 3: Strutture dei sistemi operativi

Capitolo 3: Strutture dei sistemi operativi Capitolo 3: Strutture dei sistemi operativi Componenti del sistema Servizi di un sistema operativo Chiamate del sistema Programmi di sistema Struttura del sistema Macchine virtuali Progettazione e realizzazione

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

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

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

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

Dettagli

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

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

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

acquisire informazioni su grandezze analogiche, trasformandole in stringhe di bit

acquisire informazioni su grandezze analogiche, trasformandole in stringhe di bit Convertitori analogico/digitali Un convertitore analogico digitale ha la funzione inversa a quella di un convertitore DAC, poiché il suo scopo è quello di permetter ad un sistema a microprocessore di acquisire

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

Il bus PCI. Piccinetti Stefano

Il bus PCI. Piccinetti Stefano Il bus PCI Piccinetti Stefano Prima del bus PCI: il bus ISA Il bus più diffuso prima del 1992 era il bus ISA (quello sostanzialmente trattato a Reti Logiche). Il primo bus ISA era ad 8 bit e garantiva

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

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

PD32. Interfacciamento con i dispositivi di I/O (V)

PD32. Interfacciamento con i dispositivi di I/O (V) PD32 Interfacciamento con i dispositivi di I/O (V) Interazione CPU - dispositivi Soluzioni possibili Busy Waiting Utilizzabile quando CPU esegue solo il task di dialogo con la periferica Interruzioni D.M.A.

Dettagli

Lezione 4. Figura 1. Schema di una tastiera a matrice di 4x4 tasti

Lezione 4. Figura 1. Schema di una tastiera a matrice di 4x4 tasti Lezione 4 Uno degli scogli maggiori per chi inizia a lavorare con i microcontroller, è l'interfacciamento con tastiere a matrice. La cosa potrebbe a prima vista sembrare complessa, ma in realtà è implementabile

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

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

Esercitazione 2 di verifica

Esercitazione 2 di verifica Architettura degli Elaboratori, 27-8 Esercitazione 2 di verifica Soluzione: mercoledì 24 ottobre Una unità di elaborazione U è così definita: Domanda 1 i) possiede al suo interno due componenti logici

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

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

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

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

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

Collegamento dei Sistemi SLC come I/O remoti ai Processori PLC 5

Collegamento dei Sistemi SLC come I/O remoti ai Processori PLC 5 Guida di Riferimento Collegamento dei Sistemi SLC come I/O remoti ai Processori PLC 5 Questo documento utilizza la documentazione disponibile sui PLC e SLC per mostrare come è possibile comunicare tra

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

Versione A: caricamento ed esecuzione del codice

Versione A: caricamento ed esecuzione del codice Versione A: caricamento ed esecuzione del codice «Nella sua prima versione, la CPU si compone soltanto di registri utili ad accedere alla memoria per leggere il codice operativo da eseguire, come di vede

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

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

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

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

Dettagli

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

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

Dettagli

Lezione 8. Figura 1. Configurazione del registro INTCON

Lezione 8. Figura 1. Configurazione del registro INTCON Lezione 8 In questa puntata, ci dedicheremo all'impiego dei cosiddetti "interrupt", che tanto incutono temore ai più inesperti. Ma che cosa sono questi interrupt? Come abbiamo già visto, un programma non

Dettagli

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè Parte II AND 104 I, micro-operazioni c 0 t 0 : MAR PC c 0 t 1 : MBR M, PC PC+1 c 0 t 2 : OPR MBR(OP), I MBR(I) q 7 Ic 0 t 3 : R 1 Ciclo di fetch (q 7 +I )c 0 t 3 : F 1 c 1 t 0 : MAR MBR(AD); / 104 da Hex

Dettagli

Von Neumann. John Von Neumann (1903-1957)

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

Dettagli

1. I database. La schermata di avvio di Access

1. I database. La schermata di avvio di Access 7 Microsoft Access 1. I database Con il termine database (o base di dati) si intende una raccolta organizzata di dati, strutturati in maniera tale che, effettuandovi operazioni di vario tipo (inserimento

Dettagli

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL STRUTTURA DEI SISTEMI OPERATIVI 3.1 Struttura dei Componenti Servizi di un sistema operativo System Call Programmi di sistema Struttura del sistema operativo Macchine virtuali Progettazione e Realizzazione

Dettagli

USART PIC 16F876. R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R-1 R/W-0 CSRC TX9 TXEN SYNC _ BRGH TRMT TX9D Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

USART PIC 16F876. R/W-0 R/W-0 R/W-0 R/W-0 U-0 R/W-0 R-1 R/W-0 CSRC TX9 TXEN SYNC _ BRGH TRMT TX9D Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 USART PIC 16F876 L USART (Universal Synchronous Asynchronous Receiver Trasmitter) è uno dei due moduli di I/O seriali, esso è conosciuto anche come Serial Comunications Interface (SCI). L USART può essere

Dettagli

Capitolo. Interfacciamento di periferiche I/O con il PC. 1.1 Il BUS di espansione del PC

Capitolo. Interfacciamento di periferiche I/O con il PC. 1.1 Il BUS di espansione del PC Capitolo 1 Interfacciamento di periferiche I/O con il PC 1.1 Il BUS di espansione del PC 1.2 Interfacciamento di periferiche I/O con il PC, con dispositivi non programmabili 1.3 Istruzioni per leggere

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

Calcolo numerico e programmazione Architettura dei calcolatori

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

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

Macchina di von Neumann

Macchina di von Neumann Il processore PD32 Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Uscita

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

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

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

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

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

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

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

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007 2007 SISTEMI OPERATIVI Gestione della memoria Domande di verifica Luca Orrù Centro Multimediale Montiferru 18/06/2007 Gestione della memoria 1. Si descriva il concetto di memoria virtuale (esame del 19-06-2006)

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

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

Reti sequenziali e strutturazione firmware

Reti sequenziali e strutturazione firmware Architettura degli Elaboratori, a.a. 25-6 Reti sequenziali e strutturazione firmware Alla parte di corso sulle reti sequenziali è apportata una sensibile semplificazione rispetto a quanto contenuto nel

Dettagli

La programmazione DCC con JMRI

La programmazione DCC con JMRI La programmazione DCC con JMRI La personalizzazione del funzionamento del nostro plastico di ing. Raneri Epifanio www.dccworld.com ALLA PORTATA DI TUTI Il Digitale e l elettronica L utilizzo del digitale

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Architettura dei calcolatori I parte Introduzione,

Dettagli

Il software. la parte contro cui si può solo imprecare. Il software

Il software. la parte contro cui si può solo imprecare. Il software Il software la parte contro cui si può solo imprecare Il software L hardware da solo non è sufficiente per il funzionamento dell elaboratore ma è necessario introdurre il software ovvero un insieme di

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

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

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

Dettagli

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

Architettura del PIC 18F452

Architettura del PIC 18F452 Controllo Digitale a.a. 2005-2006 Architettura del PIC 18F452 Ing. Federica Pascucci PIC 18F452 Caratteristiche Frequenza operativa: 40 MHz Memorie: Program FLASH memory: 32 KBytes, 16 K-istruzioni memorizzabili

Dettagli

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2. Manuale d uso

VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2. Manuale d uso VISUALIZZATORE DI ALLARMI E MESSAGGI DISP 2 Manuale d uso Note: Le informazioni contenute in questa documentazione possono essere modificate senza preavviso. Per ulteriori informazioni contattare: DUEMMEGI

Dettagli

I SISTEMI DI NUMERAZIONE

I SISTEMI DI NUMERAZIONE ISTITUTO DI ISTRUZIONE SUPERIORE G. M. ANGIOY CARBONIA I SISTEMI DI NUMERAZIONE Prof. G. Ciaschetti Fin dall antichità, l uomo ha avuto il bisogno di rappresentare le quantità in modo simbolico. Sono nati

Dettagli

SISTEMI A MICROPROCESSORE

SISTEMI A MICROPROCESSORE Istituto Tecnico Industriale Statale EUGENIO BARSANTI 80038 POMIGLIANO D ARCO (NA) Via Mauro Leone, 105 Specializzazioni: Meccanica Tel. (081) 8841350 - Fax (081) 8841676 Elettrotecnica e Automazione Distretto

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

Architettura di tipo registro-registro (load/store)

Architettura di tipo registro-registro (load/store) Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche

Dettagli

Ordinamento degli eventi. Lezione 11. Osservazioni. Relazione verificato prima. Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita

Ordinamento degli eventi. Lezione 11. Osservazioni. Relazione verificato prima. Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita Lezione 11 Cenni ai sistemi operativi distribuiti 3. Coordinazione distribuita Ordinamento degli eventi Un sistema monoprocessore Unico clock Unica memoria Ordinamento degli eventi Mutua esclusione Deadlock

Dettagli

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione

Definizione di processo. Un processo è un programma (o una parte di una programma) in corso di esecuzione SISTEMI OPERATIVI (parte prima - gestione dei processi) Tra i compiti di un sistema operativo sicuramente troviamo i seguenti: Gestione dei processi Gestione della memoria Gestione del file-system Ci occuperemo

Dettagli