Jump to content

Your First Computer: Difference between revisions

From Logic World Wiki
m Make external link external
This article now flows nicer, started a planning section
Line 3: Line 3:
If you're a new player, you might have already built a few circuits already: an [[Full Adder|adder]], some kind of memory, a [[decoder]]. But getting to the next level where you have a functioning and [https://en.wikipedia.org/wiki/Turing%20completeness turing complete] computer, is incredibly daunting. This article will serve as a guide to how you might build your first computer.
If you're a new player, you might have already built a few circuits already: an [[Full Adder|adder]], some kind of memory, a [[decoder]]. But getting to the next level where you have a functioning and [https://en.wikipedia.org/wiki/Turing%20completeness turing complete] computer, is incredibly daunting. This article will serve as a guide to how you might build your first computer.


[[File:Computer Structure diagram.png|300px|right|thumb|The structure of the computer in this article]]Every computer follows this simple process:
== Planning The Computer ==
[[File:Computer Structure diagram.png|300px|right|thumb|The structure of the computer in this article]]While you might be inclined to jump head first into building, this results in at the very least messy building in Logic World, or a malfunctioning computer. In our computer we are going to first plan and '''document''' the capabilities our computer will have.


* A place that stores instructions sends an instruction to the computer.
To start with the planning section, it helps to think about what this computer we are building is for. This could range from wanting to test out an [[wikipedia:Arithmetic_logic_unit|ALU]] you built, or to perform a specific program you have in mind, e.g. matrix multiplication.
* The instruction gets decoded by the control, and tells the rest of the computer what to do.
 
* Sometimes these instructions the [[Arithmetic and Logic Unit]] (henceforth, ALU), to operate on data given by the [[Register|registers]].
In this guide, our computer will be built as a way to learn each of the different parts of a computer, without any bells or whistles. So, we are going to give the computer the bare minimum.
 
=== Data Width ===
Data width refers to how many bits the binary numbers in our computer will use. This doesn’t have to be universal across an entire computer; for example, the memory might store in 32 bits, but our ALU only 16. In our computer however, we will use the same data width across our entire computer. While you can definitely go smaller, 8 bits is a good number to make it less complicated while being able to do a lot with our computer, so our data width is going to be 8 bits.
 
=== The ROM ===
The read only memory in our computer is where we are going to store all of the instructions for our computer. We aren’t looking for anything too big, so to keep with our data width of 8 bits, we will have 2^8 or 256 addresses in our ROM (this only needs to be addressed with 8 bits). And each address will store 8 bits of data for our instructions.

Revision as of 21:12, 7 September 2025

This article is a stub. Please help expand it by adding content.

If you're a new player, you might have already built a few circuits already: an adder, some kind of memory, a decoder. But getting to the next level where you have a functioning and turing complete computer, is incredibly daunting. This article will serve as a guide to how you might build your first computer.

Planning The Computer

The structure of the computer in this article

While you might be inclined to jump head first into building, this results in at the very least messy building in Logic World, or a malfunctioning computer. In our computer we are going to first plan and document the capabilities our computer will have.

To start with the planning section, it helps to think about what this computer we are building is for. This could range from wanting to test out an ALU you built, or to perform a specific program you have in mind, e.g. matrix multiplication.

In this guide, our computer will be built as a way to learn each of the different parts of a computer, without any bells or whistles. So, we are going to give the computer the bare minimum.

Data Width

Data width refers to how many bits the binary numbers in our computer will use. This doesn’t have to be universal across an entire computer; for example, the memory might store in 32 bits, but our ALU only 16. In our computer however, we will use the same data width across our entire computer. While you can definitely go smaller, 8 bits is a good number to make it less complicated while being able to do a lot with our computer, so our data width is going to be 8 bits.

The ROM

The read only memory in our computer is where we are going to store all of the instructions for our computer. We aren’t looking for anything too big, so to keep with our data width of 8 bits, we will have 2^8 or 256 addresses in our ROM (this only needs to be addressed with 8 bits). And each address will store 8 bits of data for our instructions.