Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.arch.embedded > #29716

Re: Page sizes

From Bernd Linsel <bl1@gmx.com>
Newsgroups comp.arch.embedded
Subject Re: Page sizes
Date 2020-06-27 12:21 +0200
Organization news.netcologne.de
Message-ID <rd76gs$slc$1@newsreader4.netcologne.de> (permalink)
References <rd6iuc$fkg$1@dont-email.me> <rd6p6t$krl$1@newsreader4.netcologne.de> <rd6sm4$tra$1@dont-email.me>

Show all headers | View raw


On 27.06.2020 09:32, Don Y wrote:
> On 6/26/2020 11:33 PM, Bernd Linsel wrote:
> 
> Yes, that was the point of the question.
> 
> 
> As, for my needs, this is one of those "fundamental assumptions", I'm
> looking for more assurance than "very unlikely" -- just as one wouldn't
> pick one SPECIFIC page size and assume it to be ubiquitous (or even
> expecting a single page size to be supported at any given instant)  :>
> 
> But, I don't see any VALUE in other sizes as it needlessly complicates
> any *hardware* implementation (though poses little barrier to a software
> implementation!)

Commonly (in all current mainstream processor architectures like iA32, 
AMD64, ARM, MIPS etc.) a MMU divides a logical address at bit boundaries 
into a page address and an offset.
As a result, the page address on these platforms is always a power of two.

Yes, there _may_ exist some exotic MMUs that let you choose protection 
areas (to avoid the term 'pages') with arbitrary base addresses and 
sizes. This flexibility requires heavily increased hardware efforts and 
cost and complicates an OS's memory management, so it's unlikely to be 
used at all.
One example were the i286/i386's Protected Mode segments, but even there 
was a granularity of 4K/1M, so the assertion 'segment base address is a 
power of two' was also true, you just couldn't be sure each segment had 
the same size. Setting up and maintaining the segment descriptor tables 
was so complicated that mainstream OS's on i386 (NT, Linux) only set up 
the most necessary segments and went on using a flat 4GB address space 
and the page tables of the additional MMU.
Furthermore, using segments slowed down hardware memory accesses 
considerably, that in the '486 and successors added Segment Descriptor 
Caches etc etc.

Conclusion: No, you cannot fundamentally assume that page sizes on any 
existing MMU are powers of two. Hardware designers can implement 
whatever weird and complicated adressing patterns they like.

Back to comp.arch.embedded | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-26 21:45 -0700
  Re: Page sizes Bernd Linsel <bl1@gmx.com> - 2020-06-27 08:33 +0200
    Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-27 00:32 -0700
      Re: Page sizes Bernd Linsel <bl1@gmx.com> - 2020-06-27 12:21 +0200
        Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-27 15:12 -0700
        Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-06-27 18:14 -0400
      Re: Page sizes David Brown <david.brown@hesbynett.no> - 2020-06-27 17:21 +0200
        Re: Page sizes Clifford Heath <no.spam@please.net> - 2020-06-28 15:30 +1000
      Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-06-27 18:02 -0400
  Re: Page sizes upsidedown@downunder.com - 2020-06-27 11:11 +0300
  Re: Page sizes John Speth <johnspeth@yahoo.com> - 2020-06-27 07:59 -0700
  Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-06-27 17:37 -0400
    Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-27 15:10 -0700
      Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-06-27 18:35 -0400
        Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-27 16:36 -0700
          Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-06-28 01:01 -0400
            Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-27 23:50 -0700
              Re: Page sizes upsidedown@downunder.com - 2020-06-28 13:27 +0300
                Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-28 11:49 -0700
              Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-06-30 00:05 -0400
                Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-29 23:24 -0700
                Re: Page sizes upsidedown@downunder.com - 2020-06-30 11:00 +0300
                Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-30 12:23 -0700
                Re: Page sizes upsidedown@downunder.com - 2020-07-01 13:31 +0300
                Re: Page sizes Dimiter_Popoff <dp@tgi-sci.com> - 2020-07-01 19:44 +0300
                Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-06-30 05:45 -0400
                Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-30 04:13 -0700
                Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-06-30 12:49 -0400
                Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-30 12:44 -0700
                Re: Page sizes George Neuner <gneuner2@comcast.net> - 2020-07-02 03:14 -0400
        Re: Page sizes upsidedown@downunder.com - 2020-06-28 09:24 +0300
          Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-28 00:11 -0700
            Re: Page sizes upsidedown@downunder.com - 2020-06-28 15:59 +0300
              Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-28 12:04 -0700
                Re: Page sizes upsidedown@downunder.com - 2020-06-30 06:43 +0300
                Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-29 23:47 -0700
          Re: Page sizes Rick C <gnuarm.deletethisbit@gmail.com> - 2020-06-28 01:18 -0700
            Re: Page sizes upsidedown@downunder.com - 2020-06-28 16:29 +0300
              Re: Page sizes Don Y <blockedofcourse@foo.invalid> - 2020-06-28 12:18 -0700
  Re: Page sizes Richard Damon <Richard@Damon-Family.org> - 2020-06-27 18:27 -0400
  Re: Page sizes Andrew Smallshaw <andrews@sdf.org> - 2020-07-04 06:11 +0000

csiph-web