Intel 4004 Microprocessor


The emulator, assembler and disassembler is written in JavaScript, so they are easy to execute on whatever platform with the internet browser and implemented JavaScript interpreter. The MCS-4 utilities core and GUI are based on the brilliant virtual 6502 emulator by Norbert Landsteiner, e-tradition.net.

This program is provided for free and AS IS, therefore without any warranty.


Heart of the MCS-4 micro computer set is the 4004 CPU. This device has a powerful and versatile instruction set which allows the system to perform a wide variety of arithmetic, control and decision functions. The microprograms stored in the ROM devices give the designer the power of designing custom computers with standard components.

Here are a few examples:

Control Functions - Because of low initial cost and flexibility of programming, the MCS-4 can be used in place of random logic in systems such as those in process control, numeric controls, elevator controls, highway and rail traffic controls. By changing ROM microprograms the whole system can easily be modified and updated.

Computer Peripherals - The system can be conveniently used in peripheral equipment to control displays, keyboards, printers, readers, plotters and to give intelligence to terminals.

Computing Systems - The MCS-4 system is ideally suited for such devices as billing machines, cash registers, point of sale terminals and accounting machines. For example, the adding of two 8-digit numbers can be done in 850 microseconds. In addition, the MCS-4 can be efficiently used to decentralize central computer functions.

Other Applications - The elements of the MCS-4 have many applications within transportation, automotive, medical electronics and test systems, where inexpensive dedicated computers can improve system performance.

Features of the MCS-4
»  4-bit parallel CPU with 45 instructions
»  Decimal and binary arithmetic modes
»  10.8 is instruction cycle
»  Addition of Two 8-digit numbers in 850 usec.
»  Sixteen 4-bit general purpose registers
»  Nesting of subroutines up to 3 levels
»  Instruction Set includes conditional branching, jump to subroutine,
    and indirect fetching
»  2-phase dynamic operation
»  Synchronous operation with memories
»  Direct compatibility with 4001, 4002 and 4003
»  No interface circuitry to memory and I/O required
»  Directly drives up to: 4K by 8 ROM (16 4001's), 1280 by 4 RAM (16 4002's)
    128 I/O lines (without 4003) Unlimited I/O (with 4003's)
»  Memory capacity expandable through bank switching
»  16-pin DIP package
»  P-channel Silicon Gate MOS
»  Minimum system: CPU and one ROM

Each MCS-4 circuit constitues a basic standard building block which allows the design of many different types of systems which can be fabricated using the same parts. The only custom part is the ROM chip which will store a microprogram defined by the user and requires a metal mask option for each new program.

The MCS-4 micro computer set consists of the following 4 chips, each packaged in a 16 pin DIP package:

  (1) A Central Processor Unit Chip - CPU-4004
  (2) A Read Only Memory Chip - ROM-4001
  (3) A Random Access Memory Chip - RAM-4002
  (4) A Shift Register Chip - SR-4003

The CPU contains the control unit and the arithmetic unit of a general purpose microprogrammable computer. The ROM stores microprograms and data tables, the RAM stores data and instructions, and the Shift Register is used in conjunction with I/O devices to effectively increase the number of I/O lines.

The MCS-4 set has been designed for optimum interfaceability; the CPU communicates with the RAM's and ROM's by means of a 4-line data bus (D0, D1, D2, D3). This single data bus is used for all information flow between the chips except for control signals which are sent to RAM and ROM over 5 additional lines. One CPU controls up to 16 ROM's (4K x 8 words), 16 RAM's (1280 x 4 words), and 128 I/O lines without requiring any interface circuit. With the addition of few gates up to 48 ROMS & RAMS combined and 192 I/O lines can be controlled by one CPU.

The I/O function, although different from the ROM and RAM functions, is physically located in the ROM and RAM chips. Each 4001 and 4002 has 4 I/O lines for communication with I/O devices.

4001-ROM - The 4001 is a 2048 Bit metal mask programmable ROM providing custom microprogramming capability for the MCS-4 micro computer set. Each chip is organized as 256 x 8 bit words which can be used for storing programs or data tables. Each chip also has a 4 bit input-output (I/0) port which is used to route information to and from the data bus lines in and out of the system.

4002-RAM - The 4002 performs two functions. As a RAM it stores 320 bits arranged as 4 registers of twenty 4-bit characters each. As a vehicle of communication with peripheral devices, it is provided with 4 output lines and associated control logic to perform output operations.

4003-SR - The 4003 is a 10 bit Serial-in/parallel-out, serial-out shift register. Its function is to increase the number of output lines to interface with I/O devices such as keyboards, displays, printers, teletypewriters, switches, readers, A-D converters, etc.