ND-500-II: Difference between revisions
Created a reference page for the ND-500-II machine |
m layout fix |
||
| Line 1: | Line 1: | ||
; Model | |||
: ND-500-II (ND-500/II) | |||
; Type | |||
: 32-bit Coprocessor | |||
; Introduced | |||
: 1987 (estimated, with OCTOBUS support) | |||
; Processor Architecture | |||
: ND-500 with OCTOBUS line driver | |||
; Key Feature | |||
: NUCLEUS message passing support | |||
'''ND-500-II''' (also written as '''ND-500/II''' or '''ND-500 Model II''') was a model variant of the [[ND-500]] 32-bit coprocessor that added [[OCTOBUS]] connectivity for integration with [[DOMINO]] I/O controller systems and [[NUCLEUS]] message-passing runtime.<ref name="domino-nucleus"/> | '''ND-500-II''' (also written as '''ND-500/II''' or '''ND-500 Model II''') was a model variant of the [[ND-500]] 32-bit coprocessor that added [[OCTOBUS]] connectivity for integration with [[DOMINO]] I/O controller systems and [[NUCLEUS]] message-passing runtime.<ref name="domino-nucleus"/> | ||
Latest revision as of 11:53, 22 July 2026
- Model
- ND-500-II (ND-500/II)
- Type
- 32-bit Coprocessor
- Introduced
- 1987 (estimated, with OCTOBUS support)
- Processor Architecture
- ND-500 with OCTOBUS line driver
- Key Feature
- NUCLEUS message passing support
ND-500-II (also written as ND-500/II or ND-500 Model II) was a model variant of the ND-500 32-bit coprocessor that added OCTOBUS connectivity for integration with DOMINO I/O controller systems and NUCLEUS message-passing runtime.[1]
The ND-500-II was essentially a classic ND-500 processor that could attach to an OCTOBUS fabric via a special line driver card. This allowed existing ND-500 systems to participate in modern DOMINO and NUCLEUS environments without complete hardware replacement. However, the ND-500-II itself used the traditional 3022 + 5015 parallel interface (not native OCTOBUS) for CPU communication.
Contents
- Overview
- Architecture
- Key Distinction: CPU vs. System Interface
- NUCLEUS Runtime
- DOMINO Support
- Hardware Requirements
- Microcode Versions
- Historical Context
- Comparison Table
- References
Overview
The ND-500-II represented Norsk Data's bridge technology between classic ND-500 systems and modern ND-5000 DOMINO architectures.[2] It maintained backward compatibility with existing ND-500 code while enabling participation in NUCLEUS inter-processor messaging and DOMINO I/O environments.
Key characteristics:
- Retains classic ND-500 CPU architecture (3022/5015 parallel interface)
- Adds OCTOBUS connectivity via external line driver card
- Supports NUCLEUS message passing runtime
- Communicates with ND-100 via traditional parallel interface
- Uses MPM-5 (MultiPort Memory) for shared data structures
Architecture
CPU Interface
The ND-500-II CPU interface is not OCTOBUS-based. It uses the classic parallel interface:
- 3022 Interface (ND-100 side)
- Port and handshake signals
- 5015 Interface (ND-500 side)
- Main data and control signals
- Registers: RMAR, RSTA, RCON, MCLR, TERM, TAG
This is identical to pure ND-500 systems. The CPU has no native OCTOBUS support.
OCTOBUS Attachment
OCTOBUS connectivity for ND-500-II is provided through a dedicated line driver card installed in the ND-100 slot:[3]
- PCB 3109 (First generation)
- Part number: 324118
- OBCON gate array revision 36600B
- Chip marking: "ND-O2CON TAC 8450" (64-pin package)
- Microcode support: ND-500/2 with revision G or later
- PCB 3096 (Second generation)
- Part number: 324133
- OBCON gate array revision 36600D
- Chip marking: "NDOBCON XAE8740" (smaller square ASIC package)
- Microcode support: ND-500/2 with revision D or later
- Status: Newer ASIC design replacing 3109
The line driver contains:
- OCTOBUS controller gate array (OBCON)
- Differential line transceivers for OCTOBUS signals (XREQ, XCLK, XDAT, XRFO)
- MPM-5 interface logic
ND-500-II uses MPM-5 (MultiPort Memory 5) for:
- NUCLEUS kernel data structures
- Port descriptors and message queues
- Synchronization primitives (semaphores)
- Buffer area for messages
The MPM-5 system provides:
- 64KW (128KB) per bank addressing (16-bit registers)
- 256 banks total = 16MW (32MB) maximum
- Multiport access from ND-100, ND-500-II, and controllers
Key Distinction: CPU Interface vs. System Interface
This is the most commonly misunderstood aspect of ND-500-II documentation:
- CPU-to-ND-100 Communication
- Classic parallel 3022/5015 interface (unchanged from ND-500)
- Speed limited by parallel handshake protocol
- ND-500-II in DOMINO System
- Attaches to OCTOBUS fabric via line driver card (PCB 3109/3096)
- Participates in inter-processor messaging via shared MPM memory
- Coordinated via OCTOBUS kicks (short control messages)
The ND-500-II CPU itself does not understand OCTOBUS. Instead:
- ND-100 I/O processor interfaces to OCTOBUS natively
- NUCLEUS runtime executes in ND-100 (at PIL 12)
- Shared MPM memory carries message structures
- OCTOBUS kicks signal events (process wake-ups, completion notifications)
This delegation through the ND-100 bridges the classic 3022/5015 interface to modern OCTOBUS messaging without changing the ND-500-II CPU.
NUCLEUS Runtime
Supported Calls
NUCLEUS library functions available on ND-500-II:
- Port Management
- nkCrePort, nkCreName, nkOpenPort, nkOpenReturnPort, nkDelName
- Message Operations
- nkCreMessage, nkMove, nkSend, nkReceive, nkClose
- Information Queries
- nkGetInfo, nkVersion
Performance Characteristics
Unlike ND-5000 (which microcode-optimizes NUCLEUS for speed), ND-500-II NUCLEUS relies on:
- Time-Critical Functions
- nkMove, nkSend, nkReceive, nkGetInfo
- Executed in ND-100 (via SINTRAN monitor call dispatch)
- NOT microcoded in ND-500-II CPU
- Message Infrastructure
- Stored in shared MPM memory
- Coordinated via OCTOBUS kicks
- Managed by NUCLEUS kernel (ND-100 resident)
Result: ND-500-II NUCLEUS is slower than ND-5000 NUCLEUS but remains suitable for I/O-intensive and soft-real-time workloads where latency is measured in milliseconds, not microseconds.
Microcode Execution
For ND-5000:
- Time-critical NUCLEUS calls are microcoded in the CPU for sub-microsecond latency
For ND-500-II:
- All NUCLEUS calls dispatch through ND-100 via SINTRAN monitor call interface
- Adds overhead of context switch + ND-100 execution
- Adequate for DOMINO boot/control but not for high-frequency inter-CPU messaging
DOMINO Support
- NUCLEUS Support
- YES — ND-500-II with OCTOBUS line driver can run NUCLEUS applications[4]
- DOMINO I/O Controller Support
- NO — DOMINO I/O controllers are exclusive to ND-5000
- Requires ND-5000 CPU with MFbus and native OCTOBUS support
Use Cases
ND-500-II with NUCLEUS enables:
- Inter-processor synchronization between ND-500-II and ND-100
- NUCLEUS-based application communication
- Soft real-time message passing
- Control coordination in DOMINO environments (via ND-5000 CPUs)
ND-500-II cannot:
- Host DOMINO I/O controllers
- Provide microsecond-level NUCLEUS latency
- Boot DOMINO controller firmware
Hardware Requirements
To enable OCTOBUS messaging on ND-500-II:
- CPU Subsystem
- * ND-500-II processor (32-bit CPU)
- * ND-100 (or ND-110) I/O processor
- OCTOBUS Connectivity
- * PCB 3109 (part 324118, revision G or later), or
- * PCB 3096 (part 324133, revision D or later)
- Memory
- * MPM-5 (MultiPort Memory 5) with minimum capacity
- * Typically 64KW to 256KW per bank for NUCLEUS messaging
- Microcode
- * ND-500/2 microcode version supporting NUCLEUS (see below)[5]
Microcode Versions
Different ND-500 models required different microcode for NUCLEUS support:
- ND-530
- Microcode 15312 (or 15313)
- ND-550 / ND-560 / ND-570
- Microcode 15212 (or 15213)
- These are the ND-500-II compatible variants
- ND-580
- Microcode 15112 (or 15113)
The microcode version enables NUCLEUS fast-call execution in the ND-100 CPU at PIL 12.
Historical Context
Bridge Technology (1987–1992)
ND-500-II represented Norsk Data's strategy for transitioning customers from:
- Legacy Systems (1981–1987)
- Pure ND-500 coprocessors
- Classic 3022/5015 parallel interface
- No inter-CPU messaging or synchronization
- Limited to process-level I/O coordination
- Modern Systems (1988–1995)
- ND-5000 with DOMINO I/O
- Native OCTOBUS architecture
- NUCLEUS inter-processor messaging
- Microsecond-latency real-time I/O
ND-500-II allowed organizations to:
- Preserve existing investment in ND-500 systems
- Add NUCLEUS messaging without CPU replacement
- Integrate with DOMINO environments (via shared NUCLEUS)
- Migrate gradually from parallel to serial interfaces
- Avoid forklift upgrades to pure ND-5000
Timeline
- 1987
- ND-500-II upgrade path defined with OCTOBUS line driver
- NUCLEUS runtime released for ND-5000 and ND-500-II
- 1988
- ND-5000 native OCTOBUS and DOMINO released
- ND-500-II becomes "bridge" to DOMINO
- 1992–1995
- ND-500-II systems gradually phased out as ND-5000 became primary platform
Comparison
| Characteristic | ND-500 | ND-500-II | ND-5000 |
|---|---|---|---|
| CPU Architecture | 32-bit ND-500 | 32-bit ND-500 | 32-bit ND-5000 (pipelined) |
| CPU Interface to ND-100 | 3022/5015 parallel | 3022/5015 parallel | Octobus native |
| Octobus Capable | No | Yes (via PCB 3109/3096) | Yes (native) |
| NUCLEUS Support | No | Yes | Yes |
| DOMINO Support | No | No | Yes |
| Shared Memory Type | MPM-5 only | MPM-5 + Octobus | MFbus + Octobus |
| NUCLEUS Fast Calls | N/A | ND-100 execution (PIL 12) | Microcoded in CPU |
| Message Latency | N/A | Milliseconds | Microseconds |
| Primary Use Case | Standalone ND-500 | NUCLEUS messaging + soft real-time I/O | DOMINO I/O + high-speed messaging |
See Also
- ND-500 — The base architecture
- ND-5000 — The modern successor
- NUCLEUS — Message-passing runtime
- DOMINO — I/O controller system
- OCTOBUS — The serial signaling bus
- MPM-5 — Multiport memory system
Product Numbers
- Model designation: ND-500/II
- Octobus Line Driver: 324118 (PCB 3109, earlier) or 324133 (PCB 3096, later)
References
- ↑ Norsk Data Document ND–820026.1 DOMINO and NUCLEUS Software Guide, preface and NUCLEUS Overview sections
- ↑ Norsk Data Document ND–05.017.01 EN ND-5000 HARDWARE MAINTENANCE, chapter 3 (CPU type selection: "ND-500/I (0), ND-5000 (S) or ND-500/IIO (G)")
- ↑ Norsk Data Document ND–14001-1-EN DOMINO Standard Hardware Description, page 123 ("The cable is used to connect MFbus banks, ND-100 and ND-500 model II to the OCTObus")
- ↑ Norsk Data Document ND–860230-8-EN SINTRAN III - Release Information - N-version, NUCLEUS requirements section
- ↑ Norsk Data Document ND–60.136.04A ND-500 Loader/Monitor