74181: Difference between revisions
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.8 |
Em3rgent0rdr (talk | contribs) →Education: move my last link to external links section |
||
(38 intermediate revisions by 18 users not shown) | |||
Line 1: | Line 1: | ||
{{Short description|First arithmetic logic unit (ALU) on a single chip}} |
|||
[[Image:SN74S181N.JPG|right|thumb|The 74S181 4-bit ALU bitslice resting on a page from the datasheet]] |
[[Image:SN74S181N.JPG|right|thumb|The 74S181 4-bit ALU bitslice resting on a page from the datasheet]] |
||
The '''74181''' is a [[bit slicing|4-bit slice]] [[arithmetic logic unit]] (ALU), implemented as a [[7400 series]] [[Transistor–transistor logic|TTL]] [[integrated circuit]]. |
The '''74181''' is a [[bit slicing|4-bit slice]] [[arithmetic logic unit]] (ALU), implemented as a [[7400 series]] [[Transistor–transistor logic|TTL]] [[integrated circuit]]. Introduced by [[Texas Instruments]] in February 1970,<ref>{{cite book | editor-last=Höltgen | editor-first=Stefan | date=2017 | url=https://books.google.com/books?id=9k8_DwAAQBAJ | title=Logik, Informationstheorie | trans-title=Logic, Information Theory | language=German | publisher=De Gruyter | page=115 | isbn=9783110477504 | via=Google Books}}</ref> it was the first complete ALU on a single chip.<ref>{{cite book |url=http://archive.computerhistory.org/resources/text/bell_gordon/bell.computer_structures_principles_and_examples.1982.102630397.pdf |title=Computer Structures: Principles and Examples |chapter-url=http://gordonbell.azurewebsites.net/computer_structures_principles_and_examples/csp0079.htm |chapter=Chapter 6: Structure |author1=Daniel P. Sieworek |author-link1=Daniel Siewiorek |author2=C. Gordon Bell |author-link2=Gordon Bell |author3=Allen Newell |author-link3=Allen Newell |page=63 |quote=The earliest and most famous chip, the 74181 arithmetic logic unit (ALU), provided up to 32 functions of two 4-bit variables.}}</ref> It was used as the arithmetic/logic core in the [[CPU]]s of many historically significant [[minicomputers]] and other devices. |
||
The 74181 represents an evolutionary step between the CPUs of the 1960s, which were constructed using discrete [[logic gate]]s, and |
The 74181 represents an evolutionary step between the CPUs of the 1960s, which were constructed using discrete [[logic gate]]s, and single-chip [[microprocessor]]s of the 1970s. Although no longer used in commercial products, the 74181 later was used in hands-on [[computer architecture]] courses and is still referenced in textbooks and technical papers. |
||
==Specifications== |
==Specifications== |
||
[[File:74181aluschematic.png|thumb|right|upright=1.8|The combinational logic circuitry of the 74181 integrated circuit]] |
[[File:74181aluschematic.png|thumb|right|upright=1.8|The combinational logic circuitry of the 74181 integrated circuit]] |
||
The 74181 is a [[7400 series]] [[Integrated circuit#SSI.2C MSI.2C LSI|medium-scale integration (MSI)]] [[Transistor–transistor logic|TTL]] [[integrated circuit]], containing the equivalent of 75 logic gates<ref> |
The 74181 is a [[7400 series]] [[Integrated circuit#SSI.2C MSI.2C LSI|medium-scale integration (MSI)]] [[Transistor–transistor logic|TTL]] [[integrated circuit]], containing the equivalent of 75 logic gates<ref>{{cite report |
||
Miles |
|first1=Miles|last1=Murdocca|first2=Apostolos|last2=Gerasoulis|first3=Saul|last3=Levy |
||
|url=https://apps.dtic.mil/sti/citations/ADA244057|title=Novel Optical Computer Architecture Utilizing Reconfigurable Interconnects |
|||
|date=October 1, 1991 |
|||
1991. |
|||
|page=23 |
|||
⚫ | |||
quote: |
|||
⚫ | and most commonly packaged as a 24-pin [[Dual in-line package|DIP]]. The [[4-bit computing|4-bit]] wide ALU can perform all the traditional add / subtract / decrement operations with or without carry, as well as [[bitwise AND|AND]] / NAND, [[bitwise OR|OR]] / NOR, [[bitwise XOR|XOR]], and [[bit shift|shift]]. Many variations of these basic functions are available, for a total of 16 arithmetic and 16 logical operations on two four-bit words. Multiply and divide functions are not provided but can be performed in multiple steps using the shift and add or subtract functions. |
||
⚫ | |||
</ref> |
|||
⚫ | and most commonly packaged as a 24-pin [[Dual in-line package|DIP]]. The [[4-bit]] wide ALU can perform all the traditional add / subtract / decrement operations with or without carry, as well as [[bitwise AND|AND]] / NAND, [[bitwise OR|OR]] / NOR, [[bitwise XOR|XOR]], and [[bit shift|shift]]. Many variations of these basic functions are available, for a total of 16 arithmetic and 16 logical operations on two four-bit words. Multiply and divide functions are not provided but can be performed in multiple steps using the shift and add or subtract functions. |
||
Shift is not an explicit function but can be derived from several available functions; e.g., selecting function "A plus A" with carry (M=0) will give an [[Arithmetic shift | arithmetic left shift]] of the A input. |
Shift is not an explicit function but can be derived from several available functions; e.g., selecting function "A plus A" with carry (M=0) will give an [[Arithmetic shift | arithmetic left shift]] of the A input. |
||
The 74181 performs these operations on two four-bit operands generating a four-bit result with carry in 22 nanoseconds (45 MHz). The 74S181 performs the same operations in 11 nanoseconds (90 MHz), while the 74F181 performs the operations in 7 nanoseconds (143 MHz) (typical). |
The 74181 performs these operations on two four-bit operands generating a four-bit result with carry in 22 nanoseconds (45 MHz). The 74S181 performs the same operations in 11 nanoseconds (90 MHz), while the 74F181 performs the operations in 7 nanoseconds (143 MHz) (typical). |
||
Multiple |
Multiple [[Bit slicing|slices]] can be combined for arbitrarily large word sizes. For example, sixteen 74S181s and five 74S182 look ahead carry generators can be combined to perform the same operations on [[64-bit computing|64-bit]] operands in 28 nanoseconds (36 MHz). Although overshadowed by the performance of today's multi-gigahertz 64-bit microprocessors, this was quite impressive when compared to the sub-megahertz clock speeds of the early four- and eight-bit microprocessors. |
||
=== |
=== Implemented functions === |
||
⚫ | The 74181 implements all 16 possible logical functions with two variables. Its arithmetic functions include addition and subtraction with and without carry. It can be used with active-high data, in which a high [[logic level]] corresponds to 1, and active-low data, in which a low logic level corresponds to 1.<ref>{{cite web|url=https://www.ti.com/lit/ds/symlink/sn54ls181.pdf|title=SN54LS181, SN54S181 SN74LS181, SN 74S181 ARITHMETIC LOGIC UNITS/FUNCTION GENERATORS|website=[[Texas Instruments]]|date=March 1988}}</ref> |
||
⚫ | |||
⚫ | |||
==== Inputs and outputs ==== |
|||
There are four selection inputs, <code>S0</code> to <code>S3</code>, to select the function. <code>M</code> is used to select between logical and arithmetic operation, and <code>Cn</code> is the carry-in. |
|||
<code>A</code> and <code>B</code> is the data to be processed (four bits). <code>F</code> is the number output. There are also <code>P</code> and a <code>G</code> signals for a [[carry-lookahead adder]], which can be implemented via one or several [[74182]] chips. |
|||
==== Function table for output F ==== |
|||
In the following table, [[Bitwise_operation#AND|AND]] is denoted as a product, [[Bitwise_operation#OR|OR]] with a <math>+</math> sign, [[Bitwise_operation#XOR|XOR]] with <math>\oplus</math>, logical [[Bitwise_operation#NOT|NOT]] with an overbar and arithmetic plus and minus using the words plus and minus. |
|||
⚫ | |||
|- bgcolor="#def" |
|- bgcolor="#def" |
||
|colspan=4|'''Selection''' |
|colspan=4 style="border-right: 2px solid" |'''Selection''' |
||
|colspan= |
| colspan=3 style="border-right: 2px solid" |'''Active-low data''' |
||
|colspan= |
| colspan=3 | '''Active-high data''' |
||
|- bgcolor="#fed" |
|||
| colspan=4 style="border-right: 2px solid" | |
|||
|'''Logic''' M = H |
|||
|colspan=2 style="border-right: 2px solid"|'''Arithmetic''' M = L |
|||
|'''Logic''' M = H |
|||
|colspan=2|'''Arithmetic''' M = L |
|||
|- bgcolor="#def" |
|- bgcolor="#def" |
||
| S3 || S2 || S1 || |
| S3 || S2 || S1 ||style="border-right: 2px solid | S0 || || Cn = L (no carry) || Cn = H (carry) |
||
|style="border-left: 2px solid | || Cn = H (no carry) || Cn = L (carry) |
|||
|- |
|- |
||
| |
| L || L || L ||style="border-right: 2px solid | L || <math>\overline{A}</math> || <math>A </math> minus <math> 1</math> || <math>{A}</math> |
||
|style="border-left: 2px solid | <math>\overline{A}</math> || <math>A</math> || <math>A</math> plus 1 |
|||
|- |
|- |
||
| |
| L || L || L ||style="border-right: 2px solid | H || <math>\overline{AB}</math> || <math>AB </math> minus <math> 1</math> || <math>{AB}</math> |
||
|style="border-left: 2px solid | <math>\overline{A + B}</math> || <math>A + B</math> || <math>{(A + B)}</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| L || L || H ||style="border-right: 2px solid | L || <math>\overline{A} + B</math>|| <math>A \overline{B} </math> minus <math> 1</math>|| <math>A \overline{B}</math> |
||
|style="border-left: 2px solid | <math>\overline{A}B</math>|| <math>A + \overline{B}</math> || <math>(A + \overline{B})</math> plus 1 |
|||
|- |
|- |
||
| |
| L || L || H ||style="border-right: 2px solid | H || Logical 1 || <math>-1</math> (two's complement)|| <math>0</math> (zero) |
||
|style="border-left: 2px solid | Logical 0 || <math>-1</math> (two's complement)|| <math>0</math> (zero) |
|||
|- |
|- |
||
| |
| L || H || L ||style="border-right: 2px solid | L || <math>\overline{A+B}</math> || <math>A</math> plus <math>(A + \overline{B})</math> || <math>A</math> plus <math>(A + \overline{B})</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>\overline{AB}</math> || <math>A</math> plus <math>A \overline{B}</math> || <math>A</math> plus <math>(A\overline{B})</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| L || H || L ||style="border-right: 2px solid | H || <math>\overline{B}</math> || <math>AB</math> plus <math>(A + \overline{B})</math> || <math>AB</math> plus <math>(A + \overline{B})</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>\overline{B}</math> || <math>(A + B)</math> plus <math>A \overline{B}</math> || <math>(A + B)</math> plus <math>A \overline{B}</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| L || H || H ||style="border-right: 2px solid | L || <math>\overline{A \oplus B}</math> || <math>A </math> minus <math> B </math> minus <math> 1</math> || <math>A </math> minus <math> B </math> |
||
|style="border-left: 2px solid | <math>A \oplus B</math> || <math>A </math> minus <math> B </math> minus <math> 1</math> || <math>A </math> minus <math> B </math> |
|||
|- |
|- |
||
| |
| L || H || H ||style="border-right: 2px solid | H || <math>A + \overline{B}</math> || <math>A + \overline{B}</math> || <math>A + \overline{B}</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>A\overline{B}</math> || <math>A \overline{B}</math> minus 1 || <math>A\overline{B}</math> |
|||
|- |
|- |
||
| |
| H || L || L ||style="border-right: 2px solid | L || <math>\overline{A}B</math>|| <math>A</math> plus <math>(A + B)</math> || <math>A</math> plus <math>(A + B)</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>\overline{A} + B</math>|| <math>A</math> plus <math>A B</math> || <math>A</math> plus <math>A B</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| H || L || L ||style="border-right: 2px solid | H || <math>A \oplus B</math> || <math>A</math> plus <math>B</math> || <math>A</math> plus <math>B</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>\overline{A \oplus B}</math> || <math>A</math> plus <math>B</math> || <math>A</math> plus <math>B</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| H || L || H ||style="border-right: 2px solid | L || <math>B</math> || <math>A \overline{B}</math> plus <math>(A + B)</math> || <math>A \overline{B}</math> plus <math>(A + B)</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>B</math> || <math>(A + \overline{B})</math> plus <math>A B</math> || <math>(A + \overline{B})</math> plus <math>A B</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| H || L || H ||style="border-right: 2px solid | H || <math>A + B</math> || <math>A + B</math> || <math>AB </math> plus <math> 1</math> |
||
|style="border-left: 2px solid | <math>AB</math> || <math>A B</math> minus 1 || <math>AB </math> |
|||
|- |
|- |
||
| |
| H || H || L ||style="border-right: 2px solid | L || Logical 0 || <math>A</math> plus <math>A</math> || <math>A</math> plus <math>A</math> plus <math>1</math> |
||
|style="border-left: 2px solid | Logical 1 || <math>A</math> plus <math>A</math> || <math>A</math> plus <math>A</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| H || H || L ||style="border-right: 2px solid | H || <math>A \overline{B}</math> || <math>AB</math> plus <math>A</math> || <math>AB</math> plus <math>A</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>A + \overline{B}</math> || <math>(A + B)</math> plus <math>A</math> || <math>(A+ B)</math> plus <math>A</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| H || H || H ||style="border-right: 2px solid | L || <math>A B</math> || <math>A \overline{B}</math> plus <math>A</math> || <math>A \overline{B}</math> plus <math>A</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>A + B</math> || <math>(A + \overline{B})</math> plus <math>A</math> || <math>(A + \overline{B})</math> plus <math>A</math> plus <math>1</math> |
|||
|- |
|- |
||
| |
| H || H || H ||style="border-right: 2px solid | H || <math>A</math> ||<math>A</math> ||<math>A</math> plus <math>1</math> |
||
|style="border-left: 2px solid | <math>A</math> ||<math>A</math> minus <math>1</math> ||<math>A</math> |
|||
|} |
|} |
||
==Significance== |
==Significance== |
||
The 74181 greatly simplified the development and manufacture of computers and other devices that required high speed computation during the |
The 74181 greatly simplified the development and manufacture of computers and other devices that required high speed computation during the 1970s through the early 1980s, and is still referenced as a "classic" ALU design.<ref>{{cite conference|url=https://users.soe.ucsc.edu/~karplus/papers/kestrel-vlsi-1997.pdf|title=Kestrel: Design of an 8-bit SIMD parallel processor|conference=Proc. 17th Conf. on Advanced Research in VLSI|date=September 15–17, 1997|page=11}}</ref> |
||
Prior to the introduction of the 74181, computer CPUs occupied multiple circuit boards and even very simple computers could fill multiple cabinets. The 74181 allowed an entire CPU and in some cases, an entire computer to be constructed on a single large [[printed circuit board]]. The 74181 occupies a historically significant stage between older [[CPU]]s based on discrete logic functions spread over multiple circuit boards and modern microprocessors that incorporate all CPU functions in a single chip. The 74181 was used in various minicomputers and other devices beginning in the 1970s, but as microprocessors became more powerful the practice of building a CPU from discrete components fell out of |
Prior to the introduction of the 74181, computer CPUs occupied multiple circuit boards and even very simple computers could fill multiple cabinets. The 74181 allowed an entire CPU and in some cases, an entire computer to be constructed on a single large [[printed circuit board]]. The 74181 occupies a historically significant stage between older [[CPU]]s based on discrete logic functions spread over multiple circuit boards and modern microprocessors that incorporate all CPU functions in a single chip. The 74181 was used in various minicomputers and other devices beginning in the 1970s, but as microprocessors became more powerful the practice of building a CPU from discrete components fell out of favour and the 74181 was not used in any new designs. |
||
== |
==Education== |
||
By 1994, CPU designs based on the 74181 were not commercially viable due to the comparatively low price and high performance of microprocessors |
By 1994, CPU designs based on the 74181 were not commercially viable due to the comparatively low price and high performance of microprocessors, but it was still useful for teaching [[computer organization]] and [[CPU design]] because it provided opportunities for hands-on design and experimentation.<ref>{{cite conference|url=http://www.bradrodriguez.com/papers/piscedu2.htm|title=A Minimal TTL Processor for Architecture Exploration|author=Bradford J. Rodriguez|conference=Proceedings of the 1994 ACM Symposium on Applied Computing|quote=The study of computer architecture is often an abstract, paper exercise. Students cannot probe the inner workings of a single-chip microprocessor, and few discrete-logic machines are open to student inspection.}}</ref> |
||
* ''Digital Electronics with VHDL (Quartus II Version)'' [http://www.ijme.us/issues/spring2007/Book%20Reviews2007.pdf review] in Journal of Modern Engineering, Volume 7, Number 2, Spring 2007. |
* ''Digital Electronics with VHDL (Quartus II Version)'' [http://www.ijme.us/issues/spring2007/Book%20Reviews2007.pdf review] in Journal of Modern Engineering, Volume 7, Number 2, Spring 2007. |
||
* [http://www.bradrodriguez.com/papers/piscedu2.htm A Minimal TTL Processor for Architecture Exploration] a paper describing how the 74181 can be used to teach CPU architecture. |
* [http://www.bradrodriguez.com/papers/piscedu2.htm A Minimal TTL Processor for Architecture Exploration] a paper describing how the 74181 can be used to teach CPU architecture. |
||
* [https://web.archive.org/web/20060905124143/http://www.iona.edu/academic/artsscience/departments/computerscience/faculty/FacultyPublications/ccsce2003.pdf A Hardware Lab for the Computer Organization Course at Small Colleges] |
* [https://web.archive.org/web/20060905124143/http://www.iona.edu/academic/artsscience/departments/computerscience/faculty/FacultyPublications/ccsce2003.pdf A Hardware Lab for the Computer Organization Course at Small Colleges] in 2003 used the 74LS181 in a lab class. |
||
* [https://web.archive.org/web/20070612011944/http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/20-arithmetic/50-74181/demo-74182-ALU-CLA.html 74181 + 74182 demonstration] Java-based simulator |
* [https://web.archive.org/web/20070612011944/http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/20-arithmetic/50-74181/demo-74182-ALU-CLA.html 74181 + 74182 demonstration] Java-based simulator |
||
* [http://apollo181.wixsite.com/apollo181 APOLLO181 ] (by Gianluca.G, Italy 2012): a homemade educational processor made of TTL logics and bipolar memories, based upon the Bugbook |
* [http://apollo181.wixsite.com/apollo181 APOLLO181 ] (by Gianluca.G, Italy 2012): a homemade educational processor made of TTL logics and bipolar memories, based upon the Bugbook I and II chips, in particular on the 74181. |
||
* [https://www.youtube.com/watch?v=GeSSkvwFDHs Build Your Computer using LOGIC & MEMORY, before the advent of microprocessor] a video showing history and educational use of the 74181 ALU. |
* [https://www.youtube.com/watch?v=GeSSkvwFDHs Build Your Computer using LOGIC & MEMORY, before the advent of microprocessor] a video showing history and educational use of the 74181 ALU. |
||
* [https://m.youtube.com/watch?v=hyIifQzt-Ew&feature=youtu.be A playable demo of the 74181] emulated in a physics simulator |
|||
==Computers== |
==Computers== |
||
Many computer CPUs and subsystems were based on the 74181, including several historically significant models. |
Many computer CPUs and subsystems were based on the 74181, including several historically significant models. |
||
* [[Data General Nova|NOVA]]{{snd}} First widely available [[16-bit]] [[minicomputer]] manufactured by [[Data General]]. NOVA 1200 was |
* [[Data General Nova|NOVA]]{{snd}} First widely available [[16-bit computing|16-bit]] [[minicomputer]] manufactured by [[Data General]]. The NOVA 1200 was the first commercial minicomputer in 1970 to use the 74181.<ref>{{cite web |url=http://apollo181.wixsite.com/apollo181/about |title=History of the 74181 in commercial minicomputers |archive-url=https://web.archive.org/web/20191102084325/https://apollo181.wixsite.com/apollo181/about |archive-date=2019-11-02 |url-status=dead}}</ref> |
||
* Several models of the [[PDP-11]]<ref>{{cite book|url=https://books.google.com/books?id=SDOoBQAAQBAJ&q=%2274181%22+%22pdp-11%22&pg=PA334|title=Computer Engineering: A DEC View of Hardware Systems Design|author1=C. Gordon Bell|author-link1=Gordon Bell|author2=J. Craig Mudge|author3=John E. McNamara|page=335,336|publisher=Digital Press|date=August 1979|isbn=0-932376-00-2}}</ref>{{snd}} Most popular minicomputer of all time,<ref name="acmqueue.org">{{cite journal|url=http://queue.acm.org/detail.cfm?id=1017002|title=Simulators: Virtual Machines of the Past (and Future)|author=Bob Supnik |journal=[[ACM Queue]]|date=August 31, 2004|volume=2|issue=5}}</ref> manufactured by [[Digital Equipment Corporation]]. |
* Several models of the [[PDP-11]]<ref>{{cite book|url=https://books.google.com/books?id=SDOoBQAAQBAJ&q=%2274181%22+%22pdp-11%22&pg=PA334|title=Computer Engineering: A DEC View of Hardware Systems Design|author1=C. Gordon Bell|author-link1=Gordon Bell|author2=J. Craig Mudge|author3=John E. McNamara|page=335,336|publisher=Digital Press|date=August 1979|isbn=0-932376-00-2}}</ref>{{snd}} Most popular minicomputer of all time,<ref name="acmqueue.org">{{cite journal|url=http://queue.acm.org/detail.cfm?id=1017002|title=Simulators: Virtual Machines of the Past (and Future)|author=Bob Supnik |journal=[[ACM Queue]]|date=August 31, 2004|volume=2|issue=5}}</ref> manufactured by [[Digital Equipment Corporation]]. |
||
* [[Xerox Alto]]{{snd}} The first computer to use the [[desktop metaphor]] and graphical user interface (GUI).<ref>{{Cite web |url=http://www.computerhistory.org/events/lectures/star_06171998/star_xscript.shtml |work=Computer History Museum |title= The final demonstration of the Xerox 'Star' Computer |access-date=2007-10-28 |archive-url=https://web.archive.org/web/20071115201439/http://www.computerhistory.org/events/lectures/star_06171998/star_xscript.shtml |archive-date=2007-11-15 |url-status=dead }}</ref><ref> |
* [[Xerox Alto]]{{snd}} The first computer to use the [[desktop metaphor]] and graphical user interface (GUI).<ref>{{Cite web |url=http://www.computerhistory.org/events/lectures/star_06171998/star_xscript.shtml |work=Computer History Museum |title= The final demonstration of the Xerox 'Star' Computer |access-date=2007-10-28 |archive-url=https://web.archive.org/web/20071115201439/http://www.computerhistory.org/events/lectures/star_06171998/star_xscript.shtml |archive-date=2007-11-15 |url-status=dead }}</ref><ref>{{cite journal |title=IC Corner: Early IC ALU'S In The Xerox Alto |first=Tom |last=Del Rosso |url=http://www.bitsavers.org/pdf/chac/CHAC_Analytical_Engine/2.2_October_1994.pdf |journal=The Analytical Engine |page=17 |volume=2 |issue=2 |date=October–December 1994 |publisher=Computer History Association of California}}</ref> |
||
* [[VAX-11/780]]{{snd}} The first [[VAX]], the most popular [[32-bit]] computer of the 1980s<ref name="acmqueue.org"/> manufactured by Digital Equipment Corp.<ref>{{cite web|title=VAX-11/780, in Digital Computing Timeline, 1977|url=http://research.microsoft.com/~GBell/Digital/timeline/1977-3.htm|date=30 April 1998|publisher=Digital Information Research Services, via Microsoft Research (research.microsoft.com)|access-date=2007-11-02}}</ref> |
* [[VAX-11/780]]{{snd}} The first [[VAX]], the most popular [[32-bit computing|32-bit]] computer of the 1980s<ref name="acmqueue.org"/> manufactured by Digital Equipment Corp.<ref>{{cite web|title=VAX-11/780, in Digital Computing Timeline, 1977|url=http://research.microsoft.com/~GBell/Digital/timeline/1977-3.htm|date=30 April 1998|publisher=Digital Information Research Services, via Microsoft Research (research.microsoft.com)|access-date=2007-11-02}}</ref> |
||
* [[Three Rivers PERQ]] |
* [[Three Rivers PERQ]]{{snd}} A commercial computer workstation influenced by the Xerox Alto and first released in 1979.<ref>{{cite journal |title=More On The Peripatetic 74x181 |first=Tony |last=Duell |url=http://www.bitsavers.org/pdf/chac/CHAC_Analytical_Engine/2.3_May_1995.pdf |journal=The Analytical Engine |page=27 |volume=2 |issue=3 |date=May 1995 |publisher=Computer History Association of California}}</ref> |
||
* [[Computer Automation]] Naked Mini LSI |
* [[Computer Automation]] Naked Mini LSI{{snd}} A computer that found use in LSI IC test equipment and process control. |
||
* KMC11{{snd}} Peripheral processor for [[Digital Equipment Corporation]] [[PDP-11]].<ref>{{Cite web |url=http://www.psych.usyd.edu.au/pdp-11/early_peripherals.html |title=Early PDP-11 peripherals |access-date=2007-10-28 |archive-date=2011-07-25 |archive-url=https://web.archive.org/web/20110725083620/http://www.psych.usyd.edu.au/pdp-11/early_peripherals.html |url-status=dead }}</ref> |
* KMC11{{snd}} Peripheral processor for [[Digital Equipment Corporation]] [[PDP-11]].<ref>{{Cite web |url=http://www.psych.usyd.edu.au/pdp-11/early_peripherals.html |title=Early PDP-11 peripherals |access-date=2007-10-28 |archive-date=2011-07-25 |archive-url=https://web.archive.org/web/20110725083620/http://www.psych.usyd.edu.au/pdp-11/early_peripherals.html |url-status=dead }}</ref> |
||
* FPP-12{{snd}} Floating |
* FPP-12{{snd}} Floating-point unit for the Digital Equipment Corporation [[PDP-12]].<ref>{{cite book |url=http://www.bitsavers.org/pdf/dec/pdp12/fpp12/DEC-12-HFPPA-A-D_FPP12A_Floating-Point_Processor_Users_Manual.pdf |title=FPP12A floating-point processor user's manual |page=5{{hyp}}24 |date=December 1973 |id=DEC-12-HFPPA-A-D |publisher=Digital Equipment Corporation}}</ref> |
||
* [[Wang 2200]] CPU (one 74181 per CPU)<ref> |
* [[Wang 2200]] CPU (one 74181 per CPU)<ref>{{cite web |url=http://www.wang2200.org/uarch_2200.html |title=Wang 2200 Microarchitecture Description}}</ref> and disk controller (two 74181s per controller)<ref>{{cite web |url=http://www.wang2200.org/disk_channel.html |title=Wang 2200 Disk Channel Description}}</ref> |
||
* [[TI-990]]{{snd}} [[Texas Instruments]]' series of 16-bit minicomputers. |
* [[TI-990]]{{snd}} [[Texas Instruments]]' series of 16-bit minicomputers. |
||
* Honeywell option 1100{{snd}} The so-called "scientific unit" option for Honeywell H200/H2000 series mainframes. |
* Honeywell option 1100{{snd}} The so-called "scientific unit" option for Honeywell H200/H2000 series mainframes. |
||
* [[Datapoint 2200|Datapoint 2200 Version II]]<ref> |
* [[Datapoint 2200|Datapoint 2200 Version II]]<ref>{{cite book |url=http://bitsavers.org/pdf/datapoint/2200/2200_Drawing_Package.pdf |title=Datapoint 2200 Version I and II Drawing Package |page=36}}</ref> and follow-on machines, the Datapoint 5500, 6600, and 1800/3800{{snd}} The computer that defined the architecture for the [[Intel 8008]]. |
||
* [[George_Cogar|Cogar]] System 4 / [[International_Computers_Limited#Singer_Business_Machines|Singer]] 1501 / [[International_Computers_Limited|ICL]] 1501 Intelligent Terminal<ref>{{cite web|title=ICL 1501 Intelligent Terminal|url=http://allardschaap.woelmuis.nl/computermuseumgroningen/icl/icl.html|website=Allard's Computer Museum Groningen|access-date=23 April 2015|archive-url=https://archive. |
* [[George_Cogar|Cogar]] System 4 / [[International_Computers_Limited#Singer_Business_Machines|Singer]] 1501 / [[International_Computers_Limited|ICL]] 1501 Intelligent Terminal<ref>{{cite web|title=ICL 1501 Intelligent Terminal|url=http://allardschaap.woelmuis.nl/computermuseumgroningen/icl/icl.html|website=Allard's Computer Museum Groningen|access-date=23 April 2015|archive-url=https://archive.today/20150423022335/http://allardschaap.woelmuis.nl/computermuseumgroningen/icl/icl.html|archive-date=23 April 2015|url-status=dead|df=dmy-all}}</ref> |
||
* [[Varian Data Machines]]{{snd}} V70 series of 16-bit minicomputers |
* [[Varian Data Machines]]{{snd}} V70 series of 16-bit minicomputers |
||
Line 115: | Line 146: | ||
* [https://web.archive.org/web/20120131123316/http://www.aeromech.usyd.edu.au/MTRXLAB/ref/components/TTL/DM74LS181.pdf Fairchild]. |
* [https://web.archive.org/web/20120131123316/http://www.aeromech.usyd.edu.au/MTRXLAB/ref/components/TTL/DM74LS181.pdf Fairchild]. |
||
'''Explanation of how the chip works''' |
|||
⚫ | |||
* [https://web.archive.org/web/20170319223610/http://www.righto.com/2017/03/inside-vintage-74181-alu-chip-how-it.html Inside the vintage 74181 ALU chip: how it works and why it's so strange] |
|||
* [https://www.righto.com/2017/01/die-photos-and-reverse-engineering.html Inside the 74181 ALU chip: die photos and reverse engineering] showing its [[Floorplan (microelectronics)|floorplan]] and transistor layout of some of its gates |
|||
⚫ | |||
[[Category:Bit-slice chips]] |
[[Category:Bit-slice chips]] |
||
[[Category:Digital circuits]] |
[[Category:Digital circuits]] |
||
[[Category:History of computing hardware]] |
[[Category:History of computing hardware]] |
||
[[Category:Texas Instruments hardware]] |
Latest revision as of 02:48, 30 December 2024
The 74181 is a 4-bit slice arithmetic logic unit (ALU), implemented as a 7400 series TTL integrated circuit. Introduced by Texas Instruments in February 1970,[1] it was the first complete ALU on a single chip.[2] It was used as the arithmetic/logic core in the CPUs of many historically significant minicomputers and other devices.
The 74181 represents an evolutionary step between the CPUs of the 1960s, which were constructed using discrete logic gates, and single-chip microprocessors of the 1970s. Although no longer used in commercial products, the 74181 later was used in hands-on computer architecture courses and is still referenced in textbooks and technical papers.
Specifications
[edit]The 74181 is a 7400 series medium-scale integration (MSI) TTL integrated circuit, containing the equivalent of 75 logic gates[3] and most commonly packaged as a 24-pin DIP. The 4-bit wide ALU can perform all the traditional add / subtract / decrement operations with or without carry, as well as AND / NAND, OR / NOR, XOR, and shift. Many variations of these basic functions are available, for a total of 16 arithmetic and 16 logical operations on two four-bit words. Multiply and divide functions are not provided but can be performed in multiple steps using the shift and add or subtract functions. Shift is not an explicit function but can be derived from several available functions; e.g., selecting function "A plus A" with carry (M=0) will give an arithmetic left shift of the A input.
The 74181 performs these operations on two four-bit operands generating a four-bit result with carry in 22 nanoseconds (45 MHz). The 74S181 performs the same operations in 11 nanoseconds (90 MHz), while the 74F181 performs the operations in 7 nanoseconds (143 MHz) (typical).
Multiple slices can be combined for arbitrarily large word sizes. For example, sixteen 74S181s and five 74S182 look ahead carry generators can be combined to perform the same operations on 64-bit operands in 28 nanoseconds (36 MHz). Although overshadowed by the performance of today's multi-gigahertz 64-bit microprocessors, this was quite impressive when compared to the sub-megahertz clock speeds of the early four- and eight-bit microprocessors.
Implemented functions
[edit]The 74181 implements all 16 possible logical functions with two variables. Its arithmetic functions include addition and subtraction with and without carry. It can be used with active-high data, in which a high logic level corresponds to 1, and active-low data, in which a low logic level corresponds to 1.[4]
Inputs and outputs
[edit]There are four selection inputs, S0
to S3
, to select the function. M
is used to select between logical and arithmetic operation, and Cn
is the carry-in.
A
and B
is the data to be processed (four bits). F
is the number output. There are also P
and a G
signals for a carry-lookahead adder, which can be implemented via one or several 74182 chips.
Function table for output F
[edit]In the following table, AND is denoted as a product, OR with a sign, XOR with , logical NOT with an overbar and arithmetic plus and minus using the words plus and minus.
Selection | Active-low data | Active-high data | |||||||
Logic M = H | Arithmetic M = L | Logic M = H | Arithmetic M = L | ||||||
S3 | S2 | S1 | S0 | Cn = L (no carry) | Cn = H (carry) | Cn = H (no carry) | Cn = L (carry) | ||
L | L | L | L | minus | plus 1 | ||||
L | L | L | H | minus | plus | ||||
L | L | H | L | minus | plus 1 | ||||
L | L | H | H | Logical 1 | (two's complement) | (zero) | Logical 0 | (two's complement) | (zero) |
L | H | L | L | plus | plus plus | plus | plus plus | ||
L | H | L | H | plus | plus plus | plus | plus plus | ||
L | H | H | L | minus minus | minus | minus minus | minus | ||
L | H | H | H | plus | minus 1 | ||||
H | L | L | L | plus | plus plus | plus | plus plus | ||
H | L | L | H | plus | plus plus | plus | plus plus | ||
H | L | H | L | plus | plus plus | plus | plus plus | ||
H | L | H | H | plus | minus 1 | ||||
H | H | L | L | Logical 0 | plus | plus plus | Logical 1 | plus | plus plus |
H | H | L | H | plus | plus plus | plus | plus plus | ||
H | H | H | L | plus | plus plus | plus | plus plus | ||
H | H | H | H | plus | minus |
Significance
[edit]The 74181 greatly simplified the development and manufacture of computers and other devices that required high speed computation during the 1970s through the early 1980s, and is still referenced as a "classic" ALU design.[5]
Prior to the introduction of the 74181, computer CPUs occupied multiple circuit boards and even very simple computers could fill multiple cabinets. The 74181 allowed an entire CPU and in some cases, an entire computer to be constructed on a single large printed circuit board. The 74181 occupies a historically significant stage between older CPUs based on discrete logic functions spread over multiple circuit boards and modern microprocessors that incorporate all CPU functions in a single chip. The 74181 was used in various minicomputers and other devices beginning in the 1970s, but as microprocessors became more powerful the practice of building a CPU from discrete components fell out of favour and the 74181 was not used in any new designs.
Education
[edit]By 1994, CPU designs based on the 74181 were not commercially viable due to the comparatively low price and high performance of microprocessors, but it was still useful for teaching computer organization and CPU design because it provided opportunities for hands-on design and experimentation.[6]
- Digital Electronics with VHDL (Quartus II Version) review in Journal of Modern Engineering, Volume 7, Number 2, Spring 2007.
- A Minimal TTL Processor for Architecture Exploration a paper describing how the 74181 can be used to teach CPU architecture.
- A Hardware Lab for the Computer Organization Course at Small Colleges in 2003 used the 74LS181 in a lab class.
- 74181 + 74182 demonstration Java-based simulator
- APOLLO181 (by Gianluca.G, Italy 2012): a homemade educational processor made of TTL logics and bipolar memories, based upon the Bugbook I and II chips, in particular on the 74181.
- Build Your Computer using LOGIC & MEMORY, before the advent of microprocessor a video showing history and educational use of the 74181 ALU.
- A playable demo of the 74181 emulated in a physics simulator
Computers
[edit]Many computer CPUs and subsystems were based on the 74181, including several historically significant models.
- NOVA – First widely available 16-bit minicomputer manufactured by Data General. The NOVA 1200 was the first commercial minicomputer in 1970 to use the 74181.[7]
- Several models of the PDP-11[8] – Most popular minicomputer of all time,[9] manufactured by Digital Equipment Corporation.
- Xerox Alto – The first computer to use the desktop metaphor and graphical user interface (GUI).[10][11]
- VAX-11/780 – The first VAX, the most popular 32-bit computer of the 1980s[9] manufactured by Digital Equipment Corp.[12]
- Three Rivers PERQ – A commercial computer workstation influenced by the Xerox Alto and first released in 1979.[13]
- Computer Automation Naked Mini LSI – A computer that found use in LSI IC test equipment and process control.
- KMC11 – Peripheral processor for Digital Equipment Corporation PDP-11.[14]
- FPP-12 – Floating-point unit for the Digital Equipment Corporation PDP-12.[15]
- Wang 2200 CPU (one 74181 per CPU)[16] and disk controller (two 74181s per controller)[17]
- TI-990 – Texas Instruments' series of 16-bit minicomputers.
- Honeywell option 1100 – The so-called "scientific unit" option for Honeywell H200/H2000 series mainframes.
- Datapoint 2200 Version II[18] and follow-on machines, the Datapoint 5500, 6600, and 1800/3800 – The computer that defined the architecture for the Intel 8008.
- Cogar System 4 / Singer 1501 / ICL 1501 Intelligent Terminal[19]
- Varian Data Machines – V70 series of 16-bit minicomputers
Other uses
[edit]- Vectorbeam – Arcade game platform used by Cinematronics for various arcade games including Space Wars, Starhawk, Warrior, Star Castle and others uses three 25LS181 chips in its 12-bit processor.[20]
See also
[edit]- Arithmetic logic unit
- Microsequencer
- 7400-series integrated circuits
- List of 7400-series integrated circuits
References
[edit]- ^ Höltgen, Stefan, ed. (2017). Logik, Informationstheorie [Logic, Information Theory] (in German). De Gruyter. p. 115. ISBN 9783110477504 – via Google Books.
- ^ Daniel P. Sieworek; C. Gordon Bell; Allen Newell. "Chapter 6: Structure". Computer Structures: Principles and Examples (PDF). p. 63.
The earliest and most famous chip, the 74181 arithmetic logic unit (ALU), provided up to 32 functions of two 4-bit variables.
- ^ Murdocca, Miles; Gerasoulis, Apostolos; Levy, Saul (October 1, 1991). Novel Optical Computer Architecture Utilizing Reconfigurable Interconnects (Report). p. 23.
Logic diagram for the 74181 ... There are 63 logic gates.
- ^ "SN54LS181, SN54S181 SN74LS181, SN 74S181 ARITHMETIC LOGIC UNITS/FUNCTION GENERATORS" (PDF). Texas Instruments. March 1988.
- ^ Kestrel: Design of an 8-bit SIMD parallel processor (PDF). Proc. 17th Conf. on Advanced Research in VLSI. September 15–17, 1997. p. 11.
- ^ Bradford J. Rodriguez. A Minimal TTL Processor for Architecture Exploration. Proceedings of the 1994 ACM Symposium on Applied Computing.
The study of computer architecture is often an abstract, paper exercise. Students cannot probe the inner workings of a single-chip microprocessor, and few discrete-logic machines are open to student inspection.
- ^ "History of the 74181 in commercial minicomputers". Archived from the original on 2019-11-02.
- ^ C. Gordon Bell; J. Craig Mudge; John E. McNamara (August 1979). Computer Engineering: A DEC View of Hardware Systems Design. Digital Press. p. 335,336. ISBN 0-932376-00-2.
- ^ a b Bob Supnik (August 31, 2004). "Simulators: Virtual Machines of the Past (and Future)". ACM Queue. 2 (5).
- ^ "The final demonstration of the Xerox 'Star' Computer". Computer History Museum. Archived from the original on 2007-11-15. Retrieved 2007-10-28.
- ^ Del Rosso, Tom (October–December 1994). "IC Corner: Early IC ALU'S In The Xerox Alto" (PDF). The Analytical Engine. 2 (2). Computer History Association of California: 17.
- ^ "VAX-11/780, in Digital Computing Timeline, 1977". Digital Information Research Services, via Microsoft Research (research.microsoft.com). 30 April 1998. Retrieved 2007-11-02.
- ^ Duell, Tony (May 1995). "More On The Peripatetic 74x181" (PDF). The Analytical Engine. 2 (3). Computer History Association of California: 27.
- ^ "Early PDP-11 peripherals". Archived from the original on 2011-07-25. Retrieved 2007-10-28.
- ^ FPP12A floating-point processor user's manual (PDF). Digital Equipment Corporation. December 1973. p. 5-24. DEC-12-HFPPA-A-D.
- ^ "Wang 2200 Microarchitecture Description".
- ^ "Wang 2200 Disk Channel Description".
- ^ Datapoint 2200 Version I and II Drawing Package (PDF). p. 36.
- ^ "ICL 1501 Intelligent Terminal". Allard's Computer Museum Groningen. Archived from the original on 23 April 2015. Retrieved 23 April 2015.
- ^ Star Castle Op and Maintenance. Cinematronics, Inc. 1980.
External links
[edit]Manufacturer's data sheets:
Explanation of how the chip works
- Inside the vintage 74181 ALU chip: how it works and why it's so strange
- Inside the 74181 ALU chip: die photos and reverse engineering showing its floorplan and transistor layout of some of its gates