The SDS 9 Series computers are a
backward compatible
Backward compatibility (sometimes known as backwards compatibility) is a property of an operating system, product, or technology that allows for interoperability with an older legacy system, or with input designed for such a system, especially i ...
line of transistorized computers produced by
Scientific Data Systems
Scientific Data Systems (SDS), was an American computer company founded in September 1961 by Max Palevsky and Robert Beck, veterans of Packard Bell Corporation and Bendix, along with eleven other computer scientists. SDS was an early adopter of i ...
in the 1960s and 1970s. This line includes the SDS 910, SDS 920, SDS 925,
SDS 930
The SDS 930 was a commercial 24-bit computer using bipolar junction transistors sold by Scientific Data Systems.
It was announced in December 1963, with first installations in June 1964.
Description
An SDS 930 system consists of at least three s ...
,
SDS 940, and the SDS 945. The SDS 9300 is an extension of the 9xx architecture. The 1965
SDS 92 is an incompatible 12-bit system built using
monolithic integrated circuits.
The 910 and 920 were first shipped in August, 1962. The 9300 was announced in June, 1963.
The 925 and 930 were announced in 1964.
The 940 was announced in 1965, and the 945 in 1968.
The 9 series was replaced by the
SDS Sigma series
The SDS Sigma series is a series of third generation computers that were introduced by Scientific Data Systems of the United States in 1966.
The first machines in the series are the 16-bit Sigma 2 and the 32-bit Sigma 7; the Sigma 7 was the first ...
.
General description
All systems are
24-bit
Notable 24-bit machines include the CDC 924 – a 24-bit version of the CDC 1604, CDC lower 3000 series, SDS 930 and SDS 940, the ICT 1900 series, the Elliott 4100 series, and the Datacraft minicomputers/Harris H series.
The term SWORD is ...
single address machines. Programmer-accessible registers are A (accumulator), B (extension), X (index), and P (program counter—14 bits), plus an overflow indicator. The 9300 has three index registers X1 through X3 which can be used as
base registers to allow access to memory above 16K words. The W and Y registers are used for input/output.
Maximum address space is 2
14 or 16,384 words (16 KW—64 K char) on the 910 and 920. The 9300 and 930 support up to 32K (128 K char), and the 940 and 945 support up to 64K (256 K char), although the method for accessing the memory above 16K differs.
Data formats
Fixed point data is 24-bits,
two's complement
Two's complement is a mathematical operation to reversibly convert a positive binary number into a negative binary number with equivalent (but negative) value, using the binary digit with the greatest place value (the leftmost bit in big- endian ...
,
big-endian
In computing, endianness, also known as byte sex, is the order or sequence of bytes of a word of digital data in computer memory. Endianness is primarily expressed as big-endian (BE) or little-endian (LE). A big-endian system stores the most sig ...
.
Floating point
In computing, floating-point arithmetic (FP) is arithmetic that represents real numbers approximately, using an integer with a fixed precision, called the significand, scaled by an integer exponent of a fixed base. For example, 12.345 can be ...
is implemented in software using "programmed operators", except on the SDS 9300 which has hardware floating point. All floating point numbers are stored as 48-bit double words. Single precision has a 24-bit signed fraction and a 9-bit signed exponent, double precision has a 39-bit fraction and a 9-bit exponent. Both the exponent and the fraction are stored in big-endian twos-complement format. The binary point is assumed to be immediately left of the high-order bit of the fraction. The value of the number is
F*2E
, where
F is the fraction and
E is the exponent.
The floating point formats are:
Double precision floating point
+-+-----------------------+
, ±, Fraction , high-order word
+-+-----------+-+---------+
, frac(cont) , ±, exponent , low-order word
+-------------+-+---------+
bit 0 1 2
5 3
High-order word:
bit 0 fraction sign
bits 1-23 high-order part of fraction
Low-order word:
bits 0-14 low-order part of fraction
bit 15 exponent sign
bits 16-23 exponent
Single precision floating point
+-+-----------------------+
, ±, Fraction , high-order word
+-+-----------+-+---------+
, not used , ±, exponent , low-order word
+-------------+-+---------+
bit 0 1 2
5 3
The format is the same as double precision except that only 24 bits of fraction are used.
Address generation
For address generation,
indexing, if specified, is performed before
indirection
In computer programming, indirection (also called dereferencing) is the ability to reference something using a name, reference, or container instead of the value itself. The most common form of indirection is the act of manipulating a value throug ...
. The word at the effective indirect address is decoded as if it were an instruction (except that the instruction code is ignored), allowing an indirect address to also specify indirection or indexing. Multiple levels of indirect addressing are allowed.
Programmed operators
The ''programmed operator'' facility allows the instruction code field to indicate a call to a vector of subroutine addresses. The six bit instruction code allows up to 64 programmed operators (octal 00 through 77). If the ''P'' bit is set, an instruction code of xx is treated as a call to location 1xx (octal). The location of the POP instruction is saved in location zero. Bit zero of location zero is set to the current value of the overflow indicator and the indicator is reset. Bit 9 of location zero is set to '1'b to indicate an indirect address, allowing the programmed operator routine to indirectly access the data specified in the address of the POP instruction.
SDS 910
Main memory
Computer 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 processing unit (CPU) of a computer ...
on the 910 is 2048 to 16384 words of
magnetic-core memory
Magnetic-core memory was the predominant form of random access, random-access computer memory for 20 years between about 1955 and 1975.
Such memory is often just called core memory, or, informally, core.
Core memory uses toroids (rings) of a ...
with a cycle time of 8 μs. A fixed-point add instruction takes 16 μs, a fixed-point multiply takes 248 μs. Two hardware
interrupt
In digital computers, an interrupt (sometimes referred to as a trap) is a request for the processor to ''interrupt'' currently executing code (when permitted), so that the event can be processed in a timely manner. If the request is accepted, ...
s are standard with up to 896 more optional.
The instruction format for the 910 and 920 systems is as follows:
+-+-+-+------+-+--------------+
, 0, X, P, Opcode, I, Address ,
+-+-+-+------+-+--------------+
1 2
bit 0 1 2 3 8 9 0 3
Bits 0-2 are called the "tag"
Bit 0 is always zero.
Bit 1 '1'b indicates that the operand address is to be indexed.
Bit 2 '1'b indicates that this instruction
is a programmed operator (POP).
Bits 3-8 is the instruction code or programmed-operator id.
Bit 9 '1'b indicates that the operand address shall be indirected
(indexing preceding indirecting), potentially recursively.
Bits 10-23 Contain the operand address.
The SDS 910 weighed about .
SDS 920
Main memory on the 920 is 4096 to 16384 words of magnetic core memory. The fixed-point add time is the same as the 910 (16 μs), but the fixed-point multiply is roughly twice as fast at 128 μs. The 920 can have up to 1024 priority interrupts.
The 920 weighed about .
SDS 930
The 930 offers a "memory extension system" that allows addressing more than 16284 words. Two 3-bit "Extend Memory Registers", called EM2 and EM3, are provided which can be loaded with a value to be used as the high-order three bits of the effective address. Addresses 00000
8–17777
8 (the first 8192 words of memory) are always unmodified. If the high-order octal digit of the address in the instruction is two the contents of EM2 replaces the high-order digit in the effective address; when the digit is three the contents of EM3 are used.
To retain compatibility with earlier models. when the computer is started the value in EM2 is set to 2 and EM3 to 3, allowing programs to address the first 16384 words of memory. These registers can be loaded by the program.
The program loader uses the high-order bit of the instruction, ignored by all models, as a flag indicating that the instruction currently being loaded is to be relocated.
930 memory has a cycle time of 1.75 μs. A fixed-point add takes 3.5 μs, and a fixed-point multiply 7.0 μs. The priority interrupt system allows 2–38 input/output interrupts and up to 896 system interrupts.
The instruction format for the 930 system is compatible with prior systems except for the bits used for extended memory:
+-+-+-+------+-+--+----------+
, 0, X, P, Opcode, I, EM, Address ,
+-+-+-+------+-+--+----------+
bit 0 1 2 3 3 9 11 1 2
01 2 3
Bits 10 and 11 specify either no extended memory
(EM='00'b—references first 8K words of memory)
or prepend the contents of
EM2 (EM='10'b) or
EM3 (EM='11'b)
to form the effective address.
SDS 940
The 940 adds modes of operation to support multiple users. The operating mode of previous models is renamed ''normal mode''. A new ''monitor mode'' limits access to input/output and certain privileged instructions. A ''user mode'' is used to run users' application programs.
A set of memory map registers is used to map virtual addresses to physical. There are eight memory map registers, each mapping 2K words, to provide an address space of 16K.
The instruction format for normal mode is the same as for the 930. Addressing differs between user mode and monitor mode.
SDS 940 user mode instruction format:
+-+-+-+------+-+---+---------+
, U, X, P, Opcode, I, Blk, Address ,
+-+-+-+------+-+---+---------+
bit 0 1 2 3 3 9 1 1 2
0 3 3
Bit 0 is ignored in user mode unless bit position 2 (P)
indicates that this is a programmed operator.
In this case a '1'b in bit position 0 indicates that this is a "system POP", or "SYSPOP", instead of a standard programmed operator.
In user mode bit positions 10–12 "constitute a virtual memory block number", that is specify a memory map register, and bits 13–23 "specify a location within the virtual memory block."
The contents of the memory map register are prepended to instruction bits 13–23 to form the effective address.
Memory map
The 940 accesses memory through a memory map
[The use of memory map registers was carried forward to the 32-bit Sigma computers.] to provide
virtual memory
In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very l ...
. The map formats differ slightly between a ''user memory map'' and a ''monitor memory map''.
For programs running in user mode, the high-order three bits of the address field of an instruction serve as an index to an array of eight registers (R0-R7).
[Physically the memory map is contained in two 24-bit registers RL1 and RL2, each of which is set and cleared as a unit.] Each register contains a 5-bit value (
Rn) which is prepended to the low-order 11 bits of the instruction address field to form the 16-bit physical address. This divides virtual memory logically into eight ''blocks'' of 2048 words each. The registers allow access to 16K words at any one time out of a possible 32K words of physical memory. A sixth bit (
Pn) in each register indicates a read-only block of storage.
Rn=0 and
Pn=1 indicates an unassigned block, and any reference causes a
trap
A trap is a mechanical device used to capture or restrain an animal for purposes such as hunting, pest control, or ecological research.
Trap or TRAP may also refer to:
Art and entertainment Films and television
* ''Trap'' (2015 film), Fil ...
. The map registers can only be set in monitor mode.
The memory map for monitor mode is similar. There are no
P bits; the
R0–R5 equivalents, called
M0–M5, contain the read-only values 0–5, providing direct access to physical addresses 0–8K-1 (00000–17777
8). For addresses in the range 8K–12K-1 (20000–27777
8) memory extension register
EM2 is used to form the physical address as it is in normal mode. For addresses 12K–16K-1 (30000–37777
8) the contents of memory map registers
M6 and
M7 are used to form the address.
The monitor can use either the monitor memory map or the user memory map, determined by the value of bit 0 of the instruction. This allows the monitor access to the user's address space.
System programmed operators
In user mode, programmed operators function the same as normal mode, accessing the user's virtual locations 100-177
8. The 940 also includes a facility to execute ''System Programmed operators (SYSPOPS)'', used to call monitor services. When a SYSPOP is encountered in user mode (instruction bits 0 and 2 are '1'b), the computer first enters monitor mode and then accesses the vector of instructions at ''the monitor's'' (physical) 100-177
8.
SDS 945
The 945 is an upgrade of the 940 time-sharing system. It was advertised as being able to "support up to 24 simultaneous users and up to 64 authorized users."
MAGPAK
The MAGPAK 9446 tape drive subsystem and associated 9401 tape cartridge
was developed by SDS for the SDS 900 series and announced in May 1964 Each tape drive unit consists of two independently controlled magnetic tape drives mounted on a standard 10½-inch by 19-inch panel.
Data are recorded at 7.5 inches per second and 1,400 bits per inch.
The 9448 Tape Control Unit connects the tape drive unit to any Series 900 system.
The tape cartridge contains approximately 600 feet of Mylar tape with two independent tracks each holding approximately 1.5 million IBM characters (6 bits plus parity) yielding a capacity of approximately 4 million six bit characters per cartridge.
Software
The primary operating system for the line, excluding the 940 and 945, is the MONARCH operating system. MONARCH is a single-task
batch
Batch may refer to:
Food and drink
* Batch (alcohol), an alcoholic fruit beverage
* Batch loaf, a type of bread popular in Ireland
* A dialect term for a bread roll used in North Warwickshire, Nuneaton and Coventry, as well as on the Wirra ...
operating system. Originally resident on
magnetic tape
Magnetic tape is a medium for magnetic storage made of a thin, magnetizable coating on a long, narrow strip of plastic film. It was developed in Germany in 1928, based on the earlier magnetic wire recording from Denmark. Devices that use magne ...
, later versions can reside on a head-per-track
magnetic disk
Magnetic storage or magnetic recording is the storage of data on a magnetized medium. Magnetic storage uses different patterns of magnetisation in a magnetizable material to store data and is a form of non-volatile memory. The information is ac ...
called a ''RAD'' (Rapid Access Data) File. MONARCH is not an ''executive system'', since application programs have control of all the resources of the computer when running. Instead it is a ''monitor'', providing job-to-job transition and supporting services to applications.
Other standard system routines that are included in the monitor are:
* The MONARCH Loader
* The MONARCH update routine
* Standard input/output subroutines
* The
Meta-Symbol assembler
*
FORTRAN II compiler
By 1969 an
ALGOL 60
ALGOL 60 (short for ''Algorithmic Language 1960'') is a member of the ALGOL family of computer programming languages. It followed on from ALGOL 58 which had introduced code blocks and the begin and end pairs for delimiting them, representing a k ...
compiler was available.
Notes
References
{{Reflist
External links
Reference manual for SDS 910Reference manual for SDS 920Reference manual for SDS 925Reference manual for SDS 930Reference manual for SDS 940Reference manual for SDS 9300
Scientific Data Systems computers
Transistorized computers
Time-sharing
24-bit computers