Signetics 8X300

SMS 300 - Early 1976
SMS 300 Back Side showing separate power regulator
Signetics N8X300I - Early 1978
Signetics N8X300I-1981
Die of Signetics 8X300
Die of Signetics 8X305

The 8X300 is a microprocessor produced and marketed by Signetics starting 1976 as a second source for the SMS 300 by Scientific Micro Systems, Inc.[1][2][3]

Although SMS developed the SMS 300 / 8X300 products, Signetics was the sole manufacturer of this product line. In 1978 Signetics purchased the rights to the SMS300 series and renamed the SMS300 to 8X300

It was designed to be a fast microcontroller and signal processor, and because of this differs considerably from conventional NMOS logic microprocessors of the time. Perhaps the major difference was that it was implemented with bipolar Schottky transistor technology, and could fetch, decode and execute an instruction in only 250 ns. Data could be input from one device, modified, and output to another device during one instruction cycle.

In 1982, Signetics released an improved and faster version, the 8X305. This processor went on to become very popular in military applications and was second-sourced by Advanced Micro Devices as the AM29X305. Eventually, production rights were sold to Lansdale Semiconductor Inc., who was still offering the 8X305 as of 2016.

Architecture

The device was supplied in a 50-pin DIL ceramic package, and ran from a single 5V supply rail. An external pass transistor was required to complete an on-chip voltage regulator, which supplied 3V to selected areas of the chip. This helped to maintain the total current drain of the chip to less than 450mA.

Clock requirements were met by connecting an 8 MHz crystal directly to two pins. Alternatively, out of phase signals from an external clock generator could be used.

A second unique feature is a dedicated 13 bit address and 16 bit databus to access program memory, allowing 8192 16-bit program words to be directly addressed. This allowed ROM / PROM program memories to be directly connected without further hardware. A second combined 8-bit address/data bus- the interface vector (IV) bus, was used for data and I/O. Two control signals - WC (write command) and SC (select command) determined the state of the IV bus as follows:

A further two signals; LB (left bank select) and RB (right bank select) effectively doubled the IV bus address space, and were most often used to switch between RAM memory in one bank and I/O ports in the other.

Another unusual feature was that rather than execute mask, rotate, shift and merge instructions in the arithmetic logic unit (ALU), as is the case with most microprocessors, the 8X300 had separate mask, rotate, shift and merge units. Data could therefore be rotated, masked, modified, shifted and merged (in that order), all in one instruction cycle.

Instruction set

The processor normally manipulates 8-bit data bytes, but the mask unit makes it possible to manipulate single or multiple bits, making this a variable data-length processor. Internal data is stored in 8-bit read/write registers—R1 through R6,R9, and an auxiliary register (R0). The auxiliary register holds one of the operands used in two-operand instructions, such as ADD or AND, and a single-bit (read only) overflow register (R8) stores the carry-over bit from add operations. Two virtual write only registers IVL (R7) and IVR (R15) are used to put an address on the IV bus, and two sets of eight virtual registers (R16-R23 and R24-R31) are used to transfer data to or from the IV bus. In the latter case, the upper two bits of the register number select the left or right bank, and the lower three bits define the number of places the data is to be rotated. An 8-bit IV-bus buffer retains a copy of the last data to be transferred to or from the IV-bus. This data is used in Merge operations.

The three most significant bits of the instruction define the opcode, and divide the instructions into 8 classes:

The use of the remaining 13 bits of the instruction depends on the opcode:

Shift, rotate, mask and merge

The rotate and mask units are located between the register bank and the ALU. Therefore, all data can, in principle, be rotated and masked before it enters the ALU.

The Shift and Merge units are located between the ALU and the IV-bus, and any data sent to IV-bus can therefore be shifted and merged before being output.

Note: a count of zero for the number of bits to merge will result in all 8 bits being replaced.

The following combinations are possible, depending on the source and destination:

I/O

Transferring data to and from the 8X300 is a two-step process:

Because the I/O address is output separately, the I/O ports must hold (latch) the selection. This can be done with separate address decoders and latches, or with an I/O port with integrated address decoding and latching, such as the 8X32. Because of the latching, I/O ports, once addressed, remain active until a different address is output, and can be accessed multiple times without the need to address them again. Two I/O ports (or RAM addresses) can be active at the same time, using the bank select signals to rapidly switch between them without further addressing.

Applications

In an extensive application note Signetics showed how to use the 8X300 as a floppy disk controller. A revised application note showed the use of the 8X300 together with the 8X330. Other application notes described:

A demonstration system (contained in a briefcase) and application note showed the 8X300 being used in a traffic-light controller

Support devices

References

  1. 8X300 Design Guide, Signetics Corporation November 1980, DSPG document 80-102
  2. Fast 8-bit bipolar microprocessor, David Edwards, ELECTRONICS Australia, March 1978
  3. Signetics /SMS 300 Pact, Microcomputer Digest vol. 2, No. 11, May 1976

External links

This article is issued from Wikipedia - version of the 10/28/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.