This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||
|
I have made major revisions to this stub. I added information about microarchitecture, the history, different types, and implementations. Please let me know if you have any comments or concerns. Thank you — Preceding unsigned comment added by Timmh ( talk • contribs) 02:57, 22 February 2007 (UTC)
I think this article is beautifully written, and as a chemistry student with a life long interest in computers, I found this very easy to understand and now I have a much greater understanding of how the CPU works. Grammar and such can be fixed, but I think the content style is just perfect. If someone plans to add in more technical information and / or mathematical derivations, please preserve this content. - Bryan, UT — Preceding unsigned comment added by 142.150.227.231 ( talk) 13:40, 10 July 2009 (UTC)
The definition of uarch used in this article is very confused. For microprocessors, uArch design is the system-level design which is implementation specific and does not affect Instruction set behavior. For example having 2 integer ALUs vs 1, having that ALU be 4 pipeline stages long as opposed to 6. So the first paragraph IS correct.
The second paragraph uses the term "physical". That's a dangerous term to use. For microprocessors, "physical" design means layout or mask design. The term "Microarchitecture design" is solely used for system design that's done before logic design, never for circuit design.
The History section is incorrect. It seems to confuse microarchitecture with miniaturization. As used in Computer architecture, the "micro" in microarchitecture is a mis-nomer. It came from the days of micro-code and microprogramming - the design of a CPU below the level of the "macro" instruction, eg. the user-visible instruction set.
The Component section isn't saying anything relevant. Yes, these are components used in microprocessors, but that doesn't directly explain what microarchitecture is.
The Types section is also 100% incorrect. As previously stated, uArch is NOT instruction set architecture. Just the opposite. It's closer to types of pipelines , eg. 5-stage pipeline vs 15-stage pipeline.
ps. For edits on a talk page, you ought to leave your signature (4 tildes). Like this. Dyl 06:28, 22 February 2007 (UTC)
That other article has a nice description paragraph of this activity, but not much else. This article has a more complete listing of concepts that are used in this activity. My opinion is the 2 articles ought to be merged. Also, nobody in the industry uses the term computer organization, rather it's architecture or more correctly microarchitecture. Dyl 17:03, 25 February 2007 (UTC)
I agree that the too topics should be merged. Computer organization could be redirected to microarchitecture. Although I have no industry experience, I know these two topics were introduced as one in the classroom. -- Timmh 20:52, 6 March 2007 (UTC)
Nobody in the industry uses computer organisation ? But everydody who wrote books about this subjet name them as computer architecture and organization (Murdocca & Heuring), Computer Architecture (Hennessy & Patterson), Computer Organisation & Design (Patterson & Hennessy), and a lot of others found easily in Google. So I think the main title should reflect the references, not the word used by people. Moreover, (micro)architecture is only a part of the computer organization and/or design. Majorkell ( talk) 14:39, 11 February 2008 (UTC)
I learned this subject as computer organization, along with the ISA, as different subjects of computer architecture. As I learned it, out of Computer Organisation & Design by Patterson & Hennessy, the materials covered in this article (microarchitecture) are what I learned under the term computer organization. Int21h ( talk) 18:12, 14 May 2010 (UTC)
In my experience with microarchitecture (undergraduate processor architecture class) the design was created using a hardware description language such as Varilog or VHDL. My question to those in industry, does this fit with this article? I believe that the article would benefit from a section describing the use of a HDL. Thoughts? -- Timmh 21:00, 6 March 2007 (UTC)
As the architecture use constraints coming from a lot of sources, I think all should be mentionned if possible. Physics contraints clock, routing, size, ... HDL describs logic and path and enforce using particular technics, ... memory, peripherals, ... all are used to teach this subject and even industrials should agree that subjets should at least be mentionned in this page because they are particularly determining for the architecture. Majorkell ( talk) 14:59, 11 February 2008 (UTC)
It seems that something should be said about how memory relates to microarchitecture. It is my understanding that the memory subsystem is usually contained in the microarchitecture. In other microarchitectures memory controllers are part of the microarchitecture. I believe a section on memory would benefit the article. -- Timmh 04:14, 27 March 2007 (UTC)
Trying to fix. This is a bit of a mess without a single voice. I'm killing large swaths of verbage at the moment, please let me know if I killed something I shouldn't have. We could _really_ use some figures as examples of data path, control path, etc. Anyone got anything in the public domain that would work? Hobit ( talk) 20:31, 21 May 2009 (UTC)
There's a section on Branch Prediction and on Speculative Execution, which are the same thing. 74.196.167.148 ( talk) 05:28, 9 September 2009 (UTC)
1.) From an external point of view of a Microprocessor we see the Instruction Decoder. The Microinstructions generated by the Instruction Decoder act directly on the Micromachine Microarchitecture. The Micromachine is controlled by either digital logic gates like a State Machine (CPUs like CDP1802, 8X300, and early RISC CPUs e.g. IM6100/PDP8) or by Microcode (6502, MC680x0, i8080 and newer).
2.) The IBM (PC,XT,AT)/370 mainframe emulators used Motorola MC68000 with internal masked microcode that caused the Instruction Decoder to execute IBM System/370 instructions.
3.) Intel CPUs allow BIOS to update Microcode on boot, or even update Microcode in Windows, ostensibly to fix discovered flaws.
4.) RISC vs CISC is an Instruction Set issue. RISC stands for Reduced Instruction Set Computing in fact. The Architecture of the underlying Micromachine is unlikely to bear directly upon the choice of Instruction Set. Instruction Sets that have survived are those that are productive for programmers. True RISC machines have difficulty with subroutines in ROM. True RISC does not include Virtual Memory Management instructions, a requirement for multitasking rather than 1970's punched card batch jobs.
5.) Hardware level or Micromachine level functionality such as cache configuration, pipeline management, and register renaming are irrelevant to RISC or CISC but are part of the Micromachine Architecture. Hardware tricks to make up for RISC lack of usability, such as registers that always return a constant (ARM) and fast (internal) page zero RAM( TI-990). We used TMS9995 for embedded control because of the register file in internal fast memory; although this like SPARC is RISC instruction set acting load-store, accesses were hidden by hardware architecture, were actually memory to memory which is decidedly non-RISC.
6.) SPARC was not fast because it was RISC, it was fast due to hardware. The limitation of its hardware method caused SUN to abandon SPARC architecture in favor of x86:
7.)When Apple switched from 68030/68040 @33MHz to PowerPC architecture @66 MHz program execution was actually SLOWER WITH RISC due to RISC requirement of more instructions for the same task and use of same speed memory for both systems.
8.) TMS9900 used 4 phase clock, digital logic, and state machine instruction decode and timing. Complex digital logic is prone to transient glitches (e.g. race conditions) but simpler implementations take up less silicon. Chip designers "take the easy way out" by using Microcode. Later TMS99000 versions are microcoded.
from the Data General NOVA RISC minicomputer architecture to its successor microBlaze (from Fairchild 9440 microFlame) (version 5) http://www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf Shjacks45 ( talk) 13:24, 4 May 2010 (UTC)
The reference(Computer Science in the 60s?) in the article to the architecture to be the physical boxes that made up the IBM System/360 and the structure of the parts inside the boxes as microarchitecture seems at odds with the current definition that the architecture of the CPU is its programming model and the "Microarchitecture" being its internal structure, or "Ghost in the Machine".
Shjacks45 ( talk) 13:48, 4 May 2010 (UTC)
should we make a split for the term used in this article (Microarchitecture) to clear up some confusion? one of my ideas was to make another article names Microarchitecture (CPU) and Architecture (CPU) to clear up some confusion with intel and amds format, and then also implementing those into the CPU infobox template. Matthew Smith ( talk) 13:22, 6 September 2012 (UTC)
The lead section states that computer organization is a synonym of microarchitecture and computer organization presently redirects to here. The lead section cites an ACM document that prescribes essential topics for a computer engineering course. My understanding of this document is that its definition of computer organization is solely the purpose of standardizing the terms it uses; it does not claim that its definition reflects common usage in the field of computing. A brief survey of reliable sources suggests that there is no simple or universally agreed definition for computer organization:
The surveyed reliable sources are all quality tertiary-level textbooks by prominent and learned authors, but they differ widely:
This article presently covers microarchitecture consistent the definitions given in #1, #2, and #3; and claims that computer organization is synonymous to microarchitecture, which is contrary to #3, #4, #5. By omitting alternative definitions of computer organization and microarchitecture in favour of one definition, this article is factually inaccurate and is assuming a point-of-view. WP:NPOV requires that where there is no consensus in the literature, then all major perspectives should be covered without any preference given to any.
In my opinion, the earlier discussions regarding computer organization being synonymous to microarchitecture ( Talk:Computer organization, Talk:Microarchitecture#Merge with Computer organization ?, and WP:Articles for deletion/Computer organization) that have led to the present situation did not consider the issue well enough. I believe the issue needs to be reviewed. 50504F ( talk) 04:20, 16 February 2017 (UTC)
"the ways the PCB is pathed in the Processing unit" - what does this mean? 'PCB' lacks any explanation; I would normally translate it as Printed Circuit Board, but that's obviously wrong in context.
I've been programming computers as my trade since 1982, and so I ought to be able to interpret the lede (general summary) of an article on computer architecture. What has gone wrong here? MrDemeanour ( talk) 12:39, 10 January 2018 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on Microarchitecture. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018.
After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than
regular verification using the archive tool instructions below. Editors
have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the
RfC before doing mass systematic removals. This message is updated dynamically through the template {{
source check}}
(last update: 5 June 2024).
Cheers.— InternetArchiveBot ( Report bug) 07:17, 29 January 2018 (UTC)
An editor has asked for a discussion to address the redirect Sunny Cove. Please participate in the redirect discussion if you wish to do so. signed, Rosguill talk 21:42, 26 April 2019 (UTC)
No mention of GPU anywhere in the articles text; the entire article reads as though the microarchitecture concept is only applicable to CPU design. — Preceding unsigned comment added by Norlesh ( talk • contribs) 05:38, 20 April 2022 (UTC)
This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | |||||||||||
|
I have made major revisions to this stub. I added information about microarchitecture, the history, different types, and implementations. Please let me know if you have any comments or concerns. Thank you — Preceding unsigned comment added by Timmh ( talk • contribs) 02:57, 22 February 2007 (UTC)
I think this article is beautifully written, and as a chemistry student with a life long interest in computers, I found this very easy to understand and now I have a much greater understanding of how the CPU works. Grammar and such can be fixed, but I think the content style is just perfect. If someone plans to add in more technical information and / or mathematical derivations, please preserve this content. - Bryan, UT — Preceding unsigned comment added by 142.150.227.231 ( talk) 13:40, 10 July 2009 (UTC)
The definition of uarch used in this article is very confused. For microprocessors, uArch design is the system-level design which is implementation specific and does not affect Instruction set behavior. For example having 2 integer ALUs vs 1, having that ALU be 4 pipeline stages long as opposed to 6. So the first paragraph IS correct.
The second paragraph uses the term "physical". That's a dangerous term to use. For microprocessors, "physical" design means layout or mask design. The term "Microarchitecture design" is solely used for system design that's done before logic design, never for circuit design.
The History section is incorrect. It seems to confuse microarchitecture with miniaturization. As used in Computer architecture, the "micro" in microarchitecture is a mis-nomer. It came from the days of micro-code and microprogramming - the design of a CPU below the level of the "macro" instruction, eg. the user-visible instruction set.
The Component section isn't saying anything relevant. Yes, these are components used in microprocessors, but that doesn't directly explain what microarchitecture is.
The Types section is also 100% incorrect. As previously stated, uArch is NOT instruction set architecture. Just the opposite. It's closer to types of pipelines , eg. 5-stage pipeline vs 15-stage pipeline.
ps. For edits on a talk page, you ought to leave your signature (4 tildes). Like this. Dyl 06:28, 22 February 2007 (UTC)
That other article has a nice description paragraph of this activity, but not much else. This article has a more complete listing of concepts that are used in this activity. My opinion is the 2 articles ought to be merged. Also, nobody in the industry uses the term computer organization, rather it's architecture or more correctly microarchitecture. Dyl 17:03, 25 February 2007 (UTC)
I agree that the too topics should be merged. Computer organization could be redirected to microarchitecture. Although I have no industry experience, I know these two topics were introduced as one in the classroom. -- Timmh 20:52, 6 March 2007 (UTC)
Nobody in the industry uses computer organisation ? But everydody who wrote books about this subjet name them as computer architecture and organization (Murdocca & Heuring), Computer Architecture (Hennessy & Patterson), Computer Organisation & Design (Patterson & Hennessy), and a lot of others found easily in Google. So I think the main title should reflect the references, not the word used by people. Moreover, (micro)architecture is only a part of the computer organization and/or design. Majorkell ( talk) 14:39, 11 February 2008 (UTC)
I learned this subject as computer organization, along with the ISA, as different subjects of computer architecture. As I learned it, out of Computer Organisation & Design by Patterson & Hennessy, the materials covered in this article (microarchitecture) are what I learned under the term computer organization. Int21h ( talk) 18:12, 14 May 2010 (UTC)
In my experience with microarchitecture (undergraduate processor architecture class) the design was created using a hardware description language such as Varilog or VHDL. My question to those in industry, does this fit with this article? I believe that the article would benefit from a section describing the use of a HDL. Thoughts? -- Timmh 21:00, 6 March 2007 (UTC)
As the architecture use constraints coming from a lot of sources, I think all should be mentionned if possible. Physics contraints clock, routing, size, ... HDL describs logic and path and enforce using particular technics, ... memory, peripherals, ... all are used to teach this subject and even industrials should agree that subjets should at least be mentionned in this page because they are particularly determining for the architecture. Majorkell ( talk) 14:59, 11 February 2008 (UTC)
It seems that something should be said about how memory relates to microarchitecture. It is my understanding that the memory subsystem is usually contained in the microarchitecture. In other microarchitectures memory controllers are part of the microarchitecture. I believe a section on memory would benefit the article. -- Timmh 04:14, 27 March 2007 (UTC)
Trying to fix. This is a bit of a mess without a single voice. I'm killing large swaths of verbage at the moment, please let me know if I killed something I shouldn't have. We could _really_ use some figures as examples of data path, control path, etc. Anyone got anything in the public domain that would work? Hobit ( talk) 20:31, 21 May 2009 (UTC)
There's a section on Branch Prediction and on Speculative Execution, which are the same thing. 74.196.167.148 ( talk) 05:28, 9 September 2009 (UTC)
1.) From an external point of view of a Microprocessor we see the Instruction Decoder. The Microinstructions generated by the Instruction Decoder act directly on the Micromachine Microarchitecture. The Micromachine is controlled by either digital logic gates like a State Machine (CPUs like CDP1802, 8X300, and early RISC CPUs e.g. IM6100/PDP8) or by Microcode (6502, MC680x0, i8080 and newer).
2.) The IBM (PC,XT,AT)/370 mainframe emulators used Motorola MC68000 with internal masked microcode that caused the Instruction Decoder to execute IBM System/370 instructions.
3.) Intel CPUs allow BIOS to update Microcode on boot, or even update Microcode in Windows, ostensibly to fix discovered flaws.
4.) RISC vs CISC is an Instruction Set issue. RISC stands for Reduced Instruction Set Computing in fact. The Architecture of the underlying Micromachine is unlikely to bear directly upon the choice of Instruction Set. Instruction Sets that have survived are those that are productive for programmers. True RISC machines have difficulty with subroutines in ROM. True RISC does not include Virtual Memory Management instructions, a requirement for multitasking rather than 1970's punched card batch jobs.
5.) Hardware level or Micromachine level functionality such as cache configuration, pipeline management, and register renaming are irrelevant to RISC or CISC but are part of the Micromachine Architecture. Hardware tricks to make up for RISC lack of usability, such as registers that always return a constant (ARM) and fast (internal) page zero RAM( TI-990). We used TMS9995 for embedded control because of the register file in internal fast memory; although this like SPARC is RISC instruction set acting load-store, accesses were hidden by hardware architecture, were actually memory to memory which is decidedly non-RISC.
6.) SPARC was not fast because it was RISC, it was fast due to hardware. The limitation of its hardware method caused SUN to abandon SPARC architecture in favor of x86:
7.)When Apple switched from 68030/68040 @33MHz to PowerPC architecture @66 MHz program execution was actually SLOWER WITH RISC due to RISC requirement of more instructions for the same task and use of same speed memory for both systems.
8.) TMS9900 used 4 phase clock, digital logic, and state machine instruction decode and timing. Complex digital logic is prone to transient glitches (e.g. race conditions) but simpler implementations take up less silicon. Chip designers "take the easy way out" by using Microcode. Later TMS99000 versions are microcoded.
from the Data General NOVA RISC minicomputer architecture to its successor microBlaze (from Fairchild 9440 microFlame) (version 5) http://www.xilinx.com/support/documentation/sw_manuals/mb_ref_guide.pdf Shjacks45 ( talk) 13:24, 4 May 2010 (UTC)
The reference(Computer Science in the 60s?) in the article to the architecture to be the physical boxes that made up the IBM System/360 and the structure of the parts inside the boxes as microarchitecture seems at odds with the current definition that the architecture of the CPU is its programming model and the "Microarchitecture" being its internal structure, or "Ghost in the Machine".
Shjacks45 ( talk) 13:48, 4 May 2010 (UTC)
should we make a split for the term used in this article (Microarchitecture) to clear up some confusion? one of my ideas was to make another article names Microarchitecture (CPU) and Architecture (CPU) to clear up some confusion with intel and amds format, and then also implementing those into the CPU infobox template. Matthew Smith ( talk) 13:22, 6 September 2012 (UTC)
The lead section states that computer organization is a synonym of microarchitecture and computer organization presently redirects to here. The lead section cites an ACM document that prescribes essential topics for a computer engineering course. My understanding of this document is that its definition of computer organization is solely the purpose of standardizing the terms it uses; it does not claim that its definition reflects common usage in the field of computing. A brief survey of reliable sources suggests that there is no simple or universally agreed definition for computer organization:
The surveyed reliable sources are all quality tertiary-level textbooks by prominent and learned authors, but they differ widely:
This article presently covers microarchitecture consistent the definitions given in #1, #2, and #3; and claims that computer organization is synonymous to microarchitecture, which is contrary to #3, #4, #5. By omitting alternative definitions of computer organization and microarchitecture in favour of one definition, this article is factually inaccurate and is assuming a point-of-view. WP:NPOV requires that where there is no consensus in the literature, then all major perspectives should be covered without any preference given to any.
In my opinion, the earlier discussions regarding computer organization being synonymous to microarchitecture ( Talk:Computer organization, Talk:Microarchitecture#Merge with Computer organization ?, and WP:Articles for deletion/Computer organization) that have led to the present situation did not consider the issue well enough. I believe the issue needs to be reviewed. 50504F ( talk) 04:20, 16 February 2017 (UTC)
"the ways the PCB is pathed in the Processing unit" - what does this mean? 'PCB' lacks any explanation; I would normally translate it as Printed Circuit Board, but that's obviously wrong in context.
I've been programming computers as my trade since 1982, and so I ought to be able to interpret the lede (general summary) of an article on computer architecture. What has gone wrong here? MrDemeanour ( talk) 12:39, 10 January 2018 (UTC)
Hello fellow Wikipedians,
I have just modified one external link on Microarchitecture. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.
This message was posted before February 2018.
After February 2018, "External links modified" talk page sections are no longer generated or monitored by InternetArchiveBot. No special action is required regarding these talk page notices, other than
regular verification using the archive tool instructions below. Editors
have permission to delete these "External links modified" talk page sections if they want to de-clutter talk pages, but see the
RfC before doing mass systematic removals. This message is updated dynamically through the template {{
source check}}
(last update: 5 June 2024).
Cheers.— InternetArchiveBot ( Report bug) 07:17, 29 January 2018 (UTC)
An editor has asked for a discussion to address the redirect Sunny Cove. Please participate in the redirect discussion if you wish to do so. signed, Rosguill talk 21:42, 26 April 2019 (UTC)
No mention of GPU anywhere in the articles text; the entire article reads as though the microarchitecture concept is only applicable to CPU design. — Preceding unsigned comment added by Norlesh ( talk • contribs) 05:38, 20 April 2022 (UTC)