Microelettronica Corso introduttivo di progettazione di sistemi embedded
|
|
- Albano Dolce
- 5 anni fa
- Visualizzazioni
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 Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione
DettagliArchitettura di tipo registro-registro (load/store)
Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche
DettagliCPU. 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
DettagliStruttura 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
DettagliIspirata 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
DettagliArchitettura del calcolatore
Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale
DettagliL architettura di riferimento
Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27
DettagliCorso 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
DettagliLa 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
DettagliArchitettura di un calcolatore: introduzione
Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie
DettagliARM 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
DettagliL 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
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU
Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi
DettagliFondamenti 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
DettagliEsercitazione 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é
DettagliUniversità 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
DettagliCALCOLATORI 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
DettagliMacchina 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
DettagliCalcolo numerico e programmazione Architettura dei calcolatori
Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:
DettagliCalcolatori Elettronici
Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di von Neumann rchitettura dei calcolatori: definizioni Evoluzione dell architettura rchitettura della
DettagliIn 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
DettagliUn circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati e collegati
Il Livello LogicoDigitale i Blocchi funzionali combinatori Circuiti integrati Un circuito integrato è una piastrina di silicio (o chip), quadrata o rettangolare, sulla cui superficie vengono realizzati
DettagliMicroelettronica. 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
DettagliLezione 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
DettagliArchitettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro
Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control
DettagliCALCOLATORI 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
DettagliINFORMATICA 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
DettagliL organizzazione interna della memoria e del banco di registri prevedono generalmente che le uscite di 2 o più componenti
Banco di registri e memoria Corso ACSO prof. Cristina SILVANO Politecnico di Milano Componenti di memoria e circuiti di pilotaggio L organizzazione interna della memoria e del banco di registri prevedono
DettagliCalcolatori 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
DettagliIl 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
DettagliARCHITETTURA 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)...
DettagliLezione 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!
DettagliIntroduzione. 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
DettagliArchitettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliFondamenti 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
DettagliCALCOLATORI 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)
Dettagli06 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
DettagliCalcolatori 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:
DettagliMemoria 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
DettagliProgrammazione 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
DettagliMODELLO DLX IN UNISIM
Architettura e descrizione del modello MODELLO DLX IN UNISIM RINGRAZIAMENTI : I materiali per questa presentazione sono tratti dal tutorial ufficiale di UNISIM - https://unisim.org/site/tutorials/start
DettagliCalcolatori 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
DettagliCorso 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
DettagliArchitettura 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
DettagliHazard 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' Calcolatori Prodotto di una tecnologia estremamente vitale con alto impatto economico e sociale Tecnologia
DettagliUNITÀ 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
DettagliArchitettura 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
DettagliC. P. U. MEMORIA CENTRALE
C. P. U. INGRESSO MEMORIA CENTRALE USCITA UNITA DI MEMORIA DI MASSA La macchina di Von Neumann Negli anni 40 lo scienziato ungherese Von Neumann realizzò il primo calcolatore digitale con programma memorizzato
DettagliCOMPITINO #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
DettagliCALCOLATORI 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
DettagliParte 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
Dettagliche 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
DettagliSito 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
DettagliIntroduzione 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
DettagliMEMORIA 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
DettagliLezione 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
DettagliARCHITETTURA 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
DettagliCaratteristiche 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
DettagliArchitettura 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
DettagliUnità 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
DettagliIntroduzione. 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
DettagliL unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti
Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune
DettagliSOMMARIO. 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
DettagliOra 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
DettagliLa 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.
DettagliLinguaggio 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
DettagliLa 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.
DettagliCalcolatori 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,
DettagliArchitettura 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/
DettagliLezione n.9. Introduzione al linguaggio macchina
Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo
DettagliAumentare 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
DettagliLinguaggio 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
DettagliIntroduzione. 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.:
DettagliLa 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
Dettagli8 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
DettagliIl 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
DettagliElementi 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:
DettagliCALCOLATORI 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
DettagliAritmetica 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
DettagliARCHITETTURA 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
DettagliSistemi 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
DettagliPROGRAMMA 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
DettagliSequential 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
DettagliProgramma 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 è
DettagliCorso 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:
DettagliInterpreti 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
DettagliLe 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
DettagliTutorato 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
DettagliCALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata
Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura
DettagliTutta 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
DettagliIl 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
DettagliDIGITAL SIGNAL PROCESSORS
DIGITAL SIGNAL PROCESSORS Operazioni fondamentali di un processore digitale programmabile: somma - prodotto - ritardo Famiglie di processori digitali programmabili : Microcontrollori controllo elettrodomestici
DettagliARCHITETTURA 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
DettagliSchedulazione 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
DettagliElaborazione 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
DettagliUniversità 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
DettagliARCHITETTURA 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
DettagliCalcolatori Elettronici
Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con
DettagliZ80: 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