计算机系统结构第二章第一部分
- 格式:doc
- 大小:325.50 KB
- 文档页数:14
第一章概论本章重点:计算机系统的层次结构、计算机系统结构的定义、计算机系统的设计思路、系统结构并行性开发的方法和计算机系统的分类。
本章难点:透明性分析。
复习建议:本章在历年考试中,为必考的章节,但一般考察基本概念和基本知识;从题型来讲主要为单项选择题和填空题。
建议学员在复习时注意基本概念的理解和掌握。
第一节计算机系统的多级层次结构一、计算机系统的层次(1)从使用语言的角度,计算机系统可以被看成是按功能划分的多层机器级所组成的层次结构。
层次结构由高到低依次为应用语言机器级、高级语言机器级、汇编语言机器级、操作系统机器级、传统机器语言机器级和微程序机器级,如图所示。
(2)对各级机器级的理解对每一级编程的程序员来说,只要熟悉和遵守该级语言的使用规定,所编写的程序就能在此机器上运行并得到结果,而不用考虑该机器级是如何实现的。
机器:能存储和执行相应语言程序的算法和数据结构的集合体。
(3)各级机器的实现技术各级机器的实现主要采用翻译或解释技术来实现,或者两者结合。
多级机器构成的层次结构推动了计算机系统结构的发展。
第二节计算机系统结构、计算机组成和计算机实现一、计算机系统结构的定义★系统结构是对计算机系统中的各级界面的定义及其上下的功能分配。
在多级的层级结构中,每层每级都有自己的系统结构。
不同机器级的程序员所看到的计算机属性是不同的,这就是计算机系统不同层次的体现。
系统结构就是要研究对于某级,哪些属性应透明,哪些不应透明。
透明,即如果客观存在的事物或属性从某个角度看不到,则称对它是透明的。
★计算机系统结构也称为计算机系统的体系结构(Computer Architecture),它指的是层次结构中传统机器级的系统结构,其界面之上的功能包括操作系统级、汇编语言级、高级语言级和应用语言级中所有软件的功能。
界面之下的功能包括所有硬件和固件的功能。
计算机系统结构是软件和硬件的交界面。
就目前的通用机来说,计算机系统结构的属性应包括:★l 硬件能直接识别和处理的数据类型和格式等的数据表示;l 最小可寻址单位、寻址种类、地址计算等的寻址方式;l 通用/专用寄存器的设置、数量、字长、使用约定等的寄存器组织;l 二进制或汇编级指令的操作类型、格式、排序方式、控制机构等的指令系统;l 主存的最小编址单位、编址方式、容量、最大可编址空间等的存贮系统组织;l 中断的分类与分级、中断处理程序功能及入口地址等的中断机构;l 系统机器级的管态和用户态的定义和切换;l 输入输出设备的连接、使用方式、流量、操作结束、出错指示等的机器级I/O结构;l 系统各部分的信息保护方式和保护机构;【例题】下列对应用程序员不透明的是( )(2012年单选题)A.标志符数据表示中的标志符B.输入输出系统硬件的功能C.虚拟地址到主存实地址的变换D.“执行”指令【答案】B【解析】对应用程序员来说只需要知道输入输出系统硬件的功能,就能进行应用系统的开发,而标志符、虚地址与实地址如何变换、“执行”指令均属于底层机器级所要确定的问题,对其是透明的。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
第一章计算机系统结构的基本概念从处理数据的角度看,并行级别有位串字串,位并字串,位片串字并,全并行。
位串字串和位并字串基本上构成了SIMD。
位片串字并的例子有:相联处理机STARAN,MPP。
全并行的例子有:阵列处理机ILLIACIV。
从加工信息的角度看,并行级别有存储器操作并行,处理器操作步骤并行,处理器操作并行,指令、任务、作业并行。
存储器操作并行是指可以在一个存储周期内并行读出多个CPU字的,采用单体多字、多体单字或多体多字的交叉访问主存系统,进而采用按内容访问方式,位片串字并或全并行方式,在一个主存周期内实现对存储器中大量字的高速并行操作。
例子有并行存储器系统,以相联存储器为核心构成的相联处理机。
处理器操作步骤并行是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
处理器操作并行是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
擅长对向量、数组进行处理。
例子有阵列处理机。
指令、任务、作业并行是指多个独立的处理机分别执行各自的指令、任务、作业。
例子有多处理机,计算机网络,分布处理系统。
并行性的开发途径有时间重叠(Time Interl eaving ),资源重复(Resou rceReplication),资源共享(ResourceSharing)。
时间重叠是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
资源重复是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
例子有阵列处理机,相联处理机。
资源共享是指用软件方法让多个用户按一定时间顺序轮流使用同一套资源以提高资源的利用率,从而提高系统性能。
例子有多处理机,计算机网络,分布处理系统。
SISD:一个指令部件控制一个操作部件,实现一条指令对一个数据的操作。
第一章计算机体系构造的根本概念1. 什么是计算机系统的多级层次构造?2. 硬件和软件在什么意义上是等效的?在什么意义上是不等效的?3. 经典计算机系统构造的本质是什么?4. 语言实现的两种根本技术是什么?5. 对于通用存放器型机器来说,机器语言程序设计者所看到的计算机的属性主要有哪些?6. 什么是软件兼容?软件兼容有几种?其中哪一种是软件兼容的根本特征?7. 什么是系列机?它的出现较好地解决了什么矛盾?8. 对计算机开展非常关键的实现技术有哪些?9. 实现软件移植的主要途径有哪些?10. 试以系列机为例,说明计算机系统构造、计算机组成和计算机实现三者之间的关系。
11. 存储程序计算机在系统构造上的主要特点是什么?12. 从系统构造的开展情况看,新型系统构造的设计主要从哪两方面着手?13. 软件技术两个最重要的开展趋势是什么?14. 计算机系统设计人员的技术挑战主要来自哪几个方面?15. 一种计算机系统构造的生命周期是怎样的?16. 商品的标价〔价格〕由哪些因素构成?17. 对计算机系统本钱产生影响的主要因素有哪些?18. 用户CPU时间由哪三个因素决定?19. 目前常用的测试程序分为哪五类?20. 什么叫测试程序组件?在评价计算机系统设计时最常见的测试程序组件是哪个?21. SPEC2000测试程序组件中包括哪几个测试程序组件?22. 测试基于Microsoft公司的Windows系列操作系统平台的最常用测试组件有哪些?23. 常用的专门的性能指标测试程序有哪些?24. 计算机系统构造设计和分析中最经常使用的三条根本原那么是什么?25. 根据Amdahl定律,系统加速比由哪两个因素决定?26. 从执行程序的角度看,并行性等级从低到高可分为哪几级?27. 从处理数据的角度,并行性等级从低到高可以分为哪几级?28. 计算机系统中进步并行性的技术途径有哪三种?29. 多机系统的耦合度可以分为哪几类?30. 单机系统和多机系统中,都是按哪三种技术途径分别开展为哪三类多处理机?31. 三种类型的多处理机〔同构型多处理机、异构型多处理机、分布处理系统〕的主要区别是什么?1. 什么是计算机系统的多级层次构造?从计算机语言的角度,把计算机系统按功能划分成以下多级层次构造:2. 硬件和软件在什么意义上是等效的?在什么意义上是不等效的?硬件和软件在功能实现上是等效的,即一种功能可以由软件实现,也可以由硬件实现。
第一章计算机系统结构的基本概念1. 从使用语言的角度可以将系统看成是按功能划分的多个机器级组成的层次结构;由高到低分别为:1应用语言机器级 2高级语言机器级 3汇编语言机器级 4操作系统机器级 5传统机器语言机器级 6微程序机器级;2. 应用程序语言经应用程序包的翻译成高级语言程序;3. 高级语言程序经编译程序的翻译成汇编语言程序;4.汇编语言程序经汇编程序的翻译成机器语言程序;5.在操作系统机器级,一般用机器语言程序解释作业控制语句;6.传统机器语言机器级,是用微指令程序来解释机器指令;7.微指令由硬件直接执行;8. 在计算机系统结构的层次结构中,机器被定义为能存储和执行相应语言程序的算法和数据结构的集合体;9.透明指的是客观存在的事物或属性从某个角度看不到,它带来的好处是简化某级的设计,带来的不利是无法控制10.翻译:先用转换程序将高一级机器级上的程序整个地变换成底一级机器级上行将的程序,然后在低一级机器级上实现的技术11.解释:在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句或指令的功能,通过高级机器语言程序中的每条语句或指令逐条解释来实现的技术;12硬件取舍原则:1应考虑在现有硬器件主要是逻辑器件和存储器件条件下,系统要有高的性能价格比;2要考虑到准备采用和可能采用的组成技术,使它尽可能不要过多或不合理地限制各种组成、实现技术的采用;3不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的进展,还应从“软”的角度把如何为编译和操作系统的实现以及为高级语言程序的设计提供更多更好的硬件支持放在首位;13. 计算机系统的设计思路:1由上往下2由下往上3由中间开始14. 软件的可移植性:指的是软件不修改或只经少量修改就可由一台机器搬到另一台机器上运行,同一软件可应用于不同的环境;15. 实现欠件移植的几个基本技术:1统一高级语言 2采用系列机 3模拟与仿真16. 为什么没有对各种应用真正通用的语言1不同的用途要求语言的语法、语义结构不同;2人们对语言的基本结构看法不一;3即使同一种高级语言在不同厂家的机器上也不能完全通用;4受习惯势力阻挠,人们不愿意抛弃惯用的语言;17 模拟:用机器语言程序解释实现软件移植的方法称为模拟;需经二重解释,速度低,实时性差模拟灵活,可实现不同系统间的软件移植,系统差异太大时效率速度急剧下降18 仿真:用微程序直接解释另一种机器指令系统的方法称为仿真;速度上损失小,但不灵活,只在差别不大的机器上使用,两种机器差别太大时,就很难仿真19 模拟与仿真的区别:仿真是用微程序解释,其解释程序存入在控制存储器中;而模拟是用机器语言程序来解释,其解释程序存放在主存中;20 并行性:把解题中具有可以同时进行运算或操作的特性;并行性包括1同时性和2并发性同时性:指两个或多个事件在同一时刻发生并发性:指两个或多个事件在同一时间间隔内发生21开发并行性途径:1时间重叠 2资源重复 3资源共享时间重叠:让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,加快硬件周围来赢得速度;资源重复:通过得利设置硬件资源来提高可靠性或性能;资源共享:用软件方法让多个用户按一定时间顺序轮流使用同一套资源来提高其利用率,相应也就提高了系统的性能;第二章数据表示与指令系统1.数据表示:指的是能由机器硬件直接识别昨引用的数据类型;2.数据结构反映了应用中要用的各种数据元素或信息单元之间的结构关系; 数据表示是数据结构的组成元素;3.数据结构和数据表示是软、硬件的交界面;数据表示的确定实质是软、硬件的取舍;4.高级数据表示:1自定义数据表示 2微量数组数据表示 3堆栈数据表示5.标志符数据表示:将数据类型和数据本身直接联系到一起;合存于同一存储单元中6.标志符数据表示的优点:1简化了指令系统和程序设计2简化了编译程序3便于实现一至性校验4能由硬件自动变换数据类型5支持了数据库系统的实现与数据类型无关的要求6为软件调试和应用软件开发提供了支持7.标志符数据表示可能带来的问题:1每个数据字因增设标志符,会增加程序所占的主存空间2采用标志符会降低指令的执行速度8.规模机器的特征:(1)有高速寄存器组成的硬件堆栈,并附加控制电路让它与主存中的堆栈区在逻辑上构成整体,使堆栈的访问速度是寄存器,容量是主存的(2)有丰富的堆栈操作指令且功能很强,直接可对堆栈中的数据进行各种去处和处理(3)有力地支持高级语言程序的编译(4)有力地支持子程序的嵌套和递归调用9.引入数据表示的原则:(1)看系统的效率有否提高,即是否减少了实现时间的存储空间(2)看引入这种数据表示后,其通用性和利用率是否高10.浮点数尾数的下溢处理方法:1截值法 2舍入法 3恒置1法 4查表舍入法11.寻址方式:指的是指令按什么方式寻长或访问到所需的操作数或信息;12.寻址方式在指令中的两种指明方式:1 占有操作码中的某些位 2在地址码部分专门设置寻址方式位字段指明13.逻辑地址是程序员编程用的地址;物理地址是程序在主存中的实际地址;14.静态再定位:在目的程序装入主存时,由装入程序用软件方法把目的程序的逻辑地址变换成物理地址15.动态再定位:在执行每条指令时才形成访存物理地址的方法16.指令由操作码和地址码两部分构成;操作码指明操作种类和所用操作数的数据类型;地址码包括操作数的地址、地址的附加信息、寻址方式等;17.指令格式的优化:指的是如何用最短的倍数来表示指令的操作信息和地址信息,使程序中指令的平均字长最短;18.操作码的优化表示,主要是为了缩短指令字长,减少程序总位数及增加指令字能表示的操作信息和地址信息;19.哈夫曼压缩概念的基本思想:当各种事件发生的概率不均等时,采用优化技术对发生概率最高的事件用最短的位数时间来表示处理,而对出现概率较低的,允许用较长的位数时间来表示处理,这样,就会导致表示处理的平均时间的缩短;20.操作码的表示方式通常有下列三种:1固定长度编码法 2哈夫曼编码法 3扩展操作码编码法21.指令系统的设计、发展和改进上的两种不同方向:1CISC 2RISC22.CISC:进一步增强原有指令的功能以及设置更为复杂的新指令取代原先由软子程序完成的功能,实现软件功能的硬化;23.CISC复杂指令系统计算机的优化实现:1 面各目标程序的优化2 面向高级语言的优化3 面向操作系统的优化24.面向目标程序的优化1 对存贮器语言程序及其执行情况进行统计各种指令和指令串的使用频度来加以分析和改进;静态使用频度:对程序中统计出的指令及指令串使用频度着眼于减少目标程序所占用的储存空间动态使用频度:在目标程序执行过程中对指令和指令串统计出的频度着眼于减少目标程序的执行时间2 增设强功能复合指令来取代原先是由常用宏指令或子程序实现的功能,用微程序解释实现;25.面向高级语言优化实现改进尽可能缩短高级语言和机器语言的语义差距,支持高级语言编译,缩短编译程序长度和编译时间1 通过对源程序中各种高级语言语句的使用频度进行统计来分析改进;2 如果面向编译,优化代码生成来改进;3 设法改进指令系统,使它与各种语言间的语义差距都有同等的缩小;4 让机器具有分别面向各种高级语言的多种指令系统、各种系统结构;5 发展高级语言计算机或称高级语言机器26.面向操作系统的优化1 对常用指令和指令串的使用频度进行统计分析来改进;改进指令系统2 考虑如何增设专用于操作系统的新指令;改进指令系统3 把操作系统中频繁使用的对速度影响大的某些软件子程序硬化或固化,改为直接用硬件或微程序解释实现;4 发展让操作系统由专门的处理机来执行的功能分布处理系统结构;27.CISC存在的问题:1 指令系统庞大,一般在200条指令以上;许多指令功能异常复杂;2 由于许多指令的繁杂,执行速度很低;3 指令系统庞大,故高级语言编译程序选择目标指令的范围大太,难以优化生成高效机器语言程序,编译程序也太长太复杂;4 由于指令系统庞大,各种指令的使用频度都不会太高,具差别很大,其中相当一部分指令的利用率很低;28.设计RISC的原则:1 只选择那些使用频度很高的指令,再增加少量其他功能的指令,使之一般不超过100条2 减少指令系统寻址方式各类,一般不超过两种,并让全部指令都是相同的长度;3 让所有指令都在一个机器周期内完成4 扩大通用寄存器数,尽量减少访存;仅存store、取load指令访存,其他指使一律对寄存器操作;5 大多数年指令都用硬联控制实现,少数指令用微程序实现;6 精简指令和优化设计编译程序,简单有效地支持高级语言的实现;29.设计RISC结构用的基本技术:1 按RISC一般原则设计2 逻辑实现用硬联和微程序结合3 用重叠寄存器窗口4 指令用流水和延迟转移5 优化设计编译系统30.采用RISC技术带来的好处:1 简化指令系统设计,适合VLSI实现2 提高机器的执行速度和效率3 设计成本,提高了系统的可靠性4 可直接支持高级语言的实现31.RISC的不足:1 由于指令少,一条CISC指令能完成的某些功能需要多条RISC指令才能完成,加重了汇编各方程序设计的负担,增加了机器语言程序的长度,占用在座空间多,加大了指令的信息流量;2 对浮点去处执行的虚拟存储器的支持虽有很大加强,但仍显不足;3 RISC机器的编译程序比CISC的难写;第三章总线、中断与输入输出系统1.输入输出系统包括输入输出设备、设备控制器及与输入输出操作有关的软硬件2.I/O系统设计主要考虑解决好CPU、主存和I/O设备在速度上的巨大差距;3.输入输出系统发展经历了三个阶段:1程序控制I/O 2直接存储器访问 3I/O处理机方式a.通道 b.外围处理机方式4.总线类型:按信息传送方向分:1单向传输 2双向传输按用法分:1专用 2非专用相关介绍及优缺点见P635.非专用总线总线控制方式:集中式控制:总线控制机构基本上集中在一起; 分布式控制:总线控制逻辑分散在各个部件中 P646.集中式总线控制:1串行链接控制 2定时查询方式 3独立查询方式P647.集中式串行链接式的总线分配过程:1.部件发总线请求;2.总线不忙时,总线控制器返回总线响应总线可用信号;3.没发总线请求信号的部件传送总线响应信号,发的部件截留响应信号;4.截留后,发总线忙状态,撤销请求,开始占用总线;5.传送结束撤销总线忙;6.总线不忙后,撤销总线响应;8.优点: 1.选择算法简单,控制线线数少; 2.部件增加容易,可扩充性好; 3.容易通过重复设置提高可靠性;9.缺点: 1.对“总线可用”线及其有关电路的失效敏感; 2.优先级是线连固定,不灵活; 3.限制了总线的分配速度;10.集中定时查询方式的总线分配过程:1.部件发总线请求;2.总线不忙时,总线控制器的查询计数器开始计数;3.定时查询各部件;4.部件接收计数值,并判断,若与部件号一致,则发总线忙,撤销请求,并占用总线;5.总线控制器收到总线忙,停止计数,停止查询;6.传送结束撤销总线忙;11.优点: 1.优先次序可用程序控制,灵活性强; 2.可靠性高;12.缺点: 1.总线线数较多; 2.部件数受限于定时查询线线数; 3.控制较为复杂; 4.总线分配的速度不能提高;13.集中式独立请求方式的总线分配过程:1.部件发总线请求;2.总线不忙时,按某种算法,发一个总线响应;3.被响应部件发总线忙状态,撤销请求,开始占用总线;4.传送结束,撤销总线忙;5.总线不忙后,撤销总线响应;14.优点:1.总线分配速度快; 2.可用选定的方式确定响应的部件; 3.能方便的隔离失效部件的请求;15.缺点:1.控制线数量过大; 2.总线控制器要复杂的多;16.总线的传送方式分为:1同步通信 2异步通信17.同步通信:两个部件之间的信息传送是通过定宽定距的系统时标进行同步的受同步时钟的控制18.同步通信的优点:信息传送速率高,受总线的长度影响小;19.同步通信的缺点:但会因时钟在总线上的时滞而造成同步误差, 且时钟线上的干扰信号易引起误同步;20.异步通信:用于I/O总线,连接不同速度的I/O设备;又可分为a.单向控制和b.双向请求/回答控制两种1单向控制:指的是通信过程只由目的或源部件中的一个单一控制;单向控制又有源控制和目的控制两种;优点:简单,高速;缺点:未能保证下一数据传送之前让所有数据线和控制线的电平信号恢复成初始状态,从而可能造成错误;2请求/回答双向控制:由源和目共同控制;特点:增加了信号总线来回传送的次数,使控制硬件变得复杂,但它能适应各种不同速度的I/O设备,保证数据传送的正确性,有较高的数据传送率;21.数据宽度:是I/O设备取得I/O总线使用权后在一次I/O总线分配期间内,所传送数据的总量;22.数据通路宽度:数据总线的位数,是数据传送的物理宽度;即一个时钟周期所传送的信息量,它直接取决于数据总线的线数;23.总线的线数越多,成本越高、干扰越大、可靠性越低、占用的空间也越大,当然传送速度和流量也越高;为此,越是长的总线,其线数就应尽可能减少;24.减少线数的方法:1同一根线多个功能复用; 2并/串—串/并转换 3编码25.中断源:引起中断的各种事件; 中断请求:中断源向中断系统发出请求中断的申请; 中断响应:允许中断请求中断CPU现行程序的运行,转去对该请求进行预处理,包括保存好断点现场,调出有关处理该中断的中断处理程序,准备运行;26.中断分类的目的:中断源数量很多,若形成单独入口,硬件复杂,代价大,故进行分类,把性质相近的中断源归为一类;同一类中断共用一个中断入口地址,再由软件形成实际入口地址;27.中断的分类:1机器校验中断第一级:设备故障,电源故障,主存出错;2管理程序调用访管中断第二级:访管指令;3程序性中断第二级:溢出,除数为零,数据格式错;4外部中断第三级:定时器,外部信号;5输入/输出中断第四级:I/O请求;6重新启动中断第五级:启动另一个程序;28.中断分级的目的:解决多个中断请求同时发生时的响应次序问题;29.分级原则: 1同一类的优先次序由软件管理一般情况下,同类同级,不同类不同级2不同类的中断根据中断的轻重缓急分成不同的级别;30.中断嵌套原则: 1禁止同级或低级中断; 2允许高级中断;31.中断响应次序和处理次序中断响应次序用排队器硬件实现,次序是由高到低定死的,但可以根据需要用软件改变实际的中断处理完次序简称中断处理次序;中断级屏蔽位的作用:决定某级中断请求能否进入排队器只要能进入,还是按上面讲的优先级次序由高到底响应中断中断响应次序由硬件定死;而处理次序由中断屏蔽位决定;32.中断系统的功能包括:中断请求的保存与清除,确定优先级,保护断点,保护现场,中断源分析,中断处理,中断返回等;33.中断系统的软、硬件功能分配实质是中断处理程序软件和中断响应硬件的功能分配;34.中断系统的软件与硬件的功能分配主要考虑如下两个因素:1中断响应时间 2灵活性;35.通道的功能:1接受CPU的输入输出操作指令,按指令要求控制外设接受指令2从主存读取通道程序,并执行即向设备控制器发送各种指令执行程序3组织和控制数据在内存与外设之间的传送操作传送数据4读取外设的状态信息,形成整个通道的状态信息,提供给CPU或保存在主存中通道状态5向CPU发出输入输出操作中断请求中断请求36.通道的工作过程:1用户在目态中安排广义I/O指令;包括访管指令和参数2当目态程序执行到访管指令后,产生访管中断;3CPU响应中断,第一次访管态,运行管态程序;4管理程序编制通道程序;根据参数:设备号、主存地址、信息长度等通道程序放在主存中,由通道执行5执行“启动I/O”指令:选择通道,校验第一条通道指令格式,选择设备并启动通道及设备;6通道启动后,<1>CPU退出管态,运行目态程序;<2>通道与设备开始传送数据;7通道传送结束后,向CPU发I/O中断;8CPU 响应中断,第二次转管态,对刚才的通道作“善后”处理;9返回目态,运行目态程序;37. 通道的种类:(1) 字节多路通道:适用于大量的像光电机等字符类低速设备;数据宽度:单字节多设备交叉(2) 数组多路通道:适合于连接多台像磁盘等调整设备;数据宽度:定长块多设备交叉(3) 选择通道:适合于优先级高的磁盘等调整设备,让它独占通道,只执行一台通道程序;数据宽度:可变长块独占38. 通道流量:通道在数据传送期内,单位时间内传送的字节数字节传输速率;它能达到的最大流量称通道极限流量;重要参数: TS : 选择一次设备的时间; TD :传送一个字节的时间; K :定长块的字节长度; N :传送的全部字节个数;39. 通道极限流量:字节多路通道:f max ·byte = 1/TS+TD 每选择一台设备,只传送一字节 数组多路通道:f max ·block = K/TS+K ·TD= 1/TS/K+TD 每选择一台设备,传送定长K 字节 选择通道: f max ·select = N/TS+N ·TD= 1/TS/N+TD显然,若通道的TS 、TD 一定, 且N>K 时,字节多路方式工作时所能达到的极限流量最小,数组多路方式工作的居中, 选择方式工作的最大;40. 如果通道上所挂p 设备都被启动,则设备对通道要求的的实际最大流量分别为:字节多路通道应为该通道所接各设备的字节传送速率之和, 即而对于其他两种类型的通道应为所接各设备的字节传送速率中之最大的那个, 即41. 保证第j 号通道上所挂的设备在满负荷的最坏情况下都不丢失信息的条件: 设备最大流量 <= 极限流量 ∑=⋅⋅=j p i j i j byte f f 1。
第一章计算机体系结构的基本概念1.1名词解释:2.翻译——(基于层次结构)先把N+1级程序全部变换成N级程序之后,再去执行N级程序,在执行过程中,N+1级程序不再被访问。
3.解释——每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级指令,依此重复执行。
4.体系结构——程序员所看到的计算机的属性,即概念性结构与功能特性。
5.透明性——在计算机技术中,对本来存在的事物或属性,从某一角度来看又好像不存在的概念称为透明性。
6.系列机——在一个厂家生产的具有相同的体系结构,但具有不同的组成和实现的一系列不同型号的机器。
7.软件兼容——同一个软件可以不加修改地运行于体系结构相同的各档机器上,而且它们所获得的结果一样,差别只在于运行的时间不同。
8.兼容机——不同厂家生产的、具有相同体系结构的计算机。
9.计算机组成——计算机体系结构的逻辑实现。
10.计算机实现——计算机组成的物理实现。
11.存储程序计算机(冯·诺依曼结构)——采用存储程序原理,将程序和数据存放在同一存储器中。
指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。
12.并行性——在同一时刻或同一时间间隔内完成两种或两种以上性质相同或不同的工作。
13.时间重叠——在并行性中引入时间因素,即多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
14.资源重复——在并行性中引入时间因素,是根据“以数量取胜”的原则,通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。
15.资源共享——是一种软件方法,它使多个任务按一定的时间顺序轮流使用同一套硬件设备。
16.同构型多处理机——由多个同种类型、至少同等功能的处理机组成、同时处理同一作业中能并行执行的多个任务的机器。
17.异构型多处理机——由多个不同类型、功能不同的处理机组成、串行完成同一作业中不同任务的机器。
word 文档下载后可自由复制编辑你计算机系统结构清华第 2 版习题解答word 文档下载后可自由复制编辑1 目录1.1 第一章(P33)1.7-1.9 (透明性概念),1.12-1.18 (Amdahl定律),1.19、1.21 、1.24 (CPI/MIPS)1.2 第二章(P124)2.3 、2.5 、2.6 (浮点数性能),2.13 、2.15 (指令编码)1.3 第三章(P202)3.3 (存储层次性能), 3.5 (并行主存系统),3.15-3.15 加 1 题(堆栈模拟),3.19 中(3)(4)(6)(8)问(地址映象/ 替换算法-- 实存状况图)word 文档下载后可自由复制编辑1.4 第四章(P250)4.5 (中断屏蔽字表/中断过程示意图),4.8 (通道流量计算/通道时间图)1.5 第五章(P343)5.9 (流水线性能/ 时空图),5.15 (2种调度算法)1.6 第六章(P391)6.6 (向量流水时间计算),6.10 (Amdahl定律/MFLOPS)1.7 第七章(P446)7.3 、7.29(互连函数计算),7.6-7.14 (互连网性质),7.4 、7.5 、7.26(多级网寻径算法),word 文档下载后可自由复制编辑7.27 (寻径/ 选播算法)1.8 第八章(P498)8.12 ( SISD/SIMD 算法)1.9 第九章(P562)9.18 ( SISD/多功能部件/SIMD/MIMD 算法)(注:每章可选1-2 个主要知识点,每个知识点可只选 1 题。
有下划线者为推荐的主要知识点。
)word 文档 下载后可自由复制编辑2 例 , 习题2.1 第一章 (P33)例 1.1,p10假设将某系统的某一部件的处理速度加快到 10倍 ,但该部件的原处理时间仅为整个运行时间的40%,则采用加快措施后能使整个系统的性能提高多少?解:由题意可知: Fe=0.4, Se=10,根据 Amdahl 定律S n To T n1 (1Fe )S n 1 10.6 0.4100.64 Fe Se 1.56word 文档 下载后可自由复制编辑例 1.2,p10采用哪种实现技术来求浮点数平方根 FPSQR 的操作对系统的性能影响较大。
计算机系统结构习题解答第一章习题一1.2一台经解释实现的计算机,可以按照功能划分成4级。
每一级为了执行一条指令需要下一级的N条指令解释。
若执行第1级的一条指令需K纳秒时间,那么执行第2、3、4级的一条指令个需要多少时间?解:①分析:计算机按功能分级时,最底层的为第1级。
向上一次是第2 、3、4级。
解释执行是在低级机器级上,用它的一串指令或语句来解释执行高一级上的一条指令的功能。
是逐条解释的。
②解答:执行第2、3、4级的一条指令各需KNns,KN2ns,KN3ns的时间。
1.3操作系统机器级的某些指令就用传统机器级的指令,这些指令可以用微程序直接实现,而不由操作系统自己来实现。
根据你对习题1.2的回答,你认为这样做有哪两个好处?答:可以加快操作系统操作命令解释的速度。
同时也节省了存放解释操作命令这部分解释程序所占用的空间。
简化了操作系统机器级的设计。
也有利于减少传统机器级的指令条数。
1.5硬件和软件在什么意义上是等效的?在什么意义上是不等效的?试举例说明。
答:硬件和软件在逻辑意义上是等效的。
在物理意义上是不等效的。
①在原理上,用硬件或固件实现的功能完全可以用软件来完成。
用软件实现的功能也可以用硬件或固件来完成。
功能一样。
②只是反映在速度、价格、实现的难易程度上,这两者是不同的。
性能不同。
③例如,浮点运算在80386以前一直是用软件实现的。
到了80486,将浮点运算器集成到了CPU中,可以直接通过浮点运算指令用硬件实现。
但速度却高的多。
1.9下列哪些对系统程序员是透明的?哪些对应用程序员是透明的?系列机各档不同的数据通路宽度;虚拟存储器;Cache存储器;程序状态字;“启动I/O”指令;“执行”指令;指令缓冲器。
答:①对系统程序员和应用程序员均透明的:是全用硬件实现的计算机组成所包含的方面。
有:数据通路宽度、Cache存储器、指令缓冲器。
②仅对应用程序员透明的:是一些软硬件结合实现的功能。
有:虚拟存储器、程序状态字、“启动I/O”指令。
计算机系统结构第⼆章(习题解答)1. 数据类型、数据表⽰和数据结构之间是什么关系?在设计⼀个计算机系统时,确定数据表⽰的原则主要有哪⼏个?答:略2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其指令字长和数据字长均为32位。
B 处理机的数据带有标志位,每个数据的字长增加⾄36位,其中有4位是标志符,它的指令条数由最多256条减少⾄不到64条。
如果每执⾏⼀条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于⼀个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占⽤的存储空间⼤⼩(包括指令和数据),从中得到什么启发?答:我们可以计算出数据的总数量:∵程序有1000条指令组成,且每条指令平均要访问两个操作数∴程序访问的数据总数为:1000×2=2000个∵每个数据平均访问8次∴程序访问的不同数据个数为:2000÷8=250对于A 处理机,所⽤的存储空间的⼤⼩为:bit4000032250321000MemMemMemdataninstructio A=?+?=+=对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所⽤的存储空间的⼤⼩为:bit3900036250301000MemMemMemdataninstructio B=?+?=+=由此我们可以看出,由于数据的平均访问次数要⼤于指令,所以,采⽤带标志符的数据表⽰不会增加总的存储空间⼤⼩。
3. 对于⼀个字长为64位的存储器,访问这个存储器的地址按字节编址。
假设存放在这个存储器中的数据中有20%是独⽴的字节数据(指与这个字节数据相邻的不是⼀个字节数据),有30%是独⽴的16位数据,有20%是独⽴的32位数据,另外30%是独⽴的64位数据;并且规定只能从⼀个存储字的起始位置开始存放数据。
⑴计算这种存储器的存储空间利⽤率。
⑵给出提⾼存储空间利⽤率的⽅法,画出新⽅法的逻辑框图,并计算这种⽅法的存储空间利⽤率。
第一章计算机系统结构的基本概念从处理数据的角度看,并行级别有位串字串,位并字串,位片串字并,全并行。
位串字串和位并字串基本上构成了SIMD。
位片串字并的例子有:相联处理机STARAN,MPP。
全并行的例子有:阵列处理机ILLIAC IV。
从加工信息的角度看,并行级别有存储器操作并行,处理器操作步骤并行,处理器操作并行,指令、任务、作业并行。
存储器操作并行是指可以在一个存储周期内并行读出多个CPU字的,采用单体多字、多体单字或多体多字的交叉访问主存系统,进而采用按内容访问方式,位片串字并或全并行方式,在一个主存周期内实现对存储器中大量字的高速并行操作。
例子有并行存储器系统,以相联存储器为核心构成的相联处理机。
处理器操作步骤并行是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
处理器操作并行是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
擅长对向量、数组进行处理。
例子有阵列处理机。
指令、任务、作业并行是指多个独立的处理机分别执行各自的指令、任务、作业。
例子有多处理机,计算机网络,分布处理系统。
并行性的开发途径有时间重叠(TimeInterleaving),资源重复(Resource Replication),资源共享(Resource Sharing)。
时间重叠是指在并行性概念中引入时间因素,让多个处理过程在时间上错开,轮流重复地执行使用同一套设备的各个部分,加快硬件周转来赢得速度。
例子有流水线处理机。
资源重复是指一个指令部件同时控制多个处理单元,实现一条指令对多个数据的操作。
例子有阵列处理机,相联处理机。
资源共享是指用软件方法让多个用户按一定时间顺序轮流使用同一套资源以提高资源的利用率,从而提高系统性能。
例子有多处理机,计算机网络,分布处理系统。
SISD:一个指令部件控制一个操作部件,实现一条指令对一个数据的操作。
第二章习题(P69-70)一、复习题1.简述冯∙诺依曼原理,冯∙诺依曼结构计算机包含哪几部分部件,其结构以何部件为中心?答:冯∙诺依曼理论的要点包括:指令像数据那样存放在存储器中,并可以像数据那样进行处理;指令格式使用二进制机器码表示;用程序存储控制方式工作。
这3条合称冯∙诺依曼原理OgtiojD。
冯∙诺依曼计算机由五大部分组成:运算器、控制器、存储器、输入设备、输出设备,整个结构一般以运算器为中心,也可以以控制器为中心。
(P51-P54)r1fI4bu。
2.简述计算机体系结构与组成、实现之间的关系。
答:计算机体系结构通常是指程序设计人员所见到的计算机系统的属性,是硬件子系统的结构概念及其功能特性。
计算机组成(computer organization)是依据计算机体系结构确定并且分配了硬件系统的概念结构和功能特性的基础上,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。
同时,为实现指令的控制功能,还需要设计相应的软件系统来构成一个完整的运算系统。
计算机实现,是计算机组成的物理实现,就是把完成逻辑设计的计算机组成方案转换为真实的计算机。
计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。
在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。
(P47-P48)28BoSAn。
3.根据指令系统结构划分,现代计算机包含哪两种主要的体系结构?答:根据指令系统结构划分,现代计算机主要包含:CISC和RISC两种结构。
(P55)4.简述RISC技术的特点?答:从指令系统结构上看,RISC体系结构一般具有如下特点:(1)精简指令系统。
可以通过对过去大量的机器语言程序进行指令使用频度的统计,来选取其中常用的基本指令,并根据对操作系统、高级语言和应用环境等的支持增设一些最常用的指令;hJslBtf。
重点难点内容整理第一章计算机系统概论重难点:计算机系统的基本组成和层次结构知识点1:计算机系统的组成计算机系统由计算机硬件和软件两部分组成。
1.硬件是计算机系统的物质基础,没有硬件就不成其为计算机。
计算机硬件包括中央处理机、存储器和外部设备。
中央处理机是计算机的核心部部件,由运算器和控制器两部分组成,主要功能是解释指令、控制指令执行、控制和管理机器运行状态,以及实时处理中央处理机内部和外部出现和各种应急事件。
存储器分为主存储器和辅助存储器。
主存储器的主要功能是存储信息和与中央处理机直接交换信息;辅助存储器包括磁盘机、磁带机和光盘机等,通常只与主存储器交换信息。
外部设备包括输入和输出设备、转换设备、终端设备等,如键盘、打印机、绘图仪和鼠标器等。
2. 软件通常分为两大类:系统软件和应用软件。
系统软件最靠近硬件层,是计算机的基础软件,如操作系统、高级语言处理程序等。
系统软件是计算机厂家预先设计好的。
操作系统主要用于组织管理计算机系统的所有便件和软件资源,使之协调一致、高效地运行;高级语言处理程序包括编译程序和解释程序等。
编译程序能将高级语言编写的源程序翻译成计算机执行的目标程序,解释程序是边解释边执行源程序。
应用软件处于计算机系统的最外层,是按照某种特定的应用而编写的软件。
知识点2:计算机系统的层次结构应用软件、系统软件和硬件构成了计算机系统的三个层次1.硬件系统位于最内层,它是整个计算机系统的基础和核心。
2.系统软件在硬件之外,为用户提供一个基本的操作界面。
3.应用软件位于最外层,为用户提供解决具体问题的应用系统界面通常将硬件系统之外的其余层次成为虚拟机。
三个层次之间关系紧密,外层是内层功能的扩展,内层是外层的基础。
但是,层次划分不是绝对的。
第二章运算方法和运算器重难点:1.定点和浮点数的表示及范围。
2.定点补码的加减运算及实现。
3.一位原码/补码的乘法和一位原码/补码的除法及实现。
4.浮点算术运算。
第二章指令系统指令系统是计算机系统结构的主要组成部分指令系统是软件与硬件分界面的一个主要标志指令系统软件与硬件之间互相沟通的桥梁指令系统与软件之间的语义差距越来越大2.1 数据表示2.2 寻址技术2.3 指令格式的优化设计2.4 指令系统的功能设计2.5 RISC指令系统2.1 数据表示新的研究成果,如浮点数基值的选择新的数据表示方法,如自定义数据表示2.1.1 数据表示与数据类型2.1.2 浮点数的设计方法2.1.3 自定义数据表示2.1.1 数据表示与数据类型数据的类型:文件、图、表、树、阵列、队列、链表、栈、向量、串、实数、整数、布尔数、字符数据表示的定义:数据表示研究的是计算机硬件能够直接识别,可以被指令系统直接调用的那些数据类型。
例如:定点、逻辑、浮点、十进制、字符、字符串、堆栈和向量确定哪些数据类型用数据表示实现,是软件与硬件的取舍问题确定数据表示的原则:一是缩短程序的运行时间,二是减少CPU与主存储器之间的通信量,三是这种数据表示的通用性和利用率。
例2.1:实现A=A+B,A和B均为200×200的矩阵。
分析向量指令的作用解:如果在没有向量数据表示的计算机系统上实现,一般需要6条指令,其中有4条指令要循环4万次。
因此,CPU与主存储器之间的通信量:取指令2+4×40,000条,N m m e r =⋅ 读或写数据3×40,000个,共要访问主存储器7×40,000次以上如果有向量数据表示,只需要一条指令减少访问主存(取指令)次数:4×40,000次缩短程序执行时间一倍以上数据表示在不断扩大,如字符串、向量、堆栈、图、表用软件和硬件相结合的方法实现新的数据表示例如:用字节编址和字节运算指令来支持字符串数据表示用变址寻址方式来支持向量数据表示2.1.2 浮点数的设计方法1、浮点数的表示方式 一个浮点数N 可以用如下方式表示:需要有6个参数来定义。
两个数值:m :尾数的值,包括尾数的码制(原码或补码)和数制(小数或整数) e :阶码的值,移码(偏码、增码、译码、余码等)或补码,整数两个基值:r m :尾数的基值,2进制、4进制、8进制、16进制和10进制等r e :阶码的基值,通常为2两个字长:p :尾数长度,当r m =16时,每4个二进制位表示一位尾数q :阶码长度,阶码部分的二进制位数p 和q 均不包括符号位浮点数的存储式 1位 1位 q 位 p 位m fe f e m 注:m f 为尾数的符号位,e f 为阶码的符号位,e 为阶码的值,m 为尾数的值。
2、浮点数的表数范围尾数为原码尾数用原码、纯小数,阶码用移码、整数时,规格化浮点数N 的表数范围:---⋅≤≤-⋅-111r r N r r m m p m m q e q e r r ()尾数为补码尾数用补码表示时,正数区间的表数范围与尾数采用原码时完全相同,而负数区间的表数范围为:q e qe r r r N r r r m m p m m ----≤≤-+⋅-11() 浮点数在数轴上的分布情况上溢 下溢(浮点零) 上溢-N min 负数区 -N max 0 N min 正数区 N max例2.2:设p =23,q =7,r m =r e =2,尾数用原码、纯小数表示,阶码用移码、整数表示,求规格化浮点数N 的表数范围。
解:规格化浮点数N 的表数范围是:1227722321122-≤≤-⋅--N () 即: -129231272122≤≤-⋅-N () 例2.3:尾数用补码、纯小数表示,阶码用移码、整数表示,p =6,q =6,r m =16,r e =2,求规格化浮点数N 的表数范围。
解: 规格化浮点数N 在正数区间的表数范围是:-656631611616≤≤-⋅-N () 在负数区间的表数范围是: 63664161616116-≤≤-+⋅--N () 3、浮点数的表数精度(误差)产生误差的根本原因是浮点数的不连续性误差产生的直接原因有两个:一是两个浮点数都在浮点集内,而运算结果却可能不在这个浮点集内, 二是数据从十进制转化为2、4、8、16进制,产生误差。
规格化尾数的表数精度为:δ(,)()r p p m m r =--121 最后1个有效位的可信度为一半,当r m =2时,有:δ(,)()222121p p p ==⋅---4、浮点数的表数效率浮点数是一种冗余数制(Redundat Number System)浮点数的表数效率定义为:η==⋅⋅-⋅⋅+⋅⋅⋅-可表示的规格化浮点数的个数全部浮点数个数2121221()r r r r r m m e m ep q p q 简化表示:η()r r r m m m=-1当尾数基值为2时,浮点数的表数效率为:η()221250%=-= 浮点数的表数效率随r m 增大当尾数基值r m =16时,浮点数的表数效率为:η()161611694%=-= 尾数基值r m =16与r m =2相比,浮点数的表数效率提高了:T ==ηη()().1621875倍4、浮点数尾数基值的选择在表示浮点数的6个参数中,只有尾数基值r m 、尾数长度p 和阶码长度q与表数范围、表数精度和表数效率有关在字长确定的情况下,如何选择尾数基值r m ,使表数范围最大、表数精度和表数效率最高;假设有两种表示方式F1和F2,它们二进制字长相同,尾数都用原码或补码、小数表示,阶码都用移码、整数表示,阶码的基均为2,尾数的基不同。
浮点数表示方式F1:尾数基值r m1=2,尾数长度p1,阶码长度q1, 二进制字长:L1=p1+q1+2。
浮点数表示方式F2:尾数基值r m2=2k ,尾数长度p2,阶码长度q2, 二进制字长:L2=k p2+q2+2。
由F1与F2的二进制字长相同,即L1=L2,得:p1+q1=k p2+q2 (2.1)字长和表数范围确定时,尾数基值r m 与表数精度的关系F1的表数范围是:q N 1212||max =,F2的表数范围是:|max |()N q k 2222=,F1与F2的表数范围相同,得到:q q k 1222=⋅两边取以2为底的对数,得到:q1=q2+log 2 k (2.2)把(2.2)式代入(2.1)式,得到:p1=k p2-log 2 k (2.3)F1的表数精度是:δ111122=⋅-p (2.4) 把(2.3)代入(2.4)得到:δ112122=⋅-+kp k log F2的表数精度是:δ212122=⋅⋅-k p () 取F2与F1表数精度的比值:T k k ==--δδ2112log (2.5) 只有k =1(尾数基值r m =2)或k =2(尾数基值r m =4)时,比值T =1。
结论1:在字长和表数范围一定时,尾数基值r m 取2或4,浮点数具有最高的表数精度。
字长和表数精度一定,尾数基值r m 与表数范围的关系由F1与F2的表数精度相同得到:1221221112⋅=⋅--p p k () 即: p1=kp2-k +1 (2.6) 把(2.6)代入(2.1)得到:q1=q2+k -1 (2.7)F1的表数范围:q q k q k 121212222222==+--⋅ F2的表数范围:q q k k 222222()=⋅ 假设表数范围F2大于F1,则阶码的最大值F2大于F1:q q k k k k 22112222⋅>⋅--> 即这个不等式在正整数定义域内没有解,即不存在比F1的表数范围更大的浮点数表示方式只有k =1(尾数基值r m =2)或k =2(尾数基值r m =4)时,F2阶码的最大值等于F1阶码的最大值。
结论2:在字长和表数精度一定时,尾数基值r m 取2或4,浮点数具有最大的表数范围。
推论1:在字长确定之后,尾数基值r m 取2或4,浮点数具有最大的表数范围和最高的表数精度。
例2.4:IBM 370系列计算机的短浮点数表示方式,尾数基值r m =16,尾数字长为16进制6位,阶码基值r m =2,阶码字长6位,尾数用原码、小数表示,阶码用移码、整数表示。
求表数范围和表数精度,并尾数基址r m =2的浮点数表示方式进行比较。
解: 表数精度为:δ==⋅---121626121() 表数范围是:N max ==62256162若尾数基值r m =2,则有:1222121⋅=---()p 解得p =21,则q =32-21-2=9,它的表数范围是:N max ==9251222推论2:浮点数的尾数基值r m 取2,并采用隐藏位表数方法是最佳的浮点数表示方式。
这种浮点数表示方式能做到表数范围最大、表数误差最小、表数效率最高。
目前,IBM 公司的IBM360、370、4300系列机等,尾数基值r m =16。
Burroughs 公司的B6700、B7700等大型机,尾数基值r m =8。
DEC 公司的PDP-11、VAX-11和Alpha 等小型机,CDC 公司的CDC6600、CYBER70等大型机,Intel 公司的x86系列机等均采用尾数基值r m =2。
5、浮点数格式的设计定义浮点数表示方式的6个参数的确定原则:尾数:多数机器采用原码、小数表示采用原码制表示:加减法比补码表示复杂,乘除法比补码简单表示非常直观。
采用小数表示能简化运算,特别是乘除法运算。
阶码:一般机器都采用整数、移码表示采用移码表示的主要原因是:浮点0与机器0一致。
阶码进行加减运算时,移码的加减法运算要比补码复杂尾数的基值r m 选择2,阶码的基值r e 取2,浮点数格式设计的关键问题是:在表数范围和表数精度给定的情况下,如何确定最短的尾数字长p 和阶码字长q例2.5:要求设计一种浮点数格式,其表数范围不小于1037,正、负数对称,表数精度不低于10-16。
解:根据表数范围的要求:q 2137210-> 解这个不等式:q >+=log(log /log )log .3710212695 取阶码字长q =7 根据表数精度的要求,得到:12211610⋅--<-(P ) 解这个不等式:p >-=-log log .16102532由于浮点数字长通常是8的倍数,因此取尾数字长p =55所设计浮点数的格式如下:1位 1位 7位 55位 m f e f e M所设计浮点数的主要参数如下:最大尾数值:()()11255-=---p r m绝对值最小的尾数值:112r m = 最大阶码:q r e -=-=1211277最小阶码:-=-=-q r e 72128最大正数:7215555127381112212217010--⋅=-⋅-⋅⨯----==(p q r r m e m r )()().; 最小正数:--⋅=⋅⨯--==72129391122214710r r m e m q r .; 最大负数:---⋅=-⋅⨯--=-=-72129391122214710r r m e m q r .; 最小负数:7215555127381112212217010---⋅--⋅-⋅⨯----=-=-(p q r r m e m r )()().;表数精度:δ=⋅⋅==⨯------=112222781015515517r r m m p ()().; 浮点零:浮点零与机器零相同,64位全为0;表数效率:采用隐藏位,表数效率η=100%;6、浮点数的舍入处理浮点数要进行舍入处理的原因是:十进制实数转化为浮点数时,有效位长度超过给定的尾数字长。