# AMD Am2900

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. This requires more ICs to implement than what could be done on a single CPU IC, but at the time, the TTL Am2900 chips ran at 20–40Mhz, which was much faster than the 2–3Mhz CMOS/NMOS microprocessors of the era such as the Intel 8085. 8085 emulators were implemented around two Am2900 chips which ran 5 to 10 times faster than the 8085-based designs they replaced.
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.
The 2901 and some other chips in the family were second sourced by an unusually large number of other manufacturers, starting with Motorola and then Raytheon – both in 1975 – and also Cypress Semiconductor, National Semiconductor, NEC, Thomson, and Signetics. In the Soviet Union and later Russia the Am2900 family was manufactured as the 1804 series (with e.g. the Am2901 designated as KR1804VS1 / Russian: КР1804ВС1) which was known to be in production in 2016.

## Computers made with Am2900-family chips

There are probably many more, but here are some known machines using these parts:
* The Apollo Computer Tern family: DN460, DN660 and DSP160. All used the same system board emulating the Motorola 68010 instruction set.
* The Itek Advanced Technology Airborne Computer (ATAC) used on the Galileo Attitude and Articulation Control Computer System and some Navy aircraft had a 16-register, 16-bit word width assembled from 4-bit-wide 2900 series processors. Four special instructions were added to the Galileo version of the ATAC, and later some chips were replaced with radiation-hardened 2901 chips.
* Data General Nova 4, which obtained 16-bit word width using four Am2901 ALUs in parallel. The floating point board has 15 Am2901 ALUs on it.
* Digital Equipment Corporation (DEC) PDP-11 models PDP-11/34 FP11-A and PDP-11/44 FP11-F floating-point options.
* The DEC VAX 11/730, which used eight Am2901s in the CPU.
* Hewlett-Packard 1000 A-series model A600 used four Am2901 ALUs for its 16-bit processor
* The Xerox Dandelion, the machine used in the Xerox Star and Xerox 1108 Lisp machine.
* Several models of the GEC 4000 series minicomputers: 4060, 4150, 4160 (four Am2901 each, 16-bit ALU), and 4090 and all 418x and 419x systems (eighteen Am2901 each, 32-bit integer ALU or 8-bit exponent, 64-bit Double Precision floating point ALU).
* The DEC KS10 PDP-10 model.
* The UCSD Pascal P-machine processor designed at NCR by Joel McCormack.
* A number of MAI Basic Four machines.
* The Tektronix 4052 graphics system computer.
* The SM-1420, Soviet clone of PDP-11, used Soviet clone of Am2901 (4 ICs in the CPU and 16 ICs in the FPU) perhaps also used in others.
* The Lilith computer designed at ETH Zürich by Niklaus Wirth.
* Atari's vector graphics arcade machines Battlezone and Red Baron both used four Am2901 ICs in their "math box" auxiliary circuit boards. Tempest had no "math box."
* Atari's raster graphics arcade machine I, Robot, the first commercial game featuring filled polygons, included a math processor built around four Am2901 chips.
* Pixar Image Computer, 4 Channel Processors each with 4 Am2900's
* Eventide H949 Harmonizer; four Am2901 chips (and several microcode PROMs) are used to generate addresses and generate reference voltages for the DAC system – audio was not processed in the 2901 ALU section.
* Many Siemens Teleperm and S5 PLCs used for industrial control were built using the 2900 series.
* The AT&T 3B20D used eight Am2901's in its ALU.
* Geac Computer Corporation 2000, 6000, 8000, and 9000 were all based on 4 x Am2901 chips. The GEAC 9500 was based on the Am29101. The GEAC 2000 was used in pharmacies. The other models were used in library, banking, and insurance automation. The 2000 was a single processor unit. The 6000 and 8000 contained four processors, each dedicated to one of comms, disk, tape, or program processing. The 8000 had local processor memory whereas the 6000 did not. The 9000 and 9500 were AMP systems with up to 8 CPU modules.
* Later iterations of the Ferranti Argus 700 e.g. the 700F and 700G, used Am2901 devices, as did as some of the A700 peripheral channel controllers for e.g. hard and floppy disc drives
* The High Level Hardware Limited Orion, a user-microcodable minicomputer running Unix.
* The 168/E, developed in the late 1970s at the SLAC National Accelerator Laboratory to execute a subset of the IBM 360/370 instructions.
* Warrex Centurion, an 8-bit minicomputer built by Warrex Computer Corporation (later just Centurion), a Texas based company from the late 1970s to the 1980s. The Am2909 and Am2911 microprogram sequencers and the Am2901 ALU were used in the CPU6 variant.
* The PerkinElmer Computer Systems Division utilized Am2900 devices in the ALU of their 3200 series supermini computers.
* The second-generation 16-bit CPU of the NCR I-8250 family of accounting-computers, which replaced the earlier 605-model 4-board CPU that used discrete 7400-series TTL chips.

## Members of the Am2900 family

The Am2900 Family Data Book lists:
* Am2901 – 4-bit bit-slice ALU and processor register set (1975)
* Am2902 – Look-Ahead Carry Generator
* Am2903 – 4-bit-slice ALU, with hardware multiply
* Am2904 – Status and Shift Control Unit
* Am2905 – Bus Transceiver
* Am2906 – Bus Transceiver with Parity
* Am2907 – Bus Transceiver with Parity
* Am2908 – Bus Transceiver with Parity
* Am2909 – 4-bit-slice address sequencer
* Am2910 – Microprogram Controller
* Am2911 – 4-bit-slice address sequencer
* Am2912 – Bus Transceiver
* Am2913 – Priority Interrupt Expander
* Am2914 – Priority Interrupt Controller
* Am2915 – Quad 3-State Bus Transceiver
* Am2916 – Quad 3-State Bus Transceiver
* Am2917 – Quad 3-State Bus Transceiver
* Am2918 – Instruction Register, Quad D Register
* Am2919 – Instruction Register, Quad Register
* Am2920 – Octal D-Type Flip-Flop
* Am2921 – 1-to-8 Decoder
* Am2922 – 8-Input Multiplexer (MUX)
* Am2923 – 8-Input MUX
* Am2924 – 3-Line to 8-Line Decoder
* Am2925 – System Clock Generator and Driver
* Am2926 – Schottky 3-State Quad Bus Driver
* Am2927/Am2928 – Quad 3-State Bus Transceiver
* Am2929 – Schottky 3-State Quad Bus Driver
* Am2930 – Main Memory Program Control
* Am2932 – Main Memory Program Control
* Am2940 – Direct Memory Addressing (DMA) Generator
* Am2942 – Programmable Timer/Counter/DMA Generator
* Am2946/Am2947 – Octal 3-State Bidirectional Bus Transceiver
* Am2948/Am2949 – Octal 3-State Bidirectional Bus Transceiver
* Am2950/Am2951 – 8-bit Bidirectional I/O Ports
* Am2954/Am2955 – Octal Registers
* Am2956/Am2957 – Octal Latches
* Am2958/Am2959 – Octal Buffers/Line Drivers/Line Receivers
* Am2960 – Cascadable 16-bit Error Detection and Correction Unit
* Am2961/Am2962 – 4-bit Error Correction Multiple Bus Buffers
* Am2964 – Dynamic Memory Controller
* Am2965/Am2966 – Octal Dynamic Memory Driver
Many of these chips also have 7400 series numbers such as the 74F2960 / Am2960.