Microelettronica Corso introduttivo di progettazione di sistemi embedded

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Microelettronica Corso introduttivo di progettazione di sistemi embedded"

Transcript

1 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 di questo documento sono rilasciati sotto Licenza Creative Commons Attribuzione 3.0 Italia. S. Salvatori - Microelettronica maggio 2017 (1)

2 Sommario Pipeline a 3 stadi Pipeline a 5 stadi Esempi di esecuzione di istruzioni (datapath) Note sul progetto ARM Clock a due fasi e timing ALU Barrel shifter Moltiplicatore Banco dei registri Layout Logica di controllo Interfacciamento verso un coprocessore S. Salvatori - Microelettronica maggio 2017 (2)

3 Introduzione: le idee di ARM L organizzazione dell ARM è cambiata poco rispetto al primo progetto degli anni 90; con la tecnologia, da 3 um (ARM1) a 0.3 um (ARM7), sono migliorate le prestazioni mentre gli schemi di base sono rimasti gli stessi; Il successivo progresso (ARM9) ha previsto un cambio dell'architettura: pipeline a 5 stadi memoria dati e memoria programma separate (architettura Harward) S. Salvatori - Microelettronica maggio 2017 (3)

4 Organizzazione per pipeline a 3-stadi S. Salvatori - Microelettronica maggio 2017 (4)

5 Organizzazione per pipeline a 3-stadi A[31:0] control Registri: 2 uscite 1 ingresso 2 linee dedicate per il PC Barrel-shifter 2 operandi per l'alu address register P C register bank incrementer PC instruction decode ALU Address register + incrementer A L U b u s A b u s multiply register barrel shifter B b u s & control data registers Decoder istruzioni + logica di controllo ALU data out register data in register D[31:0] S. Salvatori - Microelettronica maggio 2017 (5)

6 Pipeline a 3 stadi Fetch. L istruzione è prelevata dalla memoria e posta nella linea di pipeline dell istruzione. Decode. L istruzione occupa il blocco di decodifica (ma non il datapath): l istruzione è decodificata e sono preparati i segnali di datapath per il prossimo ciclo di clock. Execute. L istruzione occupa il datapath: sono letti gli operandi (registri), si ha lo shift, è svolta l operazione ALU e il risultato è scritto nel banco dei registri. 1 fetch decode execute 2 fetch decode execute 3 instruction fetch decode execute time S. Salvatori - Microelettronica maggio 2017 (6)

7 Pipeline a 3 stadi L'hardware è diviso in sezioni. Ciascuna sezione è impegnata in ogni ciclo di clock instruction fetch decode execute fetch decode execute fetch decode execute time In ogni periodo è impegnata una differente sezione hardware; Per istruzioni di data-processing occorrono tre colpi di clock; Con la pipeline si ha l esecuzione di una istruzione per ciclo di clock e periodo di latenza pari a 3. throughput S. Salvatori - Microelettronica maggio 2017 (7)

8 Esecuzione di un'istruzione a più cicli L esecuzione è meno regolare; Nell esempio: ADD seguita da STR: 1 fetch ADD decode execute 2 fetch STR decode calc. addr. data xfer 3 fetch ADD decode execute 4 fetch ADD decode execute acc. mem decode datapath 5 fetch ADD decode execute instruction time S. Salvatori - Microelettronica maggio 2017 (8)

9 Program counter Il program counter PC (= r15 di uso generale) deve contenere un valore che consenta di caricare le istruzioni successive Per la pipeline, in pratica, il PC punta 8 byte (2 istruzioni) oltre l istruzione corrente (fase di execute) Questo è di fondamentale importanza nel caso di salti relativi alla posizione attuale (è comunque il compilatore a calcolare l offset del salto) Per altri usi del PC, letto come r15, il programmatore deve svolgere un'attenta analisi S. Salvatori - Microelettronica maggio 2017 (9)

10 Esempi di esecuzione di istruzioni per l'arm7 S. Salvatori - Microelettronica maggio 2017 (10)

11 Data processing tra due registri 2 operandi provenienti da due registri Il secondo operando è passato per il barrel-shifter I due giungono alla ALU Il risultato giunge al banco di registri address register increment Rd PC registers Rn Rm mult as ins. operazione tra 2 registri. Datapath: as instruction Il PC è incrementato e l'istruzione successiva caricata in i.pipe data out data in i. pipe (a) register - register operations S. Salvatori - Microelettronica maggio 2017 (11)

12 Data processing tra un reg. e un immediato 2 operandi: contenuto di un registro e un immediato (1 byte) Il secondo operando è passato per il barrel-shifter I due giungono alla ALU Il risultato giunge al banco di registri operazione tra registro e immediato Datapath: address register increment Rd PC registers Rn mult as ins. as instruction [7:0] Il PC è incrementato e l'istruzione successiva caricata in i.pipe data out data in i. pipe (b) register - immediate operation S. Salvatori - Microelettronica maggio 2017 (12)

13 Store (data transfer): 1 ciclo Una istruzione di load/store calcola l indirizzo di memoria nello stesso modo con cui una istruzione di data-processing tratta gli operandi; base address register registers Rn increment mult PC lsl #0 calcolo di PC (fine 1 ciclo) offset datapath: Primo ciclo = A / A + B / A - B [11:0] data out data in i. pipe (a) 1st cycle - compute addr ess S. Salvatori - Microelettronica maggio 2017 (13)

14 Store (data transfer): 2 ciclo auto-indexing address register increment uscirà PC (fine 2 ciclo) datapath: secondo ciclo Rn PC registers Rd mult shifter = A + B / A - B Se riguarda 1 byte: Il valore è replicato 4 volte byte? data in i. pipe Nel caso di LOAD in un 3 ciclo si ha il trasferimento da data in nel registro (b) 2nd cycle - store data & auto-inde S. Salvatori - Microelettronica maggio 2017 (14)

15 Salti (branch, B) In una istruzione di salto, nel 1 ciclo si calcola l'indirizzo a cui saltare L'offset (immediato a 24 bit) subisce uno shift di 2 bit allineamento con word... sommato al contenuto di PC datapath: Primo ciclo address register increment registers PC mult lsl #2 = A + B [23:0] data out data in i. pipe (a) 1st cycle - compute branch tar get S. Salvatori - Microelettronica maggio 2017 (15)

16 Salti (branch with link, BL) Nel caso di branch with link, per ritornare all'istruzione successiva a quella di branch: Nota: PC è copiato in r14 datapath: secondo ciclo address register increment R14 registers PC mult shifter = A il ritorno è in realtà a un indirizzo PC-4 (PC guarda sempre due istruzioni avanti) nel 3 ciclo ( pipeline refill) viene aggiustato il valore data out data in i. pipe (b) 2nd cycle - save return address S. Salvatori - Microelettronica maggio 2017 (16)

17 Organizzazione nel caso di pipeline a 5-stadi S. Salvatori - Microelettronica maggio 2017 (17)

18 Aumentare il numero di slot La soluzione a 3-stadi è molto efficace ed è stata adottata fino all ARM7; Per sistemi con migliori prestazioni dobbiamo ricercare soluzioni più efficienti: T progr N istr f CPI clk n medio di cicli di clock per istruzione Per diminuire il tempo complessivo di esecuzione di un programma: aumentare f CLK diminuire CPI numero maggiore di stadi per la pipeline S. Salvatori - Microelettronica maggio 2017 (18)

19 Organizzazione per pipeline a 5 stadi Aumentare f CLK semplificare la logica di ogni stadio della pipeline aumentare il numero di stadi della pipeline Diminuire CPI le istruzioni devono essere riconfigurate in modo che diminuisca il numero di slot che esse occupano nella pipeline ridurre gli stalli dovuti ad istruzioni che siano interdipendenti S. Salvatori - Microelettronica maggio 2017 (19)

20 Il collo di bottiglia Il modello di Von Neumann limita la possibilità di ridurre CPI a causa degli accessi alla memoria, sia di programma che di dei dati; Il sistema di memoria dovrebbe consentire di acquisire maggiori informazioni/ciclo (>32 bit) oppure: separare la memoria di programma da quella dei dati S. Salvatori - Microelettronica maggio 2017 (20)

21 Pipeline a 5 stadi (ARM9TDMI) instruction fetch r. read decode shift/alu data memory access reg write mem Fetch Decode Execute buffer/data Write Nei processori ARM con pipeline a 5-stadi: fetch: l istr. è prelevata e depositata nella pipeline; decode: l istr. è decodificata e gli operandi prelevati dai registri; execute: shift dell operando e risultato dell ALU. Se l istr. è un load/store, con l ALU si calcola l indirizzo di memoria; buffer/data: eventuale accesso alla memoria, altrimenti il risultato dell ALU è posto in un buffer per mantenere lo stesso flusso della pipeline per tutte le istruzioni; write back: il risultato è caricato in un registro (incluso il load da memoria). S. Salvatori - Microelettronica maggio 2017 (21)

22 ARM9TDMI Registri: 3 porte di lettura e 2 di scrittura (*) Memorie separate: I-cache: per istruzioni D-cache: per i dati Incr. per LDM e STM Data-forwarding: i risultati sono passati tra gli stadi appena sono disponibili (*) Normalmente nei RISC: 2 per lettura e 1 per scrittura. S. Salvatori - Microelettronica maggio 2017 (22)

23 Data forwarding Nella pipeline a 5 stadi il ciclo di esecuzione è praticamente spezzato in 3 slot; Se un'istruzione ha bisogno del dato prodotto dall'istruzione precedente si ha dipendenza; Lo stallo si avrebbe se il dato fosse richiesto prima che il risultato venga trasferito nel registro di destinazione Nell'ARM9TDMI sono inseriti percorsi per i dati che presentano il risultato appena disponibile: data forwarding S. Salvatori - Microelettronica maggio 2017 (23)

24 Stallo inevitabile (read-after-write) Nella seguente sequenza: LDR r3, [..] ADD r1, r2, r3 il dato in r3 è disponibile dalla prima istruzione solo nel penultimo ciclo buffer/data mentre la seconda la richiede nel ciclo di esecuzione instruction fetch r. read decode shift/alu data memory access reg write Fetch Decode Execute Memory Write Il compilatore deve evitare di porre in sequenza questo tipo di istruzioni S. Salvatori - Microelettronica maggio 2017 (24)

25 Compatibilità Per ARM con pipeline a 3 stadi il PC punta 8 byte (2 istruzioni) oltre l istruzione corrente; Con la pipeline a 5 stadi gli operandi sono letti un ciclo prima rispetto a quella a tre stadi: PC+4 anziché PC+8; Per avere compatibilità gli ARM con pipeline a 5 stadi emulano quelli a 3 stadi L'incrementer di PC bypassa il registro di pipeline tra fetch e decode PC+4 per l'istruzione attuale = PC+8 per l'istruzione successiva. S. Salvatori - Microelettronica maggio 2017 (25)

26 Alcune soluzioni nell'architettura ARM S. Salvatori - Microelettronica maggio 2017 (26)

27 Segnale di clock Datapath RTL Control FSM Sono utilizzati latch in luogo di flip-flop sensibili ai livelli e non ai fronti del clock È necessario un clock a due fasi Φ1 phase 1 Φ2 phase 2 1 clock cycle dato Le due fasi sono derivate da un unico segnale di clock in ingresso (PLL) Φ1 Φ2 S. Salvatori - Microelettronica maggio 2017 (27)

28 Ciclo datapath ALU operands latched phase 1 register read time shift time read bus valid shift out valid phase 2 precharge invalidates buses register write time ALU time ALU out I bus sono dinamici (precaricati: anche se manca il clock lo stato è mantenuto) Ciclo = lett.reg + shift + ALU + scritt.reg + sep.fasi S. Salvatori - Microelettronica maggio 2017 (28)

29 Adder nel primo prototipo ARM Ripple-carry adder (32 stadi) ARM1 : Cout OAI A B AOI sum Cin S. Salvatori - Microelettronica maggio 2017 (29)

30 Adder in ARM2 4-bit Carry look ahead (8 stadi) ARM2 Cout[3] OAI A[3:0] B[3:0] G P 4-bit adder logic sum[3:0] AOI Cin[0] S. Salvatori - Microelettronica maggio 2017 (30)

31 Funzioni della ALU per l 'ARM2 fs5 fs4 fs3 fs2 fs1 fs0 ALU output A and B A and not B A xor B A plus not B plus carry A plus B plus carry not A plus B plus carry A A or B B not B zero S. Salvatori - Microelettronica maggio 2017 (31)

32 ALU per ARM2 Logica per il risultato (1 bit) fs: NB bus carry logic G 4 NA bus P ALU bus S. Salvatori - Microelettronica maggio 2017 (32)

33 Carry-select adder per l'arm6 a,b[3:0] a,b[31:28] + +, +1 c s s+1 +, +1 mux mux mux sum[3:0] sum[7:4] sum[15:8] sum[31:16] S. Salvatori - Microelettronica maggio 2017 (33)

34 Organizzazione ALU per l'arm6 A operand latch B operand latch invert A XOR gates XOR gates invert B function logic functions adder C in C V logic/arithmetic result mux zero detect N Z result S. Salvatori - Microelettronica maggio 2017 (34)

35 Carry arbitration encoding per ARM9 A B C u v unknown unknown S. Salvatori - Microelettronica maggio 2017 (35)

36 Barrel shifter In molti processori shifter e ALU lavorano in parallelo -> Il ritardo dello shifter non è critico Poiché nell'arm i due lavorano in serie, lo shifter deve introdurre il minimo ritardo possibile -> matrice (32x32) right 3 right 2 right 1 no shift in[3] in[2] in[1] left 1 left 2 left 3 Con bus precaricato a V DD bastano NMOS in[0] Una logica separata gestisce il riempimento (shift logico o aritmetico) out[0] out[1] out[2] out[3] S. Salvatori - Microelettronica maggio 2017 (36)

37 Barrel shifter Q 3 Q 2 Q 1 Q 0 D 3 D 2 right 3 bit D 1 right 2 bit D 0 D 3 D 2 D 1 D 0 Q 3 Q 2 Q 1 Q 0 left 3 bit left 2 bit left 1 bit right 1 bit no shift (copy) S. Salvatori - Microelettronica maggio 2017 (37)

38 Barrel shifter Q 3 Q 2 Q 1 Q 0 D 3 D 2 right 3 bit D 1 right 2 bit D 0 D3 D2 D1 D0 Q3 Q2 Q1 Q0 shift left 1 bit left 3 bit left 2 bit left 1 bit right 1 bit no shift (copy) S. Salvatori - Microelettronica maggio 2017 (38)

39 Barrel shifter Q 3 Q 2 Q 1 Q 0 D 3 D 2 right 3 bit D 1 right 2 bit D 0 D3 D2 D1 D0 Q3 Q2 Q1 Q0 shift right 2 bit left 3 bit left 2 bit left 1 bit right 1 bit no shift (copy) S. Salvatori - Microelettronica maggio 2017 (39)

40 Barrel shifter D 3 D 2 Q 3 Q 2 Q 1 Q 0 come vanno scelte le diagonali per una rotazione? right 3 bit D 1 right 2 bit D 0 D3 D2 D1 D0 Q3 Q2 Q1 Q0 rotate 1 bit left 3 bit left 2 bit left 1 bit right 1 bit no shift (copy) S. Salvatori - Microelettronica maggio 2017 (40)

41 Barrel shifter D 3 D 2 Q 3 Q 2 Q 1 Q 0 come vanno scelte le diagonali per una rotazione? right 3 bit D 1 right 2 bit D 0 D3 D2 D1 D0 Q3 Q2 Q1 Q0 rotate 1 bit left 3 bit left 2 bit left 1 bit right 1 bit no shift (copy) S. Salvatori - Microelettronica maggio 2017 (41)

42 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 di questo documento sono rilasciati sotto Licenza Creative Commons Attribuzione 3.0 Italia. S. Salvatori - Microelettronica maggio 2017 (1)

43 Sommario Pipeline a 3 stadi Pipeline a 5 stadi Esempi di esecuzione di istruzioni (datapath) Note sul progetto ARM Clock a due fasi e timing ALU Barrel shifter Moltiplicatore Banco dei registri Layout Logica di controllo Interfacciamento verso un coprocessore S. Salvatori - Microelettronica maggio 2017 (2)

44 Introduzione: le idee di ARM L organizzazione dell ARM è cambiata poco rispetto al primo progetto degli anni 90; con la tecnologia, da 3 um (ARM1) a 0.3 um (ARM7), sono migliorate le prestazioni mentre gli schemi di base sono rimasti gli stessi; Il successivo progresso (ARM9) ha previsto un cambio dell'architettura: pipeline a 5 stadi memoria dati e memoria programma separate (architettura Harward) S. Salvatori - Microelettronica maggio 2017 (3)

45 Organizzazione per pipeline a 3-stadi S. Salvatori - Microelettronica maggio 2017 (4)

46 Organizzazione per pipeline a 3-stadi A[31:0] control Registri: 2 uscite 1 ingresso 2 linee dedicate per il PC Barrel-shifter ALU 2 operandi per l'alu Address register + incrementer A L U b u s address register P C A b u s register bank incrementer multiply register barrel shifter PC B b u s instruction decode & control data registers Decoder istruzioni + logica di controllo ALU data out register data in register D[31:0] S. Salvatori - Microelettronica maggio 2017 (5)

47 Pipeline a 3 stadi Fetch. L istruzione è prelevata dalla memoria e posta nella linea di pipeline dell istruzione. Decode. L istruzione occupa il blocco di decodifica (ma non il datapath): l istruzione è decodificata e sono preparati i segnali di datapath per il prossimo ciclo di clock. Execute. L istruzione occupa il datapath: sono letti gli operandi (registri), si ha lo shift, è svolta l operazione ALU e il risultato è scritto nel banco dei registri. 1 fetch decode execute 2 fetch decode execute 3 instruction fetch decode execute time S. Salvatori - Microelettronica maggio 2017 (6) I processori sviluppati da ARM si dividono in categorie distinte a seconda della potenza di calcolo.

48 Pipeline a 3 stadi L'hardware è diviso in sezioni. Ciascuna sezione è impegnata in ogni ciclo di clock instruction fetch decode execute fetch decode execute fetch decode execute time In ogni periodo è impegnata una differente sezione hardware; Per istruzioni di data-processing occorrono tre colpi di clock; Con la pipeline si ha l esecuzione di una istruzione per ciclo di clock e periodo di latenza pari a 3. throughput S. Salvatori - Microelettronica maggio 2017 (7) ARM rappresenta la soluzione in applicazioni portatili data l'alta efficienza dei processori

49 Esecuzione di un'istruzione a più cicli L esecuzione è meno regolare; Nell esempio: ADD seguita da STR: 1 fetch ADD decode execute 2 fetch STR decode calc. addr. data xfer 3 fetch ADD decode execute 4 fetch ADD decode execute acc. mem decode datapath 5 fetch ADD decode execute instruction time S. Salvatori - Microelettronica maggio 2017 (8) I processori Cortex-A, destinati a sistemi che abbiano alta capacità di calcolo, si distinguono in diversi tipi a seconda dell'applicazione specifica.

50 Program counter Il program counter PC (= r15 di uso generale) deve contenere un valore che consenta di caricare le istruzioni successive Per la pipeline, in pratica, il PC punta 8 byte (2 istruzioni) oltre l istruzione corrente (fase di execute) Questo è di fondamentale importanza nel caso di salti relativi alla posizione attuale (è comunque il compilatore a calcolare l offset del salto) Per altri usi del PC, letto come r15, il programmatore deve svolgere un'attenta analisi S. Salvatori - Microelettronica maggio 2017 (9) ARM ha sviluppato la tecnologia a più basso consumo, ma con elevate capacità di calcolo, indicata per i sistemi portatili.

51 Esempi di esecuzione di istruzioni per l'arm7 S. Salvatori - Microelettronica maggio 2017 (10) La famiglia Cortex-M e Cortex-R è pensata per microcontrollori e DSP.

52 Data processing tra due registri 2 operandi provenienti da due registri Il secondo operando è passato per il barrel-shifter I due giungono alla ALU Il risultato giunge al banco di registri address register increment Rd PC registers Rn Rm mult as ins. operazione tra 2 registri. Datapath: as instruction Il PC è incrementato e l'istruzione successiva caricata in i.pipe data out data in i. pipe (a) register - register operations S. Salvatori - Microelettronica maggio 2017 (11) Il mercato di ARM si è espanso invadendo tutti i campi applicativi, dal mobile all'embedded.

53 Data processing tra un reg. e un immediato 2 operandi: contenuto di un registro e un immediato (1 byte) Il secondo operando è passato per il barrel-shifter I due giungono alla ALU Il risultato giunge al banco di registri operazione tra registro e immediato Datapath: address register increment Rd PC registers Rn mult as ins. as instruction [7:0] Il PC è incrementato e l'istruzione successiva caricata in i.pipe data out data in i. pipe (b) register - immediate operation S. Salvatori - Microelettronica maggio 2017 (12) Cominciamo a vedere nel dettaglio l'architettura dei processori ARM. Faremo riferimento al vecchio ARM7 che si presta molto a comprendere la filosofia di progetto e a uno studio didattico.

54 Store (data transfer): 1 ciclo Una istruzione di load/store calcola l indirizzo di memoria nello stesso modo con cui una istruzione di data-processing tratta gli operandi; base address register registers Rn increment mult PC lsl #0 calcolo di PC (fine 1 ciclo) offset datapath: Primo ciclo = A / A + B / A - B [11:0] data out data in i. pipe (a) 1st cycle - compute addr ess S. Salvatori - Microelettronica maggio 2017 (13)

55 Store (data transfer): 2 ciclo auto-indexing address register increment uscirà PC (fine 2 ciclo) datapath: secondo ciclo Rn PC registers Rd mult shifter = A + B / A - B Se riguarda 1 byte: Il valore è replicato 4 volte byte? data in i. pipe Nel caso di LOAD in un 3 ciclo si ha il trasferimento da data in nel registro (b) 2nd cycle - store data & auto-inde S. Salvatori - Microelettronica maggio 2017 (14)

56 Salti (branch, B) In una istruzione di salto, nel 1 ciclo si calcola l'indirizzo a cui saltare L'offset (immediato a 24 bit) subisce uno shift di 2 bit allineamento con word... sommato al contenuto di PC address register registers PC increment mult lsl #2 datapath: Primo ciclo = A + B [23:0] data out data in i. pipe (a) 1st cycle - compute branch tar get S. Salvatori - Microelettronica maggio 2017 (15)

57 Salti (branch with link, BL) Nel caso di branch with link, per ritornare all'istruzione successiva a quella di branch: PC è copiato in r14 datapath: secondo ciclo address register increment R14 registers PC mult shifter Nota: il ritorno è in realtà a un indirizzo PC-4 (PC guarda sempre due istruzioni avanti) nel 3 ciclo ( pipeline refill) viene aggiustato il valore = A data out data in i. pipe (b) 2nd cycle - save return addr ess S. Salvatori - Microelettronica maggio 2017 (16)

58 Organizzazione nel caso di pipeline a 5-stadi S. Salvatori - Microelettronica maggio 2017 (17)

59 Aumentare il numero di slot La soluzione a 3-stadi è molto efficace ed è stata adottata fino all ARM7; Per sistemi con migliori prestazioni dobbiamo ricercare soluzioni più efficienti: T progr N CPI f istr clk n medio di cicli di clock per istruzione Per diminuire il tempo complessivo di esecuzione di un programma: aumentare f CLK diminuire CPI numero maggiore di stadi per la pipeline S. Salvatori - Microelettronica maggio 2017 (18)

60 Organizzazione per pipeline a 5 stadi Aumentare f CLK semplificare la logica di ogni stadio della pipeline aumentare il numero di stadi della pipeline Diminuire CPI le istruzioni devono essere riconfigurate in modo che diminuisca il numero di slot che esse occupano nella pipeline ridurre gli stalli dovuti ad istruzioni che siano interdipendenti S. Salvatori - Microelettronica maggio 2017 (19)

61 Il collo di bottiglia Il modello di Von Neumann limita la possibilità di ridurre CPI a causa degli accessi alla memoria, sia di programma che di dei dati; Il sistema di memoria dovrebbe consentire di acquisire maggiori informazioni/ciclo (>32 bit) oppure: separare la memoria di programma da quella dei dati S. Salvatori - Microelettronica maggio 2017 (20)

62 Pipeline a 5 stadi (ARM9TDMI) instruction fetch r. read decode shift/alu data memory access reg write mem Fetch Decode Execute buffer/data Write Nei processori ARM con pipeline a 5-stadi: fetch: l istr. è prelevata e depositata nella pipeline; decode: l istr. è decodificata e gli operandi prelevati dai registri; execute: shift dell operando e risultato dell ALU. Se l istr. è un load/store, con l ALU si calcola l indirizzo di memoria; buffer/data: eventuale accesso alla memoria, altrimenti il risultato dell ALU è posto in un buffer per mantenere lo stesso flusso della pipeline per tutte le istruzioni; write back: il risultato è caricato in un registro (incluso il load da memoria). S. Salvatori - Microelettronica maggio 2017 (21)

63 ARM9TDMI Registri: 3 porte di lettura e 2 di scrittura (*) Memorie separate: I-cache: per istruzioni D-cache: per i dati Incr. per LDM e STM Data-forwarding: i risultati sono passati tra gli stadi appena sono disponibili (*) Normalmente nei RISC: 2 per lettura e 1 per scrittura. S. Salvatori - Microelettronica maggio 2017 (22)

64 Data forwarding Nella pipeline a 5 stadi il ciclo di esecuzione è praticamente spezzato in 3 slot; Se un'istruzione ha bisogno del dato prodotto dall'istruzione precedente si ha dipendenza; Lo stallo si avrebbe se il dato fosse richiesto prima che il risultato venga trasferito nel registro di destinazione Nell'ARM9TDMI sono inseriti percorsi per i dati che presentano il risultato appena disponibile: data forwarding S. Salvatori - Microelettronica maggio 2017 (23)

65 Stallo inevitabile (read-after-write) Nella seguente sequenza: LDR r3, [..] ADD r1, r2, r3 il dato in r3 è disponibile dalla prima istruzione solo nel penultimo ciclo buffer/data mentre la seconda la richiede nel ciclo di esecuzione instruction fetch r. read decode shift/alu data memory access reg write Fetch Decode Execute Memory Write Il compilatore deve evitare di porre in sequenza questo tipo di istruzioni S. Salvatori - Microelettronica maggio 2017 (24)

66 Compatibilità Per ARM con pipeline a 3 stadi il PC punta 8 byte (2 istruzioni) oltre l istruzione corrente; Con la pipeline a 5 stadi gli operandi sono letti un ciclo prima rispetto a quella a tre stadi: PC+4 anziché PC+8; Per avere compatibilità gli ARM con pipeline a 5 stadi emulano quelli a 3 stadi L'incrementer di PC bypassa il registro di pipeline tra fetch e decode PC+4 per l'istruzione attuale = PC+8 per l'istruzione successiva. S. Salvatori - Microelettronica maggio 2017 (25)

67 Alcune soluzioni nell'architettura ARM S. Salvatori - Microelettronica maggio 2017 (26)

68 Segnale di clock Datapath RTL Control FSM Sono utilizzati latch in luogo di flip-flop sensibili ai livelli e non ai fronti del clock È necessario un clock a due fasi Φ1 phase 1 Φ2 1 clock cycle phase 2 Le due fasi sono derivate da un unico segnale di clock in ingresso (PLL) dato Φ1 Φ2 S. Salvatori - Microelettronica maggio 2017 (27)

69 Ciclo datapath ALU operands latched phase 1 register read time shift time read bus valid shift out valid phase 2 precharge invalidates buses register write time ALU time ALU out I bus sono dinamici (precaricati: anche se manca il clock lo stato è mantenuto) Ciclo = lett.reg + shift + ALU + scritt.reg + sep.fasi S. Salvatori - Microelettronica maggio 2017 (28)

70 Adder nel primo prototipo ARM Ripple-carry adder (32 stadi) ARM1 : Cout OAI A B AOI sum Cin S. Salvatori - Microelettronica maggio 2017 (29)

71 Adder in ARM2 4-bit Carry look ahead (8 stadi) ARM2 Cout[3] OAI A[3:0] B[3:0] G P 4-bit adder logic sum[3:0] AOI Cin[0] S. Salvatori - Microelettronica maggio 2017 (30)

72 Funzioni della ALU per l 'ARM2 fs5 fs4 fs3 fs2 fs1 fs0 ALU output A and B A and not B A xor B A plus not B plus carry A plus B plus carry not A plus B plus carry A A or B B not B zero S. Salvatori - Microelettronica maggio 2017 (31)

73 ALU per ARM2 Logica per il risultato (1 bit) fs: NB bus carry logic G 4 NA bus P ALU bus S. Salvatori - Microelettronica maggio 2017 (32)

74 Carry-select adder per l'arm6 a,b[3:0] a,b[31:28] + +, +1 c s s+1 +, +1 mux mux mux sum[3:0] sum[7:4] sum[15:8] sum[31:16] S. Salvatori - Microelettronica maggio 2017 (33)

75 Organizzazione ALU per l'arm6 A operand latch B operand latch invert A XOR gates XOR gates invert B function logic functions adder C in C V logic/arithmetic result mux zero detect N Z result S. Salvatori - Microelettronica maggio 2017 (34)

76 Carry arbitration encoding per ARM9 A B C u v unknown unknown S. Salvatori - Microelettronica maggio 2017 (35)

77 Barrel shifter In molti processori shifter e ALU lavorano in parallelo -> Il ritardo dello shifter non è critico Poiché nell'arm i due lavorano in serie, lo shifter deve introdurre il minimo ritardo possibile -> matrice (32x32) right 3 right 2 right 1 no shift in[3] in[2] in[1] left 1 left 2 left 3 Con bus precaricato a V DD bastano NMOS in[0] Una logica separata gestisce il riempimento (shift logico o aritmetico) out[0] out[1] out[2] out[3] S. Salvatori - Microelettronica maggio 2017 (36)

78

79

80

81

82

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

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

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

Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).

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

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

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

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

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

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

ARM PROCESSORS FAMILY

ARM PROCESSORS FAMILY 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 PROCESSORI ARM 3 I processori

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

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

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0 Fondamenti Teorici Antonio Pescapè e Marcello Esposito Parte Seconda v2.0 Agenda Modello di Von Neumann Algoritmo del Processore Linguaggio Macchina e Linguaggio Assembler Hardware e Software Compilatori

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Dettagli

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

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

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

Lezione 7 Sommatori e Moltiplicatori

Lezione 7 Sommatori e Moltiplicatori Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 1/36 Sommario!

Dettagli

Introduzione. Un calcolatore digitale è costituito da un sistema interconnesso dei seguenti dispositivi:

Introduzione. Un calcolatore digitale è costituito da un sistema interconnesso dei seguenti dispositivi: Appunti di Calcolatori Elettronici Organizzazione dei sistemi di elaborazione Introduzione... 1 La CPU... 2 Ciclo di esecuzione delle istruzioni... 3 Insieme delle istruzioni... 4 Organizzazione della

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

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

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

06 Livello di micro architettura

06 Livello di micro architettura Livello di micro architettura Pagina 2 Introduzione il livello di micro architettura implementa le funzioni del livello sovrastante (ISA) come livello ISA di riferimento si sceglie una parte della JVM

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 Cache. La memoria cache

Memoria Cache. La memoria cache Testo di rif.to: [Congiu] 6.1 (pg. 193 199) Memoria Cache 06.a Memoria associativa Cache completamente associativa Cache a mappatura diretta Cache set-associativa a n-vien Cache nell Xscale PXA-255 La

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

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

Calcolatori Elettronici Calcolatori Elettronici La memoria gerarchica La cache: come migliorare le prestazioni Ricapitolando (1) La memoria principale e la cache sono scomposte in blocchi di uguale dimensione L indirizzo del

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 di un Elaboratore

Architettura di un Elaboratore Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione

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

' 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

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

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

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

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

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

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

Sito personale e forum

Sito personale e forum www.delucagiovanni.com Corsi, Forum, Docs Robotics and A.I. Progetto di una CPU SAP1 Simple as Computer step-by by-step Giovanni De Luca Sito personale e forum .iniziamo con le installazioni Installazione

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

MEMORIA GERARCHIE DI MEMORIA

MEMORIA GERARCHIE DI MEMORIA MEMORIA GERARCHIE DI MEMORIA La memoria è divisa in più livelli che sono dal più vicino al più distante al CPU, per tempi di accesso: memoria cache, SRAM, capienza (MB), più veloce (decimi di ns), costosa

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

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

Caratteristiche di un PC

Caratteristiche di un PC Caratteristiche di un PC 1 Principali porte presenti sui personal computer PC Una porta è il tramite con la quale i dispositivi (periferiche o Device ) vengono collegati e interagiscono con il personal

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

Unità Periferiche. Rete Di Controllo

Unità Periferiche. Rete Di Controllo MODELLO LOGICO-FUNZIONALE DI UN ELABORATORE Centrale di canale Periferiche CPU Memoria centrale ALU CU Memoria Locale ALU = Aritmetic Logic Unit CU = Registri CU ISTRUZIONE Decodificatore Rete Di Controllo

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

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

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria

SOMMARIO. La CPU I dispositivi iti i di memorizzazione Le periferiche di Input/Output. a Montagn Maria Parte 4: HARDWARE SOMMARIO La CPU I dispositivi iti i di memorizzazione i Le periferiche di Input/Output na a Montagn Maria LA CPU CPU: Central Processing Unit. L unità centrale di processo si occupa dell

Dettagli

Ora Consegna: N. Matricola: Corso Laurea/Diploma: Cognome: ESD I? II? Esercizi compilati ESD I: 1? 2?3?4? 5? 6?7?8? 9 10

Ora Consegna: N. Matricola: Corso Laurea/Diploma: Cognome: ESD I? II? Esercizi compilati ESD I: 1? 2?3?4? 5? 6?7?8? 9 10 Data: Ora Consegna: N. Matricola: Corso Laurea/Diploma: Nome : Anno di Corso: Cognome: ESD I? II? Esercizi compilati ESD I: 1? 2?3?4? 5? 6?7?8? 9 10 Esercizi compilati ESD II: 1? 2?3?4? 5? 6?7?8? 9? 10

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

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

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

Calcolatori Elettronici B a.a. 2008/2009

Calcolatori Elettronici B a.a. 2008/2009 Calcolatori Elettronici B a.a. 2008/2009 Tecniche Pipeline: Gestione delle criticità Massimiliano Giacomin 1 Pipeline: i problemi Idealmente, il throughput è di una istruzione per ciclo di clock! Purtroppo,

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

Lezione n.9. Introduzione al linguaggio macchina

Lezione n.9. Introduzione al linguaggio macchina Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo

Dettagli

Aumentare il parallelismo a livello di istruzione (1)

Aumentare il parallelismo a livello di istruzione (1) Aumentare il parallelismo a livello di istruzione (1) Architetture Avanzate dei Calcolatori Valeria Cardellini Parallelismo Il parallelismo consente di migliorare le prestazioni grazie all esecuzione simultanea

Dettagli

Linguaggio macchina e linguaggio assembler

Linguaggio macchina e linguaggio assembler FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Linguaggio macchina e linguaggio assembler 2000 Pier Luca Montessoro (si veda la nota di copyright

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

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

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 calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

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

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

Aritmetica dei Calcolatori 2

Aritmetica dei Calcolatori 2 Laboratorio di Architettura 13 aprile 2012 1 Operazioni bit a bit 2 Rappresentazione binaria con segno 3 Esercitazione Operazioni logiche bit a bit AND OR XOR NOT IN OUT A B A AND B 0 0 0 0 1 0 1 0 0 1

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

Sistemi superscalari. Contenuto della lezione. Unità multifunzionali parallele Architetture superscalari Esecuzione fuori ordine

Sistemi superscalari. Contenuto della lezione. Unità multifunzionali parallele Architetture superscalari Esecuzione fuori ordine Sistemi superscalari Contenuto della lezione Unità multifunzionali parallele Architetture superscalari Esecuzione fuori ordine Calcolatori (G.B.) Superscalari 1 Architettura superscalare Lo stadio viene

Dettagli

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI

Dettagli

Sequential Logic. 2 storage mechanisms positive feedback charge-based. Inputs. Outputs COMBINATIONAL LOGIC. Current State. Next state.

Sequential Logic. 2 storage mechanisms positive feedback charge-based. Inputs. Outputs COMBINATIONAL LOGIC. Current State. Next state. Sequential Logic Inputs Current State COMBINATIONAL LOGIC Registers Outputs Next state CLK 2 storage mechanisms positive feedback charge-based ES-TLC 5/6 - F. ella Corte V o i i 2 2 5 5 V V o o V V 5 V

Dettagli

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana:

Programma ARCHITETTURA DI UN ELABORATORE MACCHINA DI VON NEUMANN CPU & MEMORIA UNITÀ DI ELABORAZIONE (CPU) Questa settimana: Progma La settimana scorsa: cos è l informatica? cos è un algoritmo? cos è un progma? come si descrive un algoritmo? di cosa si compone un? che cos è il software? a cosa serve? Questa settimana: qual è

Dettagli

Corso di Sistemi di Elaborazione A.A. 2008/2009

Corso di Sistemi di Elaborazione A.A. 2008/2009 Università di Ferrara Facoltà di Ingegneria Docente: Ing. Massimiliano Ruggeri Mail: m.ruggeri@imamoter.cnr.it mruggeri@ing.unife.it Tel. 0532/735631 Corso di Sistemi di Elaborazione A.A. 2008/2009 Durata:

Dettagli

Interpreti e compilatori La macchina di Von Neumann

Interpreti e compilatori La macchina di Von Neumann Interpreti e compilatori La macchina di Von Neumann Informatica@Matematica Simone Martini a.a. 2014-2015 1 / 38 Parte I Interpreti e compilatori 2 / 38 Macchine astratte Una macchina astratta è un esecutore

Dettagli

Le infrastrutture Hardware: architettura

Le infrastrutture Hardware: architettura Le infrastrutture Hardware: architettura Corso di Informatica CdL: Chimica Claudia d'amato claudia.damato@di.uniba.it Il calcolatore: modello concettuale 1. Elaborazione 2. Memorizzazione Interconnessione

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

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

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

DIGITAL SIGNAL PROCESSORS

DIGITAL SIGNAL PROCESSORS DIGITAL SIGNAL PROCESSORS Operazioni fondamentali di un processore digitale programmabile: somma - prodotto - ritardo Famiglie di processori digitali programmabili : Microcontrollori controllo elettrodomestici

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: 1. motivi didattici: l architettura dei processori

Dettagli

Schedulazione dinamica. Elettronica dei Calcolatori 1

Schedulazione dinamica. Elettronica dei Calcolatori 1 Schedulazione dinamica Elettronica dei Calcolatori 1 Schedulazione dinamica delle operazioni Impossibile risolvere tutti i conflitti staticamente I possibile predire tutti i salti condizionati HW fa durante

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

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

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

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

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