Itanium Update
NegaMaxAlphaBeta writes: "For those of you interested in Intel's Itanium 64 bit processor, EETimes has a nice update article to let us know what's happening with this beast. With an 8 stage pipeline, as opposed to the 20 stage pipeline in the P4, clock frequencies are obviously not as high (~1 GHz). Other notable numbers extracted from the article: 130 Watts power consumption, 328 registers, 6 MB of onchip L3 cache ... quite nice (well, not the power thing). I'm sure many people can appreciate 64 bit integer ops; for me, it means single instruction xor for the 64 bit hash codes used in chess transposition tables."
This thing is garbage. The power and the insane complexity of writing a decent compiler for its instruction set just makes me wonder what Intel were thinking. Not to mention the speed.
"Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
Did I read that right? 328 registers?
If that's what I think it is... that's an AWESOME improvement over previous x86 incarnations :-) Just imagine the extent of freedom your C++ compiler will have with register allocation ... this will cut down memory accesses by at least an order of magnitude!
Of course, this all depends on whether these registers are general purpose. They'd better be, 'cos I can't imagine needing 300+ registers for special purposes while still giving you the klunky ole EAX, EBX, ... & co. registers.
Poll Mastah
As someone with a few friends that recently made the move from Compaq's Alpha division over to Intel, what I'm most curious about is what revision of the chip will we see any improvements being incorporated from the Alpha design. I can't imagine Intel would want to let out any news on work that they bought instead of engineering themselves, but I think it'd be interesting to hear what exactly was directed ported over in the designs, if anything, as well as a detailed comparison of the two processors. Any info, anyone? Perhaps the second big revision of the IA64 chips?
Interested in open source engine management for your Subaru?
Right. And there's no indication that something similar will appear in IA64 until at least 2006 (which is the *earliest* that the Alpha team could likely add it to that complex - or if you prefer messy - an architecture if the hooks for it weren't already built in).
It's a weak second to SMT. With HT, as I understood it, if a processor happens to have a floating point op and an integer op on hand at the same time, it can run both of 'em at once, instead of sequentially. That's the limit to the HT magic. It can't do two FP or integer ops at once.
Well, real-world server applications could be sped up by 30%, which would mean that HT could execute multiple *non*-FP instructions at once (and the article doesn't say it can't, just that it can't execute two FP ops at once).
It actually seems to look quite a bit like EV8's SMT, except that we don't know if it currently adds more execution units to the P4 architecture and whether all execution units can be applied to service a single thread if multiple threads aren't present. And, of course, it only supports two concurrent threads rather than four.
Intel stole and then implemented Alpha technologies for its Pentium, and only much later did it negotiate with Digital to get the official right to use that stuff.
No: I'm assessing the situation, unlike your propensity for drawing conclusions based on vague speculation and no data.
IA64 has to all appearances been developed with zero attention paid to things like out-of-order execution (in fact, it was developed explicitly to *avoid* out-of-order execution). OOO and SMT are intimately intertwined in EV8's SMT design, and apparently also in HT's. There's no indication that Intel has until now given any thought toward incorporating SMT/HT technology in EPIC, and every indication that it will thus take at least close to 5 years before such IA64 technology hits the street (especially as incorporating it into EPIC will almost certainly involve radically different internal approaches than those used to incorporate it into EV8 and P4).
Shades of the whole 486SX debacle?
The way I understand it, Intel bought Alpha not to praise it, but to bury it.
What, me worry?
This isn't so much about the CPU itself, but the chipset it fits to:
The BIOS on all Itanium chipsets (AFAIK) are setup to have a small kernel onboard. I.E. - you can boot the system with limited funcionality even if there's no floppy, HDD, or other boot medium present. If you do have a filesystem present, the "BIOS-boot" will even give you access to it.
Not the biggest feature on the block but helpfull none the less.
I'm against picketing, but I don't know how to show it.
Anybody knows if Itanium or that 64-bit AMD processor will have better support for CPU virtualization?
I will now translate the thoughts of an average American regarding this article:
"Wow, a 64-bit processor with 6MB? I can finally have a computer more powerful than my N64! I hope it doesn't let little Billy access all of that satanic-internet-porn any faster, though...."
I would laugh if Intel eventually decided to sell these impressive-looking chips for desktop systems and had to do a big campaign about how clock speed is not terribly relevant to how the chip performs, in hopes of silencing Athlon owners saying "Ha ha, a whole Gigaherz!? How much did you pay?"
So when most people go out and buy a computer, they see a lot of mhz and think it's really fast. So if they're use to 2ghz+ pentiums, why would they even think of buying a 1ghz itanium? Sure, I know it'll probably be faster, but how does intel plan to market these? Will they also drop mhz ratings like AMD? Or will they go on some major re-educaiton campaign, like Apple?
F-bacher
James Tiberius Kirk: "Spock, the women on your planet are logical. No other planet in the galaxy can make that claim."
...the Itanium product line will see its speed increase from 800 to 1 GHz, which is half the frequency of the company's fastest 2-GHz Pentium 4....Intel contends, however, that the faster front-side bus, more on-chip memory and redundant logic resources will more than make up for the processor's lag in clock speed.
We can only hope that this chip helps the media away from using clock speed as the primary (often only) measure of performance.
for ((...) i++) is just WRONG. The proper way to do it is for ((...) ++i). The other way is both less effecient, and it makes it seem as if you need the original value of i for some special processing, while in fact you don't.
Bjarke Roune
for me, it means single instruction xor for the 64 bit hash codes used in chess transposition tables
Watch where you say that, or you'll be using that nifty Itanium to repel the hordes of women instinctively flocking to you like the salmon of Capistrano.
Is anyone else so completely stunned as me, that essentially everyone (except AMD) has rolled over and allowed the IA64 to be crowned heir apparent as the new high-end microprocessor? The Alpha is dead by acquisition, HPPA is dead by partnership, MIPS is lost somewhere in the low end, and Sparc and Power4 are both retreating upstream.
It's amazing that ANYONE can field the number of mistakes that Intel has, and get away with it. For some time now, their first-outs have been essentially flops:
Pentium: Remember the 5V room heaters?
Pentium: Then the 3.3V units with floating point bugs?
Pentium Pro: The ancestor of the Pentium II/III line was a good CPU in its own right, and worked well for Unix and OS/2. But it completely missed the market, performing terribly on 16 bit code.
Celeron: DeCeleron, until they put the cache back on. From another point of view, the whole Celeron program has been a disaster, either by its own crippling, or by revealing how overpriced the PII/PIII line is.
Pentium III: CPUID - A 'workstation idea' that once again missed its market. Maybe if they'd found a way to node-lock software that can't be used for machine tracing. Maybe that's not what they were after.
Pentium 4: Let's face it, this CPU is just plain uneven and imbalanced. After a round of redesign to even it out, just like with the others, it could very well be an excellent CPU. Tame the prefetch, expand the trace cache, etc.
Itanium: Didn't even make it out the door before spin-doctoring began. "Just wait for McKinley!" I've already heard one set of rumors that McKinley isn't going to *really* do it either, so just wait for IA64-III.
Is all this any better than the "Just wait for this new release!" that Microsoft keeps pulling? Though I guess Intel does generally get each family right on the second shot.
AMD has a good product, I just wish they were a little less mum, and had a better response than warmed-over P-numbers. I also wish we could hear a bit more noise about the Hammers.
The living have better things to do than to continue hating the dead.
The article states that the Itanium pulls 130 watts of power. That seems rather high, even for the space heaters that we like to call cpu's nowadays. Is the Itanium using the new all-copper .13 micron process, or an older technology?
(bolding is my emphasis)
To protect against heat-related system meltdowns, McKinley includes a programmable thermal trip that can throttle processor performance by 40 percent to cut power consumption. But the company sees that more as a safety net, not as an answer to thermal issues. "This should never be needed in a properly designed system," said Naffziger.
Apparently you're not familiar with VLIW processor design. It's not "throwing it off" to the software guys because it's too difficult to implement. It is dramatically reducing the complexity of the pipeline, thereby increasing throughput by orders of magnitude (see CISC vs. RISC).
And the compiler has far *more* information than the runtime hardware has. The scheduling hardware is only capable of looking a few instructions at a time to decide how to enhance ILP, whereas the compiler by its very nature has access to the entire program at once, and can perform optimizations not possible in hardware.
This is further enhanced by a development cycle that includes profiling. As you use the program during development, the compiler can use the same profiling information that is used to "manually" optimize code to perform its own optimizations. With an advanced OS, this become extremely powerful, as some of the registers on the processor actually keep track of profile data at runtime. Then, during page swaps to/from virtual memory, the processor has the opportunity to dynamically optimize and recompile the code.
Funny how identical code
; 6 : for(i=0;i<10;i++) j+=1;
00006 c7 45 fc 00 00
00 00 mov DWORD PTR _i$[ebp], 0
0000d eb 09 jmp SHORT $L468
$L469:
0000f 8b 45 fc mov eax, DWORD PTR _i$[ebp]
00012 83 c0 01 add eax, 1
00015 89 45 fc mov DWORD PTR _i$[ebp], eax
$L468:
00018 83 7d fc 0a cmp DWORD PTR _i$[ebp], 10 ; 0000000aH
0001c 7d 0b jge SHORT $L470
0001e 8b 4d f8 mov ecx, DWORD PTR _j$[ebp]
00021 83 c1 01 add ecx, 1
00024 89 4d f8 mov DWORD PTR _j$[ebp], ecx
00027 eb e6 jmp SHORT $L469
$L470:
; 7 : for(i=0;i<10;++i) j+=1;
00029 c7 45 fc 00 00
00 00 mov DWORD PTR _i$[ebp], 0
00030 eb 09 jmp SHORT $L471
$L472:
00032 8b 55 fc mov edx, DWORD PTR _i$[ebp]
00035 83 c2 01 add edx, 1
00038 89 55 fc mov DWORD PTR _i$[ebp], edx
$L471:
0003b 83 7d fc 0a cmp DWORD PTR _i$[ebp], 10 ; 0000000aH
0003f 7d 0b jge SHORT $L473
00041 8b 45 f8 mov eax, DWORD PTR _j$[ebp]
00044 83 c0 01 add eax, 1
00047 89 45 f8 mov DWORD PTR _j$[ebp], eax
0004a eb e6 jmp SHORT $L472
$L473:
is less efficient. Perhaps you need to get a decent compiler.
Could it be that Intel(tm) is learning that it's not how long your pipe is but how you use it?
To: bs@resaerch.att.com
C++ is just WRONG. The proper way to do it is ++C. The other way is both less effecient, and it makes it seem as if you need the original value of C for some special processing, while in fact you don't.
Yes, any decent compiler will perform this optimisation. In C there's no difference, because you're not using the value of the expression. In C++ 'i' could be of a class with an overloaded operator++(int) which would involve creating a temporary. It's not always possible to optimise that away.
What??? That's totally false, not to mention counter-intuitive. The whole reason for the shorter pipeline is to increase throughput. Think of Henry Ford and the classic assembly line. If you have stages that involve scheduling instructions to be fed into different (parallel) pipelines, as opposed to DIRECTLY COPYING instructions from cache into the appropriate pipeline, which do you think should be faster?
My god. I'll never learn assembly on a modern chip. I tried on the 386/486, but gave up, and opted for the 65c02 (a fine little chip). I'm getting to the point where it's time to move on, and I was going to attempt the 68k or even PPC (no altivec though). I think I might actually manage to learn that, but I can't even begin to imagine 328 registers. Especially arranged the way intel tends to arrange them...
Will anyone outside of cpu engineers and compiler authors even learn asm on this monster? Or have we truly moved past the point where programmers understand the cpu?
From Knuth's rng-double.c:
.]
.]
/* This program is copyright (c) 2000 by D E Knuth;
[. .
for (j=0;j<KK;j++) aa[j]=ran_u[j];
for (;j<n;j++) aa[j]=mod_sum(aa[j-KK],aa[j-LL]);
for (i=0;i<LL;i++,j++) ran_u[i]=mod_sum(aa[j-KK],aa[j-LL]);
for (;i<KK;i++,j++) ran_u[i]=mod_sum(aa[j-KK],ran_u[i-LL]);
[. .
A hundred and thirty watts?!? For just the chip?
Holy frickin' crap! I've got whole computers that use less juice than that!
"I'm sorry, sir. that 400 watt power supply is insufficient to run your new Itanium. You will have to buy at least a 1.2 kilowatt power supply..."
SIGFEH
Damn, I guess a large scale SMP machine will be dual use convection oven then. Oh wait, by the time I add in FSB buffering and memory maybe that will be true of the workstations :-).
I think I've figured out what the whole 64-bit thing is about. It means that each instruction (right term?) has more capacity to carry data. This doesn't necessarily mean that it will be twice as fast, of course, because not all instructions are that large.
What I'm confused about is how it affects programming. Does this mean that everything will need to be optimized for you to take advantage of the higher bitrate? How will programs that are written for 32-bit systems handle it; can they handle it? How about backwards compaibility?
Do any other people read these sort of threads even though they know that it will be over their heads most of the time?
--Kintara
"6mb onchip L3 cache..." == good news for lazy programmers.
--
silence is poetry.
for me, it means single instruction xor for the 64 bit hash codes used in chess transposition tables
Try PXOR in the MMX instruction set. It's been there for years.
186,282 mi/s...not just a good idea, its the law!
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
I received this from one of my intel comrades which was sent to all of the intel eployees.
Speed is important. On Monday, Intel launched the Intel® Pentium® 4 processor at 2 GHz. Tuesday, during his keynote atthe Intel Developer Forum, Paul Otellini, executive vice president and general manager, Intel Architecture Group, demonstrated a processor operating at fully 3.5 GHz.
But that's not the half of it. Otellini went on to note that the Pentium4 microarchitecture is expected to scale to a whopping 10 GHz.
Now that's a "Wow!"
But, exciting as speed is, it isn't everything. While it is important,"it is not sufficient to drive the levels of growth and innovation that will allow our industry to prosper," Otellini said.
Speaking before an audience of 4,000 developers, designers, and executives Tuesday, Otellini noted that as the computing industry has grown and new technologies have evolved, purchasing criteria are changing. "We all need to change the pattern of our investments," he cautioned the crowd. "We need to think beyond gigahertz and build substantially better computers."
Buyers now look to a variety of features, noted Otellini: style, form factor, security, power consumption, reliability, communications functions, price, and overall user experience. Combinations of these and other features are driving end-user technology requirements in individual market segments. Intel plans to develop technologies that will help address these changing requirements in each of the key market segments.
Here are just a few of the ways Intel plans to go beyond gigahertz, as Otellini revealed in his keynote address:
It's like multiple processors on a single chip
Otellini introduced the audience to a breakthrough in processor design called hyper-threading. This technology allows microprocessors to handle more information at the same time by sharing computing resources more efficiently. The technology provides a 30 percent performance boost in certain server and workstation applications and will first appear next year in the Intel® Xeon[tm] processor family.
This makes me wonder, how many Crusoe processors could you put in a box (all other components equal) and equal this power consumption? Would the performance of such a box meet or exceed the performance of an Itanium box for real-world servers?
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
Thanks for the answers
It is designed for servers, and possibly extremely high-end workstations.
Besides, if there had indeed been different code generated, that'd be a typical example of a situation in which you should fix it in the compiler, NOT in the code.
-- Cure for Cancer instead of SETI! (only w32 yet - mail and beg)
It is dramatically reducing the complexity of the pipeline, thereby increasing throughput by orders of magnitude (see CISC vs. RISC).
Brought to us by the same people that told us the big pipeline would solve all our problems and that RISC was a deadend, that bought up and squashed the ARM, that thought that no one would need more than 8 registers or 640K of memory and all the other crap Intel have spouted since it invented the 4004 and then proceeded to get everything else wrong.
Intel has spent the last twenty years proving how little it knows and how much it depends on MS for a free ride onto the desktop.
TWW
"Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
Why, except perhaps that it seems a bit like wasted effort to check for accesses.
It's only a few gates, and it can help spot bugs earlier.
Why would you want a /dev/null in asm?
Not /dev/null but /dev/zero. For example, MIPS doesn't have "load immediate" but does have a 3-way "or immediate", ori r16, r0, 3, which loads register r16 with 3 ORed with the value in r0. It also removes the need for a 'negate' instruction, as sub r16, r0, r16 will negate r16.
Will I retire or break 10K?
With an 8 stage pipeline, as opposed to the 20 stage pipeline in the P4, clock frequencies are obviously not as high (~1 GHz).
...6mb of on die cache...
This beast has a small wang... its not the size that counts, but how you use it. (no giggling from the girls damn't)
130 Watts power consumption...
Who needs space heaters anyway?
OY! Hold your wallet tight, not for the light bank accounted!
I'm sure many people can appreciate 64 bit integer ops; for me, it means single instruction xor for the 64 bit hash codes used in chess transposition tables.
Not quite what the intel boys will be using in their next commercial. However, the wizards in marketing will be stressing the enhanced features of porn browsing. The fourth blue intel commando will be a scantily clad woman... further emphasizing the need for this processor which will not just make the internet faster, but will speed on your favorite pron sights.
"You should always go to other people's funerals; otherwise, they won't come to yours." -- Yogi Berra
So where do I download a free reader that runs on Linux for that file of binary garbage?
now we need to go OSS in diesel cars
Hmm, maybe the cases with redundant power supplies will find a slightly higher market now. One for everything except the processor, and one for the CPU chip itself.
!!!
And my 750-Athlon runs hot as it is.
J.Koebel
Actually I am very familiar with VLIW and I suggest you read up on some of the comments by the Alpha development team on Merced. You clearly need a second viewpoint.
;)
.C file for their entire project. Opting rather to make many .o's and link them together. The linker typically does not do optimization. The compiler attempts to, but often assumes uniform memory access latency (the linker typically decides the memory map).
You're saying the compiler has knowledge of registers, and what branch will be taken? Further you're saying the compiler has knowledge of the *current* memory structure? Latency of a particular memory fetch/store (whether the data is in L1/L2/L3/L4/L5 memory?). When DRAM refresh is going to hit (if ever). Or that an interrupt may come in randomly.
All this info is VERY useful for the processor to reorder its instructions to avoid a pipeline stall. But of course, you'd say the compiler knew all this detail ahead of time - right?
Further, the compiler typically does NOT have access to the entire program at once. Many, many programmers do not have one huge
And i'd really prefer to avoid optimized recompiles during VM page swaps. They take long enough as is. And really, on a decent system - you shouldn't be paging!
Tom
Simplicity is the correct answer, Intel clearly didn't understand the question.
That's assuming they were listening in the first place.
If Intel had big plans for the long run, they'd create a "simple" processor, let's take the original Pentium as a bad example:
Add MMX. Customers upgrade.
Change processor form factor. Upgrades galore.
Add SSE. More upgrades.
Change proessor form factor again. Upgrade.
Change form factor, add SSE2 and slap on a few marketing terms. Further upgrades.
The advantage is each time you can say the processor is "new and improved" so people will buy new ones. Does it really matter that a Pentium III 600 is more than enough power for 90% of computer owners? Of course not.
What makes me laugh, though, is how Intel switched to the Slot 1 form factor so it would be easier for customers to install processors (how often does that really happen?) and then switched back. I'll bet they were planning it all along.
Apparently, this poster things that cutting edge designs get written at the moment of their release.
A deep unwavering belief is a sure sign you're missing something...
But I don't really want a P4, the Itanium definitely isn't for what I do, and I have never really been an AMD fan, I just don't know their stuff. So where is Intels next chip for ME?
You seem quite adamant that your next chip should come from Intel, and one of the reasons you give is that you don't know much about AMD. So why don't you look into AMD, and learn their stuff? They really are a great company and right now their 1.4 GHz Athon runs just as fast (or faster) than a 1.7 Ghz P4. The Sledgehammer chip will have a mode for backwards compatibility with x86, use 64-bit instructions and you can be sure that it will run cooler and faster than anything Intel will put out at the same time.
Remember "Bring 'em on"? *sigh
You're right, I had a brain blip on that. I meant PSN instead of CPUID.
I merely wish they had looked into some PSN-type technique that would let software be nodelocked without being usable for tracking. I don't believe PSN must be bad, at least not to anyone other than a fanatical Free Software type, who believes NO software should need to be paid for. I'm sure a technique can be used which will not alarm privacy advocates.
The living have better things to do than to continue hating the dead.
Switching is usually at around 100Hz. 100 * 3072 bytes = 300KB/sec. This is a relatively small cost and should hit L1 cache the vast majority of time. It does effectively knock 3KB out of the L1 cache.
I'd guess that the Itanium CPU has some scheme to reduce register swapping on context switching. I can instantly think of at least one way - having "dirty" bits for segments of the register set, so it can be broken into, say 32 register chunks. I'll have to grab the tech ref manual at some point.
So, by the way that's phrased, either you have no idea what the number of bits per instruction has to do with anything, or you're dumbing down your language because you think the rest of Slashdot doesn't.
"G4 has 128 bits in it! Bits make computer go fast! Bits good!"
Win dain a lotica, en vai tu ri silota
In an assembly line, say there are 21 screws to put in. If each step has one person inserting 3 screws, it will take 7 steps to do it. Now if each step has one person inserting one screw, it will take 21 steps, but each step can go three times as fast.
And you lose time while the work is moving to the next person.
In the first case you would have 7 people, in the second case you would have 21 people (stages), but you could do three times as much work per unit time.
Not necessarily. Call each insertion of a screw (or each layer of logic) a "puff" and moving the work to the next worker (or setup and hold for flops between pipeline stages) a "give." If a give takes a significant amount of time, fewer puffs per give can actually bog down performance. No matter how long a puff takes, the slowest worker's puff-puff-give time (or "critical path") always determines the clock frequency of the processor.
Will I retire or break 10K?
The thing sucked eggs, and I threw the motherboard in the trash and used the CPU as a paperweight.
At some stage, I needed a faster CPU, needed a motherboard to go with it, so I made the jump to a PentiumIII/450. I needed to revive my firewall, so I bought a decent ASUS 486 mobo at a fair. On a hunch, I put my paperweight AMD133 in. I was pleasantly surprised, and I only replaced the thing when I got a real cheap 300MHz Cyrix mobo.
Bottom line, it't the motherboard (or rather the chipset on it) that makes or breaks the CPU. I'm now running an ASUS A7V-E with a 1GHz Athlon, and I've been a happy camper. I'm not an overclocker (matter of fact, I underclock some machines just because I don't need CPU power for other things than video recoding, and some machines are on the other end of the globe, so I don't want to lose sleep over fan failure).
My main gripe with the VIA KTA133 chipset is the fact that I have to sign a $#@#%$#% NDA to get decent specs on it. FreeBSD doesn't seem to grok its I2C based hardware monitoring, and without those docs I'm SOL. Apart from that, it's working great. Even under Carmageddon^WWindows.
Bert Driehuis -- All I asked was a friggin' rotatin' chair. Throw me a bone here, people.
Why do I have visions of new computers plugging into a 230V AC socket, like dryers and ovens? 130 watts an awful lot of juice when you consider most power supplies only put out around 5 volts DC or so.
For those that don't remember their EE or physics courses: watts = volts * amps. And one amp through your torso is enough to kill just about anybody.
http://rcommerce.us.dell.com/rcomm/config.asp?orde r_code=H1054&conum=70&ConfigType=3
Check out the choices of Operating System.
And no, I haven't called to see if they're shipping today.
Needless to say, this great concept had gone to the dogs before the first consumer laid his/her hands on the device. Oblivious to the CPU design, a major manufacturer of operating systems (we called them BASIC interpreters at the time, by the way) has decided that most of page zero should be allocated to the OS^WBasic interpreter. I'll leave it to our hidden conscience to name the prepretrator of this gruelsome mistake.
I have long grown over the idea of using assembly as a faster programming language. The number of times I beat an assembly program with something hacked up in Perl, I don't even want to remember. Not because Perl is the best thing since sliced bread, but because humans are so poor at dealing with complexity. Get it working first, and leave optimization to the compiler. Then, if you have a bottleneck, analyze it, and fix the bottleneck in a targeted piece of code (whether C, or assembly, or something else).
Bert Driehuis -- All I asked was a friggin' rotatin' chair. Throw me a bone here, people.
Intel remembers history...
Remember when Shurgart made the best drives in the world? Someone pissed off a bunch of engineers and they founded Seagate. Where is Shurgart now?
Kind of like the P4 case with the special bolts to hold up the cpu, the Itanium is going to require a special case with a lightning rod to provide the 130 jigawatts.
It's actually funny that you mention that; Intel bought them so they can replace the VAX's they use in factories, which in turn will be replaced with Itanium/McKinley once someone can write an OS that can support a fab (like VMS). I hate VMS, but point me to an OS that will run on anything non-DEC or non-IBM under-run (and don't mention Solaris, because it WON'T do it...), and be able to support the fabs and everything that is tied to them (WIP movements, billing, shipping, ordering, cross-site processing, etc.).
Heck, if I just bought myself a $3K CPU I would not want it melting down either.
Michel
Michel
Fedora Project Contribut
> Having more data at compile time does not
> preclude having the same branch prediction and
> memory access data in hardware, as you imply.
> Itanium still has the ability to do branch
> prediction and handle memory latency the same as
> any modern processor.
No, it does not. In the quest for increased scalability they threw out "out of order" execution. All instructions must retire in order. This cripples its ability to tolerate unpredictable memory latencies.
> It's not "throwing it off" to the software guys
... or whatever improvements there have been are trashed by other problems in real-world applications.
> because it's too difficult to implement. It is
> dramatically reducing the complexity of the
> pipeline, thereby increasing throughput by
> orders of magnitude
That's what they say, yet somehow decreasing the complexity of the pipeline hasn't produced many benefits in practice. The clock speed is low and the throughput (as measured by benchmarks) hasn't increased by orders of magnitude
> The scheduling hardware is only capable of
> looking a few instructions at a time to decide
> how to enhance ILP
This is quite false. Modern CPUs can have over 100 simultaneously executing instructions in flight. Furthermore modern CPUs take advantage of hardware such as branch predictors which records information on hundreds or thousands of instructions in order to make better execution decisions.
Profile-based optimization is a cool idea in theory but despite decades of research, it's seldom used. I suspect that one reason why is that (in C programs) reoptimization can reveal bugs in your code that were previously hidden (like an uninitialized variable that, by luck, always happened to be zero when the code was optimized a certain way). People don't like it when their system suddenly starts exhibiting new bugs that no-one else can reproduce.
From what I've heard from a friend who's gone from DEC to Compaq to Intel, they're mostly interested in the memory subsystem and the bus. The moveover from "Alpha" to "Intel" is supposed to take a while though. He says that one more release of the Alpha is going to be made, a few minor revisions, and then no more. The whole Alpha team will be engulfed by 2007 (I think?), but gradually.
One can hope that one the first subteams to move over is whoever designed the Alpha bus. It might be a bit more expensive, but it's better than that POS that Intel is currently using.
I'm finding it a little scary that all of the people I know who really disliked Intel are now working for them. Alpha just plain got bought, and everyone I know at HP is helping with McKinley. Freaky.
Wrong. Good news for data intensive apps that tend to read a lot of the same data (say, database indexes) from memory. Cache doesn't have a whole lot to do with "lazy programmers" other than allow code and data fetching to occur faster (especially in loops or, in this case, larger loops, I'd imagine).
All I know about Bush is I had a good job when Clinton was president.
Alan Shurgart (the man credited for creating the floppy drive) left Shurgart Associates in 1974 due to a dispute about the direction of the company.
In 1979, Finis Conner (who later founded Conner which was bought by Seagate) approached Shurgart to develop 5 1/4" hard drives and the two founded Seagate.
I believe Shurgart Associates was purchased by Xerox around the time when Seagate was founded.
The world is neither black nor white nor good nor evil, only many shades of CowboyNeal.
If you want to know why this is off topic look up the specs of an UltraSPARC III or POWER3 processor and figure out how many watts of power they each up. An Itanium is right up there in line with them. A bajillion registers and 6 megs of on chip cache lends to sucking down a whole bunch of amperage. It isn't like Athlons plus the Golden Orb fan you've got on top doesn't suck down its fair amount of power.
I'm a loner Dottie, a Rebel.
regarding means single instruction xor for the 64 bit hash codes used in chess transposition tables
Some of 64 bit operations are already possible with MMX.
PXOR instruction in the MMX set can xor 2 64-bit numbers.
Intel is finally letting its vendors get into the REAL high-end games. I'm curious now to see how Itanium fares against both the USPARC3 and POWER3/4 in real world performance. Does Intel really have a chance here by deviating from the RISC-like quo of the market? Well I suppose Intel will only be making the chips and everyone else will be building the boxes. This raises another question; what are Sun and IBM going to do to compete? Sun and IBM are both in charge of production of their high end chips and thus have fairly fine control over the margins. Other OEMs on the other hand like HP and (let's say) Dell are getting their chips from an outside producer whose producing them in much higher quantities than IBM or Sun. This puts Intel in the position of eventually cheapening their chips enough to where HP and Dell can undercut Sun and IBM in price/performance. So anybody have access to a high end workstation they can jam a Red Hat install onto for a little for some Mindcraft style tests? Mindcraft in the sense they are simulated real world tests as opposed to pure benchmarking.
I'm a loner Dottie, a Rebel.
Well, you're reading a lot into the comment there. The speed of a system depends on so many factors, it's amazing that you can even compare across systems.
Rather than extolling the virtues of bits per instruction, the post we're both replying to is actually being skeptical about the whole BPI/Megahertz thingy, and adding a parting shot about how he loves his Mac.
(BTW, I love my Mac, too, mainly because Apple has managed to make a system that actually lets me get things done without a hassle. It's this foresight in the architecture that lets my old 200Mhz 604e keep on trucking as a productive workstation!)
Yup, exactly right. It means that the CPU tends to deal mainly with 64-bit (8 byte) chunks of data at a time, instead of the more common 32-bit chunks. As far as programming goes, not everything needs larger instructions. For example, to program a user interface, 32 bit integers are quite sufficient for most purposes (unless you have over 4 billion items in a listbox or something). If you only need to store a number from 1 to 10, using 8 bytes instead of 4 is a waste of memory. (This happens a lot.) However, it is useful for many operations, such as multimedia, games, DSP applications, crypto, etc. etc. These applications would run faster on a 64-bit processor because they can use 1 instruction to manipulate a 64 bit number instead of 2 or more that are necessary to do the same thing on a 32-bit processor.
The other reason to use 64-bit processors is that it makes it easier to use 64-bit memory addressing. (For various reasons, it's a little easier to program if memory addresses are the same size as integers.) If you have more than 4 GB of RAM, (or you want more than a 4GB address space more precisely) then you need larger pointers. At the moment x86 programs use 32 bit pointers, but the Pentiums and above actually have 36 address lines, so they can use up to 64GB of RAM. Anyway, a 4 GB address space will be fairly cramped in about 10 years, so it's time they bumped that up a bit.
Intel has an emulation mode in the IA-64 series to allow people to run existing 32-bit programs, but at the moment it's dog slow. (It runs at about the speed of a Pentium 133, if that, when the processor is running at around 700 MHz.) The IA-64 architecture is completely different from the current IA-32 (x86) stuff. I get the impression that the 32 bit emulation doesn't use as many tricks as the existing processors to get programs to run faster. They're also overhauling the motherboard/BIOS stuff that's been around for a long while. (Some of it since the original IBM PC.)
Of course, just because a processor can do 64-bit operations, it doesn't mean that it's actually faster than its predecessors. For instance, IA-64 has a few weaknesses:
- It doesn't have an integer multiply instruction. You have to convert to floats and back if you don't want to program the multiply using shifts or something.
- It doesn't support a floating-point type with better precision than 64 bits (called "double" in many programming languages). This makes it unsuitable for high-precision calculations. Current IA-32 chips can use up to 80 bit floating point values.
- Intel seems to have tried to include every feature (except see above) but the kitchen sink in the instruction set. Loads of processor hints about instruction grouping, branch prediction, cache hints, and heaps of other stuff. This makes quite a complex design that could be difficult to implement and write really good compilers for. (Then again, Intel could always sell their own...)
- And all of the space-heater comments.
Anyway, it remains to be seen what effect the above points will have on its acceptance.Backwards compatibility did not require the retension of a tiny register set (no general purpose registers - Jesus Christ!) and was a fairly bogus concept anyway when the 386 came in.
The 386 family is a bad design and if you'd ever programmed it you'd know. There is nothing good about the design.
TWW
"Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
Intel stole and then implemented Alpha technologies for its Pentium, and only much later did it negotiate with Digital to get the official right to use that stuff.
Nope, this one is definitely a bad line. The story goes back into the midst of time but what actually happened is rather confusing: at some point Digital sued Intel for patent infringement and everyone started shouting "Pentium copies Alpha". The apparent truth as told by a Digital chap to me at the time is that the VAX CPU cache design was copied in the Pentium Pro.
Digital sued and the settlement was that Digital sold its networking division to Intel for an undisclosed but not trivial sum and an oldish fab (with outdated lithography equipment) and they left it at that (including the fact that the PPro line was EOL'd). This is why the old DEC Tulip network cards started appearing as Intel parts.
--Arrigo
Actually all processors retire instructions in order... just some of the execute them out of order...
I must burn in hell, suffer and pay for my sins
But Gods the one who's losing, Satan always wins!
if you dont have the cash for the kilowatts,
Dude. 130 watts of power dissipation. My 17" monitor only draws 125 watts. What's the surface area of the packaged chip?
Forget the old 5V Pentiums (P60/66) being nicknamed "coffee warmers". They were known for all sorts of overheating problems, but they only drew 3.2 amps at 5V. P = I x E = 3.2 x 5 = 16 watts of power.
I could use one of these new chips for the heater in my backyard foundry.
There's soon gonna be a boom market for tungsten and ceramic heat sinks.
Sheesh.
Fire and Meat. Yummy.
I'm sure many people can appreciate 64 bit integer ops; for me, it means single instruction xor for the 64 bit hash codes used in chess transposition tables.
Yes, 64-bit operations have a handful of general uses, but when you weigh the benefits against the huge increases in transistor count, power consumption, and memory usage, are they worth it? I argue that they aren't. Doubling the size of almost every unit on the chip is a steep price to pay.
There is a famous naysayer who pretends that IA-64 is doomed to be an underperformer. The problem with this naysayer is:
His name is Alan Turing.
I'll shamelessly quote myself here. Here's an excerpt of an article
in The Register in which I said:
I'd gladly be proved wrong. Can someone please tell me why Turing
is wrong and Intel right? Or is Intel fighting an uphill battle
against Uncle Alan's laws?
--
Mad science! Robots! Underwear! Cute girls! Full comic online! http://www.girlgeniusonline.com/
The Itanium is not a clear replacement for the x86 line by any means. If we're going to toss the x86 architecture completely, then there are lots of options: PowerPC, StrongARM, Alpha, SPARC, something else. Now switching the entire PC world to a SPARC chip sounds crazy, but it's not any crazier than switching to Itanium.
For the record, Intel has cooked up x86 "replacements" before, like the i860 and i960.
I pretty much agree with everything doug363 said. I'll sum it up: Bigger, not faster. The difference between 32-bit and 64-bit chips is the chunks are bigger. If a 32-bit chip is juggling tennis balls, the 64-bit chip is juggling softballs. In a given amount of time, both chips toss about the same number of balls; the 64-bit ones just represent bigger numbers. That's it.
You can do 64-bit computation with a 32-bit chip, but then you _do_ take a huge performance hit. If you're not trying to fake a 32-bit processor into doing 64-bit computation (i.e., you're programming each processor in its native mode), then from the programmer's perspective it's exactly the same.
If it sounds like I'm trying to downplay the benefit of 64-bit chips, I am. The only time you benefit from a 64-bit architecture is when you need to use really huge numbers (e.g., scientific or cryptographic computing) or access really huge data (e.g., databases and suchlike).
Fortunately for makers of 64-bit chips, there are a lot of scientists and databases out there.
Ever read "Soul of a New Machine"?
One goal of the protagonists was to have the architecture extensions be clean, and if there was a wart, it would be the legacy part. After this topic came up, I took a quick look at some X86-64 stuff, and it looks as if AMD may have done just that. The 8 new GPRs are really GPRs, and I suspect the whole batch of 16 64-bit GPRs really are GPRs. It may be a cleaner 64 bit machine than it was 32 bit. I hope so.
Actually, I had to learn 8080 pretty thoroughly in college, learned a fair amount of 8086, less 80286, and by the time 80386 came around, was pretty well esconced into HLLs. So I can't speak very authoritatively on that side of it.
The living have better things to do than to continue hating the dead.