Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Come si è giunti alle moderne scelte architetturali.
I Computer Come si è giunti alle moderne scelte architetturali. Michelangelo Lamonica Storia dell'informatica e del calcolo automatico
2
Storia dell'informatica e del calcolo automatico
Ambientazione Il presente documento è progettato per introdurre ad una visione complessiva dello sviluppo della tecnologia attualmente presente sul mercato . Esso è di compendio alle attività didattiche tradizionali ed è destinato a studenti che stanno terminando il corso di studi di scuola superiore. Storia dell'informatica e del calcolo automatico
3
Storia dell'informatica e del calcolo automatico
Prerequisiti Avere comprensione della terminologia tecnica legata ai Personal Computer. Avere interesse nel comprendere il percorso storico che ha portato alla attuale tecnologia. Storia dell'informatica e del calcolo automatico
4
Storia dell'informatica e del calcolo automatico
Obiettivi Dare il quadro storico dello sviluppo della tecnologia legata ai Processori. Permettere di comprendere le scelte tecnologiche relativamente tali tecnologie. Storia dell'informatica e del calcolo automatico
5
Storia dell'informatica e del calcolo automatico
Materiale Materiale Cartaceo disponibile Slides in PowerPoint® Bibliografia Storia dell'informatica e del calcolo automatico
6
Storia dell'informatica e del calcolo automatico
Si parte …. Mettetevi comodi ….. Storia dell'informatica e del calcolo automatico
7
Storia dell'informatica e del calcolo automatico
L’osso di Lupo Risale al a.c. un osso di lupo in cui sono state incise 55 tacche a gruppi di 5. Si pensa sia stato impiegato come base di calcolo (in base 5 … come le dita). Rappresenta il primo tentativo (conosciuto) dell’essere umano di sistematizzare l’universo dei numeri, primo passo per il dominio dei dati e delle informazioni. Storia dell'informatica e del calcolo automatico
8
Storia dell'informatica e del calcolo automatico
L’abaco La prima macchina calcolatrice risale a 5000 anni fa, e permetteva di eseguire calcoli utilizzando le perline che scorrono sulla tastiera. Storia dell'informatica e del calcolo automatico
9
Storia dell'informatica e del calcolo automatico
La Pascalina Molto dopo Blaise Pascal ( ), figlio diciottenne di un esattore delle tasse francese, inventa la calcolatrice ad ingranaggi. Storia dell'informatica e del calcolo automatico
10
Storia dell'informatica e del calcolo automatico
Caratteristiche usava otto ingranaggi mobili somma numeri fino ad otto cifre I numeri erano in base 10 Utilizza ruote dentate ( a 10 denti ) Utile solo per le addizioni !!!!!!! Storia dell'informatica e del calcolo automatico
11
Difference Engine ed Analitycal Machine
“I wish to God these calculations had been executed by steam” Il matematico inglese Charles Babbage ( ) presentò una macchina per le equazioni differenziali, detta “Difference Machine”. L'assistente di Babbage, Augusta Ada King, figlia del poeta inglese Lord Byron, fu la prima programmatrice della storia creando una routine di istruzioni della Analitical Machine, precursore del moderno Calcolatore. Storia dell'informatica e del calcolo automatico
12
Storia dell'informatica e del calcolo automatico
Caratteristiche Alimentate a vapore grandi quanto una locomotiva Dotate di oltre componenti Input con schede perforate Archivio di memoria per 1000 numeri La Analitical Machine conteneva anche un'unità di elaborazione con un'unità di controllo che consentiva di processare istruzioni in ogni sequenza. Storia dell'informatica e del calcolo automatico
13
Storia dell'informatica e del calcolo automatico
Nota Storica Nel 1889, un inventore americano, Herman Hollerith ( ), applicò il concetto delle schede perforate al censimento degli Stati Uniti (che fu terminato in sei settimane invece dei 10 anni previsti !!!!). Hollerith nel 1886 fondò la Tabulating Machine Company che divenne International Business Machine (IBM) nel 1924. Storia dell'informatica e del calcolo automatico
14
Differencial Analyzer
Il prof Vannevar Bush ed altri docenti del MIT progettano il “Differential Analyzer”, il primo calcolatore di uso pratico alimentato elettricamente. Da questo momento in poi, i prototipi di macchinari computazionali si susseguono quasi annualmente fino ai giorni nostri. Storia dell'informatica e del calcolo automatico
15
Storia dell'informatica e del calcolo automatico
Evoluzione Da allora si susseguono una serie di scoperte e innovazioni che portano all’affinamento delle tecniche per la realizzazione dei computer. Il problema principale dell’epoca era l’eccessivo ingombro dei macchinari dovuto essenzialmente alla difficoltà di rappresentazione dei numeri e delle relazioni tra questi. Il problema fu risolto realizzando Computer tramite la semplice (e ripetitiva) algebra Binaria. Storia dell'informatica e del calcolo automatico
16
Storia dell'informatica e del calcolo automatico
Nota Storica Il sistema Binario era noto già in Cina nel 1100 a.c. Il gesuita padre Bouvet descrive per corrispondenza tale sistema a Leibnitz Leibnitz (fine 1600) realizza che qualsiasi informazione può essere formalizzata in binario. Il matematico Boole (fine 1800) costruisce la sua logica sul lavoro di Leibnitz. Nel 1931 il tedesco Zose costruisce il primo computer elettromeccanico sulla logica binaria (Relè) Nel 1939 l’americano Atanasoff realizza il primo computer elettronico sulla logica binaria (Valvole) Negli anni ’50 von Neumann formalizza l’architettura ancora oggi utilizzata. Storia dell'informatica e del calcolo automatico
17
Storia dell'informatica e del calcolo automatico
La architettura Negli anni ’50 von Neumann definisce la architettura dei Computer; tale architettura è tutt’ora alla base dei moderni Calcolatori. In particolare, viene definita la la distinzione tra memoria primaria (ROM) e secondaria (RAM), e lo stile di programmazione mediante diagrammi di flusso. Storia dell'informatica e del calcolo automatico
18
Storia dell'informatica e del calcolo automatico
Considerazioni Da quanto fino ad ora visto: Dall’inizio dei tempi si comprende che operazioni complesse possono essere scomposte in operazioni semplici ripetute un numero elevato di volte. Lo sforzo degli scienziati è quello di utilizzare le scoperte tecnologiche per potenziare i calcolatori (dalle ruote dentate alle valvole fino ai circuiti integrati) utilizzando una architettura definita a grandi linee già del 1600 Ai calcolatori viene tutt’ora chiesto di realizzare cose semplici, ma in quantità tale da poter poi effettuare operazioni molto complesse. Storia dell'informatica e del calcolo automatico
19
Storia dell'informatica e del calcolo automatico
Le generazioni Prima Generazione ( ) Valvole Termoioniche Seconda Generazione ( ) Transistor Terza Generazione ( ) Circuiti Integrati Quarta Generazione (1971-Oggi) Integrazione su larga scala Storia dell'informatica e del calcolo automatico
20
Storia dell'informatica e del calcolo automatico
I moderni Processori Tralasciando le realizzazioni effettuate nelle precedenti generazioni, viene di seguito riproposto un “excursus” sulle scelte legate alla realizzazione dei processori della “quarta generazione”. In particolare risulta interessante comprendere come non sempre il prodotto migliore è risultato vincente subito e come, architetture diverse, sono state valutate e scelte in base a motivazioni “storiche” che hanno condizionato l’attuale stato di fatto. Storia dell'informatica e del calcolo automatico
21
Storia dell'informatica e del calcolo automatico
Problemi di Spazio Studi effettuati da informatici come Andrew Tanenbaum dimostrarono che le CPU prodotte allora erano molto sovradimensionate rispetto alle reali esigenze dei programmi. Tanenbaum dimostrò che il 98% delle costanti in un programma poteva essere memorizzato con parole di 13 bit sebbene la maggior parte delle CPU utilizzasse parole a multipli di 8 bit (quindi 8/16/24 etc.) e quindi sprecasse spazio. Storia dell'informatica e del calcolo automatico
22
Storia dell'informatica e del calcolo automatico
Anni ’80 – Il Panico All'inizio degli anni 80 si era diffusa l'idea che l'architettura dei processori avesse raggiunto il suo limite teorico di velocità. Da qui lo sforzo di trovare nuove tecnologie e tecniche in grado di realizzare processori che potessero superare tale limite. Le direzioni prese furono: La realizzazione di un processore con un set ridotto di operazioni base (RISC) La realizzazione di architetture parallele (TRANSPUTER) Storia dell'informatica e del calcolo automatico
23
Il problema l’integrazione
Dunque con la realizzazione di processori su Circuiti Integrati viene evidenziata agli inizi degli anni ’80 la necessità di non poter aumentare ulteriormente la scala di integrazione e di conseguenza non poter garantire il trend di crescita prefissato. Per tal motivo i tecnici in quel periodo si realizzano i primi processori RISC (Berkeley 1980) che, tramite la combinazione di un numero finito di funzioni, riescono a gestire tutte le operazioni richieste. Storia dell'informatica e del calcolo automatico
24
Storia dell'informatica e del calcolo automatico
CISC e RISC CISC (Complex Instruction Set Computers) è la architettura che prevede all’interno del processore la realizzazione di una grande quantità di funzioni. RISC (Reduced Instruction Set Computers) è la architettura che prevede all’interno del processore la realizzazione di solo una minima quantità di funzioni, le quali, combinate, permettono la realizzazione di operazioni complesse. (le uniche operazioni in grado di accedere alla memoria sono le operazioni di load e di store) Storia dell'informatica e del calcolo automatico
25
La evoluzione sul mercato.
Dopo un decennio ( ) di studio si colma il divario e all'inizio degli anni 90 i processori RISC superano i processori CISC praticamente in ogni campo. Tuttavia scelte commerciali portano la INTEL ( e la AMD ) a continuare a mantenere una architettura CISC, prefendo demandare ai compilatori la scomposizione delle istruzioni complesse in istruzioni più semplici (RISC) Attualmente – tranne il mondo x86 - la restante componente di processori è RISC. (i-pod, decoder tv, x-box, etc ) Storia dell'informatica e del calcolo automatico
26
Storia dell'informatica e del calcolo automatico
Parallelizzazione Contemporaneamente alla realizzazione di processori RISC, un’altra direzione - per ovviare al problema della saturazione della velocità raggiungibile - fu quella della parallelizzazione delle operazioni. Una CPU a basso costo, pensata in quest'ottica, avrebbe permesso di aumentare la velocità di calcolo di una macchina aggiungendo altri processori simili, scelta potenzialmente molto più economica di una basata su un singolo e più potente processore. Storia dell'informatica e del calcolo automatico
27
Storia dell'informatica e del calcolo automatico
I Trasputer Il INMOS Transputer era un pionieristico design di un microprocessore per il calcolo parallelo prodotto dalla INMOS, una piccola azienda inglese, negli anni '80. L'obiettivo era di produrre una famiglia di chip, limitati in costo e potenza, che avrebbero potuto poi essere connessi tra loro per formare un computer completo. Il nome era stato scelto per indicare il ruolo che il singolo Transputer avrebbe avuto: molti di loro sarebbero stati usati come "mattoni di base", proprio come i transistor lo erano stati precedentemente. Storia dell'informatica e del calcolo automatico
28
Set di Istruzioni Interne
Il set di istruzioni macchina del Trasputer conteneva la codifica dell'istruzione, rendendolo un vero RISC. Inoltre le istruzioni meno frequentemente utilizzate erano supportate tramite la codifica di istruzioni chiamata Operate (Opr), la quale decodificava la costante di dati come un codice di operazione esteso, fornendo un'espansione del set di istruzione facile e quasi infinita. Storia dell'informatica e del calcolo automatico
29
Storia dell'informatica e del calcolo automatico
OCCAM Per la programmazione dei transputer, la INMOS ha progettato un linguaggio apposito, chiamato Occam. In effetti è più corretto dire che il Transputer fu progettato specificatamente per eseguire codice Occam, come molti processori CISC dell'epoca erano pensati per eseguire Pascal o C. Storia dell'informatica e del calcolo automatico
30
La evoluzione sul mercato.
Nel 1983 esce in commercio il primo trasputer la cui architettura e performances erano nettamente superiori a “cugini” x86. Nel 1987 esce il T9000, dotato di virgola mobile e supporto alla “superscalarità”. Nel 1989 il progetto fallisce e la INMOS viene acquisita dalla SGS-Thomson. Storia dell'informatica e del calcolo automatico
31
Storia dell'informatica e del calcolo automatico
Considerazioni. Nei primi anni '80 sembrava che le CPU convenzionali avessero raggiunto il loro limite riguardo alle performance. Le soluzioni proposte (RISC e TRASPUTER) benchè realizzassero forti miglioramenti non avevano fatto i conti con: Diffusione della architettura x86 (CISC) Costo del processore prodotto (TRASPUTER) Storia dell'informatica e del calcolo automatico
32
Storia dell'informatica e del calcolo automatico
Considerazioni. I problemi ipotizzati nel 1980 (integrazione) si sono riproposti 15 anni dopo. Gli studi effettuati in quegli anni sono stati dunque elaborati ed applicati ai moderni processori. A tendere, le innovazioni introdotte negli anni ’80 sono riuscite ad imporsi. Storia dell'informatica e del calcolo automatico
33
RISC in maniera Software
I moderni processori x86 - pur mantenendo (per compatibilità con le versioni precedenti) una architettura CISC – lasciano ai compilatori la scomposizione delle istruzioni complesse in istruzioni più semplici (RISC). I nuovi x86 a 64 bit prevedono una ISA ottimizzata in questa direzione. Storia dell'informatica e del calcolo automatico
34
Parallelizzazione nei x86
La parallelizzazione dei processi è stata anche essa rielaborata ed utilizzata nei moderni processori. Il compito di “parallelizzare” non viene però demandato al programmatore ma al S.O. che gestisce più core in parallelo. Di nuovo viene preferita la compatibilità con quanto presente attualmente sul mercato. Storia dell'informatica e del calcolo automatico
35
Cosa abbiamo tralasciato.
La analisi ivi proposta è ad alto livello e non tiene conto delle innovazioni avvenute nello stesso periodo a livello di integrazione. Il numero di transistor presenti sui chip varia in maniera incrementale secondo la nota “legge di Moore” Finchè il trend di integrazione non varia (diminuendo) le architetture non avranno sensibili variazioni. Storia dell'informatica e del calcolo automatico
36
Storia dell'informatica e del calcolo automatico
Bibliografia Von Neumann Sist. Binario C.P.U. Integrazione Trasputer X86 ISA Legge di Moore Storia dell'informatica e del calcolo automatico
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.