
These chips have very clear specifications. We can use elementary logic gates such as AND, OR, NAND to construct composite gates.Įlectrical engineers are responsible for constructing these gates with circuits and transistors. Logic gates are physical chips consisting of transistors that actually implement these boolean operations. However, finding the shortest expression is NP hard.Īny boolean function can be constructed with AND and NOT operations.Īny boolean function can be constructed with NAND operations.īecause AND and NOT can be constructed with only the NAND gate. How to construct a function from basic operations? (how to construct hardware)įind all the 1s in truth table, write an expression for each, and OR them together! We can further simplify the expression. Ready? Let’s get started and go through the levels of abstractions in the computer system. In this article, I will introduce all the concepts in an easily consumable manner by walking through the process of building a general purpose computer called Hack from the ground up using first principles.Īfter this exercise, you will walk away more confident and eliminate the insecurities of not knowing the foundational knowledge of computers. If you don’t have this knowledge as a data scientist or software developer, you will feel you work on top of a floating and unreliable foundation. Getting to know what the abstractions are and having an rough idea of how they work under the hood is an important and often overlooked prerequisite for a good coder.


You worry about what you want to do using interfaces that are abstracted away from you.
