1

Storia delle tecnologie dell’informatica Il minicomputer

Carlo Spinedi

31 marzo 2017 C.Spinedi 2

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 C.Spinedi 3

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 C.Spinedi 4

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 C.Spinedi 5 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 C.Spinedi 6 PDP-1: BRPE teletype tape punch machine

31/03/2017 C.Spinedi 7 PDP-1: periferiche

31/03/2017 C.Spinedi 8 PDP-1: core memory

31/03/2017 C.Spinedi 9 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 C.Spinedi 10 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

31/03/2017 C.Spinedi 11 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 C.Spinedi 12 PDP-8/e:

Video

Video

31/03/2017 Video C.Spinedi 13

PDP-8: backplane

31/03/2017 C.Spinedi 14

PDP-8: moduli

31/03/2017 C.Spinedi 15 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 C.Spinedi 16 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 C.Spinedi 17 Computer “personali”derivati dal PDP-8

31/03/2017 C.Spinedi 18 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 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

C.Spinedi 19 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 – 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

C.Spinedi 20 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) – nasce nasce come insieme di macro di TECO

31/03/2017 C.Spinedi 21 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 C.Spinedi 22 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 – • Copiosa documentazione, gruppi d’interesse a livello nazionale/internazionale

31/03/2017 C.Spinedi 23 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

C.Spinedi 24 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 C.Spinedi 25 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 C.Spinedi 26 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 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 C.Spinedi 27 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 interi: 8 …128 bit float: 32…64 float: 32 …128 bit Numero di registri 2x8 16 Modalità di lavoro user, supervisor, user, supervisor, kernel executive, kernel Istruzioni protette e privilegiate Si Si Supporto HW per la gestione No Si della memoria a pagine

*) Complex Instruction Set Computer

31/03/2017 C.Spinedi 28 VAX: un’architettura, parecchie soluzioni tecnologiche

31/03/2017 C.Spinedi 29 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 C.Spinedi 30 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 C.Spinedi 31 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 ( 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

C.Spinedi 32 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

31/03/2017 *) VMS+ -> WNT 33

Storia delle tecnologie dell’informatica

http://www.supsi.ch/go/lastin

31 marzo 2017