2024年1月12日发(作者:库绣梓)
第1章 概 述
习题(答案)
一.选择题
1. D 2.C 3.D 4.B 5.A
6. B 7. CD 8.C 9.A 10. ABC
11.A 12.C 13.B 14.B 15. A
16.A 17.C 18.A 19. ABC 20.B
22.C 23. ABCDE
二.简答题
1.举例说明石子计数的过程
早上放10头牛出去,就拿10颗小石子表示,晚上牛回来清数时,就以小石子的数量来逐个进行清点,看看是否一致。
2.简述计算机的发展阶段
计算机的出现是20世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致经历了四个阶段。
1. 第一代计算机(1946—1957)
其主要特征是逻辑器件使用了电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。第一台计算机需要工作在有空调的房间里,如果希望它处理什么事情,需要把线路重新连接接,把成千上万的线重新焊接。
1949年发明了可以存储程序的计算机,这些计算机使用机器语言编程,可存储信息和自动处理信息,存储和处理信息的方法开始发生革命性的变化。
第一代计算机体积大、运算速度低、存储容量小、可靠性低。几乎没有什么软件配置,主要用于科学计算。尽管如此,第一代计算机却奠定了计算机的技术基础,如二进制、自动计算及程序设计等,对以后计算机的发展产生了深远的影响。其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。
2. 第二代计算机(1958—1964)
其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算部件,利用I/O处理机提高了输入输出能力。这不仅使得计算机的体积缩小了很多,同时增加了机器的稳定性并提高了运算速度,而且计算机的功耗减小,价格降低。在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。除应用于科学计算外,它还开始应用在数据处
理和工业控制等方面。其代表机型有IBM7090、IBM7094、CDC7600等。
3. 第三代计算机(1965—1972)
其主要特征是用半导体中、小规模集成电路(Integrated Circuit,IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显著减小,而计算速度和存储容量却有较大提高,可靠性也大大加强。在软件方面则广泛地引入多道程序、并行处理、虚拟存储系统和功能完备的操作系统,同时还提供了大量的面向用户的应用程序。计算机开始定向标准化、模块化、系列化,此外,计算机的应用进入到许多科学技术领域。代表机器有IBM 360系列、富士通F230系列等。
4. 第四代计算机(1972年至今)
其主要特征是使用了大规模和超大规模集成电路,使计算机沿着两个方向飞速向前发展。一方面,利用大规模集成电路制造多种逻辑芯片,组装出大型、巨型计算机,使运算速度向每秒十万亿次、百万亿次及更高速度发展,存储容量向百兆、千兆字节发展,巨型机的出现,推动了许多新兴学科的发展。另一方面,利用大规模集成电路技术,将运算器、控制器等部件集成在一个很小的集成电路芯片上,从而出现了微处理器。微型计算机、笔记本型和掌上型等超微型计算机的诞生是超大规模集成电路应用的直接结果,并使计算机很快进入到寻常百姓家。完善的系统软件、丰富的系统开发工具和商品化的应用程序的大量涌现,以及通信技术和计算机网络的飞速发展,使得计算机进入了一个快速发展的阶段。
现在很多国家正在研制新一代的计算机,新一代计算机将是微电子技术、光学技术、超导技术、电子仿生技术等多学科相结合的产物。它能进行知识处理、自动编程、测试和排错,以及用自然语言、图形、声音和各种文字进行输入和输出。新一代计算机的研究目标是打破计算机现有的体系结构,使得计算机能够具有像人那样的思维、推理和判断能力。已经实现的非传统计算技术有超导计算、量子计算、生物计算、光计算等。未来的计算机可能是超导计算机、量子计算机、生物计算机、光计算机、纳米计算机或DNA计算机等。
3. 简述中国计算机的发展历程。
1. 华罗庚和我国第一个计算机科研小组
华罗庚教授是我国计算技术的奠基人和最主要的开拓者之一。当冯·诺依曼开创性地提出并着手设计EDVAC时,正在美国 Princeton大学工作的华罗庚教授参观过他的实验室,并经常与他讨论有关学术问题。1952年,全国大学院系进行调整,他从清华大学电机系物色了闵乃大、夏培肃和王传英三位科研人员,在他担任所长的中国科学院数学所内建立了中国第一个电子计算机科研小组。1956年,在筹建中科院计算技术研究所时,华罗庚教授担任筹备委员会主任。
2. 第一代电子管计算机研制(1958—1964)
我国从1957年开始研制通用数字电子计算机,1958年8月1日该机研制成功,可以表演短程序运行,标志着我国第一台电子计算机诞生。为纪念这个日子,该机定名为八一型数字电子计算机。该机在738厂开始小量生产,改名为103型计算机(即DJS-1型),共生产38台。
1958年5月我国开始了第一台大型通用电子计算机(104机)研制(如图1.2所示),以前苏联当时正在研制的БЭСМ-II计算机为蓝本,在前苏联专家的指导帮助下,中科院计算所、四机
部、七机部和部队的科研人员与738厂密切配合,于1959年国庆节前完成了研制任务。
在研制104机同时,夏培肃院士领导的科研小组首次自行设计于1960年4月研制成功一台小型通用电子计算机,即107机,1964年我国第一台自行设计的大型通用数字电子管计算机119机研制成功,平均浮点运算速度达到5万次/每秒。
(3) 第二代晶体管计算机研制(1965—1972)
1965年研制成功的我国第一台大型晶体管计算机(109乙机,共用2万多支晶体管,3万多支二极管)。对109乙机加以改进,两年后又推出109丙机,为用户运行了15年,有效算题时间10万小时以上,在我国两弹试验中发挥了重要作用,被用户誉为“功勋机”。
同时华北计算所先后研制成功108机、108乙机(DJS-6)、121机(DJS-21)和 320机(DJS-6),并在738厂等五家工厂生产。哈军工(国防科大前身)于1965年2月成功推出了441B晶体管计算机并小批量生产了40多台。
(4) 第三代基于中小规模集成电路的计算机研制(1973—20世纪80年代初)
我国于1970年初期陆续推出大、中、小型采用集成电路的计算机。1973年,北京大学与北京有线电厂等单位合作研制成功运算速度每秒100万次的大型通用计算机。进入80年代,我国高速计算机,特别是向量计算机有了新的发展。1983年中国科学院计算所完成我国第一台大型向量机(757机,如图1.6所示)计算速度达到1000万次/每秒。
同年,国防科技大学研制的银河-Ⅰ亿次巨型计算机(如图1.7所示)是我国高速计算机研制的一个重要里程碑,它标志着我国文革动乱时期与国外拉大的距离又缩小到7年左右(银河-Ⅰ的参考机克雷-Ⅰ于1976年推出)。
(5) 第四代基于超大规模集成电路的计算机研制(20世纪80年代中期至今)
和国外一样,我国第四代计算机研制也是从微机开始的。1980年初我国很多单位也开始采用Z80、X86和M6800芯片研制微机。1983年12月电子部六所研制成功与IBM PC机兼容的DJS-0520微机。
1992年国防科技大学研究成功银河-Ⅱ通用并行巨型机,峰值速度达4亿次/每秒浮点运算(相当于每秒10亿次基本运算操作),总体上达到80年代中后期国际先进水平。
从上世纪90年代初开始,国际上采用主流的微处理机芯片研制高性能并行计算机已成为一种发展趋势。1993年,国家智能计算机研究开发中心成功研制曙光一号全对称共享存储多处理机;1995年,该中心又推出了中国第一台具有大规模并行处理机(MPP)结构的并行机曙光1000(含36个处理机),峰值速度25亿次/每秒浮点运算,实际运算速度上了10亿次/每秒浮点运算这一高性能台阶。
1997年国防科技大学成功研制银河-Ⅲ百亿次并行巨型计算机系统,采用可扩展分布共享存储并行处理体系结构,由130多个处理结点组成,峰值性能为130亿次/每秒浮点运算,系统综合技术指标达到90年代中期国际先进水平。
国家智能计算机研究开发中心与曙光公司于1997至1999年先后在市场上推出具有机群结构的曙光1000A,曙光2000-Ⅰ,曙光2000-Ⅱ超级服务器,峰值计算速度已突破1000亿次/每秒浮点运算,机器规模已超160个处理机。2000年推出浮点运算速度3000亿次/每秒的曙光3000超级服务器。 2004年上半年推出每秒浮点运算速度1万亿次/每秒的曙光4000超级服务
器。
4.举例说明计算机微型化的最新产品
列举当前的平板电脑,说明其特点即可。
5.网上搜索最新的计算机娱乐方式
社交娱乐如微信、易信等,手机游戏如打飞机、神庙逃亡等,家庭娱乐如数字影院、体感游戏等。
6.什么是计算机系统?
计算机系统是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存储的系统,由计算机硬件系统和计算机软件系统两大部分组成。
7. 简述计算机硬件系统的五大部分。
① 运算器
运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU),是计算机对数据进行加工处理的部件,它的主要功能是对二进制数进行加、减、乘、除等算术运算和与、或、非等基本逻辑运算,实现逻辑判断。运算器是在控制器的控制之下实现其功能的,运算结果由控制器发出的指令送到内存储器中。
② 控制器
控制器主要由指令寄存器、译码器、程序计数器和操作控制器等组成,控制器是用来控制计算机各部件协调工作,并使整个处理过程有条不紊地进行。它的基本功能就是从内存中取出指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
通常把运算器、控制器集成在一个大规模集成电路板上称为中央处理器,又称CPU(Central
Processing Unit)。
③ 存储器
存储器是计算机的记忆装置,用于存放原始数据、中间数据、最终结果和处理程序。为了对存储的信息进行管理,把存储器划分成存储单元,每个单元的编号称为该单元的地址。各种存储器基本上都是以1个字节作为一个存储单元。存储器内的信息是按地址存取的,如要访问存储器中的某个信息,就必须知道它的地址。向存储器里存入信息也称为“写入”,写入新的内容将覆盖原来的内容。从存储器里取出信息也称为“读出”,信息读出后并不破坏原来存储的内容,因此信息可以重复读出,多次利用。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备、外存储器等。
④输入和输出设备
输入和出设备简称I/O(Input/Output)设备。用户通过输入设备将程序和数据输入计算机,输出设备将计算机处理的结果(如数字、字母、符号和图形)显示或打印出来。常用的输入设备有:键盘、鼠标器、扫描仪、数字化仪等;常用的输出设备有:显示器、打印机、绘图仪等。
8.请解释冯•诺依曼所提出的“存储程序”概念。
把程序和数据都以二进制的形式统一存放在存储器中,由机器自动执行。不同的程序解决不同的问题,实现了计算机通用计算的功能。
9.控制器的主要功能是什么?
控制器基本功能就是从内存中取指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
10.简述CPU和主机的概念。
通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(Central
Processing Unit)。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。
11.什么是计算机软件?计算机软件的分类有哪些?
软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。
计算机软件系统分为系统软件和应用软件。计算机系统软件由操作系统、语言处理系统、以及各种软件工具等各种软件程序组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。应用软件是用户利用计算机软、硬件资源为解决各类应用问题而编写的软件,包括用户程序及其说明性文件资料。
12.计算机有哪些主要的特点?
(1)运算速度快、精度高
计算机的字长越长,其精度越高,现在世界上最快的计算机每秒可以运算几十万亿次以上。一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。
(2)具有逻辑判断和记忆能力
计算机有准确的逻辑判断能力和高超的记忆能力。能够进行各种逻辑判断,并根据判断的结果自动决定下一步应该执行的指令。
(3)高度的自动化和灵活性
计算机采取存储程序方式工作,即把编好的程序输入计算机,机器便可依次逐条执行,这就使计算机实现了高度的自动化和灵活性。
13. 简述计算机系统的主要技术指标。
评价计算机的性能指标有很多,通常人们从计算机的字长、时钟周期和主频、运算速度、内存容量、数据输入输出最高速率等技术指标来评价计算机系统。
1.字长
在计算机中,用若干二进制位表示一个数或一条指令,前者称为数据字,后者称为指令字。字长的直接影响计算机的功能强弱、精度高低和速度快慢。计算机处理数据时,一次可以运算的数据长度称为一个“字”(Word),字的长度称为字长。一个字可以是一个字节(Byte,简称B),也可以是多个字节。常用的字长有8位(bit)、16位、32位、64位等。如某一类计算机的字由4个字节组成,则字的长度为32位,相应的计算机称为32位机。
2.时钟周期和主频
计算机的中央处理器对每条指令的执行是通过若干个微指令操作来完成的,这些微指令操作是按时钟周期的节拍来“动作”的,时钟周期的微秒数反映出计算机的运算速度。有时也用时钟周期的倒数——时钟频率(兆频),即人们常说的主频来表示。一般说来,主频越高(时钟周期越短),计算机的运算速度越快。但是,主频并不能全面准确地反映计算机的运算速度,而每秒钟执行百万条指令数(MIPS)指标则能较全面准确地反映计算机的运算速度。近十年来,微计算机的主频提高很快,例如,IBM PC/XT微机的CPU主频为4.77MHz,而Pentium 4 CPU的主频己超过1GMHz,并且在不断提高。
3.运算速度
计算机的运算速度是衡量计算机水平的一项主要指标,它取决于指令执行时间。运算速度的计算方法多种多样,目前常用单位时间内执行多少条指令来表示,而计算机执行各种指令所需时间不同。因此,常根据在一些典型题目计算中,各种指令执行的频度以及每种指令的执行时间来折算出计算机的等效速度。
4.内存容量
存储器的容量反映计算机记忆信息的能力,它常以字节为单位表示。存储器的容量越大,则存储的信息越多,计算机的功能越强。
计算机中的操作大多是与内存交换信息,但内存的存取速度相对CPU的算术和逻辑运算的速度要低1~2个数量级。因此,内存的读写速度也是影响计算机运行速度的主要因素之一。
为了度量信息存储容量,将8位二进制位(8bits)称为1个字节,字节是计算机中数据处理和存储容量的基本单位。1024个字节称为1K字节(1KB),1024K个字节称1兆字节(1MB),1024M个字节称为1G字节(1GB),1024G个字节称为1T字节(1TB),现在微型计算机主存容量大多数在兆字节以上。
5.数据输入输出最高速率
主机与外部设备之间交换数据的速率也是影响计算机系统工作速度的重要因素。由于各种外部设备本身工作的速度不同,常用主机所能支持的数据输入输出最大速率来表示。
14.计算机的分类有哪些?
根据计算机工作原理和运算方式的不同,以及计算机中信息表示形式和处理方式的不同,计算机可分为数字式电子计算机(Digital Computer)、模拟式电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer)。当今广泛应用的是数字计算机,因此,常把数字式电子计算机(Electronic Digital Computer)简称为电子计算机或计算机。
按计算机的用途可分为通用计算机(General Purpose Computer)和专用计算机(Special
Purpose Computer )两大类。通用计算机能解决多种类型问题,是具有较强通用性的计算机,一般的数字式电子计算机多属此类;专用计算机是为解决某些特定问题而专门设计的计算机,如嵌入式系统。
根据计算机的总体规模对计算机分类,可分为巨型机(Super Computer)、大/中型计算机(Mainframe)、小型计算机(Mini computer)、微型计算机(Micro computer)和网络计算机(Network
Computer)五大类。
常见的微型机还可以分为台式机、便携机、笔记本电脑、掌上型电脑等多种类型。
15.简述计算机的基本运行方式。
计算机的基本运作方式可概括为所谓的“IPOS循环”。IPOS循环即输入(Input)、处理(Processing)、输出(Output)和存储(Storage),它反映了计算机进行数据处理的基本步骤。
(1)输入
接受由输入设备(如键盘、鼠标器、扫描仪等)提供的数据。
(2)处理
对数值、逻辑、字符等各种类型的数据进行操作,按指定的方式进行转换。
(3)输出
将处理所产生的结果等数据由输出设备(如显示器、打印机、绘图仪等)进行输出。
(4)存储
计算机可以存储程序和数据供以后使用。
16.计算机有哪些主要的用途?
(1)科学计算
使用计算机来完成科学研究和工程技术中所遇到的数学问题的计算称为科学计算,也称为数值计算。科学计算是使用计算机完成在科学研究和工程技术领域中所提出的大量复杂的数值计算问题,是计算机的传统应用之一。
(2)信息处理
所谓信息处理就是使用计算机对数据进行输入、分类、加工、整理、合并、统计、制表、检索以及存储等,又称为数据处理。例如座席预订与售票系统、零售业中的应用、办公自动化等。信息处理已成为当代计算机的主要任务,是现代化管理的基础。
(3)实时控制(也称过程控制)
实时控制也称过程控制,实时控制能及时地采集检测数据、使用计算机快速地进行处理并自动地控制被控对象的动作,实现生产过程的自动化。
(4)计算机辅助设计/辅助制造/辅助教学
计算机辅助设计(Computer Aided Design——CAD)是使用计算机来辅助人们完成产品或工程的设计任务的一种方法和技术。计算机辅助制造(Computer Aided Manufacturing——CAM)是使用计算机辅助人们完成工业产品的制造任务,能通过直接或间接地与工厂生产资源接口的计算机来完成制造系统的计划、操作工序控制和管理工作的计算机应用系统。计算机辅助教学(Computer Aided Instruction——CAI)是把计算机用作教学媒体,使它充当指导者、工具和学习者角色,学生通过与计算机的对话进行学习的一种新型教学技术。
(5)人工智能
人工智能(Artificial Intelligence——AI)就是指计算机模拟人类某些智力行为的理论、技术和应用。
(6)多媒体技术
随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起来,构成“多媒体”(Multimedia)的概念。
17.简述计算机的发展趋势。
(1)微型化
一方面,随着计算机的应用日益广泛,在一些特定场合,需要很小的计算机,计算机的重量、体积都变得越来越小,但功能并不减少。另一方面,随着计算机在世界上日益普及,个人电脑正逐步由办公设备变为电子消费品。人们要求电脑除了要保留原有的性能之外,还要有时尚的外观、轻便小巧、便于操作等特点,如平板电脑、手持电脑等。今后个人计算机(Personal Computer)在计算机中所占的比重将会越来越大,使用也将会越来越方便。
(2)巨型化
社会在不断发展,人类对自然世界的认识活动也越来越多,很多情况要求计算机对数据进行运算。“巨型化”在这里并不是通常意义上的大小,主要是指机器的性能——运算速度等。
(3)网络化
因特网(Internet)的建立正在改变我们的世界,改变我们的生活。网络具有虚拟和真实两种特性,网上聊天和网络游戏等具有虚拟特性,而网络通信、电子商务、网络资源共享则具有真实的特性。
(4)智能化
今后,计算机在生活中扮演的角色将会更加重要,计算机应用将具有更多的智能特性,能够帮助用户解决—些自己不熟悉或不愿意做的事,如智能家电、烹调等。
(5)新型计算机
目前新一代计算机正处在设想和研制阶段。新一代计算机是把信息采集、存储处理、通信和人工智能结合在一起的计算机系统。
18.简述计算学科的定义、计算学科的本质、计算学科的三个过程。
计算学科是对描述和变换信息的算法过程,包括对理论分析、设计、效率、实现和应用等进行的系统研究。计算学科的研究包括了从算法与可计算性的研究到根据可计算硬件和软件的实际实现问题的研究。
计算学科的根本问题是“什么能被有效地自动进行?”。计算学科的根本问题讨论的是能行性的有关内容,而凡是与能行性有关的讨论都是处理离散对象的。
计算学科的实质是学科方法论的思想,其关键问题是抽象、理论和设计三个过程相互作用的问题。
(1)理论
理论是数学科学的根本。应用数学家们都认为,科学的进展都是基于纯数学的。应用数学用数学的方法推动经验科学和工程学的发展,同时又不断刺激对新数学的需要,为纯理论数学提出新的问题。
(2)抽象
抽象(模型化)是自然科学的根本。科学家们相信,科学进展的过程基本上都是形成假设,然后用模型化过程去求证。
(3)设计
设计是工程的根本。工程师们认为,工程进展基本上都是提出问题,然后通过设计去构造系统,以解决问题。
19.简述计算机科学与技术学科的定义。
计算机科学技术是研究计算机的设计与制造和利用计算机进行信息获取、表示、存储、处理、控制等的理论、原则、方法和技术的学科,包括科学与技术两方面。科学侧重于研究现象、揭示规律;技术则侧重于研制计算机和研究使用计算机进行信息处理的方法与技术手段。科学是技术的依据,技术是科学的体现;技术得益于科学,它又向科学提出新的课题。
20.简述计算机科学与技术学科的根本问题及研究范畴。
计算机科学与技术学科的根本问题是什么能被有效地自动化。问题的符号表示及其处理过程的机械化、严格化的固有特性,决定了数学是计算机科学与技术学科的重要基础之一,数学及其形式化描述、严密的表达和计算是计算机科学与技术学科所用的重要工具,建立物理符号系统并对其实施变换是计算机科学与技术学科进行问题描述和求解的重要手段。
计算机科学与技术的研究范畴包括计算机理论、硬件、软件、网络及应用等,按照研究的内容,也可以划分为基础理论、专业基础和应用三个层面。
计算机理论的研究包括离散数学、算法分析理论、形式语言与自动机理论、程序设计语言理论、程序设计方法学;计算机硬件的研究包括元器件与存储介质、微电子技术、计算机组成原理、微型计算机技术、计算机体系结构;计算机软件的研究包括程序设计语言的设计、数据结构与算法、程序设计语言翻译系统、操作系统、数据库系统、算法设计与分析、软件工程学、可视化技术;计算机网络的研究包括网络结构、数据通信与网络协议、网络服务、网络安全;计算机应用的研究及人-机工程包括计算机应用的研究、软件开发工具、完善既有的应用系统、开拓新的应用领域、人-机工程、研究人与计算机的交互和协同技术。
21.简述计算机科学课程体系的核心内容。
计算学科课程体系的教学内容归结为14个知识体,包括:
(1)离散结构(PS)
计算学科是以离散型变量为研究对象,离散数学对计算技术的发展起着十分重要的作用。随着计算技术的迅猛发展,离散数学越来越受到重视。
(2)程序设计基础(PF)
《计算作为一门学科》报告指出了程序设计在计算学科的正确地位:程序设计是计算学科课程中固定练习的一部分,是每一个计算学科专业的学生应具备的能力,是计算学科核心科目的一部分,程序设计语言还是获得计算机重要特性的有力工具。
(3)算法与复杂性(AL)
算法是计算机科学和软件工程的基础,现实世界中,任何软件系统的性能仅依赖于两个基本点方面,一方面是所选择的算法;另一方面是各不同层次实现的适宜性和效率。
(4)组织与体系结构(AR)
计算机在计算中处于核心地位,如果没有计算机,计算学科只是理论数学的一个分支,应该对计算机系统的功能构件、以及他们的特点/性能和相互作用有一定的理解。
(5)操作系统(OS)
操作系统定义了对硬件行为的抽象,程序员用它来对硬件进行控制。操作系统还管理计算机用户间的资源共享。
(6)网络计算(NC)
计算机和通信网络的发展,尤其是基于TCP/IP的网络的发展使得网络技术在计算学科中更加重要。
(7)程序设计语言(PL)
程序设计语言是程序员与计算机交流的主要工具。一个程序员不仅要知道如何使用一种语言进行程序设计,还应理解不同语言的程序设计风格。
(8)人-机交互(HL)
人机交互重点在于理解人对交互式对象的交互行为,知道如何使用以人为中心的方法开发和评价交互软件系统,以及人机交互设计问题的一般知识。
(9)图形学和可视化计算(GV)
该主领域的主要内容包括:计算机图形学、可视化、虚拟现实、计算机视觉等4 个学科子领域的研究内容。
(10)智能系统(IS)
人工智能领域关心的问题是自主代理的设计和分析。智能系统必须干知其环境,合理地朝着指定的任务行动,并与其它代理和人进行交互。
(11)信息管理(IM)
信息系统几乎在所有使用计算机的场合都发挥着重要的作用。
(12)软件工程(SE)
软件工程是关于如何有效地利用建立满足用户和客户需求的软件系统理论/知识和实践的学科,可以应用于小型、中型、大型系统。
(13)数值计算科学(CN)
从计算学科的诞生之日起,科学计算的数值方法和技术就构成了计算机科学研究的一个主要领域。
(14)社会和职业问题(SP)
大学生需要懂得计算学科本身基本的文化、社会、法律和道德问题。还需要培养学生提出有关计算的社会影响这样严肃问题以及对这些问题的可能答案进行评价的能力。学生还需要认识到软硬件销售商和用户的基本法律权利,也应意识到这些权利的基本基础——道德价值观。
三.讨论题
1.计算机的产生是世纪最伟大的成就之一,具体体现在哪些方面?根据你的观察,请列出计算机的应用。
答案略。
2.在信息社会,如何才能在计算机产业中做出自己的贡献,有所作为?
答案略。
3.计算机提供了无限的机会和挑战。利用它可以更快更好地完成许多事情,可以方便地和全世界的人们联系和通信。但是,是否想过事情的反面呢?所有的变化都是积极的么?计算机的广泛使用会产生什么负面的影响吗?讨论这些问题和其他所能想到的问题。
答案略。
第2章 计算机体系结构与组织
习题(答案)
一. 选择题
1.D 2.D 3.A
6.C 7.D 8.B
11.B 12.A 13.C
16.A 17.C 18.C
21.A 22.B 23.A
二. 简答题
1.试简单叙述计算机采用二进制的原因。
4.D
9.D
14.A
19.C
5.C
10.C
15.C
20.A
答:计算机只认识二进制编码形式的指令和数据。因此,包括数字、字符、声音、图形、图像等信息都必须经过某种方式转换成二进制的形式,才能提供给计算机进行识别和处理。在计算机中采用二进制,是因为物理上实现容易。由于二进制只有两个状态0和1,这正好与物理器件的两种状态相对应,例如电压信号的高与低,门电路的导通与截止等;而十进制电路则需要用十种状态来描述,这将使得电路十分复杂,处理也十分困难。因此,采用二进制将使得计算机在物理上实现简单,且具有可靠性高、处理简单、抗干扰能力强等优点。
2.什么是定点数,它分为哪些种类?
答:所谓定点数,就是指计算机在运算过程中,数据中小数点的位置固定不变。其中小数点的位置是由计算机设计者在机器的结构中指定一个不变的位置,而不一定都必须具有小数点的指示装置。定点数一般有小数和整数两种表示形式。定点小数是把小数点固定在数据数值部分的左边,符号位的右边;定点整数则把小数点固定在数据数值部分的右边。
3.简要叙述声音的编码过程。
答:计算机获取声音信息的过程即是声音信号数字化的处理过程。经过数字化处理后的数字声音信息才能被计算机所识别和处理。声音被计算机处理的过程主要经过音频信号的采样、量化和编码几个过程。
4.简述计算机有哪些特点?
(1)运算速度快、精度高
计算机的字长越长,其精度越高,目前世界上最快的计算机每秒可以运算千万亿次以上。
(2)具有逻辑判断和记忆能力
计算机有准确的逻辑判断能力和超强的记忆能力,能够进行各种逻辑判断,并根据判断的
结果自动决定下一步应该执行的指令。
(3)高度的自动化和灵活性
计算机采取存储程序方式工作,即把编好的程序输入计算机,机器便可依次逐条执行,这就使计算机实现了高度的自动化和灵活性。每台计算机提供的基本功能是有限的,这是在设计和制造时就决定了的。但计算机可以在人们精心编写的程序下,用这些有限的功能,快速、自动地完成多种多样的基本功能序列,从而实现计算机的通用性,达到计算机应用的各种目的。
5.简述计算机软件系统的分类。(系统软件和应用软件两方面)
软件是指能在计算机上运行的各种程序,包括各种有关的文档。通常将软件分为系统软件和应用软件两大类。
(1)系统软件
可以把软件分成若干层,最内层是对硬件的扩充与完善,而外层则是对内层的再次扩充与完善。一般把靠近内层、为方便使用和管理计算机资源的软件,称为系统软件。系统软件通常是负责管理、控制和维护计算机的各种软硬件资源,并为用户提供一个友好的操作界面,以及服务于一般目的的上机环境。系统软件包括操作系统、计算机的监控管理程序、高级程序设计语言的编译和解释程序以及系统服务程序等。操作系统在系统软件中处于核心地位,其他的系统软件在操作系统的支持下工作;高级程序设计语言的编译和解释程序,将软件工程师编写的软件“翻译”成为计算机能够“理解”的机器语言;系统服务程序为计算机系统的正常运行提供服务。
(2)应用软件
应用软件是针对某个应用领域的具体问题而开发和研制的程序,它由专业人员为各种应用目的而开发。应用软件必须在系统软件的支持下才能工作,它具有很强的实用性和专业性,正是由于应用软件的开发和使用,才使得计算机的应用日益渗透到社会的各行各业。应用软件可以由用户自己开发,也可在市场上购买。
常用的应用软件有:文字处理软件,如WPS、Word等;电子表格软件,如Excel、Lotus等;图形处理软件,如 3DMAX等;课件制作软件,如PowerPoint、Authorware等;多媒体处理软件,如RealPlay、MediaPlayer等。
6.列出你所常用的系统软件和应用软件。
答案略。根据学生实际的答案进行判定。
7.存储器的分类有哪些?
(1) 按存储介质,可将存储器分为半导体存储器、磁存储器和光存储器。
(2) 按工作方式,可将存储器分为随机存取存储器、只读存储器、顺序存取存储器和直接存取存储器等。
(3) 按信息的可保存性,可将存储器分为易失性存储器和非易失性存储器。
(4) 按在计算机中的作用,可将存储器分为主存储器、辅助存储器和高速缓冲存储器等。
8.存储器的功能是什么?
答:现代计算机是以存储器为中心的计算机系统,存储器是计算机的重要组成部分。
当利用计算机完成某项任务时,首先把解决问题的程序和所需数据存于存储器中,在执行程序时再由存储器快速地提供给处理机。显然,存储器的功能是存储信息,被存储的信息包括程序信息和数据信息等。
9. 存储器的主要指标是什么?
答:存储器作为计算机系统的核心部件之一,有必要对其性能进行描述。描述一个存储器性能优劣的主要指标有存储容量、存储周期和存取时间、可靠性、性能价格比、功耗、可靠性等。
10. 简述多核的关键技术。
与单核处理器相比,多核处理器在体系结构、软件、功耗和安全性设计等方面面临着巨大的挑战,但也蕴含着巨大的潜能。
(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等等,由于对整个芯片的尺寸、功耗、布局、性能以及运行效率等都有很大的影响,因而这些都是需要认真研究和探讨的问题。 另一方面,多级Cache又引发一致性问题。采用何种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这类处理器芯片内有多个进程同时执行的结构将成为主流,再加上硬件复杂性、设计时的失误增加,使得处理器芯片内部也未必是安全的,因此,安全与可靠性设计任重而道远。
11. 什么是高性能计算机?
答:高性能计算机的概念并无明确的定义,一般认为运算速度非常快的计算机就可以认为是高性能计算机。严格地讲,高性能计算机是一个拥有最先进的硬件、软件、网络和算法的综合概念,“高性能”的标准是随着技术的发展而发展的。
12. 什么是接口?它的主要功能是什么?
答:在主机与外设进行数据交换时必领引入相应的逻辑部件解决两者之间的同步与协调、数据格式转换等问题,这些逻辑部件就称为输入输出接口,简称为接口。输入输出接口的基本功能有:
(1)实现数据缓冲,提供主机和设备交换信息过程中的数据缓冲机构,使主机与外设在工作速度上达到匹配。
(2)实现数据格式的转换,例如,当主机和设备的信号同谋不同时的信号电平转换功能、数据传送中的格式(串行、并行)转换功能、直接内存访问中的额外需求等。
(3)提供外设和接口的状态,为 CPU更好地控制各种外设提供有效的帮助,交换主机和外围设备的状态信息。
(4)实现主机与外设之间的通讯联络控制,实现主机与设备之间的数据交换。
13. 简述并行算法的基本内容。
并行算法是在给定并行模型下的一种具体明确的计算方法和步骤,其分类有不同的分
类方法。
根据并行计算任务的大小分类,可以分为粗粒度并行算法、中粒度并行算法和细粒度并行算法三类。粗粒度并行算法所含的计算任务有较大的计算量和较复杂的计算程序;中粒度并行算法所含的计算任务的大小和计算程序的长短在粗粒度和细粒度两种类型的算法之间;细粒度并行算法所含的计算任务有较小的计算量和较短的计算程序。
根据并行计算的基本对象可分为数值并行计算和非数值并行计算。非数值计算也会用于高精度数值计算,数值计算中也会有查找、匹配等非数值计算成分,这两者之间并无严格的界限。实际分类时,主要是根据主要的计算量所属范畴以及宏观的计算方法来判断。
根据并行计算进程间的依赖关系可以分为同步并行算法和异步并行算法。前者是通过一个全局的时钟来控制各部分的步伐,将任务中的各个部分计算同步地向前推进;而后者执行的各部分计算步伐之间没有关联,互不同步,在操作中,它们根据计算过程的不同阶段决定等待、继续或终止。同步并行算法适合于SIMD并行计算机,异步并行算法适合于MIMD并行计算机。
一个高效的并行算法设计过程比较复杂。一般编程设计过程可以分为任务划分、通信分析、任务组合和处理器映射四步。任务划分阶段主要将整个使用域或功能分解成一些小的计算任务,它的目的是要揭示和开拓并行执行的机会;通信分析则检测在任务划分阶段划分的合理性;任务组合按照性能要求和实现的代价来考察前两个阶段的结果,必要时可以将一些小的任务组合成更大的任务以提高执行效率和减少通信开销;处理器映射决定将每一个任务分配到哪个处理器上去执行,目的是要最小化全局执行时间和通讯成本,并最大化处理器的利用率。
14. 什么是网络计算机?它有什么优点?
答:网络计算机(NETWORK COMPUTER)简称NC,是专用于高速网络环境下的计算机终端设备。是基于处理器芯片和网络基础的新一代计算机产品,是一种新的桌面计算机。NC除了有人机交互必需的显示器,键盘鼠标外,它没有硬盘,软盘,光驱等外部存储设备,是一种瘦客户机。网络计算机具有以下优点:
(1)易管理,维护简单,使用方便。
(2)网络计算机没有硬盘,软盘和光盘,也没有风扇,在硬件方面没有什么可维护的地方,大大减少了计算机网络的维护工作,成本低廉。
(3)安全性强,无论是防止病毒的侵犯,还是资料维护的安全,NC都比PC要好的多。
(4)静音节能,高可靠网络计算机没有任何噪音,非常安静。网络计算机的功耗非常小。
三.
讨论题
1. 为什么计算机使用二进制,而不使用人们生活中的十进制来表示数据信息。
答案略。
2. 计算机系统的存储器分为哪几个层次?(原题已删除)
答案略。
3. 网络计算机有许多优点,请结合其特点谈谈我国发展网络计算机的前途。
答案略。
2024年1月12日发(作者:库绣梓)
第1章 概 述
习题(答案)
一.选择题
1. D 2.C 3.D 4.B 5.A
6. B 7. CD 8.C 9.A 10. ABC
11.A 12.C 13.B 14.B 15. A
16.A 17.C 18.A 19. ABC 20.B
22.C 23. ABCDE
二.简答题
1.举例说明石子计数的过程
早上放10头牛出去,就拿10颗小石子表示,晚上牛回来清数时,就以小石子的数量来逐个进行清点,看看是否一致。
2.简述计算机的发展阶段
计算机的出现是20世纪最辉煌的成就之一,按照采用的电子器件划分,计算机大致经历了四个阶段。
1. 第一代计算机(1946—1957)
其主要特征是逻辑器件使用了电子管,用穿孔卡片机作为数据和指令的输入设备,用磁鼓或磁带作为外存储器,使用机器语言编程。第一台计算机需要工作在有空调的房间里,如果希望它处理什么事情,需要把线路重新连接接,把成千上万的线重新焊接。
1949年发明了可以存储程序的计算机,这些计算机使用机器语言编程,可存储信息和自动处理信息,存储和处理信息的方法开始发生革命性的变化。
第一代计算机体积大、运算速度低、存储容量小、可靠性低。几乎没有什么软件配置,主要用于科学计算。尽管如此,第一代计算机却奠定了计算机的技术基础,如二进制、自动计算及程序设计等,对以后计算机的发展产生了深远的影响。其代表机型有:ENIAC、IBM650(小型机)、IBM709(大型机)等。
2. 第二代计算机(1958—1964)
其主要特征是使用晶体管代替了电子管,内存储器采用了磁芯体,引入了变址寄存器和浮点运算部件,利用I/O处理机提高了输入输出能力。这不仅使得计算机的体积缩小了很多,同时增加了机器的稳定性并提高了运算速度,而且计算机的功耗减小,价格降低。在软件方面配置了子程序库和批处理管理程序,并且推出了Fortran、COBOL、ALGOL等高级程序设计语言及相应的编译程序,降低了程序设计的复杂性。除应用于科学计算外,它还开始应用在数据处
理和工业控制等方面。其代表机型有IBM7090、IBM7094、CDC7600等。
3. 第三代计算机(1965—1972)
其主要特征是用半导体中、小规模集成电路(Integrated Circuit,IC)作为元器件代替晶体管等分立元件,用半导体存储器代替磁芯存储器,使用微程序设计技术简化处理机的结构,这使得计算机的体积和耗电量显著减小,而计算速度和存储容量却有较大提高,可靠性也大大加强。在软件方面则广泛地引入多道程序、并行处理、虚拟存储系统和功能完备的操作系统,同时还提供了大量的面向用户的应用程序。计算机开始定向标准化、模块化、系列化,此外,计算机的应用进入到许多科学技术领域。代表机器有IBM 360系列、富士通F230系列等。
4. 第四代计算机(1972年至今)
其主要特征是使用了大规模和超大规模集成电路,使计算机沿着两个方向飞速向前发展。一方面,利用大规模集成电路制造多种逻辑芯片,组装出大型、巨型计算机,使运算速度向每秒十万亿次、百万亿次及更高速度发展,存储容量向百兆、千兆字节发展,巨型机的出现,推动了许多新兴学科的发展。另一方面,利用大规模集成电路技术,将运算器、控制器等部件集成在一个很小的集成电路芯片上,从而出现了微处理器。微型计算机、笔记本型和掌上型等超微型计算机的诞生是超大规模集成电路应用的直接结果,并使计算机很快进入到寻常百姓家。完善的系统软件、丰富的系统开发工具和商品化的应用程序的大量涌现,以及通信技术和计算机网络的飞速发展,使得计算机进入了一个快速发展的阶段。
现在很多国家正在研制新一代的计算机,新一代计算机将是微电子技术、光学技术、超导技术、电子仿生技术等多学科相结合的产物。它能进行知识处理、自动编程、测试和排错,以及用自然语言、图形、声音和各种文字进行输入和输出。新一代计算机的研究目标是打破计算机现有的体系结构,使得计算机能够具有像人那样的思维、推理和判断能力。已经实现的非传统计算技术有超导计算、量子计算、生物计算、光计算等。未来的计算机可能是超导计算机、量子计算机、生物计算机、光计算机、纳米计算机或DNA计算机等。
3. 简述中国计算机的发展历程。
1. 华罗庚和我国第一个计算机科研小组
华罗庚教授是我国计算技术的奠基人和最主要的开拓者之一。当冯·诺依曼开创性地提出并着手设计EDVAC时,正在美国 Princeton大学工作的华罗庚教授参观过他的实验室,并经常与他讨论有关学术问题。1952年,全国大学院系进行调整,他从清华大学电机系物色了闵乃大、夏培肃和王传英三位科研人员,在他担任所长的中国科学院数学所内建立了中国第一个电子计算机科研小组。1956年,在筹建中科院计算技术研究所时,华罗庚教授担任筹备委员会主任。
2. 第一代电子管计算机研制(1958—1964)
我国从1957年开始研制通用数字电子计算机,1958年8月1日该机研制成功,可以表演短程序运行,标志着我国第一台电子计算机诞生。为纪念这个日子,该机定名为八一型数字电子计算机。该机在738厂开始小量生产,改名为103型计算机(即DJS-1型),共生产38台。
1958年5月我国开始了第一台大型通用电子计算机(104机)研制(如图1.2所示),以前苏联当时正在研制的БЭСМ-II计算机为蓝本,在前苏联专家的指导帮助下,中科院计算所、四机
部、七机部和部队的科研人员与738厂密切配合,于1959年国庆节前完成了研制任务。
在研制104机同时,夏培肃院士领导的科研小组首次自行设计于1960年4月研制成功一台小型通用电子计算机,即107机,1964年我国第一台自行设计的大型通用数字电子管计算机119机研制成功,平均浮点运算速度达到5万次/每秒。
(3) 第二代晶体管计算机研制(1965—1972)
1965年研制成功的我国第一台大型晶体管计算机(109乙机,共用2万多支晶体管,3万多支二极管)。对109乙机加以改进,两年后又推出109丙机,为用户运行了15年,有效算题时间10万小时以上,在我国两弹试验中发挥了重要作用,被用户誉为“功勋机”。
同时华北计算所先后研制成功108机、108乙机(DJS-6)、121机(DJS-21)和 320机(DJS-6),并在738厂等五家工厂生产。哈军工(国防科大前身)于1965年2月成功推出了441B晶体管计算机并小批量生产了40多台。
(4) 第三代基于中小规模集成电路的计算机研制(1973—20世纪80年代初)
我国于1970年初期陆续推出大、中、小型采用集成电路的计算机。1973年,北京大学与北京有线电厂等单位合作研制成功运算速度每秒100万次的大型通用计算机。进入80年代,我国高速计算机,特别是向量计算机有了新的发展。1983年中国科学院计算所完成我国第一台大型向量机(757机,如图1.6所示)计算速度达到1000万次/每秒。
同年,国防科技大学研制的银河-Ⅰ亿次巨型计算机(如图1.7所示)是我国高速计算机研制的一个重要里程碑,它标志着我国文革动乱时期与国外拉大的距离又缩小到7年左右(银河-Ⅰ的参考机克雷-Ⅰ于1976年推出)。
(5) 第四代基于超大规模集成电路的计算机研制(20世纪80年代中期至今)
和国外一样,我国第四代计算机研制也是从微机开始的。1980年初我国很多单位也开始采用Z80、X86和M6800芯片研制微机。1983年12月电子部六所研制成功与IBM PC机兼容的DJS-0520微机。
1992年国防科技大学研究成功银河-Ⅱ通用并行巨型机,峰值速度达4亿次/每秒浮点运算(相当于每秒10亿次基本运算操作),总体上达到80年代中后期国际先进水平。
从上世纪90年代初开始,国际上采用主流的微处理机芯片研制高性能并行计算机已成为一种发展趋势。1993年,国家智能计算机研究开发中心成功研制曙光一号全对称共享存储多处理机;1995年,该中心又推出了中国第一台具有大规模并行处理机(MPP)结构的并行机曙光1000(含36个处理机),峰值速度25亿次/每秒浮点运算,实际运算速度上了10亿次/每秒浮点运算这一高性能台阶。
1997年国防科技大学成功研制银河-Ⅲ百亿次并行巨型计算机系统,采用可扩展分布共享存储并行处理体系结构,由130多个处理结点组成,峰值性能为130亿次/每秒浮点运算,系统综合技术指标达到90年代中期国际先进水平。
国家智能计算机研究开发中心与曙光公司于1997至1999年先后在市场上推出具有机群结构的曙光1000A,曙光2000-Ⅰ,曙光2000-Ⅱ超级服务器,峰值计算速度已突破1000亿次/每秒浮点运算,机器规模已超160个处理机。2000年推出浮点运算速度3000亿次/每秒的曙光3000超级服务器。 2004年上半年推出每秒浮点运算速度1万亿次/每秒的曙光4000超级服务
器。
4.举例说明计算机微型化的最新产品
列举当前的平板电脑,说明其特点即可。
5.网上搜索最新的计算机娱乐方式
社交娱乐如微信、易信等,手机游戏如打飞机、神庙逃亡等,家庭娱乐如数字影院、体感游戏等。
6.什么是计算机系统?
计算机系统是一种能够按照事先存储的程序,自动、高速地对数据进行输入、处理、输出和存储的系统,由计算机硬件系统和计算机软件系统两大部分组成。
7. 简述计算机硬件系统的五大部分。
① 运算器
运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU),是计算机对数据进行加工处理的部件,它的主要功能是对二进制数进行加、减、乘、除等算术运算和与、或、非等基本逻辑运算,实现逻辑判断。运算器是在控制器的控制之下实现其功能的,运算结果由控制器发出的指令送到内存储器中。
② 控制器
控制器主要由指令寄存器、译码器、程序计数器和操作控制器等组成,控制器是用来控制计算机各部件协调工作,并使整个处理过程有条不紊地进行。它的基本功能就是从内存中取出指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
通常把运算器、控制器集成在一个大规模集成电路板上称为中央处理器,又称CPU(Central
Processing Unit)。
③ 存储器
存储器是计算机的记忆装置,用于存放原始数据、中间数据、最终结果和处理程序。为了对存储的信息进行管理,把存储器划分成存储单元,每个单元的编号称为该单元的地址。各种存储器基本上都是以1个字节作为一个存储单元。存储器内的信息是按地址存取的,如要访问存储器中的某个信息,就必须知道它的地址。向存储器里存入信息也称为“写入”,写入新的内容将覆盖原来的内容。从存储器里取出信息也称为“读出”,信息读出后并不破坏原来存储的内容,因此信息可以重复读出,多次利用。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备、外存储器等。
④输入和输出设备
输入和出设备简称I/O(Input/Output)设备。用户通过输入设备将程序和数据输入计算机,输出设备将计算机处理的结果(如数字、字母、符号和图形)显示或打印出来。常用的输入设备有:键盘、鼠标器、扫描仪、数字化仪等;常用的输出设备有:显示器、打印机、绘图仪等。
8.请解释冯•诺依曼所提出的“存储程序”概念。
把程序和数据都以二进制的形式统一存放在存储器中,由机器自动执行。不同的程序解决不同的问题,实现了计算机通用计算的功能。
9.控制器的主要功能是什么?
控制器基本功能就是从内存中取指令和执行指令,即控制器按程序计数器指出的指令地址从内存中取出该指令进行译码,然后根据该指令功能向有关部件发出控制命令,执行该指令。另外,控制器在工作过程中,还要接受各部件反馈回来的信息。
10.简述CPU和主机的概念。
通常把运算器、控制器做在一个大规模集成电路块上称为中央处理器,又称CPU(Central
Processing Unit)。
通常把内存储器、运算器和控制器合称为计算机主机,也可以说主机是由CPU与内存储器组成的,而主机以外的装置称为外部设备,外部设备包括输入/输出设备,外存储器等。
11.什么是计算机软件?计算机软件的分类有哪些?
软件是指用来指挥计算机运行的各种程序的总和以及开发、使用和维护这些程序所需的技术文档。
计算机软件系统分为系统软件和应用软件。计算机系统软件由操作系统、语言处理系统、以及各种软件工具等各种软件程序组成,指挥、控制计算机硬件系统按照预定的程序运行、工作,从而达到预定的目标。应用软件是用户利用计算机软、硬件资源为解决各类应用问题而编写的软件,包括用户程序及其说明性文件资料。
12.计算机有哪些主要的特点?
(1)运算速度快、精度高
计算机的字长越长,其精度越高,现在世界上最快的计算机每秒可以运算几十万亿次以上。一般计算机可以有十几位甚至几十位(二进制)有效数字,计算精度可由千分之几到百万分之几,是任何计算工具所望尘莫及的。
(2)具有逻辑判断和记忆能力
计算机有准确的逻辑判断能力和高超的记忆能力。能够进行各种逻辑判断,并根据判断的结果自动决定下一步应该执行的指令。
(3)高度的自动化和灵活性
计算机采取存储程序方式工作,即把编好的程序输入计算机,机器便可依次逐条执行,这就使计算机实现了高度的自动化和灵活性。
13. 简述计算机系统的主要技术指标。
评价计算机的性能指标有很多,通常人们从计算机的字长、时钟周期和主频、运算速度、内存容量、数据输入输出最高速率等技术指标来评价计算机系统。
1.字长
在计算机中,用若干二进制位表示一个数或一条指令,前者称为数据字,后者称为指令字。字长的直接影响计算机的功能强弱、精度高低和速度快慢。计算机处理数据时,一次可以运算的数据长度称为一个“字”(Word),字的长度称为字长。一个字可以是一个字节(Byte,简称B),也可以是多个字节。常用的字长有8位(bit)、16位、32位、64位等。如某一类计算机的字由4个字节组成,则字的长度为32位,相应的计算机称为32位机。
2.时钟周期和主频
计算机的中央处理器对每条指令的执行是通过若干个微指令操作来完成的,这些微指令操作是按时钟周期的节拍来“动作”的,时钟周期的微秒数反映出计算机的运算速度。有时也用时钟周期的倒数——时钟频率(兆频),即人们常说的主频来表示。一般说来,主频越高(时钟周期越短),计算机的运算速度越快。但是,主频并不能全面准确地反映计算机的运算速度,而每秒钟执行百万条指令数(MIPS)指标则能较全面准确地反映计算机的运算速度。近十年来,微计算机的主频提高很快,例如,IBM PC/XT微机的CPU主频为4.77MHz,而Pentium 4 CPU的主频己超过1GMHz,并且在不断提高。
3.运算速度
计算机的运算速度是衡量计算机水平的一项主要指标,它取决于指令执行时间。运算速度的计算方法多种多样,目前常用单位时间内执行多少条指令来表示,而计算机执行各种指令所需时间不同。因此,常根据在一些典型题目计算中,各种指令执行的频度以及每种指令的执行时间来折算出计算机的等效速度。
4.内存容量
存储器的容量反映计算机记忆信息的能力,它常以字节为单位表示。存储器的容量越大,则存储的信息越多,计算机的功能越强。
计算机中的操作大多是与内存交换信息,但内存的存取速度相对CPU的算术和逻辑运算的速度要低1~2个数量级。因此,内存的读写速度也是影响计算机运行速度的主要因素之一。
为了度量信息存储容量,将8位二进制位(8bits)称为1个字节,字节是计算机中数据处理和存储容量的基本单位。1024个字节称为1K字节(1KB),1024K个字节称1兆字节(1MB),1024M个字节称为1G字节(1GB),1024G个字节称为1T字节(1TB),现在微型计算机主存容量大多数在兆字节以上。
5.数据输入输出最高速率
主机与外部设备之间交换数据的速率也是影响计算机系统工作速度的重要因素。由于各种外部设备本身工作的速度不同,常用主机所能支持的数据输入输出最大速率来表示。
14.计算机的分类有哪些?
根据计算机工作原理和运算方式的不同,以及计算机中信息表示形式和处理方式的不同,计算机可分为数字式电子计算机(Digital Computer)、模拟式电子计算机(Analog Computer)和数字模拟混合计算机(Hybrid Computer)。当今广泛应用的是数字计算机,因此,常把数字式电子计算机(Electronic Digital Computer)简称为电子计算机或计算机。
按计算机的用途可分为通用计算机(General Purpose Computer)和专用计算机(Special
Purpose Computer )两大类。通用计算机能解决多种类型问题,是具有较强通用性的计算机,一般的数字式电子计算机多属此类;专用计算机是为解决某些特定问题而专门设计的计算机,如嵌入式系统。
根据计算机的总体规模对计算机分类,可分为巨型机(Super Computer)、大/中型计算机(Mainframe)、小型计算机(Mini computer)、微型计算机(Micro computer)和网络计算机(Network
Computer)五大类。
常见的微型机还可以分为台式机、便携机、笔记本电脑、掌上型电脑等多种类型。
15.简述计算机的基本运行方式。
计算机的基本运作方式可概括为所谓的“IPOS循环”。IPOS循环即输入(Input)、处理(Processing)、输出(Output)和存储(Storage),它反映了计算机进行数据处理的基本步骤。
(1)输入
接受由输入设备(如键盘、鼠标器、扫描仪等)提供的数据。
(2)处理
对数值、逻辑、字符等各种类型的数据进行操作,按指定的方式进行转换。
(3)输出
将处理所产生的结果等数据由输出设备(如显示器、打印机、绘图仪等)进行输出。
(4)存储
计算机可以存储程序和数据供以后使用。
16.计算机有哪些主要的用途?
(1)科学计算
使用计算机来完成科学研究和工程技术中所遇到的数学问题的计算称为科学计算,也称为数值计算。科学计算是使用计算机完成在科学研究和工程技术领域中所提出的大量复杂的数值计算问题,是计算机的传统应用之一。
(2)信息处理
所谓信息处理就是使用计算机对数据进行输入、分类、加工、整理、合并、统计、制表、检索以及存储等,又称为数据处理。例如座席预订与售票系统、零售业中的应用、办公自动化等。信息处理已成为当代计算机的主要任务,是现代化管理的基础。
(3)实时控制(也称过程控制)
实时控制也称过程控制,实时控制能及时地采集检测数据、使用计算机快速地进行处理并自动地控制被控对象的动作,实现生产过程的自动化。
(4)计算机辅助设计/辅助制造/辅助教学
计算机辅助设计(Computer Aided Design——CAD)是使用计算机来辅助人们完成产品或工程的设计任务的一种方法和技术。计算机辅助制造(Computer Aided Manufacturing——CAM)是使用计算机辅助人们完成工业产品的制造任务,能通过直接或间接地与工厂生产资源接口的计算机来完成制造系统的计划、操作工序控制和管理工作的计算机应用系统。计算机辅助教学(Computer Aided Instruction——CAI)是把计算机用作教学媒体,使它充当指导者、工具和学习者角色,学生通过与计算机的对话进行学习的一种新型教学技术。
(5)人工智能
人工智能(Artificial Intelligence——AI)就是指计算机模拟人类某些智力行为的理论、技术和应用。
(6)多媒体技术
随着电子技术特别是通信和计算机技术的发展,人们已经有能力把文本、音频、视频、动画、图形和图像等各种媒体综合起来,构成“多媒体”(Multimedia)的概念。
17.简述计算机的发展趋势。
(1)微型化
一方面,随着计算机的应用日益广泛,在一些特定场合,需要很小的计算机,计算机的重量、体积都变得越来越小,但功能并不减少。另一方面,随着计算机在世界上日益普及,个人电脑正逐步由办公设备变为电子消费品。人们要求电脑除了要保留原有的性能之外,还要有时尚的外观、轻便小巧、便于操作等特点,如平板电脑、手持电脑等。今后个人计算机(Personal Computer)在计算机中所占的比重将会越来越大,使用也将会越来越方便。
(2)巨型化
社会在不断发展,人类对自然世界的认识活动也越来越多,很多情况要求计算机对数据进行运算。“巨型化”在这里并不是通常意义上的大小,主要是指机器的性能——运算速度等。
(3)网络化
因特网(Internet)的建立正在改变我们的世界,改变我们的生活。网络具有虚拟和真实两种特性,网上聊天和网络游戏等具有虚拟特性,而网络通信、电子商务、网络资源共享则具有真实的特性。
(4)智能化
今后,计算机在生活中扮演的角色将会更加重要,计算机应用将具有更多的智能特性,能够帮助用户解决—些自己不熟悉或不愿意做的事,如智能家电、烹调等。
(5)新型计算机
目前新一代计算机正处在设想和研制阶段。新一代计算机是把信息采集、存储处理、通信和人工智能结合在一起的计算机系统。
18.简述计算学科的定义、计算学科的本质、计算学科的三个过程。
计算学科是对描述和变换信息的算法过程,包括对理论分析、设计、效率、实现和应用等进行的系统研究。计算学科的研究包括了从算法与可计算性的研究到根据可计算硬件和软件的实际实现问题的研究。
计算学科的根本问题是“什么能被有效地自动进行?”。计算学科的根本问题讨论的是能行性的有关内容,而凡是与能行性有关的讨论都是处理离散对象的。
计算学科的实质是学科方法论的思想,其关键问题是抽象、理论和设计三个过程相互作用的问题。
(1)理论
理论是数学科学的根本。应用数学家们都认为,科学的进展都是基于纯数学的。应用数学用数学的方法推动经验科学和工程学的发展,同时又不断刺激对新数学的需要,为纯理论数学提出新的问题。
(2)抽象
抽象(模型化)是自然科学的根本。科学家们相信,科学进展的过程基本上都是形成假设,然后用模型化过程去求证。
(3)设计
设计是工程的根本。工程师们认为,工程进展基本上都是提出问题,然后通过设计去构造系统,以解决问题。
19.简述计算机科学与技术学科的定义。
计算机科学技术是研究计算机的设计与制造和利用计算机进行信息获取、表示、存储、处理、控制等的理论、原则、方法和技术的学科,包括科学与技术两方面。科学侧重于研究现象、揭示规律;技术则侧重于研制计算机和研究使用计算机进行信息处理的方法与技术手段。科学是技术的依据,技术是科学的体现;技术得益于科学,它又向科学提出新的课题。
20.简述计算机科学与技术学科的根本问题及研究范畴。
计算机科学与技术学科的根本问题是什么能被有效地自动化。问题的符号表示及其处理过程的机械化、严格化的固有特性,决定了数学是计算机科学与技术学科的重要基础之一,数学及其形式化描述、严密的表达和计算是计算机科学与技术学科所用的重要工具,建立物理符号系统并对其实施变换是计算机科学与技术学科进行问题描述和求解的重要手段。
计算机科学与技术的研究范畴包括计算机理论、硬件、软件、网络及应用等,按照研究的内容,也可以划分为基础理论、专业基础和应用三个层面。
计算机理论的研究包括离散数学、算法分析理论、形式语言与自动机理论、程序设计语言理论、程序设计方法学;计算机硬件的研究包括元器件与存储介质、微电子技术、计算机组成原理、微型计算机技术、计算机体系结构;计算机软件的研究包括程序设计语言的设计、数据结构与算法、程序设计语言翻译系统、操作系统、数据库系统、算法设计与分析、软件工程学、可视化技术;计算机网络的研究包括网络结构、数据通信与网络协议、网络服务、网络安全;计算机应用的研究及人-机工程包括计算机应用的研究、软件开发工具、完善既有的应用系统、开拓新的应用领域、人-机工程、研究人与计算机的交互和协同技术。
21.简述计算机科学课程体系的核心内容。
计算学科课程体系的教学内容归结为14个知识体,包括:
(1)离散结构(PS)
计算学科是以离散型变量为研究对象,离散数学对计算技术的发展起着十分重要的作用。随着计算技术的迅猛发展,离散数学越来越受到重视。
(2)程序设计基础(PF)
《计算作为一门学科》报告指出了程序设计在计算学科的正确地位:程序设计是计算学科课程中固定练习的一部分,是每一个计算学科专业的学生应具备的能力,是计算学科核心科目的一部分,程序设计语言还是获得计算机重要特性的有力工具。
(3)算法与复杂性(AL)
算法是计算机科学和软件工程的基础,现实世界中,任何软件系统的性能仅依赖于两个基本点方面,一方面是所选择的算法;另一方面是各不同层次实现的适宜性和效率。
(4)组织与体系结构(AR)
计算机在计算中处于核心地位,如果没有计算机,计算学科只是理论数学的一个分支,应该对计算机系统的功能构件、以及他们的特点/性能和相互作用有一定的理解。
(5)操作系统(OS)
操作系统定义了对硬件行为的抽象,程序员用它来对硬件进行控制。操作系统还管理计算机用户间的资源共享。
(6)网络计算(NC)
计算机和通信网络的发展,尤其是基于TCP/IP的网络的发展使得网络技术在计算学科中更加重要。
(7)程序设计语言(PL)
程序设计语言是程序员与计算机交流的主要工具。一个程序员不仅要知道如何使用一种语言进行程序设计,还应理解不同语言的程序设计风格。
(8)人-机交互(HL)
人机交互重点在于理解人对交互式对象的交互行为,知道如何使用以人为中心的方法开发和评价交互软件系统,以及人机交互设计问题的一般知识。
(9)图形学和可视化计算(GV)
该主领域的主要内容包括:计算机图形学、可视化、虚拟现实、计算机视觉等4 个学科子领域的研究内容。
(10)智能系统(IS)
人工智能领域关心的问题是自主代理的设计和分析。智能系统必须干知其环境,合理地朝着指定的任务行动,并与其它代理和人进行交互。
(11)信息管理(IM)
信息系统几乎在所有使用计算机的场合都发挥着重要的作用。
(12)软件工程(SE)
软件工程是关于如何有效地利用建立满足用户和客户需求的软件系统理论/知识和实践的学科,可以应用于小型、中型、大型系统。
(13)数值计算科学(CN)
从计算学科的诞生之日起,科学计算的数值方法和技术就构成了计算机科学研究的一个主要领域。
(14)社会和职业问题(SP)
大学生需要懂得计算学科本身基本的文化、社会、法律和道德问题。还需要培养学生提出有关计算的社会影响这样严肃问题以及对这些问题的可能答案进行评价的能力。学生还需要认识到软硬件销售商和用户的基本法律权利,也应意识到这些权利的基本基础——道德价值观。
三.讨论题
1.计算机的产生是世纪最伟大的成就之一,具体体现在哪些方面?根据你的观察,请列出计算机的应用。
答案略。
2.在信息社会,如何才能在计算机产业中做出自己的贡献,有所作为?
答案略。
3.计算机提供了无限的机会和挑战。利用它可以更快更好地完成许多事情,可以方便地和全世界的人们联系和通信。但是,是否想过事情的反面呢?所有的变化都是积极的么?计算机的广泛使用会产生什么负面的影响吗?讨论这些问题和其他所能想到的问题。
答案略。
第2章 计算机体系结构与组织
习题(答案)
一. 选择题
1.D 2.D 3.A
6.C 7.D 8.B
11.B 12.A 13.C
16.A 17.C 18.C
21.A 22.B 23.A
二. 简答题
1.试简单叙述计算机采用二进制的原因。
4.D
9.D
14.A
19.C
5.C
10.C
15.C
20.A
答:计算机只认识二进制编码形式的指令和数据。因此,包括数字、字符、声音、图形、图像等信息都必须经过某种方式转换成二进制的形式,才能提供给计算机进行识别和处理。在计算机中采用二进制,是因为物理上实现容易。由于二进制只有两个状态0和1,这正好与物理器件的两种状态相对应,例如电压信号的高与低,门电路的导通与截止等;而十进制电路则需要用十种状态来描述,这将使得电路十分复杂,处理也十分困难。因此,采用二进制将使得计算机在物理上实现简单,且具有可靠性高、处理简单、抗干扰能力强等优点。
2.什么是定点数,它分为哪些种类?
答:所谓定点数,就是指计算机在运算过程中,数据中小数点的位置固定不变。其中小数点的位置是由计算机设计者在机器的结构中指定一个不变的位置,而不一定都必须具有小数点的指示装置。定点数一般有小数和整数两种表示形式。定点小数是把小数点固定在数据数值部分的左边,符号位的右边;定点整数则把小数点固定在数据数值部分的右边。
3.简要叙述声音的编码过程。
答:计算机获取声音信息的过程即是声音信号数字化的处理过程。经过数字化处理后的数字声音信息才能被计算机所识别和处理。声音被计算机处理的过程主要经过音频信号的采样、量化和编码几个过程。
4.简述计算机有哪些特点?
(1)运算速度快、精度高
计算机的字长越长,其精度越高,目前世界上最快的计算机每秒可以运算千万亿次以上。
(2)具有逻辑判断和记忆能力
计算机有准确的逻辑判断能力和超强的记忆能力,能够进行各种逻辑判断,并根据判断的
结果自动决定下一步应该执行的指令。
(3)高度的自动化和灵活性
计算机采取存储程序方式工作,即把编好的程序输入计算机,机器便可依次逐条执行,这就使计算机实现了高度的自动化和灵活性。每台计算机提供的基本功能是有限的,这是在设计和制造时就决定了的。但计算机可以在人们精心编写的程序下,用这些有限的功能,快速、自动地完成多种多样的基本功能序列,从而实现计算机的通用性,达到计算机应用的各种目的。
5.简述计算机软件系统的分类。(系统软件和应用软件两方面)
软件是指能在计算机上运行的各种程序,包括各种有关的文档。通常将软件分为系统软件和应用软件两大类。
(1)系统软件
可以把软件分成若干层,最内层是对硬件的扩充与完善,而外层则是对内层的再次扩充与完善。一般把靠近内层、为方便使用和管理计算机资源的软件,称为系统软件。系统软件通常是负责管理、控制和维护计算机的各种软硬件资源,并为用户提供一个友好的操作界面,以及服务于一般目的的上机环境。系统软件包括操作系统、计算机的监控管理程序、高级程序设计语言的编译和解释程序以及系统服务程序等。操作系统在系统软件中处于核心地位,其他的系统软件在操作系统的支持下工作;高级程序设计语言的编译和解释程序,将软件工程师编写的软件“翻译”成为计算机能够“理解”的机器语言;系统服务程序为计算机系统的正常运行提供服务。
(2)应用软件
应用软件是针对某个应用领域的具体问题而开发和研制的程序,它由专业人员为各种应用目的而开发。应用软件必须在系统软件的支持下才能工作,它具有很强的实用性和专业性,正是由于应用软件的开发和使用,才使得计算机的应用日益渗透到社会的各行各业。应用软件可以由用户自己开发,也可在市场上购买。
常用的应用软件有:文字处理软件,如WPS、Word等;电子表格软件,如Excel、Lotus等;图形处理软件,如 3DMAX等;课件制作软件,如PowerPoint、Authorware等;多媒体处理软件,如RealPlay、MediaPlayer等。
6.列出你所常用的系统软件和应用软件。
答案略。根据学生实际的答案进行判定。
7.存储器的分类有哪些?
(1) 按存储介质,可将存储器分为半导体存储器、磁存储器和光存储器。
(2) 按工作方式,可将存储器分为随机存取存储器、只读存储器、顺序存取存储器和直接存取存储器等。
(3) 按信息的可保存性,可将存储器分为易失性存储器和非易失性存储器。
(4) 按在计算机中的作用,可将存储器分为主存储器、辅助存储器和高速缓冲存储器等。
8.存储器的功能是什么?
答:现代计算机是以存储器为中心的计算机系统,存储器是计算机的重要组成部分。
当利用计算机完成某项任务时,首先把解决问题的程序和所需数据存于存储器中,在执行程序时再由存储器快速地提供给处理机。显然,存储器的功能是存储信息,被存储的信息包括程序信息和数据信息等。
9. 存储器的主要指标是什么?
答:存储器作为计算机系统的核心部件之一,有必要对其性能进行描述。描述一个存储器性能优劣的主要指标有存储容量、存储周期和存取时间、可靠性、性能价格比、功耗、可靠性等。
10. 简述多核的关键技术。
与单核处理器相比,多核处理器在体系结构、软件、功耗和安全性设计等方面面临着巨大的挑战,但也蕴含着巨大的潜能。
(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等等,由于对整个芯片的尺寸、功耗、布局、性能以及运行效率等都有很大的影响,因而这些都是需要认真研究和探讨的问题。 另一方面,多级Cache又引发一致性问题。采用何种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这类处理器芯片内有多个进程同时执行的结构将成为主流,再加上硬件复杂性、设计时的失误增加,使得处理器芯片内部也未必是安全的,因此,安全与可靠性设计任重而道远。
11. 什么是高性能计算机?
答:高性能计算机的概念并无明确的定义,一般认为运算速度非常快的计算机就可以认为是高性能计算机。严格地讲,高性能计算机是一个拥有最先进的硬件、软件、网络和算法的综合概念,“高性能”的标准是随着技术的发展而发展的。
12. 什么是接口?它的主要功能是什么?
答:在主机与外设进行数据交换时必领引入相应的逻辑部件解决两者之间的同步与协调、数据格式转换等问题,这些逻辑部件就称为输入输出接口,简称为接口。输入输出接口的基本功能有:
(1)实现数据缓冲,提供主机和设备交换信息过程中的数据缓冲机构,使主机与外设在工作速度上达到匹配。
(2)实现数据格式的转换,例如,当主机和设备的信号同谋不同时的信号电平转换功能、数据传送中的格式(串行、并行)转换功能、直接内存访问中的额外需求等。
(3)提供外设和接口的状态,为 CPU更好地控制各种外设提供有效的帮助,交换主机和外围设备的状态信息。
(4)实现主机与外设之间的通讯联络控制,实现主机与设备之间的数据交换。
13. 简述并行算法的基本内容。
并行算法是在给定并行模型下的一种具体明确的计算方法和步骤,其分类有不同的分
类方法。
根据并行计算任务的大小分类,可以分为粗粒度并行算法、中粒度并行算法和细粒度并行算法三类。粗粒度并行算法所含的计算任务有较大的计算量和较复杂的计算程序;中粒度并行算法所含的计算任务的大小和计算程序的长短在粗粒度和细粒度两种类型的算法之间;细粒度并行算法所含的计算任务有较小的计算量和较短的计算程序。
根据并行计算的基本对象可分为数值并行计算和非数值并行计算。非数值计算也会用于高精度数值计算,数值计算中也会有查找、匹配等非数值计算成分,这两者之间并无严格的界限。实际分类时,主要是根据主要的计算量所属范畴以及宏观的计算方法来判断。
根据并行计算进程间的依赖关系可以分为同步并行算法和异步并行算法。前者是通过一个全局的时钟来控制各部分的步伐,将任务中的各个部分计算同步地向前推进;而后者执行的各部分计算步伐之间没有关联,互不同步,在操作中,它们根据计算过程的不同阶段决定等待、继续或终止。同步并行算法适合于SIMD并行计算机,异步并行算法适合于MIMD并行计算机。
一个高效的并行算法设计过程比较复杂。一般编程设计过程可以分为任务划分、通信分析、任务组合和处理器映射四步。任务划分阶段主要将整个使用域或功能分解成一些小的计算任务,它的目的是要揭示和开拓并行执行的机会;通信分析则检测在任务划分阶段划分的合理性;任务组合按照性能要求和实现的代价来考察前两个阶段的结果,必要时可以将一些小的任务组合成更大的任务以提高执行效率和减少通信开销;处理器映射决定将每一个任务分配到哪个处理器上去执行,目的是要最小化全局执行时间和通讯成本,并最大化处理器的利用率。
14. 什么是网络计算机?它有什么优点?
答:网络计算机(NETWORK COMPUTER)简称NC,是专用于高速网络环境下的计算机终端设备。是基于处理器芯片和网络基础的新一代计算机产品,是一种新的桌面计算机。NC除了有人机交互必需的显示器,键盘鼠标外,它没有硬盘,软盘,光驱等外部存储设备,是一种瘦客户机。网络计算机具有以下优点:
(1)易管理,维护简单,使用方便。
(2)网络计算机没有硬盘,软盘和光盘,也没有风扇,在硬件方面没有什么可维护的地方,大大减少了计算机网络的维护工作,成本低廉。
(3)安全性强,无论是防止病毒的侵犯,还是资料维护的安全,NC都比PC要好的多。
(4)静音节能,高可靠网络计算机没有任何噪音,非常安静。网络计算机的功耗非常小。
三.
讨论题
1. 为什么计算机使用二进制,而不使用人们生活中的十进制来表示数据信息。
答案略。
2. 计算机系统的存储器分为哪几个层次?(原题已删除)
答案略。
3. 网络计算机有许多优点,请结合其特点谈谈我国发展网络计算机的前途。
答案略。