<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Observations from Uppsala &#187; apple</title>
	<atom:link href="http://jakob.engbloms.se/archives/tag/apple/feed" rel="self" type="application/rss+xml" />
	<link>http://jakob.engbloms.se</link>
	<description>Computer Technology: Simulation, Virtualization, Virtual Platforms, Embedded, Multicore and Multiprocessing (by Jakob Engblom)</description>
	<lastBuildDate>Sun, 29 Jan 2012 19:45:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<image>
    <title>Observations from Uppsala</title>
    <url>http://jakob.engbloms.se/favicon.png</url>
    <link>http://jakob.engbloms.se</link>
    <width>32</width>
    <height>32</height>
    <description>Observations from Uppsala - http://jakob.engbloms.se</description>
    </image>		<item>
		<title>Microsoft + ARM = ARM64?</title>
		<link>http://jakob.engbloms.se/archives/1204?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/1204#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:57:05 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[business issues]]></category>
		<category><![CDATA[computer architecture]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ARM]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=1204</guid>
		<description><![CDATA[The recent news that Microsoft has taken out an ARM architectural license has caused a lot of speculation about just what this might mean. There are several quite well reasoned ideas around the web, and I have one idea of my own: sixty-four bits. Here is a list of some of the ideas I have [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jakob.engbloms.se/wp-content/uploads/2010/07/windows-phone-logo.png"><img class="alignleft size-full wp-image-1205" title="windows phone logo" src="http://jakob.engbloms.se/wp-content/uploads/2010/07/windows-phone-logo.png" alt="" width="66" height="58" /></a>The recent news that Microsoft has taken out an ARM architectural license has caused a lot of speculation about just what this might mean. There are several quite well reasoned ideas around the web, and I have one idea of my own: sixty-four bits.</p>
<p><span id="more-1204"></span></p>
<p>Here is a list of some of the ideas I have seen floating around:</p>
<ul>
<li>They are going to put <a href="http://armdevices.net/2010/07/23/the-secrets-behind-microsofts-new-arm-license/">Windows 7 on ARM </a>to <a href="http://gigaom.com/2010/07/23/4-actions-microsoft-can-take-with-an-arm-license/">defend against Linux in the sub-netbook segment</a>. Certainly a useful move &#8211; but do you need an architecture license for that? It would not make much sense to put Windows on ARM in a way that requires you to have a Microsoft-designed processor core to run it.</li>
<li>It is a case of Apple &#8220;A4&#8243; envy &#8211; if Apple can build their own custom ARM chip for a consumer devices in the tablet space, <a href="http://gigaom.com/2010/07/23/4-actions-microsoft-can-take-with-an-arm-license/">so can Microsoft</a>. I think this makes a lot of sense. But once again, what use is a license to design your own ARM core and ARM instructions? <a href="http://unplugged.rcrwireless.com/index.php/20100723/news/2226/why-microsoft-acquired-an-arm-license/">Apple does not seem to have created a custom processor core</a>, instead using a standard ARM Cortex-A8 core in the A4 chip as far as I understand.</li>
<li><a href="http://arstechnica.com/microsoft/news/2010/07/microsoft-should-cut-out-the-middle-men-and-build-its-own-phones.ars/2">Handheld gaming, building their own phone</a>. It is essentially the A4 envy argument, and I cannot see how an architecture license will help.</li>
<li><a href="http://www.computerweekly.com/Articles/2010/07/23/242079/Microsoft-licenses-ARM-tech-in-bid-to-own-39internet-of.htm">Deeply embedded devices</a>. Microsoft wants to ride the ARM wave into things like power meters and other truly embedded systems. Once again, that might certainly be a good idea &#8211; but why an architecture license?</li>
<li>As a defensive move in the Microsoft-Intel relationship. If Intel is toying with Linux, Microsoft can be toying with ARM. In that context, a few million dollars to acquire a license to do nothing much with it might make sense as negotiation leverage.</li>
</ul>
<p>The best idea I think is the <a href="http://gigaom.com/2010/07/23/4-actions-microsoft-can-take-with-an-arm-license/">server angle</a>. ARM is making inroads into servers where single-thread processor speed is not that important. The power consumption advantage over x86 is significant, as long as you do not need utter speed or very many cores sharing memory.</p>
<p>Power-efficient servers is an area where Microsoft can certainly see the potential for truly revolutionary changes in the IT field. There is no reason why x86 would be the best architecture there, and the fact that x86 is controlled by Intel and AMD makes it very hard for Microsoft to really take part in hardware-software innovation. Essentially, Intel and AMD design the processors, and the software has to adapt. This model is not optimal if you want to really see what you can do with the hardware-software boundary.</p>
<p>Thus, if I think Microsoft might do with the ARM license is to start tinker with the OS interface of the hardware. The beneficiary would be both Microsoft and ARM, since Microsoft innovations for ARM might well become standard in ARM land. For example, an OS might benefit tremendously from small changes in the processor in areas like:</p>
<ul>
<li>Memory management &#8211; a hardware scheme tailored to what Microsoft sees being done in their operating systems and their third-party server software could certainly be very beneficial to efficiency.</li>
<li>Multicore and multithreading &#8211; ARM has some special support in their MPCore designs for communicating between cores in a multicore system. Such support could be extended to help the OS manage both threads and processors across multicore designs. Also, ARM might want some help from Microsoft to design a scalable OS interface that works for tens or hundreds of tightly-coupled cores (rather than the current limit of 4 in ARM Cortex-A9 MP).</li>
<li>More bits &#8211; the biggest architectural problem I see with ARM in servers is that ARM is currently a 32-bit architecture. 32 bits are not enough for even medium servers today. Having Microsoft help ARM design a 64-bit version of the ARM architecture sounds far-fetched, but it is certainly something where a license to change the ARM instruction set would help.</li>
<li>ARM instruction set additions to help build an emulator for x86 instructions on ARM, to allow current  x86-Windows applications to run on an ARM-based device. This is an idea which has been tried in the past and which has never been very successful in the market. ARM currently has a set of instructions which help accelerate virtual machines such as .net and JVM, and I think that is as far as this idea has been proven useful.</li>
</ul>
<p>In summary, the only reasonable use I can see that Microsoft would make of a license to build custom ARM processor cores and tweak instruction sets would be to build better servers, by improving multicore communications mechanisms, upping ARM to 64 bits, tweaking the MMU design, and possibly creating some kind of x86 emulation support.</p>
<p>That said, I think the most likely result is a custom ARM-based chip to power a phone or tablet or other consumer electronics device, running a Microsoft software stack (derived from Win CE/Windows Phone) on Microsoft hardware, all sold as a Microsoft product. Essentially, doing the <a href="http://arstechnica.com/microsoft/news/2010/07/microsoft-should-cut-out-the-middle-men-and-build-its-own-phones.ars/2">Apple all-integrated solution.</a></p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/1204"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/1204" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/1204" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/1204/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Off-Topic: Vista, Laserwriter 12/640 PS, and FoxIt</title>
		<link>http://jakob.engbloms.se/archives/740?&#038;owa_medium=feed&#038;owa_sid=</link>
		<comments>http://jakob.engbloms.se/archives/740#comments</comments>
		<pubDate>Sun, 19 Apr 2009 19:23:28 +0000</pubDate>
		<dc:creator>Jakob</dc:creator>
				<category><![CDATA[desktop software]]></category>
		<category><![CDATA[history of computing]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[FoxIt reader]]></category>
		<category><![CDATA[laserwriter]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[Vista]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://jakob.engbloms.se/?p=740</guid>
		<description><![CDATA[I have an old Apple LaserWriter 12/640 PS network printer at home that I bought back in 1997. In those days, I had a PowerBook G3 at 266 MHz, Windows NT was new, and my work computer was one of Sweden&#8217;s first 300 MHz Pentium II machines&#8230; since then, my home machines have moved from [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-743" title="laserwriter12640" src="http://jakob.engbloms.se/wp-content/uploads/2009/04/laserwriter12640.jpg" alt="laserwriter12640" width="59" height="50" />I have an old <a href="http://en.wikipedia.org/wiki/LaserWriter_12/640_PS">Apple LaserWriter 12/640 PS </a>network printer at home that I bought back in 1997. In those days, I had a PowerBook G3 at 266 MHz, Windows NT was new, and my work computer was one of Sweden&#8217;s first 300 MHz Pentium II machines&#8230; since then, my home machines have moved from MacOS 8 to Windows NT 4 to Windows 2000 to Windows XP and now Windows Vista 32- and 64-bit. But the trusty LaserWriter remains, keeps printing, and is still on its first toner cartridge!</p>
<p>However, moving to Vista has made the printing bit harder.</p>
<p><span id="more-740"></span>In Windows XP, there were drivers available for the printer, since it was fairly recent when XP was released. In Vista, no such luck. So you have to resort to using &#8220;LPR&#8221; printing (optional install), and using the generic &#8220;Microsoft Imagesetter&#8221; as the printer profile. This, somewhat surprisingly, works pretty well.</p>
<p>With one exception: Acrobat.</p>
<p>It seems that Acrobat is trying so hard to be smart about printing that it gets confused by the Imagesetter bit, and decides that the thing on the other end is not a Postscript printer. And thus, it needs to have a 600 dpi bitmap of the page being printed sent to it. Needless to say, my old printer with its upgraded 12 MB of RAM (it came with 4, and I scavenged 8 more MB from some old dead PC that passed through my hands in the late 1990&#8242;s) usually chokes on this.</p>
<p>When my last XP machine was retired, this did indeed create a problem, since all official online forms tend to be Acrobat-based.</p>
<p>However, by accident and luck I decided to try the <a href="http://www.foxitsoftware.com/">Foxit Reader</a> as an Acrobat Reader alternative. This has turned out to be the perfect to solution to my printing woes. With Foxit, a PDF file prints as a small nice regular vector graphics file that my LaserWriter has little problem printing. It makes printing PDFs feasible and reliable again, and means that I do not have to go out and figure out which new printer to buy. It is kind of cool to have such a decade-old technology icon at home, and still in working order.</p>
<p>A final note: 12 MB in my printer. My first hard drive back in 1990 had 20 MB on it. My new desktop Core i7 machine just got upped to 9 GB of RAM. Back in 1991, I had my high school&#8217;s most powerful home computer: a Macintosh SE/30 with all of 5 MB of RAM (which cost a fortune at the time).</p>
<div class="simple_likebuttons_container_small">
      <div class="simple_likebuttons_googleplus">
        <g:plusone size="medium" count="false" href="http://jakob.engbloms.se/archives/740"></g:plusone>
      </div>
    
      <div class="simple_likebuttons_twitter simple_likebuttons_twitter_s">
        <a href="https://twitter.com/share" class="twitter-share-button" data-count="none" data-url="http://jakob.engbloms.se/archives/740" data-lang="en">Tweet</a>
      </div>
    
      <div class="simple_likebuttons_facebook">
        <div id="fb-root"></div>
        <script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) {return;}
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, "script", "facebook-jssdk"));</script>
        <div class="fb-like" data-href="http://jakob.engbloms.se/archives/740" data-send="false" data-layout="button_count" data-show-faces="false" data-width="90"></div>
      </div>
    </div>]]></content:encoded>
			<wfw:commentRss>http://jakob.engbloms.se/archives/740/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

