<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Designing a processor for increased source portability costs</title>
	<atom:link href="http://shape-of-code.coding-guidelines.com/2010/02/09/designing-a-processor-for-increased-source-portability-costs/feed/" rel="self" type="application/rss+xml" />
	<link>http://shape-of-code.coding-guidelines.com/2010/02/09/designing-a-processor-for-increased-source-portability-costs/</link>
	<description></description>
	<lastBuildDate>Sun, 12 Feb 2012 22:01:48 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Derek-Jones</title>
		<link>http://shape-of-code.coding-guidelines.com/2010/02/09/designing-a-processor-for-increased-source-portability-costs/comment-page-1/#comment-1517</link>
		<dc:creator>Derek-Jones</dc:creator>
		<pubDate>Tue, 09 Feb 2010 12:43:00 +0000</pubDate>
		<guid isPermaLink="false">http://shape-of-code.coding-guidelines.com/?p=177#comment-1517</guid>
		<description>&lt;a href=&quot;#comment-1490&quot; rel=&quot;nofollow&quot;&gt;@cate &lt;/a&gt;  Thanks for pointing out that I need to discuss 8-bit chars; now done!

The Intel x86 and many RISC chips have opposite byte endianness which ensures that this issue is addressed by a lot of Open Source code.  What about word endianness (i.e., swapping 16-bit quantities) like that used by the DEC (now HP) &lt;a href=&quot;http://en.wikipedia.org/wiki/Vax&quot; rel=&quot;nofollow&quot;&gt;VAX&lt;/a&gt;?  This is an interesting possibility that I had overlooked.

Having pointers occupy more bits than a long (the IBM RS/400 has 16 byte pointers!) introduces all sorts of extra costs for the processor vendor, so I don&#039;t think that this is a cost effective option.</description>
		<content:encoded><![CDATA[<p><a href="#comment-1490" rel="nofollow">@cate </a>  Thanks for pointing out that I need to discuss 8-bit chars; now done!</p>
<p>The Intel x86 and many RISC chips have opposite byte endianness which ensures that this issue is addressed by a lot of Open Source code.  What about word endianness (i.e., swapping 16-bit quantities) like that used by the DEC (now HP) <a href="http://en.wikipedia.org/wiki/Vax" rel="nofollow">VAX</a>?  This is an interesting possibility that I had overlooked.</p>
<p>Having pointers occupy more bits than a long (the IBM RS/400 has 16 byte pointers!) introduces all sorts of extra costs for the processor vendor, so I don&#8217;t think that this is a cost effective option.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek-Jones</title>
		<link>http://shape-of-code.coding-guidelines.com/2010/02/09/designing-a-processor-for-increased-source-portability-costs/comment-page-1/#comment-1513</link>
		<dc:creator>Derek-Jones</dc:creator>
		<pubDate>Tue, 09 Feb 2010 12:01:07 +0000</pubDate>
		<guid isPermaLink="false">http://shape-of-code.coding-guidelines.com/?p=177#comment-1513</guid>
		<description>&lt;a href=&quot;#comment-1482&quot; rel=&quot;nofollow&quot;&gt;@Tony Finch &lt;/a&gt; 
The diagram on that page clearly shows zero at the bottom and FFF... at the top.  In a signed address space zero sits in the middle of memory.  I did not see any obvious errors in the article saying that the address space was signed.</description>
		<content:encoded><![CDATA[<p><a href="#comment-1482" rel="nofollow">@Tony Finch </a><br />
The diagram on that page clearly shows zero at the bottom and FFF&#8230; at the top.  In a signed address space zero sits in the middle of memory.  I did not see any obvious errors in the article saying that the address space was signed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cate</title>
		<link>http://shape-of-code.coding-guidelines.com/2010/02/09/designing-a-processor-for-increased-source-portability-costs/comment-page-1/#comment-1490</link>
		<dc:creator>cate</dc:creator>
		<pubDate>Tue, 09 Feb 2010 09:35:39 +0000</pubDate>
		<guid isPermaLink="false">http://shape-of-code.coding-guidelines.com/?p=177#comment-1490</guid>
		<description>You forgot some usual assumptions:
- char is 8 bits (from POSIX)
- strange endianness (it seems that a lot of program uses custom function to transform data)
- pointer are longer than long (IIRC since C99)

The first two items are important to read binary files (e.g. images) or from network. Programs use custom function but now that all devices must share data such assumptions could slow down porting applications.</description>
		<content:encoded><![CDATA[<p>You forgot some usual assumptions:<br />
- char is 8 bits (from POSIX)<br />
- strange endianness (it seems that a lot of program uses custom function to transform data)<br />
- pointer are longer than long (IIRC since C99)</p>
<p>The first two items are important to read binary files (e.g. images) or from network. Programs use custom function but now that all devices must share data such assumptions could slow down porting applications.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Finch</title>
		<link>http://shape-of-code.coding-guidelines.com/2010/02/09/designing-a-processor-for-increased-source-portability-costs/comment-page-1/#comment-1482</link>
		<dc:creator>Tony Finch</dc:creator>
		<pubDate>Tue, 09 Feb 2010 08:31:50 +0000</pubDate>
		<guid isPermaLink="false">http://shape-of-code.coding-guidelines.com/?p=177#comment-1482</guid>
		<description>x86-64 has a signed address space. http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details</description>
		<content:encoded><![CDATA[<p>x86-64 has a signed address space. <a href="http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details" rel="nofollow">http://en.wikipedia.org/wiki/X86-64#Virtual_address_space_details</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

