SCI设备驱动与Linux系统的深度解析
1. SCI系统的地址空间
在探讨SCI设备驱动的可能层次之前,了解相关的地址空间是很有必要的。SCI系统中的内存可以从不同角度来看待。
- 64位SCI地址空间 :被划分为48位的节点地址空间和16位的节点索引。在典型系统中,既不会使用所有的(2^{16})个节点,也不会使用节点内所有的(2^{48})个地址,该地址空间很可能是稀疏分布的。
- 节点的物理地址空间 :可以是32位(如Intel x86)或64位(如DEC Alpha)。这两种情况对映射到SCI地址空间都有一定限制。64位本地地址空间能够映射整个SCI地址空间,但SCI的48位节点地址空间无法映射所有节点的整个本地空间。而32位本地地址空间对系统的限制更多,它只能映射SCI地址空间的一小部分,并且很可能无法映射系统中所有的物理内存。如今,总物理内存超过4GB的SCI系统很常见,在这些系统中,一个进程只能映射整个物理内存的一部分,这与本地系统中虚拟内存大于物理内存的情况相反。
下面是不同地址空间及其映射关系的表格:
|地址空间|位数|特点|
| ---- | ---- | ---- |
|64位SCI地址空间|64位|划分为48位节点地址空间和16位节点索引,可能稀疏分布|
|32位本地物理地址空间|32位|只能映射SCI地址空间一小部分,可能无法映射所有物理内存|
|64位本地物理地址空间|64位|能映射整个SCI地址空间,但SCI无法映射其全量本地空间|
2. 硬件抽象层次
内核空间中的SCI驱动可以为
超级会员免费看
订阅专栏 解锁全文
824

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



