Page 1¶
ND 100 NORD-100 COMPUTER SYSTEM¶
Features¶
The NORD-100 is a complete computer system including hardware and software. The software includes:
- SINTRAN III/VS Operating System supporting simultaneous multilingual time-sharing, real-time, local and remote batch
- FORTRAN, BASIC, COBOL, RPG II, SIMULA, PASCAL, CORAL 66, NORD PL and MAC language processors
- NORD File System
- NORD-NET
- SIBAS Data Base System
- QED Text Editor
- RJE emulators and terminal concentrators for most mainframes
The NORD-100 CPU uses the state-of-the-art bit slice hardware technology. The CPU module contains—in addition to the CPU—a Real-Time Clock, a Current Loop Terminal Interface with switch selectable speeds 110–9600 bauds and Power Fail Detect and Automatic Restart.
100-D1-6000-1080
Page 2¶
Product Features¶
- 16 bit parallel microprogrammed processor
- Bit, byte, single word, double word, triple word and register file instructions
- 8 memory addressing modes
- Optional extended instruction set with character handling instructions (used for COBOL)
- Fixed and Floating Point Arithmetic is standard
- 180 ns internal CPU cycle time (150 ns Fast Option)
- Instruction prefetch for increased performance
- Optional Writable Control Store for maximum flexibility
- Optional Hardware Paging and Memory Protect system
- 128 Kbytes virtual address space — 32 Mbyte physical
- Standard Error Checking and Correcting Memory System
- Choice of memory modules: 22 bits — 16 plus 6 error checking bits, 64 or 128 Kbyte modules
- Fast option with 150 ns CPU cycle and CACHE
- 16 level priority interrupt system — each level with a set of the 8 central registers
- Fast context switching — 5 µs
- 2048 vectored interrupts
- Bootstrap loading in firmware
- Built-in diagnostics in firmware
The Memory Management System offers an efficient paging system including extensive memory protection through a Page Protect System and a Ring Protect System. A fast version including CACHE memory is also available.
Instruction Set¶
The NORD-100 has a comprehensive instruction set which includes bit, byte, word, double word and triple word instructions. Integer arithmetical operations include single precision memory-to-register operations and double precision register-to-register multiply and divide.
The Floating Point Instructions add, subtract, multiply and divide use a 32 bit mantissa and a 16 bit exponent (2 bits for sign of exponent and mantissa). Also available with 32 bit floating arithmetic.
For efficient system control, specially tailored privileged instructions are included such as loading and storing of complete central register block and inter-program level read/write operations.
The NORD-100 is microprogrammed, and all instruction execution is in firmware using a 2k by 64 bit Read Only Memory — ROM (BCD arithmetic not included). To allow dynamic microprogramming, a 256 word by 64 bit writable control store is available as option.
Addressing Modes¶
A variety of addressing modes may be used:
- Program counter relative addressing
- Indirect addressing
Product Description¶
Introduction¶
NORD-100 is a 16 bit general purpose single board computer. The NORD-100 makes full use of the latest advances in hardware technology. The maximum address space is 128 Kbytes without the Memory Management System (MMS), and 32 Mbyte with MMS.
flowchart LR
A[NORD-100-BUS] -->|C| B[CPU Module]
B -->|B| C[Memory Management Module]
C -->|A| D[Optional Display]
C -- Power Detect\nFail Interface --> A
C -- Auto\nRestart --> A
C -- Real-Time\nClock --> A
C -- Teletype\nInterface --> A
C -- Panel --> A
C -- Console --> A
C --> E[CACHE Memory]
E --> F[Memory Module]
F -->|C| G[Err. Check\nand\nCorrection]
G -->|C| H[Device Interface Module]
H -->|A B| I[Devices]
Page 3¶
- Pre-indexed addressing
- Post-indexed addressing
- Combinations of the above mentioned modes
REGISTER BLOCK¶
The CPU has 16 program levels, each level has the following 8 registers:
| # | Register Description |
|---|---|
| 0 | Status (STS). This register holds different Status indicators. |
| 1 D | This register is an extension of the A-register in double precision or floating point operations. It may also be connected to the A-register during double length shifts. |
| 2 P | Program Counter, address of current instruction. This register is controlled automatically in the normal sequencing or branching mode. It is also fully program controlled and its contents may be transferred to or from other registers. |
| 3 B | Base register or second index register. In connection with indirect addressing, it causes preindexing. |
| 4 L | Link register. The return address after a subroutine jump is contained in this register. |
| 5 A | This is the main register for arithmetical and logical operations together with operands in memory. The register is also used for CPU controlled I/O communication. |
| 6 T | Temporary register. In floating point instructions it is used to hold the exponent part. |
| 7 X | Index register. In connection with indirect addressing, it causes post-indexing. |
The Interrupt System¶
The NORD-10 has a 16 level priority interrupt system. To each level is assigned a complete set of all the central registers: STS, D, P, B, L, A, T, X. With this architecture, context switching is reduced to selecting the working set of central registers. The time required for this operation is 5 μs.
All program levels may be activated by software. In addition, each of the levels 10, 11, 12 and 13 may be activated by 512 vectored I/O interrupts. An IDENT instruction is used to identify the interrupting device. Program level 14 is used by the Internal Interrupt System, which monitors error conditions or traps in the CPU. Program level 15 have no vectored interrupt facility.
(Program level 15 is not used by standard NORD equipment or software, but is available for users who need an immediate access to the CPU).
The Internal Interrupt System will report 10 different internal conditions:
- MC Monitor Call
- MPV Memory Protect Violation
- PF Page Fault
- II Illegal Instruction
- Z Error indicator
- PI Privileged Instruction
- IOX I/O timeout
- PTY Parity error
- MOR Memory Out of Range (memory timeout)
- POW Power fail
The Memory System¶
The Memory System is a flexible hierarchical memory system.
The Memory System includes:
- 2 Kbytes CACHE memory
- Main memory up to 1 Mbyte (NORD-10 compatible address mode), 32 Mbyte (extended address mode)
CACHE Memory¶
The optional high speed CACHE memory will reduce the average memory access time significantly. The contents of the CACHE holds the most recent data and instructions to be processed.
CACHE MEMORY ARCHITECTURE¶
The CACHE Memory is organized as a 1K by 31 bit look-up table. A word in CACHE is identified with the main memory word of which it is a copy and by its main memory physical address — the physical page number.
The CACHE Memory is homogeneous, i.e. the CACHE Memory does not discriminate between data words, instructions or indirect addresses stored in main memory.
Each word in the CACHE Memory has the following format:
31 17 16 15 0
| Cache Page No. - CPN (Phys. Page No. - PPN) | Word | Memory Word |
CACHE INHIBIT AREA¶
The CACHE Memory System contains two limit registers which define a continuous area in memory which will not be copied into CACHE when accessed. The inhibit area includes all pages with
Lower limit < PPN ≤ Upper limit
The inhibit area features are intended for use on memory areas that are operated upon by high-frequency DMA transfers and/or parallel processors.
Page 4¶
Main Memory¶
Maximum memory size is 32 Mbyte. 64 Kb and 128 Kb memory modules may be used.
- A single bit error occurring on a 22-bit memory module will be corrected and the error recorded if desired.
- All double bit errors occurring on a 22-bit memory module will be reported to the Internal Interrupt System which interrupts the CPU.
- Multiple bit errors occurring on a 22-bit memory module will normally be reported to the Internal Interrupt System which interrupts the CPU.
flowchart TB
CPU -->|16 DATA| NORD-100-BUS
CPU -->|16 ADDR.| MemoryManagementSystem
MemoryManagementSystem -->|DIP| Cache
MemoryManagementSystem -->|DIP| Compare
Compare -->|Hit| Cache
Cache -->|16 DATA| NORD-100-BUS
NORD-100-BUS -->|16 PHYS. ADDR.| Memory[Memory]
NORD-100-BUS -->|16 DATA| Memory
subgraph MemoryManagementSystem
1 -->|DIP| MemoryManagementSystem[Memory Management System]
11 -->|VPN| MemoryManagementSystem
12 -->|PPN| MemoryManagementSystem
end
subgraph Cache
14 -->|CPN| Cache[Cache]
14 --> Compare
end
subgraph "14 bit Directory"
CPN --> "1K x 16 bit of Data"
"1K x 16 bit of Data" --> CPUword[CPU-word]
CPUword -->|Word valid| Wordvalid
end
| Term | Description |
|---|---|
| DIP | Displacement within a page = Address bits 0-9 = Physical addr. 0-9 |
| VPN | Virtual Page Number = Addr. 10-15 |
| PPN | Physical Page Number = Phys. Addr. 10-23 |
Memory Management System¶
The Memory Management System includes two major subsystems:
- The Paging System
- The Memory Protection System
The Paging System maps a 16-bit virtual address into a 24-bit physical address, extending the physical address space from 128 Kbytes to 32 Mbyte. Four page index tables of 64 entries each, located in high-speed registers, reduce paging overhead to virtually zero. Data and instruction pages may be allocated anywhere in memory without restriction. The page size is 1024 words.
The Memory Protection System may be divided into two subsystems:
- The Page Protection System
- The Ring Protection System
The Page Protection System protects each page from read, write or instruction fetch accesses or any combination of these.
The Ring Protection System places each page on one of four priority rings. A page of memory that is placed on one specific ring may not be accessed by a program that...
Page 5¶
The Input/Output System¶
GENERAL¶
The NORD-100 uses the advanced high speed NORD-100-bus which provides communication between programmed input/output devices, DMA controllers, memory modules and the CPU. DMA memory address range is 32 Mbytes. PIO device address capability is 32 Kwords.
The NORD-100-bus is controlled by the Bus Controller which is an integrated part of the CPU.
PROGRAMMED INPUT/OUTPUT — PIO¶
Program controlled input/output operates via the A-register which implies that each word of input/output has to be programmed via this register. The PIO interfaces are always controlled by the CPU.
DIRECT MEMORY ACCESS — DMA¶
A Direct Memory Access — DMA — channel is used to obtain high transfer rates to and from main memory. CPU and DMA transfers may thus be performed simultaneously. The DMA controllers transfer to main memory via the NORD-100-bus on a cycle steal basis. More than one DMA device may be active at the same time, sharing the total bandwidth of the NORD-100-bus.
BOOTSTRAP LOADING¶
Bootstrap loading is under microprogram control and makes available the following facilities:
- Binary load, from character oriented devices, i.e., from Floppy Disk or a communication line
- System loading from block oriented devices, i.e., disk
Pos. No. 1 2 3 ....
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
|-----------| <- NORD-100-BUS -> |-------------| ---
|-----------| |-------------| ----
|-----------| |-------------| ----
C | | ^ ^ | | ----
P | | | | | | ----
U | | | Memory expansion up to 11 Mbyte | | ---
| | |
| | <-- I/O Device Connection -->
Memory Manage-
ment System
and CACHE
Page 6¶
MEMORY REFERENCE INSTRUCTIONS¶
Store Instructions¶
- STZ Store zero;
- STA Store A;
- STT Store T;
- STX Store X;
- MIN Memory increment, skip if 0 False True;
Load Instructions¶
- LDA Load A;
- LDT Load T;
- LDX Load X;
Arithmetical and Logical Instructions¶
- ADD Add to A;
- SUB Subtract from A;
- AND Logical AND to A;
- ORA Logical inclusive OR to A;
- MPY Multiply integer;
Double Word Instructions¶
- STD Store double word;
- LDD Load double word;
Floating Instructions¶
- STF Store floating accumulator;
- LDF Load floating accumulator;
- FAD Add to floating accumulator;
- FSB Subtract from floating accumulator;
- FMU Multiply floating accumulator;
- FDV Divide floating accumulator;
Byte Instructions¶
- SBYT Store Right byte or Left byte;
- LBYT Load Right byte or Left byte;
REGISTER OPERATIONS¶
Arithmetical Operations¶
- RADD Add source to destination;
- RSUB Subtract source from destination;
- COPY Register transfer;
Logical Operations¶
- SWAP Register exchange;
- RAND Logical AND to destination;
- REXO Logical exclusive OR;
- RORA Logical inclusive OR;
Combined Instruction¶
- EXIT COPY SL DP;
Extended Arithmetical Operations¶
- RMPY Multiply source with destination.
Result in double accumulator; - RDIV Divide double accumulator with source
register. Quotient in A, remainder in D;
ARGUMENT INSTRUCTIONS¶
- SAA Set argument to A;
- AAA Add argument to A;
- SAX Set argument to X;
- AAX Add argument to X;
- SAT Set argument to T;
- AAT Add argument to T;
- SAB Set argument to B;
- AAB Add argument to B;
EXECUTE INSTRUCTION¶
- EXR Execute instruction found in specified register;
BIT INSTRUCTIONS¶
- BSET Set specified bit equal to specified condition;
- BSTA Store and clear K;
- BSTC Store complement and set K;
- BLDA Load K;
- BLDC Load bit complement to K;
- BANC Logical AND with complement;
- BORC Logical OR with bit complement;
- BAND Logical AND to K;
- BORA Logical OR to K;
Page 7¶
Shift Instructions¶
| Instruction | Description |
|---|---|
| SHT | Shift T-register; |
| SHD | Shift D-register; |
| SHA | Shift A-register; |
| SAD | Shift A- and D-register connected; |
ARI: Arithmetic shift. During right shift, bit 15 is extended. During left shift, zeros are shifted in from right.
ROT: Rotational shift. Most and least significant bits are connected.
ZIN: Zero end input.
LIN: Link end input. The last vacated bit is fed to M after every shift instruction.
SHR: Shift right; gives negative shift counter.
Floating Conversion¶
NLZ: Convert the number in A to a floating number in FA (TAD);
DNZ: Convert the floating number in FA to a fixed point number in A;
Sequencing Instructions¶
Unconditional Jump¶
- JMP: Jump;
- JPL: Jump to subroutine;
Conditional Jump¶
- JAP: Jump of A is positive;
- JAN: Jump if A is negative;
- JAZ: Jump if A is zero;
- JAF: Jump if A is nonzero;
- JXN: Jump if X is negative;
- JPC: Increment X and jump if positive;
- JNC: Increment X and jump if negative;
Skip Instruction¶
SKP: Skip next location if specified condition is true;
Specified Condition¶
| Condition | Description |
|---|---|
| EQL | Equal to |
| UEQ | Unequal to |
| GRE | Signed greater or equal to |
| LST | Signed less than |
| MLST | Magnitude less than |
| MGRE | Magnitude greater or equal to |
Privileged Instructions¶
The following instructions are available only to Ring 2 or Ring 3 programs:
Transfer Instructions¶
Internal Register Transfer Instructions¶
- TRA: Transfer specified internal register to A;
- TRR: Transfer A to specified internal register;
- MCL: Masked clear of register;
- MST: Masked set of register;
Inter-Level Instructions¶
- IRR: Inter-register Read
A: = Specified register on specified level - IRW: Inter-register Write
Specified register on specified level: = A
Memory Examine/Deposit Instructions¶
- EXAM: Memory examine;
- DEPO: Memory deposit;
System Control Instructions¶
- ION: Turn on interrupt system;
- PON: Turn on paging system;
- IOF: Turn off interrupt system;
- POF: Turn off paging system;
- PION: Paging and interrupt system on;
- PIOF: Paging and interrupt system off;
- WAIT: Halt the program/Give up priority;
- MON: Monitor call instruction;
- SEX: Set extended address mode;
- REX: Reset extended address mode;
- LWCS: Load writable control store;
Page 8¶
The NORD-100 CPU Module¶
Including Real-Time Clock and Current Loop Interface
[Photo: The NORD-100 CPU Module]
Contact Information¶
| Country | Company Name | Address | Telephone |
|---|---|---|---|
| Norway | NORSK DATA A.S | Jerikovien 20, Box 4 Lindeberg gård OSLO 10 |
Tel. 02-391601, Tlx. 18661 nd n |
| Denmark | NORSK DATA ApS | Øverødvej 5 2840 HØLTE |
Tel. 02-425055, Tlx. 37725 nd dk |
| West Germany | NORSK DATA DEUTSCHLAND | Abraham-Lincoln-Str. 30 6200 WIESBADEN |
Tel. 06121-76420, Tlx. 4186370 noda dtk |
| Sweden | ND NORSK DATA AB | Kanalvägen 3, Box 2031 194 02 UPPLANDS VÄSBY |
Tel. 0760-86500, Tlx. 13528 nordata s |
| Sweden | ND NORSK DATA AB | Klangfärgsgatan 11, Box 9052 421 09 VÄSTRA FRÖLUNDA |
Tel. 031-299350 |
| France | NORSK DATA FRANCE | "Le Brevent", Avenue du Jura 01210 FERNEY-VOLTAIRE |
Tel. 050-405876, Tlx. 385863 nordata fernv |
| France | NORSK DATA FRANCE | 120, Bureaux de la Colline 92213 SAINT-CLOUD-CEDEX |
Tel. 01-6023366, Tlx. 20180 nd paris |
| U.S.A. | NORSK DATA N.A., Inc. | 65, WILLIAM STREET Wellesley, MASS. 02181 |
Tel. 0617-237-7945, Tlx. 921740 norsk well |
| England | NORSK DATA Ltd. | Trident House, Pelican Lane Newbury, BERKS |
Tel. 0635-31465, Tlx. 849819 norsk g |
Note: NORSK DATA reserves the right to change specifications at any time without given notice.