(电气工程专业论文)pci目标接口芯片的设计.pdf_第1页
(电气工程专业论文)pci目标接口芯片的设计.pdf_第2页
(电气工程专业论文)pci目标接口芯片的设计.pdf_第3页
(电气工程专业论文)pci目标接口芯片的设计.pdf_第4页
(电气工程专业论文)pci目标接口芯片的设计.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(电气工程专业论文)pci目标接口芯片的设计.pdf.pdf 免费下载

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

文档简介

上海大学工程硕士学位论文 摘要 p c i 接口芯片将p c i 总线和外围设备的数据和控制信号隔离、缓存和传输, 从而实现了系统用户和p c i 总线的通讯,是p c i 总线和系统用户之间的“桥梁”。 通用的p c i 目标接口芯片,即从p c i 接口芯片,实现了l ,o 读写、内存读写、 配置空间读写等基本功能,同时实现了配置空间,使计算机能够对p c i 设备进 行识别、配置,同时还实现了奇偶校验等辅助功能。通过p c i 目标接口芯片, 基于p c i 总线的系统设计者可以方便地利用该芯片提供的数据和控制端口,实 现完整的p c i 功能,从而避免了与繁琐的p c i 总线时序和规范打交道。 本文讨论了一个较为完整的p c i 目标接口芯片的设计。对p c i 总线信号进 行处理,设计了内、外两个状态机,分别实现系统用户时序和p c i 总线时序, 并通过控制信号实现两个状态机的通信;设计了读、写两用缓存器,实现了p c i 突发读写;设计了译码功能块,实现了对6 种基本的p c i 命令的译码;设计了 存储器空间形式的寄存器组,实现了可读写的p c i 配置寄存器空间;设计了奇 偶校验模块;针对上述模块编写了测试平台,并在m o d e l s i m 仿真器中进行了仿 真。 从p c i 接口芯片被设计成i pc o r e 的形式,可以被任何基于p c i 局部总线的 系统复用,从而构成新的单芯片解决方案。p c i 接口芯片的设计为基于p c i 局部 总线的系统设计者提供了简便的使用p c i 总线的途径。 关键词:p c i ,总线,接口,a s i c 上海大学工程硕士学位论文 a b s t r a c t p c ii n t e r f a c ec h i pi sak i n do fb r i d g e st h a tc o n n e c t st h ep c ib u s a n du s e r t h a tm a k e sd a t aa n dc o n t r o l s i g n a l st r a n s f e r r e d ,b u f f e r e da n d i n s u l a t e d t h r o u g hi t u s et h i st a r g e tp c ii n t e r f a c ec h i p ,s e v e r a lb a s i co p e r a t i o n ss u c ha s i or e a da n dw r i t e ,m e m o r i e sr e a da n dw r i t ea n dc o n f i g u r a t i o ns p a c er e a da n d w r i t ec a nb ea c h i e v e d a tt h es a m et i m e ,as p e c i a lc o n f i g u r a t i o ns p a c ei s d e s i g n e dt om a k et h ep c id e v i c ec a nb ei d e n t i f i e db yp cs y s t e mt h a tt h ep l u g & p l a yc a nb ea c h i e v e d h o w e v e r , s y s t e md e s i g n e mc a ne a s i l yu s et h i sc h i p t h r o u g hs e v e r a ld a t aa n dc o n t r o lp o r t sa n dn e e dn o tc o n c e r na b o u tt h e c o m p l i c a t e dp c ip r o t o c 0 1 t h eg o a lo ft h i sp r o j e c ti st od e s i g nap c it a r g e ti n t e r f a c ec h i pa n di t i n c l u d i n gf o l l o w i n gw o r k sa n dr e s u l t s :d i s p o s a lo fp c ib u ss i g n a l s ;t w os t a t e m a c h i n e sc a l l e di n n e rs t a t em a c h i n ea n do u t e rs t a t em a c h i n et h a tm a k et h e u s e rt i m i n ga n dp c it i m i n ga r ed e s i g n e d ;ar e a d w r i t eb u f f e ri sd e s i g n e dt o m a k et h eb u r s tt r a n s a c t i o nc o m et r u e ;t h ed e c o d ef u n c t i o nb l o c ki sd e s i g n e d t od e c o d e6b a s i cp c ic o m m a n d s ;am e m o r yf o r mr e g i s t e rg r o u pi sd e s i g n e d t om a k et h ec o n f i g u r a t i o n s p a c et h a tc a nb e r e a da n dw r i t eb o t h ;p a r v e r i f i c a t i o nf u n c t i o nb l o c ki sd e s i g n e d ;t e s tb e n c h e da r ep r o g r a m m e dt ot e s t f u n c t i o nb l o c k sa b o v e ; t h ep c ii pc o r ec a nb e r e u s e di na n ys y s t e mb a s e do np c ib u st h a t m a k e su pt h es o c ;t h ed e s i g no fs l a v ep c ii n t e r f a c ec h i pg i v ea ne a s ym e t h o d t op c is y s t e md e s i g n e rt oa p p l yt h ep c ib u s k e yw o r d s :p c ib u s ,i n t e r f a c e ,a s i c 2 上海大学工程硕士学位论文 第一章概述 1 1 问题的提出 p c i ( p e f 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 i 总线规范是互连机构的协议,以及电气和机械配置的规范,是当今事实上高性能 微型计算机的总线标准。p c i 总线是一个面向多媒体技术的优秀总线,是一种先 进的高性能3 2 6 4 位地址数据复用局部总线,p c i 总线以其优良性能和适应性已 成为p c 领域的主流总线。【1 1 p c i 局部总线具有众多的卓越性能,基于该总线的计算机扩展卡成为当今外 围设备的主流。然而同时,p c i 局部总线是一个概念复杂、规则繁琐、时序要求 严格的总线,外围设备的系统工程师往往只关注和精通本领域的系统设计,对 p c i 总线的时序、规则等无所适从,这就需要一个“桥梁”,将p c i 总线和外围 设备的数据和控制信号予以隔离、缓存和传输,系统工程师在应用p c i 接口芯 片时,只需将其设计的功能块和p c i 接口芯片的数据、控制信号进行简单的对 接。这就需要设计一种专用的集成电路芯片( a s i c ) ,即p c i 接口芯片,用于 p c i 局部总线接口和用户接口的转换,该芯片可与网络、音视频等功能芯片组成 基于p c i 局部总线的应用系统。 1 2 总线技术及p c i 接口芯片的国内外发展现状 总线对于任何计算机系统而言,都是一个非常重要的部件。就其功能而言, 总线是计算机各部件之间进行信息传输的公共通道。微型计算机系统广泛采用总 线结构,其特点是系统成本低、组态灵活、维修方便。采用总线标准设计、生产 的硬件模块兼容性强,而且通过系统总线可以方便地组合在一起,以构成满足不 同需要的微机系统。 计算机总线技术包括通道控制、使用方法、仲裁方法和传输方式等内容。总 线以机械形式、电气特性和通信协议等方面在插件板之间建立了一个标准,以规 范c p u 与磁盘驱动器、显示器和打印机等外设间的数据传送。随着计算机技术 的快速发展,总线结构也越来越复杂,总线功能也越来越强。【2 】 上海大学工程硕士学位论文 计算机总线可分为外部总线和内部总线。p c i 总线属于外部总线,也称为i o 总线,属局部总线范畴。 计算机总线从性能上区分可分为高端总线和低端总线。高端总线是指支持 3 2 位、6 4 位处理器的总线,侧重于提高处理能力。低端总线般支持8 位、1 6 位处理器,其重点是i o 处理,组合灵活。在总线技术方面,可分为传统总线和 现代总线。传统总线依赖c p u 处理芯片,有的实际上就是c p u 引脚的延伸。 而现代总线对c p u 的依赖在减弱。p c i 总线可以不依赖任何c p u ,而且有很好 的兼容性。现代总线的高级特征还体现在支持高速缓存c a c h e 、支持多处理机、 可以自动配置等方面。传统低端总线有:i b m p c x t 、i s a 、s t d 等。高端总线 有:p c i 总线、m c a 总线、v l b u s 、e i s a 等。 随着计算机技术的不断发展,微型计算机的体系结构发生了显著的变化,出 现了多总线结构。在多总线结构中,局部总线的发展最令人瞩目。局部总线是指 来自处理器的延伸路线,与处理器同步操作。外部设备如果直接挂到局部总线上, 就能以c p u 的速度运行。由于局部总线具有极高的数据传输率,因而在c p u 与高速缓冲存储器( c a c h e ) 之间、c p u 与高速图形卡之间等需要高速信息传 输的场合得到了广泛的应用。 1 9 9 1 年,i n t e l 公司率先提出了p c i 总线的概念,随后i n t e l 与l b m 、c o m a p q 等1 0 0 多家公司联合制定标准,于1 9 9 3 年推出了p c i 总线标准的第一个版本, 目前p c i 的最新规范是2 2 版。【2 】 p c i 总线一个面向多媒体技术的优秀总线,是一种先进的高性能3 2 6 4 位地 址数据复用局部总线,支持突发数据传输( b u r s t ) 为缺省工作模式,可同时支持多 组外围设备,不受制于处理器,为中央处理器与高速外围设备提供一座沟通的桥 梁,提高数据吞吐量( 时钟频率3 3 m h z ,3 2 位时最大可达13 2 m b s ) ,支持无 限读写突发操作,支持即插即用。p c i 总线以其优良性能和适应性已成为p c 领 域的主流总线。虽然随着c p u 主频的提高,随着高速外围设备的出现,i n t e l 公 司提出了基于串行传输的新一代i o 总线3 g i o ,但其技术还不是很成熟,要走 向市场尚须时日。现在开发微机接口设备,通常基于p c i 总线。f 3 】 p c i 总线是一种高性能的局部总线,可同时支持多组外围设备,其独立于 c p u 的总线结构是其优于v e s a 总线的关键之处,所以当i n t e l 的c p u 芯片从 8 0 4 8 6 升级后,p c i 总线在微机上得到迅速发展而v e s a 总线逐渐消失。p c i 4 上海大学工程硕士学位论文 总线的另一个主要特点是它非常高的数据传送率,一般的p c i 局部总线以 3 3 m h z 的时钟频率工作,采用3 2 位数据总线,同时它考虑了预留发展空间,支 持6 6 m h z 的工作频率,6 4 位数据总线宽度。这种数据传输率可以满足各种高速 外围设备的要求,特别适合于图像传输领域的数据传送。p c i 总线还有支持线性 突发传输、支持总线主控、存取延迟小、兼容性强等特点。具有这么多高端性能 的总线无疑在众多总线中具有压倒的优势,成为p c 机局部总线的首选。于是 p c i 总线的接口电路的设计方法就成为各种p c 机超大规模集成电路设计部门所 面临的挑战性课题。 目前,国外在p c i 接口芯片设计方面已有所发展,有多家国外生产专用芯 片的厂商研制出了专用( 通用) p c i 总线接口控制芯片,如a m c c 公司的s 5 9 ) o ( 系列,p l x 公司的9 0 5 4 系列芯片。专用芯片可以实现完整的p c i 主控模块和目 标模块接口功能,将复杂的p c i 总线接口转换为相对简单的用户接口,用户只 要设计转换后的总线接口即可。亦可采用可编程逻辑器件( c p l d 或f p g a ) 实 现通用p c i 总线接口。现在很多生产可编程逻辑器件的厂商,如x i n l i n x 的 l o g i c o r e 和a l t e r a 公司的a m p p ,都有经过严格测试的p c i 接1 :3 功能模块,这 些模块实际上是一些软核,由用户进行简单的组合设计即可。【4 】 而国内在p c i 接口芯片设计方面,由于我国微电子产业尚处在发展的初级 阶段,目前还没有成熟的p c i 接口芯片投入使用。因此开发具有自主知识产权 的p c i 接口芯片十分必要,可以减少对国外同类芯片的依赖,降低成本。在设 计芯片的过程中,要求遵循灵活和设计独立性的原则。 本课题以p c i 目标接口芯片的a s i c 设计为研究对象,设计的p c i 接口芯 片采用i pc o r e 的成果形式,可应用于任何基于p c i 总线的系统。 1 3 研究的目的及p c i 接口芯片设计的定位 某一具体应用系统,l e d o l e d 显示控制系统由银河卡、视频转发卡、数 据接收与扫描电路等组成,视频转发卡虽然基于p c i 总线,但不是完整意义上 的p c i 设备。问题的核心,是如何使视频转发卡成为一个真正的p c i 设备,从 而使设备可以从p c i 总线读取数据,使计算机能够识别视频转发卡。这就要设 计一个p c i 接口,该接口应该具有基本的p c i 功能,另外应该实现配置空间, 以实现主机对设备的识别。将该接口和视频转发卡主控芯片的数据和控制信号进 5 上海大学工程硕士学位论文 行简单的连接后,视频转发卡主控芯片就可以与p c i 局部总线按照p c i 总线协 议进行通信,计算机就能够识别视频转发卡,并且通过设备驱动程序,达到在操 作系统级控制设备的目的。也就是说,p c i 接口芯片是系统用户和p c i 总线之间 按照p c i 规范进行通信的“桥梁”。 既然要设计一个“桥梁”,沟通p c i 局部总线和系统用户,首先就需要对p c i 总线数据和控制信号按照p c i 总线规范进行处理。因而,p c i 接口芯片设计的第 一步就是要实现p c i 总线上的数据和控制信号与系统用户端的通信。一方面, 需要对p c i 总线上的数据和控制信号进行处理,使其按照p c i 规范和时序在接 口芯片内部缓存、传输;另一方面,需要对系统用户端的信号做类似的处理;最 后,需要建立一种机制,实现p c i 总线端信号和系统用户端信号的握手。 另外,为实现设备的即插即用和在操作系统级对设备进行识别、控制,需要 实现配置空间。根据p c i 总线规范,配置空间是一个6 4 双字的可读写存储器空 间,即一个位宽为3 2 、1 2 8 个寄存器的寄存器组。该空间在系统自举和其他时 间都可以被访问。通过配置p c i 设备的配置空间,可实现对设备的识别、控制、 地址映射等等。配置空间中的寄存器,某些位是只读的,某些位是可读可写的, 因而,p c i 接口芯片设计的第二步就是要实现可读写的存储器空间。 在一个p c i 应用系统中,如果某设备取得了总线控制权,就称其为“主设 备”,而被主设备选中以进行通信的设备称为“从设备”或“目标设备”。本课题 设计所涉及的p c i 设备为从设备,不实现主控功能,故本课题所设计的接口芯 片是只实现从功能的p c i 目标接口芯片。另外,考虑到当前的实际用途,中断 功能是可选的,故本课题所设计p c i 目标接口芯片只实现基本的p c i 读写协议, 即i o 读、i ,o 写、内存读、内存写、配置空间读、配置空间写。 1 4 设计工具和任务 本设计为正向设计( t o p d o w n ) ,根据微电子设计流程,一般的设计流程包 括总体设计、硬件描述语言编码( r t l 仿真) 、硬件仿真、综合( 门级仿真) ,网 表文件生成后,还要经历布局布线( 物理级仿真) 、流片、样片测试等。本设计 是前端设计,重点在系统设计和硬件描述语言编码,设计采用v e r i l o gh d l 硬件 描述语言。 本课题的任务主要涉及p c i 目标接口芯片的前端设计,具体包括: 6 上海大学工程硕士学位论文 1 ) 系统设计:对p c i 目标接口芯片的功能进行定位,确定支持哪些协议, 进行总体设计,对各功能模块进行划分。 2 ) 功能仿真:r t l 级硬件语言描述在m o d e l s i m5 6 中进行,这里做的工 作主要是设计系统的各个模块,并且对各个模块的硬件描述语言源代码进行 编译。 3 ) 验证:编写测试向量,利用m o d e l s i m5 6 的仿真环境来对各个独立的 模块进行测试。 1 5 设计的内容 1 ) p c i 目标接口芯片的总体设计;首先要根据p c i 总线协议,对p c i 接口 芯片做整体规划,确定支持协议的哪些内容,确定模块划分和系统实现大致的算 法: 2 ) p c i 引脚处理模块的设计; 3 ) 核心模块,即从p c i 模块的设计,包括内、外两个状态机、读写缓存器 的设计等,其中两个状态机的设计是主体: 4 ) 奇偶校验模块的设计; 5 ) 配置空间的设计,本模块的设计特色是实现可读写的配置空间; 1 6 创新点及课题的意义 本课题所设计的p c i 目标接口芯片可应用于任何基于p c i 总线的系统,该 芯片给出了易于使用的数据端口和控制端口,可方便地应用于网络控制器、音频 控制器、视频多媒体等基于p c i 总线的系统。 另外,本设计的诸多设计思想,如多状态机设计、f i f o 缓存器设计、可读 写配置空间的实现等等,都为大型接口电路的设计提供了实用的借鉴。其中,可 读写配置空间的设计充分利用了行为建模语句的灵活性,使用了循环控制语句等 技巧。 p c i 目标接口芯片设计的研究推动了我国微电子产业中i o 接口设计的发 展,对我国拥有自主知识产权的p c i 接口芯片研制技术具有积极的意义。 7 上海大学工程硕士学位论文 第二章p ci 总线协议 p c i 总线协议是一个功能强大、设计巧妙、时序要求严格的总线协议。以下 将从系统结构、信号定义、总线命令、总线编址空间、读写基本协议、访问延 时、结束方式等方面对p c i 总线协议作简要介绍。 2 1p c i 总线系统结构 图2 1 是x 8 6 微型机的p c i 总线系统结构。 与p c i 总线直接相连的部件称作p c i 设备,该设备有两种类型,一种是主设 备,这种设备能够获得总线控制权;另一种设备是从设备,这种设备不能控制 p c i 总线,它只能被动的接收c p u ( 经过p c i 主桥转发) 或p c i 主设备发出的 传输请求。 p c i 总线与c p u 通过p c i 主桥相连,p c i 主桥是一个关键的p c i 设备,其 中包含d r a m 控制器,它提供了一个高速通路,可以让c p u 直接访问通过它映 射到主机内存空间或i o 空间的p c i 设备,也可以让p c i 主设备直接访问主机 系统内存。主桥还提供数据缓冲功能,使得c p u 与p c i 设备可以并行工作而不 必相互等待。主桥还可以把c p u 总线与p c i 总线隔离起来,使p c i 总线独立于 c p u 。p c i 总线的所有驱动都由p c i 主桥控制。【2 】 图2 1x 8 6 微型机的p c i 总线系统结构 上海大学丁程硕士学位论文 2 2p c i 总线信号的定义 在一个使用p c i 总线的系统中,主设备启动进程,其接口电路是主p c i ;从 设备可被主设备选中,其接口电路是从p c i 。作为p c i 总线设备,“从 功能是 必备的,“主 功能是选项。兼具主、从功能的设备必须有一个功能完整的p c i 接口:既有从p c i 功能模块,也有主p c i 功能模块。 p c i 总线协议定义了两类信号:必备信号和可选信号。从p c i 的必备信号是 4 7 个;主p c i 则有4 9 个,多了总线申请和接受批准两个启动进程的信号。这 些信号用于处理地址与数据,实现接口控制、总线仲裁、错误报告及系统功能等 图2 2 按功能组列出了p c i 总线信号,“撑”号表示低电平有效。 3 1 删一( 一 一, q 3 1 :ql一伽鼹回l 1 r r1 r jo e e a 畔ljo e e l :4 # l 1r ? 嗍: 隙、 ,氏删 阡黼、 k,a 删、 1 f d 僻、 、 ,1 只既律、,i 躺 、 阳 s f ( 3 群、i m 雒 n ,澎彩洛 ,旺瑚拌、 i 懈、 i 阻、 i n i 亡拌: i ,氏r 群、 、 ,s 1 3 c 眸 篷r 群、 、 ,$ 1 3 c n e 、 耐 ,t 口 、 t r d o t o k 、 i q ( t t m s : 丽、昂s 膨t 一 擤= 黼4 i 叶佳研言号 图2 2p c i 总线协议信号 以下简单介绍p c i 总线协议必备信号( 参见图2 2 的信号名和图2 3 的总线 协议时序) 。 9 器 一 、l-ilj 黼 黼 黼 删 僦 秫 锚 上海大学工程硕士学位论文 1 ) 系统信号 c l k 是系统时钟信号( 输入信号) ,其频率有3 3 m h z 和6 6 m h z 两种。p c i 信号( 除r s t # 夕h ) 全部在c l k 的上升沿同步。 r s t # 是系统复位信号( 输入信号) ,用于接口内部各种寄存器、时序器和信 号等的复位操作( 即初始状态) 。复位时,全部输出信号都应驱动到高阻态。 2 ) 地址,数据总线 a d 3 1 :0 1 是地址、数据用总线( 双向) 。在一个进程中,a d 总线上首先出现 地址周期,接着是数据周期。在地址周期, a d 3 1 :o l 是一个3 2 位的地址( 虽然 i o 地址、配置空间地址和内存空间地址的地址宽度会不同) 。在数据周期,与 c b e 3 :0 # 配合使用,数据宽度也是可变的。a d 总线在f r a m e # 、i r d y # 、 t r d y 撑等信号的控制下工作。 c b e 3 :0 # 是命令、字节使能复用总线( 双向) 。在地址周期,c b e 3 :0 上 传输总线命令,而数据周期则传输字节使能信号,用于指示输入到a d 3 1 :0 】上 的那些字节为有效数据。 p a r 是奇偶校验信号( 双向) 。通过a d 3 1 :0 】和c b e 3 :0 进行奇偶校验。 在地址周期和写操作中该信号由主p c i 驱动,在读操作中则由从p c i 驱动。 3 ) 接口控制信号 f r a m e 撑是进程控制信号( 双向) ,由主p c i 驱动、启动和结束一个进程。 f r a m e 撑的前沿启动进程,后沿结束进程( 即当前传输的是最后一个数据) 。 i r d y 撵是“主p c i 准备好”信号( 双向) ,由主p c i 驱动。在写周期中,i r d y # 有效表示主p c i 已将数据发送至a d 3 1 :0 】上。在读周期中,i r d y # 有效表示主 p c i 己作好从a d 3 1 :0 】上接收数据的准备。i r d y # 与t r d y # 配合使用,只有当 两者都有效时a d 总线才能传输数据。在数据传输过程中,主p c i 可以通过使 l r d y 撑无效来插入等待状态。 t r d w 是“从p c i 准备好”信号( 双向) ,由从p c i 驱动。在写周期中, t r d y # 有效表示从p c i 已作好从a d 3 1 :o 】上接受数据的准备。在读周期中, t r d y # 有效表示从p c i 已将数据发送到a d 3 1 :0 】上。如上所述,t r d y # 与i r d y # 配合使用,只有当两者都有效时a d 总线才能传输数据。在数据传输过程中,从 p c i 可以通过使t r d w 无效来插入等待状态。 s t o p 徉是从设备终止进程的请求信号( 双向) ,由从p c i 驱动。 1 0 上海大学工程硕上学位论文 i d s e l 是p c i 总线初始化周期的设备选择信号( 输入信号) 。在参数配置周 期用作片选信号。 d e v s e l # 是设备选中信号( 双向) ,由从p c i 驱动,与f r a m e 撑呼应,表 示p c i 总线上的主、从设备握手成功。【3 】 4 ) 仲裁信号( 只用于主p c i ) r e q 撑是总线申请信号( 双向) ,由主p c i 驱动,表示该主p c i 要求使用总 线。r e q 牟是点对点信号,所有主p c i 都有自己专用的r e q 撑信号。 g n w 是总线批准信号( x x 向) ,由总线仲裁器驱动,表示申请有效。g n t # 也是点对点信号,任何主p c i 都有自己的g n t # 信号。r e q 群与g n t 撑配合工作。 这里谈到的总线仲裁器是p c i 总线仲裁器,与接口仲裁器不是同一个东西。 前者对p c i 总线上的设备进行仲裁:后者是接口电路的内部功能块,对设备内部 用户进行仲裁。 5 ) 错误报告信号 p e r r # 是数据奇偶校验错误报告信号( 双向) 。该信号只报告数据奇偶出错。 设备只有在完成数据传输之后,才能报告一个p e r r # 。对于数据接收设备,如 果发现数据存在奇偶校验错误,就应在数据周期结束后两个时钟节拍内驱动 p e r r # 。该信号的持续时间与数据的多少有关,如果是一个数据,则最小持续 时间为一个时钟节拍,若是一连串的数据并且每个数据都有错,那么p e r r # 的 持续时间将是多个时钟节拍。 s e r 觥是系统错误报告信号( 输出信号) 。该信号用于报告地址奇偶错、特 殊命令序列中的奇偶错,以及其它可能引起严重后果的系统错误。 2 3p c i 总线命令 p c i 总线命令用来规定主、从( 目标) 设备之间的进程类型,它出现于 c b e 3 :0 # 的地址周期中。这里的主设备是指通过仲裁而获得总线控制权的设 备;目标设备是指在c be 3 :0 】撑上出现命令的同时,被a d 3 1 :o 】线上的地址所 选中的设备。 当一个主设备获得p c i 局部总线的拥有权时,它可以启动表2 1 中任何一种 类型。表2 1 给出了总线命令的编码及类型说明。其中,命令编码中的“1 ”表 示高电平,“0 ”表示低电平。字节使能为低电平有效。 上海大学工程硕士学位论文 表2 1 总线命令的编码及类型说明 c b e 3 :0 1 命令类型说明 0 0 0 0中断应答 0 0 0 1 特殊周期 0 0 10 i ,o 读 0 0 1 1 i o 写 0 10 0保留 0 10 1保留 0 1 10 存储器读 0 1 1 1 存储器写 10 0 0 保留 10 0 1保留 10 1 0 配置读 10 1 1 配置写 1 1 0 0 存储器多行读 1 10 1双地址周期 1 1 1 0 存储器一行读 1 1 1 1 存储器写和使能无效 中断应答命令是一个读命令,它对中断控制器的寻址采用隐含方式,该地址 位与逻辑无关。返回的中断矢量的长度由字节使能信号表示。 特殊周期命令是为p c i 提供一个简单的消息广播机制。 i o 读命令用来从一个映射到i o 地址空间的设备读入数据。a d 3 1 :0 】上提 供一个字节地址,全部3 2 位必须完全译码,而字节使能信号表示传送数据的多 少,必须与字节地址一致。 i o 写命令用来向一个映射到i o 地址空间的设备写入数据。全部3 2 位地址 必须参加译码,字节使能信号表示数据长度,且必须和字节地址一致。1 3 】 保留命令的编码是为将来的用途而保留的。p c i 的任何设备都不能将它们挪 作它用,任何设备也不允许对保留命令编码做出反应。如果接口中使用了一条保 留命令,通常要由主设备终止操作来结束本次访问。 存储器读命令用来从一个映射到存储器地址空间的设备读取数据。如果能保 1 2 上海大学工程硕士学位论文 证无副作用产生,同时为支持突发模式,目标设备可以为该命令进行预先读取。 另外,目标设备也要保证在本次p c i 传输之后保存于临时缓冲器中的数据的一 致性( 包括数据次序) 。这个缓冲器在任何同步时间( 如更新i o 状态寄存器或 存储器标志) 内通过此访问通路之前必须被置为无效。 存储器写命令用来向一个映射到存储器空间的设备写入数据。当目标设备发 出“准备好 信号后,它已经准备对所涉及的数据的一致性( 包括次序) 负责。 因此,对于该命令的实现可采用完全同步的方式,或采用其它方法,但应保证在 任何同步事件( 如更新i o 状态寄存器或存储器标志) 通过该访问路径之前使数 据缓冲器被刷新,也就是说,主设备在使用了该命令之后可以立即创建一个同步 事件。 配置读命令用柬从每个设备的配置空间读取数据。如果一个设备的i d s e l 引脚有效,且a d 1 :0 】- 0 0 时,那么该设备即被选定为配置读命令的目标。在一 个配置交易的地址期内,a d 7 :2 用于从每个设备的配置空间中的6 4 个双字寄存 器中选出一个,a d 3 1 :1 1 】无意义,a d 1 0 :8 】表示一个多功能设备的哪个功能设 备被选中。 配置写命令用来向每个设备的配置空间写入数据。一个设备被选中的条件 是:它的i d s e l 信号有效并且a d 1 :0 】= 0 0 ,其余信号和配置读命令的相同。 存储器多行读命令的作用是试图在主设备断开连接之前预读取多行高速缓 存数据。存储器控制器应保证只要f r a m e 弹有效,就连续不断地以流水方式发 存储器请求。该命令预定用于大块连续数据的传输,如果有一个对软件透明的缓 冲器来暂存数据的话,通过顺序地预读一个附加的c a c h e 行,可使存储器系统 得到某些性能上的改善。存储器多行读命令在功能上等同于存储器读命令,差别 仅在于主p c i 在可能的情况下尽可能地多读取c a c h e 数据。 双地址周期命令用来给支持6 4 位寻址且寻址空间不低于4 g b 的设备发送 6 4 位地址。发送过程需要两个时钟周期。对于只有3 2 位寻址能力的设备,不得 以任何方式对该命令作出反应,只能把它当作保留命令。 存储器一行读命令与存储器读命令基本相同,不同之处在于它还表示主设备 试图完成多于两个3 2 位的p c i 数据期。 存储器写并无效命令在语义上与存储器写命令相同,不同点是它要保证最小 的传输量是一个c a c h e 行,也就是说,主设备要在次p c i 传输中将寻址的 上海大学工程硕士学位论文 c a c h e 行的每一个字节都写入。 使用p c i 总线命令,必须遵循命令使用规则。配置读和配置写命令要求所 有的p c i 设备( 除p c i 主桥之外) 都以目标设备的形式给予响应,其它所有命 令都为可选项。一个主设备可根据需要实现可选命令,同样,一个目标设备也可 根据需要实现可选命令。但是,如果它们实现了基本的存储器命令,那么,它就 必须支持所有的存储器命令,包括存储器写并无效命令、存储器一行读命令和存 储器多行读命令;否则,就必须利用别名将这些为优化性能而设的命令转变为基 本的存储器命令。【4 】 2 4p c i 总线的编址空间 p c i 局部总线定义了三个物理地址空间:内存地址空间、l ,o 地址空间和配 置地址空间。内存地址空间和i o 地址空问是通常都有的,配置地址空间用以支 持p c i 的硬件配置。 p c i 目标设备必须实现基地址寄存器,以请求一个能够用来提供访问内部寄 存器或功能的地址范围。 p c i 局部总线的编址是分布式的,每个设备都有自己的地址译码,从而省去 了中央译码逻辑。 1 ) l ,o 地址空间 在i o 地址空间中,a d 总线的3 2 位提供一个完成的地址编码。在i o 访问中, a d 1 :0 】用来产生d e v s e l # 信号,同时与c b e 3 - 0 】配合,指示传输的最低有 效字节。表2 2 给出了a d 1 :0 】与c b e 3 :0 的对应关系。其中,1 表示高电平, o 表示低电平,x 表示0 或1 。 表2 - 2a d 1 :0 】与c b e 3 :0 # 对应关系 a d 1 :0 】 开始字节 对应的c b e 3 :0 # 0 0字节ox x x o 或1 1 1 1 0 1 字节1x x 0 1 或1 1 1 1 10字节2 x 0 0 1 或1 1 1 1 1 1字节30 1 1 1 或1 1 1 1 例如,当c b e 3 :0 有效时,a d 3 1 :0 】必须为0 0 ,如果只有c b e 3 有效, a d 1 :0 】就应为1 1 。在i o 访问中,每当一个从p c i 被地址译码选中,便要检查 1 4 上海大学工程硕上学位论文 字节使能信号是否与a d 1 :0 】相符,如二者矛盾,则从p c i 不传输任何数据,而 是以一个“a b o r t ”结束当前进程。 2 ) 内存地址空间 在存储器访问中,a d 1 :0 】提供突发传输方式说明,内容如下: ( 1 ) a d 1 :0 】- 0 0 ,突发传输顺序为线性方式。 ( 2 ) a d 1 :0 】= 0 1 ,为c a c h e 切换方式。 ( 3 ) a d 1 :0 】- 1 x ,保留( 第一个数据周期后断开) 。 所有支持突发传输模式的设备都应支持线性突发传输,而对于c a c h e 的行 切换则不一定必须支持。 3 ) 配置地址空间 在配置周期内,a d 7 :2 按双字地址在配置地址空间0 0 3 c 范围内寻址。当 一个设备收到配置命令时,若i d s e l 信号有效,且a d 1 :0 】= 0 0 ,则该设备接受 访问。【5 】 2 5p c i 总线读写的基本协议 p c i 总线进程主要由f r a m e 撑、i r d y # 和t r d y # 控制。f r a m e j f j 由主p c i 驱动,其前沿启动一个数据传输进程,后沿结束该进程,也就是说当前传输的是 最后一个数据节拍总线上没有f r a m e # 意味着总线处于空闲状态。i r d w 由主 p c i 驱动,表示主p c i 己经作好写或读操作的准备,例如在写操作中数据已经发 送到a d 3 1 :0 】上,c b e 3 :0 数据也已经准备好。t r d y 撑由从p c i 驱动,表示从 p c i 己作好接收数据的准备或己将数据发送到a d 3 1 :0 】上。在数据传输过程中, 主p c i 通过i r d y # 无效、从p c i 通过t r d y # 无效插入等待状态。 r r 厂儿l 厂1 lu l1 l!l i i i x x 地址) - 制d i t a l d 。t 且2 ;x;d 。! ) ( x x ix xy 命令b e l;xb e 2 ;i b e 3 ) a ( qlil 销i : : 一b 1 1il 等待i : 一q ; i 图2 - 3 ( a ) p c i 基本读操作时序 1 5 上海大学工程硕士学位论文 图2 - 3 ( b ) p c i 基本写操作时序 图2 3 ( a ) 和图2 3 ( b ) 分别是p c i 总线基本读和基本写操作时序。【6 】 表2 3f r a m e # 与i r d y # 的组合意义 f r a m e 拌l r d y # 意义 11 空闲状态 01 地址周期或等待状态 00 数据周期 1 0最后一个数据节拍 f r a m e 撑与i r d y # 的组合在一个进程中的作用如表2 3 所示。 2 6p c i 总线上的时间约定 p c i 协议没有定义进程的最大长度,也就是说,只要没有其他用户申请使 用总线,进程的长度由该进程的主、从双方决定。 总线保障用户的最小时间片,一个延时计数器用来执行这项保障。该计数器 从用户发出f r a m e # 开始计数,在计数值没有到达设定值之前的其他用户申请 都将被屏蔽,对于当前使用总线的主、从双方来说,该计数器是透明的。 从p c i 可以通过t r d y # 在数据传输过程中插入等待状态。总线协议规定 f r a m e # 有效后立即插入的等待时间不能超过1 6 个时钟节拍,在数据周期中插 入的等待时间不能超过8 个时钟节拍。从p c i 不可以使用后者作为正常终止进 程的途径,因为它占用太多的时间资源,而且误导主p c i 。 在p c i 总线上启动一个进程是需要时间的。如图2 4 所示,进程启动时间包 括三部分:仲裁时间( 主p c i 发出r e q 撑到收到g n t # 的时间) ,主p c i 准备时 1 6 似一 一一 一一一 上海大学工程硕士学位论文 间( 主p c i 接到g n w 到发出f r a m e # 的时间) 和从p c i 准备时间( 从p c i 接 到f r a m e 群到发出第一个t r d y # 的时间) 。同 主p c 跋出主p c 嗽到主p c 跋出从p c 跋出 re q #g nt #f r a me #t r d y # 卜一 仲裁j一主p c 雎备弓 一从p c 椎各j 图2 4 访问延时的组成 2 7p c i 总线的结束方式 无论是主p c i ,还是从p c i 都可以终止当前进程。 1 ) 主p c i 终止进程 主p c i 主导的终止情况有两种:正常终止和异常终止。 主p c i 正常终止数据传输进程是指通过撤消f r a m e # 终止当前进程,此时 i r d y # 和t r d y # 保持有效以完成最后一个数据的正常传输,然后i r d y # 撤消, 总线挂起。主p c i 正常终止进程的原因很多,如已完成预定数据传输任务,主 p c i 的g n t # 信号被撤消,等待时间超时等。图2 - 5 ( a ) 给出了主p c i 正常终止进 程的一个例子。图中,g n t # 在时钟节拍2 被总线撤消,主p c i 立即响应,在节 拍3 撤消了f r a m e # ,此时由于i r d y # 与t r d y # 均有效,最后一个数据的传输 在节拍3 完成。随着i r d y # 的撤消,p c i 总线从节拍4 开始进入空闲状态。如 果t r d y # 在节拍3 没有处于有效状态,主p c i 就需要保持i r d y # 有效,直至最 后一个数据传输完毕。若等待超时,则按等待超时处理。 c ? 仁1 i i li g :丁1 1 1 ;广- 矗 ,- _ _ - _ _ _ - - o 【、_ i,7一 f r a m e 鼻 - 一一一- - 一一- 一。 一 i i 1 :厂 i r d l l i - l 二1 j 。u 一一: 图2 - 5 ( a ) 主p c i 正常终止进程 1 7 上海大学工程硕士学位论文 当f r a m e # 已经发出而从p c i 没有d e v s e l # 响应时,就会引起主p c i 异 常终止( m a s t e r a b o r i ) 。图2 - 5 ( b ) 给出了主p c i 异常终止进程的情况。 乱knn 孙扒n 机孙伊 : : k - j 一一一 _ 、 : :rk 、il i o 一一 号 一一l i 图2 - 5 ( b ) 主p c i 异常终止进程 d e v s e l # 用于从p c i 对f r a m e 撑的响应,由从p c i 发出,可以在地址周 期之后的1 个、2 个或3 个时钟节拍处出现( 由配置空间中状态寄存器决定) 。如 果超过3 个时钟节拍仍然没有d e v s e l # 出现,主p c i 将认为从p c i 无能力接 受当前进程,从而进入异常终止。图中,主p c i 在节拍6 仍然没有检侧到 d e v s e l # ,从而在节拍7 撤消了f

温馨提示

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

评论

0/150

提交评论