Step 2 - 地址生成与拆分

This commit is contained in:
2026-04-14 00:56:38 +08:00
parent 7eab504f4a
commit 4ab93d7806
7 changed files with 266 additions and 10 deletions
+10 -10
View File
@@ -63,21 +63,21 @@
### TODO
- [ ] 新建 `AddressGenerator.cs`:生成 `[0, 2^vaBits - 1]` 范围虚拟地址
- [ ] 新建 `AddressTranslatorUtils.cs`:拆分 `VPN + offset`
- [ ] 实现二级页表索引位拆分
- [x] 新建 `AddressGenerator.cs`:生成 `[0, 2^vaBits - 1]` 范围虚拟地址
- [x] 新建 `AddressTranslatorUtils.cs`:拆分 `VPN + offset`
- [x] 实现二级页表索引位拆分
### 拆分规则
- [ ] `vpnBits = vaBits - offsetBits`
- [ ] `l1Bits = ceil(vpnBits / 2)`
- [ ] `l2Bits = floor(vpnBits / 2)`
- [ ] 从 `VPN` 拆出 `L1Index` 和 `L2Index`
- [x] `vpnBits = vaBits - offsetBits`
- [x] `l1Bits = ceil(vpnBits / 2)`
- [x] `l2Bits = floor(vpnBits / 2)`
- [x] 从 `VPN` 拆出 `L1Index` 和 `L2Index`
### 完成标准
- [ ] 控制台可打印每次地址拆分结果
- [ ] 32/48/64 三种位数下拆分结果均正确
- [x] 控制台可打印每次地址拆分结果
- [x] 32/48/64 三种位数下拆分结果均正确
## 4. Step 3 - TLB(全相联 + LRU)
@@ -206,5 +206,5 @@
## 11. 首日执行建议(直接开工)
- [x] 先完成 Step 1(参数模型 + 校验)
- [ ] 紧接 Step 2(地址拆分)
- [x] 紧接 Step 2(地址拆分)
- [ ] 当天收尾前完成 Step 3(TLB LRU 最小可运行)