Intel's Dual Core Strategy Investigated
by Anand Lal Shimpi on October 22, 2004 3:09 PM EST- Posted in
- CPUs
Final Words
The best way to evaluate the impact of dual core CPUs on the desktop is to look at the impact by moving to a multiprocessor setup on the desktop. The vast majority of applications on the desktop are still single threaded, thus garnering no real performance benefit from moving to dual core. The areas that we saw improvements in thanks to Hyper Threading will see further performance improvements due to dual core on both AMD and Intel platforms, but in most cases buying a single processor running at a higher clock speed will end up yielding higher overall performance.
For the most part, it would seem that the dual core releases of 2005 are mostly to establish a foundation for future dual core CPU releases that will provide functionality such as power and thermal balancing across multiple cores. Next year Intel will be releasing a number of new processors, including the new 2MB L2 Prescott parts as well as the dual core x-series, but despite all of the new product launches, clock speeds will only increase by 200MHz in the next 14 months. If anything, the release of larger cache and dual core desktop processors is a way to continue to promote the "newer, faster, better" upgrades without necessarily improving performance all that much.
Today the slowest Prescott based Pentium 4s run at 2.8GHz and 3.0GHz - and a full year from now the slowest Prescott based Pentium 4s will run at 3GHz. This is the first time in recent history that the predicted roadmap for CPUs will remain relatively flat. It will take continued maturity in 90nm manufacturing, a smooth transition to 65nm as well as improvements in multi core designs to truly make the migration worth it.
The future of dual core doesn't lie in taking two identical cores and throwing them on the same die. The future and true potential is in the use of multiple cores with different abilities to help improve performance while keeping power consumption and thermal density at a minimum. The idea of putting two cores, one fast and one slow, in a CPU has already been proposed numerous times as a method of keeping power consumption low while continuing to improve performance.
Right now dual core is more of a manufacturing hurdle than anything else. Putting that many logic transistors on a single die without reducing yield is a tough goal. Intel will have a slightly harder time with the migration to dual core since their chips simply put our more heat, but in theory Intel has the superior manufacturing (although it's been very difficult to compare success at 90nm between AMD and Intel thanks to all of the variables Prescott introduced). Needless to say that we'd be very surprised if both companies met the current ship dates for dual core desktop chips simply based on how things have progressed in the past.
That being said, despite the end of 2005 being the time for dual core, the desktop world will be largely unchanged by its introduction. It will take application support more than anything to truly bring about performance improvements, but with an aggressive CPU ramp developers may be more inclined to invest in making their applications multithreaded as more users have dual core systems. The more we look at roadmaps, the more it seems like while 2005 will be the year of anticipation for dual core, 2006 may be when dual core actually gets interesting. Until then, we view dual core on the desktop as a nice way of getting attention away the fact that clock speeds aren't rising. It's a necessary move in order to gain more traction and support for multithreaded desktop applications but its immediate benefit to the end user will be limited. But then again, so has every other major architectural shift.
59 Comments
View All Comments
Dasoo - Tuesday, November 2, 2004 - link
Has anyone heard anything about possible implications of the move to dual-core on memory? While I would guess that there would be little impact, I'm wondering if dual-core systems will use more memory or if dual-core will require performance characteristics.Thanks
Speedo - Sunday, October 31, 2004 - link
#55, "Right...unless you also happen to be running another application. For example "Windows" with 26 services..."Yea, but does these services, in a normal gaming computer installation, really take that much cpu time to really show an improvement in games?
For example, taking a look at the taskmanager right now shows I have 99% (or more) cpu resources free.
dak - Monday, October 25, 2004 - link
#31, "Hang on -- to all those that say dual threads are crap -- what exactly are you running -- AMD 64 maybe? they'res no software that can take advantage of the 64 bit, so its virtually the same thing no? "Sorry mate, I've got 2 amd64 boxes running 64 bit. It's called Linux you dolt. Windows ain't the only thing going on out there. And I can't wait for dual core, it'll be great for source based linux distros like gentoo....
knitecrow - Monday, October 25, 2004 - link
The only people raving about dual-core equals double the performance would be Intel spin doctors and computer noobs.Having a multithreaded application is not a simple matter of a linear increase in programming time/skill/effort/debug/validation ... it’s a geometric increase.
This makes multithreaded apps, inherently expensive with longer development cycle.
Furthermore, poorly written multithread apps can run far worse than single threads.
The windows OS is quite dumb when it comes to multithreading; while it may suffice for 2P and 4P... it becomes less appealing when you scale to 8P and outright useless after that. No wonder UNIX remains top choice for multiprocessor supercomputers.
Please consider REALITY before raving about dual processor.
Audiophile1980 - Sunday, October 24, 2004 - link
[q]In a single threaded application, no they will not be any faster. In a game for example, two 3.2GHz cores will not be faster than a single 3.2GHz core.[/q]
Right...unless you also happen to be running another application. For example "Windows" with 26 services...
eachus - Saturday, October 23, 2004 - link
"When AMD mentions that their K8 architecture was designed for multicore operation from the start, they weren't lying. Each Socket-939 or Socket-940 K8 chip, whether it's an Athlon 64, Athlon 64 FX or Opteron, features three Hyper Transport links (whether they are all operational is another question). In order to create a dual core version of a K8 based chip, you simply remove a single pair of Hyper Transport PHYs, one from each chip, and fuse the two Hyper Transport links together - thus creating a direct path of communication between the two cores, capable of transmitting data at up to 8GB/s (at 1GHz) between the two chips."That is not how AMD does it. Hammer chips have a cross-bar switch with connections to memory, Hypertransport links, and up to TWO CPU cores with cache. Dual core chips have one copy of the crossbar and memory controller, and both CPU cores connect to it. All done. The crossbar works at core-clock not memory speeds. The only case where the cross-bar could be a bottleneck is if both CPU cores have >50% cache hit rates on the other core's cache.
eachus - Saturday, October 23, 2004 - link
stephenbrooks - Saturday, October 23, 2004 - link
#27:--[There are several reasons why games aren't written multithreaded: 1. multithreaded apps have more overhead so they run slower on single CPU systems.]--
I never said they'd use multiple threads when running on single CPU systems. There's a very simple call in Windows you can do to determine how many processors there are, and you can decide how many threads you produce based on that. For instance if you have to detect collisions with 400 objects, you could do 100 in each of 4 threads, or 200 in 2 or 400 in the original thread.
--[2. most gaming systems are single CPU.]--
Yes, _right now_. If we end up having 4 or 8-core chips by 2010, single-threaded games are going to look rather silly.
--[3. the threads need to communicate with each other to get the frames drawn. Since the threads have critical sections, running them on a single CPU will make the critical sections que up causing major lag and drop in framerate.]--
The game would scale down to 1 thread on a 1 CPU (non-HT) system.
I think the main problem is that since there aren't so many multi-processor SMP systems out there, developers just think in terms of one thread all the time. It will take dual-cores etc. to become commonplace to change that.
Finally, will everyone who assumes "different threads have to be doing qualitatively different things" please stop it? That's complete pants. Often you get the best (near-linear) scaling when you just have a lot of repetitive (non-mutually-relying) things to do and you can split them equally between a thread for each CPU.
It's certainly true that _when no apps are multiprocessor-aware_ the different threads you have will be doing different things, but when the programmers know about how many CPUs there are, it's a whole different ball game.
douglar - Saturday, October 23, 2004 - link
From aces hardware--"According to AMD documentation, both cores in a dual-core chip are connected to one shared SRQ (System Request Queue). The SRQ has ports for CPU0 and CPU1. The links between the two cores and the SRQ runs at core frequency with 64-bit data paths. The SRQ is connected to the XBar (crossbar) which handles signal routing between the SRQ, MCT (Memory controller) and up to three HyperTransport Links. The SRQ is also connected to a APIC (Advanced Priority Interrupt Controller) that services both cores (dual Int ports).
The important thing here is that the cores are connected before the crossbar, not after it, as Anand suggests. Hence the cores in a dual-core chip will share all the HyperTransport links and the memory controller.
See slide 26 of Fred Weber's MPF Presentation, 2001:
http://www.amd.com/us-en/assets/content_type/Downl... "
Briggsy - Saturday, October 23, 2004 - link
The following is complete and utter bullcrap (from page 2): "Each Socket-939 or Socket-940 K8 chip, whether it's an Athlon 64, Athlon 64 FX or Opteron, features three Hyper Transport links (whether they are all operational is another question). In order to create a dual core version of a K8 based chip, you simply remove a single pair of Hyper Transport PHYs, one from each chip, and fuse the two Hyper Transport links together - thus creating a direct path of communication between the two cores, capable of transmitting data at up to 8GB/s (at 1GHz) between the two chips."NO NO NO NO NO NO NO
This has been described in detail by AMD since 2001. AMD DO NOT 'fuse' together two Hypertransport links to make a dual core processor.
AMD's processor incorporates an integrated Northbridge, which is a crossbar that attaches to the memory controller, hypertransport controllers, and the processor interface, called the SysReq. The SysReq can connect to TWO cores, and this was designed as a capability from the very beginning. AMD's dual core simply adds another CPU core and attaches it to the currently unused port on the SysReq.
If you get a simple, well explained, detail like that wrong, I can only assume the rest of the article isn't very reliable either.