4-bit
Bit | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||
Application | |||||||||||||||||
| |||||||||||||||||
Floating point precision | |||||||||||||||||
| |||||||||||||||||
Floating point decimal precision | |||||||||||||||||
| |||||||||||||||||
In computer architecture, 4-bit integers, memory addresses, or other data units are those that are at most 4 bits wide. Also, 4-bit CPU and 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 sixteen (24) 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 with 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 2015 (including the HP 48 series of scientific calculators) are 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 its registers are 64 bits, 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 (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.
The 1970s saw the emergence of 4-bit software applications for mass markets like pocket calculators.
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 which 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- or even 32-bit processors as they are hard to find cheaper in general computer supplier's 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, on eBay[18][19][20]).
Electronics store still carry, as of 2014, non-CPU/non-MCU 4-bit chips, such as counters.
As of 2015, 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 four 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
- 10NES
- TMS 1000
- Intel 4004
- Intel 4040
- 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 and Saturn+ series
- NEC μPD75X
- 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
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). Retrieved 2009-12-23.
- ↑ "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.
- 1 2 μ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.
- ↑ http://www.digikey.com/product-search/en/integrated-circuits-ics/embedded-microcontrollers/2556109?k=4-bit
- ↑ http://www.ebay.com/itm/Toshiba-TMP47C1637N-4bit-MCU-microcontroller-skinny-DIP42-/111294657595?pt=LH_DefaultDomain_0&hash=item19e9adb43b
- ↑ http://www.ebay.com/itm/Motorola-IC-MC14500B-MC14500BCL-100-NEW-/320837692605
- ↑ http://www.ebay.com/itm/KL1868VE1-Soviet-CMOS-Clone-Matsushita-MN15500-4bit-MCU-/400212898610?pt=US_Vintage_Computers_Mainframes&hash=item5d2e8c3332
- ↑ 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
- ↑ μ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.
- ↑ Robert Cravotta. "Embedded Processing Directory"
- ↑ EM6580
- ↑ "EM6580 low power Flash 4-bit microcontroller"
- ↑ "EM6682"