Science and Nature Writing

I just finished reading The best American Science and Nature writing 2006. This is the seventh version of this book series and I definitely wish I had found out about it earlier. Each book is made up of about 25 articles that a guest editor selects from about a hundred articles chosen by Tim Folger.

The 2006 edition is edited by Brian Greene who just happens to be one of my favorite physics writers. The articles span everything from bittorrent and blogs to animal psychology, anthropology and advanced physics. Coming from sources like Scientific American, The New York Times and Wired, most articles are easy to read and don't get detailed to the point of being boring. I had actually managed to read some of the articles already, but the others were a great way for me to be introduced to areas of science I knew very little about.

Some of my favorite articles are Dr Ecstasy about the chemist Alexander Shulgin, His brain, her brain about the differences between the male and female brain, and The coming death shortage describing how the increasing life expectancy of humans will affect us.

I encourage everyone interested in widening their scientific horizons to read this book. It's only 280 pages long and reading one chapter per night before falling asleep was perfect. 9 out of 10 points for this book from me.



I remember doing this nerd test in 2005 and got the following result:

NerdTests.com says Supreme Nerd.  What's your score?  Click here!

Noticed on a blog that they had a new version of the test and of course I had to take it. The questions are funny and after answering them as honestly as I could I got:

NerdTests.com says I'm a Nerd God.  What are you?  Click here!

Hmm... Not sure what to say about the score, but at least I'm not a dumb awkward dork. :-)


Vala and Vim

I'm a Gnome user and like reading Planet Gnome (In Google Reader of course!) to see what is going on. There's been quite some buzz around Vala lately so of course I had to check it out. Having used Java and C# quite a lot I've learned to like the syntax. Vala is still in early development, but it's improving quickly and already works well enough to play with.

To make the code look better in vim, add this to your vimrc file. I'm using Gentoo so I put it in /etc/vim/vimrc.local (Ignore the numbers, they are needed because Blogger sucks when you try to show code.)
  1. augroup vala
  2. au!
  3. au! BufRead,BufNewFile *.vala set filetype=vala
  4. au! Syntax vala source /usr/share/vim/vim71/syntax/cs.vim
  5. augroup END
Vala's syntax is similar enough to C# for this to look quite ok.


X86 processors and chipsets

It's not easy to stay on top of all the latest developments in the CPU world but luckily you hardly have to any more. All new computers are fast enough for most users, unless you absolutely want to play the latest games. But for the ones that want to know I've put together a summary of what has been going on during the last few years, what happens right now, and some rumors of the future.

There is still a lot happening on the CPU front, even if it might feel like the increase in performance is not as fast paced as it used to be a few years ago. The most notable change lately is that almost all new processors have two or more cores on each chip, but let's start from the beginning shall we?

NetBurst and K7

Everyone even remotely interested in computer hardware know that NetBurst, the architecture used in the Pentium 4 processor, was far from elegant. Released in late 2000, it was built purely for high clock frequencies. The first NetBurst CPU had a 20 stage pipeline, compared to the 10 stages in the Pentium III and the AMD K7 Athlons. The long pipeline made it easier for Intel to push the clock frequency way up and soon enough the old Athlons were falling behind. AMD was simply unable to increase the clock frequencies any more with their current design and manufacturing processes.


When AMD released their K8 based Opteron processors in the autumn 2003 the picture changed completely. The new CPUs completely left the NetBurst Pentium 4's in the dust. They had a completely different design, using a short 12 stage pipeline, compared to the 20 stages long pipeline used in the Northwood Pentium 4, and doing a lot more Instructions Per Clock (IPC). The K8 architecture could perform three complex x86 instructions per clock, compared to one for the Pentium 4. It had three integer and three floating point ALUs, compared to four integer and one floating point ALU for the contemporary NetBurst revision (More details here).

The Opteron also added AMD's x86-64 instruction set, making it possible to use more than 4GB ram without any inefficient work-around. The extension also included doubling the number of registers from 8 to 16, as well as doubling the size of the registers from 32 to 64 bit. Combined with a modern and efficient HyperTransport bus and a low latency on-die memory controller there was just no way Intel could compete. They did their best, using their more advanced manufacturing process to add more cache to the CPU die and increased the pipeline length even further. The seventh revision of the NetBurst architecture called Prescott had 31 stages in the pipeline, but it just wasn't enough. Yet, all the Pentium 4 did was to get smoking hot.

Pentium-M and Core

Luckily for Intel, their engineers in Israel had been working on a new power efficient processor for use in laptops and came up with a real gem. Called a Pentium III on kryptonite, the Banias was built to keep power dissipation down. Released 2003 in laptops under the Centrino brand, enthusiasts quickly noticed they could overclock it to perform better than any desktop Pentium 4, and even better than the latest Athlons. Intel gave up on NetBurst and continued to develop the Pentium-M into what would be come the Core architecture.

The first Core based CPU, code named Yonah, was released in laptops as the Core Duo in January 2006. They performed way better than AMD's laptop offer, the Turion CPUs, who were both slower and consumed more power. Later in the spring Intel brought the Core architecture to the desktop with the Conroe processor. It was released under the name Core 2 Duo and was an instant success. The chips were about 33% faster than the Athlon 64's at the same clock frequency and they also included AMD's x86-64 extensions.

AMD tried to answer up to Intels offering, but now they were once again the having the inferior architecture. And just as before, they were unable to push their processors to the frequencies needed to compete with the Core 2 CPUs on the competitive desktop market. Debuting at 2.2 GHz in 2003, the fastest Athlon 64 FX was still stuck at 2.8 GHz in mid 2006 while the Core 2 Duo with twice the cache was already available at 2.933 GHz.

Fortunately it was still going well for AMD in the lucrative 4+ CPU server space. Intel's Core 2 Xeon server chips were still stuck with an old Front Side Bus (FSB) and were unable to compete on four-sockets or more. AMD, now with the knife at their throat struggled to get Barcelona, the processor based on their new K10 architecture, ready for consumers.

Future - K10 and vPro, Bulldozer and Nehalem

The long awaited Barcelona quad core processor will be released in mid September this year. AMD are still keeping a tight lid on all the details surrounding the chip, but some leaked benchmarks from The Inquirer sure look promising. The results show that the Barcelona could be pushed to over 30,000 3DMarks 06 and 11GB/s memory bandwidth compared to Intel's fastest "quad core" having 7.5 GB/s bandwidth. Architecturally they seem to be equals, but the question is if AMD will be able to compete for the top spot when they're always a step behind Intel in the manufacturing process.

To steal some thunder from AMD, Intel will release a new platform called vPro at the same time. First presented in 2002 under the name LaGrande, together with Microsofts controversial Palladium initiative, these extensions are now known as Trusted Execution Technology (TXT). Intel have announced three new Core 2 Duo processors for use with the vPro platform. Intel is trying to push it as the ultimate virtualization technology, which it is in some ways, but it can also be used as a very powerful DRM. Hopefully people will realize what this means and how "Big Content" can use it to lock you out from using your files as you want to. Hannibal describes his concerns well in his Ars Technica article about vPro.

Next year Intel will start releasing systems using their new Common System Interface (CSI), finally replacing the old FSB that's been a bottle neck for way too long. Initially it will be intended for multi socket servers, but the technology will trickle down to desktops and laptops later on.

For AMD the future seem to be about Bulldozer. It will be the first CPU with SSE5 and will be build with AMD's new modular Fusion architecture. The idea is to be able to mix several types of cores on the same die, including on-die Graphics Processing Units (GPU). To be released in 2009, they will be up against Intel's next chip architecture called Nehalem.

Tip of the iceberg

I've intentionally left the EPIC, SPARC, CELL and POWER architectures out of this. They might be technically more interesting, but they're not x86. Maybe that's something I should get back to another day, if only to make fun of the Itanic or to admire IBM's POWER6 beast. IBM are producing the CPUs for all three new consoles, the Wii, the XBox360, and the PS 3, and there's a lot to say about all of them. I've also avoided talking about what's happening in the rapidly growing System On a Chip world. Mobile computing is exploding and there's many chip manufacturers who want a piece of the action.

I've listed several well written articles at the end of this post if you really want to dig in to details like vector processing instructions, memory bandwidth or the different manufacturing processes, they are all worth reading.

My favorite tech writer, Jon "Hannibal" Stokes have recently released a book called "Inside the Machine". I'm ashamed to say I haven't read the book yet, but it's definitely something I will do as soon as I can. Expect a review of it.

While reading forums and comments to articles about processor architectures I've come up with this modified version of Goodwin's Law, we can call it Mogren's Law:
As an online discussion about processor architecture grows longer, the probability of a comparison involving Alpha or RISC approaches one.
The Alpha was a beautiful design though, too bad EV79 and later was canceled. Luckily the clever guys behind the Alpha design were quickly hired to work on other things...

Into the Core: Intel's next-generation microarchitecture - Jon Stokes - April 05, 2006

Inside Barcelona: AMD's Next Generation - David Kanter - March 16, 2007

Intel Core 2 Duo - Franck Delattre and Marc Prieur - June 22, 2006

Core 2 Duo and the future of Intel - Rob Hallock - November 5, 2006

AMD K10 Micro-Architecture
- Yury Malich - August 17, 2007

The Common System Interface: Intel's Future Interconnect - David Kanter - August 28, 2007

Intel's new vPro: two steps forward for x86... as well as for DRM and P2P? - Jon Stokes - August 27, 2007