Estensioni all’architettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali Indice • Limiti dell’architettura di Von Neumann • Estensioni all’architettura di Von Neumann • Architetture CISC e RISC Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 2 1 La macchina di Von Neumann Bus di sistema Unità di Elaborazione (CPU) Copyright © 2004 - The McGraw-Hill Companies, srl Memoria Centrale (MM) Interfaccia Periferica P1 Interfaccia Periferica P2 Architetture Informatica A – V. Perrone 3 Limiti e soluzioni proposte • Limiti dell’architettura di Von Neumann: – Esecuzione strettamente sequenziale – Problema del “collo di bottiglia del bus di Von Neumann” • Soluzioni proposte: – Coprocessori dedicati (es. coprocessore su scheda grafica) – Modifiche all’architettura di Von Neumann: • • • • • • Pipelining: fetch, interpretazione, esecuzione Long Instruction Word (LIW) Hyper-Threading (Es. P4) Gerarchie di memoria Processori dedicati (DMA) Architetture multiprocessore: vari schemi di interconnessione Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 4 2 Pipelining (1) • Elaborazione parallela delle fasi delle istruzioni • Funziona come una catena di montaggio: … Istruzione 5 Istruzione 4 Fetch Istruzione 3 Interpretazione Istruzione 2 Pipeline a tre stadi Esecuzione Istruzione 1 Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 5 Pipelining (2) • Superpipeline: aumenta il numero di stadi stadio semplice da realizzare veloce • Superscalare: più unità di esecuzione nel processore più istruzioni in ogni stadio della pipeline • Esecuzione speculativa: – Schedulazione dinamica della pipeline (Circuiti logici che riducono gli effetti dello stallo) – Attenua il problema dello stallo nella pipeline (quando l’esecuzione di un’istruzione dipende dal risultato della precedente) – Tecniche di predizione dei salti • Es. P4: usa tutte le precedenti tecniche Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 6 3 LIW – Long Instruction Word • Tecnica mista hardware/software • Il compilatore genera gruppi di istruzioni in cui garantisce l’assenza di dipendenze reciproche • Il processore può quindi eseguire in parallelo le istruzioni dei gruppi • VLIW • Processore Intel Itanium. • Quali problemi rispetto alle precedenti tecniche? Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 7 Hyper-Threading • Consente ai programmi di “vedere” due processori • Il processore eseguire due serie (threads) di istruzioni allo stesso tempo • Particolarmente adatto in presenza di ambienti multitasking Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 8 4 Gerarchie di memoria • Si usano diversi tipi di memoria, ognuna dotata di costi e prestazioni via via crescenti • Memoria cache: memoria dotata di elevata velocità di accesso, ma molto costosa • Tipicamente ci saranno: CPU – La memoria cache – La memoria centrale – La memoria di massa Cache Memoria centrale Memoria di massa Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 9 DMA – Direct Memory Access • Processori dedicati che accedono direttamente alla memoria centrale • Mem. Massa <-> Mem. Centrale • Canali di ingresso/uscita • Non interferiscono con il normale funzionamento dell’unità di elaborazione Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 10 5 Architetture multiprocessore • Più processori • Più unità di memoria • Processori e memorie sono interconnessi tra loro – Vari schemi possibili • Adatte per eseguire applicazioni altamente parallelizzabili • Se aggiungiamo 9 processori otteniamo un aumento del 900% delle prestazioni? Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 11 Come classifichiamo i calcolatori? • Microcalcolatore (PC), workstation, minicalcolatore, mainframe, supercalcolatore • Come li classifichiamo? – Dimensioni – Prestazioni (potenza di elaborazione) • Tendenza tecnologica e compatibilità verso l’alto • Un’altra classificazione: filosofia di progettazione del linguaggio macchina – CISC – RISC Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 12 6 L’architettura CISC • Molto diffusa, specialmente in passato – Intel 80x86 (Famiglia processori Intel) – Motorola 680x0 (Famiglia processori Macintosh della Apple) • Il set di istruzioni del processore: – Comprende un numero elevato di istruzioni) – Le istruzioni non sono omogenee tra loro – Svariate modalità di indirizzamento della memoria (diretto, indiretto, tramite registro indice…) – Vi sono anche istruzioni molto complesse: esecuzione di molte micro-istruzioni e struttura HW complessa – La maggior parte delle istruzioni ha bisogno, per essere eseguita, di un numero elevato di cicli • L’elaborazione di ogni istruzione è piuttosto complessa • Si adatta male all’uso di tecniche come il pipelining Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 13 L’architettura RISC • Una tendenza ormai affermata • Il set di istruzioni del processore: – Comprende un numero limitato di istruzioni – Le istruzioni sono omogenee tra loro e sono divise in: • Istruzioni che elaborano dati tra registri • Istruzioni che leggono/scrivono da un registro a memoria centrale – Poche modalità di indirizzamento della memoria – Le istruzioni sono tipicamente molto semplici – La maggior parte delle istruzioni è eseguita in un unico ciclo • A parità di applicazione il processore esegue più istruzioni, ma l’elaborazione di ognuna di esse è molto veloce • Si adatta molto bene all’uso di tecniche come il pipelining Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 14 7 Architetture miste (CRISC) • Processore con set di istruzioni tipo CISC • Il processore traduce delle istruzioni CISC in micro-istruzioni più semplici (in stile RISC) • Le micro-istruzioni sono poi eseguite dal “cuore” del processore, costruito secondo la filosofia RISC • Dette anche architetture CRISC • ES. Pentium Copyright © 2004 - The McGraw-Hill Companies, srl Architetture Informatica A – V. Perrone 15 8