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 Physical 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)
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.
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)
If page table are kept in main memory,
Effective access time = m(for page table) + m(for particular page in page table)
No comments:
Post a Comment