第11章_定序器_mpc83xx中文手册
- 格式:doc
- 大小:196.00 KB
- 文档页数:8
第11章定序器
11.1 概述
I/O定序器在端口之间交换事务,使用了一个缓冲池使阻塞最少。
图11-1是I/O定序器的结构图(IOS)
图11-1. I/O定序器结构图
11.1.1 特性
I/O定序器主要包含以下特性:
●在端口中之间交换事务
●包含12个cache行(32个字节)的缓冲区,允许PCI事务流
●对外向PCI事务执行地址变换
注意
允许访问PCI外向窗口的CSB主设备的数量是有限制的,不能超过4个非CPU主设备或不超过2个非CPU主设备加上一个CPU。
如果超过了这个数量,CSB仲裁会发生死锁。
11.2 外部信号说明
I/O定序器(IOS)没有外部信号。
11.3 内存映射和寄存器定义
表11-1 给出了I/O定序器的内存映射。
表11-1. I/O定序器的内存映射
11.4寄存器说明
11.4.1 PCI外向地址变换寄存器(POTAR n)
PCI外向地址变换寄存器(POTAR n)定义外向变换窗口在PCI地址空间中的位置。
图11-2给出了POTAR n寄存器的字段。
图11-2. PCI外向地址变换寄存器(POTAR n)
表11-2说明了POTAR n寄存器的字段。
表11-2. POTAR n字段说明
11.4.2 PCI外向基址寄存器(POBAR n)
PCI外向基址寄存器(POBAR n)定义外向变换窗口在本地(源)存贮器中的位置。
图11-3给出了POBAR n寄存器的字段。
图11-3. PCI外向基地址寄存器(POBAR n)
表11-3说明了POBAR n寄存器的字段。
表11-3. POBAR n字段说明
11.4.3 PCI 外向比较屏蔽寄存器(POCMR n)
PCI 外向比较屏蔽寄存器(POCMR n)定义外向变换窗口的大小和目的地址。
它还定
义该窗口在PCI地址空间中的某些属性。
更多信息请参见11.5.1节“事务转发”。
图11-4给出了POCMR n寄存器的字段。
图11-4. PCI外向比较屏蔽寄存器(POCMR n)
表11-4说明了POCMR n寄存器的位设置。
表11-4. POCMR n字段说明
11.4.4 电源管理控制寄存器(PMCR)
PMCR提供系统级低功耗模式的控制。
图11-5给出了PMCR寄存器的字段。
图11-5. 电源管理控制寄存器(PMCR)
表11-5说明了PMCR寄存器的字段。
表11-5. PMCR字段说明
11.4.5 丢弃定时器控制寄存器(DTCR)
DTCR用来设定丢弃定时器,该定时器的作用是为对非预取存贮器的PCI延迟读事务设定时间限制。
该定时器仅用于在不再回来读数据的主设备发生故障或断开的情况下释放占用的缓冲区。
因为一旦IOS满了就可能丢弃预取的读,所以需要分配另外一个缓冲区。
在始发
站实际得到数据之前,不可以丢弃非预取的延迟读。
图11-6给出了DTCR寄存器的字段
图11-6. 丢弃定时器控制寄存器(DTCR)
表11-6说明了DTCR寄存器的字段。
表11-6. DTCR字段说明
11.5 功能说明
IOS是一个带缓冲的4端口交换机。
每个端口都有主接口和从接口。
当某个端口主控一个事务时,就将该事务的属性存储在缓冲区中,IOS产生一个到目的端口的从接口的事务。
数据也同样被缓存在端口之间,IOS包含12个cache行(32字节)的事务缓冲区,其中一些保留给特定类型的事务使用。
事务的地址阶段和数据阶段是相互独立的。
事务的数据阶段不需要按序排列。
11.5.1 事务转发
尽管端口都使用相似的接口,但I/O定序器实际上是不对称的。
下面几节说明来自从不同源的事务转发。
11.5.1.1 来自统一系统总线(CSB)端口的事务
来自CSB端口的事务的转发如下:
如果地址与两个PCI控制器中的任何一个PCI控制器的12个字节的PCI控制器软件配置
存贮器空间相匹配,则按照匹配结果,将事务转发到PCI1或PCI2。
这些地址值是I/O定序器的配置选项。
关于PCI控制器软件配置存贮器空间的更多信息参见表13-3。
●如果地址与DMA寄存器存贮器空间相匹配,则将事务转发到DMA端口。
●如果地址命中任何一个外向变换窗口,则按照POCMR[DST],使用变换后的地址,将
事务转发到PCI1或PCI2。
更多信息参见11.5.2节“PCI外向地址变换”。
●当从一个PCI端口引导时,根据复位配置字高端寄存器的ROMLOC字段规定的引导配
置,将不符合以上任何一种情况的事务都转发到PCI1或PCI2。
关于复位配置字高端寄存器参见4.4.2.2节“复位配置字高端寄存器(RCWHR)”。
11.5.1.2 来自PCI端口的事务
来自PCI端口的事务的转发如下:
●不支持从一个PCI端口到另外一个PCI端口的事务。
●如果地址与DMA寄存器存贮器空间相匹配,则将事务转发到DMA端口。
●将其他所有事务转发到CSB端口。
11.5.1.3 来自DMA端口的事务
来自DMA端口的事务的转发如下:
●如果地址命中任何一个外向变换窗口,则按照POCMR[DST],使用变换后的地址,将
事务转发到PCI1或PCI2。
更多信息参见11.5.2节“PCI外向地址变换”。
●将其他所有事务转发到CSB端口。
11.5.2 PCI外向地址变换
PCI外向地址变换允许外向事务访问PCI存贮器或I/O空间上的任何地址。
在PCI外向基址寄存器中定义变换窗口的基址。
更多信息参见11.4.2节“PCI 外向基址寄存器(POBAR n)”。
到这些地址范围的事务用变换后的地址发送到PCI总线上。
变换地址在相关的PCI外向变换地址寄存器(POTARs)中定义。
图11-7 给出了一个用于外向存贮器访问的变换窗口的示例。
图11-7. 外向PCI存贮器地址变换
六组外向变换寄存器允许同时有六个到PCI端口的变换窗口。
分别为每个PCI端口设定一个窗口。
运行时,软件可以移动和调整存贮器窗口的变换和尺寸。
这允许软件快速访问不同的PCI存贮器I/O空间,但PCI外向变换源窗口一定不能重叠。
但外向变换目的窗口可以重叠。
11.5.3 事务定序
采用下列规则维护正确的事务顺序:
●将从某个端口到达的事务按到达顺序分发到目的端口。
对于从来自于不同端口的事务则
不必维护其分发顺序。
●源自CSB端口的读事务和来自于PCI端口的读操作将在任何发自PCI端口、且在来自PCI
的读数据到达之前已发送了的写事务之前使用IOS。
●IOS可以始终接受来自PCI端口的写,而不需要强制PCI端口首先接受读。