4-bit computing

From Wikipedia, the free encyclopedia
(Redirected from 4bit)
Jump to navigation Jump to search

Template:Short description Template:Use dmy dates Template:Computer architecture bit widths

4-bit computing is the use of computer architectures in which integers and other data units are 4 bits wide. 4-bit central processing unit (CPU) and arithmetic logic unit (ALU) architectures are those that are based on registers or data buses of that size. A group of four bits is also called a nibble and has 24 = 16 possible values, with a range of 0 to 15.

4-bit computation is obsolete, i.e. CPUs supporting 4-bit as the maximum size. However, 4-bit integers (or smaller), and 4-bit floating point is gaining ground for AI, large-language models.[1]

4-bit processors were widely used in electronic calculators and other roles where decimal math was used, like electronic cash registers, microwave oven timers, and so forth. This is because a 4-bit value holds a single binary-coded decimal (BCD) digit, making it a natural size for directly processing decimal values. As a 4-bit value is generally too small to hold a memory address for real-world programs or data, the address bus of these systems was generally larger. For instance, the canonical 4-bit microprocessor, the Intel 4004, had a 12-bit address format.

4-bit designs were used only for a short period when integrated circuits were still expensive, and were found primarily in cost-sensitive roles. While 4-bit computing is mostly obsolete, 4-bit values are still used in the same decimal-centric roles they were developed for, and modern implementations are generally much wider and process multiple 4-bit values in parallel. An example of such a system is the HP Saturn design of the 1980s. By the 1990s, most such uses had been replaced by general purpose binary designs.

History

File:Alps remote control BHR970001B - NEC D63GS-7525.jpg
20-pin PSOP – NEC D63GS: a 4-bit microcontroller for infrared remote control transmission
File:Intel C4004 greytraces CPU.jpg
16-pin DIP – Intel C4004
File:Olympia CD700 Desktop Calculator. 1971.Microprogrammable Arithmetic Processor System Devices (MAPS).jpg
Olympia CD700 Desktop Calculator using the National Semiconductor MAPS MM570X bit-serial 4-bit microcontroller
File:Alps remote control BHR970001B-7517.jpg
Infrared remote control PCB – an infrared remote control transmitter controlled by a NEC D63GS 4-bit microcontroller

A 4-bit processor may seem limited, but it is a good match for calculators, where each decimal digit fits into four bits.[2]

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,[3][4] 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, which added interrupt support and a variety of other new features.

The first commercial single-chip computer was the 4-bit Texas Instruments TMS 1000 (1974).[2] It contained a 4-bit CPU with a Harvard architecture and 8-bit-wide instructions, an on-chip instruction ROM, and an on-chip data RAM with 4-bit words.[5]

The Rockwell PPS-4 was another early 4-bit processor, introduced in 1972, which had a long lifetime in handheld games and similar roles. It was steadily improved and by 1975 been combined with several support chips to make a one-chip computer.[6]

The 4-bit processors were programmed in assembly language or Forth, e.g. "MARC4 Family of 4 bit Forth CPU"[7] (which is now discontinued) 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, and C++, and more languages require 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]).

The 1970s saw the emergence of 4-bit software applications for mass markets like pocket calculators. During the 1980s, 4-bit microprocessors 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.

The Zilog Z80 (discontinued in 2024), although it is an 8-bit microprocessor, has a 4-bit ALU.[12][13]

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,[14] sometimes called "nybble-serial".[15]

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.[16][17][18]

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

Uses

File:National Semiconductor COP410L NGS top metal.jpg
National Semiconductor COP410L, a low-end 4-bit microcontroller. 512 bytes of ROM in upper left corner, 128 bits of RAM in upper right corner. Click to zoom.

One bicycle computer specifies that it uses a "4 bit, 1-chip microcomputer".[20] Other typical uses include coffee makers, infrared remote controls,[21] and security alarms.[22]

The processor in Barbie typewriters that can encrypt is a 4-bit microcontroller.[23]

Several manufacturers used 4-bit microcontrollers in their early electronic games:[24]

Western Digital used a 4-bit microcontroller as the basis for their WD2412 time-of-day clock.[26]

The Grundy Newbrain computer uses a 4-bit microcontroller to manage its keyboard, tape I/O, and its built-in 16 character VF alphanumeric display.[27]

Details

Script error: No such module "Labelled list hatnote".

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.

List of 4-bit processors

File:National Semiconductor MM5700CA D Microprocessor.jpg
National Semiconductor MM5700CA/D bit-serial 4-bit microcontroller

See also

References

Template:Reflist

External links

Template:CPU technologies

  1. Script error: No such module "citation/CS1".
  2. a b Script error: No such module "citation/CS1".
  3. Cite error: Invalid <ref> tag; no text was provided for refs named Mack_2005
  4. Cite error: Invalid <ref> tag; no text was provided for refs named Hofstra_History
  5. Cite error: Invalid <ref> tag; no text was provided for refs named TI_1976_TMS1000
  6. Script error: No such module "citation/CS1".
  7. Cite error: Invalid <ref> tag; no text was provided for refs named UT_Forth
  8. Cite error: Invalid <ref> tag; no text was provided for refs named ISOIEC9899_1999_1
  9. Cite error: Invalid <ref> tag; no text was provided for refs named ISOIEC9899_1999_2
  10. Cite error: Invalid <ref> tag; no text was provided for refs named Cline
  11. Cite error: Invalid <ref> tag; no text was provided for refs named CPP
  12. Cite error: Invalid <ref> tag; no text was provided for refs named Shima_Z80
  13. Cite error: Invalid <ref> tag; no text was provided for refs named Shirriff_Z80
  14. Script error: No such module "citation/CS1".
  15. "Nova 1200"
  16. Cite error: Invalid <ref> tag; no text was provided for refs named HPM_Saturn
  17. Cite error: Invalid <ref> tag; no text was provided for refs named Grack_Saturn
  18. Cite error: Invalid <ref> tag; no text was provided for refs named HPCalc_Saturn
  19. "Desk Electronic Calculators: Casio AL-1000"
  20. Cite error: Invalid <ref> tag; no text was provided for refs named Cateye
  21. a b Cite error: Invalid <ref> tag; no text was provided for refs named RenesasPD67
  22. Cite error: Invalid <ref> tag; no text was provided for refs named Haskell_MC
  23. Paul Reuvers and Marc Simons. Crypto Museum. "Barbie Typewriter", 2015
  24. Script error: No such module "citation/CS1".
  25. Script error: No such module "citation/CS1".
  26. Script error: No such module "citation/CS1".
  27. Script error: No such module "citation/CS1".
  28. Cite error: Invalid <ref> tag; no text was provided for refs named Atmel_MARC4_Image
  29. Cite error: Invalid <ref> tag; no text was provided for refs named Atmel_MARC4_Product
  30. Cite error: Invalid <ref> tag; no text was provided for refs named Atmel_EOL
  31. Cite error: Invalid <ref> tag; no text was provided for refs named Renesas_uPD6P9
  32. Cite error: Invalid <ref> tag; no text was provided for refs named Renesas_uPD17240
  33. Cite error: Invalid <ref> tag; no text was provided for refs named Renesas_Remote
  34. Cite error: Invalid <ref> tag; no text was provided for refs named Necel_ROMless
  35. Cite error: Invalid <ref> tag; no text was provided for refs named Cravotta
  36. Cite error: Invalid <ref> tag; no text was provided for refs named EM6580_1
  37. Cite error: Invalid <ref> tag; no text was provided for refs named EM6580_2
  38. Cite error: Invalid <ref> tag; no text was provided for refs named EM6682
  39. Script error: No such module "citation/CS1".
  40. a b c d e f g h i j k l m n Cite error: Invalid <ref> tag; no text was provided for refs named Sharp_1990