4-bit computing
Computer architecture bit widths |
---|
Bit |
Application |
Binary floating-point precision |
Decimal floating-point precision |
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 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[update] 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[update], 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.
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
- Intel 4004
- Intel 4040
- TMS 1000
- Atmel MARC4 core[24][25] – (discontinued: "Last ship date: 7 March 2015"[26])
- 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][27] and μPD1724x[28] infrared remote control transmitter microcontrollers[29][30]
- EM Microelectronic-Marin EM6600 family,[31] EM6580,[32][33] EM6682,[34] etc.
- Epson S1C63 family
- National Semiconductor "COPS I" and "COPS II" ("COP400") 4-bit microcontroller families[35]
- National Semiconductor MAPS MM570X
- Sharp SM590/SM591/SM595[36]: 26–34
- Sharp SM550/SM551/SM552[36]: 36–48
- Sharp SM578/SM579[36]: 49–64
- Sharp SM5E4[36]: 65–74
- Sharp LU5E4POP[36]: 75–82
- Sharp SM5J5/SM5J6[36]: 83–99
- Sharp SM530[36]: 100–109
- Sharp SM531[36]: 110–118
- Sharp SM500[36]: 119–127 (ROM 1197×8 bit, RAM 40×4 bit, a divider and 56-segment LCD driver circuit)
- Sharp SM5K1[36]: 128–140
- Sharp SM4A[36]: 141–148
- Sharp SM510[36]: 149–158 (ROM 2772×8 bit, RAM 128×4 bit, a divider and 132-segment LCD driver circuit)
- Sharp SM511/SM512[36]: 159–171 (ROM 4032×8 bit, RAM 128/142×4 bit, a divider and 136/200-segment LCD driver circuit)
- Sharp SM563[36]: 172–186
See also
- GMC-4
- Hitachi HD44780 - LCD controller with 4-bit mode
- Low Pin Count (LPC)
References
- ^ Mack, Pamela E. (2005-11-30). "The Microcomputer Revolution". Retrieved 2009-12-23.
- ^ "History in the Computing Curriculum" (PDF). Archived from the original (PDF) on 2011-07-19. Retrieved 2017-06-22.
- ^ TMS 1000 Series Data Manual (PDF). Texas Instruments. December 1976. Retrieved 2013-07-20.
- ^ "Forth Chips".
- ^ ISO/IEC 9899:1999 specification. p. 20, § 5.2.4.2.1.
- ^ ISO/IEC 9899:1999 specification. p. 37, § 6.2.6.1 (4).
- ^ Cline, Marshall. "C++ FAQ: the rules about bytes, chars, and characters".
- ^ "4-bit integer". cplusplus.com. Retrieved 2014-11-21.
- ^ 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).
- ^ Shirriff, Ken. "The Z-80 has a 4-bit ALU".
- ^ Hendrie, Gardner (2002-11-22). "Oral History of Edson (Ed) D. de Castro" (PDF) (Interview).
{{cite interview}}
: Invalid|ref=harv
(help) p. 44. - ^ "Nova 1200".
- ^ "The Saturn Processor". Retrieved 2015-12-23.
- ^ "Guide to the Saturn Processor". Retrieved 2014-01-14.
- ^ "Introduction to Saturn Assembly Language". Retrieved 2014-01-14.
- ^ "Desk Electronic Calculators: Casio AL-1000".
- ^ "4570 NEC | IC Chips". UTSOURCE. Retrieved 2020-07-02.
- ^ "UPD6700GH-3B7 Renesas,10+ | IC Chips". UTSOURCE. Retrieved 2020-07-02.
- ^ "Cateye Commuter Manual" (PDF). Retrieved 2014-02-11.
- ^ a b "μPD67, 67A, 68, 68A, 69 4-bit single-chip microcontroller for infrared remote control transmission" (PDF).
- ^ Haskell, Richard. "Introduction to Digital Logic and Microprocessors (Lecture 12.2)". Retrieved 2014-02-11.
- ^ Mueller, Scott (2004). Upgrading and Repairing Laptops. p. 176. ISBN 9780789728005.
- ^ Lawyer, David S. (2007). "Plug-and-Play-HOWTO: LPC Bus".
- ^ "MARC4 4-bit Microcontrollers - Programmer's Guide" (PDF). Atmel. Archived from the original (PDF) on 2014-12-15. Retrieved 2014-01-14.
- ^ "MARC4 4-Bit Architecture". Atmel. Archived from the original on 2009-05-31.
- ^ "Product End-of-Life (EOL) Notification" (PDF). Atmel. 2014-03-07. Archived from the original (PDF) on 2016-08-07.
- ^ "μPD6P9 4-bit single-chip microcontroller for infrared remote control transmission" (PDF).
- ^ "μPD17240, 17241, 17242, 17243, 17244, 17245, 17246 4-bit single-chip microcontrollers for small general-purpose infrared remote control transmitters" (PDF).
- ^ "Microcontrollers for Remote Controllers" (PDF).
- ^ "Mask ROM/ROMless Products 4/8bit Remote Control". Archived from the original on 2008-10-28.
- ^ Cravotta, Robert. "Embedded Processing Directory".
- ^ "EM6580". Archived from the original on 2013-12-19. Retrieved 2013-05-12.
- ^ "EM6580 low power Flash 4-bit microcontroller".
- ^ "EM6682".
- ^ Culver, John (2014-09-27). "National Semiconductor: The COP before the COPS". www.cpushack.com. Retrieved 2020-05-28.
- ^ a b c d e f g h i j k l m n Sharp Microcomputers Data Book (PDF). September 1990. Retrieved 2018-01-05.
External links
- Saturn CPU
- "Products: High Performance 4-bit Microcontrollers (S1C63 family)". Epson. Archived from the original on 2013-07-29.
- Considerations for 4-bit processing