Inside the Computer
Central Processing Unit (CPU)
Executes instructions fetched from memory, operates in binary.
Follows the von Neumann model, where data and instructions share memory.
CPU fetches instructions or modifies data, not both simultaneously (von Neumann bottleneck).
Memory Architecture
Types of memory:
RAM: Volatile, allows read/write, accessible via addresses.
ROM: Non-volatile, read-only memory; typically programmed initially.
Data & Address Buses
Data bus: Transfers data between memory and CPU, bidirectional.
Address bus: Identifies memory location for data access.
Control signals are communicated through the control bus (read/write status, address validity).
I/O Operations
Involves memory-mapped I/O where I/O devices are treated as memory addresses.
Abstractions in Computer Architecture
Two levels of abstraction:
User level: How the system is presented to the programmer.
Logic level: Implementation using digital circuits and hardware components.
Abstraction layers include C standard library, machine code, operating systems, CPU, and digital logic.
Memory Mapping
Memory organization: Addresses are unique identifiers for data locations, using hex notation for clarity.