NORD-1

From NDWiki
Revision as of 22:10, 5 May 2012 by Tingo (talk | contribs) (→‎Hardware: added Central Processing Unit section, and reference)
Jump to navigation Jump to search
The NORD-1

The NORD-1 was Norsk Data's first minicomputer. It was the first commercially available computer made in Norway.

It was a 16-bit system, developed in 1967. It could have 4K - 64K words of core memory[1]. The first NORD-1 (serial number 2) installed was an anti-collision system used with the NORCONTROL process control system aboard the ship M/S Taimyr, where it proved extremely reliable for its time.[2]

It was probably the first minicomputer to feature floating-point equipment as standard, and had an unusually rich complement of registers for its time. It also featured relative addressing, and a fully automatic context switched interrupt system.[citation needed]

It was also the first minicomputer to offer virtual memory, offered as an option by 1969.[3]

It was succeeded by the NORD-10.

Hardware

Core Memory

Main storage is a ferrite core memory device. It can be from 4096 to 65536 words in size. Each word is 16 bits.[1]

The CPU operates asynchronous to the memory timing control, and the computer can use memories of different speeds. The fastest memory cycle time which the CPU can efficiently use is 1 microsecond.[1]

Memory Control

Each memory block has its own memory control. The memory control permits access from two different devices to the memory block as standard - additional channels are optional. The priority between the devices is fixed (wired in). One of the devices is the CPU, usually at the lowest priority. The data channels are usually connected to devices such as disc storage, magnetic tape storage, line printers or other input / output devices with hight data transfer rate. When data channels are operating, memory cycles are stolen from the program running - for each data channel transfer of a 16 bit word one memory cycle is stolen. With a 1 microsecond cycle time the maximum total data channel transfer rate is 16.000.000 bits per second. Two CPUs may be connected to one memory block.[1]

Central Processing Unit

The central processing unit, CPU, controls the execution of the instructions and the input / output system. The CPU consists of a register block, control flip-flops and an arithmetic and control unit.[1]

Register block

The register block consists of 8 general registers, 4 bus memory registers and 2 priority interrupt control registers. The CPU registers are 16 bit high speed, integrated circuit registers.

The 8 general registers are

  • R-register: Address register. This register is not accessible by program.
  • A-register: This is the main register for arithmetic and logical operations directly to the memory. This register is also used for input / output communication.
  • D-register: This register is an extension to the A-register in double precision or floating point operations. It may be connected to the A-register during double length shifts.
  • T-register: Temporary register. In floating point instructions it is used to hold the exponent part.
  • L-register: Link register. The return address after a subroutine jump is contained in this register.
  • X-register: Index register. In connection with indirect addressing it causes post-indexing.
  • B-register: Base register or second index register. In connection with indirect addressing it causes pre-indexing.
  • P-register: Program counter, address of current instruction. This register is controlled automatically in the normal sequencing or brancjhing mode. But it is also fully program controlled and its contents may be transferred to or from other registers.

Besides the R- and P-register all registers are fully program-controlled and may be used for other purposes than those described here.

Two instructions, ROP and SKP, may specify a register whose contents is always zero.

Control flip-flops

Six control flip-flops are accessible by program. They are

  • C: Carry flip-flop.
  • Q: Dynamic overflow flip-flop.
  • O: Static overflow flip-flop. Remains set after and overflow condition until it is reset by program.
  • Z: Floating point overflow flip-flop. This flip-flop is static and remains set untiil it is reset by program.
  • K: One bit accumulator.
  • M: Multi shift link flip-flop.

These flip-flops are fully program controlled either by means of the BOP instruction or by the TRA or TRR subinstructions where all flip-flops must be transferred to and from the A-register.

Arithmetic and control units

The address and index computations are performed in a special address arithmetic unit. All programmed arithmetic and logical operations are performed in a 16 bit high-speed arithmetic unit. Therefore, all such operations may be performed on any of the registers.

The control unit contains the necessary logic circuitry to access data and instruction words, to modify instruction addresses, to perform arithmetic and logical operations and to control the interrupt system.

Remaining machines

The NORD-1 has been unusually well-preserved. Approximately 60 machines seem to have been produced, and at the very least 10 machines have been preserved, including serial numbers 2, 4, and 5. This may owe to the fact that the company Norsk Data was already a very large and exceedingly rapidly growing corporation by the time many of these machines were decommissioned.

Sources

  1. 1.0 1.1 1.2 1.3 1.4 Norsk Data Library, Hardware - NORD-1 Reference Manual, Complete Instruction Repertoire
  2. The Norwegian Museum of Science and Technology: Det norske datafyrtårnet (In norwegian)
  3. Norsk Data Annual Report 1982, ND Publications, April 6th 1983
  • This article was originally a copy of the English Wikipedia article NORD-1 in 19 October 2008.