



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一! 垦堕型兰垫查奎兰竺窒竺堕堂垡笙兰 a b s t r a c t x m i c r o p r o c e s s o ri sah i g hp e r f o r m a n c eo n e ,w h i c hh a sap o w e r f u lm e m o r ym a n a g e m e n t u n i t i ta d o p t sav a r i e t yo f m e m o r ym a n a g e m e n tt e c h n i q u e st om a pal o g i c a la d d r e s st oa p h y s i c a lo n e t h e s et e c h n i q u e si n c l u d ef e a t u r e ss u c ha ss e g m e n t a t i o na n dp a g i n g ,w h i c ha l l o w m e m o r yt ob em a n a g e de f f i c i e n t l ya n dr e l i a b l y t h ea d d r e s sg e n e r a t i o nu n i t ( a g u ) i sak e y c o m p o n e n to f t h em e m o r ym a n a g e m e n tu n i ta n di su s e dt oc o m p u t et h ee f f e c t i v ea d d r e s sa n d l i n e a ra d d r e s so f t h el o c a t i o nb e i n ga d d r e s s e di nm e m o r y t h ep a p e ri n v e s t i g a t e st h em e c h a n i s mo f a g ua n dd e s c r i b e st h ea r c h i t e c t u r eo f u n i tc i r c u i t s as e t t l e m e n ti ss u p p l i e dt ow o r ko u td o w n w a r dc o m p a t i b i l i t yw h e np e r f o r m i n ga r i t h m e t i c o p e r a t i o n so nap t u r a u t yo fd i g i t a li n p u t st op r o d u c ea ne f f e c t i v ea d d r e s sa n dal i n e a ra d d r e s s i np a r a l l e l a d d i t i o n a l ,t h o s ep r o b l e m sj u s ta sc o m p a r i s o nb e t w e e ns e g m e n tl i m i tw i t he aa n d m u l t i p l i c a t i o nb e t w e e ns c a l ea n di n d e xa d d r e s sa r ea l s os o l v e d a d d r e s sc o m p u t a t i o ni sap e r f o r m a n c e c r i t i c a lo p e r a t i o nt h a tr e q u i r e sah i g h - p e r f o r m a n c e a d d e r i no r d e rt oe n h a n c et h ee f f i c i e n c yo ft h ec p u p i p e l i n e ,t w ok i n d so f3 2 - b i t sa d d e r sa r e i n t r o d u e di nt h ep a p e r o n ea d d e ri sa ni m p r o v e dc l aa n dt h eo t h e ri sb a s e do nk o g g e & s t o n e a l g o r i t h m t h el o g i cl e v e lo ft h ei m p r o v e dc l ac i r c u i ti so n l y3s t a g e s t h ec o n d i t i o n so fe a l r y p r o p a g a t i o na r ew e a k e n e da n do p e r a t i o nd e l a yi sr e d u c e d t h r o u g hs p i c es i m u l a t i o n ,t h es p e e d o ft h ea d d e ri sa b o u t3 2 0p s t h eo t h e ro n en e e d6s t a g e sc i r c u i tt or e a l i z et h e3 2 - b i t sa d d e r , w h i c hi s1 4 1 p ss l o w e rt h a nt h ef i r s to n e b u tt h ep o w e ra n da r e aa r em o r es u i t a b l ef o rt h ed e s i g n o f t h ex c p u c o n s e q u c e l yt h es e c o n do n ei sc h o s e n k e yw o r d :c p u ,a g u ,l i n e a ra d d r e s s ,c o r r e c t i o no fa d d r e s s ,j u d g m e n t o fs e g m e n tl i m i t , c s a 国防科学技术大学研究生院学位论文 图目录 图2 1 局部流水线示意图4 图2 2 段地址的组成。,6 图2 3 平滑模式下段映射机制,6 图2 4 有效地址的组合。,9 图3 1 比较器组间关系图+ 1 2 图3 24 位比较器结构图1 2 图3 3 传统的地址修正电路,1 3 图3 4 改进后的地址修正电路图,1 4 图3 ,5 和选择电路逻辑图,j 1 6 图3 6 组合c s a 电路图1 7 图3 74 位“加一”电路图,1 7 图3 8 变址移位逻辑1 8 图3 9 段界移位逻辑1 9 图4 11 6 一b i t s 超前进位加法器2 l 图4 2 加法器结构2 3 图4 3 进位信号传播路径,2 3 图4 4 时序关系图。2 4 图4 5 时钟树模型2 5 图4 6 和生成单元。,2 6 图4 7g 1 6 的电路结构,2 7 图4 8 半加和生成单元2 8 图4 9 加法器关键路径2 8 图4 1 0 逻辑图s p i c e 模拟波形2 9 图4 1 l 基于k o g g e s t o n e 算法3 2 位加法器3 0 图4 1 2 组内进位链路,3 1 图4 1 3p g 生成单元3 1 图4 1 4s o 级的电路结构,3 2 图4 1 5 组间产生p g 信号的动态门,3 2 图4 1 6 组间进位信号产生逻辑3 3 图4 1 7 和生成单元,3 3 图4 1 8 时钟信号产生电路3 4 国防科学技术大学研究生院学位论文 图4 1 9 时钟信号仿真波形, 图4 2 0 关键路径仿真波形( a 、b 、c 、d 、e 分别是c l k 、c l 、c 2 、c 3 和s u m 3 1 ) 图4 2 l 加法器关键路径延时、功耗比较图, 图5 1 线性地址的生成 图5 2 通用寄存器 图5 3 地址计算的数据通路 图5 4a g u 体系结构, 图5 5 版图设计流程, 图5 6g 4 的层次化版图绘制流程 图5 7d r c 流程图 图5 8 加法器全局电路图。 图5 9 版图的模拟波形 弘 踮 弘勰如甜北躬“蚯蛎 国防科学技术大学研究生院学位论文 表3 11 位数比较真值表 表3 2 组合c s a 输出信号表达式 表3 3 两种不同进位信号, 表目录 1 1 1 5 1 5 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:! 垡缝理墨地址进簋叠塞生塞垫 学位论文作者签名:! 亟盐塾日期:2 卿1 年j 五月;1 日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人投权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题日:! 邀矬堡墨地址盐篡丑窭生塞翌 学位论文作者签名 作者指导教师签名 日期:7 7 j , oj 年拉月51 日 日期:弓彩年驴月;目 国防科学技术大学研究生院学位论文 第一章绪论 高性能微处理器使用不同的存储管理方式,将逻辑地址映射到物理地址空间。这些方 式包括段式和页式管理机制等。存储管理技术使内核能够对存储器进行高效可靠的管 理,同时也为多个运行的程序创造一个和谐的存储环境,但是,灵活的可操作性也带来 了访存方式的多样性,导致在地址变换过程中访存时间增加。为减小访存时间,要求 种快速的途径实现地址转换。因此,在高性能处理器的流水线上,设计了专门用于执行 地址转换的功能部件,地址生成单元【1 1 ( a g u :a d d r e s sg e n e r a t i o nu n i o 。地址生成单元是存 储管理的关键组成部分,它的速度已成为影响流水线效率的关键因素之一。 1 1 课题的研究背景 当今世界,研制高性能处理器是各个科技大国在综合科技实力上竞争的个热点,我 国非常重视在这个领域的投入,每年微电子产业都以大于3 0 的增长率快速发展,但就 总体而言,这个产业仍处起步阶段,与国际先进水平相比差距甚远。产量小、产品技术 水平低,设计能力、制造技术、产品和市场开发都缺乏自主能力。微处理器虽然已有“方 舟”、“龙芯”等几种型号,但其性能和相关应用还无法与国外芯片竞争,总之国内所需微 处理器几乎全部从国外进口。技术上受制于人不仅仅是经济受损,而且对国家安全构成 严重的隐患。因此研制开发自己的微处理器,已经迫在眉睫。在这样的大背景下,我们 开始了一款通用高性能微处理器芯片x 微处理器的研发。 x 微处理器是一款高性能处理器,它的研制顺应了我国科技发展的需要。对这款芯片 的开发,无论在高性能微处理器的体系结构,还是深亚微米设计方法学等相关领域,都 将是一次非常有意义的探索。 随着工艺技术的进步和人们对高性能孜孜不倦的追求。新的微体系结构、基于新算法 和新工艺的逻辑和电路结构层出不穷,使微处理器的整体性能不断提高。因此在x 微处 理器研制中除了深入研究芯片的体系结构、各部分的逻辑和电路实现外,提出迸一步提 高性能的方法及逻辑和电路实现也是很重要,其目的是为今后自主研究更高性能的微处 理器提供技术储备。 我参与了x 微处理器执行部件的研制工作,负责地址生成单元的研究和设计。地址生 成单元是微处理器流水线的重要组成部分,x 微处理器的寻址方式非常丰富的,在芯片内 部,基址,变址,偏移量和段基址四个量如何并行计算,如何作越界判定都是需要研究 的课题;高效的电路设计是提高流水线效率的一个关键因素,提高加法器的速度,是提 高流水线的效率的有效途径。因此,为了设计出一个高性能的电路,要综合考虑各方丽 的因素。 第1 页 国防科学技术大学研究生院学位论文 1 。2 课题研究过程中完成的主要工作 本课题来源于x 微处理器项目。我负责执行部件区中地址生成单元的研究和设计工 作。课题研究过程中主要完成了如下工作: 1 研究实践了超深亚微米全定制c m o s 静态、动态电路及版图的设计方法,熟练掌 握了各种后端e d a 工具; 2 深入研究了x 微处理器线性地址计算的原理,地址生成单元及其各部分电路的逻 辑结构和工作机制,这些电路包括加法电路,地址修正电路,越界判断电路,变 址移位逻辑,段界移位逻辑,提出了进一步提高性能的方法和途径: 3 提出了一种在3 2 位访存模式下并行计算线性地址和有效地址,并能同时向1 6 位 访存模式兼容的设计方案,该方案被成功的用于x 微处理器。 4 提出了一种基于l i n ga d d e r 思想i t s 的改进的进位先行加法器,按照全定制的流程 实现了这个加法电路,改进后的加法器鲁在通过降低逻辑级数来减少延时,采用 弱化进位传播条件的方法,按照4 位一组的分组策略,实现了一个只需要3 级逻 辑的加法电路。通过s p i c e 模拟,它进行一次运算的时间为3 2 0 p s 。 5 提出了一种基于改进的k o g g e & s t o n e 算法的加法器,这种加法器采用8 位一组分 组策略,从计算每位操作数的进位产生信号g 和进位传播信号p 到“和”的输出 共需要六级逻辑,s p i c e 模拟的时间为4 6 6 皮秒,它的速度相对改进的进位先行 加法器不具有优势,但完全能够满足x c p u 的设计要求,而且这种加法器的功 耗和面积更小,灵活性更大。 1 3 论文的组织结构 本论文按照x 微处理器的研发流程,将内容划分为两部分。第一部分侧重对目标芯片 的研究和分析,第二部分提出改进建议,并加以实现。论文共分六章。 第一章为引言,介绍课题背景、相关知识、完成的工作、取得的成果。 第二章从系统的角度详细分析了线性地址计算的原理,其中涉及x 微处理器流水线结 构、存储管理、指令格式和有效地址计算等方面内容。 第三章介绍了x 微处理器的越界判断电路,地址修正电路,变址移位逻辑和段界移位 逻辑等模块的实现原理和电路结构。 第四章介绍了两种应用于地址生成单元内部的加法器,并讨论了它们的算法,电路特 征和逻辑结构,在此基础上比较它们的优缺点,给出了两者的比较结果,并最终选择其 一应用到工程当中。 第五章介绍了x 处理器的地址生成单元的整体框架,包括它的数据通路、工作机制、 版图设计和验证方法。 第2 页 国防科学技术大学研究生院学位论文 第六章为结束语,对课题工作做出总结,并对未来工作进行展望。 附录中提供了作者在硕士阶段文章发表情况。 在最后,将对给予我无私帮助的所有老师、同学和朋友表示感谢,并且给出本文的参 考文献。 第3 页 一里堕型堂垫查奎堂堑塞生堕兰堡笙奎 第二章x 微处理器存储管理概述 x 处理器是一款高性能通用微处理器 4 】,采用c i s c 9 1 结构,由指令控制部件、指令 c a c h e t l 0 川、数据c a c h e 、整数部件、多媒体处理部件、浮点部件和总线接口部件等组 成。本章将重点介绍x 微处理器流水线结构和线性地址计算方法。 2 1x 微处理器的流水线 x 微处理器使用两个3 2 位的a l u 来完成所有的整数运算和逻辑操作。因而能够支持 两条流水线的并行执行,我们分别称这两条流水线为a 流水线和b 流水线l 鄹。x 处理器 允许在1 个时钟周期内执行两条指令。这种指令并行方式要求指令必须是简单指令,且b 流水线总是接受a 流水线下一条指令。a 流水线能执行指令集的任何指令,包括指令前 缀:而b 流水线却不能,它只能执行“指令配对法则”中规定的简单指令。若连续的两 条指令不能配对,则只能使用a 流水线先后执行这两条指令。a ,b 流水线采用的是按序 发射,按序完成的调度策略。两个预取缓冲器,每个都是3 2 字节,负责由指令c a c h e 或主存取指令并缓存。指令译码器除完成译码指令外,还要完成指令配对检查。控制 r o m 包含组用于控制指令时操作顺序的微指令。以上三个部件被两条流水线共用。 两个地址生成器用于产生存储器操作数地址,各种工作模式下的逻辑地址最终要转换 成物理地址来访问数据c a c h e ,数据c a c h e 是双端口的,一个时钟周期能存取鼯个3 2 位数据。寄存器组有8 个3 2 位整数寄存器,用于地址计算、保存j 的源操作数和目 的操作数。 图2 ,1 是局部流水线示意图; 能缓冲两 地址计算 条指 图2 1 局部流水线示意图 第4 页 国防科学技术大学研究生院学位论文 x 微处理器的流水线分为6 段。分别为指令预取p f 段,由指令c a c h e 取指令,指 令长度是可变动的,存八一个预取缓冲器:第一级指令译码d 1 段,译码指令确认它的操 作码和寻址方式等有关信息;第二级指令译码d 2 段,计算并产生存储器操作数的地址: 执行站e x 段,主要在a u j 、桶形移位器或其他功能部件中完成指定的计算:写回站 w b 段,把指令执行结果写回目的寄存器。 指令译码段除完成指令译码外,还要完成指令配对检查和条件转移预测。经检查合格 的配对指令,由译码段同时发送给下一段,才真正开始两条流水线的并行工作。 2 2x 微处理器的分段部件 x 处理器的存储器管理提供了一种硬件机铕4 。程序不直接访问物理存储器,雨是访闯 存储器模型,称之为虚拟存储器。存储器管理由“段”机制和“页”机制组成。段机制 提供了多种独立的寻址空间。页机制是使用少量的随机存储器r a m 和磁盘去支持一个很 大的存储空间模型的存储管理机构。程序中使用的地址是逻辑地址。段机制把逻辑地址 转换到一个连续的,没有分段的地址空间,生成线性地址。页机制再把线性地址转换成 物理地址。 存储器可以被当作一个单一的、连续的地址空间,称为个线性地址空间,或者看 作一个个独立的存储空间,称为“段”,段可以指定用来专门保存程序代码,数据或堆 栈。段可以提高程序和系统的可靠性。比如,将一个程序的堆栈放在一个单独的段,就 可以阻止堆栈伸展进入代码或数据空间,并覆盖指令或数据。将操作系统或者可执行程 序的代码、数据、堆栈放进不同的段,也可保护它们,以免受到应用程序或者错误代码 的影响。 每个段有一个段描述符( s e g m e md e s c r i p t o r ) ,它保存了段的基址和段的大小信息。如 果偏移地址( o f f s e t ) 没有超出大小限制,并且没有其他情况禁止读段,则可由偏移地址和基 址相加组成线性地址。 如果c r 0 寄存器的第3 l 位被清零,线性地址能够被当作物理地址直接使用。这个寄 存器位控制了页机制的使用。如果该位被置位,则页机制会将线性地址转换成物理地 址。 如果多个段被使用了,它们可以被程序员看成是编程环境的一部分,但是页对于程 序员来说是不可见的。 最简单的存储模式是平滑模式。虽然没有专门的控制寄存器来关断段模式,但是可 以将所有段映射到一个线性空间达到平滑的目的。这样会导致所有存储器的操作都是针 对一个存储空间进行的。 在分段模式下,逻辑地址空间理论上可由1 6 ,3 8 3 个段的组成,每个段的寻址空间最 第5 页 一:= = 里堕型兰垫垄奎兰坚窒生堕堂堡迨塞 的逻辑地址空间映射到物理地址空间,应用程序员可以忽略逻辑地址到物理地址的映 射。分段模式的好处是能够单独控制对每个段的访问,也可以根据每个段空间的大小对 偏移地址进行检查。 如图2 2 所示,指向个段地址的指针包括两部分; 1 段选择符( s e g r n e n ts e l e c t o r ) ,是一个1 6 位的域 2 偏移地址( o 船e t ) ,是一个3 2 位的地址 图2 2 段地址的组成 处理器根据段选择符找到段的开始处的线性地址,这个地址叫做基址。程序基于基 地使用固定的偏移地址访问存储器,在不用改变地址的情况下,代码段能够调入存储 器。段的大小由程序员自己给定。 段寄存器( c s ,d s ,s s ,e s ,f sa n dg s ) 存放1 6 位段选择符。一个段选择符是一个 特殊的指针,它标示出了存储器内的一个段。为访问一个存储器内的特殊段,该段的段 选择符必须出现于适当的段寄存器。在平滑模式下,所有的段都映射到同一片物理存储 器: 图2 3 平滑模式下段映射机制 第6 页 = := := = = = = = :塑堂垫查奎兰堕窒生堕兰垒笙奎 在任何情况下,六个段寄存器都是可用的,每个寄存器都对应着特殊的访存。每个 寄存器指明一个正在被程序访问的段,其他的段如果要被访问只要把相应的段选择符存 入段寄存器。 每个段都有基址,一旦某段被选择,那么程序所要作的就是确定此偏移地址,这个 地址可能在指令中也可能在通用寄存器中。 2 3x 微处理器的线性地址生成原理 参与线性地址计算的数据是指令译码后得到的操作数的地址,一条指令的编码包括将 被执行的操作码,操作数以及操作数的地址。本节将首先从分析指令格式入手,逐步深 入对线性地址生成原理的讨论。 2 3 1x 微处理器的指令格式 一条指令能够有不同的格式。指令的各个组成部分在下面做了描述。在这些部分中, 只有操作码是必须要有的。其他部分是否出现取决于所要做的操作和操作数的类型及访 问方式。按照各部分出现的次序,具体描述如下: 前缀:一个或几个字节放在指令之前,用以修改指令的操作; 操作码:指定指令进行哪种操作,某些操作有几种不同的操作码,每个操作码指 定这种操作的不同形式; r e g i s t e rs p e c i f i e r :一条指令能够指明一个或两个寄存器操作数。喇s t e rs p e c i f i e r 可能出现在操作吗中,也可能出现在a d d r e s s i n g - m o d es p e c i f i e r 中; a d d r e s s i n g m o d es p e c i f i e r :指明一个操作数是存放在寄存器还是存储器里面,如 果在存储器内,则要指明偏移量,基址寄存器,变址寄存器,比例因子; s i b 字节( s c a l e ,i n d e x ,b a s e ) :当a d d r e s s i n g m o d es p e c i f i e r 指明使用变址寄存器计 算地址时,s i b 被加入指令中,它由比例因子,变址寄存器和基址寄存器组成: 偏移量:当a d d r e s s i n g m o d es p e c i f i e r 指明使用偏移量计算地址时,偏移量被加入 指令中。偏移量可以是3 2 位,1 6 位或8 位的有符号整数: 立即数:直接提供操作数的值。立即数可以是字节,字或双字。当个8 为长的 立即数与一个1 6 位或3 2 位的操作数同时使用时,处理器会将8 位立即数扩展为 个符号和值不变但长度增加的整数。相同的情况也出现1 6 位操作数与3 2 位操 作数之间; 2 3 2 操作数的选择 条指令的操作数个数可以为零或多个。操作数能够被放嚣在如下位置: 在指令中( 立即数的形式) 第7 页 = := := = = 塑堂垄查奎堂里壅圭堕堂垡堡奎 中;1 6 位操作数可以存放在a x ,b x , c x ,d c ,s i ,d i ,s p ,b p ;8 位操作数可以存放 在a h ,a l ,b h ,b l ,c h ,c l ,d h ,d l ;段寄存器;e f l a g s 寄存器) 。如果缺省条 件下操作数长度为3 2 位,在使用1 6 位寄存器操作数时,需要使用1 6 位操作数 前缀。 在存储器中 在i o 端口中 寄存器搡作数和立即数能够被处理器直接使用,存储器操作数的存放在片内c a c h e 中能够被多数指令快速访问。 某些指令隐含的指明操作数,有些是明确的指明操作数,还有则是这两种都有。条 指令可以明确指明一个或两个操作数。两操作数指令,如m o v , a d d 和x o r ,通常将结 果保存在一个操作数中。这种情况有别于源操作数和目标操作数分离的指令。 对于大部分指令,两个明确指明的操作数中的一个( 源操作数或目标操作数) 可以是 寄存器类型或存储器类型,但是另一个必须是寄存器类型或立即数。这种约束将两操作 数指令分为下面五类: 寄存器到寄存器 寄存器到存储器 存储器到寄存器 立即数到寄存器 立即数到存储器 个别的字符串指令和栈操作指令是将数据从存储器传输到存储器。一些字符串指令的 两个操作数都存放在存储器中并且都是隐含的给出。p u s h 和p o p 操作可以在存储器操 作数和基于存储器的栈之间进行数据传输。 指令中如果存在显示给出的操作数,则必须提供该操作数的段地址和偏移地址。一条 指令的第一个字节放置了段取代前缀,该前缀用来指明段寄存器。如果没有专门指明, 则使用缺省值。大部分指令在有访存的情况下,会在操作码之后放置一个字节的信息用 来指明操作数的寻址方式,这个字节叫做m o d r j m 字节,它会指出操作数在存储器中还 是在寄存器中。如果操作数在存储器中,它的地址通过计算段寄存器和任何下面的值得 到:基址寄存器,变址寄存器,比例因子,偏移量。当使用变址寄存器时,m o d r m 后面 跟着另一个字节s i b 用来指明变址寄存器和比例因子。 2 3 3 有效地址计算 m o d r m 字节提供了大部分的可行的寻址方式。指令集中,在操作码后加上m o d r m 字节的指令是最常见的。对于一个由m o d r j m 字节给定的存储器操作数,它的段内偏移 地址是下面四个部分的计算之和: 第8 页 = = := := := = = 型兰垄查奎兰婴塞竺堕堂垡笙壅 基址寄存器 变址寄存器 比例因子( 变址寄存器能够乘以因子2 ,4 或8 ) 由这些量相加组成的偏移地址叫做有效地址。这样的每个量的值可正可负,除了比例 因子以外。图2 4 分析了有效地址计算的所有可能组合: 因为偏移量编码在指令中, 简单标量的位置 静态数组的起始位置 记录内部的偏移地址 基址和变址有相同的功能。 来寻址。比如: 图2 4 有效地址的组合 这对相对地址是很有用的,比如 它们使用同一组通用寄存器,都可以在程序执行过程中用 过程参数和本地栈内变量的位置 同时出现的几个相同类型记录中的或记录数组中的某一个记录的起始位置 多维数组中的某一维的起始位置 动态数组的起始位置 基址,变址和偏移量能够被任意组合。它们中的任意一个可以为空。只有当使用变址 时才会使用比例因子,每种可能的组合对于通常被高级语言或汇编程序员使用的数据结 构是有用的。以下是x 处理器可能的组合情况: 偏移量( d i s p l a c e m e n t ) 一个单独位移量,代表到该操作数的一个直接偏移。因为偏移量编码于指令当中, 这种格式的地址有时被称为一个绝对地址或静态地址。通常它被用于访问一个静态的标 量操作数。 。 基址( b a s e ) 第9 负 国防科学技术大学研究生院学位论文 一个单独的基址,表示到该操作数的一个间接偏移。既然基址寄存器内的值能够改 变,它就能被用于动态存储变量和数据结构。 b a s e + d i s p l a c e m e n t 基址寄存器和位移量一起使用带来了方便之处: 1 ) 当元素长度不是2 ,4 ,8 字节时可作为一个数组的序号。该偏移量成分编码了数 组起始位置的静态偏移。基址寄存器保留计算结果,以决定在该数组内个特定元素的 偏移 2 ) 方便访问记录的某个域。基址寄存器保留该记录开始处的地址;同时偏移量是该 域的一个静态偏移。这种组合的一个重要的特殊情况是在一个过程激活记录( a p r o c e d u r ea c t i v a t i o nr e c o r d ) 中访问参数。一个过程激活记录是当进入一个过程时创 建的堆栈( s t a c k ) 。这里,e b p 寄存器对基址寄存器而言是最好的选择,因为它自动选择 堆栈段。对于这种通用功能而言,这是一种紧凑的编码。 ( i n d e x + s c a l e ) + d i s p l a c e m e n t 当数组元素长度不是2 ,4 ,8 时,这种地址模式为寻址一个静态数组提供了一种有 效的途径。偏移量对数组的起始处定位,变址寄存器保留所找元素的下标,处理器会自 动提供应用比例因子将下标自动转换为一个变址值。 b a s e + i n d e x + d i s p l a c e j l l e n t 同时使用两个寄存器,以支持或者一个二维数组( 偏移量保存数组起始地址) ,或 者一个数组记录的一个或几个实例( 偏移量是到该记录内一个域的偏移) 。 b a s e + ( i n d e x + s c a l e ) 十d i s p l a c e m e n t 当数组元素长度是2 ,4 ,8 字节时,如果同时使用所有的寻址组成部件,那就允许 有效地对一个二维数组进行变址。 除了以上几种情况,x 微处理的寻址方式还包括立即数寻址、寄存器寻址和相对寻 址。立即数寻址是指操作数在指令中,寄存器寻址是操作数在某寄存器内,指令给出相 应的寄存器号。相对寻址是指令地址通过p c 寄存器的值与偏移量相加得到,但是这三种 寻址方式都不由地址生成单元实现。 2 4 本章小结 本章首先介绍了x 微处理器的流水线和分段部件的结构,然后通过对指令格式,选择 操作数和有效地址计算等几个方面的讨论,深入阐述了线性地址计算的原理,从中可以 看出,线性地址是段基址、基址、比例变址和偏移量四个量在不同的组合方式下相加得 到的。下面的章节中将介绍地址生成单元是如何实现线性地址计算和越界判断的。 第1 0 页 国防科学技术大学研究生院学位论文 第三章a g u 单元电路设计 线性地址生成单元的主要功能是计算线性地址和越界判断,各子模块的设计也就围绕 这两个功能实现,其中,加法电路是地址计算的核心,将在第四章作详细介绍,本章将 介绍其它模块的电路设计。 3 1 越界判断电路 地址生成单元除了计算线性地址以外,还有一个重要的功能就是处理越界判断。将有 效地址( e 虢c t i v ea d d r e s s ) 和段界( s e g m e n tl i m i t ) 两组数据输入到一个3 2 位的比较电路,得 到一位输出信号,如果信号为低表示有效地址的值大于段界。 我们先从1 位数的比较研究比较器的原理。比较a 、b 两个1 位数的大小,用真值表 的形式表示a b 时得到表3 1 ,据此,设逻辑函数,( a ,础表示a 大于b ,则这个函数可 表述为,( a ,b ) = 庙。 匡鍪豳l 夔鍪遴鎏薹篓i 鬻i 瓣l l 厂i i 0 0 l0 1o1 11 0 表3 11 位数比较真值表 可见如果比较的数据扩展到3 2 位,若要求( ,b ) 成立,则存在第i 位,满足a i m b i = o ( o f 句) ,严日f ( i 第1 组 第2 组= 图3 1 比较器组间关系图 比较结果 如图3 2 所示,这是一个4 位比较器模块,它有两个输出信号,同为低有效。其中一 个输出信号表示a 等于b 关系,另一个信号表示a 大于b 关系。它们不能同时有效,这 是基本的约束条件。在这个4 位比较器中,将判断两组数据相等关系的逻辑从判断大于 关系的逻辑中独立出来,是出于提高比较速度的考虑。因为判断两组数据相等只需要三 级逻辑,相对判断大于关系少用了一级逻辑,所以相等关系的输出信号比大子关系的输 出信号能够更早获得,当确认当前模块两组数据相等时,需要引入低四位的结果作为进 一步判断的依据。 a 一+ t b 。 a + 2 b + : a ,+ , b ,+ , 图3 24 位比较器结构图 第i 2 页 综上所述,比较电路在组内和组间都采用了一些措施来提高效率,其中包括分组比 较,组内比较两组数据的等于关系和大于关系,这些措施很大程度上加快了比较的速 度,是高效可行的方法。 3 2 线性地址修正电路瞳9 3 a g u 是存储管理的关键组成部分,其运算得到的结果是有效地址和线性地址,这个 操作可用以下公式表示: e f f e c t i v ea d d r e s s = d i s p l a c e m e n t + b a s e + i n d e x + s c a l e l i n e a r a d d r e s s = s e g m e n t + d i s p l a c e m e n t + b a s e + l n d e x + s c a l e 地址产生单元在处理器的关键路径上,其运算速度直接影响到处理器的速度。由上面 的公式可知,计算线性地址需要分两个阶段,第个阶段计算有效地址,第二个阶段计 算线性地址。传统访存电路1 2 5 采用串行的方法计算线性地址。其电路图如图3 , 3 所示。 l 3 l :0 】 图3 3 传统的地址修正电路 按照图3 3 的描述,串行的计算有效地址和线性地址,势必会影响处理器的速度。并 且在地址生成过程中还需要考虑向1 6 位兼容的问题,即控制有效地址的高位有条件的向 线性地址传播,因此,我们不但要求并行计算有效地址和线性地址,以提高速度,而且 要能够修正任何因为这种并行计算导致的错误。 图3 - 3 中,第一步将基址,变址和偏移地址相加得到有效地址。在此基础上,传送有 效地址的低十六位到下一级加法器,而高十六位被送到一个屏蔽电路,该电路有两个输 入,它的另个输入是从外部进来的屏蔽信号( 访存模式控制信号。籀述符的d 位,该 信号与指令的地址长度取代前缀有关) ,如果该信号有效,则输出为1 6 位的金0 信号, 反之,输出为原肓效地址的高十六位信号。屏蔽电路的输出与有效地址的低十六位作为 第1 3 页 国防科学技术大学研究生院学位论文 第二级加法器的输入,与段基址相加得到线性地址。从上面的分析看出,在1 6 位访存模 式下,屏蔽电路保证不会有进位产生和传递,但是,这个修正电路需要三步才能计算出 线性地址,随着处理器速度的提高,这种依次计算有效地址和线性地址的电路结构已经 不能满足时延的要求。因此,必须提出一种能够同时计算有效地址和线性地址,并支持 1 6 位或3 2 位访存的电路结构来适应处理器的发展。 图3 4 是改进后的修正电路: l a 图3 4 改进后的地址修正电路图 改进后的电路要求能够并行计算有效地和已修正的线性地址。未修正的原因是当 a g u 处于1 6 位访存模式下时,有效地址的低十六位产生或传递了一个进位,这个进位 被高十六位接受,使得到的线性地址偏离了实际值。如果未修正的线性地址是正确的, 其值应该等于有效地址与段基址的算术和。线性地址是否需要修正,决定于一个选择逻 辑的判断,多路选择开关根据判断的结果输出数据,从而获得正确的线性地址。 在以下的描述中,引入“位逻辑”的概念。“位逻辑”被定义为完成某位运算的所有 逻辑。 这个电路各部分互相关联,其中包括并行接收操作数的组合c s a ( 进位保留加法 器) ,两个加法器,和选择电路,多路选择开关以及“加”逻辑。其中“加一”逻辑 的功能是将段基址的高十六位加1 输出。作为组合c s a 输入的四组值分别为基址,变 址,偏移和段基址。如图3 6 所示,组合c s a 是由两级串连的3 :2 c s a 组成,从外部看就 形成了一个3 :2 4 :2 c s a 。组合c s a 并行接收四组信号,这些输入信号通常是3 2 位,但 是在1 6 位访存模式下基址,变址和偏移量只有1 6 位。组合c s a 的输出同样为四组信 号:e _ s u m 3 1 :0 ,z _ c a r r y 3 1 :0 ,l s u m 3 1 :0 ,l c a r r y 3 1 :0 ,这些信号的逻辑表达 式如表3 :2 所示: 第1 4 页 信号 逻辑表达式 e s u m i a l i x o r a2 f x o r o3 i e c a r r 弭【 ( 口l ,x n o r a l j ) 口l 川( 口l ,x o r a2 ,) 口3 , 口1 ,x o d2 ix o r a3 ix 0 月口4 1x o r c 。 ls u m i 4 ,x o r a l ix o r a 2 ix o r a3 i ) t i l l l c a r r y + 1 ( a4 i x n o r a l i x t c o r a 2 i x n o r a3 i ) a4 , ( 口1 卜i x n o r a 2 i 1 ) 盎口1 f 一1 i i q l i 一1 x o r a 2 i l 坶口3 f l 表3 2 组合c s a 输出信号表达式 其中a i ( i = 1 ,2 ,3 ,4 ) 分别代表基址,变址,偏移和段基址。从组合c s a 出来的四组值分别 送到两个加法器,并行计算有效地址和线性地址,这与图3 3 描述的传统电路不同。然 而,在1 6 位访存模式下,需要考虑对并行计算得到的线性地址进行修正,这是因为得到 的结果可能有错,比如,当基址,变址和偏移相加后产生或传递了一个进位信号,这个 进位信号理论上应该被屏蔽的,实际上却传向了线性地址高十六位,从而导致得到的线 性地址错误。这种情况下,向高位传递的进位称为“坏”的进位,如表3 3 所示,好的进 位不影响结果,“坏”的进位需要修正。 “坏”进位“好。进位 输入 1 7 1 61 51 41 7 1 61 51 4 a l00100010 a 20o1oo00o a 30 000 0 0o0 a 401100110 u l a1o1o1o0o e a00oo0010 a 4o1】001】o l a0110100o e = 0l = 0u = 0e = ol = 0u 皇l 表3 3 两种不同进位信号 在1 6 位访存模式下,第1 5 位的基址,变址和偏移相加后产生的进位信号 ec a r r y l 6 ,理论上可以屏蔽,但是这将导致增加了一级逻辑,从而带来延时。在并行 计算有效地址和线性地址时,通过组合c s a 的输出信号lc a r r y l 6 ( 以下用u 信号表 示) 发现第1 5 位逻辑的基址,变址,偏移和段基址四个量的和是否传播了一个进位是不 可能的。如表3 3 所示“坏”进位的情况,以上四个量相加得到了一个进位信号,但是信 号u 为低。相反,通过监视计算有效地址的第一个加法器低十六位进位的输出信号e , 在线性地址计算初期发现这个传递是可能的。我们始终假定有效地址加上段基址产生一 个进位输出到第1 6 位的线性地址,如果这样假定是错的,得到的线性地址将被修正。 回到图3 4 ,组合c s a 产生的两组信号es u m 3 1 :0 3 ,? ec a r r y 3 1 :o 撤送到第一个 第1 5 页 国防科学技术大学研究生院学位论文 加法器,计算有效地址。此外,信号e ( 有效地址低十六位的进位信号) 被传送到和选择 电路,用来判断线性地址的计算是否产生了一个“坏”进位。 与第一个加法器情况相似,第二个加法器接收了ls t y 3 1 :0 1 ,lc a r r y 3 1 :0 1 两组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-湖北-湖北收银员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北保健按摩师四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-海南-海南垃圾清扫与处理工五级(初级工)历年参考题库含答案解析
- 2025年绿色金融债券市场发行风险控制与投资策略分析报告
- 2025年事业单位工勤技能-河南-河南计算机信息处理员一级高级技师历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-河南-河南热处理工二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-河南-河南护理员三级(高级工)历年参考题库典型考点含答案解析
- 2024版重组的婚姻离婚协议书
- 2024版合同管理优化建议
- 2025年事业单位工勤技能-河北-河北水工监测工四级(中级工)历年参考题库含答案解析(5套)
- 2024年云网安全应知应会考试题库
- 风电场投资财务模型构建
- 高层建筑火灾扑救
- 香港中文大学博士英文复试模板
- 南京大学介绍
- DL-T-255-2012燃煤电厂能耗状况评价技术规范
- 【视频号运营】视频号运营108招
- 幼儿园拍摄技巧培训
- (正式版)JBT 14682-2024 多关节机器人用伺服电动机技术规范
- 村社区干部任职培训课件
- 2024年个人车位使用权转让协议书(通用)-(含多款)
评论
0/150
提交评论