let's build a computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… ·...
TRANSCRIPT
![Page 1: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/1.jpg)
1
![Page 2: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/2.jpg)
Year3014
1
![Page 3: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/3.jpg)
2
![Page 4: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/4.jpg)
After aseries ofdemotions
2
![Page 5: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/5.jpg)
3
![Page 6: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/6.jpg)
Sous-Chef3
![Page 7: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/7.jpg)
Sous-Chef3
Assistant
![Page 8: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/8.jpg)
4
![Page 9: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/9.jpg)
ISSIcarus
4
![Page 10: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/10.jpg)
5
![Page 11: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/11.jpg)
UnfortunateAccident
5
![Page 12: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/12.jpg)
6
![Page 13: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/13.jpg)
PhaseMatter Array
6
![Page 14: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/14.jpg)
7
![Page 15: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/15.jpg)
7
Dark MatterCephalopod
![Page 16: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/16.jpg)
8
![Page 17: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/17.jpg)
Killing8
![Page 18: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/18.jpg)
9
![Page 19: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/19.jpg)
TheCaptain
9
![Page 20: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/20.jpg)
10
![Page 21: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/21.jpg)
ScienceOfficer
10
![Page 22: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/22.jpg)
11
![Page 23: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/23.jpg)
Engineer11
![Page 24: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/24.jpg)
12
![Page 25: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/25.jpg)
and, ofcourse
12
![Page 26: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/26.jpg)
13
![Page 27: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/27.jpg)
TheComputer
13
![Page 28: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/28.jpg)
14
![Page 29: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/29.jpg)
I’mstranded!
14
![Page 30: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/30.jpg)
15
![Page 31: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/31.jpg)
All IHave
15
![Page 32: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/32.jpg)
16
![Page 33: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/33.jpg)
PowerSupply
16
![Page 34: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/34.jpg)
17
![Page 35: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/35.jpg)
A Bucket ofNAND gates
17
![Page 36: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/36.jpg)
18
![Page 37: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/37.jpg)
andthisbook
18
![Page 38: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/38.jpg)
19
![Page 39: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/39.jpg)
I am...19
![Page 40: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/40.jpg)
20
![Page 41: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/41.jpg)
Lost In Space
20
![Page 42: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/42.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Let’s Build a Computer!
21
![Page 43: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/43.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Setting ExpectationsHighly Technical Talk
(I hope) Highly Approachable Talk
200 Slides ≅ 6 ⅔ spm
I have to go incredibly fast.
Not my field of expertise at all. I’m terrified.22
![Page 44: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/44.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Nand to Tetris
23
![Page 45: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/45.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
I !
this book24
♥
![Page 46: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/46.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 25
High Level Language & OS
Virtual Machine
Assembly Language
Machine Language
Hardware Platform
Chips & Logic Gates
Physics
![Page 47: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/47.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 25
High Level Language & OS
Virtual Machine
Assembly Language
Machine Language
Hardware Platform
Chips & Logic Gates
Physics
High Level Language & OS
Virtual Machine
Assembly Language
Machine Language
Hardware Platform
Chips & Logic Gates
Physics
![Page 48: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/48.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 26statement of the system’s abstraction—namely, the various services that it isexpected to deliver. Having presented the what, each chapter proceeds to discuss howthe abstraction can be implemented, leading to a (proposed) Implementation section.The next section is always Perspective, in which we highlight noteworthy issues leftout from the chapter. Each chapter ends with a Project section that provides step-by-step building instructions, testing materials, and software tools for actually buildingand unit-testing the system described in the chapter.
Projects
The computer system described in the book is for real—it can actually be built, andit works! A reader who takes the time and effort to gradually build this computer willgain a level of intimate understanding unmatched by mere reading. Hence, the bookis geared toward active readers who are willing to roll up their sleeves and build acomputer from the ground up.
Each chapter includes a complete description of a stand-alone hardware or soft-ware development project. The four projects that construct the computer platformare built using a simple Hardware Description Language (HDL) and simulated on ahardware simulator supplied with the book. Five of the subsequent software projects
c3
c10
c7
c9
c6
c5
c11
c1
c2
c12
c8
c4
Typicalsoftwarehierarchy
Typicalhardwareplatform
High-Level Language / Applications (∞)
Operating System
Compiler
Virtual Machine
Assembler
Computer Architecture
Machine Language
ALU Memory Elements
Boolean Arithmetic
Boolean Logic
Sequential Logic
Figure P.1 Book and proposed course map, with chapter numbers in circles.
xii Preface
From “Elements of Computing Systems”
![Page 49: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/49.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 26statement of the system’s abstraction—namely, the various services that it isexpected to deliver. Having presented the what, each chapter proceeds to discuss howthe abstraction can be implemented, leading to a (proposed) Implementation section.The next section is always Perspective, in which we highlight noteworthy issues leftout from the chapter. Each chapter ends with a Project section that provides step-by-step building instructions, testing materials, and software tools for actually buildingand unit-testing the system described in the chapter.
Projects
The computer system described in the book is for real—it can actually be built, andit works! A reader who takes the time and effort to gradually build this computer willgain a level of intimate understanding unmatched by mere reading. Hence, the bookis geared toward active readers who are willing to roll up their sleeves and build acomputer from the ground up.
Each chapter includes a complete description of a stand-alone hardware or soft-ware development project. The four projects that construct the computer platformare built using a simple Hardware Description Language (HDL) and simulated on ahardware simulator supplied with the book. Five of the subsequent software projects
c3
c10
c7
c9
c6
c5
c11
c1
c2
c12
c8
c4
Typicalsoftwarehierarchy
Typicalhardwareplatform
High-Level Language / Applications (∞)
Operating System
Compiler
Virtual Machine
Assembler
Computer Architecture
Machine Language
ALU Memory Elements
Boolean Arithmetic
Boolean Logic
Sequential Logic
Figure P.1 Book and proposed course map, with chapter numbers in circles.
xii Preface
From “Elements of Computing Systems”
![Page 50: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/50.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 26statement of the system’s abstraction—namely, the various services that it isexpected to deliver. Having presented the what, each chapter proceeds to discuss howthe abstraction can be implemented, leading to a (proposed) Implementation section.The next section is always Perspective, in which we highlight noteworthy issues leftout from the chapter. Each chapter ends with a Project section that provides step-by-step building instructions, testing materials, and software tools for actually buildingand unit-testing the system described in the chapter.
Projects
The computer system described in the book is for real—it can actually be built, andit works! A reader who takes the time and effort to gradually build this computer willgain a level of intimate understanding unmatched by mere reading. Hence, the bookis geared toward active readers who are willing to roll up their sleeves and build acomputer from the ground up.
Each chapter includes a complete description of a stand-alone hardware or soft-ware development project. The four projects that construct the computer platformare built using a simple Hardware Description Language (HDL) and simulated on ahardware simulator supplied with the book. Five of the subsequent software projects
c3
c10
c7
c9
c6
c5
c11
c1
c2
c12
c8
c4
Typicalsoftwarehierarchy
Typicalhardwareplatform
High-Level Language / Applications (∞)
Operating System
Compiler
Virtual Machine
Assembler
Computer Architecture
Machine Language
ALU Memory Elements
Boolean Arithmetic
Boolean Logic
Sequential Logic
Figure P.1 Book and proposed course map, with chapter numbers in circles.
xii Preface
From “Elements of Computing Systems”
![Page 51: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/51.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Complexity builds from Simplicity
27
Boolean Logic
Boolean Arithmetic
Sequential Logic
Computer Logic
![Page 52: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/52.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Very Important:
28
![Page 53: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/53.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
This is NOT comic sans!
29
![Page 54: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/54.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
This is NOT comic sans!
29
ttttt
![Page 55: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/55.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
This is NOT comic sans!
29
ttttt Hand-drawn font called Sketchnote!
![Page 56: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/56.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Boolean Logic
30
![Page 57: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/57.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 31
NAND
![Page 58: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/58.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
WTF is a
Nand?!?32
![Page 59: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/59.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Not-And
33
NAND
![Page 60: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/60.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Not-And
33
NAND
Not
![Page 61: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/61.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Not-And
33
NAND
And
Not
![Page 62: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/62.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Nand34
NAND
a b nand
T T F
T F T
F T T
F F T
![Page 63: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/63.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Rubydef nand a, b ! (a && b) end
35
![Page 64: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/64.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Rubyclass Object def ⅋⅋ other ! (self && other) end end
36
![Page 65: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/65.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Rubyclass Object def ⅋⅋ other ! (self && other) end end
36
So Cool!
![Page 66: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/66.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Universal Gates
37
NAND
NOR
![Page 67: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/67.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Complexity builds from Simplicity
38
Nand
Not
And
Or
Xor / Mux / Dmux
![Page 68: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/68.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 39
NOT
![Page 69: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/69.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Only using ?
40
NAND
![Page 70: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/70.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
not41
a not
T F
F T
NOT
![Page 71: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/71.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Nand →
Not?42
NAND
a b nand
T T F
T F T
F T T
F F T
![Page 72: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/72.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Nand →
Not43
a b nand
T T F
T F T
F T T
F F T
NAND
![Page 73: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/73.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Not44
NAND
a b nand
T T F
F F T
![Page 74: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/74.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 45
AND
![Page 75: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/75.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Only using & ?
46
NOT NAND
![Page 76: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/76.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
and47
a b and
T T T
T F F
F T F
F F F
AND
![Page 77: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/77.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
nand →
and?48
NAND
a b nand
T T F
T F T
F T T
F F T
![Page 78: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/78.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
and =
not nand
49
NAND
a b nand
T T F
T F T
F T T
F F T
![Page 79: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/79.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
and =
not not and
50
NAND
a b nand
T T F
T F T
F T T
F F T
![Page 80: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/80.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
and =
not not and
51
NAND
a b nand
T T F
T F T
F T T
F F T
![Page 81: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/81.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
NAND NOT nand-not
52
a b and
T T T
T F F
F T F
F F F
![Page 82: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/82.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
NAND NAND
and53
a b and
T T T
T F F
F T F
F F F
![Page 83: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/83.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 54
OR
![Page 84: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/84.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Only using , , & ?
55
NOT
NAND
AND
![Page 85: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/85.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
or56
OR
a b or
T T T
T F T
F T T
F F F
![Page 86: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/86.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
De Morgan’s Law!
57
![Page 87: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/87.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Venn Diagrams??!!
58
![Page 88: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/88.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014http://en.wikipedia.org/wiki/Venn_diagram
Venn Diagrams??!!
58
![Page 89: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/89.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Venn Diagrams!
59
![Page 90: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/90.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Venn Diagrams!
59
http://thisisindexed.com/
![Page 91: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/91.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Venn Diagrams!
60
A B
![Page 92: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/92.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
A | B
61
A B
![Page 93: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/93.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
A B
!(A | B)
62
![Page 94: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/94.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
!(A | B)
63
A B
![Page 95: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/95.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
(!A & !B)
64
A B
![Page 96: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/96.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
!(!A & !B)
65
A B
![Page 97: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/97.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
!(!A & !B) = A | B
66
A B
![Page 98: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/98.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
a | b67
OR
a b or
T T T
T F T
F T T
F F F
![Page 99: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/99.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
!(!a & !b)
68
a b or
T T T
T F T
F T T
F F F
NOT
NOT
AND NOT
![Page 100: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/100.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
not(and( not(a), not(b)))
69
a b or
T T T
T F T
F T T
F F F
NOT
NOT
AND NOT
![Page 101: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/101.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
not(and( not(a), not(b)))
70
a b or
T T T
T F T
F T T
F F F
NOT
NOT
AND NOT
![Page 102: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/102.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
NAND
NOT
NOT nand( not(a), not(b))
71
a b or
T T T
T F T
F T T
F F F
![Page 103: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/103.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
NAND
NOT
NOT nand( not(a), not(b))
72
a b or
T T T
T F T
F T T
F F F
![Page 104: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/104.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
nand( nand(a,a), nand(b,b))
73
a b or
T T T
T F T
F T T
F F F
NANDNAND
NAND
![Page 105: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/105.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 74
XOR
![Page 106: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/106.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Only using , ,
& ?75
NOT NAND
ANDOR
![Page 107: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/107.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
a b xor
T T F
T F T
F T T
F F F
xor76
XOR
![Page 108: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/108.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
77
AND
ANDOR
![Page 109: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/109.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
77
AND
ANDOR
![Page 110: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/110.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
AND
ANDOR
NAND
NAND
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
78
![Page 111: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/111.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
AND
ANDOR
NAND
NAND
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
78
![Page 112: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/112.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
79
OR
NAND
NAND
NAND NAND
NAND NAND
![Page 113: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/113.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
79
OR
NAND
NAND
NAND NAND
NAND NAND
![Page 114: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/114.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
80
NAND
NAND
NAND NAND
NAND NAND
NAND
NAND
NAND
![Page 115: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/115.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
NAND
NAND
NAND NAND
NAND NAND
NAND
NAND
NAND
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
81
![Page 116: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/116.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
NAND
NAND
NAND
NAND
NAND
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
82
![Page 117: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/117.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
NAND
NAND
NAND
NAND
NAND
a b xor
T T F
T F T
F T T
F F F
!
a & !b | !a & b
83
![Page 118: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/118.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
xor84
a b xor
T T F
T F T
F T T
F F F
NAND
NAND
NAND
NAND
![Page 119: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/119.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
mux
85
![Page 120: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/120.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Muxes are Easy!mux = if sel then b else a end
86
![Page 121: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/121.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Muxes are Easy!mux = if sel then b else a end
86
Just an if
stateme
nt!
![Page 122: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/122.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
mux87
mux
sel a b xorT T T TT T F FT F T TT F F FF T T TF T F TF F T FF F F F
![Page 123: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/123.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
mux88
sel a b xorT T T TT T F FT F T TT F F FF T T TF T F TF F T FF F F F
mux
![Page 124: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/124.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
mux89
sel a b xorT T T TT T F FT F T TT F F FF T T TF T F TF F T FF F F F
mux
![Page 125: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/125.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
mux90
AND
AND
OR
sel a b xorT T T TT T F FT F T TT F F FF T T TF T F TF F T FF F F F
![Page 126: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/126.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
mux91
NAND
NAND
NAND
sel a b xorT T T TT T F FT F T TT F F FF T T TF T F TF F T FF F F F
![Page 127: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/127.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 92
dmux
![Page 128: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/128.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
DMuxes are easy, kindaif sel then a = in else b = in end
93
![Page 129: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/129.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
dmux
dmux94
sel in a b
T T T F
T F F F
F T F T
F F F F
![Page 130: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/130.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
AND
AND
dmux95
sel in a b
T T T F
T F F F
F T F T
F F F F
![Page 131: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/131.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
dmux96
NAND NAND
NAND NAND
sel in a b
T T T F
T F F F
F T F T
F F F F
![Page 132: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/132.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
N-way Gates
97
![Page 133: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/133.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
or8way
98
![Page 134: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/134.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
or8waydef or8way a,b,c,d,e,f,g,h a || b || c || d || e || f || g || h end
99
![Page 135: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/135.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 100
OR
OR
OR
OR
OR
OR
OR
![Page 136: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/136.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 100
OR
OR
OR
OR
OR
OR
OR
ab
c
d
e
f
g
h
inpu
ts
![Page 137: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/137.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 100
OR
OR
OR
OR
OR
OR
OR
ab
c
d
e
f
g
h 1 output
inpu
ts
![Page 138: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/138.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 100
OR
OR
OR
OR
OR
OR
OR
ab
c
d
e
f
g
h 1 output
1
2
3
4
5
6
inpu
tsdepth/tim
e
![Page 139: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/139.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 101
OR
OR
OR
OR
OR
OR
OR
![Page 140: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/140.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 101
OR
OR
OR
OR
OR
OR
OR
ab
cd
ef
gh
inpu
ts
![Page 141: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/141.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 101
OR
OR
OR
OR
OR
OR
OR
ab
cd
ef
gh
1 output
inpu
ts
![Page 142: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/142.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 101
OR
OR
OR
OR
OR
OR
OR
ab
cd
ef
gh
1 output
inpu
ts1
2
depth/time
![Page 143: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/143.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Muxes
102
![Page 144: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/144.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
mux4way
mux4way
103
2 bit selector
![Page 145: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/145.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
mux8way
3 bit selector
mux8way
104
![Page 146: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/146.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
dmux4way
dmux4way
105
2 bit selector
![Page 147: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/147.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
dmux8way
dmux8way
3 bit selector
![Page 148: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/148.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
“Trivial”107
![Page 149: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/149.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Exercise for the
“Reader”108
![Page 150: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/150.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Just Remember
109
![Page 151: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/151.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Complexity builds from Simplicity
110
![Page 152: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/152.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
16 Bit Logic & More
111
![Page 153: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/153.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 112
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
NOT
![Page 154: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/154.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 113
AND
AND
AND
AND
AND
AND
AND
AND
AND
AND
AND
AND
AND
AND
AND
AND
![Page 155: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/155.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 114
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
![Page 156: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/156.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 115
mux
mux
mux
mux
mux
mux
mux
mux
mux
mux
mux
mux
mux
mux
mux
mux
![Page 157: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/157.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
“Trivial”116
![Page 158: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/158.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Exercise for the Reader
117
![Page 159: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/159.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Boolean Arithmetic
118
![Page 160: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/160.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders!
119
![Page 161: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/161.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Not these Adders
120
https://www.flickr.com/photos/79818573@N04/14226945188
![Page 162: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/162.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Nor Black Adder
121
![Page 163: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/163.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Just Good, Simple,
Arithmetic!122
![Page 164: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/164.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +012
![Page 165: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/165.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
A
2
![Page 166: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/166.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
A
B2
![Page 167: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/167.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
A
B
02
![Page 168: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/168.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
A
B
Sum0
2
![Page 169: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/169.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
1
A
B
Sum0
2
![Page 170: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/170.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
1
A
B
Sum
Carry
02
![Page 171: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/171.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
1
A
B
Sum
Carry
002
![Page 172: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/172.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
11
A
B
Sum
Carry
002
![Page 173: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/173.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders, Elementary-School Style
123
11 +01
11
A
B
Sum
Carry
1 002
![Page 174: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/174.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Adders
124
11 +01
11
A
B
Sum
Carry
1 00
half adder
2
![Page 175: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/175.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
11 +01
Adders
125
11
A
B
Sum
Cin
1 00
Carry
full adder
2
![Page 176: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/176.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Half Adder
126
AND
XOR Sum
Carry
A
B
![Page 177: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/177.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Full Adder
127
XOR XOR
AND
AND
OR
Sum
Carry
A
B
Cin
![Page 178: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/178.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
16-bit Adder
128
![Page 179: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/179.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
add16
129
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
FullAdder
0
x0
y0
x1
y1
s13
s14
s15
x2
y2
...
…
![Page 180: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/180.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
But Ryan!130
![Page 181: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/181.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Doesn’t this have the same problem as or8way?
131
![Page 182: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/182.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Why, Yes!132
![Page 183: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/183.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Yes, it does!
133
![Page 184: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/184.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
What they don’t teach you in grade school…
134
![Page 185: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/185.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Full Adder
135
XOR XOR
AND
AND
OR
Sum
Carry
A
B
Cin
![Page 186: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/186.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
XOR XOR
AND
AND
OR
Sum
Carry
A
B
Cin
Full Adder?
136
![Page 187: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/187.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
XOR XOR
AND
Sum
A
B
Cin
Propagate
Generate
OR
Partial Full Adder
137
![Page 188: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/188.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
S0S1S2S3P0P1P2P3
G0G1G2G3PFA
CLA
C0
A0 B0
PFA
A1 B1
PFA
A2 B2
PFA
A3 B3
C4
Add4
138
![Page 189: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/189.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Add16
139
S0-3S4-7S8-11S12-15P0P1P2P3
G0G1G2G3add4
CLA
C0
A0-3 B0-3
add4
A4-7 B4-7
add4
A8-11 B8-11
add4
A12-15 B12-15
C4
![Page 190: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/190.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Carry Lookahead Monster
140
cla2 (1
of 1)
c1x1
p3x1
p1x1g2x1
c3x1c2x1
p0x1g0x1
p2x1c0x1
c4x1
g3x1g1x1
![Page 191: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/191.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Slightly Less Scary? (define (cla g0 g1 g2 g3 p0 p1 p2 p3 cin c1 c2 c3 pout gout) (let-values ([(w1c0 w1c1 w1c2) (wires w 3)] [(w2c1 w2c2) (wires w 2)] [(w3c2) (w)] [(w1g w2g w3g) (wires w 3)]) (append (list (comment (comment-cla))) (And p0 cin w1c0) (Or g0 w1c0 c1) ! (And p1 g0 w1c1) (and3 p1 p0 cin w2c1) (or3 g1 w1c1 w2c1 c2) ! (And p2 g1 w1c2) (and3 p2 p1 g0 w2c2) (and4 p2 p1 p0 cin w3c2) (or4 g2 w1c2 w2c2 w3c2 c3) ! (And p3 g2 w1g) (and3 p3 p2 g1 w2g) (and4 p3 p2 p1 g0 w3g) ! (or4 g3 w1g w2g w3g gout) (and4 p3 p2 p1 p0 pout))))
141
![Page 192: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/192.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Slightly Less Scary? (define (cla g0 g1 g2 g3 p0 p1 p2 p3 cin c1 c2 c3 pout gout) (let-values ([(w1c0 w1c1 w1c2) (wires w 3)] [(w2c1 w2c2) (wires w 2)] [(w3c2) (w)] [(w1g w2g w3g) (wires w 3)]) (append (list (comment (comment-cla))) (And p0 cin w1c0) (Or g0 w1c0 c1) ! (And p1 g0 w1c1) (and3 p1 p0 cin w2c1) (or3 g1 w1c1 w2c1 c2) ! (And p2 g1 w1c2) (and3 p2 p1 g0 w2c2) (and4 p2 p1 p0 cin w3c2) (or4 g2 w1c2 w2c2 w3c2 c3) ! (And p3 g2 w1g) (and3 p3 p2 g1 w2g) (and4 p3 p2 p1 g0 w3g) ! (or4 g3 w1g w2g w3g gout) (and4 p3 p2 p1 p0 pout))))
141
No, not really.
![Page 193: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/193.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Least Scary, Most Abstract
142
Ci = Gi + PiCi-1 Gi = AiBi Pi = Ai + Bi
![Page 194: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/194.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Least Scary, Most Abstract
142
Ci = Gi + PiCi-1 Gi = AiBi Pi = Ai + Bi
![Page 195: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/195.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Least Scary, Most Concrete
143
C1 = G0 + P0C0 C2 = G1 + P1G0 + P1P0C0 C3 = G2 + P2G1 + P2P1G0 + P2P1P0C0 C4 = G3 + P3P2G1 + P3P2P1G0 + P3P2P1P0C0
![Page 196: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/196.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Least Scary, Most Concrete
143
C1 = G0 + P0C0 C2 = G1 + P1G0 + P1P0C0 C3 = G2 + P2G1 + P2P1G0 + P2P1P0C0 C4 = G3 + P3P2G1 + P3P2P1G0 + P3P2P1P0C0
I can handle that…
![Page 197: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/197.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Just Details
144
![Page 198: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/198.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Incrementers
145
![Page 199: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/199.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Inc16
146
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
Half Adder
1
i1
i2
i3
i4
o15
o14
o13
o12…
…
![Page 200: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/200.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Faster, but Scarier
147
����������
����������
����������
����������
����������
����������
����������� ���������
�����������������
����
��� ��������
������ ������ ����� ������ ������ ������ ����� ����� �����
����� ����� ����� ���� ����� ����� �����
������������ ��
�� ���������
�
������
http://www.righto.com/2013/11/the-z-80s-16-bit-incrementdecrement.html
![Page 201: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/201.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
ALU
148
![Page 202: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/202.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Arithmetic Logic Unit
149
f(x,y)ALU
zx zynx ny f no
zr ng
x
y
out
![Page 203: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/203.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Arithmetic Logic Unit
149
f(x,y)ALU
zx zynx ny f no
zr ng
x
y
out
![Page 204: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/204.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Arithmetic Logic Unit
149
f(x,y)ALU
zx zynx ny f no
zr ng
x
y
out
![Page 205: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/205.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Arithmetic Logic Unit
149
f(x,y)ALU
zx zynx ny f no
zr ng
x
y
out
![Page 206: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/206.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Arithmetic Logic Unit
149
f(x,y)ALU
zx zynx ny f no
zr ng
x
y
out
![Page 207: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/207.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Arithmetic Logic UnitIN x[16], y[16], // 16-bit inputs zx, // zero the x input? nx, // negate the x input? zy, // zero the y input? ny, // negate the y input? f, // compute out = x+y (f=1) else x&y no; // negate the out output? !OUT out[16], // 16-bit output zr, // 1 if (out == 0), 0 otherwise ng; // 1 if (out < 0), 0 otherwise
150
![Page 208: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/208.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Arithmetic Logic UnitIN x[16], y[16], // 16-bit inputs zx, // zero the x input? nx, // negate the x input? zy, // zero the y input? ny, // negate the y input? f, // compute out = x+y (f=1) else x&y no; // negate the out output? !OUT out[16], // 16-bit output zr, // 1 if (out == 0), 0 otherwise ng; // 1 if (out < 0), 0 otherwise
150
YUCK!
![Page 209: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/209.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 151
Arithmetic Logic UnitMux16(a=x, b=false, sel=zx, out=x2); Mux16(a=y, b=false, sel=zy, out=y2); !Not16(in=x2, out=notx2); // if (zx==1) set x = 0 Not16(in=y2, out=noty2); // if (zy==1) set y = 0 !Mux16(a=x2, b=notx2, sel=nx, out=x3); // if (nx==1) set x = ~x Mux16(a=y2, b=noty2, sel=ny, out=y3); // if (ny==1) set y = ~y !Add16(a=x3, b=y3, out=add16); // if (f==1) set out = x + y And16(a=x3, b=y3, out=and16); // if (f==0) set out = x & y Mux16(a=and16, b=add16, sel=f, out=out1); !Not16(in=out1, out=notout); Mux16(a=out1, b=notout, sel=no, out=out, // if (no==1) set out = ~out out[0..7]=out2a, out[8..15]=out2b, out[15]=ng); // if (out<0) set ng = 1 !Or8Way(in=out2a, out=outa); Or8Way(in=out2b, out=outb); Or(a=outa, b=outb, out=nzr); !Not(in=nzr, out=zr); // if (out==0) set zr = 1
![Page 210: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/210.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 151
Arithmetic Logic Unit
YUCK!Mux16(a=x, b=false, sel=zx, out=x2);
Mux16(a=y, b=false, sel=zy, out=y2); !Not16(in=x2, out=notx2); // if (zx==1) set x = 0 Not16(in=y2, out=noty2); // if (zy==1) set y = 0 !Mux16(a=x2, b=notx2, sel=nx, out=x3); // if (nx==1) set x = ~x Mux16(a=y2, b=noty2, sel=ny, out=y3); // if (ny==1) set y = ~y !Add16(a=x3, b=y3, out=add16); // if (f==1) set out = x + y And16(a=x3, b=y3, out=and16); // if (f==0) set out = x & y Mux16(a=and16, b=add16, sel=f, out=out1); !Not16(in=out1, out=notout); Mux16(a=out1, b=notout, sel=no, out=out, // if (no==1) set out = ~out out[0..7]=out2a, out[8..15]=out2b, out[15]=ng); // if (out<0) set ng = 1 !Or8Way(in=out2a, out=outa); Or8Way(in=out2b, out=outb); Or(a=outa, b=outb, out=nzr); !Not(in=nzr, out=zr); // if (out==0) set zr = 1
![Page 211: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/211.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 151
Arithmetic Logic Unit
YUCK!Mux16(a=x, b=false, sel=zx, out=x2);
Mux16(a=y, b=false, sel=zy, out=y2); !Not16(in=x2, out=notx2); // if (zx==1) set x = 0 Not16(in=y2, out=noty2); // if (zy==1) set y = 0 !Mux16(a=x2, b=notx2, sel=nx, out=x3); // if (nx==1) set x = ~x Mux16(a=y2, b=noty2, sel=ny, out=y3); // if (ny==1) set y = ~y !Add16(a=x3, b=y3, out=add16); // if (f==1) set out = x + y And16(a=x3, b=y3, out=and16); // if (f==0) set out = x & y Mux16(a=and16, b=add16, sel=f, out=out1); !Not16(in=out1, out=notout); Mux16(a=out1, b=notout, sel=no, out=out, // if (no==1) set out = ~out out[0..7]=out2a, out[8..15]=out2b, out[15]=ng); // if (out<0) set ng = 1 !Or8Way(in=out2a, out=outa); Or8Way(in=out2b, out=outb); Or(a=outa, b=outb, out=nzr); !Not(in=nzr, out=zr); // if (out==0) set zr = 1
![Page 212: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/212.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 151
Arithmetic Logic Unit
My Mind,
She Asplodes!
YUCK!Mux16(a=x, b=false, sel=zx, out=x2);
Mux16(a=y, b=false, sel=zy, out=y2); !Not16(in=x2, out=notx2); // if (zx==1) set x = 0 Not16(in=y2, out=noty2); // if (zy==1) set y = 0 !Mux16(a=x2, b=notx2, sel=nx, out=x3); // if (nx==1) set x = ~x Mux16(a=y2, b=noty2, sel=ny, out=y3); // if (ny==1) set y = ~y !Add16(a=x3, b=y3, out=add16); // if (f==1) set out = x + y And16(a=x3, b=y3, out=and16); // if (f==0) set out = x & y Mux16(a=and16, b=add16, sel=f, out=out1); !Not16(in=out1, out=notout); Mux16(a=out1, b=notout, sel=no, out=out, // if (no==1) set out = ~out out[0..7]=out2a, out[8..15]=out2b, out[15]=ng); // if (out<0) set ng = 1 !Or8Way(in=out2a, out=outa); Or8Way(in=out2b, out=outb); Or(a=outa, b=outb, out=nzr); !Not(in=nzr, out=zr); // if (out==0) set zr = 1
![Page 213: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/213.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Mux16(a=y2, b=noty2, sel=ny, out=y3); // if (ny==1) set y = ~y !Add16(a=x3, b=y3, out=add16); // if (f==1) set out = x + y And16(a=x3, b=y3, out=and16); // if (f==0) set out = x & y Mux16(a=and16, b=add16, sel=f, out=out1); !Not16(in=out1, out=notout); Mux16(a=out1, b=notout, sel=no, out=out, // if (no==1) set out = ~out out[0..7]=out2a, out[8..15]=out2b, out[15]=ng); // if (out<0) set ng = 1 !Or8Way(in=out2a, out=outa); Or8Way(in=out2b, out=outb); Or(a=outa, b=outb, out=nzr); !Not(in=nzr, out=zr); // if (out==0) set zr = 1152
My Mind,
She Asplodes!
![Page 214: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/214.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
b0-7
b8-15
mux
mux
mux mux
mux muxNOT
NOT
NOT AND
add16
OR8
OR8
OR
out
zr
0
zy
0
y
x
zx
nx
ny
fno
ng
b15
Arithmetic Logic Unit
153
![Page 215: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/215.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
b0-7
b8-15
mux
mux
mux mux
mux muxNOT
NOT
NOT AND
add16
OR8
OR8
OR
out
zr
0
zy
0
y
x
zx
nx
ny
fno
ng
b15
Arithmetic Logic Unit
153
![Page 216: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/216.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
b0-7
b8-15
mux
mux
mux mux
mux muxNOT
NOT
NOT AND
add16
OR8
OR8
OR
out
zr
0
zy
0
y
x
zx
nx
ny
fno
ng
b15
Arithmetic Logic Unit
153
Always
Both
![Page 217: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/217.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
b0-7
b8-15
mux
mux
mux mux
mux muxNOT
NOT
NOT AND
add16
OR8
OR8
OR
out
zr
0
zy
0
y
x
zx
nx
ny
fno
ng
b15
Arithmetic Logic Unit
153
Always
Both
![Page 218: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/218.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
b0-7
b8-15
mux
mux
mux mux
mux muxNOT
NOT
NOT AND
add16
OR8
OR8
OR
out
zr
0
zy
0
y
x
zx
nx
ny
fno
ng
b15
Arithmetic Logic Unit
153
Always
Both Multiple &
Partial!!
![Page 219: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/219.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
f(x,y)
zx zynx ny f no
zr ng
x
y
out
Arithmetic Logic Unit
154
b0-7
b8-15
mux
mux
mux mux
mux muxNOT
NOT
NOT AND
add16
OR8
OR8
OR
out
zr
0
zy
0
y
x
zx
nx
ny
fno
ng
b15
![Page 220: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/220.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
6 little flags = Instruction set
155
01 -1x y
!x !y-x -y
x+1 y+1x-1 y-1x+yx-y y-xx&y x|y
![Page 221: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/221.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
ALU in 440 NAND Gates By Mark Armbrust w/ Koen Simmons’ optimizations.
via forums for nand2tetris
156
![Page 222: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/222.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
ALU in 440 NAND Gates By Mark Armbrust w/ Koen Simmons’ optimizations.
via forums for nand2tetris
156
![Page 223: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/223.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
ALU in 440 NAND Gates By Mark Armbrust w/ Koen Simmons’ optimizations.
via forums for nand2tetris
156
![Page 224: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/224.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
ALU in 440 NAND Gates By Mark Armbrust w/ Koen Simmons’ optimizations.
via forums for nand2tetris
156
![Page 225: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/225.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Sequential Logic
157
![Page 226: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/226.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Combinational vs
Sequential158
![Page 227: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/227.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
SomeLogicin out
Combinational Chips
159
![Page 228: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/228.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
InputLogic
OutputLogicMemoryin out
Sequential Chips
160
![Page 229: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/229.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
InputLogic
OutputLogicMemoryin out
Sequential Chips
160Clock Input
![Page 230: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/230.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
DFF
161
![Page 231: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/231.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
DFF “Magic” Logic:
out(t) = in(t-1)
162
![Page 232: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/232.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Atomic in nand2tetris
163
![Page 233: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/233.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Can be created with nands!
164
![Page 234: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/234.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Building a DFF using the TECS Hardware Simulator, by Mark Armbrust.
http://www.marksmath.com/tecs/dff/
From NAND to DFF
165
![Page 235: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/235.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Building a DFF using the TECS Hardware Simulator, by Mark Armbrust.
http://www.marksmath.com/tecs/dff/
From NAND to DFF
165
NAND
NAND
![Page 236: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/236.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Building a DFF using the TECS Hardware Simulator, by Mark Armbrust.
http://www.marksmath.com/tecs/dff/
From NAND to DFF
165
NAND
NAND
NAND
NAND
NAND
NAND
![Page 237: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/237.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Building a DFF using the TECS Hardware Simulator, by Mark Armbrust.
http://www.marksmath.com/tecs/dff/
From NAND to DFF
165
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NAND
NOT
![Page 238: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/238.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
!
Details166
Just
![Page 239: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/239.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
!
Details166
Interesting
![Page 240: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/240.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
bit
load
in out
167
![Page 241: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/241.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
bitbit(t) = if load then in else bit(t-1) end !return bit(t)
168
bit
load
in out
![Page 242: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/242.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
dff(t) = if load then in else dff(t-1) end !return dff(t)
bit
load
in outdff
bit
169
![Page 243: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/243.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
dff(t) = if load then in else dff(t-1) end !return dff(t)
load
inout mux dff
bit
170
![Page 244: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/244.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 171
register
load
in out
![Page 245: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/245.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
load
in outbit0 bit1 bit15…
register
172
![Page 246: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/246.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
bit0
load
in0 out0
bit1in1 out1
bit2in2 out2
…inN outN
bit15in15 out15
Simple Linear Layout
173
![Page 247: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/247.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 174
RAMn
in
load
addr
out
![Page 248: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/248.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
in
load
addr
out
register
load
in out
register
load
in out
register
load
in out
register
load
in out
…
175
![Page 249: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/249.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
InputLogic
OutputLogicMemoryin out
Sequential Logic
176
register
load
in out
register
load
in out
register
load
in out
register
load
in out
…Addressing Addressing
![Page 250: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/250.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
InputLogic
OutputLogicMemoryin out
RAM8
177
register
load
in out
register
load
in out
register
load
in out
register
load
in out
…dmux8way mux8way
![Page 251: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/251.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
DFFBit
RegisterRam8Ram64Ram512Ram4KRam16K
Complexity builds from Simplicity
178
![Page 252: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/252.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
DFFBit
RegisterRam8Ram64Ram512Ram4KRam16K
Complexity builds from Simplicity
178
×8
×8
×8
×8
×4
1bit×16
![Page 253: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/253.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
RAM64+?179
![Page 254: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/254.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Again180
![Page 255: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/255.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Exercise for the
“Reader”181
![Page 256: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/256.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
outcounter
load
in
resetincr
182
![Page 257: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/257.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
AKA Program Counter
183
![Page 258: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/258.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Addresses current instruction
in ROM184
![Page 259: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/259.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
RegisterInc16
Mux16
reset load inc
0
in
outMux16AND
AND
OR
OR
Mux16
185
![Page 260: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/260.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
RegisterInc16
Mux16
reset load inc
0
in
outMux16AND
AND
OR
OR
Mux16
185
Blah Blah Logic
![Page 261: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/261.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
RegisterInc16
Mux16
reset load inc
0
in
outMux16AND
AND
OR
OR
Mux16
185
The Magic
Blah Blah Logic
![Page 262: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/262.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Computer Architecture
186
![Page 263: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/263.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 187
Memory
code&
data
CPUInput
Output
ALU
Registers
Control
![Page 264: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/264.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
cpu
188
CPU
outM
writeM
addressM
pc
inM
instruction
reset
![Page 265: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/265.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
CPU Guts
?189
![Page 266: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/266.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
address outROM32K
rom32k
190
![Page 267: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/267.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
outKeyboard
keyboard
191
![Page 268: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/268.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
screen
192
load outScreen8K words
in
address
![Page 269: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/269.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
keyboard
addr
in
RAM
Screen
Keyboard
out
screen
Memory
193
![Page 270: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/270.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014 194
Memory
code&
data
CPUInput
Output
ALU
Registers
Control
![Page 271: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/271.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
computer
195
address outROM32K
CPU
outM
writeM
addressM
pc
inM
instruction
reset
keyboard
addr
in
RAM
Screen
Keyboard
out
screen
![Page 272: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/272.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Let’s Go Home!
196
![Page 273: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/273.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
apollo guidance computer197
![Page 274: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/274.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Julian Simioni, MWRC 2014Software Development Lessons from the
Apollo Program
16-bit words.
Most software in ROM
Never had an error in flight.
http://www.ibiblio.org/apollo/ to fly your own.
198
![Page 275: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/275.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
2,800 dual 3-input
NOR ICs!!199
http://upload.wikimedia.org/wikipedia/commons/1/13/Agc_flatp.jpg
![Page 276: Let's Build a Computer - zenspider.comryan/presentations/2014_gogaruco_lets_build… · Sous-Chef 3. Sous-Chef 3 Assistant. 4. ISS Icarus 4. 5. Unfortunate Accident 5. 6. Phase Matter](https://reader035.vdocument.in/reader035/viewer/2022070904/5f6dbef02d55e10aca4959ab/html5/thumbnails/276.jpg)
Ryan Davis, Seattle.rbLet’s Build a Computer!
@the_zenspiderGoGaRuCo 3014
Thank You200