Talk:Microcode: Difference between revisions

Content deleted Content added
m Added wikiprojects
External links: Results of reviewing those pages.
 
(6 intermediate revisions by 4 users not shown)
Line 1:
{{Talk header}}
{{WikiProjectBannerShellWikiProject banner shell|collapsed=yes|1class=C|
{{WikiProject Computing |class=C |importance=mid |software=yes |software-importance=Mid}}
{{WikiProject Technology}}
{{WikiProject Computer science}}
Line 224:
:Indeed. Properly speaking microcode is used to impliment an instruction set, but from the 1960's IBM referred to VLIW code used for other purposes as microcode. Further, on the low end [[IBM System/360]] and [[IBM System/370|S/370]] machines, IBM used the same hardware instruction set to simulate the architect instructions and to implement the I/O channels.
 
:To add to the confusion, other terms have been used for code and instruction sets used to simulate another instruction set, e.g., ''logand'' and ''logram'' on the [[TRW]]-130; see [http://www.bitsavers.org/pdf/trw/trw-130/ bitsavers] for manuals. [[User:Chatul|Shmuel (Seymour J.) Metz Username:Chatul]] ([[User talk:Chatul|talk]]) 16:38, 7 August 2012 (UTC)
 
== History ==
Line 342:
:::::{{quote|The decoders translate x86 instructions into uops. P6 uops have a fixed length of 118 bits, using a regular structure to encode an operation, two sources, and a destination. The source and destination fields are each wide enough to contain a 32-bit operand. Like RISC instructions, uops use a load/store model; x86 instructions that operate on memory must be broken into a load uop, an ALU uop, and possibly a store uop.}}
:::::which is a description of a "generate micro-operations on the fly" processor, not a traditional "microcode as instruction set simulator" processor. [[User:Guy Harris|Guy Harris]] ([[User talk:Guy Harris|talk]]) 09:29, 20 July 2022 (UTC)
 
== Overview/Microcode ==
The '''Microcode''' subsection within the '''Overview''' section contains the following:
 
''Using microcode, all that changes is the code stored in the associated read only memory (ROM). This makes it much easier to fix problems in a microcode system. It also means that there is no effective limit to the complexity of the instructions, it is only limited by the amount of ROM one is willing to use.''
 
Since microcode can be updated, is it actually stored in ROM? I presume the answer is, "No," but I don't know what type of memory should be mentioned, so I didn't change the text.
--[[Special:Contributions/141.162.101.52|141.162.101.52]] ([[User talk:141.162.101.52|talk]]) 16:41, 26 September 2024 (UTC)
:{{tq|Since microcode can be updated}} ''Some'' microcode can be easily updated. Other microcode cannot be easily updated, such as the microcode in the [[IBM System/360 Model 30]], [[IBM System/360 Model 40]], and [[IBM System/360 Model 50]], which use capacitor read-only storage, [[transformer read-only storage]], (balanced) capacitor read-only storage, respectively; it may be possible to replace that ROM, or (in the case of the capacitor ROM) remove a component and replace it, but it can't be electronically updated, only manually updated. Other processors may have had microcode in on-chip ROM in a single-chip CPU, which can be replaced only by replacing the entire CPU.
:{{tq|is it actually stored in ROM?}} Yes on some systems, no on others. [[User:Guy Harris|Guy Harris]] ([[User talk:Guy Harris|talk]]) 18:01, 26 September 2024 (UTC)
::Fixed in [https://en.wikipedia.org/w/index.php?title=Microcode&diff=1247933799&oldid=1247898843 this edit]; I just spoke of the memory holding the microcode (which could be ROM, EEPROM, RAM, or secondary storage from which the microcode is loaded into RAM). [[User:Guy Harris|Guy Harris]] ([[User talk:Guy Harris|talk]]) 20:17, 26 September 2024 (UTC)
 
{{reflist-talk}}
 
==External links==
{{See| Wikipedia: External links}}
:Some things just grow during incremental edits and sometimes get out of hand. The "External links" section, one of the optional appendices, was expanded to 9 entries. Three seems to be an acceptable number, and of course, everyone has their favorite to try to add for a fourth. [[WP:consensus|Consensus]] needs to determine this. A tag indicates concerns.
:However, none is needed for article promotion.
:Some links may be included in [[WP:ELNO]], or [[WP:What Wikipedia is not|What Wikipedia is not]] (policy) such as [[WP:NOTREPOSITORY]] or [[WP:NOTGUIDE]].
*[[WP:ELDEAD]] may apply.
*In some cases [[WP:ELCITE|'''ELCITE''']] applies: {{tq|'''Do not use {{tl|cite web}}''' or other citation templates in the External links section. Citation templates are permitted in the Further reading section}}. Others, listed below:
*[[WP:ELPOINTS|'''ELpoints #3)''']] states: {{tq|Links in the "External links" section should be kept to a minimum. A lack of external links or a small number of external links is not a reason to add external links.}}
*[[WP:LINKFARM|'''LINKFARM''']] states: {{tq|There is nothing wrong with adding one or more useful content-relevant links to the external links section of an article; however, excessive lists can dwarf articles and detract from the purpose of Wikipedia. On articles about topics with many fansites, for example, including a link to one major fansite may be appropriate.}}
*[[WP:ELMIN|'''ELMIN''']]: {{tq|Minimize the number of links}}.
:The [[WP:External links|External links]]''' guideline '''This page in a nutshell''': {{tq|External links in an article can be helpful to the reader, but they should be kept minimal, meritable, and directly relevant to the article. With rare exceptions, external links should not be used in the body of an article.}}
:Second paragraph, {{tq|acceptable external links include those that contain further research that is accurate and on-topic, information that could not be added to the article for reasons such as copyright or amount of detail, or other meaningful, relevant content that is not suitable for inclusion in an article for reasons unrelated to its accuracy.}}
**'''Please also note''':
*[[WP:ELBURDEN]]: {{tq|'''Disputed links should be excluded by default''' unless and until there is a consensus to include them}}. Please do not add back more links without consensus. Simple solution to facilitate career maintenance tag. Move links here for discussion.
:'''Moved links''':
* [https://web.archive.org/web/20050124004424/http://www-03.ibm.com/ibm/history/exhibits/attic3/attic3_016.html Transformer Read-only Store]
* [http://people.cs.clemson.edu/~mark/uprog.html A Brief History of Microprogramming]
* [https://lists.debian.org/debian-user/2013/09/msg00126.html Intel processor microcode security update] (fixes the issues when running 32-bit virtual machines in PAE mode)
* [https://web.archive.org/web/20150907195925/http://inertiawar.com/microcode/hawkes_intel_microcode.pdf Notes on Intel Microcode Updates], March 2013, by Ben Hawkes, archived from the original on September 7, 2015
* [https://web.archive.org/web/20030309102752/http://www.eetimes.com/news/97/963news/hole.html Hole seen in Intel's bug-busting feature], ''[[EE Times]]'', 2002, by Alexander Wolfe, archived from the original on March 9, 2003
* [http://www.securiteam.com/securityreviews/5FP0M1PDFO.html Opteron Exposed: Reverse Engineering AMD K8 Microcode Updates], July 26, 2004
* [https://ieeexplore.ieee.org/document/8662722 WepSIM: An Online Interactive Educational Simulator Integrating Microdesign, Microprogramming, and Assembly Language Programming], July 26, 2022 -- [[User:Otr500|Otr500]] ([[User talk:Otr500|talk]]) 21:21, 5 July 2025 (UTC)
 
::Well, the [https://web.archive.org/web/20050124004424/http://www-03.ibm.com/ibm/history/exhibits/attic3/attic3_016.html Transformer Read-only Store] link would belong in [[Transformer read-only storage]], not in [[Microcode]].
::[http://people.cs.clemson.edu/~mark/uprog.html A Brief History of Microprogramming] strikes me as something that might be worthy of being in a "Further reading" section, if it's not already being used as a reference.
::Unless [https://lists.debian.org/debian-user/2013/09/msg00126.html Intel processor microcode security update] serves as a reference, it strikes me as an irrelevant detail about a particular microcode update for a particular processor; unless some article mentions that update, and uses it as a reference, I'm not convinced it's useful.
::[https://web.archive.org/web/20150907195925/http://inertiawar.com/microcode/hawkes_intel_microcode.pdf Notes on Intel Microcode Updates] might be worthy of a "Further reading" section in [[Intel microcode]], but not here.
::[https://web.archive.org/web/20030309102752/http://www.eetimes.com/news/97/963news/hole.html Hole seen in Intel's bug-busting feature] could be a reference for a claim that writable microcode has risks, rather than as an "External links" item.
::A version of [http://www.securiteam.com/securityreviews/5FP0M1PDFO.html Opteron Exposed: Reverse Engineering AMD K8 Microcode Updates] at https://web.archive.org/web/20210802224145/https://securiteam.com/securityreviews/5FP0M1PDFO/ might belong on an AMD microcode" page if it existed.
::[https://ieeexplore.ieee.org/document/8662722 WepSIM: An Online Interactive Educational Simulator Integrating Microdesign, Microprogramming, and Assembly Language Programming] might be of some interest somewhere, given that [https://wepsim.github.io WepSIM] still appears to be around, but I'm not sure where. [[User:Guy Harris|Guy Harris]] ([[User talk:Guy Harris|talk]]) 02:29, 6 July 2025 (UTC)