• Non ci sono risultati.

Dipartimento di ingegneria dell’informazione Corso di laurea in ingegneria elettronica

N/A
N/A
Protected

Academic year: 2021

Condividi "Dipartimento di ingegneria dell’informazione Corso di laurea in ingegneria elettronica"

Copied!
932
0
0

Testo completo

(1)

Università di Pisa

Dipartimento di ingegneria dell’informazione Corso di laurea in ingegneria elettronica

     

Relatore: Prof. Ing. Luca Fanucci Candidato: Marco Franceschini

Matr. 142461 Anno accademico 2016-2017

(2)
(3)

Legge di Moore nell’evoluzione dei processori Intel® e

retrospettiva nel calcolo automatico

(4)
(5)

28 Settembre 2017

"Tutto quel che vediamo, quel che sembriamo non è che un sogno dentro un sogno ?"

Edgar Allan Poe.

(6)
(7)

Indice

1 Capitolo 1

Introduzione 27

2 Capitolo 2

Il concetto di numero e la storia del calcolo automatico 29

2.1 La storia dei numeri . . . . 29

Le origini del concetto di numero . . . . 29

Il concetto di base di numerazione ed i primi strumenti di calcolo . . . . 30

La scrittura dei numeri . . . . 31

Il sistema posizionale . . . . 35

Numeri negativi e frazioni . . . . 36

La storia dei numeri reali . . . . 37

2.2 Classificazione delle macchine da calcolo . . . . 37

2.3 I Regoli calcolatori . . . . 38

2.4 L’abaco . . . . 44

2.5 Il compasso di Galileo . . . . 46

Il compasso di proporzione . . . . 47

2.6 Ruota dentata e calcolo automatico . . . . 47

Il problema del riporto . . . . 48

2.7 L’orologio calcolante di Schickard . . . . 48

2.8 La macchina da calcolo aritmetico di Giovanni Poleni (1683-1761) . . . . 53

2.9 La pascalina di Blaise Pascal . . . . 57

La pascalina in colonna singola . . . . 59

2.10 La macchina aritmetica di Leibniz . . . . 59

La Stepped Reckoner . . . . 61

Funzionamento della macchina calcolatrice di Leibniz . . . . 61

2.11 La macchina analitica di Charles Babbage . . . . 64

Biografia ed educazione . . . . 64

Babbage e il calcolatore programmabile . . . . 64

Il metodo delle differenze finite . . . . 65

La macchina analitica

. . . . 66

(8)

2.12 Le calcolatrici meccaniche . . . . 68

L’aritmometro di Colmar . . . . 68

Le calcolatrici meccaniche di Curt Herzstark . . . . 70

Perrault e gli aritmografi . . . . 72

Il contributo di Willgodt Odhner . . . . 73

2.13 Le calcolatrici meccaniche a tastiera . . . . 74

Comptometer . . . . 75

2.14 La macchina tabulatrice di Herman Hollerith . . . . 76

Il funzionamento della macchina tabulatrice . . . . 77

2.15 Le calcolatrici a moltiplicazione diretta . . . . 77

Le calcolatrici Friden . . . . 78

L’introduzione della tastiera moderna . . . . 79

2.16 La macchina di Turing e la teoria della computabilità: nozione informale di algoritmo. . . . 80

La tesi di Church-Turing . . . . 83

La definizione di Turing completezza . . . . 84

Biografia di Alan Turing . . . . 84

2.17 I calcolatori elettromeccanici di Konrad Zuse ed il padre del calcolatore analogico Helmut Hölzer . . . . 88

La Z1 e la Z2 . . . . 88

Schema a blocchi della Z1 . . . . 90

Il primo calcolatore programmabile, lo Zuse Z3 . . . . 95

I calcolatori S1 ed S2 . . . . 99

Il calcolatore Zuse Z4 . . . . 99

L’epoca del transistor e una applicazione al calcolo parallelo . . . 102

Helmut Hölzer, inventore del calcolatore elettronico analogico . . . 106

I calcolatori G di Heinz Billing . . . 107

2.18 Il calcolo automatico inglese degli anni ’40-’60 . . . 109

La macchina Enigma . . . 110

Il calcolatore Colossus a Bletchley Park . . . 115

La serie di calcolatori Mark I . . . 124

Il calcolatore Atlas . . . 131

EDSAC dell’Università di Cambridge . . . 134

2.19 I calcolatori elettronici costruiti negli anni ’30-’50 negli USA . . . 138

Il calcolatore Atanasoff-Berry . . . 138

Diagramma a blocchi del calcolatore ABC . . . 140

Il sottosistema di memoria di massa di ABC . . . 140

Biografia del Dr. John Vincent Atanasoff . . . 141

L’Harvard Mark I . . . 142

I successori del Mark I . . . 146

L’ENIAC . . . 146

BINAC . . . 154

(9)

Indice

IAS . . . 155

JOHNNIAC . . . 156

ILLIAC I . . . 157

UNIVAC I . . . 158

UNIVAC 1101 . . . 159

ENIAC on a chip . . . 160

EDVAC . . . 161

SEAC . . . 164

La famiglia di calcolatori MANIAC . . . 164

Whirlwind I e II . . . 165

Calcolatore AN/FSQ-7 per il sistema SAGE . . . 167

TX-0, calcolatore sperimentale a transistor . . . 168

IBM 650 . . . 168

IBM 701 . . . 170

IBM SSEC . . . 171

2.20 I calcolatori costruiti in Giappone negli anni ’50 . . . 173

Introduzione . . . 173

ETL-Mark-2 . . . 174

FUJIC . . . 174

MUSASINO-1 . . . 175

ETL-Mark-4 . . . 176

PC-1 . . . 177

ETL-Mark-4a . . . 178

TAC . . . 178

Handai-Computer . . . 179

K-1 . . . 179

2.21 Olivetti e la Divisumma di Natale Capellaro . . . 180

La Olivetti Programma 101 dell’Ing. Perotto . . . 181

La fine di un’epoca . . . 185

2.22 La calcolatrice elettronica pisana CEP e la macchina ridotta . . . 186

La Macchina Ridotta . . . 187

La nascita della CEP . . . 192

2.23 La famiglia di calcolatori Olivetti ELEA: il prototipo ELEA 9001 . . . . 194

Il secondo calcolatore prototipo ELEA 9002 . . . 195

L’ELEA 9003 . . . 196

Il calcolatore ELEA 9004 . . . 197

ELEA serie 4000 e 6000 . . . 198

La figura di Adriano Olivetti . . . 198

Mario Tchou: l’ingegnere che diede vita al sogno della serie di mainframe ELEA della Olivetti . . . 199

2.24 I calcolatori tascabili a circuiti integrati . . . 201

La giapponese Busicom . . . 201

La statunitense Hewlett Packard . . . 202

(10)

2.25 Eventi fondamentali nella storia del calcolo automatico . . . 207

3 Capitolo 3 La storia dei semiconduttori 221 3.1 Definizione di materiale semiconduttore . . . 221

Semiconduttori elementari . . . 221

Semiconduttori composti . . . 222

Ossidi semiconduttori . . . 222

Semiconduttori organici . . . 222

Semiconduttori magnetici . . . 222

3.2 Le tappe fondamentali dello sviluppo dei dispositivi a semiconduttore . . 223

3.3 Il transistor nel 1947 . . . 233

3.4 Silicon valley . . . 233

3.5 La nascita e la storia di Intel ® . . . 235

3.6 Biografie . . . 237

Robert Noyce . . . 237

Gordon Moore . . . 238

Andrew Grove . . . 239

Federico Faggin . . . 240

4 Capitolo 4 La legge di Gordon Moore 245 4.1 La prima legge di Moore . . . 245

4.2 La seconda legge di Moore . . . 248

Evidenza empirica della prima legge di Moore . . . 249

4.3 Prestazioni dei processori . . . 251

Regola di Pollack . . . 252

4.4 Storia della litografia . . . 253

Introduzione . . . 253

Litografia ottica o fotolitografia . . . 254

Litografia nel profondo ultravioletto . . . 255

Litografia ai raggi X . . . 257

Litografia a fascio di elettroni . . . 258

La litografia ad immersione . . . 258

Lo scaling dei transistor MOSFET e dei dispositivi CMOS . . . 261

Scaling dello spessore di ossido di silicio . . . 265

Materiali alternativi ad elevata costante dielettrica . . . 265

4.5 L’aumento della complessità dei livelli di interconnessione sui chip . . . 266

Le interconnessioni in rame . . . 267

Il processo damascene . . . 269

Strained silicon . . . 270

(11)

Indice

4.6 Il mantenimento della validità della legge di Moore

. . . 271

Problemi connessi ai costi dei sistemi utilizzati per produrre i semiconduttori272 Il problema della dissipazione termica . . . 273

La legge di Koomey sull’efficienza energetica dei processori Intel ® . . . . 275

Un limite dalla fisica quantistica . . . 277

4.7 Tappe fondamentali nello sviluppo dell’industria dei semiconduttori e trend futuri. . . . 277

4.8 Prospettive e ricerche per il mantenimento della validità della legge di Moore in futuro. . . . 282

Materiali a bassa ed elevata costante dielettrica relativa . . . 286

Il grafene . . . 288

MOSFET a doppio gate in Antimonene ed Arsenene . . . 298

4.9 Una tassonomia per nuovi dispositivi oltre i tradizionali CMOS . . . 299

Introduzione . . . 299

FET con nanotubi di carbonio . . . 300

FET in grafene . . . 301

FET nanowire . . . 302

Semiconduttori composti del III-V come sostituti dei materiali per canali di tipo P . . . 303

Dispositivi per la sostituzione dei canali in germanio di tipo n . . . 304

Tunnel FET . . . 304

Spin FET and Spin MOSFET Transistors . . . 305

Negative Gate Capacitance FET . . . 307

NEMS Switch . . . 307

Mott FET . . . 309

Dispositivi logici a trasduzione piezoelettronica . . . 309

Trend per il periodo 2023-2030 . . . 310

5 Capitolo 5 L’Intel

®

i4004 e l’i4040 315 5.1 La tecnologia silicon gate di Fairchild Semiconductors ed il circuito inte- grato 3708. . . . 315

5.2 La Busicom . . . 321

5.3 Il Fairchild 3708 primo circuito integrato utilizzante la SGT

. . . 322

(12)

5.4 L’Intel ® i4004

. . . 324

Il progetto della giapponese Busicom per una calcolatrice con stampante 324 La cpu a 4 bit i4004. . . . 333

5.5 L’evoluzione Intel® i4040 . . . 339

Descrizione hardware . . . 340

Circuiti integrati di supporto all’i4040 . . . 348

6 Capitolo 6 La generazione di cpu ad 8 bit: 8008, 8080, 8085 351 6.1 Intel ® 8008 . . . 351

Le caratteristiche hardware ed elettriche della cpu 8008. . . 353

Temporizzazione e diagramma della transizione tra gli stati interni i8008. 355 Blocchi funzionali della cpu. . . . 355

Insieme di istruzioni Intel ® 8008. . . . 358

Segnali di controllo e fase di avvio della cpu 8008. . . 358

6.2 Intel ® 8080/8080A . . . 361

Insieme di registri interno . . . 364

Insieme di istruzioni e loro codifica . . . 365

Operazioni con quantità a 16 bit . . . 366

Spazio dedicato alle porte di ingresso ed uscita . . . 366

L’utilizzo della cpu i8080 . . . 366

6.3 Intel ® 8085 . . . 367

Generatore di segnali di clock Intel ® 8224 e controller Intel ® 8228. . . . 371

Circuiti integrati di supporto ai processori Intel ® ad 8 e 16 bit. . . . 371

APU Intel ® 8231A . . . 372

Controller per accesso diretto alla memoria Intel ® 8237 . . . 373

Modalità di funzionamento . . . 376

Registri interni . . . 376

Interfaccia periferica programmabile Intel® 8255A/82C55A . . . 376

7 Capitolo 7

Il processore Intel

®

8086 a 16 bit 381

Descrizione interna . . . 384

(13)

Indice

Capacità di indirizzamento . . . 387

Registri ed istruzioni . . . 390

Registro di flag . . . 391

Cloni hardware dell’Intel® 8086 . . . 392

Calcolatori che utilizzavano la cpu i8086 . . . 392

7.1 Il processore di controllo di input/ouput Intel® IOP 8089 . . . 393

Funzionamento dell’IOP 8089 . . . 395

Comunicazione tra processore host ed IOP . . . 395

Insieme di registri dell’IOP 8089 . . . 397

Indirizzamento dell’8089 . . . 398

7.2 Controllore di interruzioni programmabile 8259A . . . 399

Descrizione funzionale . . . 399

Sequenza gestione interruzioni in congiunzione con cpu 8080/8085 . . . . 402

Sequenza gestione interruzioni in congiunzione con cpu 8086 . . . 403

Processo di gestione delle interruzioni da parte delle cpu 8086/8088 . . . 403

Connessione di più controllori di interruzione 8259A in cascata . . . 405

7.3 Insieme di istruzioni 8086 . . . 406

7.4 L’Intel® 8088 con bus dati ad 8 bit . . . 410

8 Capitolo 8 Le cpu 80186/80188 per sistemi embedded 415 Descrizione interna . . . 416

8.1 L’Intel ® 80188 . . . 417

Differenze rispetto all’80186 . . . 419

Descrizione dello spazio di memoria indirizzabile . . . 420

Gestione delle interruzioni . . . 420

Porte di ingresso-uscita (I/O) . . . 422

Insieme di registri architetturali . . . 422

Modalità di indirizzamento della memoria . . . 424

Il coprocessore matematico 80C187 . . . 424

9 Capitolo 9 Lo iAPX 432 429 9.1 Il micromainframe iAPX 432 . . . 429

Insieme di istruzioni . . . 430

9.2 Segmenti ed oggetti. . . . 431

9.3 Indirizzamento degli oggetti. . . 432

I descrittori di oggetto . . . 432

Insieme di istruzioni . . . 433

Formati e modi di indirizzamento . . . 434

(14)

9.4 Struttura hardware di un sistema basato su processore iAPX 432 . . . . 434

Prelievo ed esecuzione delle istruzioni . . . 435

Sistema di memoria centrale . . . 435

Rete di comunicazione interprocessore . . . 436

Sistema di ingresso/uscita . . . 436

9.5 Datasheet dello iAPX 432 . . . 436

9.6 Il linguaggio ADA e lo iAPX 432 . . . 443

10 Capitolo 10 Le cpu i860 ed i960 447 10.1 L’Intel ® i860: il Cray on a chip . . . 447

Il paradigma di progetto di un processore RISC . . . 447

Microprocessori e supercomputer . . . 449

La prima cpu RISC di Intel ® . . . 450

Il pipelining nell’esecuzione delle istruzioni . . . 453

Unità di paginazione della memoria . . . 456

Calcolatori e sistemi che hanno utilizzato la cpu Intel ® i860 . . . 459

10.2 L’Intel ® i960 per impieghi embedded . . . 461

Introduzione . . . 462

Origini del progetto per una nuova cpu RISC a 32 bit . . . 462

Architettura dell’i960 . . . 463

11 Capitolo 11 La prima cpu x86 Intel

®

con memoria protetta: lo iAPX

®

80286 467 11.1 Introduzione . . . 467

11.2 Gli errori su silicio delle prime versioni di 80286 . . . 469

11.3 Inizializzazione di un calcolatore basato su cpu 80286 . . . 470

Lo spazio di indirizzamento iniziale . . . 472

11.4 Struttura dei registri . . . 473

Istruzioni addizionali rispetto all’8086/8088 . . . 474

11.5 Architettura dell’80286 dal punto di vista del sistema operativo . . . 474

11.6 Multitasking . . . 483

11.7 Gestione delle interruzioni ed eccezioni nell’80286 . . . 486

12 Capitolo 12 L’80386: la prima cpu di Intel

®

a 32 bit 493 12.1 I bug dei primi stepping di cpu 80386 . . . 493

Revisioni circuitali . . . 494

12.2 Introduzione . . . 495

(15)

Indice

12.3 La fase di progettazione dell’80386 . . . 498

12.4 Lo spazio di input/output (I/O) nelle cpu Intel ® a 32 bit . . . 500

12.5 Descrizione interna . . . 500

Unità di interfaccia verso il bus . . . 502

Unità di prelievo anticipato del codice . . . 502

Unità di decodifica delle istruzioni . . . 502

Unità di esecuzione . . . 503

Unità di segmentazione . . . 503

Unità di paginazione . . . 503

Auto diagnostica della cpu . . . 504

12.6 Sistema completo basato su cpu 80386 . . . 504

Generatore di clock 82384 . . . 505

Temporizzatore/contatore 8254 . . . 506

Programmazione dell’8254 . . . 508

Controllore di memoria cache 82385 . . . 508

12.7 Pinout della cpu . . . 513

Dimensionamento dinamico del bus dati . . . 514

Controllo del coprocessore matematico 80287/80387 . . . 514

12.8 Insieme dei registri architetturali . . . 515

Registri di impiego generale . . . 515

Registro dei flag . . . 515

Registri di debug . . . 516

Registri di controllo . . . 517

12.9 La segmentazione e la compatibilità con le precedenti cpu x86 . . . 518

L’emulazione dell’8086 . . . 519

L’emulazione dell’80286 . . . 520

12.10Il System Management Mode dell’80386SL . . . 520

13 Capitolo 13 Coprocessori matematici e standard in virgola mobile 525 13.1 Intel ® 8087 . . . 525

Insieme di registri numerici . . . 529

Parola di stato . . . 530

Formato dati supportati dall’8087 . . . 532

Insieme di istruzioni . . . 533

Calcolo delle funzioni trascendenti e trigonometriche nell’8087: algoritmo

CORDIC

. . . 536

(16)

13.2 Lo standard IEEE 754-1985 (IEC 60559:1989) per i numeri reali

. . . 538

Introduzione . . . 538

Formati . . . 539

Rappresentazioni normalizzate, numeri normali e subnormali . . . 540

Definizione di underflow . . . 541

Struttura di un numero in virgola mobile . . . 541

Formati base e codifiche . . . 543

Regole di arrotondamento . . . 543

Errore relativo dovuto ad arrotondamento . . . 544

Eccezioni . . . 544

Operazioni specificate dallo standard IEEE 754-1985 . . . 545

Lo standard IEEE 854-1987 . . . 546

La revisione dello standard, IEEE 754-2008 . . . 546

13.3 I coprocessori matematici 80287 ed 80387 . . . 549

Intel ® 80287 . . . 549

Descrizione dell’NPX 80287 . . . 551

Implementazione dello standard PIEEE-754 . . . 557

Intel ® 80387 . . . 557

13.4 I coprocessori Weitek Abacus per 80386 ed 80486 . . . 563

Weitek Abacus 4167 . . . 565

Weitek Abacus 3167 . . . 566

Weitek Abacus 1167 . . . 569

14 Capitolo 14 L’80486 cpu con controllore di memoria cache, fpu integrati 573 14.1 L’ambiente di sviluppo per il progetto della cpu 80486 . . . 573

Introduzione . . . 574

Architettura dell’80486 . . . 575

14.2 Advanced Programmable Interrupt Controller 82489DX . . . 583

14.3 Modelli e varianti . . . 585

Intel ® i486DX . . . 586

Intel ® i486SX . . . 586

Intel ® i486SX2 . . . 586

Intel ® i486GX . . . 587

(17)

Indice

Intel ® i486DX2 . . . 587

Intel ® i486SL . . . 587

Intel ® i486SL-NM . . . 587

Intel ® i486DX4 . . . 587

Intel ® RapidCAD . . . 587

Intel ® OverDrive . . . 587

15 Capitolo 15 Il processore Pentium

®

593 Introduzione . . . 593

15.1 Descrizione dell’architettura . . . 594

System Management Mode . . . 598

Esecuzione superscalare . . . 598

Predizione delle diramazioni . . . 598

Unità in virgola mobile . . . 601

Divisione a cifre ricorrenti . . . 601

Memorie cache per dati ed istruzioni . . . 604

Sottosistema di memoria centrale . . . 604

Piedinatura e specifiche elettriche D.C Pentium 60 e 66 MHz . . . 604

Procedura di selftest . . . 605

15.2 Varianti della microarchitettura P5 . . . 606

P5 . . . 606

P54C . . . 607

P54CQS . . . 607

P54CS . . . 607

P24T . . . 607

Tillamook . . . 608

15.3 Il bug dell’istruzione assembly FDIV . . . 608

Analisi delle cause hardware interne alla fpu del processore Pentium . . . 610

15.4 La variante Pentium MMX con insieme di istruzioni SIMD . . . 611

Tipi dato . . . 612

Insieme di istruzioni . . . 612

16 Capitolo 16 Architettura Intel

®

P6 con esecuzione fuori ordine 617 Introduzione . . . 617

16.1 Il Pentium Pro . . . 620

Il bug nella floating point unit . . . 620

La perdita di prestazioni con codice a 16 bit . . . 620

Architettura interna ed esecuzione fuori ordine . . . 621

Bus esterno di tipo transazionale e multiprocessing simmetrico . . . 623

Memorie cache di primo e secondo livello . . . 625

Sistema di memoria centrale nel Pentium Pro . . . 630

Il sistema di aggiornamento del microcodice nel Pentium Pro . . . 633

(18)

Contatori di prestazioni . . . 634

Piedinatura Pentium Pro . . . 634

Chipset di supporto al processore Pentium Pro . . . 635

Il Pentium II Overdrive . . . 638

16.2 Il Pentium II . . . 639

Introduzione . . . 639

Varianti . . . 640

Ottimizzazione per il codice a 16 bit . . . 644

Multiprocessing con Pentium II . . . 645

Logica di selezione delle tensioni di alimentazione . . . 645

Lo slot 1 . . . 646

Chipset di supporto Intel ® 440BX . . . 647

Il processo tecnologico P856 . . . 648

16.3 Il Pentium III . . . 649

Introduzione . . . 649

Nuclei di processore Pentium III . . . 649

Unità di esecuzione nel Pentium III . . . 653

Insieme di istruzioni SSE . . . 655

Mobile Pentium III . . . 659

Pentium III-M, l’antesignano del Pentium M . . . 660

17 Capitolo 17 L’architettura NetBurst

®

alla base del Pentium 4 665 Introduzione . . . 665

17.1 La microarchitettura del Pentium 4 . . . 666

Validazione formale del processore Pentium 4 . . . 666

Descrizione schema a blocchi nucleo Willamette . . . 668

Pipeline nell’architettura NetBurst . . . 672

17.2 Nuclei di cpu Pentium 4 . . . 674

Willamette . . . 674

Northwood . . . 676

Gallatin (Pentium 4 Extreme Edition) . . . 677

Prescott . . . 678

Il nodo tecnologico dei 90 nm . . . 682

Prescott 2M (Extreme Edition) . . . 684

Cedar Mill . . . 685

17.3 Il Pentium 4-M . . . 686

Il processore Mobile Pentium 4 . . . 687

17.4 Cpu Celeron basate su NetBurst . . . 687

17.5 Il Pentium D primo processore a doppio nucleo di Intel ® . . . 688

Pentium D con nucleo Presler . . . 689

Pentium D extreme edition con nucleo Smithfield XE . . . 690

Pentium D extreme edition con nucleo Presler XE . . . 690

(19)

Indice 18 Capitolo 18

Pentium M e Celeron M processori mobile 693

La genesi della cpu Banias . . . 693

Caratteristiche tecniche . . . 694

18.1 Il nucleo Dothan . . . 699

18.2 Chipset di supporto i855PM/GM/GME . . . 699

18.3 Piattaforma Centrino ® basata su cpu Pentium M . . . 701

18.4 Pentium M enhanced . . . 701

Core Duo . . . 702

Core Solo . . . 703

Caratteristiche del nucleo Yonah . . . 703

19 Capitolo 19 Microarchitettura Core

®

707 Introduzione . . . 707

Il nodo tecnologico dei 65 nm . . . 707

19.1 Innovazioni microarchitetturali . . . 709

Predizione dei salti . . . 713

Il loop buffer . . . 714

19.2 Pentium Dual Core . . . 714

Nucleo Allendale . . . 714

Nucleo Wolfdale 3M . . . 714

19.3 Merom processore mobile Core 2 Duo . . . 715

La piattaforma Centrino Pro . . . 716

19.4 Insieme di istruzioni SIMD SSSE3 . . . 716

19.5 Cpu Celeron con microarchitettura Core . . . 717

19.6 L’evoluzione microarchitetturale Penryn a 45 nm . . . 718

Miglioramento nell’efficienza energetica . . . 720

Il nodo tecnologico dei 45 nm . . . 721

Piattaforma Montevina alla base di Centrino 2 . . . 723

19.7 La variante Core ® 2 Extreme . . . 723

20 Capitolo 20 Nehalem, il capostipite di una nuova famiglia di microarchitetture 727 20.1 Il marchio Core i7 . . . 727

Filosofia progettuale della nuova microarchitettura . . . 727

Socket 1366 . . . 728

Socket LGA-1156 . . . 729

20.2 Microarchitettura Nehalem . . . 729

La fase di sviluppo tramite SystemVerilog . . . 729

Innovazioni microarchitetturali . . . 732

Chipset X58 . . . 745

Il nucleo Lynnfield . . . 747

Il nucleo Arrandale . . . 750

(20)

Cpu Nehalem con nucleo Clarksfield per impieghi mobile . . . 752

20.3 Westmere, il die-shrink a 32 nm . . . 753

La Direct Media Interface . . . 754

Il nodo tecnologico del processo a 32 nm . . . 756

Platform controller hub Ibex Peak . . . 757

20.4 La variante Core ® i7 Extreme . . . 758

20.5 Sandy Bridge . . . 762

Introduzione . . . 762

Modelli di cpu . . . 764

Innovazioni microarchitetturali . . . 765

Gestione del risparmio energetico in Sandy Bridge . . . 770

Il chipset Cougar Point . . . 772

20.6 La fase tick, Ivy Bridge . . . 778

Introduzione . . . 778

Il chipset Panther Point . . . 781

Thermal design power configurabile . . . 782

Impiego di transistor Tri-gate da 22 nm . . . 782

Gpu HD 2500 ed HD 4000 . . . 785

Il generatore di numeri casuali . . . 785

20.7 Haswell . . . 789

Introduzione . . . 789

Haswell un SoC modulare . . . 791

La microarchitettura Haswell . . . 794

Processo tecnologico a 22 nm Tri-gate low ed ultra low power . . . 806

Il chipset Lynx Point . . . 808

20.8 Broadwell . . . 814

Introduzione . . . 814

Il processo tecnologico a 14 nm . . . 818

Il processore Core ® M . . . 820

Processori Broadwell per desktop . . . 823

Processori Broadwell U per impieghi mobile . . . 823

Il PCH-LP nei processori Broadwell . . . 825

Platform controller hub di nona generazione . . . 826

20.9 Skylake . . . 827

Introduzione . . . 827

Caratteristiche base . . . 828

Migliorie apportate al motore di esecuzione fuori-ordine . . . 830

Gpu di nona generazione . . . 831

Processori Skylake desktop . . . 833

Processori Skylake mobile . . . 834

Il processore Core ® M di seconda generazione, Skylake Y . . . 836

Chipset Sunrise Point serie 100 . . . 836

20.10Kaby Lake . . . 836

Introduzione . . . 836

(21)

Indice

Chipset Union Point serie 200 . . . 840

20.11Coffe Lake, processori Core i7 di ottava generazione . . . 841

Introduzione . . . 841

Processori Coffe Lake per impieghi mobile . . . 842

Platform Controller Hub serie 300 . . . 843

20.12Cannon Lake . . . 843

Introduzione . . . 843

Processo P1274 da 10 nm . . . 844

21 Appendici. 849 21.1 La strategia Tick-Tock . . . 849

La fase Tick . . . 849

La fase Tock di sviluppo di una nuova architettura . . . 850

La nuova fase Process-Architecture-Optimization . . . 850

21.2 Il barrel shifter . . . 851

21.3 Classificazione tipologie memorie RAM . . . 852

Fast Page Mode DRAM . . . 852

EDO . . . 853

SDRAM . . . 853

DDR SDRAM . . . 854

DDR2 SDRAM . . . 854

DDR3 SDRAM . . . 855

DDR4 SDRAM . . . 855

RDRAM . . . 858

Error-correcting Code (ECC) . . . 859

21.4 Memorie statiche SRAM . . . 862

Celle a 4 transistor . . . 863

Cella con transistor a film sottile, TFT . . . 864

21.5 Memorie di massa a nastro perforato . . . 864

La telescrivente di Murray e la modifica al codice Baudot . . . 866

L’evoluzione del nastro delle telescriventi . . . 867

Il nastro perforato per i calcolatori . . . 867

21.6 Le memorie a nucleo magnetico . . . 868

21.7 Struttura a bande delle giunzioni a semiconduttore pn. . . . 873

21.8 Moltiplicatori binari . . . 875

Moltiplicatore Ripple-Carry ad array . . . 875

Moltiplicatore Carry-Save . . . 876

Moltiplicatore di Wallace . . . 876

(22)

Il moltiplicatore binario, parallelo Dadda . . . 879 21.9 Crossbar switch

. . . 882 21.10 Intel ® 64 . . . 884 Storia del set di istruzioni a 64 bit . . . 884 Intel ® 64 l’implementazione x86-64 . . . 884 21.11 La tassonomia di Flynn . . . 885 Limiti della architettura di Von Neumann . . . 888 21.12 La legge di Amdahl per la valutazione delle prestazioni di un calcolatore

. . . 889 Scalabilità

. . . 890 Formulazione della legge di Amdahl

. . . 890 21.13 Le scale di integrazione . . . 890 21.14 Le memorie a tamburo magnetico . . . 891 21.15 Il transistor MOSFET

. . . 894 Funzionamento

. . . 895 MOSFET a canale p ad arricchimento

. . . 898 Transistore MOSFET a svuotamento

. . . 899 21.16 Il bus Intel ® Multibus I

. . . 900 Bus Master

. . . 901 Bus Slave

. . . 901 Moduli ibridi

. . . 902 Architettura di computer a scheda singola SBC . . . 902 Il bus Multibus® II (IEEE 1296) . . . 903 21.17 Il sistema operativo CP/M . . . 904 21.18 Memorie programmabili e cancellabili EPROM (Erasable Programmable

Read Only Memory)

. . . 906

21.19 Socket per cpu . . . 910

Lista dei socket utilizzati dai processori Intel ® . . . 910

21.20 La decodifica degli indirizzi di memoria in un sistema a microprocessore 914

Esempio di decodificatore indirizzi 8088 con porta NAND . . . 914

21.21 Programmi di benchmarking Whetstone e Dhrystone . . . 914

(23)

Indice

21.22 Bus ISA, Vesa Local Bus, PCI/PCI-X e PCI Express . . . 915

Introduzione . . . 915

L’Industry Standard Architecture . . . 917

Il Vesa Local Bus . . . 918

Il bus PCI . . . 918

L’evoluzione PCI-X . . . 920

Architettura PCI Express . . . 921

La gestione degli errori . . . 925

Gestione delle interruzioni . . . 925

Gestione energetica . . . 926

Meccanismo di rimozione ed inserzione a caldo . . . 927

21.23Glossario . . . 927

21.24Prefissi per i multipli binari . . . 929

(24)
(25)

Indice analitico

80C187, 424 432, 434 8008, 351

8080/8080A, 361 8085, 367

8086, 381 8088, 410 8089, 393 8231A, 372 8237, 373

80186/80188, 415 80286, 467

80386, 493 80387, 557 80387DX, 558 80486, 573 80860, 450

82385 cache controller, 509 A

abaco, 44

Ada Augusta Byron, 67 AGP, 647

Alan Turing, 84 albero di Wallace, 656 algoritmo CORDIC, 536

Algoritmo di divisione SRT, 602 algoritmo SRT, 610

Amdahl, 211, 889 AN/FSQ-7, 167 Andrew Grove, 239 A.P.E, 564

Atanasoff-Berry, 138

B

BiiN, 462 BINAC, 154 Blaise Pascal, 57 Bomba, 86

bootstratp load, 319 bus watching, 890 Busicom, 321 C

Calcolatore di Antikythera., 38 cartuccia SEC, 644

Charles Babbage, 64 Colmar, 68

contatto sepolto, 319 Curt Herzstark, 70 D

damascene, 269 E

EDVAC, 161 EMC, 566 ENIAC, 146 Enigma, 110 EOS, 721, 756 F

Faggin, 315

Fairchild 3708, 322 Federico Faggin, 240 Fermi, 874

FIVR, 821 G

Galileo, 46

(26)

Gene Amdahl, 210 Giovanni Poleni, 53 Gordon Moore, 238 H

Harvard, 351

Harvard Mark I, 142 I

i860, 447 i960, 461 i4004, 324 i4040, 339 iAPX, 495 iAPX 432, 429 IAS, 155 ILLIAC I, 157

Industry Standard Architecture, 917 Integrated electronics, 235

Ishango, 29 J

Jaquard, 864 Jean Hoerni, 316 JEDEC, 624, 771

John Von Neumann, 887 JOHNNIAC, 156

K

Konrad Zuse, 88 L

Lebombo, 29 Leibniz, 59

Lexicon Branding, 593 M

MainSail, 467 MANIAC, 164

Maurice V. Wilkes, 136 MIPS VAX, 582

Moltiplicatore binario Dadda, 879 Moltiplicatore di Wallace, 876 Moore, 245, 271

MOSFET, 316 Multibus I, 900

Museo storico delle macchine per il cal- colo, 215

N

Nehalem, 729 Nepero, 49 NetBurst, 665 O

Optane, 841 ORDVAC, 157 P

P6, 617 P856, 648 PCI, 918 Pentium 4, 665 Pentium II, 639 Pentium II M, 643

Pentium II Overdrive, 638 Pentium III, 649

Pentium III-M, 660 Pentium Pro, 620 personal computer, 212 planetario di Archimede, 41 Plankalkül, 100

PLL nell’80486DX-50, 576 predittore bimodale, 698 protocollo Illinois, 604 Q

QPI, 734 R

RISC, 447

Robert Noyce, 237 root complex, 924 Rubylith, 333 S

SEAC, 164 Selectron, 156 Socket 4, 605 Socket 8, 618 SSEC, 171

Struttura a bande delle giunzioni, 873

(27)

Indice analitico

SystemVerilog, 731 T

Tejas, 679 thyratron, 120 TLB, 458 Tomasulo, 830 Trojan Horse, 482 tubi Williams, 124 TX-0, 168

U

UniDIMM, 857 UNIVAC I, 158 V

Verilog 2005, 731 Vesa Local Bus, 918 Von Neumann, 351 W

Weitek Abacus, 563 Whetstone, 582 Whirlwind, 165

Wilhelm Schickard, 48 William Gunning, 624 Y

Yonah, 702

(28)
(29)

1 Capitolo 1 Introduzione

Il presente lavoro di tesi di laurea ha come nucleo principale, l’analisi della prima "legge" di Moore riferita alla evoluzione dei processori Intel®, inizialmente in calcolatrici come la Busicom 141-PF (i4004) e poi a sistemi di calcolo automatico di tipo desktop o con alimentazione elet- trica, tramite batterie. L’analisi retrospettiva viene applicata alla storia del calcolo automatico dagli albori del concetto umano di calcolo, per giungere alle soglie dell’anno emblematico, il 1965 nel quale venne formulata da Gordon E. Moore la sua più famosa previsione empirica, basata sulla embrionale tecnologia del circuito integrato che nel 1959 ebbe una data cardine.

L’evoluzione delle capacità di calcolo e di elaborazione dati dalle prime macchine da calcolo

meccaniche, passando per i primi calcolatori elettromeccanici a relè di Konrad Zuse, proseguen-

do con i primi calcolatori elettronici a transistor costruiti oltre che in Inghilterra e Stati Uniti

d’America anche in Italia, con la famiglia ELEA Olivetti, ha subito un aumento esponenzia-

le. Tale andamento di tipo esponenziale viene messo in evidenza anche da emeriti informatici

come lo statunitense Raymond Kurzweil anche nel suo noto saggio del 2005 "La Singolarità è

vicina". Proprio il 2005 costituisce la data che segna la fine della corsa all’aumento puro delle

frequenze di funzionamento per i processori Intel®, con l’inizio dell’integrazione di un numero

sempre maggiore di nuclei di elaborazione. Aumento sostenuto proprio dalla capacità dell’in-

dustria dei semiconduttori di integrare un numero sempre maggiore di transistor nel rispetto di

quanto predetto cinquanta anni prima dall’allora direttore delle ricerche in Fairchild, Gordon

E. Moore. Nel corso dell’elaborato vengono messi in evidenza i limiti tecnologici (dissipazione

di potenza termica) e dovuti ai sistemi di litografia che porranno problemi per il mantenimento

della validità della legge di Moore. Intel® a questo proposito nel corso degli anni ha introdotto

importanti innovazioni tecnologiche come, l’utilizzo di materiali dielettrici ad elevata costante

dielettrica, la tecnologia dei transistor MOSFET tridimensionali denominata Tri-Gate utiliz-

zata nel 2011 per la famiglia di processori Ivy Bridge. Vengono approfondite le prospettive

relative a tecnologie e ricerche per dispositivi che possano servire da ponte tra i dispositivi

CMOS e la nanoelettronica, incluse possibili applicazioni del grafene alla costruzione di FET

caratterizzati da elevatissima mobilità dei portatori di carica elettrica. Nelle appendici in coda

all’elaborato vengono meglio connotati e specificati, anche nel dettaglio, concetti o riferimenti

riportati altrove nel testo principale. Per la parte dedicata alle cpu Intel® laddove possibile

sono stati riportati i dati riguardanti il numero di transistor integrati (spesso citati dalle stes-

se fonti originarie come dato stimato) e pagine estratte dai data sheet Intel®. La previsione

effettuata da Gordon E. Moore nel 1965 sul numero di componenti integrabili per costo mini-

mo, singolo chip di silicio materiale semiconduttore ancora largamente utilizzato dall’industria,

rimane tutt’ora valida anche se con alcuni cenni di rallentamento e con limite di estensione

temporale, situato dalla fisica quantistica attorno al 2036. Si inserisce come evento emblema-

tico nella storia del calcolo automatico che ha conosciuto la realizzazione di macchine all’inizio

totalmente meccaniche, poi utilizzando come componenti circuitali di commutazione relè, val-

(30)

vole termoioniche, transistor. Il suo significato è oltre che prettamente di ordine tecnologico,

anche riguardante l’economia moderna basata sull’elettronica come motore principale.

(31)

2 Capitolo 2

Il concetto di numero e la storia del calcolo automatico

2.1 La storia dei numeri

Le origini del concetto di numero

Le origini del concetto, umano, di numero non sono ben documentate. Le prime tracce di qualcosa che si suppone sia un conteggio risalgono a più di 35000 anni fa, e sono co- stituite da ossa intagliate con tacche che si pensa indichino un qualche tipo di conteggio.

Il reperto più antico è forse l’osso di Lebombo , circa del 35000 a.C. , un osso che riporta

Figura 2.1: Osso di Lebombo.

29 tacche distinte L’oggetto è stato rinvenuto nel 1970 nei lavori di scavo nella "Border Cave", una grotta con reperti del periodo paleolitico che si trova sui monti Lebombo,

Figura 2.2: Monti Lebombo, sud Africa.

nel nord della provincia del KwaZulu-Natal nel Sudafrica al confine con lo Swaziland.

Uno dei reperti più famosi è l’osso di Ishango esso viene oggi conservato a Bruxelles,

al 19° piano dell’Istituto Reale delle Scienze Naturali del Belgio. L’osso, che risale al

paleolitico superiore (20000 a.C. – 18000 a.C.), è un perone di babbuino di colore scuro,

con una scaglia di quarzo innestata ad un’estremità. Presenta una serie di tacche incise e

(32)

Figura 2.3: Osso d’Ishango.

suddivise in tre righe. Tali tacche, non sono state incise a scopo decorativo, ma si pensa siano dovute alla necessità di sviluppare un sistema numerico. La somma dei numeri sul- le righe dà 60 e 48, entrambi numeri divisibili per 12. Ciò che si può supporre, anche se non sappiamo datare con precisione quando siano apparsi i primi esempi di "conteggio"

nella storia dell’umanità, è che in effetti ben prima del concetto di numero, l’umanità abbia elaborato la "capacità di conteggio". La necessità di effettuare un qualche tipo di conteggio si è affermata con l’evolversi delle attività umane più complesse, come l’alle- vamento di animali (ad esempio con la necessità di verificare che un gregge portato al pascolo rientrasse al completo), o l’agricoltura (necessità di una forma di "calendario", conteggio delle "lune" ad esempio, per sapere quando era tempo di seminare o di eseguire altre operazioni agricole), oppure con l’inizio di una pur semplice economia di scambio, basata ad esempio sul baratto. La cosa fondamentale è quindi quella di istituire una cor- rispondenza biunivoca, alla base del contare ad esempio tra quantità di tacche realizzate su un supporto e quantità di pecore. Nel considerare questa corrispondenza biunivoca fra (ad esempio) pecore e tacche su un bastone, non si costituisce solo una relazione fra insiemi; le tacche vengono infatti usate come rappresentazioni simboliche. Ci sono quin- di degli oggetti concreti (tacche, sassi, conchiglie) che assumono un significato astratto, considerati non per se stessi in quanto tali, ma come simbolo per "altro"; è questo un passo decisivo nell’evoluzione culturale umana, il passo che porterà sia alla nascita del sistema dei numeri che anche alla scrittura, con l’invenzione di simboli. In relazione al concetto di numero due sono le sue peculiarità caratteristiche che lo definiscono ovvero il concetto di "cardinalità" e di "ordinalità". Con il primo si intende rappresentare quanti elementi vi siano in un dato insieme mentre con "ordinalità" si intende una relazione di posizione all’interno di una precisa sequenza numerica. Nel linguaggio naturale nasce quindi il concetto di aggettivo numerale proprio per connotare il numero di elementi di un dato insieme.

Il concetto di base di numerazione ed i primi strumenti di calcolo

L’uso di una base per contare si è sviluppato in modi diversi in diverse parti del mondo;

si rintracciano in varie popolazioni il contare con base 5, oppure 20 (Maya, ad esempio)

o 12. I resti di queste numerazioni rimangono nelle varie lingue; resti di un conteggio in

base venti sono le parole francesi come Quatrevingts = 80 oppure Quatrevingts-dix =

90, o score = 20 in inglese. Resti di un conteggio per dozzine sono la parola Grosse (in

(33)

2.1 La storia dei numeri

francese, anche in italiano commerciale "grossa") per indicare 144. Presso i Sumeri era in uso la base 60, della quale ci rimane l’uso nel misurare gli angoli ed il tempo (minuti, secondi), dovuto al fatto che i popoli della Mesopotamia sono stati i più grandi cultori dell’Astronomia nell’antichità. I metodi di calcolo si sono sviluppati parallelamente ai metodi di rappresentazione numerica, anche se la capacità di eseguire operazioni è cer- tamente più recente. Uno dei primi strumenti di calcolo è stato il corpo umano stesso ed in particolare le mani con le quali, è possibile contare fino a 28 utilizzando la suddivi- sione in falangi delle dieci dita. Tra i più antichi strumenti di calcolo vi furono i gettoni (analoghi alle fiches in uso negli odierni casinò). L’uso dei gettoni da parte di Sumeri e Elamiti

1

(che abitavano gli odierni Iraq ed Iran) risale circa al 3000 a.C. Erano fatti di argilla essiccata e la loro forma stabiliva il loro valore.

Per quanto riguarda le operazioni:

le somme e sottrazioni venivano eseguite in modo ovvio e cioè aggiungendo o togliendo gettoni; nel caso della sottrazione poteva essere necessario prima parcellizzare un gettone di valore maggiore in gettoni di valore minore. La moltiplicazione veniva eseguita trami- te somme ripetute mentre nel caso della divisione essa poteva essere portata a termine tramite parcellizzazione di gettoni e divisione in mucchietti: nel caso della divisione di 60 per 3 ad esempio si doveva parcellizzare un grosso cono (valore 60) in sei bilie da 10 che si potevano dividere in tre mucchietti uguali ognuno contenente 2 bilie.

La scrittura dei numeri

Una delle più antiche forme di scrittura dei numeri fu costituita da tavolette di argilla sulle quali venivano disegnate le forme dei gettoni da parte dei sumeri

. Gli esempi a fianco mostrano degli "archivi", in cui era segnata la quantità di diversi oggetti in varie caselle, (secondo millennio a.C.). Le cifre venivano tracciate tramite appositi "calami": la punta del calamo

2

serviva per inci-

1Elam è il nome convenzionale con cui si fa riferimento ad una civiltà sviluppatasi dal III al I millennio a.C. nell’area corrispondente all’attuale Iran occidentale, nelle regioni del Khuzistan e del Fars.

2Il calamo, dal greco kàlamos, è un pezzo di canna o giunco con un’estremità appuntita per potersene servire per la scrittura. Venne sostituito dalla penna d’oca progressivamente, tra il VI e il IX secolo.

(34)

dere disegni sull’argilla, mentre le cifre si ottenevano appoggiando il fondo del calamo;

facendolo verticalmente si otteneva un cerchio (grande o piccolo) che rappresentava le sfere di valore 10 o 3600; facendolo con il calamo obliquo si otteneva una tacca che ricor- dava i coni (piccoli o grandi) di valore 1 o 60; infine se sui simboli di cono o sfera grande si tracciava un cerchio piccolo, si ottenevano disegni che ricordavano i coni o le sfere tra- forati, di valore 600 o 36000. L’utilizzo del calamo per l’incisione sulle tavolette d’argilla:

Altra forma di scrittura numerica più antica sono i geroglifici egizi, anch’essi risalenti a prima del 3000 a.C., nei reperti più antichi. I simboli hanno valori fissi e la scrittura è di tipo puramente additivo su base 10.

In seguito la scrittura geroglifica venne progressivamente sostituita dallo ieratico, sempre additivo su base 10, che utilizzava meno simboli per la rappresentazione dei numeri.

Il più esteso papiro egizio di natura matematica giunto fino a noi è il papiro di Rhind, si tratta di un papiro largo circa 30 cm e lungo circa 5,46 m conservato al British Museum.

Era stato acquistato nel 1858 in una città balneare sul Nilo da un antiquario scozzese,

Henry Rhind, e perciò è conosciuto spesso con il no me di papiro di Rhind o, meno

frequentemente, di papiro di Ahmes in onore dello scriba che lo aveva trascritto intorno

(35)

2.1 La storia dei numeri

al 1650 a.C. Lo scriba ci informa che il contenuto è tratto da un esemplare risalente al Regno Medio e composto fra il 2000 e il 1800 a.C. E’ un papiro molto particolare ed interamente matematico che contiene al suo interno vari problemi geometrici di volume, una rappresentazione del teorema di Pitagora, vari tipi di frazioni (di cui gli egiziani erano specialisti) e vari indovinelli. Le formule contenute nel papiro Rhind sono anche il primo caso documentato di un tentativo di "quadrare il cerchio", ossia di costruire un quadrato con la stessa area del cerchio.

Altre forme e notazioni di scrittura numeriche, importanti per la cultura delle popo- lazioni nel Mediterraneo furono quella greca e quella romana.

Le notazioni greche hanno avuto tre stadi essenziali: per prima fu adottata una no- tazione additiva in base dieci pura (come quella egizia), poi quella detta acrofoni- ca ( il simbolo del numero usava la prima lettera del nome), con base ausiliare 5

. Nella figura a fianco i simboli richiamano i nomi dei numeri: 5 = Penta, 10 = Deka , 50 = ,100 = Hekaton, 500 = Pentehekaton, 1000

= Khilioi, 5000 = Pentekhilioi , 10000 = Myrioi, 50000 = Pentemyrioi.

Con la scrittura ionica, sempre additiva ed in base dieci, vengono utilizzate invece tutte

le lettere dell’alfabeto greco, assegnando ad ognuna di esse un valore numerico giungendo

così ad una più elevata efficacia rappresentativa, aumentando nel contempo il numero dei

simboli usati. Da notare che sono presenti tre lettere arcaiche scomparse dall’uso comune

e che rappresentano i numeri 6 (stigma, variante grafica del digamma), 90 (koppa), 900

(sampì o san) e che dopo un primo periodo in cui si usavano lettere maiuscole, si passò

(36)

a quelle minuscole: .

Combinando questi simboli si arrivava a scrivere fino al numero 999; per proseguire con le migliaia sino a 9000 si usava il segno delle unità con un apice a sinistra (1000 ad esem- pio veniva scritto come ’α; 2000 come ’β ecc.). Per le decine di migliaia veniva impiegata la lettera M (iniziale di myrioi = miriade) alla quale si sovrapponeva il numero delle de- cine di migliaia. Le scritture dei numeri che si affermarono nell’area mediterranea sono tutte puramente additive ed in base dieci; lo erano infatti anche le scritture numeriche di Fenici, Ebrei e quelle di altre popolazioni.

I romani

Il sistema di numerazione romano è un sistema di numerazione additivo, ovvero ad ogni simbolo è associato un valore e il numero rappresentato è dato dalla somma dei valori dei simboli (che assomigliano a delle lettere e che pertanto possono essere definiti "simboli letterari"). Il sistema comunemente conosciuto non è tuttavia quello utilizzato nell’antica Roma, ma la sua modifica effettuata nel Medioevo quando ci si accorse che l’originale risultava troppo lungo per descrivere alcuni numeri. Il sistema originale era additivo, cioè i valori dei simboli venivano solo addizionati e mai sottratti. Di conseguenza i simboli I, X, C ed M potevano essere ripetuti in uno stesso numero fino a quattro volte. Questo viene evitato con la riforma medioevale, con la quale viene introdotta la possibilità di sottrarre il valore di una cifra a quella successiva. I simboli utilizzati ed i valori ad essi associati erano i seguenti: I = 1 ; V = 5 ; X = 10 ; L = 50 ; C = 100 ; D = 500 ; M = 1000.

Sopralineando o sottolineando una lettera il suo valore originale viene moltiplicato per

1000; i numeri rappresentano nell’ordine il numero 5000, 10000, 50000 e

100000, mentre se si borda una lettera con due linee verticali ai fianchi ed una linea

orizzontale soprastante, il suo valore originale viene moltiplicato per 100.000; i simbo-

li: rappresentano rispettivamente i numeri 500000, 1000000, 5000000,

10000000, 50000000 e 100000000. I numeri romani ebbero origine dall’intaglio di tacche

successive su legno od altri materiali per incisione. L’I è chiaramente una tacca, mentre

V rappresenta probabilmente una mano aperta e X due mani aperte speculari. In realtà

non erano segni per fare operazioni ma semplici abbreviazioni per esprimere e ricorda-

(37)

2.1 La storia dei numeri

re numeri. L’intaglio doveva affrontare il problema della percepibilità diretta a colpo d’occhio dei numeri fino a 4, per cui il 5 necessitava di un altro simbolo. Nel sistema di numerazione romano fu introdotta la notazione sottrattiva con la quale il numero 4 veniva indicato come IV e non come ripetizione per quattro volte del simbolo I.

Il sistema posizionale

Nel sistema posizionale di rappresentazione numerica ogni numero si esprime come la somma dei prodotti di ciascuna cifra per la base elevata all’esponente che rappresenta la posizione della cifra, ad esempio il numero 221 in base 10 viene così rappresentato:

221 = 2 ∗ 10

2

+ 2 ∗ 10

1

+ 2 ∗ 10

0

.

I primi esempi noti di una scrittura numerica che sia basata sui seguenti elementi:

- notazione posizionale - base dieci

- presenza dello zero

- nove simboli (cifre) oltre lo zero

risalgono al quinto secolo d.C. (nel trattato indiano di cosmologia Lokavibhaga, 485 d.C.); questo metodo si diffuse piuttosto rapidamente in India e in Indocina, e già dal secolo successivo si trovano documenti sull’uso di tale cifre per eseguire i conti.

Si deve al matematico, geografo, astronomo persiano Ab¯ u Jafar Muhammad ibn M¯ us¯ a al-Khw¯ arizm¯ı

con la sua opera dal titolo tradotto in latino "Algoritmi de numero In- dorum", l’introduzione della notazione posizionale nel vicino e medio oriente oltre che in Europa

3

.

Le tracce di uso della numerazione indo-araba in Europa sono comunque scarse fino

al XIII secolo, quando il matematico pisano Leonardo Fibonacci (che

3Nel decimo secolo, il monaco francese Gerbert d’Aurillac apprende il nuovo metodo dai mori di Spagna ed inizia a introdurlo in occidente, specialmente dopo esser divenuto Papa nel 999, col nome di Silvestro II

(38)

aveva viaggiato molto fra gli arabi) scrisse il "Liber Abaci", che illustra il sistema posi- zionale ed il suo uso, e che fu il testo che più contribuì alla sua introduzione sistematica in Europa.

L’utilizzo delle cifre di origine indiana richiede di avere una cifra per rappresentare il numero zero. In una notazione additiva, non c’è alcuna necessità di avere un simbolo per lo zero, ma in una posizionale ogni cifra rappresenta il numero delle decine o centinaia o altre potenze del dieci (se la base è dieci). Inizialmente e nella scrittura babilonese ed in quella indiana, lo "zero" indicava solo l’assenza di cifre in una data posizione; in seguito con la teoria degli insiemi allo "zero" venne associato il concetto di cardinalità dell’insieme vuoto ovvero un insieme con nessun elemento.

Anche i cinesi usavano una numerazione posizionale in base dieci, ed arrivarono ad usare lo zero (di derivazione indiana) verso l’ottavo secolo d.C. Qualche secolo dopo se ne trovano le tracce anche nella numerazione Maya. L’uso fattone però da babilonesi, cinesi e Maya fu limitato alla rappresentazione dei numeri, ed è invece nella sua introduzione da parte degli indiani, con un’efficiente notazione posizionale, che lo zero diventa parte di una scrittura che è anche strumento di calcolo.

Numeri negativi e frazioni

Uno dei primi testi che trattava diffusamente i numeri negativi fu l’ "Algebra" di Rafael Bombelli (1627), che indicava con "p." e "m." il più ed il meno; questa notazione diven- ne sempre più accettata, fino ad essere usuale fra i matematici del diciottesimo secolo.

Per quanto riguarda i numeri razionali

4

, Uno dei primi documenti nel quale viene fatta menzione a problemi di calcolo inerenti le divisioni tra numeri è proprio il papiro egi- zio di Rhind. Gli egizi utilizzavano frazioni del tipo

1n

ed esprimevano le altre quantità frazionarie come combinazioni di questa forma: ad esempio

35

=

12

+

101

. I babilonesi erano esperti nell’uso delle frazioni e l’uso della base 60 permetteva di esprimere facilmente molte frazioni del tipo

1n

ove n sia un divisore della base come multipli di

601

del tipo cioè:

12

=

3060

,

301

=

602

.

Il computo con i numeri razionali rimase una cosa piuttosto complicata anche dopo la diffusione della notazione posizionale indiana a base 10, in quanto l’uso dei numeri decimali al posto delle frazioni non viene introdotto che molto più tardi. Infatti, seb- bene nel mondo arabo se ne trovi già traccia attorno al 900 d.C., in Europa è solo nel 1585 che il matematico belga Simon Stevin scrive un libretto: De Thiesme (in francese:

La Disme, e cioè il metodo di rappresentazione decimale), in cui spiega come scrivere e fare le operazioni sui numeri non interi usandone la rappresentazione decimale. Egli considerava questa "una meravigliosa invenzione", semplice ed efficace per evitare penosi conti con i "numeri rotti" (le frazioni). Un grande impulso all’uso della rappresentazione decimale venne con l’adozione del sistema metrico decimale per i pesi e le misure (metri, litri, chili, che sostituiscono le vecchie misure locali in piedi, tese, braccia, galloni, once, ecc...). Il sistema fu adottato in Francia dopo la Rivoluzione, ed "esportato" nel resto

4In matematica, un numero razionale è un numero ottenibile come rapporto tra due numeri interi, il secondo dei quali diverso da 0. Ogni numero razionale quindi può essere espresso mediante una frazione ab, di cui a è detto il numeratore e b il denominatore.

(39)

2.2 Classificazione delle macchine da calcolo

d’Europa con le conquiste napoleoniche (ad esclusione forse di alcuni paesi anglosassoni come l’Inghilterra).

La storia dei numeri reali

Fino alla metà dell’Ottocento il concetto di numero reale coincideva con il concetto di misura di grandezze ed era fondato sull’intuizione geometrica della continuità della retta.

Si fa risalire a Pitagora (500 a.C.) la scoperta che esistono grandezze, come ad esempio la diagonale e il lato del quadrato, che sono incommensurabili, cioè che non possono essere contemporaneamente multipli interi di una terza grandezza che venga usata come unità di misura. Non ci furono progressi significativi nella conoscenza dei numeri reali fino al Cinquecento, quando, con l’introduzione del formalismo algebrico per opera di R. Bombelli (Algebra, 1572), fu possibile definire i rapporti di grandezza e le operazioni algebriche mediante simboli. La costruzione dei numeri reali fu uno dei progressi più importanti del pensiero matematico del diciannovesimo secolo. Prima del tardo secolo diciannovesimo infatti non erano state logicamente definite nemmeno le semplici pro- prietà dei numeri razionali positivi e negativi e dei numeri irrazionali.

Il 1872 fu un anno molto importante per l’analisi infatti in quell’anno furono dati contri- buti decisivi all’aritmetizzazione dell’analisi da parte di cinque matematici: il francese H.C.R. (Charles) M´eray (1835-1911), originario della Borgogna, i tedeschi Karl Weier- strass (1815-1897) dell’Università di Berlino, il suo allievo H.E. Heine (1821-1881) di Halle, George Cantor (1845-1918) anch’egli di Halle, e J.W.R. Dedekind (1831-1916) di Braunschweig. L’obbiettivo di definire in modo preciso la costruzione dei reali fu rag- giunto con la pubblicazione tra il 1872 e il 1886 di alcuni lavori in cui venivano esposte tre diverse teorie: la costruzione di Dedekind che fa appello alla continuità della retta;

la costruzione di Cantor, in cui i reali sono classi di equivalenza di successioni di Cauchy a valori razionali e la teoria di Weierstrass in cui i numeri reali sono definiti attraverso successioni monotone di intervalli.

2.2 Classificazione delle macchine da calcolo

La parola "computer

5

" ha avuto diversi significati negli ultimi secoli, provenendo dal la- tino nella metà del 1600 ha assunto il significato di «qualcuno che computa». Il termine computer è il nome d’agente del verbo inglese "to compute".

Il computer rappresenta la forma più evoluta di sistema di calcolo che in passato ha avuto progenitori quali l’abaco, la macchina di Anticitera, i bastoncini di Nepero, il regolo calcolatore ed infine il calcolatore elettronico tascabile. Possiamo attuare una classificazione delle macchine da calcolo in base alla tecnologia sulla quale si basano:

• Utilizzo dei sistemi biologici che la Natura ha messo a disposizione agli esseri umani come le dita delle mani ed il cervello con il calcolo mentale di cui molti matematici

5L’etimo latino è composto da com = cum (insieme) e putare (tagliare, rendere netto - da cui l’odierno potare) e significa propriamente: "confrontare per trarre la somma netta"

(40)

famosi del passato erano specialisti

6

• Strumenti di calcolo in legno come l’abaco ed alcuni strumenti progettati da Schickard

7

nel 1623 e Poleni nel 1709.

• Macchine in metallo come le prime macchine di Pascal, Thomas e le versioni di pro- duzione di Brunsviga, Monroe.

• Dispositivi elettromeccanici come gli analizzatori differenziali, le macchine di Konrad Zuse, Aiken, Stibitz e molti altri.

• Calcolatori elettronici a programma memorizzato (architettura di Von Neumann contrapponibile ai calcolatori a programma cablato, hardwired) Colossus, ABC, ENIAC.

2.3 I Regoli calcolatori

Risale al primo secolo a.C. lo strumento astronomico rinvenuto in frammenti fra i relitti di una nave sommersa

8

. È chiamato calcolatore di Antikythera (o Anticitera, Andiki- thira, Antykithera, ANTIKYΘHPA, Αντικύθηρα). Anche se le attuali conoscenze sono ancora incomplete, il calcolatore di Antikythera è da considerare il primo regolo cal- colatore della storia. L’isola di Antikythera (o Anticitera, Andikithira, Antykithera, Antikythira, ΑΝΤΙΚΥΘΗΡΑ, ΄Αντικύθηρα), che si trova nel tratto del mar Egeo com- preso tra il Peloponneso e Creta, è famosa per il ritrovamento archeologico avvenuto nel 1902 nelle acque che la circondano. In quell’anno, infatti, vennero rinvenuti casualmen- te, assieme a statue di marmo e di bronzo presso il relitto di una nave lì naufragata, i resti di un congegno meccanico che sarebbe passato alla storia come "Calcolatore di Antikythera".

6Stenaritmia, s.f. tecnica di calcolo mentale che usa metodi particolari per trattare i numeri allo scopo di raggiungere una capacità di calcolo maggiore di quella insegnata a scuola.

7In una lettera del settembre 1623 Wilhelm Schickard, astronomo tedesco (1592-1635) scrive: "Ciò che è possibile calcolare manualmente io ho tentato di fare in modo meccanico".

8 "Istoria tou Ellenikou Ethnous", Athenon 1974.

(41)

2.3 I Regoli calcolatori

Figura 2.4: Resti del Calcolatore di Antikythera conservati al Museo Archeologico Nazionale di Atene.

Attualmente si ritiene che il calcolatore di Antikythera fosse un preciso strumento di calcolo astronomico, costruito per "monitorare" i rapporti ciclici tra il Sole, le stelle ed i pianeti. Poteva servire sia come strumento per la navigazione, sia come strumento per indagini astronomiche.

Figura 2.5: Modello del Calcolatore di Antikythera realizzato da John Gleave (fronte e retro).

Le caratteristiche meccaniche del calcolatore di Antikythera sono molto avanzate an- che considerando l’epoca alla quale risale. I primi esempi di rotismi epicicloidali, mec- canismi sui quali si basa il funzionamento del calcolatore di Antikythera, risalgono al diciannovesimo secolo; l’invenzione del rotismo differenziale è stata ufficialmente attri- buita all’orologiaio francese Onésiphore Pecqueur (1792-1852), che lo brevettò nel 1828.

Per il calcolo analitico, invece, ci si avvale della formula di Robert Willis, enunciata

nel 1841 nel suo libro Principles of Mechanism. Dopo il “Calcolatore di Antikythera”,

i rotismi epicicloidali o differenziali sono stati applicati in epoca moderna per la pri-

ma volta, circa un secolo fa, nel differenziale delle automobili. Il differenziale, ora quasi

(42)

universalmente adottato su tutti gli autoveicoli, consente di variare la velocità angolare delle ruote motrici in curva, evitando che si verifichi strisciamento tra le ruote stesse e il terreno. I rotismi epicicloidali sono utilizzati attualmente anche nei cambi automa- tici automobilistici e ferroviari e nei riduttori delle eliche degli elicotteri. Oltre quanto appena detto, per secoli non c’è stata traccia di meccanismi epicicloidali. Le iscrizioni riportate datavano il meccanismo alla prima metà del I° secolo a.C. La forma dei denti era piuttosto semplice in quanto erano a forma triangolare mentre il profilo dei denti degli attuali ingranaggi è ad evolvente di cerchio per evitare interferenze o giochi fra le ruote ingranate.

Figura 2.6:

Una serie di ingranaggi epicicloidali è usata in questa illustrazione per aumentare la ve- locità. Il planetario porta-satelliti (verde) è messo in rotazione da un momento entrante, il pignone solare (giallo) costituisce l’uscita, mentre la corona internamente dentata (in rosso) è fissa. Si notino i segni rossi prima e dopo che l’ingresso ha subito una rotazione di 45° in senso orario.

Descrizione del meccanismo

Secondo Derek De Solla Price

9

, l’intero congegno era racchiuso in una scatola di circa 30 cm di altezza, 15 di larghezza e 7,5 di profondità. Più piccolo di una scatola di scarpe.

All’interno di questa scatola erano alloggiati almeno 30 ingranaggi di bronzo. Forse è stato realizzato a Rodi dall’astronomo Gemino o dal suo maestro Posidonio (135-51 a.C.). Si trattava di un complesso planetario, mosso da vari ingranaggi, che serviva per calcolare il sorgere del Sole, le fasi lunari, i movimenti dei 5 pianeti allora conosciuti e visibili ad occhio nudo, gli equinozi, i mesi e i giorni della settimana. La funzione di alcuni quadranti non è stata ancora ben chiarita. Per farlo funzionare bastava girare una piccola manovella posta lateralmente alla scatola. Il rotismo principale è costituito da oltre una ventina di ruote dentate che, secondo altri studiosi, hanno la funzione di riprodurre il rapporto fisso 254:19 necessario per ricostruire il moto siderale

10

della Luna in rapporto al Sole (la Luna compie 254 rivoluzioni siderali ogni 19 anni solari). Tale rotismo, chiamato differenziale, permette di produrre una rotazione di velocità pari alla

9Derek John De Solla Price (1922-1983), professore di Storia della scienza presso la Yale University (Connecticut - USA), che nel 1951 cominciò a studiare il meccanismo

10Il periodo siderale è il tempo che impiega l’oggetto per compiere un’intera orbita intorno al Sole, ovvero il tempo impiegato per ritornare allo stesso punto rispetto alle stelle fisse (per la Terra ad esempio è di 365,256366 giorni).

Riferimenti

Documenti correlati

(iii) la probabilit` a (approssimata) che almeno 500 pazienti su 625 guariscano (si faccia l’ipotesi che l’esito della cura su ogni paziente sia indipendente dall’esito degli

Si scriva una funzione cerca(p) che riceve in ingresso un valore intero positivo p e che stampa sul monitor il nome del prodotto in listino.dat che ha il prezzo più prossimo

E’ inoltre possibile impartire dei comandi utilizzando delle “scorciatoie” come per esempio il comando S (object mode) per scalare la dimensione di un oggetto, il

L’allacciamento alla rete pubblica è possibile solo se tra il dispositivo di conversione statica e la rete pubblica è interposto un dispositivo di interfaccia (DPI) asservito al

L’intera struttura descritta è poi incapsulata con un altro vetrino, sul quale sono realizzati i contatti. Per realizzare l’anodo è impiegato oro e per il catodo, invece, è

Il secondo stress, come già detto, si proponeva di valutare in quanto tempo la carica photo-generata decade, e per questo il dispositivo è stato irraggiato inizialmente per 1000 s,

Il nuovo modello parte dalla risoluzione dalle equazioni di continuità che interessano l’andamento della corrente all’interno dello strato organico, tenendo però in

Figura 2.11: Andamento del ripple in alta frequenza della corrente assorbita dallo stadio PFC in funzione della tensione di rete. In corrispondenza dell’attraversamento per lo