ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Computer Organization and Assembly Language
    COMP2118
    Progress0 / 35 topics
    Topics
    1. Introduction to Computer Systems2. Information is Bits + Context3. Programs are Translated by Other Programs4. Understanding Compilation Systems5. Processors Read and Interpret Instructions6. Caches Matter7. Storage Devices Form a Hierarchy8. The Operating System Manages the Hardware9. Systems Communicate Using Networks10. Representing and Manipulating Information11. Information Storage12. Integer Representations13. Integer Arithmetic14. Floating Point15. Machine-Level Representation of Programs16. A Historical Perspective17. Program Encodings18. Data Formats19. Accessing Information20. Arithmetic and Logical Operations21. Control22. Procedures23. Array Allocation and Access24. Heterogeneous Data Structures25. Understanding Pointers26. Using the GDB Debugger27. Out-of-Bounds Memory References and Buffer Overflow28. x86-64: Extending IA-32 to 64 Bits29. Machine-Level Representations of Floating-Point Programs30. Processor Architecture31. The Y86 Instruction Set Architecture32. Logic Design and the Hardware Control Language (HCL)33. Sequential Y86 Implementations34. General Principles of Pipelining35. Pipelined Y86 Implementations
    COMP2118›Processor Architecture
    Computer Organization and Assembly LanguageTopic 30 of 35

    Processor Architecture

    6 minread
    948words
    Intermediatelevel

    Processor Architecture

    Processor architecture refers to the design and structure of a computer's central processing unit (CPU), which determines how it executes instructions, handles data, and interacts with other components of the system. Understanding processor architecture involves looking at its components, instruction sets, data paths, and how the CPU processes and manipulates data.


    1. Key Components of Processor Architecture

    a. Control Unit (CU)

    The control unit directs the operation of the processor. It interprets instructions from the program and tells the other components of the CPU how to respond.

    • Instruction Fetch: Retrieves instructions from memory.
    • Instruction Decode: Decodes the instruction to understand the operation.
    • Execution: Sends the instruction to the appropriate hardware (ALU, registers, etc.) for execution.

    b. Arithmetic Logic Unit (ALU)

    The ALU is responsible for carrying out arithmetic and logical operations such as addition, subtraction, AND, OR, and comparisons.

    • Arithmetic Operations: Addition, subtraction, multiplication, division (basic operations).
    • Logical Operations: AND, OR, NOT, XOR, etc.

    c. Registers

    Registers are small, fast storage locations within the CPU used to hold data temporarily.

    • General-purpose registers: Used for intermediate calculations and data storage.
    • Special-purpose registers: Includes the program counter (PC), stack pointer (SP), and status registers (flags).

    d. Cache

    Cache is a small, high-speed memory located close to the CPU. It stores frequently accessed data to reduce the time it takes to fetch instructions and data from main memory (RAM).


    2. Types of Processor Architectures

    a. Von Neumann Architecture

    • Single Shared Memory: Instructions and data share the same memory space.
    • Sequential Execution: Instructions are fetched, decoded, and executed one after another.
    • Disadvantage: The "Von Neumann bottleneck" occurs because the CPU can only access memory for either data or instructions at a time, not both.

    b. Harvard Architecture

    • Separate Memory for Data and Instructions: This allows simultaneous access to both data and instructions, improving performance.
    • Used in Specialized Processors: Common in embedded systems and digital signal processors (DSPs).

    c. RISC (Reduced Instruction Set Computing)

    • Simplified Instruction Set: RISC processors use a smaller number of instructions, typically with a fixed length and regular format.
    • Fast Execution: Each instruction is executed in one cycle (for the most part), leading to efficient pipelines.
    • Example: ARM processors.

    d. CISC (Complex Instruction Set Computing)

    • Complex Instructions: CISC processors have a large and complex set of instructions, some of which can execute multiple operations in one instruction cycle.
    • More Efficient for High-Level Code: CISC can be more efficient for certain types of software, as complex instructions reduce the number of instructions per program.
    • Example: x86 architecture (used in most personal computers).

    3. Instruction Set Architecture (ISA)

    The Instruction Set Architecture defines the set of instructions the processor can execute, including:

    • Arithmetic Operations: Add, subtract, multiply, divide.
    • Logical Operations: AND, OR, XOR, NOT.
    • Control Flow: Branching, loops, conditional statements.
    • Memory Operations: Load, store, move data between registers and memory.

    There are two main types of ISAs:

    • RISC (Reduced Instruction Set Computing): A simpler, more streamlined set of instructions.
    • CISC (Complex Instruction Set Computing): A more feature-rich set of instructions with greater complexity.

    4. Pipelining

    Pipelining is a technique used to improve the throughput of a processor by overlapping the execution of multiple instructions. The processor is divided into several stages, such as:

    • Fetch Stage: Retrieve the instruction from memory.
    • Decode Stage: Decode the instruction.
    • Execute Stage: Perform the operation (ALU).
    • Memory Access Stage: Access memory (if needed).
    • Write-back Stage: Write the result back to a register.

    This allows the processor to work on several instructions simultaneously, improving its efficiency.


    5. Multi-core and Parallelism

    Modern processors often contain multiple cores, which are individual processing units that can execute instructions simultaneously. Multi-core processors allow for parallelism, where multiple tasks can be processed concurrently, improving overall performance.

    • Symmetric Multiprocessing (SMP): Multiple processors share a common memory and are connected to the same bus.
    • Asymmetric Multiprocessing (AMP): One processor is the master, and the others are slaves, each handling specific tasks.

    6. Data Path and Control Path

    • Data Path: This refers to the path that data takes inside the CPU, from the registers to the ALU and then to memory. It involves operations like fetching data, performing computations, and writing results.
    • Control Path: This refers to the signals that control the movement of data in the CPU, including the control unit’s decisions and signals to the data path components (ALU, registers, etc.).

    7. Summary Table: Processor Architecture

    Concept Explanation
    Control Unit (CU) Directs CPU operations by fetching, decoding, and executing instructions.
    Arithmetic Logic Unit (ALU) Executes arithmetic and logical operations like addition, subtraction, and logical comparisons.
    Registers Small, fast storage within the CPU to hold data temporarily during execution.
    Cache High-speed memory to reduce data access time, improving processor performance.
    Von Neumann Architecture Shared memory for instructions and data; sequential execution leads to potential bottlenecks.
    Harvard Architecture Separate memory for instructions and data, enabling simultaneous access.
    RISC Simple instruction set with fast execution, common in embedded systems.
    CISC Complex instruction set, offering more powerful operations, common in desktop processors (e.g., x86).
    Instruction Set Architecture (ISA) Defines the instructions the processor can execute; RISC and CISC are two types of ISA.
    Pipelining Technique to overlap the execution of multiple instructions, increasing throughput and efficiency.
    Multi-core Processors Processors with multiple cores for parallel execution, improving performance and multitasking capability.
    Data Path and Control Path The data path carries the data during execution; the control path manages the signals that guide the data.

    Processor architecture is fundamental for understanding how a CPU works, performs calculations, and processes instructions in a computer system.

    Previous topic 29
    Machine-Level Representations of Floating-Point Programs
    Next topic 31
    The Y86 Instruction Set Architecture

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time6 min
      Word count948
      Code examples0
      DifficultyIntermediate