Skip to content

Commit b5dc2a3

Browse files
StoreUnit docs update
* StoreUnit & template * StoreUnit docs update * StoreUnit update * Update 01_storeunit.md
1 parent aeb5754 commit b5dc2a3

1 file changed

Lines changed: 49 additions & 5 deletions

File tree

documents/content/zh-cn/docs/98_ut/03_memblock/03_lsu/01_storeunit.md

Lines changed: 49 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,16 @@ StoreUnit 是存储指令执行单元 ,由多个协同工作的子模块组成
2828

2929
#### 存储地址流水线
3030

31-
![Scalar](scalar.png)
31+
<div>
32+
<center>
33+
<img src="../scalar.png"
34+
alt="sw指令流水示意图"
35+
style="zoom:100%"/>
36+
<br>
37+
图1:LoadQueueRAR结构示意图<br><br>
38+
</center>
39+
</div>
40+
3241

3342
由4级结构组成:
3443

@@ -84,7 +93,16 @@ StoreUnit 是存储指令执行单元 ,由多个协同工作的子模块组成
8493
对于除 SEG指令外的向量内存访问指令,VSSplit 负责接收向量内存访问指令发射队列发送的微操作(uop),并将该微操作拆分为多个元素。随后VSSplit 将这些元素发送至StoreUnit 执行,执行流程与标量内存访问指令相同。执行完成后,元素会被写回至 VSMerge,其中 Merge 模块会将这些元素收集并组合成微操作,最终写回向量寄存器文件。
8594
SEG 指令则由独立的 VSegmentUnit 模块处理。
8695

87-
![Vector](vector.png)
96+
<div>
97+
<center>
98+
<img src="../vector.png"
99+
alt="vse指令流水示意图"
100+
style="zoom:100%"/>
101+
<br>
102+
图2:LoadQueueRAR结构示意图<br><br>
103+
</center>
104+
</div>
105+
88106

89107
StoreUnit处理非对齐Store指令流程和标量类似,特别的:
90108

@@ -118,7 +136,16 @@ StoreUnit处理非对齐Store指令流程和标量类似,特别的:
118136

119137
原子指令、MMIO与NC地址空间均不支持非对齐访问,这些情况将触发AccessFault异常。
120138

121-
![Misalign](misalign.png)
139+
<div>
140+
<center>
141+
<img src="../misalign.png"
142+
alt="非对齐sd指令流水示意图"
143+
style="zoom:100%"/>
144+
<br>
145+
图3:非对齐sd指令流水示意图<br><br>
146+
</center>
147+
</div>
148+
122149

123150
StoreUnit处理非对齐Store指令流程和标量类似,特别的:
124151

@@ -147,7 +174,16 @@ RAW内存违例:处理器核执行的Load指令的结果应来源于当前处
147174

148175
Store指令地址流水线分为S0/S1/S2/S3四级,如图所示:
149176

150-
![StoreUnit整体框图](StoreUnit.png)
177+
<div>
178+
<center>
179+
<img src="../StoreUnit.png"
180+
alt="StoreUnit整体框图"
181+
style="zoom:100%"/>
182+
<br>
183+
图4:StoreUnit整体框图<br><br>
184+
</center>
185+
</div>
186+
151187

152188
接收store地址发射队列发来的请求,处理完成之后需要给后端和向量部分响应,处理过程中需要给发射队列反馈信息,给StoreQueue反馈信息,最后写回, 如果中间出现异常则从发射队列重新发射。
153189

@@ -700,7 +736,15 @@ SBuffer支持超时清空机制;超过2^20周期未被换出的数据块将被
700736

701737
### 接口时序实例
702738

703-
![StoreUnit接口时序](LSU-StoreUnit-Timing.svg)
739+
<div>
740+
<center>
741+
<img src="../LSU-StoreUnit-Timing.svg"
742+
alt="StoreUnit接口时序"
743+
style="zoom:100%"/>
744+
<br>
745+
图1:StoreUnit接口时序<br><br>
746+
</center>
747+
</div>
704748

705749

706750

0 commit comments

Comments
 (0)