Instruction Set Architecture (ISA)

ROAM_ALIASES: "Instruction Set Architecture" ISA

An abstract model of the execution and operation of a computer or family of computers.

(en.wikipedia.org) Instruction set architecture - Wikipedia   website

ROAM_REFS: https://en.wikipedia.org/wiki/Instruction_set_architecture

In computer science, an instruction set architecture (ISA) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, such as a central processing unit (CPU), is called an implementation of that ISA.

In general, an ISA defines the supported instructions, data types, registers, the hardware support for managing main memory,[/clarification needed/] fundamental features (such as the memory consistency, addressing modes, virtual memory), and the input/output model of implementations of the ISA.

An ISA specifies the behavior of machine code running on implementations of that ISA in a fashion that does not depend on the characteristics of that implementation, providing binary compatibility between implementations. This enables multiple implementations of an ISA that differ in characteristics such as performance, physical size, and monetary cost (among other things), but that are capable of running the same machine code, so that a lower-performance, lower-cost machine can be replaced with a higher-cost, higher-performance machine without having to replace software. It also enables the evolution of the microarchitectures of the implementations of that ISA, so that a newer, higher-performance implementation of an ISA can run software that runs on previous generations of implementations.

If an operating system maintains a standard and compatible application binary interface (ABI) for a particular ISA, machine code will run on future implementations of that ISA and operating system. However, if an ISA supports running multiple operating systems, it does not guarantee that machine code for one operating system will run on another operating system, unless the first operating system supports running machine code built for the other operating system.

An ISA can be extended by adding instructions or other capabilities, or adding support for larger addresses and data values; an implementation of the extended ISA will still be able to execute machine code for versions of the ISA without those extensions. Machine code using those extensions will only run on implementations that support those extensions.

The binary compatibility that they provide makes ISAs one of the most fundamental abstractions in computing.

Local Graph

org-roam 8d70d8dc-cecc-4503-89cc-e1c4e450f98d SPARC c980a340-2564-437e-a79f-388122a206ad Instruction Set Architecture (ISA) 8d70d8dc-cecc-4503-89cc-e1c4e450f98d->c980a340-2564-437e-a79f-388122a206ad a8d02b0f-47be-4c40-bdb8-5ccc1938582d Minimal Instruction Set Computer (MISC) a8d02b0f-47be-4c40-bdb8-5ccc1938582d->c980a340-2564-437e-a79f-388122a206ad dd6df822-9782-41ae-b96d-9990884b7cca Intel 8080 dd6df822-9782-41ae-b96d-9990884b7cca->c980a340-2564-437e-a79f-388122a206ad 2abf38db-4aaf-4bca-87c8-0c1ab211b9d6 MOS 6502 2abf38db-4aaf-4bca-87c8-0c1ab211b9d6->c980a340-2564-437e-a79f-388122a206ad 96b6fc36-5b86-4108-b2b4-39b85a38f385 Complex Instruction Set Computer (CISC) 96b6fc36-5b86-4108-b2b4-39b85a38f385->c980a340-2564-437e-a79f-388122a206ad 321ba3cc-d73a-4620-88f7-2527cbae1aac Reduced Instruction Set Computer (RISC) 321ba3cc-d73a-4620-88f7-2527cbae1aac->c980a340-2564-437e-a79f-388122a206ad d548e7db-0a88-4a2f-a2a7-ac90f4676046 OpenRISC d548e7db-0a88-4a2f-a2a7-ac90f4676046->c980a340-2564-437e-a79f-388122a206ad 4467ec8c-6e6e-45fe-8e90-b2d7c520e9fe DEC Alpha 4467ec8c-6e6e-45fe-8e90-b2d7c520e9fe->c980a340-2564-437e-a79f-388122a206ad 9eb1ccab-a5d8-458c-b532-528551c420ca MIPS 9eb1ccab-a5d8-458c-b532-528551c420ca->c980a340-2564-437e-a79f-388122a206ad 04f28544-1c6f-4519-8c5d-88c0ff07c656 x86 04f28544-1c6f-4519-8c5d-88c0ff07c656->c980a340-2564-437e-a79f-388122a206ad 8e1bda84-ba8e-4e65-a27f-79bbfe203ae5 Zilog Z80 8e1bda84-ba8e-4e65-a27f-79bbfe203ae5->c980a340-2564-437e-a79f-388122a206ad 7b05bea8-f797-4cbe-8a6a-a6c10e3f9636 Motorola 68000 (m68k) 7b05bea8-f797-4cbe-8a6a-a6c10e3f9636->c980a340-2564-437e-a79f-388122a206ad d76dd6d0-cc93-40cd-b8de-9da49431281c RISC-V d76dd6d0-cc93-40cd-b8de-9da49431281c->c980a340-2564-437e-a79f-388122a206ad 1662ad74-9db0-4436-b928-ea9c36383d71 Power ISA 1662ad74-9db0-4436-b928-ea9c36383d71->c980a340-2564-437e-a79f-388122a206ad 34a6d6d5-128a-483e-8d57-8b8f01f2c1ad ARM 34a6d6d5-128a-483e-8d57-8b8f01f2c1ad->c980a340-2564-437e-a79f-388122a206ad 3fd2f9e9-976e-4eea-a664-ee59980c4bf1 Computer Architecture: Pipelined and ... 3fd2f9e9-976e-4eea-a664-ee59980c4bf1->c980a340-2564-437e-a79f-388122a206ad 5c3575fd-40a0-49bb-8be0-4f9e6d9a6024 High-Level Language Computer Architec... 5c3575fd-40a0-49bb-8be0-4f9e6d9a6024->c980a340-2564-437e-a79f-388122a206ad