多核流水线设计详解
1. 核的数量
核的数量在 multihart_ip.h 文件中定义。要更改核的数量,需要修改 LOG_NB_HART 常量的定义:
- LOG_NB_HART 为 1 时,有 2 个核;
- LOG_NB_HART 为 2 时,有 4 个核;
- LOG_NB_HART 为 3 时,有 8 个核。
核的数量不能为 1(即 LOG_NB_HART 不能为 0),且不能大于 8。代码内存组织为单个存储体,由所有核共享,它们运行的代码都混合在同一内存中。数据内存是分区的,每个核有一个大小为 HART_DATA_RAM_SIZE 字的私有分区。总数据内存大小为 DATA_RAM_SIZE ,即 2^16 字(256KB),与核的数量无关。因此,当核的数量增加时,每个核的内存分区大小会减小,具体如下表所示:
| 核的数量 | 每个核的内存分区大小 |
| ---- | ---- |
| 2 | 2^15 字(128KB) |
| 4 | 2^14 字(64KB) |
| 8 | 2^13 字(32KB) |
部分 multihart_ip.h 文件代码如下:
# ifndef
__MULTIHART_IP
# define
__MULTIHART_IP
超级会员免费看
订阅专栏 解锁全文
1032

被折叠的 条评论
为什么被折叠?



