(计算机系统结构专业论文)基于ixp425的pci插卡的设计和实现.pdf_第1页
(计算机系统结构专业论文)基于ixp425的pci插卡的设计和实现.pdf_第2页
(计算机系统结构专业论文)基于ixp425的pci插卡的设计和实现.pdf_第3页
(计算机系统结构专业论文)基于ixp425的pci插卡的设计和实现.pdf_第4页
(计算机系统结构专业论文)基于ixp425的pci插卡的设计和实现.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(计算机系统结构专业论文)基于ixp425的pci插卡的设计和实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 i x p 4 2 5 是i n t e l 公司的一款高度集成的单芯片网络处理器,具有高性能、高灵 活性的特点。鉴于此款处理器优越的性能和应用的广泛性,近年来,以i x p 4 2 5 网 络处理器为核心的相关系统设计及实现已经较为普遍。但是不管具体设计实现如 何千差万别,决大多数系统硬件设计都采用把i x p 4 2 5 设计为p c i 主模式的方式。 而本论文所提出的系统设计,是把i x p 4 2 5 设置为p c i 从模式:即i x p 4 2 5 作为p c i 插卡设备插接在其他主机的p c i 插槽上,接受其他主机的管理和配置。所以在原 有设计基础上不管是从硬件系统还是在软件驱动的设计和实现方面都有了新的方 式。 论文首先深入分析了p c i 体系结构及i x p 4 2 5 的内部结构和功能特点,重点研 究了i x p 4 2 5p c i 控制器内各寄存器的功能及配置方法;然后,设计了基于i x p 4 2 5 的p c i 插卡硬件电路,完成了原理图的设计和p c b 的布局和布线,并对硬件进行 了基本调试;随后建立了针对此硬件平台嵌入式开发环境;在此开发平台上,设 计并实现了主机端及插卡端的l i n u x 驱动程序;最后,在软件辅助的情况下,进一 步完成了硬件的调试工作,并且进行了整体系统功能的验证。 关键词:i x p 4 2 5 ,p c i 控制器,p c i 从模式,嵌入式系统 a b s t r a c t a b s t r a c t i n t e li x p 4 2 5n e t w o r kp r o c e s s o ri sah i g h l y i n t e g r a t e d , v e r s a t i l es i n g l e c h i p p r o c e s s o r b e c a u s eo fi x p 4 2 5 ss u p e r i o rp e r f o r m a n c ea n dw i d er a n g eo fa p p l i c a t i o n s , e m b e d d e ds y s t e md e s i g na n di m p l e m e n t a t i o nb a s e do ni x p 4 2 5n e t w o r kp r o c e s s o rh a s b e e nm o r ec o m l t i o n h o w e v e r , n om a t t e rh o wv a r i e dt h o s es p e c i f i ci m p l e m e n t a t i o n sa r e , t h em a j o n t yo ft h es y s t e md e s i g n si nh a r d w a r ed e p l o yt h ei x p 4 2 5a sah o s tf u n c t i o no n t h ep c ib u s t h i sp a p e rp u t sf o r w a r dan e wi d e at h a tt h ei x p 4 2 5i sc o n f i g u r e da sa l l o p t i o nf u n c t i o no nt h ep c ib u s n a m e l y , t h ei x p 4 2 5p l u g g e di nt h es l o to fp c ic a r do n t h ec o m p u t e ri s m a n a g e db yo t h e rh o s t s n o to n l yt h e h a r d w a r eb u ta l s ot h e s o f t w a r e d r i v e nh a san e ww a yo fd e s i g na n di m p l e m e n t a t i o nb a s e do nt h eo r i g i n a l d e s i g n t h i sp a p e rf i r s ta n a l y s e st h ep c i a r c h i t e c t u r e ,t h ei n t e r n a ls t r u c t u r e sa n df e a t u r e so f i x p 4 2 5 ,t h ef u n c t i o n sa n dc o n f i g u r a t i o nm e t h o d so ft h er e g i s t e r sw i t h i ni x p 4 2 5p c i c o n t r o l l e ra r ef o c u so n s e c o n d l y , ac i r c u i tb a s e do nt h ei x p 4 2 5i s d e v i s e d i t ss c h e m a t i ca n dp c b d r a w i n g sa r ec o m p l e t e d a l s o ,t h eh a r d w a r ei st e s ti nab a s i cl e v e l a f t e rt h a t ,as p e c i f i ce m b e d d e dd e v e l o p m e n te n v i r o n m e n tf o r t h eh a r d w a r ei ss e t u p ,w h e r et h el i n u xd e v i c ed r i v e r so nb o t ht h ep ca n dp c i c a r da r ed e s i g n e da n d i m p l e m e n t e d f i n a l l y , af u r t h e rd e b u g g i n gw o r ki sp e r f o r m e d 、航t ht h ec o r r e s p o n d i n gs o f t w a r e a i d e da n dt h es y s t e mf u n c t i o ni sv e r i f i e d k e y w o r d s :i x p 4 2 5 ,p c ic o n t r o l l e r , p c ib u sc o n f i g u r e da so p t i o n , e m b e d d e ds y s t e m h 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知i 除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:醢继垂日期:沙7 年f 月猸 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 第一章绪论 1 1 课题背景 第一章绪论 本课题来源于四川省科技基金廉价高性能流媒体集群服务器项目,课题 的目标是提供一种与集群式流媒体服务器配套用部件,特别是一种在多计算机系 统采用集群服务器进行流媒体视频传播服务中,各服务器之间及各服务器与客户 之间通信用p c i 插卡式高速缓存器。 基于i x p 4 2 5 优越的网络性能和丰富的接口资源,特别是对于p c i 接口的良好 支持【l 】,本课题采用i x p 4 2 5 为核心设计并实现以满足项目要求的p c i 插卡。 1 2 研究现状 近年来,以i n t e li x p 4 2 5 网络处理器为核心的相关系统设计及实现已经较为普 遍,下面对几个比较典型的设计方案做简要的介绍。 基于i x p 4 2 5 的家庭综合接入网关【2 】,该家庭网关是面向家庭用户的智能接入 设备,以它为中心建立家庭网络,并在多个设备间共享i n t e m e t 网络连接,同时 为用户提供安全的通信、娱乐、存储一体化功能的设备。作为家庭网络的核心, 家庭网关在家庭中起到总控、协调所有设备的作用,并对用户提供统一、方便的 使用界面。该方案的硬件设计 基于i x p 4 2 5 的数字媒体中心【3 】,该数字媒体中心无缝地连接家庭内部的个人 电脑和家电,在家庭环境内共享数字媒体内容,能够对多种媒体格式进行管理、 存储、显示以及分配,实现数据的集成、多媒体应用以及自动控制与远程管理等 功能。数字家庭媒体中心硬件系统主要有2 部分组成:( 1 ) 由网络处理器i x p 4 2 5 组成的网络管理和系统调度子系统;( 2 ) 由媒体处理器e m 8 6 2 2 l 组成的数据解码 子系统。在此系统的i x p 4 2 5 的子系统中主要有4 种接口:存储总线、网络接口、 p c i 总线、u s b 2 0 。其中p c i 总线接口中,i x p 4 2 5 是作为p c i 主设备。 另外一些相关系统设计还包括v p n 网判4 1 、v o i p 网判5 等等。但是不管具体 设计实现如何千差万别,决大多数系统硬件设计都采用把i x p 4 2 5 设计为p c i 主模 式的方式【2 巧】,即在此模式下i x p 4 2 5 作为主机对连接在其p c i 总线上的其他p c i 电子科技大学硕士学位论文 插卡设备进行管理和配置。而把i x p 4 2 5 设置为p c i 从模式的插卡形式的设计却较 为少见。 1 3 主要工作及章节安排 本课题的内容,就是设计实现基于i n t e li x p 4 2 5 的p c i 插卡系统,具体而言应 当具有以下功能: 1 ) 插卡的物理和电气特性兼容通用p c 机的p c i 插槽,并能够通过p c i 总 线实现i x p 4 2 5 与p c 机的数据通信; 2 ) 插卡可以加载嵌入式操作系统,并且提供在线烧写,调试b o o t l o a d e r 和 嵌入式操作系统以及应用软件的接口; 3 ) 插卡可以通过以太网接口与外部网络通讯; 4 ) 在实现以上硬件功能的基础上,还应为上层应用提供必要的插卡软件驱 动接口,实现主机与插卡的数据通信。 具体的来说,本文所论述的工作,主要是基于i x p 4 2 5 的p c i 插卡的整个开发 流程,即包括深入分析p c i 体系结构及i x p 4 2 5 结构、硬件电路设计、p c b 设计及 调试、b o o t l o a d e r 和操作系统的定制、底层驱动程序的开发、联合调试等一系列步 骤,实现了一个完整的功能系统原型。 本文的主要章节安排如下: 第一章,介绍课题的背景及相关研究现状,明确了本文的研究方向和相关工 作; 第二章,介绍了相关的背景技术:p c i 总线协议和i x p 4 2 5 的总体功能结构; 第三章,分析了与本课题设计密切相关的i x p 4 2 5p c i 控制器内各寄存器的结 构、功能、配置及实际应用; 第四章,详细介绍了基于肿4 2 5 的p c i 插卡的硬件设计及实现; 第五章,简要介绍了针对插卡的b o o t l o a d e r 和操作系统的移植;详细介绍了 针对课题p c i 插卡的主机端驱动及插卡端板载驱动的设计及实现; 第六章,简要介绍了系统软硬件联合调试的事例,并描述了系统测试的环境、 内容和结果; 第七章,总结与展望,对全文进行总结,并对进一步的工作给予展望。 2 第二章背景技术 2 1p cl 总线协议概述 第二章背景技术 p c i ( p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t ) 总线的出现可以说是p c 总线技术 的第六次创新【6 1 。它是一种高性能的局部总线,是为了满足外设间以及外设与主机 间高速数据传输而提出来的。广泛应用于数字图形、图像和语音处理,以及高速 实时数据采集与处理等对数据传输率要求较高的应用中。p c i 标准版本已经从最初 的p c iv 1 0 发展到今天的p c iv 3 o 【7 】,性能不断得到提升。 2 1 1p ci 总线的主要特点 p c i 总线有诸多特点,下面列举其中与课题研究相关的主要特点: 1 ) 拥有3 2 位和6 4 位两种数据通道; 2 ) 数据传输率高:3 2 位p c i 总线在读写传送中支持每秒1 3 2 m b 的峰值传送 速率,对于6 4 位p c i 传送支持每秒2 6 4 m b 峰值传送速率。对于6 4 位 6 6 m h zp c i 总线,传输速率可达到每秒5 2 8 m b ; 3 ) 采用与处理器无关设计:p c i 总线以一种独特的中间缓冲器方式,独立于 处理器,并将中央处理器子系统与外围设备分开。一般来说,在中央处 理总线上增加更多的设备或部件,会降低系统性能和可靠程度。而有了 这种缓冲器的设计方式,用户可随意增添外围设备,而不必担心会导致 系统性能的下降。这种独立于处理器的总线结构能够允许用户随意增设 多种外设,扩展计算机系统; 4 ) 支持即插即用( p l u ga n dp l a y ) :所谓即插即用,即在系统加电时b i o s 可 以自动检测机器配置,给各个外围设备分配中断请求信号、存储器的缓 冲区等。即插即用的硬件基础是每个p c i 接口卡( p c i 设备) 中的2 5 6 个字 节的配置寄存器。b i o s 时上电检测时,访问的正是这些寄存器; 5 ) 兼容性:p c i 总线适用于各种规格的计算机系统,如台式计算机、便携式 计算机以及服务器等。在服务器环境下,往往要求能连接较多的外围设 备,而p c i 总线的分级式外设支援,可使一个p c i 总线接口支援一组级 联的p c i 局部总线; 3 电子科技大学硕士学位论文 6 ) 数据完整性:p c i 总线提供了数据和地址的奇偶校验功能,保证了数据的 完整性和准确性。 2 1 2p cl 总线信号 在介绍p c i 总线信号之前,有两个名称需要解释:主设备和从设备。按照p c i 总线协议,总线上所有引发p c i 传输事务的实体都是主设备,凡是响应传输事务 的实体都是从设备,从设备又称为目标设备。主设备应具备处理能力,能对总线 进行控制,即当一个设备作为主设备时,它就是一个总线主控器。 在一个p c i 系统中,接口信号通常分为必备和可选的两大类。如果只作为从 设备,则至少需要4 7 根信号线;若作为主设备,则需要4 9 根信号线。利用这些 信号线可以处理数据、地址,实现接口控制、仲裁及系统功能。还有许多可选的 信号,如6 4 位扩展、j t a g 边界扫描、电源管理、中断请求、时钟控制等,可根 据具体需要有选择地实现,图2 1 列出了p c i 总线规范中的所有信号,下面将分组 说明【8 】: a 喇r e s s l 、 占d a t a c b e d :o 簟 c b e 7 :;4 t #) , 6 乒8 t p a d p r 甜、l e j a e n s o n r 删 - a m i = , n、- )a c k r 肼 1 )n w 声 、 t d o ,tck,l j t a g s y s t e m :盏季 )tms i 脏f t 4 9 t ) t r s t # 图2 - 1p c i 总线信号 1 ) 系统信号 c l k :时钟信号输入,它为所有p c i 总线上设备的i o 提供同步定时。 r s t # :复位信号输入,表示对所有连到p c i 总线上的设备都复位; 2 ) 地址和数据信号 4 第二章背景技术 a d 3 1 :0 1 - 地址、数据复用信号,一个总线交易有一个地址期和一个或 多个数据期构成,f r a m e # 有效时,是地址期,i r d y # 和t r d y # 有效时 是数据期; c b e 3 :0 :总线命令和字节使能多路复用信号线;在地址期中,传输的 是总线命令;在数据期内,传输的是字节使能信号,【0 】对应于最低的8 个字节,【3 】对应于最高的8 个字节; p a r :奇偶校验信号,对a d 3 1 :0 和c b e 3 :0 的信号进行奇偶校验,以 保证数据的准确性。 3 ) 接口控制信号 f r a m e 撑:帧周期信号。由当前的主设备驱动,表示一次交易的开始和 持续时间,f r a m e 失效后,是交易的最后一个数据期; i r d y 撑:主设备就绪信号,由当前主设备驱动;在读周期,表示主设备 已作好接收数据的准备;在写周期,表明数据已提交到a d 总线上; t r d y # :从设备就绪信号,由当前被寻址的从设备驱动:在读周期,表 明数据已提交到a d 总线上;在写周期,表示从设备已作好接收数据的 准备; 数据传输期间,t r d y # ,i r d y # 任一个无效都将插入等待周期; s t o p # :停止数据传送信号,由从设备驱动,表示从设备要求主设备中 止当前的数据传送; i d s e l # :初始化设备选择信号;在参数配置读和配置写期间,用作片选 信号: d e v s e l # :设备选择信号,由当前被寻址的目标设备驱动; l o c 科:锁定信号( 可选) ,由主设备驱动。 4 ) 仲裁信号 r e q # :总线占用请求; g n t # :总线允许信号; p c i 的仲裁为“隐式 仲裁,即在一个主设备控制总线时,仲裁器仍然 起作用。当主设备接受来自仲裁器的授权时,必须等待当前的主设备完 成其传送,直到采样到f r a m e 和i r d y 均无效时,它才认为自己取得 总线授权。 5 ) 错误报告信号 p e 砌磷:数据奇偶校验错误信号,由数据的接收端驱动,同时设置其状 电子科技大学硕士学位论文 态寄存器中的奇偶校验错误位。一个交易的主设备负责给软件报告奇偶 校验错误,为此在写数据期它必须检测p e r r 信号; s e r r # :系统错误报告信号;它的作用是报告地址奇偶错误,特殊周期 命令的数据错误。 6 ) 中断信号 i n t x # :中断请求信号,对于单功能设备,只有一条中断线,而多功能设 备最多可有四条中断线。在前一种情况下,只能使用i n t a # ,其他三条 中断线没有意义。所谓多功能的设备是指将几个相互独立的功能集中在 一个设备中。p c i 总线中共有四条中断请求线,分别是i n t a # 、i n t b # 、 i n t c # 和i n t d # ,均为漏极开路信号,其中后三个只能用于多功能设备; 7 ) 6 4 位总线扩展信号 a d 6 4 :3 2 在地址期,如使用d a c 命令且r e q 6 4 有效时为高3 2 位地址; 在数据期,r e q 6 4 和a c k 6 4 都有效时高3 2 位数据有效。 c b e 7 :4 】:用法与a d 信号同。 r e q 6 4 # - 6 4 位传输请求,由主设备驱动,并和f r a m e 有相同的时序; a c k 6 4 # :6 4 位传输认可,由从设备驱动,并和d e v s e l 有相同的时序; p a r 6 4 # :奇偶双字节校验。 8 ) 附加信号 p r s n t 2 :1 :插卡存在信号,用来表示板卡是否物理存在于插槽上以及 提供板卡电源总需求信息; c l k r u n :时钟运行信号,用于停止或者减慢c l k ; m 6 6 e n - 6 6 m 使能信号; p 姬撑:电源管理事件信号; 3 3 v a u x :辅助电源信号,当插卡主电源被软件关闭时,3 3 v a u x 为插件 提供电能以产生电源管理事件。 9 1j t a g 边界扫描信号 t c k ,t d i ,t d o ,t m s ,t r s t # 1 0 ) 仲裁信号( 主设备使用) r e q # ( r e q u e s t ) :总线占用请求信号,双向三态,低电平有效,由希望成 为总线主控设备的设备驱动。它是一个点对点信号,并且每一个主控设 备都有自己的r e q # ; g n t # ( g r a n t ) :总线占用允许信号,双向三态,低电平有效。当该信号有 6 第二章背景技术 效时表示总线占用请求被响应。这也是点对点情弓,每个总线主控设备 都有自己的g n 删; 213p c i 配置空间 p c i 总线定义了3 个物理地址空间:内存地址空问、l o 地址空日j 和配置地 址空间。前两个属于常规范围,第二个是p c i 特有的,它用丁进行p c i 的硬件资 源配置例。 p c i 总线配置空间是容量为2 5 6 字节并具有特定记录结构的一个地址空间,该 空间分为头标区和设备相关区两部分。在每个区中,设备只设置必须的和与之相 关的寄存器。一个设备的配置空间不仅在系统自检时可以访问,在其他时间也可 以访问。 头标区的长度为6 4 宁肖,偏移地址从o o h 到3 f h ,该区中的各个域用来识别 各自不同的设各,并使设备能以一般的方法控制。每个设备都必须按照该区的格 式和规定进行设置。而配置空间的其余】9 2 字节可以因设备而异。 头标区义分为两部分:前1 6 个字节的定义在各种类型的设备中部一样;而其 余4 8 个字节可咀根据设备支持的基本功能情况进行不同的安排。位于偏移地址 o e h 处的头标类型域规定了头标区安排是何种类型。目前,只有一种头标类型定 义( 0 0 h ) ,其具体安排罔2 - 2 所示。将束的修改版本可能要为特殊的功能而定义其 他的头标类型。 1 10i )o i :n 二二l “o i:xfo “) c,1) rn r _ = _ 三i 喈| i 嘴“1 哿j i 甯l 1 一 一c o “l 储j 鬻】雠r 卜 1 、。j 。 d 憋。【。b a 。s e ,。b i 。s e ,: 。b a 。s 。e , o x 2 。 b a s e i m b a “s e5c 2 :慧r s t l b d o s p e i m d s d e y u b s m y l e l m 口 m 。翟盘:裂。i r 。q i :! ;:l 帅卜 图2 2p c i 配置字间头标区 所有p c i 设备部必须支持厂商识别号、设备号、命令和状态域,而其他寄存 器可以当做保留来处理,视设备的功能而定。如果一个设各支持的功能是某个寄 电子科技大学硕士学位论文 存器所管辖的,则它必须设置此寄存器,且要符合规定的位置和功能。下面将对 配置空间头标区内几个比较重要的寄存器的功能进行介绍: 1 ) 厂商识别号( v e n d o ri d ) 该域用以标明设备的制造者。个有效的开发商标识由p c is i g 组织( p c i 总线规范的制订机构) 来分配,以保证它的惟一性。 2 ) 设备识别号( d e v i c ei d ) 该域用以标明特定的设备,具体代码由制造厂商来分配。 3 ) 基地址寄存器( b a s ea d d r e s s 0 5 ) 基地址寄存器为设备指定内存空间和i o 空间提供了一种机制。计算机 系统固件( 如x 8 6 的b i o s ) 在管理系统之前要判断系统中有多少存储器以 及系统中的i 0 设备需要多少地址空间,根据这些判断,系统固件自动 配置系统的内存空间和i 0 空间,利用基地址寄存器可将p c i 设备的内 部地址空间映射到正确的位置,实现设备无关管理。在p c i 的所有基地 址寄存器中,位o 是只读的,用于决定是内存器空间还是i o 空间。该 位为0 ,表示映射到内存空间;否则映射到i o 空间。系统固件通过向 基地址寄存器的每一位全写入1 ,然后读取相关寄存器即可确定p c i 设 备所需地址空间的大小。 2 2ix p 4 2 5 简介 2 2 1 产品概述 英特尔i x p 4 2 5 网络处理器是一种高度集成的,多功能的单芯片处理器,可应 用于要求网络连接及高性能运行特定应用软件的各种产品1 1 0 】。英特尔i x p 4 2 5 网络 处理器支持多种广域网和局域网技术,并将其整合在一个通用架构上以满足高端 网关、i p 语音( v o l p ) 应用、无线接入点、中小型企业的路由器、交换机、安 全设备、( d s l a m 设备) 、x d s l 线路卡、工业控制和网络图像应用的需求。 该网络处理器提供了各种时钟频率:2 6 6 、4 0 0 、和5 3 3 m h z 以供选择。并且 提供了商业和扩展温度选项。如图2 3 其提供的功能包括:u t o p i a 2 接口、两个 h s s 接口、高性能的p c i 接口、u s b 控制器、两个1 0 1 0 0 以太网媒体访问控制器 ( m a c ) 和一个具备i p s e c 功能的网络处理器( n p e ) 引擎以加速加密和认证算 法。 8 第二章背景技术 凹23i x p 4 2 5 内部结耗j 框刚 2 22 产品特点 i x p 4 2 5 网络处理器产品具备以下特点: 1 1 处理器内核x s e a l e 高达5 3 3m h z 为客户自定义应用提供了足够的余量; 2 1 粟用加速的集成硬件加密算法,可应有于各种安全应削,如:s h a 一1 , m d 5 ,d e s ,3 d e s ,a e s 等: 3 1 基于x s c a l e 核心的d s p 软件库,支持2 4 路的语音通道并可降低系统消 耗: 4 1 两个高速审行接口( h i g h - s p e e ds e r i a l ,h s s ) ,可应片j 于v o i p s l i c c o d e c 或t i e l ; 5 ) 两个集成了1 0 1 0 0b a s e t 以太网介质无关接门( m i i ) 的媒体访问控制 器( m a c ) ,且考虑到了设计的灵活性和成本效益; 6 、支持a d s l g , s h d s l 或v d s l 的u t o p i a 2 接口; 7 ) 3 3 6 6 m h z p c i v 22 标准总线主从模式接口,提供最多四个设备的无缝连 电子科技大学硕士学位论文 接; 8 ) 支持从8 到2 5 6 m b 容量的s d 蝴内存; 9 ) 功耗为1 5 w 到1 9 w : l o ) u s b1 1 版本的设备控制器; 1 1 ) 两个高速u a r t ,每一个都可配置支持从1 2 0 0 到9 2 1 k 波特率; 1 2 ) 1 6 个通用输入输出( g p i o ) 引脚; 1 3 ) 1 6 位的扩展总线接口( e x p a n s i o nb u si n t e r f a c e ) ,可较为容易的与外围设 备实现无缝连接; 1 4 ) 内部总线分为三类:南、北先进高性能总线( a d v a n c e dh i g h - p e r f o r m a n c e b u s ,简称a h b ) 及高级外围总线( a d v a n c e dp e r i p h e r a lb u s ,简称a p b ) 。 1 0 第三章1 x p 4 2 5p c i 控制器结构分析及应用 第三章 ix p 4 2 5p cl 控制器结构分析及应用 3 1 总体结构 i x p 4 2 5 内部包含一个兼容p c i2 2 版本的3 2 位6 6 m h z 的p c i 接口。该p c i 接 1 2 既能够工作在主模式( h o s t ) 也能够工作在从模式( o p t i o n ) 。p c i 控制器也支 持这两种操作模式,当配置为主模式时,x s c a l e 内核可以内部访问i x p 4 2 5 的配置 寄存器空间,而当配置为从模式时,外部p c i 设备可以通过p c i 总线访问i x p 4 2 5 的配置寄存器空间。 i x p 4 2 5 的p c i 控制器主要分为两类【l l 】:一类为p c i 配置寄存器( p c i c o n f i g u r a t i o nr e g i s t e r s ) ,它是符合p c i2 2 版本规则规定的配置空间头标区的标准 配置寄存器;另一类为i x p 4 2 5 自身特有的p c i 控制器配置和状态寄存器组( p c i c o n t r o l l e rc o n f i g u r a t i o na n ds t a t u sr e g i s t e r s ) ,主要包含各种与p c i 相关的特殊功能 寄存器:中断、地址映射、d m a 传输、大小端转换等。 3 2p ci 配置为从模式 3 2 1 从模式下p ci 总线连接方式 当i x p 4 2 5 需要配置为p c i 总线从模式工作方式时,其p c i 总线连接方式会与 主模式工作方式时有所不同。如图3 1 在主模式工作方式下,作为总线上p c i 主控 设备的i x p 4 2 5 接收其他p c i 从设备的总线占有请求信号p c ir e q ,并向p c i 从 设备发送总线占用允许信号p c ig n t ,所以i x p 4 2 5 的p c ir e q 0 p c ! g n t 0 到 p c ir e q 3 p c ig n t 3 都可以外接p c i 从设备的相应的信号线,一共可以外接4 个 p c i 从设备。而如图3 2 当i x p 4 2 5 工作在从模式下时,i x p 4 2 5 作为p c i 从设备向 p c i 总线上主控器( 在图3 2 中是一个主机处理器) 申请总线占有信号并且是主控 制器向它发送总线占有允许信号,所以i x p 4 2 5 只能通过p c ir e q 0 p c ig n t 0 与 主控器相应的信号引脚发生连接,其他的p c ir e q p c ig n t 禁止使用。 电子科技大学硕士学位论文 i n t e r i x p a 2 x p r o d u c tl i n e i x c l1 0 0c e n t r e i p l a n e p r o c e $ $ o r o s t p i f o g e s $ o r p c ir e 0 1 p c ig n t l p c ir e 0 2 p c ig n t 2 p c ir e 0 3 p c ig n 丁3 i n t e r 8 2 5 5 9 p c i t o e t h e m e t c o n t r o l l e r p c i t o - v g a c o n t r o l l e r i n t e l p c i 弛8 0 2 1 1 c o n t r o l l e r p c i - t o - a t a h d dc o n t r o l l e r 图3 1i x p 4 2 5p c i 总线配置为主模式 p c ir e o o p c i g n t 0 p c ir e q a c ig n t 图3 2i x p 4 2 5p c i 总线配置为从模式 3 2 2p c i 控制器配置为从模式 p c i 控制器主从模式的选择首先通过硬件电路进行设置,具体设置方法为i l n j : 对i x p 4 2 5 的扩展总线( e x p a n s i o nb u s ) 的e xa d d r 0 引脚外接下拉电阻使其处 于低电平;默认情况下保持此引脚悬空不接任何元件,那么工作模式被设置为主 模式。在系统内部p c i 总线的操作模式是通过读取p c i 控制和状态寄存器( p c i c s r ) 的第0 位来获取的。而e xa d d r 1 逻辑电平在i x p 4 2 5 复位后将设置p c i 控制和 状态寄存器( p c ic s r ) 的第0 位。因此,如果p c i 控制和状态寄存器( p c z的_csr) 第0 位被置为0 表明i x p 4 2 5 被配置为从模式。如果为1 则表明被配置为主模式。 当i x p 4 2 5 被配置为从模式,外部的p c i 主设备将会试图访问i x p 4 2 5 的p c i 】2 耍泔一r 陬 第三章i x p 4 2 5p c i 控制器结构分析及应用 配置空间。p c i 主设备通过p c i 配置周期完成这些访问。然而,如果i x p 4 2 5 接收 到的配置周期先于其自身的初始化,p c i 总线配置可能会产生某些错误。为了防止 此事件的发生,i x p 4 2 5 可以通过对p c i 控制和状态寄存器( p c ic s r ) 的第1 5 位即 初始化完成位( i n i t i a l i z a t i o nc o m p l e t e ,简称i c ) 编程以拒绝接收外部的配置周期。 当i c 位被置为逻辑0 ,p c i 控制器的目标接口将会向主设备发起的配置周期发出重 试信号,以阻止外部设备发起的配置访问。如果为1 ,配置周期将会被接受。 在从模式下,p c i 总线初始化和总线枚举将会被外部主设备处理器执行,然而 i x p 4 2 5 自身仍然有启动序列,并且这里有几个p c i 配置寄存器必须在外部主设备 开始p c i 初始化之前被i x p 4 2 5 初始化。比如,子系统和厂商号p c is i d s v i d ( s u b s y s t e mi da n dv e n d o ri d ) 这个寄存器对于外部主设备处理器是只读的,但是 对于i x p 4 2 5 却是可读可写的,因为它的内容是依赖于应用的。在p c i 配置寄存器 没有在被设置有效值之前,外部主设备不允许读取任何p c i 配置寄存器。一旦寄 存器被初始化( 比如p c is i d s v i d ) ,系统软件把1 写入p c ic s r 的i c 位,这样 就使p c i 主设备可以从外部访问i x p 4 2 5 的p c i 配置寄存器,而i x p 4 2 5 自身却不 能访问了。整个操作序列如下: 1 ) 从模式下完成系统复位( p c ic s r i c = 0 ,x s c a l e 内核已经开始访问p c i 配置寄存器) ; 2 1x s c a l e 内核初始化p c i 配置寄存器; 3 ) x s c a l e 内核把1 写入p c ic s r 的i c 位( 现在p c i 配置寄存器可以接收来 自p c i 总线的访问周期,而i x p 4 2 5x s c a l e 内核却不能访问) ; 4 ) 外部p c i 主控设备对i x p 4 2 5p c i 配置寄存器的初始化可以进行。 3 3p ci 地址映射的实现 通过对p c i 控制器配置和状态寄存器组( p c ic o n t r o l l e rc o n f i g u r a t i o na n d s t a t u sr e g i s t e r s ) 中的p c ia h b m e m b a s e ( a h b m e m o r yb a s ea d d r e s s ,a h b 总 线内存空间基地址) 寄存器、p c ia h b i o b a s e ( a h bi ob a s e a d d r e s s ,a h b 总 线i o 空间基地址) 寄存器及p c i 配置寄存器中的p c ib a r ( b a s ea d d r e s s ,基地 址) 寄存器的配置可以实现i x p 4 2 5 内部内存空间向外部p c i 总线地址空间的映射。 下面先分别介绍这三种寄存器,最后再通过具体配置实例描述实际实现地址映射 的方法。 电子科技大学硕士学位论文 3 3 1p cl 基地址寄存器结构及配置 正如本文2 1 3 节中所讲到基地址寄存器是为设备指定内存空间和i o 空问 提供了一种机制。具体的方式为:设备通过设定基地址寄存器可读写的高位数值 来向系统指示所需资源空间的大小。比如,某设备需要6 4 k 字节的内存空间,可 以通过硬件方式将配置空间的某基地址寄存器的高1 6 位设成可读写的,而将低1 6 位置为0 ( 只可读) 。系统固件( 如x 8 6 的b i o s ) 在建立时,先向此基地址寄存器的 所有位写1 ,实际上只有高1 6 位被接收而被置成了l ,低1 6 位仍为0 。这样系统 固件在读取该寄存器时,返回值为f f f f 0 0 0 0 h ,据此系统固件可以断定其需要的 空间大小是6 4 k 字节。i o 空间的分配方式和内存空间的大致相同。 i x p 4 2 5 共有三种类型的共6 个基地址寄存器,其中b a r 0 - - b a r 3 用于映射 内存空间,如图3 3 所示,它只有2 4 至3 1 即高8 位可读可写的,所以可知需要的 内存空间为1 6 m ;而b a r 5 应用于映射i o 空间,如图3 - 4 所示,它的8 至3 1 是可读可写的,所以可映射i o 地址空间的范围为2 5 6 字节。b a r 4 比较特殊,用 于p c i 控制器配置和状态寄存器组的地址空间映射。 图3 3 基地址寄存器b a r 0 b a r 3 的结构 3 ilill 8 7 il 21o - o 一 r w b a s ef i x e d b a s e基 比 图3 4 基地址寄存器b a r 5 的结构 3 3 2 内存及1 0 基地址寄存器结构及配置 a h b 总线是i x p 4 2 5 的内部总线,对p c ia h b m e m b a s e 寄存器的配置将实 现系统总线内存空间地址到i x p 4 2 5 内部a h b 总线地址的映射转换。如图3 5 所 示,此寄存器共3 2 位,包含4 个8 位的域。每一个域与p c i 配置寄存器的基地址 寄存器b a r 0 b a r 3 相关联。假设p c ia h b m e m b a s e = 0 x 0 0 0 1 0 2 0 3 那么基地址 寄存器包含的系统总线地址转换到内部总线地址时做以下替换:b a r 0 中的地址的 高8 位由0 0 替换;b a r l 中的地址的高8 位由0 l 替换;b a r 2 中的地址的高8 位 由0 2 替换;b a r 3 中的地址的高8 位由0 3 替换。 1 4 第三章i x p 4 2 5p c i 控制器结构分析及应用 图3 5p c i _ a h b m e m b a s e 寄存器结构 对p c i a h b i o b a s e 寄存器的配置将实现系统总线i o 空间地址到i x p 4 2 5 内 部a h b 总线1 0 地址的映射转换。如图3 - 6 该寄存器共3 2 位,其2 4 至3 1 位保留 是只读的,值全为零;0 至2 3 位是可读可写的,写入这2 4 位的值在地址转换时将 替换b a r 5 寄存器的高2 4 位值。 图3 6p c i _ a h b i o b a s e 寄存器结构 3 3 3 地址映射应用实例 以下例子能够用于理解p c ia h b m e m b a s e 、p c ia h b i o b a s e 的地址转换 机制。 1 )假设p c ia h b m e m b a s e = 0 x 0 1 0 2 0 3 0 4 、p c ia h b i o b a s e = 0 x 0 0 0 0 0 0 1 2 2 ) 假设i x p 4 2 5 工作在从模式且插接在计算机的p c i 插槽内,在计算机系统 上电时b i o s 对i x p 4 2 5 的b a r 寄存器进行了配置,以下为各b a r 寄存 器的值: 小b a i 的= 0 x a 0 0 0 0 0 0 0 b ) b a r l = 0 x a l o o o o o o c ) b a r 2 = 0 x a 2 0 0 0 0 0 0 d 1b a r 3 = o x a 30 0 0 0 0 0 e ) b 灿= 0 x a 4 0 0 0 0 0 0 f ) b a r 5 = 0 x a 5 4 3 210 0 3 ) 计算机对地址0 x a 0 3 0 0 0 1 2 进行访问,由于此地址的高8 位为0 x a 0 这将 命中b a r 0 寄存器( 此地址的高8 位与b a r 0 的高8 位相等) ,那么它的 高8 位将被0 1 替换,( p c ia h b m e m b a s e 的与b a r 0 对应的域值为0 x 0 1 ) 此段地址转换到a h b 总线上即为:0 x 0 1 3 0 0 0 1 2 。那么计算机将访问 i x p 4 2 5 内部a h b 总线地址0 x 0 1 3 0 0 0 1 2 。即在这样的配置情况下,从计 算机程序进程角度来讲:如果它访问物理地址为0 x a 0 3 0 0 0 1 2 的一段地址 空间,将实际导致对i x p 4 2 5 内部总线地址0 x 0 1 3 0 0 0 1 2 的访问。 4 ) 接下来,计算机对地址0 x a 3 1 2 3 4 5 6 进行访问,由于此地址的高8 位为 1 5 电子科技大学硕士学位论文 0 x a 3 这将命中b a r 3 寄存器( 此地址的高8 位与b a r 3 的高8 位相等) , 那么它的高8 位将被0 4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论