ScholarQuill logoScholarQuillUniversity Notes
My Semester
Explore Notes
Past Papers12 New
Video CoursesNew
Search
Settings
Study Tools
GPA/CGPA Calculator
Schedule & To-Do
Student Portal
Contact
Contact
ScholarQuill logo
My Semester
Explore Notes
Past Papers12 New
Video CoursesNew
Search
Settings
GPA/CGPA Calculator
Schedule & To-Do
Student Portal
Contact
ScholarQuill logoScholarQuillUniversity Notes
Study PortalCOMP2118Accessing Information
Ctrl + K
Login
Explore
Search
Semester
Papers
CGPA
    COMP2118

    Computer Organization and Assembly Language

    Progress0 / 35 done
    Topics35
    1Introduction to Computer Systems2Information is Bits + Context3Programs are Translated by Other Programs4Understanding Compilation Systems5Processors Read and Interpret Instructions6Caches Matter7Storage Devices Form a Hierarchy8The Operating System Manages the Hardware9Systems Communicate Using Networks10Representing and Manipulating Information11Information Storage12Integer Representations13Integer Arithmetic14Floating Point15Machine-Level Representation of Programs16A Historical Perspective17Program Encodings18Data Formats19Accessing Information20Arithmetic and Logical Operations21Control22Procedures23Array Allocation and Access24Heterogeneous Data Structures25Understanding Pointers26Using the GDB Debugger27Out-of-Bounds Memory References and Buffer Overflow
    28Extending IA-32 to 64 Bits29Machine-Level Representations of Floating-Point Programs30Processor Architecture31The Y86 Instruction Set Architecture32Logic Design and the Hardware Control Language (HCL)33Sequential Y86 Implementations34General Principles of Pipelining35Pipelined Y86 Implementations
    7 min read
    Topic 19 of 35
    Topic Study Note Illustration
    19

    Accessing Information

    In computer organization, accessing information refers to how data is retrieved or written to storage locations within a computer system. This involves understanding how memory and storage...

    In computer organization, accessing information refers to how data is retrieved or written to storage locations within a computer system. This involves understanding how memory and storage are structured and how the processor can interact with them efficiently. Let's break down the key concepts related to accessing information:

    1. Memory Hierarchy

    • What it is: The memory hierarchy is a structure that prioritizes different types of memory based on speed, cost, and capacity. Data access speeds vary between these types, so the computer uses a combination of different memory types to optimize performance.
    • Hierarchy order (fastest to slowest):
      1. Registers: Very fast, small memory located inside the CPU.
      2. Cache Memory: Faster than RAM but smaller in size. It stores frequently used data.
      3. Main Memory (RAM): Temporary, volatile memory used to store data that the CPU is currently working with.
      4. Secondary Storage: Hard disks, SSDs, and other storage devices that provide long-term storage but are slower than RAM.

    2. Memory Addressing

    • What it is: Memory addressing refers to how the computer's processor accesses specific locations in memory. Each location in memory has a unique address, much like an index in an array.
    • Types of Memory Addressing:
      • Physical Addressing: Refers to the actual hardware addresses in memory.
      • Virtual Addressing: Used by modern operating systems to give each process its own address space. The operating system maps virtual addresses to physical addresses in RAM.
      • Logical Addressing: Refers to addresses used by programs. These are mapped by the operating system to physical addresses.

    3. Direct vs. Indirect Addressing

    • Direct Addressing: In this mode, the address of the data is given explicitly in the instruction. The CPU directly accesses the memory location.
      • Example: MOV AX, [1000] – This moves the value at memory address 1000 into the AX register.
    • Indirect Addressing: In this mode, the instruction contains a reference (pointer) to the memory location. The CPU must first access the pointer and then use it to get the actual memory location.
      • Example: MOV AX, [BX] – The value stored in register BX is treated as the address from which data will be retrieved.

    4. Accessing Memory in Assembly Language

    In assembly language, memory locations are accessed using operands that specify where data is stored. These operands can refer to registers, immediate values, or memory addresses.

    • Immediate Addressing: The operand is a constant value (no memory access).

      • Example: MOV AX, 5 – Moves the immediate value 5 into the AX register.
    • Register Addressing: The operand is a register (no memory access).

      • Example: MOV AX, BX – Moves the value in register BX to register AX.
    • Direct Addressing: The operand refers to a direct memory address.

      • Example: MOV AX, [1000] – Loads the value at memory address 1000 into register AX.
    • Indexed Addressing: This combines a base address (usually in a register) with an index value (often another register or an offset).

      • Example: MOV AX, [BX + SI] – The effective address is calculated by adding the contents of registers BX and SI together.

    5. Cache Memory and Access

    • What it is: Cache memory is a smaller, faster type of volatile memory located close to the CPU. It stores frequently accessed data so that the CPU doesn't have to fetch it from slower main memory (RAM) every time.
    • How it works: When the CPU requests data, the cache controller checks if the data is already in the cache (this is called a cache hit). If the data isn't found (a cache miss), it fetches the data from RAM and stores it in the cache for future use.
    • Levels of Cache:
      • L1 Cache: Located closest to the CPU, smallest and fastest.
      • L2 Cache: Larger and slightly slower than L1 cache, still located near the CPU.
      • L3 Cache: Even larger and slower than L1 and L2 caches, but still faster than main memory.

    6. Access Time

    • What it is: Access time refers to the time it takes to retrieve data from a particular memory location. Different types of memory have different access times.
      • Registers: Fastest access time.
      • Cache Memory: Slightly slower but much faster than main memory.
      • Main Memory (RAM): Slower access time compared to cache memory.
      • Secondary Storage: Slowest access time.

    7. Memory Access Methods

    • Sequential Access: Data is accessed in a specific order, one piece at a time. This is common in tape drives.
    • Random Access: Any memory location can be accessed directly and in any order. This is used in RAM and most modern storage devices (e.g., hard drives, SSDs).
    • Direct Access: Specific locations of memory are accessed directly by providing an address.

    8. Memory-Mapped I/O

    • What it is: Memory-mapped I/O is a technique where input and output devices (like printers, monitors, or disk drives) are treated as if they were memory locations. The processor uses standard memory instructions to communicate with these devices.
    • How it works: The CPU uses specific addresses to interact with I/O devices as though they were part of the system's memory.
    • Example: Writing data to a particular memory address could result in sending data to a printer or reading data from a sensor.

    9. Bus and Data Access

    • What it is: The bus is a communication system that transfers data between the CPU, memory, and I/O devices.
    • Types of Buses:
      • Data Bus: Carries the actual data.
      • Address Bus: Carries the memory addresses that specify where data should be read from or written to.
      • Control Bus: Carries control signals to manage the actions of the CPU and other components.
    • Accessing Information Through the Bus:
      • When the CPU needs to access memory or I/O, it sends a request via the address bus.
      • The control bus then manages the read or write operation.
      • The data bus carries the actual data to or from the specified address.

    10. Virtual Memory

    • What it is: Virtual memory is a memory management technique that allows programs to access more memory than is physically available in RAM.
    • How it works: The operating system uses disk space (secondary storage) as additional memory. It swaps data in and out of RAM as needed.
    • Page Tables: Virtual memory uses a system of pages to divide memory into small, fixed-size blocks. A page table maps virtual addresses to physical addresses.

    Summary of Key Concepts in Accessing Information:

    Concept Description Example
    Memory Hierarchy Different levels of memory storage, from registers to secondary storage Cache -> RAM -> Hard Disk
    Memory Addressing Methods for accessing specific memory locations Virtual vs Physical Addressing
    Direct vs Indirect Addressing How the memory address is specified in an instruction MOV AX, [1000] (Direct), MOV AX, [BX] (Indirect)
    Cache Memory High-speed memory storing frequently accessed data Cache stores recent data
    Access Time Time taken to retrieve data from memory Registers have the fastest access time
    Memory-Mapped I/O Treating I/O devices as memory locations Writing data to a memory address to control a device
    Bus and Data Access Communication channels between the CPU, memory, and I/O Data bus, Address bus, Control bus
    Virtual Memory Using disk space as an extension of RAM Paging and swapping data between RAM and disk

    Conclusion

    Accessing information efficiently in a computer system requires an understanding of how memory and storage are structured, how the processor interacts with these storage types, and how data is moved through different components of the system. Whether it's accessing information from registers, cache, or RAM, the system uses various addressing and access methods to manage data and optimize performance.

    ← Previous topic 18
    Data Formats
    Next topic 20 →
    Arithmetic and Logical Operations

    Past Papers

    Open this section to view and download past papers

    Click on Show Past Papers to load available exam papers.

    Reading Progress
    0%
    7mremaining
    1.2kwords
    Intermediatelevel
    On This Page

    No headings found

    Study Toolkit

    Subject Portal

    Computer Organization and Assembly Language