任务描述符
3 Mar 2025
Read time: 1 minute(s)
使用 CE 模块进行硬件加速时,软件需要以任务描述符的方式将详细的任务信息配置给 CE 模块。 多个相关的任务通过链表的方式构建任务链表 (Task List),CE 模块则按照任务链表顺序逐个处理任务。
警告:
当一个任务链表由多个任务描述符组成时,链表内的所有任务描述符必须使用相同的算法。
任务描述符的大小固定,组成部分如下所示:
任务描述符组成部分 |
大小/字节 |
说明 |
---|---|---|
Algorithm descriptor |
36 |
算法描述符 |
Data descriptor |
24 |
数据描述符 |
Next |
4 |
下一个任务描述符的地址 |
任务列表显示了多个任务描述符构成的任务列表示例:

以下是任务描述符的具体位域分配总览:
字段 |
位域 |
备注 |
|
---|---|---|---|
Algorithm Desc |
Algorithm Config |
31:24 |
- |
23:20 |
Key size,密钥大小 |
||
19:16 |
Key source,密钥源选择 |
||
15:12 |
- |
||
11:10 |
Counter width |
||
9 |
Hash IV flag |
||
8 |
Direction |
||
7:0 |
Algorithm tag,算法标识 |
||
Key address |
31:0 |
- |
|
IV address |
31:0 |
- |
|
Counter output address |
31:0 |
- |
|
Reserved |
[31:0] × 5 |
20 字节 |
|
Data Desc |
Data Info |
31:2 |
- |
1 |
First flag,当前数据是否为开始数据块 |
||
0 |
Last flag,当前数据是否为结束数据块 |
||
Total length |
31:0 |
- |
|
Input Address |
31:0 |
当前输入数据地址 |
|
Input Length |
31:0 |
当前输入数据长度 |
|
Output Address |
31:0 |
当前输出数据地址 |
|
Output Length |
31:0 |
当前输出数据长度 |
|
Next |
31:0 |
下一个任务描述符的地址 |