GESTIONE PERIFERICHE PERIFERICHE DI I/O: GESTIONE SW E GESTIONE HW IMPLEMENTAZIONE SULLA PIATTAFORMA DI SIMULAZIONE MODIFICA DELLA MAPPA DI MEMORIA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "GESTIONE PERIFERICHE PERIFERICHE DI I/O: GESTIONE SW E GESTIONE HW IMPLEMENTAZIONE SULLA PIATTAFORMA DI SIMULAZIONE MODIFICA DELLA MAPPA DI MEMORIA"

Transcript

1 1 GESTIONE PERIFERICHE PERIFERICHE DI I/O: GESTIONE SW E GESTIONE HW IMPLEMENTAZIONE SULLA PIATTAFORMA DI SIMULAZIONE MODIFICA DELLA MAPPA DI MEMORIA

2 2 PERIFERICHE DI I/O: GESTIONE SW E GESTIONE HW

3 INTRODUZIONE: L IMPORTANZA DELL I/O 3 Dire che la gestione delle periferiche di un sistema e in particolare dell I/O è importante sembra banale ed universalmente riconosciuto. Meno banale se si pensa a situazioni particolari. Acquisisce dati sensoriali (pressione, temperatura) dalla mano sintetica del vigile del fuoco Ken Whitten e li inoltra sul sistema nervoso. Controlla la propulsione, l assetto, gestisce la comunicazione in BOB (Breathable Observable Bubble) Computer without I/O is like a car without wheels; great technology, but won t get you anywhere. (D. Patterson)

4 PERIFERICHE SEMPLICI: REGISTRI DI I/O 4 I sistemi embedded sono in grado di interfacciarsi con l esterno attraverso delle porte (canali) al fine di gestire le periferiche ad essi collegate. Fra le periferiche base da gestire ci sono quelle di I/O, e le più semplici in assoluto sono i registri di input e di output. Tipicamente i registri di I/O sono collegati al mondo esterno attraverso dei convertitori A/D (input) o D/A (output). I registri rappresentano le interfacce con l esterno per il processore, affinché sia in grado di prelevare e spedire i dati comunicando con l esterno.

5 MODELLO VERILOG DI UN REGISTRO DI INPUT module input_reg(clk, rst, RWAddr, to_data_bus, in_vector); //default module address parameter input_reg_addr =32'h ; input clk, rst; input [31:0] RWAddr; output [31:0] to_data_bus; input [31:0] in_vector; reg [31:0] to_data_bus, input_reg; 5 //at each clock cycle the input register is updated with the incoming //input signal clk) input_reg = in_vector; //if the address of the peripheral is carried on the read address //(RWAddr) the content of the register is sent to the output case (RWAddr) input_reg_addr: to_data_bus = input_reg; endcase endmodule

6 MODELLO VERILOG DI UN REGISTRO DI OUTPUT module output_reg(clk, we, RWAddr, from_data_bus, out_vector); //default module address parameter output_reg_addr =32'hF000; input we, clk; input [31:0] RWAddr; input [31:0] from_data_bus; output [31:0] out_vector; reg [31:0] out_vector; 6 //at each clock cycle if the address of the peripheral is carried on //the read address (RWAddr) and the write enable signal (we) is //enabled the output register is updated with the content of the //data bus clk) if (RWAddr == output_reg_addr) begin if (we) out_vector = from_data_bus; end endmodule

7 GESTIONE SINCRONIZZAZIONE 7 Tipicamente la CPU e periferiche hanno velocità differenti, per cui è necessario provvedere alla loro sincronizzazione. SOLUZIONI POSSIBILI SOFTWARE: polling HARDWARE: interrupt, controller DMA

8 SW: POLLING 8 La CPU inizia, dirige e termina l'operazione di I/O, rimanendo in attesa del completamento (I/O a controllo di programma). Le periferiche vengono interrogate periodicamente (polling) per capire se vi sono dati da leggere o se è possibile scrivere. Tutti i dati vengono scambiati tramite una porta di lettura/scrittura e la sincronizzazione usa registri di controllo delle porte di lettura/scrittura (i flag utilizzati per la verifica vengono re-inizializzati a termine operazione).

9 POLLING: PRO E CONTRO Chiaramente tutta la gestione dei dispositivi di I/O è totalmente demandata alla CPU che spreca la maggior parte del tempo dedicato al programma principale nell esecuzione del ciclo di polling. Questa tecnica dunque si può utilizzare per sistemi piccoli e poco complessi, in quanto benché sia poco oneroso in termini in termini di hardware risulta essere poco efficiente (scala male e costringe la CPU a lunghi periodi di busy waiting). Se ci sono più dispositivi connessi, il tempo che nel caso peggiore una periferica deve attendere prima che la CPU esegua il trasferimento richiesto può essere alto, e dipende dal numero di periferiche che la CPU interroga prima di arrivare a quella corrente. 9

10 POLLING: VALUTAZIONE TEMPO DI ATTESA 10 Processore: 500 MHz => clock 2 ns; 400 colpi di clock per ogni interrogazione a periferica(chiamata alla procedura di polling, accesso all interfaccia, ritorno). Mouse: interrogato 30 volte al secondo per non perdere movimenti dell utente. Hard disk: trasferimento dati in blocchi da 16 byte; velocità di trasferimento di 8 MB/sec.

11 POLLING: VALUTAZIONE TEMPO DI ATTESA 11 Mouse: cicli al secondo necessari per l interrogazione: # interrogazioni al sec * # cicli per interrogazione= 30 * 400 = cicli/sec overhead sul processore: # cicli al sec per interrogazione / # colpi di clock al sec = 12*10 3 /500*10 6 =0, => 0,002% Polling con un impatto trascurabile sul processore Hard disk: # interrogazioni al secondo: velocità trasferimento / dimensione = 8 MB/s /16B = 500K tr al sec cicli al secondo necessari per l interrogazione: 500K *400=2*10 8 cicli/sec overhead sul processore: 2*10 8 /500*10 6 =200*10 6 /500*10 6 =0,4=> 40% Polling con un impatto inaccettabile sul processore

12 HW: INTERRUPT 12 E inutile che il processore sprechi tempo nell attesa che la periferica sia pronta. E sufficiente che la procedura di lettura sia eseguita solo quando la periferica è pronta, per risparmiare un po' di tempo sprecato facendo busy waiting. Le interruzioni consentono una gestione asincrona dell operazione di I/O e, a patto che la periferica sia in grado di generare un segnale di interrupt. La CPU dunque non sarà costretta ad attendere il completamento dell operazione, ma risponderà semplicemente alla richiesta di interruzione

13 HW: INTERRUPT 13 Nel caso della gestione delle periferiche tramite interrupt è la periferica che comunica al processore il suo stato di pronto attraverso un segnale di interruzione, detto appunto interrupt. La CPU, che presumibilmente era impegnata nella esecuzione di una sequenza di istruzioni, la interrompe temporaneamente per eseguire la sequenza prevista dal protocollo del I/O. La sequenza di istruzioni che il processore esegue in seguito ad una interruzione viene detta routine di servizio (interrupt service routine).

14 INTERRUPT: CAMBIO DI CONTESTO 14 1) Interruzione 2) Salvataggio contesto Reg[31]:=PC, Registri utente Programma utente 3) PC=ind routine 4) Esecuzione ISR 5) Ripristino contesto PC:=Reg[31] Routine servizio di

15 INTERRUPT: CAMBIO DI CONTESTO Il salvataggio del contesto deve essere non interrompibile per evitare situazioni anomale: Il processore viene dotato di un flag IE (Interrupt Enable) indicante la interrompibilità del processore. Nel momento in cui viene accettata la richiesta di interruzione IE viene resettato e il processore diventa non interrompibile. Il processore tornerà ad essere interrompibile al ripristino del contesto. In pratica l operazione di I/O inizia su richiesta della periferica, che manda una richiesta sulla linea di ingresso dedicata (I_Req) della CPU. La CPU per comunicare con la periferica avrà anche una linea di uscita (ACK_INT). Appena possibile (dopo aver completato l istruzione corrente), per soddisfare la richiesta ricevuta, la CPU dovrà operare il salvataggio del contesto (interrompe il flusso sequenziale delle istruzioni, salva gli indirizzi, i registri, stato dell MMU, etc). Inizia l esecuzione di una interrupt service routine (ISR) in modalita interrupt. Quando completa la ISR, ripristina lo stato e ritorna al codice che stava eseguendo prima dell interruzione all indirizzo salvato. 15

16 INTERRUPT: ASPETTI NEGATIVI 16 Overhead per la CPU: Latenza dell Interrupt: intervallo di tempo che passa dall istante in cui viene generato l interrupt all istante in cui si inizia a lavorare per l I/O. Salvataggio dei Registri: i registri devono essere salvati all inizio della ISR e ripristinati alla fine. Sarà necessario dunque ridurre il più possibile il numero di registri da salvare (limitando quelli usati nella ISR) e/o utilizzare registri dedicati e/o set di registri aggiuntivi che si sovrappongono a quelli principali durante l esecuzione del ISR.

17 INTERRUPT: GESTIONE DI PIU PERIFERICHE Tipicamente la CPU dispone di un unica linea in ingresso dedicata alle richieste mentre le periferiche gestite tramite interrupt potrebbero essere svariate. Soluzione più semplice: Non c è distinzione fra gli interrupt di periferiche diverse ma tutte vengono convogliate su un unico piedino (OR fra tutte le sorgenti). Per ogni richiesta ricevuta la ISR fa POLLING fra tutte le periferiche collegate per vedere quale ha realmente effettuato la richiesta. L handshake necessario è implementato via SW dal driver. Soluzione più efficiente: Disponibilità di più linee di interruzione disponibili a discapito di una logica più complessa: è necessario un controllore per le interruzioni. Guadagno in termini di flessibilità grazie alla possibilità di gestire priorità e annidamenti. 17

18 INTERRUPT: VALUTAZIONE TEMPO DI ATTESA 18 Processore: 500 MHz => clock 2 ns; Overhead di 500 cicli di clock per ogni trasferimento, ISR inclusa. Hard disk: trasferimento dati in blocchi da 16 byte; velocità di trasferimento di 8 MB/sec. attivo il 5% del tempo. Interrupt rate: # interrogazioni al secondo: velocità trasferimento / dimensione = 8 MB/s /16B = 500K tr/sec Disk Polling: # interrogazioni al secondo * overhead per trasferimento = 500K tr/sec * 500 clk/tr = 250*10 6 clk/sec Overhead sul processore durante i trasferimenti: Disk Polling / CPU freq = 250*10 6 /500*10 6 = 50% Disco attivo 5% => 5% * 50% = 2.5% overhead totale (polling 40%)

19 HW: DMA Nel trasferimento di blocchi di dati l interrupt I/O può risultare comunque pesante perché durante il trasferimento di ogni blocco, la CPU è occupata nell inoltro di dati tra memoria e periferica. Liberare il processore dalla realizzazione del trasferimento, lasciandogli solo la supervisione dell operazione (specificare il blocco da trasferire, gestire l avvio e la chiusura) diminuisce ulteriormente l overhead sul processore. Direct Memory Access (DMA) ovvero accesso diretto alla memoria: viene realizzato tramite un dispositivo, noto come DMA controller (DMAC), capace di trasferire un blocco di dati tra la memoria ed una periferica e di generare un interrupt al termine. In generale l utilizzo di un DMAC consente di superare due limiti tipici sia dell I/O SW che di quello HW gestito tramite interrupt: la velocità di trasferimento non è più vincolata dalla velocità con la quale il processore può verificare e servire una periferica; le istruzione di I/O non sono più eseguite dalla CPU. 19

20 HW: DMA Il DMA in pratica è una periferica dedicata che si può sostituire alla CPU nel controllo del bus per operazioni di trasferimento dati fra i vari dispositivi di I/O e la memoria oppure fra due aree di memoria. Risulta essere molto utile quando devono essere trasferiti grandi quantità di dati che la CPU non deve elaborare (e.g. periferiche di acquisizione video, swap di pagine di memoria virtuale ). Nel frattempo, mentre il DMA si occupa del trasferimento, la CPU può continuare l esecuzione sequenziale del programma fino a quando non necessita di accedere al bus (e.g. a seguito di una miss in cache). Nel qual caso si metterà in attesa del segnale di interruzione del DMA per riacquisire il controllo del bus. 20

21 OVERHEAD SULLA CPU: NO DMA vs DMA 21

22 DMA: OPERAZIONI DA GESTIRE 22 La CPU fornisce le informazioni relative al blocco da trasferire ed inizializza il DMAC: base address IOAR data count DC controllo Control Register DMAC asserisce BUS REQUEST. La CPU rilascia il bus e asserisce BUS GRANT. Acquisito il bus, il DMAC trasferisce i dati da/verso la memoria incrementando IOAR e decrementando DC. Se DC 0 e il device esterno non è pronto, il DMAC rilascia il bus che ritorna alla CPU. Se DC = 0, il controllo ritorna alla CPU. Eventualmente, viene generata un interruzione.

23 DMA: VALUTAZIONE TEMPO DI ATTESA Processore: 500 MHz => clock 2 ns; Setup del DMAC: 1000 cicli Servizio dell interruzione: 500 cicli Hard disk: trasferimento dati in blocchi da 16 byte; velocità di trasferimento di 8 MB/sec. 23 # trasferimenti al secondo: velocità trasferimento / dimensione = 8 MB/s /16B = 500K tr/sec Overhead sul processore: (tpo setup + tpo servizio interruzione)* # trasferimenti al secondo = ( ) clk/tr * 500K tr/sec = 750*10 6 clk/sec % overhead => Overhead sul processore / CPU freq = 750*10 6 /500*10 6 = 1,5% (polling 40%, interrupt 2.5%) Con blocchi più grandi si possono raggiungere percentuali di overhead più basse, e.g con blocchi da 8 KB la percentuale di overhead sul processore è 0,3%

24 RIASSUMENDO 24

25 25 IMPLEMENTAZIONE SULLA PIATTAFORMA DI SIMULAZIONE

26 MEMORY MAPPED I/O vs INDEPENDENT I/O Ogni interfaccia viene selezionata dal processore tramite un indirizzo univoco. Si parla di Memory mapped I/O se l indirizzo in questione appartiene allo spazio di indirizzamento della CPU. Operazioni di I/O realizzate tramite istruzioni di MOVE Numero di I/O ports teoricamente illimitato Struttura del bus più semplice Si parla di Independent I/O se l indirizzo in questione appartiene ad uno spazio di indirizzamento separato. Istruzioni specifiche per l I/O (IN, OUT) Non si sacrificano indirizzi di memoria per l I/O Struttura del bus più complessa 26

27 MEMORY MAPPING 27 La comunicazione tra processore e periferica è implementata (completamente o in parte) tramite accessi in lettura/scrittura a locazioni di memoria (tradizionali load e store). A ciascun registro interno di ogni periferica è associato un indirizzo di memoria. Ovviamente lo spazio di memoria dedicato alle periferiche deve essere costituito da indirizzi non utilizzati per la memoria.

28 MEMORY MAPPING 28 LETTURA: Ogni qualvolta il processore necessita di acquisire un dato dall'esterno esegue una istruzione di load. L'indirizzo è quello del registro della periferica che si vuole leggere. Il dato viene copiato su uno dei registri interni per poter essere subito utilizzato o copiato in memoria. SCRITTURA: Ogni qualvolta il processore necessita di mandare un dato all'esterno esegue una istruzione di store. L'indirizzo è quello del registro della periferica sulla quale si vuole scrivere. Il dato viene copiato da uno dei registri interni sul registro.

29 SCRITTURA SULLE PERIFERICHE 29 Ciascuna periferica scrivibile ha la propria porta dati in ingresso collegata al bus di uscita del processore ed è inoltre collegata alla porta indirizzi. E' dotata di un decoder che abilita la scrittura su uno dei propri registri interni solo nel caso sul bus indirizzi si presenti l'indirizzo associato a quel registro e che il segnale di scrittura sia attivo.

30 LETTURA DALLE PERIFERICHE 30 Le periferiche da cui leggere hanno la porta dati in uscita collegata ad uno degli ingressi di un multiplexer Il multiplexer è collegato in uscita con la porta dati in ingresso del processore ed è controllato da un decoder che decodifica il bus indirizzi abilitando in uscita l'ingresso associato all'indirizzo decodificato. Ciascuna periferica è collegata alla porta indirizzi del processore. E' dotata di un decoder interno che manda in uscita il contenuto del proprio registro interno avente indirizzo uguale all indirizzo in transito sul bus apposito.

31 ES.0 DUE CANALI DI INGRESSO E UN CANALE DI USCITA 31 Applicazione: simulazione dell'esecuzione di applicazioni su un semplice sistema con 2 canali di ingresso ed un canale di uscita. Le periferiche sono mappate in memoria in maniera non contigua alla memoria dati.

32 ES.0 DUE CANALI DI INGRESSO E UN CANALE DI USCITA 32

33 ES.0 DECODER 33 module addr_decoder(address, Sel); input [31:0] Address; //received from the address bus output [2:0] Sel; //selection signal for the mux reg [2:0] Sel; begin case (Address) 32'h4000: Sel = 3'h1; // CH0 Input Register 32'h4004: Sel = 3'h2; // CH1 Input Register default: Sel = 3'h0; // Data_RAM or not addressable // memory selected endcase end endmodule

34 ES.0 MUX 8 TO 1 34 module mux_8x1(sel, Din0, Din1, Din2, Din3,Din4, Din5, Din6,Din7, Dout); // default data size parameter N=32; input [2:0] sel; //selection signal // incoming input register data (1 up to 8) input [N-1:0] Din0, Din1, Din2, Din3, Din4, Din5, Din6, Din7; // selected data to be sent to the CPU output [N-1:0] Dout; wire [N-1:0] Din0, Din1, Din2, Din3, Din4, Din5, Din6, Din7; reg [N-1:0] Dout; always@(sel or Din0 or Din1 or Din2 or Din3 or Din4 or Din5 or Din6 or Din7) begin casex (sel) 3'b000: Dout=Din0; // CH0 Input Register 3'b001: Dout=Din1; // CH1 Input Register 3'b010: Dout=Din2; // not assigned 3'b011: Dout=Din3; // not assigned 3'b100: Dout=Din4; // not assigned default : Dout=32'bx; endcase end endmodule

35 ES.0 MONITORAGGIO DI UN INPUT TRAMITE POLLING Supponiamo di voler monitorare due variabili fisiche (e.g. temperatura e umidità) e di voler generare un segnale di allarme i uscita se una delle due variabili assume un valore anomalo. A livello di simulazione le variabili di ingresso vengono modellate in Verilog. In pratica il testbench funge da ambiente col quale il sistema ES.0 interagisce. 35

36 ES.0 EMULAZIONE DEGLI INPUT TRAMITE TB <T<50 600%mm < U < 950 % mm

37 ES.0 EMULAZIONE DEGLI ALLARMI TRAMITE TB 37 ES.0 monitora i vaori in gioco e segnala un allarme se T>42 e U>900 % mm. L allarme viene codificato segnalando il valore 0 in uscita seguito immediatamente dal valore anomalo. PROCESSO DI GESTIONE DELL ALLARME: clk) begin if (!( CH0_OUT == CH0_OUT_OLD)) begin if ( CH0_OUT_OLD == 32'h0) begin $display(" \n ALLARME"); $display(" CH0 = %d \n \n", CH0_OUT); end end CH0_OUT_OLD = CH0_OUT; end

38 ES.0 SW POLLING PER LA GESTIONE DELL I/O 38 void _main( void ) { int CH0_IN_var, CH1_IN_var, CH0_OUT_var; int i, *p_reg_ch0_in, *p_reg_ch1_in, *p_reg_ch0_out; p_reg_ch0_in = (int*) 0x4000; p_reg_ch1_in = (int*)0x4004; p_reg_ch0_out = (int*)0x4008; for( i=0; i<num_iterazioni; i++) { // acquisizione temperatura CH0_IN_var = get_input(p_reg_ch0_in); // acquisizione umidità CH1_IN_var = get_input(p_reg_ch1_in); if( CH0_IN_var > 42 ){ send2out( 0, p_reg_ch0_out) ; send2out(ch0_in_var, p_reg_ch0_out) ; } //end check temperatura if( CH1_IN_var > 900 ){ send2out(0, p_reg_ch0_out) ; send2out(ch1_in_var, p_reg_ch0_out) ; } //end check umidità }//end for }

39 ES.0 SW POLLING PER LA GESTIONE DELL I/O 39 SCRITTURA SU REGISTRO D USCITA void send2out(int data, int* p_out) { } *p_out = (int) data; ACQUISIZIONE DATO PERIFERICA int get_input(int* p_out) { } Nota: return(*p_out); Viene predefinito il numero di monitoraggi delle variabili fisiche, anche se questa scelta è poco realistica. In teoria le variabili dovrebbero essere controllate dal reset allo shutdown o almeno fino a che l applicazione è attiva (OS sottostante).

40 40 MODIFICA DELLA MAPPA DI MEMORIA

41 ES.1 MODIFICA ALLA MAPPATURA IN MEMORIA 41 Modifica della piattaforma HW: Indirizzi utilizzati dall Address Decoder; Indirizzo Periferica. Modifica della routine SW di gestione dell I/O.

LA GESTIONE DELLA I/O

LA GESTIONE DELLA I/O LA GESTIONE DELLA I/O Il S.O. È l interfaccia tra l hardware e i programmi che effettuano richieste di I/O Sottosistema di I/O strutturato in moduli chiamati DRIVER uno per ogni dispositivo I Driver rendono

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Gestione delle periferiche Anno Accademico Francesco Tortorella Input/Output: da un sistema di elaborazione a? Sistema di Elaborazione Processore Controllo Memoria

Dettagli

ISA Input / Output (I/O) Data register Controller

ISA Input / Output (I/O) Data register Controller ISA Input / Output (I/O) Numerose Periferiche di tanti tipi diversi, collegati alla CPU mediante BUS diversi. Solo Input (tastiera, mouse), producono dati che la CPU deve leggere. Solo Output (Schermo),

Dettagli

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus

Periferiche CPU. Misure e Sistemi Microelettronici Sistemi 6-1 SREG. Data Bus Address Bus Control Bus Periferiche Interface Interface Interface Interface CPU SREG CREG DREG Il processore scambia informazioni con le periferiche attraverso dei registri. Tipicamente: Control REGister; Status REGister; Data

Dettagli

Input/Output (Cap. 7, Stallings)

Input/Output (Cap. 7, Stallings) Input/Output (Cap. 7, Stallings) Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi Tutti più lenti della CPU e della RAM Necessità di avere moduli

Dettagli

Livelli del sottosistema di I/O

Livelli del sottosistema di I/O Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal dispositivo Driver dei dispositivi Gestori delle interruzioni Hardware Modo utente

Dettagli

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a)

Capitolo 7: Input/Output. Es.1 - Bus sincrono. Es.1 - Risposta (a) Esercitazione di Calcolatori Elettronici Ing. Gian Luca Marcialis Corso di Laurea in Ingegneria Elettronica Capitolo 7: Input/Output Capitolo 7 Input/Output Esercizi sul BUS: 1. Bus sincrono 2. Arbitraggio

Dettagli

Corso di Calcolatori Elettronici I

Corso di Calcolatori Elettronici I Corso di Calcolatori Elettronici I Il sistema di Input-Output Roberto Canonico Università degli Studi di Napoli Federico II A.A. 2014-2015 Roberto Canonico Corso di Calcolatori Elettronici I A.A. 2014-2015

Dettagli

Capitolo 13 Il sottosistema di ingresso/uscita

Capitolo 13 Il sottosistema di ingresso/uscita Capitolo 13 Il sottosistema di ingresso/uscita Elementi di base del sottosistema di I/O I dispositivi di I/O sono collegati al bus di sistema attraverso una interfaccia che risolve i problemi di sincronizzazione

Dettagli

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I)

Dispositivi di I/O. Dispositivi di I/O. Prestazioni degli hard disk. Dispositivi di I/O (2) Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Architetture dei Calcolatori (lettere A-I) Dispositivi di I/O Un dispositivo di I/O è costituito da due componenti: Il dispositivo fisico effettivo (disco, stampante, mouse, video, )

Dettagli

Il sistema di Input/Output

Il sistema di Input/Output Corso di Calcolatori Elettronici I A.A. 2010-2011 Il sistema di Input/Output Lezione 35 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso di Laurea in Ingegneria

Dettagli

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel

Sistemi Operativi. Sistemi I/O SISTEMI DI INPUT/OUTPUT. Hardware di I/O. Interfaccia di I/O per le applicazioni. Sottosistema per l I/O del kernel SISTEMI DI INPUT/OUTPUT 10.1 Sistemi I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Stream Prestazioni 10.2 I/O Hardware

Dettagli

Input/Output. Livelli del sottosistema di I/O

Input/Output. Livelli del sottosistema di I/O Input/Output 1 Livelli del sottosistema di I/O Software di I/O di livello utente Software di sistema indipendente dal Di Driver dei didispositivi itii Gestori delle interruzioni Hardware utente kernel

Dettagli

INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED

INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED 1 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED ROUND ROBIN ROUND ROBIN CON INTERRUPT FUNCTION QUEUE SCHEDULING REAL TIME OPERATING SYSTEMS (RTOS) INTERRUPT PROGRAMMATI: TIMER INTRODUZIONE 2 In relazione

Dettagli

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB)

Tipi di Bus. Bus sincrono. Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Comunicazioni nell elaboratore (e oltre) Bus sincroni e asincroni Standard commerciali (PCI,SCSI,USB) Architettura degli Elaboratori (Prima Unità) Renato.LoCigno@dit.unitn.it www.dit.unitn.it/~locigno/didattica/archit/02-03/index.html

Dettagli

Sottosistemi ed Architetture Memorie

Sottosistemi ed Architetture Memorie Sottosistemi ed Architetture Memorie CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II La memoria centrale Memoria centrale: array di

Dettagli

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni

Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria

Dettagli

Ciclo del Processore. Memoria

Ciclo del Processore. Memoria Ciclo del Nella figura seguente è riportata la rappresentazione semplificata ed essenziale di un computer. RESET Canali Di Ingresso Uscita Uscita Ingressi Fig. 1 Rappresentazione semplificata di un computer

Dettagli

Input/output. Sistemi Operativi Lez. 32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010

Input/output. Sistemi Operativi Lez. 32. Corso: Sistemi Operativi Danilo Bruschi A.A. 2009/2010 Input/output Sistemi Operativi Lez. 32 1 Ruolo del SO Le periferiche di I/O sono i dispositivi attraverso i quali un calcolatore scambia dati/ interagisce con la realtà esterna Per ogni periferica collegata

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

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

Dettagli

Gestione software Il meccanismo delle interruzioni - 3

Gestione software Il meccanismo delle interruzioni - 3 Il meccanismo delle interruzioni - 3 Il valore emesso sul canale dal controllore delle interruzioni designa il servizio richiesto alla CPU Tale valore è un indice nel vettore delle interruzioni, contenente

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

A controllo di programma diretto A controllo di programma con polling Ad interruzione Ad accesso diretto alla memoria (DMA)

A controllo di programma diretto A controllo di programma con polling Ad interruzione Ad accesso diretto alla memoria (DMA) L input/output Architettura degli Elaboratori e delle Reti Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione email: borghese@dsi.unimi.it 1 Gestione dell I/O A

Dettagli

Sistemi Operativi. Sottosistema di I/O

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

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

Calcolatori Elettronici B a.a. 2004/2005

Calcolatori Elettronici B a.a. 2004/2005 Calcolatori Elettronici B a.a. 2004/2005 GESTIONE DELL INPUT/OUTPUT Massimiliano Giacomin 1 Livello del linguaggio specializzato Ln Traduzione (compilatore) o interpretazione da parte di un interprete

Dettagli

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

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

Dettagli

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI

GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI GESTIONE DELLE PERIFERICHE D INGRESSO/USCITA ARGOMENTI Compiti del sottosistema di I/O Architettura del sottosistema di I/O Gestore di un dispositivo di I/O Gestione e organizzazione dei dischi COMPITI

Dettagli

Memoria cache, interrupt e DMA

Memoria cache, interrupt e DMA FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Il sistema di I/O. Sistemi Operativi 13.1

Il sistema di I/O. Sistemi Operativi 13.1 Il sistema di I/O Hardware di I/O Interfaccia di I/O per le applicazioni Sottosistema per l I/O del kernel Trasformazione delle richieste di I/O Prestazioni 13.1 Introduzione Un elaborazione eseguita da

Dettagli

Indice lezione: Pagina 2

Indice lezione: Pagina 2 Abbiamo visto: sistema monolitico (I + E + O) dividiamo I e O da E, e affidiamo loro una CPU replichiamo gli I e gli O per parallelizzare singolarmente gli I e O Pagina 1 Indice lezione: Parallelizzazione

Dettagli

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica

Memoria cache. Memoria cache. Miss e Hit. Problemi. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Memoria cache, interrupt e DMA 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide

Dettagli

Struttura dei Sistemi di Calcolo

Struttura dei Sistemi di Calcolo Università di Udine Facoltà di Scienze MM.FF.NN. A.A. 2009-2010 Copyright c 2000 04 Marino Miculan (miculan@dimi.uniud.it) La copia letterale e la distribuzione di questa presentazione nella sua integrità

Dettagli

SISTEMA DI I/O CALCOLATORI ELETTRONICI I

SISTEMA DI I/O CALCOLATORI ELETTRONICI I SISTEMA DI I/ AATI EETTNII I d Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Supporti didattici B. Fadini,. Savy: Fondamenti di Informatica III cap. IV, par. 1-11, 14-15

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 1 Martedì 11-10-2016 1 Introduzione Un sistema operativo è un software

Dettagli

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino

ELETTRONICA II. Prof. Dante Del Corso - Politecnico di Torino ELETTRONICA II Prof. Dante Del Corso - Politecnico di Torino Gruppo H: Sistemi Elettronici Lezione n. 36 - H -1: Piastra di memoria statica Interfaccia con registri di I/O Interconnessioni e sistemi Protocolli

Dettagli

La memoria - tecnologie

La memoria - tecnologie Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 26 1/24 Indirizzi

Dettagli

IO 1 Input Output a livello Hardware

IO 1 Input Output a livello Hardware Architettura dei calcolatori e sistemi operativi Input Output IO 1 Input Output a livello Hardware Accesso delle periferiche Le unità periferiche interagiscono con il processore e la memoria centrale attraverso

Dettagli

Modi di esecuzione user / kernel

Modi di esecuzione user / kernel Corso di Gestione eccezioni nel MIPS Interruzioni Anno Accademico 2006/2007 Francesco Tortorella Modi di esecuzione user / kernel Due modi di esecuzione: User kernel Per ognuno dei due modi di esecuzione

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura

Dettagli

Influenza dell' I/O sulle prestazioni (globali) di un sistema

Influenza dell' I/O sulle prestazioni (globali) di un sistema Influenza dell' I/O sulle prestazioni (globali) di un sistema Tempo totale per l'esecuzione di un programma = tempo di CPU + tempo di I/O Supponiamo di avere un programma che viene eseguito in 100 secondi

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Tecnologie per le Memorie Anno Accademico Francesco Tortorella Gerarchia di memoria: vista complessiva Gerarchia di memoria: tecnologie Accesso casuale (random):

Dettagli

Input / Output. Input e Output

Input / Output. Input e Output Input / Output Salvatore Orlando Arch. Elab. - S. Orlando 1 Input e Output INPUT OUTPUT I dati trasferiti durante le operazioni di I/O possono passare (o meno) dal processore programmed I/O vs. DMA La

Dettagli

La memoria - tecnologie

La memoria - tecnologie Architettura degli Elaboratori e delle Reti Lezione 26 La memoria - tecnologie Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 26 1/25 Struttura

Dettagli

Sistemi Operativi. Sottosistema di I/O

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

Dettagli

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO: Bootstrap Bootstrap All accensione di un calcolatore vengono attivati programmi di diagnostica scritti nella ROM (Read Only Memory) che verificano l assenza di guasti Poi viene attivato il programma di

Dettagli

Macchine Astratte. Luca Abeni. February 22, 2017

Macchine Astratte. Luca Abeni. February 22, 2017 Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria

Dettagli

Il sistema delle interruzioni nel processore MC68000 (cenni)

Il sistema delle interruzioni nel processore MC68000 (cenni) Corso di Calcolatori Elettronici I A.A. 2011-2012 Il sistema delle interruzioni nel processore MC68000 (cenni) Lezione 33 Prof. Antonio Pescapè Università degli Studi di Napoli Federico II Facoltà di Ingegneria

Dettagli

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico)

CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) CLASSIFICAZIONE DEI SISTEMI OPERATIVI (in ordine cronologico) - Dedicati Quelli dei primi sistemi operativi. La macchina viene utilizzata da un utente per volta che può eseguire un solo programma per volta.

Dettagli

Organizzazione di un Calcolatore. Architetture dei Calcolatori (Lettere. Dispositivi di I/O. Dispositivi di I/O. Device Controller

Organizzazione di un Calcolatore. Architetture dei Calcolatori (Lettere. Dispositivi di I/O. Dispositivi di I/O. Device Controller Organizzazione di un Calcolatore Architetture dei Calcolatori (Lettere A-I) Interrupts Dispositivi di Cache Ing.. Francesco Lo Presti Main memory bus Graphics Network 1 Dispositivi di Device Controller

Dettagli

Sottosistema d ingresso uscita

Sottosistema d ingresso uscita Lezione n.15 Sottosistema d ingresso uscita Le interfacce Sommario: Il sottosistema d ingresso/uscita (I/O) e le interfacce Gestione di un periferico a controllo di programma 1 Il sottosistema d ingresso/uscita

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 205-6 Pietro Frasca Lezione 3 Martedì 7--205 Paginazione su richiesta Con la tecnica della paginazione

Dettagli

Architetture dei Calcolatori Interfacce

Architetture dei Calcolatori Interfacce Architetture dei Calcolatori Interfacce Ingegneria dell Automazione A.A. 2011/12 Anna Lina Ruscelli Sommario Organizzazione dello spazio di I/O Interfacce parallele di ingresso/uscita senza handshake con

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento

Input e Output. Input / Output. Performance. Misure di banda e tempi di trasferimento Input e Output INPUT Input / Output Salvatore Orlando OUTPUT I dati trasferiti durante le operazioni di I/O possono passare (o meno) dal processore programmed I/O vs. DMA Arch. Elab. - S. Orlando 1 La

Dettagli

Esame di INFORMATICA Lezione 4

Esame di INFORMATICA Lezione 4 Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Il sottosistema di memorizzazione (memoria) contiene dati + istruzioni, inseriti inizialmente tramite

Dettagli

Architettura hardware

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

Dettagli

Secondo l architettura di Von Neumann il bus rappresenta il punto di interconnessione di tutti i componenti del calcolatore.

Secondo l architettura di Von Neumann il bus rappresenta il punto di interconnessione di tutti i componenti del calcolatore. Secondo l architettura di Von Neumann il bus rappresenta il punto di interconnessione di tutti i componenti del calcolatore. Sui bus si attestano periferiche caratterizzate da funzioni e velocità molto

Dettagli

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti

Elettronica dei Sistemi Programmabili A.A. 2013-2014. Microcontrollori. Introduzione allo sviluppo di progetti Elettronica dei Sistemi Programmabili A.A. 2013-2014 Microcontrollori Introduzione allo sviluppo di progetti Premessa Qualunque sistema basato su microcontrollore deve eseguire un codice memorizzato in

Dettagli

Modulo: Elementi di Informatica

Modulo: Elementi di Informatica ARCHITETTURA DI VON NEUMANN Facoltà di Medicina Veterinaria Corso di laurea in Tutela e benessere animale Corso Integrato: Fisica medica e statistica Modulo: Elementi di Informatica A.A. 2009/10 Lezione

Dettagli

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU

Operazioni di I/O. Schema di collegamento fra dispositivi periferici e CPU Operazioni di I/O 1 Schema di collegamento fra dispositivi periferici e CPU Memoria CPU buffer interfaccia Registro di controllo Registro Di stato Unità di controllo Dispositivo fisico 2 1 Unità di interfaccia

Dettagli

Confronto fra bus sincrono e bus asincrono: esempio.

Confronto fra bus sincrono e bus asincrono: esempio. Banda massima di trasmissione la quantità di dati che può essere trasferita in una unità di tempo oppure il numero di operazioni di I/O che possono essere eseguite in una unità di tempo Confronto fra bus

Dettagli

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL GESTIONE DELLA MEMORIA CENTRALE 6.1 Gestione della Memoria Background Spazio di indirizzi Swapping Allocazione Contigua Paginazione 6.2 Background Per essere eseguito un programma deve trovarsi (almeno

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

verso espandibili eterogenei tempo di accesso tempo di risposta throughput I/O Un calcolatore è completamente inutile senza la possibile di caricare/ salvare dati e di comunicare con l esterno Input / Output (I/O): insieme di architetture e dispositivi per il trasferimento di

Dettagli

La memoria: tecnologie di memorizzazione

La memoria: tecnologie di memorizzazione Architettura degli Elaboratori e delle Reti La memoria: tecnologie di memorizzazione Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano 1 Organizzazione

Dettagli

Blocchi di più parole

Blocchi di più parole Blocchi di più parole Per trarre vantaggio dalla località spaziale non conviene avere blocchi di una sola parola ma blocchi di più parole che occupano nella memoria principale posizioni vicine. Esempio:

Dettagli

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004

SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI. NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 SOLUZIONI DELLA PROVA SCRITTA DEL CORSO DI NUOVO E VECCHIO ORDINAMENTO DIDATTICO 13 Luglio 2004 MOTIVARE IN MANIERA CHIARA LE SOLUZIONI PROPOSTE A CIASCUNO DEGLI ESERCIZI SVOLTI ESERCIZIO 1 (9 punti) Si

Dettagli

La memoria: tecnologie di memorizzazione

La memoria: tecnologie di memorizzazione Architettura degli Elaboratori e delle Reti La memoria: tecnologie di memorizzazione Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1 Organizzazione della

Dettagli

Come funzionano i computer

Come funzionano i computer Fluency Come funzionano i computer Capitolo 6 Cosa sanno fare Esecuzione deterministica istruzioni per elaborare dati Devono ricevere una serie di istruzioni da seguire Cosa non sanno fare Non hanno immaginazione

Dettagli

Il Sottosistema di Memoria

Il Sottosistema di Memoria Il Sottosistema di Memoria Classificazione delle memorie Funzionalità Memoria di sola lettura (ROM) Memoria di lettura/scrittura Tecnologia Memoria a semiconduttori Memoria magnetica Memoria ottica Modalità

Dettagli

Introduzione alle gerarchie di memoria

Introduzione alle gerarchie di memoria Introduzione alle gerarchie di memoria 1 Un ripasso Circuito sequenziale Segnale di clock Circuito sincrono Temporizzazione sensibile ai fronti Latch tipo S-R Latch tipo D Flip-flop tipo D Register file

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

Interfacciamento di periferiche I/O al μp 8088

Interfacciamento di periferiche I/O al μp 8088 Interfacciamento di periferiche I/O al μp 8088 5.1 Principali segnali della CPU 8086 5.2 Periferiche di I/O e loro gestione 5.3 Collegamento di periferiche di input 5.4 Collegamento di periferiche di output

Dettagli

Davide Gennaretti, Matteo Nicolini

Davide Gennaretti, Matteo Nicolini Seminario sui Microcontrollori Davide Gennaretti, Matteo Nicolini AA 2003-04 II Facoltà di Ingegneria Elettronica Cesena Cosa sono i microcontrollori? Piccoli computer concentrati in un chip Un Datapath

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

DEC PDP8, III Generazione, '65-'75

DEC PDP8, III Generazione, '65-'75 Parte I DEC PDP8, III Generazione, '65-'75 PDP8 Architettura (Livello Registri) 12 bit Program Counter PC 12 bit Memory Address Register MAR Random Access Memory RAM 4096 x 16 1 bit I 3 bit Operation Code

Dettagli

Il Sistema Operativo. Informatica Sistema Operativo 1

Il Sistema Operativo. Informatica Sistema Operativo 1 Il Sistema Operativo Informatica Sistema Operativo 1 O.S.:.: un intermediario SW Applicativo Sistema Operativo HW Informatica Sistema Operativo 2 O.S. vs applicativi Applicativi accesso a un insieme ridotto

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura dei sistemi a microprocessore prof. Stefano Salvatori A.A. 2014/2015 Eccetto dove diversamente specificato, i contenuti

Dettagli

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

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

Dettagli

Fallimenti nella TLB

Fallimenti nella TLB Fallimenti nella TLB Un fallimento nella TLB può essere dovuto a due motivi: 1. la pagina fisica non è presente in memoria (page fault); 2. la traduzione non è nella TLB, anche se la pagina fisica è presente

Dettagli

Corso di programmazione Arduino DI MALVEZZI DAVIDE

Corso di programmazione Arduino DI MALVEZZI DAVIDE Corso di programmazione Arduino DI MALVEZZI DAVIDE Argomenti Pin digitali e pin analogici Gestione di timer e bottoni Utilizzo della porta seriale Oggetto String Controllo di schermi LCD Utilizzo dell

Dettagli

Struttura hw del computer

Struttura hw del computer Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l esecuzione dei programmi 1 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti:

Dettagli

Capitolo2: Architettura del calcolatore

Capitolo2: Architettura del calcolatore Capitolo2: Architettura del calcolatore Funzionamento di un calcolatore general purpose. Struttura dell input/output. Struttura della memoria. Gerarchia di memorizzazione. Protezione hardware. ng. delle

Dettagli

static dynamic random access memory

static dynamic random access memory LA MEMORIA SRAM e D R A M static dynamic random access memory SRAM: unità che memorizza un gran numero di parole in un insieme di flip-flop, opportunamente connessi, mediante un sistema di indirizzamento

Dettagli

Architettura dei Calcolatori Interfacce

Architettura dei Calcolatori Interfacce Architettura dei Calcolatori Interfacce Ingegneria dell Automazione A.A. 2011/12 Anna Lina Ruscelli Sommario Organizzazione dello spazio di I/O Interfacce parallele di ingresso/uscita senza handshake con

Dettagli

I/O: tecniche di controllo Memorie di massa

I/O: tecniche di controllo Memorie di massa Architettura degli Elaboratori e delle Reti Lezione 30 I/O: tecniche di controllo Memorie di massa Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Elementi di informatica

Elementi di informatica Sia dato una memoria della capacità di 1 GB, avente tempo di accesso di 50ms e velocità di trasferimento di 20 MB/sec. Si vuole ricopiare l intero contenuto su un altra memoria identica, montata sullo

Dettagli

Il processore: unità di elaborazione

Il processore: unità di elaborazione Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Richiami: Ciclo di sviluppo e ASIM

Richiami: Ciclo di sviluppo e ASIM Richiami: Ciclo di sviluppo e ASIM Corso Calcolatori Elettronici 2 Prof. Nicola Mazzocca Ing. Alessandra De Benedictis Programmi e linguaggio macchina Un programma è una sequenza di istruzioni che rappresentano

Dettagli

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU: Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-La memoria 1 Prerequisiti Concetto di memoria Dati e istruzioni Bit e byte 2 1 Introduzione In questa Unità studiamo più in dettaglio la memoria del computer e le sue funzioni.

Dettagli

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2 La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri

Dettagli

Esempio: aggiungere j

Esempio: aggiungere j Esempio: add Esempio: load Esempio: beq Esempio: aggiungere j Eccezioni e interruzioni Il progetto del controllo del processore si complica a causa della necessità di considerare, durante l esecuzione

Dettagli

L architettura del calcolatore

L architettura del calcolatore INFORMATICA B Ingegneria Elettrica L architettura del calcolatore Hardware Componenti fisiche: circuiti, schede, memorie, periferiche, stampanti, monitor... 2 Software I programmi eseguibili (istruzioni

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore Architettura di un calcolatore Corso di Informatica A Vito Perrone Indice La macchina di Von Neumann Memoria CPU Bus Interfacce Esempio L algoritmo Il programma Fasi di esecuzione di un istruzione 2 1

Dettagli

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer? Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica La memoria di massa La gestione dell I/O Una gerarchia di memoria Ottenuta per generalizzazione dell applicazione del principio di località e tipicamente costituita da 1. registri

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