Architettura dei sistemi di elaborazione: Modelli...

30
Architettura dei sistemi di elaborazione: Modelli Architetturali La CPU: Generalità

Transcript of Architettura dei sistemi di elaborazione: Modelli...

Page 1: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Architettura dei sistemi dielaborazione:

Modelli ArchitetturaliLa CPU: Generalità

Page 2: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

La “preistoria” dei sistemi di elaborazione

•Fin dai tempi piùantichi l’uomo hacostruito apparecchiutili per alleviare losforzo per il calcoloe per evitare errori.•Fra i più antichiricordiamo

–Abaco–Pallottoliere

Page 3: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Prime macchine per l’elaborazione

•Blaise Pascal (1623-1662) realizzò laprima macchina a ruote dentate in grado dieseguire somme e sottrazioni (pascaline)

•Gottfried Wilhelm Leibniz (1646-1716)progettò la prima macchina in grado dieseguire tutte e quattro le operazioniaritmetiche.

•Le macchine calcolatrici dei secoli XVII eXVIII non erano computer nel sensomoderno del termine; dotate di un numeroprestabilito di operazioni, non potevanoessere programmate e l’utente dovevalimitarsi a utilizzarle per eseguireun’operazione dopo l’altra.

Page 4: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Macchine più complesse per la soluzione diproblemi particolari

•Inizio '800 Babbage–Macchina alle differenze–(tavole di calcolo)

•Fine '800 Hollerith–Censimento U.S.A. 1890–(utilizzo di schedeperforate)

•1927 Bush–Macchina per il calcolodegli integrali

Page 5: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

I primi calcolatori

•Zuse (Germania)1938

–Costruzione dello Z1(interamente meccanico)

–Operazioni binarie invirgola mobile

–Nastro contenete leoperazioni da eseguire

–Passaggio ai relais(elettromeccanico) nellacostruzione dello Z2 esuccessivamente dello Z3(1941)

Page 6: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

I primi calcolatori

•Aiken (U.S.A.) 1943–Costruzione del Mark Inei laboratori I.B.M.

–(elettromeccanico)

•Prestazioni:–- somma in 0.3 secondi–- moltiplicazione in 4secondi

–- divisione in 10 secondi

Page 7: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

ENIAC (Electronic NumericalIntegrator and Computer)

•E’ la prima macchina completamente elettronica•Costruito nell’immediato dopoguerra, presso l’Università dellaPennsylvania

•Commissionato dal ministero della Difesa degli Stati Uniti alloscopo di calcolare le traiettorie di bombe e proiettili

•Caratteristiche:–18 000 valvole termoioniche–30 tonnellate–alto 2 metri e mezzo–occupava 160 metri quadrati–aveva bisogno di 150 kilowatt di energia elettrica, cheproducevano una quantità di calore con cui si potevariscaldare un intero palazzo

Page 8: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

ENIAC

Page 9: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

L'UNIVAC fu il primo calcolatore elettronico in grado di conservare ilprogramma all'interno della memoria (grazie ad un'importanteinnovazione dovuta al matematico John Von Neumann).

I Generazione - UNIVAC

Page 10: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

II Generazione (1955-1965)Tecnologia a transistor

•TXO e TX2 macchine sperimentali costruite al MIT•Uno dei progettisti del TX2 fonda una propria società laDigital Equipment Corporation (DEC)

• La DEC produce il PDP-1 (1961):– Memoria: 4k parole di 18 bit– Tempo di ciclo di 4 sec– Prestazioni simili all’IBM 7090– Prezzo meno di un decimo– Schermo grafico 512 512 pixel (primi videogiochi)– Comincia la produzione di massa

Page 11: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

II Generazione: Minicomputer

•DEC PDP-8 (1965)•Successore diretto del PDP-1•Interconnessione a bus, molto flessibile•Architettura incentrata sull’I/O•Possibilità di connettere qualsiasi periferica•Prodotto in oltre 50.000 esemplari

Page 12: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

II Generazione: Supercomputer

•Macchine molto potenti dedicate al numbercrunching

•10 volte più veloci del 7090• Architettura molto sofisticata• Parallelismo all’interno della CPU• Nicchia di mercato molto specifica (resta veroanche oggi)

• CDC 6600 (1964)• Progettista del CDC 6600 è Seymour Cray, poifondatore della CRAY

Page 13: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

III Generazione (1965-1980)Tecnologia LSI e VLSI

• Evoluzione dell’architettura HW– Microprogrammazione– Unità veloci floating-point– Processori ausiliari dedicati alla gestione dell’I/O

•Evoluzione dei Sistemi Operativi– Virtualizzazione delle risorse– Multiprogrammazione: esecuzione concorrente dipiù programmi

– Memoria Virtuale: rimuove le limitazioni dovute alledimensioni della memoria fisica

Page 14: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

III GenerazioneIBM: Serie IBM System/360 (famiglia elab.)•Macchine con lo stesso linguaggio•Range di prestazioni (e prezzo) 1-20•Completa compatibilità•Portabilità totale delle applicazioni• OS comune OS/360Digital PDP 11•Architettura a bus (Unibus)•Prodotto in milioni di esemplari•Sistema operativo UNIX, indipendente dallapiattaforma

Page 15: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Il termine microprocessore venne usato per la prima volta da Intelnel 1971, quando introdusse un computer microprogrammabile suun unico chip, la CPU Intel 4004 era completa di:- sommatore parallelo a 4 bit- 16 registri a 4 bit- un accumulatore- uno stack

Frequenza massima di clock: 740KHz.

Con l’aggiunta di memorie di tipo RAM e ROM, la CPU 4004costituiva il sistema MCS-4.

Realizzata con la stessa tecnologia, nel 1972 uscì la CPUIntel 8008, la prima in grado di operare a 8 bit.Frequenza massim di clock: 800KHz.

I primi microprocessori

Page 16: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

…. nacque il Personal Computer

•fine anni 70: Apple I, progettato in un garage nel tempolibero, venduto in scatola di montaggio

•1981 PC IBM con Intel 8088 e MS DOS (Disk OperatingSystem) della minuscola Microsoft

•1981 PC M-20, della Olivettiprocessore Z8001 a 16 bit, OS proprietario, PCOS

•1983 PC M-24, della Olivettiprocessore 8086, MS DOS

•Informatica diffusa non solo per specialisti (importanzadei videogames)

•Duopolio Intel/Microsoft•Apple: “prestazioni migliori” , “costi elevati”, comevedremo dovuta a migliore organizzazione dei bus

Page 17: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Calcolatore elettronico oggi…

Sistema elettronico digitale programmabileElettronico digitale

• Sfrutta componenti elettronici digitali (portelogiche) che operano su grandezze binarie(bit) che possono assumere due soli valori (0e 1)

Sistema: Parti (o componenti) cheinteragiscono in modo organico fra loro(architettura di von Neumann)Programmabile

• Il comportamento del sistema è flessibile especificato mediante un programma, ossia uninsieme di ordini

Page 18: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Vantaggi dei sistemi digitali

•Riproducibilità del segnale analogico–a meno dell’errore di rappresentazione

•Facilità di progetto•Flessibilità•Programmabilità•Velocità di funzionamento (ns, 10-9 s)•Economia

Page 19: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Struttura di un moderno elaboratore•La struttura tipica di un calcolatore elettronico assume laforma attuale in base ad almeno due svolte tecnologichefondamentali:

– un modello costruttivo storico riconducibile allo scienziatoaustriaco J. Von Neumann (architettura di Von Neumann) anni’40/’50

–l’invenzione del microprocessore da parte del tecnico italiano F.Faggin (microprocessore Intel 4004) 1971.

Alberto Ferrari

Page 20: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Un sistema di elaborazione, in generale, è una macchina che accettain ingresso informazioni codificate in forma digitale, le elabora eproduce informazioni in uscita.

I blocchi funzionali che lo compongono sono:

•Unità aritmetica•Unità di controllo•Memoria•Bus di comunicazione

Un computer, rispetto a una macchina calcolatrice convenzionale, hain più il concetto di programma memorizzato.

Dati e istruzioni nella stessa memoria: modello di Von Neumann.

Dati e istruzioni in memorie separate: modello Harvard.

Modelli di Riferimento

Page 21: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Architettura von Neumann

Unitàdi Controllo

UnitàAritmetica Memoria

Istruzioni

BUS

Dati

IndirizziIstruzioni

Stato

Page 22: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Lo schema si basa su quattro componenti fondamentali:

•L’Unità di controllo si occupa di controllare tutte le operazioni delcalcolatore, interpretare le istruzioni prelevate dalla memoria e inviare allealtre unità i segnali per l'esecuzione delle operazioni.

•L’Unità aritmetico-logica, detta ALU (Arithmetic & Logic Unit), fornisce lacapacità di effettuare operazioni aritmetiche di base

Queste due unità sono spesso integrate in una CPU, Central Processing Unit –Unità di Elaborazione Centrale

•La Memoria che ha lo scopo di conservare le istruzioni e i dati da elaborare ei risultati ottenuti dalle elaborazioni;

•Il Bus, è un canale di comunicazione bidirezionale che collega tutti icomponenti fra loro e che consente ai dati di transitare fra diversi componentidel calcolatore. Ad esso possono connettersi

Le Unità di ingresso (Input) che immettono le informazioni nel calcolatore perfarle elaborare;

Le Unità di uscita (Output) che ricevono le informazioni dalla memoria delcalcolatore per renderle pronte all’uso;

Descrizione

Page 23: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Caratteristiche Fondamentali

•Memoria Unica per Dati e Programma (RAM)•L’ipotesi di partenza è che sia le istruzioni che idati sono disponibili in memoria (ad esempio sonostate opportunamente “caricate” nella memoriausando l’unità di input)•Macchina di ridotta complessità•Criterio di valutazione di una architettura

• Individuazione dei blocchi “congestionati”•Limiti

–Unica memoria–Unico BUS (Collo di Bottiglia)

Page 24: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Architettura Harvard

Unitàdi Controllo

UnitàAritmetica

MemoriaDati

Istruzioni

Dati

MemoriaIstruzioni

Istruzioni

Indirizzi

Stato

Page 25: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Caratteristiche fondamentali•Memoria Dati

• Accesso diretto alla ALU• Realizzazione: RAM

•Memoria Istruzioni• Il contenuto rimane invariato• Realizzazione con memoria non volatile:

ROM•Non presenta particolari “Colli di bottiglia”

•Può essere migliorata per aumentarne laconccorrenzialità•Architettura alla quale si ispirano gli attualimicroprocessori

Page 26: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

la CPU, acronimo di CentralProcessing Unit, è l’unitàcentrale di elaborazione. Prendeil nome di processore poichésvolge sistematicamente preciseoperazioni, elabora dunque un“processo”. Infatti, legge leistruzioni e i dati dalla memoriaed esegue le istruzioni.

Tra le più famose industricostruttrici si annoverano: Intel,Motorola, IBM, AMD

La CPU – Generalità

Page 27: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Una caratteristica fondamentale delprocessore è la sua velocità, cioè lacapacità di eseguire uno o piùoperazioni al secondo.

Questa velocità viene regolata da unorologio, detto “clock”.La cosiddetta velocità di clock vieneespressa in Hertz o cicli al secondo.Il legame tra la velocità di clock e lacapacità elaborativa del processore èmolto complesso.Molto spesso, tuttavia, si puòaffermare che maggiore è la velocitàdi esecuzione delle singole operazionimaggiore è la potenza delprocessore.

La CPU – Generalità

Page 28: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

A livello fisico i processori sonorealizzati (con un processo detto di“integrazione”) su chip contenentimilioni di transistor.

Ogni transistor può essere vistocome un interruttore che con il suostato di “aperto” o “chiuso” puòelaborare un bit di informazione.

Il processore si connette alla schedamadre mediante opportuni“piedini” (ovvero piccoli connettorielettrici).

La CPU – Generalità

Page 29: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Il processore viene realizzato mediante unatecnologia detta a circuito integrato cheproduce un componente detto chip. Un chip sipuò descrivere come un insieme di cristalli disilicio lavorati e assemblati.

Le piastrine di silicio vengono esposte asostanze chimiche, per rendere possibile ilpassaggio di corrente elettrica. Il silicio cosìtrattato diventa semiconduttore. Le barre disilicio vengono poi tagliate in sottili laminedette wafer che contengono molti chip (vedifigura a lato).

I singoli chip vengono testati e quelli non idoneiscartati mentre quelli validi verranno estrattidal wafer con un laser o con un diamante.

waferchip

La CPU – Generalità

Page 30: Architettura dei sistemi di elaborazione: Modelli ...wpage.unina.it/fpalmier/CalcolatoriElettronici/Item7.pdf · • Evoluzione dell’architettura HW – Microprogrammazione ...

Per poterli maneggiare facilmente i chipvengono messi all'interno di un supporto diplastica mediante un procedimento dettopackaging (impacchettamento).

Dato l’elevato livello di integrazioneraggiunto (in un chip di lato 1 cm x 1 cmsono oggi presenti milioni di transistor) unodei grandi problemi da affrontare è ilsurriscaldamento provocato dal passaggiodella corrente.

Per evitare che il processore si surriscaldie lavori male, o che addirittura si guasticompletamente, viene coperto da unasostanza morbida refrigerante e sopra diesso viene montata una ventola a motore.

Il packaging del 486

Vista ingrandita del chip

La CPU – Generalità