Intel and AMD have taken very different approaches towards achieving the next level of performance with their CPUs. In Part I TomsHardware explores the companies’ plans for their upcoming multicore lines, the pros and cons of hyperthreading, and its relevance to multicore processing.
The author puts in the same bag: SMP, HT (HyperThreading), HT(HyperTransport), Out-Of-Order execution and EPIC. All about dual core technology. It is comparing apple and orange.
Most funny quote:
For now, Intel is announcing HT technology on the desktop level beginning in 3Q 2005, in single-core Pentium 4 units clocked at up to 3.8 GHz with an 800 MHz front-side bus and 1 MB of L2 cache.
I think the author has no clue on the CPU subject. I stay with ArsTechnica articles for now.
Maybe he wanted to say :
…in dual-core Pentium 4 units…
instead of:
…in single-core Pentium 4 units…
Intel’s HT technology (HyperThreading) in single-core Pentium 4 units is common nowadays.
The push to faster more powerful processors is all fine and nice eyt the whole PC design has been outdated for years! can you say Floppy B: Drive? Not to mention the reason we need faster CPU’s is becasue of massive Operating System Bloat gone are the days of tight clean fast executing code. The ADM64 was an awesome smoke and mirrors marketing ploy. The performance gain on thse processors were due soley to the integration of the memory controller and the huge amount of cache NOT the 64-bit extensions. Either way people automatically think now that 64-bit = Fast. What needs to happen is the complete redesign of Personal computers and a new processor architecture to go along with it. Make the motherboards and the cpu’s available in the same way PC parts are available today and port MS windows to the new PC platform watch it take over the world.
Sure, marketing “64-bits == Fast” is common today, but there are other reasons the AMD64 processors have good performance. One, that you don’t mention, is the increase in the number of addressable registers, meaning compilers have a lot more flexibility in choosing how to optimize programs.
So, what’s so wrong with PC computing? You do realize that your ideal replacement automatically starts by reinventing the wheel, a zero-sum game. The great success of PC computing is that it works “well enough” to get things done.
As for OS bloat, well people demand to do more things on their computers today than in the past. For instance, we could all go back to the days of one application at a time, but I somehow like to run my web browser and mp3 player at the same time as my chess game and text editor. Adding networking increases the resources necessary for the OS to run. Then you get to factor in multiple users and the difference between remote and local accounts.
None of that was common on a desktop 15 years ago, but I’d think most people would object to the absense of those things.
“None of that was common on a desktop 15 years ago”
Amiga was doing it in 1985 with 256KB of RAM and no hard drive.
Its about damm time for DualCores.
Remember back in 95/98 days, the big key word was multi-tasking. Between the compiler and the OS schedulers you were able to run more programs and take care of there threads, but you could only run one thread at a time.
The newer CPU’s can sort of run dual threads already because of the piplines. HT(HyperThreading) was some what a way into Multi-Tasking AND Multi-Threading.
Now with DC (dualcore) we now can really do Multi-Tasking AND Multi-Threading.
Also alot of programming languages are now going to multi threading. Like Java, .Net, Perl, and many other languages.
These are going to be fun times with DC’s.
Linux rules, and Gentoo kicks ass.
Sure, marketing “64-bits == Fast” is common today, but there are other reasons the AMD64 processors have good performance. One, that you don’t mention, is the increase in the number of addressable registers, meaning compilers have a lot more flexibility in choosing how to optimize programs.
Name one piece of consumer software currently or in the last couple years since the AMD64 Processors have been out that utilizes the extra registers for performance gain. 64-Bit has been around for a long time in the Unix world and even then there are very few applications that take advantage of it and most of the time is just to address memory beyond 4GB such as Oracle for example.
So, what’s so wrong with PC computing? You do realize that your ideal replacement automatically starts by reinventing the wheel, a zero-sum game. The great success of PC computing is that it works “well enough” to get things done.
Yeah it works well enough! but could be way better the design is what over 20 years old! I do realize that so there will be a huge porting effort at first. Imagine a PC design that is modular and CPU neutral I could have the choice of running a PC970 CPU or the latest AMD64 cpu just by swapping it out from my standard motherboard and switching Operating Systems. New buses or competing designs swapped out as a module.The end result would be choice right now if i want to build a white box PC(cheaply) my choices are x86 based CPU’s of course i could buy a Pegasos board with an older G4 cpu or an outdated Alpha based mother board CPU combo but again big downsides to that later choices.
As for OS bloat, well people demand to do more things on their computers today than in the past. For instance, we could all go back to the days of one application at a time, but I somehow like to run my web browser and mp3 player at the same time as my chess game and text editor. Adding networking increases the resources necessary for the OS to run. Then you get to factor in multiple users and the difference between remote and local accounts.
All that can be done and is done on systems such as Windows CE which is housed and runs in what 32MB of RAM in PocketPC based hand helds? vs a 1-2GB install of XP? Linux? I wonder how fast Windows CE would run on and AMD64 3500+ CPU.
“Name one piece of consumer software currently or in the last couple years since the AMD64 Processors have been out that utilizes the extra registers for performance gain.”
Cubase SX 3.
Perhaps I missed it as I skimmed through the article, but do they have an approx. price for these chips yet?
Right on
I’m in a cpu design project that is not just 2 cores, but as many as can be fitted on an FPGA or ASIC. Sure I don’t get 3GHz or even an FPU, instead I do get 300MHz and as many cores as I want for about $1 each in FPGA. Limit is closer to 100 cores, but heat/power/pins will probably keep it closer to 10.
I do this because of the massive bloat, the never ending fixing of Windows, net attacks & so on, everything you said, and much of it is due to the fundamental design of the x86 and the runaway Windows/Linux monster. Am I crazy, atleast as crazy as the Haiku guys. Why do it, because FPGAs make it possible to do it right, I don’t need to wait for AMD/IBM anymore.
Primary features included in cpu are
HW support for parallel computing, message passing, process scheduling, support for large no of cpus in system, HW enforced bounds checking, HW protected address space, HW new/del/adj opcodes, huge register sets for 4 threads in each cpu, ie could go on,
Much of this is actually old hat based on 20yr old technology but with some new features to take advantage of what can be done in the newest FPGAs and modern DRAM esp the really fast RLDRAM that most of you will never hear about (not to be remotely compared/confused with RDRAM).
Funny thing is that although Pentiums are wickedly fast, they are connected to junk memory architecture that can cripple the cpu if cache not big enough for the app. It gets far worse when you encourage multithreading since now N threads are now more likely to miss the cache. Its a vicious cycle. Computer performance has far more to do with the total memory architecture than just raw local computing.
The way out is to use entirely different DRAM architecture that is effectively many times faster, about 5x faster random access cycle and maybe 2x IO and atleast 8ways banked with no bank stalling, better still can start a new cycle every 2.5ns if bank address don’t collide. Design a cpu around this and you have something utterly different from x86+DDR performance.
Also 20yrs ago these sorts of cpus were packaged onto a tiny credit card format with something else, either sram, dram, networking, a/d d/a or whatever. These TRAMs would then be placed on a simple passive motherboard to carry 6-20 cpu modules per board and these would go into a larger chassis if more needed.
They even came plugged into an ISA board for the early IBM AT PC, when 6 of these Transputers were added, the old 286 would be rocked by about 100x performance. Gee even the FatMac and Mac2 had boards from Levco to boost the 68K.
Today I wouldn’t bother with any PC plugin, just keep the PC as far away as possible.
I have seen 1 future and it looks alot like the past but with all the benefits of 90nm and none of the fab costs.
Now if only Haiku would port when they are done I’d be in heaven, the best threaded OS running on a cpu that really supports threads.
more to come on this, real soon,
happy April 1
Transputers were really exceptional processors tuned for link communications and aggressive multithreading ( for example stack based registers ). The OCCAM language was designed to benefit from that structure.
INMOS have failed to enhance the desing ( The broken T9000 … ) so the performance margin with other chips shrunk quite quickly.
Mainstream processors ( PPCs, x86, … ) are quite old fashioned. Where are neural network CPUs, object oriented memory, hardware GC, … ?
Yes
The neural network and object oriented Tagged cpus had their time and I guess not enough market interest to justify further development esp when you consider that NREs started rapidly going up to infinity after the .25u generation.
Most of those designs I heard about were really Uni papers presented at various conferences during the early 90s a boom time for novice VLSI designers.
Now in the early Mac days, there were some interesting plugin coprocessor cards for MacII (maybe PCs) from TI and others for Lisp processing. There is no reason why such FPGA hosted designs couldn’t make a big come back provided that the x86 to FPGA clock advantage of 20 or so can be compensated by the FPGA architecture doing something vastly faster and that turns out to be harder than expected.
Right now the computer architecture biz is driven by x86 for the moment and ARM, PPC, MIPs for the embedded space and 8051 and others for cost sensitive. Nothing is permanent though, I really don’t believe x86/MS will be dominant in 20yrs, I have seen huge generation changes over last 30yrs, things do change imperceptably though.
The net PC is dead, but ever so slowly the Cell phone is turning into just that, not that I care for those shiny dongles. There will likely be more of those than PCs if not already.
Now the beauty of FPGAs is that if you want a neural network or tagged cpu design (or whatever your heart desires) you can ignore the Hennesy & Patterson dogma and just go roll your own. Even if x86 started to fade, the H & P book would just keep producing new generations of ARM/MIPs look alikes since all the new EE grads use that as the c.a bible.
Anyway the new Transputer has aspects of OO, tagging and I am making the 1st part available, (the date was just a bonus).
go comp.sys.transputer NG or google groups
Its the perpetuation of a broken deisgn that was great in the early 80’s. Take a look at any floppy controller on any x86 PC Motherboard hasn’t changed much since the 80’s now you have a whole IRQ dedicated to a useless device its too slow to adapt other devices to use the floppy bus. Parallel port? again with the advent of USB another valuable IRQ resource wasted. The PC AT design is ancient.
“The push to faster more powerful processors is all fine and nice eyt the whole PC design has been outdated for years! can you say Floppy B: Drive? Not to mention the reason we need faster CPU’s is becasue of massive Operating System Bloat gone are the days of tight clean fast executing code.”
Don’t know about the B: thingy, I say /dev/fd0, it roles of the tongue better
The problem is a lot of badly coded Operating Systems such as MS Windows.
What is needed is a ‘planned’ or ‘designed’ OS, rather than an evolved hacked-together OS such as Windows. It needs to be well thought through and better integrated with the hardware, such as the days of the Amiga introduced in 1985, and the Atari Falcon introduced in the early 1990s.
These were powerful machines. But what is also needed is a machine that is not only well-integrated but flexible enough to be updated – both OS and hardware working well in unison.
Well the only cpu that ever shipped IFAIK with the OS uppermost in the designers mind was the Transputer, the OS kernal is in HW but that model was too limiting for end users since it had to work in embedded uses with as little as 2Kbytes, external ram was just an option. Also only 2 priorities and you have to buy into message passing as the norm (which I do since it makes concurrent SW look more like HW). Most OS designers don’t seem to think that way so they are still thinking in terms of semaphores, spinlocks, mutexes etc but there are some pure message passing OSes out there.
Probably most cpu designers think they have the OS in mind too, x86 has maybe half a dozen entirely different memory models in mind from segments to paging to half of 1 and half the other.
Perhaps the simpler RISCs like ARM, MIPs are not so bad after all and have powered some decent workstations along the way.
AMD and Intel both produce good CPUs and since FREEBSD runs on either one. I’ll buy the one that is least expensive. I would rather save money then buying the greatest CPU at the time just to see it later selling for alot less.