Solipsism Gradient

Rainer Brockerhoff’s blog

Browsing Posts tagged CPU

Some more tidbits, in no particular order, some with commentary.

A nice photo of the insides of the last 3 generations of the 17″ and 20″ iMacs. Seeing this, it’s obvious that very little has changed between the last iMac G5 and the first iMac Core Duo; the layouts are very similar. It becomes clear that the iMac G5 with iSight was for most purposes, except for the logic board, version 1.0 of the iMac Core Duo – that also explains why the design hasn’t changed, and why there are only a few months between the two versions. It also follows that some fears about the new iMac are unfounded; most of it already is second geration quality.

The Apple/Intel FAQ makes most of the same points I’ve been making here, in a nicely done order. They also have pages linking to System Profiler output and other info; very interesting. For instance, you can see that there are 5 USB buses implemented: one for the iSight (so will there be an USB iSight out soon…?), one for BlueTooth and the IR receiver, and 3 external ones. Elsewhere you can see that FireWire is running off an Apple controller chip over PCI-Express. They haven’t so far picked up on the TPM chip’s presence; the German site Heise, however, has.

Still regarding FireWire, it’s now clear that the new Macs still have the usual target mode and FW booting capability, and it won’t go away. USB is an asymmetric protocol, so target mode isn’t possible, by the way.

Apple hasn’t used a socketed CPU for many years (I believe the last ones were in the 68020 machines), but the photo shows they’re using the SL8VQ version of the Core Duo – that one uses the micro-FCPGA pinout, with 478 pins, and it’s mounted on a socket. Still, I hear that the service manuals have leaked and don’t mention the possibility of exchanging the CPU.

Opinions on the feasibility and desirability of booting the Intel Macs into pre-Vista Windows vary widely. Some people believe that Apple must have used a stock EFI binary from Intel, which therefore would incorporate the legacy compatibility module; some people even believe it would be in Apple’s interest to do so. Personally, I still think that Apple had nothing to gain by including legacy stuff in its version of EFI, and that there is no “stock binary” anyway.

The new Mac’s Airport module appears to support the less-used 802.11a WiFi standard, apparently as a side-effect of the Intel chip used. Apple doesn’t seem to be mentioning this in the specs, so it may be unsupported for now.

So far, the reports indicate that no “fully universal” version of Mac OS X 10.4.4 is available; the Intel machines come with the Intel version, the PowerPC come with the PowerPC version. Some applications and components on both versions are universal, but not all; we may not see such a unified version until Leopard. By the way, the retail version is still 10.4.3 (PowerPC). My hunch is that the Intel version will not be available separately from the Intel Macs any time soon.

Some time ago I wrote:
Rainer Brockerhoff wrote:

I think Apple will take OS-hardware integration to a new peak with the Intel Macs. They’ll have a gigabyte or so of flash memory where an encrypted version of the Mac OS X will reside – a return to the days of the first Mac 128, when most of the toolbox was in ROM and the “System” file just contained patches and late-minute additions.

Looks like I was wrong on that. The nuts nice people at Kodawari-san have just posted pictures of the innards of the new iMac Core Duo; there’s no huge amount of flash memory visible. Of course these may or may not be pictures of an actual production system, but chances are that they’re authentic.

I wish they’d done more and sharper pictures, but here’s what we can see:

Front and back views of the CPU board (or is it the other way around? no matter). It can’t be properly called a motherboard since there are no expansion slots. The RAM socket is in the same place as in the last iMac G5.

A shot of the Intel Core Duo processor. The T2400 designator says it’s a 1.83GHz clock version. There’s a liquid cooling block which displaces the heat to a position where the fans can blow it away.

This is the ATI graphics chip. No surprise there.

An Intel 82945GM controller, also known as the 945GM Express chipset. This chip interfaces the Core Duo processor to DDR2 SDRAM and to the I/O controller; the frontside bus to the processor runs at 667MHz and is 32 bits wide. The memory bus is 64 bits wide and also runs at up to 667MHz. Of note here is that it’s limited to 4GB of RAM. It supports internal graphics, LCDs, TV output and some other stuff not used in the iMac. It also has a PCI-Express bus to which (judging from the board layout) the ATI chip is connected.

Now look at this picture. It shows an Intel 82801GBM I/O Controller Hub chip. This chip does most everything else; it also has a PCI-Express interface, LAN controller, 8 USB ports, SATA, IDE, audio, you-name-it. No direct FireWire support; obviously Apple has connected a separate controller chip to it. Most interestingly, the somewhat blurry 28-pin chip to the right in this photo seems to be the Infineon TPM chip.

I’ve downloaded Intel’s manuals for these chips; it’s a huge mass of information (and, strangely, Preview won’t open most of them, although Acrobat Reader works). More details after I’ve read all that stuff…

The last-gen iMac G5’s hardware manual doesn’t seem to be available, but the one for the May’2005 version is (it’s the one I’m typing this on). The block diagram is somewhat similar; the “U3 Lite” corresponds to the 82945GM chip, the “Shasta” corresponds to the 82801GBM.

The Apple Centipede

No comments

Amazingly, I’ve almost caught up with my e-mail, almost a month after returning from the last trip… and the remaining offline work is clearing up, so I hope to be able to post more here again.

The catchy title is just to remind people that Apple has a lot of shoes to drop in the near future.

In particular, there’s been some news recently that I should comment on while I still have all the links. First of all, Apple will prepay $1.25 billion (yes, gigabucks) to a new Intel-Micron consortium to secure supplies of NAND flash memory – the flash memory used in some iPods. This of course is, obviously, also meant to dispel investor’s fears about iPod supply problems, as the present manufacturers aren’t quite able to keep up with Apple’s demands, let alone the rest of the industry.

Separately, the latest build of Tiger for X86 has been cracked; seems they’re not using the TPM encryption capabilties yet, but just checking for the chip’s presence. The latest build also extends Rosetta to emulate the G4 with AltiVec, so a wider range of PowerPC apps should be able to immediately run emulated on X86 – although there’s no word yet about speed ratios.

The Motley Fool and some other folks speculate that Apple will be introducing instant-on capabilities; this would use the suddenly plentiful flash chips to hold parts of the operating system while the power is off. Incidentally, the IBM/360 mainframes I worked with in the 1970’s had something similar; the core memories they used at the time held data when the power went off, so with some care – stopping the processor before turning it off – you often could just continue after turning it back on without a reboot.

Finally, it’s no surprise that Intel has a special “Apple Group” where engineers from both companies work together. As I believe it unlikely that Apple will use a standard Intel motherboard, the most likely focus of this group is to make special motherboards and custom chips for Apple.

Put these bits together and what do you get? I think the X86 hackers are in for a surprise when the new Macs come out. I think Apple will take OS-hardware integration to a new peak with the Intel Macs. They’ll have a gigabyte or so of flash memory where an encrypted version of the Mac OS X will reside – a return to the days of the first Mac 128, when most of the toolbox was in ROM and the “System” file just contained patches and late-minute additions.

This giga-firmware will be encrypted with each machine’s own unique ID – contained in the TPM chip – and will be decrypted on-the-fly as needed into a secure portion of system RAM. Future system updates will come encrypted and be re-coded by the update process, which will run in full secure mode, perhaps even inside the TPM chip itself. Since some Intel CPUs are rumored to have the TPM chip built-in, this hypothesis gains weight. The instant-on capability would be just a nice side-effect…

Posted by keoladonaghy:
“The soul of the Mac is the CPU”.

If I’m not mistaken the official name of the operating system used to be, and perhaps still is, simply “Macintosh.” The OS is the soul of the user experience, not the hardware, IMHO. As long as Apple continues to assure the quality of the user experience and the hardware, I don’t care what chip drives the thing.

The dust is slowly settling, Apple stock is behaving normally, and everybody and their dog have emitted opinions about the MacIntel story. So who may win, and who may lose in the next 12 months?

Winners:

  • Apple, of course. As I commented below, they’re free (or will be, in a year) of the CPU-architecture-as-a-religion meme. They get a literally cool CPU/chipset for their PowerBooks; although I suppose they won’t use that name in the future; how about IBook icon_wink.gif? They get dual-core CPUs right now, and a 64-bit version in the future. Even the stock analysts are liking this, though for mostly the wrong reasons. Also, switching processors did establish a precedent for Apple: Intel knows they’re not captive clients, and they’ll have to treat Steve Jobs with kid gloves lest he switches away again. Finally, Mac OS X 10.5 (Leopard) will come out simultaneously, or even some weeks before, Longhorn, and with smaller minimum requirements. The new low-end Intel Macs may even take a goodly part of the low-end market away from Microsoft.
  • Intel. They were certainly getting tired of being perceived as just the evil tail end of the evil Wintel dragon. Intel’s not very pleased with Microsoft these days and they were being pressed on other fronts. Getting Apple’s business is a glamorous endorsement which has far more weight than Apple’s smaller marketshare leads outsiders to believe. They’ll certainly be pleased to have a partner which actually will insist on getting the latest and greatest stuff, without being concerned about backwards compatibility issues like, say, legacy BIOS support. By the way, Intel will now be free to cut away, say, the 50% of the Pentium that still support all those legacy modes and compatibility instructions, and supply Apple with an optimized-for-Mac OS X chip. With all the silicon saved, they could double the number of cores, put in more cache, support Altivec instructions or whatever they fancy; after all, it won’t really have to boot Windows anyway, right? Finally, Intel’s attempts to produce new PC designs were, let’s be charitable, not much good. They now have the best design team in the industry to showcase their new technology.
  • Developers. At least the Cocoa developers, the Open Source developers, and the Carbon developers that already were using Xcode. For most vanilla apps, it’s just a recompile and some tweaking. The added discipline will be good for people, and the market will grow a lot. This is a great time to be a Cocoa developer, and I for one intend to take advantage of it.
  • Stockholders. Both Apple and Intel stock will benefit from the new synergy between the two companies. I’m an Apple stockholder, and I’ll be looking at Intel stock very carefully soon.
  • Gamers. Let’s face it, most full-screen games usually push aside the underlying OS when they come in, have their own user interface, talk directly to the graphics card and deign to let the OS do something only for mundane stuff like saving scores files. So many developers didn’t even bother to port to the Mac. When Virtual PC or a similar product comes out, gamers will have access to all Windows games at full speed; and it’s almost certain that the Intel Macs will have some virtualization facility built in, but won’t dual-boot. As long as Mac OS X will be whatever the new machines boot into, Apple will certainly allow other OSes to run under its control; that way, the user will always have the Mac OS X GUI visible somewhere. The effect of this on game developers is debatable. Some will be relieved not to have to do dual versions anymore. Mac-only developers will lose the Altivec advantage, so this may have some impact.

Losers:

  • Metrowerks. CodeWarrior has, unfortunately, been going downhill since they were acquired by Motorola, and is now officially dead. Apparently their Intel compilers have been bought by Nokia, a move so outside my field of expertise that I’m not going to comment further on it, but they’re out of the picture now. Apparently they’re concentrating on the embedded market now, where they may still do well.
  • Microsoft. Or at least partially. Windows is the new Classic; Windows apps will run in a “Red Box” and will look quaint and old-fashioned. As I said above, Leopard may well eat into Microsoft’s low-end marketshare. And the Wintel meme is dead; people now know that there are alternatives to Microsoft, and are actively looking for them. Defecting to the Mac will now appear easier and more natural for non-techies. Yes, Microsoft will keep a finger in the pie; their sales of Office won’t go down, as any Windows sale lost will be compensated by a Mac sale, and they’ll certainly be selling much more copies of Virtual PC, if they can bring the cost down. Still, this is a philosophical defeat for Microsoft in several aspects.
  • Adobe et al. Adobe are publicly committed to port their stuff to Xcode and Intel. From what I heard from inside sources, the Xcode transition will take several times as much effort and time as the Intel transition per se. Adobe and other companies with huge codebases that used CodeWarrior have their own software workflow and converting this may take up much, maybe all, of the next 12 months. What this will do to the apps they bought from MacroMedia is anyone’s guess; I’ll say that some of them may not survive. From past experiences the move may be altogether too much for Quark, who’ve taken years to do a not-so-good Carbon port.
  • AMD. The consensus seems to be that AMD, even though they might seem at first glance a better fit to Apple than Intel, apparently didn’t have the necessary product line depth to fit the new Apple. Still, nothing says they couldn’t supply chips for future high-end Apple products.
  • AV developers. Apple’s Pro AV products already had the market pretty well sewn up, and now they’ll be running well-optimized on the new Macs from day one. Competitors will be at least a year behind; not an enviable position.
  • Cluster users. The whole G5/Altivec hype was really justified for these guys; Xserve clusters have been building a well-deserved reputation for very high-end scientific computing. I don’t see a comparable Intel-based machine coming out from Apple before 2007. The same applies to 64-bit computing. Steve Jobs hinted that new PowerPC machines are still in the pipeline, so this may be moot, but the folks I’ve talked to here are quite nervous.

I don’t want really to conduct a long discussion here, but…

Ibis Itiberê S Luzia wrote:

“The soul of the Mac is the CPU”. What is the meanning of the therm “Mac”? If I’m not wrong a “Mac” is a computer and not a software. The software is called “Operational System” which in this case can be System 7,8,9 or X. And at least what differentiated a Mac from an ordinary PC? Was the CPU, wasn’t? We were able to get experiences that ordinary PC users didn’t accomplished. We were able to run programs that they could’nt. The great difference was that Apple had a CPU that it helped to develop together with IBM and Motorola. They had the “difference” and this maked Apple so different.

I think that may have been more applicable in the past. In 1984 I bought my first Mac. The Macintosh was the user experience, the Mac operating system, the 68K CPU, the SCSI interface, the NuBus boards, the ADB Keyboard and mouse, the 3.5″ floppies. All these components enabled something extra in the user experience.

This is quantum physics in that it really needs someone operating the computer to have the “experience”. All of the components I’ve listed above have been changed: the operating system is now Unix and NeXT based, the CPU migrated to the PowerPC, SCSI, NuBus, ADB and floppies were replaced by new technologies. But people agree, when they sit down at an iMac G5, that it’s still a Mac – although a completely different Mac from the 1984 Mac 128K.

So, I’m actually writing this at an Intel Mac. It’s still a Mac. Everybody here at WWDC agrees with me, as far as I can tell. The user experience has evolved, but the essence has remained. It’s faster for some things, it’s slower for other things. This is irrelevant; it’s a different model, that’s all. It uses other chips inside. That’s irrelevant too.

Let’s move on. There’s tons of new stuff to do and write about.

Posted by Ibis Itiberê S Luzia:
Reiner:

God knows the respect I have for your words but I can’t be convinced that Apple done what was right thing to do.

People make great confusions all the time. Who said “Think different”? Was I? No. Was Apple and Steve Jobs. Who said: “Switch”. Was I? No. Was Apple and Steve Jobs. Who said “Gigahertz is a myth”. Was I? No. Now they are “thinking evenly” , switching and accepting the fact that “gigahertz was the matter”. They lied? I think so. They lied and betrayed. Why think different if Apple says one thing and do other completely different? “Do what I say you to do not what I do” And if I’m not wrong “Think different” is not a single ad campaign but Apple’s Company main rule ! They’re stepping over the companie’s main theme and still asking us to accept that !? A processor is much more than a “graphics board” or a “mouse” or an “ethernet board”. A processor is the computer brain. And a change in a processor takes “years” to be accomplished contrary to other components that can be changed and “voila” you have your computer running the same way as you correctly stated below.

“The soul of the Mac is the CPU”. What is the meanning of the therm “Mac”? If I’m not wrong a “Mac” is a computer and not a software. The software is called “Operational System” which in this case can be System 7,8,9 or X. And at least what differentiated a Mac from an ordinary PC? Was the CPU, wasn’t? We were able to get experiences that ordinary PC users didn’t accomplished. We were able to run programs that they could’nt. The great difference was that Apple had a CPU that it helped to develop together with IBM and Motorola. They had the “difference” and this maked Apple so different. Now Apple is an ordinary PC (luxury PCs actually) like any other brand. With few modifications we will be able to run Mac OS X on a grey PC maden in Taiwan or Hong Kong like Windows and Linux. Is this “thinking different”? What makes Apple different now? Mac OS X is a Unix, like Linux. It’s not so different. We are only “one else” now, we are PC users, not Mac users anymore. Thanks Steve.

Yesterday I spent some time at one of the prototype Macs with a Pentium inside. There was one of them with the cover removed. The most remarkable thing was – and, now that photos have leaked, I don’t think I violate any NDA by saying this – that there was nothing remarkable about the box (a standard cheese-grater PowerMac) or about the motherboard (a standard Intel motherboard). There was nothing remarkable about it usage-wise either; unless you looked at the “About This Mac” window, or at the System Profiler Report, or at the Processor preference panel, there was no way of telling what CPU was inside. It ran some unreleased build of Tiger, and there was this huge conspicuous security cable on it for some reason icon_smile.gif.

But it walked like a Mac, it quacked like a Mac, it was a Mac to all intents and purposes. I downloaded a dozen of random software packages off the Internet, they all just worked – under the Rosetta translator, which I had to see working to really believe in. The perceptual speed was, perhaps, a little faster than my 1GHz PowerBook; quite usable. I suppose this will get faster after a year of tweaking; another word in everybody’s mouth these past days.

Ah, and a bit of news which also leaked out today: Steve Job’s machine was not a souped-up quad processor monster, just the same box I had been using, but with some extra RAM. So, Rosetta is one cool app. I talked to one of the guys on the Rosetta team and he confirmed what I saw happening at the keynote: when you launch an app the second time, it uses the cached translated binary, so it launches much faster.

I looked at the installed libraries, drivers and applications: of course they were all “fat” binaries. The entire system is fat. Oops, sorry, “universal binary” is the politically correct version now. It’s not quite double the size of the standard Tiger installation, but who cares in these days of 100+GB disk drives?

I checked out some of my own projects on the new Xcode 2.1. Nearly all standard Cocoa stuff just compiled and ran with no modifications, no matter what combination of architectures I compiled it for. You can even step-debug PowerPC binaries on this thing, they somehow made gdb Rosetta-aware, so that the translated executable is back-linked to your PowerPC source code; very cool. This is probably a bonus of the Mach-O executable format, like the universal binary format itself. The old Carbon CFM format will run under Rosetta, but not natively; CFM is the new Classic, it seems. The old Classic appears to be dead at last; I suppose getting the Classic compatibility layer running under Rosetta would be a huge pain.

I don’t have any straight Carbon projects to test. I do have one new project that twiddles bytes that flow to and from the disk at a lot of places, because it uses a legacy format (one dating from 1984, by the way). I got most of it converted in less than an hour by scanning for certain source code patterns and putting byte swap function calls around the pertinent expressions. Now, the publicly available Guidelines list dozens of exceptions, where porting takes some extra work: if you use custom resource formats or Apple Events, if you use bitfields, if you want to divide by zero, and so forth. I think the biggest headache will be for whoever has invested time in writing great gobs of code in PowerPC assembly or Altivec; fortunately I never did this myself.

One place where I later lost another hour of work was in a somewhat obscure open source module which made unwarranted assumptions about the order local variables were allocated on the stack. Now, this is something which certainly works for one-off applications, but to actually publish such a thing without calling attention to it, is somewhat foolhardy. This is where many of the conversion failures will come from, I believe; sloppy coding and unwarranted assumptions.

Photos licensed by Creative Commons license. Unless otherwise noted, content © 2002-2022 by Rainer Brockerhoff. Iravan child theme by Rainer Brockerhoff, based on Arjuna-X, a WordPress Theme by SRS Solutions. jQuery UI based on Aristo.