English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

ospite
1 / ?
torna alle lezioni

Precursori analogici e digitali

Hamming ha aperto la sua storia dell'hardware con una distinzione: l'informatica analogica (regolo calcolatore, analizzatore differenziale) rispetto all'informatica digitale (ossi di Napier, calcolatrici da scrivania). Entrambi i filoni si sono sviluppati in parallelo; il filone digitale alla fine ha prevalso.

Napier (1550–1617)

John Napier ha inventato i logaritmi, che hanno reso possibile il regolo calcolatore — uno strumento analogico dove la lunghezza fisica rappresenta il valore logaritmico. L'addizione di lunghezze = moltiplicazione di numeri. Napier ha anche progettato gli 'ossi di Napier': bacchette d'avorio per l'assistenza nella moltiplicazione. Digitale, da non confondere con il regolo calcolatore.

Da Schickert a Babbage

Wilhelm Schickert (1623) ha progettato una macchina per le quattro operazioni aritmetiche; ha preso fuoco prima del completamento. Pascal (1623–1662) ha costruito una macchina sommativa per la valutazione fiscale. Leibniz ha aggiunto la moltiplicazione & la divisione, ma le macchine erano inaffidabili.

Charles Babbage (1791–1871) ha progettato la macchina differenziale: una macchina per valutare i polinomi a valori equidistanti mediante addizione successiva, producendo tabelle stampate senza errori. Non l'ha mai completata; una squadra norvegese padre-figlio (Scheutz) ha costruito versioni funzionanti. Nel 1992, una squadra in Inghilterra ha costruito la macchina analitica di Babbage dai suoi disegni — ha funzionato.

La macchina analitica di Babbage era vicina all'architettura di von Neumann: un magazzino (memoria), un mulino (unità aritmetica), & un branching condizionale. Lady Lovelace ha pubblicato i primi programmi per essa.

Dai computer a relè all'ENIAC

L'era moderna dell'informatica è iniziata con i computer a relè nei primi anni '40. Hamming ha tracciato l'evoluzione della velocità:

| Era | Tecnologia | Velocità | |---|---|---| | Prima del 1940 | Calcolatrice manuale | 1/20 ops/sec | | ~1940 | Relè (Bell Labs) | 1 op/sec | | 1946 | ENIAC (tubo a vuoto) | ~5.000 ops/sec | | 1952 | IBM 701 | ~17.000 ops/sec | | ~1993 | Workstation moderna | 10⁹ ops/sec |

George Stibitz ai Bell Telephone Laboratories ha costruito computer a relè da parti di direttori di fuoco M9 condannati. Hamming ne ha usato uno per anni. Queste macchine a relè non erano veloci — circa un'operazione al secondo — ma erano affidabili & programmabili.

L'ENIAC (1945–1946) inizialmente funzionava mediante cablaggio a pannello, come un enorme computer a pannello. Nick Metropolis & Dick Clippenger l'hanno successivamente convertito alla programmazione mediante commutatori decimali dalle tabelle balistiche. L'ENIAC consumava circa 150 kW.

La programmazione interna è diventata pratica solo quando c'era una memoria adeguata. Il ruolo di von Neumann era quello di consulente per Mauchly & Eckert; la programmazione interna è stata discussa tra il team prima del coinvolgimento di von Neumann, anche se i suoi rapporti ampiamente diffusi (ma mai formalmente pubblicati) hanno diffuso i concetti.

Curva di velocità della legge di Moore

Ordini di grandezza in velocità

La progressione di velocità dalla calcolatrice manuale al workstation degli anni '90 copre oltre dieci ordini di grandezza in circa 50 anni.

Dalla tabella di velocità di Hamming: calcolatrice manuale a 1/20 ops/sec fino a workstation moderna a 10⁹ ops/sec. Di quale fattore è aumentata la velocità di calcolo? Esprimi la tua risposta come potenza di 10, & spiega cosa significa quel salto di ordine di grandezza per ciò che diventa computazionalmente fattibile.

Dove l'hardware non può andare

Hamming ha presentato tre limiti fisici che vincolano la velocità massima dei computer. Non erano sfide ingegneristiche che l'ingegno potrebbe superare — erano leggi della fisica.

Limite 1: dimensione molecolare

I componenti non possono restringersi al di sotto delle dimensioni atomiche. Un gate di transistore largo 10 atomi: il tunneling quantistico domina & il transistore smette di commutare in modo affidabile. Nel 1993 Hamming ha stimato che scendere al di sotto di ~100.000 atomi di distanza tra i dispositivi interconnessi (approssimativamente 3 picosecondi di tempo di viaggio della luce) rappresentava un vero limite fisico.

Limite 2: velocità della luce

I segnali si propagano al massimo a c = 3×10⁸ m/s nel vuoto (meno nel filo, approssimativamente 2×10⁸ m/s). Un ciclo di clock da 1 GHz è 1 nanosecondo; in 1 ns, la luce percorre 30 cm. Un chip che deve inviare un segnale per 15 cm e ricevere una risposta entro un ciclo di clock sta operando vicino al limite della velocità della luce.

Mentre la velocità di clock aumenta, le dimensioni del chip devono ridursi per mantenere il tempo di andata e ritorno del segnale al di sotto di un periodo di clock.

Limite 3: dissipazione del calore

Più componenti per unità di area + commutazione più veloce = più potenza per unità di area = più calore. Il calore deve dissipare o i componenti si sciolgono. Nel 1993, le tensioni di funzionamento stavano diminuendo verso 2-3V per ridurre la potenza di commutazione. Gli strati di diamante come conduttori di calore erano sotto investigazione. L'informatica reversibile (termodinamicamente senza perdite) esisteva solo in teoria.

Questi tre limiti nel complesso spiegano perché i guadagni di velocità del singolo processore si stavano avvicinando alla saturazione negli anni '90 e perché l'interesse per le architetture parallele è cresciuto.

Applicazione del limite della velocità della luce

Una CPU funziona a 3 GHz. Un ciclo di clock = 1/3 ns ≈ 0,333 ns. Velocità del segnale nel rame: ~2/3 c ≈ 2×10⁸ m/s.

Per una CPU da 3 GHz dove i segnali viaggiano a 2×10⁸ m/s: qual è la distanza massima di andata e ritorno che un segnale può percorrere in un ciclo di clock? Se il core del processore deve comunicare con un chip di cache L3 a 5 cm di distanza, quanti cicli di clock impiega l'andata e ritorno? Mostra il tuo lavoro.

Gli esperti che si sono sbagliati clamorosamente

Hamming ha notato uno dei fallimenti di previsione più celebri nella storia della tecnologia: gli esperti della fine degli anni '40 hanno stimato che il mondo avrebbe avuto bisogno di al massimo tre o cinque computer. Tom Watson di IBM avrebbe detto due.

Nel 1993, c'erano milioni di computer in funzione.

Perché gli esperti hanno fallito

Gli esperti hanno estrapolato dai casi d'uso attuali: il calcolo scientifico nei laboratori nazionali. Non hanno anticipato l'intuizione del prodotto equivalente: i computer non avrebbero fatto quello che gli umani già facevano, più velocemente. I computer avrebbero permesso completamente nuove categorie di lavoro che non avevano alcuna preesistenza.

Lo schema di fallimento: gli esperti in una tecnologia matura sono più sicuri dei suoi limiti e più probabili di sbagliarsi sulle sue future applicazioni. La loro expertise dà loro modelli accurati del presente; non dà loro modelli di ciò che diventerà possibile.

Architetture parallele

La velocità del singolo processore si è avvicinata alla saturazione negli anni '90. La risposta dell'industria: unità aritmetiche multiple, pipeline, gerarchie di cache, & macchine massicciamente parallele. Nel 1993 non c'era una singola architettura parallela dominante — molti progetti concorrenti con diversi compromessi & diversi modelli di programmazione. Hamming ha notato questa frammentazione come un problema: senza uno standard, lo sforzo di programmazione si divide tra sistemi incompatibili.

Perché gli esperti predicono male

Hamming ha trattato la previsione di 3-5 computer non come una curiosità ma come una lezione sui limiti della conoscenza degli esperti. Gli esperti modellano bene il presente; falliscono sulle applicazioni che non esistono ancora.

Nomina un fallimento di previsione tecnologica da qualsiasi campo tu conosca dove gli esperti hanno confidentemente stimato un piccolo limite superiore su adozione o uso, e sono stati provati catastroficamente sbagliati. Quale fallimento specifico nel loro ragionamento ha portato all'errore? Applica l'intuizione di Hamming: cosa avrebbero dovuto vedere che la loro expertise ha impedito loro di vedere?

Dati di Los Alamos & l'equazione di crescita

Hamming ha citato un grafico compilato dai Laboratori Nazionali di Los Alamos (LANL) che traccia la velocità del computer più veloce sul mercato in ogni momento. I dati si adattavano a un'equazione esponenziale: la velocità approssimativamente raddoppiava ogni 18 mesi — successivamente resa popolare come legge di Moore per il conteggio dei transistor.

L'equazione di LANL: speed(t) = speed₀ × 10^(bt), dove b ≈ 0,09 per anno (raddoppiamento approssimativamente ogni 3,3 anni in operazioni al secondo, distinto dal raddoppiamento del conteggio dei transistor).

Hamming ha usato questo per fare un punto sull'estrapolazione: l'esponenziale non può continuare indefinitamente. I tre limiti fisici stabiliscono un soffitto. Quando l'esponenziale colpisce il soffitto? Quella transizione segna la fine dell'era del singolo processore.

Nel 1993 l'industria si stava già avvicinando a quel soffitto, guidando l'interesse per architetture parallele, trucchi di pipeline, & gerarchie di cache — tutti piccoli passi verso il parallelismo piuttosto che l'esecuzione single-threaded più veloce.

Hamming ha citato l'equazione di LANL che mostrava la velocità di calcolo crebbe approssimativamente a 10^(0,09t) per anno (velocità in ops/sec, t in anni da una linea di base). A partire dalla velocità dell'IBM 701 del 1952 di ~17.000 ops/sec, predici la velocità nel 1993 (41 anni dopo). Confronta la tua risposta con il valore di Hamming di approssimativamente 10⁹ ops/sec. I numeri corrispondono? Se divergono, cosa ti dice riguardo al modello?