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

Microelettronica. Architettura del processore ARM. Stefano Salvatori. Università degli Studi Roma Tre. (salvator@uniroma3.it) Microelettronica

Microelettronica. Architettura del processore ARM. Stefano Salvatori. Università degli Studi Roma Tre. (salvator@uniroma3.it) Microelettronica Microelettronica Architettura del processore ARM Stefano Salvatori (salvator@uniroma3.it) Microelettronica Sommario Architettura ARM Differenze con i RISC Programmer s model Sistemi di sviluppo Microelettronica

Dettagli

ASSEMBLER 68K parte 2

ASSEMBLER 68K parte 2 ASSEMBLER 68K parte 2 CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Classi di istruzioni Un calcolatore deve avere istruzioni in grado

Dettagli

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad

In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline

Dettagli

AMBIENTE DI SIMULAZIONE ASIM

AMBIENTE DI SIMULAZIONE ASIM LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 10 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it http://digilander.libero.it/rosario.cerbone a.a. 2008-2009 AMBIENTE DI SIMULAZIONE ASIM Digitazione

Dettagli

Architettura di tipo registro-registro (load/store)

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

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

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

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

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Organizzazione hardware del processore ARM prof. Stefano Salvatori A.A. 2017/2018 Eccetto dove diversamente specificato, i contenuti

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura ARM prof. Stefano Salvatori A.A. 2018/2019 Eccetto dove diversamente specificato, i contenuti di questo documento sono

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

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

L unità di elaborazione pipeline L unità Pipelining

L unità di elaborazione pipeline L unità Pipelining Struttura del processore L unità di elaborazione pipeline Corso ACSO prof. Cristina SILVANO Politecnico di Milano Incremento delle Per migliorare ulteriormente le si può: ridurre il periodo di clock aumentare

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

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

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

Dettagli

Sommario. Premessa Architettura ARM Programmer's model (ARM7) Sistemi di sviluppo. S. Salvatori - Microelettronica aprile 2016 (13 di 45)

Sommario. Premessa Architettura ARM Programmer's model (ARM7) Sistemi di sviluppo. S. Salvatori - Microelettronica aprile 2016 (13 di 45) Sommario Premessa Architettura ARM Programmer's model (ARM7) Sistemi di sviluppo S. Salvatori - Microelettronica aprile 2016 (13 di 45) Architettura di ARM Elevato numero di di registi 31 31 registri interni

Dettagli

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.

Dettagli

Architettura del Set di Istruzioni (ISA)

Architettura del Set di Istruzioni (ISA) Architettura del Set di Istruzioni (ISA) Maurizio Palesi Maurizio Palesi 1 Instruction Set Architecture (ISA) Software instruction set Hardware Maurizio Palesi 2 1 Instruction Set Architecture (ISA) Applicazioni

Dettagli

Architettura di un calcolatore: introduzione

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

Dettagli

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

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di von Neumann rchitettura dei calcolatori: definizioni Evoluzione dell architettura rchitettura della

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

Esercitazione sulle CPU pipeline

Esercitazione sulle CPU pipeline Esercitazione sulle CPU pipeline Una CPU a ciclo singolo come pure una CPU multi ciclo eseguono una sola istruzione alla volta. Durante l esecuzione parte dell hardware della CPU rimane inutilizzato perché

Dettagli

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

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

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione

Dettagli

C. P. U. MEMORIA CENTRALE

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

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

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

Dettagli

CALCOLATORI ELETTRONICI 29 giugno 2011

CALCOLATORI ELETTRONICI 29 giugno 2011 CALCOLATORI ELETTRONICI 29 giugno 2011 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di una PLA la funzione combinatoria (a 3 ingressi e due uscite)

Dettagli

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

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

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

Hazard sul controllo. Sommario

Hazard sul controllo. Sommario Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione alberto.borghese@unimi.it Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione

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 Organizzazione hardware del processore ARM prof. Stefano Salvatori A.A. 2018/2019 Eccetto dove diversamente specificato, i contenuti

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Esempio di moltiplicazione come somma e spostamento

Esempio di moltiplicazione come somma e spostamento Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

MODELLO DLX IN UNISIM

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

Dettagli

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

Architettura hardware

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

Dettagli

Architettura degli elaboratori (A)

Architettura degli elaboratori (A) Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura ARM prof. Stefano Salvatori A.A. 2017/2018 Eccetto dove diversamente specificato, i contenuti di questo documento sono

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:

Dettagli

memoria virtuale protezione

memoria virtuale protezione Memoria Virtuale Le memorie cache forniscono un accesso veloce ai blocchi di memoria usati più di recente La memoria virtuale fornisce un accesso veloce ai dati sulle memorie di massa usati più di recente.

Dettagli

Lezione 3: Architettura del calcolatore

Lezione 3: Architettura del calcolatore Lezione 3: Architettura del calcolatore Architettura di Von Neumann BUS, CPU e Memoria centrale Ciclo di esecuzione delle istruzioni Architettura del calcolatore Il calcolatore è: uno strumento programmabile

Dettagli

Architettura di un sistema di calcolo

Architettura di un sistema di calcolo Richiami sulla struttura dei sistemi di calcolo Gestione delle Interruzioni Gestione della comunicazione fra processore e dispositivi periferici Gerarchia di memoria Protezione. 2.1 Architettura di un

Dettagli

Fondamenti di informatica: un po di storia

Fondamenti di informatica: un po di storia Fondamenti di informatica: un po di storia L idea di utilizzare dispositivi meccanici per effettuare in modo automatico calcoli risale al 600 (Pascal, Leibniz) Nell ottocento vengono realizzati i primi

Dettagli

Programmazione dello Z80

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

Dettagli

Esempio: aggiungere j

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

Dettagli

Tutorato Architettura degli elaboratori

Tutorato Architettura degli elaboratori Tutorato Architettura degli elaboratori Dott. Damiano Braga Before we start.. Orario 12 Aprile h. 14.00-16.00 aula F6 20 Aprile h. 11.30-13.30 aula F6 10 Maggio h. 14.00-16.00 aula F4 18 Maggio h. 11.30-13.30

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 PRESTAZIONI DEL CALCOLATORE Massimiliano Giacomin Due dimensioni Tempo di risposta (o tempo di esecuzione): il tempo totale impiegato per eseguire un task (include

Dettagli

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

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

Dettagli

Lezione E4. Architettura ARM - II. Sistemi embedded e real-time

Lezione E4. Architettura ARM - II. Sistemi embedded e real-time Lezione E4 Sistemi embedded e real-time 18 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 E4.1 Di cosa parliamo in questa lezione?

Dettagli

Lezione E4. Architettura ARM - II. Sistemi embedded e real-time

Lezione E4. Architettura ARM - II. Sistemi embedded e real-time Lezione E4 Sistemi embedded e real-time 18 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 E4.1 Di cosa parliamo in questa lezione?

Dettagli

Calcolatori Elettronici

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

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo Condizioni SEGNALI DI CONTROLLO PC emoria indirizzo IR dato letto UNITA DI ELABORAZIONE

Dettagli

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof. Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa Sistemi Operativi e Reti A.A. 2014/2015 prof. Gianluca Amato Architettura degli elaboratori Architettura Hardware Architettura

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 Organizzazione hardware del processore ARM prof. Stefano Salvatori A.A. 2016/2017 Eccetto dove diversamente specificato, i contenuti

Dettagli

L architettura del calcolatore (Prima parte)

L architettura del calcolatore (Prima parte) L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto

Dettagli

Lezione E3. Architettura ARM - I. Sistemi embedded e real-time

Lezione E3. Architettura ARM - I. Sistemi embedded e real-time Lezione E3 Sistemi embedded e real-time 11 ottobre 2012 Dipartimento di Ingegneria Civile e Ingegneria Informatica Università degli Studi di Roma Tor Vergata SERT 13 E3.1 Di cosa parliamo in questa lezione?

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

Dettagli

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche Input/Output n Grande varietà di periferiche gestiscono quantità di dati differenti a velocità diverse in formati diversi n Tutti più lenti della CPU e della RAM n Necessità di avere moduli di I/O Moduli

Dettagli

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema La macchina di Von Neumann rchite(ura di un calcolatore us di sistema Collegamento Unità di Elaborazione (CPU) Memoria Centrale (MM) Esecuzione istruzioni Memoria di lavoro Interfaccia Periferica P 1 Interfaccia

Dettagli

PXA255: concetti avanzati

PXA255: concetti avanzati PXA255: concetti avanzati 10.a C. Fantozzi, A. Gardich (revisione di S. Congiu) PXA255: il nucleo 1 PXA255: memorie cache Uno dei principali colli di bottiglia nei moderni calcolatori è l inadeguata velocità

Dettagli

introduzione I MICROCONTROLLORI

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

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Introduzione Che cos è un calcolatore? Come funziona un calcolatore? è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura ARM prof. Stefano Salvatori A.A. 2016/2017 Eccetto dove diversamente specificato, i contenuti di questo documento sono

Dettagli

Introduzione ad ARM e al processore S3C2440

Introduzione ad ARM e al processore S3C2440 03.a Introduzione ad ARM e al processore S3C2440 C. Fantozzi, A. Gardich (revisione di S. Congiu, M.Moro) Che cosa è ARM? ARM = Advanced RISC Machine 1 ARM Ltd non produce microprocessori: progetta e vende

Dettagli

Cenni ad Assembly Intel

Cenni ad Assembly Intel Cenni ad Assembly Intel Luca Abeni April 17, 2015 Architerrura Intel Utilizzata sulla maggior parte dei laptop, desktop e server moderni Lunga storia Dagli anni 70 (Intel 8080-8 bit!)......fino ad oggi

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO PROGRAMMA Descrizione funzionale di un calcolatore elementare, COS'E' UN ELETTRONICO HARDWARE SOFTWARE HARDWARE

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

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

Dettagli

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI PROGETTO DELLA CPU MEMORIZZAZIONE DEGLI OPERANDI DOVE SONO MEMORIZZATI GLI OPERANDI NELLA CPU? ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI SCELTE PROGETTUALI: 1. DOVE SONO MEMORIZZATI

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

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

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

8 Microcontrollori PIC

8 Microcontrollori PIC 8 Microcontrollori PIC 8.1 Descrizione generale Un microcontrollore è un dispositivo elettronico che opportunamente programmato è in grado di svolgere diverse funzioni in modo autonomo. Essenzialmente

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Lezione 16: L architettura LC-3

Lezione 16: L architettura LC-3 Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

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

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

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler Indice Linguaggio ad alto livello, linguagio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni aritmetiche, di trasferimento dati e di salto Conversione linguaggio assembler in linguaggio

Dettagli

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione

UNITÀ DI ELABORAZIONE (CPU) UNITÀ DI ELABORAZIONE (CPU) Opcode OpCode Operazione RCHITETTUR DI UN ELORTORE MCCHIN DI VON NEUMNN Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for dvanced Study, anni 40). UNITÀ FUNZIONLI fondamentali Processore (CPU) Centrale

Dettagli

DMA Accesso Diretto alla Memoria

DMA Accesso Diretto alla Memoria Testo di rif.to: [Congiu] - 8.1-8.3 (pg. 241 250) 08.a DMA Accesso Diretto alla Memoria Motivazioni Organizzazione dei trasferimenti DMA Arbitraggio del bus di memoria Trasferimento di un blocco di dati

Dettagli

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

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

Dettagli

Strutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register

Strutture di controllo del flusso di esecuzione in assembler. MC68000: Status Register Corso di Calcolatori Elettronici I A.A. 2010-2011 Strutture di controllo del flusso di esecuzione in assembler Lezione 25 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di

Dettagli

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

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

Dettagli

Architettura dei calcolatori I parte Introduzione, CPU

Architettura dei calcolatori I parte Introduzione, CPU Università degli Studi di Palermo Dipartimento di Ingegneria Informatica C.I. 1 Informatica ed Elementi di Statistica 2 c.f.u. Anno Accademico 2009/2010 Docente: ing. Salvatore Sorce Architettura dei calcolatori

Dettagli

1.4a: Hardware (Processore)

1.4a: Hardware (Processore) 1.4a: Hardware (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Ediz. Fino alla III : cap. 3.8, 3.9 IV ediz.: cap. 2.6, 2.7 Questi lucidi 23 nov 2011

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

STRUTTURE DEI SISTEMI DI CALCOLO STRUTTURE DEI SISTEMI DI CALCOLO 2.1 Strutture dei sistemi di calcolo Funzionamento Struttura dell I/O Struttura della memoria Gerarchia delle memorie Protezione Hardware Architettura di un generico sistema

Dettagli

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:

Dettagli

Informatica di Base - 6 c.f.u.

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

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

ARCHITETTURA DELL ELABORATORE

ARCHITETTURA DELL ELABORATORE 1 ISTITUTO DI ISTRUZIONE SUPERIORE ANGIOY ARCHITETTURA DELL ELABORATORE Prof. G. Ciaschetti 1. Tipi di computer Nella vita di tutti giorni, abbiamo a che fare con tanti tipi di computer, da piccoli o piccolissimi

Dettagli

Sottosistema di Ingresso/Uscita (I/O)

Sottosistema di Ingresso/Uscita (I/O) Corso di Calcolatori Elettronici I A.A. 2013-2014 Sottosistema di Ingresso/Uscita (I/O) ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica allievi J-Z Calcolatore: sottosistemi Processore

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 La CPU e l esecuzione dei programmi 1 Nelle lezioni precedenti abbiamo detto che Un computer è costituito da 3 principali componenti:

Dettagli

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni

Dettagli