1. Data and Computers
1.1. Data:
1.1.1. Digital information represented as binary digits (bits).
1.2. Instructions
1.2.1. Commands that transfer information within the computer
1.2.2. Collection of instrucion = program
1.2.3. from memory to ALU, from keyboard to computer, or computer to printer
1.3. Computers
1.3.1. Classic Components
1.3.1.1. **Input:** Accepting Information.
1.3.1.1.1. Devices providing data to the computer
1.3.1.1.2. **[data enters]**
1.3.1.2. **Memory:** Stores data and instructions
1.3.1.3. **CPU/Datapath:** Performs arithmetic and logic operations
1.3.1.3.1. Processing Information
1.3.1.3.2. **[data manipulation]**
1.3.1.4. **Control:** Manages execution of instructions, directing datapath, memory, and I/O operations
1.3.1.4.1. **[datapath + control = processor (CPU)** (it manipulates instructions and data)]
1.3.1.5. **Output:** Devices displaying or Providing Results
1.3.1.5.1. **[data exits]**
2. Types of Computing Machines
2.1. Ubiquitous Computing: everywhere
2.1.1. General Purpose:** Servers, desktops, laptops, PDAs
2.1.2. Special Purpose:** Cash registers, ATMs, gaming consoles
2.1.3. Embedded Systems:** Cars, printers, medical equipment, industrial machinery
2.2. Distinguishing Characteristics
2.2.1. Speed & Cost
2.2.2. Software Support & Scalability
2.2.3. Interface & Ease of Use
3. Computer Organization
3.1. Historical Perspective:
3.1.1. Initially, machines were purpose-built for specific applications.
3.1.2. istenen gibi davranan uygulamalar için hep ayrı ayrı-özel makineler gerekiyordu
3.2. General Purpose Computers:
3.2.1. Modern computers use software to perform a variety of tasks.
3.2.2. programmed with software to achieve the desired outcomes
3.2.3. Flow: Electronic Devices → Computer Organization → General Purpose Computer → Software → Desired Behavior
4. Universal Computational Devices
4.1. Turing's Thesis:
4.1.1. Any computer can theoretically perform any computation given sufficient resources, regardless of its speed, size, or cost.
4.1.2. Turing Machine: A theoretical device that accepts input data and instructions.
4.2. Problem Transformation:
4.2.1. Levels of Abstraction in Computing
4.2.1.1. 4. Machine Architecture (ISA): defines what the machine can do.
4.2.1.1.1. **ISA:** Formal specification of machine functions and instructions that machine can carry out.
4.2.1.2. 1. Natural Language: The human-readable instructions
4.2.1.3. 2. Algorithm: Step-by-step procedure
4.2.1.4. 3. Program: A set of algorithms written in a programming language
4.2.1.4.1. **Operating System (OS):** Interface between application programs and hardware.
4.2.1.4.2. **Application Program (Software):** Performs specific tasks via the OS.(word processing or web browsing)
4.2.1.5. 5. Microarchitecture: How the ISA is implemented in hardware
4.2.1.5.1. Specific implementation of the ISA.
4.2.1.6. 6. Logic Circuits: Basic electronic circuits
4.2.1.6.1. Basic building blocks of the microarchitecture.
4.2.1.7. 7. Devices: physical components like transistors
4.3. Standard Interfaces:
4.3.1. Portability: The ability to transfer software/data across different computers.
4.3.2. Compatibility with third-party software/hardware
4.3.3. Wider Usage