Microcode: Difference between revisions

Content deleted Content added
Tags: Mobile edit Mobile web edit
Microcode isn't utilized in contemporary desktops and laptops from Apple, as they use Apple-designed ARM processors, not Intel or AMD x86 processors. Add "laptops" while we're at it. Microcode is used only for instructions that can't be purely handled by the decode hardware in P6+ processors, so remove "also". HTTPS One More Place.
Line 3:
{{Program execution}}
 
In [[processor design]], '''microcode''' serves as an intermediary layer situated between the [[central processing unit]] (CPU) hardware and the programmer-visible [[instruction set architecture]] of a computer, also known as its [[machine code]].<ref name="Kent2813">{{cite book |last1=Kent |first1=Allen |url=https://books.google.com/books?id=EjWV8J8CQEYC |title=Encyclopedia of Computer Science and Technology: Volume 28 - Supplement 13 |last2=Williams |first2=James G. |date=April 5, 1993 |publisher=Marcel Dekker, Inc |isbn=0-8247-2281-7 |___location=New York |access-date=Jan 17, 2016 |archive-url=https://web.archive.org/web/20161120161636/https://books.google.com/books?id=EjWV8J8CQEYC |archive-date=November 20, 2016 |url-status=live}}</ref>{{Page needed|date=July 2022}} It consists of a set of hardware-level instructions that implement the higher-level machine code instructions or control internal [[finite-state machine]] sequencing in many [[digital processing]] components. While microcode is utilized in [[Intel]] and [[AMD]] general-purpose CPUs in contemporary desktops and laptops, it also functions only as a fallback path for scenarios that the faster [[hardwired control unit]] is unable to manage.<ref name="FogMicro">{{cite report |url=httphttps://www.agner.org/optimize/microarchitecture.pdf |title=The microarchitecture of Intel, AMD and VIA CPUs |last1=Fog |first1=Agner |date=2017-05-02 |publisher=Technical University of Denmark |access-date=2018-042024-08-21 |archive-url= https://web.archive.org/web/20170328065929/httphttps://agner.org/optimize/microarchitecture.pdf |archive-date=2017-03-28 |url-status=live}}</ref>
 
Housed in special high-speed memory, microcode translates machine instructions, [[state machine]] data, or other input into sequences of detailed circuit-level operations. It separates the machine instructions from the underlying [[electronics]], thereby enabling greater flexibility in designing and altering instructions. Moreover, it facilitates the construction of complex multi-step instructions, while simultaneously reducing the complexity of computer circuits. The act of writing microcode is often referred to as ''microprogramming'', and the microcode in a specific processor implementation is sometimes termed a ''microprogram''.