Storia delle tecnologie
dell’informatica
Carlo Spinedi
Il minicomputer
31 marzo 2017
1
31/03/2017
2 C.Spinedi
Che cosa è un minicomputer (midrange computer) ?
• Generazione di computer introdotta partire all’inizio degli anni ’60
• Da una definizione del 1970:
– computer a “basso costo < 25’000 $”(di allora)
… ma poi sono stati costruiti minicomputer da 500’000 $ !
– computer interattivo: l’utente ha il controllo dell’avanzamento programma
• Si contrappone al mainframe diffuso durante gli anni ’50
– costo dell’ ordine di milioni di dollari
– esecuzione dei programmi in batch (a lotti)
• Programmabile con linguaggi ad alto livello (Fortran, Basic, …)
• Usato all’inizio sovente per il controllo di processi, switch di comunicazione, …
• assemblati talvolta con componenti di produttori diversi, specialmente per quanto
riguarda i dispositivi periferici.
31/03/2017
3 C.Spinedi
Primi computer interattivi sperimentali
• 1956 : TX-0 (Transistorized Experimental computer zero)
– Sviluppato al Massachusetts Institute of Technology (MIT)
– Processore a 16 bit, 3600 transistor
– Core memory
– Display 12” (oscilloscopio), 512 x 512 punti
– Nessun sistema operativo
Video 1:
31/03/2017
4 C.Spinedi
Primi minicomputer commercializzati
• 1959: DEC PDP-1 (Programmed Data Processor)
– derivato dal TX-2, [Ken Olsen (1926-2011) Digital Equipement Corporation]
– nel 1961 fu programmato il primo gioco elettronico: le guerre stellari
– costo del computer: 120’000$ (950’000 odierni).
– venduti: 53 fino al 1969 negli USA.
– 3 sono conservati presso il Computer Hystory Museum, Mountain View (CA)
Video 1:
31/03/2017
5 C.Spinedi
PDP-1: caratteristiche
• completamente transistorizzato
• processore a 18 bit, aritmetica binaria
• core memory: 4096 parole di 18 bit
• ciclo di clock: 5 microsecondi (ms)
• add, subtract, deposit, load: durano 10 ms
• 100’000 addizioni /secondo
• moltiplicazioni (325 ms) e divisioni (440 ms) software
• moltiplicazioni (25 ms) e divisioni (40 ms) «automatizzate» opzionali
• Periferiche:
– Telescrivente alfanumerica,
– lettore/scrittore di nastri di carta
– display grafico da 16”, 1024x1024 punti indirizzabili
– penna ottica
– nastro magnetico
31/03/2017
6 C.Spinedi
PDP-1: BRPE teletype tape punch machine
31/03/2017
7 C.Spinedi
PDP-1: periferiche
31/03/2017
8 C.Spinedi
PDP-1: core memory
31/03/2017
9 C.Spinedi
PDP-1: programmazione
• Istruzioni (18 bit) a indirizzo singolo
– 5 bit: codice istruzione
(shift, rotate, skip, operate, add, subtract, deposit, load, …)
– 1 bit: indirizzamento indiretto
– 12 bit indirizzo memoria
• Software di base: DECAL (compiler, assembler, linker, loader)
31/03/2017
10 C.Spinedi
PDP-2 ... PDP-7 : un frenetico sviluppo dal 1960 al 1965
• PDP-2: 24 bit, progettato, ma non realizzato
• PDP-3: 36 bit, progettato, realizzato prototipo, ma non prodotto
• PDP-4: 18 bit, venduto con poco successo dal 1962 a 65’000 $ (54 unità)
• PDP-5: 12 bit, 1963-1967, venduti 116 esemplari a 27’000 $
• PDP-6: 36 bit, dal 1964, venduti 23 esemplari a 300’000 $
– sistema operativo time sharing
– sopranominato internamente «big iron»
– vinceva sempre i test contro i sistemi IBM 360 e 370 orientati al batch
– Introduce un nuovo set di istruzioni usato più tardi nei DECSYSTEM-10/20
• PDP-7:18 bit, dal 1965, venduto a 72’000 $
– Utilizzato per lo sviluppo di MUMPS (M-database)
• Massachusetts General Hospital Utility Multi-Programming System
– Ritenuto affidabile a sufficienza per il controllo di reattori nucleari
– Ken Thomson nel 1969 realizza la prima versione di Unix
31/03/2017
11 C.Spinedi
PDP-8:
• Introdotto nel 1965
• Prezzo base 18’500 $
• Venduti: più di 50’000 unità
• Diversi modelli che si differenziano per le tecnologie usate
(PDP-8, PDP-8/S, PDP-8/L, PDP-8/e, PDP-8/A, …)
• Molta informazione disponibile: www.pdp8.net
• Simulatori: http://vandermark.ch/pdp8/index.php?n=PDP8.Emulator
31/03/2017
12 C.Spinedi
PDP-8/e:
Video
Video
Video
31/03/2017
13 C.Spinedi
PDP-8: backplane
31/03/2017
14 C.Spinedi
PDP-8: moduli
31/03/2017
15 C.Spinedi
PDP-8:
• Processore a 12 bit
• Diverse versioni
– PDP/8 (Straight-8) a transistor, dal1965: venduti 1450 esemplari a 18000 $
– PDP-8/s a transistor, dal 1966 al 1970: venduti 1024 a 10’000 $
• clock: 10 ms
– PDP-8/I TTL, dal 1968 al 1971: venduti 3698 a 12’800 $
– PDP-8/L TTL, dal 1968 al 1971: venduti 3901 a 8’500 $
– PDP-8/e TTL, dal 1971 al 1978: venduti >10000 a 6’500 $
• MSI (Medium Scale Integration), Omnibus
– PDP-8/f MSI, Omnibus, 1972-1978: venduti >10000 a <5’000 $
– PDP-8/m come /f , versione OEM (Original Equipment Manufacturer)
– PDP-8/a : LSI, Omnibus, 1974-~1984: venduti >10’000 a 1’317 $
• clock: 1.2 ms
31/03/2017
16 C.Spinedi
Computer “personali”derivati dal PDP-8
• VT78: 1978-1980, venduti a 7’995 $
– Contiene mpr. Intersil 6100 che emula PDP-8
• DECmate I 1980-1984
– Contiene mpr. Harris 6120 a 12 bit, che riconosce le istruzioni del PDP-8
• DECmate II 1982-1986
– Contiene mpr. Harris 6120, venduto a 1’435 $
• DECmate III 1984-1990
– Contiene mpr. Harris 6120, venduto a 2’695 $
• DECmate III+ 1985-1990
– Contiene mpr. Harris 6120
31/03/2017
17 C.Spinedi
Computer “personali”derivati dal PDP-8
31/03/2017
18 C.Spinedi
Il software del PDP-8
• I primi PDP-8 non avevano nessun sistema operativo
• Il primo e talvolta l’unico dispositivo periferico era una teletype
• Opzionalmente era disponibile un sistema save/restore su DECtape
• Si aveva a disposizione:
– l’ editore di testo
– Il compilatore per macro assembler
• La sequenza più semplice per produrre un programma era:
1. Editare il sorgente
2. Salvare il sorgente su nastro di carta perforato
3. Caricare il compilatore da nastro perforato
4. Caricare il sorgente da nastro perforato
5. Compilare
6. Salvare il file binario su nastro perforato
31/03/2017
19 C.Spinedi
I sistemi operativi del PDP-8
• 196X: 4K DMS Disk Monitor System
• 1966: MS/8 Monitor System
• 1971: PS/8 Programming System
• 1971: OS/8 Operating System
– OS/8 è in verità PS/8 rinominato per ragioni commerciali
Altri sistemi operativi:
• TSS-8 Time Sharing System
– Contiene diversi monitor
• RMON (Resident ), DMON (Disk), KMON (Keyboard)
• ETOS Educomp Timesharing OS
– È una vera macchina virtuale. Fino a 16 utenti possono usare un PDP-8
come se fosse tutto a loro disposizione
• OMNI-8
• MULTI-8
• RTS/8 Real-time System
• COS-310 Sistema Operativo commerciale
31/03/2017
20 C.Spinedi
Il software del PDP-8
Linguaggi di programmazione:
• Assembler
– MACRO-8, PAL III e PAL 8, MACREL, SABR, RALF, FLAP
• FORTRAN
• FOCAL (simile a BASIC)
• BASIC
• DIBOL (concorrente di COBOL)
• LISP
• SNOBOL (StriNg Oriented SymBOlic Language)
Editori di testo
• TECO (Tape Editor and Corrector)
– Emacs nasce nasce come insieme di macro di TECO
31/03/2017
21 C.Spinedi
PDP-9 … PDP-11
• PDP-9 : 18 bit, dal 1966, upgrade del PDP-7, 445 esemplari (35’000 $)
– Primo computer microprogrammabile
– Read Only Programmable Memory (ROP)
• PDP-10: 36 bit, dal 1967, upgrade del PDP-6, ~700 esemplari (110’000 $)
– Sistema operativo time-sharing TOPS-10 (Total Operating System-10)
– Piattaforma di sviluppo di
• ARPANET (precursore di Internet)
• EMACS
• Tex
• Ispell
• PDP-11: 16 bit, dal 1970 fino al 1990, > 600’000 esemplari
31/03/2017
22 C.Spinedi
PDP-11
• Architettura e set di istruzioni invariati durante 20 anni
• Può lavorare in user mode, kernel mode o supervisor mode
• Alcune opzioni:
– Extended Instruction Set (EIS) (opzione per /03, /35, /40, poi standard)
– Floating Instruction Set (FIS) (opzione /03, /35, /40, poi standard)
– Floating Point Processor (FPP) (opzione per diversi modelli)
– Commercial Instruction Set (CIS) (opzione per /23, /24, /44, /74)
• Implementazione con diverse tecnologie: TTl, LSI, VLSI
• Diversi BUS (UNIBUS, MASSBUS, QBUS)
– Documentazione esaustiva per la realizzazione di controllori di periferici
• Memory management fino a 4 MB
• Ha ispirato successive architetture
– VAX
– Motorola 6800
• Copiosa documentazione, gruppi d’interesse a livello nazionale/internazionale
31/03/2017
23 C.Spinedi
PDP-11/
• 1970: /15, /20 U* 16 TTL switch register (sr)
• 1972: /40, /45, /05, /10 U 18 TTL sr
• 1973: /35 U, TTL sr
• 1975: /70 U 22, M**, TTL KB11-B sr
/03 Q*** 16, LSI LSI-11 serial console interface (sli)
• 1976: /50, /55, /34, /04 U, TTL KB-11,KB-11-D sr / keypad panel
/2 Q16, LSI KD11-H sli
• 1977: /60, /34A U 22 TTL keypad panel
• 1979: /44 U, TTL sli
/23 Q18/22, LSI KDF11-A sli
• 1980: /24 U VLSI sli
• 1981: /23+ Q 22, VLSI, KDF11-B sli integrata
• 1984: /73 Q 22, VLSI KDJ11-A, o B 15 MHz nel B sli integrata
• 1987: /53 Q 22 VLSI KDJ11-D, 15 MHz sli
• 1988: /84 U VLSI KDJ11-B, 18 MHz sli
/83 Q 22 VLSI KDJ11-B, 18 MHz sli
• 1990: /94 U VLSI KDJ11-E, 18 MHz sli, UNIBUS Adapter
/93 Q 22 VLSI KDJ11-E, 18 MHz sli
*UNIBUS, **MASSBUS,***QBUS
31/03/2017
24 C.Spinedi
PDP-11: Sistemi operativi
• DOS-11 (1970)
• RT-11 (1973)
– monoutente, alcuni monitor (Single Job, Foreground/Background)
• RSTS-11 (Resource Sharing Time Sharing O.S.) (1973)
• RSX-11 (Resource Sharing eXecutive O.S) (1972)
– Diverse varianti /D, /M (multiuser), /M+
– La variante /M è stata progettata da David Cutler
– Predecessore di VMS, a sua volta predecessore di Windows NT, progettati
pure entrambi da D.Cutler
• Unix
– La prima versione di Unix uscita dai Bell Lab’s nel 1975 (V6) fu scritta su un
PDP-11/20
– Anche Unix V7, rilasciato nel 1979, fu scritto su un PDP-11
31/03/2017
25 C.Spinedi
PDP-11: Sistema operativo (s.o.) RSX11/M RSX11/M+
• s.o. real-time
• scheduler dei processi basato su priorità e quanto di tempo
• s.o. multitasking / multiuser
• File system con gestione permessi
• Per i programmi l’indirizzamento è limitato a 64 KB (16 bit).
• 8 KB sono riservati all’indirizzamento dei dispositivi periferici
• Il limite dell’indirizzamento può essere superato con l’ overlay
– Il linker viene istruito dal programmatore come caricare i segmenti
• I file eseguibili sono salvati su disco in spazi contingui
• I programmi (file .TSK) sono caricati in RAM in aree contigue
– Il s.o. si occcupa di compattare la RAM automaticamente
• Dispone di diversi servizi di sistema
• Usa le share library
• Implementa più Command Language Interpreter (CLI)
31/03/2017
26 C.Spinedi
Microprocessori e minicomputer
Anno mprocessore bit Minicomputer bit
1971 Intel 4004 4 PDP 8/e 12
1972 Intel 8008 8 PDP 8/f 12
PDP 11/40… 16
1974 Intel 8080 8
1974 Motorola 6800 8
1975 MOS Tec. 6502 8 PDP 11/70 16
1975 PDP11/03 (LSI) 16
1976 Z80 8
1976 Z80 Cromenco
1976 MOS Tec. 6502
Apple I
1977 MOS Tec. 6502
Apple II
1977 MOS Tec. 6502
PET VAX 11/780 32
1978 Intel 8086 16
1979 Motorola 68000 16/32
1981 Intel 8086
IBM PC KDF11-B (PDP 11 /23 +) 16 1982 Intel 80286 16
31/03/2017
27 C.Spinedi
Dal PDP-11 al VAX
PDP-11 VAX
(Virtual Address eXtension)
Anno 1970-1990 1977-2000
Architettura CISC*) 16 bit CISC 32 bit
Spazio d’indirizzamento 64 KB 4 GB
Tipi di dati: interi: 8 …16
float: 32…64
interi: 8 …128 bit
float: 32 …128 bit
Numero di registri 2x8 16
Modalità di lavoro user, supervisor,
kernel
user, supervisor,
executive, kernel
Istruzioni protette e privilegiate Si Si
Supporto HW per la gestione
della memoria a pagine
No Si
*) Complex Instruction Set Computer
31/03/2017
28 C.Spinedi
VAX: un’architettura, parecchie soluzioni tecnologiche
31/03/2017
29 C.Spinedi
Alcuni membri della famiglia VAX
Anno Modello CPU Tecnologia Clock
1977 VAX 11/780 (Star) TTL 5 MHz
1980 VAX 11/750 (Comet) gate array 3.1 MHz
1982 VAX 11/730 (Nebula) bit slice 3.7 MHz
1984 MicroVAX I (Seahorse) KA610 VLSI
1985 MicroVAX II (Mayflower) KA630 VLSI 5 MHz
1987 MicroVAX 3600 (Mayfair) KA650 CMOS-1 (CVAX) 11 MHz
1987 MicroVAX 2000 (TeamMate) KA630 VLSI
1987 MicroVAX 3100-10 (TeamMate II) KA41-A CMOS-1 (CVAX) 11 MHz
1993 MicroVAX 3100-80 (Waverley/M) KA47 CMOS-3 50 MHz
1993 MicroVAX 3100-90 (Cheetah) KA50 CMOS-4 (NVAX) 72 MHz
1996 Microvax 3100-98 (Cheetah ++) KA59 CMOS-4 (NVAX) 100 MHz
31/03/2017
30 C.Spinedi
VAX: Sistemi operativi
• VMS (1977)
– S.O. proprietario (Digital Equipment Corp. -> Compaq -> Hewlett Packard )
– Orientato alla multiprogrammazione e alla multiutenza
– Basato sulla gestione della memoria virtuale
– Progettato per applicazioni time sharing, batch, transaction processing
e in parte real-time
– GUI basata su X-Window aggiunta con avvento delle stazioni grafiche
– Ribattezzato OpenVMS durante il processo di avvicinamento all’ambiente
Unix
– Predecessore di Windows NT, progettato da D.Cutler, attivo più tardi nello
sviluppo di Windows NT
• Ultrix-32
– S.O. proprietario (Digital Equipment Corp. -> Compaq -> Hewlett Packard )
– Basato su Unix BSD 4.2
• OpenBSD
31/03/2017
31 C.Spinedi
Dal CISC al RISC
• Limiti delle architetture CISC
– Istruzioni complesse richiedono un grande numero di transistor,
– Più la distanza media fra i transistor è grande più la velocità del processore è
piccola, ma …
– Più la distanza media è piccola, più difficile diventa disperdere il calore.
• RISC (Reduced Instruction Set Computer)
– Si sviluppano a partire dalla metà degli anni ’80
• 1986: MIPS R2000 (Microprocessor without Interlocked Pipeline Stages)
32 bit, 110’000 transistor
(Confronto: CVAX nel 1987 ne conteneva 134’000)
• PA-RISC (Hewlett Packard), 32 bit
• 1987: SPARC (Scalable Processor ARChitecture)
32 bit, 5V, 100’000 transistor
• 1992: DEC Alpha
64 bit, 1’700’000 transistor, 3.5 V (30W)
• 1993: Power PC (IBM e altri)
32 bit
31/03/2017
32 C.Spinedi
Microprocessori e minicomputer
Anno mprocessore bit S.O. Minicomputer /Workstation bit S.O.
1978 VAX 11/780 32 VMS
Intel 8086 16
1979 Motorola 68000 16/32 OS-9 / Apple Finder
1981 PDP 11 /23 +(KDF11-B) 16 RT11/RSX11/Unix
1982 Intel 80286 16 Xenix
PC-DOS
1985 μVAX II (VLSI) 32 VMS/X Window
Intel 80386 32
1986 MIPS R2000 32 Unix
1987 SPARC 32 BSD-Unix μVAX 3100-10 (CMOS-1) 32 VMS/Unix
1989 DECstation 3100 (R2000) 32 VMS/Unix
Intel 80486 32
1991 MIPS R4000 64
1992 DEC Alpha 64
Windows 3.1
1993 Intel Pentium 32 WindowsNT 3.51
Alpha Server /Alpha Workstation 64 VMS/Unix, Windows NT*)
1995 Windows 95
1996 Ultra SPARC (SUN/HP) 64
1998 Power PC (IBM) 64
2001 Itanim (Interl/HP) 64
2003 AMD64 (Opteron) 64
*) VMS+ -> WNT
Storia delle tecnologie
dell’informatica
31 marzo 2017
33
http://www.supsi.ch/go/lastin