Monday, May 05, 2014

How modern hardware designs excel software needs?

Initially Intel hardware supported only 32 bit bus which supported only up to 4 GB RAM. Later 4 GB RAM was not enough for servers. So, 4 more bits were added in the hardware bus. Since then, RAM can be extended till 64 GB. In Linux, the Page size is 4 KB. So, remaining 20 bits will be divided into 10-10 bits. Each entry is 2 words (20 bit RPN - 20 bit VPN). Each page table is 8 KB? For Intel, Linux used only 2 level and one dummy level. To support extended bits, 4-10-10 table structure is used. But, still logical address is 32 bits. But, the physical address is 36 bits address. How this is managed? In Linux page table entry, the logical address field remains same as 32 bits. But, the physical address is extended by 4 bits. So, though the physical RAM is 64 GB available, no single process can utilize the whole RAM because its (logical) address space is limited to 32 GB. But, different processes can map different parts of 64 GB RAM into its logical address space and can co-exist in the RAM without any additional overhead of swapping.

No comments: