已阅读5页,还剩59页未读, 继续免费阅读
(计算机系统结构专业论文)多cpu系统的中断机制.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 处理器性能的提升主要依赖于两个因素:一是半导体工艺的逐渐进步;二是 处理器体系结构的不断发展。二者相互促进,共同发展。但是到了2 1 世纪,由于 半导体工艺的限制,处理器的频率已经很难继续提高。为了继续提升计算机性能, 多处理器架构成为了研究的主流。多处理器技术是在一个计算机系统中含有多个 处理器,通过处理器的协作来共同完成多项任务,达到并行处理的效果。 在多处理器架构中,广为使用的是名为对称多处理的体系结构。对称多处理 系统具有很强的负载均衡和调节能力,不仅可以保证系统性能的提高,同时在可 靠性和稳定性方面亦有出色的表现:同时,对称多处理技术也很容易在现在的i a 3 2 体系结构上实现和应用。对称多处理技术能够得到广泛的应用和相应的软硬件支 持也分不开。 本文重点在于分析对称多处理系统下中断机制如何得到实现,细致的探讨了计 算机从硬件到软件对中断的处理过程。通过本文的阅读,可以对对称多处理器条 件下中断的具体实施过程有个比较明晰的认识。 在文章的最后对于已有的一些中断优化技术进行了详细说明,并提出了一些 中断优化设想和未来的研究方向。 关键词:多处理器,对称多处理,l i n u x ,内核,中断 a b s t r a c t a b s t r a c t a sw ek n o w , t h ee n h a n c e m e n to ft h ec p up e r f o r m a n c em a i n l yd e p e n d so nt w o m u t u a jp r o m o t i n gf a c t o r sw h i c ha r et h ei m p r o v e m e n t 、o fs e m i c o n d u c t o rc r a f ta n dt h e d e v e l o p m e n to fc p ua r c h i t e c t u r e s h o w e v e r , i t sf r e q u e n c y c o n s t r a i n e db yt h e s e m i c o n d u c t o rt e c h n i c sc a l lh a r d l yb ei n c r e a s e ds i n c et h eb e g i n n i go f21s tc e n t u r y t o i m p r o v ec o m p u t e r sp e r f o r m a n c e ,p e o p l et u r n e dt om u l t i p r o c e s s o ra r c h i t e c t u r ew h i c h h a sb e c o m et h em a i n s t r e a mn o w a d a y s m u l t i - p r o c e s s o rt e c h n o l o g y , d e p l o y i n gm o r e t h a no n ep r o c e s s o ri nas y s t e m ,c a na c h i e v et h eg o a lo fp a r a l l e lp r o c e s s i n gb yt h e c o l l a b o r a t i o nw o r ko ft h o s ep r o c e s s o r s i nv a r i o u sm u l t i - p r o c e s s o ra r c h i t e c t u r e s ,s m pi sm o s tw i d e l yu s e d s m pp o s s e sa s t r o n ga b i l i t yo fl o a d b a l a n c i n ga n ds c h e d u l i n g ,t h u s ,n o to n l yt h es y s t e mp e r f o r m a n c e i m p r o v e m e n tc a nb ea s s u r e d ,b u ta l s oh i g hr e l i a b i l i t ya n ds t a b i l i t yc a nb eg a i n e d m e a n w h i l e ,s m pc a nb ee a s i l yi m p l e m e n t e do ni a 3 2a r c h i t e c t u r e s m p sw i d eu s e ,t o s o m ee x t e n t ,i sg r e a t l ya t t r i b u t e dt ot h ec o r r e s p o n d i n gs u p p o r t sf r o mb o t hh a r d w a r e s a n ds o f t w a r e s t h i sp a p e rf o c u s e so nt h ea n a l y s i so fh o wt h ei n t e r r u p tm e c h a n i s mi si m p l e m e n t e d i n s y m m e t r i c a lm u l t i p r o c e s s i n gs y s t e ma n dd e t a i l si t sp r o c e s sf r o mh a r d w a r e t o s o f t w a r e b yr e a d i n gi t ,y o uc a ng e tac l e a rp i c t u r eo ft h es p e c i f i cr o u t i n eo fi n t e r r u p t p r o c e s s i n gi ns m e i nt h ee n d ,t h ea u t h o rd e s c r i b e ss o m ee x i s t i n go p t i m i z a t i o nt e c h n o l o g yf o ri n t e r r u p t a tl e n g t h ,f u r t h e rg i v e ss o m en e wi d e a sa n ds p e c u l a t e st h et r e n d so fr e s e a r c h e si nt h e f u t u r e k e y w o r d s :m p , s m p , l i n u x ,k e r n e l ,i n t e r r u p t i l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名j 坠啦日期:矽步年f 月7 泪 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:导师签名: 弯教& 叉 日期:上妒夕年r 月沙日 第一章绪论 1 1 计算机体系发展现状 第一章绪论 自计算机研制成功起,计算机技术就得到了迅速发展。至今,在人类科技史 上还没有一种学科可以与电子计算机的发展速度相提并论。 通常,按照硬件工艺流程,可以把计算机划分为以下几代: 第1 代:电子管数字计算机。它奠定了以后计算机技术的基础,主要特点是 体积大、耗电大、可靠性差、价格昂贵、维修复杂。 第2 代:晶体管数字计算机。它的体积大大缩小,耗电减少,可靠性得到大 大提高,相比第1 代计算机性能有了很大的提升。其主要应用以科学计算和各种 事务处理为主,并开始用于工业控制场合。 第3 代:集成电路数字计算机。体积、耗电量、可靠性等在第2 代计算机基 础上性能再次得到极大提高。 第4 代:大规模集成电路数字计算机。此时的计算机已经发展到微型化、耗 电极少、可靠性很高的阶段。大规模集成电路使军事工业、空间技术、原子能技 术得到发展,这些领域的蓬勃发展对计算机提出了更高的要求,有力地促进了计 算机工业的空前大发展。 随着大规模集成电路技术的迅速发展,计算机除了向巨型机方向发展外,还 朝着超小型机和微型机方向飞速前进。 微型机的核心是微处理器,微处理器被誉为2 0 世纪最伟大的发明之一。由于 微处理器具有体积小、重量轻、功耗低、功能强、可靠性高、结构灵活、使用环 境要求低、价格低廉等系列特点和优点,因此得到了广泛的应用,使计算机真 正进入到人类社会生产和生活的各个方面。计算机从过去只限于各部门、各单位 少数专业人员使用普及到广大民众乃至中小学生,成为人们工作和生活不可缺少 的工具,从而将人类社会推进到了信息时代【i 】。 但是,由于受到时代技术条件的限制,单核处理器随着速度地提升而带来的 散热和功耗等问题却无法再满足人们的期望,计算机c p u 最大速度的提升受到了 极大的约束。为了提高运算速度,处理器制造厂商开始考虑能够增加并行性的办 法,在一台计算机中同时装入多个处理器。由此,对多处理器功效的研究开始成 电子科技大学硕士学位论文 为计算机科学技术研究中一个重要的主题。 实际上,多处理的思想早在2 0 世纪6 0 年代就已有雏形,当时的b u r r o u g h s c o r p o r a t i o n 已经引入了一种对称m i m d 多处理器,它带有四个c p u 并通过交叉开 关可连接最多十六个内存模块( 第一种对称多处理架构) 。1 9 6 4 年引入了c d c 6 6 0 0 , 它的使用比较成功并得到流行,它提供了一个带有十个子处理器( 外围处理单元) 的c p u 。2 0 世纪6 0 年代末,h o n e y w e l l 发布了它的第一个m u l t i c s 系统,这是带 八个c p u 的另一种对称多处理系统。2 0 世纪8 0 年代末期,随着单处理器个人计 算机系统的流行,多处理系统的使用呈下降趋势,但是随着单核心处理器瓶颈的 限制,多处理器技术又回到了个人计算机系统中【2 1 。 基于多处理器的思想,在2 0 0 5 年,i n t e l 全球同步首发基于双核技术桌面产品 i n t e lp e n t i u md 处理器,正式揭开了x 8 6 处理器多核心时代的序幕。双核甚至更多 核处理器的诞生,很好地解决了散热和功耗等问题,并且极大提高了计算机的性 能。对于多核处理器的设计,显然不能再完全遵循单核的体系结构,所以在结构 框架、运行模式、通信技术、总线设计、中断处理等等方面都提出了更高的标准 和更多的要求。 多核处理器代表了计算技术的一次创新【3 】。由于它比单核处理器更好的性能和 效率,可以预见的是在未来若干年内,通过增加片内处理器核的个数来提升处理 器整体性能的做法会一直成为计算机技术的研究重点。 1 2 国内外现状及研究意义 1 2 1 多核应用现状 单核处理器上主频不断提高的同时也导致功耗极大提高,传统的单处理器体 系结构技术已达到瓶颈。在这样的背景下,各主流处理器厂商纷纷将产品战略从 提高芯片的时钟频率转向支持并发处理的多线程、多内核。 多核处理器最直接的发展被认为是始于i b m 。i b m 在2 0 0 1 年发布了双核r i s c 处理器p o w e r4 ,它将两个6 4 位p o w e rp c 处理器内核集成在同一颗芯片上,成为 首款采用多核设计的服务器处理器。在u n i x 阵营当中,两大巨头h p 和s u n 也相 继在2 0 0 4 年2 月和3 月发布了名为p a r i s c 8 8 0 0 和u l t r a s p a r cw 的双内核处理 器。 目前的多核处理器的推出已经愈加频繁,在推出代号为n i a g a r a 的8 核处理器 2 第一章绪论 之后,s u n 还在2 0 0 8 年中推出了n i a g a r a2 处理器,并计划在今年下半年发布一款 1 6 核的r o c k 处理器。i b m 的c e l l 处理器,结合了1 个p o w e rp c 核心与8 个协处 理器构成的c e l l 微处理器已经正式量产,并且应用于p s 3 主机、医学影像处理、 3 d 计算机绘图、影音多媒体等领域。而真正意义上让多核处理器进入主流桌面应 用,是从n 阵营正式引入多核架构开始。 a m d 在2 0 0 5 年4 月推出了它的双核处理器o p t e r o n ,专用于服务器和工作站。 紧随其后它又推出了a n l l o n6 4x 2 双核系列产品,专用于台式机。应用于高端台 式机和笔记本的f x - 6 0 ,f x 6 2 ,t u r i o n6 4x 2 以及p h e n o m 产品也在市场上占据不 小份额。 2 0 0 6 年5 月,i n t e l 发布了其服务器芯片x e o n 系列的新成员双核芯片 d e r n p s e y 。该产品使用了6 5 m m 制造工艺,其5 0 3 0 和5 0 8 0 型号的主频在2 6 7 g h z 和3 7 3 g h z 之间。紧随其后的6 月份,另一款双核芯片w o o d c r e s t ( x e o n5 1 0 0 系 列) 登场【2 1 。继双核之后,i n t e l 和a m d 又先后推出了自己的4 核产品,并计划在 数年内逐步推出6 核、8 核、1 6 核的产品。 相对于国外处理器研究的高速发展,国内限于自身条件等多方面原因,多核 产品的研发落后于国外同行。中国的研究人员正在全力打造g o d s o n ( 龙芯) 的第 一个多核版本,它将成为中国首个自行研发的多核微处理器,具有四到八个核, 预计在2 0 0 9 年内完成流片。四核与八核版本的g o d s o n - 3 都采用6 5n l t i 工艺,时 钟速度为lg h z 。设计采用分布式可扩展的架构,具有可重构的c p u 核及l 2 缓 存,该器件主要针对低功耗消费类电子产品【4 】。 1 2 2 现实意义 一直以来,推动计算机技术不断进步的动力主要来自两个方面:一方面是以 生产工艺为代表的实现技术,其一直推动着计算机主频和器件密度不断向纵深发 展;另一方面是以并行技术为代表的计算机体系结构,不断推动着计算机性能横 向发展【5 】。单核处理器的结构特点导致了在现阶段其纵向发展的提升空间已经极其 有限,以实现并行处理为目的的多处理器思想代表了未来处理器的发展方向,为 计算机性能的进一步提高开辟了一条新的道路。 随着科技的发展,时代的进步,人们的工作生活越来越离不开计算机的应用, 尤其是在工业、商业、军用等方面,对计算机的性能都不断提出更高的标准和要 求。而我国现阶段,在计算机软件、硬件研究程度上距离国外的科研水平还差距 3 电子科技大学硕士学位论文 甚远。因为技术需要,绝大部分软、硬件产品,包括计算机c p u 芯片都还需要从 国外进口,由于西方发达国家对外的科技垄断、封锁、限制,即使得到的也几乎 都属于国外淘汰产品,可以说在科技领域,我国同发达国家相比至今仍存在着一 条无法逾越的鸿沟。因为技术水平的差距,我国每年为了技术的维护、更新、升 级、改造等等都要付出极其昂贵的代价。 既便如此,在计算机硬件和软件的研发上,我们并不能止步,要时刻掌握国 际国内的技术发展状况,从中不断学习提高,经过长期不断的积累,以期望能够 在科技领域,不断地缩短与发达国家之间的差距。对于多处理器系统架构等一系 列课题的研究有助于对今后相关体系的发展起到借鉴和促进作用,为我国多处理 器技术的发展不断作好技术积累。 1 3 本文主要内容及组织结构 与单处理器相比,多处理器在体系结构、软件、安全性设计等方面面临着巨 大的挑战,但也蕴含着巨大的潜能【6 】。本文旨在深入探讨多处理器系统中对操作系 统设计至关重要的一环中断机制,针对它与单处理器之间的差异,重点分析 多处理器环境下中断机制如何更好地工作,以达到尽可能优化多核系统处理速度 的目的。 本文各章节的内容安排如下: 第一章:绪论。总体上介绍了计算机体系的发展状况和研究现状,并指出了 本文的研究背景和意义所在,说明了论文的整体框架。 第二章:多处理器系统。本章介绍了多处理器系统的基本概念,描述了多处 理器系统的组成、分类,以及基于不同系统架构的微处理器具体应用,最后指出 本文的研究重点。 第三章:l i n u x 内核中断机制概述。首先描述了在单处理器系统中中断的概念、 分类;然后基于最新的l i n u x 内核详细讲述了和中断相关的主要数据结构以及中断 如何在内核中进行处理的过程。 第四章:s m p 系统中断核心技术分析。本章主要阐述了l i n u x 对s m p 的支持, 以及在s m p 系统中的中断从硬件处理到软件分发的具体流程,以及中断在多处理 器之间如何进行同步和互斥。 第五章:s m p 系统的中断优化分析。分析阐述了现在一些主流的中断优化技 术,然后依据f i i 人的研究提出了自己的一些中断优化思想。 4 第一章绪论 第六章:总结与展望。包括了对本文的总结以及对未来研究前景和方向的一 个展望。 电子科技大学硕士学位论文 2 1 多处理器系统综述 第二章多处理器系统 为了增强计算机的系统性能,提高处理速度,在计算机的发展史上,先后采 用过先行控制技术、流水线技术、增加功能部件甚至多机技术、存储寻址和管理 能力的扩充、功能分布的强化,各种互联网络的拓扑结构以及支持多道、多任务 的软件技术等一系列并行处理技术【7 1 。多处理器架构是计算机体系结构中提高计算 处理并行性的又一重要发展方向。 多处理器系统( m p s ) ,即在一台计算机上集成了多个处理器( 多c p u ) 的系 统,处理器间共用系统总线,共享计算机中的大部分硬件,共同协作完成指定的 工作。它不仅大大改善了计算机的性能和可扩展性,对其自身体系结构发展和软 件的开发也产生着深远的影响。同单处理器结构相比,多处理器的系统架构显然 变得更加复杂,设计中需要关注的问题包括:如何保证处理器间的相互访问、互 相协作、共享内存,以及如何更快地处理外部设备的工作等等。针对种种问题, 多c p u 系统提出了如下三种处理模式【引。 1 _ ) 对称多处理( s y m m e t r i c a lm u l t i p r o c e s s i n g ,s m p ) 模式。 2 ) 非对称多处理( a s y m m e t r i c a lm u l t i p r o c e s s i n g ,a m p ) 模式。 3 ) 限定型多处理( b o u n dm u l t i p r o c e s s i n g ,b m p ) 模式。 2 1 1m p $ 系统简介 1 ) s m p 系统 s m p 可以在一台计算机上同时嵌入多个c p u ,各c p u 一般都有自己的高 速缓存,它们之间可以共享存储子系统和系统总线结构,所有的处理器都可 以平等地访问内存,i o 设备以及外部中断等。除了在系统引导和初始化过程 之外,c p u 的处理过程没有主次之分。在对称多处理系统中,系统资源被系 统中所有c p u 所共享,工作负载能够均匀地分配到所有可用处理器之上,从 而提高整个系统的数据处理能力【9 】图2 1 给出了s m p 结构的示意图。 6 第二章多处理器系统 图l ls m p 结构图 常用的s m p 操作系统,有三种类型: a ) 主从式( m a s t e r - s l a v e ) 操作系统:由一台主处理机控制其它处理机的 状态,并分配任务给从处理机,主处理机对从处理机的需求进行统一 的管理。这样做的好处是软、硬件结构简单,只有一个处理机访问执 格行表,不会造成管理表格冲突和访问阻塞等问题;而缺点是灵活性比 较差,任务分配不均很容易造成从处理机的闲置,如果主处理机出现 故障还会造成整个系统的崩溃等。 b ) 独立监督式( s e p a r a t es u p e r v i s o r ) 操作系统:每个处理机都有一个核 心管理程序。优点是相对主从式更具有独立性,一台处理机的故障不 会造成整个系统的崩溃;缺点则是各个处理器都有一个管理程序副本, 存储冗余太多,利用率不高,对于公共表格的访问容易产生冲突,还 要处理好处理机的负载平衡问题。 c ) 浮动监督式( f l o a t i n gs u p e r v i s o r ) 操作系统:只有一个主处理机执行管 理功能,但是这个处理机的分配可以根据需要随时切换到不同的处理 机上,它常用于对称多处理系统中。优点是系统稳定、灵活、可靠。 s m p 系统主要用于一些需要进行大量并行计算的方面,在3 d m a x 、 p h o t o s h o p 等图像制作软件的应用中可以获得非常良好的性能表现,它有利于 程序的大规模部署以及错误处理等,是组建廉价工作站的良好选择。 2 ) a m p 系统 一台计算机的多个c p u 之间相互独立,具有不同的功能,这种系统称为 a m p 系统。在a m p 系统中,不同的任务和系统资源可以由不同的处理器进 行管理,由于各个c p u 之间功能的不同以及对外部设备的控制不同,它们在 功能上也是不平等的。其中有的c p u 会负责整体的任务调度和协调,有的c p u 7 电子科技大学硕士学位论文 则完成各自分配到的具体任务,各个处理器之间不会像s m p 那样进行负载平 衡,它们之间可能会出现有的处理器繁忙,而有的处理器一直空闲的状态。 a m p 系统的核心可以是同构的,即让所有的内核都运行同样的操作系统;也 可以是异构的,即不同的内核可以指定不同的操作系统。 3 1b m p 系统 b m p 是由加拿大的q n x 公司所倡导的一种多处理器模式,它提供了一 条界于s n i p 和a m p 之间的路线,主要结合了s n i p 的高级资源管理和a m p 在应用控制方面的特点。b m p 支持简单的s n i p 透明资源管理,能让指定任务 运行在独立的处理器核心上;同时允许单处理器代码在s m p 环境中进行对称 多处理。 2 1 2 三种m p s 的比较 如表2 1 所示,三种处理器模式对系统的支持各有不同,a m p 处理器进行处 理的任务各有不同,结构比较松散,因此不支持资源间共享;而s m p 的存储器、 i o 设备都被系统中的所有c p u 共享,任务可以协作完成。从负载均衡上来说, 显然s m p 比a m p 更具有优势。但同样,这也成了s m p 的局限性所在,为了能够 协调任务,就需要更复杂的仲裁和平衡机制,比起a m p 针对性处理任务的特点来 说,s m p 显然处理效率会比a m p 略显不足。b m p 作为前两者之间的一种平衡手 段,同样具有广阔的应用前景。 表2 - 1 多c p i j 处理模式的对比 s m 咿k n 倥b m 无缝资源共享支持不支持支持 可扩展内核数支持有限制支持 混合的操作系统平台不支持支持不支持 指定处理器的操作不支持支持支持 内核间通信快慢快 不同内核的线程同步支持不支持支持 负载平衡支持不支持支持 全系统的调试和优化支持不支持支持 8 第二章多处理器系统 2 2 多核系统架构 多核就是在一块处理器芯片上集成多个处理器内核,每个内核拥有自己的逻 辑单元、控制单元、中断控制器和运算单元,而一级缓存和二级缓存可以共享也 可以独有:其他部件和单核处理器没有太大区别。多核的概念也来源于多处理器 系统,它们在线程调度和中断处理方面具有很多类似之处,根据其内核的构成不 同,可以分为同构多核和异构多核两种。 2 2 1 同构多核架构 所有i n t e l 生产的x 8 6 架构的新处理器,无论面向台式机、笔记本和服务器, 都将统一到c o r e 微架构,架构如图2 2 所示。 图l - 2h t e l c o r e 微架构 9 电子科技大学硕士学位论文 c o r e 微架构是一个高效的双核心架构,拥有6 4 b i t 指令集、4 发射的超标量体 系结构和乱序执行机制等技术,使用6 5 n m 制造工艺生产,支持3 6 b i t 的物理寻址 和4 8 b i t 的虚拟内存寻址,采用一级缓存独有、二级缓存共享的设计,两个内核共 享4 m b 的二级缓存。每个内核都采用乱序执行,加入对e m 6 4 t 与s s e 4 指令集的 支持,具有1 4 级有效流水线,内有3 2 k b 的一级指令缓存与3 2 k b 一级数据缓存, 而且两个核心的一级数据缓存之间可以直接传输数据;具有4 组指令解码单元, 支持微指令融合与宏指令融合技术,每个时钟周期最多可以解码5 条x 8 6 指令, 生成7 条微指令,并拥有改进的分支预测功能;拥有3 个调度端口,内有5 个执 行单元,包括3 个6 4 b i t 的整数执行单元( 6 叫) 、两个1 2 8 b i t 的浮点执行单元( f p u ) 和3 个1 2 8 b i t 的s s e 执行单元;采用新的内存相关性预测技术,支持增强的电源 管理功能,支持硬件虚拟化技术和硬件防病毒功能。芯片内建数字温度传感器, 可提供功率报告和温度报告等,配合系统实现动态的功耗控制和散热控n t l 】 1 0 】。 2 2 2 异构多核架构 在2 0 0 5 年由i b m 、东芝( t o s h i b a ) 与索尼( s o n y ) 联合研发的c e l l 处理器, 已经逐步应用到索尼p s 3 和高清晰数字影音家电、计算机图形、科学运算等领域, 它是第一款投入实际商用的异构多核处理器。 这个处理器就是典型的a m p 设计,它具备独特的非对称多核心设计与庞大的 总线与内存带宽,拥有高性能的浮点数运算性能,最高频率达4 6g h z 。第一代的 c e l l 处理器包含9 个核心:一个运行p o w e r 指令的主核( p p e ) 和8 个s i d m 辅助 核( s p e ) 。通过一条高速总线( e i b ) 进行连接,其架构如图2 3 所示【l i 】。 s p e ls p e 2s p e 3s 盹4s p e 5s p e 6s p e 7s p f r m ci c 一一- f 车一 土一t :峨iii f f c : 眦 :f “一i t 。一。 一,l 一一, 图1 - 3c e l l 架构 1 0 卜订 k 趣矧 i ,! l s ! j 兰三j t 一。 l _ 1 i 廊 一 一体:一 l 训:罱厂俐慝习躞 一 津 一 一储 i 怒 一 一本 第二章多处理器系统 p p e 包括一个6 4 位、双发射、双线程、顺序执行的运算核心,可以同时提取 4 条指令和两个结果,负责运转操作系统和协同s p e ;s p e 是由一个辅助处理单元 ( s p u ) 和一个内存流量控制器( m f c ) 的标准设计组成。s p u 是一个带有s i m d 支持和2 5 6 k b 局部存储器的1 2 8 位计算引擎;m f c 具有一个d m a 联合m m u 的 控制器,从专属的局部存储器直接进行指令和数据操作,并行的翻译地址和进行 d m a 传输。e i b 连接p p e 、s p e 和外部i o ,由一个地址母线和四个1 2 8 位的数 据环线构成,两个顺时针运转,另外两个逆时针运转,每个环线最大可以允许三 个并行发生的数据传输。 c e l l 架构由于具有8 个可以并行进行s i m d 运算的s p e ,并且通过e i b 和高 速内存提供足够的数据通路,而加速了浮点运算、矩阵运算、科学计算、多媒体 处理等数据处理能力,c e l l 处理器浮点运算能力的理论峰值可以达到2 5 0 g f l o p s ( g i g af l o a t i n gp o i n to p e r a t i o n sp e rs e c o n d ) ,而i n t e l 同频率的p e n t i u m4 处理器的 峰值仅2 5 6 g f l o p s 。但是这种体系结构的巨大改变一方面要求操作系统必须提供 足够的支持,另外一个方面,编译器和编程模式发生了巨大的改变,c e l l 的编程规 范中要求程序员对每个核进行单独的编程,p p e 和s p e 是不同的编程模式,通过 特殊的编译器和连接器得n - 进制代码【i 】【1 2 】。 2 3 多c p u 系统的研究重点 并行技术是提高计算机处理能力的重要手段【1 3 1 ,就目前来说,在多c p u 研究 领域,一直把对s m p 系统的设计、改进作为研究重点所在。s m p 系统是现阶段耦 合性最高的一种多处理系统,可以提供很好的并行性,目前主流的操作系统软件 也都提供了对s m p 的支持。相比于a m p 系统和b m p 系统,在现阶段s m p 的推 广显然更迅速一些。本文主要目的也是基于s m p 模式研究l i n u x 操作系统如何对 中断进行支持。 2 4 本章小结 本章主要介绍了多处理器系统的处理模式以及对于主流模式的一些具体应 用,然后对多核的系统架构方式进行了简要描述,在后文中将会对应用最广泛的 s m p 系统的内部中断处理机制进行细致分析。 电子科技大学硕士学位论文 第三章l in m x 内核中断机制概述 3 1 单o p u 的中断概述 计算机要管理各种硬件设备,首先需要与他们相互通信,但是由于高速的c p u 与慢速的外围设备之间一直存在着速率不匹配的矛盾,需要一种有效的机制来使 处理器和硬件设备互通音信。对此,有两种方法可以解决【1 4 】: 1 ) 轮询( p o l l i n g ) 让内核定期对设备的状态进行查询,然后做出相应地处理; 2 ) 中断( i n t e r r u p t ) 让硬件在需要的时候再向内核发出信号( 变内核主动为 硬件主动) 。 显然,第一种方法要周期性地执行,会导致处理器时间被大量消耗,效率低 下。因此,中断就成为了现在处理器和外围设备进行通信的一种行之有效的办法。 在计算机操作系统中,中断技术是不可或缺的一部分,它可以增加数据的吞吐量, 提高计算机系统中信息处理的并行性和c p u 的效率。 3 1 1 中断的定义 从物理学的角度看,中断是一种电信号。在处理器执行程序的过程中,出现 某些异常事件或者硬件设备提交请求时,处理器将电信号直接送入中断控制器的 输入引脚上。然后再由中断控制器向处理器发送相应的信号,处理器收到信号就 停止当前程序的执行,转而对异常事件或者外围设备请求作出适当处理,处理完 毕再转入被停止的程序继续执行。 习惯上,通常我们遵循i n t d 官方手册,把中断分为异常( e x c e p t i o n ) 和中断 ( i n t e r r u p t ) 两种: 1 异常:又叫同步中断,是当指令执行时由c p u 控制单元产生的,之所以 称为同步,是因为该类中断由进程自身原因产生,只有在一条指令终止执 行后c p u 才会立刻发出中断相应。例如系统调用、缺页异常,它是由于 特定的指令或者系统内部的错误引发。 2 中断:又称为异步中断,它是由外部硬件设备依照c p u 时钟信号随机产 生的,例如键盘或者网卡所触发的中断,它们并不是由c p u 指令产生。 为避免混淆概念,在后文中也会严格的区分异常和中断。 1 2 第三章l i n u x 内核中断机制概述 3 1 1 1 异常的分类 1 ) 处理器探测异常( p r o c e s s o r - d e t e c t e de x c e p t i o n ) :当c p u 执行指令时探测 到的一个反常条件所产生的异常。c p u 控制单元产生异常时,根据保存在 内核态堆栈e i p 寄存器中的值( 在指令指针e i p 中存放的是c p u 即将执行 的指令地址) 的不同,可以进一步分为如下三组: a ) 故障( f a u l t ) :一般情况下该异常是可恢复的,在e i p 中存放的是当前 指令的地址,可以保证在故障得到处理以后,程序还可以继续正确的 执行。例如“缺页异常会中断程序,触发缺页异常处理程序,寻找 到缺失的页后,返回原程序继续连贯执行。 b 1 陷阱( t r a p ) :e i p 中保存当前指令之后下一条指令的地址,该异常通常 是作为调试程序时使用。实质是在某条指令之后插入一些更高优先级 的指令强行暂停程序的执行,待高优先级指令执行完毕,返回原程序 的下一条指令地址,继续程序的执行。 ”c ) 异常中止( a b o r t ) 该情况下,e i p 中并没有任何指令地址存在,因为 异常中止用来报告系统中出现的严重错误,例如硬件出现重大故障或 者堆栈中数据错误等,只能强行终止正在执行的程序。 2 ) 编程异常( p r o g r a m m e de x c e p t i o n ) :该异常通常又被叫做软中断( s o f t w a r e i n t e r r u p t ) ,它通常也被作为陷阱来处理,主要目的是为了执行系统调用或 ;,者向程序报告一种特定情况,例如边界溢出会通过i n t o 指令向c p u 报告 检查出地址越界等。但是这种软中断区别于l i n u x 下半部中的软中断 ( s o f i i r q ) ,在后文中将会详细描述【1 5 l 。 3 1 1 2 中断的分类 1 ) 可屏蔽中断( m a s k a b l ei n t e r r u p t ) :通过外部f o 设备发出的所有中断请求 ( m q ) 都属于此类,可以根据中断屏蔽位或c p u 标志寄存器中中断标志 位来控制,以确定在某中断处理程序执行时,是否允许其他的中断程序 优先运行。 2 ) 不可屏蔽中断( n o n m a s k a b l ei n t e r r u p t ) :当本类中断处理程序运行时,当 有其他的中断程序到来,必须等待当前中断处理程序执行完毕才能运行。 3 1 2 异常处理流程 异常处理过程其实与中断处理大同小异,需要再次提出注意的是异常的产生 1 3 电子科技大学硕士学位论文 是由c p u 本身产生,不同异常的执行过程如图3 2 所示。 程序执行 当前指令 发现故障 当前指令 故障处理 处理 饕 故 障 处 理 程 序 执 行 3 1 3 中断处理流程 i 程序执行 土 i 当前指令 异菇陷 磋矗 阱 触发陷阱 , 处 理 下一条指令 哳常 程 涟回 序 执 行 陷阱处理异常中止 图2 1 异常处理流程 在程序的执行过程中,如果产生了需要立即处理的中断事件,通常,系统在 执行完毕当前指令后首先会保存与当前程序正常运行有关的上下文,然后跳转到 一个专门用来处理该中断的子程序执行,当中断处理子程序执行完毕,再根据先 前保存的程序上下文恢复到程序中断前的状态继续执行,一般的中断处理过程如 图3 1 所示。 程序执行 户 。 1 l r 中罗 中 中断事件产生 处 当前指令 断 理 l ”_ r 一 子 程 序 执 行 图2 - 2 中断处理流程 1 4 第三章l i n u x 内核中断机制概述 3 2 标准lin u x 2 6 内核的中断机制 l i n u x 内核代码的开源性,对研究操作系统的执行机制,深入理解内核系统结 构都有着非常大的帮助,一直以来有着不少的系统黑客对l i n u x 内核的进一步完善 和发展不断付出努力。在本文正式创作之时,l i n t l x 已经发布了版本号为2 6 2 8 的 内核,其相对于2 4 x 的很多结构都又有所不同,首先本章将主要基于2 6 2 8 7 内 核版本对一些核心的数据结构进行分析和描述。 3 2 1 与硬件中断有关的数据结构 当需要进行中断处理时,有几个数据结构尤为重要,它们包含了与i r q 相关 的所有信息,分别用来描述中断类型、中断行为和主要中断控制信息等。 3 2 1 1 中断控制器描述符 在l i n u x 2 6 内核以前的版本中使用一个名为“p i c 对象一的结构来描述中断 控制器,统一对外部硬件设备进行管理,它由p i c 名字和根据中断共性抽象出来 的7 个p i c 标准方法组成,被定义成h wi n t e r r u p t 类型(也叫做type h wi r qc o n t r o l l e r ) 的数据结构。该数据结构包含一系列指向函数的指针,用以处 理对控制器特定的操作,在中断初始化时,对h wi n t e r r u p t类型的变量进行初 始化。 t y p e 当前最新的内核版本中,中断类型描述符已经由一个被称为硬件中断描述符 的i r qc h i p 类型的结构体所替代,在原类型的基础上主要增加了一些新的函数指 针,表3 1 参照l i n u x 2 6 内核给出了中断描述符的字段信息和简要说明,并比较 了和老版本内核中数据结构的不同。 表3 - 1 中断控制器描述符( i r q _ c h i p ) 字段说明 n a m e 修】存储在p r o c i n t e r r u p t s 的中断名( 即老版本的t y p e n a m e ) s t a r t u p允许从给定的控制器的i r q 所产生的事件 s h u t d o w n 禁止从给定的控制器的i r q 所产生的事件 e n a b l e 作用同s t a r m p 基本相同 d i s a b l e作用同s h u t d o w n 基本相同 a c k 通过把适当的字节发往i o 端口来应答所接收的i r q m a s k 增】 屏蔽中断源 电子科技大学硕士学位论文 m a s ka c k 摧d 】对中断源进行屏蔽并应答 u n m a s k 增】 取消中断源屏蔽 e o i 增】 在芯片层中止中断处理程序 e n d 当i r q 的中断处理程序终l 匕时调用 s c t _ a f f m i t y 用在多c p u 系统中声明特定i r q 所在c p u 的亲和力 r e t r i g g e r 增】向c p u 重发i r q 中断请求 s e t _ t y p e 增】 设置一个i r q 的中断触发方式 s e tw a k e 增】 允许禁j :唤醒一个i r q 的电源管理功能 r e l e a s e 增】 由u m l 刚米释放函数( 仅供u m l 使用,以后会废除) t y p e n a m e 增】 为了和老版本兼容而暂时保留 注:【修】表示字段名称和老版本有所不同 【增】表示该字段为新版本中新增字段 3 2 1 2 中断服务例程描述符 每一个外部设备都要在内核中注册对应的中断处理程序,该结构( 见表3 2 ) 包含的是内核收到i r q 请求后指定的外部设备和它所要触发的中断处理程序。由 于多个设备可以共享一个i r q ,所以每一条i r q 线上可以挂载多个i r q a c t i o n 结构, 也就是可以触发多个i r q 请求。每个设备生成对应的i r q a c t i o n 结构以后都会和某 个i r qd e s et 结构中的a c t i o n 属性关联起来。 表3 2 中断服务例程描述符( i r q a c t i o n ) 字段说明 h a n d l e r指向某个i 0 硬件设备的中断服务例程 f l a g s该标志位用来描述i r q 与i o 设备之间的关系:取值有s a _ n c r e r r u p t ( q , 断可嵌套执行) ;s a 。s h i r q ( 运行当前i r q 线与其他设备共享) : s as a m p l e m 州d o m ( 漫备可以被看作随机事件的发生源) m a s k 往当前朱使h j ,仅用于极个别情况下 n a l e产生中断的硬件设备名 d c vi di 0 设备的私有字段,用来标识产生中断的便件设备本身 n e x t 指向共享当前i r q 线的下一个硬件设备的i r q a c t i o n 结构,若不允许共享, 此项为空 t r q i r q 线 d i r 指向与i r q n 相关的p r o c i r q n 目录的描述符 1 6 第三章l i n u x 内核中断机制概述 3 2 1 3lr q 描述符 每个中断向量都有一个i r q 描述符,被定义成i r q _ d e s c _ _ t 结构,它存储中断函 数的注册信息,管理所有与i r q 相关的属性。例如i r q 线上的中断服务例程( i s r ) , 中断控制器等。当外部设备发出i r q 请求后,需要通过该描述符获取a c t i o n 指针, 调用相关的i s r 。表3 3 描述了在最新的内核版本中i r q 描述符的字段信息。 表3 - 3i r q 描述符( i r q _ _ d e s c t ) 字段 说明 l r qi r q 号 h a n d l e _ i r q 指向该中断请求的处理函数( 硬件处理) ,为空则默认为d oi r 0 0 c h i p 底层中断的各种控制访问方法集合,即之前版本的h wi n t e r r u p t _ t y p e m s i d e s c 可屏蔽软中断描述符 h a n d l e r d a t a指向c h i p 方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 共济失调毛细血管扩张症免疫与感染防治临床路径
- 2026届江苏省江阴初级中学高三下学期四调考试化学试题(8K版含解析)含解析
- 2026年虎门地区农产品直销合同三篇
- 2026年酒店翻新改造合同三篇
- 基于LoRa的物联网系统设计课程设计
- 2024-2025学年北京广渠门中学七年级(下)期中数学试题及答案
- 教科研教学设计方案
- 创新思维与护理质量提升
- 2026年高中必修二材料测试题及答案
- 2026年股市知识测试题及答案
- 2026云南昆明供电局项目制用工招聘48人笔试模拟试题及答案解析
- 2026云南高创人才服务有限公司招聘6人笔试备考试题及答案解析
- 全胃切除病人全程营养管理中国专家共识(2026版)
- 2026年四川成都市中考地理试卷含答案
- 2025-2026 学年人音版初中音乐八年级下册全册知识点梳理
- 2026年自贡市自流井区社区工作者招聘笔试参考试题及答案解析
- 2026年版闲鱼卖货实战手册(选品+定价+爆款打造完整攻略)
- 雨课堂学堂在线学堂云审计法律研究与案例(西南政法大学)单元测试考核答案
- “十五五”规划纲要应知应会100题及答案
- 2026安徽合肥市发展和改革委员会上半年招聘事业单位工作人员20人考试备考试题及答案解析
- 限额以下小型工程常见安全隐患指导手册(2026版)
评论
0/150
提交评论