Architettura dei sistemi di elaborazione: Modelli...
Transcript of Architettura dei sistemi di elaborazione: Modelli...
Architettura dei sistemi dielaborazione:
Modelli ArchitetturaliLa CPU: Generalità
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
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.
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
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)
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
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
ENIAC
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
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
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
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
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
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
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
…. 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
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
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
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
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
Architettura von Neumann
Unitàdi Controllo
UnitàAritmetica Memoria
Istruzioni
BUS
Dati
IndirizziIstruzioni
Stato
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
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)
Architettura Harvard
Unitàdi Controllo
UnitàAritmetica
MemoriaDati
Istruzioni
Dati
MemoriaIstruzioni
Istruzioni
Indirizzi
Stato
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
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à
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à
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à
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à
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à