Information technology - Scalable Coherent Interface (SCI)

The scalable coherent interface (SCI) provides computer-bus-like services but, instead of a bus, uses a collection of fast point-to-point unidirectional links to provide the far higher throughput needed for high-performance multiprocessor systems. SCI supports distributed, shared memory with optional cache coherence for tightly coupled systems, and message-passing for loosely coupled systems. Initial SCI links are defined at 1 Gbyte/s (16-bit parallel) and 1 Gb/s (serial). For applications requiring modular packaging, an interchangeable module is specified along with connector and power. The packets and protocols that implement transactions are defined and their formal specification is provided in the form of computer programs. In addition to the usual read-and-write transactions, SCI supports efficient multiprocessor lock transactions. The distributed cache-coherence protocols are efficient and can recover from an arbitrary number of transmission failures. SCI protocols ensure forward progress despite multiprocessor conflicts (no deadlocks or starvation).

General Information

Status
Published
Publication Date
30-Jul-2000
Current Stage
PPUB - Publication issued
Start Date
30-Nov-1998
Completion Date
31-Jul-2000
Ref Project

Buy Standard

Standard
ISO/IEC 13961:2000 - Information technology - Scalable Coherent Interface (SCI)
English language
272 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


INTERNATIONAL ISO/IEC
STANDARD
IEEE
Std 1596
First edition
2000-07
Information technology –
Scalable Coherent Interface (SCI)
Reference number
IEEE Std 1596, 1998 Edition
Abstract: The scalable coherent interface (SCI) provides computer-bus-like services but,
instead of a bus, uses a collection of fast point-to-point unidirectional links to provide the far
higher throughput needed for high-performance multiprocessor systems. SCI supports
distributed, shared memory with optional cache coherence for tightly coupled systems, and
message-passing for loosely coupled systems. Initial SCI links are defined at 1 Gbyte/s (16-bit
parallel) and 1 Gb/s (serial). For applications requiring modular packaging, an interchangeable
module is specified along with connector and power. The packets and protocols that implement
transactions are defined and their formal specification is provided in the form of computer
programs. In addition to the usual read-and-write transactions, SCI supports efficient
multiprocessor lock transactions. The distributed cache-coherence protocols are efficient and
can recover from an arbitrary number of transmission failures. SCI protocols ensure forward
progress despite multiprocessor conflicts (no deadlocks or starvation).
Keywords: bus architecture, bus standard, cache coherence, distributed memory, fiber optic,
interconnect, I/O system, link, mesh, multiprocessor, network, packet protocol, ring, seamless
distributed computer, shared memory, switch, transaction set.

––––––––––
The Institute of Electrical and Electronics Engineers, Inc.
345 East 47th Street, New York, NY 10017-2394, USA
Copyright © 1998 by the Institute of Electrical and Electronics Engineers, Inc.
All rights reserved. First published in 1998.
ISBN 2-8318-5375-3
No part of this publication may be reproduced in any form, in an electronic retrieval system or otherwise, without
the prior written permission of the publisher.

INTERNATIONAL ISO/IEC
STANDARD
IEEE
Std 1596
First edition
2000-07
Information technology –
Scalable Coherent Interface (SCI)
Sponsor
Microprocessor and Microcomputer Standards Subcommittee
of the IEEE Computer Society
PRICE CODE
XC
For price, see current catalogue

– 2 – ISO/IEC 13961:2000(E)
IEEE Std 1596, 1998 Edition
CONTENTS
Page
FOREWORD .12
Clause
1 Introduction. 19
1.1 Document structure. 19
1.2 SCI overview . 20
1.2.1 Scope and directions. 20
1.2.2 The SCI approach . 21
1.2.3 System configurations. 22
1.2.4 Initial physical models . 23
1.2.5 SCI node model . 24
1.2.6 Architectural parameters . 25
1.2.7 A common CSR architecture . 25
1.2.8 Structure of the specification. 26
1.3 Interconnect topologies. 26
1.3.1 Bridged systems . 26
1.3.2 Scalable systems . 27
1.3.3 Interconnected systems . 27
1.3.4 Backplane rings . 27
1.3.5 Interconnected rings . 28
1.3.6 Rectangular grid interconnects. 29
1.3.7 Butterfly switches. 30
1.3.8 Vendor-dependent switches . 31
1.4 Transactions . 31
1.4.1 Packet formats. 32
1.4.2 Input and output queues . 33
1.4.3 Request and response queues . 34
1.4.4 Switch queues. 36
1.4.5 Subactions. 36
1.4.6 Remote transactions (through agents). 39
1.4.7 Move transactions. 41
1.4.8 Broadcast moves . 42
1.4.9 Broadcast passing by agents . 43
1.4.10 Transaction types. 44
1.4.11 Message passing . 45
1.4.12 Global clocks . 45
1.4.13 Allocation protocols. 46
1.4.14 Queue allocation. 47
1.5 Cache coherence. 49
1.5.1 Interconnect constraints . 49
1.5.2 Distributed directories . 49
1.5.3 Standard optimizations. 50
1.5.4 Future extensions . 50
1.5.5 TLB purges . 53
Copyright  1998 IEEE. All rights reserved.

IEEE Std 1596, 1998 Edition
Clause Page
1.6 Reliability, availability, and support (RAS). 54
1.6.1 RAS overview . 54
1.6.2 Autoconfiguration. 54
1.6.3 Control and status registers . 54
1.6.4 Transmission-error detection and isolation . 55
1.6.5 Error containment . 55
1.6.6 Hardware fault retry (ringlet-local, physical layer option) . 56
1.6.7 Software fault recovery (end-to-end) . 56
1.6.8 System debugging . 57
1.6.9 Alternate routing . 57
1.6.10 Online replacement. 57
2 References, glossary, and notation . 58
2.1 Normative references. 58
2.2 Conformance levels . 58
2.3 Terms and definitions . 59
2.4 Bit and byte ordering. 66
2.5 Numerical values . 68
2.6 C code. 68
3 Logical protocols and formats . 68
3.1 Packet formats. 68
3.1.1 Packet types . 68
3.2 Send and echo packet formats. 69
3.2.1 Request-send packet format . 69
3.2.2 Request-echo packet format . 72
3.2.3 Response-send packet. 74
3.2.4 Standard status codes . 76
3.2.5 Response-echo packet format. 78
3.2.6 Interconnect-affected fields . 79
3.2.7 Init packets . 80
3.2.8 Cyclic redundancy code (CRC) . 81
3.2.9 Parallel 16-bit CRC calculations. 82
3.2.10 CRC stomping. 84
3.2.11 Idle symbols. 85
3.3 Logical packet encodings. 86
3.3.1 Flag coding . 86
3.4 Transaction types . 89
3.4.1 Transaction commands . 89
3.4.2 Lock subcommands . 92
3.4.3 Unaligned DMA transfers . 94
3.4.4 Aligned block-transfer hints. 95
3.4.5 Move transactions. 97
3.4.6 Global time synchronization . 98
3.5 Elastic buffers. 99
3.5.1 Elasticity models . 99
3.5.2 Idle-symbol insertions . 100
3.5.3 Idle-symbol deletions . 101
Copyright  1998 IEEE. All rights reserved.

– 4 – ISO/IEC 13961:2000(E)
IEEE Std 1596, 1998 Edition
Clause Page
3.6 Bandwidth allocation. 101
3.6.1 Fair bandwidth allocation . 102
3.6.2 Setting ringlet priority. 104
3.6.3 Bandwidth partitioning. 106
3.6.4 Types of transmission protocols . 108
3.6.5 Pass-transmission protocol . 108
3.6.6 Low-transmission protocol. 111
3.6.7 Idle insertions . 114
3.6.8 High-transmission protocol. 114
3.7 Queue allocation. 116
3.7.1 Queue reservations. 116
3.7.2 Multiple active sends. 118
3.7.3 Unfair reservations. 119
3.7.4 Queue-selection protocols. 119
3.7.5 Re-send priorities. 119
3.8 Transaction errors. 120
3.8.1 Requester timeouts (response-expected packets) . 120
3.8.2 Time-of-death timeout (optional, all nodes) . 120
3.8.3 Responder-processing errors . 122
3.9 Transmission errors .
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.