Nord-10

Last updated

Nord-10
Nord-10.jpeg
Two adjacent NORD-10/S systems
Developer Norsk Data
Manufacturer Norsk Data
Product familyNord
Type Minicomputer
Generation3
Release date1973;51 years ago (1973)
Lifespan1973–1979
Discontinued1979;45 years ago (1979)
Operating system Sintran III
CPU 16-bit
Cameranone
Touchpadnone
Predecessor Nord-1
Successor Nord-100
Website example.org

Nord-10 was a medium-sized general-purpose 16-bit minicomputer designed for multilingual time-sharing applications and for real-time multi-program systems, produced by Norsk Data. It was introduced in 1973. The later follow up model, Nord-10/S, introduced in 1975, introduced CPU cache, paging, and other miscellaneous improvements.

Contents

The CPU had a microprocessor, which was defined in the manual as a portmanteau of microcode processor, not to be confused with the then nascent microprocessor. The CPU additionally contained instructions, operator communication, bootstrap loaders, and hardware test programs, that were implemented in a 1K read-only memory.

The microprocessor also allowed for customer specified instructions to be built in. Nord-10 had a memory management system with hardware paging extending the memory size from 64 to 256K 16-bit words and two independent protecting systems, one acting on each page and one on the mode of instructions. The interrupt system had 16 program levels in hardware, each with its own set of general-purpose registers.

Note: Much of the following information is taken from a document written by Norsk Data introducing the Nord-10. Some information, particularly about the memory system, may be inaccurate for the later Nord-10/S. [1]

Central processor

The central processing unit (CPU) consisted of a total 24 printed circuit boards. The last eight positions in the rack were used for input/output (I/O) devices operated by program control, such as the console teleprinter (teletype), paper punched tape and punched card reader and punch, line printer, display, operator's panel, and a real-time clock.

The Nord-10 had 160 processor registers, of which 128 were available to programs, eight on each of the 16 program levels. Six of those registers were general registers, one was the program counter, and the other contained status information. Floating point arithmetic operations were standard. The instructions could operate on five different formats, a bit, an 8-bit byte, 16-bit words, 32-bit double words, and 48-bit floating point words.

Memory

The random-access memory system of the first Nord-10s were built up of 8K 16-bit modules housed in a special memory rack. One 19-inch rack could hold up to eight 8K modules. It was possible to extend the Nord-10's physical address space beyond 64K up to a maximum of 256K 16-bit words. The paging system translated a 16-bit virtual address into an 18-bit physical address.

The hardware paging system made it possible for one user to write programs up to 64K (virtual memory), and only parts of the program to be present in physical memory at any time (using dynamic memory allocation). The paging system divided memory into 1K pages. The four page index tables were found in a 256 word extremely fast memory block. The calculation of a physical address resulted in no appreciable delay in the effective memory cycle time.

The Nord-10 had two independent protection systems. Each individual page could be protected against being read from, written into (type data or type instructions), or against reading of instructions. In addition, there was a system which divided the pages into four different categories, called rings. The rings had a priority from 0 to 3. A program on a lower ring was never allowed to access the pages on a higher ring. Programs which ran on rings 2 and 3 could use the whole Nord-10 instruction set, while programs on rings 0 and 1 only had a limited instruction set available. The different rings were displayed on the operator's panel. For example, ring 0 (User) may have held a user program, while compilers and assemblers ran in ring 1 (Protected User). The bulk of the operating system could run in ring 2 (System), and the kernel in ring 3 (Protected System). If one attempted to execute privileged instructions in ring 0 or 1, or attempts were made to accessed a protected page, a hardware status interrupt would automatically be generated on program level 14 indicating the error.

I/O system and bus architecture

The NORD-10 was equipped with a common bus system for all external peripheral devices. The bus system was divided into groups, and a great deal of effort had been made to ensure that no device would be able to jam the bus system in the case of malfunction. Each group had its own controller which in addition to functioning as an electronic switch for the bus system, could also change priority for the whole group. All interconnections between the cards were done with multilayer printed circuit backwiring boards, and all input/output interface had the same standard form. The system could therefore be extended or reconfigured by plugging in new or shifting around the existing interface cards. The position of the device interface in the card rack determined the interrupt priority of the device. In direct memory access transfers the device would send a request. The CPU would answer with a grant signal, which would be passed from device to device until it came to the device which initiated the request, and transfer to the memory could take place. When two or more devices request a DMA request simultaneously to the CPU had the highest priority. One memory cycle later the next DMA along the chain would be allowed to send data, and so on, until a higher priority device again sent a request. This meant that many DMA devices could use the same bus system at the full data transfer rate. It was not necessary to establish a master-slave connection. The transfer was one 16-bit word/850 nanoseconds, or 2.2 MB/s.

The printed backplane of the I/O bus was modular in groups of 8 interface slots. Interfaces for mass storages as disk, drum, magnetic tape, etc., were built with one interface card to be plugged at the appropriate place in the bus system, the remaining control cards (6-7) were placed in one of the backplane modules.

Interrupt system

The Nord-10 had a multi-program system with 16 priority program levels. Each program level had its own set of registers, including a program counter and a status word. The levels running could be shown on the front panel by pressing the button "active levels". Levels 0 through 9 were used for programs. Internal hardware status interrupts were assigned to level 14, whilst level 15 was reserved for extremely fast user interrupts (this was colloquially called the "synchrotron level", since the only program ever to have used it was the program controlling the synchrotron at CERN)

Levels 10, 11, 12, and 13 were reserved for external devices. Each device had its own unique identification vector. In all 2048 such vectors were available. The "ident" instruction determined which device was giving an interrupt. The identification of an interrupt took 1.7 microseconds, including the time taken to enable and disable the registers.

System software

The Nord-10 was delivered with a time-shared system, Nord-TSS, and a real-time multitasking operating system, Sintran III. The minimum configuration for Sintran III included a standard Nord-10 with 8K of magnetic-core memory.

With NORD-TSS all users could simultaneously run any of the systems Fortran IV, BASIC, MAC Assembler, NODAL, NORD-PL, or QED.

Known remaining systems

There are several Nord-10 and Nord-10/S systems known to remain, many of which are in near-operational condition, and several are in the care of NODAF. Restorations of systems are planned in both Oslo by NODAF and Trondheim by Norwegian University of Science and Technology.

Its predecessor was the Nord-1 and its successor the Nord-100.

Related Research Articles

<span class="mw-page-title-main">Data General Nova</span> 16-bit minicomputer series

The Data General Nova is a series of 16-bit minicomputers released by the American company Data General. The Nova family was very popular in the 1970s and ultimately sold tens of thousands of units.

<span class="mw-page-title-main">Intel 80286</span> Microprocessor model

The Intel 80286 is a 16-bit microprocessor that was introduced on February 1, 1982. It was the first 8086-based CPU with separate, non-multiplexed address and data buses and also the first with memory management and wide protection abilities. The 80286 used approximately 134,000 transistors in its original nMOS (HMOS) incarnation and, just like the contemporary 80186, it could correctly execute most software written for the earlier Intel 8086 and 8088 processors.

<span class="mw-page-title-main">Intel 8080</span> 8-bit microprocessor

The Intel 8080 ("eighty-eighty") is the second 8-bit microprocessor designed and manufactured by Intel. It first appeared in April 1974 and is an extended and enhanced variant of the earlier 8008 design, although without binary compatibility. The initial specified clock rate or frequency limit was 2 MHz, with common instructions using 4, 5, 7, 10, or 11 cycles. As a result, the processor is able to execute several hundred thousand instructions per second. Two faster variants, the 8080A-1 and 8080A-2, became available later with clock frequency limits of 3.125 MHz and 2.63 MHz respectively. The 8080 needs two support chips to function in most applications: the i8224 clock generator/driver and the i8228 bus controller. It is implemented in N-type metal–oxide–semiconductor logic (NMOS) using non-saturated enhancement mode transistors as loads thus demanding a +12 V and a −5 V voltage in addition to the main transistor–transistor logic (TTL) compatible +5 V.

<span class="mw-page-title-main">Intel 8086</span> 16-bit microprocessor

The 8086 is a 16-bit microprocessor chip designed by Intel between early 1976 and June 8, 1978, when it was released. The Intel 8088, released July 1, 1979, is a slightly modified chip with an external 8-bit data bus, and is notable as the processor used in the original IBM PC design.

<span class="mw-page-title-main">Motorola 68000</span> Microprocessor

The Motorola 68000 is a 16/32-bit complex instruction set computer (CISC) microprocessor, introduced in 1979 by Motorola Semiconductor Products Sector.

<span class="mw-page-title-main">MOS Technology 6502</span> 8-bit microprocessor from 1975

The MOS Technology 6502 is an 8-bit microprocessor that was designed by a small team led by Chuck Peddle for MOS Technology. The design team had formerly worked at Motorola on the Motorola 6800 project; the 6502 is essentially a simplified, less expensive and faster version of that design.

<span class="mw-page-title-main">Microcontroller</span> Small computer on a single integrated circuit

A microcontroller or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs along with memory and programmable input/output peripherals. Program memory in the form of NOR flash, OTP ROM or ferroelectric RAM is also often included on chip, as well as a small amount of RAM. Microcontrollers are designed for embedded applications, in contrast to the microprocessors used in personal computers or other general purpose applications consisting of various discrete chips.

<span class="mw-page-title-main">Operating system</span> Software that manages computer hardware resources

An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.

<span class="mw-page-title-main">PDP-11</span> Series of 16-bit minicomputers

The PDP–11 is a series of 16-bit minicomputers sold by Digital Equipment Corporation (DEC) from 1970 into the late 1990s, one of a set of products in the Programmed Data Processor (PDP) series. In total, around 600,000 PDP-11s of all models were sold, making it one of DEC's most successful product lines. The PDP-11 is considered by some experts to be the most popular minicomputer.

Direct memory access (DMA) is a feature of computer systems that allows certain hardware subsystems to access main system memory independently of the central processing unit (CPU).

<span class="mw-page-title-main">Intel 8085</span> 8-bit microprocessor by Intel

The Intel 8085 ("eighty-eighty-five") is an 8-bit microprocessor produced by Intel and introduced in March 1976. It is the last 8-bit microprocessor developed by Intel.

<span class="mw-page-title-main">Intel 4040</span> 4-bit microprocessor introduced in 1974 by Intel

The Intel 4040 microprocessor was the successor to the Intel 4004, introduced in 1974. The 4040 employed a 10 μm silicon gate enhancement-load PMOS technology, was made up of 3,000 transistors and could execute approximately 62,000 instructions per second.

<span class="mw-page-title-main">PIC microcontrollers</span> Line of single-chip microprocessors from Microchip Technology

PIC is a family of microcontrollers made by Microchip Technology, derived from the PIC1640 originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to Peripheral Interface Controller, and is currently expanded as Programmable Intelligent Computer. The first parts of the family were available in 1976; by 2013 the company had shipped more than twelve billion individual parts, used in a wide variety of embedded systems.

Memory-mapped I/O (MMIO) and port-mapped I/O (PMIO) are two complementary methods of performing input/output (I/O) between the central processing unit (CPU) and peripheral devices in a computer. An alternative approach is using dedicated I/O processors, commonly known as channels on mainframe computers, which execute their own instructions.

<span class="mw-page-title-main">HP 2100</span> Mid-1960s 16-bit computer series by Hewlitt Packard

The HP 2100 is a series of 16-bit minicomputers that were produced by Hewlett-Packard (HP) from the mid-1960s to early 1990s. Tens of thousands of machines in the series were sold over its twenty-five year lifetime, making HP the fourth largest minicomputer vendor during the 1970s.

<span class="mw-page-title-main">Blackfin</span> Family of 16-/32-bit microprocessors

The Blackfin is a family of 16-/32-bit microprocessors developed, manufactured and marketed by Analog Devices. The processors have built-in, fixed-point digital signal processor (DSP) functionality performed by 16-bit multiply–accumulates (MACs), accompanied on-chip by a microcontroller. It was designed for a unified low-power processor architecture that can run operating systems while simultaneously handling complex numeric tasks such as real-time H.264 video encoding.

The TMS9900 was one of the first commercially available, single-chip 16-bit microprocessors. Introduced in June 1976, it implemented Texas Instruments' TI-990 minicomputer architecture in a single-chip format, and was initially used for low-end models of that lineup.

<span class="mw-page-title-main">AMD Am2900</span>

Am2900 is a family of integrated circuits (ICs) created in 1975 by Advanced Micro Devices (AMD). They were constructed with bipolar devices, in a bit-slice topology, and were designed to be used as modular components each representing a different aspect of a computer control unit (CCU). By using the bit slicing technique, the Am2900 family was able to implement a CCU with data, addresses, and instructions to be any multiple of 4 bits by multiplying the number of ICs. One major problem with this modular technique was that it required a larger number of ICs to implement what could be done on a single CPU IC. The Am2901 chip included an arithmetic logic unit (ALU) and 16 4-bit processor register slices, and was the "core" of the series. It could count using 4 bits and implement binary operations as well as various bit-shifting operations. The Am2909 was a 4-bit-slice address sequencer that could generate 4-bit addresses on a single chip, and by using n of them, it was able to generate 4n-bit addresses. It had a stack that could store a microprogram counter up to 4 nest levels, as well as a stack pointer.

<span class="mw-page-title-main">Raytheon 704</span> Minicomputer

The Raytheon 704 is a 16-bit minicomputer introduced by Raytheon in 1970. The basic machine contained 4 kwords (8 kB) of memory and a simple arithmetic logic unit (ALU) running at 1 MHz. It was normally operated with a Teletype Model 33 acting as a computer terminal. It sold for "less than $10,000".

References

  1. Børresen, Jan Aske. Inside NORD-10 (Report). A/S Norsk Data-Elektronikk, ND-nytt.