ND-500-II: Difference between revisions

From NDWiki
Jump to navigation Jump to search
RHansen (talk | contribs)
Created a reference page for the ND-500-II machine
 
RHansen (talk | contribs)
m layout fix
 
Line 1: Line 1:
{{Infobox
; Model
|label1=Model
: ND-500-II (ND-500/II)
|data1=ND-500-II (ND-500/II)
; Type
|label2=Type
: 32-bit Coprocessor
|data2=32-bit Coprocessor
; Introduced
|label3=Introduced
: 1987 (estimated, with OCTOBUS support)
|data3=1987 (estimated, with OCTOBUS support)
; Processor Architecture
|label4=Processor Architecture
: ND-500 with OCTOBUS line driver
|data4=ND-500 with OCTOBUS line driver
; Key Feature
|label5=Key Feature
: NUCLEUS message passing support
|data5=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

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

Shared Memory

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:

  1. ND-100 I/O processor interfaces to OCTOBUS natively
  2. NUCLEUS runtime executes in ND-100 (at PIL 12)
  3. Shared MPM memory carries message structures
  4. 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

1981
ND-500 introduced (3022/5015 parallel interface only)
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

  1. Norsk Data Document ND–820026.1 DOMINO and NUCLEUS Software Guide, preface and NUCLEUS Overview sections
  2. 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)")
  3. 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")
  4. Norsk Data Document ND–860230-8-EN SINTRAN III - Release Information - N-version, NUCLEUS requirements section
  5. Norsk Data Document ND–60.136.04A ND-500 Loader/Monitor

External Links