Un introduzione ai processori Texas C6000

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Un introduzione ai processori Texas C6000"

Transcript

1 Un introduzione ai processori Texas C6000 Massimo Piccardi Department of Computer Systems, Faculty of Information Technology, University of Technology, Sydney (UTS) 24 luglio 2002 IMAMOTER-C.N.R, Ferrara, Italy 1

2 Texas C6000 processors C62x: aritmetica intera, clock MHz C67x: floating point, clock MHz C64x: aritmetica intera, clock MHz Sono attualmente i più veloci DSP presenti in commercio: con 8 istruzioni da 32 bit per ciclo di istruzione raggiungono i 4800 MIPS di picco Esistono decine di versioni diverse, con diverse frequenze di clock, diverse quantità e configurazioni di memoria on-chip, diverse interfacce (tra cui la PCI). 2

3 Esempi C bit bus indirizzi -> 8 MB add space (256 MB se si usa RAM dinamica) 64 bit bus dati 8 Alu a 16 e 32 bit 532 piedini, 23 x 23 mm Frequenza di clock= 600 MHz, 4800 MIPS C bit bus indirizzi -> 4 MB add space (128 MB se si usa RAM dinamica) 32 bit bus dati 8 Alu a 16 e 32 bit 256 piedini, 27 x 27 mm Frequenza di clock= 150 MHz, 1200 MIPS Integra: 3 timer/counter, interrupt controller, ASRAM/SDRAM/SBSRAM controller, porte seriali sincrone, DMA controller 3

4 A quick overview Architettura VelociTI Advance Very Long Instruction Word (VLIW). 8 unità logiche funzionali indipendenti: 4 ALU (in virgola fissa e mobile) 2 ALU (in virgola fissa) 2 moltiplicatori (in virgola fissa e mobile) -Architettura Load Store con 32 registri generali a 32 bit -La compattazione delle istruzioni permette di ridurre la dimensione del codice rispetto a VLIW tradizionali 4

5 Nel caso del C6201/6701: 1M bit di SRAM on chip -512Kb cache interna per il codice (16 K x 32 bit per istruzione) Kb dual access di memoria interna per i dati (64KB). Interfaccia con memoria esterna a 32 bit -Interfaccia senza controllori esterni per le memorie sincrone SBRAM e DRAM. -Interfaccia senza controllori esterni per le memorie asincrone SRAM ed EPROM. DMA controller boot loading a 4 canali più uno ausiliare. 5

6 Due porte seriali multicanale bufferizzate: -Interfaccia diretta a T1/E1, MVIP, SCASA framers. -Compatibile ST Bus Switching. -Più di 256 canali ognuna. -Compatibile AC 97. Interfaccia seriale periferica (SPI). Compatibile Motorola. Due timers general purpose a 32 bit. Un generatore di clock Phase Locked Loop (PLL) flessibile. IEEE (JTAG) Boundary scan compatibile. 352 Pin Ball Grid Array (BGA) Package (GJC suffix). Tecnologia CMOS, 0.18 mm/5 Level Metal Process, 3..3 V I/Os, 1.8 V interno. 6

7 DESCRIZIONE GENERALE DEL DSP Il processore C6000 possiede 32 registri a 32 bit general purpose e 8 unità logiche: -4 ALU che possono lavorare sia in floating point che in fixed point. -2 ALU fixed point. -2 moltiplicatori che possono lavorare sia in floating point che in fixed point. Dispone di un grosso banco di memoria SRAM sul chip e di un vasto set di periferiche. La memoria on-chip è suddivisa in due banchi: Memoria di programma Memoria dati Nel caso del C6201/6701, la memoria on-chip consiste di blocchi di 64KB configurabili dall utente come cache oppure come spazio mappato in memoria 7

8 DIAGRAMMA FUNZIONALE DEL DSP Timers Interrupt Selector McBSPs HPI Control DMA Control EMIF Control Peripheral Bus Controller Data Memory Data Memory Controller HostPort Interface DMA Controller CPU PLL Power Down Boot Config EMIF Program Memory Control Program Cache 8

9 Pacchetti di fetch e di esecuzione Il fetch delle istruzioni della CPU prevede la generazione di fino a otto istruzioni a 32 bit, dirette alle otto unità funzionali. In questo modo il fetch avviene su parole di 256 bit in un formato chiamato VLIW (Very Long Instruction Word). Il pacchetto di fetch ha taglia fissa, mentre il pacchetto di esecuzione può variare in dimensione. Il bit meno significativo di ogni istruzione viene utilizzato per indicare se la prossima istruzione appartiene o meno al pacchetto di esecuzione corrente, o se deve essere eseguita nel ciclo di clock successivo insieme al prossimo pacchetto. Se il pacchetto di esecuzione supera il confine di fetch, il pacchetto di fetch successivo è riempito con NOP. 9

10 Architettura della CPU Le unità funzionali della CPU sono suddivise in due insiemi. Ognuno contiene quattro unità ed un register file. Un insieme contiene le unità.l1,.s1,.m1 e.d1; l altro contiene le unità.d2,.m2,.s2,.l2. I due register file contengono sedici registri a 32 bit per un totale di 32 registri general purpose. Le quattro unità funzionali delle due parti della CPU, possono essere liberamente suddivise tra i sedici registri dello stesso insieme; in più, ogni insieme di unità, possiede un data bus che lo connette ai registri dell altro insieme dai quali può leggere un operando. 10

11 REGISTRI GENERALI I registri generali sono 32 a 32 bit, ma possono anche supportare dati di 40 bit. Per fare questo, i registri occupano i 32 bit del registro più basso delle coppie indicate nella tabella, e gli otto più bassi del registro più alto. 11

12 REGISTRI DI CONTROLLO AMR (addressing mode register) Per ogni registro che può effettuare un indirizzamento, ne specifica la modalità. BK0,BK1 = definiscono la dimensione dei blocchi BK0 e BK1 nell'indirizzamento circolare. Block Size (in byte) = 2 (N+1) con N = codifica decimale del campo BK 12

13 CSR (Control Status Register) CPU ID = Definisce il tipo di C6000 (se C62 o C67) Revision ID = Definisce la revisione (ad esempio, se 6201o 6701 o 6211o 6711) PWRD = modalità di funzionamento in energy saving (modalità di power down) SAT = è scritto da una unità che ha eseguito una operazione in saturazione EN = Modalità little endian o big endian PCC = definisce la modalità di gestione della memoria interna di programma (cache o mapped) DCC = definisce la modalità di gestione della memoria interna dati (cache o mapped) PGIE = Salva GIE in caso di innestamento delle interruzioni GIE = Global Interrupt Enable 13

14 PCE1 (E1 program counter) Contiene l indirizzo a 32 bit del pacchetto di istruzioni nella fase E1 della pipeline (primo stage della fase di execute) A tutti i registri ora elencati ne esistono altri per la configurazione delle unità in virgola mobile e alcuni per la gestione delle interruzioni: IFR = Interrupt flag register; mostra lo stato delle interruzioni. ISR = Interrupt set register; setta come pendenti le corrispondenti interruzioni. ICR = Interrupt clear register; cancella delle interruzioni settate come pendenti. IER = Interrupt enable register; registro di abilitazione delle interruzioni. IRP = Interrupt return pointer; contiene l indirizzo di ritorno da una interruzione. NRP = Nonmaskable return pointer; come sopra ma per le interruzioni non mascherabili. ISTP = Iterrupt service table pointer; contiene l indirizzo della tabella delle interruzioni. 14

15 UNITA FUNZIONALI In ogni data path sono presenti 4 unità funzionali che possono eseguire fino a 4 istruzioni in parallelo (per un totale di otto istruzioni parallele); ogni unità funzionale può compiere operazioni sia in virgola fissa che mobile (le unità L, S, M in senso stretto). 15

16 16

17 Schema funzionale della CPU 17

18 Come si vede dallo schema, per ogni unità funzionale si hanno: SRC1: ingresso del primo operando SRC2:ingresso del secondo operando Per alcune unità: long src: per l ingresso aggiuntivo di 8 bit per le unità che supportano dati a 40 bit. Gli ingressi ai register file sono 2 a 32 bit (LDx 32 bit MSB e LDx 32 bit LSB) per ogni register file per permettere il loading di dati a 64 bit. C è una sola uscita (STx) per register file perché non sono permesse le operazioni di store di informazioni a 64 bit ma solamente di 32 bit. 1X e 2X: costituiscono il cross path che permette, laddove è possibile, un accesso delle unità funzionali di un data path ai registri dell altro data path. 18

19 INDIRIZZAMENTO La CPU è una architettura load/store e come tale ammette istruzioni ad operandi sui registri. Le uniche operazioni di accesso alla memoria, sono LD e ST (con tutte le relative varianti per byte, half word,word e double word (solo per la LD)). Le modalità di indirizzamento sono poche e semplici: mediante registro: l indirizzo è contenuto dentro ad un registro di quelli specificati precedentemente Mediante registro + offset: l indirizzo è ottenuto mediante la somma del registro base + registro offset (la componente offset è shiftata a sinistra di 0, 1, 2 bit a seconda che l accesso sia a byte, half word, word rispettivamente) Mediante registro + cost: l indirizzo è ottenuto mediante la somma del registro base + una costante (shift come sopra) Mediante registro + costanti di 15 bit: solo mediante l utilizzo dei registri B14/B15 (shift come sopra). 19

20 Generazione indiretta dell indirizzo Le modalità con autoincremento (pre e post) di R permettono di modificarne opportunamente il valore (di 1 se offset R non è specificata) Esiste anche una modalità di indirizzamento circolare mediante il settaggio dell opportuno bit nel registro AMR.Questa forma di indirizzamento prevede che raggiunta la fine del blocco la cui dimensione è specificata in BK0/BK1, si riprenda ad indirizzare i dati dall inizio del blocco stesso. 20

21 PIPELINE La pipeline del sistema è molto complessa ed è così suddivisa. Fetch La fase di fetch è suddivisa in: PG: generazione dell indirizzo del pacchetto di cui fare il fetch PS: Spedizione dell indirizzo PW: Stato di wait per la risposta della memoria PR: Ricezione del pacchetto di fetch Decode La fase di decode è suddivisa in: DP: fase in cui, dai 256 bit di cui si era fatto il pacchetto di fetch, si ricavano i pacchetti esecutivi con le istruzioni in parallelo DC: od ogni istruzione vengono associate le sorgenti e le destinazioni (registri o indirizzi di memoria). 21

22 Execute La fase di execute è costituita da 10 fasi le cui funzionalità sono riassunte nella tabella seguente. 22

23 Schema funzionale della pipeline della CPU 23

24 INTERRUZIONI Sono di tre tipi: reset non mascherabili mascherabili. L interruzione di reset è sempre quella che ha priorità massima, seguono quelle non mascherabili e poi tutte quelle mascherabili; queste ultime hanno priorità decrescente a partire da INT 4 fino a INT15 che è la meno prioritaria. Dopo un RESET la routine di servizio viene sempre ricercata all indirizzo 000h e, poiché questa è la prima della tabella delle interruzioni, tutta la tabella sarà allocata a partire dall indirizzo 000h. In fase di regime (cioè da dopo la fase di boot), la tabella può anche essere riallocata in un altra area di memoria. 24

25 Ogni routine di servizio è costituita da otto istruzioni a 32 bit quindi l inizio di ognuna è a un indirizzo multiplo di 32 byte. Se una routine è più lunga di 256 bit, viene eseguita una istruzione di salto ad un altra area di memoria che contiene il rimanente codice. Ogni routine di servizio deve terminare con l istruzione di salto a IRP (interrupt return pointer) oppure a NIRP (nonmaskable return pointer). 25

26 IL DSP presenta alcuni segnali per la gestione delle interruzioni: Il piedino di reset necessita di una logica esterna per mantenere basso il segnale per almeno 9 cicli di CPU Sono disponibili le interruzioni esterne 4, 5, 6 e 7. Le altre interruzioni sono utilizzate dall hardware interno o sono accessibili via software; quando una di queste è in fase di esecuzione, viene comunicato il suo numero attraverso i pin INUMx 26

27 Gestione della memoria interna A bordo del C6701 sono presenti due banchi di memoria da 64KB, uno per il codice e l altro per i dati. Program Memory Può essere acceduta dalla CPU, dall EMIF (external memory interface) o dal DMA. Tutti questi dispositivi vi accedono mediante arbitraggio eseguito dal program memory controller. 27

28 Il program memory controller è il dispositivo che, sulla base del valore del bit PRI (priority) del DMA, decide se dare la priorità ad un accesso richiesto dal DMA o dalla CPU. La memoria di programma può essere configurata in 4 modi differenti. Mapped: La memoria può essere allocata nei seguenti due spazi di memoria h 0000 FFFFh per map h 0140 FFFFh per map1 Dove map0 e map1 sono due modalità selezionabili sulla base del tipo di bootstrap scelto per il dispositivo. Cache enabled: La memoria viene vista come una cache: la prima richiesta di un pacchetto di fetch, provoca un accesso in memoria ed il pacchetto viene caricato attraverso l EMIF nella cache. Poiché la cache è di 64 KB, può contenere 2K fetch packet (256 bit), di cui viene tenuta traccia mediante una tag ram di 2K. 28

29 Indirizzo e campi per l accesso alla cache: La cache di codice del C6701 è direct-mapped con 2K set di 32 byte ciascuno. Byte Offset (bit 0-4) è sempre a zero perché l accesso alla linea è sempre allineato; Index (o Block Offset, bit 5-15) è di 11 bit per indirizzare i 2K set; Tag (bit 16-25) è di 10 bit, per un totale di 26 bit -> 64 MB di spazio cacheable. Cache freeze: La cache viene letta come nel caso precedente solamente che, una volta riempita, in caso di cache miss, il dato non può più essere memorizzato nella cache ma viene lasciato nella memoria esterna. Questa modalità serve per garantirsi la non sovrascrittura di sezioni di codice critiche. Cache bypass: Ogni fetch packet, viene caricato dalla memoria esterna. 29

30 Data Memory La data memory è costituita da 64 KB. I 64 KB sono suddivisi in due blocchi da 32 KB; sono così suddivisi per poter permettere un perfetto parallelismo di accesso ai due data path. Gli indirizzi di allocazione sono: h FFFh h 8000 FFFFh L accesso della CPU e del DMA alla data memory è arbitrato dal Data memory controller. Ogni blocco è organizzato in 8 banchi da 2K x 16 bit; sono così anche possibili, accessi multipli (massimo 128 bit, corrispondente al massimo parallelismo della load), prestando però attenzione all indirizzo dei bit meno significativi (bisogna cioè prestare attenzione all allineamento del dato che si vuole memorizzare). 30

31 I dati, quando vengono memorizzati, devono seguire strette regole di allineamento: Bytes: Non hanno regole di allineamento. Half Words: Deve essere memorizzato a partire da un indirizzo il cui bit meno significativo è 0. In questo modo si garantisce che tutto il dato risieda nello stesso banco (e ad indirizzi adiacenti ovviamente). Words: Deve essere memorizzata a partire da un indirizzo i cui due bit meno significativi sono 0. In questo modo si garantisce che il dato risieda in due banchi successivi e che i 16 bit meno significativi risiedano nel banco più basso. Double Words: Deve essere memorizzata a partire da un indirizzo le cui tre cifre meno significative siano 0. In questo modo si garantisce che il dato sia memorizzato in banchi adiacenti con i primi 16 bit nel banco più basso, i secondi 16 bit in quello superiore e via così dicendo. 31

32 I conflitti di accesso ad uno stesso banco, vengono risolti mediante l attribuzione di priorità alle periferiche da parte del Data memory controller (es. se la competizione è tra CPU e DMA, il data memory controller decide in base al valore del PRI del DMA). I banchi sono gestiti con la seguente organizzazione interleaved : 32

33 EMIF (External Memory Interface) L External Memory Interface permette di interfacciare il C67 a vari tipi di memoria esterna tra cui SRAM burst sincrone (SBSRAM), DRAM sincrone (SDRAM) e comuni RAM statiche e ROM asincrone. L accesso al bus esterno può essere richiesto da: il controller della program memory che serve i CPU program fetch il controller della data memory che serve i CPU data fetch il DMA controller un controllore esterno di memoria condivisa L EFIM arbitra e mette in coda opportunamente le richieste. 33

34 EMIF (External Memory Interface) Registri Tutti i registri dell EMIF sono mappati in memoria. Global Control Register Serve a configurare i parametri comuni a tutti i CE, cioè, a tutti i banchi di memoria esterna; è composto dai seguenti campi: ARDY: Asinchronous Ready, segnale di ready per le memorie asincrone. /HOLD: Richiesta del bus da parte di uno dei concorrenti (DMA, CPU, dispositivi esterni, ). /HOLDA: Riconoscimento di /HOLD; viene attivato solo dopo che tutti i segnali sono stati messi in tri-state. NOHOLD: Disabilitazione del segnale di /HOLD esterno. 34

35 SDCEN: abilitazione della sincronizzazione per le SDRAM sul clock dell EMIF CLKOUT SSRAM: abilitazione della sincronizzazione per le SBSRAM sul clock dell EMIF SSCLK CLK1EN: Abilitazione del CLKOUT1 CLK2EN: Abilitazione del CLKOUT2 SSCRT: Velocità del clock SSCLK per le SBSRAM (può essere 1/2x CPU clock rate, oppure 1x CPU clock rate) RBTR8: 0 = Il richiedente controlla l EMIF fino all arrivo di una richiesta più prioritaria 1 = Il richiedente detiene l EMIF per almeno 8 accessi a word MAP: 0 = la memoria interna è mappata dall indirizzo 0 1 = la memoria esterna è mappata dall indirizzo 0 35

36 External Memory Interface 36

37 CE Space control register Ci sono 4 registri di questo tipo, uno relativo ad ogni CE. Contrariamente a quanto succede nell 8086 dove solamente lo stadio T 3 può essere allungato con degli stati di wait (con il campionamento del segnale RDY che avviene sul fronte di salita di T 3 ) nell EMIF possiamo programmare la lunghezza della fasi di setup, strobe ed hold (vedi temporizzazioni) oltre ad aggiungere degli stati di wait mediante il segnale asincrono ASYN nel ciclo di strobe di una lettura fatta su ASRAM. Campi significativi: Read Hold/Write Hold (bit 0-1): Imposta il numero di cicli di clock (in termini di CLOCKOUT1) nella fase di hold (read o write). Read Strobe (bit 8-13)/Write Strobe (bit 22-27): impostano il numero di cicli di clock (in termini di CLOCKOUT1) nella fase di strobe (read o write). 37

38 Read Setup (bit 16-19)/Write Setup (bit 28-31): impostano il numero di cicli di clock (in termini di CLOCKOUT1) nella fase di setup (read o write). MTYPE: 000b = 8 bit ROM (solamente per CE1) 001b = 16 bit ROM (solamente per CE1) 010b = 32 bit asynchronous interface 011b = 32 bit SDRAM (solamente CE0, CE2 e CE3) 100b = 32 bit SBSRAM. 38

39 Interfaccia con le memorie asincrone La flessibilità di programmazione dei vari cicli di memoria (setup, strobe ed hold), permette di interfacciare il DSP con molte periferiche asincrone come EPROM e SRAM ma anche Flash, FPGA e ASIC. ROM Mode Connessione tipica di una ROM a 32 bit: 39

40 Connessione tipica di una ROM a 16 bit Connessione tipica di una ROM a 8 bit 40

41 ROM a 32 bit consentono fetch di codice più veloce, mentre ROM a 16 e 8 bit conesntono costi minori; sono comunque funzionalmente equivalenti. Le operazioni di lettura sono sempre a 32 bit indipendentemente dalla taglia della ROM. Se questa non è a 32 bit, ma a 16 o 8 bit, vengono eseguiti accessi a 2 half word o 4 byte rispettivamente e, i byte così letti, vengono impacchettati in un unica word e trasmessa all unità richiedente. Con una ROM a 32 bit, i bit A0-A1 non servono -> gli EAi partono da i = 2! Se però la ROM è a 16 o 8 bit, l indirizzo logico è shiftato rispetto ai piedini di uno o due bit rispettivamente (EA22-2 non corrispondono più ad A22-2, ma ad A21-1 e A20-0). 41

42 Interpretazione logica delle linee 8 bit ROM mode: avendo shiftato l indirizzo, l accesso ha granularità al byte. La word deve però essere allineata ai 4 byte (indirizzo del primo byte: 4N). Il fetch del byte avviene con il seguente ordine: 4N, 4N+1, 4N+2, 4N+3. L impacchettamento nella word avviene assegnando a MSByte 4N+3 fino ad LSByte 4N (modalità little endian). 42

43 16 bit ROM mode: avendo shiftato l indirizzo si è creato un accesso alla half word. La word è allineata ai 4 byte (indirizzo del primo byte: 4N). Il fetch delle half word avviene con il seguente ordine: 4N, 4N+2. L impacchettamento nella word avviene assegnando a MS half word 4N+2 e LS half word 4N (modalità little endian). ASRAM Mode Connessione tipica di SRAM (asincrona) x 32 bit 43

44 Come già detto in precedenza, i tempi di setup, strobe ed hold, sono programmabili mediante i registri EMIF CE space control registers tenendo conto che: SETUP >= 1 (0 viene considerato 1) STROBE >= 1 (0 viene considerato 1) HOLD >= 0 Temporizzazione di una lettura asincrona: 44

45 Temporizzazione di una scrittura asincrona: 45

46 Ciclo di ready 46

47 Interfaccia con le SRAM sincrone a burst (SBSRAM) Le SBSRAM sono memorie sincrone con un ingresso di clock, in grado di ottimizzare trasferimenti a burst (gruppi di 4 word); il C6701 permette tempi di clock pari o metà di quelli della CPU (setting di SSCRT); tempi di accesso tipici delle SBSRAM sono < 5 ns L interfaccia permette, una volta eseguito il primo accesso che è un po più lungo dei successivi perché subisce una penalizzazione di start up di due cicli di clock, di trasmettere una word ad ogni ciclo di clock. I segnali ADSC#, OE#, WE# sono campionati sul fronte di salita del clock. 47

48 Le memorie SBSRAM sono dotate di un piedino ADV# (Advance Counter) che consente di accedere a 4 word a indirizzi consecutivi inviando alla memoria soltanto il primo degli indirizzi; a ogni impulso di clock l indirizzo si autoincrementa (solo il C6711 usa questa caratteristica). Solo se la prima word è allineata agli indirizzi EA3-4 = 00 il ciclo burst conterrà 4 word valide; altrimenti, vale lo schema in figura (word valide in bianco). Per evitare di leggere le word non valide, bisogna interrompere il ciclo burst corrente richiedendone un altro (con ADS#) 48

49 SBSRAM Interface SBSRAM Four Word Read 49

50 SBSRAM Write 50

51 Interfacciamento tra C6000 e memorie SRAM: principi di progetto Il C6000 si interfaccia con la memoria tramite un unità (EMIF, External Memory Interface) con 32 bit di dati ED[31:0] Alcuni dispositivi della famiglia C6000 supportano solo il bus dati a 32 bit, per cui se si usano memorie a 8 bit, occorre comporle a gruppi di 4; se si usano memorie a 16 bit, a coppie, etc Altri dispositivi della famiglia C6000 (il C6211 e il C6711), pensati per la realizzazione di sistemi più economici, supportano il bus dati ridotto a 16 e a 8 bit: in questo caso, anche un solo chip è sufficiente In tutti i casi, il processore può essere configurato per lavorare in Big Endian o in Little Endian Tutto quello che è detto per l interfacciamento con le SRAM, vale in realtà per tutti i dispositivi asincroni, quindi in particolare EPROM, FLASH e periferici programmabili Interfaccia tra C6000 e SRAM 51

52 Esempio: bus a 32 bit con chip di RAM a 16 bit 1 0 Le RAM a 16 bit sono simili alle RAM a 8 bit, con in più due pin /UB, /LB che permettono di selezionare il byte superiore (upper) o il byte inferiore (lower) Dai pin di indirizzo del processore EA[N+2:2], escono i segnali di indirizzo A[N+2:2]; i rimanenti segnali A[1:0] sono generati in forma di /BEi 52

53 Mappatura della memoria Corrispondenza tra indirizzi, /BEi, chip di memoria e /UB, /LB con chip di RAM a 16 bit: Indirizzo: Chip 1, /UB Chip 1, /LB Chip 0, /UB Chip 0, /LB /BE3 /BE2 /BE1 /BE0 53

54 Esempio: bus ridotto a 8 bit con un unica RAM a 8 bit Il bus si riduce a 8 bit, come quello di un 8088: basta quindi un chip di memoria Dai pin di indirizzo del processore EA[N+2:2], escono i segnali di indirizzo A[N:0] Se il processore è in Big Endian, i dati viaggiano solo sul bus ED[31:24] e si attiva il Byte Enable /BE3 Se il processore è in Little Endian, i dati viaggiano solo sul bus ED[7:0] e si attiva il Byte Enable /BE0 La memoria può essere sprovvista del segnale /BE, per cui il collegamento con il /BEi del processore è superfluo 54

55 Big Endian vs. Little Endian: impatto sul bus La classica scelta Big Endian/Little Endian si riflette anche sul bus nelle operazioni di taglia minore di una word; esempio: STB (Store Byte) all indirizzo 00 scrive su ED[31:24] se Big Endian, su ED[7:0] se Little Endian Questa figura riassume la situazione sul bus: 55

56 Il ciclo di bus: definizione della durata della fasi di setup, strobe, hold I processori C6000 consentono di adattare la durata del ciclo di bus in funzione dei tempi di risposta della memoria Il ciclo di bus è diviso in tre fasi: setup: indirizzi e CS validi, comandi di RD/WR non ancora attivi strobe: indirizzi e CS validi, comandi di RD/WR attivi hold: indirizzi e CS validi, comandi di RD/WR non più attivi A differenza di un processore come l 8088/8086, per il quale l unica fase adattabile è quella equivalente a strobe, nel C6000 deve essere dimensionata la durate di ciascuna fase; durate minime e massime: setup: 1 CK - 16 CK strobe: 1 CK - 64 CK hold: 0 CK - 3 CK (7 CK nel C6211-C6711) Mentre nell 8088 la durata è determinata monitorando il valore di READY in T3, nel C6000 è programmata nei registri CE Space Control Register 56

57 Calcolo della durata della fasi di setup, strobe, hold in funzione dei tempi di risposta della memoria Considerazioni preliminari: I segnali di output generati dal C6000 sono attivati o disattivati in corrispondenza di CLKOUT1 Il ritardo con cui sono attivati o disattivati è Td Td varia con la temperatura e la tensione di alimentazione, per cui registra valori massimi e minimi Fortunatamente, qualsiasi siano le condizioni operative, queste non variano nel breve periodo, per cui il Td di attivazione di un certo segnale è lo stesso della sua disattivazione: la durata effettiva del segnale attivo è uguale a quella nominale (cancellazione dei Td) CLKOUT1 Segnale Td Td Tsignal 57

58 Un altro parametro importante è il tempo di skew, cioè la differenza temporale tra l attivazione (o la disattivazione) di due o più segnali di output che dovrebbero attivarsi (disattivarsi) insieme Esempi: gli indirizzi, o i dati in un ciclo di scrittura Tskew diminuisce la durata nominale dei segnali, perché si deve considerare il caso peggiorativo per la durata del gruppo di segnali, determinata dal segnale più lento ad attivarsi e quello più veloce a disattivarsi. In realtà, vista la quasi invarianza delle condizioni operative nel breve periodo, Tskew è minore di Tdmax - Tdmin. CLKOUT1 EAi TEA EAj TEA TEA effettiva: TEA - Tskew 58

59 Su un ampio spettro di condizioni operative, Tskew 2 ns Il calcolo della durata delle fasi deve rispettare margini di sicurezza; anche se il valore del margine va verificato di caso in caso, si può pensare a valori di riferimento: durante il ciclo di scrittura è meglio prevedere un margine di 1 ns sul setup e sull hold dei segnali in output (EAi, EDi,...) Output setup: ~ 1 ns Output hold: ~ 1 ns quindi tutte le temporizzazioni che coinvolgono questi segnali devono rispettare il margine durante il ciclo di lettura è meglio usare un margine di 1 ns sulla propagazione di EAi,, dal processore alla memoria,e 1 ns per i dati in ritorno, quindi un totale di 2 ns per il setup dell input al processore; non servono margini sull hold Input setup:~ 2 ns Input hold: ~ 0 ns anche per i segnali di input, le temporizzazioni interessate devono rispettare il margine 59

60 Temporizzazioni fondamentali C6000: (sottolineati a tratteggio nelle prossime slide) Segnali di input: Tsu: data setup time, prima di CLKOUT1 Th: data hold time, dopo CLKOUT1 Segnali di output: Td: output delay time dopo CLKOUT1 Memorie SRAM asincrone: (sottolineati a tratto continuo nelle prossime slide) Segnali di input: Txw: per il ciclo di scrittura: tempo minimo per cui devono essere validi dati e indirizzi prima che si disattivi /AWE Twp: durata minima dell impulso di write Tih, Twr: per il ciclo di scrittura: va considerato il massimo tra questi due tempi: hold degli indirizzi e hold dei dati dopo la fine di /AWE Trc: durata minima del ciclo di lettura Twc: durata minima del ciclo di scrittura Segnali di output: Tacc: per un ciclo di lettura: tempo da EA, /BE, /AOE, /CE validi prima di avere i dati validi sul bus Toh: per un ciclo di lettura: output delay time dopo CLCKOUT1 (i dati sono mantenuti sul bus dalla memoria per un tempo Toh dopo la fine fase di HOLD) NB: sono *8* temporizzazioni da rispettare 60

61 Ciclo di lettura C67 campiona i dati Esempio con {setup, strobe, hold} = {1,2,1} All inizio della fase di setup diventano attivi /CE, /AOE, /BEi, /EAi! Il primo accesso ha una fase di setup di minimo 2 clock /ARE diventa attivo all inizio della fase di strobe /ARE si disattiva all inizio della fase di hold I dati sono campionati dal C67 sul clock alla fine della fase di strobe /AOE, /BEi, /EAi si disattivano alla fine della fase di hold /CE rimane attivo per (7 - durata hold) clock Al pin /OE delle SRAM è connesso /AOE! (non /ARE) 61

62 Ciclo di scrittura Esempio con {setup, strobe, hold} = {1,1,1} All inizio della fase di setup diventano attivi /CE, /BEi, /EAi, /EDi (dati)! Il primo accesso ha una fase di setup di minimo 2 clock /AWE diventa attivo all inizio della fase di strobe /AWE si disattiva all inizio della fase di hold /BEi, /EAi, /EDi si disattivano alla fine della fase di hold /CE rimane attivo per 4 clock se durata hold = 0, 3 clock altrimenti 62

63 Calcolo di setup, strobe, hold per una lettura Lo scopo è calcolare la durata (in periodi di clock) delle fasi setup, strobe, hold 1) SETUP + STROBE (Tacc(m) + Tsu + Tdmax)/Tck (i dati sono campionati sul clock alla fine della fase di strobe: dopo Tacc(m) + Tdmax sono presenti sul bus, dove devono stare per almeno Tsu prima di essere campionati) 2) SETUP + STROBE + HOLD (Trc(m) + Tskew)/Tck (deve essere rispettato il tempo di ciclo della memoria in lettura, tenendo conto che la durata nominale dei segnali è diminuita di un Tskew) 3) HOLD (Th - Tdmin - Toh(m))/Tck (deve essere rispettato Th, tenendo conto che oltre a HOLD, si può contare su almeno un Tdmin in più e sull hold della memoria) N.B.: la parentesi (m) distingue i tempi caratteristici della memoria da quelli del processore Tutti i + a secondo membro sono dei vincoli, tutti i - dei rilassamenti di vincoli Normalmente SETUP = 1, (1) STROBE La più stringente tra (2) e (3) determina HOLD 63

64 Osservazione importante: nell interfaccia tra C6000 e SRAM, si è usato il segnale /AOE del processore come comando di lettura collegato al pin /OE della SRAM (e non /ARE). I segnali inviati alla memoria (/CE, /BEi, /EAi, /AOE ) sono identici dall inizio alla fine del ciclo di bus. In conseguenza, il ciclo di bus si compone in pratica soltanto di due parti: quella a monte e quella a valle del campionamento dei dati da parte del C6000, che avviene in corrispondenza del fronte di salita del clock tra {fine strobe/inizio hold}. Nella fase a monte (SETUP + STROBE del ciclo di bus) deve essere rispettato il tempo di accesso della memoria e il tempo di setup del processore, nella fase a valle (HOLD) il tempo di hold del processore. Un limite di questa scelta è che non consente di rispettare un eventuale tempo minimo da cui gli indirizzi debbano essere stabili prima dell invio del comando a /OE (tempo di setup sugli indirizzi). Un altro limite è che si può creare un conflitto tra CPU e memoria, se al termine del ciclo di lettura la memoria per sua inerzia continua a pilotare il data bus mentre la CPU ha già iniziato un ciclo di scrittura (per questo motivo nel ciclo di bus della versione C6211/C6711 è stata aggiunta la fase di TURNAROUND alla fine del ciclo di bus). Diverse sarebbero le considerazioni se si scegliesse di collegare /ARE del processore al pin /OE della SRAM: in questo caso si potrebbero rispettare il tempo di setup sugli indirizzi e il turnaround, ma non il tempo di hold del processore (nella fase di HOLD, i dati non sarebbero mantenuti sul bus se non per il tempo spontaneo di inerzia da parte della memoria). 64

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

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

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

Dettagli

Architettura del PIC 18F452

Architettura del PIC 18F452 Controllo Digitale a.a. 2005-2006 Architettura del PIC 18F452 Ing. Federica Pascucci PIC 18F452 Caratteristiche Frequenza operativa: 40 MHz Memorie: Program FLASH memory: 32 KBytes, 16 K-istruzioni memorizzabili

Dettagli

Il processore SHARC ADSP-21262

Il processore SHARC ADSP-21262 2 Il processore SHARC ADSP-21262 Il processore ADSP-21262, utilizzato nel presente lavoro, appartiene ad una vasta famiglia di Digital Signal Processors della Analog Devices, denominata SHARC, particolarmente

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

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole.

Nicola Amoroso. Corso introduttivo sui microcontrollori A. S. 2007 2008. Microcontrollori Microchip PIC 8 bit. namoroso@mrscuole. Corso introduttivo sui microcontrollori A. S. 2007 2008 Microcontrollori Microchip PIC 8 bit Nicola Amoroso namoroso@mrscuole.net NA L2 1 Microcontrollori Microchip PIC 8 bit PIC: Peripheral Interface

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

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

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

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2015-16 Pietro Frasca Lezione 15 Martedì 24-11-2015 Struttura logica del sottosistema di I/O Processi

Dettagli

Un micro FPGA. skills. come il core ABC. il core ABC sia la suite di sviluppo di AC-

Un micro FPGA. skills. come il core ABC. il core ABC sia la suite di sviluppo di AC- skills di Un micro FPGA che parte dall ABC Quando in molti progetti è necessario unire alla logica programmabile la funzionalità di un piccolo microprocessore le soluzioni semplici come il core ABC possono

Dettagli

IL DSP - Digital Signal Processor

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

Dettagli

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

Parte IV Architettura della CPU Central Processing Unit

Parte IV Architettura della CPU Central Processing Unit Parte IV Architettura della CPU Central Processing Unit IV.1 Struttura della CPU All interno di un processore si identificano in genere due parti principali: l unità di controllo e il data path (percorso

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

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto ARCHITETTURA DEI CALCOLATORI

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

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

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

Dettagli

Architettura 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

Clocking. Architetture dei Calcolatori (Lettere. Elementi di Memoria. Periodo del Ciclo di Clock. scritti

Clocking. Architetture dei Calcolatori (Lettere. Elementi di Memoria. Periodo del Ciclo di Clock. scritti Clocking Architetture dei Calcolatori (Lettere A-I) Tecnologie per la Memoria e Gerarchie di Memoria Prof. Francesco Lo Presti Il segnale di Clock definisce quando i segnali possono essere letti e quando

Dettagli

Microprocessori, Microcontrollori e DSP (Digital Signal Processors)

Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Microprocessori, Microcontrollori e DSP (Digital Signal Processors) Il microprocessore è un dispositivo integrato digitale che può essere programmato con una serie di istruzioni per effettuare una specifica

Dettagli

Informatica di Base - 6 c.f.u.

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

Dettagli

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

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

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

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

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

Dettagli

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

Il bus PCI. Piccinetti Stefano

Il bus PCI. Piccinetti Stefano Il bus PCI Piccinetti Stefano Prima del bus PCI: il bus ISA Il bus più diffuso prima del 1992 era il bus ISA (quello sostanzialmente trattato a Reti Logiche). Il primo bus ISA era ad 8 bit e garantiva

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

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

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

Dettagli

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore (CPU) la memoria principale (RAM) la memoria secondaria i dispositivi di input/output Il processore

Dettagli

Calcolatori Elettronici

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

Dettagli

1 Unità di generazione PWM del ADMCF32X

1 Unità di generazione PWM del ADMCF32X SOMMARIO 1 UNITÀ DI GENERAZIONE PWM DEL ADMCF3X... 1 PWM TIMER OPERATION... REGISTRO PWMTM... REGISTRO PWMDT (DEAD-TIME REGISTER)... PWM DUTY-CYCLE... 3 PWMTRIP... 3 GENERAZIONE DI MODELLI SINUSOIDALI

Dettagli

Input/Output: bus, interfacce, periferiche

Input/Output: bus, interfacce, periferiche Architettura degli Elaboratori e delle Reti Lezione 29 Input/Output: bus, interfacce, periferiche A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L

Dettagli

STRUTTURE DEI SISTEMI DI CALCOLO

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

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

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

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

Sistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda

Sistemi di Elaborazione a Microprocessore 8259. (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda 8259 (Controllore Program m abile delle Interruzioni) M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Generalità L'8259 è stato progettato

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

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

Architetture DSP. Capitolo 6

Architetture DSP. Capitolo 6 Capitolo 6 Architetture DSP Un convertitore analogico-digitale (ADC) trasforma un segnale a tempo continuo in una sequenza di bit; viceversa un convertitore digitale-analogico (DAC) trasforma una sequenza

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

ARCHITETTURA DI UN PERSONAL COMPUTER

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

Dettagli

Architettura 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

02 - Organizzazione dei sistemi di calcolo

02 - Organizzazione dei sistemi di calcolo Organizzazione dei sistemi di calcolo - Processori - Memoria principale - Memoria secondaria - Input/Output Pagina 2 Processori Pagina 3 La CPU è composta da: - Unità di controllo - Unità logico-aritmetica

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

Architettura dei Calcolatori

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

Dettagli

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

Corso di Sistemi Automatici di Misura

Corso di Sistemi Automatici di Misura Corso di Sistemi Automatici di Misura GENERALITA SUL VXI BUS Oggi che i sistemi di misura automatici costituiscono una realtà consolidata, l interesse va spostandosi sempre più verso la qualità dell automazione

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A Calcolatori Elettronici L-A Mapping di chip di memoria e interfacce negli spazi di indirizzamento di sistemi con bus dati da 8 bit Decodifica degli indirizzi Decodifica completa Decodifica semplificata

Dettagli

Architettura del computer (C.Busso)

Architettura del computer (C.Busso) Architettura del computer (C.Busso) Il computer nacque quando fu possibile costruire circuiti abbastanza complessi in logica programmata da una parte e, dall altra, pensare, ( questo è dovuto a Von Neumann)

Dettagli

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

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

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

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

Architettura di un sistema di calcolo

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

Dettagli

Le Memorie interne: RAM, ROM, cache. Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano

Le Memorie interne: RAM, ROM, cache. Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano Le Memorie interne: RAM, ROM, cache Appunti per la cl. IV sez. D a cura del prof. Ing. Mario Catalano 1 Le memorie Cosa vorremmo : una memoria veloce abbastanza grande da contenere tutti i dati e i programmi

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

Lezione 16: L architettura LC-3

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

Dettagli

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

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

Architetture Avanzate dei Calcolatori. Valeria Cardellini. Divario delle prestazioni processore- memoria

Architetture Avanzate dei Calcolatori. Valeria Cardellini. Divario delle prestazioni processore- memoria La gerarchig erarchia di memorie e (1) Architetture Avanzate dei Calcolatori Valeria Cardellini Divario delle prestazioni processore- memoria 100.000 Soluzione: memorie cache più piccole e veloci tra processore

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

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

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

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Gerarchia di memorie: memorie cache Massimiliano Giacomin 1 Tipologie e caratteristiche delle memorie (soprattutto dal punto di vista circuitale e fisico) Altezza:

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

Informatica. Esplicazione del manuale e delle slide. Informatica Appunti Luiss Marco D Epifanio. Marco

Informatica. Esplicazione del manuale e delle slide. Informatica Appunti Luiss Marco D Epifanio. Marco Informatica Appunti Luiss Marco D Epifanio Informatica Esplicazione del manuale e delle slide Marco Liberamente tratto da Introduzione alle tecnologie informatiche e ai sistemi informativi aziendali, McGraw.

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

P R O G E T T O L A R S A A P P U N T I S U L P. L. C.

P R O G E T T O L A R S A A P P U N T I S U L P. L. C. P R O G E T T O L A R S A A P P U N T I S U L P. L. C. L automazione di un qualunque procedimento industriale si ottiene mediante un insieme d apparecchiature, opportunamente collegate tra loro, in modo

Dettagli

Architettura del Calcolatore. Emilio Di Giacomo e Walter Didimo

Architettura del Calcolatore. Emilio Di Giacomo e Walter Didimo Architettura del Calcolatore Emilio Di Giacomo e Walter Didimo Computer e programmi Il computer è una macchina programmabile Grazie alla possibilità di eseguire programmi diversi, il computer può svolgere

Dettagli

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware

Lezione 1 Caratteristiche principali del PIC16C84 L'hardware Lezione 1 Nella prima lezione del corso, cercheremo di comprendere come sia fatto internamente il controller più conosciuto di Microchip, ovvero il PIC16C84 poi evoluto nel PIC16F84. Sebbene i microcontroller

Dettagli

Architettura dei sistemi x86 Interfacce I/O

Architettura dei sistemi x86 Interfacce I/O I.I.S. Benvenuto Cellini Corso di formazione tecnica Architettura dei sistemi x86 Interfacce I/O Prof. Alessandro Pinto v.2009 Bus ISA (Industry Standard Architecture ) (1981 metà anni 90) Bus di interconnessione

Dettagli

CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO

CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO CALCOLATORI ELETTRONICI I PRINCIPI DI FUNZIONAMENTO DI UN CALCOLATORE ELETTRONICO L architettura di un calcolatore Informatica Linguaggi ad alto livello/applicazioni Sistema operativo Assembler ISA Architettura

Dettagli

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

Dettagli

Calcolatori Elettronici L-A

Calcolatori Elettronici L-A 1 Calcolatori Elettronici L-A Obiettivo del modulo è lo studio dei seguenti aspetti dell hardware dei calcolatori: l architettura i principi di funzionamento le tecniche di progettazione l impatto dell'architettura

Dettagli

Calcolatori Elettronici B a.a. 2006/2007

Calcolatori Elettronici B a.a. 2006/2007 Calcolatori Elettronici B a.a. 2006/2007 RETI LOGICHE: RICHIAMI Massimiliano Giacomin 1 Due tipi di unità funzionali Elementi di tipo combinatorio: - valori di uscita dipendono solo da valori in ingresso

Dettagli

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

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

Dettagli

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

PROGRAMMA DI SISTEMI TERZA AET 2014/2015 PROGRAMMA DI SISTEMI TERZA AET 2014/2015 Docente: Gamerra Giuseppe, Porta Giovanni Testo : manuali originali dello Z80, appunti in classe, dispense sulla intranet, simulatore OSHONSOFT A) Non sono state

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

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

Componenti principali di un computer

Componenti principali di un computer Componenti principali di un computer Unità centrale Processore Controller Memoria principale (centrale) Bus Stampante Terminale Periferiche di input/output Memorie di massa (secondarie) 1 COMPONENTI DI

Dettagli

Tutorial: Toshiba Controller LCD T6963

Tutorial: Toshiba Controller LCD T6963 www.kiocciola.net Pagina 1 di 18 Tutorial: Toshiba Controller LCD T6963 Il chip Toshiba T6963 è un controller LSI (Large Scale Integration) per LCD (Liquid Crystal Display) monocromatici, costituiti da

Dettagli

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

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

Dettagli

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

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

Dettagli

L Architettura di un Calcolatore

L Architettura di un Calcolatore ASTE Information Technology Excellence oad (I.T.E..) L Architettura di un Calcolatore aurizio Palesi Salvatore Serrano aster ITE Informatica di Base aurizio Palesi, Salvatore Serrano 1 Sommario Architettura

Dettagli

Lezione 2 Principi Fondamentali di SO Interrupt e Caching. Sommario

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

Dettagli

Il Personal Computer

Il Personal Computer Il Personal Computer 18 Hardware 1 Hardware: componenti fisiche dell elaboratore; la forma e le prestazioni dell hardware variano in funzione del tipo di elaboratore Principali componenti hardware: unità

Dettagli

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

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

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore Architettura di un calcolatore Appunti di Antonio BERNARDO Corso di Informatica di base A. Bernardo, Informatica di base 1 1 Compiti del computer Elaborazione di dati Memorizzazione di dati Scambio di

Dettagli

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

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

Dettagli

Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena

Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena Protocolli di Comunicazione Elettronica dei Sistemi Digitali L-A Università di Bologna, Cesena Aldo Romani A.a. 2005-2006 UART UART Universal Asynchronous Receiver/Transmitter Clock implicito e trasmissione

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

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

INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED

INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED 1 INTRODUZIONE AI SISTEMI OPERATIVI EMBEDDED ROUND ROBIN ROUND ROBIN CON INTERRUPT FUNCTION QUEUE SCHEDULING REAL TIME OPERATING SYSTEMS (RTOS) INTERRUPT PROGRAMMATI: TIMER INTRODUZIONE 2 In relazione

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 16 Martedì 3-12-2013 1 La tecnica di gestione di un dispositivo a interruzione

Dettagli

IL TEST JIG PER IL SOTTOSISTEMA COMMS DEL DIMOSTRATORE TECNOLOGICO SATELLITARE

IL TEST JIG PER IL SOTTOSISTEMA COMMS DEL DIMOSTRATORE TECNOLOGICO SATELLITARE IL TEST JIG PER IL SOTTOSISTEMA COMMS DEL DIMOSTRATORE TECNOLOGICO SATELLITARE INDICE 1. Introduzione...3 2. Lista delle abbreviazioni...3 3. Requisiti e architettura del test jig COMMS...4 3.1 I compiti

Dettagli

Il sottosistema di I/O. Input Output digitale

Il sottosistema di I/O. Input Output digitale Il sottosistema di I/O Il sottosistema di I/O consente la comunicazione fra il calcolatore ed il mondo esterno. Fanno parte del sottosistema i dispositivi (Unità di I/O) per la comunicazione uomo/macchina

Dettagli