ARM PROCESSORS FAMILY

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ARM PROCESSORS FAMILY"

Transcript

1 1 ARM PROCESSORS FAMILY INTRODUZIONE ALL ISA ARM PIPELINES UTILIZZATE DAI PROCESSORI ARM ARM PROCESSOR CORES ARM CPU CORES EMBEDDED ARM-BASED SYSTEMS 2 INTRODUZIONE ALL'ISA ARM

2 PROCESSORI ARM 3 I processori della famiglia ARM sono largamente i più diffusi per sistemi integrati di tipo embedded (telefonia cellulare, sistemi wireless, PDA, ecc) L ISA è principalmente di tipo RISC con qualche concessione al CISC che non pregiudica l efficienza della pipeline Vedremo che una delle pipelines utilizzate è pressochè identica a quella del MIPS PROCESSORI ARM 4 EVOLUZIONE DELLA SPECIE Il primo processore ARM (Advanced RISC Machine) fu sviluppato a Cambridge presso la Acorn Computers Limited (successivamente ARM Limited), fra l Ottobre 1983 e l Aprile 1985, sulla base degli studi di Patterson e Ditzel che portarono alla realizzazione del primo processore RISC, il Berkeley RISC I. L architettura originale basata su 3 stadi di pipeline e rimasta sostanzialmente invariata fino alla versione 7 compresa (1995). Per ottenere un incremento si prestazioni nelle versioni 8 e 9 si e passati ad una pipeline a 5 stadi (simile a quella del MIPS). Per un ulteriore incremento di prestazioni si è passati a pipeline più complesse a 6 stadi e + stadi versioni 10 e 11.

3 ARM ISA REGISTRI INTERNI USER MODE r0 15 GPRs, PC, CPSR r1 r2 r3 (current program r4 r5 status register) r6 r7 SYSTEM MODES r8 r9 r10 Gli altri 16 registri del r11 r12 file register più altri 5 r13 r14 status registers sono r15 (PC) usati per le modalità di funzionamento speciali (gestione di interrupts e chiamate dal SO) CPSR user mode fiq mode r8_fiq r9_fiq r10_fiq r11_fiq r12_fiq r13_fiq r14_fiq SPSR_fiq svc mode r13_svc r14_svc SPSR_svc abort mode r13_abt r14_abt SPSR_abt irq mode Utilizzabili in user mode Utilizzabili in system modes r13_irq r14_irq r13_und r14_und SPSR_irq SPSR_und undefined mode 5 ARM ISA FORMATO DEL CPSR 6 N (Negative), Z (Zero), C (Carry), V (overflow) mode control processor mode T control instruction set T = 1 istruzioni 16-bit Thumb T = 0 instruzioni 32-bit ARM standard I F interrupt enables N Z C V unused I F T mode

4 ARM ISA ECCEZIONI I processori ARM supportano un vasta varietà di eccezioni (interrupts, traps e chiamate da SO) Gestione delle eccezioni Lo stato corrente viene salvato copiando il PC su r14_exc e il CPSR su SPSR_exc (exc indica il tipo di eccezione, che può essere fiq, svc, abort, irq, undefined) La modalità operativa del processore passa da user mode all appropriato exception mode Il valore del PC viene forzato ad un valore compreso tra e 1C 16, corrispondente alla specifica tipologia di eccezione L istruzione corrispondente alla locazione alla quale viene forzato il PC di solito contiene un branch alla routine di exception handling; l exception handler utilizza r13_exc, che è normalmente inizializzato per puntare ad uno stack in memoria utilizzato per salvare il contenuto di registri Al ritorno dall eccezione viene ripristinata la modalità user 7 ARM ISA ORGANIZZAZIONE DELLA MEMORIA Array lineare di bytes numerati da 0 a Tipi di dato bytes (8 bits) half-words (16 bits) allineati su 4 byte 2-byte boundaries (con byte iniziale di indirizzo pari) words (32 bits) allineati su 4- byte (con byte iniziale di indirizzo multiplo di 4) Si può selezionare la modalità big endian o little endian (quella dell esempio) bit 31 bit word half-word half-word14 half-word12 word8 byte6 byte3 byte2 byte1 byte byte address

5 ARM ISA INSTRUCTION SET (1) Architettura Load-store Gli operandi sono sempre contenuti nei GPRs Le uniche istruzioni che coinvolgono la memoria sono quelle di load/store Tipologie di Istruzioni Data Processing utilizzano e modificano il contenuto dei registri Data Transfer copiano il contenuto di locazioni di memoria in registri (load) o copiano il contenuto di registri in locazioni della memoria (store) Control Flow branch branch-and-link salva l indirizzo di ritorno in modo da ripristinare la corretta sequenza d esecuzione Chiamate del sistema operativo (interrupt software) 9 ARM ISA INSTRUCTION SET (2) 10 Istruzioni di data processing a 3 operandi Esecuzione condizionale di ciascuna istruzione Istruzioni di load/store multiplo di registri Capacità di eseguire un operazione di shift e una operazione di tipo ALU tramite singola istruzione eseguibile in singolo ciclo (troughput) Possibilità di ampliare l Instruction Set Open utilizzando le operazioni del coprocessore Modalità di funzionamento Thumb che consente una rappresentazione compressa su 16 bit delle istruzioni

6 ARM ISA ISTRUZIONI DI DATA PROCESSING (1) 11 Classificazione delle istruzioni di data processing Operazioni Aritmetiche Operazioni logiche bit a bit Operazioni di spostamento dati fra registri Operazioni di comparazione Operandi: a 32-bit Tre tipologie di operandi: Contenuto di registri Il secondo operando può essere una costante (immediate) Un operando proveniente da un registro può essere shiftato Risultato a 32-bit salvato in un registro Le operazioni di long multiply fanno eccezione, infatti producono risultati a 64- bit ARM ISA ISTRUZIONI DI DATA PROCESSING (2) 12 Arithmetic Operations Bit-wise Logical Operations ADD r0, r1, r2 r0 := r1 + r2 AND r0, r1, r2 r0 := r1 and r2 ADC r0, r1, r2 r0 := r1 + r2 + C ORR r0, r1, r2 r0 := r1 or r2 SUB r0, r1, r2 r0 := r1 - r2 EOR r0, r1, r2 r0 := r1 xor r2 SBC r0, r1, r2 r0 := r1 - r2 + C - 1 BIC r0, r1, r2 r0 := r1 and (not) r2 RSB r0, r1, r2 r0 := r2 r1 RSC r0, r1, r2 r0 := r2 r1 + C - 1 Register Movement Comparison Operations MOV r0, r2 r0 := r2 CMP r1, r2 set cc on r1 - r2 MVN r0, r2 r0 := not r2 CMN r1, r2 set cc on r1 + r2 TST r1, r2 set cc on r1 and r2 TEQ r1, r2 set cc on r1 xor r2

7 ARM ISA ISTRUZIONI DI DATA PROCESSING (3) 13 Operandi immediati: è possibile rappresentare valori da 0 a , ma non tutti i valori: immediate = (0->255) x 2 2n, 0 <= n <= 12 ADD r3, r3, #3 AND r8, r7, #&ff Shift di uno degli operandi r3 := r3 + 3 r8 := r7 [7:0], & indica valore esadecimale E possibile shiftare il secondo operando prima che sia combinato con il primo ADD r3, r2, r1, LSL #3 ADD r5, r5, r3, LSL r2 r3 := r2 + 8 x r1 r5 := r5 + 2 r2 x r3 ARM ISA ISTRUZIONI DI DATA PROCESSING (4) 14 ISTRUZIONI DI SHIFT LSL Logical Shift Left LSR Logical Shift Right ASR Arithmetic Shift Right ROR Rotate Right RRX Rotate Right Extended by 1 place LSL #5 LSR # ASR #5, positive operand ASR #5, negative operand C C C ROR #5 RRX

8 ARM ISA ISTRUZIONI DI DATA PROCESSING (5) BIT DI CONDIZIONE DEL CPSR Ciascuna Istruzione di Data Processing (DPI) può settare i bit di condizione (N, Z, V, and C) del CPSR Per tutte le DPI eccetto la comparazione dev essere fatta una richiesta specifica A livello assembly questo viene implementato agiungendo una S al nome dell istruzione Esempio (r3-r2 := r1-r0 + r3-r2) addizione a 64 bit fra i regs r1-r0 e r3-r2 15 ADDS r2, r2, r0 ADC r3, r3, r1 ; sommo le 2 word meno significative, il carry viene scritto su C e tiene conto del riporto ; sommo le 2 word più significative con l eventuale riporto Le operazioni aritmetiche settano tutti i flag (N, Z, C, and V) Le operazioni logiche e di spostamento dati settano N e Z I valori di V e C vengono preservati ARM ISA ISTRUZIONI DI DATA PROCESSING (6) MOLTIPLICAZIONI Esempio (Multiply, Multiply-Accumulate) MUL r4, r3, r2 r4 := [r3 x r2] <31:0> MLA r4, r3, r2, r1 r4 := [r3 x r2 + r1] <31:0> NB Vengono scritti sul registro destinazione i 32 bit meno significativi, gli altri bit vengono ignorati Non è supportato che il secondo operando sia un immediato Il registro destinazione non può coincidere con il primo registro sorgente Se l istruzione è di tipo `S`, il bit V viene preservato e il bit C diviene privo di significato Moltiplicazione per una costante: viene implementata spesso tramite add e shift esempio (r0 = r0 * 35) ADD r0, r0, r0, LSL #2 ; r0 = r0 x 5 RSB r0, r0, r0, LSL #3 ; r0 = 7 x r0 16

9 ARM ISA ISTRUZIONI DI DATA TRANSFER (1) 17 Istruzioni di Load e Store di registri singoli trasferimento di un dato (byte, half-word, word) tra un registro e la memoria Istruzioni di Load e Store di registri multipli rende possibile il trasfermento di grandi quantità di dati utilizzate per la chiamata ed il ritorno da funzione, per salvare/ripristinare lo stato dei registri, e per copiare blocchi di dati Istruzioni di swap di registri singoli rende possibile lo scambio del contenuto di un registro con il contenuto di una locazione di memoria usato per implementare semafori ARM ISA ISTRUZIONI DI DATA TRANSFER (2) LOAD E STORE DI SINGOLO REGISTRO 18 Indirizzamento Register-indirect Indirizzamento Base+offset (offset fino a 4Kbytes) LDR r0, [r1, #4] Indirizzamento Auto-indexing r0 := mem 32 [r1 +4] LDR r0, [r1] STR r0, [r1] LDRB r0, [r1] r0 := mem 32 [r1] mem 32 [r1] := r0 r0 := mem 8 [r1] LDR r0, [r1, #4]! r0 := mem 32 [r1 + 4] r1 := r1 + 4 Indirizzamento Post-indexed LDR r0, [r1], #4 r0 := mem 32 [r1] r1 := r1 + 4

10 ARM ISA ISTRUZIONI DI DATA TRANSFER (3) UTILIZZO DELL INDIRIZZAMENTO POST-INDEXED 19 COPY: LDR r1, TABLE1 ; r1 punta a TABLE1 LDR r2, TABLE2 ; r2 punta a TABLE2 LOOP: LDR r0, [r1] STR r0, [r2] ADD r1, r1, #4 ADD r2, r2, #4... TABLE1:... TABLE2: COPY: LDR r1, TABLE1 ; r1 punta a TABLE1 LDR r2, TABLE2 ; r2 punta a TABLE2 LOOP: LDR r0, [r1], #4 STR r0, [r2], #4... TABLE1:... TABLE2: ARM ISA ISTRUZIONI DI DATA TRANSFER (4) TRASFERIMENTO MULTIPLO DI DATI REGISTRI -MEMORIA 20 LDMIA r1, {r0, r2, r5} LDMIB r1, {r0, r2, r5} r0 := mem 32 [r1] r2 := mem 32 [r1 + 4] r5 := mem 32 [r1 + 8] r0 := mem 32 [r1 + 4] r2 := mem 32 [r1 + 8] r5 := mem 32 [r1 + 12] tutti I registri sono copiati tramite una singola istruzione l ordine dei registri non ha importanza includendo r15 nella lista dei registri causa una modifica del flusso di esecuzione LDMDA r1, {r0, r2, r5} r0 := mem 32 [r1] r2 := mem 32 [r1-4] r5 := mem 32 [r1-8] LDMDB r1, {r0, r2, r5} r0 := mem 32 [r1-4] r2 := mem 32 [r1-8] r5 := mem 32 [r1-12]

11 ARM ISA ISTRUZIONI DI MODIFICA DEL FLUSSO DI CONTROLLO (1) Branch Interpretation Normal uses B BAL Unconditional Always Always take this branch Always take this branch BEQ Equal Comparison equal or zero result BNE Not equal Comparison not equal or non-zero result BPL Plus Result positive or zero BMI Minus Result minus or negative BCC BLO Carry clear Lower Arithmetic operation did not give carry-out Unsigned comparison gave lower BCS BHS Carry set Higher or same Arithmetic operation gave carry-out Unsigned comparison gave higher or same BVC Overflow clear Signed integer operation; no overflow occurred BVS Overflow set Signed integer operation; overflow occurred BGT Greater than Signed integer comparison gave greater than BGE Greater or equal Signed integer comparison gave greater or equal BLT Less than Signed integer comparison gave less than BLE Less or equal Signed integer comparison gave less than or equal BHI Higher Unsigned comparison gave higher BLS Lower or same Unsigned comparison gave lower or same 21 ARM ISA ISTRUZIONI DI MODIFICA DEL FLUSSO DI CONTROLLO (2) ESECUZIONE CONDIZIONALE DELLE ISTRUZIONI L esecuzione condizionale è usata per evitare l utilizzo di istruzioni di salto nel caso si debba eventualmente evitare l esecuzione di un limitato numero di istruzioni Esempio Senza l esecuzione condizionale CMP r0, #5 ; BEQ BYPASS ; if (r0!=5) { ADD r1, r1, r0 ; r1:=r1+r0-r2 SUB r1, r1, r2 ; } BYPASS: Con l esecuzione condizionale CMP r0, #5 ; ADDNE r1, r1, r0 ; SUBNE r1, r1, r2 ;... Note: add 2 letter condition after the 3-letter opcode ; if ((a==b) && (c==d)) e++; CMP r0, r1 CMPEQ r2, r3 ADDEQ r4, r4, #1

12 ARM ISA ISTRUZIONI DI MODIFICA DEL FLUSSO DI CONTROLLO (3) ISTRUZIONI DI BRANCH AND LINK 23 Branch to subroutine (r14 è utilizzato come link register) BL SUBR ; branch to SUBR.. ; return here SUBR:.. ; SUBR entry point MOV pc, r14 ; return ARM ISA ISTRUZIONI DI MODIFICA DEL FLUSSO DI CONTROLLO (4) INTERRUPT SOFTWARE Il supervisore è un programma che opera ad un livello privilegiato può fare delle cose che un programma a livello utente non può fare direttamente Esempio: mandare in outptut del testo ad un display ARM ISA include SWI (SoftWare Interrupt) 24 ; output r0 [7:0] SWI SWI_WriteC ; return from a user program back to monitor SWI SWI_Exit

13 ARM ISA INSTRUCTION SET COMPLETO (1) 25 ARM ISA INSTRUCTION SET COMPLETO (2) 26

14 ARM ISA INSTRUCTION SET COMPLETO (3) 27 ARM ISA INSTRUCTION SET COMPLETO (4) 28

15 29 PIPELINES UTILIZZATE DAI PROCESSORI ARM ARM PIPELINES PIPELINE A 3 STADI (ARM 1-7) Register file 2 porte in lettura, 1 porta in scrittura + 1 porta in lettura e 1 in scrittura riservate per r15 (PC) Barrel shifter esegue lo shift o il rotate di un operando di un numero di bit a scelta ALU esegue le operazioni logiche ed aritmetiche Memory address register + incrementer Memory data registers Instruction decoder e logica di controllo associata A L U b u s A[31:0] address register P C A b u s incrementer register bank ALU multiply register barrel shifter data out register PC B b u s control 30 instruction decode & control data in register D[31:0]

16 Fetch ARM PIPELINES PIPELINE A 3 STADI (ARM 1-7) L istruzione viene prelevata dalla memoria e caricata nella pipeline Decode L istruzione viene decodificata e I segnali di controllo del datapath vengono settati per il ciclo successivo. In questo ciclo l istruzione utilizza la logica di decodifica ma non il datapath Execute L istruzione utilizza il datapath: vengono gli operandi dal file register, uno degli operandi viene eventualmente shiftato, la ALU calcola il risultato che viene scritto (write back) sul file register 31 ARM PIPELINES PIPELINE A 3 STADI (ARM 1-7) ESECUZIONI DELLE ISTRUZIONI SINGOLO CICLO 32 fetch decode execute add add r0,r1,#5 sub r2,r3,r6 fetch decode execute sub cmp r2,#3 fetch decode execute cmp time

17 ARM PIPELINES PIPELINE A 3 STADI (ARM 1-7) ESECUZIONI DELLE ISTRUZIONI DI ACCESSO ALLA MEMORIA 33 1 fetch ADD decode execute LA LOGICA DI DECODIFICA GENERA SEMPRE I SEGNALI DI CONTROLLO UTILIZZATI DAL DATAPATH NEL CICLO SUCCESSIVO 2 fetch STR decode calc. addr. data xfer 3 fetch ADD decode execute 4 fetch ADD decode execute 5 fetch ADD decode execute instruction time ARM PIPELINES PIPELINE A 3 STADI (ARM 1-7) ESECUZIONI DELLE ISTRUZIONI DI ACCESSO MULTIPLO ALLA MEMORIA ldmia r0,{r2,r3} fetch decode ex ld r2 ex ld r3 Lo stadio di decode blocca L avanzamento delle istruzioni nella pipeline finchè LDMIA non ha terminato 34 sub r2,r3,r6 fetch decode ex sub cmp r2,#3 fetch decodeex cmp Instruzione ritardata time Il fetch della SUB avviene al ciclo standard, ma l istruzione non viene decodificata finchè LDMIA non è terminata

18 sub r2,r3,r6 foo add r0,r1,r2 ARM PIPELINES PIPELINE A 3 STADI (ARM 1-7) ESECUZIONI DI SALTO La decisione sulla destinazione del salto non può essere presa fino alla fase di execute bne foo fetch decode ex bne ex bne ex bne fetch decode 2 cicli vengono persi solo se il salto viene effettuato (Predict Branch Not Taken) fetch decode ex add time 35 ARM PIPELINES 36 PIPELINE A 3 STADI (ARM 1-7) DATA PROCESSING INSTRUCTION DATAPATH ACTIVITY Reg-Reg Rd = Rn op Rm r15 = AR + 4 AR = AR + 4 Reg-Imm Rd = Rn op Imm r15 = AR + 4 AR = AR + 4 address register Rd registers Rn increment mult Rm PC as ins. address register Rd registers Rn increment mult PC as ins. as instruction as instruction [7:0] data out data in i. pipe data out data in i. pipe (a) register register operations (b) register immediate operations

19 ARM PIPELINES PIPELINE A 3 STADI (ARM 1-7) STR (store register) DATAPATH ACTIVITY Compute address AR = Rn op Disp r15 = AR + 4 Store data AR = R15 mem[ar] = Rd<x:y> If autoindexing => Rn = Rn +/- 4 address register Rn registers mult increment lsl #0 = A / A + B / A - B PC [11:0] Rn address register PC registers mult increment Rd shifter = A+ B / A-B 37 data out data in i. pipe byte? data in i. pipe (a) 1 st cycle compute address (b) 2 nd cycle store data & auto-index ARM PIPELINES PIPELINE A 3 STADI (ARM 1-7) PRIMI DUE CICLI DI ESECUZIONE DI UN ISTRUZ DI SALTO Compute target address AR = r15 + Disp,lsl #2 Save return address (if required) r14 = r15 AR = AR + 4 address register PC registers mult increment lsl #2 Il terzo ciclo viene utilizzato per correggere il valore di = A + B r14. In caso contrario [23:0] punterebbe a PC+8 anzichè a PC+4, avendo continuato a fare fetch dopo il fetch del branch (a) 1 st cycle compute branch target data out data in i. pipe address register R14 registers PC = A increment mult shifter data out data in i. pipe (b) 2 nd cycle save return address 38

20 ARM PIPELINES 39 ISTRUZIONI THUMB ARM PIPELINES ARM 7 THUMB MANAGEMENT 40

21 ARM PIPELINES 41 INCREMENTO DELLE PRESTAZIONI Diminuzione del periodo di clock Riduzione del CPI Reimplementazione delle istruzioni a piu cicli Riduzione degli stalli della pipeline ARM PIPELINES PIPELINE A 5 STADI (ARM 8,9, strongarm) Architettura di Harvard La pipeline e simile a quella MIPS, le differenza riguardano: PC contenuto nel file dei registri, il che implica 2 porte in scrittura e 3 in lettura, al posto di 1 e 2 Barrel shifter Moltiplicatore Modulo per la gestione di pre e post indirizzamento autoincrementante che consenta il load e store di piu dati nella stessa istruzione next pc pc + 4 B, BL MOV pc SUBS pc LDR pc +4 pc+8 LDM/ STM postindex +4 pre-index mux load/store address r15 ALU I-cache I decode register read mul shift reg shift byte repl. D-cache rot/sgn ex fetch 42 instruction decode immediate fields forwarding paths execute buffer/ data register write write-back

22 PIPELINE A 5 STADI (ARM 8,9, strongarm) Fetch Decode L istruzione viene decodificata Vengono letti i 3 operandi Execute Un operando viene shiftato e la ALU genera il risultato, oppure Viene calcolato un indirizzo Buffer/data (Memory) Accesso alla memoria dati (load, store) Write-back Scrivo il risultato sul reg file ARM PIPELINES next pc pc + 4 B, BL MOV pc SUBS pc LDR pc +4 pc+8 LDM/ STM postindex +4 pre-index mux load/store address r15 ALU I-cache I decode register read mul shift reg shift byte repl. D-cache rot/sgn ex fetch instruction decode immediate fields forwarding paths execute buffer/ data 43 register write write-back ARM PIPELINES 44 CONFRONTO FRA LE 2 PIPELINES

23 ARM PIPELINES 45 CONFRONTO FRA LE 2 PIPELINES L architettura a 3 stadi esegue in sequenza la decompressione delle istruzioni thumb e quindi la decodifica. Nella pipeline a 5 stadi non c è tempo sufficiente, e la decodifica dei 2 tipi di istruzioni avviene in parallelo Lo stadio di memory della pipeline a 5 stadi non ha uno stadio equivalente nell altra pipe, poichè l accesso in memoria viene eseguito con un ciclo di execute addizionale che provoca uno svuotamento della pipeline. L incremento di prestazioni richiesto al sottosistema di memoria e notevole ARM PIPELINES 46 PIPELINE A 6 STADI (ARM10) Consente frequenze di clock ancora piu elevate (50%) Ottimizzazione degli stadi di fetch, memory ed execute, duplicazione dello stadio di decode

24 47 ARM CORES ARM CORES 48 TIPOLOGIE DI SISTEMI VLSI CHIP e COREs Un sistema VLSI, puo essere commercializzato in 3 diverse forme Chip Core Hardware (Silicon IP) Core Software (Soft IP) Nello sviluppo di System on Chip è indispensabile avvalersi di moduli IP (cores) sviluppati da terzi I processori e le CPU della famiglia ARM sono sempre commercializzati sotto forma di cores (a parte lo strongarm)

25 ARM PROCESSOR CORES 49 ARM7TDMI E attualmente il core ARM piu diffuso. E lo standard de-facto per applicazioni di telefonia mobile digitale Viene commercializzata sotto forma di macrocella customizzata per la tecnologia richiesta dall acquirente Supporta il subset di istruzioni a 16 bit THUMB, on-chip debug, EmbeddedICE hardware, moltiplicazione a 64 bit E stato fabbricato in numerose tecnologie CMOS diverse, con frequenze di clock fino a 100 MHz (66 typ) e alimentazioni fino a 0.9 V (3.3 typ) ARM PROCESSOR CORES ARM7TDMI 50

26 ARM PROCESSOR CORES 51 ARM7TDMI ARM PROCESSOR CORES 52 ARM7TDMI-S E la versione soft-ip dell ARM7TDMI, viene commercializzata come progetto verilog o VHDL e il porting sulla tecnologia target viene eseguito dall acquirente tramite sintesi Il processo di sintesi prevede la possibilta di introdurre modifiche architetturali quali l omissione del modulo embeddedice e/o la sostituzione del moltiplicatore a 64 bit con uno a 32 bit, con una conseguente riduzione della funzionalita ma anche di dimensioni e consumi La versione completa e il 50% piu estesa e consuma il 50% in piu rispetto alla versione hard a parita di tecnologia

27 ARM PROCESSOR CORES 53 ARM9TDMI E il core ARM per applicazioni che richiedano prestazioni tanto elevate da non poter essere soddisfatte dall architettura 7 Viene commercializzata sotto forma di macrocella customizzata per la tecnologia richiesta dall acquirente Ha le stesse funzionalita dell ARM7TDMI, con la pipeline del processore che passa da 3 a 5 stadi e un embeddedice hardware piu evoluto E stato fabbricato in tecnologie CMOS a 0.35, 0.25 e 0.18 micron, con alimentazioni fino da 3.3 a 1.2 V Necessita di 2 cache separate (istruzioni e dati) per poter sfruttare la propria potenza elaborativa ARM PROCESSOR CORES 54 ARM9TDMI

28 ARM PROCESSOR CORES 55 ARM9TDMI-S E la versione soft-ip dell ARM9TDMI, viene commercializzata come progetto verilog o VHDL e il porting sulla tecnologia target viene eseguito dall acquirente tramite sintesi Implementa una versione piu estesa dell instruction set rispetto alla versione hard, con l inclusione di istruzioni per il signal processing E il 30% piu estesa rispetto alla versione hard a parita di tecnologia ARM CPU CORES 56 CORES PIU EVOLUTI Oltre a core che includono semplicemente il processore la ARM commercializza anche core che includono i moduli che spesso è indispensabile integrare sul chip: memorie Cache, Memory Management Units (MMU) ed (eventualmente) bus controllers per la gestione di periferiche di I/O Tali moduli per poter raggiungere il massimo delle prestazioni potenziali del sistema devono essere fortemente ottimizzati per il processore ospite. Ha quindi senso per una società che intenda realizzare un System on Chip lasciare al fornitore del processore l onere di sviluppare anche questi moduli

29 ARM CPU CORES ARM710T 57 Core hardware commercializzato dalla ARM limited Il core comprende i seguenti moduli Pipeline a 3 stadi + circuiteria di debug e embeddedice (ARM7TDMI) Un cache unificata per i dati e le istruzioni di 8Kbyte di tipo 4-way associative, write back MMU Coprocessore Controller per il bus delle periferiche di I/O (AMBA) Ne esistono altre 2 versioni con caratteristiche simili (ARM720T e ARM740T) ARM CPU CORES ARM710T 58 N/A

30 ARM CPU CORES 59 strongarm CPU stand-alone sviluppata dalla Arm limited e da Digital Equipment Corporation. La versione attualmente in commercio, la SA-110, è prodotta da Intel, che ha acquisito la Digital nel 1998 Il chip comprende i seguenti moduli Pipeline a 5 stadi con register forwarding Esecuzione in singolo ciclo di tutte le istruzioni a parte la moltiplicazione a 64 bit e i trasferimenti multipli di registri Un cache per le istruzioni di 16Kbyte di tipo 32-way associative Un cache per i dati di 16Kbyte di tipo 32-way associative, write back MMU con gestione di TLB separata per istruzioni e dati Tra i processori aventi lo stesso livello di prestazioni, dimensioni e consumi a parità di tecnologia sono fra i più ridotti ARM CPU CORES 60 strongarm 16 Kbytes 16 Kbytes

31 ARM CPU CORES 61 StrongARM ARM CPU CORES ARM940T 62 Core hardware commercializzato dalla ARM limited Il core comprende i seguenti moduli Pipeline a 5 stadi + circuiteria di debug e embeddedice (ARM9TDMI) Un cache per le istruzioni di 16Kbyte di tipo 16-way associative Un cache per i dati di 16Kbyte di tipo 16-way associative, write back MMU unificata per dati e istruzioni Interfaccia per la gestione di un coprocessore esterno Controller per il bus delle periferiche di I/O (AMBA) Ne esiste un altra versione con caratteristiche simili, l ARM920T, che supporta WindowsCE

32 ARM CPU CORES ARM940T Kbytes 16 Kbytes ARM CPU CORES ARM940T 64

33 65 EMBEDDED ARM-BASED SYSTEMS EMBEDDED ARM-BASED SYSTEMS OneC VWS22100 GSM chip 66

34 EMBEDDED ARM-BASED SYSTEMS Typical GSM handset architecture 67 EMBEDDED ARM-BASED SYSTEMS 68 ERICSSON - BLUETOOTH BASEBAND CONTROLLER

35 EMBEDDED ARM-BASED SYSTEMS BLUETOOTH SYSTEM 69

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Lezione n.19 Processori RISC e CISC

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

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2010

CALCOLATORI ELETTRONICI 29 giugno 2010 CALCOLATORI ELETTRONICI 29 giugno 2010 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si disegni lo schema di un flip-flop master-slave S-R sensibile ai fronti di salita e

Dettagli

Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere. Principi di Progettazione ISA MIPS MIPS R3000 ISA. Il Set di Istruzioni MIPS

Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere. Principi di Progettazione ISA MIPS MIPS R3000 ISA. Il Set di Istruzioni MIPS Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Ing.. Francesco Lo Presti Sviluppata e progettata a Stanford (USA) Progettata nei primi anni 80 Prodotta e

Dettagli

CALCOLATORI ELETTRONICI 31 marzo 2015

CALCOLATORI ELETTRONICI 31 marzo 2015 CALCOLATORI ELETTRONICI 31 marzo 2015 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1. Tradurre in linguaggio assembly MIPS il seguente frammento di

Dettagli

I μ-controllori ARM: la logica RISC

I μ-controllori ARM: la logica RISC I μ-controllori ARM: la logica RISC I μ-controllori ARM (ARM è l acronimo di Advanced RISC Machines Ltd) sono molto interessanti perché basati su di una architettura di funzionamento diversa da quella

Dettagli

Architetture CISC e RISC

Architetture CISC e RISC FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architetture CISC e RISC 2000 Pier Luca Montessoro (si veda la nota di copyright alla slide n.

Dettagli

Introduzione alle pipeline e all'architettura RISC

Introduzione alle pipeline e all'architettura RISC Introduzione alle pipeline e all'architettura RISC Introduzione Pipeline Processori RISC Salti Appendice A: Storia Bibliografia Versione con i frame Versione in pdf Architettura del processore Una possibile

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Introduzione prof. Stefano Salvatori A.A. 2014/2015 Eccetto dove diversamente specificato, i contenuti di questo documento sono

Dettagli

Progettazione di sistemi Embedded

Progettazione di sistemi Embedded Progettazione di sistemi Embedded Corso introduttivo di progettazione di sistemi embedded A.S. 2013/2014 proff. Nicola Masarone e Stefano Salvatori Eccetto dove diversamente specificato, i contenuti di

Dettagli

CIRCUITI INTEGRATI ESEMPI: INTEL

CIRCUITI INTEGRATI ESEMPI: INTEL CIRCUITI INTEGRATI Costruzione di circuiti (logici e non) su un substrato di silicio. Non solo la parte attiva, ma anche le connessioni tra le porte. Incredibile miglioramento nelle prestazioni, nell affidabilità

Dettagli

I componenti di un Sistema di elaborazione. CPU (central process unit)

I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) I componenti di un Sistema di elaborazione. CPU (central process unit) La C.P.U. è il dispositivo che esegue materialmente gli ALGORITMI.

Dettagli

Architettura dei Calcolatori

Architettura dei Calcolatori Architettura dei Calcolatori Sistema di memoria parte prima Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti Sistema di memoria parte prima Sommario: Banco di registri Generalità sulla memoria Tecnologie

Dettagli

Descrizioni VHDL Behavioral

Descrizioni VHDL Behavioral 1 Descrizioni VHDL Behavioral In questo capitolo vedremo come la struttura di un sistema digitale è descritto in VHDL utilizzando descrizioni di tipo comportamentale. Outline: process wait statements,

Dettagli

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio:

Flops. Ad esempio nel caso del prodotto classico tra matrici, vengono eseguite 2*N 3 operazioni, quindi ad esempio: Flops FLOPS e' un'abbreviazione di Floating Point Operations Per Second e indica il numero di operazioni in virgola mobile eseguite in un secondo dalla CPU. (Top500 e il BlueGene) Ad esempio nel caso del

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

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano

Dettagli

Controllori a Logica Programmabile. Cos è un PLC? Cenni storici. Cenni storici. Cenni storici. Definizione dallo Standard IEC 61131

Controllori a Logica Programmabile. Cos è un PLC? Cenni storici. Cenni storici. Cenni storici. Definizione dallo Standard IEC 61131 Controllori a Logica mabile Nella presente lezione vedremo le caratteristiche principali del controllore a logica programmabile (in inglese, mable Logic Controller, o PLC). In particolare, ci soffermeremo

Dettagli

Informatica. PARSeC Research Group

Informatica. PARSeC Research Group Informatica Ing. Mauro Iacono Seconda Università degli Studi di Napoli Facoltà di Studi Politici e per l Alta Formazione Europea e Mediterranea Jean Monnet PARSeC Research Group Introduzione: L informatica

Dettagli

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo

Architettura degli Elaboratori. Lez. 8 : Il Livello di Sistema Operativo Corso di Laurea Triennale in Informatica Università degli Studi di Bari Aldo Moro Anno Accademico 2012-2013 Lez. 8 : Il Livello di Sistema Operativo Sebastiano Pizzutilo Strutturazione del Sistema Operativo

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

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese

Inter Process Communication. Laboratorio Software 2008-2009 C. Brandolese Inter Process Communication Laboratorio Software 2008-2009 C. Brandolese Introduzione Più processi o thread Concorrono alla relaizzazione di una funzione applicativa Devono poter realizzare Sincronizzazione

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

Informatica. Scopo della lezione

Informatica. Scopo della lezione 1 Informatica per laurea diarea non informatica LEZIONE 1 - Cos è l informatica 2 Scopo della lezione Introdurre le nozioni base della materia Definire le differenze tra hardware e software Individuare

Dettagli

Il Concetto di Processo

Il Concetto di Processo Processi e Thread Il Concetto di Processo Il processo è un programma in esecuzione. È l unità di esecuzione all interno del S.O. Solitamente, l esecuzione di un processo è sequenziale (le istruzioni vengono

Dettagli

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense

Linguaggio del calcolatore. Algebra di Boole AND, OR, NOT. Notazione. And e or. Circuiti e reti combinatorie. Appendice A + dispense Linguaggio del calcolatore Circuiti e reti combinatorie ppendice + dispense Solo assenza o presenza di tensione: o Tante componenti interconnesse che si basano su e nche per esprimere concetti complessi

Dettagli

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table

Universita' di Ferrara Dipartimento di Matematica e Informatica. Algoritmi e Strutture Dati. Rappresentazione concreta di insiemi e Hash table Universita' di Ferrara Dipartimento di Matematica e Informatica Algoritmi e Strutture Dati Rappresentazione concreta di insiemi e Hash table Copyright 2006-2015 by Claudio Salati. Lez. 9a 1 Rappresentazione

Dettagli

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it

Introduzione ai Device Drivers in Linux. E.Mumolo, DEEI mumolo@units.it Introduzione ai Device Drivers in Linux E.Mumolo, DEEI mumolo@units.it 1 Device Drivers Moduli software che gestiscono le periferiche attraverso il file system Tutte le periferiche sono viste come file

Dettagli

Cos è un protocollo? Ciao. Ciao 2:00. tempo. Un protocollo umano e un protocollo di reti di computer:

Cos è un protocollo? Ciao. Ciao 2:00. <file> tempo. Un protocollo umano e un protocollo di reti di computer: Cos è un protocollo? Un protocollo umano e un protocollo di reti di computer: Ciao Ciao Hai l ora? 2:00 tempo TCP connection request TCP connection reply. Get http://www.di.unito.it/index.htm Domanda:

Dettagli

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori"

Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori Esercitazioni su rappresentazione dei numeri e aritmetica dei calcolatori" slide a cura di Salvatore Orlando & Marta Simeoni " Architettura degli Elaboratori 1 Interi unsigned in base 2" Si utilizza un

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

Rappresentazione dei numeri in un calcolatore

Rappresentazione dei numeri in un calcolatore Corso di Calcolatori Elettronici I A.A. 2010-2011 Rappresentazione dei numeri in un calcolatore Lezione 2 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Rappresentazione dei numeri

Dettagli

Bus di sistema. Bus di sistema

Bus di sistema. Bus di sistema Bus di sistema Permette la comunicazione (scambio di dati) tra i diversi dispositivi che costituiscono il calcolatore E costituito da un insieme di fili metallici che danno luogo ad un collegamento aperto

Dettagli

Programmare in assembly in GNU/Linux con sintassi AT&T

Programmare in assembly in GNU/Linux con sintassi AT&T Programmare in assembly in GNU/Linux con sintassi AT&T Fulvio Ferroni fulvioferroni@teletu.it 2011.08.05 Questo documento intende dare le basi essenziali per la programmazione assembly in ambiente GNU/Linux

Dettagli

Così come le macchine meccaniche trasformano

Così come le macchine meccaniche trasformano DENTRO LA SCATOLA Rubrica a cura di Fabio A. Schreiber Il Consiglio Scientifico della rivista ha pensato di attuare un iniziativa culturalmente utile presentando in ogni numero di Mondo Digitale un argomento

Dettagli

Altri cifrari a blocchi

Altri cifrari a blocchi Altri cifrari a blocchi Barbara Masucci Dipartimento di Informatica ed Applicazioni Università di Salerno masucci@dia.unisa.it http://www.dia.unisa.it/professori/masucci RC2 [1989] IDEA (International

Dettagli

Test di comunicazione tra due LOGO! 0BA7: Master - Master

Test di comunicazione tra due LOGO! 0BA7: Master - Master Industry Test di comunicazione tra due LOGO! 0BA7: Master - Master Dispositivi utilizzati: - 2 LOGO! 0BA7 (6ED1 052-1MD00-0AB7) - Scalance X-208 LOGO! 0BA7 Client IP: 192.168.0.1 LOGO! 0BA7 Server IP:

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

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

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame.

1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. 1. Si consideri uno spazio di indirizzamento logico di otto pagine di 1024 parole ognuna, mappate su una memoria fisica di 32 frame. (a) Da quanti bit è costituito l indirizzo logico? (b) Da quanti bit

Dettagli

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia

Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Sede di Reggio Emilia Corso di Laurea Specialistica in Ingegneria Meccatronica a.a. 2008/2009 Corso di CALCOLATORI ELETTRONICI Capitolo

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Sistemi di numerazione posizionali Rappresentazione dei numeri Rappresentazione dei numeri nei calcolatori rappresentazioni finalizzate ad algoritmi efficienti per le operazioni

Dettagli

PD32. Esercitazione sull interfacciamento con un dispositivo di IO

PD32. Esercitazione sull interfacciamento con un dispositivo di IO PD32 Esercitazione sull interfacciamento con un dispositivo di IO Domanda #5 14/09/2000 Si dispone di un PD32 per effettuare il collaudo di un circuito integrato combinatorio con 5 ingressi e una uscita,

Dettagli

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C

Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009. Lab 02 Tipi semplici in C Fondamenti di Informatica e Laboratorio T-AB Ingengeria dell Automazione a.a. 2008/2009 Lab 02 Tipi semplici in C Obiettivo dell esercitazione Acquistare familiarità con i tipi di dato semplici supportati

Dettagli

Introduzione al VHDL. Alcuni concetti introduttivi

Introduzione al VHDL. Alcuni concetti introduttivi Introduzione al VHDL Alcuni concetti introduttivi Riferimenti The VHDL Cookbook, Peter J. Ashenden, Reperibile nel sito: http://vlsilab.polito.it/documents.html The VHDL Made Easy, David Pellerin, Douglas

Dettagli

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN

MODBUS-RTU per. Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie. Expert NANO 2ZN per Expert NANO 2ZN Specifiche protocollo di comunicazione MODBUS-RTU per controllo in rete dispositivi serie Expert NANO 2ZN Nome documento: MODBUS-RTU_NANO_2ZN_01-12_ITA Software installato: NANO_2ZN.hex

Dettagli

Programmazione di un dispositivo 1to4INTGEN

Programmazione di un dispositivo 1to4INTGEN Programmazione di un dispositivo 1to4INTGEN Realizzazione di un sistema timesharing Materiale didattico a cura di: Prof. A. Mazzeo Ing. L. Romano Ing. L. Coppolino Ing. A. Cilardo Dipartimento di Informatica

Dettagli

Virtualizzazione con Microsoft Tecnologie e Licensing

Virtualizzazione con Microsoft Tecnologie e Licensing Microsoft Virtualizzazione con Microsoft Tecnologie e Licensing Profile Redirezione dei documenti Offline files Server Presentation Management Desktop Windows Vista Enterprise Centralized Desktop Application

Dettagli

GENERALITA SUI CONVERTITORI DAC E ADC CONVERTITORI DIGITALE-ANALOGICO DAC

GENERALITA SUI CONVERTITORI DAC E ADC CONVERTITORI DIGITALE-ANALOGICO DAC I.T.I. Modesto PANETTI A R I ia Re David, 86-8-54.54. - 75 ARI Fax 8-54.64.3 Internet http://www.itispanetti.it email : ATF5C@istruzione.it Tesina sviluppata dall alunno Antonio Gonnella della classe 5

Dettagli

Interfaccia Web per customizzare l interfaccia dei terminali e

Interfaccia Web per customizzare l interfaccia dei terminali e SIP - Session Initiation Protocol Il protocollo SIP (RFC 2543) è un protocollo di segnalazione e controllo in architettura peer-to-peer che opera al livello delle applicazioni e quindi sviluppato per stabilire

Dettagli

Progetti reali con ARDUINO

Progetti reali con ARDUINO Progetti reali con ARDUINO Introduzione alla scheda Arduino (parte 2ª) ver. Classe 3BN (elettronica) marzo 22 Giorgio Carpignano I.I.S. Primo LEVI - TORINO Il menù per oggi Lettura dei pulsanti Comunicazione

Dettagli

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Elementi di Informatica e Programmazione Le Reti di Calcolatori (parte 2) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela

Dettagli

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati Condizione di sincronizzazione Qualora si voglia realizzare una determinata politica di gestione delle risorse,la decisione se ad

Dettagli

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...

J+... J+3 J+2 J+1 K+1 K+2 K+3 K+... Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

IL LINGUAGGIO C++ Configurazione di Dev-C++

IL LINGUAGGIO C++ Configurazione di Dev-C++ IL LINGUAGGIO C++ Note sull'uso di DevC++ Requisiti di sistema per Dev-C++ - Sistema operativo Microsoft Windows 95, 98, Millenium Edition, NT 4, 2000 o XP - RAM: 8 Mb (consigliati almeno 32 Mb) - CPU:

Dettagli

Perché se ho 4 GiB di RAM ne vedo di meno?

Perché se ho 4 GiB di RAM ne vedo di meno? Perché se ho 4 GiB di ne vedo di meno? di Matteo Italia (matteo@mitalia.net) Abstract In questo articolo mi propongo di spiegare perché utilizzando un sistema operativo a 32 bit su una macchina x86 con

Dettagli

DEFT Zero Guida Rapida

DEFT Zero Guida Rapida DEFT Zero Guida Rapida Indice Indice... 1 Premessa... 1 Modalità di avvio... 1 1) GUI mode, RAM preload... 2 2) GUI mode... 2 3) Text mode... 2 Modalità di mount dei dispositivi... 3 Mount di dispositivi

Dettagli

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni

Le funzioni. Funzioni. Funzioni. Funzioni. Funzioni. Funzioni Funzioni Le funzioni Con il termine funzione si intende, in generale, un operatore che, applicato a un insieme di operandi, consente di calcolare un risultato, come avviene anche per una funzione matematica

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it

INTRODUZIONE, LINGUAGGIO, HANDS ON. Giuseppe Cirillo g.cirillo@unina.it INTRODUZIONE, LINGUAGGIO, HANDS ON Giuseppe Cirillo g.cirillo@unina.it Il linguaggio C 1972-Dennis Ritchie 1978-Definizione 1990-ANSI C 1966 Martin Richars (MIT) Semplificando CPL usato per sviluppare

Dettagli

Il compilatore Dev-C++

Il compilatore Dev-C++ Il compilatore Dev-C++ A cura del dott. Marco Cesati 1 Il compilatore Dev-C++ Compilatore per Windows: http://www.bloodshed.net/devcpp.html Installazione Configurazione Utilizzazione 2 1 Requisiti di sistema

Dettagli

CREAZIONE DI UN FILE

CREAZIONE DI UN FILE #include #include CREAZIONE DI UN FILE fd = creat(filename, mode); int fd, mode; char *filename; La primitiva creat crea un file, se non ne esiste uno col nome specificato, oppure

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

BPEL: Business Process Execution Language

BPEL: Business Process Execution Language Ingegneria dei processi aziendali BPEL: Business Process Execution Language Ghilardi Dario 753708 Manenti Andrea 755454 Docente: Prof. Ernesto Damiani BPEL - definizione Business Process Execution Language

Dettagli

Business Process Modeling and Notation e WebML

Business Process Modeling and Notation e WebML Business Process Modeling and Notation e WebML 24 Introduzione I Web Service e BPMN sono standard de facto per l interoperabilità in rete a servizio delle imprese moderne I Web Service sono utilizzati

Dettagli

La suite Dental Trey che semplifica il tuo mondo.

La suite Dental Trey che semplifica il tuo mondo. La suite Dental Trey che semplifica il tuo mondo. impostazioni di sistema postazione clinica studio privato sterilizzazione magazzino segreteria amministrazione sala di attesa caratteristiche UNO tiene

Dettagli

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012

Marco Giorgi. Palazzo di Giustizia di Torino 30 marzo 2012 Marco Giorgi Palazzo di Giustizia di Torino 30 marzo 2012 Post mortem (Dopo lo spegnimento del sistema) Si smonta il dispositivo e lo si collega ad un PC dedicato all'acquisizione Live forensics (Direttamente

Dettagli

Le system call: fork(), wait(), exit()

Le system call: fork(), wait(), exit() Le system call: fork(), wait(), exit() Di seguito viene mostrato un programma che fa uso di puntatori a funzione, nel quale si mette in evidenza il loro utilizzo. Programma A1 #include int add(a,b,c)

Dettagli

Installazione LINUX 10.0

Installazione LINUX 10.0 Installazione LINUX 10.0 1 Principali passi Prima di iniziare con l'installazione è necessario entrare nel menu di configurazione del PC (F2 durante lo start-up) e selezionare nel menu di set-up il boot

Dettagli

La protezione dai memory error exploit

La protezione dai memory error exploit Università degli Studi di Milano Sommario Introduzione 1 Stack Guard Terminator Canaries Random Canaries 2 3 Buffer Overflow Stack Guard Introduzione Buffer Overflow Condizione anomala. Memorizzazione

Dettagli

> MULTI TASKING > MULTI PROCESS > MULTI CORE

> MULTI TASKING > MULTI PROCESS > MULTI CORE > MULTI TASKING > MULTI PROCESS > MULTI CORE WorkNC V21 multicore 64 bits : Benefici di WorkNC Aumento generale della produttività, grazie alle nuove tecnologie multi-core, 64 bit e Windows 7 Calcolo di

Dettagli

CARATTERISTICHE DELLE CRYPTO BOX

CARATTERISTICHE DELLE CRYPTO BOX Secure Stream PANORAMICA Il sistema Secure Stream è costituito da due appliance (Crypto BOX) in grado di stabilire tra loro un collegamento sicuro. Le Crypto BOX sono dei veri e propri router in grado

Dettagli

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1

Dipartimento di Sistemi e Informatica Università degli Studi di Firenze. Dev-C++ Ing. Michele Banci 27/03/2007 1 Dipartimento di Sistemi e Informatica Università degli Studi di Firenze Dev-C++ Ing. Michele Banci 27/03/2007 1 Utilizzare Dev-C++ Tutti i programmi che seranno realizzati richiedono progetti separati

Dettagli

Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project

Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project Linguaggio C++ Uso ambiente Dev C++ con creazione di progetto con scelta Basic --> Empty Project NB: E necessario: adoperare la sintassi più evoluta per le direttive di precompilazione 1, usando come contenitore

Dettagli

RefWorks Guida all utente Versione 4.0

RefWorks Guida all utente Versione 4.0 Accesso a RefWorks per utenti registrati RefWorks Guida all utente Versione 4.0 Dalla pagina web www.refworks.com/refworks Inserire il proprio username (indirizzo e-mail) e password NB: Agli utenti remoti

Dettagli

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64

Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 Le telecamere Installate verranno connesse ad Unità di elaborazione multiplexer per la gestione e la verifica di gruppi omogenei di 4-8-16-32-48-64 telecamere. I sistemi di acquisizione ed archiviazione

Dettagli

Serduino - SERRA CON ARDUINO

Serduino - SERRA CON ARDUINO Serduino - SERRA CON ARDUINO 1 Componenti Facchini Riccardo (responsabile parte hardware) Guglielmetti Andrea (responsabile parte software) Laurenti Lorenzo (progettazione hardware) Rigolli Andrea (reparto

Dettagli

Inizializzazione degli Host. BOOTP e DHCP

Inizializzazione degli Host. BOOTP e DHCP BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un

Dettagli

Codifica dei numeri negativi

Codifica dei numeri negativi E. Calabrese: Fondamenti di Informatica Rappresentazione numerica-1 Rappresentazione in complemento a 2 Codifica dei numeri negativi Per rappresentare numeri interi negativi si usa la cosiddetta rappresentazione

Dettagli

ECDL Modulo 1 Concetti base dell ITC

ECDL Modulo 1 Concetti base dell ITC ECDL Modulo 1 Concetti base dell ITC Syllabus 5.0 Roberto Albiero Modulo 1 Concetti di base dell ICT Questo modulo permetterà al discente di comprendere i concetti fondamentali delle Tecnologie dell Informazione

Dettagli

Inter-Process Communication

Inter-Process Communication Inter-Process Communication C. Baroglio a.a. 2002-2003 1 Introduzione In Unix i processi possono essere sincronizzati utilizzando strutture dati speciali, appartenti al pacchetto IPC (inter-process communication).

Dettagli

MODULO DI ISCRIZIONE - ENROLMENT FORM

MODULO DI ISCRIZIONE - ENROLMENT FORM Under the Patronage of Comune di Portofino Regione Liguria 1ST INTERNATIONAL OPERA SINGING COMPETITION OF PORTOFINO from 27th to 31st July 2015 MODULO DI ISCRIZIONE - ENROLMENT FORM Direzione artistica

Dettagli

Progetto VirtualCED Clustered

Progetto VirtualCED Clustered Progetto VirtualCED Clustered Un passo indietro Il progetto VirtualCED, descritto in un precedente articolo 1, è ormai stato implementato con successo. Riassumendo brevemente, si tratta di un progetto

Dettagli

12.5 UDP (User Datagram Protocol)

12.5 UDP (User Datagram Protocol) CAPITOLO 12. SUITE DI PROTOCOLLI TCP/IP 88 12.5 UDP (User Datagram Protocol) L UDP (User Datagram Protocol) é uno dei due protocolli del livello di trasporto. Come l IP, é un protocollo inaffidabile, che

Dettagli

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test

SIMATIC. SCL per S7-300/400 Programmazione di blocchi. Prefazione, Contenuto. Parte 1: Sviluppo di programmi. Parte 2: Uso e test Prefazione, Contenuto Parte 1: Sviluppo di programmi Parte 2: Uso e test SIMATIC Parte 3: Descrizione del linguaggio Programmazione di blocchi Appendici Glossario, Indice analitico Manuale Numero di ordinazione

Dettagli

Guida Dell di base all'acquisto dei server

Guida Dell di base all'acquisto dei server Guida Dell di base all'acquisto dei server Per le piccole aziende che dispongono di più computer è opportuno investire in un server che aiuti a garantire la sicurezza e l'organizzazione dei dati, consentendo

Dettagli

Oscilloscopi serie WaveAce

Oscilloscopi serie WaveAce Oscilloscopi serie WaveAce 60 MHz 300 MHz Il collaudo facile, intelligente ed efficiente GLI STRUMENTI E LE FUNZIONI PER TUTTE LE TUE ESIGENZE DI COLLAUDO CARATTERISTICHE PRINCIPALI Banda analogica da

Dettagli

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL 1 Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

Dettagli

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo

Appunti di Sistemi Operativi. Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Appunti di Sistemi Operativi Enzo Mumolo e-mail address :mumolo@units.it web address :www.units.it/mumolo Indice 1 Cenni su alcuni algoritmi del Kernel di Unix 1 1.1 Elementi di Unix Internals.................................

Dettagli

Creare una applicazione Winsock di base

Creare una applicazione Winsock di base Creare una applicazione Winsock di base Usiamo le API Winsock incluse in Creare un progetto per una Socket Windows (in Dev C++) Selezionare la file New Projects Selezionare Empty Project Salvare

Dettagli

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment

Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio. IDE = Integrated Development Environment Bloodshed Dev-C++ Bloodshed Dev-C++ è l IDE usato durante le esercitazioni/laboratorio IDE = Integrated Development Environment Gerardo Pelosi 01 Ottobre 2014 Pagina 1 di 8 Dev-C++ - Installazione Potete

Dettagli

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette.

Dettagli

Ambienti di sviluppo integrato

Ambienti di sviluppo integrato Ambienti di sviluppo integrato Un ambiente di sviluppo integrato (IDE - Integrated Development Environment) è un ambiente software che assiste i programmatori nello sviluppo di programmi Esso è normalmente

Dettagli

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof.

Trasmissione Seriale e Parallela. Interfacce di Comunicazione. Esempio di Decodifica del Segnale. Ricezione e Decodifica. Prof. Interfacce di Comunicazione Università degli studi di Salerno Laurea in Informatica I semestre 03/04 Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ 2 Trasmissione

Dettagli

ESEMPIO 1: eseguire il complemento a 10 di 765

ESEMPIO 1: eseguire il complemento a 10 di 765 COMPLEMENTO A 10 DI UN NUMERO DECIMALE Sia dato un numero N 10 in base 10 di n cifre. Il complemento a 10 di tale numero (N ) si ottiene sottraendo il numero stesso a 10 n. ESEMPIO 1: eseguire il complemento

Dettagli

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software.

Firewall. Generalità. Un firewall può essere sia un apparato hardware sia un programma software. Generalità Definizione Un firewall è un sistema che protegge i computer connessi in rete da attacchi intenzionali mirati a compromettere il funzionamento del sistema, alterare i dati ivi memorizzati, accedere

Dettagli

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it)

SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) SubnetMask: come funzionano e come si calcolano le sottoreti (SpySystem.it) In una rete TCP/IP, se un computer (A) deve inoltrare una richiesta ad un altro computer (B) attraverso la rete locale, lo dovrà

Dettagli