11 | | The goal of our project is to build a 8-bit computer from scratch on a breadboard using different electrical components like Integrated Circuits, LEDs, Wires, etc. Our aim is to document the step-by-step process, including schematics, notes, and procedures, so that others can replicate the creation of their own Breadboard Computer. |
| 11 | {{{#!html |
| 12 | <h1 style="font-size: 35px; margin-bottom: 10px; margin-left: 5px;"> |
| 13 | Overview |
| 14 | </h1> |
| 15 | <p style="font-size: 20px;">The goal of our project is to build an 8-bit computer from scratch on a breadboard using different electrical components like Integrated Circuits, LEDs, Wires, etc.<p> |
| 16 | <h1 style="font-size: 35px; margin-bottom: 10px; margin-left: 5px;"> |
| 17 | Specific Goals: |
| 18 | </h1> |
| 19 | <ul style="font-size: 20px;"> |
| 20 | <li><b>Construction:</b> Build a fully functional 8-bit computer using discrete components.</li> |
| 21 | <li><b>Documentation:</b> Create comprehensive documentation covering each step, allowing others to replicate the process. Our aim is to document the step-by-step process, including schematics, notes, and procedures so that others can replicate the creation of their own Breadboard Computer.</li> |
| 22 | </ul> |
| 23 | }}} |
17 | | **Summary:** |
18 | | * Read and familiarize ourselves with the components of the breadboard computer. |
19 | | * Learned about the components of computers |
20 | | * Fetch-Execute cycle |
21 | | * CPU |
22 | | * Random Access Memory (RAM) |
23 | | * ALU |
24 | | * BUS |
| 29 | {{{#!html |
| 30 | <h2 style="font-size: 22px; margin-bottom: 10px; margin-left: 25px;"> |
| 31 | Summary |
| 32 | </h2> |
| 33 | <ul style="font-size: 20px; margin-left: 35px;"> |
| 34 | <li>Read and familiarize ourselves with the components of the breadboard computer.</li> |
| 35 | <li>Learned about the components of computers |
| 36 | <ul style="font-size: 20px; margin-left: 45px;"> |
| 37 | <li>Fetch-Execute Cycle</li> |
| 38 | <li>CPU</li> |
| 39 | <li>Random Access Memory (RAM)</li> |
| 40 | <li>Arithmetic Logic Unit (ALU)</li> |
| 41 | <li>BUS</li> |
| 42 | </ul> |
| 43 | </li> |
| 44 | </ul> |
| 45 | <h1 style="font-size: 35px; margin-bottom: 10px; margin-left: 5px;"> |
| 46 | What We Worked On |
| 47 | </h1> |
| 48 | <h2 style="font-size: 25px; margin-bottom: 10px; margin-left: 25px;"> |
| 49 | Component Familiarization |
| 50 | </h2> |
| 51 | <p style="font-size: 20px; margin-left: 25px;">We began by reading and familiarizing ourselves with the various components required for the breadboard computer, such as:</p> |
| 52 | <ul style="font-size: 20px; margin-left: 35px;"> |
| 53 | <li>Integrated Circuits (ICs)</li> |
| 54 | <li>Logic gates (AND, OR, NOT, etc.)</li> |
| 55 | <li>Registers</li> |
| 56 | <li>Breadboards</li> |
| 57 | <li>Wires and Connectors</li> |
| 58 | </ul> |
26 | | [[Image(https://cdn.shopify.com/s/files/1/0089/0647/3536/products/computer-hero-42_550x825.png?v=1544158524)]] |
| 60 | <h2 style="font-size: 25px; margin-bottom: 10px; margin-left: 25px;"> |
| 61 | Computer Components Learning |
| 62 | </h2> |
| 63 | <p style="font-size: 20px; margin-left: 25px;">We delved into understanding the fundamental components of computers and their functions. This included studying:</p> |
| 64 | <br></br> |
| 65 | <h2 style="font-size: 22px; margin-bottom: 10px; margin-left: 25px;"> |
| 66 | Fetch-Execute Cycle |
| 67 | </h2> |
| 68 | <p style="font-size: 20px; margin-left: 25px;">Understanding the core cycle through which a CPU processes instructions:</p> |
| 69 | <ul style="font-size: 20px; margin-left: 35px;"> |
| 70 | <li><b>Fetch: </b> CPU loads instructions into the registers from RAM.</li> |
| 71 | <li><b>Decode: </b> Instruction and its address are sent to the instruction register to be interpreted.</li> |
| 72 | <li><b>Execute: </b> The CPU executes the instruction and stores the result in the accumulator.</li> |
| 73 | </ul> |
28 | | [[Image(https://i.ibb.co/WpkQK6k/high-level-1.png)]] |
| 75 | <h2 style="font-size: 22px; margin-bottom: 10px; margin-left: 25px;"> |
| 76 | Central Processing Unit (CPU) |
| 77 | </h2> |
| 78 | <ul style="font-size: 20px; margin-left: 35px;"> |
| 79 | <li><b>Function:</b> Executes instructions from programs by performing basic arithmetic, logic, control, and input/output operations.</li> |
| 80 | <li><b>Parts: </b> |
| 81 | <ul style="font-size: 20px; margin-left: 45px;"> |
| 82 | <li><b>Clock:</b> Generates timing signals to coordinate CPU activities. With each tick, the CPU performs steps of the fetch-execute cycle.</li> |
| 83 | <li><b>Registers:</b> Temporary storage for data and instructions within the CPU.</li> |
| 84 | <li><b>ALU:</b> Executes arithmetic and logical operations.</li> |
| 85 | </ul> |
| 86 | </li> |
| 87 | </ul> |
30 | | == Week 2 |
| 89 | <h2 style="font-size: 22px; margin-bottom: 10px; margin-left: 25px;"> |
| 90 | Random Access Memory (RAM) |
| 91 | </h2> |
| 92 | <ul style="font-size: 20px; margin-left: 35px;"> |
| 93 | <li><b>Function:</b> Stores data and machine code currently being used. It allows for quick read and write operations.</li> |
| 94 | <li><b>Characteristics: </b> |
| 95 | <ul style="font-size: 20px; margin-left: 45px;"> |
| 96 | <li><b>Volatile Memory:</b> Data is lost when power is turned off.</li> |
| 97 | <li><b>Direct Access:</b> Any memory location can be accessed directly and quickly.</li> |
| 98 | </ul> |
| 99 | </li> |
| 100 | </ul> |
32 | | [https://docs.google.com/presentation/d/1rOCvDj2A00DrVsliciAL2aQvi_JLKicKCPpr9zzMZoU/edit?usp=sharing Week 2 Presentation] |
| 102 | <h2 style="font-size: 22px; margin-bottom: 10px; margin-left: 25px;"> |
| 103 | Arithmetic Logic Unit (ALU) & BUS |
| 104 | </h2> |
| 105 | <h2 style="font-size: 22px; margin-bottom: 10px; margin-left: 25px;"> |
| 106 | ALU |
| 107 | </h2> |
| 108 | <ul style="font-size: 20px; margin-left: 35px;"> |
| 109 | <li><b>Functions:</b> |
| 110 | <ul style="font-size: 20px; margin-left: 45px;"> |
| 111 | <li>Performs arithmetic operations: Addition, Subtraction, Multiplication, Division.</li> |
| 112 | <li>Executes logical operations: NOT, OR, AND.</li> |
| 113 | </ul> |
| 114 | </li> |
| 115 | <li><b>Importance: </b> Central to performing computations required by programs.</li> |
| 116 | </ul> |
34 | | [[Image(https://i.ibb.co/WP0pjxs/p8.png)]] |
| 118 | <h2 style="font-size: 22px; margin-bottom: 10px; margin-left: 25px;"> |
| 119 | BUS |
| 120 | </h2> |
| 121 | <ul style="font-size: 20px; margin-left: 35px;"> |
| 122 | <li><b>Purpose: </b> Facilitates communication between the CPU, memory, and other peripherals.</li> |
| 123 | <li><b>Types: </b> |
| 124 | <ul style="font-size: 20px; margin-left: 45px;"> |
| 125 | <li><b>Data Bus: </b> Carries data between components.</li> |
| 126 | <li><b>Address Bus: </b> Carries memory addresses that the CPU wants to access.</li> |
| 127 | <li><b>Control Bus: </b> Carries control signals from the CPU to other components.</li> |
| 128 | </ul> |
| 129 | </li> |
| 130 | </ul> |
36 | | [[Image(https://i.ibb.co/YfZm13K/p9.jpg)]] |
| 132 | <h1 style="font-size: 35px; margin-bottom: 10px; margin-left: 5px;"> |
| 133 | Goals For Next Week |
| 134 | </h1> |
| 135 | <h2 style="font-size: 25px; margin-bottom: 10px; margin-left: 25px;"> |
| 136 | Tasks |
| 137 | </h2> |
| 138 | <ul style="font-size: 20px; margin-left: 35px;"> |
| 139 | <li><b>Model and Test ALU:</b> |
| 140 | <ul style="font-size: 20px; margin-left: 45px;"> |
| 141 | <li>Utilize TinkerCad to model and simulate the ALU component of the computer.</li> |
| 142 | <li>Ensure correct functioning through testing various arithmetic and logical operations.</li> |
| 143 | </ul> |
| 144 | </li> |