Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.arch.embedded > #29716
| 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> |
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
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