Into the Core - Intel's New Core CPU
Tyler Too writes "Hannibal over at Ars Technica has an in-depth look at Intel's new Core processors. From the article: 'In a time when an increasing number of processors are moving away from out-of-order execution (OOOE, or sometimes just OOO) toward in-order, more VLIW-like designs that rely heavily on multithreading and compiler/coder smarts for their performance, Core is as full-throated an affirmation of the ongoing importance of OOOE as you can get.'"
Ok, so I know I'm going to get a lot of AMD people agreeing with me and a lot of Intel people outright ripping me to shreds. But I'm going to speak my thoughts come hell or high water and you can choose to be a yes-man (or woman) with nothing to add to the conversation or just beat me with a stick.
I believe that AMD had this technology before Intel ever started in on it. Yes, I know it wasn't really commercially available on PCs but it was there. And I would also like to point out a nifty little agreement between IBM and AMD that certainly gives them aid in the development of chips. Let's face it, IBM's got research money coming out of their ears and I'm glad to see AMD benefit off it and vice versa. I think that these two points alone show that AMD has had more time to refine the multicore technology and deliver a superior product.
As a disclaimer, I cannot say I've had the ability to try an Intel dual core but I'm just ever so happy with my AMD processor that I don't see why I should.
There's a nice little chart in the article but I like AMD's explanation along with their pdf a bit better. As you can see, AMD is no longer too concerned with dual core but has moved on to targeting multi core.
Do I want to see Intel evaporate? No way. I want to see these two companies go head to head and drive prices down. You may mistake me for an AMD fanboi but I simply was in agony in high school when Pentium 100s costed an arm and a leg. Then AMD slowly climbed the ranks to be a major competitor with Intel--and thank god for that! Now Intel actually has to price their chips competitively and I never want that to change. I will now support the underdog even if Intel drops below AMD just to insure stiff competition. You can call me a young idealist about capitalism!
I understand this article also tackles execution types and I must admit I'm not too up to speed on that. It's entirely possible that OOOE could beat out the execution scheme that AMD has going but I wouldn't know enough to comment on it. I remember that there used to be a lot of buzz about IA-64's OOOE processing used on Itanium. But I'm not sure that was too popular among programmers.
The article presents a compelling argument for OOOE. And I think that with a tri-core or higher processor, we could really start to see a big increase in sales using OOOE. Think about it, a lot of IA-64 code comes to a point where the instruction stalls as it waits for data to be computed (most cases, a branch). If there are enough cores to compute both branches from the conditional (and third core to evaluate the conditional) then where is the slowdown? This will only break down on a switch style statement or when several if-thens follow each other successively.
In any case, it's going to be a while before I switch back to Intel. AMD has won me over for the time being.
My work here is dung.
"Brian, there's a message in my cereal! it says OOO..."
My sig has been answered.
Do you think that when we open up a new Apple(TM), we will find a Core(TM)?
He who knows best knows how little he knows. - Thomas Jefferson
Just for that, I'm never buying Intel again either.
From now on, I buy only Intel.
Er, wouldn't that be the fan making the noise? CPUs have no moving parts.
IMPEACH XENU
Then cut out all the "personal revelation" nonsense. You are trying to write a comparison between an Intel processor and an AMD processor and don't see why you should try an Intel processor first? You like AMD's explanation better? This isn't a matter of who csn write the most entertaining copy. What does the "support the underdog" sentence even mean?
No, it's not the fan. It's the CPU's idling mechanism, specifically its power-saving attempt. Up the CPU activity to around 5% and the noise goes away. I'd like to know if that's endemic to dual-core Intels at the moment, or if it's an Apple-specific problem.
Cheers
Ian
Try the mirror-widget-hack. Download the Mirror widget, start it up in Dashboard for a few seconds, then close it. Your machine will then be silent until it's next rebooted. Battery life will be slightly reduced, but not by much.
There was a run-on-startup utility available from somewhere with the same effect, but apparently 10.4.6 has broken that.
Tedious Bloggy Stuff - hooray?
processors are moving away from out-of-order execution toward in-order, more VLIW-like designs that rely heavily on multithreading and compiler/coder smarts for their performance I have stopped following processor developments recently, but is this really happening? Between Intel and AMD, the only chip I've heard of that was VLIW and relied on the compiler was Itanium, and I don't see why AMD or Intel would risk repeating that mistake* again any time soon. *I dont think Itanium was a mistake because it relied on the compiler or had cool hardware (like hardware support for software-pipelining). I think it was a mistake to push for Itanium when their compilers didn't seem ready to take full advantage of it.
It's probably the laptop's power supply. I've only heard one processor make this sound. And that was when I hooked up the power to my motherboard backwards to my 486 many years ago. ;-)
My iMac intel works like a champ and doesn't make any noises, plus my brother just got a MacBook Pro and his is the same way. I would take yours back.. nobody likes a noisy processor :( And as for the joker who wrote this article in the first place.. How about you get yourself a real computer and then write an article begging for forgivness. The AMD has nothing on the Inel CoreDuo, and I'll go a step further and say that microsoft has nothing on apple. If they're smart, they'll make like usual and steal a grip of code from apple so at least they might be able to keep up until apple puts the next thing out. Don't get me wrong, it's not that i don't like you, i just think that you should go and actaull try something before you trash it. Didn't your mom teach you that, "How can you say you don't like brocoli?, you've never even had it!" something like that... anyway i should get back to work....
http://slashdot.org/comments.pl?sid=174483&cid=14
</shameless plug> :)
and for the dyslexics out there: AAH and OOO
Who's your user, program?
Sing: "Old Macdonald had a processor farm..."
"You can give your heart to Jesus, but your ass belongs to the Core!"
"We are all geniuses when we dream"
- E.M. Cioran
So the answer to your question is: neither.
Bad analogies are like waxing a monkey with a rainbow.
Ian. These are often inductor coils on the MB power circuitry making this noise. Go to silentpcreview.com forums and search for coil whine. It happens in PSU coils or/and more frequently on MB power circuitry coils. It is a combination of components that causes it and unfortunately there is not much you can do other than change the PSU/video card etc which are not possible on a laptop. You can douse the coils in electronics grade silicone (which is acid free) but I am not suggesting this. Send it back for servicing if they take it.
He's right. My old laptop makes that noise whenever I push a lot through a network interface (something more than half of the maximum bandwidth.)
Just "gittin-r-done," day after day.
Cheers,
Ian
Intel's CEO is an economist, while AMD's chief might actually have a clue how a chip works...
So what? Running big business is not the same skillset as chip engineer.
The CTOs, now *they* need a technical background. CEOs certainly don't, that's what Harvard MBAs are for.
FWIW, AMD has recognized problems with motherboards. Since they don't make them themselves there's lots of variation in design, capabilities and quality control. AMD and Radion and ATI have all initiated programs to bring better qualtity control and consistancy to motherboards for AMD processors. Most of these issues are seen in server class rather than desktop class boards, but the problems are still there. At this point, components and drivers are the main cause of system crashes on X86 boxes. The better the quality of the components the more reliable the computer. Remember, these problems may not appear to be hardware related too. They may seem to be caused by software - blame Microsoft! In order to support the performance capabilities of the next generation of processors all of the components from the big ones like memory and NICs and Storage contollers, to the less obvious ones like mother board layer construction will need to be top-notch.
Hmm, you certainly do sound like quite the authority, and insightful post has changed my mind. I thank you.
Retard.
https://www.accountkiller.com/removal-requested
If you'd read the actual article you wouldn't ask that question. Most of the steps they've taken are designed to keep the execution units busy and minimize stalls. How well it will work will be determined when we see real silicon.
If Intels new chips live up to the hype, it will help to restore INTC's hurting stock. It will also help to correct AMDs overvalued stock. A year ago the correct move was to buy AMD, soon I think the correct move will be to buy INTC.
What kind of new chips does AMD have up its sleeves to compete with the new Core architecture?
That's what's in there.
There was a long period of time where Intel cleaned AMD's clock, and significantly surpassed them both in performance and stability. During that time did you say that you would never buy AMD? If so why did you change your mind? If not, well, that's what you are doing now, it was just as stupid then as it is now.
The truth is that there is a performance competition going on. AMD may have the edge now, but there is no guarantee that they will keep it. There's no way to effectively predict what the CPU world will look like in five years. Loyalists who choose to use inferior technology in the future because they love some company (a company that would happily sue fanboys into oblivion if it would raise their stock price by a penny) are just going to be stuck with a lesser technology and a warm feeling about wasting their dollars on it.
Hyperbole is the worst thing ever.
Fast charging/discharging of capacitors can make them sing in this way. While there're no moving parts as such, changing in electric current causes changes in electromagnetic field, which is a force, thus can create tiny movement.
The revolution will not be televised... but it will have a page on Wikipedia
Abstracted from the hacker's dictionary,
core
n. Main storage or RAM. Dates from the days of ferrite-core memory; also still used in the UNIX community and by old-time hackers or those who would sound like them. Some derived idioms are quite current; `in core', for example, means `in memory' (as opposed to `on disk'), and both {core dump} and the `core image' or `core file' produced by one are terms in favor.
=
If now Intel has gone to using old ferrite core memory to perform CPU functions (maybe because of a huge silicon shortage or maybe to get persistance in case of blackouts due to power failures) I predict that this is finally the end of Moore's law, the game industry, the Internet and pretty much everything else dependent on cheap fast CPUs. A new 64 bit Core CPU will now contain 64 little magnets strung on wires.
Of course if the rest of the industry fails to follow Intel's lead, I sure wouldn't want to be a stockholder.
Let's clarify a few things: A processor executes instructions either in-order (including VLIW processors), or out-of-order. The former is much simpler to implement, but the latter is much more powerful. Why? because when you miss in the L2 cache and it takes ~200 cycles to bring the thing from memory, it's good if you can do something else in the meanwhile. This is only a performance thing, btw, the programmer doesn't see it. For the same instruction-set architecture you can have both in-order (e.g. Transmeta) or out-of-order implementations (AMD since K6 and Intel since Pentium Pro)
Most high-performance processors these days use OOO (the processors that 99% of the /. crowd currently use to read and post are out-of-order). The notable exceptions are: Sun SPARC (a few things in their instruction set makes OOO very difficult to implement, like instruction windows), the Itanium (designed specifically not to need OOO, but see where it got it), Sun Niagra (the idea there is that a server works better with many simpler, in-order execution contexts than with one bigger out-of-order contexts; don't try to run other stuff though, as you'll probably be unimpressed), and the console chips. I'd add Transmeta, but not sure if they're still alive.
The Raven
Core will excel on the types of applications that will make up the vast majority of server and consumer code in the near to medium term. And because it's designed for relatively low core-count multicore, it will help the software industry gradually make the transition to multithreaded code.
Ok, the conclusion is off, single threaded cores are for the desktop. Multicore is when you need the highest connections with the lowest latency. Hyperthreading helps by fighting memory latency, but they havent put hyperthreading in it yet.
Now, after they add hyperthreading back in, add 64 bit support, and virtualization like the p4 line, it will truely be the next cpu for 4 years.
Of course, AMD isnt just sitting back and doing nothing.
The Intel 'core' architecture looks like it is focused first and foremost on single-core performance but with improved dual-core capabilities beyond the current 'netburst' architecture which was essentially single-core only. For example, the new core memory aliasing described on the last page of the article doesn't look like it will scale very well with more than two cores and even two cores will have performance hits, although it will be much better than the current Intel dual-core processors. The core architecture apparently uses shared l2 cache, though, while the current AMD design uses seperate l2 cache for each core that mirror via hypertransport link and onboard memory controller. The Intel core approach will probably give better single-core performance than AMD but suffer with dual-core or multi-core. Since most software (and benchmarks) don't multithread enough to benefit much from dual or multi-core, Intel wins. But...if future OS software is more multithreaded, AMD probably wins. Since Windows Vista, .NET 2.0, and DirectX 10 all support sophisticated multithreading, Intel looks like they will still be in trouble competing with AMD, even if AMD doesn't udpate their current design.
If Intel comes out with a better, cheaper processor tomorrow, don't buy the AMD one, buy the intel one. Their is no point treating a company like a person.
What the grandparent was saying is that it's good to support the underdog for the sake of the future. If Intel comes out with an amazing chip and everyone stops buying AMD, then AMD goes out of business. What happens to development at Intel? It slows. What happens to prices at Intel? They increase. Eventually this will get so bad that it becomes profitable for a second company (which is what happened with AMD in the first place). So, while eventually it works itself out, it sure is hell for the consumer in the middle period.
A great real-world example was the web browser wars of years ago. IE came out as the clear winner. In my opinion, they were the best. As a result, they were pretty much the only web browser out there. Did Microsoft continue to innovate? Of course not! They could make more money by diverting that money towards other products that were in competitive spaces. That's why everyone is switching from IE faster than American youth are gaining weight. How much better things might have been if Netscape had stayed competitive rather than being so soundly beaten.
This is slightly off-topic, but can someone please tell me my Intel continues to have so few registers? I have done some assembly work on x86 and it is always such a chore because I spend 75% of the time moving data in and out of registers. I would love to at least be able to do a double for loop without having to move my iterators. It's just so frustrating.
http://www.pbs.org/cringely/pulpit/pulpit19980402. html
That would be due to several "lessons learned" as Intel developed Itanium.
1. The instruction overhead due to extra hint bits, etc, means Itanium instructions are much larger than x86 32/64 instructions. With the addition of poor branch performance (read: more wasted instruction bandwidth), the need for large, high-bandwidth caches makes Itanium expensive.
2. The compilers have not caught up. EPIC lacks OOOE, and has poor dynamic branch prediction hardware, so it is at the mercy of the compiler.
Core retains Intel's original insights made with the P6:
1. x86 is hard to decode (takes more silicon), but it takes less bandwidth than other instruction formats. Bandwidth is even more expensive than the cost of more complex decoders, just look how expensive it was for Intel to add full-speed cache to the original Pentium Pro, and how pricey the Itanium is with huge, fast on-chip cache.
2. OOOE + Branch Prediction + internal RISC is king. One reason the original Pentium never performed well is because it could RARELY execute more than one instruction per cycle. Thus, it performed like a fast 486 unless the code was recompiled as Pentium optimzed. The P6 was designed to avoid the reliance on compilers to improve performance, as it could optimize code in any condition. Funny, we didn't start seeing Pentium-optimized code on the market until the P6 started taking over.
Core is just a logical extension of this concept. The predictor is more accurate, there are more instruction decoders, more ALUs and SSE units, and more retirement units. The only reason Core seems to groundbreaking is because we didn't see it in small, evolutionary steps.
Man is the animal that laughs.
And occasionally whores for Karma.
Alright then, guess my reply was uninformed and out of place. Thanks for the explanation.
IMPEACH XENU
1. The instruction overhead due to extra hint bits, etc, means Itanium instructions are much larger than x86 32/64 instructions. With the addition of poor branch performance (read: more wasted instruction bandwidth), the need for large, high-bandwidth caches makes Itanium expensive.
No what makes itanium expensive is that they target a niche which buys only itaniums between 2000 and 4000 USDs the lower end itaniums don't sell. The extra cache is cheap. The instruction cache bandwith is cheap. Its the decoding and scheduling thats expensive.
2. The compilers have not caught up. EPIC lacks OOOE, and has poor dynamic branch prediction hardware, so it is at the mercy of the compiler.
The strength of dynamic branch prediction has nothing to do with epic, except that epic has more ways to completely avoid branching, but there is no reason for settling anyweaker branch predictor than x86. The pipeline is wider and shorter, so branch missprediction penalty is in terms of instructions is about same.
1. x86 is hard to decode (takes more silicon), but it takes less bandwidth than other instruction formats. Bandwidth is even more expensive than the cost of more complex decoders, just look how expensive it was for Intel to add full-speed cache to the original Pentium Pro, and how pricey the Itanium is with huge, fast on-chip cache.
You got it totally wrong. The original Pentium Pro was expensive since the CORE was huge due to x86 support and they couldn't test the core before assembling it with the huge amount of cache, then they lost the silicon area of both cache and core when core failed. Itanium has relatively small core compared to x86. The cache can be considered as maximum of 1/4 of its area for yield purposes these days probably even less. There is something called redundancy used there, and they right now get 4 as much silicon per dollar than when pentium pro was made as addition. As for 60000mm of silicon costs under 3000$ for intel. So they sell their highend itaniums over 50 times the montecitos (next gen HUGE itanium) silicon costs. And montecito will be made in 0.9 process that is getting phased out of x86 production. So die areas comparisons are not equivalent since that process has already a great yield for producing x86 over a year. While 0.65u has twice the transistor density, and has lower yields with big dies than the old process
2. OOOE + Branch Prediction + internal RISC is king. One reason the original Pentium never performed well is because it could RARELY execute more than one instruction per cycle. Thus, it performed like a fast 486 unless the code was recompiled as Pentium optimzed. The P6 was designed to avoid the reliance on compilers to improve performance, as it could optimize code in any condition. Funny, we didn't start seeing Pentium-optimized code on the market until the P6 started taking over.
This doesn't really bring anything new to the table, there is big difference between this and itanium situation. Nowadays there is something called Java. All java gets optimized on new itaniums when virtual machine is improved. Also people do recompiles, since most of the time itanium is running either HP-UX shipped with machine or linux. All the itanium generations from first to now to next itanium generation have been and will be 6 instructions wide. The improvements have been in and will be cache systems and more functional units to have more relaxed issue rules. This compares to 1 instruction wide to 2 instruction wide pentium on a time when performance critical code was written in assembler. So basicly all newer itaniums run faster on code that was optimized for older itaniums, simply because improvements where made in that way. SOME improvement is left on table without recompilation but not huge amounts like in pentiums case. We don't see transition from 6 wide to 12 wide execution which would be equivalent to 486->pentium
Emacs is good operating system, but it has one flaw: Its text editor could be better.
Interesting. I've experienced this before and always assumed it was caused by the CPU fan. I figured the reason it changed with CPU load was due to the fan adjusting its speed based on CPU load.
I have gone back to using Intel for most of the systems we sell for exactly these reasons. We have had several systems we have sold with AMD's architecture which have become flakey after a period of *months.* One one case, it was unrelated to the mobo or the proc (bad fans) and so I am willing to discount it.
However, in the other cases, the computers would display really odd problems. Linux systems would reboot, Windows systems would blackscreen, etc. One thing all the problems had in common was this: I could not reproduce the problem in my office by plugging in the affected system in there.
I therefore concluded that the problem was that lower-end AMD-supporting Mobo's seemed to be skimping on capacitors, so that in some deployments, they would flake out when the power conditions were not exactly right. Note, replacing the PSU did not resolve the issue, but placing the systems on UPS's did.
LedgerSMB: Open source Accounting/ERP
I think it is really great when a CEO knows enough to have intelligent conversations with the engineers though. Economics and knowledge of the technology go hand-in-hand.
I have never met either CEO so I will pass on judging them.
LedgerSMB: Open source Accounting/ERP
Processor cores do not "talk" to each other on such a low level as to be affected one way or the other. Unless instructed otherwise with special fence, barrier, or lock instructions contemporary CPU cores do not order memory operations for the benefit of other cores at all.
The relevant design issue is where do you want to be on the spectrum of core complexity vs. number of cores. If you simplify the cores, you can fit more on a single die, but single threaded performance suffers. If you make the cores more capable, you can fit fewer, but single threaded performance improves. The first strategy befits busy servers, the latter strategy personal computers and workstations. Many workloads aren't effectively parallelizable, so anything reasonable that can be done to improve single threaded performance is usually effort well spent.
I remeber when I thought the Pentium Pro was a failure since it wasn't faster than the Pentium unless you recompiled and cost a lot more.
Maybe Epic has a future. But you did bring up one point. I would love to see a system like IBM used with the OS/400 become part of Linux.
The System 38/AS400 used an idealized ISA. When software was loaded onto the AS400 it was translated from that ideal ISA into what ever that machine happened to us for a CPU. That is how IBM managed to migrate from the CISC cpu of the System/38 to the Power based CPU of the AS400 without the users having any real issues.
If Linux ever got a system like that in place then what CPU you where using really wouldn't matter. Porting would be come a non-issue.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
There was no way to make the VIA KT133A systems stable. It wasn't AMD's fault. It's maddening too, because you can almost get them stable, but not quite. I had two different KT133A motherboards (one Tyan, one Asus), no difference. I finally replaced mine with a later KT (KT266A?) and it became stable.
Look up the problems with soundblaster sound cards, they exhibit the problem, but it wasn't Creative's fault.
I've had the same experience as you. I've alternated Intel and AMD, and except for the KT133A they've both been good. The Intels in general have been a bit more stable, but all have been okay except that one chipset.
I recently took apart my P3-1000. It was flawless and cool from day one.
http://lkml.org/lkml/2005/8/20/95