4-bit computing

In computer architecture, 4-bit integers, memory addresses, or other data units are those that are 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 24 = 16 possible values.

Some of the first microprocessors had a 4-bit word length and were developed around 1970.

The first commercial microprocessor was the binary-coded decimal (BCD-based) Intel 4004,[1][2] developed for calculator applications in 1971; it had a 4-bit word length, but had 8-bit instructions and 12-bit addresses. It was succeeded by the Intel 4040.

The Texas Instruments TMS 1000 (1974) 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.[3]

The 4-bit processors were programmed in assembly language or Forth, e.g. "MARC4 Family of 4 bit Forth CPU"[4] 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,[5] and that all data types other than bitfields have a size that is a multiple of the character size[6][7][8]).

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.[9][10]

Although the Data General Nova is a series of 16-bit minicomputers, the original Nova and the Nova 1200 internally processed numbers 4 bits at a time with a 4-bit ALU,[11] sometimes called "nybble-serial".[12]

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.[13][14][15]

In addition, some early calculators  such as the 1967 Casio AL-1000, the 1972 Sinclair Executive, and the aforementioned 1984 HP Saturn  had 4-bit datapaths that accessed their registers 4 bits (one BCD digit) at a time.[16]

Uses

While 32- and 64-bit processors are more prominent in modern consumer electronics, 4-bit CPUs can as of 2020 be bought online at down to $0.18 (in bulk for 10000 units, a minimum order over $3),[17][18] however 20 non-obsolete 8-bit CPUs can be bought for $1.80 ($0.09 per unit), a fraction of the 4-bit price, and even a single modern 32-bit microcontroller can be bought for $0.24 so it's unclear if 4-bit CPUs are still used for anything else than for replacement parts. For example, one bicycle computer specifies that it uses a "4 bit 1-chip microcomputer".[19] Other typical uses include coffee makers, infrared remote controls,[20] and security alarms.[21]

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.[22][23]

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.

BinaryOctalDecimalHexadecimal
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

Intel C4004
an infrared remote control transmitter controlled by a NEC D63GS 4-bit microcontroller
NEC D63GS: a 4-bit microcontroller for infrared remote control transmission
Olympia CD700 Desktop Calculator using the National Semiconductor MAPS MM570X bit-serial 4-bit microcontroller
National Semiconductor MM5700CA/D bit-serial 4-bit microcontroller
gollark: Ah, I forgot about that.
gollark: I assume you mean Rust. Why?
gollark: Ah, but I can't use them for *web crawling*.
gollark: I'm probably going to use python, JS (the existing thing is in JS) or Nim for this.
gollark: I don't think HTTP supports this.

See also

References

  1. Mack, Pamela E. (2005-11-30). "The Microcomputer Revolution". Retrieved 2009-12-23.
  2. "History in the Computing Curriculum" (PDF). Archived from the original (PDF) on 2011-07-19. Retrieved 2017-06-22.
  3. TMS 1000 Series Data Manual (PDF). Texas Instruments. December 1976. Retrieved 2013-07-20.
  4. "Forth Chips".
  5. ISO/IEC 9899:1999 specification. p. 20, § 5.2.4.2.1.
  6. ISO/IEC 9899:1999 specification. p. 37, § 6.2.6.1 (4).
  7. Cline, Marshall. "C++ FAQ: the rules about bytes, chars, and characters".
  8. "4-bit integer". cplusplus.com. Retrieved 2014-11-21.
  9. Shima, Masatoshi; Faggin, Federico; Ungermann, Ralph; Slater, Michael (2007-04-27). "Zilog Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor" (PDF).
  10. Shirriff, Ken. "The Z-80 has a 4-bit ALU".
  11. Hendrie, Gardner (2002-11-22). "Oral History of Edson (Ed) D. de Castro" (PDF) (Interview).CS1 maint: ref=harv (link) p. 44.
  12. "Nova 1200".
  13. "The Saturn Processor". Retrieved 2015-12-23.
  14. "Guide to the Saturn Processor". Retrieved 2014-01-14.
  15. "Introduction to Saturn Assembly Language". Retrieved 2014-01-14.
  16. "Desk Electronic Calculators: Casio AL-1000".
  17. "4570 NEC | IC Chips". UTSOURCE. Retrieved 2020-07-02.
  18. "UPD6700GH-3B7 Renesas,10+ | IC Chips". UTSOURCE. Retrieved 2020-07-02.
  19. "Cateye Commuter Manual" (PDF). Retrieved 2014-02-11.
  20. "μPD67, 67A, 68, 68A, 69 4-bit single-chip microcontroller for infrared remote control transmission" (PDF).
  21. Haskell, Richard. "Introduction to Digital Logic and Microprocessors (Lecture 12.2)". Retrieved 2014-02-11.
  22. Mueller, Scott (2004). Upgrading and Repairing Laptops. p. 176. ISBN 9780789728005.
  23. Lawyer, David S. (2007). "Plug-and-Play-HOWTO: LPC Bus".
  24. "MARC4 4-bit Microcontrollers - Programmer's Guide" (PDF). Atmel. Archived from the original (PDF) on 2014-12-15. Retrieved 2014-01-14.
  25. "MARC4 4-Bit Architecture". Atmel. Archived from the original on 2009-05-31.
  26. "Product End-of-Life (EOL) Notification" (PDF). Atmel. 2014-03-07. Archived from the original (PDF) on 2016-08-07.
  27. "μPD6P9 4-bit single-chip microcontroller for infrared remote control transmission" (PDF).
  28. "μPD17240, 17241, 17242, 17243, 17244, 17245, 17246 4-bit single-chip microcontrollers for small general-purpose infrared remote control transmitters" (PDF).
  29. "Microcontrollers for Remote Controllers" (PDF).
  30. "Mask ROM/ROMless Products 4/8bit Remote Control". Archived from the original on 2008-10-28.
  31. Cravotta, Robert. "Embedded Processing Directory".
  32. "EM6580". Archived from the original on 2013-12-19. Retrieved 2013-05-12.
  33. "EM6580 low power Flash 4-bit microcontroller".
  34. "EM6682".
  35. Culver, John (2014-09-27). "National Semiconductor: The COP before the COPS". www.cpushack.com. Retrieved 2020-05-28.
  36. Sharp Microcomputers Data Book (PDF). September 1990. Retrieved 2018-01-05.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.