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

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

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

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

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

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

Architettura ARM. 1 Introduzione 1 INTRODUZIONE 1

Architettura ARM. 1 Introduzione 1 INTRODUZIONE 1 1 INTRODUZIONE 1 Architettura ARM Aggiornato al 5 marzo 2013 1 Introduzione La sigla ARM oggi viene interpretata come Advanced RISC Machine. In realtà la sigla originariamente significava Acorn RISC Machine,

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

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

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

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

.: CALCOLATORI 7 MAGGIO 2015

.: CALCOLATORI 7 MAGGIO 2015 .: CALCOLATORI 7 MAGGIO 2015 .: AGENDA.: MIPS, X86, ARM.: CARATTERISTICHE DI ARM ( CONFRONTO A MIPS ).: ESEMPIO COPIA_STRINGA SU ARCHITETTURA ARM.: ESEMPIO FATTORIALE SU MIPS, ARM ADVANCED RISC MACHINE.:

Dettagli

Introduzione alle architetture

Introduzione alle architetture Introduzione alle architetture 66 I n questo articolo tratteremo una breve introduzione al modello di programmazione delle architetture progettate da ARM Ltd., società che non produce processori, ma progetta

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

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

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

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

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

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

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

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

Motivazioni. Assembly

Motivazioni. Assembly Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale di Cassino e del Lazio Meridionale Corso di Pipeline Anno Accademico Francesco Tortorella Progettazione del datapath Prima soluzione: d.p. a ciclo singolo Semplice da realizzare Condizionato dal worst

Dettagli

Macchina di von Neumann

Macchina di von Neumann Il processore PD32 Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Uscita

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

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

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

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

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

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

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI PROGETTO DELLA CPU ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI SCELTE PROGETTUALI: 1. DOVE SONO MEMORIZZATI GLI ERANDI NELLA CPU? 2 QUANTI ERANDI SONO CHIAMATI IN MODO ESPLICITO 3. DOVE

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

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

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR

La macchina di Von Neumann. Central Processing Unit (CPU) Elementi base. Architettura computer. Bus di sistema MEMORIA CENTRALE PERIFERICHE A B INTR Architettura di un computer La macchina di Von Neumann Architettura organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

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

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

Software Hardware. Livello ISA

Software Hardware. Livello ISA Livello ISA Instruction Set Architecture: l insieme delle istruzioni eseguibili dal processore: linguaggio macchina Presentazione generale dei linguaggi macchina. Elenco degli aspetti salienti di un linguaggio

Dettagli

Software Hardware. Livello ISA. Progettisti hardware. Progettazione di un ISA

Software Hardware. Livello ISA. Progettisti hardware. Progettazione di un ISA Livello ISA Instruction Set Architecture: l insieme delle istruzioni eseguibili dal processore: linguaggio macchina Presentazione generale dei linguaggi macchina. Elenco degli aspetti salienti di un linguaggio

Dettagli

' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1'

' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1' ' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1' Calcolatori Prodotto di una tecnologia estremamente vitale con alto impatto economico e sociale Tecnologia

Dettagli

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema

Dettagli

Linguaggio Assembly. Architettura di riferimento Formato istruzioni Classi di istruzioni Modalità di indirizzamento Direttive Codice macchina

Linguaggio Assembly. Architettura di riferimento Formato istruzioni Classi di istruzioni Modalità di indirizzamento Direttive Codice macchina Linguaggio Assembly Architettura di riferimento Formato istruzioni Classi di istruzioni Modalità di indirizzamento Direttive Codice macchina Modello di architettura di riferimento Nel seguito faremo riferimento

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

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

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

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

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

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/16

Dettagli

Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086.

Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. I processori Intel Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. L'8086 e' un processore a 16 bit quindi i suoi registri potranno

Dettagli

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI 1 RICHIAMI SUL MIPS UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI L ARCHITETTURA DI RIFERIMENTO: LA MACCHINA MIPS INSTRUCTION SET MIPS R2000 ISTRUCTION SET SEMPLIFICATO: emips ESEMPI DI PROGRAMMAZIONE

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

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU (CENTRAL PROCESSING UNIT) Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento Programmi e dati risiedono in file memorizzati in memoria secondaria. Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella

Dettagli

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI 1 RICHIAMI SUL MIPS UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI L ARCHITETTURA DI RIFERIMENTO: LA MACCHINA MIPS INSTRUCTION SET MIPS R2000 ISTRUCTION SET SEMPLIFICATO: emips ESEMPI DI PROGRAMMAZIONE

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

Aumentare il parallelismo a livello di istruzione (2)

Aumentare il parallelismo a livello di istruzione (2) Processori multiple-issue issue Aumentare il parallelismo a livello di istruzione (2) Architetture Avanzate dei Calcolatori Valeria Cardellini Nei processori multiple-issue vengono lanciate più istruzioni

Dettagli

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento o Programmi e dati risiedono in file memorizzati in memoria secondaria. o Per essere eseguiti (i programmi) e usati (i dati) vengono copiati

Dettagli

Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina

Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Anno Accademico 2013/2014 Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Prof. Riccardo Torlone Universita Roma Tre Instruction Set Architecture Il livello ISA è l interfaccia

Dettagli

Metodi Software per ottenere ILP

Metodi Software per ottenere ILP Metodi Software per ottenere ILP Calcolatori Elettronici 2 http://www.dii.unisi.it/~giorgi/didattica/calel2 Scaletta Tecnologie nel compilatore BRANCH PREDICTION A SOFTWARE (nel compilatore) - Gia vista

Dettagli

CPU pipeline 4: le CPU moderne

CPU pipeline 4: le CPU moderne Architettura degli Elaboratori e delle Reti Lezione 25 CPU pipeline 4: le CPU moderne Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 25 1/17

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

ARCHITETTURA DI UN PERSONAL COMPUTER

ARCHITETTURA DI UN PERSONAL COMPUTER ARCHITETTURA DI UN PERSONAL COMPUTER Processore Tastiera Mouse CD-ROM Bus Memoria FD HD Stampante La struttura logica Fisicamente l unità centrale è costituita da:... la gabbia per le schede (rack)...

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE Dati e Programmi ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40)(Burks, Goldstine, von Neumann) 2 HARDWARE

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

Z80: archite:ura ed esperienze di laboratorio. P. Vicini. P.Vicini - Lab. Sistemi e Segnali

Z80: archite:ura ed esperienze di laboratorio. P. Vicini. P.Vicini - Lab. Sistemi e Segnali Z80: archite:ura ed esperienze di laboratorio P. Vicini 1 Calcolatori Prodotto di una tecnologia estremamente vitale con alto impatto economico e sociale Tecnologia pervasiva: calcolo, controllo,......

Dettagli

Calcolatore: Elaborare: Input: Output: John von Neumann: Device: Embedded: Sistemi programmabili:

Calcolatore: Elaborare: Input: Output: John von Neumann: Device: Embedded: Sistemi programmabili: Autore: Maria Chiara Cavaliere Informatica di base Lezione 1 del 21/3/2016 Il corso di Informatica di base si baserà sulla spiegazione di tre moduli: -Architettura Hardware; -Sistema operativo; Parte teorica

Dettagli

Architettura degli Elaboratori Modulo 2

Architettura degli Elaboratori Modulo 2 Architettura degli Elaboratori Modulo 2 Salvatore Orlando http://www.dsi.unive.it/~architet Arch. Elab. - S. Orlando 1 Contenuti Approfondiremo il progetto e le prestazioni delle varie componenti di un

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

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 DSP - Digital Signal Processor

IL DSP - Digital Signal Processor IL DSP - Digital Signal Processor Processore dei segnali digitali 1. Generalità Il Digital Signal Processor (DSP, processore di segnali digitali) è un particolare tipo di microprocessore, ottimizzato per

Dettagli

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.:

Dettagli

Il sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O.

Il sistema di I/O. Calcolatori Elettronici 1. Architettura a bus singolo. Memoria. Unità di I/O. Interfaccia. Unità di I/O. Il sistema di I/O Calcolatori Elettronici 1 Architettura a bus singolo Memoria CPU Interfaccia Unità di I/O Interfaccia Unità di I/O Calcolatori Elettronici 2 1 Interfaccia Svolge la funzione di adattamento

Dettagli

Progettare l'isa. Progettare l'isa. Corso di Architettura degli Elaboratori. Interpretazione

Progettare l'isa. Progettare l'isa. Corso di Architettura degli Elaboratori. Interpretazione Corso di Architettura degli Elaboratori Il livelo ISA: ISA IJVM, tipi di dati e formato delle istruzioni Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149

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. 0577234850-7102 RIGUTINI@DII.UNISI.IT HTTP://WWW.DII.UNISI.IT/~RIGUTINI/

Dettagli

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la

Aggiornato il 18 giugno 2015. 1 Questa affermazione richiede una precisazione. A parità di altre condizioni, l eliminazione dello stadio ME allunga la 8 Questo documento contiene le soluzioni ad un numero selezionato di esercizi del Capitolo 8 del libro Calcolatori Elettronici - Architettura e organizzazione, Mc-Graw Hill 2009. Sarò grato a coloro che

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

Architetture CISC e RISC. Misura della potenza di calcolo. Cos'è la potenza di calcolo. Prestazioni della CPU. Fondamenti di Informatica

Architetture CISC e RISC. Misura della potenza di calcolo. Cos'è la potenza di calcolo. Prestazioni della CPU. Fondamenti di Informatica 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

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

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

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE

INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE 1 INCREMENTO DELLE PRESTAZIONI DI UN PROCESSORE TIPI DI PARALLELISMO E CLASSIFICAZIONE DI FLYNN PIPELINING DELLE ISTRUZIONI I PROCESSORI SUPERSCALARI I PROCESSORI VLIW MULTITHREADING, CHIP MULTI PROCESSOR

Dettagli

Elaborazione dei dati

Elaborazione dei dati Elaborazione dei dati Architettura dei computer Esploreremo i fondamenti dell architettura dei computer. Vedremo come un computer elabora i dati e comunica con periferiche come stampanti e tastiere. Linguaggio

Dettagli

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000 AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono

Dettagli