4-bit computing

From HandWiki
Short description: Computer architecture bit width

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.

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

20-pin PSOP - NEC D63GS: a 4-bit microcontroller for infrared remote control transmission
16-pin DIP - Intel C4004
Olympia CD700 Desktop Calculator using the National Semiconductor MAPS MM570X bit-serial 4-bit microcontroller
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.[1]

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,[2][3] 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).[1] 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.[4]

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

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

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, although it is an 8-bit microprocessor, has a 4-bit ALU.[11][12]

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

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

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

Uses

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]

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

Details

Main page: Nibble

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

National Semiconductor MM5700CA/D bit-serial 4-bit microcontroller
  • Intel 4004 (first 4-bit microprocessor from 1971, though Four-Phase Systems AL1 from 1969 is older, discontinued 1981)
  • Intel 4040 (discontinued 1981)
  • TMS 1000 (the first high-volume commercial microcontroller, from 1974, after Intel 4004; now discontinued)
  • Atmel MARC4 core[23][24] – (discontinued because of Low demand. "Last ship date: 7 March 2015"[25])
  • Samsung S3C7 (KS57 Series) 4-bit microcontrollers (RAM: 512 to 5264 nibbles, 6 MHz clock)
  • Toshiba TLCS-47 series
  • HP Saturn
  • NEC μPD75X
  • NEC μCOM-4
  • NEC (now Renesas) µPD612xA (discontinued), µPD613x, μPD6x[20][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
  • National Semiconductor "COPS I" and "COPS II" ("COP400") 4-bit microcontroller families[34]
  • National Semiconductor MAPS MM570X
  • Sharp SM590/SM591/SM595[35]:26–34
  • Sharp SM550/SM551/SM552[35]:36–48
  • Sharp SM578/SM579[35]:49–64
  • Sharp SM5E4[35]:65–74
  • Sharp LU5E4POP[35]:75–82
  • Sharp SM5J5/SM5J6[35]:83–99
  • Sharp SM530[35]:100–109
  • Sharp SM531[35]:110–118
  • Sharp SM500[35]:119–127 (ROM 1197×8 bit, RAM 40×4 bit, a divider and 56-segment LCD driver circuit)
  • Sharp SM5K1[35]:128–140
  • Sharp SM4A[35]:141–148
  • Sharp SM510[35]:149–158 (ROM 2772×8 bit, RAM 128×4 bit, a divider and 132-segment LCD driver circuit)
  • Sharp SM511/SM512[35]:159–171 (ROM 4032×8 bit, RAM 128/142×4 bit, a divider and 136/200-segment LCD driver circuit)
  • Sharp SM563[35]:172–186

See also

  • GMC-4
  • Hitachi HD44780
  • Low Pin Count for 4-bit communication
    • Its successor for modern computers, Intel's Enhanced Serial Peripheral Interface (eSPI), allows 1-bit, 2-bit, or 4-bit communication

References

  1. 1.0 1.1 Ken Shirriff. "Reverse engineering RAM storage in early Texas Instruments calculator chips". https://www.righto.com/2020/11/reverse-engineering-ram-storage-in.html. 
  2. "The Microcomputer Revolution". 2005-11-30. http://www.clemson.edu/caah/history/FacultyPages/PamMack/lec122/micro.htm. 
  3. "History in the Computing Curriculum". http://www.hofstra.edu/pdf/comphist_9812tla6.pdf. 
  4. TMS 1000 Series Data Manual. Texas Instruments. December 1976. http://blog.kevtris.org/blogfiles/TMS_1000_Data_Manual.pdf. Retrieved 2013-07-20. 
  5. "Rockwell PPS-4". http://www.antiquetech.com/?page_id=796. 
  6. "Forth Chips". http://www.ultratechnology.com/chips.htm. 
  7. ISO/IEC 9899:1999 specification. p. 20, § 5.2.4.2.1. https://c0x.shape-of-code.com/5.2.4.2.1.html. Retrieved 2023-07-24. 
  8. ISO/IEC 9899:1999 specification. p. 37, § 6.2.6.1 (4). https://c0x.shape-of-code.com/6.2.6.1.html. Retrieved 2023-07-24. 
  9. "C++ FAQ: the rules about bytes, chars, and characters". http://www.parashift.com/c++-faq-lite/bytes-review.html. 
  10. "4-bit integer". cplusplus.com. http://www.cplusplus.com/forum/general/51911/. 
  11. "Zilog Oral History Panel on the Founding of the Company and the Development of the Z80 Microprocessor". 2007-04-27. https://archive.computerhistory.org/resources/text/Oral_History/Zilog_Z80/102658073.05.01.pdf. 
  12. "The Z-80 has a 4-bit ALU". http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html. 
  13. Hendrie, Gardner (22 November 2002). "Oral History of Edson (Ed) D. de Castro" (PDF) (Interview). p. 44.
  14. "Nova 1200"
  15. "The Saturn Processor". http://www.hpmuseum.org/saturn.htm. 
  16. "Guide to the Saturn Processor". http://grack.com/writings/hp48/GuidetotheSaturnProcessor.html. 
  17. "Introduction to Saturn Assembly Language". http://www.hpcalc.org/details.php?id=1693. 
  18. "Desk Electronic Calculators: Casio AL-1000"
  19. "Cateye Commuter Manual". http://cateye.com/images/manual/CC-COM10W_ENG_v3.pdf. 
  20. 20.0 20.1 "μPD67, 67A, 68, 68A, 69 4-bit single-chip microcontroller for infrared remote control transmission". http://documentation.renesas.com/doc/DocumentServer/U14935EJ2V1DS00.pdf. 
  21. "Introduction to Digital Logic and Microprocessors (Lecture 12.2)". http://cse.secs.oakland.edu/haskell/CSE171/Lectures/Fall2004/L12.2%20Microcontrollers.ppt. 
  22. Paul Reuvers and Marc Simons. Crypto Museum. "Barbie Typewriter", 2015
  23. "MARC4 4-bit Microcontrollers – Programmer's Guide". Atmel. http://www.atmel.com/Images/doc4747.pdf. 
  24. "MARC4 4-Bit Architecture". Atmel. http://www.atmel.com/products/MARC4/. 
  25. "Product End-of-Life (EOL) Notification". Atmel. 2014-03-07. http://www.atmel.com/images/he140901.pdf. 
  26. "μPD6P9 4-bit single-chip microcontroller for infrared remote control transmission". http://documentation.renesas.com/doc/DocumentServer/U15144EJ1V1DS00.pdf. 
  27. "μPD17240, 17241, 17242, 17243, 17244, 17245, 17246 4-bit single-chip microcontrollers for small general-purpose infrared remote control transmitters". http://documentation.renesas.com/doc/DocumentServer/U15002EJ1V1DS00.pdf. 
  28. "Microcontrollers for Remote Controllers". http://documentation.renesas.com/doc/DocumentServer/U14372EJ5V0PF00.pdf. 
  29. "Mask ROM/ROMless Products 4/8bit Remote Control". http://www.necel.com/micro/en/product/mr_48_remocon.html. 
  30. "Embedded Processing Directory". http://www.embeddedinsights.com/directory/epd-downloads.php. 
  31. "EM6580". http://www.emmarin.com/Products.asp?IdProduct=215. 
  32. "EM6580". https://www.emmicroelectronic.com/product/multi-io/em6580. 
  33. "EM6682". https://www.emmicroelectronic.com/product/multi-io/em6682. 
  34. Culver, John (September 27, 2014). "National Semiconductor: The COP before the COPS". http://www.cpushack.com/2014/09/27/national-semiconductor-the-cop-before-the-cops/. 
  35. 35.00 35.01 35.02 35.03 35.04 35.05 35.06 35.07 35.08 35.09 35.10 35.11 35.12 35.13 Sharp Microcomputers Data Book. September 1990. http://bitsavers.org/components/sharp/_dataBooks/1990_Sharp_Microcomputers_Data_Book.pdf. Retrieved 2018-01-05. 

External links