Saturday, May 26, 2007

The Kahuna-Gordon Messages: Part 12 - The Way of the Jungle

ALPHARETTA, Georgia -- A few months ago, Professor Gordon and Kahuna had yet another of their notorious conversations. This time, it became a highly unorthodox discussion about microarchitecture, implicating flora and fauna in a manner that would have been frowned upon by Subrata Dasgupta, author of that definitive work, The Design and Description of Computer Architectures[1].

This is a work of utter buffoonery and certainly not intended to be an affront to Professor Dasgupta, without whose works, Kahuna would have been a lesser clown.

Read on to find out what would happen if large clowns left unsupervised, designed processors.

Gordon : In other news, my daughter is attempting 
speech synthesis.
Kahuna : Again? X-(
Gordon : Indeed.
Gordon : She executes for{int i=1; i<=10; i++} quite
regularly, especially whilst climbing
stairs.
Kahuna : #@$@%@!@#@!$%#$%
Gordon : What, you prefer VB? X-(
Kahuna : I'd prefer if you didn't teach your
daughter to code at this age X-(
Gordon : Heh heh, be thankful it wasn't MOV AX,0 etc
:-P
Kahuna : I will perform an LDIR[2] on your person
by Z80 assembly X-(
Gordon : Now, now, now.
HALT.
Kahuna : RSET.
Gordon : JNZ LAKE X-(
Kahuna : LD CACTUS.
PUSH CACTUS.
Gordon : [GUFFAW]
Kahuna : Heh heh.
Gordon : That would probably have caused a cache
miss X-(
Kahuna : You think?
Kahuna : I can just imagine not finding the cactus
in main memory and a foray into the Arizona
desert X-(
Gordon : Exactly.
Kahuna : This would incur a delay of several clock
cycles X-(
Gordon : You could attempt a prefetch X-(
Kahuna : Are you suggesting that I cache cacti to
avoid going off-chip?
Gordon : Well the branch prediction may compensate.
Kahuna : If it predicts the wrong branch, it might
fetch redwoods. This could cause large
scale caching problems X-(
Gordon : I see your locale is en-US X-(
Kahuna : Indeed. Flagstaff, AZ to be precise.
Gordon : If your locale was en-ZA you might have
fetched a baobab.
Kahuna : #$@#$@#$ You will note said baobab caches
water X-(
Gordon : Indeed, large amounts of it too.
Kahuna : So you're suggesting we replace the L2 with
a baobab?
Gordon : This is a possibility, yes. You might
attract vultures, though.
Kahuna : Said vultures could introduce pipeline
stalls.
Gordon : In local news a clown zoo had lost its
vulture and was issuing instructions to
notify police if [we] saw a vulture flying
by X-(
Kahuna : Yes, all we need now is a vulture flyby X-(
Kahuna : I wonder why they never thaught [sic]
processor design in this manner.
Gordon : Judging by that last sentence they'd have
been too busy checking spellings X-(
Kahuna : I will lock you up in baobab if you're not
careful. "A very large, hollow boab [sic]
south of Derby, Western Australia was used
in the 1890s as a lockup for Aboriginal
prisoners on their way to Derby for
sentencing. The Boab Prison Tree still
stands and is now a tourist attraction."[3]
Gordon : You appear to have branched X-(
Kahuna : It was just a look-aside during translation
X-(
Gordon : Someone should buffer you.
Kahuna : A staging latch could be used for this
purpose X-(
Gordon : That's quite static.
Kahuna : Well as long as it's fast enough.
Kahuna : You will note it takes a large CF to
explain microarchitecture in terms of
cacti, baobabs and vultures X-(
Kahuna : By Subrata Dasgupta X-(
Gordon : Indeed. A hyena or two will add some
flavor.
Kahuna : I was thinking of a fossa.
Gordon : Aaaaaaaaaaaaargh! Don't remind me of that
clown X-(
Kahuna : Indeed. That book was hideous X-(
Gordon : To this day I have no idea what he was
trying to say X-(
Kahuna : Indeed. The sentences were so long that you
lost track of the subject and the predicate
when you got to the end.

Professor Dasgupta's perfectly structured, elegantly mathematical English was lost on undergraduates desperately short of cache memory to buffer the entirety of his statements. Screaming and gnashing of teeth was not uncommon during CS301.

Gordon : Indeed, perhaps it was trying to explain 
TLBs X-(
Kahuna : I think the whole book was a corrupted TLB.
Gordon : [GUFFAW]
Gordon : You're suggesting bad SRAM by Hyundai.
Kahuna : I'm suggesting that Dasgupta got his
pipelines a twist. It's a good thing he
didn't teach surgery for instance X-(
Kahuna : Argggggggggghhhhh! You will examine.
Gordon : BTBOTP, he looks like Cuthbert Calculus.
Gordon : He's in the Institute of Cognitive Science
of all places X-(
Kahuna : He's written a novel as well X-(
Gordon : Oh? X-(
Kahuna : Just imagine reading that X-(
Gordon : Perhaps that's what we had in the library
X-(
Kahuna : He's written more than one. Probably no one
understood it. Or more likely, survived to
tell the tale.
Gordon : [GUFFAW]

In all fairness, the most boring book of all time is Michael J Earl's Management Strategies for Information Technology[4]. A bane of college students everywhere, the slim volume with its characteristic dark blue cover is known to induce coma with a single page. But, we digress.

Gordon : Perhaps he may have a chance now that 
Sidney Sheldon is out of the way X-(
Kahuna : Yes, the general public is itching to read
about his description of how staging
latches help during prefetch X-(
Gordon : :-P
Kahuna : You can almost feel the suspense when he
describes a pipeline stall X-(
Gordon : You appear to be a great fan of his works.
Kahuna : Yes, I still remember the chapter on
microcode X-(
Kahuna : It took me years to get over it.
Gordon : Heh, heh.

The next day, buffoonery continued.

Kahuna : Zap() Clobber()
Gordon : Vulture()
Kahuna : A deceased wildebeest will sort you out.
Gordon : Assault with carcass? X-(
Kahuna : Indeed.
Kahuna : Good lord: "A group of vultures is
occasionally called a venue in literature.
When circling in the air, a group of
vultures is called a kettle."[5]
Gordon : A kettle? By Russell Hobbs X-(
Kahuna : Indeed X-(
Gordon : And literature? By S Dasgupta X-(
What form of literature has references to
vultures? X-(
Kahuna : Indeed. Said clown would have described
the venue of vultures attending the
processor in quite unnecessary detail X-(
Kahuna : However, I'm still not quite clear what
role these vultures play in the
microarchitecture. Garbage collection? X-(
Gordon : Garbage collection.
Kahuna : And you propose to use elephants to manage
the data bus? Especially if your TLB
predicts we need a redwood.
Gordon : For data compression, yes.
Kahuna : Who's going to fetch the data? X-(
Gordon : Carrier pigeons.
Kahuna : Carrier pigeons? X-(
Gordon : Do you have a better suggestion? X-(
Kahuna : Let me get this right: we have pigeons
bringing in the data from off-chip storage,
then there's a ring of elephants around the
baobab who stomp on the incoming data to
compress it?
Gordon : Yes, and vultures cleaning up any
leftovers.
Kahuna : This compression appears to be lossy X-(
Gordon : The hyenas take care of interrupts.
Kahuna : By howling?
Gordon : Yup.
Gordon : Unless you get laughing hyenas, that is.
Kahuna : In which case? X-(
Gordon : They laugh.
Kahuna : This might annoy the elephants X-(
Gordon : This is all taken care of by the lions
manning the control bus.
Kahuna : Oh, there are lions as well? X-(
Gordon : Yes. This worries you?
Kahuna : No, I'm just wondering how the data is
decompressed.
Gordon : That's a patented process.
Gordon : I forgot to mention the zebras that provide
disk striping.
Kahuna : No doubt the elephants blow the compressed
data back up
Gordon : I cannot comment on that.
Kahuna : You're attempting to hide a patently lossy
compression method X-(
Kahuna : These zebras operate on RAID 1+0 or 5?
Gordon : 1+0.
Kahuna : These are high-performance zebras, BTBOTP.
Gordon : Indeed.
Kahuna : Is there a secretary bird in this
architecture?
Gordon : How did you guess?
Kahuna : Someone has to provide a clock signal X-(
Gordon : Er no, that's the cuckoo.
Kahuna : And pray tell what the secretary bird does?
Gordon : The secretary bird handles the storage
abstraction layer.
Gordon : You just hand over the data and it's filed
on any available medium.
Kahuna : And the underlying zebras handle
redundancy?
Gordon : Exactly.
Gordon : And then there're the fireflies that read
optical media.
Kahuna : X-( Yellow-ray technology?
Gordon : Er no, they were genetically modified to
glow blu(e). We try to adhere to standards
wherever possible.
Kahuna : There is no such standard X-(
Gordon : Haven't you heard of Blu-ray? X-(
Kahuna : I believe they're still bitching over that
and HD-DVD X-(
Gordon : Indeed; however, Blu-ray seems to be
winning.
Kahuna : Your alliances are noted X-(
Kahuna : We will need some adders to man the FPU.
Gordon : Did I mention we use water from the baobab
for cooling?
Kahuna : Er no, but I would imagine this to be
sensible.
Kahuna : Doesn't this architecture need monkeys?
Gordon : No they're unpredictable.
Kahuna : Yes, we wouldn't want this to become like
parliament.
Gordon : I will now abscond for a bit to pay the
rent.
Kahuna : Why not hand it over to the secretary bird?

Sometime later...

Gordon : Douglas()
Kahuna : Gah.
Kahuna : Did you go off-chip? X-(
Gordon : Yes, I was peripheral.
Kahuna : I must ask the lions not to leave you to
your own devices.
Kahuna : On that note, I will swap myself out.
Gordon : To hibernate?
Kahuna : Indeed.
Gordon : Someone should shut you down if you ask me.
Kahuna : Bah, you've been trying for years.
Wait, there's more!
Kahuna : Hyena.laugh() elephant.stomp()
Gordon : By PKZIP.
Kahuna : At least PKZIP has a known inverse function
X-(
Gordon : :-P
Gordon : When was the last time you recovered
anything squashed by an elephant then?
Kahuna : I haven't; this is why I'm waiting to see
your patent X-(
Gordon : Heh, heh, heh.
Kahuna : Your whole architecture could fall apart
X-(

On that ominous note, we take your leave. Gordon's new architecture will be detailed in the Jungle Book, coming soon to CS301 near you. Naturally, no flora or fauna was harmed in the course of this production.


[1] Dasgupta, S. 1984 The Design and Description of Computer Architectures. John Wiley & Sons, Inc.
[2] LDIR (LoaD, Increment, Repeat) is a block-transfer instruction in Z80 assembly which can rapidly copy a block of memory from one location to another. More information available here.
[3] Wikipedia: baobab.
[4] Earl, M. J. 1989 Management Strategies for Information Technology. Prentice-Hall, Inc.
[5] Wikipedia: vulture.

No comments: