General information | |
---|---|
Launched | 1976 |
Designed by | Scientific Micro Systems (SMS) |
Common manufacturer |
|
Performance | |
Max. CPU clock rate | to 8 MHz |
Data width | 16 instruction, 8 data |
Address width | 13 instruction, 1 data |
Architecture and classification | |
Number of instructions | 8 |
Physical specifications | |
Package |
|
History | |
Successor | 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] [4] Although SMS developed the SMS 300, Signetics was the sole manufacturer of this product line. In 1978 Signetics purchased the rights to the SMS 300 series and renamed it 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 2017. [5] A clone of the 8X300 was manufactured in the Soviet Union under the designation KM1818VM01 (Russian : КМ1818ВМ01). [4]
The device was supplied in a 50-pin DIL ceramic package and runs from a single 5V supply rail. An external pass transistor is required to complete an on-chip voltage regulator, which supplies 3V to selected areas of the chip. This helps contain the total current drain to less than 450mA.
Clock requirements are met by connecting an 8 MHz crystal directly to two pins. Alternatively, out of phase signals from an external clock generator can be used.
A second unique feature is a dedicated 13-bit address and 16-bit data bus to access program memory, allowing 8192 16-bit program words to be directly addressed. This allows ROM / PROM program memories to be directly connected without further hardware. A second combined 8-bit address/data bus, the Interface Vector (IV) bus, is used for data and I/O. Two control signals, WC (write command) and SC (select command), determine the state of the IV bus as follows:
A further two signals, LB (left bank select) and RB (right bank select), effectively double 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 is 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 has separate mask, rotate, shift and merge units. Data can therefore be rotated, masked, modified, shifted and merged (in that order), all in one instruction cycle.
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 eight classes:
MOVE
instruction allows the contents of selected registers to be copied, placed on the IV bus, read from the IV bus, or transferred IV bus to IV bus.ADD
, AND
and XOR
classes are similar, except that with these instructions the contents of the auxiliary register are combined with the source register before the MOVE
part of the instruction is executed.XEC
instruction allows a selected instruction at a different local address and offset to be executed without incrementing the program counter.NZT
instruction allows a conditional branch to be implemented.XMIT
instruction allows an 8-bit binary pattern specified in the instruction to be placed in a specified register or on the IV bus. It is similar to a load-immediate instruction.JMP
instruction performs an unconditional branch to anywhere within the 8192 word program memory.The use of the remaining 13 bits of the instruction depends on the opcode:
MOVE
, AND
, ADD
and XOR
instructions: 5 bits are used to define the source register, 3 bits are used to define any rotate or mask operation (the R/L field), and the remaining 5 bits define the destination register.XEC
and NZT
: 5 bits are used to define the source register, the remaining 8 bits define the address field. XEC
: the contents of the source register are first added to the address field, which is then used as the lower 8 bits of the program address.NZT
: the jump is taken if the source register is non-zero. If the jump is taken, the address field is used as the lower 8 bits of the program address.XMIT
: 5 bits are used to define the destination register, the remaining 8 bits define the data.JMP
: all 13 bits are used as an absolute address in program memory.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:
MOVE
, ADD
, AND
and XOR
instructions: XEC
and NZT
: XMIT
Transferring data to and from the 8X300 is a two-step process:
MOVE
, ADD
, AND
, XOR
or XMT
instructions and specifying one of the virtual registers IVL (left bank) or IVR (right bank) as the destination, an address is output on the IV bus, along with Select Command and Bank Select signals. This may have to be repeated if both banks are used.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.
JMP
and specifying one of the registers R16–R31 as the source and/or destination. The register chosen defines which Bank Select signal accompanies the transfer.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.
Olivetti used the 8X300 and later 8X305 as the controller for the ST506 hard disk in the M20 personal computer series.
Convergent Technologies used the 8X300, 8X320, and 8X330 in their AWS hard disk controller in 1981. [6]
Western Digital used the 8X300 in their WD1000 ST506 hard disk controller and the 8X305 in their WD1001 ECC hard disk controller. [7]
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.
The PDP-8 is a family of 12-bit minicomputers that was produced by Digital Equipment Corporation (DEC). It was the first commercially successful minicomputer, with over 50,000 units being sold over the model's lifetime. Its basic design follows the pioneering LINC but has a smaller instruction set, which is an expanded version of the PDP-5 instruction set. Similar machines from DEC are the PDP-12 which is a modernized version of the PDP-8 and LINC concepts, and the PDP-14 industrial controller system.
The Zilog Z80 is an 8-bit microprocessor designed by Zilog that played an important role in the evolution of early computing. Software-compatible with the Intel 8080, it offered a compelling alternative due to its better integration and increased performance. The Z80 boasted fourteen registers compared to the 8080's seven, along with additional instructions for bit manipulation, making it a more powerful chip.
The Intel MCS-51 is a single chip microcontroller (MCU) series developed by Intel in 1980 for use in embedded systems. The architect of the Intel MCS-51 instruction set was John H. Wharton. Intel's original versions were popular in the 1980s and early 1990s, and enhanced binary compatible derivatives remain popular today. It is a complex instruction set computer, but also has some of the features of RISC architectures, such as a large register set and register windows, and has separate memory spaces for program instructions and data.
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.
The Intel 4040 ("forty-forty") is the second 4-bit microprocessor designed and manufactured by Intel. Introduced in 1974 as a successor to the Intel 4004, the 4040 was produced with a 10 μm process and includes silicon gate enhancement-load PMOS logic technology. The 4040 contained 3,000 transistors and could execute approximately 62,000 instructions per second.
Bank switching is a technique used in computer design to increase the amount of usable memory beyond the amount directly addressable by the processor instructions. It can be used to configure a system differently at different times; for example, a ROM required to start a system from diskette could be switched out when no longer needed. In video game systems, bank switching allowed larger games to be developed for play on existing consoles.
The Emotion Engine is a central processing unit developed and manufactured by Sony Computer Entertainment and Toshiba for use in the PlayStation 2 video game console. It was also used in early PlayStation 3 models sold in Japan and North America to provide PlayStation 2 game support. Mass production of the Emotion Engine began in 1999 and ended in late 2012 with the discontinuation of the PlayStation 2.
The Fairchild F8 is an 8-bit microprocessor system from Fairchild Semiconductor, announced in 1974 and shipped in 1975. The original processor family included four main 40-pin integrated circuits (ICs); the 3850 CPU which was the arithmetic logic unit, the 3851 Program Storage Unit (PSU) which contained 1 KB of program ROM and handled instruction decoding, and the optional 3852 Dynamic Memory Interface (DMI) or 3853 Static Memory Interface (SMI) to control additional RAM or ROM holding the user programs or data. The 3854 DMA was another optional system that added direct memory access into the RAM controlled by the 3852.
The Intel 8061 microcontroller is most notable for its use in the Ford EEC-IV automotive engine control unit. A close relative of the 8096, the Intel 8061 is second-sourced by Toshiba and Motorola.
The Signetics 2650 was an 8-bit microprocessor introduced in July 1975. According to Adam Osborne's book An Introduction to Microprocessors Vol 2: Some Real Products, it was "the most minicomputer-like" of the microprocessors available at the time. A combination of missing features and odd memory access limited its appeal, and the system saw little use in the market.
The TI-990 was a series of 16-bit minicomputers sold by Texas Instruments (TI) in the 1970s and 1980s. The TI-990 was a replacement for TI's earlier minicomputer systems, the TI-960 and the TI-980. It had several unique features, and was easier to program than its predecessors.
TLCS is a prefix applied to microcontrollers made by Toshiba. The product line includes multiple families of CISC and RISC architectures. Individual components generally have a part number beginning with "TMP". E.g. the TMP8048AP is a member of the TLCS-48 family.
The CP1600 is a 16-bit microprocessor created in a partnership between General Instrument and Honeywell, introduced in February 1975. It is one of the first single-chip 16-bit processors. The overall design bears a strong resemblance to the PDP-11.
National Semiconductor's IPC-16A PACE, short for "Processing and Control Element", was the first commercial single-chip 16-bit microprocessor, announced in late 1974. It was a single-chip implementation of their early 1973 five-chip IMP-16 architecture, which in turn had been inspired by the Data General Nova minicomputer. To the basic IMP-16, PACE added a new operational mode, "byte mode", which was useful for working with 8-bit data like ASCII text.
The PDP-11 architecture is a 16-bit CISC instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). It is implemented by central processing units (CPUs) and microprocessors used in PDP-11 minicomputers. It was in wide use during the 1970s, but was eventually overshadowed by the more powerful VAX architecture in the 1980s.
ARGUS, an acronym for Automatic Routine Generating and Updating System, was an Assembly Language devised in the late 1950s by Honeywell for their Honeywell 800 and 1800 computers.
The IBM System/360 architecture is the model independent architecture for the entire S/360 line of mainframe computers, including but not limited to the instruction set architecture. The elements of the architecture are documented in the IBM System/360 Principles of Operation and the IBM System/360 I/O Interface Channel to Control Unit Original Equipment Manufacturers' Information manuals.
The PIC instruction set refers to the set of instructions that Microchip Technology PIC or dsPIC microcontroller supports. The instructions are usually programmed into the Flash memory of the processor, and automatically executed by the microcontroller on startup.