Template:Short description Template:Use dmy dates Template:Computer architecture bit widths
4-bit computing is the use of computer architectures in which integers and other data units are 4 bits wide. 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of that size. A group of four bits is also called a nibble and has 24 = 16 possible values, with a range of 0 to 15.
4-bit computation is obsolete, i.e. CPUs supporting 4-bit as the maximum size. However, 4-bit integers (or smaller), and 4-bit floating point is gaining ground for AI, large-language models.<ref>Template:Cite conference</ref>
4-bit processors were widely used in electronic calculators and other roles where decimal math was used, like electronic cash registers, microwave oven timers, and so forth. This is because a 4-bit value holds a single binary-coded decimal (BCD) digit, making it a natural size for directly processing decimal values. As a 4-bit value is generally too small to hold a memory address for real-world programs or data, the address bus of these systems was generally larger. For instance, the canonical 4-bit microprocessor, the Intel 4004, had a 12-bit address format.
4-bit designs were used only for a short period when integrated circuits were still expensive, and were found primarily in cost-sensitive roles. While 4-bit computing is mostly obsolete, 4-bit values are still used in the same decimal-centric roles they were developed for, and modern implementations are generally much wider and process multiple 4-bit values in parallel. An example of such a system is the HP Saturn design of the 1980s. By the 1990s, most such uses had been replaced by general purpose binary designs.
HistoryEdit
A 4-bit processor may seem limited, but it is a good match for calculators, where each decimal digit fits into four bits.<ref name="Shirriff_TMS1000" />
Some of the first microprocessors had a 4-bit word length and were developed around 1970. The first commercial microprocessor was the binary-coded decimal (BCD-based) Intel 4004,<ref name="Mack_2005" /><ref name="Hofstra_History" /> developed for calculator applications in 1971; it had a 4-bit word length, but had 8-bit instructions and 12-bit addresses. It was succeeded by the Intel 4040, which added interrupt support and a variety of other new features.
The first commercial single-chip computer was the 4-bit Texas Instruments TMS 1000 (1974).<ref name="Shirriff_TMS1000">{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> It contained a 4-bit CPU with a Harvard architecture and 8-bit-wide instructions, an on-chip instruction ROM, and an on-chip data RAM with 4-bit words.<ref name="TI_1976_TMS1000" />
The Rockwell PPS-4 was another early 4-bit processor, introduced in 1972, which had a long lifetime in handheld games and similar roles. It was steadily improved and by 1975 been combined with several support chips to make a one-chip computer.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
The 4-bit processors were programmed in assembly language or Forth, e.g. "MARC4 Family of 4 bit Forth CPU"<ref name="UT_Forth" /> (which is now discontinued) because of the extreme size constraint on programs and because common programming languages (for microcontrollers, 8-bit and larger), such as the C programming language, do not support 4-bit data types (C, and C++, and more languages require that the size of the char
data type be at least 8 bits,<ref name="ISOIEC9899_1999_1" /> and that all data types other than bitfields have a size that is a multiple of the character size<ref name="ISOIEC9899_1999_2" /><ref name="Cline" /><ref name="CPP" />).
The 1970s saw the emergence of 4-bit software applications for mass markets like pocket calculators. During the 1980s, 4-bit microprocessors were used in handheld electronic games to keep costs low.
In the 1970s and 1980s, a number of research and commercial computers used bit slicing, in which the CPU's arithmetic logic unit (ALU) was built from multiple 4-bit-wide sections, each section including a chip such as an Am2901 or 74181.
The Zilog Z80 (discontinued in 2024), although it is an 8-bit microprocessor, has a 4-bit ALU.<ref name="Shima_Z80" /><ref name="Shirriff_Z80" />
Although the Data General Nova is a series of 16-bit minicomputers, the original Nova and the Nova 1200 internally processed numbers 4 bits at a time with a 4-bit ALU,<ref>Template:Cite interview</ref> sometimes called "nybble-serial".<ref>"Nova 1200"</ref>
The HP Saturn processors, used in many Hewlett-Packard calculators between 1984 and 2003 (including the HP 48 series of scientific calculators) are "4-bit" (or hybrid 64-/4-bit) machines; as the Intel 4004 did, they string multiple 4-bit words together, e.g. to form a 20-bit memory address, and most of the registers are 64 bits wide, storing 16 4-bit digits.<ref name="HPM_Saturn" /><ref name="Grack_Saturn" /><ref name="HPCalc_Saturn" />
In addition, some early calculatorsTemplate:Snd such as the 1967 Casio AL-1000, the 1972 Sinclair Executive, and the aforementioned 1984 HP SaturnTemplate:Snd had 4-bit datapaths that accessed their registers 4 bits (one BCD digit) at a time.<ref>"Desk Electronic Calculators: Casio AL-1000"</ref>
UsesEdit
One bicycle computer specifies that it uses a "4 bit, 1-chip microcomputer".<ref name="Cateye" /> Other typical uses include coffee makers, infrared remote controls,<ref name="RenesasPD67" /> and security alarms.<ref name="Haskell_MC" />
The processor in Barbie typewriters that can encrypt is a 4-bit microcontroller.<ref>Paul Reuvers and Marc Simons. Crypto Museum. "Barbie Typewriter", 2015</ref>
Several manufacturers used 4-bit microcontrollers in their early electronic games:<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
- Mattel's Funtronics Jacks, Red Light Green Light, Tag, Plus One and Dalla$.
- Milton Bradley Lightfight and Electronic Battleship 1982.
- Coleco Head to Head Basketball.
- National Semiconductor Quiz Kid Racer.
- Entex Space Invader.
- Texas Instruments My Little Computer.<ref>{{#invoke:citation/CS1|citation
|CitationClass=web }}</ref> Western Digital used a 4-bit microcontroller as the basis for their WD2412 time-of-day clock.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
The Grundy Newbrain computer uses a 4-bit microcontroller to manage its keyboard, tape I/O, and its built-in 16 character VF alphanumeric display.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>
DetailsEdit
{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}}
With 4 bits, it is possible to create 16 different values. All single-digit hexadecimal numbers can be written with four bits.
Binary-coded decimal is a digital encoding method for numbers using decimal notation, with each decimal digit represented by four bits.
List of 4-bit processorsEdit
- Intel 4004 (first 4-bit microprocessor from 1971, though Four-Phase Systems AL1 from 1969 is older, discontinued 1981)
- Intel 4040 (discontinued 1981)
- TMS 1000 (the first high-volume commercial microcontroller, from 1974, after Intel 4004; now discontinued)
- Atmel MARC4 core<ref name="Atmel_MARC4_Image" /><ref name="Atmel_MARC4_Product" /> (discontinued because of Low demand. "Last ship date: 7 March 2015"<ref name="Atmel_EOL" />)
- Samsung S3C7 (KS57 Series) 4-bit microcontrollers (RAM: 512 to 5264 nibbles, 6 MHz clock)
- Toshiba TLCS-47 series
- HP Saturn
- NEC μPD75X
- NEC μCOM-4
- NEC (now Renesas) μPD612xA (discontinued), μPD613x, μPD6x<ref name="RenesasPD67" /><ref name="Renesas_uPD6P9" /> and μPD1724x<ref name="Renesas_uPD17240" /> infrared remote control transmitter microcontrollers<ref name="Renesas_Remote" /><ref name="Necel_ROMless" />
- EM Microelectronic-Marin EM6600 family,<ref name="Cravotta" /> EM6580,<ref name="EM6580_1" /><ref name="EM6580_2" /> EM6682,<ref name="EM6682" /> etc.
- Epson S1C63 family
- National Semiconductor "COPS I" and "COPS II" ("COP400") 4-bit microcontroller families<ref>{{#invoke:citation/CS1|citation
|CitationClass=web }}</ref>
- National Semiconductor MAPS MM570X
- Sharp SM590/SM591/SM595<ref name="Sharp_1990" />Template:Rp
- Sharp SM550/SM551/SM552<ref name="Sharp_1990" />Template:Rp
- Sharp SM578/SM579<ref name="Sharp_1990" />Template:Rp
- Sharp SM5E4<ref name="Sharp_1990" />Template:Rp
- Sharp LU5E4POP<ref name="Sharp_1990" />Template:Rp
- Sharp SM5J5/SM5J6<ref name="Sharp_1990" />Template:Rp
- Sharp SM530<ref name="Sharp_1990" />Template:Rp
- Sharp SM531<ref name="Sharp_1990" />Template:Rp
- Sharp SM500<ref name="Sharp_1990" />Template:Rp (ROM 1197×8 bit, RAM 40×4 bit, a divider and 56-segment LCD driver circuit)
- Sharp SM5K1<ref name="Sharp_1990" />Template:Rp
- Sharp SM4A<ref name="Sharp_1990" />Template:Rp
- Sharp SM510<ref name="Sharp_1990" />Template:Rp (ROM 2772×8 bit, RAM 128×4 bit, a divider and 132-segment LCD driver circuit)
- Sharp SM511/SM512<ref name="Sharp_1990" />Template:Rp (ROM 4032×8 bit, RAM 128/142×4 bit, a divider and 136/200-segment LCD driver circuit)
- Sharp SM563<ref name="Sharp_1990" />Template:Rp
See alsoEdit
- GMC-4
- Hitachi HD44780 LCD controller
- Intel's LPC (low-pin-count) bus/interface for 4-bit communication
- Its successor for modern computers, Intel's Enhanced Serial Peripheral Interface (eSPI), allows 1-bit, 2-bit, and 4-bit communication
ReferencesEdit
External linksEdit
- Saturn CPU
- {{#invoke:citation/CS1|citation
|CitationClass=web }}