Talk:Reduced instruction set computer

Latest comment: 2 months ago by Klbrain in topic Merge proposal
Former featured articleReduced instruction set computer 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
DateProcessResult
December 15, 2003Featured article candidatePromoted
January 8, 2005Featured article reviewDemoted
Current status: Former featured article

Problems with the lead

edit

The lead presently says:

Reduced instruction set computing, or RISC (pronounced 'risk', /ɹɪsk/), is a CPU design strategy based on the insight that a simplified instruction set provides higher performance when combined with a microprocessor architecture capable of executing those instructions using fewer microprocessor cycles per instruction. A computer based on this strategy is a reduced instruction set computer, also called RISC. The opposing architecture is called complex instruction set computing (CISC).

There's a few problems here besides the issue raised at Talk:Reduced instruction set computer#Requested move 10 May 2017:

  • To say that RISC is a CPU design strategy could be misunderstood by laypeople as self-contradictory given that a CPU is understood to be a part of a computer, yet the "C" in "RISC" means "computer". A person familiar with the topic would understand that whilst some sources describe RISC as such, its because of the inadequacies of the language in reconciling how the idea was originally framed and how it is framed today. RISC is better described as a type of computer.
  • "Microprocessor architecture" implies that RISC is intrinsically linked to microprocessors. Whilst that's the popular narrative, it's wrong. The first RISC was the IBM 801, and it wasn't a microprocessor.
  • "Microprocessor architecture" is linked to "microarchitecture"; "microarchitecture" is not a contraction of "microprocessor architecture".
  • The use of cycles per instruction (CPI) to mean instruction latency is completely wrong. To speak very generally, CPI is an average of all measured instruction latencies.
  • "Microprocessor cycles per instruction" is meaningless, there's no need to qualify "CPI" with "microprocessor".

I've improved the lead as best I can, but given the complexity of the topic, it's probably still be inadequate. 50504F (talk) 07:35, 26 May 2017 (UTC)Reply

50504F, Thank you, those improvements made the lead much better. I agree that RISC not just a "design strategy", but a more-or-less objective type of hardware that can be distinguished from other types of hardware no matter what "design strategy" was used to develop it.
I'd like to suggest 2 further improvements:
* Alas, the current lead claims RISC has something to do "with a small ... set of instructions," a common misunderstanding that is specifically called out in the reduced instruction set computer#Instruction set philosophy section and the reduced instruction set computer#Comparison to other architectures section.
* I feel that RISC is better described as a type of CPU, rather than a type of computer. In my view, the things that make RISC different than the alternatives (TTA, CISC, DSP, etc.) only affect the CPU and have little or no effect on the other parts of computer architecture -- main memory, I/O, caching, etc. -- or other parts of a physical computer -- the form factor, the power supply, whether it has a single-chip CPU (microprocessor) or a discrete-transistor CPU or something else, etc.
--DavidCary (talk) 22:06, 12 January 2021 (UTC)Reply
I think the lead is in reasonable shape now and I am removing the {{Technical}} tag. ~Kvng (talk) 16:12, 15 May 2023 (UTC)Reply

Point of "Use of RISC architectures" section?

edit

This seems like a grab-bag of different RISC architectures with arbitrary categories. Why are gaming systems considered low-end? — Preceding unsigned comment added by Indolering (talkcontribs) 03:38, 22 March 2021 (UTC)Reply

I guess the theory is to indicate where RISC is being used, for the benefit of people who think x86 rules the world, but it is, indeed, a not-well-organized grab-bag. It's not particularly up-to-date, with several of the examples no longer applying, and some items just mention instruction sets without giving current examples where it's used.
At this point, the currently relevant RISC architectures, as I see it, are:
  • ARM, obviously, from microcontrollers to supercomputers;
  • SPARC, which is still being sold in servers;
  • Power ISA, which is still being sold in servers;
  • perhaps others used in embedded applications. Guy Harris (talk) 06:15, 22 March 2021 (UTC)Reply

Removed ACE bits

edit

It is a common game to claim (computer X is the first risc) based on some simplified definition of "what is risc?". The book making the claim that ACE is RISC is visible on Google Books here (for me at least, YMMV).

The (relatively short) article in question defines risc in a somewhat hand-waving manner, saying "no one at the time would agree with this definition" which is (top of page 199) essentially of "microcode slows execution, and long pipelines are slow and have interlocks". That is a rough description I could find much to agree with.

Then he attempts to link the two with the arguments that in ACE, "ease of programming had knowingly been sacrificed to speed", followed by sections noting it lacked microprogramming, that it could be simplified using interpreters, and then concluding "We can indeed conclude that the ACE is a RISC machine in the sense of having an architecture heavily influenced by the design of the computer".

None of these statements are part of the definition he posts. This is not surprising, as none of the definitional ideas even existed and would take the better part of a decade to emerge. The fact that it didn't have them is akin to claiming that horse carriages are really ICE automobiles because engines didn't exist at the time and the designers were all interested in speed.

If I sound dismissive, I am. Regardless of Turing's original desires, ACE emerged as a pretty bog-standard drum machine. That is by no means a denigration - it's bog standard because everyone used the concepts he helped develop. But the claim that it is a proto-RISC fails by the author's own definition as no machines of the era had the very features he quotes as definitional.

I'm not averse to new claims for first, but I am rather averse to the sort of hand-waving, wooly-headed argument presented in this article and the claim demands much better support in order to deserve being included here. Maury Markowitz (talk) 14:30, 4 January 2022 (UTC)Reply

Merge proposal

edit
The following discussion is closed. Please do not modify it. Subsequent comments should be made in a new section. A summary of the conclusions reached follows.
No consensus with stale discussion. The case for focussed on the argument that discussing opposites on one page was helpful for context and for reducing overlap; arguments against focussed on the size of the topics separately and their different development (so, little overlap); it was agreed that the next broadest topic is Instruction set architecture, but an argument was made that that was too broad as a target for both pages; processor architecture was even broader an contested as a joint name. Klbrain (talk) 10:06, 4 October 2024 (UTC)Reply

I've been thinking that it would make sense to merge the CISC page into the RISC page. The problem is that the RISC and CISC page have a lot of overlap and mostly cover the same history and information, so they are largely redundant (when they aren't contradictory). As WP:OVERLAP says, "Remember, that Wikipedia is not a dictionary; there does not need to be a separate entry for every concept. For example, "flammable" and "non-flammable" can both be explained in an article on flammability." This is the case with RISC and CISC.

I'm not saying that CISC is unimportant, of course. But since CISC is essentially defined in opposition to RISC, you can't really discuss one without the other. There isn't a lot to say about CISC independent of RISC. I think that combining the pages would improve both of them. The CISC page is weak on citations so I was looking into improving it, but I realized that I would end up duplicating most of the RISC material and combining the pages would make more sense. KenShirriff (talk) 21:22, 11 December 2023 (UTC)Reply

So would the page still be "Reduced instruction set computer", or would it be something that mentions both RISC and CISC? Guy Harris (talk) 21:33, 12 December 2023 (UTC)Reply
Good question. "Reduced Instruction Set Computers and Complex Instruction Set Computers" seems way too wordy but "RISC and CISC" is a bit obscure. I was thinking of adding a section on CISC to the current RISC page. That may make CISC seem less important, though. What do you think? KenShirriff (talk) 00:28, 13 December 2023 (UTC)Reply
That might work. If complex instruction set computer redirects to the new section, boldfacing the first instance of that phrase in that section might suffice; if it redirects to the article as a whole, boldfacing the first instance of that phrase in the lead might suffice. Guy Harris (talk) 07:01, 5 January 2024 (UTC)Reply
also RISC and CISC are not the only ISA's. 2001:388:6080:85:50B9:8CE0:4762:3489 (talk) 04:15, 29 July 2024 (UTC)Reply
Neither are specific instruction sets, they are CPU architectures which affect the design of instruction sets. RISC is a specific class of architecture and CISC is anything that's not RISC. It is hard to write a focused article on CISC since it is such a broad topic. ~Kvng (talk) 15:45, 3 August 2024 (UTC)Reply
I'd say they are types of instruction sets. (CPU architecture is too broad; it covers many topics, including both instruction set architectures and microarchitectures. Both RISC and CISC processors have a variety of microarchitectures, and, as I understand it, the out-of-order superscalar microarchitectures common in general-purpose computing for both RISC and CISC instruction sets have some things common between RISC and CISC processors.) Guy Harris (talk) 22:38, 3 August 2024 (UTC)Reply
That's a good idea in fact, I think we should even use the term processor architecture as a title for the page as it's encompasses both reduced instructions set computer (RISC) and complex instructions set computer (CISC) Chukzy s5 (talk) 18:56, 8 August 2024 (UTC)Reply
"Processor architecture" also encompasses a processor's microarchitecture, which is distinct from the instruction set architecture it implements (different microarchitectures can implement the same instruction set architecture). That's why processor architecture is currently a disambiguation page that links to instruction set (which redirects to instruction set architecture, microarchitecture, and processor design.
Instruction set architecture also encompasses both RISC and CISC (as well as explicitly parallel instruction computing (EPIC) and other instruction set types that might be characterized as neither RISC nor CISC), but the intent of the merged page would be to cover RISC vs. CISC, not instruction sets in general. Guy Harris (talk) 08:28, 9 August 2024 (UTC)Reply
The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.