计算机组成与系统结构课后答案全清华大学出版社袁春风主编
- 格式:docx
- 大小:163.34 KB
- 文档页数:59
第一章计算机系统结构的基本概念1. 有一个计算机系统可按功能分成4 级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M 倍,即第i 级的一条指令能完成第i-1 级的M 条指令的计算量。
现若需第i 级的N 条指令解释第i+1 级的一条指令,而有一段第 1 级的程序需要运行Ks ,问在第 2 、3 和 4 级上一段等效程序各需要运行多长时间?答:第2 级上等效程序需运行:(N/M)*Ks 。
第 3 级上等效程序需运行:(N/M)*(N/M)*Ks 。
第4 级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks 。
note: 由题意可知:第i 级的一条指令能完成第i-1 级的M 条指令的计算量。
而现在第i 级有N 条指令解释第i+1 级的一条指令,那么,我们就可以用N/M 来表示N/M 表示第i+1 级需(N/M) 条指令来完成第i 级的计算量。
所以,当有一段第 1 级的程序需要运行Ks 时,在第 2 级就需要(N/M)Ks ,以此类推2. 硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。
答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。
但是实现的性能价格比,实现的难易程序不同。
在DOS 操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡(硬件)上,而随着CPU硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。
3. 试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。
答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。
(1) 计算机的系统结构相同,但可采用不同的组成。
如IBM370 系列有115、125 、135、158 、168 等由低档到高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/ 主存,通道、设备控制器,外设 4 级构成。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。
执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。
在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序,用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中,机器一旦启动,就能按照程序指定的逻辑顺序执行这些程序,自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
第二章计算机指令集结构设计名词解释1.堆栈型机器——CPU中存储操作数的单元是堆栈的机器。
2.累加型机器——CPU中存储操作数的单元是累加器的机器。
3.通用寄存器型机器——CPU中存储操作数的单元是通用寄存器的机器。
4.CISC——复杂指令集计算机。
5.RISC——精简指令集计算机。
@2.2堆栈型机器、累加器型机器和通用寄存器型机器各有什么优缺点2.3常见的三种通用寄存器型机器的优缺点各有哪些指令集结构设计所涉及的内容有哪些(1)指令集功能设计:主要有RISC和CISC两种技术发展方向;(2)寻址方式的设计:设置寻址方式可以通过对基准程序进行测试统计,察看各种寻址方式的使用频度,根据适用频度设置相应必要的寻址方式;(3)操作数表示和操作数类型:主要的操作数类型和操作数表示的选择有,浮点数据类型(可以采用IEEE 754标准)、整型数据类型(8位、16位、32位的表示方法)、字符型(8位)、十进制数据类型(压缩十进制和非压缩十进制数据表示)等等。
(4)寻址方式的表示:可以将寻址方式编码与操作码中,也可将寻址方式作为一个单独的域来表示。
(5)((6)指令集格式的设计:有固定长度编码方式、可变长编码方式和混合编码方式三种选择。
简述CISC计算机结构指令集功能设计的主要目标。
从当前的计算机技术观点来看,CISC结构有什么缺点CISC结构追求的目标是强化指令功能,减少程序的指令条数,以达到提高性能的目的。
从目前的计算机技术观点来看,CISC结构存在以下几个缺点:(1)在CISC结构的指令系统中,各种指令的使用频率相差悬殊。
(2)CISC结构的指令系统的复杂性带来了计算机体系结构的复杂性,这不仅增加了研制时间和成本,而且还容易造成设计错误。
(3)CISC结构的指令系统的复杂性给VLSI设计带来了很大负担,不利于单片集成。
(4)CISC结构的指令系统中,许多复杂指令需要很复杂的操作,因而运行速度慢。
(5)^(6)在结构的指令系统中,由于各条指令的功能不均衡性,不利于采用先进的计算机体系结构技术(如流水技术)来提高系统的性能。
计算机组织与结构期终试卷(2000.7)姓名___________ 学号____________ 成绩___________考试时间为120分钟。
请把答案写在试卷上或是答题纸上。
一.填空题. (1’×20)1. ___________在计算机的发展中起了决定作用,其次是_________和_______也起了重要的作用。
2. ________________________________________称为互联结构。
3.十进制数66.125的二进制表示为1000010.001 ,八进制表示为102.1,十六进制表示为42.2。
4.8位补码表示的定点整数的表数范围为___________________。
5.PCI总线的全称(用英文):Peripheral Component Interconnect 。
6.高速缓存的写策略有 FIFO 和 LRU 两种。
7.堆栈的基本特点是LIFO。
8.典型的微指令格式有水平型和垂直型两种。
9.SCSI接口是小型计算机系统接口。
10.造成流水线阻塞的主要原因有_______________________和_______________________。
11.一个指令周期包括______________,______________和_____________三个部分。
二.选择题(2’×10)1.Pentium系列计算机都具有相同的D。
A。
计算机组织B。
计算机软件C。
计算机硬件D。
计算机结构2.用来控制多个高速设备的I/O控制方法是B。
A.编程I/OB.选择通道C.中断驱动I/OD.DMA3.假设IEE标准的浮点数的格式是符号位1位,阶码是5位整数的移码,尾数为6B。
A. 011001001111B. 101010001111C. 111001001111D. 101111100000 4.高速缓存是依据A原理来设计的。
A. 程序执行的局部性原理B. 静态双极型存储器的高速存取C. CPU对存储器的频繁访问D. 主存信息的易失性5.主要用于解决程序重定位问题,实现逻辑地址向物理地址的变换,在系统管理程序中的特权指令中使用的寻址方式是 BA. 相对寻址B. 基址寻址C. 寄存器间接寻址D. 变址寻址6.间接周期是用来C。
一、填空题(20每空2分)1.计数制中使用的数据个数被称为。
(基)2.移码常用来表示浮点数的部分,移码和补码比较,它们除外,其他各位都相同。
(阶码,符号位)3.码值80H:若表示真值0,则为;若表示-128,则为;若表示-127,则为;若表示-0,则为。
(移码补码反码原码)4. 在浮点运算过程中,如果运算结果的尾数部分不是形式,则需要进行规格化处理。
设尾数采用补码表示形式,当运算结果时,需要进行右规操作;当运算结果时,需要进行左规操作。
(规格化溢出不是规格化数)二、选择题(20每题2分)1.以下给出的浮点数,______是规格化浮点数。
(B)A.2^-10×0.010101 B.2^-11×0.101010C.2^-100×1.010100 D.2^-1×0.00101012.常规乘除法器乘、除运算过程采用部分积、余数左移的做法,其好处是______。
(C)A.提高运算速度 B. 提高运算精度C. 节省加法器的位数D. 便于控制3.逻辑异运算10010011和01011101的结果是。
(B)A.01001110B.11001110C.11011101D.100011104.浮点数尾数基值rm=8,尾数数值部分长6位,可表示的规格化最小正尾数为。
(C)1.A.0.5 B.0.25 C.0.125 D.1/645.当浮点数尾数的基值rm=16,除尾符之外的尾数机器位数为8位时,可表示的规格化最大尾数值是。
(D)A.1/2B.15/16C.1/256D.255/2566.两个补码数相加,采用1位符号位,当时表示结果溢出。
(D)A、符号位有进位B、符号位进位和最高数位进位异或结果为0C、符号位为1D、符号位进位和最高数位进位异或结果为17.运算器的主要功能时进行。
(C)A、逻辑运算B、算术运算C、逻辑运算和算术运算D、只作加法8.运算器虽有许多部件组成,但核心部件是。
计算机组成原理和系统结构课后答案1.1概述数字计算机的发展经过了哪几个代?各代的基本特征是什么?略。
1.2你学习计算机知识后,准备做哪方面的应用?略。
1.3抓举一个你所熟识的计算机应用例子。
略。
1.4计算机通常存有哪些分类方法?你比较介绍的存有哪些类型的计算机?略。
1.5计算机硬件系统的主要指标存有哪些?答:机器字长、存储容量、运算速度、可配置外设等。
答:计算机硬件系统的主要指标有:机器字长、存储容量、运算速度等。
1.6什么就是机器字长?它对计算机性能存有哪些影响?答:指cpu一次能处理的数据位数。
它影响着计算机的运算速度,硬件成本、指令系统功能,数据处理精度等。
1.7什么就是存储容量?什么就是主存?什么就是辅存?答:存储容量指的是存储器可以存放数据的数量(如字节数)。
1它包括主存容量和辅存容量。
主存所指的就是cpu能通过地址线轻易出访的存储器。
例如内存等。
辅存所指的就是cpu无法轻易出访,必须通过i/oUSB和地址变换等方法就可以出访的存储器,例如硬盘,u盘等。
1.8根据下列题目的描述,找出最匹配的词或短语,每个词或短语就可以采用一次。
(1)为个人使用而设计的计算机,通常有图形显示器、键盘和鼠标。
(2)计算机中的核心部件,它执行程序中的指令。
它具有加法、测试和掌控其他部件的功能。
(3)计算机的一个组成部分,运行态的程序和相关数据置于其中。
(4)处理器中根据程序的指令指示运算器、存储器和i/o设备做什么的部件。
(5)嵌入在其他设备中的计算机,运行设计好的应用程序实现适当功能。
(6)在一个芯片中集成几十万到上百万个晶体管的工艺。
(7)管理计算机中的资源以便程序在其中运行的程序。
(8)将高级语言翻译成机器语言的程序。
2(9)将指令从助记符号的形式翻译成二进制码的程序。
(10)计算机硬件与其底层软件的特定连接纽带。
供选择的词或短语:1、汇编器2、嵌入式系统3、中央处理器(cpu)4、编译器5、操作系统6、控制器7、机器指令8、台式机或个人计算机9、主存储器10、vlsi请问:(1)8,(2)3,(3)9,(4)6,(5)2,(6)10,(7)5,(8)4,(9)1,(10)7计算机系统有哪些部分组成?硬件由哪些构成?答:计算机系统硬件系统和软件系统组成。
第1章计算机系统结构的基本概念1.1 解释下列术语层次机构:按照计算机语言从低级到高级的次序.把计算机系统按功能划分成多级层次结构.每一层以一种不同的语言为特征。
这些层次依次为:微程序机器级.传统机器语言机器级.汇编语言机器级.高级语言机器级.应用语言机器级等。
虚拟机:用软件实现的机器。
翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序.然后再在这低一级机器上运行.实现程序的功能。
解释:对于高一级机器上的程序中的每一条语句或指令.都是转去执行低一级机器上的一段等效程序。
执行完后.再去高一级机器取下一条语句或指令.再进行解释执行.如此反复.直到解释执行完整个程序。
计算机系统结构:传统机器程序员所看到的计算机属性.即概念性结构与功能特性。
在计算机技术中.把这种本来存在的事物或属性.但从某种角度看又好像不存在的概念称为透明性。
计算机组成:计算机系统结构的逻辑实现.包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现.包括处理机、主存等部件的物理结构.器件的集成度和速度.模块、插件、底板的划分与连接.信号传输.电源、冷却及整机装配技术等。
系统加速比:对系统中某部分进行改进时.改进后系统性能提高的倍数。
Amdahl定律:当对一个系统中的某个部件进行改进后.所能获得的整个系统性能的提高.受限于该部件的执行时间占总执行时间的百分比。
程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的.而是相对地簇聚。
包括时间局部性和空间局部性。
CPI:每条指令执行的平均时钟周期数。
测试程序套件:由各种不同的真实应用程序构成的一组测试程序.用来测试计算机在各个方面的处理性能。
存储程序计算机:冯·诺依曼结构计算机。
其基本点是指令驱动。
程序预先存放在计算机存储器中.机器一旦启动.就能按照程序指定的逻辑顺序执行这些程序.自动完成由程序所描述的处理工作。
系列机:由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机。
计算机系统结构基本习题和答案填空题1、从(使用语言的)角度可以将系统看成是按(功能)划分的多个机器级组成的层次结构。
2、计算机系统结构的层次结构由高到低分别为(应用语言机器级,高级语言机器级,汇编语言机器级,操作系统机器级,传统机器语言机器级,微程序机器级)。
3、应用程序语言经(应用程序包)的(翻译)成高级语言程序。
4、高级语言程序经(编译程序)的(翻译)成汇编语言程序。
5、汇编语言程序经(汇编程序)的(翻译)成机器语言程序。
6、在操作系统机器级,一般用机器语言程序(解释)作业控制语句。
7、传统机器语言机器级,是用(微指令程序)来(解释)机器指令。
8、微指令由(硬件)直接执行。
9、在计算机系统结构的层次结构中,机器被定义为(能存储和执行相应语言程序的算法和数据结构)的集合体。
10、目前M0由(硬件)实现,M1用(微程序(固件))实现,M2到M5大多用(软件)实现。
以(软件)为主实现的机器成为虚拟机。
(虚拟机)不一定全用软件实现,有些操作也可用(固件或硬件)实现。
11、透明指的是(客观存在的事物或属性从某个角度看不到),它带来的好处是(简化某级的设计),带来的不利是(无法控制)。
12、计算机系统结构也称(计算机体系结构),指的是(传统机器级的系统结构)。
它是(软件和硬件/固件)的交界面,是机器语言汇编语言程序设计者或编译程序设计者看到的(机器物理系统)的抽象。
13、计算机组成指的是(计算机系统结构的逻辑实现),包括(机器级内的数据流和控制流)的组成及逻辑设计等。
计算机实现指的是(计算机组成的物理实现),它着眼于(器件)技术和(微组装)技术。
14、确定指令系统中是否要设乘法指令属于(计算机系统结构),乘法指令是用专门的高速乘法器实现还是用加法器实现属于(计算机组成),乘法器和加法-移位器的物理实现属于(计算机实现)。
15、主存容量与编址方式的确定属于(计算机系统结构),主存是否采用多体交叉属于(计算机组成),主存器件的选定属于(计算机实现)。
计算机组成原理第五章部分课后题答案常用的I/O编址方式有两种:I/O与内存统一编址和I/O独立编址·I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备与主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。
·I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。
I/O设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。
·程序直接控制方式:也称查询方式,采用该方式,数据在CPU和外设间的传送完全靠计算机程序控制,CPU的操作和外围设备操作同步,硬件结构简单,但由于外部设备动作慢,浪费CPU时间多,系统效率低。
·程序中断方式:外设备准备就绪后中断方式猪肚通知CPU,在CPU相应I/O设备的中断请求后,在暂停现行程序的执行,转为I/O 设备服务可明显提高CPU的利用率,在一定程度上实现了主机和I/O设备的并行工作,但硬件结构负载,服务开销时间大·DMA方式与中断方式一样,实现了主机和I/O设备的并行工作,由于DMA 方式直接依靠硬件实现贮存与I/O设备之间的数据传送,传送期间不需要CPU程序干预,CPU可继续执行原来的程序,因此CPU利用率和系统效率比中断方式更高,但DMA方式的硬件结构更为复杂。
比较程序查询方式、程序中断方式和DMA方式对CPU工作效率的影响。
·程序查询方式:主要用于CPU不太忙且传送速度不高的情况下。
无条件传送方式作为查询方式的一个特例,主要用于对简单I/O设备的控制或CPU明确知道外设所处状态的情况下。
·中断方式:主要用于CPU的任务比较忙的情况下,尤其适合实时控制和紧急事件的处理· DMA方式(直接存储器存取方式):主要用于高速外设进行大批量数据传送的场合。
第2章数据的表示南京大学计算机系多媒体技术研究所袁春风数字化信息编码数字系统定浮点表示非数值数据的编码表示逻辑数据多媒体信息二进制信息的计量单位对所下的定义是数据是对事实概念或指令的一种特殊表达形式这种特殊的表达形式可以用人工的方式或者用自动化的装置进行通信翻译转换或者进行加工处理在计算机内部数字文字图画声音活动特殊的表达形式就是二进制编码形式故在计算机系统中所指的数据均是以二进制编码形式出现的数值型数据非数值型数据指数字类数据它可用来表示数量的多少可以比较其大小非数值型数据包括字符型数据表示视频等的多媒体数据以及逻辑数据是对人有用的数据这些数据将可能影响到人们的行为与决策客观存在的事实概念或指令的一种可供加工特殊表达形式而信息却强调对人有用信息处理实质上就是由计算机进行数据处理的过程也即是通过数据的采集和输入有效地把数据组织到计算机中由计算机系统对数据进行相应的处理加工如存储建库转换合并分类计算统计汇总传送等操作最后向人们提供有用的信息这个全过程就是信息处理一般情况下不严格区分数据和信息媒体媒介媒质指承载信息的载体感觉媒体使人类听觉视觉嗅觉味觉和触觉器官直接产生感觉的一类媒体如声音文字图画气味等表示媒体为了使计算机能有效加工处理传输感觉媒体而在计算机内部采用的特殊表示形式即声文图活动图像的二进制编码表示存储媒体用于存放表示媒体以便计算机随时加工处理的物理实体如磁盘光盘半导体存储器等表现媒体用于把感觉媒体转换成表示媒体表示媒体转换为感觉媒体的物理设备前者是计算机的输入设备如盘扫描仪话筒等后者是计算机的输出设备如显示器打机音箱等传输媒体用来将表示媒体机的通信载体如同轴电缆光纤电话线等是编码单的号对大量的组合基本符和要素例如用10个阿拉伯数字表示数值电报进制数字表示汉字等等都例子计算机内部处理的所有信息都是了的数据是一种表示媒体信息就是对感觉媒体信息进行定时采信息转换为计算机中的离散信息然信息进行二进制编码计算机内部采用二进制编码为什么计算机内部的数据若定的值即在数到其对应的点则称其为数值数据定数值数据的值的进位计数制定浮点表示和数的编码表示数值数据的表示方大类直接用二进制数表示简码一般地任意进制数其值应为! " 可以是! " # $ % & ' ( )个数字符号一个 ! 数它数字符的个数 ! 称为位上的权算时每位计位进一逢十2只号01算时采用如二进制数表的实际值是(+ 0x21+ 一般地一个二进制数B=bbn其值应为的数字说在个数字系统中若号0 12R-1表示位上的数字则R数制或称R进制数字系统R数字系统的基采 逢算规则对于i其位上的i在计算机系统中常种基本除基取余上乘基取整上除基取余上乘基取整上除基取余上乘基取整上的小数部分总0 此值(13.724) (2B.5E) (0. (11进制阅读太长书写阅读均不方便八进制数却像进制数一样简练易写易记易读虽然使用二进制一种计数制但序调序阅读码时的方便人们经常进制或二进制什么问题在机器内部的表示问题1定点表示约定小数点的位置定在最左右边纯小数形式小数点左边即:0.xx x对于存放在一个存器中的定点小数X其表示范围为-n|X|1-2-n数形式小数点右边即:xx对于存放在一个位寄X其表示范围为0|X|21在计算机内部只能表示一定范围限数小于能表示的最小数则计算机把它当0处理大于能表示的最大数则发 溢小用定点数来进行运出大计算机的表数范围一般采用浮点表示法2浮点表示为采用浮点表示小用浮点表示可定点小数2-n|X|1数0|X|2一个数 都可以表示成阶码定点整数位数决定其表数范围数定点小数位数精度致范围基数隐含约定一般取绝对值最小的数是如下形式的数0.0...01xR-11 (1)绝对值最大的数的形式应为0.11...1xR11 (1)虽然扩范围但并没有增加数值的个数位编码个数什么问题在机器内部的表示问题一个浮点数可用一个定点整数和一个定点小数来表示因此只需要考虑定点数的编码表示有来表示负号样符样其1这种处理称为数字化一般定正号1表负号数值数据在计算机内部编码表示的数称为机器数而的值即原的数称为设值为= X X 1X 当数时= 0 . X X n当为定点小数时数字化编码后的机器数表示为X = Xn研究数值数据的编码问题就是解决机器数Xi问题是数的符位一般定数时X0X=Xi =Xi-n数时X1通的编码表示原码补码反码时对于不的编码方式X的取值有不的规定规则符值的数值故也称定点数[X n + |X-2T0n码数值部分的位数小数[XT +|XT| -T种表示形式[+0]=0 001 00特点与系直观方便故与用算比较便但规则复杂算要判是两数相减若是则必须判对值大小并断结果决定结果符号2补规则符码故也称符法1模运机器数的位数有限n的数所以算过程中可能的数即出现用n 无法表示的情况此时计算机一般位舍弃高位样会种结果剩下的位数不能正确结果也即是运的一部分这种情况下意着运出了计算机能表达的范围我此时现象表达计算结果也即并不影响其结果结果呢一种处理n然丢去商保留的操作这模运 算中若A B M系A=B+K*M K 数则记为A B mod M即A B以M数相同故称B和A为模同余也就是说在一个模运系统中一个数与它除以模到的余数是等的问题举例 系统其2定钟 点要向点则拨法倒拨格1格186mod 12所以在系统中10-4 10+8(mod即-4 12) 8是-4对的补码同样有-3 9mod 2-5 7mod 2等等述例子与同余的概念可得出如下的结论定的模某数减去小于模一数总可以用另一数绝对值之差代替 这实际上就是为原因补算这来后就可以不用象符号对值大小等了例10-4=0+8=6 mod 22 算系统相当的算盘9828-928=9828+(=9828+8072==7900mod 42补根据系可法一个该之差即某负码为[X| (mod M)n其中符位数值部分位码表示的定义如下数[XT ]补=2| -2XT0mod 2n小数[X]| -1XT0mod 2的表示是一的0=0 0定义0 (n-n)看数和小数内对于整码有[-码有[-上码中的 表示的只其所在位置所以实际上码小数表示与结果同都是符1数值部分为0 -2分别补码小数和码整的最小负数6求负码表示解[-0.0110=10负数的求法求前述例子单方法求 符号1其取反后末尾加1所得值的简便方法 若符1则真负其数值部分的位由补各位后末尾所得补码法取反末尾即可 最小负出即最小后的码表示不存在知X0求解[X+2-7T知[X0求T 解X= -110T知[X0求解[-X=03变#这种4因此码#目的便于结果是出#采用双位表示位右定义变形1其中符位数值部分位则变码表示的定义如下0mod 21定点数[X1-|X|-2XT0mod 4定点小数[X|X| -1XT知X 11假位求变补解[X T ]变补11= 01知X 位T ]变补解[X =4-0.3反负数的码表示符1数值部分求反也即在相应的补基础减1定义码的位数为n其中符位数值部分位码表示的定义如下=(2数[XT反0mod 2n-1T小数[X0mod 2-2T零有种01注1从出反补码若是二进制数即R=2那么当为n位定点数编码(即m=0)时模为21为m位定点小数编码(即n=)时模(2-2 ) ) 2反下进行的所以) 0 (mod R即R)这意着若运即最)就须把它加到去这循环进位举例用45= :9828.928..45)=7900 mod4编码的总1机器数与0其数值部分值的数值部分1数值位的表示码同真值的数值位码真取反末1码真取反由编码值则反的过程只要位 1 转换成 负号即可2零法零3加补码和待可以和数值位一算原码和代处理4表数原码和是对称的假位数为n即编码位时原码的表数都是整数21小数1-n的表示范围不对称负数表示的范围正数宽能多表示一个最小负数-2n或5移"对于的定点数应采用算术位方式也即对数值部分位而符号位不动"在计算机内部移位器中进行移定所以移变一位意味倍即移位后的/2右出高相应的位数移出时可能使有效数字失所以要考虑入方式一位意味着原倍即倍左出低相应的位数后数值若干倍因此会发出如下左移高出末0移时发出右移高0低出移舍入操作码左移高出末0移出非符时发出右移高符低出移舍入操作码左移高出末符移出非符时发出右移高符低出移出时进行舍入操作6填充在计算机内部有时个数此要进行处理对于定点小数在位进行数在符位后的数值位进行定点小数在0定点数符变在数的符号0定点小数在0定点数符变在数的符号所的位数用来表示数值时该数一般在全部是合下可以位使用数表示例算符了一位符号位所以在字长的情况下数码补码等不分它的编码形式就是一般的二进制形式数的小数点在数的最后时则该数例如最大的11111111B其值为255一个时则该号小数例如最大的小数形式也是B 其值为1-2-8入浮点数的表示数或纯小数并小定点数表示的位编码其中一位符位小数而般的实数此外其表数比定点数多码表示数也可以是数当时必须阶比较并使相等为化比较操作使涉符可对加上一个正数称为置数使所有阶都数这就是移码表示移码的定义设 阶所移码位数为 则为偏则, .格化数的位数表示数的有效数位有效数位多数据高为了在浮点数运算过程中尽保留效数字的位数使有效数字占满尾数数位必须经常格化操作数字即则则 格式补码表示数则规为尾位和最高位码种数则当结果的形式时需移阶减1直到止这个过程称为 左规数则当结果的形式时并不一定出应位1然判断阶出这个过程称为右组成数符阶码尾浮点数格式如下位数符位 偏 $ % " 位$码小数表示的进制数此种浮点数形式解因 $ 所以即位数符位 码偏位 码规格化一位总是 故存即有 位但位数据码是对称的故对称即解因浮点数形式表示为111 000单形式48838880H当运码过小时的而浮点数分的越远稀疏浮点数的情况下其多则尾少即表数大则精度差数变稀疏数的大小对范围的影响大则范围大但精度变低数变稀疏格式格式格式范围精度扩展为码表示偏为 因 则码为 而全 用来表示一些特殊值故不能表示到 最大能是 这小了若 则 ! 故最大 表数范围增大码表示规为的格式。
0计算机组成与结构课后习题及答案0计算机组成与结构课后习题及答案计算机组成与结构课后习题及部分答案第1章计算机系统概述1.概述计算机发展经过了哪几代?2.计算机由那些部分组成?3.计算机有哪些分类方法4.计算机硬件系统的性能指标有哪些?5.冯诺依曼计算机的主要设计思想是什么?6.什么是机器字长?它对计算机性能有何影响?7.计算机的工作过程是怎样的?8.计算机的应用领域有哪些?9.从第三代计算机开始,C技术出现并得到发展A.电子管B.晶体管C.集成电路D. CPU10.冯诺依曼计算机中指令和数据都采用D表示。
A.十进制B.八进制C.十六进制D.二进制11.冯·诺依曼计算机工作的基本方式的特点是B。
A.多指令流单数据流B.按地址访问并顺序执行指令C.堆栈操作D.存储器按内容选择地址12.对于一个给定的程序,I N表示执行程序中的指令总数,t CPU 表示执行该程序所需CPU时间,T为时钟周期,f为时钟频率(T的倒数),Nc为CPU 时钟周期数。
设CPI表示每条指令的平均时钟周期数,MIPS表示CPU 每秒钟执行的百万条指令数,请写出如下四种参数的表达式:(1) t CPU (2) CPI (3) MIPS (4) Nc答:(1) t CPU=Nc×T(2) CPI=Nc/I N(3) MIPS=I N/ (t CPU×106) = I N/ (Nc×T×106)第2章数据的表示和运算1.在定点二进制运算器中,减法运算一般是通过D来实现。
A.原码运算的二进制减法器B.补码运算的二进制减法器C.原码运算的十进制加法器D.补码运算的二进制加法器2.假定下列字符码中有奇偶校验位,但没有数据错误,采用偶校验的字符码是DA .11001011B .11010110 C.11000001D.110010013.已知X为整数,且[X]补=10011011,则X的十进制数值是B。
第 1 章 习 题 答 案 5.若有两个基准测试程序P1和P2在机器M1和M2上运行,假定M1和M2的价格分别是5000元和8000元,下表给出了P1和P2在M1和M2上所花的时间和指令条数。
程序 M1 M2 指令条数 执行时间(ms) 指令条数 执行时间(ms) P1 200×106 10000 150×106 5000 P2 300×103 3 420×103 6
请回答下列问题: (1) 对于P1,哪台机器的速度快快多少对于P2呢 (2) 在M1上执行P1和P2的速度分别是多少MIPS在M2上的执行速度又各是多少从执行速度来看,对于P2,哪台机器的速度快快多少 (3) 假定M1和M2的时钟频率各是800MHz和,则在M1和M2上执行P1时的平均时钟周期数CPI各是多少 (4) 如果某个用户需要大量使用程序P1,并且该用户主要关心系统的响应时间而不是吞吐率,那么,该用户需要大批购进机器时,应该选择M1还是M2为什么(提示:从性价比上考虑) (5) 如果另一个用户也需要购进大批机器,但该用户使用P1和P2一样多,主要关心的也是响应时间,那么,应该选择M1还是M2为什么 参考答案: (1) 对于P1,M2比M1快一倍;对于P2,M1比M2快一倍。 (2) 对于M1,P1的速度为:200M/10=20MIPS;P2为300k/=100MIPS。 对于M2,P1的速度为:150M/5=30MIPS;P2为420k/=70MIPS。 从执行速度来看,对于P2,因为100/70=倍,所以M1比M2快倍。 (3) 在M1上执行P1时的平均时钟周期数CPI为:10×800M/(200×106)=40。 在M2上执行P1时的平均时钟周期数CPI为:5×(150×106)=40。 (4) 考虑运行P1时M1和M2的性价比,因为该用户主要关心系统的响应时间,所以性价比中的性能应考虑执行时间,其性能为执行时间的倒数。故性价比R为: R=1/(执行时间×价格) R越大说明性价比越高,也即,“执行时间×价格”的值越小,则性价比越高。 因为10×5000 > 5×8000,所以,M2的性价比高。应选择M2。 (5) P1和P2需要同等考虑,性能有多种方式:执行时间总和、算术平均、几何平均。 若用算术平均方式,则:因为 (10+/2×5000 > (5+/2×8000,所以M2的性价比高,应选择M2。 若用几何平均方式,则:因为sqrt(10× ×5000 < sqrt(5× ×8000,所以M1的性价比高,应选择M1。 6.若机器M1和M2具有相同的指令集,其时钟频率分别为1GHz和。在指令集中有五种不同类型的指令A~E。下表给出了在M1和M2上每类指令的平均时钟周期数CPI。 机器 A B C D E M1 1 2 2 3 4 M2 2 2 4 5 6
请回答下列问题: (1)M1和M2的峰值MIPS各是多少 (2)假定某程序P的指令序列中,五类指令具有完全相同的指令条数,则程序P在M1和M2上运行时,哪台机器更快快多少在M1和M2上执行程序P时的平均时钟周期数CPI各是多少 参考答案: (1)M1上可以选择一段都是A类指令组成的程序,其峰值MIPS为1000MIPS。 M2上可以选择一段A和B类指令组成的程序,其峰值MIPS为1500/2=750MIPS。 (2)5类指令具有完全相同的指令条数,所以各占20%。 在M1和M2上执行程序P时的平均时钟周期数CPI分别为: M1:20%×(1+2+2+3+4)= ×12 = M2:20%×(2+2+4+5+6)= ×19 = 假设程序P的指令条数为N,则在M1和M2上的执行时间分别为: M1:× N×1/1G = (ns) M2:×N×1/ = N (ns) M1执行P的速度更快,每条指令平均快,也即M1比M2快×100%≈5%。 (思考:如果说程序P在M1上执行比M2上快 –/×100%= %,那么,这个结论显然是错误的。请问错在什么地方) 7.假设同一套指令集用不同的方法设计了两种机器M1和M2。机器M1的时钟周期为,机器M2的时钟周期为。某个程序P在机器M1上运行时的CPI为4,在M2上的CPI为2。对于程序P来说,哪台机器的执行速度更快快多少 参考答案: 假设程序P的指令条数为N,则在M1和M2上的执行时间分别为: M1:4 N× = (ns) M2:2 N× = N (ns) 所以,M2执行P的速度更快,每条指令平均快,比M1快×100%=25%。 8.假设某机器M的时钟频率为4GHz,用户程序P在M上的指令条数为8×109,其CPI为,则P在M上的执行时间是多少若在机器M上从程序P开始启动到执行结束所需的时间是4秒,则P占用的CPU时间的百分比是多少 参考答案: 程序P在M上的执行时间为:×8×109×1/4G = s,从启动P执行开始到执行结束的总时间为4秒,其中秒是P在CPU上真正的执行时间,其他时间可能执行操作系统程序或其他用户程序。 程序P占用的CPU时间的百分比为:4 = %。 9.假定某编译器对某段高级语言程序编译生成两种不同的指令序列S1和S2,在时钟频率为500MHz的机器M上运行,目标指令序列中用到的指令类型有A、B、C和D四类。四类指令在M上的CPI和两个指令序列所用的各类指令条数如下表所示。 A B C D 各指令的CPI 1 2 3 4 S1的指令条数 5 2 2 1 S2的指令条数 1 1 1 5
请问:S1和S2各有多少条指令CPI各为多少所含的时钟周期数各为多少执行时间各为多少 参考答案: S1有10条指令,CPI为 (5×1+2×2+2×3+1×4)/10=, 所含的时钟周期数为10×=19,执行时间为19/500M = 38ns。 S2有8条指令,CPI为 (1×1+1×2+1×3+5×4)/8 =, 所含的时钟周期数为8×=26,执行时间为26/500M = 52ns。 (注:从上述结果来看,对于同一个高级语言源程序,在同一台机器上所生成的目标程序不同,其执行时间可能不同,而且,并不是指令条数少的目标程序执行时间就一定少。) 10.假定机器M的时钟频率为,某程序P在机器M上的执行时间为12秒钟。对P优化时,将其所有的乘4指令都换成了一条左移2位的指令,得到优化后的程序P’。已知在M上乘法指令的CPI为5,左移指令的CPI为2,P的执行时间是P’执行时间的倍,则P中有多少条乘法指令被替换成了左移指令被执行 参考答案: 显然,P’的执行时间为10秒,因此,P比P’多花了2秒钟,因此,执行时被换成左移指令的乘法指令的条数为×2/(5–2) = 800M。
第 二 章 习 题 答 案 3.实现下列各数的转换。 (1) 10= ()2= () 8= () 16
(2) 2 = ()10= () 8= () 16= () 8421
(3) (0101 1001 8421 = ()10= () 2= () 16
(4) 16 = ()10= () 2
参考答案: (1) 10 = (1 2 = 8 = 16
(2)2 = 10 = 8 = 16 = (0100 0111 0101) 8421
(3)(0101 1001 8421 = 10 …) 2 = …) 16
(4)16 = 10 = (0100 2
4. 假定机器数为8位(1位符号,7位数值),写出下列各二进制数的原码和补码表示。 +,–,+,–,+,–,+0,–0 参考答案: 原码 补码 +: –: +: 溢出 溢出 –: 溢出 +: –: +0: –0: 5. 假定机器数为8位(1位符号,7位数值),写出下列各二进制数的补码和移码表示。 +1001,–1001,+1,–1,+10100,–10100,+0,–0 参考答案: 移码 补码 +1001: –1001: 01110111 – –10100: 01101100 – 6. 已知 [x]补,求x (1)[x]补= (2)[x]补 (3)[x]补= (4)[x]补 参考答案: (1)[x]补= x = – (2)[x]补 x = ––128 (3)[x]补= x = + (4)[x]补 x = – 101101B = – 45 7.假定一台32位字长的机器中带符号整数用补码表示,浮点数用IEEE 754标准表示,寄存器R1和R2的内容分别为R1:0000108BH,R2:8080108BH。不同指令对寄存器进行不同的操作,因而,不同指令执行时寄存器内容对应的真值不同。假定执行下列运算指令时,操作数为寄存器R1和R2的内容,则R1和R2中操作数的真值分别为多少 (1) 无符号数加法指令 (2) 带符号整数乘法指令 (3) 单精度浮点数减法指令 参考答案: R1 = 0000108BH = 0000 0000 0000 0000 0001 0000 1000 1011b R2 = 8080108BH = 1000 0000 1000 0000 0001 0000 1000 1011b (1)对于无符号数加法指令,R1和R2中是操作数的无符号数表示,因此,其真值分别为R1:108BH, R2:8080108BH。 (2)对于带符号整数乘法指令,R1和R2中是操作数的带符号整数补码表示,由最高位可知, R1为正数, R2为负数。R1的真值为+108BH, R2的真值为–(0111 1111 0111 1111 1110 1111 0111 0100b + 1b) = –7F7FEF75H。 (3)对于单精度浮点数减法指令,R1和R2中是操作数的IEEE754单精度浮点数表示。在IEEE 754 标准中,单精度浮点数的位数为32位,其中包含1位符号位,8位阶码,23位尾数。 由R1中的内容可知,其符号位为0,表示其为正数,阶码为0000 0000,尾数部分为000 0000 0001 0000 1000 1011,故其为非规格化浮点数,指数为–126,尾数中没有隐藏的1,用十六进制表示尾数为+,故R1表示的真值为+ × 10-126。 由R2中的内容可知,其符号位为1,表示其为负数,阶码为0000 0001, 尾数部分为000 0000 0001 0000 1000 1011,故其为规格化浮点数,指数为1–127 = –126,尾数中有隐藏的1,用十六进制表示尾数为–,故R2表示的真值为– × 10-126 8.假定机器M的字长为32位,用补码表示带符号整数。下表第一列给出了在机器M上执行的C语言程序中的关系表达式,请参照已有的表栏内容完成表中后三栏内容的填写。 关系表达式 运算类型 结果 说明 0 == 0U –1 < 0 –1 < 0U –1 > –2 (unsigned) –1 > –2 无符号整数 有符号整数 无符号整数 有符号整数 无符号整数 有符号整数 有符号整数 无符号整数 1 1 0 1 0 1 1 1 00…0B = 00…0B 11…1B (–1) < 00…0B (0) 11…1B (232–1) > 00…0B(0) 011…1B (231–1) > 100…0B (–231)