Computer Organization and Architecture Study Notes
Architecture versus Organization
Computer Architecture:
- Refers to attributes of a system that are directly visible to the programmer.
- Consists of attributes that have a direct impact on the logical execution of a program.
- Key architectural attributes include:
- Instruction set architecture (ISA).
- Number of bits used to represent data types (e.g., integers, floating-point numbers).
- Input/Output (I/O) mechanisms.
- Techniques for addressing memory.
- Architectural Example: Determining whether a computer architecture contains a specific hardware instruction for multiplication.
Computer Organization:
- Refers to the operational units and their interconnections that realize the architectural specifications.
- Key organizational attributes include:
- Hardware control signals.
- Interfaces between the computer and peripheral devices.
- Memory technology used in the system.
- Organizational Example: Determining whether a multiplication instruction is implemented via a dedicated hardware multiply unit or by executed repeated addition software routines.
Architectural Families and Compatibility:
- Many computer design families maintain a single, standardized architecture while using varying organizational implementations across different models.
- Intel x86 Family: All implementations share the same basic architecture.
- IBM System/370 Family: Models share the same basic architecture across multiple generations.
- Code Compatibility: Shared architecture guarantees application software compatibility across different system versions (at least maintaining backward compatibility, allowing older software to run on new hardware).
- Organizational Differences: Organization differs between different versions and price/performance points within the same family to adjust performance, speed, and cost parameters.
Fundamental Computer Concepts: Structure and Function
Core Concepts Defined:
- Structure: The specific way in which internal components are interconnected and relate to each other.
- Function: The operation of each individual component as part of the overall structure.
Four Basic Computer Functions:
- Data Processing: Performing arithmetic, logical, and structural operations on data.
- Data Storage: Holding data long-term or temporarily for system operation.
- Data Movement: Transferring data between the computer environment and external devices or communication channels.
- Control: Managing and coordinating the computer's internal components, storage, and processing tasks based on given instructions.
Functional View of a Computer:

* **Operating Environment**: The source and destination of data external to the computer system.
* **Data Movement Apparatus**: Transfers data directly between the operating environment and internal mechanisms.
* **Control Mechanism**: Orchestrates all operations, directing internal movement, processing, and storage components.
* **Data Storage Facility**: Holds data internally for current or future processing operations.
* **Data Processing Facility**: Executes hardware processing tasks on data.
- Four Basic Operational Scenarios:
- Data Movement Operation: Data is transferred directly between the external operating environment and the computer via the Data Movement Apparatus under Control Mechanism direction.
- Data Storage Operation: Data is received from the external environment through the Data Movement Apparatus and written directly into the Data Storage Facility managed by the Control Mechanism.
- Processing from/to Storage: Data is retrieved from the Data Storage Facility, operated on by the Data Processing Facility, and stored back into the Data Storage Facility under Control Mechanism supervision.
- Processing from Storage to I/O: Data stored in the Data Storage Facility is processed by the Data Processing Facility and moved out through the Data Movement Apparatus to the external operating environment.
Top-Level Computer Structure
External System Environment:
- Peripherals: External devices connected for input/output operational capabilities.
- Communication Lines: External links connecting the computer system to networks or remote systems.
Four Major Structural Components:

* **Central Processing Unit (CPU)**:
* Controls system operations and performs all data processing functions within the computer.
* **Main Memory**:
* Stores active instructions and data needed during program execution.
* **Input/Output (I/O)**:
* Transfers data between the computer and its external peripherals or communication links.
* **Systems Interconnection (System Bus)**:
* A communication structure providing data pathways among the CPU, Main Memory, and Input/Output mechanisms.
Internal Structure of the CPU
Role of the Processor:
- Acts as the primary execution engine of the computer, decoding software instructions and managing internal hardware components.
Four Primary Internal Components of the CPU:

* **Control Unit**:
* Directs and controls all operational tasks inside the CPU and throughout the computer system.
* **Arithmetic and Logic Unit (ALU)**:
* Performs mathematical calculation and logical comparison tasks.
* **Registers**:
* Internal high-speed hardware memory storage locations local to the processor for holding intermediate results and control status.
* **Internal CPU Interconnection (Internal Bus)**:
* Communication mechanism enabling data transfer among the Registers, ALU, and Control Unit.
Internal Structure of the Control Unit
Role of the Control Unit:
- Generates discrete hardware control signals to sequence and execute machine instructions.
Three Key Internal Sub-Components of the Control Unit:

* **Sequencing Logic**:
* Controls signal flow sequencing logic to execute micro-operations step-by-step.
* **Control Unit Registers and Decoders**:
* Decodes opcodes and retains intermediate state information during instruction decoding.
* **Control Memory**:
* Dedicated internal storage containing microprogram routines that define microinstruction control sequences.
Overview of Core Computer Architecture Topics
- CPU Structure and Function: Detailed examination of processor organization, instruction cycle execution, and internal register sets.
- Reduced Instruction Set Computers (RISC): Architectures prioritizing simplified instruction sets to achieve instruction throughput per clock cycle.
- Superscalar Processors: Advanced architectures enabling parallel instruction dispatch and simultaneous execution across multiple instruction pipelines.
- Control Unit Operation: Principles governing instruction decoding, hardware timing, and control signal generation.
- Microprogrammed Control: Methodologies for implementing control units using microinstruction routines stored in control memory.
- Multiprocessors and Vector Processing: High-performance parallel hardware configurations including multi-core implementations, vector calculations, and shared system memory topologies.
- Digital Logic: Hardware foundations covering Boolean logic, gate operations, combinational circuits, and sequential logic (detailed in system documentation appendix).