Inside AMD's Phenom Architecture
An anonymous reader writes "InformationWeek has uncovered some documentation which provides some details amid today's hype for AMD's announcement of its upcoming Phenom quad-core (previously code-named Agena). AMD's 10h architecture will be used in both the desktop Phenom and the Barcelona (Opteron) quads. The architecture supports wider floating-point units, can fully retire three long instructions per cycle, and has virtual machine optimizations. While the design is solid, Intel will still be first to market with 45nm quads (the first AMD's will be 65nm). Do you think this architecture will help AMD regain the lead in its multicore battle with Intel?"
I had a 2P dual-core opteron 2.6GHz box as my workstation for several months. To be honest I couldn't really find a legitimate use for it. And I was running gentoo and doing a lot of my own OSS development [re: builds].
While I think quad-cores are important for the server rooms, I just don't see the business case for personal use. It'll just be more wasted energy. Now if you could fully shut off cores [not just gate off] when it's idle, then yeah, hey bring it on. But so long as they sit there wasting 20W per core or whatever at idle, it's just wasted power.
To get an idea of it, imagine turning on a CF lamp [in addition to the lighting you already have] and leave it on 24/7. Doesn't that seem just silly? Well that's what an idling core will look like. It's in addition to the existing processing power and just sits there wasting Watts.
Tom
Someday, I'll have a real sig.
Ultimately, it's performance that makes a successful product, not gigahertz or nanometers.
Sure, the 45nm process has great potential for better performance and higher efficiency, just like faster clock speeds had great potential - until AMD made a better architecture and achieved better performance at a lower clock speed than Intel's offerings at the time.
Let's wait and see how it really performs before passing judgement.
=Smidge=
In terms of market share, no. In terms of tech yes. See Opteron v. Intel P4 Xeon for example.
Tom
Someday, I'll have a real sig.
When it comes to multi-processing scalability, AMD's Barcelone/10h/Phenm single-die four core with hypertransport inter-chip interconnects will do far better than the two-die four core shared-bus Intel chips. Also, both the old and new AMD architecture will do relatively better on 64-bit code than the Intel Core 2 architecture: Intel's micro-op fusion does not work work in 64-bit, and their 64-bit extensions are a relatively recent add on to the old Core architecture. The FPU power of the new 10h architecture will be excellent as well. On the other hand, Intel chips will remain very competitive on integer code, cache-happy benchmarks, particularly when run in 32-bit mode. Also, the SSE4 extensions of the upcoming 45nm Intel ships will help for encoding/decoding and some rendering applications, provided that the software has been properly optimized to take advantage of them.
The Athlon X2 was superior to the Pentium D. It wasn't until Core 2 Duo that Intel took the lead in desktop CPUs.
I introduce to you the Pentium D.
The enemies of Democracy are
MAKE -j6.
Mmmmmmmm....
(-j6 instead of -j4 in an effort to counter I/O latencies... Actually that'd be an interesting benchmark; figure out what the optimum level of parallelism is. Too little and processors will be idle, too much and context switches would become an issue.)
Photo and video editing parallelize nicely. Besides gaming, that's the only CPU intensive process that most home computers will run. On the gaming side, most games don't run any better on quad core, but Supreme Commander is one of the few that do.
Take another look. He's making fun of the date they mentioned (1996).
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
1996? Wow, have *I* been misled. Mid 1996 is the vintage of my Dual Pentium Pro 200Mhz, and I *really* thought that it was state-of-the-art.
Colour me disappointed...
Just another "Cubible(sic) Joe" 2 17 3061
Actually, I just got a 65W Athlon X2 4600+ from Newegg which uses less power than my current 6 year old Athlon XP 1800+. The motherboard (ECS w/ ATI 690G) I ordered supposedly is also energy efficient. I guess I could save $60 by getting a single core, but almost all single core Athlons are rated at more than 65W. Why buy a single core when it costs more long term and is slower when multi-tasking?
Quad core is all well and good, but are there really that many apps as of yet that can take advantage of it?
Maya 3D
Or any other 3d rendering software where every CPU cycle is used to the last drop.
But other than that I can't think of anything off the top of my head, but multi-cores is very important to these types of apps. It is the different between 12 and 6 hours waiting for the project to render then people will go with the 6 hours.
"I am the king of the Romans, and am superior to rules of grammar!"
-Sigismund, Holy Roman Emperor (1368-1437)
They have a good chance. For one, their market share is rather higher than you make it out to be: about 20% of the 80x86 market vs Intel's 80%. Also, the computer manufacturers have an interest in keeping the competition between Intel and AMD alive. Unless they behave irrationally, they will help AMD to fully break the monopoly.
But the main thing that is pending for AMD is the antitrust lawsuit. Assuming there will be a just judgment, which is not a given with the US justice system led by the likes of Alberto Gonzales, a multi-billion dollar compensation for anti-competitive practices will fall to AMD. They have enough debt financing to last until then.
Craptacular indeed (great new word) - the only thing craptacularer was the Celeron D they had out at the same time, which despite the name was not dual-core. Very amusing though, watching the 'tards with enough knowledge to be dangerous and who wanted a cheap PC,
"That one's a 'D', that's got 2 processors, that makes the internet faster"
So I suppose whatever OS you're using only has one thread/process running at a time? I've never understood the argument that multi-core doesn't benefit the desktop user. As I look at my machine right now, I have two development environments going (one actually in debug), four browser windows, an email client, an IM client, various background junk (virus scanner, 802.1x client for the wireless), and of course the OS itself - XP. None of those needs a more powerful proc, but it's nice when they're all grabbing for CPU time that I have two cores for them to run on.
At home I'm often converting images from RAW in the background and doing postprocessing on them in the foreground. RAW->JPEG conversion is CPU intensive, and it's nice that it doesn't bring my system to its knees while doing it. I can continue about my work, while the converter is maxing out one of the cores in the background.
I've had dual procs since 1996, and would never, ever, ever go back. It's so nice to not have everything stall when a background job starts hogging the CPU.
Exactly why is AMD a fool to be concerned with "beating Intel at its own game"? Even Intel tried coming out with a revolutionary new CPU architecture, and look where that got them. Itanic has been undermined by Intel's own Xeon processors. The market has spoken, and it wants x86. Not even Intel has been able to change that (yet).
A smaller firm operating on tighter margins like AMD could easily go belly-up trying to break out with a new CPU microarchitecture. At least Intel could afford all of Itanic's failures.
You might be able to get them in Q4 2007. With launch dates of August 2007, we'll probably see the actual chips in retail channels by October. OEMs/builders should have products featuring the new Opterons much earlier.
Prevailing wisdom and personal experience suggest using "-j N+1" for N CPUs. I have a 4 CPU setup at home (dual dual-core Opterons). Here's are approximate compile times for jzIntv + SDK-1600, which altogether comprise about 80,000 lines of source:
Now keep in mind, everything was in cache, so disk activity didn't factor in much at all. But, for a typical disk, I imagine the difference between N+1 and N+2 to be largely a wash. N+1 seems to be the sweet spot if the build isn't competing with anything else. Larger increments might make sense if the build is competing with other tasks (large background batch jobs) or highly latent disks (NFS, etc). But for a local build on a personal workstation? N+1.
--JoeProgram Intellivision!
wait.. What? AMD is following Intel? Mind telling me how that is exactly? IIRC, both Intel and AMD are using the 64 bit extensions that... guess who... AMD made on their Athlon 64 processors first. Also, AMD was first to move their processors away from a shared BUS. The reason why they say their processors are "True" dual or quad core is because their architecture was designed better to scale. Take a look at the multi processor benchmarks compared to netburst, and even take a look at how much better AMD processors today scale with the number of cores compared to Intel's lineup.
Following? Hardly.
Uh, doesn't "make -j 3" gives you a good speedup? I'd imagine multi-core being great for development, at least for compiled languages.
I hate to break the news to you, but your proposed "silver bullet" is hardly something new. Synchronous dataflow has been with us at least since the 1970s. It's great for designing hardware, DSP software and other simple kinds of algorithms, but as a panacea for all the diseases of the software world? I wish I had some of the stuff that you're smoking. :)
Now, asynchronous dataflow (with the appropriate support for dealing with complex data structures) might actually be helpful to slash some of the complexities of developing efficient software for massively parallel computers, and in fact there has been renewed interest in such techniques since the 1990s, especially in functional programming circles (see, e.g., the work on "functional reactive programming" by Yale's Haskell group and others, http://www.haskell.org/frp/).
But, as others have already pointed out, there's still billions of lines of "legacy" code to support if you want to go to market with such a system. So even if modern dataflow models prove useful for multicore architectures, they will still be confined to special niches for quite some time, IMHO.
Happy to. At various points, one or more of the processes will be blocked in I/O. With N+1 tasks running, there's a higher likelihood that all N CPUs will be busy, despite the occasional I/O waits in individual processes. With only N tasks running, an I/O wait directly translates into an idle CPU during that period.
--JoeProgram Intellivision!