Subject: Re: PostgreSQL
To: Curt Sampson <cjs@cynic.net>
From: Todd Whitesel <toddpw@toddpw.org>
List: tech-perform
Date: 02/10/2006 04:39:50
On Fri, Feb 03, 2006 at 12:28:57PM +0900, Curt Sampson wrote:
> That's been solved for a long time, since the 6502. The you just wrap;
> write the bytes for the second page to the beginning of the initial page.
> 
> :-)
> 
> (My understanding is that the even the 65816 still does this, unless you
> explicitly turn it off, for compatability reasons.)

Sorry, there is no such compatibility setting.

Many 65816 instructions are limited to the first 64K (much like the 6502's
zero page instructions were limited to the first 256 bytes), and those wrap
within it (but some actually spill over into the 2nd 64K which is either
a bug or a feature depending on how you look at it).

Instructions that can reach all 16M of memory don't wrap except at the very
end like other linearly addressed processors.

There are a couple bugs/exceptions but those are infrequently used. You are
more likely to run into the classic dead read cycle that occurs while a
carry bit is still propagating up the adder, followed by the "real" read.

-- 
Todd Whitesel
toddpw @ toddpw.org