跳到主要内容

PTO-ARCH-DATA-TYPES-FLOATING-POINT

PTO-ARCH-DATA-TYPES-FLOATING-POINT

ASL 伪代码

下面直接显示完整的 ASL 所有者。

// PTO-UNIT: {"id":"PTO-ARCH-DATA-TYPES-FLOATING-POINT","surface":"arch","classification":["data-types","floating-point"],"depends_on":["PTO-ARCH-DATA-TYPES-SYSTEM-REGISTERS"]}type FloatingBinaryOperation of enumeration {    FloatingBinary_ADD,    FloatingBinary_SUB,    FloatingBinary_MUL,    FloatingBinary_DIV,    FloatingBinary_MIN,    FloatingBinary_MAX};
type FloatingCompareOperation of enumeration {    FloatingCompare_EQ,    FloatingCompare_NE,    FloatingCompare_LT,    FloatingCompare_LE,    FloatingCompare_GT,    FloatingCompare_GE};
type FloatingUnaryOperation of enumeration {    FloatingUnary_ABS,    FloatingUnary_SQRT,    FloatingUnary_EXP,    FloatingUnary_RECIP};
type FloatingFusedOperation of enumeration {    FloatingFused_MADD,    FloatingFused_MSUB,    FloatingFused_NMADD,    FloatingFused_NMSUB};

架构行为

目的与范围

用途与范围

本单元为 PTO ASL 提供一个封闭的浮点运算族选择词汇。它只定义运算选择器;操作数格式、舍入、异常、结果值和状态影响仍由使用这些选择器的 ASL 函数定义。

概念与架构状态

运算族

FloatingBinaryOperation 包含 ADD、SUB、MUL、DIV、MIN 和 MAX。FloatingCompareOperation 包含 EQ、NE、LT、LE、GT 和 GE。

FloatingUnaryOperation 包含 ABS、SQRT、EXP 和 RECIP;FloatingFusedOperation 包含 MADD、MSUB、NMADD 和 NMSUB。

规则与交互

选择与解释

调用者把相应枚举中的一个成员传给数值语义所有者。所选数据格式和确切算术行为由该所有者决定,而不是由本枚举决定。

四种枚举类型可避免把比较选择器悄然当成二元、一元或融合运算选择器。

边界与未定义范围

边界

出现 MIN、MAX、RECIP 或融合运算选择器,本身并不定义 NaN 选择、舍入、上溢、下溢、标志或融合行为。这些问题必须由可达的数值格式或配置档 ASL 契约回答。

本单元的静态 AVS 检查这些选择器声明能够在完整模型中编译;这条证据说明不定义算术结果。

使用示例

示例性阅读示例

下面只演示如何查找选择器,并不是算术定义。

看到 FloatingFused_NMSUB 时,应先找到使用它的 ASL 函数,再阅读该所有者定义的操作数顺序、格式、舍入和异常值规则,然后才能推导结果。

相关所有者

  • 舍入定义架构的舍入词汇。
  • 数值格式把 Tile 数据类型连接到它们的确切格式辅助函数。

NDF 条款

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

No NDF clause is attached to this unit.

Evidence index

6 matching entries

Executable evidence1
  • PTO-ARCH-DATA-TYPES-FLOATING-POINT compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-DATA-TYPES-FLOATING-POINT
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-DATA-TYPES-FLOATING-POINT-STATIC-001
    Path
    tests/asl/arch/data-types/floating-point/arch-static-floating-point-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    88ba63e7b74ee830e8e5ea54b14571d9a12631ea4a92e9e1a9aab30f4579af1e
    Open exact source ↗ for PTO-AVS-ARCH-DATA-TYPES-FLOATING-POINT-STATIC-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

Unit metadata

Open 4 generated metadata fields
id
PTO-ARCH-DATA-TYPES-FLOATING-POINT
surface
arch
classification
[
  "data-types",
  "floating-point"
]
depends_on
[
  "PTO-ARCH-DATA-TYPES-SYSTEM-REGISTERS"
]
Open generated traceability record
{
  "classification": [
    "data-types",
    "floating-point"
  ],
  "documentation": "docs/arch/data-types/floating-point.md",
  "id": "PTO-ARCH-DATA-TYPES-FLOATING-POINT",
  "mnemonic": null,
  "readiness_subjects": [],
  "semantic_tests": [],
  "source": "asl/arch/data-types/floating-point.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-DATA-TYPES-FLOATING-POINT-STATIC-001"
  ]
}

来源与发布信息

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

精确所有者