(计算机应用技术专业论文)基于pc主板下一代bios的研究与开发.pdf_第1页
(计算机应用技术专业论文)基于pc主板下一代bios的研究与开发.pdf_第2页
(计算机应用技术专业论文)基于pc主板下一代bios的研究与开发.pdf_第3页
(计算机应用技术专业论文)基于pc主板下一代bios的研究与开发.pdf_第4页
(计算机应用技术专业论文)基于pc主板下一代bios的研究与开发.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机应用技术专业论文)基于pc主板下一代bios的研究与开发.pdf.pdf 免费下载

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

文档简介

摘要 p c 的发展已经经历了二十多年的历史,无论是处理器、主板架构还是上层 的操作系统软件,都已经发生了翻天覆地的变化,但是主板上的固件代码一b i o s 的整体体系架构却在这二十多年来几乎未作变动,依然保留着其固有的缺陷以及 其他随着技术发展而增添的大大小小的弊端。 随着技术的发展,人们对b i o s 系统提出了越来越多的新需求,传统b i o s 的终结不可避免,下一代的b i o s 将会更加快速和简便。研发下代b i o s 的活 动在国外早就已经展开,而且一些已经取得了很大成果,如i n t e l 的e f i 、p h o e n i x 的f i r s t b i o s 等,而国内却依然尚未感受到市场需求和科技发展的紧迫性,在这 方面开展的工作很滞后。本课题针对传统b i o s 的弊端以及下一代b i o s 所应具 备的特点提出了比传统b i o s 效率更优、规模更精简的解决方案,设计并研发实 现了m i n i b i o s 系统。论文围绕着b i o s 开发过程中出现的关键技术问题展开了 讨论,对b i o s 的研发进行了较为深入的研究。 关键词:b i o s ,保护模式,p c i ,l i n u x ,启动内核 a b s t r a c t t h ed e v e l o p m e n to f p e r s o n a lc o m p u t e rh a sa l r e a d yp a s s e dm o r et h a n2 0y e a r s a l t h o u g ht h ep r o c e s s o r ,m a i n b o a r da n dt h eu p p e rl e v e ls o f t w a r es u c ha so p e r a t i n g s y s t e ma l lc h a n g eg r e a t l y ,t h ef i r m w a r ec o d eo fc o m p u t e r b i o sa l m o s th a sn o c h a n g ef o rs ol o n g at m ea n ds t i l lr e m a i n sm a n yd r a w b a c k s t h ee n do fb i o si su n a v o i d a b l e ,t h ef u t u r eg e n e r a t i o no fb i o sw i l lb ef a s t e ra n d m o l x :c o n v e n i e n t t h es u b s f i t u e n to ft r a d i t i o n a lb i o sh a sa l r e a d yb e e ni n v e n t e d a b r o a df o ral o n gt i m e ,f o ri n s t a n c ee f io fi n t e l ,f i r s t b i o so fp h o e n i x h o w e v e r ,i t s e e m st h a t p e o p l e i nc h i n as t i l ld on o tk n o wt h e u r g e n c yo ft h em a r k e ta n d t e c h n o l o g y t h er e s e a r c hw o r ko fd e v e l o p m e n ti nb i o sl a g sb e h i n da b r o a dv e r y m u c h w i t ht h ed e v e l o p m e n to ft e c h n o l o g y ,b i o sn e e d st ob ei m p r o v e dt om e e tt h e g r o w i n gd e m a n do fc o m p u t e ru s e r s t h e r e f o r e ,w ed e s i g n e da n dd e v e l o p e da b r a n d - n e wb i o ss y s t e m - m i n i b l o st or e 口l a c et h et r a d i t i o n a lb i o s 。t h et h e s i sh a s p r o p o s e dam o r ee x c e l l e n ta n de f f i c i e n ts o l u t i o no f t h en e x tg e n e r a t i o no f b i o s ,a n d h a sd i s c u s s e dt h ek e y t e c h n o l o g yp o i n t sa r o u n d t h eb i o s d e v e l o p m e n t k e yw o r d s :b i o s ,p r o t e c t e dm o d e ,p c i ,l i n u x ,b o o tt h eo p e r a t i n gs y s t e m 承诺书 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立 进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 外,本学位论文的研究成果不包含任何他人享有著作权的内容。对本 论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明 确方式标明。 本人授权南京航空航天大学可以有权保留送交论文的复印件,允 许论文被查阅和借阅,可以将学位论文的全部或部分内容编入有关数 据库进行检索,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的学位论文在解密后适用本承诺书) 注释表 a 1 a a d v a n c e dt e c h n o l o g y a t t a c h m e n t 的简称,高级技术附加装置。是近年来通用的一 种硬盘接口标准。 b i o s 基本输入输出系统,b a s i ci n p u ta n do u t p u ts y s t e m 的简称。计算机上的一块同 件代码,用于硬件上电初始化和系统引导。 c a c h e 介于c p u 和主存之间的高速小容量存储器称为高速缓冲存储器,简称c a c h e 。 c h s c y l i n d e r h e a d s e c t o r ,采用柱面号、磁头号、扇区号进行硬盘设备寻址访问的 方式。 d m a d i r e c tm e m o r ya c c e s s ,直接内存存取。是i o 设备与主存储器之间由硬件组成的 直接数据通道,用于高速i o 设备与主存储器之问的成组数据传送。 d r a m 动态r a m 。采用刷新电容方式存储数据。 e x t 2 第二版的e x t 文件系统,g n u 几i n u x 系统中标准的文件系统。 g d t g i o b a l d e s c r i p t o rt a b l e ,即全局描述符表。 l b a l o g i c a lb l o c k a d d r e s s ,采用扇区线性地址进行硬盘设备寻址访问的方式。 m b r 主引导扇区( m a s t e rb o o tr e c o r d ) 。在硬盘的第一个柱面的最开始的一个5 1 2 字 节的扇区,上面有一段引导程序和分区表。 m s r m o d e l s p e c i f i cr e g i s t e r s ,是一组主要用于进行调试控制、性能监测、机器检验 ( 如用于微码更新) 、以及内存类型范围设定( m t r r ) 的寄存器。 m t r r m e m o r yt y p er a n g er e g i s t e r s ,内存类型范围设定寄存器。可以通过它们对不 同的存储区域进行不同的c a c h e 设置。 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 i o p r o g r a m m e dl n p u f f o u t p u t 的简称,通过设备寄存器访问的一种数据传输方式。 s m b u s 系统组件管理总线,是s y s t e mm a n a g e m e n tb u s 的简称,该协议用于对外围 零组件进行检测、定位、读写参数等设置。 s p d s e r i a lp r e s e n c ed e t e c t ,串行存在探测。 u s b u n i v e r s a ls e r i a lb u s ,即通用串行总线,是为了解决日益增加的p c 外设与有限的 主板插槽和端口之间的矛盾而制定的一种串行通信的标准。 保护模式保护模式是3 2 位处理器本身的操作模式。在这种模式下,最大寻址空间4 g b , 所有的指令和特定结构能发挥最高的性能和兼容性。保护模式下可实现分段存储和分页存 储。 北桥( n o r t h b r i d g e ) p c 主板上负责沟通c p u 和主存,内存与a g p 接口显卡的集成 芯片。 超级i o 芯片( s u p e r i o ) p c 主板上负责整合较为中低速率的接口的集成芯片。 南桥( s o u t h b r i d g e ) p c 主板上负责沟通p c i 外围设备、i d e u s b 装置、i s a 以及其 他外设端口的集成芯片。 配置空间用于p c i 系统配置的一组寄存器,是p c i 设备的硬件与p c i 设备的初始化 软件及错误处理软件之间的信息交接区,以便软件对p c i 设备进行识别和控制以及p c i 设 备向软件反映设备状态和要求。 实模式x 8 6 处理器的一种操作模式。在实模式下c p u 寻址是由逻辑地址( l o g i c a l a d d r e s s ) 中的段值( s e g m e n ts e l e c t 0 0 和偏移( o f f s e t ) 组合形成的,最大寻址空间1 m b 。 南京航空航天大学硕士学位论文 第一章绪论 本章首先介绍基本输入输出系统b i o s ( b a s i ci n p u t o u t p u ts y s t e m ) 在计算 机系统软件中的地位和功能,传统b i o s 的弊端,以及当前b i o s 研究的国内外 现状和发展趋势,然后阐述本课题开发的目的和意义,最后说明论文的章节结构 安排。 1 1b 1 0 s 在计算机系统软件中的地位和功能 1 1 1 b 1 0 s 的重要性 从二十多前个人计算机的诞生起,b i o s 一直就是底层系统软件的核心,当 蓝色巨人i b m 在研究世界上第一部个人计算机时,他们的工程师就把一些最基 础的硬件启动代码,加载操作系统的代码以及一些基本的外围i o 处理的程序固 化到了只读存储器中。这部分代码就叫做b i o s 。【1 1 在计算机系统软件层次架构中,b i o s 是介于硬件与操作系统之间的一层, 如下图所示。 圈1 1 计算机系统软件层次架构图 b i o s 为计算机提供最低级的、最直接的硬件控制。准确地说,b i o s 是硬件 与软件程序之间的一个“转换器”或者说是接口( 虽然它本身也只是一个程序) 。其 主要目的是为了良好的支持上层操作系统,使之能够运行于硬件主板。 1 1 2 b 1 0 s 的功能组成 b i o s 的主要功能包括两大部分:硬件初始化、启动系统。在传统b i o s 中 还会提供中断服务功能,但由于硬软件技术发展的原因这个功能目前已经弱化。 基于p c 主板下一代b i o s 的研究与开发 ( 1 ) 底层平台初始化:在硬件上电后b i o s 最先被运行,然后它会对最底层 系统平台的c p u 和内存等进行最必要的检测和初始化。包括对c p u 、d r a m 控 制器进行设置,初始化d r a m 控制器,检测内存大小,设置c a c h e 等。 ( 2 ) 外设硬件初始化:对主板上设备如系统时钟、p c i 设备、串口、显卡、 软硬盘子系统及以太网接口等进行初始化,为设备开发相应的底层驱动。 ( 3 ) 启动系统:在硬件初始化之后,即可进行相应的应用,最典型的应用就 是引导操作系统。从硬盘或网络引导操作系统,最终将控制权转交给操作系统。 1 2 课题背景 i 2 1 传统b 1 0 s 的弊端 个人计算机经过了二十多年的发展,硬件主板、c p u 、操作系统都不断地在 更新换代,但b i o s 在p c 架构中却一直未作出大的改进与变动,并残留了很多 的不足之处。 传统的b i o s 存在的不少弊端导致了其效率低下和代码冗余。 首先,现代x 8 6 体系处理器可以在实模式或保护模式状态中使用,而传统 b i o s 自始至终一直是运行在实模式状态下,采用1 6 位寻址,这样即使使用的是 p e n t i u mc p u ,在整个b i o s 的运行阶段也只能被当作一个2 5 年前的8 0 8 6c p u 来使用,现代处理器的高性能得不到发挥。 其次,传统b i o s 代码几乎都采用汇编语言编制而成,代码庞大,编程复杂 难懂,不易维护。 再次,传统b i o s 中提供的部分功能模块( 如中断服务调用) 已经不适应于 高级操作系统如w i n d o w s 2 0 0 0 ,l i n u x 。以中断调用的方式提供实模式的大量设 备驱动程序是传统b i o s 的一个主要功能模块,但现代操作系统例如l i n u x 是多 用户、多进程、保护模式、页式映射的操作系统,其内核不再如以前的d o s 那 样需要使用b i o s 设备驱动例程,转而采用系统自身的驱动直接对设备进行d m a 或者i o 操作。也就是说,一旦计算机的操作系统( 无论是w i n d o w s 2 0 0 0 还是 l i n u x ) 加载到了内存并且掌握了控制权,b i o s 的用处就不存在。显然传统b i o s 这部分的功能代码是冗余的。 1 2 2b i d s 研究的国内外现状及发展趋势 对传统b i o s 的分析可知,传统b i o s 的终结是不可避免的。b i o s 的发展需 要解决其原有的弊端,并为用户提供更加强大的功能。下一代b i o s 将会更加快 速和简便,在可扩展性和维护性方面也将更加有效。 南京航空航天大学硕士学位论文 国内在b i o s 研发这一块几乎是一片空白,目前也未有专门机构从事这方面 的课题或研究。另外值得一提的就是b i o s 的开发一直被垄断控制在少数几家国 外公司如p h o e n i x ,a m i 手中。 取缔传统b i o s 的活动在国外早就已经展开,而且一些已经取得了较大成果, 如i n t e l 的e f i ,p h o e n i x 的f i r s t b l 0 s 等,但目前均未得到大规模的推广。 了解国外下一代b i o s 的开发有利于对b i o s 发展趋势的把握,下面对i n t e l 开发的e f i 进行简要的介绍。 e f i 全称e x t e n s i b l ef i r m w a r ei n t e r f a c e ,是i n t e l 用来替代现有b i o s 的一项 技术,加入其开发联盟的还有a d a p t e c 、a m i 、a t i 、h p 、l s i 、m i c r o s o f t 、p o w e r q u e s t 等公司。e f i 推出的首个版本为0 9 2 ,到现在已经发展到1 1 0 版本。早在2 0 0 0 年就开始研发,但直到i d f ( i n t e ld e v e l o p e rf o r u m ) 2 0 0 3 才被推向舞台,正式拉 开b i o s 的变革序幕。【2 j e f i 凭借自身的技术特点,可以广泛运用于嵌入式应用、网络电脑、网络客 户端电脑等产品。目前微软正在开发支持e f i 的操作系统,并声称下一代开发代 号为l o n g h o m 的w i n d o w s 可以支持e f i 。 图12e f i 体系结构 e f i 的主要组成部分以及它们与硬件和操作系统之间的关系见图12 。 2 1 从其核心来看,e f i 或许更像一个被简化的操作系统,介于硬件设备以及高 级操作系统之间。传统的b i o s 采用相当紧凑、低级的汇编语言,而e f i 使用最 广泛使用的高级语言c 语言进行编写,这意味着有更多的工程师可以参与e f i 的开发工作,添加许多更有价值的功能。 e f i 具备的基本功能包括:平台管理服务、运行时服务、无需操作系统的磁 盘管理、远程配置、启动引导服务等。e j 基于p c 主板下一代b 1 0 s 的研究与开发 e f i 的工作流程如下图所示。 图1 3e f i 工作流程 从图中所示可知,e f i 的工作流程简单被归纳为:标准固件平台初始化;加 载e f i 驱动程序库以及执行相关程序;在e f i 系统启动菜单中选取所要进入的系 统并向e f i 提交启动引导代码,正常的话将进入系统,并将控制权转交给操作系 统,否则将中止启动服务并返回e f i 系统启动菜单。 1 ,2 3 开发m i n i b l o s 的意义和目标 本课题所开发的下一代b i o s 命名为m i n i b i o s ,m i n i 是因为目前所开发的 b i o s 功能还比较精简,只支持能完成系统启动的必要的功能。它以解决传统 b i o s 的弊端,为国内进行基于p c 主板下一代的b i o s 研发作基础性预研工作为 目标。 p c 产业是国家信息产业化规划中的重中之重,国内早已经制造出了自己的 c p u 如“龙芯”,在操作系统方面也有中国人自己的操作系统如“红旗l i n u x ”, 但是在p c 上最先运行的b i o s 程序却一直没有被关注。 传统b i o s 的终结显然是大势所趋,e f i 或f i r s t b i o s 将会取缔未来p c 市场 上的b i o s ,所影响到的经济价值不可估量。下一代b i o s 程序将能在开机后即 可直接通过网络连通外界,而且b i o s 核心技术掌握在国外少数垄断企业手中, 因此在国家信息安全方面也会存在不可忽视的问题。所以,开发中国人自己的 b i o s 意义重大,加紧对b i o s 的研究迫在眉睫。 本课题设计和研发的m i n i b i o s 要求能够妥善解决传统b i o s 的弊端,并钊 对下一代b i o s 的特点和需求提供相应的解决方案,其项目需求主要如下: ( 1 ) 运行在3 2 位保护模式f ,提高系统的安全性与稳定性,充分利用现代处 理器性能: 南京航空航天大学硕士学位论文 r 2 1 支持各种业界标准,包括高级技术附加装置( a t a ) 、外围组件勇一连( p c i ) 、 系统管理总线( s m b u s ) 等; ( 3 ) 提高启动速度,如只初始化必要的硬件,立即加载内核: ( 4 ) 舍弃标准b i o s 中对设备的“多余的”初始化,摒弃冗余的代码,合理 有效的应用r o m ,发挥更多效能; f 5 1 尽量避免汇编语言,使用效能更高的c 语言; ( 6 ) 代码规划合理,便于维护,易于配置; 1 3 论文研究内容及论文结构 本课题提出了一个较完整的系统b i o s 的软件体系架构,设计和实现了一套 b i o s 系统一m i n i b i o s ,并最终成功实现硬件初始化和启动操作系统。 全文共分为六章,主要从应用的角度对基于p c 体系架构的b i o s 软件的实 现进行了研究,同时针对下一代p c 的发展,提出了一些见解和展望。具体各章 节的内容如下: 第一章,绪论,叙述了课题背景、项目需求和全文的组织结构。 第二章,b i o s 开发的基本概论与规范,介绍了b i o s 研发中需要掌握的硬 件体系结构知识和基本总线协议。简要分析了当前主流的i n t e l 的x 8 6 体系架构、 p c i 协议、a t a 协议等。 第三章,m i n i b l o s 的总体设计,对自主研发的m i n i b i o s 进行了总体设计 分析,对系统的各子模块功能进行了简要的剖析,并在最后描述了所使用的开发 平台与测试环境。 第四章,m i n i b i o s 中p c i 协议的设计与实现,对b i o s 中最主要的总线协 议模块p c i 协议模块的实现进行了详细阐述。 第五章,m i n i b i o s 中系统引导模块的设计与实现,具体分析了m i n i b i o s 从硬盘引导l i n u x 内核的实现,其中包含了a t a 协议和e x t 2 文件系统的实现, 并在最后针对l i n u x 系统讲述了遵循引导协议引导操作系统的步骤。 第六章,系统总结与展望,本章总结了m i n i b i o s 的研究成果,并讨论了在 构建b i o s 系统中出现的问题,对m i n i b i o s 的不足之处进行了讨论并提出了系 统展望。 基于p c 土板下一代b i o s 的研究与开发 第二章b i o s 开发的基本概论与规范 本章介绍了m i n i b i o s 开发过程中所涉及到的体系结构知识和基本协议,简 要分析了当前主流的n t e | x 8 6 体系架构、p c i 总线协议和a t a 总线协议等。 2 1 硬件体系结构 由于m i n i b i o s 属于固件,所以固件开发者必须对该固件所依赖的硬件体系 结构有很好的了解。本小节阐述在一个典型计算机系统的b i o s 固件开发中需要 了解的关于硬件体系结构方面的知识。 图21典型的个人计算机硬件体系架构 计算机系统所需要的硬件因其用途不同而有显著差异,比如有些系统用于嵌 入式应用领域,也有些专用于大型计算,而本课题侧重的是应用于个人计算机领 域的计算机系统。图2 1 是一个典型的个人计算机系统模型框图,它采用的是i n t e l 4 4 0 b x 芯片组o ”。 6 南京航空航天大学硕士学位论文 由上图可以看出,个人计算机的主要组件有中央处理器( p e n t i u m i i p r o c e s s o r ) 、内存( m a i nm e m o r y ) 、北桥芯片( 8 2 4 4 3 b x h o s tb r i d g e ) 和南桥 芯片( 8 2 3 7 1 e bp c i t o i s ab r i d g e ) ,此外还包括由这些核心组件所连接和管理 的显示设备、p c i 设备、i d e 设备、u s b 设备等等。 2 1 ,1 中央处理器 整个计算机系统都是围绕着处理器来设计的,个人计算机一般都使用i n t e l x 8 6 体系结构的处理器,目前主流的处理器是3 2 位芯片。 2 1 。1 1 处理器操作模式 b 叼嘲 删m s b f l m a r l t n e s r a d l d r e s s l i n e a r 删m 是m s q m e n t e d m o d e l 一 1 0 d n n s s e g m e n t s e 酶c i c r o 嘲倒r 嫩广 r 艘 二 _ _ + = r 驾茹 ll 一 禺钠涨 二 s 酬渊 s e g m e n ts 稿目:h , 图2 2x 8 6 体系结构不同模式下的内存管理模型 x 8 6 体系结构处理器支持三种操作模式:实地址( r e a l - a d d r e s s ) 模式,保护 ( p r o t e c t e d ) 模式,和虚拟8 0 8 6 ( v i r t u a l 一8 0 8 6 ) 模式。实地址模式提供了i n t e l 8 0 8 6 处理器的编程环境,虚拟8 0 8 6 模式可让处理器在保护模式下可运行8 0 8 6 模式软 件及多任务环境,保护模式则是3 2 位处理器本身的操作模式,在这种模式下, 所有的指令和特定结构能发挥最高的性能和兼容性。 当c p u 处于不同模式下会导致不同的内存寻址方式,如图2 2 所示。1 5 1 基于p c 主板下一代b i o s 的研究与开发 在实模式下c p u 寻址是由逻辑地:t & ( l o g i c a la d d r e s s ) 中的段值( s e g m e m s e l e c t o r ) $ 口偏移( o f f s e t ) 通过“物理地址= 段值+ 1 6 + 偏移”组合形成的,其寻址 空间只有1 m b 。 而在保护模式下可实现分段存储和分页存储。分段存储模型f s e g m e n t e d m o d e l ) 为每个程序或任务分配独立的代码、数据、堆栈模块。分页存储模型( p a g e d m o d e l ) , 1 支持一个常规的页请求的虚拟存储系统。处理器需经过两个阶段的地址 转换到达物理地址:通过分段存储管理,逻辑地址到线性地址转换;通过分页存 储管理,线性地址到物理地址转换。平坦模型( f l a tm o d e l ) 也是一种特殊的分段, 它是将段的基地址设为0 ,段的范围设为4 g ,这样,逻辑地址、线性地址均为 物理地址。 为了使c p u 工作于保护模式,应使控制寄存器c r o 的p e 位置1 。c r 0 的 各个位字段如图2 3 所示【7 j 。 p 叼哪d | ;8 a 蛹耐:o e 配旧辑鼬嘲:1 n o ! w r n e - l h r o u g hd i s a b l e d :1 f - s 然嚣篙麓盎掣0 圃r 目s e n t e d 图2 3c r o 寄存器的内容 切换进入保护模式的步骤如下: ( 1 ) 采用l g d t 指令将g d t 表的基地址和边界值加载到g d t r 寄存器,使g d t 有效。 ( 2 ) 开启保护模式,即将c r 0 的p e 位置1 。 ( 3 ) 用j m p 指令清指令队列中预取到的实模式代码,并用段间跳转指令进入 保护模式。 南京航空航天大学硕士学位论文 2 1 1 2 高速缓存的设置 高速缓存可以增加系统的整体速度,计算机系统原则上包含了多层的存储架 构,可以简单的以下图来表示: 图2 4 计算机系统中的存储层次 目前c p u 一般均设有一级缓存( l 1c a c h e ) 和二级缓存( l 2c a c h e ) 。 在高速缓存方面,i n t e l 的p e n t i u mp r o 之后的处理器功能较完整。通过对 m t r r ( m e m o r yt y p er a n g er e g i s t e r s ) 的设置,最多可以对9 6 个不同的存储区 域进行不同的c a c h e 设置。 接下来就对m t r r 的设定做一个说明。由于它的功能相当多,因此设计上 把它分成三组寄存器,各自负责一定的功能。第一组寄存器是m t r rd e f r y p e 寄存器,它负责一般的m t r r 设定,位置是在m s r2 f f h 上。m s r 是一组主要 用于进行调试控制、性能监测、机器检验( 如用于微码更新) 、以及内存类型范 围设定( m t r r ) 的寄存器。口j 1 t y p e 标志 这个标志的位置是m t r rd e f r y p e 的第0 位到第七位,一共是八位长,它 定义了m t r r 缺省设置的存储区范围应该以怎样的c a c h e 类型方式进行c a c h e 。 p e n t i u mp r o 支持的c a c h e 类型如下: ( 1 ) u n c a c h e a b l e ( u c ) 从其名字可看出它代表的含义,所有的数据存储都直接送到系统总线上,处 理器完全不进行任何c a c h e 动作。 ( 2 ) w r i t ec o m b i n i n g ( w c ) 9 基于p c 主板下一代b i o s 的研究与开发 被设置为w c 的存储区也不会在高速缓存中被c a c h e ,但是在对存储器写入 时,数据会先放在写入缓冲区( w r i t eb u f f e r ) 6 0 ,等适当时刻再进行写入。 ( 3 ) w r i t e t h r o u g h ( w t ) ,w r i t e b a c k ( w b ) 这两种c a c h e 类型都允许对存储区读写进行高速缓存,唯一的不同在于w t 在存储器写入时除了把数据存入c a c h e 外,还会把数据送到写入缓冲区中,这样 数据在很短时间内就会被写回存储器。 ( 4 ) w r i t e - p r o t e c t e d ( w p ) 此类型只在多处理器上使用,此处不做讨论。 在p e n t i u m 以上的计算机中一般采用回写式( w r i t eb a c k ) 高速缓存。 2f e 位 f e 位代表的是f i x e d r a n g em t r r se n a b l e ,当它设为1 时表示固定范围的 m t r r 可以起作用。它的位置在m t r r d e f r y p e 的第l o 位。 3e 位 就是m t r r se n a b l e ,位于m t r r d e f r y p e 的第11 位,它决定是否使能 m t r r 。当为l 时歼启m t r r ,反之m t r r 功能关闭,即所有存储区都会被设 定为u c 。 第二组寄存器负责固定范围的m t r r 的控制,一共有1 1 个寄存器。每一个 都有6 4 位长,可对8 8 个不同的存储区作c a c h e 设定。 1m 1 r i 汛f i x 6 4 k0 0 0 0 0 寄存器 这个寄存器的位置在m s r 2 5 0 h 上,从低到高字节分别负责从0 0 0 0 0 h 0 鼢 到7 0 0 0 0 h 7 鼢的6 4 k b 区域的c a c h e 类型。 2m t r rf i x l 6 k8 0 0 0 0 和m t r rf i x l 6 ka 0 0 0 0 寄存器 这2 个寄存器分别位于m s r2 5 8 h 和m s r2 5 9 h 上,从低到高的每一个8 位分别代表相应的1 6 k b 区域的c a c h e 类型。 3m 1 r i 取f i x 4 kc 0 0 0 0 到m t r rf i x 4 kf 8 0 0 0 寄存器 剩下的2 5 6 k b 存储区域,则是以4 k b 为单位分到剩下的8 个寄存器中, 第1 个寄存器负责0 c 0 0 0 0 h 一0 c 7 f f f h ,第2 个负责设定o c 8 0 0 0 h - 0 c f f f f h 这段, 依次类推。这8 个寄存器的位置在m s r2 6 8 h 到2 6 f h 。 第三组寄存器的1 6 个寄存器则负责可变范围m t r r ( v a r i a b l er a n g em t r r s ) 的控制,以两个寄存器为一组,一共可以定义八个可变范围。同组的两个寄存器 中的第一个是m t r r p h y s b a s e n ( n 代表从0 到7 的数字) ,位置在m s r 2 0 0 h 2 0 6 h 中的偶数编号控制寄存器;第二个寄存器是m t r rp h y s m a s k n ,位于m s r 2 0 1 h 一2 0 7 h 中的奇数编号控制寄存器。关键内容的定义如下: 1 t y p e 南京航空航天大学硕十学位论文 位于m t r r p h y s b a s e n 的第0 到第7 位,指定在这个存储区范围所采用的 c a c h e 类型。 2 p h y s b a s e 这个标志的位置在m t r rp h y s b a s e n 的第1 2 到第3 5 位,一共有2 4 位长, 和p h y s m a s k 位一起用来指定一个存储区范围。其范围有一定的计算方式,如设 m e ma d d r 为一个3 6 位的线性地址,若 ( m e ma d d rs h l 12 ) a n d p h y s m a s k = p h y s b a s e a n d p h y s m a s k 则这个地址就是在由p h y s b a s e 和p h y s m a s k 所定义的存储区范围中。 3v 标志 这个标志在m t r rp h y s m a s k n 的第11 位,代表这组寄存器是否起作用,如 设为l 表示有,否则就没有。 4 p h y s m a s k p h y s m a s k 的位置在m t r r p h y s m a s k n 的第1 2 到第3 5 位,共有2 4 位长, 和p h y s b a s e 一起用来指定一个存储区范围。1 7 2 1 1 3 微码更新 从p e n t i u mp r o 处理器开始,i n t e lc p u 具备一项称为“微码更新”( m i c r o c o d e u p d a t e ) 的功能,可对c p u 进行修复。指的是若某一批集成电路在设计时有未 被检测到的b u g 时,只要这个错误还可以由微码的方式加以修正,则b i o s 可 以通过微码更新的功能,将i n t e l 所送来的某批号的修正微码,在b i o s 的检测运 行过程中就写入p e n t i u m p r o 内部的m i c r o r o m 中,这样就可以修j e c p u 的b u g , 而i n t e l 也就不需要大费周折地回收有b u g 的c p u 了。【1 】 微码更新主要是通过指令c p u i d 首先读出该c p u 相应的标识,若该标识与 i n t e l 提供的微码表中标识相同,则表明需要进行修复,通过w r m s r 指令将微码 写入c p u 的微码存储区中,从而修复c p u 。 其中c p u i d 指令用于读取该款c p u 的相关信息,如v e n d o ri d 、p r o c e s s o r t y p e 、p r o c e s s o r f a m i l y 、p r o c e s s o r m o d e l ,还可以检测m t r r 当中f i x e d m t r r s 和v a r i a b l em t r r s 是否e n a b l e d 。 r d m s r 指令和w r r l l s r 指令用于读写m s r ( m o d e l s p e c i f i cr e g i s t e r s ) 寄存器。 2 1 2d r a m 控制器 d r a m 由于其构造的复杂性,要正常运行则需要进行相当繁琐的参数设置。 d r a m 主要相关参数如下: ( 1 ) r a s - t o c a sd e l a y d r a m 中r a s 到c a s 延迟时间,设定不当可能会造成内存存取错误。 基于p c 主板f 一代b 1 0 s 的研究与开发 所谓的r a s 即为行地址触发( r o w a c c e s ss t r o b e ) ,这是内存寻址的前段动 作,而c a s 即列地址触发( c o l u m n a c c e s ss t r o b e ) 月j j 是后段部分。由于总线的复用 所以在r a s 寻址或c a s 寻址时需要进行解码和锁定。但是在行解码之时,由于 解码与锁定两个动作必须花去一部分时间,如果中间完全没有延迟就开始列解码 动作,那么可能会由于动作的延迟导致存取错误以致死机,所以需要进行r a s 与c a s 之间延迟时间的设定。 ( 2 ) r a sp r e c h a r g e t i m e 代表当r a s ( 行地址触发) 在d r a m 做重置动作之前所预留的充电时间, 一般设定为2 n s 或3 n s 。预充电时间如果不足,可能造成内存无法正确重置而导 致数据丢失。 因为d r a m 在设计上是采用刷新电容方式存储数据,电容中电量会随时间 流失而不断削减甚至消失,从而造成数据流失。为了维持高效又避免数据流失, 因此动态内存必须不断进行充电,以维持其中的数据。 ( 3 ) c a sl a t e n c yt i m e d r a m 读取或写入动作的c a s 触发信号前的延迟时问。 ( 4 ) d r a m d a t a i n t e g r i t ym o d e 一部分的d r a m 支持e c c ( e r r o r c h e c k i n g a n dc o r r e c t i o n ) 的功能。大多数 内存并不支持e c c 校验。 ( 5 1h o s t d r a mf r e q u e n c y d r a m 运行频率,如设置为6 6m h z 。 ( 6 ) d r a m r o w b o u n d a r yr e g i s t e r s 简称d r b 寄存器,用于计算r a m 大小。共有8 个寄存器,各寄存器中数 据以8 m b 为单位,分别读取之,并按如下方式进行计算: d r b o = t o t a l m e m o r y i nr o w 0f i n8m b ) d r b l = t o t a l m e m o r y i nr o w 0 + r o w l ( i n8m b 、 d r b 2 = t o t a l m e m o r y i nr o w 0 十r o w l + r o w 2 ( i n8m b ) d r b 3 = t o t a l m e m o r y i n r o w 0 + r o x 1 + r o w 2 + r o w 3 ( i i l8 m b ) d r b 4 = t o t a l m e m o r y i nr o w 0 + r o w l + r o w 2 + r o w 3 + r o w 4 ( i n8 m b ) d r b 5 = t o t a l m e m o r y i nr o w 0 + r o w l + r o w 2 + r o w 3 + r o w 4 十r o w 5 ( i n 8 m b l d r b 6 = t o t a lm e m o r yi nr o w 0 + r o w l + r o w 2 十r o w 3 + r o w 4 + r o w 5 + r o w 6 ( i n8 m b ) d r b 7 = t o t a l m e m o r y i n r o w 0 + r o w l + r o w 2 + r o w 3 + r o w 4 + r o w 5 + r o w 6 + r o w t ( i n 8m b 、 这样即可获知d r a m 内存的容量大小。 4 1 南京航空航天大学硕士学位论文 那么我们要进行设置的这些参数的正确数据从何而来? 它们都被存储在内 存条正面右侧的一个8 针的2 5 6 字节的e e p r o m 芯片里。这个芯片被称为s p d ( s e r i a lp r e s e n c ed e t e c t ,串行存在探测) ,里面记录着内存的速度、容量、电压 与行、列地址带宽等参数信息。初始化内存复杂的地方就在于进行d r a m 设置 前,必须要通过s p d 来获取相关的信息,然后按照其中的数据对d r a m 控制器 进行参数设置。而读取s p d ,则是通过南桥上的s m b u s 总线来进行。 2 1 3 系统芯片组 早期的主板上,各种组件之间的连接与协调电路极为复杂,动辄使用到上百 块各类型的i c 、电容,不但占用p c b 板面积,也造成了除错上的麻烦与无谓的 成本。随着半导体科技的进步,主板上的许多线路,已使用几个大型i c 芯片来 取代,可以简化设计与除错时间、减少成本,这些专攻主板简化设计的芯片,就 称为系统芯片组;在电路学上也有人以“核心逻辑电路”来称呼它】。所以一般 主板上会有几个大型的芯片,每一个芯片有着特定的功能。以i n t e l4 4 0 b x 主板 来举例,离c p u 最近的芯片是i n t e l 的8 2 4 4 3 b x 芯片,称之为北桥芯片 ( n o r t h b r i d g e ) ,另一个芯片是i n t e l8 2 3 7 1 e b ,为南桥芯片( s o u t h b r i d g e ) 。还有 超级1 0 芯片( s u p e f i o ) 是i t e 8 6 7 1 。 下面介绍一下各类芯片的用途。 ( 1 ) 北桥芯片 一般负责沟通c p u 和主存,内存与a g p 接口显卡的。 ( 2 ) 南桥芯片 一般用来负责沟通p c i 外围设备、i d e ,u s b 装置、i s a 以及其他外设端口。 ( 3 ) s u p e r i o 芯片 用于整合较为中低速率的接口,以定义而论最少都整合2 s i p l g l f d ,也就 是具备两个串行接口( s e r i a lp o r t ,c o m i & c o m 2 ) 、一个并行打印接口( p a r a l l e l p o r t ) 、一个游戏摇杆接口( g a m e j o y s t i c k i o ) ,还有一组软驱控

温馨提示

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

评论

0/150

提交评论