1-bit computing: Difference between revisions

Content deleted Content added
mNo edit summary
"poorly suited" in the manual is a bit of an understatement, the 1-bit ICU wasn't always used alone. Doesn't mean such chips were purely 1-bit. I fixed some seemingly OCR errors while copying from the manual, e.g. MC14500B with 8 instead of B, and "requíre".
Line 7:
In [[computer architecture]], '''1-bit''' [[integer (computer science)|integer]]s or other [[data#Uses of data in computing|data]] units are those that are {{nowrap|1 [[bit]]}} (1/8 [[octet (computing)|octet]]) wide. Also, 1-bit [[central processing unit]] (CPU) and [[arithmetic logic unit]] (ALU) architectures are those that are based on [[processor register|register]]s of that size.
 
There are no computers, [[microcontroller]]s of any kind, such as [[programmable logic controller]]s that are exclusively 1-bit for all registers and [[address bus]]es. A 1-bit register can only store 2<sup>1</sup> different values, i.e. 0 or 1, or they can mean e.g. on and off. As thisThis is very restrictive, largere.g. registersnot are also used such asenough for thea [[program counter]] (which is on modern systems implemented in an on-chip register), that isn't implemented on-chip in some 1-bit systems. [[Opcode]]s for an 1-bit systems were, at least for one architecture, 4-bit and the address bus 8-bit.
 
==1-bit==
A [[serial computer]] processes data a single bit at a time. For example, the [[PDP-8|PDP-8/S]] was a [[12-bit]] computer using a 1-bit ALU, processing the 12 bits serially.<ref name="uxuXH">{{cite book|url=http://www.bitsavers.org/pdf/dec/pdp8/pdp8s/PDP8S_MaintMan.pdf|title=PDP-8/S Maintenance Manual|date=August 1969|publisher=[[Digital Equipment Corporation]]|page=3{{ndash}}14}}</ref>
 
An example of a 1-bit computer built from discrete logic [[Smallsmall-scale integration|SSI]] chips is the [[Wang 500]]<!-- Wang 500-0, Wang 520 --> (1970/1971) calculator<ref name="Koblentz_2004">{{cite interview |title=LED calculators rule her house |interviewer-first=Evan |interviewer-last=Koblentz |author-first=Katie<!-- aka Kathie / Katherine / Ken --> |author-last=Wasserman |author-link=Ken Wasserman |journal=Computer Collector Newsletter / Technology Rewind |orig-year=January 2004 |date=March 2006 |url=http://www.snarc.net/tr/katie-led.htm |access-date=2017-05-20 |url-status=live |archive-url=https://archive.today/20191227180243/http://www.snarc.net/tr/katie-led.htm |archive-date=2019-12-27 |quote=Probably my most favorite is the Wang 500. It's got several unique things about it: a very unusual ROM memory made of hundreds of long enamel-coated wires wrapped around iron cores; a super-fast single-bit CPU built out of SSI logic chips; and of course tons of really cool-looking colorful keys.}}</ref><ref name="Wang_1974_Schematics">{{cite book |title=Product Service - Schematic manual |publisher=[[Wang Laboratories, Inc.]] |date=1974 |id=03-0019-0 |url=http://www.thebattles.net/oddments/wang/Wang_500_schematics.pdf |access-date=2017-05-20 |url-status=live |archive-url=https://web.archive.org/web/20170520161939/http://www.thebattles.net/oddments/wang/Wang_500_schematics.pdf |archive-date=2017-05-20}}</ref> as well as the [[Wang 1200]]<!-- including Wang 1220 and 1222. The 1222, however, also had an Intel 4004 --> (1971/1972)<ref name="Battle_2010">{{cite web |title=Wang 1200 - Wang WP History |author-first=Jim |author-last=Battle |date=2010-03-07 |url=http://www.wang1200.org/history.html |access-date=2017-05-21 |url-status=live |archive-url=https://web.archive.org/web/20170521004512/http://www.wang1200.org/history.html |archive-date=2017-05-21}}</ref> word processor series of [[Wang Laboratories]].
 
An example of a 1-bit architecture that was marketed as a CPU is the [[Motorola MC14500B]] Industrial Control Unit (ICU),<ref name="Motorola_1977_MC14500B">{{cite book |title=Motorola MC14500B Industrial Control Unit Handbook - Theory and Operation of a CMOS one-bit processor compatible with B series CMOS devices |author-first1=Vern |author-last1=Gregory |author-first2=Brian |author-last2=Dellande |author-first3=Ray |author-last3=DiSilvestro |author-first4=Terry |author-last4=Malarkey |author-first5=Phil |author-last5=Smith |author-first6=Mike |author-last6=Hadley |publisher=[[Motorola Semiconductor Products Inc.]] |date=1977 |id=33-B78/8.0 |url=http://tinymicros.com/mediawiki/images/e/ec/MC14500B_Handbook.pdf |access-date=2017-05-20 |url-status=live}} (NB. Also available in German language under the title "Motorola MC14500B Industrial Control Unit Handbuch - Theorie und Anwendung eines Ein-Bit-CMOS-Prozessors".)</ref><ref name="Motorola_1995_MC14500B">{{cite book |title=Industrial Control Unit MC14500B |series=Semiconductor Technical Data |work=Motorola CMOS Logic Data |publisher=[[Motorola]] |edition=revision 3 |date=1995<!-- |orig-year=1/94? --> |pages=306–313 |url=http://www.brouhaha.com/~eric/retrocomputing/motorola/mc14500b/mc14500brev3.pdf |access-date=2012-08-01 |url-status=live |archive-url=https://web.archive.org/web/20170520123638/http://www.brouhaha.com/~eric/retrocomputing/motorola/mc14500b/mc14500brev3.pdf |archive-date=2017-05-20}}</ref> introduced in 1977 and manufactured at least up into the mid 1990s.<ref name="Motorola_1995_MC14500B" /> OneIt's ofmanual the computers known to be based on this CPU was the [[WDR 1-bit computer]].<ref name="Ludwig_1986_WDR-1">{{cite book |title=Fast alles über den WDR-1-Bit-Computer |language=German |author-first1=Volker |author-last1=Ludwig |author-first2=Klaus |author-last2=Paschenda |author-first3=Heinz |author-last3=Schepers |author-first4=Hermann-Josef |author-last4=Terglane |author-first5=Klaus |author-last5=Grannemann |author-first6=Burkhard |author-last6=John |author-first7=Hermann |author-last7=Komar |author-first8=Ludwig |author-last8=Meinersen |publisher=DATANorf |___location=Neuss & Recklinghausen, Germany |date=1986 |url=http://wdr-1-bit-computer.talentraspel.de/documents/wdr_1-40.pdf |access-date=2017-05-20 |url-status=live |archive-url=https://web.archive.org/web/20170520131325/http://wdr-1-bit-computer.talentraspel.de/documents/wdr_1-40.pdf |archive-date=2017-05-20}}</ref> A typical sequence of instructions from a program for a 1-bit architecture might bestates:
 
{{quote|
[..] Computers and microcomputers may also be used, but they tend too overcomplicate the task and often require highly trained personnel to develop and maintain the system. A simpler device, designed to operate on inputs and outputs one-at-a-time and configured to resemble a relay system, was introduced. These devices became known to the controls industry as [[programmable logic controller|Programmable Logic Controller]]s (PLC). The Motorola MC14500B Industrial Control Unit (ICU) is the monolithic embodiment of the PLC's central architecture [..]
 
There are functions for which one bit machines are poorly suited. [..] Under some circumstances, a combination of an [[Motorola 6800|MC6800]] MPU and an MC14500B ICU may be the best solution. [..]
 
'''Program Counter'''<br>
The [[program counter]] is composed of two MC145168 binary up-[[counter (digital)|counters]] chained together to create 8 bits of memory address. This gives the system the capability of addressing 256 separate memory words. The counters are configured to count up on the rising edge of the ICU clock (CLK) signal and reset to zero when the ICU is reset. Notice that the program counter count sequence cannot be altered by any operation of the ICU. This confirms that the system is configured to have a looping control structure.
 
'''Memory'''<br>
The memory for this system is composed of one MCM7641 <!-- MCM764l with "L" assumed typo/OCR error --> 512-word by 8 bit PROM memory. Because the program counter is only 8 bits wide, only 256 words, (half of the memory), can be used at any one time. However, by wiring the most significant bit of the memory's address high or low, the system designer can select between two separate programs with only a jumper option. This might be a desirable feature if extremely fast system changes are required.|source=MC14500B INDUSTRIAL CONTROL UNIT HANDBOOK<ref name="Motorola_1977_MC14500B" />}}
 
One of the computers known to be based on this CPU was the [[WDR 1-bit computer]].<ref name="Ludwig_1986_WDR-1">{{cite book |title=Fast alles über den WDR-1-Bit-Computer |language=German |author-first1=Volker |author-last1=Ludwig |author-first2=Klaus |author-last2=Paschenda |author-first3=Heinz |author-last3=Schepers |author-first4=Hermann-Josef |author-last4=Terglane |author-first5=Klaus |author-last5=Grannemann |author-first6=Burkhard |author-last6=John |author-first7=Hermann |author-last7=Komar |author-first8=Ludwig |author-last8=Meinersen |publisher=DATANorf |___location=Neuss & Recklinghausen, Germany |date=1986 |url=http://wdr-1-bit-computer.talentraspel.de/documents/wdr_1-40.pdf |access-date=2017-05-20 |url-status=live |archive-url=https://web.archive.org/web/20170520131325/http://wdr-1-bit-computer.talentraspel.de/documents/wdr_1-40.pdf |archive-date=2017-05-20}}</ref> A typical sequence of instructions from a program for a 1-bit architecture might be:
 
An example of a 1-bit architecture that was marketed as a CPU is the [[Motorola MC14500B]] Industrial Control Unit (ICU),<ref name="Motorola_1977_MC14500B">{{cite book |title=Motorola MC14500B Industrial Control Unit Handbook - Theory and Operation of a CMOS one-bit processor compatible with B series CMOS devices |author-first1=Vern |author-last1=Gregory |author-first2=Brian |author-last2=Dellande |author-first3=Ray |author-last3=DiSilvestro |author-first4=Terry |author-last4=Malarkey |author-first5=Phil |author-last5=Smith |author-first6=Mike |author-last6=Hadley |publisher=[[Motorola Semiconductor Products Inc.]] |date=1977 |id=33-B78/8.0 |url=http://tinymicros.com/mediawiki/images/e/ec/MC14500B_Handbook.pdf |access-date=2017-05-20 |url-status=live}} (NB. Also available in German language under the title "Motorola MC14500B Industrial Control Unit Handbuch - Theorie und Anwendung eines Ein-Bit-CMOS-Prozessors".)</ref><ref name="Motorola_1995_MC14500B">{{cite book |title=Industrial Control Unit MC14500B |series=Semiconductor Technical Data |work=Motorola CMOS Logic Data |publisher=[[Motorola]] |edition=revision 3 |date=1995<!-- |orig-year=1/94? --> |pages=306–313 |url=http://www.brouhaha.com/~eric/retrocomputing/motorola/mc14500b/mc14500brev3.pdf |access-date=2012-08-01 |url-status=live |archive-url=https://web.archive.org/web/20170520123638/http://www.brouhaha.com/~eric/retrocomputing/motorola/mc14500b/mc14500brev3.pdf |archive-date=2017-05-20}}</ref> introduced in 1977 and manufactured at least up into the mid 1990s.<ref name="Motorola_1995_MC14500B" /> One of the computers known to be based on this CPU was the [[WDR 1-bit computer]].<ref name="Ludwig_1986_WDR-1">{{cite book |title=Fast alles über den WDR-1-Bit-Computer |language=German |author-first1=Volker |author-last1=Ludwig |author-first2=Klaus |author-last2=Paschenda |author-first3=Heinz |author-last3=Schepers |author-first4=Hermann-Josef |author-last4=Terglane |author-first5=Klaus |author-last5=Grannemann |author-first6=Burkhard |author-last6=John |author-first7=Hermann |author-last7=Komar |author-first8=Ludwig |author-last8=Meinersen |publisher=DATANorf |___location=Neuss & Recklinghausen, Germany |date=1986 |url=http://wdr-1-bit-computer.talentraspel.de/documents/wdr_1-40.pdf |access-date=2017-05-20 |url-status=live |archive-url=https://web.archive.org/web/20170520131325/http://wdr-1-bit-computer.talentraspel.de/documents/wdr_1-40.pdf |archive-date=2017-05-20}}</ref> A typical sequence of instructions from a program for a 1-bit architecture might be:
* load digital input 1 into a 1-bit register;
* [[Logical disjunction|OR]] the value in the 1-bit register with input 2, leaving the result in the register;