Talk:Reduced instruction set computing

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Former featured article Reduced instruction set computing is a former featured article. Please see the links under Article milestones below for its original nomination page (for older articles, check the nomination archive) and why it was removed.
Article milestones
Date Process Result
December 15, 2003 Featured article candidate Promoted
January 8, 2005 Featured article review Demoted
Current status: Former featured article
WikiProject Computing / Hardware (Rated B-class, High-importance)
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
B-Class article B  This article has been rated as B-Class on the project's quality scale.
 High  This article has been rated as High-importance on the project's importance scale.
Taskforce icon
This article is supported by Computer hardware task force (marked as High-importance).

RISC and x86 section seems biased[edit]

The "RISC and x86" section seems to be written simply to bash the x86 architecture. It needs to be more unbiased, and cite more sources. Also, the section about ARM-based processors now emerging is outdated. There are many ARM-based products on the market now. — Preceding unsigned comment added by (talk) 01:31, 1 February 2012 (UTC)

I'm not sure how a section that says:
  1. a lot of software is in x86 binary form, so new instruction sets couldn't replace it (one might consider it bashing to list market realities as one of the reasons for the continued success of an architecture, but it's true nevertheless);
  2. companies implementing the x86 ISA threw transistors at the problem, so x86 processors caught up to RISC processors (true, and I'm not sure how it's bashing x86);
  3. more of the previous point (with the same comment);
bashes the x86 architecture. Perhaps it needs more sources discussing the implementation techniques used to speed up x86, but I really don't see the bias there.
As for ARM-based products, I guess the question is which ones to include? The ones that more or less directly compete with x86-based PCs, or the ones in different markets that can in some cases substitute for traditional desktop/notebook PCs? The latter are already covered under "Expanding benefits for mobile and embedded devices". Guy Harris (talk) 01:46, 1 February 2012 (UTC)
In response to the IP above, this is not a terrible article, but is no gem either. The x-86 debate will probably be looked at as biased which every way one writes it. And we should remember that it is not always inherent architectural advantages, but who happened to be working on what at Intel, etc. Some of it is a people issue rather than an inherent design issue. So no need to get over worked on that.
Other items: The RISC success stories should certainly emphasize SPARC more - it started an entire server industry. The history is far, far too favorable to the 1960s nostalgia. The CDC 6600? Are we kidding? The 801 could have been called the first attempt and it only materialized in 1980. So the history section is just inaccurate. The Cray joke is funny, but unfortunately not quite right. Cray always took very clever (indeed genius) advantage of specific situations, but did not design the RISC philosophy.
So overall I would say this is an "ok" article, has some errors, but is not as bad as the software abominations we see in WikiProject Computing.
Finally should give a sense of speed and mention that some early supercomputers are now outrun by the iPads shipping now. History2007 (talk) 15:26, 20 March 2012 (UTC)


Summarized tags to make the article better readable. See this for former location. Accuracy is generally low and many assumptions presented as facts. Tagremover (talk) 16:55, 20 March 2012 (UTC)

Partly so. But I think the tags at the top would stop people from reading it at all. I really do not have time to work on it now. But this article is another example of the shortage of experts on Wikipedia. Something needs to be done and some type of policy needs to change to attract them... History2007 (talk) 22:45, 20 March 2012 (UTC)
There is ABSOLUTELY NO shortage of experts. See:
  • I am an expert
  • Experts, if they invest time, do NOT like to invest twice the time to protect their edits
  • It would probably help to mark an edit from an expert as "expert edit"
  • Why i wasting my time here is unclear.
Have put most tags below. Do not revert. Tagremover (talk) 02:13, 21 March 2012 (UTC)
I am not sure if I understand you. Are you an expert in computer hardware? Are you going to work on this article? History2007 (talk) 02:15, 21 March 2012 (UTC)
In any case, you need to give specific reasons why you have tagged the entire article. That seems incorrect to me. And I do not need orders from you as to when to revert or not. I do not work for you. Thank you. History2007 (talk) 02:24, 21 March 2012 (UTC)
  • I am an expert in microelectronics, microprocessors and computer hardware.
  • I do not want to invest the time mainly because i have to invest much more time to protect my edits from others like you, although you have probably the best intentions.
  • In this case my edits aren´t perfect, but imho improve structure, make this mess better understandable. Removed expert tag: I don´t think any experts will invest its time here.
  • Here everybody is the same. No orders. Just respect.
  • ACCURACY: MANY assumptions and statements without proove or reference. Therefore TAGS. Tagremover (talk) 02:36, 21 March 2012 (UTC)

──────────────────────────────────────────────────────────────────────────────────────────────────── But per WP:Tagging unless you give specific reasons you cannot tag for disputed content. The appropriate tag here is "ref-improve" tag not a disputed tag, except on one or two sections. So you need to either give "exact reasons" why you dispute a specific set of statements, or not just tag it, except for ref-improve, which I think was needed, since I added that myself. So I will await your list of errors. History2007 (talk) 02:55, 21 March 2012 (UTC)

Tagrmover, your expertise is appreciated, but your editing style needs work. Please use edit summaries to give us a clue what you're trying to do. And don't remove specific maintenance tags without addressing them or saying why they shouldn't be there. And if you're going to do major reorgs, don't do them in a string of edits along with things that we're likely to want to revert, or it will all get undone. Slow down, seek approval along the way. Dicklyon (talk) 03:04, 21 March 2012 (UTC)

I agree with Dicklyon. Anyway, the result of this discussion is that I will try to set aside some time to work on this. It should take no more than a couple of days to fix the basics. A lot of it is correct, just needs touch up. So I will do that instead of talking here. History2007 (talk) 03:07, 21 March 2012 (UTC)

Article improvements[edit]

In view of the above, I wrote a couple of quick missing articles on load/store vs register/memory architectures etc. that needed to be linked from here. I also fixed the lede. I think the best way to fix the article now is to use a "reduced diversion approach" and just state the basic elements in fully sourced form.

I will start by reducing the history discussions to the basics, add sources etc. and move it upfront. Then discuss the motivation, compilation issues, etc. and eventually work up to the mobile issues etc.

But mobile RISC is not the whole story and the article should also point out that RISC is not just for cell phones and the 8 petaflops K computer (fastest on the TOP500 as of this writing) also uses the SPARC64 - a RISC architecture. So RISC now dominates the low ground in cell phones and some of the high ground on the TOP500. That will shed light on the flexibility of the architecture.

Anyway, I will begin the fixes and move sections according to that plan. If there are suggestions, just post below here and we can discuss it. Thanks. History2007 (talk) 12:58, 21 March 2012 (UTC)

It would be nice if the history of RISC also mentioned that other RISC product from the other side of the pond: ARM. John Allsup (talk) 00:26, 24 April 2013 (UTC)

Just Do It. Guy Harris (talk) 01:01, 24 April 2013 (UTC)

ROMP a single-chip 801?[edit]

The article says "The 801 was eventually produced in a single-chip form as the ROMP in 1981, which stood for 'Research OPD [Office Products Division] Micro Processor'." The documents "The 801 Minicomputer - An Overview" and "System 801 Principles of Operation" describe a machine with 24-bit registers, but the "RT PC Technical Reference, Volume 1" describes a machine with 32-bit registers. Was there a later machine in the 801 family that looked like the ROMP? Guy Harris (talk) 01:03, 22 March 2012 (UTC)

I really do not remember the details of the 801 family follow ups now - it was long ago... Is there an error in what the article says? I do not see one. The Jurij Šilc reference I looked up for the 801 only refers to the 32 bit. They may have played with a few systems, I am not sure now. But just fix it if you see an error. Thanks. History2007 (talk) 01:27, 22 March 2012 (UTC)
By the way, the Wikipedia ROMP article (which happens to be reference free) says: "The original ROMP had a 24-bit Reduced Instruction Set Computer (RISC) architecture developed by IBM, but the instruction set was changed to 32 bits a few years into the development." So that may be the case, but that is probably too much detail for this article given that the 801 did not go that far on its own. History2007 (talk) 02:04, 22 March 2012 (UTC)
I was asking a question, not making an assertion; not having been in IBM Research or in the group(s) that did ROMP, I don't know what the full history of the 801 or ROMP was. I've asked in the ROMP article for some citations; more history on the 801 and ROMP would be interesting (but might require help from somebody who was inside IBM at the time). Guy Harris (talk) 07:05, 22 March 2012 (UTC)
Ok, no problem. But the ROMP article itself needs serious help and I will hence not even look at it again so I will not even be tempted to fix it. I did not even want to fix this one until some user shifted the tags etc. So I will do my best not to think of ROMP, at a time when Processor register needs so much more help.... I posted for help on WikiProj computing about this page and Processor register, but I am not holding my breath that it will get fixed soon that way... History2007 (talk) 08:18, 22 March 2012 (UTC)

iPad, but not smartphones?[edit]

The article says "In the 21st century, the use of ARM architecture processors in the Apple iPad provided a wide user base for RISC-based systems." Is the idea here that the iPad (and, potentially, other ARM-based tablets, depending on the success of, for example, Android or Windows 8) are more like "real computers" than smartphones are, so people are more likely to think of them as "computers"? Guy Harris (talk) 01:05, 22 March 2012 (UTC)

Reasonable comment actually. Shows that I don't think of cell phones as real computers. Please fix that to represent the views of the modern generation for whom cell phones are computers. But the general idea is that RISC now runs $800 computers to $80 million systems. That is the message. History2007 (talk) 01:30, 22 March 2012 (UTC)
I have now done a first set of fixes to the lede and the first section, added refs, etc. and will take a break. So please check that, fix items, etc. Thanks. History2007 (talk) 01:48, 22 March 2012 (UTC)
Anyway, I fixed it now so it says smartphone as well. History2007 (talk) 08:39, 22 March 2012 (UTC)

RISC OS?[edit]

I wonder whether RISC OS is worth linking from here as a 1980s example. (talk) 01:07, 13 September 2013 (UTC)

As an example of what? OSes that run on RISC-based computers? There are plenty of those - SunOS (SPARC), HP-UX (PA-RISC), AIX (POWER, PowerPC), etc.). If you want an example of a RISC-based computer, that'd be Acorn Archimedes, not RISC OS. Guy Harris (talk) 01:21, 13 September 2013 (UTC)
And, of course, RISC/os (MIPS). Guy Harris (talk) 01:25, 13 September 2013 (UTC)

Return of CISC with effectively unlimited transistors?[edit]

At the moment, we have reached about the maximum clock speed possible (~4 GHz). There is also a concern about power consumption. However, costs per transistor continue to fall, and there is almost no restriction on numbers per chip. So, is there now a case for a hybrid CISC where the instructions are very powerful but still operate in a single cycle, by means of additional logic-gate complexity? For example, an entire C-function such as strtol() could be implemented in raw hardware in one cycle. — Preceding unsigned comment added by (talkcontribs) 17:15, 25 November 2014‎

    char bigarray[1048572+1];
    int i;

    for (i = 0; i < 1048572; i++)
        bigarray[i] = '0';
    bigarray[1048572] = '\0';
    return strtol(bigarray, NULL, 10);
might be a little difficult to do in one cycle.
However, an instruction that processes 8 bytes of ASCII characters, ignoring a non-digit byte and everything after it, computing a polynomial value with power-of-ten coefficients based on the digit values, and returning the value and an indication of how many digits were processed, could possibly be done in one cycle, with that used as part of an implementation of `strtol()`.
But a processor with an otherwise-RISCy load-store architecture and with a three-argument "strtol" instruction, in which a 0-8 character string in one register is processed, with the polynomial value put in another register and the digit count put in a third register could still be considered RISCy. A number of RISC architectures have various flavors of SIMD instructions, and a "strtol" instruction could be viewed as somewhat SIMDish, although instead of processing each byte independently, the bytes are combined into a single result. Guy Harris (talk) 02:35, 26 November 2014 (UTC)

Locked In ?[edit]

The article says users of "PC" were locked into intel x86. However C compilers compiled code that had run on risc machines. x86 has emulators. CPUs with the feature of uploading new microcode came on the market long ago. i think "locked in" is a bit strong - never really true. — Preceding unsigned comment added by (talk) 03:56, 14 July 2015 (UTC)

A C compiler doesn't help if:
  • your code isn't written in C (applications for DOS/Windows were also written in assembler, Turbo Pascal, etc., and DOS and (non-NT) Windows themselves had a significant amount of assembler code);
  • your code assumes it's running on a little-endian processor, or a processor that doesn't require strict alignment of data;
etc., so a C compiler for your instruction set is not a magic bullet. Yes, there were x86 emulators, but that didn't manage to make, for example, Alpha able to compete with x86.
And "the ability to upload new microcode" isn't the same thing as "the ability to run arbitrary instruction sets well", if that's what you're trying to say with "CPUs with the feature of uploading new microcode came on the market long ago." Most RISC CPUs didn't even have microcode, so it's not as if they could be microcoded into running x86 well, and even most microcoded CISC CPUs have instruction fetch paths that are rather oriented towards executing a particular instruction set. Guy Harris (talk) 07:01, 14 July 2015 (UTC)