Struttura schematica di un calcolatore. Processore. Componenti processore: Data Path. Il processore (CPU)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Struttura schematica di un calcolatore. Processore. Componenti processore: Data Path. Il processore (CPU)"

Transcript

1 Processore Presentazione a livelli del calcolatore: dopo porte logiche, circuiti base e memorie, esaminiamo il: Processore (CPU - Central Processing Unit): cuore del calcolatore, l à che esegue le istruzioni macchina (cap. 2 e 4). Nel seguito le altre componenti del calcolatore: bus, I/O, memoria di massa. Struttura schematica di un calcolatore Central processing (CPU) Control Arithmetic logical () Registers I/O devices Main memory Disk Printer (Architettura degli Elaboratori) Processore 1 / 81 (Architettura degli Elaboratori) Processore 2 / 81 Bus Il processore (CPU) Compito del processore: eseguire il ciclo fetch-decode-execute; fetch: preleva un istruzione dalla memoria istruzione macchina; decode: determina il tipo di istruzione e i suoi argomenti; execute: esegui l istruzione: recupera gli argomenti, esegui un operazione, memorizza i risultati; ripete il ciclo. A Componenti processore: Data Path A + B A Registers B input register B input bus output register A + B (Architettura degli Elaboratori) Processore 3 / 81 (Architettura degli Elaboratori) Processore 4 / 81

2 Formata da: una serie di registri (memorie), un à aritmetica e logica (), dei bus di collegamento. Può eseguire micro-operazioni. Data Path Micro-operazione L operazione eseguibile dal data path in un singolo ciclo di clock. Azioni eseguibili da una micro-operazione: una singola operazione aritmetica-logica (i cui argomenti e risultato risiedono nei registri). una comunicare con la memoria (richiesta di lettura o scrittura di una locazione) Un istruzione macchina viene eseguita mediante una o più micro-operazioni. (Architettura degli Elaboratori) Processore 5 / 81 (Architettura degli Elaboratori) Processore 6 / 81 Unità di controllo Il funzionamento del data path viene regolato, mediante segnali, dall à di controllo. Circuito sequenziale che regola il funzionamento del processore. Esamina l istruzione corrente, contenuta Instruction Register (IR). Invia segnali di lettura e scrittura ai registri. Invia segnali di controllo alla. Gestisce la comunicazione con la memoria principale. Due alternative: Realizzazione cablata: si realizza un circuito sequenziale classico; micro-programmata: il controllo è un piccolo calcolatore capace di eseguire un micro-programma. (Architettura degli Elaboratori) Processore 7 / 81 (Architettura degli Elaboratori) Processore 8 / 81

3 Dicotomia: cablata - programmata Le stessa funzionalità possono essere implementate mediante: hardware (logica cablata): più complicata e costosa da realizzare, ma offre prestazioni migliori; software (logica programmata): più semplice e flessibile, ma più lenta. Diversi esempi di questa dicotomia: le istruzioni grafiche, l elaborazione dei segnali,... Un po di storia I primi processori: poche istruzioni, logica cablata. Anni 50: prime à di controllo micro-programmato, permette la costruzione di calcolatori economici ma con un ricco insieme di istruzioni. calcolatori con maggiori presazioni usano la logica cablata. Si costruiscono calcolatori molto diversi per prestazioni e costi con lo stesso insieme di istruzioni. (IBM 360) (Architettura degli Elaboratori) Processore 9 / 81 (Architettura degli Elaboratori) Processore 10 / 81 Anni 70 Le potenzialità della micro-programmazione vengo sfruttate al massimo. Linguaggi macchina sempre più sofisticati, vicini ai linguaggi di programmazione standard. Il calcolatore apice di questa filosofia: VAX (Digital DEC). Motivazioni tecnologiche: all epoca i control-store (la memoria micro-programma) sono molti più veloci della memoria principale (RAM). Anni 80, processori RISC Si cambia rotta: poche istruzioni, logica cablata le istruzioni complesse non sono così utili istruzioni semplici molto più veloci; si possono utilizzare controlli cablati; la velocità della RAM si avvicina a quella del control-store (Architettura degli Elaboratori) Processore 11 / 81 (Architettura degli Elaboratori) Processore 12 / 81

4 Reduced Instruction Set Computer 801 (IBM), I primi RISC CPU-RISC (Patterson - Berkley) Sparc, MIPS (Hennesey - Stanford), Alpha (Digital), PowerPC (Motorola, IBM), ARM, Anni 90, diatriba: RISC CISC Complex Instruction Set Computer. Tutti i processori di nuova concezione sono RISC. Ma i processori usati nei PC: architettura Intel x86, (IA-32), sono CISC. Motivi: compatibilità con il software preesistente, non si vogliono riscrivere i programmi (il codice). (Architettura degli Elaboratori) Processore 13 / 81 (Architettura degli Elaboratori) Processore 14 / 81 Attualmente La contrapposizione RISC CISC è più sfumata. La legge di Moore ha portato alla creazione di processori RISC con insiemi di istruzioni sempre più ampi. Il processori CISC (IA-32) usano al loro interno un cuore RISC, istruzioni semplici, più comuni: eseguite direttamente, istruzioni più complesse: scomposte in più istruzioni semplici, istruzioni sofisticate: eseguite mediante micro-programma. RISC CISC In linea di principio, i processori RISC sono preferibili, le architetture CISC hanno uno svantaggio del (20-30%), per i processori x86, lo svantaggio è compensato dalle economie di scala (vengono prodotti in gran numero). (Architettura degli Elaboratori) Processore 15 / 81 (Architettura degli Elaboratori) Processore 16 / 81

5 I processori nel libro di testo Per illustrare con maggior dettaglio il funzionamento dei processori, si mostra un esempio concreto di progettazione di un processore. Più precisamente: si mostra come costruire processore (Mic) che eseguire istruzioni del Java bytecode: si realizza la Java Virtual Machine (JVM) Approccio per esempi e bottom-up: prima descrizione delle componenti, poi quadro di insieme. (Architettura degli Elaboratori) Processore 17 / 81 Premessa: i compilatori Un programma ad alto livello (Java, C, C++, Scheme, Pascal,... ) deve essere tradotto in linguaggio macchina (istruzioni eseguibili dal calcolatore). Due alternative: compilatore: programma traduttore, dal programma sorgente genere un programma macchina equivalente. interprete: programma interprete, legge il programma sorgente e lo esegue direttamente (non genera codice intermedio). (Architettura degli Elaboratori) Processore 19 / 81 I processori nel libro di testo Pro: un esempio pratico, consistente con il resto. Contro: presentazione lunga, molti dettagli tecnici, difficile comprensione, linguaggio macchina non standard. A lezione presentazione più superficiale: descrizione dei principi, pochi dettagli. Argomenti affrontati in un ordine diverso. Problema: meno correlazione col libro di testo, non esiste un insieme di pagine che sia completo, autosufficiente e non sovrabbondante (molti più argomenti di quelli presentati a lezione). (Architettura degli Elaboratori) Processore 18 / 81 Java Java si propone come il linguaggio per le applicazioni in rete. I programmi Java devono poter migrare nella rete: codice compilato non ha questa possibilità, è specifico ad una particolare architettura (processore sistema operativo), inoltre: problemi di sicurezza; il codice sorgente non può essere spostato in maniera efficiente. (Architettura degli Elaboratori) Processore 20 / 81

6 Java Virtual Machine, JVM Soluzione: viene definito un codice intermedio (tra Java e il linguaggio macchina): Java bytecode, viene definita un macchina virtuale la Java Virtual Machine (JVM), capace di eseguire programmi scritti in Java bytecode, macchina virtuale: implementata, via software, su diverse piattaforme (processore, sistema operativo), livello Java bytecode (Architettura degli Elaboratori) Processore 21 / 81 Java bytecode Programmi Java compilati in Java bytecode, eseguibile da ogni calcolatore mediante la Java Runtime Environment (JRE), composto da: JVM (programma interpretare il Java bytecode); librerie. Vantaggi, svantaggi, vantaggi: codice universale, compatto, con meccanismi di protezione; svantaggi: minore efficienza rispetto alla compilazione diretta (mitigata dai compilatori just-in-time). (Architettura degli Elaboratori) Processore 22 / 81 Processori Mic (1,2,3,4) Implementazione hardware, cablata (non virtuale o programmata) della JVM. Mic è un processore capace di eseguire un sottoinsieme del Java bytecode. Progetto didattico, non esistono implementazioni. Esistono delle vere implementazioni, de picojava (Sun Microsystems), ARM926EJ-S, (architettura ARM estesa con il Java bytecode), Java bytecode Simili, per molti aspetti, ai linguaggi macchina. Alcune differenze importanti: meccanismi di protezione contro codice malevolo; compatto, istruzioni lunghe un byte (+ un eventuale argomento di 1-2 byte); primitive object-oriented (chiamate dei metodi). Per semplicità, i processori Mic implementano un piccolo sottoinsieme del Java bytecode. (Architettura degli Elaboratori) Processore 23 / 81 (Architettura degli Elaboratori) Processore 24 / 81

7 Il modello di memoria Il modello di memoria Memoria standard processori, monolitica, uno stesso spazio per programmi e dati. Memoria della JVM è divisa in quattro parti. area del codice (programmi) area delle costanti (dati utilizza dai programmi) stack delle variabili locali stack degli operandi (dati su cui eseguire operazioni) (Architettura degli Elaboratori) Processore 25 / 81 (Architettura degli Elaboratori) Processore 26 / 81 Stack delle variabili Usato per gestire le chiamate di procedura (metodi). Ogni procedura ha le sue variabili, spazio di memoria. Questi spazi gestiti come una pila. Ad ogni chiamata di procedura si alloca uno spazio. Spazio recuperato quando la procedura termina. Stack degli operandi JVM non è una macchina a registri (come quasi tutti i processori). Le operazioni aritmetiche logiche non fanno riferimento ai registri interni, ma ad uno: Stack degli operandi. Pila su cui: inserire o prelevare word, (sequenze di 32 bit) eseguire operazioni sugli ultimi dati inseriti. Esempio la JVM valuta l espressione (3 + 5) (4 + 2) in... (Architettura degli Elaboratori) Processore 27 / 81 (Architettura degli Elaboratori) Processore 28 / 81

8 I-Java bytecode Operazioni aritmetiche e logiche: IADD, IAND, IOR, ISUB, IINC vn con. Operazioni trasferimento dati, da e per la memoria: ILOAD vn, ISTORE vn, LDC_W i, (DUP, POP, SWAP, BIPUSH b). Operazioni per il controllo del flusso dell esecuzione: GOTO, IFEQ os, IFLT os, IF_ICMEQ os, Chiamate di metodi: INVOKEVIRTUAL d, IRETURN, Altro: NOP, WIDE Il processore Mic-1 Un semplice processore per il Java bytecode. Funzionamento: ad ogni ciclo di clock il data path può eseguire semplici operazioni, o spostare dati (micro-istruzione) un istruzione del Java bytecode viene realizzata mediante una sequenza di micro-istruzioni, sequenza composta da diverse parti: fetch-decode-execute. (Architettura degli Elaboratori) Processore 29 / 81 (Architettura degli Elaboratori) Processore 30 / 81 Mic-1: data path Unità aritmetica-logica () Componente di ogni processore, può eseguire le operazioni aritmetiche e logiche: Ingressi: due argomenti: 32, 64 bit; codifica operazione da eseguire. Uscite: risultato: 32, 64 bit; bit di condizione: segno, zero, overflow. (Architettura degli Elaboratori) Processore 31 / 81 (Architettura degli Elaboratori) Processore 32 / 81

9 Unità aritmetica-logica () MIC1 usa una semplice : implementa poche operazioni: AND, OR, NOT, somma, sottrazione, incremento, decremento 1, opposto. Operazioni eseguite bit per bit (locali): scomposta in à elementari, ciascuna operante su una coppia di bit. segnali di controllo: selezionano l operazione da svolgere, abilitano o meno gli ingressi, forniscono il riporto per le cifre meno significative. (Architettura degli Elaboratori) Processore 33 / 81 INVA A ENA B ENB F 0 F 1 Decoder Logical Enable lines AB A + B B Carry out Carry in da un bit Full adder (Architettura degli Elaboratori) Processore 34 / 81 Sum Output da 8-32 bit completa formata da un sequenza di a 1 bit A F1 F 7 B bit O 7 Carry in A 6 B 6 1-bit O 6 Carry out A 5 B 5 1-bit O 5 A 4 B 4 1-bit O 4 A 3 B 3 1-bit Mic 1 contiene una a 32 bit. O 3 A 2 B 2 1-bit O 2 A 1 B 1 1-bit O 1 A 0 B 0 1-bit O 0 INC Oltre alle ovvie: Funzione calcolabili dalla A + B + 1, somma con Carry in = 1 A + 1, somma con ENB = 0, Carry in = 1 B A, somma con INVA = 1, Carry in = 1 B 1, somma con ENA = 0, INVA = 1 A, somma con ENB = 0, INVA = 1, Carry in = 1 (Architettura degli Elaboratori) Processore 35 / 81 (Architettura degli Elaboratori) Processore 36 / 81

10 Registri (specializzati) MAR: Memory Address Register, MDR: Memory Data Register; comunicazione memoria dati; PC: Program Counter, MBR: Memory Bytecode Register; comunicazione memoria codice; SP: Stack Pointer, TOS: Top Of Stack; stack degli operandi; LV: Local Variable; puntatore stack variabili; CPP: Constant Pool Pointer; punt. costanti; OPC, H: registri ausiliari. (Architettura degli Elaboratori) Processore 37 / 81 Esempio di implementazione L istruzione IADD viene realizzata dalla sequenza di micro-istruzioni: Main1: PC = PC + 1; fetch; goto (MBR) iadd1: MAR=SP=SP-1; rd iadd2: H = TOS iadd3: MDR=TOS=MDR+H; wr; goto Main1 Le altre istruzioni implementate in maniera analoga. (Architettura degli Elaboratori) Processore 38 / 81 Circuito di controllo Micro-programmato. Formata da memoria ROM (contiene il micro-codice), 2 registri, un multiplexer. semplice sia il circuito che la progettazione relativamente lento Micro-istruzioni di 36 bit in parte segnali di controllo, in parte determinano la prossima micro-istruzione, 6 control MAR MDR PC MBR SP LV CPP TOS OPC H Shifter 3 C bus B bus N Z Memory control signals (rd, wr, fetch) 4-to-16 Decoder 8 High bit 2 MPC 9 O 2 1-bit flip flop Circuito di controllo JMPC Bit control store for holding the microprogram Addr J C M B JAMN/JAMZ MIR Control signals Enable onto B bus Write C bus to register (Architettura degli Elaboratori) Processore 39 / 81 (Architettura degli Elaboratori) Processore 40 / 81

11 Circuito di controllo: Control store (Architettura degli Elaboratori) Processore 41 / 81 Circuito di controllo Invia: ai registri i segnali di lettura e scrittura; alla memoria le istruzioni: read, write, fetch; alla il codice dell istruzione da eseguire. Determina micro-istruzione successiva via: MBR (prima micro-istruzione nelle esecuzione di un istruzione macchina); la micro-istruzione corrente (micro-istruzioni successive); in alcuni casi, il primo bit dell indirizzo determinato dall uscita della (per poter implementare i salti condizionati). (Architettura degli Elaboratori) Processore 42 / 81 Prestazioni MIC-1, processore (relativamente) completo ma inefficiente (molto più semplice dei processori attuali). Prestazioni: computazione eseguibile nell a di tempo. Due metodi: Miglioramento delle prestazioni Utilizzare istruzioni macchina più potenti, e flessibili. Esempi: Processori Intel x86: 8086 (1978) (1985) MMX 3DNow x86-64 (2000) AVX; ARM: ARMv1... ARMv8; MIPS: R2000 R3000 R4000; IJVM JVM. Eseguire più istruzione nell à di tempo (Architettura degli Elaboratori) Processore 43 / 81 (Architettura degli Elaboratori) Processore 44 / 81

12 Più istruzioni al secondo Il funzionamento della CPU scandito da un clock, diminuire il numero di micro-istruzioni (cicli di clock) necessari per eseguire un istruzione macchina; aumentare la computazione svolta nel ciclo di clock: ridurre il ciclo di clock. Più computazione per ciclo di clock Aumentare la potenza di calcolo del data path, micro-istruzioni più potenti. con più operazioni, più registri disponibili, più possibilità di scambio dati (3 bus distinti) un à separata per il caricamento delle istruzioni: Instruction Fetch Unit (IFU) (Architettura degli Elaboratori) Processore 45 / 81 (Architettura degli Elaboratori) Processore 46 / 81 To and from main memory Control signals Instruction fetch (IFU) Secondo progetto MIC-2 MAR MDR PC MBR SP LV MBR2 Memory control registers Ridurre il ciclo di clock Segnale di clock abilita la scrittura dei registri. Periodo di clock dato dalla somma dei ritardi. Cycle 1 starts here Shifter output stable Registers loaded instantaneously from C bus and memory on rising edge of clock Clock cycle 1 Clock cycle 2 Enable onto B bus Write C bus to register C bus CPP TOS OPC H B bus w x y z New MPC used to load MIR with next microinstruction here A bus control 6 Shifter N Z Set up signals to drive data path and shifter MPC available here (Architettura degli Elaboratori) Processore 47 / 81 Drive H and Propagation from shifter (Architettura degli Elaboratori) Processore 48 / 81

13 Due modi: Ridurre il ciclo di clock migliorare la tecnologici nei circuiti integrati: transistor più veloci, migliorare la strutture dei circuiti: realizzare circuiti con meno ritardi (a parità di tipo di transistor impiegati). Velocizzare il data-path: Architettura più veloce circuito di controllo cablato, e circuiti combinatori più veloci, (un intero settore di ricerca): l presentata nel testo particolarmente inefficiente. esecuzione parallela, spezzare l esecuzione della micro-operazione in più stadi: la tecnica della pipeline (Architettura degli Elaboratori) Processore 49 / 81 (Architettura degli Elaboratori) Processore 50 / 81 MAR Terzo progetto: Mic-3 Memory control registers Mic-3 Pipeline To and from main memory Control signals Enable onto B bus Write C bus to register Instruction fetch (IFU) C bus C latch MDR PC MBR1 MBR2 SP LV CPP TOS OPC H A latch A bus B latch B bus Pipeline: l esecuzione della micro-operazione viene divisa in più stadi ogni stadi eseguito più rapidamente i diversi stadi eseguiti in contemporanea su più istruzioni control 6 N Z Shifter (Architettura degli Elaboratori) Processore 51 / 81 (Architettura degli Elaboratori) Processore 52 / 81

14 Pipeline Paragoni Possibile paragone preso dalla vita comune, una lavanderia: vestiti da lavare micro-operazioni lavaggio acquisire i dati di ingresso asciugatura calcolo del risultato stiratura memorizzazione del risultato Le varie fasi di lavoro sono portata avanti in parallelo. (Architettura degli Elaboratori) Processore 53 / 81 La pipeline, secondo paragone. La catena di montaggio: il lavoro viene scomposto in fasi, ognuna eseguita da un dispositivo specifico, si svolgono le diverse fasi, su componenti diverse, in parallelo. In un processore si parallelizza l esecuzione delle micro-operazioni, (ciclo di clock); si migliora la banda passante ma non i tempi di risposta. Tecnica (Architettura degli utilizzata Elaboratori) in tutti Processore i processori. In ambito Intel: 54 / 81 dal 486 in poi (1989). Esempio di scomposizione: S1 S2 S3 S4 S5 Altro esempio: Instruction fetch Instruction decode Operand fetch Instruction execution Write back (a) IFU Decoder Queue Operands Exec Write back Memory S1: S2: S3: S4: S5: Time (b) Processori diversi usano scomposizioni, strutture della pipeline, diverse. Lunghezza tipica di una pipeline: 7 14 stadi. Caso limite Pentium IV: 20 stadi di pipeline (guerra dei GHz). (Architettura degli Elaboratori) Processore 55 / 81 (Architettura degli Elaboratori) Processore 56 / 81

15 Processori superscalari Aumentano ulteriormente il parallelismo: si migliora il rapporto istruzioni cicli di clock, Iniziano contemporaneamente l esecuzione di più istruzioni: più pipeline operanti in parallelo. S1 S2 S3 S4 S5 Instruction fetch Instruction decode Instruction decode Operand fetch Operand fetch Instruction execution Instruction execution Write back Write back Processori superscalari I primi stadi (singoli) prelevano più istruzioni dalla memoria, e le decodificano. Le istruzioni smistate su stadi successivi multipli. Spesso, uno stadio finale singolo che termina, in ordine, le istruzioni. (Architettura degli Elaboratori) Processore 57 / 81 (Architettura degli Elaboratori) Processore 58 / 81 Pipeline specializzate. Fetch Decode Group Esempio: processore SPARC Execute Register Integer pipeline Cache N 1 N 2 X 1 X 2 X 3 Floating-point/graphics pipeline Attualmente processori con 4-15 pipeline, decine di micro-istruzione in contemporanea. N 3 Write Problemi del parallelismo Processori superscalari possono, potenzialmente, eseguire decine di istruzioni contemporaneamente. Due fenomeni impediscono un completo sfruttamento del parallelismo. Dipendenza tra istruzioni. Istruzioni di salto. (Architettura degli Elaboratori) Processore 59 / 81 (Architettura degli Elaboratori) Processore 60 / 81

16 Dipendenza tra istruzioni: In un programma le istruzioni sono stato pensate per essere eseguite in ordine. Un esecuzione parallela, senza controlli, può portare a risultati scorretti. Tre casi: RAW Read After Write: R0 = R1 R2 = R0 + 1 WAR Write After Read: R1 = R0 +1 R0 = R2 WAW Write After Write: R0 = R1 (Architettura degli Elaboratori) Processore 61 / 81 R0 = R2 + 1 Dipendenza tra istruzioni Le dipendenze vengono rilevate mediante una tabella delle dipendenze (scoreboard): memoria interna al processore che conta per ogni registro, le operazioni, di lettura e scrittura, in sospeso su quel registro. Le istruzioni dipendenti devono essere sospese: decadimento delle prestazioni, eseguiamo meno operazioni di quelle teoricamente possibili. Si creano bolle, zone inattive, nella pipeline. (Architettura degli Elaboratori) Processore 62 / 81 Gestire la dipendenza tra istruzioni Tecniche per recuperare le prestazioni perse: esecuzione fuori ordine: si mandano in esecuzione le istruzioni non dipendenti; registri ombra: si usano copie di registri su cui memorizzare temporaneamente i dati; register renaming: si usano nuovi registri, non specificati dal codice. multi-threading (hyper-threading): si eseguono più programmi contemporaneamente, necessario duplicare i registri. Primo passo verso processori multicore. (Architettura degli Elaboratori) Processore 63 / 81 Istruzioni di salto condizionato Problematiche per i processori con pipeline: il processore impiega alcuni cicli di clock per valutare la condizione, nel frattempo, non sa quali istruzioni eseguire. Due possibili soluzioni: stall non si inizia alcuna istruzione: corretta ma con decadimento delle prestazioni; si fa una predizione di salto: taken, not taken, si inizia l esecuzione condizionata di alcune istruzioni: esecuzione annullata se la previsione si rivela (Architettura degli Elaboratori) Processore 64 / 81

17 Tecniche per la predizione di salto Due classi: predizione statica, sul codice: semplice: si eseguono i salti indietro, suggerite dal compilatore, programmatore: istruzioni di salto con suggerimento, predizione dinamica, sull esecuzione: viene usata una history table (ricorda il comportamento passato di alcune istruzioni di salto, poche istruzioni, pochi bit), In un programma numerose istruzioni di salto: una buona predizione di salto è fondamentale per le prestazioni. (Architettura degli Elaboratori) Processore 65 / 81 Esecuzione Speculativa: nel caso di salto condizionato, non si tenta la predizione ma si eseguono entrambe le possibili continuazioni del programma. Pur di alimentare il processore, si eseguono anche alcune istruzioni che sicuramente verranno scartate. Problemi: l esecuzione deve essere reversibile: registri ombra, istruzioni che generano trap, evitare l esecuzione di istruzioni costose: SPECULATIVE LOAD. (Architettura degli Elaboratori) Processore 66 / 81 evensum = 0; oddsum = 0; i = 0; while (i < limit) { Esecuzione Speculativa evensum = 0; oddsum = 0; i = 0; i >= limit while (i < limit) La memoria principale troppo lenta La differenza di velocità tra processore e memoria è aumenta col tempo. } k = i * i * i; k = i * i * i; if ((i/2) * 2) == 0) else evensum = evensum + k; oddsum = oddsum + k; i = i + 1; (a) T if ((i/2) * 2) = = 0) evensum = evensum + k; oddsum = oddsum + k; i = i + 1; (b) F L accesso in memoria operazione costosa: il processore deve attendere il dato per più di una decina di cicli di clock. Memoria Cache: memoria piccola e veloce: contiene i dati utilizzati più frequentemente. (Architettura degli Elaboratori) Processore 67 / 81 (Architettura degli Elaboratori) Processore 68 / 81

18 Funzionamento: La memoria cache prima si cerca il dato in cache (cache hit), in caso di fallimento (cache miss): si carica il dato in cache dalla memoria principale. Migliori prestazioni solo con numerosi cache hit. (Architettura degli Elaboratori) Processore 69 / 81 Cache a più livelli Aumenta il divario di velocità tra CPU RAM; per evitare cache miss troppe costose, un secondo livello di cache: più ampio tecnologia meno costosa più lento contiene un sovrainsieme della memoria di primo livello Spesso sono presenti 3 livelli di cache. Esempio - Sandy Bridge: livello 1: 32KB; livello 2: 256KB, livello 3: 1 20MB; (Architettura degli Elaboratori) Processore 70 / 81 Split cache Esempio di configurazione cache divisa in due parti: dati e istruzioni normalmente cache L1 (di primo livello) permette di parallelizzare l accesso in memoria l IFU accede alle istruzioni l à Dispatch/Execute accede ai dati CPU package Processor board CPU chip L1-I L1-D Unified L2 cache Keyboard controller Graphics controller Disk controller Unified L3 cache Main memory (DRAM) Split L1 instruction and data caches Board-level cache (SRAM) (Architettura degli Elaboratori) Processore 71 / 81 (Architettura degli Elaboratori) Processore 72 / 81

19 Valutazione delle prestazioni Le velocità di un calcolatore con processore superscalare dipende fortemente da quanto viene sfruttato il potenziale parallelismo: percentuale delle istruzioni non bloccate per dipendenze, percentuale di predizioni di salto corrette, percentuale cache hit. Queste percentuali difficilmente valutabili a tavolino, dipendono dal tipo di programmi eseguiti. Una corretta valutazione delle prestazione può essere fatto solo tramite test. (Architettura degli Elaboratori) Processore 73 / 81 Architettura Sandy Bridge CPU Corei-7, Architett. Sandy-Bridge multicore, hyper-threading; processore CISC con cuore RISC; i primi stadi della pipeline traducono codice CISC in istruzioni RISC, depositate nella cache L0; più simile al Pentium II (P6) che al Pentium 4; risparmio energetico; predizione di salto sofisticata (algoritmo segreto) controllore memoria, cache L3 (condivisa) e processore grafico integrati nello stesso chip; nuove istruzioni grafiche AVX (Advanced Vector (Architettura degli Elaboratori) Processore 74 / 81 Extensions); Sandy Bridge, pipeline (Architettura degli Elaboratori) Processore 75 / 81 (Architettura degli Elaboratori) Processore 76 / 81

20 Sandy bridge, chip Architettura Cortex A9 Progettata ARM ltd, realizzata da vari costruttori; core che viene integrato in SoC (System on Chip), (calcolatori su un singolo chip) implemeta istruzione ARMv7 strutturalmente abbastanza simile al Sandy Bridge, manca lo stadio iniziale di traduzione istruzioni CISC -> RISC. (Architettura degli Elaboratori) Processore 77 / 81 (Architettura degli Elaboratori) Processore 78 / 81 Architettura Cortex A9 Architettura Cortex A9 (Architettura degli Elaboratori) Processore 79 / 81 (Architettura degli Elaboratori) Processore 80 / 81

21 Architettura Cortex A9 (Architettura degli Elaboratori) Processore 81 / 81

Struttura schematica di un calcolatore. Processore. Componenti processore: Data Path. Il processore (CPU) Data Path. Micro-operazione.

Struttura schematica di un calcolatore. Processore. Componenti processore: Data Path. Il processore (CPU) Data Path. Micro-operazione. Processore Presentazione a livelli del calcolatore: dopo porte logiche, circuiti base e memorie, esaminiamo il: Processore (CPU - Central Processing Unit): cuore del calcolatore, l à che esegue le istruzioni

Dettagli

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2

La CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2 La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri

Dettagli

06 Livello di micro architettura

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

Dettagli

Architettura hardware

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

Dettagli

Il processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione

Dettagli

Macchine Astratte. Luca Abeni. February 22, 2017

Macchine Astratte. Luca Abeni. February 22, 2017 Macchine Astratte February 22, 2017 Architettura dei Calcolatori - 1 Un computer è composto almeno da: Un processore (CPU) Esegue le istruzioni macchina Per fare questo, può muovere dati da/verso la memoria

Dettagli

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente

Dettagli

Componenti di un processore

Componenti di un processore Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria

Dettagli

Componenti e connessioni. Capitolo 3

Componenti e connessioni. Capitolo 3 Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Cos'è un calcolatore? Architettura dei calcolatori Esecutore automatico di algoritmi Macchina universale Elementi di Informatica Docente: Giorgio Fumera Corso di Laurea in Edilizia Facoltà di Architettura

Dettagli

Capitolo 5 Elementi architetturali di base

Capitolo 5 Elementi architetturali di base Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo

Dettagli

Il Processore: l unità di controllo

Il Processore: l unità di controllo Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di

Dettagli

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

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

Dettagli

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

Dettagli

Il Processore. Informatica di Base -- R.Gaeta 27

Il Processore. Informatica di Base -- R.Gaeta 27 Il Processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

Dettagli

Integer Java Virtual Machine (IJVM)

Integer Java Virtual Machine (IJVM) Integer Java Virtual Machine (IJVM) Calcolatori Elettronici II Prof. Antonino Mazzeo mazzeo@unina.it Ing. Luigi Romano Ing. Alessandro Cilardo Ing. Luigi Coppolino lrom@unina.it acilardo@unina.it lcoppoli@unina.it

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Pipeline nel Mondo Reale

Pipeline nel Mondo Reale Pipeline nel Mondo Reale Luca Abeni May 26, 2016 Pipeline Ideali... Abbiamo visto come fare il bucato eseguire un istruzione macchina usando un pipeline... Pipeline a 5 stadi: Fetch Decode Exec Memory

Dettagli

Il processore Pentium

Il processore Pentium Caratteristiche principali (I) Architettura interna a 32 bit Address bus a 32 bit: si possono indirizzare fino a 4 GB di memoria fisica Data bus a 64 bit (si tratta in pratica di 2 data bus a 32 bit in

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa) Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica

Dettagli

Il livello della CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) che costituisce la CPU.

Il livello della CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) che costituisce la CPU. Il livello della microarchitettura descrive il funzionamento interno di una CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) vengono interpretate ed eseguite dall hardware (livello

Dettagli

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1)

Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1) Architettura dei sistemi di elaborazione: La CPU: Architettura (parte1) La CPU Architettura L organizzazione interna di una CPU è caratterizzata dal data path, che è costituito da una serie di componenti,

Dettagli

La memoria principale

La memoria principale La memoria principale DRAM (Dynamic RAM) il contenuto viene memorizzato per pochissimo tempo per cui deve essere aggiornato centinaia di volte al secondo (FPM, EDO, SDRAM, RDRAM) SRAM (Static RAM) veloce

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC

Dettagli

Lezione 15. L elaboratore Elettronico

Lezione 15. L elaboratore Elettronico Lezione 15 Architettura di un calcolatore L elaboratore Elettronico Un elaboratore elettronico è una macchina elettronica in grado di elaborare dati secondo le specifiche fornite da un algoritmo Internamente

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Il livello della CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) che costituisce la CPU.

Il livello della CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) che costituisce la CPU. Il livello della microarchitettura descrive il funzionamento interno di una CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) vengono interpretate ed eseguite dall hardware (livello

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli

Architettura dei computer

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

Dettagli

Microarchitettura. Giacomo Fiumara Anno Accademico / 101

Microarchitettura. Giacomo Fiumara Anno Accademico / 101 Microarchitettura Giacomo Fiumara gumara@unime.it Anno Accademico 2014-2015 1 / 101 Introduzione 2 / 101 Introduzione Il livello di micro-architettura implementa le funzioni del livello sovrastante ISA

Dettagli

Linguaggio Assembly e linguaggio macchina

Linguaggio Assembly e linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano

Dettagli

Architettura di una CPU

Architettura di una CPU Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1

Dettagli

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina

Dettagli

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf

Architettura di un calcolatore e ciclo macchina. Appunti per la classe 3 Dinf Architettura di un calcolatore e ciclo macchina Appunti per la classe 3 Dinf Il Sistema di Elaborazione Computer Hardware Software 2 Hardware Struttura fisica del calcolatore formata dai circuiti elettronici

Dettagli

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU: Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema

Dettagli

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti)

Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti) (3 punti) Cognome e Nome: Matr.: Architettura degli Elaboratori Inf A 14 febbraio 2013 Esercizio 1.A Aritmetica binaria (nel presentare le soluzione mostrare, almeno nei passaggi piú significativi, i calcoli eseguiti)

Dettagli

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2

Lez. 4 L hardware. Prof. Pasquale De Michele Gruppo 2 Lez. 4 L hardware 1 Dott. Pasquale De Michele Dipartimento di Matematica e Applicazioni Università di Napoli Federico II Compl. Univ. Monte S.Angelo Via Cintia, I-80126, Napoli pasquale.demichele@unina.it

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40) Macchina di Von Neumann: Non distingueva fra RAM e ROM

Dettagli

Parte V. Architettura della CPU

Parte V. Architettura della CPU Parte V Architettura della CPU V.1 Interpretazione delle istruzioni In un architettura microprogrammata le istruzioni macchina non sono eseguite direttamente dall hardware L hardware esegue istruzioni

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

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da

Dettagli

Lecture 2: Prime Istruzioni

Lecture 2: Prime Istruzioni [http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 2: Prime Istruzioni

Dettagli

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton.

Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. Architettura di un Elaboratore Organizzata secondo il modello della macchina di von Neumann definita nei tardi anni 40 all Institute for Advanced Study di Princeton. È costituita da quattro elementi funzionali

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

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003 Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program

Dettagli

Come funzionano i computer

Come funzionano i computer Fluency Come funzionano i computer Capitolo 6 Cosa sanno fare Esecuzione deterministica istruzioni per elaborare dati Devono ricevere una serie di istruzioni da seguire Cosa non sanno fare Non hanno immaginazione

Dettagli

CALCOLATORI ELETTRONICI

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

Dettagli

Esercizi su Microarchitetture. Università Roma Tre

Esercizi su Microarchitetture. Università Roma Tre Esercizi su Microarchitetture Prof. Riccardo Torlone Università Roma Tre Architetture di CPU I Si vuole realizzare una semplice CPU con architettura CISC a 8 bit dotata di due registri general purpose,

Dettagli

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Architettura dei sistemi a microprocessore prof. Stefano Salvatori A.A. 2014/2015 Eccetto dove diversamente specificato, i contenuti

Dettagli

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer)

Fasi (MIPS) Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Fasi (MIPS) Fasi senza pipeline: IF (istruction fetch): IR Mem[PC] ; NPC PC + 4 ; Dove NPC è un registro temporaneo PC (program counter) è il registro IP (instruction pointer) Lezione Architettura degli

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

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

Lezione4: MIPS e Istruzioni (1 Parte)

Lezione4: MIPS e Istruzioni (1 Parte) Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi mnappi@unisa.it http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA

Dettagli

Introduzione all'architettura dei Calcolatori

Introduzione all'architettura dei Calcolatori Introduzione all'architettura dei Calcolatori Architettura dei calcolatori Che cos è un calcolatore? Come funziona un calcolatore? un calcolatore è un sistema un sistema è un oggetto costituito da molte

Dettagli

Struttura di un elaboratore

Struttura di un elaboratore Testo di rif.to: [Congiu] -.1,.2 (pg. 80 9) Struttura di un elaboratore 01.b Blocchi funzionali La memoria centrale Suddivisione in blocchi funzionali 1 I blocchi funzionali di un elaboratore Organizzazione

Dettagli

Lezione 7 Sommatori e Moltiplicatori

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

Dettagli

Introduzione alle gerarchie di memoria

Introduzione alle gerarchie di memoria Introduzione alle gerarchie di memoria 1 Un ripasso Circuito sequenziale Segnale di clock Circuito sincrono Temporizzazione sensibile ai fronti Latch tipo S-R Latch tipo D Flip-flop tipo D Register file

Dettagli

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica

Architettura del processore. Modello di calcolatore. Caratteristiche del processore. Caratteristiche del processore. Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Architettura e funzionamento del calcolatore 20 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer?

Architettura dei calcolatori. Architettura dei calcolatori. Cos'è un computer? Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ 2 Cos'è un computer? 3 Cos'è un computer? E' un dispositivo in grado di Elaborare

Dettagli

Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline

Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline Anno Accademico 2013/2014 Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline Prof. Riccardo Torlone Universita di Roma Tre Ritorniamo all approccio di San Clemente.. Riccardo Torlone

Dettagli

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect)

Indirettezza. Fetch/Execute. Fetch/Execute. Introduzione della Indirettezza (indirect) Ciclo esecutivo delle istruzioni: Fetch/Execute Lo avete visto nel corso di Introduzione alle Architetture degli Elaboratori Stallings, Capitolo 3 Ne vediamo una versione revisionata Indirettezza Per recuperare

Dettagli

Architettura dei calcolatori I parte Introduzione, CPU

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

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Architettura dei calcolatori 2 Cos'è un computer?

Dettagli

Hardware. Sommario. Architettura dei computer

Hardware. Sommario. Architettura dei computer Hardware Da leggere: Cap.4-4.1 Sawyer, Williams (testo A) I parte Sommario Quali sono le principali componenti del sistema (analisi funzionale dell'architettura)? Come funzionano il microprocessore e la

Dettagli

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.

Accesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A. < < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte

Dettagli

Hardware. I parte. Sommario

Hardware. I parte. Sommario Hardware Da leggere: Cap.4-4.1 Sawyer, Williams (testo A) I parte Sommario Quali sono le principali componenti del sistema (analisi funzionale dell'architettura)? Come funzionano il microprocessore e la

Dettagli

Struttura hw del computer

Struttura hw del computer Informatica per laurea triennale facoltà di medicina LEZIONE 3 Il processore, la memoria e l esecuzione dei programmi 1 Struttura hw del computer Il nucleo di un computer è costituito da 3 principali componenti:

Dettagli

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di

DEFINIZIONE. particolare l'unità di elaborazione centrale è una tipologia di CORSO BASE DI TECNICO RIPARATORE HARDWARE CPU Docente: Dott. Ing. Antonio Pagano DEFINIZIONE L'unità di elaborazione centrale o CPU è una tipologia di processore digitale general purpose la quale si contraddistingue

Dettagli

Elementi di Architettura

Elementi di Architettura Elementi di Architettura Fondamenti di Informatica Roberto BASILI Marzo, 2007 Classi di Istruzioni Istruzioni di assegnamento/modifica Istruzioni di controllo delle sequenze Istruzioni di I/O Classi di

Dettagli

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche 3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni

Dettagli

Corso di Architettura (Prof. Scarano) 09/04/2002

Corso di Architettura (Prof. Scarano) 09/04/2002 Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno

Dettagli

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza

Abilità Informa/che. capitolo 3. Prof. Fabio Calefato a.a Giurisprudenza Abilità Informa/che capitolo 3 Prof. Fabio Calefato a.a. 2015-16 Giurisprudenza Archite3ura Hardware Degli Elaboratori Elemen> della macchina di Von Neumann Memoria principale Processore Memoria secondaria

Dettagli

CPU. Maurizio Palesi

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

Dettagli

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O

L ARCHITETTURA DEI CALCOLATORI. Il processore La memoria centrale La memoria di massa Le periferiche di I/O L ARCHITETTURA DEI CALCOLATORI Il processore La memoria centrale La memoria di massa Le periferiche di I/O Caratteristiche dell architettura 2 Flessibilità adatta a svolgere diverse tipologie di compiti

Dettagli

HARDWARE 1.4a: (Processore)

HARDWARE 1.4a: (Processore) HARDWARE 1.4a: (Processore) 2 23 nov 2011 Bibliografia Curtin, Foley, Sen, Morin Informatica di base, Mc Graw Hill Sciuto, Buonanno, Mari, Introduzione ai sistemi informatici, Mc Graw Hill Questi lucidi

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori circuiti combinatori: ALU slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello 1 ALU ALU (Arithmetic Logic Unit) circuito combinatorio all interno del processore per l esecuzione di istruzioni

Dettagli

static dynamic random access memory

static dynamic random access memory LA MEMORIA SRAM e D R A M static dynamic random access memory SRAM: unità che memorizza un gran numero di parole in un insieme di flip-flop, opportunamente connessi, mediante un sistema di indirizzamento

Dettagli

Fondamenti di Informatica Architettura del Calcolatore Alessandra Volpato

Fondamenti di Informatica Architettura del Calcolatore Alessandra Volpato Fondamenti di Informatica Architettura del Calcolatore Alessandra Volpato E-mail: ale.volpato@ieee.org Sistema Informativo: Insieme di componenti in relazione tra loro che raccoglie, estrae, elabora, memorizza

Dettagli

Elementi di base del calcolatore

Elementi di base del calcolatore Elementi di base del calcolatore Registri: dispositivi elettronici capaci di memorizzare insiemi di bit (8, 16, 32, 64, ) Clock: segnale di sincronizzazione per tutto il sistema si misura in cicli/secondo

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il calcolatore. Architettura di un calcolatore (Hardware) Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti

Dettagli

Cicli di clock e istruzioni

Cicli di clock e istruzioni Cicli di clock e istruzioni Numero di cicli di clock differenti per istruzioni differenti Le moltiplicazioni impiegano più tempo delle addizioni Operazioni in virgola mobile impiegano più tempo delle operazioni

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

Controllo a ciclo singolo

Controllo a ciclo singolo Controllo a ciclo singolo Il controllo della CPU a singolo ciclo è combinatorio Il datapath è invece un circuito sequenziale i suoi output dipendono anche dal valore dei registri es. Zero, oppure l indirizzo

Dettagli

Architetture Digitali

Architetture Digitali Corso di Lezione 3 Sintesi RTL Federico Pedersini Laboratorio di (DALab) Dipartimento di Scienze dell Informazione Università degli Studi di Milano Riferimenti bibliografici: [1] F. Fummi, M. Sami, C.

Dettagli

Tecniche di parallelismo, processori RISC

Tecniche di parallelismo, processori RISC Testo di riferimento: [Congiu] 9.1-9.3 (pg. 253 264) Tecniche di parallelismo, processori RISC 09.a Pipelining Altre tecniche di parallelismo Processori superscalari Caratteristiche dei processori RISC

Dettagli

Pipeline Problemi 1. Pipeline Problemi 2

Pipeline Problemi 1. Pipeline Problemi 2 Problemi 1 Vari fenomeni pregiudicano il raggiungimento del massimo di parallelismo teorico (stallo) Sbilanciamento delle fasi Durata diversa per fase e per istruzione Problemi strutturali La sovrapposizione

Dettagli

LEZIONE 2 Il processore e la memoria centrale

LEZIONE 2 Il processore e la memoria centrale Informatica per Igienisti Dentali LEZIONE 2 Il processore e la memoria centrale 1 Il linguaggio macchina Il processore è in grado di riconoscere (e quindi di eseguire) solo programmi scritti in un proprio

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

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

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

Dettagli

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div

Dettagli

Sistemi di numerazione

Sistemi di numerazione SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica

Dettagli

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association)

Informatica: Lez. 1. Andrea Payaro. (European Logistics Association) Informatica: Lez. 1 Andrea Payaro Consulente Certificato da ELA (European Logistics Association) andrea@payaro.it Andrea Payaro Ph.D. in Business Management at University of Padova Committee member of

Dettagli

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

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

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-La memoria 1 Prerequisiti Concetto di memoria Dati e istruzioni Bit e byte 2 1 Introduzione In questa Unità studiamo più in dettaglio la memoria del computer e le sue funzioni.

Dettagli

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Architettura di Von Neumann. Architettura di Von Neumann. Architettura di Von Neumann INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Computer elaboratore di informazione riceve informazione in ingresso (input) elabora questa informazione restituisce informazione ottenuta elaborando

Dettagli

Lezione 1: L hardware

Lezione 1: L hardware Architettura del calcolatore Lezione 1: L hardware Architettura Componenti e funzionamento Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle

Dettagli