跳到主要内容

B.SUBVIEW

Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.

PTO-BLOCK-B-SUBVIEW

汇编格式

B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode

汇编符号

汇编字段与架构角色
字段位宽有符号性架构角色编码零
SrcSelect1encoding-definedselects source0 or source1 carrierZero selects source role zero.
uimm1111unsignedunsigned XLEN addendZero is a real zero displacement.
RegSrc5encoding-definedabsolute GPR selectorZero names the architectural zero GPR.
SubviewSizeCode4encoding-defineddecoded source tile range sizeZero is reserved.

编码

Loading WaveDrom diagram… The encoding table and WaveJSON remain available below.

Encoding fields as an accessible table
Generated encoding fields for B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode
Decoded itemBit rangeValue
SrcSelect31variable
uimm1130:20variable
RegSrc19:15variable
Constant14:114'b0000
SubviewSizeCode10:7variable
Constant6:07'b1010011
WaveJSON source
{
  "reg": [
    {
      "bits": 7,
      "name": "7'b1010011"
    },
    {
      "bits": 4,
      "name": "SubviewSizeCode"
    },
    {
      "bits": 4,
      "name": "4'b0000"
    },
    {
      "bits": 5,
      "name": "RegSrc"
    },
    {
      "bits": 11,
      "name": "uimm11"
    },
    {
      "bits": 1,
      "name": "SrcSelect"
    }
  ],
  "config": {
    "bits": 32,
    "fontsize": 13,
    "hspace": 900,
    "lanes": 1,
    "offset": 0
  }
}

B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode

指令契约

操作数与参数

SrcSelect
selects source0 or source1 carrier
RegSrc
absolute GPR selector
uimm11
unsigned XLEN addend
SubviewSizeCode
decoded source tile range size

约束、检查与 Fault

  • RegSrc accepts only absolute GPR selectors 0..23.
  • SubviewSizeCode accepts 1..12 for both Local and Shared groups.
  • A modifier is legal only in the contiguous immediately preceding B.IOT/B.IOS group and follows source0, source1, destination role order.
  • Reserved funct3/bit11/opcode, RegSrc24..31, and SubviewSizeCode0/13..15 raise Fault_IllegalInstruction before GPR reads, carrier updates, or TPC advance.
  • Missing, reversed, duplicate, intervening, or role-incompatible groups raise Fault_BundleControl before carrier updates.

状态读取、写入与结果

  • Store raw RegSrc/uimm11/size and the derived XLEN offset in the source carrier of the open binder group.
  • PEMode=000 on the binder opens a discarded syntactic group; every raw-legal contiguous modifier advances TPC without reads, state, role, or fault effects.
  • none
  • Decode fixed/reserved fields and raw ranges before any GPR read; compute GPR[RegSrc]+ZeroExtend(uimm11) modulo 2^XLEN after group legality.

ASL 伪代码

Decode 与 Operation 均直接来自指令所有者,并按执行阶段分开显示。

Decode ASL

readonly func InstructionContractMatches_B_SUBVIEW(operation: CommandOperation) => booleanbegin    return operation == CommandOperation_b_subview_32_122000000001;end;

Operation 源绑定

pure func InstructionContractSubviewSizeCodeIsAssigned_B_SUBVIEW(code: integer {0..15}) => booleanbegin    return 1 <= code && code <= 12;end;
readonly func InstructionContractHandler_B_SUBVIEW() => CommandSemanticHandlerbegin    return CommandHandler_ApplyBundleSubview;end;
查看完整 ASL 所有者
// PTO-INSTRUCTION: {"assembly":["B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode"],"block":[],"catalog_indices":[74],"catalog_records":[{"asm":"B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode","constraints":[{"field":"SrcSelect","operator":"one-of","values":[0,1]},{"field":"RegSrc","operator":"one-of","values":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23]},{"field":"SubviewSizeCode","operator":"one-of","values":[1,2,3,4,5,6,7,8,9,10,11,12]}],"encoding":[{"index":0,"mask":"0x0000787f","match":"0x00000053","width_bits":32}],"encoding_kind":"L32","fields":[{"name":"SrcSelect","pieces":[{"instruction_lsb":31,"value_lsb":0,"width":1}],"signedness":"encoding-defined","width":1},{"name":"uimm11","pieces":[{"instruction_lsb":20,"value_lsb":0,"width":11}],"signedness":"unsigned","width":11},{"name":"RegSrc","pieces":[{"instruction_lsb":15,"value_lsb":0,"width":5}],"signedness":"encoding-defined","width":5},{"name":"SubviewSizeCode","pieces":[{"instruction_lsb":7,"value_lsb":0,"width":4}],"signedness":"encoding-defined","width":4}],"form_id":"b_subview_32_122000000001","length_bits":32,"mnemonic":"B.SUBVIEW","semantic_family":"CMD","semantic_group":"Bundle Range Modifier","semantic_handler":"ApplyBundleSubview","semantic_summary":"Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.","status":"accepted"}],"classification":["operands"],"contract":{"block_composition":["Immediately follows B.IOT or B.IOS and is contiguous with the associated modifier group."],"canonical_assembly":["B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode"],"defaults":["uimm11 is unsigned and zero-extended. RegSrc zero names the architectural zero GPR."],"encoding_class":"standalone-encoded","examples":["B.IOT T0, mask=1111; B.SUBVIEW 0, a0, 0, 1"],"exceptions":["Reserved funct3/bit11/opcode, RegSrc24..31, and SubviewSizeCode0/13..15 raise Fault_IllegalInstruction before GPR reads, carrier updates, or TPC advance.","Missing, reversed, duplicate, intervening, or role-incompatible groups raise Fault_BundleControl before carrier updates."],"field_contracts":{},"field_zero_meanings":{"SrcSelect":"Zero selects source role zero.","uimm11":"Zero is a real zero displacement.","RegSrc":"Zero names the architectural zero GPR.","SubviewSizeCode":"Zero is reserved."},"legality":["RegSrc accepts only absolute GPR selectors 0..23.","SubviewSizeCode accepts 1..12 for both Local and Shared groups.","A modifier is legal only in the contiguous immediately preceding B.IOT/B.IOS group and follows source0, source1, destination role order."],"memory_effects":["none"],"operands":[{"field":"SrcSelect","role":"selects source0 or source1 carrier"},{"field":"RegSrc","role":"absolute GPR selector"},{"field":"uimm11","role":"unsigned XLEN addend"},{"field":"SubviewSizeCode","role":"decoded source tile range size"}],"ordering":["Decode fixed/reserved fields and raw ranges before any GPR read; compute GPR[RegSrc]+ZeroExtend(uimm11) modulo 2^XLEN after group legality."],"state_effects":["Store raw RegSrc/uimm11/size and the derived XLEN offset in the source carrier of the open binder group.","PEMode=000 on the binder opens a discarded syntactic group; every raw-legal contiguous modifier advances TPC without reads, state, role, or fault effects."],"standalone_opcode":true},"depends_on":["PTO-BLOCK-B-IOT","PTO-BLOCK-B-IOS","PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS"],"id":"PTO-BLOCK-B-SUBVIEW","mnemonic":"B.SUBVIEW","summary":"Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.","surface":"block"}// PTO-REVIEW: {"review_method":"formal-definition-read","outcome":"FORMAL-COMPLETE","reviewed_fields":["assembly","encoding","defaults","operation","state","memory","ordering","faults","reserved"]}// NDF-BEGIN: PTO-B-SUBVIEW-RANGE-001// ndf: kind=contract level=L1 layer=block status=accepted// B.SUBVIEW MUST decode the exact 0x53 form, preserve raw fields and the// XLEN-wrapped GPR-plus-uimm11 offset, and apply only to its preceding// contiguous B.IOT/B.IOS group.// NDF-END: PTO-B-SUBVIEW-RANGE-001// DOC-BEGIN: decodereadonly func InstructionContractMatches_B_SUBVIEW(operation: CommandOperation) => booleanbegin    return operation == CommandOperation_b_subview_32_122000000001;end;// DOC-END: decode// DOC-BEGIN: operationpure func InstructionContractSubviewSizeCodeIsAssigned_B_SUBVIEW(code: integer {0..15}) => booleanbegin    return 1 <= code && code <= 12;end;
readonly func InstructionContractHandler_B_SUBVIEW() => CommandSemanticHandlerbegin    return CommandHandler_ApplyBundleSubview;end;// DOC-END: operation

行为

用途

B.SUBVIEW 的作用

B.SUBVIEW 是一条 32 位 Block header 命令,用来把一个源 subview 修饰符附加到已打开的 Local 或 Shared 绑定组。它修改待处理 Block 元数据,不会立即执行 Tile body 操作。

执行过程

位置与机制

该修饰符必须与打开其 carrier 的 B.IOT 或 B.IOS 绑定组保持连续。若中间插入其他命令、顺序反转或重复使用,会在 carrier 状态变化前被拒绝。

该命令把原始选择与范围字段以及派生的 XLEN 偏移记录到已打开的 binder carrier。若 binder 解码后的 PE mask 为零,则只保留一个随后丢弃的语法组,不读取源,也不产生角色影响。

输入与输出

操作数与 header 角色

  • SrcSelect 选择源 carrier 0 或 1;其确切分配域仍以下方生成契约为准。
  • RegSrc 选择具名的绝对 GPR 角色;其确切分配域仍以下方生成契约为准。
  • uimm11 提供编码偏移或加数;其确切分配域仍以下方生成契约为准。
  • SubviewSizeCode 提供 subview 范围大小编码;其确切分配域仍以下方生成契约为准。
架构效果

待处理状态与完成

被接受的 header 命令只改变自己的待处理记录或 carrier。除非本所有者明确指出即时 header 状态更新,否则架构 Tile、Shared、GPR、内存和完成影响都推迟到完整 Block。

约束与非法情形

合法性与故障边界

保留编码会在读取或待处理状态变化前被拒绝。位置、重复、角色或完成后 schema 不匹配,会在 body 影响前失败。

示例演示

示例性示例

以下为示例性示例,仅用于说明当前所有者,不替代其定义。

B.IOT SrcTile0, mask=PE_MASK, <last>
B.SUBVIEW 0, RegSrc, uimm11, SubviewSizeCode

源形式的 B.IOT 打开一个具有确切 source-zero carrier 的组。紧随其后的 B.SUBVIEW 0 只修饰该源 carrier;它不能与 binder 分离,也不能改为作用于目的 carrier。

NDF 条款

正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。

    1. surfaceBLOCK
    2. ownerB.SUBVIEW
    3. categoryRANGE
    4. case001

    规范契约

    contract · L1 · accepted

    B.SUBVIEW MUST decode the exact 0x53 form, preserve raw fields and the XLEN-wrapped GPR-plus-uimm11 offset, and apply only to its preceding contiguous B.IOT/B.IOS group.

    来源与引用
    完整稳定 ID
    PTO-B-SUBVIEW-RANGE-001
    来源路径
    asl/block/operands/B.SUBVIEW.asl
    适用单元
    PTO-BLOCK-B-SUBVIEW
    源 SHA-256
    b0534c4209577c2219191c45aa76fb6170c1bb26544ec89f95b78d504f073c83
    条款 SHA-256
    9e9b051af0b50093407ada5cb2859bbf27eb733ddb6dc205de1eee5d250a9ecd
    打开精确 canonical source ↗

Evidence index

15 matching entries

Executable evidence7
  • Decoded Local assembly binds portable range readiness, cancels wrong-path writers, and rejects a nonrollback producer before effects.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-ASSEMBLE-PORTABLE-CARRIERS-001
    Path
    tests/asl/block/model/operands/portable-carriers/block-exec-assemble-portable-carriers-001.asl
    Kind / role
    execution
    Requirements
    PTO-B-ASSEMBLE-CONSUMER-READINESS-001, PTO-B-ASSEMBLE-SPECULATION-001, PTO-B-ASSEMBLE-PRODUCER-EFFECT-ELIGIBILITY-001, PTO-INST-BLOCK-BSTART, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-ASSEMBLE
    Pass condition
    A decoded post-LAST range waits without a fault or temporary source effect until its selected cells become ready; decoded writer squash removes coverage and allocation while preserving sources; a decoded B.ASSEMBLE producer with a nonrollback handler raises Fault_TileLegality before effects.
    SHA-256
    11e59453724fa2271ae8b7528829da24f05d34eabc7fe8d3d2a71ecb2b3ef63f
    Open exact source ↗ for PTO-AVS-BLOCK-ASSEMBLE-PORTABLE-CARRIERS-001
  • canonical B.SUBVIEW catalog and ASL contract remain aligned
    1. surfaceBLOCK
    2. ownerB.SUBVIEW
    3. categoryDECODE-POSITIVE
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-B-SUBVIEW-DECODE-001
    Path
    tests/asl/block/operands/B.SUBVIEW/block-decode-b-subview-canonical-001.asl
    Kind / role
    decode-positive
    Requirements
    PTO-INST-BLOCK-B-SUBVIEW
    Pass condition
    all canonical decode and contract assertions hold
    SHA-256
    1d61c7c6587fee8f7daa9974fc56a84426f2578842292c70c1dd8ee6b767173b
    Open exact source ↗ for PTO-AVS-BLOCK-B-SUBVIEW-DECODE-001
  • B.SUBVIEW executes the exact 0x53 decoder matrix for both source selectors, every legal size and boundary, and all raw-legality.
    1. surfaceBLOCK
    2. ownerB.SUBVIEW
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001
    Path
    tests/asl/block/operands/B.SUBVIEW/block-exec-b-subview-001.asl
    Kind / role
    execution
    Requirements
    PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-B-IOS
    Pass condition
    each legal field combination reaches the selected Local or Shared carrier with the exact XLEN-wrapped offset; every reserved form faults before reads or state changes
    SHA-256
    8acbb34ecde853e4efb05584e88aae47f7157611499481ef6cffbeeb3c67e1c3
    Open exact source ↗ for PTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001
  • B.SUBVIEW and B.ASSEMBLE execute only in the immediately preceding B.IOT/B.IOS group, consuming source0, source1, and destination roles in strict order.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    3. categoryFAULT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001
    Path
    tests/asl/block/model/operands/range-modifiers/block-fault-range-group-order-001.asl
    Kind / role
    fault
    Requirements
    PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-ASSEMBLE, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-B-IOS
    Pass condition
    valid Local/Shared source and destination groups, omissions, duplicates, reverse/misordered/absent/intervening forms, B.IOT.L, and B.IOS source1 are each executed with the specified carrier or BundleControl result and no retroactive effect
    SHA-256
    8d6507c8048a569186bcca2ddca9e49e38f43538f3705a3544aa690fdd878284
    Open exact source ↗ for PTO-AVS-BLOCK-RANGE-GROUP-ORDER-001
  • PEMode=000 executes a broad raw-legal B.SUBVIEW/B.ASSEMBLE matrix as discarded syntactic groups while nonzero controls retain carriers and reserved forms remain illegal.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001
    Path
    tests/asl/block/model/operands/range-modifiers/block-exec-range-pemode-zero-001.asl
    Kind / role
    execution
    Requirements
    PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-ASSEMBLE, PTO-INST-BLOCK-B-IOT, PTO-INST-BLOCK-B-IOS
    Pass condition
    both source selectors, every legal subview size, every raw-legal assemble control/size, RegSrc/uimm extremes, Local/Shared zero groups, and matching nonzero controls execute with no zero-mode reads/effects/faults; every reserved encoding is IllegalInstruction with no effect
    SHA-256
    97391c16c8e7f937b1a1bb2e06dab80f8c66a2a4aed84f8ccda354b917cb7abf
    Open exact source ↗ for PTO-AVS-BLOCK-RANGE-PEMODE-ZERO-001
  • Decoded Local CUBE M16, M32, and N8 subviews derive bounded descriptors and preserve parent lifetime before normal operation commit.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001
    Path
    tests/asl/block/model/operands/subview-descriptor/block-exec-subview-cube-descriptor-001.asl
    Kind / role
    execution
    Requirements
    PTO-B-SUBVIEW-DESCRIPTOR-001, PTO-INST-BLOCK-B-SUBVIEW, PTO-INST-BLOCK-B-ASSEMBLE, PTO-INST-BLOCK-B-IOT
    Pass condition
    Decoded BSTART/B.IOT/B.SUBVIEW/B.ASSEMBLE reaches normal preflight and commit for M16 and M32 parents with N8 peers; the supplementary CELL-order matrix asserts interior, repeat-boundary, clipped-tail, min/max, selected values, and exact non-CUBE/zero-valid/OOB TileLegality faults.
    SHA-256
    1c39e0e37eee9c1d48681b747be931b5a2b4a19f8ef52a33bb77da3bbb536671
    Open exact source ↗ for PTO-AVS-BLOCK-SUBVIEW-CUBE-DESCRIPTOR-001
  • Decoded Shared B.SUBVIEW selects an exact CELL range for TSTORE.
    1. surfaceBLOCK
    2. ownerPTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-BLOCK-SUBVIEW-SHARED-001
    Path
    tests/asl/block/model/operands/shared-generation/block-exec-shared-subview-001.asl
    Kind / role
    execution
    Requirements
    PTO-B-SUBVIEW-RANGE-001, PTO-B-ASSEMBLE-SHARED-GENERATION-001
    Pass condition
    A one-CELL view at offset one stores the second 128 B row's value while preserving the complete published Shared descriptor and payload.
    SHA-256
    568b4adfb2653daad0aa2c8e57c445b7519857d9ae887040b3b3b2d74f3f68ca
    Open exact source ↗ for PTO-AVS-BLOCK-SUBVIEW-SHARED-001
Commit-scoped evidence5
  • spec/evidence/release-traceability-readiness.json · closedPTO-EVIDENCE-RELEASE-TRACEABILITY
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-TRACEABILITY
    Path
    spec/evidence/release-traceability-readiness.json
    Kind / role
    ASL/NDF/documentation/AVS traceability
    SHA-256
    c7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3e
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-TRACEABILITY
  • spec/evidence/instruction-contract-closure.json · closedPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Path
    spec/evidence/instruction-contract-closure.json
    Kind / role
    mnemonic and encoding contract closure
    SHA-256
    3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106a
    Open exact source ↗ for PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
  • spec/evidence/architecture-readiness.json · openPTO-EVIDENCE-ARCHITECTURE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-ARCHITECTURE-READINESS
    Path
    spec/evidence/architecture-readiness.json
    Kind / role
    architecture maturity and blockers
    SHA-256
    4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
    Open exact source ↗ for PTO-EVIDENCE-ARCHITECTURE-READINESS
  • spec/evidence/release-gate-readiness.json · ready-for-exact-head-verificationPTO-EVIDENCE-RELEASE-GATE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-GATE-READINESS
    Path
    spec/evidence/release-gate-readiness.json
    Kind / role
    exact-head gate readiness
    SHA-256
    a0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-GATE-READINESS
  • spec/release-manifest.json · draftPTO-EVIDENCE-RELEASE-MANIFEST
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-MANIFEST
    Path
    spec/release-manifest.json
    Kind / role
    release content and encoding fingerprints
    SHA-256
    1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-MANIFEST
Decision history3
  • B.SUBVIEW and B.ASSEMBLE range-modifier association · accepted
    1. decision recordADR
    2. case0098

    Decision record

    Loading ADR-0098…

    Sources and references
    Complete stable ID
    ADR-0098
    Path
    docs/status/decisions/0098-b-range-modifiers.md
    Affected units
    PTO-ARCH-PROFILE-RESET, PTO-BLOCK-B-IOT, PTO-BLOCK-B-IOS, PTO-BLOCK-B-SUBVIEW, PTO-BLOCK-B-ASSEMBLE, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS, PTO-BLOCK-MODEL-OPERANDS-SHARED-BINDINGS, PTO-BLOCK-MODEL-OPERANDS-TILE-BINDINGS, PTO-BLOCK-MODEL-STATE-CONTROL-STATE, PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE, PTO-BLOCK-MODEL-STATE-TYPES, PTO-ARCH-DATA-TYPES-TRAP-CONTEXT, PTO-ARCH-PROFILE-REFERENCE-PROFILE, PTO-ARCH-PROFILE-TRAP-CONTEXT-RECOVERY, PTO-ARCH-STATE-TRAP-CONTEXT, PTO-BLOCK-MODEL-DISPATCH-TILE-EXECUTION, PTO-BLOCK-MODEL-DISPATCH-TILE-SCHEMA, PTO-BLOCK-MODEL-FAULTS-ROLLBACK, PTO-BLOCK-MODEL-LIFECYCLE-RESET, PTO-BLOCK-MODEL-OPERANDS-LOCAL-GENERATION, PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION, PTO-BLOCK-MODEL-OPERANDS-PORTABLE-CARRIERS, PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR, PTO-BLOCK-MODEL-STATE-SHARED-GENERATION, PTO-TILE-MODEL-LEGALITY-MATRIX-POSTPROCESS
    Affected NDF
    PTO-B-IOT-STREAM-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-SUBVIEW-RANGE-001, PTO-B-ASSEMBLE-RANGE-001, PTO-B-SUBVIEW-DESCRIPTOR-001, PTO-BLOCK-TILE-OPERATION-APPLICABILITY-001, PTO-B-ASSEMBLE-LOCAL-GENERATION-001, PTO-B-ASSEMBLE-SHARED-GENERATION-001, PTO-B-ASSEMBLE-SHARED-STANDALONE-001, PTO-B-ASSEMBLE-CONSUMER-READINESS-001, PTO-B-ASSEMBLE-SPECULATION-001, PTO-B-ASSEMBLE-PRODUCER-EFFECT-ELIGIBILITY-001
    SHA-256
    e194ccc6b6922fd4b65066b533f5e4b0eba094e099970059bca8e25b4e466fba
    Open exact decision source ↗ for ADR-0098
  • PTO ISA 0.58.3 to 0.58.4 compatibility boundary · accepted
    1. decision recordADR
    2. case0099

    Decision record

    Loading ADR-0099…

    Sources and references
    Complete stable ID
    ADR-0099
    Path
    docs/status/decisions/0099-0583-to-0584-compatibility.md
    Affected units
    PTO-ARCH-PROGRAMMING-MODEL-CORE-PE-TOPOLOGY, PTO-BLOCK-B-IOT, PTO-BLOCK-B-IOS, PTO-BLOCK-B-SUBVIEW, PTO-BLOCK-B-ASSEMBLE, PTO-BLOCK-MODEL-DISPATCH-COMMANDS, PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS
    Affected NDF
    PTO-B-IOT-STREAM-001, PTO-B-IOS-SHARED-STATE-001, PTO-B-SUBVIEW-RANGE-001, PTO-B-ASSEMBLE-RANGE-001
    SHA-256
    f130ce243d978a85dc641580d71505a950a34ce1a561402e74946ed6903ad2a0
    Open exact decision source ↗ for ADR-0099
  • Shared source B.SUBVIEW uses per-PE offsets · accepted
    1. decision recordADR
    2. case0106

    Decision record

    Loading ADR-0106…

    Sources and references
    Complete stable ID
    ADR-0106
    Path
    docs/status/decisions/0106-shared-source-subview-per-pe.md
    Affected units
    PTO-BLOCK-B-SUBVIEW, PTO-BLOCK-MODEL-OPERANDS-SUBVIEW-DESCRIPTOR, PTO-BLOCK-MODEL-OPERANDS-SHARED-GENERATION, PTO-BLOCK-MODEL-DISPATCH-SHARED-TLSU, PTO-BLOCK-MODEL-DISPATCH-SHARED-CUBE-MATRIX
    Affected NDF
    PTO-B-SUBVIEW-RANGE-001, PTO-B-SUBVIEW-SHARED-PER-PE-001
    SHA-256
    ccbc429a05b5dc0cf1e810b2062672f3858edba86176fe2408f4a99a3d1137ee
    Open exact decision source ↗ for ADR-0106

Unit metadata

Open 11 generated metadata fields
assembly
[
  "B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode"
]
block
[]
catalog_indices
[
  74
]
catalog_records
[
  {
    "asm": "B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode",
    "constraints": [
      {
        "field": "SrcSelect",
        "operator": "one-of",
        "values": [
          0,
          1
        ]
      },
      {
        "field": "RegSrc",
        "operator": "one-of",
        "values": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23
        ]
      },
      {
        "field": "SubviewSizeCode",
        "operator": "one-of",
        "values": [
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12
        ]
      }
    ],
    "encoding": [
      {
        "index": 0,
        "mask": "0x0000787f",
        "match": "0x00000053",
        "width_bits": 32
      }
    ],
    "encoding_kind": "L32",
    "fields": [
      {
        "name": "SrcSelect",
        "pieces": [
          {
            "instruction_lsb": 31,
            "value_lsb": 0,
            "width": 1
          }
        ],
        "signedness": "encoding-defined",
        "width": 1
      },
      {
        "name": "uimm11",
        "pieces": [
          {
            "instruction_lsb": 20,
            "value_lsb": 0,
            "width": 11
          }
        ],
        "signedness": "unsigned",
        "width": 11
      },
      {
        "name": "RegSrc",
        "pieces": [
          {
            "instruction_lsb": 15,
            "value_lsb": 0,
            "width": 5
          }
        ],
        "signedness": "encoding-defined",
        "width": 5
      },
      {
        "name": "SubviewSizeCode",
        "pieces": [
          {
            "instruction_lsb": 7,
            "value_lsb": 0,
            "width": 4
          }
        ],
        "signedness": "encoding-defined",
        "width": 4
      }
    ],
    "form_id": "b_subview_32_122000000001",
    "length_bits": 32,
    "mnemonic": "B.SUBVIEW",
    "semantic_family": "CMD",
    "semantic_group": "Bundle Range Modifier",
    "semantic_handler": "ApplyBundleSubview",
    "semantic_summary": "Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.",
    "status": "accepted"
  }
]
classification
[
  "operands"
]
contract
{
  "block_composition": [
    "Immediately follows B.IOT or B.IOS and is contiguous with the associated modifier group."
  ],
  "canonical_assembly": [
    "B.SUBVIEW SrcSelect, RegSrc, uimm11, SubviewSizeCode"
  ],
  "defaults": [
    "uimm11 is unsigned and zero-extended. RegSrc zero names the architectural zero GPR."
  ],
  "encoding_class": "standalone-encoded",
  "examples": [
    "B.IOT T0, mask=1111; B.SUBVIEW 0, a0, 0, 1"
  ],
  "exceptions": [
    "Reserved funct3/bit11/opcode, RegSrc24..31, and SubviewSizeCode0/13..15 raise Fault_IllegalInstruction before GPR reads, carrier updates, or TPC advance.",
    "Missing, reversed, duplicate, intervening, or role-incompatible groups raise Fault_BundleControl before carrier updates."
  ],
  "field_contracts": {},
  "field_zero_meanings": {
    "SrcSelect": "Zero selects source role zero.",
    "uimm11": "Zero is a real zero displacement.",
    "RegSrc": "Zero names the architectural zero GPR.",
    "SubviewSizeCode": "Zero is reserved."
  },
  "legality": [
    "RegSrc accepts only absolute GPR selectors 0..23.",
    "SubviewSizeCode accepts 1..12 for both Local and Shared groups.",
    "A modifier is legal only in the contiguous immediately preceding B.IOT/B.IOS group and follows source0, source1, destination role order."
  ],
  "memory_effects": [
    "none"
  ],
  "operands": [
    {
      "field": "SrcSelect",
      "role": "selects source0 or source1 carrier"
    },
    {
      "field": "RegSrc",
      "role": "absolute GPR selector"
    },
    {
      "field": "uimm11",
      "role": "unsigned XLEN addend"
    },
    {
      "field": "SubviewSizeCode",
      "role": "decoded source tile range size"
    }
  ],
  "ordering": [
    "Decode fixed/reserved fields and raw ranges before any GPR read; compute GPR[RegSrc]+ZeroExtend(uimm11) modulo 2^XLEN after group legality."
  ],
  "state_effects": [
    "Store raw RegSrc/uimm11/size and the derived XLEN offset in the source carrier of the open binder group.",
    "PEMode=000 on the binder opens a discarded syntactic group; every raw-legal contiguous modifier advances TPC without reads, state, role, or fault effects."
  ],
  "standalone_opcode": true
}
depends_on
[
  "PTO-BLOCK-B-IOT",
  "PTO-BLOCK-B-IOS",
  "PTO-BLOCK-MODEL-OPERANDS-RANGE-MODIFIERS"
]
id
PTO-BLOCK-B-SUBVIEW
mnemonic
B.SUBVIEW
summary
Decodes one source-range subview modifier and retains its XLEN-wrapped derived offset in the immediately preceding binder group.
surface
block
Open generated traceability record
{
  "classification": [
    "operands"
  ],
  "documentation": "docs/block/operands/B.SUBVIEW.md",
  "id": "PTO-BLOCK-B-SUBVIEW",
  "instruction_contract": {
    "artifact": "spec/evidence/instruction-contract-closure.json",
    "mnemonic": "B.SUBVIEW",
    "ndf_clause": "PTO-INST-BLOCK-B-SUBVIEW"
  },
  "mnemonic": "B.SUBVIEW",
  "readiness_subjects": [
    "ADR-0098",
    "ADR-0099",
    "ADR-0106"
  ],
  "semantic_tests": [
    "PTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001"
  ],
  "source": "asl/block/operands/B.SUBVIEW.asl",
  "surface": "block",
  "tests": [
    "PTO-AVS-BLOCK-B-SUBVIEW-DECODE-001",
    "PTO-AVS-BLOCK-B-SUBVIEW-ENCODING-001"
  ]
}

来源与发布信息

展开 commit、路径、hash、版本和规范所有者
发布
0.58.5 · 候选发布
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
b0534c4209577c2219191c45aa76fb6170c1bb26544ec89f95b78d504f073c83
文档 SHA-256
4cb33a039295792f9c77673878af42b1d4eaa60c949dbe248928191f73086306

精确所有者