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 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.[dubious – discuss]
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[update], on eBay[18][19][20]).
Electronics store 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 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
This section needs expansion. You can help by adding to it. (May 2008) |
- 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.
{{cite journal}}
: Cite journal requires|journal=
(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.
- ^ 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.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ Robert Cravotta. "Embedded Processing Directory"
- ^ EM6580
- ^ "EM6580 low power Flash 4-bit microcontroller"
- ^ "EM6682"