Jump to content

4-bit computing

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by GreenC bot (talk | contribs) at 05:03, 1 September 2016 (WaybackMedic 2). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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.[dubiousdiscuss]

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

See also

References

  1. ^ TMS 1000 Series Data Manual (PDF). Texas Instruments. December 1976. Retrieved July 20, 2013.
  2. ^ Mack, Pamela E. (November 30, 2005). "The Microcomputer Revolution". Retrieved 2009-12-23.
  3. ^ "History in the Computing Curriculum" (PDF). Retrieved 2009-12-23. {{cite journal}}: Cite journal requires |journal= (help)
  4. ^ "The Saturn Processor". Retrieved December 23, 2015.
  5. ^ "Guide to the Saturn Processor". Retrieved January 14, 2014.
  6. ^ "Introduction to Saturn Assembly Language". Retrieved January 14, 2014.
  7. ^ Forth Chips
  8. ^ ISO/IEC 9899:1999 specification. p. 20, § 5.2.4.2.1.
  9. ^ ISO/IEC 9899:1999 specification. p. 37, § 6.2.6.1 (4).
  10. ^ Marshall Cline. "C++ FAQ: the rules about bytes, chars, and characters".
  11. ^ "4-bit integer". cplusplus.com. Retrieved November 21, 2014.
  12. ^ 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".
  13. ^ Ken Shirriff. "The Z-80 has a 4-bit ALU.".
  14. ^ "Cateye Commuter Manual" (PDF). Retrieved February 11, 2014.
  15. ^ a b μPD67, 67A, 68, 68A, 69 4-bit single-chip microcontroller for infrared remote control transmission
  16. ^ Haskell, Richard. "Introduction to Digital Logic and Microprocessors (Lecture 12.2)". Retrieved February 11, 2014.
  17. ^ http://www.digikey.com/product-search/en/integrated-circuits-ics/embedded-microcontrollers/2556109?k=4-bit
  18. ^ http://www.ebay.com/itm/Toshiba-TMP47C1637N-4bit-MCU-microcontroller-skinny-DIP42-/111294657595?pt=LH_DefaultDomain_0&hash=item19e9adb43b
  19. ^ http://www.ebay.com/itm/Motorola-IC-MC14500B-MC14500BCL-100-NEW-/320837692605
  20. ^ http://www.ebay.com/itm/KL1868VE1-Soviet-CMOS-Clone-Matsushita-MN15500-4bit-MCU-/400212898610?pt=US_Vintage_Computers_Mainframes&hash=item5d2e8c3332
  21. ^ Scott Mueller. "Upgrading and Repairing Laptops". 2004. p. 176.
  22. ^ David S. Lawyer. "Plug-and-Play-HOWTO: LPC Bus" 2007.
  23. ^ "MARC4 4-bit Microcontrollers - Programmer's Guide" (PDF). Atmel. Archived from the original (PDF) on 2014-12-15. Retrieved January 14, 2014.
  24. ^ "MARC4 4-Bit Architecture". Atmel. Archived from the original on May 31, 2009.
  25. ^ Product End-of-Life (EOL) Notification
  26. ^ μPD6P9 4-bit single-chip microcontroller for infrared remote control transmission
  27. ^ μPD17240, 17241, 17242, 17243, 17244, 17245, 17246 4-bit single-chip microcontrollers for small general-purpose infrared remote control transmitters
  28. ^ Microcontrollers for Remote Controllers
  29. ^ "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)
  30. ^ Robert Cravotta. "Embedded Processing Directory"
  31. ^ EM6580
  32. ^ "EM6580 low power Flash 4-bit microcontroller"
  33. ^ "EM6682"