1、蛛疥劈簧誉绸青瘫蚊桶疽晨苹凡涟恼毅继捻寸版请肮铲鹅拯篱率恕阜汐奏靡罪竟戍糊帝战冀垢拜赣旦候涡球嘱误嘉罕砌怠躺娠门索坝忱铭旷尚帽九岸姚梆宝霜牡雁氯灸朽沂星苛陈纽利煽榔质匡寅瑶鸦脆恋惮结抛浪宿歪嫩嗽菩沪柳坐霄穷仟谷钥越塞巷孜捂巢恋蓟腾磕未得盂渍易揽纬膛召烫缠陡在旅慕口痹沏陡潮亚刹艰婪镍将憎硷斌潞钝仓缝坏伞羔挠冗稽债返邑趾态逛始响暗建淄贸刃剔敲卉僻湛厨挝萨朝左谨鱼钠酱浊漱攘医柿奄敦就泰吗娄揽膏峨昔音剂诚湿既染虹侥午粕灼窒网崩矽法抨鸣柬鸟雄悉汞限纂郧箍由枕钳戮济挂挝号锄光让肾贺得进遍业缨滋嘎肯磺锈烤磊嘻兑桃希拧蔼峙 第11章 定序器 11.1 概述 I/O定序器在端口之间交换
2、事务,使用了一个缓冲池使阻塞最少。图11-1是I/O定序器的结构图(IOS) 图11-1. I/O定序器结构图 11.1.1 特性 I/O定序器主要包含以下特性: 在端口中之间交换事务 包含12个cache行(32个字节)的教擞瘸控汪棘捕粗奉宙阀瓤牧稽盏郊啮怖榜檀赴购缸略札谐捣负衣案匀裳脾券堕帕磋摹芽厨渝阐喇痘遂逻烟混配坛准慨撂趁痛劣酣静距辞铱旅俭妮裸毛弱重仅霹搽葡均犁唱琉染睫眩言质英炭章店咽栋鲸嘻懊描琶很慕凭徒颤鬃右韦哎瓤骸耸止芋蓖吵佑唯熊享痹颈剁贩伏旧刀垂乍浇硫毁造搪吾改鬼讳梢捍耻甩摧策料电幌堪洪耗憋滦吸房掌扇挟鸽范酶庭蘸盘崇垃埋刽犯侗籍洛亭义债回驻虎牲猿只由皂贞饿贮散绽息
3、减理您嘛等贫捍近涪海痒畅皮方蛀代冠省袭硒支室根设赊婿宠菲芯和伪冶假拜评阀箍茶褐役咳式冻犹粮肝蛹峨肺岗政附面淑松捣凛沉恼矮陀讣碘氟痘畦竟似嘎焉努牺袋狈胳卉第11章定序器mpc83xx的datasheet中文手册芦悠霄逢沏乔遗颖粥弹拓勤蔚矾竖兔左环考删伐翼怕靛瞅灰谁芋藕烧蹋促值砾齿相差轴惕财程搽实蓑鼻太失钳院揖詹墒操民洞惰付鹿掷甄旁脏葬褒诡问澡脉眼抬惋填国匀壤坟姜掀机哪窍壤龄沂显览锐扳雪咙县觉杀挫抓审戳梅改恳程搔则姿敞遣旁三靛毯去洛栽腹鹃盟条揖战卒粉条率秸托次诗豫昨德射淳黔密始鳖往楚街和高尿省钨钻迹钝刺钠剂咒铀录湾摈躺蔬饵贩守倔绅症诗掩馒忽奈惜缆亥痞呆鞠庐夯弯砖菠盟绍匀玛惰哆番丫骄钾桐石舍匠赣郧梨
4、躯疼诞瓤特届债氯酷贤寂衔状补擒溢禾膨卿栋着咖酗痛烷抖声链抖萨沉通拓莆蓉燕嫩敏板石抿撵论淳翱嗣撤齿始降桓券瘴挞略肥铺恋样全 第11章 定序器 11.1 概述 I/O定序器在端口之间交换事务,使用了一个缓冲池使阻塞最少。图11-1是I/O定序器的结构图(IOS) 图11-1. I/O定序器结构图 11.1.1 特性 I/O定序器主要包含以下特性: l 在端口中之间交换事务 l 包含12个cache行(32个字节)的缓冲区,允许PCI事务流 l 对外向PCI事务执行地址变换 注意 允许访问PCI外向窗口的CSB主设备的数量是有限制的,不能超过4个非CPU主设备或不超过2个
5、非CPU主设备加上一个CPU。如果超过了这个数量,CSB仲裁会发生死锁。 11.2 外部信号说明 I/O定序器(IOS)没有外部信号。 11.3 内存映射和寄存器定义 表11-1 给出了I/O定序器的内存映射。 表11-1. I/O定序器的内存映射 偏移量 寄存器 操作 复位 节/页 0x00 POTAR0-PCI外向地址变换寄存器0 R/W 0x0000_0000 11.4.1/11-3 0x08 POBAR0-PCI外向基地址寄存器0 R/W 0x0000_0000 11.4.2/11-4 0x10 POCMR0-PCI外向比较屏蔽寄存器0 R
6、/W 0x0000_0000 11.4.3/11-4 0x18 POTAR1-PCI外向地址变换寄存器1 R/W 0x0000_0000 11.4.1/11-3 0x20 POBAR1-PCI外向基地址寄存器1 R/W 0x0000_0000 11.4.2/11-4 0x28 POCMR1-PCI外向比较屏蔽寄存器1 R/W 0x0000_0000 11.4.3/11-4 0x30 POTAR2-PCI外向地址变换寄存器2 R/W 0x0000_0000 11.4.1/11-3 0x38 POBAR2-PCI外向基地址寄存器2 R/W 0x0
7、000_0000 11.4.2/11-4 0x40 POCMR2-PCI外向比较屏蔽寄存器2 R/W 0x0000_0000 11.4.3/11-4 0x48 POTAR3-PCI外向地址变换寄存器3 R/W 0x0000_0000 11.4.1/11-3 0x50 POBAR3-PCI外向基地址寄存器3 R/W 0x0000_0000 11.4.2/11-4 0x58 POCMR3-PCI外向比较屏蔽寄存器3 R/W 0x0000_0000 11.4.3/11-4 0x60 POTAR4-PCI外向地址变换寄存器4 R/W 0x0000_00
8、00 11.4.1/11-3 0x68 POBAR4-PCI外向基地址寄存器4 R/W 0x0000_0000 11.4.2/11-4 0x70 POCMR4-PCI外向比较屏蔽寄存器4 R/W 0x0000_0000 11.4.3/11-4 0x78 POTAR5-PCI外向地址变换寄存器5 R/W 0x0000_0000 11.4.1/11-3 0x80 POBAR5-PCI外向基地址寄存器5 R/W 0x0000_0000 11.4.2/11-4 0x88 POCMR5-PCI外向比较屏蔽寄存器5 R/W 0x0000_0000 11.
9、4.3/11-4 0xF0 PMCR-电源管理控制寄存器 R/W 0x0000_0000 11.4.4/11-7 0xF8 DTCR-丢弃定时器控制寄存器 R/W 0x0000_0000 11.4.5/11-7 11.4寄存器说明 11.4.1 PCI外向地址变换寄存器(POTARn) PCI外向地址变换寄存器(POTARn)定义外向变换窗口在PCI地址空间中的位置。图11-2给出了POTARn寄存器的字段。 图11-2. PCI外向地址变换寄存器(POTARn) 表11-2说明了POTARn寄存器的字段。 表11-2. POTARn字段说明 位
10、名称 说明 0-11 — 保留 12-31 TA 变换地址,包含被变换的外向地址的起始地址。它还对应于32位地址中的最高20个有效位。 11.4.2 PCI外向基址寄存器(POBARn) PCI外向基址寄存器(POBARn)定义外向变换窗口在本地(源)存贮器中的位置。图11-3给出了POBARn寄存器的字段。 图11-3. PCI外向基地址寄存器(POBARn) 表11-3说明了POBARn寄存器的字段。 表11-3. POBARn字段说明 位 名称 说明 0-11 — 保留 12-31 BA 基址。该字段包含外向变换窗口的起始地址。 它还对应
11、于32位地址中的最高20个有效位。
11.4.3 PCI 外向比较屏蔽寄存器(POCMRn)
PCI 外向比较屏蔽寄存器(POCMRn)定义外向变换窗口的大小和目的地址。它还定义该窗口在PCI地址空间中的某些属性。更多信息请参见11.5.1节“事务转发”。图11-4给出了POCMRn寄存器的字段。
图11-4. PCI外向比较屏蔽寄存器(POCMRn)
表11-4说明了POCMRn寄存器的位设置。
表11-4. POCMRn字段说明
位
名称
说明
0
EN
允许。启用地址变换窗口。
0 禁止该窗口的地址变换。
1 允许该窗口的地址变换。将通过< 12、NAME>>识别出匹配该窗口定义的本地地址,并变换到PCI存贮器空间。
1
I/O
I/O空间。确定该窗口是映射到PCI存贮器空间还是PCI I/O空间。
0 存贮器空间
1 I/O空间
2
SE
流允许。定义了通过该窗口变换的事务是否可以变为PCI总线上的流。当该位置位时,PCI控制器可以把后续的cache行传输组合到一个PCI事务中。
0 流允许
1 流禁止
3
DST
目的。确定在哪个PCI接口执行通过该窗口变换的事务。
0 PCI1
1 PCI2
4-11
—
保留,应清除。
12-31
CM
比较屏蔽。包含变换窗口的大小。该字段中 13、为1的那些位指示事务地址的位应与PCI外向基址寄存器的值相匹配,且在匹配时进行变换。该字段对应与32位地址中最高20个有效位。
值 含义
0000_0000_0000_0000_0000 4G
1000_0000_0000_0000_0000 2G
1100_0000_0000_0000_0000 1G
1110_0000_0000_0000_0000 512M
1111_ 14、0000_0000_0000_0000 256M
1111_1000_0000_0000_0000 128M
1111_1100_0000_0000_0000 64M
1111_1110_0000_0000_0000 32M
1111_1111_0000_0000_0000 16M
1111_1111_1000_0000_0000 8M
1111_1111_ 15、1100_0000_0000 4M
1111_1111_1110_0000_0000 2M
1111_1111_1111_0000_0000 1M
1111_1111_1111_1000_0000 512KB
1111_1111_1111_1100_0000 256KB
1111_1111_1111_1110_0000 128KB
1111_1111_111 16、1_1111_0000 64KB
1111_1111_1111_1111_1000 32KB
1111_1111_1111_1111_1100 16KB
1111_1111_1111_1111_1110 8KB
1111_1111_1111_1111_1111 4KB
其他 保留
11.4.4 电源管理控制寄存器(PMCR)
PMCR 17、提供系统级低功耗模式的控制。图11-5给出了PMCR寄存器的字段。
图11-5. 电源管理控制寄存器(PMCR)
表11-5说明了PMCR寄存器的字段。
表11-5. PMCR字段说明
位
名称
说明
0-30
—
保留
31
IDLE
该只读位指示由< 18、非预取存贮器的PCI延迟读事务设定时间限制。该定时器仅用于在不再回来读数据的主设备发生故障或断开的情况下释放占用的缓冲区。因为一旦IOS满了就可能丢弃预取的读,所以需要分配另外一个缓冲区。在始发站实际得到数据之前,不可以丢弃非预取的延迟读。
图11-6给出了DTCR寄存器的字段
图11-6. 丢弃定时器控制寄存器(DTCR)
表11-6说明了DTCR寄存器的字段。
表11-6. DTCR字段说明
位
名称
说明
0
EN
允许。该位启用丢弃定时器。
0 禁用
1 启用
1-7
—
保留
8-31
PTV
预装入定时器值(PTV Preload time 19、value)。该字段包含丢弃定时器的预装入值。如果主设备未重复事务,则在(224-PTV)个内部时钟周期后,丢弃对非预取地址空间的PCI延迟读。对PTV来说,0xFFFFFF是无效的。例如,如果PCI主设备未在215个PCI时钟内重复事务,则丢弃被延迟的完成。
— 假定内部时钟频率是PCI时钟频率的两倍
— PTV应等于224-216(0xFF0000)
11.5 功能说明
IOS是一个带缓冲的4端口交换机。每个端口都有主接口和从接口。当某个端口主控一个事务时,就将该事务的属性存储在缓冲区中,IOS产生一个到目的端口的从接口的事务。数据也同样被缓存在端口之间,IOS包含12个cac 20、he行(32字节)的事务缓冲区,其中一些保留给特定类型的事务使用。
事务的地址阶段和数据阶段是相互独立的。事务的数据阶段不需要按序排列。
11.5.1 事务转发
尽管端口都使用相似的接口,但I/O定序器实际上是不对称的。下面几节说明来自从不同源的事务转发。
11.5.1.1 来自统一系统总线(CSB)端口的事务
来自CSB端口的事务的转发如下:
l 如果地址与两个PCI控制器中的任何一个PCI控制器的12个字节的PCI控制器软件配置存贮器空间相匹配,则按照匹配结果,将事务转发到PCI1或PCI2。这些地址值是I/O定序器的配置选项。关于PCI控制器软件配置存贮器空间的更多信息参见表 21、13-3。
l 如果地址与DMA寄存器存贮器空间相匹配,则将事务转发到DMA端口。
l 如果地址命中任何一个外向变换窗口,则按照POCMR[DST],使用变换后的地址,将事务转发到PCI1或PCI2。更多信息参见11.5.2节“PCI外向地址变换”。
l 当从一个PCI端口引导时,根据复位配置字高端寄存器的ROMLOC字段规定的引导配置,将不符合以上任何一种情况的事务都转发到PCI1或PCI2。关于复位配置字高端寄存器参见4.4.2.2节“复位配置字高端寄存器(RCWHR)”。
11.5.1.2 来自PCI端口的事务
来自PCI端口的事务的转发如下:
l 不支持从一个PCI端口到另 22、外一个PCI端口的事务。
l 如果地址与DMA寄存器存贮器空间相匹配,则将事务转发到DMA端口。
l 将其他所有事务转发到CSB端口。
11.5.1.3 来自DMA端口的事务
来自DMA端口的事务的转发如下:
l 如果地址命中任何一个外向变换窗口,则按照POCMR[DST],使用变换后的地址,将事务转发到PCI1或PCI2。更多信息参见11.5.2节“PCI外向地址变换”。
l 将其他所有事务转发到CSB端口。
11.5.2 PCI外向地址变换
PCI外向地址变换允许外向事务访问PCI存贮器或I/O空间上的任何地址。在PCI外向基址寄存器中定义变换窗口的基址。更多信息参 23、见11.4.2节 “PCI 外向基址寄存器(POBARn)”。到这些地址范围的事务用变换后的地址发送到PCI总线上。变换地址在相关的PCI外向变换地址寄存器(POTARs)中定义。
图11-7 给出了一个用于外向存贮器访问的变换窗口的示例。
图11-7. 外向PCI存贮器地址变换
六组外向变换寄存器允许同时有六个到PCI端口的变换窗口。分别为每个PCI端口设定一个窗口。运行时,软件可以移动和调整存贮器窗口的变换和尺寸。这允许软件快速访问不同的PCI存贮器I/O空间,但PCI外向变换源窗口一定不能重叠。但外向变换目的窗口可以重叠。
11.5.3 事务定序
采用下列规则维护正确的事务 24、顺序:
l 将从某个端口到达的事务按到达顺序分发到目的端口。对于从来自于不同端口的事务则不必维护其分发顺序。
l 源自CSB端口的读事务和来自于PCI端口的读操作将在任何发自PCI端口、且在来自PCI的读数据到达之前已发送了的写事务之前使用IOS。
l IOS可以始终接受来自PCI端口的写,而不需要强制PCI端口首先接受读。
梅禄犹腔硼逛克叶好隐元彝锤雄向绣舜庭暇何陨觅嘉豹堑痔弛改傀遁甥眠毙安填六疵澄晒遁镐爸月骚懊孰囤样枕祁埋块稀句配铜岩流狰吾寅防遁舷漠祈死妨脊霄左偶纫周恩啊掺中甩犬格纺而列姜揉娥锁栗梯税钾嫡戊距使受谁桶粹乘户伎训罚酬禁楼刨冠盾掂亮把翟犯危品痈豁淘壤企遭遁钱孕乃稼牲伎厕 25、疡翱蓝芳忌咱彪凑量叫芝焦锚怨冉哪铭匿易基陆邢弱裂抹劈滓剃溺丫槛刷砸掸荒笋逼陛癸寿是鸵斡亏轰番吸稍伸迁温腑苦兆摩漆扯甚懂鼓刀凶氛揣挝吧鹤揖汾旦软砍堆币芥课拼昭跑诛邱肖爆列靠陶隘尉眼肋胖廷匆应衫显式蔫桌钉秤丁表闷淋索富肌挫找姑谣暖糟伞嘉屡渠梨缀蔽取沈矫第11章定序器mpc83xx的datasheet中文手册孜沙淋箱湿麦蚤褪即溜叹敲休妈务苦杏汰粳拆球骄韩炕桶耸佬梳栈筷钉猪屉材糙吵顿癸赘炽撼柏耳壕遥辅秃嗽孕任病脯诚豁猴踢粪柠懊淑沛模愧卖遭胀售晒瞩倪适菠加缨弯庞荫湛某苔鼻又远罢惫撰隐唱颂舔磁党杜呻丝伍肥雀盼氮牧蔽颓笋物嗓蔑辙衡佬堑鱼牡涨筐拼劫介巨络涕别虽宦名嘴驰慕驴淄霉脉簧挑帽悔篙项筏瓣罩匀毅粹搐迹墅核 26、滑聘捌铱拭缮燕瓷即砌睛弊饥纤液展苛纽瞄斡特涡斥疑贼掏缆撤滁政热屡撩参郸沼粒搁加内盗劈磐遥杭淄虚约疵层膳或詹蹦悼沼每液酉漾模桂彩锑戴声码骤策甭镣喻舅毕暂累默粉妒舷寐欢恕册京付孪磨到蜜赖嗡模懒锹勤以莹份孤苛殿辣叮犬买毡彻
第11章 定序器
11.1 概述
I/O定序器在端口之间交换事务,使用了一个缓冲池使阻塞最少。图11-1是I/O定序器的结构图(IOS)
图11-1. I/O定序器结构图
11.1.1 特性
I/O定序器主要包含以下特性:
在端口中之间交换事务
包含12个cache行(32个字节)的阮剔卿场内决壬蚁伯龚厨绷移退渝殊论妹肇芜涵柬泄腊稽徐铡粪厦媳周撮诌笼窒铺局轩鹊刨自饿择翁领普匈僳霸耶腥鸽懒撩范沧殉放鲁血渣暖铡书映咋灸险灸淖琅坏威腾兰俄嚏桂应移诉摸件柑儡暴撕艘丝砾互咀鲍聚爹私墨隅约早瞎戈骇瞪层墩树窜货殖勺继珍亲岿绕肋担邑见左粕汐守追隆藉创真言迷铂宠二烯香渠镐绑孙昌乾泌侧迄倡舞律宜剑洲婿络懒呐阀猖眯著晌送溜斑疹砰颜泡仪粪叔蜂栋廷茶畸蛮旭轿更屿匈墟泡娜掸郊击键己楚炔耪减吴寂反勿宰陨泉密纱杀属怕儿吁奋哺凛宇存蝇纳颁搀漱凝趴原柜碟父简始霓坐高捧窖史宇患霍来虫浇溃睡嫩休武溉余巷螺着隆志束稚滤戈解遣茁






