Skip to main content

Cache 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 — CACHE ARCHITECTURE ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/ontologies/computing-ontologies/computer-architecture/cache-architecture-ontology.html

FLOW CACHE_ARCHITECTURE_ONTOLOGY {

  META {
    DOMAIN = "Computing Ontologies"
    SUBDOMAIN = "Computer Architecture"
    ONTOLOGY = "Cache Architecture Ontology"
    PURPOSE = "Formalise cache hierarchy entities, cache lines, mappings, lookup behaviour, replacement, write policies, coherence and performance relationships."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    CACHE_ARCHITECTURE
    CACHE
    INSTRUCTION_CACHE
    DATA_CACHE
    UNIFIED_CACHE
    L1_CACHE
    L2_CACHE
    L3_CACHE
    PRIVATE_CACHE
    SHARED_CACHE
    CPU
    PROCESSOR
    CORE
    MEMORY
    MAIN_MEMORY
    MEMORY_HIERARCHY
    CACHE_LINE
    CACHE_BLOCK
    CACHE_SET
    CACHE_WAY
    TAG
    INDEX
    OFFSET
    ADDRESS
    VIRTUAL_ADDRESS
    PHYSICAL_ADDRESS
    CACHE_ENTRY
    VALID_BIT
    DIRTY_BIT
    COHERENCE_STATE
    CACHE_HIT
    CACHE_MISS
    COMPULSORY_MISS
    CAPACITY_MISS
    CONFLICT_MISS
    COHERENCE_MISS
    REPLACEMENT_POLICY
    LRU_POLICY
    FIFO_POLICY
    RANDOM_POLICY
    WRITE_POLICY
    WRITE_THROUGH
    WRITE_BACK
    WRITE_ALLOCATE
    NO_WRITE_ALLOCATE
    PREFETCHER
    PREFETCH
    EVICTION
    FILL
    MEMORY_REQUEST
    READ_REQUEST
    WRITE_REQUEST
    COHERENCE_PROTOCOL
    SNOOP
    DIRECTORY
    LATENCY
    BANDWIDTH
    HIT_RATE
    MISS_RATE
    CACHE_SIZE
    LINE_SIZE
    ASSOCIATIVITY
    STATE
    EVENT
    CONFIGURATION
    VERSION
    PERFORMANCE_METRIC
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    CONTAINS
    HAS_CACHE
    HAS_LEVEL
    HAS_LINE
    HAS_SET
    HAS_WAY
    HAS_TAG
    HAS_INDEX
    HAS_OFFSET
    MAPS_TO
    LOOKS_UP
    HITS_IN
    MISSES_IN
    FILLS
    EVICTS
    REPLACES
    PREFETCHES
    READS_FROM
    WRITES_TO
    FORWARDS_TO
    RECEIVES_FROM
    COHERENT_WITH
    INVALIDATES
    UPDATES
    SNOOPS
    HAS_STATE
    TRANSITIONS_TO
    HAS_REPLACEMENT_POLICY
    HAS_WRITE_POLICY
    HAS_COHERENCE_PROTOCOL
    HAS_SIZE
    HAS_LINE_SIZE
    HAS_ASSOCIATIVITY
    HAS_HIT_RATE
    HAS_MISS_RATE
    HAS_LATENCY
    HAS_BANDWIDTH
    HAS_CONFIGURATION
    HAS_VERSION
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    INFERRED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    CACHE_SPECIFICATIONS
    CACHE_HIERARCHIES
    CACHE_SIZES
    LINE_SIZES
    ASSOCIATIVITY_DATA
    ADDRESS_TRACES
    MEMORY_ACCESS_TRACES
    REPLACEMENT_POLICIES
    WRITE_POLICIES
    COHERENCE_PROTOCOLS
    PREFETCHER_DEFINITIONS
    PERFORMANCE_COUNTERS
    LATENCY_METRICS
    BANDWIDTH_METRICS
    CONFIGURATION_DATA
    VERSION_DATA
    ONTOLOGY_TERMS
  }

  NORMALISE {
    STANDARDISE_CACHE_IDENTIFIERS
    NORMALISE_CACHE_LEVEL_NAMES
    NORMALISE_MEMORY_UNITS
    NORMALISE_LINE_SIZES
    NORMALISE_ASSOCIATIVITY
    NORMALISE_ADDRESS_FORMATS
    NORMALISE_REPLACEMENT_POLICY_NAMES
    NORMALISE_WRITE_POLICY_NAMES
    NORMALISE_COHERENCE_STATE_NAMES
    NORMALISE_LATENCY_UNITS
    NORMALISE_BANDWIDTH_UNITS
    NORMALISE_VERSION_IDENTIFIERS
    RESOLVE_CACHE_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS CACHE_ACCESS_PIPELINE {
    MEMORY_REQUEST
      -> ADDRESS_DECOMPOSITION
      -> CACHE_LEVEL_LOOKUP
      -> TAG_COMPARISON
      -> HIT_OR_MISS
      -> DATA_RETURN_OR_NEXT_LEVEL_REQUEST
      -> CACHE_STATE_UPDATE
  }

  PROCESS ADDRESS_MAPPING {
    ADDRESS
      -> TAG
      + INDEX
      + OFFSET

    INDEX
      -> CACHE_SET

    CACHE_SET
      -> CANDIDATE_WAYS

    TAG + CANDIDATE_WAYS
      -> MATCH_CHECK

    MATCH_CHECK
      -> HIT_OR_MISS
  }

  PROCESS CACHE_HIT_REASONING {
    VALID_TAG_MATCH
      -> CACHE_HIT

    CACHE_HIT
      -> CACHE_LINE_ACCESS

    CACHE_LINE_ACCESS
      -> REQUESTED_DATA

    REQUESTED_DATA
      -> PROCESSOR_OR_REQUESTER
  }

  PROCESS CACHE_MISS_REASONING {
    NO_VALID_TAG_MATCH
      -> CACHE_MISS

    CACHE_MISS
      -> NEXT_CACHE_LEVEL_OR_MEMORY

    NEXT_CACHE_LEVEL_OR_MEMORY
      -> DATA_RETURN

    DATA_RETURN
      -> CACHE_FILL

    CACHE_FILL
      -> REPLACEMENT_IF_REQUIRED
      -> REQUESTER
  }

  PROCESS REPLACEMENT_REASONING {
    CACHE_SET_IS_FULL + CACHE_FILL
      -> REPLACEMENT_POLICY

    REPLACEMENT_POLICY
      -> VICTIM_LINE_SELECTION

    VICTIM_LINE_SELECTION
      -> DIRTY_CHECK

    DIRTY_LINE
      -> WRITEBACK_IF_POLICY_REQUIRES

    VICTIM_LINE_SELECTION
      -> EVICTION
      -> NEW_LINE_INSTALLATION
  }

  PROCESS WRITE_REASONING {
    WRITE_REQUEST
      -> CACHE_LOOKUP

    CACHE_HIT
      -> APPLY_WRITE_POLICY

    WRITE_THROUGH
      -> UPDATE_CACHE
      -> UPDATE_NEXT_MEMORY_LEVEL

    WRITE_BACK
      -> UPDATE_CACHE
      -> SET_DIRTY_BIT

    CACHE_MISS
      -> WRITE_ALLOCATE_OR_NO_WRITE_ALLOCATE
  }

  PROCESS COHERENCE_REASONING {
    SHARED_MEMORY_BLOCK + MULTIPLE_CACHES
      -> COHERENCE_TRACKING

    READ_OR_WRITE_EVENT
      -> COHERENCE_PROTOCOL_TRANSITION

    COHERENCE_PROTOCOL_TRANSITION
      -> INVALIDATE_OR_UPDATE_OR_SHARE

    RESULT
      -> NEW_COHERENCE_STATES
  }

  PROCESS PREFETCH_REASONING {
    ACCESS_PATTERN
      -> PREFETCH_PREDICTION

    PREFETCH_PREDICTION
      -> PREFETCH_REQUEST

    PREFETCH_REQUEST
      -> CACHE_FILL

    LATER_ACCESS
      -> USEFUL_OR_UNUSED_PREFETCH
  }

  PROCESS PERFORMANCE_REASONING {
    CACHE + WORKLOAD + CONFIGURATION
      -> CACHE_PROFILE

    CACHE_PROFILE
      -> HIT_RATE
      -> MISS_RATE
      -> MISS_CLASSIFICATION
      -> AVERAGE_ACCESS_LATENCY
      -> BANDWIDTH_USAGE
      -> PREFETCH_EFFECTIVENESS

    CACHE_PROFILE
      -> BOTTLENECK_HYPOTHESIS
  }

  RULES {
    IF CACHE_ACCESS_OCCURS
    THEN REQUIRE {
      ADDRESS
      CACHE_LEVEL
      ACCESS_TYPE
      CONFIGURATION_CONTEXT
    }

    IF CACHE_HIT_OCCURS
    THEN REQUIRE VALID_TAG_MATCH

    IF CACHE_MISS_OCCURS
    THEN TRACE_REQUEST_TO_NEXT_LEVEL_OR_MEMORY

    IF DIRTY_LINE_IS_EVICTED
    AND WRITE_POLICY == WRITE_BACK
    THEN REQUIRE WRITEBACK

    IF CACHE_IS_SHARED
    THEN PRESERVE SHARING_AND_COHERENCE_CONTEXT

    IF SAME_ADDRESS_IS_USED
    THEN DO_NOT_ASSUME_SAME_CACHE_MAPPING_WITHOUT_CONFIGURATION_CONTEXT

    IF HIT_RATE_IS_COMPARED
    THEN REQUIRE WORKLOAD_AND_CACHE_CONFIGURATION

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND CACHE_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        CACHE_SPECIFICATION_COMPLETENESS,
        ADDRESS_TRACE_QUALITY,
        CONFIGURATION_CERTAINTY,
        POLICY_CERTAINTY,
        COHERENCE_MODEL_CERTAINTY,
        TRACE_COMPLETENESS,
        PERFORMANCE_COUNTER_QUALITY,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }

    IF CACHE_CONFIGURATION_IS_UNKNOWN
    THEN REDUCE_MAPPING_AND_PERFORMANCE_CONFIDENCE

    IF COHERENCE_PROTOCOL_IS_UNKNOWN
    THEN REDUCE_MULTICORE_STATE_CONFIDENCE

    IF REPRODUCIBLE_TRACE_CONFIRMS_CACHE_BEHAVIOUR
    THEN INCREASE CONFIDENCE_SCORE
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        CANONICAL_IDENTIFIER,
        CACHE_LEVEL,
        CACHE_SIZE,
        LINE_SIZE,
        ASSOCIATIVITY,
        POLICY_CONTEXT,
        VERSION
      )

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

    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    CACHE != MAIN_MEMORY
    CACHE_LINE != MEMORY_ADDRESS
    CACHE_HIT != GUARANTEED_LOW_LATENCY_WITHOUT_CONTEXT
    CACHE_MISS != MAIN_MEMORY_ACCESS_IF_LOWER_CACHE_EXISTS
    HIT_RATE_IS_WORKLOAD_DEPENDENT
    MISS_RATE_IS_WORKLOAD_DEPENDENT
    CACHE_MAPPING_IS_CONFIGURATION_DEPENDENT
    REPLACEMENT_POLICY_AFFECTS_BEHAVIOUR
    WRITE_POLICY_AFFECTS_MEMORY_TRAFFIC
    PREFETCH != DEMAND_ACCESS
    PREFETCH_HIT != NECESSARILY_USEFUL_PREFETCH
    COHERENCE_STATE != CACHE_VALIDITY_ALONE
    VIRTUAL_AND_PHYSICAL_ADDRESSING_CONTEXT_MUST_BE_PRESERVED
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_CACHE_IDENTIFIER
    CHECK_CACHE_LEVEL
    CHECK_CACHE_SIZE
    CHECK_LINE_SIZE
    CHECK_ASSOCIATIVITY
    CHECK_ADDRESS_MAPPING
    CHECK_TAG_AND_VALIDITY
    CHECK_REPLACEMENT_POLICY
    CHECK_WRITE_POLICY
    CHECK_COHERENCE_PROTOCOL
    CHECK_PREFETCH_RELATIONS
    CHECK_ACCESS_TRACE
    CHECK_PERFORMANCE_CONTEXT
    CHECK_CONFIGURATION
    CHECK_VERSION_CONTEXT
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_CACHE_ENTITIES
    CACHE_HIERARCHY_RELATIONS
    ADDRESS_MAPPING_RELATIONS
    CACHE_LINE_RELATIONS
    HIT_AND_MISS_RELATIONS
    MISS_CLASSIFICATIONS
    REPLACEMENT_RELATIONS
    WRITE_POLICY_RELATIONS
    COHERENCE_RELATIONS
    PREFETCH_RELATIONS
    CACHE_STATE_TRANSITIONS
    ACCESS_TRACES
    PERFORMANCE_PROFILES
    BOTTLENECK_HYPOTHESES
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON CACHE_OR_CONFIGURATION_CHANGE {
      NORMALISE
      ENTITY_RESOLUTION
      UPDATE_CACHE_HIERARCHY
      UPDATE_ADDRESS_MAPPING
      UPDATE_REPLACEMENT_POLICY
      UPDATE_WRITE_POLICY
      UPDATE_COHERENCE_MODEL
      UPDATE_PREFETCHER_MODEL
      RECOMPUTE_AFFECTED_RELATIONS
      UPDATE_CONFIDENCE
      PRESERVE_VERSION_HISTORY
    }

    ON NEW_ACCESS_OR_PERFORMANCE_DATA {
      LINK_EVIDENCE
      UPDATE_ACCESS_TRACE
      UPDATE_HIT_MISS_PROFILE
      UPDATE_PREFETCH_PROFILE
      UPDATE_COHERENCE_STATE
      REASSESS_BOTTLENECKS
      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_CACHE
      BY_CACHE_LEVEL
      BY_ADDRESS
      BY_CACHE_LINE
      BY_SET
      BY_WAY
      BY_HIT
      BY_MISS
      BY_REPLACEMENT_POLICY
      BY_WRITE_POLICY
      BY_COHERENCE_STATE
      BY_PREFETCH
      BY_PERFORMANCE
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      TRACE_CACHE_ACCESS
      TRACE_ADDRESS_MAPPING
      ANALYSE_HITS_AND_MISSES
      ANALYSE_REPLACEMENT
      ANALYSE_WRITE_POLICY
      ANALYSE_COHERENCE
      ANALYSE_PREFETCHING
      ANALYSE_PERFORMANCE
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_CACHE_FROM_MAIN_MEMORY
      DISTINGUISH_DEMAND_FROM_PREFETCH_ACCESS
      PRESERVE_CACHE_CONFIGURATION_AND_WORKLOAD_CONTEXT
      PRESERVE_ADDRESSING_CONTEXT
      PRESERVE_COHERENCE_CONTEXT
      DISTINGUISH_THEORETICAL_FROM_OBSERVED_PERFORMANCE
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_CACHE_INFERENCE
    }
  }

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

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