<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Why is address space allocation granularity 64K?</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx</link><description>You have the Alpha AXP processor to thank for that.</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>RE: Why is address space allocation granularity 64K?</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx#55240</link><pubDate>Wed, 08 Oct 2003 23:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:55240</guid><dc:creator>Jordan Russell</dc:creator><description>Very interesting. But why, though, do the x86 versions of Windows have to use 64K granularity? Is it just for consistency?</description></item><item><title>RE: Why is address space allocation granularity 64K?</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx#55241</link><pubDate>Sun, 12 Oct 2003 18:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:55241</guid><dc:creator>Peter Lund</dc:creator><description>Couldn't that have been solved by using a global offset table and a global pointer like they did in Digital Unix (OSF/1) ?

Instead of constructing 32-bit values piece by piece with lda/ldah (that adds the 16-bit immediate field in the 32-bit instruction to a register) you could &amp;quot;just&amp;quot; load it from a table in memory.</description></item><item><title>RE: Why is address space allocation granularity 64K?</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx#55242</link><pubDate>Mon, 13 Oct 2003 19:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:55242</guid><dc:creator>Raymond Chen</dc:creator><description>Yes, it could've been done that way, and in fact the MIPS did work that way. MIPS support actually predated Alpha support, and the 64K granularity existed even on the MIPS but for different reasons. (Or so I've been told by people who were alive back then.)

The granularity exists even on the x86 because NT is a single code base for all architectures. You don't want to introduce gratuitous differences between architectures because it makes porting code between them harder. (Somebody will write code on x86 that assumes 4K granularity and run it on an Alpha and it will crash - or vice versa - and then they go nuts trying to figure out what went wrong, until they stumble across a small sentence buried somewhere in MSDN and then curse Microsoft for making gratuitous differences between their platforms.)</description></item><item><title>re: Myth: The /3GB switch lets me map one giant 3GB block of memory</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx#215905</link><pubDate>Tue, 17 Aug 2004 21:12:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:215905</guid><dc:creator>The Old New Thing</dc:creator><description /></item><item><title>Does Windows have a limit of 2000 threads per process?</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx#444914</link><pubDate>Fri, 29 Jul 2005 17:00:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:444914</guid><dc:creator>The Old New Thing</dc:creator><description>You've run out of address space.</description></item><item><title>Rethinking the way DLL exports are resolved for 32-bit Windows</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx#672700</link><pubDate>Thu, 20 Jul 2006 17:00:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:672700</guid><dc:creator>The Old New Thing</dc:creator><description>Preserving the spirit while accommodating separate address spaces and new processors.</description></item><item><title>A very brief return to part 6 of Loading the Chinese/English dictionary</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx#796399</link><pubDate>Fri, 06 Oct 2006 17:00:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:796399</guid><dc:creator>The Old New Thing</dc:creator><description>&lt;p&gt;Belated answers to exercises and other questions.&lt;/p&gt;
</description></item><item><title>What's the difference between EM_UNDO and WM_UNDO?</title><link>http://blogs.msdn.com/oldnewthing/archive/2003/10/08/55239.aspx#4866696</link><pubDate>Tue, 11 Sep 2007 18:07:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4866696</guid><dc:creator>The Old New Thing</dc:creator><description>&lt;p&gt;Beats me.&lt;/p&gt;</description></item></channel></rss>