Intel's RISC-y Business
Esther Schindler writes "With the Xeon 7600 line, Intel is finally using the 'R' word: RISC. With the new chips, Intel is targeting the mission-critical market dominated by Sun SPARC and IBM Power, a first. Can the Xeon E7 processor deliver Intel's final blow to the RISC market, which includes its own Itanium? 'With the launch of the E7 earlier this year, it seemed Intel was finally ready to make its final push, calling out RISC by name. "The days of IT organizations being forced to deploy expensive, closed RISC architectures for mission-critical applications are nearing an end," said Kirk Skaugen, vice president and general manager of Intel's Data Center Group, in a statement announcing the E7 line. Bold words.' Andy Patrizio interviews several experts; what do you think?"
What the hell was the i960 then? Meatloaf?
---- Booth was a patriot ----
Just have to point out, Itanium is absolutely NOT RISC in any sense of the word. Other than that, it is rather unfortunate that Intel has the most money to develop new processes (i.e. die shrinks), because the actual Intel instruction set is quite inelegant, both from a programmer standpoint, and from the standpoint of implementing it in silicon. I can't argue with overall performance, if Intel tops performance than that is that; but, the fact of the matter is that any of these RISC designs (Power, Sparc, the PA-RISC, Alpha, ARM...) would clean Intel's clock if they had access to the type of processes Intel does.
Lather, rinse, repeat, profit? and yawn!
The summary stinks of spam with content-free verbiage.
Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
Because it's EPIC. I guess you could argue whether having multiple fixed-length instructions is "different enough" to justify calling it something different, but Intel's marketers (and at least some of their engineers) thought so.
Those who fail to understand communication protocols, are doomed to repeat them over port 80.
Itanium is not RISC in any sense of the word. It's pretty much the exact opposite of RISC - instead of using small, simple operations, it uses massive, complex instructions, often ones that produce multiple effects (most words produce three logical instructions).
(Note for the acronym-deficient: RISC == "Reduced Instruction Set Computing", VLIW == "Very Long Instruction Word")
It's definitely a RISC processor set... the problem with the Itanium was the EPIC instruction set. A complete waste of time, as the compiler is asked to generalize decisions about the thread and multi-core state of the machine during program compilation.
I mean... who the hell thought that was a good idea? It makes for a nice benchmark, but a terrible architecture. Bring us back the Alpha chip... make it a 64 core monster.
I said no... but I missed and it came out yes.
I'd say it qualifies as both RISC and EPIC/VLIW. It fits both categories. They aren't mutually exclusive.
Ehhh? The summary seems a little cockeyed. Does anyone on /. really believe this is the first time Intel is using "the R-word'? Intel has been positioning its chips against RISC for ages. Yes, in the past it was using Itanium as its "high end" chip, because it was more directly competitive with IBM's and Sun's offerings (and it probably had bigger margins). But here's an article from 2004 which claims "Intel markets the [Itanium] chip as a replacement for RISC processors from companies like Sun and IBM" -- pretty much exactly what the summary is claiming is "a first" here.
If anything, Intel has chosen not to throw around a lot of rhetoric about x86/x64 as a replacement for RISC servers out of deference to its partners. Back in 2007, you will recall, Sun started marketing x86 servers in addition to its RISC product line. How would it look if Intel went around claiming x86 was a replacement for Sparc servers? Intel left it to Sun's marketing to clarify where it saw its x86-based products in comparison to Sparc. Similarly, around the same time HP was putting out x86 and Itanium servers -- Intel wasn't going to muddy the waters there, certainly.
On the other hand, Red Hat and Dell would certainly talk about Linux servers (read: x86) as replacements for proprietary Unix servers (read: RISC). So it's certainly not like this is the first time anyone floated the idea, and it's certainly not like Intel has backed off from competing with RISC at any point in the past, no matter which component gets positioned against RISC chips.
Breakfast served all day!
RISC architecture is gonna change everything!
I'm still waiting for the P6 chip. Triple the speed of the Pentium. With a PCI bus, too.
geek. lawyer.
I'd say that Intel is playing pure weasel-words with their "expensive, closed, RISC" line...
Are most of the Big Serious Iron RISC/*NIXes available from only a single vendor, often one with rather predatory pricing philosophies? Yeah, arguably so.
However, x86-with-Serious-RISC-level-RAS-features isn't exactly a vibrant competitive market... It's pretty much Intel and, um, *crickets*...
The low end of x86 actually has a number of weirdo 3rd parties, in addition to the big two, the middle of the market is a duopoly, but a pretty feisty one; but x86 high enough to compete with the classical serious RISC stuff on its own ground(as opposed to on the grounds of architectural changes that favor big clusters of expendable servers) is basically a single-shop thing. AMD has some pretty decent x86 servers; but Intel is the one bringing the itanium RAS stuff down to their Xeons.
Arguably, the lower end of RISC is substantially more competitive than that of x86: there are some huge number of ARM licencees, a whole bunch of random MIPS stuff floating around, and so forth. Only the middle-performance area, which is an effective duopoly(VIA? right...), but a pretty cutthroat one, where most people find their price/performance sweet spot, really makes x86 look like a competitive market at all...
This is hardly the first time intel has used the 'R-word' in marketing of Xeons.... Article brings nothing new to the table, hell this has been the Xeon marketing campaign for a decade...
Remember all those slow, complex, cumbersome instructions from the 80x86, they're still around, just moved to microcode while all the simple stuff is implemented using the same techniques pioneered by RISC designers. But since this is a server, you're probably running x64 code, which was designed to be much more RISC like in the first place.
So, I guess the real message is "Replace your non-Intel based RISC systems with Intel based RISC systems. But wait, don't answer yet! As an added bonus, Intel chips have extra hardware added so they can run all your old x86/CISC code too, that way we can pretend they're not RISC systems based on the AMD designed x64 instruction set."
make imaginary.friends COUNT=100 VISIBLE=false
The 64-bit x86 machines have been eating away at IBM's, HP's, and Sun's market share for years. Partnered with a good Linux distribution and VMWare, they're more than capable of taking on "the big boys."
Oracle/Sun has been resting on their laurels for far too long. Time will tell whether Oracle manages to plug the holes in that sinking ship.
HP's Itanium boxen have never had significant market share.
That leaves IBM. And IBM doesn't sell you just a POWER based system -- they sell you the whole suite of applications, support, and data center integration. They maintain their market share by making it EASY for business to buy a SOLUTION instead of a computer.
I do not fail; I succeed at finding out what does not work.
I've always been curious about this kind of statement. I hear it a lot. While I understand the complexities of silicon implementation (finding instruction lengths and decode are a PITA), I've always thought the ISA itself was rather elegant. Yes, there is cruft that could be dropped and AMD did some of that with X86-64, but overall, the day-to-day instruction set is mostly orthogonal and has a fairly regular encoding. GPR shifts, MUL and DIV are a bit quirky and the lack of a packed 64-bit integer multiply is an almost unforgivable sin, but overall, I rather like it.
What are the things you would like to see changed? We need specifics to have an interesting discussion. :)
Limited number of registers
Instructions that require certain registers or a certain subset of the registers
No three register operations. This impacts pipelining because it is not possible not overwrite one of the source registers.
Variable instruction length makes decode a headache
Lots of really bad stuff that isn't used much by modern code by still must be maintained for compatiblity: segments, 286 protection, IO instructions, etc.
I've wondered sometime what attitudes would be if a more likable contemporary instruction set had won. VAX and 68000, for instance, are much more palatable to program but they have performance flaws that are probably worse than x86.
First off, Intel went RISC in 1995 with the PentiumPro, the ISA is CISC, but the uISA is RISC. (Semantics. Bite me.)
Second, Itanium is VLIW, not RISC.
Third, who cares? Sun and IBM are phoning-it-in with this market, just look at the ISSCC proceedings for the past decade.
I'm surprised Intel is even bothering. Is the market that big? Will it grow their bottom line? Anyone?
https://www.accountkiller.com/removal-requested
We live in a post-RISC world. Nearly every modern processor's "core" use the major innovations of a RISC chip. The size of the instruction set is of little importance; many so-called "RISC" architectures (such as Power) have a larger instruction set than the "CISC" x86_64.
The main issue that spawned the development of RISC (that instruction sets were getting so large and unwieldy that instruction decode would take the lion's share of a die's transistors) turned out to be less of a problem than anticipated. At the time, many CISC chips (VAX in particular) were implementing high-level programming features in the architecture's assembly language.
Nearly all of us have decided that efficient compilers have made a high-level, expressive assembly language unnecessary.
Another factor is that modern processors are superscalar, with multiple execution pipelines per core - one instruction decoder then feeds several pipelines, which further reduces the relative size of the instruction decode.
However, modern chips do implement (at least internally), other "core" ideals of the RISC processor:
- Numerous registers
- Load/Store memory access
- Multi-stage Pipelines
- One instruction per clock tick (ie. keep the complexity of an instruction down to what can execute in one tick - if something takes more than one tick, break it down into smaller pieces).
The one thing that the so-called "RISC" chips have historically been known for is dependability: The machines that use them don't crash. This requires more than just a good CPU: It requires good hardware in general, and a good operating system. The "RISC" vendors - such as Sun (now Oracle), IBM, HP and SGI, control the quality of the entire system - from the electrical components, to the chassis, to the airflow in the chassis. Even the datacenter's abilities (power, cooling capacity, airflow) are specified.
There are a lot of things that go into making a system that's mission-critical, and the CPU is a small part of the equation (and usually is the least troublesome). Putting an CPU on a motherboard doesn't give me guarantees about airflow, power reliability, I/O stability and speed, vibration tolerance, nonblocking I/O, and reliability - to say nothing about core OS stability.
Intel isn't interested in doing anything other than selling chips. Unless Intel is willing to take upon themselves a whole-system approach - covering everything from the chassis, cooling and airflow, power supply, motherboard, and core operating system - they'll never play in the league.
Making a mission-critical system is left to others who use Intel's chips, such as HP's high-end Itanium line, and SGI's Altix and Altix UV systems (using Itanium and x86_64).
-- Sometimes you have to turn the lights off in order to see.
My god could you imagine the heat dissipation of a 64 core alpha processor. I had a desktop with an EV7 in it. That thing was a space heater. I just looked it up. The spec was 125W for that thing.
not to defend itanium, but by not foisting it on the compiler, you foist it onto an interpreter running on the CPU. Although the interpreter was wasteful enough, it had no opportunity to usefully work around the kind of dependence shown by:
mov xyz, %eax
add %eax, %ebx
sub %ebx, %ecx
or %rcx, %edx
It could only insert bubbles until the each op finished.
That was the crazy solution to the CPU:Memory speed imbalance. Multi core has won the day, but modern high speed processing (eg. GPUs) often use this architecture.
When the PentiumPro came along (the first P6 processor) it used internal RISC architecture, and all Intel x86 cores from that time to today stilldecode the x86 instructions in what intel calls r-ops (risc operations) and then it processes them.
Nevertheless the part where Intel says "The days of IT organizations being forced to deploy expensive, closed RISC architectures" it is a lie. You can get the UltraSPARC-T2 Verilog code to make those chips yourself and hte code is GPL. You can't do that with any Intel processor. So Intel processors are the really "closed" processor. It is true that RISC processor are more expensive, but it has nothing to do with "closed"
Why does it need bubbles? Can't an X86 keep its other ALUs busy simultaneously doing other instructions nearby that sequence using standard register renaming and opcode reordering techniques?
At any rate, from what I've read it's the branch prediction that really bottlenecks performance with today's deep pipelines. The advanced runtime branch prediction in the latest CPUs (which can see and react to the actual data at hand) just plain outperforms static compile-time branch analysis.
What are you up to with all that power? I hope you're not planning to hack a Gibson...
Sometimes I need to scale vertically and not horizontally. There are times when you need a single chassis with 200+ cores and 8TB of ram and hundreds of PCIe slots for IO. You can take my pSeries from my cold dead hands.
Intel solutions are getting there with 80 cores and 2TB of RAM.
However, when it comes to moving IO, nothing beats big iron.
125W is a gaming CPU nowadays.
The mini example was a set of interlocked instructions, where the source operand of each is dependent upon the previous insn; thus everything is forced to be in-order. Compilers are smart enough not to do this, and the real difference in a 'wide' architecture is that it doesn't insert an interpreter (renaming, stalling, bubbling, etc..). The program ( compiler ) has to know that copying R1 to R2 has an N instruction latency before R2 is valid. If it tries to use R2 earlier, it gets junk.
The x86 trend, since Prescott, has been shorter pipelines + more cores to break the bottleneck.
Because multiplications by a constant that's but an entry in a list having a couple of powers of two are all the rage these days.
A successful API design takes a mixture of software design and pedagogy.
125W is a gaming CPU nowadays.
An i5-2500 at stock speeds takes about 60W at full load.
But yeah, if you buy AMD then all bets are off.
Intel's chips have been running on a RISC core for quite a while. The rest of the CISC instruction set is converted by microcode into RISC instructions. Just noticed the person before me said the same thing.
Anyone buying POWER or SPARC is a lost cause anyway. Sure Intel might gain a few sales, but frankly the RISC volumes are pretty small and a huge number of them are "stuck" because they have existing applications that they are unwilling/unable to port to an alternative. Or the IT guys are religious zealots. This is the same reason you find AS400s/i5, Nonstops, OpenVMS, zos, etc machines running in data centers the world over. Its not because those OS's or the hardware actually provide some huge benefit that outweighs the 5x (or more, the sky is the limit in some cases) price difference between them and a basic Intel system. Its because companies have 8 and 9 figure investments in software running on them. They will probably still be in datacenters for decades into the future if IBM/Oracle/HP/etc don't decide to kill them off. They zombie on, as long as the original manufacturer supports them and the perceived/actual cost to port the application out weights the cost of buying a new machine/os every 5 years or so.
x86 isn't RISC if they decode microcode into smaller RISC like operations; an internal RISC. The outside instructions must be RISC; how they pull those off internally is not really part of it. Its a black box.
You do realize that even IBM's POWER chips (the final bastion of "RISC") decode instructions into uops too, right? So, are you willing to concede that POWER isn't RISC?
You mean openSPARC ( http://www.opensparc.net/ ) and openRISC ( http://openrisc.net/ ). I thought there was a MIPS and a Power-based open hardware project too but I could not find it right now.
The mini example was a set of interlocked instructions, where the source operand of each is dependent upon the previous insn; thus everything is forced to be in-order. Compilers are smart enough not to do this, and the real difference in a 'wide' architecture is that it doesn't insert an interpreter (renaming, stalling, bubbling, etc..). The program ( compiler ) has to know that copying R1 to R2 has an N instruction latency before R2 is valid. If it tries to use R2 earlier, it gets junk.
Yes, that sequence of instructions would have to executed sequentially whether for EPIC, Power, or x86, and compilers for any architecture know that they need to expose the maximum amount of ILP to the processor.
However only compilers for EPIC need to know the latency of every operation, the number of each type of functional unit, and any slot restrictions that may apply, so that the VLIW instructions can be assembled optimally. Because only by doing so can the ILP be exploited. Otherwise, like in the example given, bubbles will occur.
With a re-namer and out-of-order scheduler, as much ILP as the compiler can expose in however many instructions will fit in the processor's window can be exploited, automatically scheduled according to the availability and latency of each functional unit on that particular machine.
The upshot is that the EPIC compiler has to do a lot more work to reach the same level of realised ILP as a non-EPIC compiler. It also has to know much more about the intimate details of the specific CPU being targeted. Meaning the binary will be distinctly sub-optimal for any other CPUs -- as opposed to marginally sub-optimal in the case of non-EPIC compilers. For the example given, if there were earlier or subsequent instructions visible in the window that were independent, then there may not be any bubbles at all.
Those things which were supposed to make the compiler-centric world of EPIC better than other compilers and OoO schedulers, like branch predication which was one of the major touted features of the ISA, ended up not being worth much. Intel's own research showed that this feature was a modest positive gain on finely hand-tuned code, neutral with a very good compiler, and negative with a 'typical' compiler.
Having the compiler have to manually do the work of an OoO scheduler in order to avoid bubbles is not a feature. But I mean it almost sounds like you think stalls are only a consequence of the 'interpreter', and don't occur on an EPIC machine.
The enemies of Democracy are
What I find weird here is that this is being construed as "woo, Intel takes on RISC", whereas the actual situation is "woo, commodity microprocessors can now take on the low-volume, high-margin, high-availability big business end of the computer market". RISC has nothing to do with it - in an alternate universe*, it could have been VAXes running Ultrix that Intel was going up against, and the language would be completely identical. The big deal is that Intel Xeons can now go into systems that compete on high-end features with large, enterprise SPARC and Power systems, and just as importantly, that you can run workloads on the Xeons that you used to run on SPARC or Power systems. This is as much about the fact that Xeons can run Linux or Solaris about as well as SPARC or Power can run their respective Unices, and that the software is available across all three platforms. Not to mention, Xeons can now supplant Itaniums, but let's just dance around that subject thanks very much. :-)
What has happened though, is that in the lazy shorthand of business computing journalism, RISC has become equated with "large SMP machines with lots of HA features produced by vertically integrated companies like IBM, Oracle, HP and Fujitsu." It's a bit like equating V8 with "heavy car with terrible handling and fuel economy" because you happened to be writing about the American car market in the 1950s.
* a universe in which DEC managed to make VAXes actually go fast somehow
-Snorbert, somewhere in the antipodes
That, as well as the i860 too (which was even earlier than i960, but used in the Intel Paragon supercomputer). And this new CPU - is it x86 compatible? Or are we about to see a new instruction set?
Even aside from those, Intel had rights to the DEC Alpha once it made its settlement w/ DEC. That was still #1 in performance when Compaq/HP killed it. If this new CPU is going to be incompatible w/ x86, I don't think it has any more of a future than the Itanic, much less EM64.
HP was out of its mind to kill PA-RISC for Itanium. Compaq was out of its mind not to aggressively push Alpha in the NT market, and extend OVMS. All RISC vendors - IBM and Oracle - should learn the lessons from Itanium and not let Intel shoot down superior and/or well established RISC platforms like Power or Sparc in favor of something totally new. And does this make Itanium an HP-only CPU, dropping even the Intel backing?
Also, what exactly is closed RISC architectures today? OpenSparc is available, OpenPower is available, and even MIPS, as much as I understand it, is freely licensed that there are so many organizations using it. With 3 open RISC architectures, why does anyone need another?
Both Sparc and Power now have open specifications that anyone can use to implement their own microprocessor and sell it in the market for any targeted applications. Which is pretty much the goal of open standards. The closed RISC standards that were there - Clipper, PA-RISC and Alpha (Alpha actually less so) are all dead, as are i860 and i960.
Incidentally, the latter Alpha and Power architectures, as well as the MAJC processors all borrowed some VLIW concepts such as concatenating multiple instructions into a single word to enhance their SIMD capabilities, so it's not like VLIW is a complete failure. Itanium managed to, on a PR front, knock down PA-RISC, MIPS and later (after HP bought Compaq) Alpha, but ironically, failed to do much against Am64, w/ the result that it's not made a dent in the marketplace, and Microsoft, Oracle, RedHat and Canonical have all dropped support for it. Even Intel's latest C++ & Fortran compilers don't support Itanium: support is referred to earlier versions. Given that factoid, Intel's announcement reiterating support for Itanium sounds hollow. And w/ the Itanium's list price of $700-$4000, one can't support that CPU even if one wants to.
The game is over - the only CPUs that matter are x64, Power, Sparc and MIPS (I'm not counting ARM here, since it's so far unsuitable for server apps).Intel can forget about dethroning either IBM or Oracle in that arena.
EPIC is something b/w VLIW and RISC. RISC does all the dynamic analysis (branch predictions, speculative executions) in hardware, VLIW does it all in software (aided by the ultimate compiler), but EPIC is somewhere in between. In EPIC, a number of techniques are implemented @ chip level to get around the shortcomings of VLIW. Particularly, register-renaming and rotating register files are RISC features: in VLIW, a compiler would eliminate the need for register renaming
On paper, VLIW is mutually exclusive from RISC, given that the former does all possible optimizations @ compiler level, allowing (in theory at least) for the simplest possible architecture. In practice, the dynamic analysis hardware that RISC uses has been found to be only a small fraction of the chip area, thereby virtually eliminating the VLIW advantage.
Variable length instructions are what force the CPU to have microcode, to determine the length of each instruction. That's what makes CISC CISC. Note that RISC doesn't exactly mean reduced #instructions: the instruction set of Power, for instance, is huge, while that of the PDP-11 was very small. What makes a CPU CISC is variable length instructions.
Don't forget Hauppauge i486 motherboard that had i860 on it. Not quite i960, but still RISC. Pretty much only thing you could do with i860 side was running sample application included on floppies that rotated some characters on upper right corner of screen - and that rotation persisted over reboot with ctrl+alt+delete. Whoo, multi-processing! I think i860 processor on that motherboard was intended to be used together with bundled non-standard display adapter for some sort of CAD use.
I actually had one of those, got it from some bankrupt company with full manuals, compiler for i860 etc. Shame I've lost it over years as I doubt there's many of those left today. Even had that custom display adapter and bunch of technical information from factory as it was some sort of pre-production sample sent to company importing Hauppauge products.
http://www.geekdot.com/index.php?page=hauppauge-4860
Talking about just the 64-bit mode, where only the instructions that deal w/ 64-bit arithmetic are involved, are all those instructions of fixed length? In other words, would microcode be needed if one were to run a program that just used 64-bit instructions?
If it is, then x64 can be called a 64-bit RISC CPU (even while being a 32-bit CISC CPU), at least the 64-bit part of it. But if the ALU instructions that deal w/ 64-bits are variable as well, then AM64 is a 64-bit CISC CPU.
So which is it?
Somewhat unrelated, I have a different question from the topic of this thread.
Are there any 128-bit CPUs? By this, I specifically mean a CPU where the ALU is 128 bits, and one can do 128-bit arithmetic or logical operations? I'm not talking about CPUs w/ 128-bit FPUs either - even that is a totally different animal. I'm specifically asking about 128-bit ALUs in the integer operations part of it.
I know that the upper limit of a 64-bit CPU makes it unlikely that a 128-bit CPU would be needed for any memory limits. What I do want to know is whether any CPU would work w/ 128-bit numbers in a single instruction cycle.
I couldn't find any references to any open MIPS projects, but there is a Power.org that has open the Power spec.
Actually, I wouldn't put Sparc and MIPS on that list. ARM is only just starting to get interesting (for servers).
Or more to the point: why organizations are picking RISCs at all?
Either Intel or author of RTFA is missing the point. Most organizations use RISC based systems which come as part of the business critical solutions. Hardware rarely accounts for 10% of the deal. Software licenses, deployment, testing and long term support are where the real money are.
Unless Intel introduces an architecture which it commits to support for at least one decade, I do not see a thing changing on corporate landscape. The problem with Intel boxes is that by the time you need a replacement part, the CPU/etc generation have already changed and one needs to replace the whole box. That obviously leads to the problem that you can't install the same tested old version of the OS and of the 3rd party crap - meaning that the whole solution has to be tested from ground up. It is not uncommon for such complete tests be worth more than 1000 person/days. Suddenly, replacement of a single $4000 server becomes a magnitudes more expensive affair.
P.S. But needless to mention that at least some part of the RISC stronghold was already dismantled: DB hosting for which now more and more Linux/x64 is used.
All hope abandon ye who enter here.
I just hope that none of the 64-bit extensions of Am64 is CISC: if that's the case, then future processors that drop 32-bit support can be pure RISC. And that time will come - how many of us today worry about whether win16 apps are supported or not?
" days of IT organizations being forced to deploy expensive, closed RISC architectures for mission-critical applications are nearing an end"
Indeed, the days of IT organizations being forced to deploy expensive, closed, sorta-RISC is upon us! Happy days!
So can you get better performance with Intel chips by bypassing the old crufty instruction set? If so, then just redoing the system libraries of the OS might make a major difference in overall performance.
Can a compiler be set to produce 'universal' binaries that can fall back to CISC instructions, but detect and execute faster instructions when available?
Third Career: Tree Farmer Second Career: Computer Geek First Career: Teacher, Outdoor Instructor, Photographer.
To be fair, that EV7 you had was fabricated in either 180 or 130 nanometer process. Made on 32nm process, it would be a whole different story.
KATE: RISC architecture is gonna change everything.
DADE: Yeah. RISC is good.
frog blast the vent core
"RISC" and "freedom" are two of the most bent out of shape words in the computer science lexicon. When RMS designed "freedom" a new API, he fired off a scripting command to his global botnet s/freedom/free_as_in_beer/gggggggggggg/! but he missed the last "g" and it's been confusion ever since.
RISC actually meant Reduced Implementation Team Computing. In practice it meant "this is very cool, but we are way behind the big boys, but maybe we can catch up through a policy of extreme simplification clothed in FUD". Hardly anyone names a sexy new technology after a budgetary constraint, so it became known as RISC instead.
There was about a ten year period where you could do a CPU design on RISC principles for much less than a CISC design, while bragging about superior performance. This was always a bit disingenuous, since CISC chips were designed for the largest (and cheapest) mass production processes, while RISC chips were produced in much smaller lots with entirely different binning triage. Was it really ever the architecture?
The dirty secret here is that by 1996 the complexity of the execution core was only a small driver in project design cost. Cache architecture, cache coherency, bus protocol were equally or more important, and everyone had an equally complex design: there's no such thing as a RITC cache hierarchy in the performance space. The Pentium Pro was the first Intel chip which really nailed the caching subsystem. You see this when benchmarks hold up really well under load. On a lightly loaded system the Pentium Pro and the Pentium Pah weren't that different. Many were disappointed. But when you started to run a heavily loaded Windows NT, you really noticed a difference.
Some of the RISC people said about the Pentium Pro split-transaction bus "that's not a real man's bus!" What they meant was "if Intel makes that bus any better, we're doomed!" They all knew their real edge had been won by hard work rather than dumb lingo, despite the mass indirection in the marketing space.
Much of the performance of Alpha had less to do with architecture and more to do with some very expensive metalization layers which made the architecture possible. Bike frames filled with pressurized helium have not yet made it to Walmart (I'm brave enough to conjecture without clicking through).
This article is doing its level best to resurrect RISC as a badge of distinction purely as a market agenda. What a crock. I'd rather click through 38 pages of Phoronix.
Someone could do one of those sarcastic motivation posters titled "RISC" over a picture of a man with elephant balls on a trolly, and the caption underneath: "This is your compiler on Itanium".
Why do you want pure RISC? I'd rather have a more efficient processor than theoretical purity. Even ARM has moved away from pure RISC with Thumb.
I am trolling
For most server workloads, I/O is more important than raw computing horsepower. Ask anyone that has actually virtualized a few dozen machines, or really, anybody that has been in the field for more than "I JUST DROPPED OUT OF COLLEGE AFTER FAILING DATA MANAGEMENT 101 TIME TO MAKE A STARTUP CENTERED AROUND NEW IMPLEMENTATIONS OF TECHNOLOGIES EVERYONE FOUND TO BE BAD IDEAS IN THE SIXTIES SEVENTIES AND EIGHTIES."
Note: all caps because eliminating lower case and using a limited character set means the nosql database can store 30% more data in the same amount of memory.
With the P6 onwards, Intel's x86 chips have been pretty well a RISC core wrapped with a powerful fetching and decoding engine that transforms "native" x86 instructions into CPU specific microcode. This decode engine makes some pretty good assumptions about being able to reorder instructions for greater throughput and the like, but it's got me wondering - would it be possible for the CPU's low-level microcode to be exposed as an instruction set and software compiled directly to the low-level RISC-like microcode?
Would this provide any tangible benefit to execution speeds (being able to skip part of the decode process) or would it allow a compiler to make more educated decisions about instruction reordering and general program flow if it had access to generate microcode instead of x86 instructions?
Would it be possible to have fat binaries that have x86 instructions and microcode instructions in the same file (fat binaries are possible on many systems, such as OS X where you can have PPC and x86 executable code in the one binary)
Specialist Mac support for creative pros, Melbourne
RISC is more efficient, and the top performers in RISC like Alpha 21364 adapted some VLIW principles, like long instruction words, to enhance performance. Once win64 is well entrenched i.e. most 32-bit apps have moved to 64-bit, they could simply run on a RISC CPU, which would require a lot less circuitry to support legacy x86.
Isn't that bitshifitng?
I know tobacco is bad for you, so I smoke weed with crack.
I think Intel will be looking around for that Transmeta IP any day, now. And getting into reverse engineering FX!32. Maybe call up their buddy IBM for some source code of a certain bought out z/Arch emulating start-up that Apple licensed at a certain moment in time.
I know tobacco is bad for you, so I smoke weed with crack.
Yeah, that and addition is usually bundled up in a LEA. Some architectures, like DSPs, also support modulo addressing in a LEA, I'm sure. But it's not a general-purpose multiplication operation. The AC was just confused or trolling.
A successful API design takes a mixture of software design and pedagogy.