Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Historical reasoning  



1.1  CPU families affected  







2 x86 capability flags  





3 Supplementary Capabilities Not Represented By Flags  



3.1  Processor Supplementary Instructions  



3.1.1  IA-32  









4 FPU and MMU capability  





5 See also  





6 References  














Processor supplementary capability







Add links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Aprocessor supplementary capability is a feature that has been added to an existing central processing unit (CPU) design after the initial introduction of that design to the marketplace.

A supplementary capability increases the usefulness of the processor design, allowing it to compete more favorably with competitors and giving consumers a reason to upgrade, while retaining backwards compatibility with the original design.

The CPU supplementary instruction capability does not as a rule apply to 8 or 16 bit CPUs, as many of these CPUs are used mostly as microcontrollers. On modern 32 and 64 bit CPUs the processor supplementary capability does not extend to Floating Point Units (FPUs)orMemory Management Units (MMUs) as these are considered to be fundamental core functionalities. Extensions to the core functionalities of the MMU and FPU may be considered CPU extensions however.

Historical reasoning[edit]

The supplementary instructions feature has always been assumed to mean fixed sets of instructions that are not obligatory across all CPUs in a CPU family. Supplementary instructions will simply not be found on all processors within that family.[1] A programmer who wishes to use a supplementary feature of a CPU is faced with a couple of choices.

Supplemental instruction programming options

Should the needed instructions not be there a fall back to a (presumably slower or otherwise less desirable) alternative technique can be initiated or else the program may be set to run with reduced functionality.

By using a lowest common denominator strategy (avoiding use of processor supplementary capabilities), programs can be kept portable across all machines of the same architecture.[2]

CPU families affected[edit]

Some popular processor architectures such as x86, 68000, and MIPS have seen many new capabilities introduced over several generations of design.

Some of these capabilities have then seen widespread adoption by programmers, spurring consumer upgrades and making the previous generations of processors obsolete.

x86 capability flags[edit]

VME Virtual 8086 mode Enhancement
DE Debugging Extensions
PSE Page Size Extensions
TSC Time Stamp Counter
MSR RDMSR and WRMSR Support
PAE Physical Address Extensions
MCE Machine Check Exception
CXS CMPXCHG8B Instruction (also see Double compare-and-swap and Transactional Synchronization Extensions)
APIC APIC on Chip (also see APIC)
MTRR Memory Type Range Register
PGE PTE Global Bit (also see Page table)
MCA Machine Check Architecture
CMOV Conditional Move and Compare Instructions (also see FCMOV)

Supplementary Capabilities Not Represented By Flags[edit]

Include (not full list):

Processor Supplementary Instructions[edit]

Processor Supplementary Instructions are instructions that have been implemented on certain processors within a family, but are not present on all processors within a particular family.

IA-32[edit]

The following instructions are considered to be processor supplementary instructions on IA-32 architecture. These instructions were added to later production processors, and are not part of the original IA-32 instruction set. Programs containing these instructions may not operate correctly on all machines in the IA-32 family:

bswap byte swap
cmov conditional move
cmova
cmovae
cmovb
cmovbe
cmovc
cmove
cmovg
cmovge
cmovl
cmovle
cmovna
cmovnae
cmovnb
cmovnbe
cmovnc
cmovng
cmovnge
cmovnl
cmovnle
cmovno
cmovnp
cmovns
cmovnz
cmovo
cmovp
cmovpe
cmovpo
cmovs
cmovz
cpuid
fcmov floating point conditional move
fcomi
nopl
rdpmc read performance monitor counts
rdtsc read time stamp counter
syscall
sysenter
sysexit
sysret
ud2 an undefined instruction just for software testing
xsave save processor extended states
xrstor restore processor extended states

FPU and MMU capability[edit]

The FPU (Floating Point Unit) maths co-processing capability is available on all x86 processors since the 80486DX series. The FPU and MMU instruction sets (for the x86 family) have not been considered supplementary instructions since their introduction due to their importance to core CPU functionality.

See also[edit]

References[edit]

  • ^ http://markhobley.yi.org/glossary/supplementarycapability.html[permanent dead link]

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Processor_supplementary_capability&oldid=1153287833"

    Category: 
    Central processing unit
    Hidden categories: 
    All articles with dead external links
    Articles with dead external links from April 2018
    Articles with permanently dead external links
    Articles with short description
    Short description matches Wikidata
    Wikipedia articles needing context from October 2009
    Wikipedia articles that are excessively detailed from February 2018
    All articles that are excessively detailed
    Wikipedia articles with style issues from February 2018
    All articles with style issues
    Articles with multiple maintenance issues
    Use American English from January 2019
    All Wikipedia articles written in American English
     



    This page was last edited on 5 May 2023, at 10:29 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki