From NDWiki
Jump to: navigation, search
Front cover of the manual.


This manual describes the main building blocks of the ND-100 and their functions from a hardware point of view. The function of each subsystem is discussed in details. It also contains a lot of information about configuration settings, programming instructions and how to interpret indicators and LEDs on both the CPU card and a lot of expansion cards. It is written for technical and maintenance personnel and for low level programmers.

Table of contents

1     ND-100 Architecture
1.1     Introduction
1.2     The Instruction Set
1.3     Addressing Modes
1.4     The Bus Structure
1.5     Functional Modules
1.5.1     General
1.5.2     The Central Processing Unit (CPU) Module
1.5.3     The Memory Management System
1.5.4     The Memory System
1.5.5     The Input/Output System
1.6     The ND Cabinets
1.6.1     The Small Cabinet
1.6.2     The Large Cabinet
2     Central processor
2.1     General
2.2     Internal communication
2.3     Fundamental building blocks
2.3.1     General Considerations
2.3.2     Instruction Execution Overview
2.4     Instruction fetch and execution
2.4.1     Instruction Readout
2.4.2     Prefetch
2.4.3     Instruction Execution
2.5     The Register file
2.5.1     The 8 Working Registers
2.5.2     Status Indicators
2.6     Microprogram sequencer
2.6.1     General
2.6.1     The Microprogram Sequencer
2.6.1     Sequencing
2.6.1     Functional Flow
2.7     Pipeline
2.8     The Arithmetic Logic Unit
2.8.1     General
2.8.2     The ALU Bit Slice
2.9     The Interrupt system
2.9.1     General     Polling     Interrupts
2.9.2     ND-100 Interrupt System     General     Functional Operation     The External Interrupt System     External Interrupt Identification     The Internal Interrupt System     Internal Hardware Status Interrupt     Internal Interrupt Identification     Programming Control of the Interrupt System     Control of the Interrupt System     Programming the Interrupt Register     Leaving the Interrupt Level     Use of the PVL Register     Initializing the Interrupt System
2.10    The Address arithmetic
2.10.1    General
2.10.2    Addressing Structure
2.10.3    Principles of Address Arithmetic
3     The Memory management system
3.1     General
3.2     Implementation
3.2.1     The Paging and Protection System
3.2.2     CPU Connection
3.2.3     Memory Management Architecture
3.3     Address Translation
3.3.1     Virtual to Physical Address Mapping
3.3.2     Page Table Selection
3.3.3     Page Table Assignment
3.4     Memory Protection System
3.4.1     General
3.4.2     Layout of Page Tables
3.4.3     Page Protection System
3.4.4     Ring Protection System     General     User     User Ring     Program     Program Ring     Ring Usage     Ring Assignment
3.4.5     Privileged Instructions
3.4.6     Page Used and Written in Page
3.5     Memory Management Control and Status
3.5.1     The PON and POF Instructions
3.5.2     The SEX and REX Instructions
3.5.3     Paging Control Register
3.5.4     Paging Status Register
3.6     Control of Page Tables
3.6.1     General
3.6.2     Shadow Memory
3.6.3     Reading and Writing in Page Tables
3.7     Timing
3.8     Examples
4     ND-100 Bus system
4.1     General
4.2     Bus Control
4.3     Physical Arrangement of the ND-100 Bus
4.4     Organisation of ND-100 Modules
4.5     Bus Timing Considerations
5     The ND-100 Storage system
5.1     General
5.2     The Memory Hierarchy
5.3     ND-100 Memory System
5.4     MOS Memory Operation Principle
5.4.1     General
5.4.2     A Memory Cell
5.4.3     16 K * 1 Bit Memory Chip     Functional Operation     Read Cycle     Write Cycle     Refresh Cycle
5.5     Cache Memory
5.5.1     General
5.5.2     Cache Memory Architecture     Type     Size     Placement/Replacement Algorithm     Program Start
5.5.3     Cache Memory Organization
5.5.4     Cache Memory Access     Cache Addressing     Write Access     Read Access
5.5.5     Cache Control and Status     Cache Control     Cache Status
5.6     Local Memory
5.6.1     General
5.6.2     Memory Module Placement     The Thumbwheel settings
5.6.3     Addressing
5.6.4     Data
5.6.5     Memory Access
5.6.6     Refresh
5.7     Memory Error Check and Correction
5.7.1     General
5.7.2     Functional Description     Parity Checking     Error Correction
5.7.3     Implementation
5.8     Memory Control and Status
5.8.1     Error Correction Control Register (ECCR)
5.8.2     Memory Status Register
5.9     Error Logging
6     The Input/Output system
6.1     General
6.2     ND-100 Bus in the I/O system
6.2.1     General
6.2.2     Organization of an I/O Device Controller Module
6.2.3     Allocation of the ND-100 Bus
6.3     Programmed Input/Output - PIO
6.3.1     General
6.3.2     The Input Output/Instructions IOX and IOXT
6.3.3     The Transfer Direction     The IOX Instruction Transfer Direction     The IOXT Instruction Transfer Direction
6.3.4     Calculation of the Device Register Address     The IOX Instruction Address Range     The IOXT Instruction Address Range     Specification of an I/O Device Register Address     The Device Registers on I/O Interfaces
6.4     Control and Status Registers on ND Designed PIO and DMA Interfaces
6.4.1     General
6.4.2     Format and Function of the Control Register
6.4.3     Format and Function of the Status Register
6.5     Loading Sequence for Device Registers on I/O Interfaces
6.5.1     The Loading Sequence
6.5.2     Programming Example of a Noninterruption I/O Routine
6.6     ND-100 Bus Signals During IOX instructions
6.6.1     IOX Input
6.6.2     IOX Output
6.7     The I/O System's Connection to the Interrupt System
6.7.1     General
6.7.2     The I/O Device Controller Levels
6.7.3     Device Interrupt Identification
6.7.4     The Ident Instruction     The Ident Instruction Format     ND-100 Bus Signals During Ident Instruction
6.7.5     Programming Input/Output Using Interrupts
6.8     Direct Memory Access - DMA
6.8.1     General
6.8.2     Initialization
6.8.3     Transfer
6.8.4     Termination and Status Check
6.8.5     ND-100 Bus Signals During a DMA Transfer     DMA Input     DMA Output
6.8.6     Programming of a Direct Memory Access Channel - DMA
6.9     Programming Specifications for I/O Devices on the CPU Board
6.9.1     The Current Loop Interface
6.9.2     The Real-Time Clock
6.10    NORD-10/S modules used in ND-100
7     Operators Interaction
7.1     Control Panel Push Buttons
7.1.1     The Panel Lock Key
7.1.2     Status Indicators
7.2     Microprogrammed Operator's Communication
7.2.1     General Considerations
7.2.2     Control Functions (Do not affect display)     System Control     Master Clear     Stop     ALD Load     General Load     Leaving MOPC     Program Execution     Start Program     Continue a Program     Single Instruction     Instruction Breakpoint     Manual Instruction     Single I/O Instruction Function     Miscellaneous Function     Internal Memory Test     Delete Entry     Current Location Counter
7.2.3     Monitor Functions (Also shown on Display)     Memory Functions     Physical Examine Mode     Virtual Examine Mode     Memory Examine     Memory Deposit     Deposit Rules     Memory Dump     Register Functions     Register Examine     Register Deposit     Register Dump     User Register     Operator Panel 'Switches'     Internal Register Functions     Internal Register Examine     Internal Register Deposit     Internal register Dump     Scratch Register Dump
7.2.4     Display Functions (Affect only display)     Displayed Format     Display Memory Bus     Display Activity
7.2.5     Bootstrap Loaders     Binary Format Load     Mass Storage Load     Automatic Load Descriptor
7.3     The Display
7.3.1     General
7.3.2     The Different Display Functions
8.1     Power in the Small Cabinet
8.2     Power in the Large Cabinet
8.2.1     Power Location and Distribution in the Large Cabinet
8.3     Power Fail and Automatic Restart
8.3.1     General
8.3.2     Power Fail
8.3.3     Automatic Restart
9.1     Privileged Instructions
9.1.1     General
9.1.2     Register Block Functions
9.1.3     Inter-Level Register Instructions
9.1.4     Accumulator Transfer Instructions
9.1.5     System Control Instructions     Interrupt Control Instructions     Memory Management Control Instructions     Wait or Give Up Priority     Monitor Call Instruction
9.1.6     Input/Output Control Instructions     IOX - Input/Output Execute     Extension of the Device Register Address
9.1.7     Examine and Deposit     Examine     Deposit
9.1.8     Load Writable Control Store
9.2     Internal Registers
9.3     Writable Store
9.3.1     General
9.3.2     Writing Micro Code for Writable Control Store
9.3.3     Load the Writable Control Store
9.3.4     Customer Specified Instructions
9.4     Panel Processor Programming Specification
9.4.1     Panel Control Register
9.4.2     Panel Status Register
9.4.3     Panel Commands     Message on Function Display     Update Calendar
9.5     ND-100 Instruction Codes


A     ND-100 mnemonics and their octal values
B     Programming specifications for some I/O devices
B.1     ND-100 Terminal Programming Specifications
B.2     Specifications of Paper Tape Reader Interface
B.3     Specifications of the Paper Tape Punch Interface
B.4     ND-100 Floppy Disk Programming Instructions
B.4.1     Device Register Address
B.4.2     Instruction Formats and Descriptions
B.4.2.1     Read Data Buffer (IOX RDAT)
B.4.2.2     Write Data Buffer (IOX WDAT)
B.4.2.3     Read Status Register Number 1 (IOX RSR1)
B.4.2.4     Write Control Word (IOX WCWD)
B.4.2.5     Read Status Register Number 2 (IOX RSR2)
B.4.2.6     Write Drive Address/Write Difference (IOX WDAD)
B.4.2.7     Read Test Data (IOX RTST)
B.4.2.8     Write Sector/Write Test Byte (IOX WSCT)
B.5     ND-100 10 MB Disk Controller Programming Specifications
C     Standard ND-100 Device Register Addresses and IDENT Codes
D     Switch Settings for the different ND-100 Modules
D.1     Switches on the CPU Module (3002)
D.1.1     ALD - Automatic Load Descriptor
D.1.2     Console: Speed Settings for the Console Terminal
D.1.3     The Indicators (The Red and Green LEDs)
D.2     Switches and Indicators on the 10MB Disk Controller (3004)
D.2.1     Device Number Thumbwheel
D.2.2     Indicators
D.3     Switches and Indicators on the Dynamic Ram (3005)
D.3.1     Lower Limit Switches
D.3.2     Memory Access Indicators
D.3.3     Error Check and Correction (ECC) Switch and Indicators
D.4     Switches and Indicators on the Pertec Magnetic Tape Controller (3006)
D.4.1     Device Number Positions
D.4.2     Yellow LED Indicators
D.5     Switch setting on the Euroline Adapter (3008)
D.6     Switches on the Local I/O Bus (3009)
D.7     Switches on the Floppy and 4 Terminal Module (3010)
D.7.1     Floppy Disk System
D.7.2     Terminal Group
D.7.3     Initial Baud Rate for Terminals
D.8     Switch and Indicator on the Memory Management (3012)
D.8.1     Cache Memory Enable/Disable Switch and Indicator
D.9     Switches on the 8 Terminal Interface (3013)
D.9.1     Device Numbers
D.9.2     Baud Rates
D.9.3     Current Loop/RS232 Selector
D.10    Switches on the HDLC + Autoloader Controller (3015)
D.10.1    Thumbwheels
D.10.2    Switches
D.11    Switch and Indicators on the ECC Disk Controller (3018 and 3019)
D.11.1    SMD Controller (3018)
D.11.2    SMD Data (3019)
D.12    Switch and Indicators on the STC Magtape Controller (3020)
D.12.1    Device Number
D.12.2    Indicators
D.13    Switches on the ND-500 Interface (3022)
D.13.1    Device Number Setting (Thumbwheel)
D.14    Switches and Indicators on the Megalink Interface (3023)
D.14.1    Baud Rate Selection (Thumbwheel TH1)
D.14.2    Autoload Device Numbers (Thumbwheel TH2)
D.14.3    Device Register Address Range and IDENT Code Selecion (Thumbwheel TH3)
D.14.4    Switch Settings on the Switch in Position 26G
D.14.4.1    Source Oscillator Selection Switches
D.14.4.2    Enable/Disable the Processor Clock
D.14.4.3    Baud Rate Oscillator Test
D.14.5    Autoload Function Selection (Switch 17G)
D.14.6    BUSY Enable/Disable (Switch 13A)
D.14.7    Transmission Clock Indicator (Yellow LED)
D.15    Switch and Indicators on the N10 Bus Adapter (3024)
D.15.1    External Bus Number Selection (Thumbwheel)
D.15.2    Block Switch Setting (SW 1) and Reading (LED 3)
D.15.3    CIO Switch Setting (SW 3) and Reading (LED 1)
D.15.4    The Fast DMA Setting (SW 4) and Reading (LED 2)
D.16    Switches and Indicators on the GPIB Controller (3026)
D.16.1    Device Number Selection (Thumbwheel TH1)
D.16.2    System Controller Selection
D.16.3    The LED Indicators
D.17    Switch and Indicators on the Floppy Disk Controller for DMA (3027)
D.18    Switches and Indicators on the Bus Expander (BEX) (3028)
D.18.1    Limit Switches
D.18.2    The Display
D.18.3    BEX Numbers
D.18.4    The Vital Switch and Indicators
D.18.5    The Allow Switch
D.19    Switches and Indicators on the N100 Bus Controller (3031)
D.19.1    Limit Switches
D.19.2    Device Numbers
D.19.3    Limit Display
D.19.4    Interleave
D.19.5    Timeout Selector
D.20    Switches and Indicators on the Memory Port-MPM4 (3032)
D.20.1    Limit Switches
D.20.2    Interleave
D.20.3    Interleave Bank Selector
D.20.4    Refresh Timeout
D.20.5    ADOK
D.20.6    Grant
D.21    Switches on the CPU Module, Including the CX Option (3033)
D.21.1    ALD - Automatic Load Descriptor
D.21.2    Console: Speed Settings for Console Terminal
D.21.3    The Indicators (The Red and Green LEDs)
D.22    Switches and Indicators on the 256 K Memory Module (3034)
D.22.1    Memory Address Range and Upper Limit reading
D.22.2    Setting the ENAB/DISAB Switch
D.22.3    The LED Indicators
D.23    Switches and Indicators on thTe 64 K Memory Module (3036)
D.23.1    Memory Address Range and Upper Limit reading
D.23.2    Setting the ENAB/DISAB Switch
D.23.3    The LED Indicators
D.24    Switches and Indicators on the 8" Disk Controller (3038)
D.24.1    Device Number Selection (Thumbwheel)
D.24.2    The LED Indicators
D.25    Switches and Indicators on the N100 Bus Controller (3039)
D.25.1    Memory Boundaries Setting and Reading
D.25.2    Device Number Selection (Thumbwheel) and Extended Device Number Diode Reading
D.25.3    Interleave Setting (Thumbwheel)
D.25.4    Timeout Setting and Reading
D.25.5    The Address OK Indicator (yellow LED)
D.26    Switches and Indicators on the 5 1/4" Disk Controller (3041)
D.26.1    Device Number Selection (Thumbwheel)
D.26.2    The LED Indicators
D.27    Switches and Indicators on the 15MHz ECC Disk Controller (3043 and 3044)
D.27.1    SMD Control
D.27.1.1    Indicators, LED 1-LED 6
D.27.1.2    Cable Type Setting (DIP Switch in position 7E)
D.27.2    SMD Data (3044)
D.27.2.1    Device Number Selection (Thumbwheel)
D.27.2.2    Indicators, LED 1-LED 3
D.28    Switches and Indicators on the PIOC (3101)
D.28.1    PIOC Number Setting (Switch 12J)
D.28.2    Bank Number Selection (Switches 7J and 8J)
D.28.3    Lowest Address Selection/Reading (Switches 7J and 9J)
D.28.4    The LED Indicators
D.29    Switch and Indicator on the Memory Management II (3104)
D.29.1    Cache Memory Enable/Disable Switch and Indicator
D.30    Switches on the 8-Telex Interface (3105)
D.30.1    Extended Address Selection (TH1 and TH2)
D.30.2    Terminal Group Selection (TH2 and TH4)
D.30.3    Baud Rate Selection (TH1 and TH2)
D.31    Switches on the Floppy and Streamer Controller (3106)
D.31.1    Device Number Selection (Thumbwheel)
D.31.2    Error Codes Display
D.32    Switches on the 8-Terminal Interface (3107)
D.32.1    Extended Address selection (TH1 and TH2)
D.32.2    Terminal Group Selection (TH2 and TH4)
D.32.3    Baud Rate Selection (TH1 and TH2)
D.32.4    Current Loop/RS 232 Selection
D.33    Switches and Indicators on the PIOC Expanded (3108)
D.33.1    PIOC Number Setting (Switch 12J)
D.33.2    Bank Number Selection (Switches 7J and 9J)
D.33.2.1    Bank Number Selection on PIOC/64
D.33.2.2    Bank Number Selection on PIOC/256
D.33.3    Lowest Address Selection/Reading (Switches 7J and 9J)
D.33.4    The LED Indicators
D.34    Switches on the 8-Terminal Interface with Buffer (3111)
D.34.1    Extended Address Selection (TH1 and TH2)
D.34.2    Terminal Group Selection (TH2 and TH4)
D.34.3    Baud Rate Selection (TH5 and TH6)
D.34.4    Current Loop/RS 232 Selection
D.35    Switches on the Plotter/Printer Interface (3114)
D.35.1     PCB Function Selection (DIP Switch in Pos. 13A)
D.35.2     Device Number Selection (Thumbwheel)
E     Microprogram-Panel Processor Communication
E.1     Information to Panel Processor
E.2     Panel Interrupt
E.3     Panel Status
F     Microprogrammable Registers on Memory Management
F.1     Write Only Registers
F.2     Read Only Registers
G     Internal Registers and their Bit Assignment
H     Operator's Communication Instruction Survey
H.1     Control Functions (Do not affect DISPLAY)
H.2     Display Functions (Affect only DISPLAY)
H.3     Monitor Functions (Also shown on DISPLAY)
I     ND-100 Technical Specifications
I.1     Specifications
I.2     Physical
J     ASCII character set (ANSI X3.4 1968)
      Index of abbreviations


  • ND-06.015.01 Original printing 08/1980
  • ND-06.015.02 Second version 04/1985 (340 pages)

Known copies

Related manuals


Norsk Data Document ND–06.015.02 ND-100 FUNCTIONAL DESCRIPTION