Content deleted Content added
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 |
Guy Harris (talk | contribs) Use {{cite conference}} for a conference paper. |
||
(29 intermediate revisions by 11 users not shown) | |||
Line 1:
{{Short description|Computer architecture bit width}}
{{Use dmy dates|date=February 2020|cs1-dates=y}}▼
{{Computer architecture bit widths}}
'''4-bit computing'''
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.<ref>{{cite conference |arxiv=2310.16836 |doi=10.18653/v1/2023.emnlp-main.39 |title=LLM-FP4: 4-Bit Floating-Point Quantized Transformers |book-title=Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing |date=2023 |last1=Liu |first1=Shih-Yang |last2=Liu |first2=Zechun |last3=Huang |first3=Xijie |last4=Dong |first4=Pingcheng |last5=Cheng |first5=Kwang-Ting |pages=592–605 }}</ref>
4-bit processors were widely used in [[electronic calculator]]s and other roles where decimal math was used, like electronic [[cash register]]s, [[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 circuit]]s 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|thumb|20-pin PSOP
[[File:Intel C4004 greytraces CPU.jpg|thumb|left|16-pin DIP
[[File:Olympia CD700 Desktop Calculator. 1971.Microprogrammable Arithmetic Processor System Devices (MAPS).jpg|thumb|Olympia CD700 Desktop Calculator using the National Semiconductor MAPS MM570X [[bit-serial]] 4-bit microcontroller]]
[[File:Alps remote control BHR970001B-7517.jpg|thumb|left|Infrared remote control PCB
A 4-bit processor may seem limited, but it is a good match for calculators, where each decimal digit fits into four bits.<ref name="Shirriff_TMS1000" />
Some of the first [[microprocessor]]s had a 4-bit word length and were developed around 1970. The first commercial microprocessor was the [[binary-coded decimal]] (BCD-based) [[Intel 4004]],<ref name="Mack_2005" /><ref name="Hofstra_History" /> 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).<ref
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.<ref>{{cite web |url=http://www.antiquetech.com/?page_id=796 |title=Rockwell PPS-4}}</ref>
Line 22 ⟶ 29:
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 game]]s 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 [[AMD Am2900|Am2901]] or [[74181]]
The [[Zilog Z80]] (discontinued in 2024), although it is an 8-bit microprocessor, has a 4-bit ALU.<ref name="Shima_Z80" /><ref name="Shirriff_Z80" />
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,<ref>{{ cite interview | first = Gardner | last = Hendrie | title = Oral History of Edson (Ed) D. de Castro | date = 22 November 2002 | url = http://archive.computerhistory.org/resources/access/text/2012/07/102702207-05-01-acc.pdf |
The [[HP Saturn]] processors, used in many [[Hewlett-Packard]] calculators between 1984<!-- intro of HP-71B --> and 2003<!-- when the HP49 was discontinued and replaced by an ARM based model developed by Kinpo --> <!-- EOL announcement of HP 50g --> (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.<!-- Its instructions were 10 bits wide.--><!-- The previous statement is factually inaccurate and not supported by the cited sources --><!-- <ref name="HPM">{{cite web |url=http://www.hpmuseum.org/techcpu.htm |title=HP CPU and Programming |access-date=2014-01-14}}</ref> --><!-- This reference is invalid because it points to a page which describes the microarchitectures of the HP41 and older calculators which did not use the Saturn. The reference has been updated to point to the H.P. Saturn specific page. --><ref name="HPM_Saturn" /><ref name="Grack_Saturn" /><ref name="HPCalc_Saturn" /><!--{{Off-topic|date=December 2015|HP Saturn}}Since 2003, new Saturn-based HP calculators{{Dubious |date=December 2015| reason=These are not "Saturn-based" processors. The "Saturn+" isn't even a Saturn processor, but an emulation of one.}} (including the [[HP 49/50 series]]) use a 32-bit processor with an [[ARM920T]] core to emulate an extended Saturn processor architecture named [[HP Saturn+|Saturn+]] at a higher speed. -->
Line 33 ⟶ 40:
== Uses ==
[[File:National_Semiconductor_COP410L_NGS_top_metal.jpg|thumb|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".<ref name="Cateye" /> Other typical uses include [[coffeemaker|coffee makers]], [[remote control|infrared remote controls]],<ref name="RenesasPD67" /> and [[security alarm]]s.<ref name="Haskell_MC" /><!-- "4-bit" or "4 bit" isn't actually in the source, 8-bit PIC is, and "Includes coffee makers, burglar alarms, TV remote controls, simple robots, etc." -->
The processor in Barbie typewriters that can encrypt is a 4-bit microcontroller.<ref>[https://www.cryptomuseum.com/crypto/mehano/barbie/ Paul Reuvers and Marc Simons. Crypto Museum. "Barbie Typewriter", 2015]</ref>
Several manufacturers used 4-bit microcontrollers in their early electronic games:<ref>{{cite web |title=National Semiconductor COP400 |url=http://seanriddle.com/cop400.html |publisher=Sean Riddle |access-date=24 December 2021}}</ref>
* [[Mattel|Mattel's]] Funtronics Jacks, Red Light Green Light, Tag, Plus One and Dalla$.
* [[Milton Bradley Company|Milton Bradley]] Lightfight and Electronic Battleship 1982.
* [[Coleco]] Head to Head Basketball.
* National Semiconductor Quiz Kid Racer.
* [[Entex Industries|Entex]] Space Invader.
* [[Texas Instruments]] My Little Computer.<ref>{{cite web |last1=Woerner |first1=Joerg |title=Texas Instruments My Little Computer |url=http://www.datamath.org/Edu/MyLittleComputer.htm |website=Datamath Calculator Museum |access-date=19 June 2024}}</ref>
Western Digital used a 4-bit microcontroller as the basis for their WD2412 time-of-day clock.<ref>{{cite web |title=1983 Components Catalog |url=http://www.bitsavers.org/components/westernDigital/_dataBooks/1983_Western_Digital_Components_Catalog.pdf |page=621 |publisher=Western Digital |access-date=24 December 2021}}</ref>
The [[Grundy Newbrain]] computer uses a 4-bit microcontroller to manage its keyboard, tape I/O, and its built-in 16 character [[Vacuum fluorescent display|VF]] alphanumeric display.<ref>{{cite web |title=COP420 4-Bit Processor - Newbrain |url=https://www.newbrainemu.eu/el/specifications/newbrain/cop420-4-bit-processor.html |access-date=30 December 2021}}</ref>
== Details ==
Line 51 ⟶ 69:
* [[Intel 4040]] (discontinued 1981)
* [[TMS 1000]] (the first high-volume commercial microcontroller, from 1974, after Intel 4004; now discontinued<!-- for sure, and when?-->)
* [[Atmel]] [[MARC4]] core<ref name="Atmel_MARC4_Image" /><ref name="Atmel_MARC4_Product" />
* [[Samsung]] S3C7 (KS57 Series) 4-bit microcontrollers (RAM: 512 to 5264 nibbles, 6 MHz clock)
* [[Toshiba]] [[TLCS-47]] series
Line 57 ⟶ 75:
* [[NEC]] [[μPD75X]]
* NEC [[μCOM-4]]
* NEC (now [[Renesas]])
* [[EM Microelectronic-Marin]] EM6600 family,<ref name="Cravotta" /> EM6580,<ref name="EM6580_1" /><ref name="EM6580_2" /> EM6682,<ref name="EM6682" /> etc.
* Epson [[S1C63]] family
Line 78 ⟶ 96:
== See also ==
* [[GMC-4]]
* [[Hitachi HD44780 LCD controller]]
* Intel's [[Low Pin Count|LPC]] (low-pin-count) bus/interface for 4-bit communication
** Its successor for modern computers, Intel's [[Enhanced Serial Peripheral Interface]] (eSPI), allows 1-bit, 2-bit, and 4-bit communication
== References ==
▲{{refs|refs=
<ref name="Mack_2005">{{cite web |title=The Microcomputer Revolution |author-first=Pamela E. |author-last=Mack |date=2005-11-30 |url=http://www.clemson.edu/caah/history/FacultyPages/PamMack/lec122/micro.htm |access-date=2009-12-23}}</ref>
<ref name="Hofstra_History">{{cite web |title=History in the Computing Curriculum |url=http://www.hofstra.edu/pdf/comphist_9812tla6.pdf |access-date=2017-06-22 |archive-url=https://web.archive.org/web/20110719211222/http://www.hofstra.edu/pdf/CompHist_9812tla6.PDF |archive-date=2011-07-19 |url-status=dead}}</ref>
<ref name="TI_1976_TMS1000">{{cite book |url=http://blog.kevtris.org/blogfiles/TMS_1000_Data_Manual.pdf |title=TMS 1000 Series Data Manual |date=December 1976 |publisher=[[Texas Instruments]] |access-date=2013-07-20}}</ref>
<ref name="UT_Forth">{{Cite web|url=http://www.ultratechnology.com/chips.htm|title=Forth Chips|website=www.ultratechnology.com}}</ref>
<ref name="ISOIEC9899_1999_1">{{cite book |title=ISO/IEC 9899:1999 specification |at=p. 20, § 5.2.4.2.1 |url=
<ref name="ISOIEC9899_1999_2">{{cite book |title=ISO/IEC 9899:1999 specification |at=p. 37, § 6.2.6.1 (4) |url=
<ref name="Cline">{{cite web |author-first=Marshall |author-last=Cline |url=http://www.parashift.com/c++-faq-lite/bytes-review.html |title=C++ FAQ: the rules about bytes, chars, and characters}}</ref>
<ref name="CPP">{{cite web |url=http://www.cplusplus.com/forum/general/51911/ |title=4-bit integer |publisher=cplusplus.com |access-date=2014-11-21}}</ref>
Line 101 ⟶ 118:
<ref name="Cateye">{{cite web |url=http://cateye.com/images/manual/CC-COM10W_ENG_v3.pdf |title=Cateye Commuter Manual |access-date=2014-02-11}}</ref>
<ref name="RenesasPD67">{{Cite web|url=http://documentation.renesas.com/doc/DocumentServer/U14935EJ2V1DS00.pdf|title=μPD67, 67A, 68, 68A, 69 4-bit single-chip microcontroller for infrared remote control transmission|website=documentation.renesas.com|archive-url=https://web.archive.org/web/20160106205219/http://documentation.renesas.com/doc/DocumentServer/U14935EJ2V1DS00.pdf|archive-date=2016-01-06}}</ref>
<ref name="Haskell_MC">{{cite web |url=http://cse.secs.oakland.edu/haskell/CSE171/Lectures/Fall2004/L12.2%20Microcontrollers.ppt |author-last=Haskell |author-first=Richard |title=Introduction to Digital Logic and Microprocessors (Lecture 12.2) |access-date=2014-02-11 |archive-url=https://web.archive.org/web/20140222063433/http://cse.secs.oakland.edu/haskell/CSE171/Lectures/Fall2004/L12.2%20Microcontrollers.ppt |archive-date=2014-02-22 |url-status=dead}}</ref>
<ref name="Atmel_MARC4_Image">{{cite web |url=http://www.atmel.com/Images/doc4747.pdf |archive-url=https://web.archive.org/web/20141215021454/http://www.atmel.com/Images/doc4747.pdf |archive-date=2014-12-15 |title=MARC4 4-bit Microcontrollers – Programmer's Guide |publisher=[[Atmel]] |access-date=2014-01-14 |url-status=dead}}</ref>
<ref name="Atmel_MARC4_Product">{{cite web |url=http://www.atmel.com/products/MARC4/ |title=MARC4 4-Bit Architecture |publisher=[[Atmel]] |archive-url=https://web.archive.org/web/20090531214448/http://atmel.com/products/MARC4/ |archive-date=2009-05-31 |url-status=dead}}</ref>
<ref name="Atmel_EOL">{{cite web |url=http://www.atmel.com/images/he140901.pdf |title=Product End-of-Life (EOL) Notification |date=2014-03-07 |publisher=[[Atmel]] |archive-url=https://web.archive.org/web/20160807174435/http://www.atmel.com/images/he140901.pdf |archive-date=2016-08-07 |url-status=dead}}</ref>
<ref name="Renesas_uPD6P9">{{Cite web|url=http://documentation.renesas.com/doc/DocumentServer/U15144EJ1V1DS00.pdf|title=μPD6P9 4-bit single-chip microcontroller for infrared remote control transmission|website=documentation.renesas.com|archive-url=https://web.archive.org/web/20160327192018/http://documentation.renesas.com/doc/DocumentServer/U15144EJ1V1DS00.pdf|archive-date=2016-03-27}}</ref>
<ref name="Renesas_uPD17240">{{Cite web|url=http://documentation.renesas.com/doc/DocumentServer/U15002EJ1V1DS00.pdf|title=μPD17240, 17241, 17242, 17243, 17244, 17245, 17246 4-bit single-chip microcontrollers for small general-purpose infrared remote control transmitters|website=documentation.renesas.com|archive-url=https://web.archive.org/web/20160327182841/http://documentation.renesas.com/doc/DocumentServer/U15002EJ1V1DS00.pdf|archive-date=2016-03-27}}</ref>
Line 111 ⟶ 128:
<ref name="Cravotta">{{cite web |author-first=Robert |author-last=Cravotta |url=http://www.embeddedinsights.com/directory/epd-downloads.php |title=Embedded Processing Directory}}</ref>
<ref name="EM6580_1">{{cite web |url=http://www.emmarin.com/Products.asp?IdProduct=215 |title=EM6580 |access-date=2013-05-12 |archive-url=https://web.archive.org/web/20131219221418/http://www.emmarin.com/Products.asp?IdProduct=215 |archive-date=2013-12-19 |url-status=dead}}</ref>
<ref name="EM6580_2">{{Cite web|url=
<ref name="EM6682">{{Cite web|url=
<ref name="Sharp_1990">{{cite book |url=http://bitsavers.org/components/sharp/_dataBooks/1990_Sharp_Microcomputers_Data_Book.pdf |title=Sharp Microcomputers Data Book |date=September 1990 |access-date=2018-01-05}}</ref>
}}
== External links ==
* [http://www.hpmuseum.org/saturn.htm Saturn CPU]
* {{cite web |url=http://www.epson.jp/device/semicon_e/product/mcu/high_4bit/ |archive-url=https://web.archive.org/web/20130729191831/http://www.epson.jp/device/semicon_e/product/mcu/high_4bit/ |archive-date=2013-07-29 |url-status=dead |website=Epson |title=Products: High Performance 4-bit Microcontrollers (S1C63 family)}}
* [http://www.embeddedinsights.com/channels/2010/12/10/considerations-for-4-bit-processing/ Considerations for 4-bit processing]
{{CPU technologies}}
▲{{Use dmy dates|date=February 2020|cs1-dates=y}}
[[Category:Data unit]]
|