全国硕士研究生招生考试计算机科学与技术学科联考计算机学科专业基础综合(408)计算机组成原理考点归纳与典型题(含历年真题)详解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 计算机系统概述

1.1 考点归纳

【考纲指定考点】

【题型及考点分析】

本章主要考查形式是选择题,一般对基本概念或者性能指标出选择题,在综合题中也可能涉及性能分析。主要考查点为本章中的冯诺依曼体系结构以及现代计算机的体系结构,计算机层次结构,计算机性能指标的计算与定义。

一、计算机发展历程,层次结构

1计算机发展历程

(1)从计算机问世到现在,计算机一共发展了四代。

第一代为电子管计算机,采用电子管作为逻辑元件,使用机器语言编程,主存用延迟线或磁鼓,运行速度慢,每秒几千到几万次。

第二代为晶体管计算机,采用晶体管作为逻辑元件,开始出现高级程序语言,并且出现了操作系统的萌芽,主存使用磁芯存储器,速度提升到每秒几万到几十万次。

第三代为中小规模集成电路,采用中小规模集成电路作为逻辑元件,高级语言发展迅速,出现分时操作系统,半导体存储器出现取代磁芯,运行速度进一步提高。

第四代为超大规模集成电路时代,采用超大规模集成电路作为逻辑元件,产生了微处理器,并行流水线,虚拟存储器,高速缓存等。

(2)摩尔定理:当价格不变时,集成电路板上的晶体管数目,约18个月便会增加一倍,性能提升一倍。

(3)计算机分类:电子模拟计算机和数字计算机。数字计算机分为通用机与专用机。

(4)计算机发展趋势:往两极化发展。微型计算机往更微型化,网络化,高性能多用途发展;巨型机则往更加巨型化,超高速,并行处理,智能化发展。

2计算机系统层次结构

(1)早期的冯诺伊曼机

硬件系统由运算器,存储器,控制器,以及输入设备,输出设备构成。

图1-1 典型的冯诺依曼计算机结构

在冯诺依曼结构体系中将运算器作为核心,以“存储程序”的基本思想设计。将程序输入到计算机中,存储在内存中,执行时从存储器上一条一条的取出指令,执行指令。在早期的冯诺依曼体系中,控制器控制其他几个部件,运算器可以与存储器,输入设备,输出设备进行数据交换。

(2)现代计算机体系结构

现代计算机的基本设计思想未变,还是遵循冯诺依曼的存储程序的思想,但是由于电子技术进步,加工信息增大,使用运算器作为核心不适用,现代计算器一般以存储器为核心。

图1-2 现代计算机组织结构图

(3)计算机的功能部件

计算机虽然发展很快,但是主要的功能部件并未发生改变,他们包括:

输入设备

输入设备的主要功能是将数据以机器所能识别和接受的信息形式输入到计算机。最常用的输入设备是键盘,鼠标、扫描仪等。

输出设备

输出设备的任务是将计算机处理的结果以人们所能接受的形式或其他系统所要求的信息形式输出。常用的输出设备有显示器,打印机等。

存储器

存储器是计算机的存储部件,用来存放程序和数据。

存储器依据其能否直接与CPU进行数据交换分为主存储器(简称主存,也称内存储器)和辅助存储器(简称辅存,也称外存储器)。主存储器主要与CPU进行信息交换,其所保存的信息断电即失。辅助存储器用于帮助主存储器记忆更多的信息,其中的信息可以长期保存,但辅助存储器中的信息必须调入主存后,才能被CPU所访问。

主存储器的按地址存取方式进行工作。基本组成结构如图1-3所示。存储体存放二进制信息,地址寄存器(MAR)存放地址,经过地址译码后找到所选的存储单元。数据寄存器(MDR)用于暂存要从存储器中读或者写的信息,时序控制逻辑用于产生存储器操作所需的各种时序信号。

图1-3 存储器逻辑图

地址寄存器的位数可以表示存储器的大小,数据寄存器的位数与存储体的字长一致。

在计算机中下面几个关于字长的概念容易混淆

a.机器字长:计算机能直接处理的二进制数据的位数,机器字长一般等于内部寄存器的大小,它决定了计算机的运算精度。

b.指令字长:指令字中包含二进制代码的位数。

c.存储字长:一个存储单元存储二进制代码的长度,必须是字节的整数倍。

指令字长一般都取存储字长的整数倍,如果指令字长等于存储字长的2倍,就需要2次访存来取出一条指令。

运算器

运算器是计算机进行数据加工处理的部件,用于完成算术运算和逻辑运算。算术运算包括加、减、乘、除等,逻辑运算包括与、或、非、移位等运算。

控制器

控制器又叫中央处理器(CPU),是计算机的指挥中心,由其指挥各部件协调地进行工作。控制器包括程序计数器(PC)、指令寄存器(IR)、控制单元(CU)等几部分。

(4)计算机软件层次

计算机软件主要分为:系统软件与应用软件。

系统软件:保证计算机系统高效、正确运行的基础软件。通常作为系统资源提供给用户。常见的系统软件有操作系统,数据库管理系统等。

应用软件:为解决实际应用问题而编写的程序,应用软件种类繁多,如游戏、社交软件等。

(5)计算机语言

计算机语言也可以分为三个层次:

机器语言:二进制代码语言,是计算机唯一可以直接识别和执行的语言,编程极不方便,需要程序员记忆很多二进制指令。

汇编语言:一种低级语言,用英文单词或其缩写代替二进制的指令代码,更容易为人们记忆和理解。汇编语言的程序经过汇编程序软件的翻译,将其转换为计算机的机器语言后,才能在计算机的硬件系统上执行。

高级语言:一种近似于自然语言的计算机编程语言,在汇编语言的基础上发展而来,常见的有C,C++,Java等。通常高级语言编写的程序需要经过编译程序编译成汇编语言程序,然后经过汇编操作得到机器语言程序,或者直接由高级语言程序翻译成机器语言程序。

翻译程序是指把高级语言源程序翻译成机器语言程序的计算机程序。翻译程序有两种:一种是编译程序,它将高级语言源程序一次全部翻译成目标程序,每次执行程序时,只要执行目标程序,因此,只要源程序不变,就无须重新翻译。另一种是解释程序,它将源程序的一条语句翻译成对应的机器目标代码,并立即执行,然后翻译下一条源程序语句并执行,直至所有源程序语句全部被翻译并执行完。所以解释程序的执行过程是翻译一句执行一句,并且不会生成目标程序。汇编程序也是一种语言翻译程序,它把汇编语言源程序翻译为机器语言程序。汇编语言是一种面向机器的低级语言,是机器语言的符号表示,与机器语言一一对应。

【例】计算机系统采用层次化结构组成系统,从最上层的最终用户到最低层的计算机硬件,其层次化构成为(  )。

A.高级语言机器-操作系统机器-汇编语言机器-机器语言机器-微指令系统

B.高级语言机器-汇编语言机器-机器语言机器-操作系统机器-微指令系统

C.高级语言机器-汇编语言机器-操作系统机器-机器语言机器-微指令系统

D.高级语言机器-汇编语言机器-操作系统机器-微指令系统-机器语言机器

【答案】C

【解析】本题考查对多级层次结构计算机系统的理解,如图所示:

图1-4 层次化构成

二、计算机性能指标

1机器字长或机器字数

指计算机进行一次整数运算所能处理的二进制数据的位数。机器字长一般等于内部寄存器的位数,字长越长,数的表示范围越大,计算精度就越高。计算机字长通常都选定为字节(Byte,8位)的整数倍。不同的计算机,字长可以不相同。

2数据通路带宽

指数据总线一次所能并行传送信息的位数。这里所说的数据通路宽度是外部数据总线的宽度,它与CPU内部的数据总线宽度(内部寄存器的大小)有可能不同。

3主存容量

指主存储器所能存储信息的最大容量,通常以字节来衡量,也可以用字数×字长(如512K×16位)来表示存储容量。其中,MAR的位数反映了存储单元的个数,MAR的位数反映了可寻址范围的最大值,可能比实际存储器的存储容量大。

4运算速度

(1)吞吐量和响应时间

吞吐量:指系统在单位时间内处理请求的数量。它取决于信息输入内存的速度,CPU取指令的速度,数据从内存取出或存入的速度,以及所得结果从内存送给一台外部设备的速度。这些步骤与主存密切相关,因此,系统吞吐量主要取决于主存的存取周期。

响应时间:指从用户向计算机发送一个请求,到系统对该请求给出结果的等待时间。通常包括CPU的执行时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/O操作、操作系统开销等时间)。

(2)主频和CPU时钟周期

CPU时钟周期:通常为节拍脉冲或T周期,即主频的倒数,它是CPU中最小的时间单位,每个动作至少需要一个时钟周期。

主频(CPU时钟频率):机器内部主时钟的频率,它是衡量机器速度的重要参数。主频的倒数是CPU时钟周期。主频越高,完成指令的一个执行步骤所用的时问越短,执行指令的速度越快。

(3)CPI(Clockcycle Per Instruction)

CPI即执行每条指令所需的时钟周期数,由于各个指令情况不一,故CPI一般为平均值。

(4)CPU执行时间

CPU执行时间指运行一个程序所花费的时间。

CPU执行时间=CPU时钟周期数/主频=(指令条数×CPI)/主频

上式表明,CPU的性能(CPU执行时间)取决于三个要素:a.主频(时钟频率);b.每条指令执行所用的时钟周期数(CPI);c.指令条数。

(5)MIPS、MFLOPS、GFLOPS和TFLOPS

MIPS(MillionInstructionsPerSecond),即每秒执行多少百万条指令。

MIPS=指令条数÷(执行时间×106)=主频÷CPI

MFLOPS(Mega Floating-point Operations Per Second),即每秒执行多少百万次浮点运算。

MFLOPS=浮点操作次数÷(执行时间×106

GFLOPS(Giga Floating-point Operations Per Second),即每秒执行多少十亿次浮点运算。

GFLOPS=浮点操作次数÷(执行时间×109

TFLOPS(Tera Floating-point Operations Per Second),即每秒执行多少万亿次浮点运算。

TFLOPS=浮点操作次数÷(执行时间×1012

【例】MIPS(每秒百万次指令数)和MFLOPS(每秒百万次浮点运算数)是衡量CPU性能的两个指标,其中(  )。

A.MIPS适合衡量向量处理机的性能,MFLOPS适合衡量标量处理机的性能

B.MIPS适合衡量标量处理机的性能,MFLOPS适合衡量向量处理机的性能

C.MIPS反映计算机系统的峰值性能,MFEOPS反映计算机系统的持续性能

D.MIPS反映计算机系统的持续性能,MFLOPS反映计算机系统的峰值性能

【答案】B

【解析】MIPS反映的是单位时间内执行定点指令的条数,MLOPS是基于所完成的浮点操作次数而不是指令数。在标量计算机中执行一条指令,一般可得到一个运算结果;而在向量机中,一条向量指令通常要对多个数据元素进行运算,得到多个运算结果。MIPS指标不能准确反映向量集中数据的运算速度。因此,MIPS(每秒百万次指令数)适合衡量标量处理机的性能,MFLOPS(每秒百万次浮点运算数)适合衡量向量处理机的性能。