Talk:Reduced instruction set computer
This is the talk page for discussing improvements to the Reduced instruction set computer article. This is not a forum for general discussion of the article's subject. |
Article policies
|
Find sources: Google (books · news · scholar · free images · WP refs) · FENS · JSTOR · TWL |
Reduced 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. | |||||||||||||
| |||||||||||||
Current status: Former featured article |
This article is rated C-class on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||
|
This page has archives. Sections older than 120 days may be automatically archived by Lowercase sigmabot III when more than 4 sections are present. |
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)
- 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)
- I think the lead is in reasonable shape now and I am removing the {{Technical}} tag. ~Kvng (talk) 16:12, 15 May 2023 (UTC)
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 (talk • contribs) 03:38, 22 March 2021 (UTC)
- 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)
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)
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)
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)
- 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)
- 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)
- 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)
- 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)
- Support and I'd prefer to keep the current title with discussion of both in the lead and redirects from Complex instruction set computer etc. CISC is the less important term and covers a broad variety of processor designs. ~Kvng (talk) 16:04, 15 December 2023 (UTC)
- Support CISC is a catch-all term for anything which isn't RISC, so it makes sense to put them together. Murray Langton (talk) 14:44, 9 January 2024 (UTC)
- I think that these two articles could maybe even be merged into Instruction_set_architecture with separate headings. Resukalt (User talk) 16:18, 26 February 2024 (UTC)
- Oppose CISC and RISC are 2 different stuff. While CISC may be used to identify "non-RISC" ISAs, its still not a sub identity to RISC therefore it having its own page its beneficial to avoid possible confusion of readers. VectorVoyager (talk) 20:47, 24 May 2024 (UTC)
- Don't merge I recommend based on information, I think the two articles should not be merged and left as they are. Happyevengood (talk) 13:17, 16 December 2023 (UTC)
- Votes for or against a merge proposal are usually best put in the section containing the proposal, rather than in sections of their own, with votes for saying Support or Merge or something such as that and votes against saying Oppose or Don't merge or something such as that. See Kvng's vote for the proposal as an example. That way, all the discussion and voting is kept together. Guy Harris (talk) 19:15, 16 December 2023 (UTC)
- Vote moved from its own section into the merge proposal section. ~ Tom.Reding (talk ⋅dgaf) 07:21, 16 July 2024 (UTC)
- Votes for or against a merge proposal are usually best put in the section containing the proposal, rather than in sections of their own, with votes for saying Support or Merge or something such as that and votes against saying Oppose or Don't merge or something such as that. See Kvng's vote for the proposal as an example. That way, all the discussion and voting is kept together. Guy Harris (talk) 19:15, 16 December 2023 (UTC)
- Oppose Both CISC and RISC are instruction sets but they are large and based on different ideas about the requirement of the instruction set CISC may not be explicitly discussed as much because CISC Is and has been the default since the start of the personal computing revolution, RISC has only recently become the dominant instruction set architecture.
- 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)
- 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)
- 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)
- 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)
- "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)
- Oppose per IP user and @VectorVoyager. --Urban Versis 32KB ⚡ (talk / contribs) 02:22, 11 September 2024 (UTC)