4-bit computing
Computer architecture bit widths |
---|
Bit |
Application |
Binary floating-point precision |
Decimal floating-point precision |
In computer architecture, 4-bit integers, memory addresses, or other data units are those that are 4 bits wide. Also, 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers, address buses, or data buses of that size. A group of four bits is also called a nibble and has 24 = 16 possible values.
Some of the first microprocessors had a 4-bit word length and were developed around 1970. The TMS 1000, the world's first single-chip microprocessor, was a 4-bit CPU; it had a Harvard architecture, with an on-chip instruction ROM, 8-bit-wide instructions and an on-chip data RAM with 4-bit words.[1] 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.
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.[4][5][6]
The 4-bit processors were programmed in assembly language or Forth, e.g. "MARC4 Family of 4 bit Forth CPU"[7] 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 requires that the size of the char
data type be at least 8 bits,[8] and that all data types other than bitfields have a size that is a multiple of the character size[9][10][11]). While larger than 4-bit values can be used by combining more than one manually, the language has to support the smaller values used in the combining. If not, assembly is the only option.[dubious ]
The 1970s saw the emergence of 4-bit software applications for mass markets like pocket calculators. During the 1980s 4-bit microprocessor 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.[12][13]
Modern uses
While 32- and 64-bit processors are more prominent in modern consumer electronics, 4-bit CPUs continue to be used (usually as part of a microcontroller) in cost-sensitive applications that require minimal computing power. For example, one bicycle computer specifies that it uses a "4-bit 1-chip microcomputer".[14] Other typical uses include coffee makers, infrared remote controls,[15] and security alarms.[16]
Use of 4-bit processors has declined relative to 8-bit or even 32-bit processors, as they are hard to find cheaper in general computer suppliers' stores. The simplest kinds are not available in any of them, and others are "non-stock" and more expensive.[17] (A few expensive ones can be found, as of 2014[update], on eBay.)[18][19][20]
Electronics stores still carry, as of 2014[update], non-CPU/non-MCU 4-bit chips, such as counters.
As of 2015[update], most PC motherboards, especially laptop motherboards, use a 4-bit LPC bus (introduced in 1998) to connect the southbridge to the motherboard firmware flash ROM (UEFI or BIOS) and the Super I/O chip.[21][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.
Binary | Octal | Decimal | Hexadecimal |
---|---|---|---|
0000 | 0 | 0 | 0 |
0001 | 1 | 1 | 1 |
0010 | 2 | 2 | 2 |
0011 | 3 | 3 | 3 |
0100 | 4 | 4 | 4 |
0101 | 5 | 5 | 5 |
0110 | 6 | 6 | 6 |
0111 | 7 | 7 | 7 |
1000 | 10 | 8 | 8 |
1001 | 11 | 9 | 9 |
1010 | 12 | 10 | A |
1011 | 13 | 11 | B |
1100 | 14 | 12 | C |
1101 | 15 | 13 | D |
1110 | 16 | 14 | E |
1111 | 17 | 15 | F |
List of 4-bit processors
- TMS 1000
- Intel 4004
- Intel 4040
- 10NES
- Atmel MARC4 core[23][24] – (discontinued: "Last ship date: March 7, 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[15][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 MAPS MM570X
See also
References
- ^ TMS 1000 Series Data Manual (PDF). Texas Instruments. December 1976. Retrieved July 20, 2013.
- ^ Mack, Pamela E. (November 30, 2005). "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.
{{cite journal}}
: Cite journal requires|journal=
(help); Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ "The Saturn Processor". Retrieved December 23, 2015.
- ^ "Guide to the Saturn Processor". Retrieved January 14, 2014.
- ^ "Introduction to Saturn Assembly Language". Retrieved January 14, 2014.
- ^ Forth Chips.
- ^ ISO/IEC 9899:1999 specification. p. 20, § 5.2.4.2.1.
- ^ ISO/IEC 9899:1999 specification. p. 37, § 6.2.6.1 (4).
- ^ Marshall Cline. "C++ FAQ: the rules about bytes, chars, and characters".
- ^ "4-bit integer". cplusplus.com. Retrieved November 21, 2014.
- ^ Masatoshi Shima; Federico Faggin; Ralph Ungermann; Michael Slater. "Zilog Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor".
- ^ Ken Shirriff. "The Z-80 has a 4-bit ALU".
- ^ "Cateye Commuter Manual" (PDF). Retrieved February 11, 2014.
- ^ a b μPD67, 67A, 68, 68A, 69 4-bit single-chip microcontroller for infrared remote control transmission
- ^ Haskell, Richard. "Introduction to Digital Logic and Microprocessors (Lecture 12.2)". Retrieved February 11, 2014.
- ^ "Embedded - Microcontrollers - Integrated Circuits (ICs) - DigiKey". www.digikey.com. Retrieved 9 April 2018.
- ^ "Other Integrated Circuits - eBay". eBay. Retrieved 9 April 2018.
- ^ "Motorola IC MC14500B / MC14500BCL ( 100% NEW ) - eBay". eBay. Retrieved 9 April 2018.
- ^ "KL1868VE1 Soviet CMOS Clone Matsushita MN15500 4bit MCU - eBay". eBay. Retrieved 9 April 2018.
- ^ Scott Mueller. "Upgrading and Repairing Laptops". 2004. p. 176.
- ^ David S. Lawyer. "Plug-and-Play-HOWTO: LPC Bus" 2007.
- ^ "MARC4 4-bit Microcontrollers - Programmer's Guide" (PDF). Atmel. Archived from the original (PDF) on 2014-12-15. Retrieved January 14, 2014.
- ^ "MARC4 4-Bit Architecture". Atmel. Archived from the original on May 31, 2009.
- ^ "Product End-of-Life (EOL) Notification" (PDF). Atmel. March 7, 2014. Archived from the original (PDF) on August 7, 2016.
- ^ μPD6P9 4-bit single-chip microcontroller for infrared remote control transmission
- ^ μPD17240, 17241, 17242, 17243, 17244, 17245, 17246 4-bit single-chip microcontrollers for small general-purpose infrared remote control transmitters
- ^ Microcontrollers for Remote Controllers
- ^ "Mask ROM/ROMless Products 4/8bit Remote Control". Archived from the original on October 28, 2008.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Robert Cravotta. "Embedded Processing Directory"
- ^ "EM6580". Archived from the original on 2013-12-19. Retrieved 2013-05-12.
{{cite web}}
: Unknown parameter|dead-url=
ignored (|url-status=
suggested) (help) - ^ "EM6580 low power Flash 4-bit microcontroller"
- ^ "EM6682"
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