Paging


  • 2
    S

    Paging is a memory management scheme that eliminates the need for contiguous allocation of physical memory. This scheme permits the physical address space of a process to be non – contiguous.

    Logical Address or Virtual Address (represented in bits): An address generated by the CPU
    Logical Address Space or Virtual Address Space( represented in words or bytes): The set of all logical addresses generated by a program
    Physical Address (represented in bits): An address actually available on memory unit
    Physical Address Space (represented in words or bytes): The set of all physical addresses corresponding to the logical addresses
    Example:

    If Logical Address = 31 bit, then Logical Address Space = 231 words = 2 G words (1 G = 230)
    If Logical Address Space = 128 M words = 27 * 220 words, then Logical Address = log2 227 = 27 bits
    If Physical Address = 22 bit, then Physical Address Space = 222 words = 4 M words (1 M = 220)
    If Physical Address Space = 16 M words = 24 * 220 words, then Logical Address = log2 224 = 24 bits
    The mapping from virtual to physical address is done by the memory management unit (MMU) which is a hardware device and this mapping is known as paging technique.

    The Physical Address Space is conceptually divided into a number of fixed-size blocks, called frames.
    The Logical address Space is also splitted into fixed-size blocks, called pages.
    Page Size = Frame Size
    Let us consider an example:

    Physical Address = 12 bits, then Physical Address Space = 4 K words
    Logical Address = 13 bits, then Logical Address Space = 8 K words
    Page size = frame size = 1 K words (assumption)
    alt text

    Address generated by CPU is divided into

    Page number(p): Number of bits required to represent the pages in Logical Address Space or Page number
    Page offset(d): Number of bits required to represent particular word in a page or page size of Logical Address Space or word number of a page or page offset.
    Physical Address is divided into

    Frame number(f): Number of bits required to represent the frame of Physical Address Space or Frame number.
    Frame offset(d): Number of bits required to represent particular word in a frame or frame size of Physical Address Space or word number of a frame or frame offset.

    The hardware implementation of page table can be done by using dedicated registers. But the usage of register for the page table is satisfactory only if page table is small. If page table contain large number of entries then we can use TLB(translation Look-aside buffer), a special, small, fast look up hardware cache.

    The TLB is associative, high speed memory.
    Each entry in TLB consists of two parts: a tag and a value.
    When this memory is used, then an item is compared with all tags simultaneously.If the item is found, then corresponding value is returned.
    alt text

    Main memory access time = m
    If page table are kept in main memory,
    Effective access time = m(for page table) + m(for particular page in page table)
    alt text


Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.