注:本章节内容,仅供参考,不保证完全正确。因为不同版本的定义不同。

7. 操作寄存器

主机控制器(HC)包含一组片上操作寄存器,这些寄存器被映射到系统可寻址空间的非缓存区域,由主机控制器驱动(HCD)使用。

根据功能,这些寄存器分为四个部分:

  1. 控制与状态寄存器
  2. 内存指针寄存器
  3. 帧计数器寄存器
  4. 根集线器(Root Hub)寄存器

所有寄存器均需以双字(Dword)为单位进行读写。

保留位的处理规范

  • 保留位可能在未来版本的本规范中定义。为确保兼容性:
    1. HCD不得假设保留位为0,即使未使用这些字段。
    2. HCD必须保留保留位的原始值。修改寄存器时,应遵循以下流程:
      • 读取寄存器当前值。
      • 修改目标位,同时保持保留位不变。
      • 写入更新后的值。
    3. 替代方案:HCD可在内存中维护寄存器的副本,修改副本后再写入HC寄存器。
  • 置位/清零寄存器(Set/Clear Register)写入时,保留位必须写入0

关键术语说明

  • 非缓存区域(Noncacheable):避免因CPU缓存导致寄存器读写不同步。
  • 双字(Dword):32位数据块,对应OHCI寄存器的标准宽度。
  • 置位/清零寄存器:通过写1置位或清零特定功能的寄存器(如中断标志)。

(注:译文严格遵循技术文档的严谨性,同时优化了长句结构和被动语态,符合中文技术文献习惯。)