Skip to main content

Instruction Set Architecture Ontology

Computer Architecture
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — INSTRUCTION SET ARCHITECTURE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-architecture/instruction-set-architecture-ontology.html

FLOW INSTRUCTION_SET_ARCHITECTURE_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Computer Architecture"
    ONTOLOGY = "Instruction Set Architecture Ontology"
    PURPOSE = "Formalise instruction-set architecture entities, instruction formats, operations, registers, addressing modes, data types, execution semantics and architectural state."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    INSTRUCTION_SET_ARCHITECTURE
    ISA
    COMPUTER_ARCHITECTURE
    PROCESSOR
    CPU
    CORE
    MICROARCHITECTURE
    INSTRUCTION
    MACHINE_INSTRUCTION
    OPCODE
    OPERAND
    SOURCE_OPERAND
    DESTINATION_OPERAND
    IMMEDIATE_VALUE
    INSTRUCTION_FORMAT
    INSTRUCTION_LENGTH
    INSTRUCTION_ENCODING
    OPERATION
    ARITHMETIC_OPERATION
    LOGICAL_OPERATION
    DATA_TRANSFER_OPERATION
    CONTROL_FLOW_OPERATION
    MEMORY_OPERATION
    SYSTEM_OPERATION
    VECTOR_OPERATION
    REGISTER
    GENERAL_PURPOSE_REGISTER
    SPECIAL_PURPOSE_REGISTER
    PROGRAM_COUNTER
    STATUS_REGISTER
    REGISTER_FILE
    MEMORY
    ADDRESS
    VIRTUAL_ADDRESS
    PHYSICAL_ADDRESS
    ADDRESSING_MODE
    IMMEDIATE_ADDRESSING
    REGISTER_ADDRESSING
    DIRECT_ADDRESSING
    INDIRECT_ADDRESSING
    INDEXED_ADDRESSING
    BASE_OFFSET_ADDRESSING
    DATA_TYPE
    INTEGER_TYPE
    FLOATING_POINT_TYPE
    VECTOR_TYPE
    BIT_WIDTH
    ENDIANNESS
    PRIVILEGE_LEVEL
    INTERRUPT
    EXCEPTION
    SYSTEM_CALL
    ARCHITECTURAL_STATE
    FLAG
    CONTROL_REGISTER
    MEMORY_MODEL
    ALIGNMENT_RULE
    CALLING_CONVENTION
    EXTENSION
    VERSION
    CONFIGURATION
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    CONTAINS
    DEFINES
    IMPLEMENTS
    ENCODES
    DECODES
    EXECUTES
    HAS_OPCODE
    HAS_OPERAND
    HAS_FORMAT
    HAS_ENCODING
    HAS_LENGTH
    HAS_OPERATION
    HAS_REGISTER
    HAS_REGISTER_FILE
    HAS_ADDRESSING_MODE
    HAS_DATA_TYPE
    HAS_BIT_WIDTH
    HAS_ENDIANNESS
    HAS_PRIVILEGE_LEVEL
    HAS_MEMORY_MODEL
    HAS_ALIGNMENT_RULE
    READS
    WRITES
    LOADS
    STORES
    BRANCHES_TO
    CALLS
    RETURNS
    RAISES_EXCEPTION
    HANDLES_INTERRUPT
    CHANGES_STATE
    HAS_ARCHITECTURAL_STATE
    HAS_EXTENSION
    HAS_VERSION
    HAS_CONFIGURATION
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    MAPS_TO
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    ISA_SPECIFICATIONS
    INSTRUCTION_DEFINITIONS
    OPCODE_TABLES
    INSTRUCTION_FORMATS
    ENCODING_RULES
    REGISTER_DEFINITIONS
    ADDRESSING_MODE_DEFINITIONS
    DATA_TYPE_DEFINITIONS
    MEMORY_MODEL_DEFINITIONS
    PRIVILEGE_DEFINITIONS
    INTERRUPT_DEFINITIONS
    EXCEPTION_DEFINITIONS
    ISA_EXTENSIONS
    VERSION_DATA
    EXECUTION_TRACES
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_ISA_IDENTIFIERS
    NORMALISE_ISA_NAMES
    NORMALISE_INSTRUCTION_NAMES
    NORMALISE_OPCODE_REPRESENTATIONS
    NORMALISE_REGISTER_NAMES
    NORMALISE_ADDRESSING_MODE_NAMES
    NORMALISE_DATA_TYPE_NAMES
    NORMALISE_BIT_WIDTHS
    NORMALISE_ENDIANNESS
    NORMALISE_PRIVILEGE_LEVELS
    NORMALISE_EXTENSION_NAMES
    NORMALISE_VERSION_IDENTIFIERS
    RESOLVE_REGISTER_ALIASES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS ISA_REASONING_PIPELINE {
    ISA_SPECIFICATION
      -> INSTRUCTION_SET_RESOLUTION
      -> REGISTER_MODEL_RESOLUTION
      -> ADDRESSING_MODEL_RESOLUTION
      -> DATA_TYPE_RESOLUTION
      -> MEMORY_AND_PRIVILEGE_MODEL_RESOLUTION
      -> EXECUTION_SEMANTICS_MAPPING
      -> VALIDATION
      -> OUTPUT
  }

  PROCESS INSTRUCTION_DECODE {
    INSTRUCTION_BITS
      -> FORMAT_IDENTIFICATION

    FORMAT_IDENTIFICATION
      -> OPCODE_EXTRACTION
      -> OPERAND_FIELD_EXTRACTION

    OPCODE_EXTRACTION
      -> OPERATION_RESOLUTION

    OPERAND_FIELD_EXTRACTION
      -> OPERAND_RESOLUTION

    OPERATION_RESOLUTION + OPERAND_RESOLUTION
      -> DECODED_INSTRUCTION
  }

  PROCESS OPERAND_REASONING {
    OPERAND_FIELD + ADDRESSING_MODE
      -> OPERAND_SOURCE

    OPERAND_SOURCE
      -> REGISTER_VALUE
      OR -> IMMEDIATE_VALUE
      OR -> MEMORY_ADDRESS

    MEMORY_ADDRESS
      -> MEMORY_OPERAND

    RESOLVED_OPERANDS
      -> EXECUTION_INPUTS
  }

  PROCESS INSTRUCTION_EXECUTION_SEMANTICS {
    ARCHITECTURAL_STATE(T1)
      + DECODED_INSTRUCTION
      -> ISA_DEFINED_OPERATION

    ISA_DEFINED_OPERATION
      -> RESULT
      -> MEMORY_EFFECT_IF_ANY
      -> REGISTER_EFFECT_IF_ANY
      -> FLAG_EFFECT_IF_ANY
      -> CONTROL_FLOW_EFFECT_IF_ANY

    EFFECTS
      -> ARCHITECTURAL_STATE(T2)
  }

  PROCESS CONTROL_FLOW_REASONING {
    CONTROL_FLOW_INSTRUCTION
      -> TARGET_RESOLUTION

    TARGET_RESOLUTION
      -> BRANCH_OR_CALL_OR_RETURN_TARGET

    CONDITION_IF_REQUIRED
      -> TAKEN_OR_NOT_TAKEN

    RESULT
      -> PROGRAM_COUNTER_UPDATE
  }

  PROCESS EXCEPTION_REASONING {
    INSTRUCTION_OR_EVENT
      -> EXCEPTION_CONDITION_CHECK

    EXCEPTION_CONDITION
      -> EXCEPTION_CLASSIFICATION

    EXCEPTION_CLASSIFICATION
      -> ARCHITECTURAL_STATE_SAVE_OR_UPDATE

    ARCHITECTURAL_STATE_SAVE_OR_UPDATE
      -> HANDLER_TRANSFER
  }

  PROCESS ISA_EXTENSION_REASONING {
    BASE_ISA + EXTENSION
      -> EXTENDED_INSTRUCTION_SET

    EXTENDED_INSTRUCTION_SET
      -> ADDITIONAL_INSTRUCTIONS
      -> ADDITIONAL_REGISTERS_IF_ANY
      -> ADDITIONAL_STATE_IF_ANY

    EXTENSION_SUPPORT
      -> IMPLEMENTATION_CAPABILITY
  }

  RULES {
    IF ENTITY == ISA
    THEN REQUIRE {
      INSTRUCTION_SET
      REGISTER_MODEL
      EXECUTION_SEMANTICS
      ADDRESSING_MODEL
    }

    IF MACHINE_INSTRUCTION_IS_DECODED
    THEN REQUIRE {
      ISA_CONTEXT
      INSTRUCTION_FORMAT
      OPCODE_MAPPING
    }

    IF REGISTER_NAME_IS_USED
    THEN PRESERVE ISA_AND_ALIAS_CONTEXT

    IF MEMORY_OPERAND_IS_RESOLVED
    THEN PRESERVE ADDRESSING_MODE_AND_ADDRESS_CONTEXT

    IF ISA_EXTENSION_IS_REQUIRED_BY_INSTRUCTION
    THEN DO_NOT_ASSERT_EXECUTABILITY_WITHOUT_EXTENSION_SUPPORT

    IF TWO_PROCESSORS_IMPLEMENT_SAME_ISA
    THEN DO_NOT_ASSUME_IDENTICAL_MICROARCHITECTURE_OR_PERFORMANCE

    IF SAME_OPCODE_BITS_EXIST_IN_DIFFERENT_ISAS
    THEN DO_NOT_ASSUME_IDENTICAL_INSTRUCTION_SEMANTICS

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND ISA_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        ISA_SPECIFICATION_COMPLETENESS,
        VERSION_CERTAINTY,
        INSTRUCTION_DECODE_CERTAINTY,
        REGISTER_MODEL_CERTAINTY,
        ADDRESSING_MODE_CERTAINTY,
        EXTENSION_SUPPORT_CERTAINTY,
        EXECUTION_TRACE_COMPLETENESS,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF ISA_VERSION_IS_UNKNOWN
    THEN REDUCE CONFIDENCE_SCORE

    IF EXTENSION_SUPPORT_IS_UNKNOWN
    THEN REDUCE_INSTRUCTION_SUPPORT_CONFIDENCE

    IF AUTHORITATIVE_SPECIFICATION_AND_TRACE_AGREE
    THEN INCREASE CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        CANONICAL_ISA_IDENTIFIER,
        ISA_VERSION,
        INSTRUCTION_OR_REGISTER_IDENTIFIER,
        EXTENSION_CONTEXT,
        ARCHITECTURAL_CONTEXT
      )

    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
    THEN A SEMANTICALLY_EQUIVALENT_TO B

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    ISA != MICROARCHITECTURE
    INSTRUCTION_ENCODING != INSTRUCTION_SEMANTICS
    OPCODE != COMPLETE_INSTRUCTION
    REGISTER_NAME != PHYSICAL_REGISTER_WITHOUT_IMPLEMENTATION_CONTEXT
    VIRTUAL_ADDRESS != PHYSICAL_ADDRESS
    ISA_COMPATIBILITY != PERFORMANCE_EQUIVALENCE
    ISA_EXTENSION != BASE_ISA
    SAME_MNEMONIC != SAME_SEMANTICS_ACROSS_ISAS
    SAME_OPCODE_BITS != SAME_SEMANTICS_ACROSS_ISAS
    ARCHITECTURAL_STATE != MICROARCHITECTURAL_STATE
    IMPLEMENTATION_DETAIL_MUST_NOT_BE_ASSUMED_FROM_ISA
    VERSION_CONTEXT_MUST_BE_PRESERVED
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_ISA_IDENTIFIER
    CHECK_ISA_VERSION
    CHECK_INSTRUCTION_FORMATS
    CHECK_OPCODE_MAPPINGS
    CHECK_REGISTER_MODEL
    CHECK_REGISTER_ALIASES
    CHECK_ADDRESSING_MODES
    CHECK_DATA_TYPES
    CHECK_ENDIANNESS
    CHECK_MEMORY_MODEL
    CHECK_PRIVILEGE_MODEL
    CHECK_EXCEPTION_SEMANTICS
    CHECK_EXTENSION_CONTEXT
    CHECK_EXECUTION_TRACE
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_ISA_ENTITIES
    INSTRUCTION_RELATIONS
    OPCODE_RELATIONS
    INSTRUCTION_FORMAT_RELATIONS
    REGISTER_RELATIONS
    REGISTER_ALIAS_RELATIONS
    ADDRESSING_MODE_RELATIONS
    DATA_TYPE_RELATIONS
    MEMORY_MODEL_RELATIONS
    PRIVILEGE_RELATIONS
    EXCEPTION_RELATIONS
    EXTENSION_RELATIONS
    ARCHITECTURAL_STATE_TRANSITIONS
    EXECUTION_SEMANTICS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON ISA_OR_VERSION_CHANGE {
      NORMALISE
      ENTITY_RESOLUTION
      UPDATE_INSTRUCTION_SET
      UPDATE_REGISTER_MODEL
      UPDATE_ADDRESSING_MODES
      UPDATE_DATA_TYPES
      UPDATE_EXTENSIONS
      RECOMPUTE_AFFECTED_RELATIONS
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    ON NEW_EXECUTION_OR_SPECIFICATION_EVIDENCE {
      LINK_EVIDENCE
      REASSESS_INSTRUCTION_SEMANTICS
      REASSESS_REGISTER_RELATIONS
      REASSESS_EXTENSION_SUPPORT
      UPDATE_CONFIDENCE
      RECORD_PROVENANCE
    }

    ON ONTOLOGY_REVISION {
      REMAP_TERMS
      CHECK_SEMANTIC_EQUIVALENCE
      IDENTIFY_DEPRECATED_TERMS
      MIGRATE_RELATIONSHIPS
      PRESERVE_PRIOR_VERSION_REFERENCES
    }
  }

  FLOW_HASH {
    HASH_INPUT =
      CANONICALISE(
        ENTITY_TYPES,
        RELATIONSHIPS,
        RULES,
        CONFIDENCE,
        SEMANTIC_EQUIVALENCE,
        REASONING_CONSTRAINTS,
        UPDATE_MODEL
      )

    FLOW_HASH = SHA256(HASH_INPUT)
  }

  AI_CONSUMPTION {
    INDEX {
      ONTOLOGY
      ENTITY_TYPES
      RELATIONSHIPS
      RULES
      OUTPUTS
    }

    RETRIEVE {
      BY_ISA
      BY_INSTRUCTION
      BY_OPCODE
      BY_FORMAT
      BY_REGISTER
      BY_ADDRESSING_MODE
      BY_DATA_TYPE
      BY_MEMORY_MODEL
      BY_PRIVILEGE_LEVEL
      BY_EXCEPTION
      BY_EXTENSION
      BY_VERSION
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      DECODE_INSTRUCTION
      RESOLVE_OPERANDS
      TRACE_ARCHITECTURAL_STATE
      TRACE_CONTROL_FLOW
      ANALYSE_EXCEPTION_SEMANTICS
      ANALYSE_EXTENSION_REQUIREMENTS
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_ISA_FROM_MICROARCHITECTURE
      DISTINGUISH_ENCODING_FROM_SEMANTICS
      PRESERVE_ISA_VERSION_AND_EXTENSION_CONTEXT
      PRESERVE_ADDRESSING_AND_REGISTER_CONTEXT
      DISTINGUISH_ARCHITECTURAL_FROM_IMPLEMENTATION_STATE
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_ISA_INFERENCE
    }
  }

  TERMINAL {
    RESULT =
      VALIDATED(
        SEMANTICALLY_NORMALISED(
          EVIDENCE_LINKED(
            CONFIDENCE_AWARE(
              INSTRUCTION_SET_ARCHITECTURE_KNOWLEDGE
            )
          )
        )
      )
  }
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ