Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Instruction set architecture
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==={{Anchor|Fixed length|Fixed width|Variable length|Variable width}}Instruction length=== The size or length of an instruction varies widely, from as little as four bits in some [[microcontroller]]s to many hundreds of bits in some [[very long instruction word|VLIW]] systems. Processors used in [[personal computer]]s, [[mainframe computer|mainframe]]s, and [[supercomputer]]s have minimum instruction sizes between 8 and 64 bits. The longest possible instruction on x86 is 15 bytes (120 bits).<ref>{{cite web|title=Intel® 64 and IA-32 Architectures Software Developer's Manual|url=https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html|publisher=Intel Corporation|access-date=5 October 2022}}</ref> Within an instruction set, different instructions may have different lengths. In some architectures, notably most [[reduced instruction set computer]]s (RISC), {{vanchor|instructions are a fixed length|FIXED_LENGTH_INSTRUCTIONS}}, typically corresponding with that architecture's [[word (data type)|word size]]. In other architectures, instructions have [[variable-length code|variable length]], typically integral multiples of a [[byte]] or a [[halfword]]. Some, such as the [[ARMv7|ARM]] with ''Thumb-extension'' have ''mixed'' variable encoding, that is two fixed, usually 32-bit and 16-bit encodings, where instructions cannot be mixed freely but must be switched between on a branch (or exception boundary in ARMv8). Fixed-length instructions are less complicated to handle than variable-length instructions for several reasons (not having to check whether an instruction straddles a cache line or virtual memory page boundary,<ref name=Cocke/> for instance), and are therefore somewhat easier to optimize for speed.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)