ND812
   HOME

TheInfoList



OR:

The
12-bit Before the widespread adoption of ASCII in the late 1960s, six-bit character codes were common and a 12-bit word, which could hold two characters, was a convenient size. This also made it useful for storing a single decimal digit along with a si ...
ND812, produced by
Nuclear Data, Inc. Nuclear Data Incorporated was a manufacturer of scientific measuring devices for high energy physics laboratories. Application areas included X-ray analysis and radiation monitoring. In the 1960s, they built minicomputers to automate their labo ...
, was a commercial
minicomputer A minicomputer, or colloquially mini, is a type of general-purpose computer mostly developed from the mid-1960s, built significantly smaller and sold at a much lower price than mainframe computers . By 21st century-standards however, a mini is ...
developed for the scientific computing market. Nuclear Data introduced it in 1970 at a price under $10,000 ().


Description

The architecture has a simple programmed I/O bus, plus a
DMA DMA may refer to: Arts * ''DMA'' (magazine), a defunct dance music magazine * Dallas Museum of Art, in Texas, US * BT Digital Music Awards, an annual event in the UK * Danish Music Awards * Detroit Music Awards * Doctor of musical arts, a degree ...
channel. The programmed I/O bus typically runs low to medium-speed peripherals, such as
printer Printer may refer to: Technology * Printer (publishing), a person * Printer (computing), a hardware device * Optical printer for motion picture films People * Nariman Printer (fl. c. 1940), Indian journalist and activist * James Printer (1640 ...
s,
teletypes A teleprinter (teletypewriter, teletype or TTY) is an electromechanical device that can be used to send and receive typed messages through various communications channels, in both point-to-point and point-to-multipoint configurations. Init ...
,
paper tape Five- and eight-hole wide punched paper tape Paper tape reader on the Harwell computer with a small piece of five-hole tape connected in a circle – creating a physical program loop Punched tape or perforated paper tape is a form of data st ...
punches and readers, while DMA is used for
cathode ray tube A cathode-ray tube (CRT) is a vacuum tube containing one or more electron guns, which emit electron beams that are manipulated to display images on a phosphorescent screen. The images may represent electrical waveforms on an oscilloscope, a ...
screens with a
light pen A light pen is a computer input device in the form of a light-sensitive wand used in conjunction with a computer's cathode-ray tube (CRT) display. It allows the user to point to displayed objects or draw on the screen in a similar way to a to ...
,
analog-to-digital converter In electronics, an analog-to-digital converter (ADC, A/D, or A-to-D) is a system that converts an analog signal, such as a sound picked up by a microphone or light entering a digital camera, into a Digital signal (signal processing), digi ...
s,
digital-to-analog converter In electronics, a digital-to-analog converter (DAC, D/A, D2A, or D-to-A) is a system that converts a digital signal into an analog signal. An analog-to-digital converter (ADC) performs the reverse function. DACs are commonly used in musi ...
s,
tape drive A tape drive is a data storage device that reads and writes data on a magnetic tape. Magnetic-tape data storage is typically used for offline, archival data storage. Tape media generally has a favorable unit cost and long archival stability. ...
s,
disk drive Disc or disk may refer to: * Disk (mathematics), a two dimensional shape, the interior of a circle * Disk storage * Optical disc * Floppy disk Music * Disc (band), an American experimental music band * ''Disk'' (album), a 1995 EP by Moby Other ...
s. The
word A word is a basic element of language that carries semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consensus among linguist ...
size, 12 bits, is large enough to handle unsigned integers from 0 to 4095 – wide enough for controlling simple machinery. This is also enough to handle signed numbers from -2048 to +2047. This is higher precision than a
slide rule A slide rule is a hand-operated mechanical calculator consisting of slidable rulers for conducting mathematical operations such as multiplication, division, exponents, roots, logarithms, and trigonometry. It is one of the simplest analog ...
or most
analog computer An analog computer or analogue computer is a type of computation machine (computer) that uses physical phenomena such as Electrical network, electrical, Mechanics, mechanical, or Hydraulics, hydraulic quantities behaving according to the math ...
s. Twelve bits could also store two six-bit characters (note, six-bit isn't enough for two cases, unlike "fuller"
ASCII ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
character set). "ND Code" was one such 6-bit character encoding that included upper-case alphabetic, digit, a subset of punctuation and a few control characters. The ND812's basic configuration has a
main memory Computer data storage or digital data storage is a technology consisting of computer components and recording media that are used to retain digital data. It is a core function and fundamental component of computers. The central processin ...
of 4,096 twelve-bit
word A word is a basic element of language that carries semantics, meaning, can be used on its own, and is uninterruptible. Despite the fact that language speakers often have an intuitive grasp of what a word is, there is no consensus among linguist ...
s with a 2 microsecond cycle time. Memory is expandable to 16K words in 4K word increments. Bits within the word are numbered from
most significant bit In computing, bit numbering is the convention used to identify the bit positions in a binary numeral system, binary number. Bit significance and indexing In computing, the least significant bit (LSb) is the bit position in a Binary numeral sy ...
(bit 11) to
least significant bit In computing, bit numbering is the convention used to identify the bit positions in a binary number. Bit significance and indexing In computing, the least significant bit (LSb) is the bit position in a binary integer representing the lowes ...
(bit 0). The programming model consists of four accumulator registers: two main accumulators, J and K, and two sub accumulators, R and S. A rich set of arithmetic and logical operations are provided for the main accumulators and instructions are provided to exchange data between the main and sub accumulators. Conditional execution is provided through "skip" instructions. A condition is tested and the subsequent instruction is either executed or skipped depending on the result of the test. The subsequent instruction is usually a jump instruction when more than one instruction is needed for the case where the test fails.


Input/Output

The I/O facilities include programmable interrupts with 4-levels of priority that can trap to any location in the first 4K words of memory. I/O can transmit 12 or 24 bits, receive 12 or 24 bits, or transmit and receive 12 bits in a cycle. I/O instructions include 4 bits for creating pulses for peripheral control. I/O peripherals can be attached via 76 signal connector that allows for direct memory access by peripherals.
DMA DMA may refer to: Arts * ''DMA'' (magazine), a defunct dance music magazine * Dallas Museum of Art, in Texas, US * BT Digital Music Awards, an annual event in the UK * Danish Music Awards * Detroit Music Awards * Doctor of musical arts, a degree ...
is accomplished by "cycle stealing" from the CPU to store words directly into the core memory system. Nuclear Data provided interfaces to the following peripherals: * Bulk storage devices ** Diablo Model 31 standard density disk cartridge ** Diablo Model 31 high density disk cartridge ** EDP fixed-head disk models 3008, 3016, 3032, 3064, or 3120 * Magnetic tape I/O devices ** Magnetic cassette tape ** PEC 7-track magnetic tape ** PEC 9-track magnetic tape * Paper tape I/O devices ** Superior Electric Model TRP125-5 photoelectric tape reader (125 char/sec) ** Dataterm Model HS300 photoelectric tape reader (300 char/sec) ** Remex Model RPF1150B photoelectric tape reader (200 char/sec) ** Remex Model RPF1075B mylar tape punch (75 char/sec) ** Tally Model 1504 paper tape reader (60 char/sec) ** Tally Model 1505 paper tape punch (60 char/sec) ** Teletype Model BRPE11 paper tape punch (110 char/sec) * Hard copy I/O devices ** Data Products Model 2410 line printer **
Centronics Centronics Data Computer Corporation was an American manufacturer of computer printers, now remembered primarily for the parallel interface that bears its name, the Centronics connector. History Foundations Centronics began as a divisio ...
Model 101 line printer (165 char/sec) ** Franklin Model 1220 printer (20 lines/sec) ** Franklin Model 1230 printer (30 lines/sec) ** Hewlett-Packard Model 5050A printer (20 lines/sec) ** Hewlett-Packard Model 5055A printer (10 lines/sec) ** Calcomp digital incremental plotter


Programming facilities

The ND812 did not have an operating system, just a
front panel A front panel was used on early electronic computers to display and allow the alteration of the state of the machine's internal CPU register, registers and computer memory, memory. The front panel usually consisted of arrays of electric light, ...
and run and halt switches. The I/O facility allowed for peripherals to directly load programs into memory while the computer was halted and not executing instructions. Another option was to enter a short loader program that would be used to bootstrap the desired program from a peripheral such as a teletype or paper tape reader. Since core memory is non-volatile, shutting off the computer did not result in data or program loss. A number of system programs were made available by Nuclear Data for use with the ND812: BASC-12 assembler, symbolic text editor, NUTRAN interpreter, and disk-based symbolic text editor,


BASC-12 Assembler

An assembler called BASC-12 was provided. BASC-12 was a
two-pass assembler In computing, assembly language (alternatively assembler language or symbolic machine code), often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence bet ...
, with an optional third pass. Pass one generates a symbol table, pass two produces a binary output tape and pass three provides a listing of the program. A sample of the assembler from the Principles of Programming the ND812 Computer manual is shown below: /Input two unequal numbers "A" and "B", compare the two numbers /and determine which is larger, and output a literal statement /"A > B", or "B > A" as applicable. / /Input and store values for A & B *200 Start, TIF /Clear TTY flag JPS Input /Get value for A STJ A JPS Input /Get value for B STJ B / /Determine which of the two values is larger LDJ A SBJ B /Subtract B from A SIP J /Test for A positive JMP BRAN /No! B > A LDJ ABCST /Yes! A > B SKIP /Skip next instruction BRAN, LDJ BACST / /Set up and output expression / JPS OUT STOP JMP START / /Working or data storage area / A, 0 /Constant A B, 0 /Constant B ABCST, AB /Address of A > B literal BACST, BA /Address of B > A literal C260, 260 /ASCII zone constant / /Input routine + ASCII zone strip / Input, 0 /Entry point TIS JMP .-1 TRF TCP /Echo input at teletype TOS JMP .-1 SBJ C260 JMP@ INPUT / /Output routine - Output ASCII expression / Out, 0 /Entry point STJ LOOP+1 LDJ C5 /Set number of character constant STJ CTR / /Output data loop / Loop, TWLDJ 0 TCP TOS JMP .-1 ISZ LOOP+1 DSZ CTR /Test for all characters out JMP LOOP /No JMP@ Out /Return C5, 5 CTR, 0 / /Output messages / AB, 215 212 301 /A 276 /> 302 /B BA, 215 212 302 /B 276 /> 301 /A $ /End character


NUTRAN

NUTRAN, a conversational, FORTRAN-like language, was provided. NUTRAN was intended for general scientific programming. A sample of NUTRAN is shown below: 1 PRINT 'INPUT VALUES FOR X AND Y' 2 INPUT X,Y 3 Z=X+Y 4 PRINT 'X+Y= ',Z 5 STOP An example of the conversational nature of NUTRAN is shown below. > is the command prompt and : is the input prompt. >1.G INPUT VALUES FOR X AND Y :3 :2 X+Y= .5000000E 1 >


Instruction formats

The instruction set consists of single and double word instructions. Operands can be immediate, direct or indirect. Immediate operands are encoded directly in the instruction as a literal value. Direct operands are encoded as the address of the operand. Indirect operands encode the address of the word containing a pointer to the operand.


Single word instructions

The displacement and sign bit allow single word instructions to address locations between -63 and +63 of the location of the instruction. Bit 4 of the instruction allows for a choice between indirect and direct addressing. When the displacement is used as an indirect address, the contents of the location which is +/-63 locations from the instruction location is used as a pointer to the actual operand. Many single word instructions do not reference memory and use bits 4 and 5 as part of the specification of the operation.


Literal format


Group 1 Format

Group 1 instructions perform arithmetic, logical, exchange and shifting functions on the accumulator registers. This includes hardware multiply and divide instructions. Bit 4 is set if the K register is affected. Bit 5 is set if the J register is affected. Both bits are set of both registers are affected.


Group 2 format

Group 2 format instructions test for internal conditions of the J and K accumulator registers, manipulate the overflow and flag status bits and provide complement, increment and negation operations on the J and K accumulator registers. Bits 9, 10 and 11 select the condition to be tested.


Two word instructions

Bit 9, Change Fields, inhibits the absolute address from referencing a different field than the one containing the instruction. When bit 8 is 1, the upper accumulator K is used with the instruction, otherwise the lower accumulator J is used. When bit 7 is 1, indirect addressing is used, otherwise direct addressing is used.


Status Word format

The status register doest not exist as a distinct register. It is the contents of several groups of indicators that are all stored in the J register when desired. The JPS and Int bits hold the current field contents that would be used during a JPS instruction or interrupt. The flag and overflow bits can be set explicitly from the J register contents with the RFOV instruction, but the other bits must be set by distinct instructions.


Subroutines

The ND812 processor provides a simple
stack Stack may refer to: Places * Stack Island, an island game reserve in Bass Strait, south-eastern Australia, in Tasmania’s Hunter Island Group * Blue Stack Mountains, in Co. Donegal, Ireland People * Stack (surname) (including a list of people ...
for operands, but doesn't use this mechanism for storing subroutine return addresses. Instead, the return address is stored in the target of the JPS instruction and then the PC register is updated to point to the location following the stored return address. To return from the subroutine, an indirect jump through the initial location of the subroutine restores the program counter to the instruction following the JPS instruction.


Instruction set


Memory reference instructions


Logical operations


Arithmetic operations on accumulators


Shift/rotate instructions


Load and exchange operations


Conditional skips


Clear, complement, increment and set


Overflow bit instructions


Flag bit instructions


Increment and negate


Interrupt instructions


Powerfail logic instructions


Literal instructions


INT and JPS register instructions


Teletype system


High-Speed paper tape


Magnetic cassette tape system


Miscellaneous instructions


References

{{Reflist, 30em


External links


ND812 Brochure

Principles of Programming the ND812 Computer
1971
NUTRAN User and Programmers Guide
November, 1972
Software Instruction Manual BASC-12 General Assembler
January, 1971 Minicomputers 12-bit computers Computer-related introductions in 1970