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.
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] Lua error in package.lua at line 80: module 'strict' not found.Since 2003, new Saturn-based HP calculators[dubious ] (including the HP 49/50 series) utilize a 32-bit processor with an ARM920T core to emulate an extended Saturn processor architecture named Saturn+ at a higher speed.
The 4-bit processors were programmed in assembly language[dubious ] because of the extreme size constraint on programs and common programming languages (for microcontrollers, 8-bit and larger), such as C programming language, do not support 4-bit (C requires that the size of the char
data type be at least 8 bits,[7] and that that all data types other than bitfields have a size that is a multiple of the character size[8][9][10]). 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.
In the 1970s and 1980s a number of research and commercial computers used bit slicing, in which the CPU's arithmetic-logic unit 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]
Contents
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 popular bicycle computer specifies that it uses a "4 bit 1-chip microcomputer".[13] Other typical uses include coffee makers, infrared remote controls,[14] and security alarms.[15]
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[16] (a few expensive ones can be found, as of 2014[update], on eBay[17][18][19]).
Electronics store still carry, as of 2014[update], non-CPU/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.[20][21]
Details
<templatestyles src="Module:Hatnote/styles.css"></templatestyles>
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
Lua error in package.lua at line 80: module 'strict' not found.
- TMS 1000
- Intel 4004
- Intel 4040
- Atmel MARC4 core[22][23] - Mature.
- Toshiba TLCS-47 series
- HP Saturn and Saturn+ series
- NEC μPD75X
- NEC (now Renesas) µPD612xA (discontinued), µPD613x, μPD6x[14][24] and μPD1724x[25] infrared remote control transmitter microcontrollers[26][27]
- EM Microelectronic-Marin EM6600 family,[28] EM6580,[29][30] EM6682,[31] etc.
- Epson S1C63 family
See also
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Marshall Cline. "C++ FAQ: the rules about bytes, chars, and characters".
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 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.".
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 14.0 14.1 μPD67, 67A, 68, 68A, 69 4-bit single-chip microcontroller for infrared remote control transmission
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 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.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ μ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
- ↑ http://www.necel.com/micro/en/product/mr_48_remocon.html[dead link]
- ↑ Robert Cravotta. "Embedded Processing Directory"
- ↑ EM6580
- ↑ "EM6580 low power Flash 4-bit microcontroller"
- ↑ "EM6682"