保护控制
本规格说明书的A版定义了一个4位的HPROT信号。
本规格说明书的B版增加了扩展的存储器类型。
注意:在本规格说明书的A版和B版中,HPROT[3]的名称有所变化,但定义保持不变。在A版中,HPROT[3]被指定为可缓存(Cacheable),而在B版中它被指定为可修改(Modifiable)。
保护控制信号HPROT[3:0]提供了有关总线访问的额外信息,主要用于实现某种保护级别的任何模块。
这些信号指示传输是否为:
- 指令取指或数据访问。
- 特权模式访问或用户模式访问。
对于带有内存管理单元的master,这些信号还指示当前访问是否可缓存(Cacheable)或可缓冲(Bufferable)。 表3-4列出了HPROT信号编码。
HPROT[3] 可修改 | HPROT[2] 可缓冲 | HPROT[1] 特权 | HPROT[0] 数据/指令 | 描述 |
---|---|---|---|---|
- | - | - | 0 | 指令取指 |
- | - | - | 1 | 数据访问 |
- | - | 0 | - | 用户访问 |
- | - | 1 | - | 特权访问 |
- | 0 | - | - | 非缓冲的 |
- | 1 | - | - | 缓冲的 |
0 | - | - | - | 非缓存的 |
1 | - | - | - | 可缓存的 |
注意:许多master无法生成准确的保护信息。如果master无法生成准确的保护信息,本规格说明书建议:
- master将HPROT设置为
0b0011
,对应于非缓存的、非缓冲的、特权、数据访问。 - slave除非绝对需要,否则不使用HPROT。
保护控制信号HPROT的时序与地址总线完全相同。然而,它们必须在突发传输期间保持不变。