One Sneaky Fungus
Jump to navigation
16 February
Bad Chips - Technical and Marketing Disasters in the CPU market
I saw an article recently about CPU's which were failures, sadly the author didn't bother even covering the P4 netburst fiasco, so the 'picture' posted was very slanted. Let's start somewhat earlier, the reader is invited to google to their hearts content on these.
Intel i432 - Totally dismal performance (Covered here previously). Very aggressive design for the time! Super CISC
Intel i860 - Difficult to program - (Covered here previously). Great for accelerators and FFT's - lousy for app code.
Intel 80286 - Fine as a 'better 8086' and some neat CISCY things - but getting back out of protected mode after entering it... well that was hell. It also kept the 64K segment hell - but extended the address bus to 24 bits (16 MB) to compete with the 68000.
AMD K5 - This CPU ran hot, had lousy FP performance compared to the pentium, and ran hot (Oh I already mentioned that)... AMD messed up so badly they had to buy another company to try and right the ship... Nextgen... Integer performance per clock was actually better than pentium... but if you can't fabricate it...
AMD K6 - Surprise - pretty good! Nextgen morphed design... Much better than the K5 - Lousy FP but integer performance was great.
Intel Itanium - Certainly didn't live up to early hype - but like I've said before - I think Itanium has always just been waiting for transistor budgets to catch up with it. It looks like this is happening nowadays... Still not shipping many...
Intel P4 -What happens when Marketing gets ahead of Engineering? Oh yeah... something like this... The worst thing is the engineers knew this was a bad idea - but management ignored them. They should have learned from the MIPS R4400 superpipelined crank the clockspeed to the moon vs R10000 ...
AMD K8 - Phenom - What happens when Marketing gets ahead of Engineering... Oh yeah.... this... The Phenom II is reparing some of the damage. To be fair the Core / Core2 were such good chips from Intel after the P4 fiasco - it made Phenom look worse than it otherwise would be...
Anyway there's PLENTY of stuff to google here.
Things not covered here:
PowerPC - that's another story for another day.
Alpha - great architecture - killed by marketing and inept business decisions
NSC16032 / 32016 - Beautiful VAX like CISC - Chips very unreliable
28 February
Balanced computer architecture - or why your new machine sucks.
So you just got your hands on a new machine. Maybe you built it, maye you bought it, or maybe you don't even own it but are responsible for it.
I can pretty much guarantee you, that it sucks.
That's right - It sucks!
You may think to yourself 'How can he possibly say that? He doesn't know about my lovely new machine' Why its wonderful! Unless you are a member of the extremely fortunate but rare few - your machine sucks. Now why does it suck? You might ask, and just for asking that, I'll tell you. It sucks in the same way that a tiny sub-compact with a 5 litre V8 installed in it (without changing the fuel injectors or exhaust manifold) would suck. Yes, it might say 5 litres. It might even say 400 hp. But anyone with half a brain would say 'well that's kinda stupid'. But it sucks worse than the above example, it's like that sub compact with a gas tank the size of an elephant strapped on through little teeny tiny piping that looks like copper straws. It's also got a megawatt of headlights.
But here's how that sub compact would be advertised
8 cylinder engine!
30000 mile range on one tank!
1 MW headlights!
fuzzy dice
racing car steering wheel.
Any experienced engineer would look at it and say:
Decent engine, but fed through straws?
Why the hell is there an elephant sized gas tank on a trailer?
The headlights - do they really need to be 1 MW - I mean it sounds good off off road stuff, but it's got street tires and that big gas tank
Fuzzy dice is waste of time
Steering wheel adds insult to injury
That's what your current machine is like:
It's got a blindingly fast multiple core processor (probably)
A gas tank the size of an elephant (Your HDD)
Fed through a straw - have you ever tried filling or emptying a 500 GB drive on a typical PC? How long did it take? A bloody long time.
You've got a video card that can push a ludicrous number of shaded polygons everywhere
The case is well, kinda stupid looking.
So for fun lets just look at where PC's of all things have gone:
I used to own a 286. It was a 286-16 and had SVGA. It had a 40 mb IDE hdd and it talked to that over the PC/AT bus (yes 16 bits of it).
So lets run some numbers:
My 286 had 1 MB of RAM
It had a 40 MB HDD (40x my total system Ram)
It had a 1 MB video card
The ISA bus could push about 5 MB/sec over itself.
The HDD could read at about 400 KB/sec.
The CPU at 16 Mhz did about 4K dhrystones a second.
Now lets work out some very rough ratios:
CPU to HDD transfer ration: (K dhrystones to KB/sec)
4 : 400
Total RAM to HDD Xfer rate
1 : 0 .4 (I said rough)
Total time to fill HDD:
40 MB / .4 = 100 seconds
The DRAM that filled it was probably about 120nS stuff, and 16 bits wide
so we get:
Memory bandwidth (theoretical peak): 16 MB/sec. I don't believe that, so lets halve it and say 8 MB/sec
Look at those ratios. I leave it as an exercise for the reader to run them for their current machine. Take note how large your HDD is vs your memory, the transfer rate relative to the speed of your CPU to your disk, and how long it would take to read or write that whole disk.
--Tarp
06 December
Space Overlord Chickens (From Space)!
The dark thoughts
Involve the Armada
Billions of Chickens
In huge flying saucers
Hunting out the human race
Across the vastness of space
Beaks waiting to peck
Humanity from existence.
... and you really DO think that there isn't quantum noise way way deep down in the neurons of the human brain eh?
04 December
Getting up to speed on large complicated legacy systems
So you've been handed a huge old legacy system to come to terms with. What should you do:
1) If you don't know what to do, take your best guess and do that. Do anything. It's self correcting. If it's the wrong thing, then it's self correcting, and either way you will learn something you didn't know.
2) End to End. Use the system like the users will. Does it work? Does it not work? What questions does it generate? If your not eating your own dog-food then you will NEVER know how it tastes as well as the users.
3) Sub-divide. Take the big problem. Break it up into small achievable steps. Perform one. Get it going. If the system is obscure, and non-obvious - you'll almost certainly surface another question related to the small task. Find the answer. Finish your first task. Once your done, you may know more about that specific facet of the system than anyone else.
4) Keep your working subset as a baseline. Expand on it, take the most scary part of the system that just 'worked' but you have the least insight into, and hammer on that. Figure it out, extend your End to End test.
5) Don't give up. You have to train those neurons. Nobody said it would be easy. If it was easy then everyone would be doing it.
--Tarp
02 December
Apple have bent chronometers and transparent sales rooms
Our good friend J.U. gave B an Ipod Classic 160 GB for her birthday. Anyway - it was dead. Stupidly dead - when we fired it up. It displayed this red circle with a line through it, and was Kaput (not such good QC eh?) So after about 2 hrs of screwing around, plugging it into multiple machines, it had to go back - No I didn't search for a firmware loader - this is an Apple product - firmware loaders don't exist or shouldn't exist or well they don't want you to know they exist. But it's pretty - it really is...
Now you can't just ship the brand new Kaput I-Pod back to Apple, or more alarmingly have them drop ship you a replacement with a RMA box... nooo... you have to make an appointment at the genius bar. So B made an appt = You can't just walk in there and say 'this ipod is Kaput' - you need to make an appointment even after going through tech phone support after waiting for 30 minutes on the phone. Life being the busy thing it is, we finally managed to make an appt for 8:15 Saturday morning. I guess the holiday season is afoot.
So we got to the mall. We got to the outside of the Apple store by 8:08. At which point we got to perform an excellent imitation of people waiting to get into the Apple store.
Luckily - Apple's keen architectural ethos - All glass (hello we can see you ignoring us!), allowed us to clearly see the Staff who astutely ignored us, and the folks waiting for an 8:00 AM appointment too.
After knocking on the glass - we were finally let in about 8:10.
If your going to give people appointments scheduled modulo 15 minutes - Get it together. Hanging out inside PURPOSELY ignoring the people tapping on the glass who have appointments for 8:00 might not just be trendy - it might say 'Well yes, we're all apple people but we don't give a damn about wasting your time'.
At one point a nice friendly apple sales lady asked me if I needed anything - by this time I was grumpy - so I replied something along the lines of 'It's disrespectful to ignore people who are knocking at your door, and not let them in till 10 minutes after their appointment'.
What should have they done? We were mostly harmless. It's been a few years since I looked at the MACH source code, and I don't have much time to cause trouble - they should have just let the poor sleep starved zombies who had been forced to be at the Mall at 8:00 AM inside. There were no gaping holes in the floor, there was no water mains leak. Their were no dead bodies being hidden.
We could see in. and yes you dip-shits we could see you clearly ignoring us.
-Tarp
21 November
Programming
Masses marching with such imperative.
Swinging stomping all in a line.
Sometimes six abreast but never quite sure who's in charge.
Stumbling, falling, arguing...
Versus
Don't tell me how to do it
Just tell me the facts and relationships,
I'll figure it out
Which one would you rather program in?
05 August
test
test
27 May
You Tube Video Fun