PERIFERICHE STANDARD PER SISTEMI EMBEDDED: REGISTRI DI I/O

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "PERIFERICHE STANDARD PER SISTEMI EMBEDDED: REGISTRI DI I/O"

Transcript

1 1 SCUZIO DI APPLICAZIOI SU SISTI BDDD PRIFRICH STADARD PR SISTI BDDD: RGISTRI DI I/O TCOLOGI DI COUICAZIO PR SISTI BDDD: ORY APPIG IPLTAZIO DLLA COUICAZIO I SISTI BDDD: ULTIPLXD SHARD BUS SISTA BDDD DI SPIO S0 APPLICAZIOI DI SPIO 2 PRIFRICH STADARD PR SISTI BDDD: RGISTRI DI I/O

2 PRIFRICH STADARD PR SISTI BDDD 3 U SISTA BDDD ' DOTATO DLLA POSSIBILITA' DI ITRFACCIARSI CO L'ABIT STRO TRAIT DLL PORT (CAALI) FRA L PRIFRICH BAS VI SOO QUIDI QULL DI IPUT/OUTPUT IIZIAO A VDR PRIFRICH DI I/O DI SPLICITA' STRA: RGISTRI DIGITALI DI IPUT DI OUTPUT L SISTA DI SPIO OSTRATO I FIGURA VI SOO 3 RGISTRI, 2 DI IPUT 1 DI OUTPUT. CIASCU RGISTRO PUO' SSR COLLGATO CO DGLI A/D O D/A COVRTR IL RGISTRO FUG DA ITRFACCIA CO L'STRO PR IL PROCSSOR, I ODO CH QUSTO SIA I GRADO DI PRLVAR/SPDIR DATI COUICADO CO L'STRO global clk reset IPS-mc S0 System B D D D C O U I C A T I O DATA ISTRUCTIOS ORY DIGITAL IPUT RGISTR DIGITAL IPUT RGISTR DIGITAL OUTPUT RGISTR A/D Converter A/D Converter D/A Converter V I R O T PRIFRICH STADARD PR SISTI BDDD ODLLO VRILOG DI U SPLIC RGISTRO DI IPUT module input_reg(clk, rst, RWAddr, to_data_bus, in_vector); parameter input_reg_addr =32'h ;// default module address 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; 4 clk) input_reg = in_vector; case (RWAddr) input_reg_addr: to_data_bus = input_reg; endcase endmodule

3 PRIFRICH STADARD PR SISTI BDDD 5 ODLLO VRILOG DI U SPLIC RGISTRO DI OUPUT module output_reg(clk, we, RWAddr, from_data_bus, out_vector); parameter output_reg_addr =32'hF000 ;// default module address input we, clk; input [31:0] RWAddr; input [31:0] from_data_bus; output [31:0] out_vector; reg [31:0] out_vector; // Scrittura del registro di out clk) if (RWAddr == output_reg_addr) begin if (we) out_vector = from_data_bus; end endmodule 6 TCOLOGI DI COUICAZIO PR SISTI BDDD: ORY APPIG

4 7 TCOLOGI DI COUICAZIO PR SISTI BDDD ORY APPIG La comunicazione tra processore e periferica è implementata (completamente o in parte) tramite accessi in lettura/scrittura a locazioni di memoria. UUSD Addr. 0xFFFFFFFF Le operazioni di lettura/scrittura vengono completate tramite istruzioni standard di load o 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 Addressable emory Space 2 exp(32) byte I/O SPAC (p.e. 128 byte) Instructions/ Data emory Address Space (p.e. 12 Kbyte, 4Kbyteinstr. 8Kbyte data) CHn_OUT_ reg Addr. 0x3020 CH1_I_ reg Addr. 0x3004 CH0_I_reg Addr. 0x3000 STACK HAP ISTRUCTIOS Addr. 0x2FFC Addr. 0x TCOLOGI DI COUICAZIO PR SISTI BDDD ORY APPIG LTTURA: 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. global clk reset IPS-mc B D D D C O U I C A T I O DATA ISTRUCTIOS ORY DIGITAL IPUT RGISTR DIGITAL IPUT RGISTR DIGITAL OUTPUT A/D Converter A/D Converter V I R O T S0 System RGISTR D/A Converter

5 9 IPLTAZIO DLLA COUICAZIO I SISTI BDDD: ULTIPLXD SHARD BUS COUICAZIO I SISTI BDDD 10 IPLTAZIO HARDWAR DL BUS Vi 2 approcci base: Soluzione basata su multiplexers Soluzione basata su three-state La soluzione basata su multiplexers è adottata dal bus ad elevate prestazioni dei sistemi AR (ABA AHB). ei sistemi che simuleremo in questo corso adotteremo la soluzione multiplexed

6 ULTIPLXD SHARD-BUS SCRITTURA SULL PRIFRICH Ciascuna periferica scrivibile ha la propria porta dati in ingresso collegata al bus di uscita del processore ed è inoltre collegata alla porta indirizzi. ' 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 11 Writenable Signal ISTRUCTIOS DATA ORY Data Bus IPS Data Address Bus PRIPHRALS WRIT DATA BUS SUBSYST CH0 Output Register ULTIPLXD SHARD-BUS LTTURA DALL PRIFRICH 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 Il multiplexer è controllato da un decoder che decodifica il bus indirizzi abilitando in uscita l'ingresso associato all'indirizzo decodificato 12 Ciascuna periferica è collegata alla porta indirizzi del processore ' dotata di un decoder interno che manda in uscita il contenuto del proprio registro interno avente indirizzo uguale allpindirizzo in transito sul bus apposito IPS U X Decoder ISTRUCTIOS DATA ORY CH0 IPUT RGISTR Data Address Bus PRIPHRALS RAD DATA BUS SUBSYST CH1 IPUT RGISTR

7 13 SISTA BDDD DI SPIO S0 SISTA DI SPIO S0 14 Iniziamo la trattazione pratica di sistemi embedded simulando l'esecuzione di applicazioni su un semplice sistema con 2 canali di ingresso ed un canale di uscita Denominiamo tale sistema S0 Le periferiche sono mappate in memoria in maniera non contigua alla memoria dati. La mappa della memoria è la seguente Addr. 0xFFFFFFFF UUSD I/O SPAC (p.e. 12 byte) CHn_OUT_ reg Addr. 0x4008 CH1_I_ reg Addr. 0x4004 CH0_I_reg Addr. 0x4000 UUSD Instructions/ Data emory Address Space 12 Kbyte, 4Kbyteinstr. 8 Kbyte data) STACK A ISTRUCTIOS Addr. 0x2FFC Addr. 0x1000

8 SISTA DI SPIO S0 SCHA A BLOCCHI DTTAGLIATO 15 Writenable Signal Data Instructions emory U X global clk reset IPS-mc S0 System Decoder Data Address Bus Channel_0 Digital Input Register Channel_1 Digital Input Register Channel_0 Digital Output Register Channel_0_in Digital Input A/D Converter Channel_1_in Digital Input A/D Converter Channel_0_out Digital Output D/A Converter V I R O T module addr_decoder(address, Sel); SISTA DI SPIO S0 SPIO DI DCODR 16 input [31:0] Address; output [2:0] Sel; reg [2:0] Sel; wire [5:0] opcode; begin case (Address) 32'h4000: Sel = 3'h1; // CH0 Digital Input Register selected 32'h4004: Sel = 3'h2; // CH1 Digital Input Register selected default: Sel = 3'h0; // Data_RA or not addressable memory selected endcase end endmodule

9 SISTA DI SPIO S0 SPIO DI ULTIPLXR 17 module mux_8x1(sel, Din0, Din1, Din2, Din3,Din4, Din5, Din6,Din7, Dout); parameter =32; input [2:0] sel; input [-1:0] Din0, Din1, Din2, Din3, Din4, Din5, Din6, Din7; output [-1:0] Dout; wire [-1:0] Din0, Din1, Din2, Din3, Din4, Din5, Din6, Din7; reg [-1:0] Dout; or Din0 or Din1 or Din2 or Din3 or Din4 or Din5 or Din6 or Din7) casex (sel) 3'b000: Dout=Din0; 3'b001: Dout=Din1; 3'b010: Dout=Din2; 3'b011: Dout=Din3; 3'b100: Dout=Din4; default : Dout=32'bx; endcase endmodule 18 APPLICAZIO DI SPIO S0_S1

10 APPLICAZIO DI SPIO 19 SUPPOIAO DI UTILIZZAR IL SISTA S0 PR OITORAR 2 VARIABILI FISICH (TPRATURA UIDITA') GRAR U SGAL DI ALLAR I USCITA L CASO DI VALORI AOALI global clk reset IPS-mc S0 System B D D D C O U I C A T I O DATA ISTRUCTIOS ORY DIGITAL IPUT RGISTR DIGITAL IPUT RGISTR DIGITAL OUTPUT RGISTR A/D COV. A/D COV. ALAR SSOR DI TPRATURA SSOR DI UIDITA' APPLICAZIO DI SPIO 20 PR POTR SGUIR UA SIULAZIO SSATA DOBBIAO ODLLAR I VRILOG DLL VARIABILI DI IGRSSO CH ABBIAO UA VARIAZIO L TPO UTILIZZIAO 2 PROCSSI VRILOG: LA TPRATURA VARIA FRA (GRADI), L'UIDITA' VARIA FRA (PRCTUAL I ILLSII) always begin for(t=22; t<50; t=t+1) begin temperatura = t ; end for(t=50; t>21; t=t-1) begin temperatura = t ; end end always begin for(u=600; u<950; u=u+1) begin umidita = u ; end for(u=950; u>580; u=u-3) begin umidita = u ; end end

11 APPLICAZIO DI SPIO 21 IL SISTA DV OITORAR IL VALOR DLL GRADZZ SGALAR U ALLAR S TPRATURA > 42 UIDITA' > 900 LA SGALAZIO DI ALLAR ' CODIFICATA CO IL VALOR 0 I USCITA, SGUITO DAL VALOR AOALO DI TPRATURA O UIDITA' clk) begin if (!( CH0_OUT == CH0_OUT_OLD)) begin if ( CH0_OUT_OLD == 32'h0) begin $display(" \n ALLAR"); $display(" CH0 = %d \n \n", CH0_OUT); end end CH0_OUT_OLD = CH0_OUT; end APPLICAZIO DI SPIO 22 void _main( void ) { int CH0_I_var, CH1_I_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++) { CH0_I_var = get_input(p_reg_ch0_in); // acquisisce la temperatura CH1_I_var = get_input(p_reg_ch1_in); // acquisisce l'umidita if( CH0_I_var > 42 ){ send2out( 0, p_reg_ch0_out) ; send2out(ch0_i_var, p_reg_ch0_out) ; } if( CH1_I_var > 900 ){ send2out(0, p_reg_ch0_out) ; send2out(ch1_i_var, p_reg_ch0_out) ; } } }

12 APPLICAZIO DI SPIO 23 void send2out(int data, int* p_out) { *p_out = (int) data; } int get_input(int* p_out) { return(*p_out); } 24 APPLICAZIO DI SPIO S0_S2

13 APPLICAZIO DI SPIO ODIFICATA: S0_S2 25 ODIFICHIAO LA APPA DLLA ORIA DLLA APPLICAZIO S0_S1 RISGUIAO LA SIULAZIO Addr. 0xFFFFFFFF UUSD I/O SPAC (p.e. 12 byte) Instructions/ Data emory Address Space 12 Kbyte, 4Kbyteinstr. 8 Kbyte data) CHn_OUT_ reg Addr. 0x3008 CH1_I_ reg Addr. 0x3004 CH0_I_reg Addr. 0x3000 STACK HAP ISTRUCTIOS Addr. 0x2FFC Addr. 0x1000 ODIFICH S0_S1 -> S0_S2 26 L ODIFICH ALLA APPA DLLA ORIA RICHIDOO LA ODIFICA DLLA SPCIFICA VRILOG DL ODLLO DL SISTA VAO ODIFICATI I PARATRI PASSATI AI ODLLI DI RGISTRI DI IPUT DI OUTPUT L FIL SYST.V input_reg #(32'h4000) CH0_I_reg(.clk( clk ),... 0x3000 input_reg #(32'h4004) CH1_I_reg(.clk( clk ),... 0x3004 output_reg #(32'h4008) CH0_OUT_reg(.clk( clk ),... 0x3008

14 ODIFICH S0_S1 -> S0_S2 27 L ODIFICH ALLA APPA DLLA ORIA RICHIDOO LA ODIFICA DLLA SPCIFICA VRILOG DL ODLLO DL SISTA VA ODIFICATA LA DCODIFICA DGLI IDIRIZZI SPCIFICATA L FIL ADDR_DCODR.V begin case (Address) 32'h4000: Sel = 3'h1; // CH0 Digital Input Register selected 32'h4004: Sel = 3'h2; // CH1 Digital Input Register selected default: Sel = 3'h0; // Data_RA or not addressable memory selected end endcase 0x3000 0x3004 ODIFICH S0_S1 -> S0_S2 28 L ODIFICH ALLA APPA DLLA ORIA RICHIDOO LA ODIFICA DLLA SPCIFICA C DLLA APPLICAZIO VA ODIFICATA LA IIZIALIZZAZIO DI PUTATORI L FIL es0_s2.c p_reg_ch0_in = (int*) 0x4000; p_reg_ch1_in = (int*)0x4004; p_reg_ch0_out = (int*)0x4008; 0x3000 0x3004 0x3008

15 29 SCUZIO DI APPLICAZIOI SU SISTI BDDD (II) ITRODUZIO AI SISTI OPRATIVI BDDD: ARCHITTTURA SOFTWAR ROUD ROBI ITRODUZIO AI SISTI OPRATIVI BDDD: ARCHITTTURA SOFTWAR ROUD ROBI WITH ITRRUPTS ITRODUZIO AI SISTI OPRATIVI BDDD: ARCHITTTURA FUCTIO QUU SCHDULIG ITRODUZIO AI SISTI OPRATIVI BDDD: CI DI SISTI OPRATIVI RAL-TI 30 ITRODUZIO AI SISTI OPRATIVI BDDD: ARCHITTTURA SOFTWAR ROUD ROBI

16 ARCHITTTUR SOFTWAR 31 I RLAZIO AL FUZIOATO RAL DLL APPLICAZIOI SU SISTI BDDD IL COPORTATO DLL APPLICAZIOI VIST FIORA O RA RALISTICO L'ARCHITTTURA SOFTWAR PRVDVA IFATTI L'SCUZIO DI U CRTO URO DI TASK DOPODICH' L'APPLICAZIO SI COSIDRAVA COCLUSA. LL APPLICAZIOI RALI IL SISTA FUZIOA A PARTIR DALL'ACCSIO FIO AL VIR O DLL'ALITAZIO O FIO AL RST. VDRO L ARCHITTTUR SOFTWAR DI BAS TRAIT L QUALI ' IPLTATO TAL FUZIOATO, A PARTIR DALL PIU' SPLICI I ASSOLUTO, FIO AD ARRIVAR AI SISTI OPRATIVI RAL TI (CI) VDRO L DTTAGLIO I 2 SPI PIU' SPLICI DI ARCHITTTURA SOFTWAR PR SISTI BDDD: ROUD ROBI ROUD ROBI CO ITRRUPTS ARCHITTTURA SOFTWAR ROUD ROBI 32 LA PIU' SPLIC ARCHITTTURA SOFTWAR POSSIBIL ' DFIITA ROUD ROBI COSIST I U LOOP IFIITO CH SI OCCUPA DI ITRROGAR A TURO (POLLIG) CIASCUA DLL PRIFRICH DI I/O DI SGUIR L ROUTI ASSOCIATO OGI QUALVOLTA SIA CSSARIO void _main( void ) { while(1) { if (!! la periferica di I/O A deve essere servita ) {!! preleva/spedisci i dati della periferica di I/O A;!! processa i dati della periferica di I/O A; } if (!! la periferica di I/O A deve essere servita ) {!! preleva/spedisci i dati della periferica di I/O Z;!! processa i dati della periferica di I/O Z; } } }

17 33 APPLICAZIO DI SPIO (S0_S3) APPLICAZIO DI SPIO 34 void _main( void ) { int CH0_I_var, CH1_I_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; while( 1) { CH0_I_var = get_input(p_reg_ch0_in); // acquisisce la temperatura CH1_I_var = get_input(p_reg_ch1_in); // acquisisce l'umidita if( CH0_I_var > 42 ){ send2out( 0, p_reg_ch0_out) ; send2out(ch0_i_var, p_reg_ch0_out) ; } if( CH1_I_var > 900 ){ send2out(0, p_reg_ch0_out) ; send2out(ch1_i_var, p_reg_ch0_out) ; } } }

18 ARCHITTTURA SOFTWAR ROUD ROBI 35 L'ARCHITTTURA SW RR, RISPTTO ALL ALTR TIPOLOGI DI ARCHITTTURA, HA IL VATAGGIO DI SSR LA PIU' SPLIC, PRSTA PRO' LIITI OTVOLI. L'ARCHITTTURA SW RR FUZIOA B I SISTI CH VRIFICHIO COTPORAAT L SGUTI CODIZIOI: POCH PORT DI I/O LABORAZIOI O PARTICOLART LUGH VICOLI DI TPI DI RISPOSTA I IPUT/OUTPUT O STRIGTI L CASO UO DGLI IGRSSI RICHIDA DI TPI DI RISPOSTA IFRIORI AL TPO DI RISPOSTA DL SISTA L CASO PGGIOR, IL SISTA O FUZIOA ' SUFFICIT CH UO SOLO DI TASK ABBIA UA DURATA LVATA, AFFICH' IL SISTA DIVTI PRATICAT ISRVIBIL, PUR COTIUADO A FUZIOAR LA STRUTTURA DL SW O ' ROBUSTA: PUO' SSR SUFFICIT L'ISRITO DI UA UOVA PRIFRICA DA GSTIR PR ODIFICAR LA RISPOSTA TPORAL COPLSSIVA I AIRA IACCTTABIL 36 ITRODUZIO AI SISTI OPRATIVI BDDD: ARCHITTTURA SOFTWAR ROUD ROBI CO ITRRUPTS

19 ARCHITTTURA SOFTWAR ROUD ROBI CO ITRRUPT 37 LA PRIA ARCHITTTURA ALTRATIVA CH VDIAO ' LA RR + IT PRSTA U ICRTO DI COPLSSITA' A OFFR VATAGGI SOSTAZIALI LA STRUTTURA DLL'ARCHITTTURA PRVD CH: L ROUTI DI ITRRUPT (ITRRUPT SRVIC ROUTI - ISR)SI OCCUPIO DI SRVIR L ICOBZ URGTI LGAT ALL PRIFRICH DI I/O STTADO DI FLAG OGI QUALVOLTA VI ACQUISITO/SPDITO U DATO IL LOOP PRICIPAL ITRROGA I FLAG ASSOCIATI ALL ROUTI DI ITRRUPT D SGU L LABORAZIOI ASSOCIAT SOLO QUADO CSSARIO VI ITRODOTTO UA PRIORITA' LLA GSTIO DI TASK LA GSTIO DI DATI SOTTO ITRRUPT PO IL PROBLA DLLA GSTIO DI DATI CODIVISI FRA ROUTI DI ITRRUPT APPLICAZIO PRICIPAL: SHARD DATA PROBL ARCHITTTURA SOFTWAR ROUD ROBI CO ITRRUPT SCHA DLL'ARCHITTTURA SW BOOL FdeviceA = false;.. BOOL FdeviceZ = false; void interrupt HandleDeviceA {!! preleva/spedisci i dati della periferica di I/O A; FdeviceA = true; }... void interrupt HandleDeviceZ {!! preleva/spedisci i dati della periferica di I/O A; FdeviceZ = true; } void _main( void ) { while(1) { if ( FdeviceA) { FdeviceA = false;!! processa i dati della periferica di I/O A; }... if ( FdeviceZ) { FdeviceZ = false;!! processa i dati della periferica di I/O Z; } } } 38

20 ARCHITTTUR SOFTWAR 39 PRIORITA' RR + IT: SHARD-DATA PROBL 40 VI DFIITA I QUSTO ODO LA PROBLATICA LGATA AI ALFUZIOATI CAUSATI DALL'ACCSSO ASICROO AI DATI DI PROGRAA PRICIPAL ROUTI DI ITRRUPT PR GLIO CAPIR IL PROBLA UTILIZZIAO U SPIO SUPPOIAO DI UTILIZZAR U SISTA BDDD PR ACQUISIR DI VALORI FISICI DI TPRATURA DA DI SSORI POSTI I DIVRSI PUTI DI U RATTOR UCLAR SGALAR U ALLAR S L TPRATUR ACQUISIT O SOO UGUALI LA PRIA ATTIVITA' VI SGUITA SOTTO ITRRUPT LA SCODA LLA ROUTI PRICIPAL SUPPOIAO DI GSTIR 2 SOLI SSORI OTTIAO PR SPLICITA' ACH LA GSTIO DI FLAG

21 RR + IT: SHARD-DATA PROBL 41 static int temperature[2] static int* preg0 Reg0Addr; static int* preg1 Reg1Addr; void interrupt LeggiTemperature { temperature[0] = *preg0; temperature[1] = *preg1; } void _main( void ) { int temp1, temp2; } while(1) { temp0 = temperature[0]; ITRRUPT temp1 = temperature[1]; if (temp0!= temp1)!! segnala condizione di allarme; } RR + IT: SHARD-DATA PROBL 42 L CASO SI PRSTIO TRAB L SGUTI CODIZIOI: SI VRIFICA U ITRRUPT FRA L'SCUZIO DLL 2 ISTRUZIOI CH ASSGAO I VALORI DI TPRATURA ALL 2 VARIABILI temp0 temp1 L TPRATUR RILVAT DAI 2 SSORI, PUR RIADO UGUALI FRA LORO, SOO CABIAT RISPTTO ALL ULTI RILVAT SI VRIFICA UA CODIZIO DI ALLAR IGIUSTIFICATA!!!!!

22 RR + IT: SHARD-DATA PROBL 43 SI PUO' TTAR DI LIIAR IL PROBLA OTTIIZZADO IL SOFTWAR O SRV PRCH' L ROUTI DI ITRRUPT POSSOO ITRROPR IL PROGRAA FRA 2 DLL ISTRUZIOI ASSBLY CH IPLTAO IL TST DI UGUAGLIAZA... void interrupt LeggiTemperature { temperature[0] = *preg0; temperature[1] = *preg1; } void _main( void ) { ITRRUPT } while(1) { } if (temperature[0]!= temperature[1])!! segnala condizione di allarme; RR + IT: SHARD-DATA PROBL 44 IL PROBLA SI VRIFICA QUADO L'ITRRUPT IL PROGRAA PRICIPAL CODIVIDOO DI DATI, IL PROGRAA PRICIPAL UTILIZZA QUSTI DATI I AIRA O ATOICA IL PZZO DI CODIC LA CUI ITRRUZIO PUO' GRAR IL PROBLA VI DFIITO CRITICAL SCTIO. PR RISOLVR IL PROBLA ' POSSIBIL SFRUTTAR LA POSSIBILITA' DI DISABILITAR GLI ITRRUPT void interrupt LeggiTemperature { temperature[0] = *preg0; temperature[1] = *preg1; } void _main( void ) { int temp1, temp2; while(1) { disable_int(); temp0 = temperature[0]; temp1 = temperature[1]; enable_int(); if (temp0!= temp1)!! segnala condizione di allarme; } } CRITICAL SCTIO

23 ARCHITTTURA SOFTWAR ROUD ROBI CO ITRRUPT 45 LO SVATAGGIO PRICIPAL DLLA ARCHITTTURA RR+IT (OLTR AL FATTO CH RISULTA PIU' COPLSSA DLLA RR SPLIC) ' CH TUTTI I TASK DL PROGRAA PRICIPAL VGOO GSTITI CO LA STSSA PRIORITA' SUPPOIAO DI AVR 3 TASK (A, B C) GSTITI L PROGRAA PRICIPAL SGUITI LL'ORDI A,B,C. L CASO SI VRIFICHIO TUTTI 3 GLI ITRRUPT ALL'IIZIO DLL'SCUZIO DLLA ROUTI PRICIPAL PRIA DI IIZIAR L'SCUZIO DI A, IL TPO DI ATTSA PRIA DI POTR SGUIR IL TASK C ' PARI ALLA SOA DI TPI DI SCUZIO DI TASK A B, PIU' I TPI DI SCUZIO DLL ROUTI DI ITRRUPT. CIO' POTRBB SSR O ACCTTABIL PR L SPCIFICH DI TPORIZAZIO DL TASK C. I QUSTO CASO SI POTRBB SPOSTAR LA SZIO DI CODIC CH DFIISC IL TASK C SOTTO ITRRUPT CO FFTTO COLLATRAL OTTGO PRO' CH IL TPO DI RISPOSTA ASSIO PR GLI ALTRI 2 TASK (A B) SI ICRTA DI UA QUATITA' PARI AL TPO DI SCUZIO DL TASK C, CIO' POTRBB SSR A SUA VOLTA O ACCTTABIL U ALTRO SVATAGGIO FODATAL ' LA POCA STABILITA' DL CODIC: ODIFICADO IL CODIC DI U TASK SI IFLUZA IL TPO DI RISPOSTA DGLI ALTRI ARCHITTTURA SOFTWAR ROUD ROBI CO ITRRUPT 46 L CASO DI SQUZA DI SCUZIO DI TASK L PROGRAA PRICIPAL CH SGUA I SUCCSSIO TUTTI I TASK, IL TPO DI RISPOSTA DL CASO PGGIOR PR U TASK ' PARI ALLA SOA DI TPI DI SCUZIO DI CIASCUO DGLI ALTRI TASK PIU' LA SOA DI TPI DI SCUZIO DI TUTT L ROUTI DI ITRRUPT U'ALTRA ALTRATIVA POTRBB SSR USAR UA SQUZA DI SCUZIO DI TASK L PROGRAA PRICIPAL CH PRIVILGI IL TASK C: C,A,C,B, C,A,C,B, C,A,C,B, QUSTA SOLUZIO RIDURRBB IL TPO DI ATTSA IIO PR C AL ASSIO FRA I TPO DI SCUZIO DI TASK A B, AL COSTO DI U AUTO DL TPO ASSIO DI RISPOSTA PR A B, CH VRRBB AUTATO DI U TRI C. I COCLUSIO UTILIZZADO UA ARCHITTTUR DI TIPO RR+IT SI PUO' TTAR DI GSTIR L SPCIFICH DI TPORIZZAZIO SUI TASK TRAIT OTTIIZZAZIOI DL CODIC O SPOSTATI DI SZIOI DI CODIC FRA ROUTI ITRRUPT PROGRAA PRICIPAL, A SI VA ICOTRO A PSATI FFTTI COLLATRALI IL CODIC RISULTAT RIAO POCO STABIL RIDUCDO IL TPO DI RISPOSTA DI CASO PGGIOR PR U TASK, SI ICRTA QULLO PR TUTTI GLI ALTI TASK

24 47 ITRODUZIO AI SISTI OPRATIVI BDDD: ARCHITTTURA SOFTWAR FUCTIO QUU SCHDULIG ARCHITTTURA SOFTWAR FUCTIO QUU SCHDULIG QUSTA ARCHITTTURA PRVD CH CIASCUA ROUTI DI ITRRUPT COICHI AL PROGRAA PRICIPAL L'AVVUTA SIGZA DI SGUIR IL TASK DI LABORAZIO ASSOCIATO, O STTADO U FLAG, A ISRDO (PUSH) U PUTATOR AL TASK ASSOCIATO ALLA ROUTI DI ITRRUPT I UA CODA DI PUTATORI A FUZIOI IL PROGRAA PRICIPAL LGG DALLA CODA IL PUTATOR AD UA FUZIO D SGU IL TASK STSSO IL TRUCCO STA L FATTO CH SSUA RGOLA I DIC CH DVO PR FORZA LGGR DALLA CODA L FUZIOI LL'ORDI I CUI VI SOO STAT ISRIT POSSO QUIDI PRIVILGIAR (I AIRA ORDIATA SISTATICA) I TASK CO UA PRIORITA' AGGIOR POSSO ADDIRITTURA ODIFICAR LA PRIORITA' A TPO DI SCUZIO ADATTADOI AD VTUALI ODIFICH DLL CODIZIOI AL COTORO I AIRA DIAICA IL TPO DI RISPOSTA DI CASO PGGIOR PR IL TASK CO PRIORITA' PIU' LVATA ' PARI AL TPO DI SCUZIO DL TASK PIU' LTO PIU' LA SOA DI TPI DI SCUZIO DLL ROUTI DI ITRRUPT (CO PR RR+IT) PRA, ACH S RIDOTTO, IL PROBLA DLLA POCA STABILITA' DL CODIC: ODIFICADO IL CODIC DI U TASK SI IFLUZA IL TPO DI RISPOSTA DGLI ALTRI 48

25 49 ITRODUZIO AI SISTI OPRATIVI BDDD: ARCHITTTURA SOFTWAR RAL TI OPRATIG SYST ARCHITTTURA SOFTWAR RT OS 50 QUSTA ARCHITTTURA (CO L ALTR VIST FIORA) PRVD CH L ROUTI DI ITRRUPT SI OCCUPIO DI DLL OPRAZIOI PIU' URGTI (QULL LGAT ALL'I/O) L ROUTI DI ITRRUPT SGALIO L'AVVUTA CSSITA' DI SGUIR IL TASK ASSOCIATO A QULLA ROUTI DI IT LA DIFFRZ RISPTTO AI CASI PRCDTI SOO L SGUTI: 1. LA COUICAZIO FRA ROUTI DI ITRRUPT TASK DL PROGRAA PRICIPAL ASSOCIATO VI GSTITA DAL SISTA OPRATIVO 2. LA SQUZA DI SCUZIO DI TASK ' GSTITA DAL SISTA OPRATIVO, O CI SOO LOOP O COD O ALTRO GSTITI I AIRA SPLICITA DAL PROGRAATOR. IL CODIC DL RT OS SI OCCUPA DLLO SCHDULIG DI TASK, GSTDO L PRIORITA' DI SCUZIO LLA AIRA PIU' APPROPRIATA 3. IL RT OS PUO' SOSPDR L'SCUZIO DI U TASK PR SGUIR U ALTRO

26 ARCHITTTURA SOFTWAR RT OS 51 L PRI 2 DIFFRZ FORISCOO DI VATAGGI LGATI SOPRATTUTTO ALLA ODALITA' DI PROGRAAZIO LA TRZA DIFFRZA (L'ITRROPIBILITA' DI TASK DA PART O SOLO DLL ROUTI DI ITRRUPT, A ACH DA PART DI ALTRI TASK), ' SOSTAZIAL: U'ARCHITTTURA SOFTWAR BASATA SU RT OS DA LA POSSIBILITA DI GSTIR UA PRIORITA' DI SCUZIO SISTATICA O SOLO DLL ROUTI DI ITRRUPT, A ACH DI TASK DL PROGRAA PRICIPAL IL TPO DI RISPOSTA DI CASO PGGIOR PR IL TASK A PRIORITA' PIU' LVATA SI RIDUC ALLA SOA DI TPI DI SCUZIO DLL ROUTI DI ITRRUPT QUSTO RD FIALT L'ARCHITTTURA SW ROBUSTA: ODIFICADO IL CODIC DI U TASK O IFLUZO IL TPO DI RISPOSTA DI QULLI A PRIORITA' SUPRIOR U'ALTRO VATAGGIO COSIDRVO DI RT OS ' CH SOO RPRIBILI SUL RCATO. I QUSTO ODO ' POSSIBIL RIDURR I TPI DI SVILUPPO A COSTI RAGIOVOLI O ADDIRITTURA ULLI (CODIC FRWAR), SOPRATTUTTO I CASO DI UTILIZZO DLLO STSSO RT OS PR APPLICAZIOI DIVRS LO SVATAGGIO PRICIPAL LGATO ALL'UTILIZZO DI U RT OS ' LGATO AL FATTO CH L'OS STSSO UTILIZZA UA CRTA QUATITA' DI TPO DI LABORAZIO ARCHITTTUR SOFTWAR 52 PRIORITA'

27 ARCHITTTUR SOFTWAR TABLLA RIASSUTIVA 53

ARCHITETTURE SOFTWARE

ARCHITETTURE SOFTWARE 1 ESECUZIONE DI APPLICAZIONI SU SISTEMI EMBEDDED INTRODUZIONE AI SO EMBEDDED INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA SOFTWARE ROUND ROBIN INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED: ARCHITETTURA

Dettagli

Limiti di successioni - svolgimenti

Limiti di successioni - svolgimenti Limiti di succssioi - svolgimti Scrivrmo a b quado a b =. Calcoliamo qusto it, raccoglido il fattor al umrator al domiator. Si ha 2 + 2 4 = + 2 2 3! 4 3!. Iazitutto, ricordiamo ch Ioltr, si ha utilizzado

Dettagli

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

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

Dettagli

Risposta in Frequenza

Risposta in Frequenza Risposta i Frquza Ipdza L ipdza di u bipolo è il uro coplsso dato dal rapporto tra il fasor tsio il fasor corrt: jφ V V V V j( ΦV ΦI ) Z = = I I jφ L attza è il uro coplsso: Z Y soo i gral fuzioi dlla

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

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

introduzione I MICROCONTROLLORI

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

Dettagli

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

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

LABORATORIO DI SISTEMI

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

Dettagli

Gestione della memoria centrale

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

Dettagli

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

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

Dettagli

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

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

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

Architettura dei computer

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

Dettagli

Corso PLC - Manuale Pratico 1

Corso PLC - Manuale Pratico 1 Corso PLC - Manuale Pratico 1 "!#$ % L'unità centrale di un PLC, chiamata più semplicemente CPU, normalmente occupa il primo modulo del rack. Si individua subito in quanto tipicamente è dotata di un selettore,

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

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

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

Dettagli

CALCOLATORI ELETTRONICI 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

I file di dati. Unità didattica D1 1

I file di dati. Unità didattica D1 1 I file di dati Unità didattica D1 1 1) I file sequenziali Utili per la memorizzazione di informazioni testuali Si tratta di strutture organizzate per righe e non per record Non sono adatte per grandi quantità

Dettagli

MODELLO DLX IN UNISIM

MODELLO DLX IN UNISIM Architettura e descrizione del modello MODELLO DLX IN UNISIM RINGRAZIAMENTI : I materiali per questa presentazione sono tratti dal tutorial ufficiale di UNISIM - https://unisim.org/site/tutorials/start

Dettagli

Arduino: Programmazione

Arduino: Programmazione Programmazione formalmente ispirata al linguaggio C da cui deriva. I programmi in ARDUINO sono chiamati Sketch. Un programma è una serie di istruzioni che vengono lette dall alto verso il basso e convertite

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

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

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

I/O su Socket TCP: read()

I/O su Socket TCP: read() I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una

Dettagli

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof. Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record

Dettagli

Gestione del processore e dei processi

Gestione del processore e dei processi Il processore è la componente più importante di un sistema di elaborazione e pertanto la sua corretta ed efficiente gestione è uno dei compiti principali di un sistema operativo Il ruolo del processore

Dettagli

FOTODIODI. La fotorivelazione è basata sull effetto fotoelettrico.

FOTODIODI. La fotorivelazione è basata sull effetto fotoelettrico. OODIODI La otorivlazio è basata sull tto otolttrico. I N Ua radiazio lumiosa icidt lla rgio itrisca di u diodo smicoduttor drogato IN polarizzato ivrsamt produc di portatori libri. Ogi coppia di portatori

Dettagli

Università di Camerino Corso di Laurea Fisica Indirizzo Tecnologie per l Innovazione Appunti di Calcolo Prof. Angelo Angeletti

Università di Camerino Corso di Laurea Fisica Indirizzo Tecnologie per l Innovazione Appunti di Calcolo Prof. Angelo Angeletti Uivrsità di Camrio Corso di Laura Fisica Idirizzo Tcologi pr l Iovazio Apputi di Calcolo Prof. Aglo Agltti Formula di Taylor Si ricordrà ch l quazio dlla tagt ad ua curva di quazio y f() i u puto è data

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

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

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

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++

ISTITUTO TECNICO INDUSTRIALE STATALE LA GESTIONE DEI FILE DI TESTO IN C++ ISTITUTO TECNICO INDUSTRIALE STATALE G A L I L E O F E R R A R I S DIISPENSA DII IINFORMATIICA E SIISTEMII AUTOMATIICII LA GESTIONE DEI FILE DI TESTO IN C++ Le classi per la gestione dei file. Il C++ è

Dettagli

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

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

Dettagli

GESTIONE INFORMATICA DEI DATI AZIENDALI

GESTIONE INFORMATICA DEI DATI AZIENDALI GESTIONE INFORMATICA DEI DATI AZIENDALI Alberto ZANONI Centro Vito Volterra Università Tor Vergata Via Columbia 2, 00133 Roma, Italy zanoni@volterra.uniroma2.it Rudimenti di programmazione Programming

Dettagli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli CODICE Le fonti in cui si possono trovare tutorial o esempi di progetti utilizzati con Arduino si trovano nel sito ufficiale di Arduino, oppure nei forum di domotica e robotica. Il codice utilizzato per

Dettagli

Sistema operativo: Gestione della memoria

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

Dettagli

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

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

Dettagli

Allocazione dinamica della memoria - riepilogo

Allocazione dinamica della memoria - riepilogo Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Storage duration Allocazione dinamica della

Dettagli

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori

Gli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

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

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

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

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

Argo Palm Manuale utente Versione 4.0.0 del 05-05-2010

Argo Palm Manuale utente Versione 4.0.0 del 05-05-2010 Argo Palm Manuale utente Versione 4.0.0 del 05-05-2010 Sommario Premessa... 3 Installazione... 3 Requisiti minimi per l installazione:... 3 Installazione del software sul Palmare... 4 Uso del programma...

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

Introduzione ai Metodi Formali

Introduzione ai Metodi Formali Intruzione ai Meti Formali Sistemi software anche molto complessi regolano la vita quotidiana, anche in situazioni life-critical (e.g. avionica) e business-critical (e.g. operazioni bancarie). Esempi di

Dettagli

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa Il File System 1 Il file system E quella componente del SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti

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

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

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

La Gestione delle risorse Renato Agati

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

Dettagli

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

Calcolatori Elettronici

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

Dettagli

Software di base. Corso di Fondamenti di Informatica

Software di base. Corso di Fondamenti di Informatica Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Software di base Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria delle Reti

Dettagli

Corso di Informatica

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

Dettagli

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata

Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Esercizio di Sincronizzazione tra Processi: Ponte a Senso Unico Alternato con Capacità Limitata Supponiamo sempre di avere un ponte stretto che permette il passaggio delle auto solo in un verso per volta,

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

Esame di INFORMATICA

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

Dettagli

Prova scritta di Analisi Matematica I - 1 febbraio 2011 Proff. B. CIFRA F. ILARI. Compito A

Prova scritta di Analisi Matematica I - 1 febbraio 2011 Proff. B. CIFRA F. ILARI. Compito A SEDE DISTACCATA DI LATINA a.a. / Prova sritta di Aalisi Matmatia I - fbbraio Proff. B. CIFRA F. ILARI Compito A COGNOME...... NOME. Matr... Corso di Laura o o o Ambit Trritorio Risors Iformazio Maia firma

Dettagli

Informatica - A.A. 2010/11

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

Dettagli

Limite Inferiore per l Ordinamento. Algoritmi e Strutture Dati (Mod. A) Limite Inferiore per l Ordinamento. Limite Inferiore per l Ordinamento

Limite Inferiore per l Ordinamento. Algoritmi e Strutture Dati (Mod. A) Limite Inferiore per l Ordinamento. Limite Inferiore per l Ordinamento Limit Ifrior pr l Ordiamto Ma quato può ssr fficit, i pricipio, u algoritmo di ordiamto? Algoritmi Struttur Dati (Mod. A) Limit Ifrior pr l Ordiamto Qusta è ua dll domad più ambizios itrssati ma ach ua

Dettagli

Gestione di una UART SOFTWARE.

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

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Lezione 8. La macchina universale

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

Dettagli

Strutturazione logica dei dati: i file

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

Dettagli

Il File System. Il file system

Il File System. Il file system Il File System Il file system Parte di SO che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa Realizza i concetti astratti di file:

Dettagli

COMUNE DI BOLOGNA Dipartimento Economia e Promozione della Città

COMUNE DI BOLOGNA Dipartimento Economia e Promozione della Città COMUNE DI BOLOGNA Dipartimnto Economia Promozion dlla Città Allgato C all Avviso pubblico pr la prsntazion di progtti di sviluppo alla Agnda Digital di Bologna Modllo di dichiarazion sul posssso di rquisiti

Dettagli

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE

SOMMARIO Coda (queue): QUEUE. QUEUE : specifica QUEUE SOMMARIO Coda (queue): Specifica: interfaccia. Implementazione: Strutture indicizzate (array): Array di dimensione variabile. Array circolari. Strutture collegate (nodi). Prestazioni. Strutture Software

Dettagli

La selezione binaria

La selezione binaria Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Introduzione L esecuzione di tutte le istruzioni in sequenza può non è sufficiente per

Dettagli

Architettura hardware

Architettura hardware Ricapitolando Architettura hardware la parte che si può prendere a calci Il funzionamento di un elaboratore dipende da due fattori principali 1) dalla capacità di memorizzare i programmi e i dati 2) dalla

Dettagli

Prova di Laboratorio di Programmazione

Prova di Laboratorio di Programmazione Prova di Laboratorio di Programmazione 6 febbraio 015 ATTENZIONE: Non è possibile usare le classi del package prog.io del libro di testo. Oltre ai metodi richiesti in ciascuna classe, è opportuno implementare

Dettagli

Architettura dei calcolatori II parte Memorie

Architettura dei calcolatori II parte Memorie Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica ed Elementi di Statistica 3 c.f.u. Anno Accademico 2010/2011 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 2 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 2 anno accademico 2015-2016 Mario Verdicchio Sistema binario e logica C è un legame tra i numeri binari (0,1) e la logica, ossia la disciplina che si occupa del ragionamento

Dettagli

L applicazione dei vettori di collaudo

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

Dettagli

Esempio: aggiungere j

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

Dettagli

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti

L organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti Banco di registri e memoria Corso ACSO prof. Cristina SILVANO Politecnico di Milano Componenti di memoria e circuiti di pilotaggio L organizzazione interna della memoria e del banco di registri prevedono

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

ZIMO. Decoder per accessori MX81. Manuale istruzioni del. nella variante MX81/N per il formato dei dati NMRA-DCC

ZIMO. Decoder per accessori MX81. Manuale istruzioni del. nella variante MX81/N per il formato dei dati NMRA-DCC ZIMO Manuale istruzioni del Decoder per accessori MX81 nella variante MX81/N per il formato dei dati NMRA-DCC etichetta verde Sommario 1. GENERALITÀ... 3 2. CARATTERISTICHE E DATI TECNICI... 3 3. COLLEGAMENTO

Dettagli

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

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

Dettagli

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

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

Dettagli

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 SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO

IL SOFTWARE TIPI DI SOFTWARE. MACCHINE VIRTUALI Vengono definite così perché sono SIMULATE DAL SOFTWARE, UNIFORMANO L ACCESSO SISTEMA OPERATIVO IL SOFTWARE L HARDWARE da solo non è sufficiente a far funzionare un computer Servono dei PROGRAMMI (SOFTWARE) per: o Far interagire, mettere in comunicazione, le varie componenti hardware tra loro o Sfruttare

Dettagli

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

Dettagli

MIPS Instruction Set 2

MIPS Instruction Set 2 Laboratorio di Architettura 15 aprile 2011 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference card: http://refcards.com/docs/waetzigj/mips/mipsref.pdf 32 registri general

Dettagli

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory FILE SYSTEM : INTERFACCIA 8.1 Interfaccia del File System Concetto di File Metodi di Accesso Struttura delle Directory Montaggio del File System Condivisione di File Protezione 8.2 Concetto di File File

Dettagli

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6 Pag. 1/6 Quello che vogliamo ottenere con questo database è un semplice programma che permetta di fare mailing tramite posta elettronica. 1 Dopo aver creato il database con Access 97 o 2000 è necessario

Dettagli

C. P. U. MEMORIA CENTRALE

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

Dettagli

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

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

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

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

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

Dettagli

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

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

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

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

Dettagli

Rendering air show e verifica della sincronizzazione

Rendering air show e verifica della sincronizzazione Capitolo 5 Rendering air show e verifica della sincronizzazione 5.1 Introduzione Il Rendering 3D dell evoluzioni acrobatiche costituisce uno degli aspetti cruciali dell applicazione realizzata. L ambiente

Dettagli

Monitor. Introduzione. Struttura di un TDA Monitor

Monitor. Introduzione. Struttura di un TDA Monitor Monitor Domenico Cotroneo Dipartimento di Informatica e Sistemistica Introduzione E stato introdotto per facilitare la programmazione strutturata di problemi in cui è necessario controllare l assegnazione

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