4-bit computing
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. Memory addresses (and thus address buses) for 4-bit CPUs are generally much larger than 4-bit (since only 16 memory locations would be very restrictive), such as 12-bit or more, while they could in theory be 8-bit.
Computer architecture bit widths |
---|
Bit |
Application |
Binary floating-point precision |
Decimal floating-point precision |
A group of four bits is also called a nibble and has 24 = 16 possible values.
While 4-bit computing is mostly obsolete, 4-bit communication (even 1- or 2-bit) is still used in modern computers, that are otherwise e.g. 64-bit, and thus also have much larger buses.
History
A 4-bit processor may seem limited, but it is a good match for calculators, where each decimal digit fits into four bits.[1]
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,[2][3] 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.
The first commercial single-chip computer was the 4-bit Texas Instruments TMS 1000 (1974).[1] 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.[4]
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.[5]
The 4-bit processors were programmed in assembly language or Forth, e.g. "MARC4 Family of 4 bit Forth CPU"[6] (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,[7] and that all data types other than bitfields have a size that is a multiple of the character size[8][9][10]).
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 chip.
The Zilog Z80, although it is an 8-bit microprocessor, has a 4-bit ALU.[11][12]
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,[13] sometimes called "nybble-serial".[14]
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.[15][16][17]
In addition, some early calculators – such as the 1967 Casio AL-1000, the 1972 Sinclair Executive, and the aforementioned 1984 HP Saturn – had 4-bit datapaths that accessed their registers 4 bits (one BCD digit) at a time.[18]
Uses
One bicycle computer specifies that it uses a "4 bit, 1-chip microcomputer".[19] Other typical uses include coffee makers, infrared remote controls,[20] and security alarms.[21]
The processor in Barbie typewriters that can encrypt is a 4-bit microcontroller.[22]
Details
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 processors
- 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[23][24] – (discontinued because of Low demand. "Last ship date: 7 March 2015"[25])
- 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[20][26] and μPD1724x[27] infrared remote control transmitter microcontrollers[28][29]
- EM Microelectronic-Marin EM6600 family,[30] EM6580,[31][32] EM6682,[33] etc.
- Epson S1C63 family
- National Semiconductor "COPS I" and "COPS II" ("COP400") 4-bit microcontroller families[34]
- National Semiconductor MAPS MM570X
- Sharp SM590/SM591/SM595[35]: 26–34
- Sharp SM550/SM551/SM552[35]: 36–48
- Sharp SM578/SM579[35]: 49–64
- Sharp SM5E4[35]: 65–74
- Sharp LU5E4POP[35]: 75–82
- Sharp SM5J5/SM5J6[35]: 83–99
- Sharp SM530[35]: 100–109
- Sharp SM531[35]: 110–118
- Sharp SM500[35]: 119–127 (ROM 1197×8 bit, RAM 40×4 bit, a divider and 56-segment LCD driver circuit)
- Sharp SM5K1[35]: 128–140
- Sharp SM4A[35]: 141–148
- Sharp SM510[35]: 149–158 (ROM 2772×8 bit, RAM 128×4 bit, a divider and 132-segment LCD driver circuit)
- Sharp SM511/SM512[35]: 159–171 (ROM 4032×8 bit, RAM 128/142×4 bit, a divider and 136/200-segment LCD driver circuit)
- Sharp SM563[35]: 172–186
See also
- GMC-4
- Hitachi HD44780
- Low Pin Count for 4-bit communication
- Its successor for modern computers, Intel's Enhanced Serial Peripheral Interface (eSPI), allows 1-bit, 2-bit, or 4-bit communication
References
- Ken Shirriff. "Reverse engineering RAM storage in early Texas Instruments calculator chips".
- Mack, Pamela E. (2005-11-30). "The Microcomputer Revolution". Retrieved 2009-12-23.
- "History in the Computing Curriculum" (PDF). Archived from the original (PDF) on 2011-07-19. Retrieved 2017-06-22.
- TMS 1000 Series Data Manual (PDF). Texas Instruments. December 1976. Retrieved 2013-07-20.
- "Rockwell PPS-4".
- "Forth Chips". www.ultratechnology.com.
- ISO/IEC 9899:1999 specification. p. 20, § 5.2.4.2.1. Retrieved 2023-07-24.
- ISO/IEC 9899:1999 specification. p. 37, § 6.2.6.1 (4). Retrieved 2023-07-24.
- Cline, Marshall. "C++ FAQ: the rules about bytes, chars, and characters".
- "4-bit integer". cplusplus.com. Retrieved 2014-11-21.
- Shima, Masatoshi; Faggin, Federico; Ungermann, Ralph; Slater, Michael (2007-04-27). "Zilog Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor" (PDF).
- Shirriff, Ken. "The Z-80 has a 4-bit ALU".
- Hendrie, Gardner (2002-11-22). "Oral History of Edson (Ed) D. de Castro" (PDF) (Interview). p. 44.
- "Nova 1200"
- "The Saturn Processor". Retrieved 2015-12-23.
- "Guide to the Saturn Processor". Retrieved 2014-01-14.
- "Introduction to Saturn Assembly Language". Retrieved 2014-01-14.
- "Desk Electronic Calculators: Casio AL-1000"
- "Cateye Commuter Manual" (PDF). Retrieved 2014-02-11.
- "μPD67, 67A, 68, 68A, 69 4-bit single-chip microcontroller for infrared remote control transmission" (PDF). documentation.renesas.com. Archived from the original (PDF) on 2016-01-06.
- Haskell, Richard. "Introduction to Digital Logic and Microprocessors (Lecture 12.2)". Archived from the original on 2014-02-22. Retrieved 2014-02-11.
- Paul Reuvers and Marc Simons. Crypto Museum. "Barbie Typewriter", 2015
- "MARC4 4-bit Microcontrollers – Programmer's Guide" (PDF). Atmel. Archived from the original (PDF) on 2014-12-15. Retrieved 2014-01-14.
- "MARC4 4-Bit Architecture". Atmel. Archived from the original on 2009-05-31.
- "Product End-of-Life (EOL) Notification" (PDF). Atmel. 2014-03-07. Archived from the original (PDF) on 2016-08-07.
- "μPD6P9 4-bit single-chip microcontroller for infrared remote control transmission" (PDF). documentation.renesas.com. Archived from the original (PDF) on 2016-03-27.
- "μPD17240, 17241, 17242, 17243, 17244, 17245, 17246 4-bit single-chip microcontrollers for small general-purpose infrared remote control transmitters" (PDF). documentation.renesas.com. Archived from the original (PDF) on 2016-03-27.
- "Microcontrollers for Remote Controllers" (PDF). documentation.renesas.com. Archived from the original (PDF) on 2013-12-19.
- "Mask ROM/ROMless Products 4/8bit Remote Control". Archived from the original on 2008-10-28.
- Cravotta, Robert. "Embedded Processing Directory".
- "EM6580". Archived from the original on 2013-12-19. Retrieved 2013-05-12.
- "EM6580".
- "EM6682".
- Culver, John (2014-09-27). "National Semiconductor: The COP before the COPS". www.cpushack.com. Retrieved 2020-05-28.
- Sharp Microcomputers Data Book (PDF). September 1990. Retrieved 2018-01-05.
External links
- Saturn CPU
- "Products: High Performance 4-bit Microcontrollers (S1C63 family)". Epson. Archived from the original on 2013-07-29.
- Considerations for 4-bit processing