Table Of ContentSALES OFFICES
EUROPE AMERICAS ASIA/PACIFIC
Denmark Italy Brazil Australia
2730 HERLEV 20090 ASSAGO (MI) 05413 sAo PAULO NSW 2027 EOGECLIFF
Herlev Torv, 4 Vie MllanoflOll -Strada 4 - R Hennque Schaumann 286-CJ33 SUite 211, Edgecllff Centre
Tel (45-42) 948533 Palazzo A/4/A Tel (55-11) 883-5455 203-233, New South Head Road
Telex 35411 Tel (39-2) 892131 (10 lines) Telex (391) 11-37988 "UMBR BR" Tel (61-2) 327 39 22
Telefax (45-42) 948694 Telex 330131 -330141 SGSAGR Telelax 11-551-128-22367 Telex 071 126911 TCAUS
Telefax (39-2) 8250449 Telelax (61-2) 327 61 76
Finland Canada
40033 CASALECCHIO 01 RENO (BO) Hong Kong
LO HJA SF-08150 Via R Fuclnl, 12 BRAMPTON, ONTARIO
Kaqalankatu, 2 Tel (39-51) 591914 341, Main St North WANCHAI
Tel 1215511 Telex 512442 Tel (416) 455-0505 22nd Floor - Hopewell Centre
Telefax 1215566 Telelax (39-51) 591305 Telelax 416-455-2606 183, Queen's Road East
Tel (852-5) 8615788
France 00161 ROMA USA Telex 60955 ESGIES HX
94253 GENTILLY Cedex Via A Torlonla, 15 NORTH & SOUTH AMERICAN Telelax (852-5) 8656589
7, Avenue Gailleni - BP 93 Tel (39-6) 8443341 MARKETING HEADQUARTERS
Tel (33-1) 47 40 75 75 Telex 620653 SGSATE I 1000, East Bell Road India
Telex 632570 STMHQ Telelax (39-6) 8444474 Phoenix, AZ 85022 NEW DELHI 110001
Telefax (33-1) 47407910 Netherlands (1)-(602) 867-6100 Liaison Office
62, Upper Ground Floor
67000 STRASBOURG 5652 AR EINDHDVEN SALES COVERAGE BY STATE World Trade Centre
2TT0eel,l e Px(3 la38c)7 e08 08d0 e71s5 F H5 a0i l6e6s TTMeeell eex(r3 e1n5-a14k10k8)e6 r5 w5e0g0,1 51 AHLuAnBtsAvMilleA - (205) 533-5995 TTBeeall erax3 k7h10a53m119-b61a6 L8a1n6e S TMIIN
Telefax (33) 88 22 29 32 Telelax (31-40) 528835 ARIZONA Telefax 3715192
Germany Spain Phoenix - (602) 867-6340 Korea
T6Ge0ul0 tl0e( 4uF9tsR-t6Ara9Ns)K s2eF3,U 73R42T922 T0Ce8al0 ll2e(1 3 P4Bl-a3Ato)R n4C,1 E64L 34O31h0N 0FA lo -o4r,1 453th3 D61o or SSCaaAnnL tIaJF oOAsnRea N- -IA(4( 70184) ) 495527-8-6508158 S88t2Eh3 OF-U1lo4Lo, 1rY 2SU1h klsnawmo-nD BonUgil ding
Telex 176997 689 Telelax (34-3) 2021461 COLORADO Kang-Nam-Gu
TTeelleeftaexx 6(4999-76698)9 2 =3 1S9T5V7B P 28027 MADRID Boulder (303) 449-9000 Tel (82-2) 553-0399
Telex' SGSKOR K29998
Calle Albacete, 5 ILLINOIS
8011 GRASBRUNN Tel (34-1) 4051615 Schaumburg - (708) 517-1890 Telefax (82-2) 552-1051
Bretonlscher Ring, 4 Telex 27060 TCCE E Malaysia
Neukerloh Technopark Telefax (34-1) 4031134 INDIANA
Tel (49-89) 46006-0 Kokomo - (317) 459-4700 PULAU PI NANG 10400
Telex 528211 Sweden 4th Floor, SUite 4-03
Telefax (49-89) 4605454 MASSACHUSETTS Bangunan FOp, 123D Jalan Anson
Teletex 897107 = STDISTR S-16421 KISTA Lincoln - (617) 259-0300 Tel (04) 379735
Borgarijordsgatan, 13 - Box 1094
3000 HANNOVER 1 Tel (46-8) 7939220 MICHIGAN Telefax (04) 379816
Eckenerstrasse, 5 Telex 12078 THSWS Livonia - (313) 462-4030 Singapore
Tel (49-511) 634191 Telelax (46-8) 7504950 NEW JERSEY
TTeelleexfa x1 7(54191-581411)8 633552 Switzerland Voorhees - (609) 772-6222 S28IN AGnAgP MOoR EK ID2 0-56In dustrial Park, 2
Teletex 5118418 csfbeh 1218 GRAND-SACONNEX (GENEVA) NEW YORK Tel (65) 48214 11
8500 NURNBERG 20 Chemin Frangols-Lehmann 18/A Poughkeepsie - (914) 454-8813 TTeelleexfa xR S(6 555) 240812 0E2S4G0 IES
Erlenstegenstrasse,72 Tel (41-22) 7986462 NORTH CAROLINA
Tel (49-911) 59893-0 Telex 415493STM CH Raleigh - (919) 787-6555 Taiwan
Telex 626243 Telelax (41-22) 7984869
Telefax (49-911) 5980701 United Kingdom and Eire TCEaXrrAoSllt on - (214) 466-8844 T1A2tIhP EFIl oor
5F2ra0n0k SfuIErteGrB SUtRr G22 a PMlAanRaLrO HWo,u BseU,C PKaSr kSwLa7y lYL T5e7l1 , (T88un6 -2H)u a7 5S5o-4u1th1 1R oad
Tel (49-2241) 660 84-86 Globe Park Telex 10310 ESGIE TW
Telex 889510 Tel (44-628) 890800 Telelax (886-2) 755-4008)
Telelax (49-2241) 67584 Telex 847458 JAPAN
7000 STUTTGART Telefax (44-628) 890391
TOKYO 108
Oberer Krrchhaldenweg, 135
Nisseki Takanawa Bid 4F
Tel (49-711) 692041
2-18-10 Takanawa
Telex 721718
Mlnato-ku
Telefax (49-711) 691408
Tel (81-3) 3280-4125
Telelax (81-3) 3280-4131
THE T9000
TRANSPUTER
PRODUCTS
OVERVIEW
MANUAL
First Edition 1991
i...,I ~i~@m~'i~~JI
®
INMOS IS a member of the SGS-THOMSON Microelectronics Group
INMOS Databook series
Transputer Databook
Military and Space Transputer Databook
Transputer Development and iq Systems Databook
Graphics Databook
Transputer Applications Notebook: Architecture and Software
Transputer Applications Notebook: Systems and Performance
The T9000 Transputer Products Overview Manual
Copyright © INMOS Limited 1991
INMOS reserves the right to make changes in specifications at any time and without notice.
The information furnished by INMOS in this publication is believed to be accurate; however,
no responsibility is assumed for its use, nor for any infringement of patents or other rights of
third parties resulting from its use. No licence is granted under any patents, trademarks or oth
er rights of INMOS .
• , ~lJ'ilmOS~IMS and occam are trademarks of INMOS Limited.
iiii iiii@m~l~~©'i is a registered trademark of SGS-THOMSON Microelectronics Group.
INMOS is a member of the SGS-THOMSON Microelectronics Group.
INMOS document number: 72 TRN 228 00
ORDER CODE: DBTRANSPST/1
Contents overview
I
Contents....................................................... v
Preface .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. xiii
Part 1: Product Family Overview ................................... 1
Introducing the INMOS IMS T9000 family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 The IMS T9000 transputer .............................................. 7
3 Simplicity of system design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 Protection and error handling ........................................... 20
5 Support for multiprocessing. . . . . . . . .. .................................. 22
6 Communication links .................................................. 28
7 Network communications .............................................. 35
8 Other communications devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9 Software and systems ................................................. 45
10 References. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Part 2: Product Family Preliminary Information ....................... 53
IMS T9000 transputer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
IMS C104 packet routing switch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . .. . . . . . .. 139
IMS C100 system protocol converter ........................................... 163
iv Contents overview
Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. xiii
Part 1: Product Family Overview ................................... 1
1 Introducing the INMOS IMS T9000 family . . . . . . . . . . . . . . . . . . . . . . . 3
1. 1 Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Multiprocessing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Communications support devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1. 4 Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1. S Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . S
2 The IMS T9000 transputer ................................... 7
2.1 Overview ........................................................... . 7
Processor .................................................. . 7
Hierarchical memory system .................................. . 8
Communications system ..................................... . 8
Multiple internal buses ....................................... . 8
System services ............................................ . 9
2.2 The transputer architecture ............................................ . 9
2.3 Support for concurrent processes ....................................... . 10
2.4 Pipelined, superscalar implementation ................................... . 10
The pipeline ................................................ . 11
Grouping of instructions ...................................... . 11
Improvements over IMS T80S .................................. . 12
2.S Hierarchical memory system ........................................... . 12
2.S.1 Main cache ................................................ . 13
Cache operation ............................................ . 13
Use as on-Chip RAM ......................................... . 14
2.S.2 Workspace cache ........................................... . 14
Cache operation ............................................ . 14
3 Simplicity of system design ................. . . . . . . . . . . . . . . . . . 16
3.1 Single SMHz clock input ............................................... 16
3.2 Programmable memory interface ........................................ 16
3.3 Control links and configuration .......................................... 16
3.4 Loading and bootstrapping. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . 17
3.S Examples. . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . .. . . . . . . . . .. . . . . .. . . . . . . . 18
4 Protection and error handling ................................ 20
4.1 Error handling ........................................................ 20
4.2 Protected mode ...................................................... 20
Protected mode processes .................................... 20
Executing illegal instructions ................................... 20
Memory management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
vi Contents
5 Support for multiprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 22
Fast interrupt response and process switch . . . . . . . . . . . . . . . . . . . . . . . . 22
5.1 The transputer model of concurrency ..................................... 22
Processes and channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Program structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Example.................................................... 23
Multiprocessor programs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2 Other models of concurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Shared memory .............................................. 25
5.3 Hardware scheduler ................................................... 26
5.4 Interrupts, events and timers ............................................ 26
5.5 Shared resources ..................................................... Z7
6 Communication links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 28
6.1 Using links between transputers ......................................... 28
6.2 Advantages of using links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Efficiency ................................................... 28
Simplicity ................................................... 28
Hardware independence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.3 IMS T9000 links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.3.1 Virtual channels .............................................. 30
Virtual links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Sending packets ............................................. 31
Receiving packets ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
The virtual channel processor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6.3.2 Levels of link protocol. ........................................ 32
Packet level protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Token level protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Bit level protocol ............................................. 33
7 Network communications ................................. . .. 35
7.1 Message routing ..................................................... . 35
Advantages for the programmer ................................ . 35
Routers .................................................... . 35
Separating routers and processors .............................. . 36
Parallel networks ............................................ . 36
7.2 The IMS C104 ....................................................... . 36
Wormhole routing ............................................ . 36
Minimizing routing delays ..................................... . 37
Control links ................................................ . 38
7.2.1 Using IMS T9000s with IMS C104s .............................. . 38
Header deletion ............................................. . 38
Routing control channels ...................................... . 40
7.3 Routing algorithms ........................... : ....................... . 40
7.3.1 Labelling networks ........................................... . 41
7.3.2 Avoiding deadlock ........................................... . 42
8 Other communications devices ............................... 43
8.1 Mixing transputer types: the IMS C100 .................................... 43
Contents vii
8.2 Interfacing to peripherals and host systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9 Software and systems ...................................... 45
9.1 Development software ................................................ . 45
9.1.1 Configuration tools .......................................... . 45
Hardware description ........................................ . 46
Software description ......................................... . 46
Mapping software to hardware ................................. . 46
Configuration languages ...................................... . 46
Types of networks ........................................... . 46
9.1.2 Initializing and loading a network ............................... . 47
Levels of initialization ........................................ . 47
Booting a system from link .................................... . 47
Booting a system from ROM .................................. . 47
9.1 .3 Host servers ................................................ . 47
9.1 .4 Debugging ................................................. . 48
9.1.5 IMS T805 emulation .......................................... . 48
9.2 iq Systems products .................................................. . 48
9.2.1 IMS T9000 products ......................................... . 48
Compatible development products ............................. . 49
IMS T9000 specific products .................................. . 49
Host interfaces ............................................. . 50
10 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Part 2: Product Family Preliminary Information ....................... 53
IMS T9000 transputer.. . . . . ... .. .. . . .. . .. .. .. . .. . ... . ... .. . . ... 55
1 Introduction............................................... 56
2 Preliminary pin designations ................................. 58
3 Processor................................................. 60
3.1 Registers ........................................................... . 60
3.2 Processes and concurrency ........................................... . 61
3.3 Priority ............................................................. . 62
3.4 Process types ....................................................... . 63
3.4.1 G-processes: global trap-handling and debugging ................ . 63
3.4.2 L-processes: local error handling and debugging ................. . 64
3.5 Timers 67
3.6 Block move ......................................................... . 68
3.7 Semaphores ........................................................ . 68
4 Communications, events and resources ....................... 69
4.1 Efficient variable-length communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.2 Processor-to-processor communications ................................. 69
viii Contents
4.3 Virtual link control blocks .............................................. . 71
4.3.1 Errors ...................................................... . 71
4.4 VCP and CPU configuration registers .................................... . 72
4.4.1 MemStart register ............................................ . 72
4.4.2 Minimum invalid virtual channel register .......................... . 73
4.4.3 Extemal resource channel base register ......................... . 73
4.4.4 Header area base register ..................................... . 73
4.4.5 Header offset register ........................................ . 73
4.4.6 Packet header limit registers ................................... . 75
4.4.7 VCP command register ....................................... . 75
4.4.8 VCP status register ........................................... . 75
4.4.9 VCP link mode register ....................................... . 75
4.4.10 Event mode register .......................................... . 75
4.5 Events 76
4.6 Resources .......................................................... . 77
5 Memory management ...................... . . . . . . . . . . . . . . . . . 78
5.1 Protection, stack extension, and logical to physical address translation ......... 78
5.2 Regions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.3 Region descriptors .................................................... 80
5.4 Machine registers ..................................................... 81
5.5 Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6 Main Cache ............................................... 82
6.1 Cache instructions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.2 Cache configuration registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
7 Programmable memory interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1 Pin functions ......................................................... 85
7.1.1 ProcClockOut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1.2 MemDataO-63. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1.3 MemAdd2-31 ................................................ 85
7.1.4 notMemWrBO-3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
7.1.5 notMemRASO-3 .............................................. 86
7.1.6 notMemCASO-3 ...... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.1.7 notMemPSO-3............................................... 86
7.1.8 MemWait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.1.9 MemReqln, MemGranted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7.1.10 MemReqOut ................................................. 87
7.1 .11 notMemBootCE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
7.1.12 notMemRf ................................................... 87
7.2 Extemal Bus Cycles ................................................... 88
7.2.1 Extemal DRAM cycles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
7.2.2 Extemal non-DRAM cycles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
7.2.3 Bank switching. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 92
7.3 PMI configuration registers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
7.3.1 Bank address registers ........................................ 94
Address registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Mask registers ............................................... 95