Slashdot Log In
A History of PowerPC
Posted by
Hemos
on Wed Mar 31, 2004 02:44 PM
from the looking-into-the-past dept.
from the looking-into-the-past dept.
A reader writes: "There's a article about chipmaking at IBM up at DeveloperWorks. While IBM-centric, it talks a lot about the PowerPC, but really dwells on the common ancestory of IBM 801" Interesting article, especially for people interested in chips and chip design.
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
IBM also says Screw you to intel (Score:4, Informative)
(http://www.xdfgf.com/ | Last Journal: Wednesday October 20 2004, @08:15PM)
Re:IBM also says Screw you to intel (Score:5, Informative)
(http://my.opera.com/bhtooefr/blog/ | Last Journal: Saturday June 11 2005, @09:07AM)
Well sort of (Score:4, Informative)
(http://www.xdfgf.com/ | Last Journal: Wednesday October 20 2004, @08:15PM)
Example: Windows is running on slice 1, BSD on slice 2, and Linux on slice 3.
BSD gets a kernel panic and crashes, the slice is restarted without affecting the remaining running OS's. It's, for the lack of a better term, Hyperthreading for the whole computer.
Big Endian (Score:5, Funny)
(http://gbookcards.com/)
Re:Big Endian (Score:5, Informative)
X86 is little endian, which is chunked-up and backwards.
Example:
View the stored number 0x12345678.
Big endian: 12 34 56 78
Little endian: 78 56 34 12
Clear as mud?
Re:Big Endian (Score:4, Informative)
Re:Big Endian (Score:5, Informative)
Little-endian has some nice hardware properties, because it isn't necessary to change the address due to the size of the operand.
Big Endian:
uint32 src = 0x00001234;
uint32 dst1 = src;
uint16 dst2 = src;
Little Endian:
uint32 src = 0x00001234;
uint32 dst1 = src;
uint16 dst2 = src;
The processor doesn't have to modify register values and funk around with shifting the data bus to perform different read and write sizes with a little-endian design. Expanding the data to 64 bits has no effect on existing code, whereas the big-endian case will have to change all the pointer values.
To me, this seems less "chunked up" than big endian storage, where you have to jump back and forth to pick out pieces.
In any event, it seems unnecessary to use prejudicial language like "normal" and "chunked up". It's just another way of writing digits in an integer. Any competent programmer should be able to deal with both representations with equal facility.
Being unable to deal with little-endian representation is like being unable to read hexadecimal and insisting all numbers be in base-10 only. (Dotted-decimal IP numbers, anyone?)
Big-endian has one big practical advantage other than casual programmer convenience. Many major network protocols (TCP/IP, Ethernet) define the network byte order as big-endian.
Don't ignore integer sizes! (Score:5, Insightful)
(http://us.vclart.net/vcl/Artists/Mick-Michalski/)
So, you're reading in an array of integers, which are now 64 bit vs 32 bit and no code change is needed?
Programs NEED to know the size of the data they're working with. Simply pulling data from an address without caring for it's size is a recipee for disaster!
Re:Big Endian (Score:5, Informative)
(http://slashdot.org/)
One more big advantage of the big-endian byte order is that 64-bit big-endian CPUs can do string comparisons 8 bytes at a time. This is a big advantage where the length of the strings is known (Java strings, Pascal strings, burrows-wheeler transform for data compression) and still an advantage for null-terminated strings.
I'm not aware of any such performance advantages for the little-endian byte order.
The main advantage of little-endian byte order is ease of modifying code written in assembly or raw opcodes if you later decide to change your design and go with larger or smaller data fields. The main uses for assembly programming are very low-level kernel programming (generally the most stable part of the kernel code base) and performace enhancement of small snippets of code that have been well tested and profiled and are unlikely to change a lot.
I agree that an decent programmer should be able to deal with either endianess, but the advantages of the little-endian byte order seem to be becoming less and less relevant.
Re:IBM also says Screw you to intel (Score:4, Interesting)
Does this mean that ALL next-generation consoles (next Gamebuce, PS3 and Xbox2) will use a IBM chip?
Re:IBM also says Screw you to intel (Score:4, Informative)
(http://www.xdfgf.com/ | Last Journal: Wednesday October 20 2004, @08:15PM)
Theres a pantload of info here [ibm.com].
Re:"Chips May Physically Reconfigure Themselves" (Score:5, Informative)
(http://www.alexcurylo.com/)
Errm, actually, it WAS. See for instance
http://home1.gte.net/res008nh/nt/ppc/default.htm [gte.net]
Chip design in a nutshell for the lazy: (Score:3, Funny)
Fry in oil or bake in oven.
Salt.
Enjoy!
*sigh* (Score:3, Insightful)
(http://allyourbasearebelongto.us/ | Last Journal: Wednesday November 14, @04:15PM)
Re:*sigh* (Score:4, Interesting)
Supposed to deliver? OpenBSD people thought that as well, and got the OS running on it. Now OpenBSD consider Pegasos a scam operation and has pulled the support for Pegasos from CVS :
R.I.P. OpenBSD/Pegasos - All the story [deadly.org]
Guide to the PowerPC architecture (Score:5, Informative)
Nice 42 year backward compatibility (Score:5, Insightful)
(http://www.jgc.org/ | Last Journal: Friday August 22 2003, @11:31AM)
John.
Interesting quote from the article (Score:5, Funny)
(Last Journal: Thursday November 13 2003, @03:44PM)
You find Douglas Adams fans all over, don't you?
Obligatory Quote of the Day (Score:5, Funny)
(http://slashdot.org/)
I didn't think it was possible to use the words "Fishkill" and "hip" in the same sentence with a straight face.
Power PC was the death of the MIPS processor (Score:4, Insightful)
(Last Journal: Thursday April 29 2004, @05:55PM)
Gone where the intelligent disk and network subsystems. No more die cast aluminimum chassis.
Whilst I can understand in some sectors the incessant drive for highest MIPS per $, is there not also a place for bullet proof proven technology?
Yeah, I remember (Score:4, Interesting)
Re:Yeah, I remember (Score:5, Informative)
(http://www.livejournal.com/users/sinistertim101 | Last Journal: Saturday March 24 2007, @12:32PM)
What Intel did was include RISC architecture in around the x86 instruction set to create the pentium pro, pentium II, III, etc. Otherwise they would have been killed.
Infact IBM was correct. Cisc was dying. THe pentium1 could not compete agaisnt the powerpc unless it had a very high clock speed. All chips today are either pure risc or a hybrid cisc/risc like todays Althons/Pentium's. The exception is the nasty Itanium which is not doing too well
Nice PowerPC Roadmap (Score:5, Informative)
(http://www.redstream.org/)
PowerPC in PlayStation 2? Huh? (Score:2)
(http://clickcaster.com/)
Correct me if I'm wrong, but isn't the PlayStation 2's EmotionEngine processor a proprietary MIPS-derived ISA?
Re:PowerPC in PlayStation 2? Huh? (Score:4, Informative)
link [uiuc.edu]
So yes, it is in a way MIPS derived, but the MIPS core does very little of the actual processing, it's more of a bootloader and I/O coprocessor.
So what HDL do they use? (Score:3, Interesting)
(Last Journal: Monday January 06 2003, @10:36PM)
Re:So what HDL do they use? (Score:4, Informative)
(http://mnsmall.biz/)
One of the coolest things about PowerPC chips (Score:5, Funny)
Computer history IS IBM-centric (Score:5, Insightful)
(http://www.edholden.com/ | Last Journal: Tuesday January 20 2004, @11:15PM)
For those who want PPC970 without getting a Mac... (Score:2)
Sure its pricey, but I suppose if your interested in such price isn't the key issue.
Sunny Dubey
Re:For those who want PPC970 without getting a Mac (Score:5, Funny)
(http://www.angelfire...epublican/index.blog | Last Journal: Thursday July 27 2006, @12:00AM)
LK
Re:For those who want PPC970 without getting a Mac (Score:5, Informative)
RS/6000 [ibm.com]
Or, a Power-based IBM workstation,
Workstation [ibm.com]
About My Resume... (Score:2)
Not sure I'd want that on my resume. Wasn't IBM's greatest success -- even given their unmatched maketing department.
200 instructions at once? (Score:5, Insightful)
(Which is great until you mispredict a branch, of course. :-)
Re:200 instructions at once? (Score:5, Informative)
(http://del.icio.us/Abcd1234/)
Although, it should be noted that the pipeline depth for the POWER4 is just 15 stages (as opposed to the P4 which has, IIRC, 28 stages), so while a branch misprediction is quite bad, it's not as bad as some architectures. My understanding is that, in order to achieve that 200 IPC number, the POWER4 is just a very wide superscalar architecture, so it simply reorders and executes a lot of instructions at once. Plus, that number may in fact be 200 micro-ops per second, as opposed to real "instructions" (although, that's just speculation on my part... it's been quite a while since I read up on the POWER4), as the POWER4 has what they term a "cracking" stage, similar to most Intel processors, where the opcodes are broken down into smaller micro-ops for execution.
Quotable! (Score:2, Offtopic)
Large and hyphenated! It's nice when technical writers get to slip a little something in on the side.
Article may need a bit of work (Score:2)
Also, when you say that POWER4/PPC970 can process 200 instructions at once, you need to explain a bit better what having "instructions in flight" really means. It's not that it can do 200 instructions every clock cycle.
Submitted this on the feedback form at the bottom of the article as well. The above just don't ring right as expressed.
Sounds fishy to me... (Score:5, Interesting)
(Last Journal: Monday June 26 2006, @03:09PM)
Maybe this is a sign that it has been too long since I learned about computer architecture, but is it really fair to call a CPU that has a deep pipeline, a crypto-RISC CPU?
When my buddy first told me about this exciting new RISC idea one of the design goals was each instruction was to take a single instruction cycle to execute. Isn't this completely contrary to a deep pipeline? The Pentium 4 has a 20-stage pipeline IIRC.
Was I wrong to laugh when I heard hardware manufacturers claim, "sure, we make a CISC, but it has RISC-like elements .
What I am reminded of is the change in how musicians are classified. When I grew up rock music was just about all that young people listened to. Rap and punk music had never been heard of. And country music was considered incredibly uncool. Now country music's coolness factor has grown considerably. And a strange thing has happened. Lots of artists who were unquestionably considered in the Rock camp back then, like Neil Young, or Credence Clearwater, are now classified as Country music, as if they had never been anything else.
It has been a long time, but I remember learning in my computer architecture course about wide microcode instruction words, and narrow microcode instruction words. Wide microcode instruction words allowed the CPU to do more operations in parallel. Ie. the opposite of a RISC. So, I ask in perfect ignorance -- how wide are the Pentium 4 and Athlon microcode?
If I am not mistaken the Transmeta was a very wide instruction word. And if I am not mistaken, doesn't that make it the opposite of a RISC?
Re:Sounds fishy to me... (Score:5, Informative)
(http://slashdot.org/)
No, in fact pipelining is central to the entire concept of RISC.
In traditional CISC there was no pipelining and operations could take anywhere from 2-n cycles to complete -- at the very least you would have to fetch the instruction (1 cycle) and decode the instruction (1 cycle; no, you can't decode it at the same time you fetch it -- you must wait 1 cycle for the address lines to settle, otherwise you cannot be sure of what you're actually reading). If it's a NOOP, there's no operation, but otherwise it takes 1+ cycles to actually execute -- not all operators ran in the same amount of time. If it needs data then you'd need to decode the address (1 cycle) and fetch (1 cycle -- if you're lucky). Given that some operators took multiple operands you can rinse and repeat the decode/fetch several times. Oh, and don't forget about the decode/store for the result. So, add all that up and you could expect an average instruction to run in no less than 7-9 cycles (fetch, decode, fetch, decode, execute, decode, store). And that's all presuming that you have a memory architecture that can actually produce instructions or data in a single clock cycle.
In RISC you pipeline all of that stuff and reduce the complexity of the instructions so that (optimally) you are executing 1 instruction/cycle as long as the pipelines are full. You have separate modules doing the decodes, fetches, stores, etc. (and in deep-pipeline architectures, like the P4, these steps are broken up even more). This lets you pump the hell out of the clockrate since there's less for each stage of the pipeline to actually do.
Modern CPUs have multiple everything -- multiple decoders, fetchers, execution units, etc. so it's actually possible to execute >1 cycle/cycle. Of course, the danger to the pipelining is that if you branch (like when a loop runs out or an if-then-else case) then all those instructions you've been decoding go out the window and you have to start all over from wherever the program is now executing (this is called a pipeline stall and is very costly; once you consider the memory delays it can cost hundreds of cycles). Branch prediction is used to try and mitigate this risk -- generally by executing both branches at the same time and only keeping the one that turns out to be valid.
Was I wrong to laugh when I heard hardware manufacturers claim, "sure, we make a CISC, but it has RISC-like elements
Yes, because neither one exists anymore. CISC absorbed useful bits from RISC (like cache and pipelining) and RISC realized there was more to life than ADD/MUL/SHIFT/ROTATE (oversimplification of course). The PowerPC is allegedly a RISC chip, but go check on how many operators it actually has. And note that not all of them execute in one cycle. x86 is allegedly CISC, but, well... read on.
how wide are the Pentium 4 and Athlon microcode?
The x86 ISA has varying width. It's one of the many black marks against it. Of course, in reality, the word "microcode" isn't really applicable to most CPUs nowadays -- at least not for commonly used instructions. And to further muddy the picture both AMD and Intel don't actually execute x86 ISA. Instead there's a translation layer that converts x86 into a much more RISC-y internal ISA that's conducive to running at more than a few megahertz. AFAIK, the internal language is highly guarded by both companies.
If I am not mistaken the Transmeta was a very wide instruction word. And if I am not mistaken, doesn't that make it the opposite of a RISC?
Transmeta and Intel's Itanium use VLIW (very large instruction word) computing, which is supposed to make the hardware capable of executing multiple dependant or independant operations in one cycle. It does so by putting the onus on the compiler
I like this quote (Score:5, Insightful)
Can anyone tell me where I can buy a G5 laptop?
Next Apple Mac? (Score:2)
http://www.macosrumors.com/33004M.html
Please note that MOSR has a long history of being completely and utterly wrong in their predictions, so don't get your hopes too high...
On a similar note... (Score:2, Interesting)
Did anybody catch the Mars Pathfinder reference? (Score:1, Troll)
I guess that's why it's still up there, not bluescreened...
This is revolutionary: Self-evolving machines. (Score:2, Interesting)
Did you read this? [businesswire.com] Look at the second-to-last paragraph:
That is the first step in self-evolving machines.
Yes, it is a minor step, but it is a friggin first step, OK? If they can pull this off, they are creating machines with the ability to adapt and evolve.
This is what I would call artificial life. Once that step is taken, it's only a matter of time before the machines start evolving themselves.
P.S. Now think about the kinds of viruses that could happen in that environment.
The complete history (Score:2, Interesting)
(http://www.aweb.com.au/)
Best article ever! (Score:2)
(http://www.kabong.ca/)
Seriously, check these quotes from the IBM site: [blockquote] Thus, in the days when computing was still so primitive that people thought that digital watches were a neat idea, it was CMOS chips that powered them. [/blockquote] [blockquote]Figure 1. It's wafer-thin[/blockquote] [blockquote]One of the reasons for that is IBM's new top-of-the-line fab in Fishkill, New York. The Fishkill fab is so up-to-date that it is capable of producing chips with all of the latest acronyms, from copper CMOS XS to Silicon-on-Insulator (SoI), Silicon Germanium (SiGe), and low-k dielectrics -- all on 300mm wafers. And the Fishkill facility is so advanced that the workers don't even have to wear "bunny suits," because the wafers spend all of their time in hermetically sealed FOUPs (front opening unified pods). Finally, the Fishkill operation is so hip that the server room runs exclusively on Linux.[/blockquote]
Something wrong? (Score:2)
POWER3
Released in 1998: 15 million transistors per chip
The first 64-bit symmetric multiprocessor (SMP)
Didn't several companies have 64-bit multiprocessor machines out back then? Unless I'm mistaken, Sun's Starfire was before then, having up to 64 UltraSparc II's - which, as I recall, were 64-bit chips. And that's just Sun, ignoring the other players.
So, it is just that they used "SMP", as opposed to other forms of multiprocessing, or is my memory completely skewed?
steve
Impressive (Score:3, Informative)
That's quite impressive. Throw the 970 in that mix and it's even more impressive. The bottom line is that Intel isn't alone at the top of the mountain when it comes to producing high quality, fast, and reliable chips. On a side note, as a soon-to-be-graduating CS major, I dream about working at a place like IBM.
Orthogonal? (Score:1)
(http://www.geocities.com/sunet2000)
Redundant (i.e. "Orthogonal") WTF??? (Score:2)
Orthogonal: Mutually independent; well separated; sometimes, irrelevant to. Used in a generalization of its mathematical meaning to describe sets of primitives or capabilities that, like a vector basis in geometry, span the entire 'capability space' of the system and are in some sense non-overlapping or mutually independent.
to quote the article:
Othogonal is pretty damn close to an antonym of "complex and redundant". In fact, a RISC ISA should be as orthogonal as practical (under the other constraints of constant word size etc.)
While we are at it, the article notes:
"All of that changed back in the thermionic valve (or "vacuum tube") days with the introduction of the IBM S/360(TM) line of computers, in 1964."
Huh? IBM was producing "transfer resistor" ("transistor") computers by the 1960's and the 360 was based on those newfangled "integrated circuits" (or "chips"). At that point tubes were as anachronistic as they are now!
One last howler: the sidebar title "Breaking the speed limits of Moore's Law" I always thought gemometric rates of increase didn't class as a speed limit as much as a brutal taskmaster, if the Transportation Department legislated a doubling of speed every 16 months beginning in 1960, transwarp drives would be required equipment on cars since we would have a minimum speed limit of warp 44!
What Pisses Me off (Score:1)
(http://www.adint.net/ | Last Journal: Friday October 04 2002, @12:27PM)
But seriosly, i wounder if sun will end up standardising on the PPC or the AMD 64 chips. their own proccesors are a little long on the tooth.
XBox Next CPU? (Score:2)
"What do the Nintendo GameCube's Gekko, Transmeta's first Crusoe chips, Cray's X1 supercomputer chips, Xilinx Virtex-II Pro processors, Agilent Tachyon chips, and the next-generation Microsoft XBox processors-which-have-yet-to-be-named all have in common? All of them were or will be manufactured by IBM."
What the hell? I thought the XBox Next CPU being a PowerPC was still an unconfirmed rumor?
Re:Motorola (Score:4, Informative)
(Last Journal: Wednesday March 10 2004, @01:38AM)
They gave up on desktop PPC. They still do a lot of new PPCs, just working on improving MIPS/watt instead of pure MIPS. Embedded space is a lot higher volume and bigger profit than Apple.
Re:Motorola (Score:4, Interesting)
(http://www.geocities.com/scotthallexpress/Bio.html | Last Journal: Wednesday June 30 2004, @10:25AM)
1) 80% of all G4s sold have gone to Apple. So targetting the larger embedded market is a marketing excuse, a failure, or both.
2)Motorola's fabrication facilities have been in horrendous shape for at least 4 years. High failure rates, In one location, they even quit running the fans to "save energy."
3)Motorola has failed to advance in the embedded world as well. TiVO and many others are switching from PPC to MIPS because Motorola's stuff is not moving forward.
4)Brain-drain and 'Dilbert syndrome' have plagued Motorola's CPU division since Apple killed the clones in 1997. They are spinning off that part of their business, but there's no indication that the situation has improved.
Re:Motorola (Score:2, Interesting)
(Last Journal: Thursday April 29 2004, @05:55PM)
Yes, Motorola did build and promote thier hardware, but OS manufacturers did not even seem to be able to get decent device drivers working for it, let alon do an efficient port. In the end it was a box that could (almost) do many things, but at a higher price for less performance. They threw in the towel.
BTW, I did build a server using a Motorola motherboard and standard PC parts. It ran Aix 4 fine, but forget decent video drivers let alone sound. I did try getting the PPC port of Linux up on it, but never succeeded. It did run very stably as a server. It wasn't lightning fast but seemed to scale perfectly, it just kept chugging alone regardless of the workload you threw at it.
I say blame the OS manufacturers for Motorolas lack of success with the PPC.