下面直接显示完整的 ASL 所有者。
12readonly func CurrentACR() => AccessControlRing3begin4 return _CurrentACR;5end;6
7pure func AccessControlRingBits(ring: AccessControlRing) => bits(4)8begin9 case ring of10 when 0 => return '0000';11 when 1 => return '0001';12 when 2 => return '0010';13 when 3 => return '0011';14 when 4 => return '0100';15 when 5 => return '0101';16 when 6 => return '0110';17 when 7 => return '0111';18 when 8 => return '1000';19 when 9 => return '1001';20 when 10 => return '1010';21 when 11 => return '1011';22 when 12 => return '1100';23 when 13 => return '1101';24 when 14 => return '1110';25 when 15 => return '1111';26 end;27end;28
29func SetCurrentACR(ring: AccessControlRing)30begin31 _CurrentACR = ring;32 _SystemRegisters.core_state[3:0] = AccessControlRingBits(ring);33end;34
35pure func TrapTargetForFault(source: AccessControlRing) => AccessControlRing36begin37 if source == 0 then return 0; else return 1; end;38end;39
40pure func TrapTargetForInterrupt(source: AccessControlRing) => AccessControlRing41begin42 return TrapTargetForFault(source);43end;44
45pure func ServiceRequestPermitted(source: AccessControlRing,46 request_type: bits(4)) => boolean47begin48 if source == 1 then49 return request_type == '0000' || request_type == '0010';50 elsif source >= 2 then51 return UInt(request_type) <= 2;52 else53 return FALSE;54 end;55end;56
57pure func ServiceRequestTarget(source: AccessControlRing,58 request_type: bits(4)) => AccessControlRing59begin60 assert ServiceRequestPermitted(source, request_type);61 if request_type == '0001' then return 1; else return 0; end;62end;63
64readonly func TrapVectorEntry(target: AccessControlRing,65 fault_address: Word) => Word66begin67 let index = ((target * 4096) + 0x0f01) as SystemRegisterFileIndex;68 let vector_base = _ExtendedSystemRegisters[[index]];69 if vector_base == Zeros{PTO_XLEN} then return fault_address;70 else return vector_base;71 end;72end;73
目的与范围
用途与范围
本单元定义当前 Access Control Ring 状态、其四位表示、可移植陷阱目标、允许的服务请求以及陷阱向量查找。
概念与架构状态
ACR 状态与编码
CurrentACR 返回 _CurrentACR。AccessControlRingBits 把环值 0 到 15 映射到对应的四位二进制值。
SetCurrentACR 同时更新 _CurrentACR 和 core_state[3:0],使保存的环与其系统寄存器表示保持同步。
规则与交互
陷阱与服务路由
TrapTargetForFault 把源 ACR0 映射到目标 ACR0,把每个非零源映射到目标 ACR1。TrapTargetForInterrupt 使用相同规则。
来自 ACR1 时,允许服务请求类型 0000 和 0010。来自 ACR2 到 ACR15 时,允许无符号值不大于 2 的请求类型;ACR0 不允许任何请求。
对于允许的请求,类型 0001 的目标是 ACR1,其他每个允许类型的目标都是 ACR0。
边界与未定义范围
陷阱向量查找边界
TrapVectorEntry 读取扩展系统寄存器索引 target * 4096 + 0x0f01。非零条目是向量基址;零条目回退到给定的故障地址。
ServiceRequestTarget 会断言请求已经获得许可。调用者必须先确认许可,才能请求目标。
使用示例
示例性路由示例
来自 ACR2 的 0001 类型请求被允许,并且目标为 ACR1。同一请求来自 ACR1 时不被允许,因此不能把它传给 ServiceRequestTarget。
相关规范所有者
相关所有者
No NDF clause is attached to this unit.
Evidence index
11 matching entries
Executable evidence1
PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL compiles as an independent normative unit- surfaceARCH
- ownerPTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL
- categorySTATIC-INVARIANT
- case001
Show exact test source
Sources and references
- Complete stable ID
PTO-AVS-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL-STATIC-001- Path
tests/asl/arch/system-registers/access-control/arch-static-access-control-contract-001.asl- Kind / role
- static-invariant
- Pass condition
- the complete model and this unit's static invariant compile
- SHA-256
84f205e7b465e1547898bc952ff27a94ded966a19ee9e2a3f822c428dfdb3e24
Open exact source ↗ for PTO-AVS-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL-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-TRACEABILITYspec/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-CLOSUREspec/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-READINESSspec/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-READINESSspec/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 history5
Use PTO-owned system-register names · accepted- decision recordADR
- case0003
Decision record
Loading ADR-0003…
Sources and references
- Complete stable ID
ADR-0003- Path
docs/status/decisions/0003-pto-owned-system-register-names.md- Affected units
- PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-MAINTENANCE, PTO-ARCH-SYSTEM-REGISTERS-TIMER, PTO-SCALAR-C-SSRGET, PTO-SCALAR-HL-SSRGET, PTO-SCALAR-HL-SSRSET, PTO-SCALAR-SSRGET, PTO-SCALAR-SSRSET, PTO-SCALAR-SSRSWAP
- Affected NDF
- PTO-C-SSRGET-DIRECT-IDS-001, PTO-HL-SSRGET-DECISION-BINDING-001, PTO-HL-SSRSET-DECISION-BINDING-001, PTO-SSRGET-ADR-CONTRACT-001, PTO-SSRSET-ADR-CONTRACT-001, PTO-SSRSWAP-ADR-CONTRACT-001
- SHA-256
c6a5379776c3b29c25f0896bc56f84d8f5c15832bbba0859b822aa99a65e342d
Open exact decision source ↗ for ADR-0003Define the PTO architectural state contract · accepted- decision recordADR
- case0008
Decision record
Loading ADR-0008…
Sources and references
- Complete stable ID
ADR-0008- Path
docs/status/decisions/0008-architectural-state-contract.md- Affected units
- PTO-ARCH-OVERVIEW-ARCHITECTURE, PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT, PTO-ARCH-PROGRAMMING-MODEL-PREDICATE-REGISTERS, PTO-ARCH-PROGRAMMING-MODEL-SCALAR-REGISTERS, PTO-ARCH-PROGRAMMING-MODEL-SHARED-TILE-REGISTERS, PTO-ARCH-PROGRAMMING-MODEL-TILE-REGISTERS, PTO-ARCH-STATE-DEFINEDNESS, PTO-ARCH-STATE-PROGRAM-COUNTER, PTO-ARCH-STATE-TILE-DESCRIPTOR, PTO-ARCH-STATE-TRAP-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-BLOCK-B-IOR, PTO-BLOCK-B-IOS, PTO-BLOCK-B-IOT, PTO-BLOCK-MODEL-STATE-BINDING-STATE, PTO-BLOCK-MODEL-STATE-CONTROL-STATE, PTO-BLOCK-MODEL-STATE-DESCRIPTOR-STATE, PTO-BLOCK-MODEL-STATE-TYPES, PTO-TILE-MODEL-STATE-LOCAL-REGISTERS
- Affected NDF
- PTO-ARCH-STATE-CLOSURE-001, PTO-REQ-BUNDLE-STATE-001, PTO-REQ-SHARED-TILE-001, PTO-REQ-STATE-001, PTO-REQ-TILE-001, PTO-TILE-CAPACITY-PER-PE
- SHA-256
9c33e1b57d0f04c4d808ee61aaf975187a3dbd32a071329ca65a916dc0e614ca
Open exact decision source ↗ for ADR-0008PTO v0 ACR routing and context reset · accepted- decision recordADR
- case0010
Decision record
Loading ADR-0010…
Sources and references
- Complete stable ID
ADR-0010- Path
docs/status/decisions/0010-acr-routing-and-context-reset.md- Affected units
- PTO-ARCH-PROFILE-RESET, PTO-ARCH-PROGRAMMING-MODEL-EXECUTION-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-MAINTENANCE, PTO-ARCH-SYSTEM-REGISTERS-TIMER
- Affected NDF
- PTO-REQ-STATE-001
- SHA-256
7594432a33c54880227fa3ab495bf5b29d406ac3b4e83634ffefe0a713e85f35
Open exact decision source ↗ for ADR-0010Classify every visible system register behavior · accepted- decision recordADR
- case0017
Decision record
Loading ADR-0017…
Sources and references
- Complete stable ID
ADR-0017- Path
docs/status/decisions/0017-system-register-behavior-classes.md- Affected units
- PTO-ARCH-OVERVIEW-ARCHITECTURE, PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-MAINTENANCE, PTO-ARCH-SYSTEM-REGISTERS-TIMER
- Affected NDF
- PTO-ARCH-COMMIT-EVENT-CONFORMANCE-001, PTO-ARCH-STATE-CLOSURE-001, PTO-RELEASE-VERIFICATION, PTO-SOURCE-HIERARCHY, PTO-TILE-CAPACITY-PER-PE
- SHA-256
6b4f7a29546952e4c5c61b0f4f921b04ecbc8340ba4ad86619277f17da97f95f
Open exact decision source ↗ for ADR-0017Scalar SYS totality and PTO-v0 profile boundaries · accepted- decision recordADR
- case0031
Decision record
Loading ADR-0031…
Sources and references
- Complete stable ID
ADR-0031- Path
docs/status/decisions/0031-scalar-sys-totality-and-profile-boundaries.md- Affected units
- PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL, PTO-ARCH-SYSTEM-REGISTERS-ADDRESSING, PTO-ARCH-SYSTEM-REGISTERS-CONTEXT, PTO-ARCH-SYSTEM-REGISTERS-INTERRUPT, PTO-ARCH-SYSTEM-REGISTERS-MAINTENANCE, PTO-ARCH-SYSTEM-REGISTERS-TIMER, PTO-SCALAR-ACRC, PTO-SCALAR-ACRE, PTO-SCALAR-ASSERT, PTO-SCALAR-BC-IALL, PTO-SCALAR-BC-IVA, PTO-SCALAR-BSE, PTO-SCALAR-BWE, PTO-SCALAR-BWI, PTO-SCALAR-BWT, PTO-SCALAR-C-EBREAK, PTO-SCALAR-C-SSRGET, PTO-SCALAR-DC-CISW, PTO-SCALAR-DC-CIVA, PTO-SCALAR-DC-CSW, PTO-SCALAR-DC-CVA, PTO-SCALAR-DC-IALL, PTO-SCALAR-DC-ISW, PTO-SCALAR-DC-IVA, PTO-SCALAR-DC-ZVA, PTO-SCALAR-EBREAK, PTO-SCALAR-FENCE-D, PTO-SCALAR-FENCE-I, PTO-SCALAR-HL-SSRGET, PTO-SCALAR-HL-SSRSET, PTO-SCALAR-IC-IALL, PTO-SCALAR-IC-IVA, PTO-SCALAR-LSRGET, PTO-SCALAR-SETC-TGT, PTO-SCALAR-SSRGET, PTO-SCALAR-SSRSET, PTO-SCALAR-SSRSWAP, PTO-SCALAR-TLB-IA, PTO-SCALAR-TLB-IALL, PTO-SCALAR-TLB-IAV, PTO-SCALAR-TLB-IV
- Affected NDF
- PTO-ACRC-DECISION-BINDING-001, PTO-ACRE-IMPLICIT-STOP-001, PTO-BSE-DECISION-BINDING-001, PTO-BWE-DECISION-BINDING-001, PTO-BWI-DECISION-BINDING-001, PTO-BWT-DECISION-BINDING-001, PTO-C-EBREAK-CAUSE-001, PTO-C-SSRGET-DIRECT-IDS-001, PTO-EBREAK-DECISION-BINDING-001, PTO-FENCE-D-DECISION-BINDING-001, PTO-FENCE-I-DECISION-BINDING-001, PTO-HL-SSRGET-DECISION-BINDING-001, PTO-HL-SSRSET-DECISION-BINDING-001, PTO-LSRGET-BARG-001, PTO-SETC-TGT-ADR-CONTRACT-001, PTO-SSRGET-ADR-CONTRACT-001, PTO-SSRSET-ADR-CONTRACT-001, PTO-SSRSWAP-ADR-CONTRACT-001, PTO-TLB-IA-ADR-CONTRACT-001, PTO-TLB-IALL-ADR-CONTRACT-001, PTO-TLB-IAV-ADR-CONTRACT-001, PTO-TLB-IV-ADR-CONTRACT-001
- SHA-256
5680b3516be6c28a1ccb198c99f5efb66317c65330f6d87434173024d2795a7d
Open exact decision source ↗ for ADR-0031
Open 4 generated metadata fields
Open generated traceability record
{
"classification": [
"system-registers",
"access-control"
],
"documentation": "docs/arch/system-registers/access-control.md",
"id": "PTO-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL",
"mnemonic": null,
"readiness_subjects": [
"ADR-0003",
"ADR-0008",
"ADR-0010",
"ADR-0017",
"ADR-0031"
],
"semantic_tests": [],
"source": "asl/arch/system-registers/access-control.asl",
"surface": "arch",
"tests": [
"PTO-AVS-ARCH-SYSTEM-REGISTERS-ACCESS-CONTROL-STATIC-001"
]
}
来源与发布信息
展开 commit、路径、hash、版本和规范所有者
- 发布
0.58.5 · 候选发布- Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812- ASL SHA-256
b902ec666fffe515cb48ef7f54c144d19b514561537489a670349369eee3a819- 文档 SHA-256
0629315070e287fa1b742a5af5f3e5578bf8ffdec466cebfea2bfbbc7bbf2eaa