Understanding Hardware Architecture Basics

Sep 9, 2024

Hardware Architecture Lecture Notes

Introduction

  • Purpose of Lecture:
    • To understand terms such as secondary storage, CPU, RAM, peripherals, and input devices.
    • To comprehend hardware architecture even if not directly building hardware.

Raspberry Pi

  • A small single board computer example
  • As hardware evolves, components decrease in number, yet architecture stays the same.

Generic Computer Architecture

  • Main Components:
    • Microprocessing Unit (CPU):
      • Acts as the brain of the computer.
      • Operates at billions of cycles per second.
      • Processes instructions from memory.
    • Main Memory:
      • Stores instructions quickly accessible by CPU.
      • Volatile - data lost when power is off.
    • Motherboard:
      • Connects all hardware components together (CPU, memory, storage).
    • Secondary Storage:
      • Non-volatile storage for long-term data retention.
      • Examples: Hard drives, flash drives.

Evolution of Hardware

  • Old vs. New Hardware:
    • Transition from large, component-filled boards to miniaturized microprocessors.
    • Integration of components into smaller, single units like in phones or Raspberry Pi.

Input and Output Devices

  • Input Devices: Keyboards, mice, pens.
  • Output Devices: Screens.

Storage Types

  • Main Memory:
    • Fast, temporary storage.
  • Secondary Memory:
    • Permanent storage.
    • Increasingly becoming flash or static memory, moving away from moving physical parts.

Role of Programmers

  • Software and Programming:
    • Programmers write software that dictates CPU actions.
    • Python programming code is translated into machine language for CPU execution.
    • Emphasis on writing efficient software to maximize hardware capabilities.

Videos for Supplementary Learning

  • Suggested videos illustrate CPU operations and hard disk functionality.

Conclusion

  • Understanding basic hardware architecture aids in better software development.
  • Upcoming focus: Learning and coding in Python.