计算机科学导论第2章-答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章计算机体系结构与组织
习题(答案)
一.选择题
1.D 2.D 3.D 4.D
5.C
6.B 7.A 8. C 9.A
10.C
11.A 12.C 13.C 14.C 15.A
16.A 17.B 18.A
二.简答题
1.试简单叙述计算机采用二进制的原因。
答:计算机只认识二进制编码形式的指令和数据。
因此,包括数字、字符、声音、图形、图像等信息都必须经过某种方式转换成二进制的形式,才能提供给计算机进行识别和处理。
在计算机中采用二进制,是因为物理上实现容易。
由于二进制只有两个状态0和1,这正好与物理器件的两种状态相对应,例如电压信号的高与低,门电路的导通与截止等;而十进制电路则需要用十种状态来描述,这将使得电路十分复杂,处理也十分困难。
因此,采用二进制将使得计算机在物理上实现简单,且具有可靠性高、处理简单、抗干扰能力强等优点。
2.什么是定点数,它分为哪些种类?
答:所谓定点数,就是指计算机在运算过程中,数据中小数点的位置固定不变。
其中小数点的位置是由计算机设计者在机器的结构中指定一个不变的位置,而不一定都必须具有小数点的指示装置。
定点数一般有小数和整数两种表示形式。
定点小数是把小数点固定在数据数值部分的左边,符号位的右边;定点整数则把小数点固定在数据数值部分的右边。
3.简要叙述声音的编码过程。
答:计算机获取声音信息的过程即是声音信号数字化的处理过程。
经过数字化处理后的数字声音信息才能被计算机所识别和处理。
声音被计算机处理的过程主要经过音频信号
的采样、量化和编码几个过程。
4.简述计算机软件系统的分类。
(系统软件和应用软件两方面)
软件是指能在计算机上运行的各种程序,包括各种有关的文档。
通常将软件分为系统软件和应用软件两大类。
1.系统软件
可以把软件分成若干层,最内层是对硬件的扩充与完善,而外层则是对内层的再次扩充与完善。
一般把靠近内层、为方便使用和管理计算机资源的软件,称为系统软件。
系统软件通常是负责管理、控制和维护计算机的各种软硬件资源,并为用户提供一个友好的操作界面,以及服务于一般目的的上机环境。
系统软件包括操作系统、计算机的监控管理程序、高级程序设计语言的编译和解释程序以及系统服务程序等。
操作系统在系统软件中处于核心地位,其他的系统软件在操作系统的支持下工作;高级程序设计语言的编译和解释程序,将软件工程师编写的软件“翻译”成为计算机能够“理解”的机器语言;系统服务程序为计算机系统的正常运行提供服务。
2.应用软件
应用软件是针对某个应用领域的具体问题而开发和研制的程序,它由专业人员为各种应用目的而开发。
应用软件必须在系统软件的支持下才能工作,它具有很强的实用性和专业性,正是由于应用软件的开发和使用,才使得计算机的应用日益渗透到社会的各行各业。
应用软件可以由用户自己开发,也可在市场上购买。
常用的应用软件有:文字处理软件,如WPS、Word等;电子表格软件,如Excel、Lotus等;图形处理软件,如3DMAX等;课件制作软件,如PowerPoint、Authorware等;多媒体处理软件,如RealPlay、MediaPlayer等。
5.存储器的功能是什么?
答:现代计算机是以存储器为中心的计算机系统,存储器是计算机的重要组成部分。
当利用计算机完成某项任务时,首先把解决问题的程序和所需数据存于存储器中,在执行程序时再由存储器快速地提供给处理机。
显然,存储器的功能是存储信息,被
存储的信息包括程序信息和数据信息等。
6. 存储器的主要指标是什么?
答:存储器作为计算机系统的核心部件之一,有必要对其性能进行描述。
描述一
个存储器性能优劣的主要指标有存储容量、存储周期和存取时间、可靠性、性能价格比、功耗、可靠性等。
7. 简述存储器的三级存储体系分层结构。
三级结构的存储器系统,是围绕读写速度尚可、存储容量适中的主存储器来组织
和运行的,并由高速缓冲存储器缓解主存读写速度慢、不能满足CPU运行速度需要的矛盾;用虚拟存储器更大的存储空间来解决主存容量小、存不下规模更大的程序与更
多数据的难题,从而达到使整修存储器系统有更高的读写速度、更大的存储空间、相对较低的制造与运行成本的要求。
追求整修存储器系统有更高的性能价格比是三级存储体系结构的核心思想。
这种三级结构的存储器系统的运行原理是建立在程序运行的局部性原理之上的。
程序运行的局部性原理体现在:
(1) 时间的局部性原理。
在一小段时间内,最近被访问过的程序和数据很可能再次被访问。
(2) 空间局部性原理。
即最近被往往集中在一小片存储区域中。
(3) 指令执行顺序的局部性原理。
指令顺序执行比转移执行的可能性要大。
在三级结构的存储器系统中,所存储的信息必须满足如下原则:
●一致性原则
即同一个信息会同时存放在几个级别的存储器中,此时,这一信息在几个级别的存储器中必须保持相同的值。
●包含性原则
处在内层(即靠近CPU)存储器中的信息一定被包含在各外层的存储器中,即内层存储器中的全部信息一定是各外层存储器中所存信息中一小部分的副本,这是保证程序正常运行、实现信息共享、提高系统资源利用率所必需的,反之则不成立。
8. 简述多核的关键技术。
与单核处理器相比,多核处理器在体系结构、软件、功耗和安全性设计等方面面临着巨大的挑战,但也蕴含着巨大的潜能。
1.核结构研究
CMP的构成分成同构和异构两类,同构是指内部核的结构是相同的,而异构是指内部的核结构是不同的。
为此,面对不同的应用研究核结构的实现对未来微处理器的性能至关重要。
核本身的结构,关系到整个芯片的面积、功耗和性能。
怎样继承和发展传统处理器的成果,直接影响多核的性能和实现周期。
同时,根据 Amdahl定理,程序的加速比决定于串行部分的性能,所以,从理论上来看似乎异构微处理器的结构具有更好的性能。
多核所用的指令系统对系统的实现也是很重要的,采用多核之间采用相同的指令系统还是不同的指令系统,能否运行操作系统等,也将是研究的内容之一。
2.程序执行模型
多核处理器设计的首要问题是选择程序执行模型。
程序执行模型的适用性决定多核处理器能否以最低的代价提供最高的性能。
程序执行模型是编译器设计人员与系统实现人员之间的接口。
编译器设计人员决定如何将一种高级语言程序按一种程序执行模型转换成一种目标机器语言程序; 系统实现人员则决定该程序执行模型在具体目标机器上的有效实现。
当目标机器是多核体系结构时,产生的问题是:多核体系结构如何支持重要的程序执行模型?是否有其他的程序执行模型更适于多核的体系结构?这些程序执行模型能多大程度上满足应用的需要并为用户所接受?
3.Cache设计:多级Cache设计与一致性问题
处理器和主存间的速度差距对CMP来说是个突出的矛盾,因此必须使用多级Cache来缓解。
目前有共享一级Cache的CMP、共享二级Cache的CMP以及共享主存的CMP。
通常,CMP采用共享二级Cache的CMP结构,即每个处理器核心拥有私有的一级Cache,且所有处理器核心共享二级 Cache。
Cache自身的体系结构设计也直接关系到系统整体性能。
但是在CMP结构中,共享Cache或独有Cache孰优孰劣、需不需要在一块芯片上建立多级Cache,以及建立几级Cache等等,由于对整个芯片的尺寸、功耗、布局、性能以及运行效率等都有很大的影响,因而这些都是需要认真研究和探讨的问题。
另一方面,多级Cach e又引发一致性问题。
采用何种Cache一致性模型和机制都将对CMP整体性能产生重要影响。
在传统多处理器系统结构中广泛采用的Cache一致性模型有: 顺序一致性模型、弱一致性模型、释放一致性模型等。
与之相关的Cache一致性机制主要有总线的侦听协议和基于目录的目录协议。
目前的CMP系统大多采用基于总线的侦听协议。
4.核间通信技术
CMP处理器的各CPU核心执行的程序之间有时需要进行数据共享与同步,因此其硬件结构必须支持核间通信。
高效的通信机制是CMP处理器高性能的重要保障,目前比较主流的片上高效通信机制有两种,一种是基于总线共享的Cache结构,一种是基于片上的互连结构。
总线共享Cache结构是指每个CPU内核拥有共享的二级或三级Cache,用于保存比较常用的数据,并通过连接核心的总线进行通信。
这种系统的优点是结构简单,通信速度高,缺点是基于总线的结构可扩展性较差。
基于片上互连的结构是指每个CPU核心具有独立的处理单元和Cache,各个CPU 核心通过交叉开关或片上网络等方式连接在一起。
各个CPU核心间通过消息通信。
这种结构的优点是可扩展性好,数据带宽有保证;缺点是硬件结构复杂,且软件改动较大。
也许这两者的竞争结果不是互相取代而是互相合作,例如在全局范围采用片上网络而局部采用总线方式,来达到性能与复杂性的平衡。
5.总线设计
传统微处理器中,Cache不命中或访存事件都会对CPU的执行效率产生负面影响,而总线接口单元(BIU)的工作效率会决定此影响的程度。
当多个CPU 核心同时要求
访问内存或多个CPU核心内私有Cache同时出现Cache不命中事件时,BIU对这多个访问请求的仲裁机制以及对外存储访问的转换机制的效率决定了CMP系统的整体性能。
因此寻找高效的多端口总线接口单元(BIU)结构,将多核心对主存的单字访问转为更为高效的猝发(burst)访问,同时寻找对CMP处理器整体效率最佳的一次Burst访问字的数量模型以及高效多端口BIU访问的仲裁机制将是CMP处理器研究的重要内容。
6.操作系统设计:任务调度、中断处理、同步互斥
对于多核CPU,优化操作系统任务调度算法是保证效率的关键。
一般任务调度算
法有全局队列调度和局部队列调度。
前者是指操作系统维护一个全局的任务等待队列,当系统中有一个CPU核心空闲时,操作系统就从全局任务等待队列中选取就绪任务开
始在此核心上执行。
这种方法的优点是CPU核心利用率较高。
后者是指操作系统为每
个CPU内核维护一个局部的任务等待队列,当系统中有一个CPU内核空闲时,便从该核心的任务等待队列中选取恰当的任务执行,这种方法的优点是任务基本上无需在多个CPU核心间切换,有利于提高CPU核心局部Cache命中率。
目前多数多核CPU操
作系统采用的是基于全局队列的任务调度算法。
多核的中断处理和单核有很大不同。
多核的各处理器之间需要通过中断方式进行
通信,所以多个处理器之间的本地中断控制器和负责仲裁各核之间中断分配的全局中
断控制器也需要封装在芯片内部。
另外, 多核CPU是一个多任务系统。
由于不同任务
会竞争共享资源,因此需要系统提供同步与互斥机制。
而传统的用于单核的解决机制
并不能满足多核,需要利用硬件提供的“读-修改-写”的原子操作或其他同步互斥机制来保证。
7.低功耗设计
半导体工艺的迅速发展使微处理器的集成度越来越高,同时处理器表面温度也变
得越来越高并呈指数级增长,每三年处理器的功耗密度就能翻一番。
目前,低功耗和
热优化设计已经成为微处理器研究中的核心问题。
CMP的多核心结构决定了其相关的
功耗研究是一个至关重要的课题。
低功耗设计是一个多层次问题,需要同时在操作系统级、算法级、结构级、电路级等多个层次上进行研究。
每个层次的低功耗设计方法
实现的效果不同——抽象层次越高,功耗和温度降低的效果越明显。
8.存储器
为了使芯片内核充分地工作,最起码的要求是芯片能提供与芯片性能相匹配的存
储器带宽,虽然内部Cache的容量能解决一些问题,但随着性能的进一步提高,必须
有其他一些手段来提高存储器接口的带宽,如增加单个管脚带宽的DDR、DDR2、
QDR、XDR等。
同样,系统也必须有能提供高带宽的存储器。
所以,芯片对封装的要
求也越来越高,虽然封装的管脚数每年以20%的数目提升,但还不能完全解决问题,而且还带来了成本提高的问题,为此,怎样提供一个高带宽,低延迟的接口带宽,是必须解决的一个重要问题。
9.可靠性及安全性设计
随着技术革新的发展,处理器的应用渗透到现代社会的各个层面,但是在安全性
方面却存在着很大的隐患。
一方面,处理器结构自身的可靠性低下,由于超微细化与
时钟设计的高速化、低电源电压化,设计上的安全系数越来越难以保证,故障的发生
率逐渐走高。
另一方面,来自第三方的恶意攻击越来越多,手段越来越先进,已成为
具有普遍性的社会问题。
现在,可靠性与安全性的提高在计算机体系结构研究领域备
受注目。
今后,CMP这类处理器芯片内有多个进程同时执行的结构将成为主流,再加上硬
件复杂性、设计时的失误增加,使得处理器芯片内部也未必是安全的,因此,安全与
可靠性设计任重而道远。
9. 什么是高性能计算机?
答:高性能计算机的概念并无明确的定义,一般认为运算速度非常快的计算机就
可以认为是高性能计算机。
严格地讲,高性能计算机是一个拥有最先进的硬件、软件、网络和算法的综合概念,“高性能”的标准是随着技术的发展而发展的。
10. 什么是接口?它的主要功能是什么?
答:在主机与外设进行数据交换时必领引入相应的逻辑部件解决两者之间的同步
与协调、数据格式转换等问题,这些逻辑部件就称为输入输出接口,简称为接口。
输
入输出接口的基本功能有:
(1)实现数据缓冲,提供主机和设备交换信息过程中的数据缓冲机构,使主机与外设在工作速度上达到匹配。
(2)实现数据格式的转换,例如,当主机和设备的信号同谋不同时的信号电平转换功能、数据传送中的格式(串行、并行)转换功能、直接内存访问中的额外需求等。
(3)提供外设和接口的状态,为 CPU更好地控制各种外设提供有效的帮助,交换主机和外围设备的状态信息。
(4)实现主机与外设之间的通讯联络控制,实现主机与设备之间的数据交换。
11. 简述并行算法的基本内容。
并行算法是在给定并行模型下的一种具体明确的计算方法和步骤,其分类有不同
的分类方法。
根据并行计算任务的大小分类,可以分为粗粒度并行算法、中粒度并行算法和细
粒度并行算法三类。
粗粒度并行算法所含的计算任务有较大的计算量和较复杂的计算
程序;中粒度并行算法所含的计算任务的大小和计算程序的长短在粗粒度和细粒度两
种类型的算法之间;细粒度并行算法所含的计算任务有较小的计算量和较短的计算程序。
根据并行计算的基本对象可分为数值并行计算和非数值并行计算。
非数值计算也
会用于高精度数值计算,数值计算中也会有查找、匹配等非数值计算成分,这两者之
间并无严格的界限。
实际分类时,主要是根据主要的计算量所属范畴以及宏观的计算
方法来判断。
根据并行计算进程间的依赖关系可以分为同步并行算法和异步并行算法。
前者是
通过一个全局的时钟来控制各部分的步伐,将任务中的各个部分计算同步地向前推进;而后者执行的各部分计算步伐之间没有关联,互不同步,在操作中,它们根据计算过
程的不同阶段决定等待、继续或终止。
同步并行算法适合于SIMD并行计算机,异步
并行算法适合于MIMD并行计算机。
一个高效的并行算法设计过程比较复杂。
一般编程设计过程可以分为任务划分、
通信分析、任务组合和处理器映射四步。
任务划分阶段主要将整个使用域或功能分解
成一些小的计算任务,它的目的是要揭示和开拓并行执行的机会;通信分析则检测在
任务划分阶段划分的合理性;任务组合按照性能要求和实现的代价来考察前两个阶段
的结果,必要时可以将一些小的任务组合成更大的任务以提高执行效率和减少通信开销;处理器映射决定将每一个任务分配到哪个处理器上去执行,目的是要最小化全局
执行时间和通讯成本,并最大化处理器的利用率。
12. 什么是网络计算机?它有什么优点?
答:网络计算机(NETWORK COMPUTER)简称NC,是专用于高速网络环境下的计算机终端设备。
是基于处理器芯片和网络基础的新一代计算机产品,是一种新的桌面计
算机。
NC除了有人机交互必需的显示器,键盘鼠标外,它没有硬盘,软盘,光驱等外部存储设备,是一种瘦客户机。
网络计算机具有以下优点:
(1)易管理,维护简单,使用方便。
(2)网络计算机没有硬盘,软盘和光盘,也没有风扇,在硬件方面没有什么可维护的地方,大大减少了计算机网络的维护工作,成本低廉。
(3)安全性强,无论是防止病毒的侵犯,还是资料维护的安全,NC都比PC要好的多。
(4)静音节能,高可靠网络计算机没有任何噪音,非常安静。
网络计算机的功耗非常小。
三.讨论题
1. 为什么计算机使用二进制,而不使用人们生活中的十进制来表示数据信息。
答案略。
2. 计算机系统的存储器分为哪几个层次?(原题已删除)
答案略。
3. 网络计算机有许多优点,请结合其特点谈谈我国发展网络计算机的前途。
答案略。