wiki:Other/Summer/2024/bC

Version 17 (modified by rmadiraju, 4 months ago) ( diff )

Breadboard Computer Project

  WINLAB Summer Internship 2024

  Advisors: Dr. Richard Howard, Dr. Richard Martin

  Group Members: Dilan Gandhi, Rithvik Madiraju

Project Objective

Overview

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.

Specific Goals:

  • Construction: Build a fully functional 8-bit computer using discrete components.
  • Documentation: 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.

Week 1

Week 1 Presentation

Summary

  • Read and familiarize ourselves with the components of the breadboard computer.
  • Learned about the components of computers
    • Fetch-Execute Cycle
    • CPU
    • Random Access Memory (RAM)
    • Arithmetic Logic Unit (ALU)
    • BUS

What We Worked On

Component Familiarization

We began by reading and familiarizing ourselves with the various components required for the breadboard computer, such as:

  • Integrated Circuits (ICs)
  • Logic gates (AND, OR, NOT, etc.)
  • Registers
  • Breadboards
  • Wires and Connectors

Computer Components Learning

We delved into understanding the fundamental components of computers and their functions. This included studying:

Fetch-Execute Cycle

Understanding the core cycle through which a CPU processes instructions:

  • Fetch: CPU loads instructions into the registers from RAM.
  • Decode: Instruction and its address are sent to the instruction register to be interpreted.
  • Execute: The CPU executes the instruction and stores the result in the accumulator.

Central Processing Unit (CPU)

  • Function: Executes instructions from programs by performing basic arithmetic, logic, control, and input/output operations.
  • Parts:
    • Clock: Generates timing signals to coordinate CPU activities. With each tick, the CPU performs steps of the fetch-execute cycle.
    • Registers: Temporary storage for data and instructions within the CPU.
    • ALU: Executes arithmetic and logical operations.

Random Access Memory (RAM)

  • Function: Stores data and machine code currently being used. It allows for quick read and write operations.
  • Characteristics:
    • Volatile Memory: Data is lost when power is turned off.
    • Direct Access: Any memory location can be accessed directly and quickly.

Arithmetic Logic Unit (ALU) & BUS

ALU

  • Functions:
    • Performs arithmetic operations: Addition, Subtraction, Multiplication, Division.
    • Executes logical operations: NOT, OR, AND.
  • Importance: Central to performing computations required by programs.

BUS

  • Purpose: Facilitates communication between the CPU, memory, and other peripherals.
  • Types:
    • Data Bus: Carries data between components.
    • Address Bus: Carries memory addresses that the CPU wants to access.
    • Control Bus: Carries control signals from the CPU to other components.

Goals For Next Week

Tasks

  • Model and Test ALU:
    • Utilize TinkerCad to model and simulate the ALU component of the computer.
    • Ensure correct functioning through testing various arithmetic and logical operations.
  • Documentation:
    • Begin detailed documentation of each part of the computer.
    • Include schematics, notes, and images for clarity.
  • Clock Monitor:
    • Start and complete the construction of the clock monitor, which will manage the timing signals within the CPU.
  • Registers
    • Initiate the building of the registers, essential for temporary data storage within the CPU.
Note: See TracWiki for help on using the wiki.