PERIFERICHE STANDARD PER SISTEMI EMBEDDED: REGISTRI DI I/O
|
|
- Nicolo Carlucci
- 8 anni fa
- Visualizzazioni
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
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
DettagliLimiti 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
DettagliGESTIONE 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:
DettagliRisposta 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
DettagliINTRODUZIONE 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
DettagliArchitettura 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
Dettagliintroduzione 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
DettagliIl 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.
DettagliArchitettura 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
DettagliLABORATORIO 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
DettagliGestione 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
DettagliCiclo 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
DettagliArchitettura 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
DettagliCalcolo 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:
DettagliCapitolo. 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
DettagliArchitettura 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
DettagliCorso 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,
DettagliDispensa 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.
DettagliL 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
DettagliCALCOLATORI 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
DettagliI 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à
DettagliMODELLO 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
DettagliArduino: 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
DettagliL 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
DettagliUniversità 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
DettagliIntroduzione 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
DettagliI/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
DettagliUniversità 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
DettagliGestione 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
DettagliFOTODIODI. 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
DettagliUniversità 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
DettagliCorso 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
DettagliIl 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
DettagliCon 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
DettagliISTITUTO 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++ è
DettagliLaboratorio 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
DettagliGESTIONE 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
DettagliPer 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
DettagliSistema 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
DettagliUn 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
DettagliAllocazione 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
DettagliGli 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
DettagliConcetto 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
DettagliArchitettura 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
DettagliArchitettura 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
DettagliIng. 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
DettagliLezione 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
DettagliArgo 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...
DettagliCALCOLATORI 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
DettagliIntroduzione 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
DettagliIl 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
DettagliSottosistema 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
DettagliArchitettura 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
DettagliFasi 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
DettagliLa 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
DettagliInput/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
DettagliCalcolatori 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
DettagliSoftware 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
DettagliCorso 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
DettagliEsercizio 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,
Dettagliclock 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
DettagliEsame 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
DettagliProva 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
DettagliInformatica - 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
DettagliLimite 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
DettagliGestione 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
DettagliL 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
DettagliLezione 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
DettagliStrutturazione 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
DettagliIl 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:
DettagliCOMUNE 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
DettagliSOMMARIO 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
DettagliLa 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
DettagliArchitettura 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
DettagliProva 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
DettagliArchitettura 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
DettagliAppunti 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
DettagliL 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.
DettagliEsempio: 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
DettagliL 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
DettagliUniversità 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,
DettagliZIMO. 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
DettagliTecniche 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
DettagliQuinto 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
DettagliIl 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
DettagliIL 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
DettagliIntroduzione 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
DettagliMIPS 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
DettagliSistemi 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
DettagliISI 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
DettagliC. 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] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 3: Introduzione a SPIM
DettagliJava: 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
DettagliSISTEMI 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
DettagliSistemi 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
DettagliDall 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
DettagliI 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)?
DettagliRendering 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
DettagliMonitor. 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
DettagliArchitettura 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