




已阅读5页,还剩56页未读, 继续免费阅读
(计算机系统结构专业论文)8087协处理器运算电路和接口电路的设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 i n t e l 公司的8 0 8 6 8 0 8 8 的数值协处理器扩展( 8 0 8 7 ) 芯片8 0 8 7 是专门应用于 数值数据的处理器尤其是针对浮点数据的处理而增加的专门部件。其主要应用 于科学计算、数字信号处理、金融及国防等领域。 本文详细讨论了8 0 8 7 的指令系统,所采用的数值系统以及它的体系结构;在 对8 0 8 7 电路剖析的基础上,综合考虑浮点运算单元( f p u ) 设计的特点下,采用 了指数和尾数两条数据通道,设计了运算单元电路和接口电路,并给出了电路模 块的具体功能。设计中对内部模块电路进行了详细的划分使得各个模块设计能 够单独作为一个独立的电路功能使用,较好的实现了该设计可以作为嵌入式系统 使用,也提高了以后设计的兼容性。整个电路设计用v e r i l o g h d l 语言实现,用 m o d e l s i m 进行仿真验证。 关键字:8 0 8 7 协处理器,c o r d i c 算法,运算电路,接1 2 1 电路,v e r i l o g h d l a b s t r a c t t h ei n t e l8 0 8 7m a t hc o p r o c e s s o ri sa ne x t e n s i o nt ot h ei n t e i8 0 8 6 8 0 8 8 m i c r o p r o c e s s o ra r c h i t e c t u r e i ti sas p e c i a lu n i tt op r o c e s sf l o a t i n gn u m b e r i th a sb e e n w i d e l yu s e d i ns c i e n t i f i c r e s e a r c h ,d i g i t a ls i g n a lp r o c e s s i n g ,f i n a n c e a n dn a t i o n a l d e f e f l s ef i e l d sa n ds oo n t h e p a p e r d i s c u s s e st h ei n s t r u c t i o ns e to f8 0 8 7m a t hc o p r o c e s s o ri n d e t a i l ,n u m e r i cs y s t e ma n di t sa r c h i t e c t u r e i nt h i sp a p e r , w ea n a l y s et h ea r c h i t e c t u r eo f c i r c u i t sa n dt h ef e a t u r e si nt h e d e s i g no ff l o a t i n gp r o c e s s o ru n i t ( f p u ) w ed e s i g n t h eo p e r a t i o nc i r e u i t sa n di n t e r f a c ec i r c u i t sw i t ht h ed o u b l ed a t a p a t h so f b o t hi n d e xa n d m a n t i s s a i nt h ed e s i g n ,w ed e v i d ei n n e rm o d e li n t os o m es e p a r a t em o d e l si nf o u n c t i o n s oe v e r ym o d e lm a ya c c o m p l i s ho n ea b s o l u t ef o u n t i o ni no r d e rt ou s ei ta sa n e m b o d d e ds y s t e ma n di tw i l li m p r o v ec o m p a t i b i l i t yo ft h ed e s i g n t h ew h o l ec i r c u i ti s p r o g r a m m e di nv e r i l o g h d l ,s i m u l a t e da n dv e r i f i e di nm o d e l s i m k e y w o r d :8 0 8 7m a t hc o p r o c e s s o r ;c o r d i ca r i t h m e t i c ;o p e r a t i o nc i r c u i t ;i n t e r f a c e c i r c u i t ;v e r i l o gh d l 创新性声明 1 0 0 6 0 7 6 泰人声明所呈交的论文是我个人在导师指导下的研究工作及取得的研究成 榘尽我所知,除了文中特别加以标注和致谢所罗列的内容以外,论文中不包含 其他人已经发表或撰写过的研究成果:也不包含为获得西安电子科技大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均己在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:王亟= 迦日期:三:! :7 关于论文使用授权的说明 本人完全了解西安电予科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属于西安电子科技大学。本人保证 毕业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复印手段保存论文。( 保密的论文 在解密后遵守此规定) f 奇 同期:塑:! ! z 闩期:地垒。! :z 第一章绪论 第一章绪论 1 18 0 8 7 数值协处理器的研究目的和意义 本论文选题来源于国防科技预研项目对1 n t e l8 0 8 7 协处理器的仿制设 计。浮点处理器( f l o a t i n g - - p o i n t - p r o c e s s o r - u n i t 简称f p u ) 应用领域十分广泛, 涉及到航空航天领域,譬如,飞控、导航、卫星的遥感、遥测等;涉及到信号处 理领域,包括数字滤波、自适应滤波、f f t 变换等;涉及到机器人领域的实时语 音、图像信号处理等领域;涉及到金融领域的指数运算,比如计算利息中的复利 等等。 随着我国现在化进程的加快,对各种包括浮点部件的微处理器的需求越来越 大。但是,我国浮点处理器的研究刚刚起步,尚未出现真正的产品,大多数要考 进口来满足同益追切的需求。进口浮点处理器不仅在可靠行和安全行得不到保障, 而且还会造成工农业、军事等方面的发展受制于人,因此,研究开发具有自主知 识产权的浮点处理器显得十分重要。 i 2 国内外f p u 的发展历史 1 9 6 4 年,i n t e l 公司的创始g o r d o nm o o r e 预言:集成电路( i c ) 的集成度每 1 8 个月将提高一倍,这就是r r 界著名的“摩尔定律”。浮点处理器的发展也是十 分迅速,在计算精度和计算速度等各方面有了质的飞跃。这种飞跃与c p u 的发展 一脉相承,息息相关。目前,只有美国的少数几家大公司掌握着最先进的微处理 器设计和生产的技术,垄断着整个世界的微处理器的市场。所谓的f p u 的发展史。 实际上就是这些公司微处理器产品的更新换代史。 8 0 8 7 推出不到4 年,i n t e l 于1 9 8 3 年又推出8 0 2 8 6 1 2 p u 的数值协处理器8 0 2 8 7 , 没有与i e e e 7 5 4 标准兼容。工艺仍然是n m o s ,主频和功耗等性能与8 0 8 7 基本 相同。8 0 2 8 7 与8 0 8 7 使用相同的计算内核,实际计算速度也相同,而且有时由于 c p u 与协处理器的通信开销,造成8 0 2 8 7 比8 0 8 7 有的速度更低。于是,i n t e l 在 1 9 9 0 年推出了第二代8 0 2 8 7 8 0 2 8 7 x l 。该处理器基于8 0 3 8 7 的计算内核,与 i e e e 7 5 4 标准完全兼容,指令执行速度更快。基准测试下,8 0 2 8 7 x l 比8 0 2 8 7 快 5 0 。8 0 2 8 7 x l 采用了c m o s 工艺,主频可以达到1 2 5 m h z 时,功耗是n m o s 工艺的8 0 2 8 7 的四分之一。同时a d m 推出了8 0 c 2 8 7 ,采用于8 0 2 8 7 一样的微码 2 8 0 8 7 协处理器运算电路和接口电路的设计 ( m i c r o c o d e ) ,因此与8 0 2 8 7 完全兼容,性能上要稍微差一些。c y r i x 推出了8 0 2 8 7 的兼容版本8 2 s 8 7 ,l i t 推出了2 c 8 7 。所有这些8 0 2 8 7 兼容的协处理器都是采用 的8 0 3 8 7 兼容的计算内核,只不过稍微进行了修改。8 0 8 7 和8 0 2 8 7 系列都采用1 6 位数据总线接口,限制了数据传送的速度。 1 9 8 6 年,i n t e l 推出了8 0 3 8 6 的协处理器8 0 3 8 7 ,总线接口扩大为3 2 位,且 于i e e e 7 5 4 标准兼容。采用1 5 微米c h m 0 8i l l 工艺,最大工作频率达到2 5 m h z , 相应的最大功耗却只有1 9 5 0 m w ;。1 9 8 9 年第二代8 0 3 8 7 数值协处理器一一 8 0 3 8 7 d x 面世,采用i m e l 更先进的低功耗c h m o sw 工艺,最高王作频率达到 了3 3 m h z ,而相应的最大功耗降为1 2 5 0 m w 。同样主频的情况下。8 0 3 8 7 d x 平均 比8 0 3 8 7 快了2 0 ,而实际醪多指令执行要快的多,比麴超鹳垂数嚣簿鬻令快了 2 6 。8 0 3 8 7 d x 开始支持与c p u 的异步操作,即其内部可以采用与c p u 宠金不 同的时钟,灵活性加大。随后又推出了适应不同用途的版本,比如8 0 3 8 7 s x 和 8 0 3 8 7 s l 等。8 0 3 8 7 系列的协处理器设计技术比较成熟,兼容版本也比较多,有 c y n x 的f a s m a t h8 3 d 8 7 处理器、e m c 8 7 、f a s m a t h3 8 7 + 、f a s m a t h8 3 s 8 7 等处理 器。u l s i 的8 3 c 8 7 和8 3 s 8 7 处理器,c & t 的s u p e r m a t h3 8 7 0 0 d x 和3 8 7 0 0 s x 处理器等。值得一提的是w e i t e k 公司的w t l 3 1 6 7 ,它没有仿制i n t e l 的8 0 3 8 7 , 但是却比8 0 3 8 7 d x 性能更好。虽然3 8 7 系列比以往的处理器性能要好的多,但整 个体系结构并没有大的变化,浮点计算内核的功能基本末变,仅执行速度有了显 著的提高。 :1 9 8 9 年i n t e l 推出的4 8 6 d x 标志着浮点处理器发展的一个飞跃。i n t e l 4 8 6 d x 功能上包含一个c p u ( 采用高度流水方式实现) 和一个片上f p u ( 增强的3 8 7 ) 。 由于片上 f lu 梢髂了昂贵的c p u 与f p u 通信开销,丽且可以共享罚片的c a c h e 和高度流水部件,使,f p u 能以硬件允许的最大速度工作从德使浮蔗计算性能较 同主频的8 0 3 8 7 d x 提高了3 4 倍。与3 8 7 系列相比较,4 8 6 d x 韵1 f p u 除了性能 更好以外,超越函数的计算精度也提高了,而且在运行时间很长的浮点指令执行 的过程中,允许被产生的中断终止,可以获得比较短的中断响应延时。i n t e l 还推 出了4 8 6 d x 2 、4 8 6 s x 的协处理器4 8 7 s x ,浮点部分与4 8 6 d x 建毒本相同。4 8 6 系 列处理器最高外部主频达到了1 0 0 m h z 。a m d 很早就开始设计制造4 8 6 兼容的 处理器,最好的版本是5 k 8 6 ,主频可以达到1 3 3 m h z ,性能接近9 0 m h z 的p e n t i u m 。 此外,还有兼容的c y r i x5 x 8 6 、w e i t e k 的w t l 4 1 6 7 ,兼容4 8 6 系统,实际应用中 浮点计算性能比4 8 6 高1 0 以上。到4 7 8 d x 为止,真正的浮点处理器的计算内 核并没有实质性的改变,只是运算精度和速度有所提高。变化较大的是浮点处理 器的外部控制逻辑。 9 0 年代,受r j s c 思想的影响,i n t e l 抛弃了x 8 6 系列的处理器,定义了具有 第,章绪论 很多r i s c 特点的p e n t i u m 结构。并于1 9 9 3 年3 月推出了采用r i s c 结构的第五 代c p u - - p e n t i u m ,采用了流水线的超标量执行技术,浮点单元也是流水实现。 浮点单元内设置了单独的乘法器和除法器,数据接口扩大到了6 4 位,但其内部运 算执行单元仍旧采用8 0 3 8 7 的设计思想,对其本身和与其他部件的集成而言,缺 乏很多重要的特征。p e n t i u m 与同档次的a m dk 5 和c y r i x6 x 8 6 ( 代号为m 1 ) 相 比,在商业应用方面性能价格比上不占优势,但它的浮点性能要高于其他两种产 品。t 9 9 7 年1 月,推出了p e n t i u m m m x ,采用o 3 5 微米c m o s 工艺,片上集成 了4 5 0 力个晶体管,最高工作频率达到了2 3 3 m h z 。这是i n t e l 推出的“增强型” 第五代c p u ,内含有先进的多媒体处理的m m x ( m i c r o p r o c e s s o r m e d i a e x t e n s i o n , 多媒体增强指令集) 技术。浮点单元与m m x 部件共用同一组寄存器,但浮点运 算并没有做很大的变化。p e n t i u mm m x 在运行一般应用程序时也比p e n t i u m 要快 1 0 到2 0 左右,而在运行采用m m x 指令编写的应用软件时速度提高的幅度最 大,可达3 0 0 。1 9 9 7 年9 月,i n t e l 又推出了体积更小、功耗更低的第二代p e n t i u m m m x ,代号为t i l l a m o o k ,采用的生产工艺是i n t e l 先进的o 2 5 微米制造技术。从 而使c p u 的内核电压从2 5 v 降为1 8 v ,进一步降低了芯片的功耗。c e n t u a r 推 出了w i n c h i pc 6 ,内含m m x 技术,达到了p e n t i u m 的性能。 1 9 9 5 年1 1 月,i n t e l 推出的第六代处理器- - p e n t i u mp r o ,不再是3 8 6 的膨胀版 本,而是实现了r i s c 内核,用r i s c 指令对3 8 7 指令集进行模拟的版本。它采用 了动态执行结构,将乱序执行和猜测执行与寄存器重命名和转移预测相结合。有 了较高的性能,但浮点单元没有什么多大的改进。最高主频是2 0 0 m h z ,工艺仍 然是o 3 5 微米,但在1 6 位应用场合下性能不佳。紧接着i n t e l 推出了p e n t i u mi i , 它的结构与p e n t i u mp r o 类似,但主频更高了,采用o 2 5 微米工艺,最高主频达 到了5 0 0 m h z ,该芯片的1 6 位与3 2 位的性能同样出色。由于采用了动态执行结构, 浮点性能也提高很大。4 0 0 m h z 的p e n t i u mi i 达到了o 4 g f l o p s 。浮点单元的结 构仍固定为加法器、乘法器、除法器并行的流水样式,没有大的改变。同时,出 现了兼容的第六代处理器a d mk 6m m x 和c y r i x 6 x 8 6 m x ( 代号为m 2 ) ,它们的 浮点性能比p e n t i u mi i 要差。后来的a m dk 6 i i 应用最新的3 d o w n 技术,使应 用中的浮点性能大大提高,a m dk 6 1 1 3 3 3 的浮点运算性能最高可达到1 3 3 3 g f l o p s ,a m d k 6 i i3 0 0 的浮点运算性能也可以达到1 2 g f l o p s ,比p e n t i u m i l 4 0 0 的浮点运算性能还高出三倍。 1 9 9 9 年,a d m k 7 和p e n t i u m l l l 处理器作为第七代c p u ,主频已达到了1 g h z , 目前p e n t i u m l v 的主频达到了2 g h z 多。k 7 开始采用的o 2 5 微米工艺,后来改为 o 1 8 微米的工艺而p e n t i u mi i i 采用的是o 1 8 微米工艺。k 7 提供了完全平行的 不少于3 条的乱序f p u 流水线,浮点性能比同主频的p e n t i u m i i i 要好。他们的注 4 8 0 8 7 协处理器运算电路和接口电路的设计 意力主要放在提高多媒体技术处理能力上,减少m m x 指令与浮点指令工作切换 的速度,对f p u 本身并没有作大的调整和改进。 总之,c p u 的发展经历了7 代,由4 位机器发展到3 2 位机器,但是f p u 的 发展仅仅经历了两代:第一代是最早的8 0 x 8 7 和8 0 4 8 7 ,采用的是串行执行结构: 第二代采用的是流水的并发执行结构,即p e n t i u m 结构处理器下的浮点单元。而 功能上改变不多,基本上都是与i e e e 7 5 4 标准兼容。 由于种种原因,国内对浮点处理器的研究较少,也没有进行计算机算术的专 门研究,目前只有7 7 1 所在进行浮点r i s c 的研究和开发工作,并且是属于专用 浮点部件的研究。 1 3i n t e l8 0 8 7 的功能与结构 8 0 8 7 与8 0 8 6 8 0 8 8 结合在一起构成了数值处理器( n d p ) ,能够处理8 位、 1 6 位、3 2 位以及6 4 位的二进制整数;1 8 位的b c d 整数;3 2 位、6 4 位及8 0 位 的浮点实数。在8 0 8 7 内部,所有的数据都是以8 0 位宽的临时实数格式表示,这 也是1 8 0 8 7 能够提供精度结果的主要决定因素。 8 0 8 7 的取数和存数指令,实现操作数类型的自动转换,这种转换过程对程 序员来说是完全透明的。8 0 8 7 的内部包括8 个8 0 位宽的数值寄存器,4 个专用寄 存器,它们是1 6 位的控制寄存器、1 6 位的状态寄存器、3 2 位的指令指示器和3 2 位的数据寄存器。8 0 8 7 中的所有计算都集中在8 个8 0 位的寄存器堆栈中进行, 指令可以隐含地访问栈顶的一个或者栈顶和次栈顶两个单元,也可以显式地指出 所要访阔的寄存器,这种访问方式是相对于栈顼进行的。 8 0 8 7 的直接算术运算部件是适用8 0 位临时实数的指数加法器和尾数加法 器,加减法之外的所有算术运算都是经加减法迭代而成的8 0 8 7 能够完成上述五 种类型的加、减、乘、除和平方根运算以及5 种超越函数的计算。8 0 8 7 共有6 8 条数值处理指令。8 0 8 7 由两部分组成:控制单元( c u ) 和数据处理单元( n e u ) , 这两部分可以独立的工作,由n e u 执行数值运算指令,由c u 接受指令并译码、 读写内存操作或者执行8 0 8 7 控制指令。8 0 8 7 的控制方式为微程序的方式。 1 4 论文的内容安排 论文是对8 0 8 7 数值协处理器的运算电路及接口电路的正向设计,采用了集成 电路设计中流行的从顶向下的设计方法,对内部电路又进行了详细划分。并用 第一帮缔论 v e r i l o gh d l 语者进行电路的描述。 论文第二章重点介绍了8 0 8 7 所采用的体系结构以及8 0 8 7 所采用的数值系统 和i e e e 7 5 4 标准,最后简单介绍了8 0 8 7 的指令系统。 论文的第三章研究了8 0 8 7 所用的硬件浮点算法,讨论了8 0 8 7 中浮点加、减、 乘、除法以及用于超越函数的c o r d i c 算法,结合算法和f p u 的特点论述了一 种兼顾面积和速度精度的运算电路的设计方法和具体电路设计。最后给出了在具 体设计时所划分的模块并给出了功能说明。 论文第四章讨论了8 0 8 7 与8 0 8 6 8 0 8 8 协同工作时的接口电路,工作时序。并 给出了具体设计的模块和功能描述。最后给出了电路测试和验证的基本方法。 第矗章为结束语。 8 0 8 7 协处理器逛算电路和接口电路的设计 第二章8 0 8 7 的体系结构和指令系统 2 18 0 8 7 的数值计算 2 1 18 0 8 7 中的数据类型与格式 8 0 8 7 已经为实数应用提供了一个“足够大”的取值范围,尽管8 0 8 7 是微机 当中的一个协处理器,然而它所提供的数值取值范围是相当大的。8 0 8 7 的两个相 邻实数之间总有一定的间隔,如果运行结果f 好是8 0 8 7 所能表示的某个实数值。 8 0 8 7 则精确地表示它;如果结果落在两个相邻的实数之间,8 0 8 7 就要根据舍入规 则将结果舍入为它所能表示的数。因此,若要表示的位数比8 0 8 7 所能容纳的位数 多的实数,就必须牺牲一点精度。此外,8 0 8 7 所能表示的实数不是均匀地分布在 实数轴上,在任意的2 的连续的幂次之问。8 0 8 7 所能表示的实数的个数是相等的。 因此,可表示的两个楣邻实数之间的间隔是随着数值的增大面增大的。与此不同, 8 0 8 7 在其整数子集上的算术运算却可以说是精确的,也就是说,只要两个整数运 算的结果是整数,并且其结果落在取值范围之内,那么8 0 8 7 就一定e g 够精确地把 该结果表示出来。8 0 8 7 数值协处理器可以识别三类数据:二进制整数;二进制实 数和紧凑格式的十进制整数。 表2 18 0 8 7 的数据类型与取值范闱 数据类型位数有效位数( 十进制)近似范嗣( 十进制) 整数 1 643 5 7 8 6 x 3 2 7 8 6 短整数 3 29- - 2 1 4 x1 09 x 2 1 4 x1 0 9 k 整数6 41 8- 9 2 2 x1 0 1 8 x 9 2 2 1 0 1 8 b c d 十进制数8 01 8( 1 0 1 8 + 1 ) x ( 1 0 ”一1 ) 短实数 3 26 7 1 1 8 1 0 。8 fx 3 4 0 1 0 3 8 长实数 6 4 1 5 1 62 2 3 1 0 一“ixi 1 7 9 1 0 ” 临时实数 8 01 93 3 7 1 0 “3 2 lxi 1 2 x1 0 4 9 3 2 1 二进制整数 第二章8 0 8 7 的体系结构和指_ 夸系统 - - - 进n 整数共有三种格式:字整数、短整数和长整数。除了数的长度及可容 纳的数字范围不同外,这三种二进制整数无任何区别。最左边的一位是符号位,0 表示f 数,1 表示负数,负数是以2 的补码形式表示的。8 0 8 7 数据中,只有负的 二进制整数是采用2 的补码表示整数字格式与8 0 8 6 8 0 8 8 的1 6 位带符号整数数 据类型的格式相同。 2 十进制整数 8 0 8 7 的十迸制整数是以压缩的b c d 数据类型计数法来存放的。压缩的b c d 数据类型被作为8 0 位长的单独的数值单元。它最左边一个字节只有一个符号位 ( 该字节的最高位7 9 位) ,其余各位为无效位。其余各字节均由两个十进制装配 而成。b c d 码不使用补码表示,正数和负数的区别仅在于符号位的不同( 不用补 码表示) 符号位为“o ”时表示正数,为“1 ”时表示负数。各位十进制数的高位 在左低位在右。 3 二进制实数 8 0 8 7 的实数是以三个字段的二进制格式表示:符号位、阶码和尾数。这个格 式类似于科学计算类型的或者指数类型的计数方法。符号位用于表示数的正负; 阶码字存放数值的阶码,主要决定数值的大小;尾数字段存放数值的有效数字, 主要决定数值的精度。8 0 8 7 的负数不采用补码表示。8 0 8 7 的二进制实数以规格化 的格式来表示其有效数字,即以1 f f f f f 甜的格式表示有效数字。其中的“” 表示假设的小数点,所以有效数字由一位整数及一个由多位组成的小数部分组成, 小数部分所包含的位数随实数类型的不同而不同。在实数的规格化表示中,整数 部分取值总是为l 。因此8 0 8 7 在短实数和长实数格式中将整数位规定为隐藏位。 长、短实数格式只存储在内存中,当把它们装入寄存器时,8 0 8 7 就自动将其转换 为临时实数格式。临时实数是一个8 0 位格式的实数,分别为l 位符号位,1 5 位 阶码以及6 4 位尾数。与长、短实数不同的是,临时实数中没有隐含位,阶码仍然 用偏移码表示。临时奥数主要用于8 0 8 7 芯片内部进行高精度数值运算时保存。 整数字ls1 数值 i 2 的补码 1 j l ,j 1 5 o 短整数isl 数值 l 2 的补码 1 】_ j 3 l0 k 整数lsj 数值 l 2 的补码 i i l 。,- j 6 30 8 0 8 7 协处理器运算电路和接口电路的设计 短实数 k 实数 临时实数 l s 偏移阶码 k 尾数 l s 偏移阶码卜、4 、 尾数 图2 i8 0 8 7 的数据类型格式 中间结果,以避免运算带来的误差。表2 1 列出了8 0 8 7 的数据类型和取值范围, 图2 1 是8 0 8 7 的各种数掘类型格式。 2 1 2i e e e 7 5 4 标准 8 0 8 7 出现以前,在能够处理浮点数的小型机甚至大型机上,由于缺少浮点数 的标准,不同的浮点处理器以及在不同的浮点处理机上运行的程序都不能兼容, 局面非常混乱。i n t e l 很早注意到制定适用于微处器的浮点运算标准,并与1 9 7 7 年提出了第一个浮点运算标准,其目的是为了避免在微处理器领域出现类似于中 型机和大型机一样的混乱局面。i n t e l 基于此标准开发了浮点运算程序库( f p a l ) 和8 0 8 7 。i e e e 在对i n t e l 的浮点运算标准修改的基础上,于1 9 8 5 年推出了i e e e 7 5 4 浮点运算标准。此后又推出了i e e e 8 5 4 标准。i e e e 8 5 4 标准主要是在7 5 4 标准的 基础上扩充了十进制运算。下面介绍i e e e 7 5 4 的单精度和双精度浮点数格式。 在十进制的科学表示方法中,我们经常会见到诸如一1 2 3 1 0 3 ,1 2 3 1 0 。2 这 样的数。这些数的特点是有效数字小数点前面的整数部分只有一位非0 整数,我 们称它们为规格化( n o r m m i z e d ) 的数。二进制浮点数与此类似,但由于整数部分 是一位非零整数,在二进制表示中只有一种情况,即整数部分一定是l ,例如一 1 1 0 2 ,1 o l 22 。前者是十进制一( 1 + 0 5 ) 0 5 0 7 5 ,后者相当于( 1 + 0 2 5 ) 4 = 5 0 0 。从上面的例子可以看山,一个二进制浮点数由3 部分组成。第 一部分是符号位( s i g n ) ,即,表明是正数还是负数。第二部分是有效数字,我们 称其为尾数( f r a c t i o n ) 。第三部分是阶码( e x p o n e n t ) ,即二的多少次方,用移码 表示,移码的特征值由字长来定。对于规格化的二进制浮点数而言,小数前面的 第二章8 0 8 7 的体系结构和指令系统 整数始终为1 ,所以在阶码和尾数之问规定了一位隐藏位“1 ”。综上所述,i e e e 7 5 4 标准规定了单精度和双精度浮点数格式如下: 1 i e e e 7 5 4 单精度( s i n g l e p r e c i s i o n ) 浮点格式 i e e e 7 5 4 单精度浮点格式为3 2 位,如图2 2 所示,其中阶码偏移值为1 2 7 ,尾 数有一位隐藏位。 3 l3 02 32 20 图2 21 e e e 7 5 4 单精度浮点格式 ( 1 ) 规格化数:0 e 2 5 5 ,值v = ( 一d x 2 ”7 l ,l ( 2 ) ( + o ,一o ) :如果e = 0 且f = 0 ,则v = ( 一1 ) 5x 0 。 ( 3 ) d n r m ( 非规格化数) :如果e = 0 ,但f 0 ,则v = d n i l m 。 ( 4 ) + 。,一o o 正负无穷大:e = 2 5 5 且f = 0 ,则v = ( 一1 ) o o 。 ( 5 ) n a n ( 不是一个数) :若e = 2 5 5 且f o ,则v = n a n 。 2 i e e e 7 5 4 双精度( d o u b l e p r e c i s i o n ) 浮点格式 i e e e 7 5 4 双精度浮点格式为6 4 位,如图2 3 所示,其中阶码偏移值为1 0 2 3 尾数有一位隐藏位。 6 36 25 25 】0 图2 3i e e e 7 5 4 双精度浮点格式 ( 1 ) 规格化数:0 e 2 0 4 7 ,值v = ( 一1 ) x 2 “”1 f o ( 2 ) ( + o ,一0 ) :如果e = o 且f = o ,则v = ( 一1 ) 。0 。 ( 3 ) d n r m ( 非规格化数) :如果e = o ,但f o ,则v = d n r m 。 ( 4 ) + o 。,一一正负无穷大:e = 2 0 4 7 且f = 0 ,则v = ( 一1 ) 。o 。 ( 6 ) n a n ( 不是一个数) :若e = 2 0 4 7 且f o ,则v = n a n 。 3 扩展双精度( e x t e n d e d d o u b l e p r e c i s i o n ) 浮点数 扩展双精度浮点数共8 0 位,其格式如图2 4 所示:1 位符号位,1 5 位指数位 1 0 8 0 8 7 挤处理器运算电路和接口鬯瞎的设计 6 4 位尾数位。 7 97 96 46 3 0 工= ( _ 妒,2 “ 图2 4i e e e 7 5 4 扩展双精度浮点数 4 浮点数的表示范围和精度 为了讨论方便,设阶码和尾数各为3 位二进制数,其格式如图2 5 一l 所示: 1 位3 位3 位 l 符号位si 阶码e i 尾数f l 图2 5 1 简化的浮点数的表示方法 在数轴上,可以表示的正数和负数相对于原点0 是对称的,因此我们只讨论正 数的表示范围和精度。规格化的浮点数有一位隐藏位,3 位尾数实际可以表示的 数值从1 0 0 0 到1 1 1 1 。阶码的0 0 0 和1 1 1 用于表示0 和无穷大,规格化的浮点数 的阶码e ) a 0 0 l 到1 1 0 。因此最大的正整数格式为0 1 1 0 1 1 1 ,其值为+ 2 ”x 1 1 l i = 1 5 , 最小的正整数格式为0 0 0 1 0 0 0 ,其值为+ 2 ”1 0 0 0 = 0 2 5 。对于每一个e ,都有由 3 位尾数区分的8 个数值。相邻数值之间的数无法表示,这就是所谓的表数精度, 从o 2 5 到1 5 被称为表数范围。如图2 5 2 所示 一2 1 1 i l一2 2 1 0 0 02 1 0 0 02 3 1 1 l l 图2 5 - 2表数范围和精度 图2 5 2 表示了阶码和尾数各为3 位的浮点数的表数范围和表数精度。对于 一个固定位数的浮点格式,增加尾数位数可以增加表数精度,但由于相应地减少 了阶码的位数,使表数范围变小。相反,增加阶码位数使得表数范围变大,但同 时降低了表数精度。如果将上述图2 5 1 的阶码和尾数位数作一变化:阶码为4 位。尾数为2 位,则表数精度和表数范围也发生变化。两位尾数实际上可以表示 的数值从1 0 0 到1 1 l 。阶码的0 0 0 0 和1 1 1 1 用于表示的0 和无穷大,规格化的浮 点数阶码s 的偏移值为7 。 如果一个非0 数比能表示的最小的数还小,则称其为下溢( u n d c r f l o w ) ;如 果一个数比能表示的最大数还大,则称其为上溢( o v e r f l o w ) 。上溢和下溢都是正 丝 著 白一 第二章8 0 8 7 的体系结构和指令系统 负数之分。 5 特殊的浮点数运算 浮点二进制数中,数据可以分为5 类:规格化数、0 、一、n a n 和非规格化 数。表2 2 列出了特殊浮点的运算规则。 表2 2 特磉浮点数的运算规则 7 + ( + o 。) = + 一( + * ) + ( + 一) = + 一( 十一) + ( 一o = ) = n a n 7 + ( 一。口) = 一o 。( 一o 。) + ( 一一) = 一一( 一) + ( + o = ) = n a n 7 一( + 一) = + c o( + o 。) 一( 一一) 2 + 一( + 一) 一( + c o ) = n a n 7 一( 一) = 一( 一。) + ( + 一) = 一, z o ( 一) 一( 一一) = n a n 7 ( + 一) = + 一0 x ( + o 。) = n a n o 0 = n a n 7 ( 一一) = 一一0 ( 一一) = n a n 一,= n a n 7 ( + 一) = + o o 7 ,( + 0 ) = + 一如果x o ,6 = n a n 7 “一一) = 一。7 “一o ) = 一x m o d 0 = n a n - e - m o d y = n a n 2 28 0 8 7 的体系结构 由于f p u 单元的设计和丌发属于厂商的商业机密,所以在国内外资料上很难 找到关于8 0 8 7 内部硬件实现的r t l 级别的描述。笔者基于对8 0 8 7 版图的提取电 路的分析,对8 0 8 7 的内部功能模块进行了详细的划分,并用v e r i l o gh d l 语言对 内部各功能模块进行了描述建模仿真,取得了很好的效果。本节将从8 0 8 7 的具体 功能出发,讨论了8 0 8 7 的体系结构和硬件单元的划分。 2 2 18 0 8 7 的引脚功能 图2 6 为8 0 8 7 的引脚排列,下面对8 0 8 7 的引脚及功能作简单的讨论。 1 a d l 5 一a d o 8 0 8 7 协处理器运算电路和接口电路的设计 a d d r e s sd a t a ( 地址数据) :这些引脚组成存储器地址( t i 时钟) 和数据 ( t 2 ,t 3 ,t w ,t 4 时钟) 的分时多重总线。a 0 对于数据总线的低字节( 引脚 d 7 一d o ) 来说,其作用与b h e 类似。t l 时钟内舢是低电平,表示在存储器操 作中,一个字节在总线的低位部分传送。与总线低字节相连的八位型设备,通常 用来选片。a d l 5 - a d o 引脚高电平有效。在8 0 8 7 控制总线时,它们为输入或输 出端,而当c p u 控制总线时,它们受8 0 8 7 的监视,为输入端。在i p a x 8 8 8 0 中, a 1 5 - a 0 不需要地址锁存器。在t 1 t 4 时钟周期,8 0 8 7 提供一个地址。 2 a i d s 6a 8 $ 5ad s 4a i d s 3 a d d r e s s m e m o r y ( 地址存储器) :在t l 期间这个引脚是存储器地址的最高四 位。在存储器操作期间的t 2 ,t 3 ,t w 和t 4 时钟时这些引脚上的状态信息有效。 在8 0 8 7 控制总线周期时,s 6 ,s 4 和s 3 总为高电平,s 5 总为低电平。在c p u 控制 总线时,它们为受8 0 8 7 监视的输入端。 b h e s 7a d 0 a d l q s 0 a i ) 2 q s l a i ) 3 a d 4 s 0 a d 5 s i a d 6 s 2a d 7 a d 3 r q g t 0 a d 9 r q g t t a d l 0 a d l l a d l 2 f n l a d 】3 a d a d l 5 b u s l r l i e a d y a 1 6 s 3 a 1 1 似 c l ka i8 f s 5 r e s e ta 1 9 s 6 8 0 8 7 图2 68 0 8 7 的引脚结构幽 3 b h e s 7 b u sh i g he n a b l e ( 高位总线使能信号) :在t l 时钟期间,高位总线使能信号 b h e 表示数据总线的高八位( d 1 5 一d b ) 有效。与数据总线的高字节进行数据传送 第二章8 0 8 7 的体系结构和指令系统 的八位型设备通常使用b h e 来选片。当要把一个字节传送到总线的高位时,在 读和写周期的t i 时钟期间,b h e 为低电平。在t 2 ,t 3 ,t w 和t 4 时钟期间,本 引脚为状态信号s 7 。该信号低电平有效。在c p u 控制总线周期的期间,s 7 为受 8 0 8 7 监视的输入端。 4 s 2 is i ,s o s t a t u s ( 状态) :在8 0 8 7 控制控制总线周期时,这时状态线编码如下: s 2s ls o 0 ( 低) xx不用 1 ( 高) 0 0不用 l01读存储器 il 0写存储器 1l1被动状态 在t 4 时钟期间建立状态信号,在t l 和t 2 时钟期间保留该状态,而当r e a d y 为高电平时,在t 3 和t w 时钟期间返至被动状态( 1 ,l ,1 ) 。4 这些状态被8 2 8 8 总线控制器用来产生所有的存储器存取控制信号。t 一时钟期阳js 2 ,s 1 或s o 状态 的任何变化都用来表示一个总线周期的开始,以及在t 3 或t w 时钟返回到被动状 态用来表示一个总线周期的结束。当c p u 控制总线时,8 0 8 7 监视着这些信号。 5 r q g t o r e q u e s t g r a n t ( 请求同意) :为进行数据传送或由于其他总线控制器的要求, 8 0 8 7 使用请求同意端之一相连。在该引脚上的请求同意序列如下: ( 1 ) 一个时钟宽度韵脉冲传送c p u ,表示8 0 8 7 或与8 0 8 7 的r q ,g tn 引脚相 连的主控器发出局部总线请求信号。 ( 2 ) 8 0 8 7 等待同意脉冲,当接收到同意脉冲,在该脉冲后的时钟周期起动总 线传送,或者如果刚才的请求信号是其他的总线控制器发出的话,那么通过 r q g t 引脚送出同意脉冲。 ( 3 ) 在完成8 0 8 7 最后总线周期或者从r q g t l 上的总线主收到释放脉冲后的 一个时钟廊期中。8 0 8 7 产生一个释放脉冲送到c p u 。 对于i a p x l 8 6 系统,除了由8 2 1 8 8 将r q g t 信号转换成h o l d 、h l d a 信 号外( 与i a p x l 8 6 的h o l d 、h l d a 总线通信规程相同) ,其序列与上一样。 6 r q g t i r e q u e s t g r a n t ( 请求同意) :其他局部总线控制器通过本请求,同意引脚,迫 使8 0 8 7 请求局部总线。当产生请求时,如8 0 8 7 没有控制着总线,则请求同意端 的请求符号延迟一个时钟周期遥过8 0 8 7 的r q g t o 弓 脚送出。为了再同步,此后 的同意和释放脉冲也通过8 0 8 7 进行传送,它们分别延迟两个和一个时钟周期。 1 4 8 0 8 7 协处理器运算电路和接口电路的设计 r q g t l 有一个正偏电阻,从而可以被脱丌不作任何连接。如果8 0 8 7 控制着总线, 请求同意序列如下: ( 1 ) 来自其他局部总线控制器的一个时钟宽度脉冲向8 0 8 7 请求局部总线( 脉 冲1 ) 。 ( 2 ) 在8 0 8 7 的下一个t 4 或t i 时钟,一个时钟宽度脉冲从8 0 8 7 送至提出请 求的主控设备( 脉冲2 ) ,表示8 0 8 7 已允许局部总线浮动,并且在下一个时钟, 将进入“r q g t 响应”状态,在“r q g t 响应”状态期间,8 0 8 7 的控制单元与 局部总线的连接被切断。 ( 3 ) 提出请求的主控设备发出一个时钟宽度的脉冲到8 0 8 7 ( 脉冲3 ) ,表示 “r q g t ”请求即将结束,8 0 8 7 在下一个时钟可重新使用局部总线。 主控设备之间交换局部总线的控制权是三个脉冲的一个序列。在总线交换之 后,必须有一个固定的时钟周期。脉冲低电平有效。 对i a p x l 8 8 系统,r q g t l 引线可与8 2 1 8 8 先行总线控制器相连。这种情况 下,带有h o l d 、h l d a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年烟草设备维修工新员工岗位专业知识笔试题目及答案
- 2025年乘务人员考试题库及答案
- 药用植物学与生药学测试题及答案
- 高校经济合同模板(3篇)
- 综评面试题库及答案书
- 安全输液考试题及答案
- 高粱地种植合同模板(3篇)
- 大连淘宝店铺产品生命周期管理代运营协议
- 2025国家公务员面试题及答案
- 体育公司与个人运动员参赛合同
- 2025网络设备购销合同文本
- 成都产业投资集团有限公司所属产业投资板块企业2025年招聘投资管理等岗位的考试参考试题及答案解析
- 乡镇综合行政执法队队长试用期满转正工作总结
- 2025天津医科大学眼科医院第三批招聘1人备考考试试题及答案解析
- 2025年法院书记员招聘考试笔试试题含答案
- 4.6.2.2神经调节(第二课时)课件-人教版(2024)生物八年级上册
- 银行积分培训课件
- CPK、PPK和SPC(X-R控制图)模板
- 汉诺塔课件教学课件
- 校企合作实习生管理制度与考核办法
- 2025年北京市高考英语试卷真题(含答案解析)
评论
0/150
提交评论