Welcome, Guest. Please login or register.

Author Topic: mmu.library initialization consumes ~1.5MB?!  (Read 3995 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16881
  • Country: gb
  • Thanked: 5 times
    • Show all replies
Re: mmu.library initialization consumes ~1.5MB?!
« on: September 01, 2009, 09:14:21 PM »
MMU's perform virtual to physical address mapping. They do this using page tables. Those tables are stored in RAM (where else?).

The more RAM you have in your system, the more pages need to be mapped and so the larger the page table gets.
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16881
  • Country: gb
  • Thanked: 5 times
    • Show all replies
Re: mmu.library initialization consumes ~1.5MB?!
« Reply #1 on: September 01, 2009, 11:27:45 PM »
Quote from: AmigaMance;521755
Hmm.. I have 128MB of fast ram while mike- has 32MB.
If i have understood you correctly, this explains why MMU occupies so much RAM in my case. :-?
 Thanks!

Sounds about right but I'd need to check the exact sizes. 1.5 MB sounds a bit big still for 128MB. 680x0 MMU pages are usually 4KB each (8K is possible on 040/060 IIRC), so that's 32768 pages at 4K each. Now, there are tiers to MMU page tables too, so you have your table of 4K blocks, then a table of 256K blocks (exact size may be different) and so on. The idea is that they exist in a tree like hierarchy to assist address lookup. Even taking these layers into account, I can't see a page table that size needing 1.5MB. Perhaps your kickstart has also been remapped by mmu.library?
« Last Edit: September 01, 2009, 11:30:17 PM by Karlos »
int p; // A