第1章计算机系统概述。
一、复习要点。
本章是计算机系统的概述,强调建立计算机系统的初步的和较完整的概念。本章期末考试不做具体要求,但本章基本概念的理解程度将直接影响到对后续各部分内容的理解。其中以计算机系统的结构层次、硬件系统的基本组成为重点理解的内容。
二、重点问题解析。
1.什么是计算机系统的层次结构?
答:通常,把一个计算机硬、软件系统的完整内容划分为6个层次。分层能够更精准地理解、说明每一个层次的功能和运行机制,表明各层次之间相互依存、彼此支持的关系。
下一层是实现上一层的基础,上一层是对下一层的功能扩展。
数字电路与逻辑设计是实现计算机硬件的基础,处于最底层;
由5个部件组成的计算机硬件系统构成微体系结构层,接在数字逻辑层上面;
硬件系统实现了全部指令系统的运行功能,提供了设计软件的能力,处在硬件系统的顶层和软件系统的底层;
最底层的软件是操作系统,提供了管理和运行计算机系统的能力;
在此基础上设计的汇编语言,提供了设计程序的功能较弱的基本工具;
再往上实现了功能更强的高级语言,设计各种程序更容易,使用计算机更方便。
2.什么是计算机系统中的硬件系统和软件系统?
答:计算机硬件系统是一种高度复杂的、由多种电子线路、精密机械装置等构成的、能自动并且高速地完成数据处理、计算的装置或者工具。
硬件系统由运算器部件、控制器部件、存储器部件、输入设备和输出设备5个大的功能部件组成,见图1.2。其中运算器和控制器共同构成了大家熟知的cpu,各部件间通过总线连接。
显然,这些部件中运算器用于完成对数据暂存、运算处理功能;控制器向各个部件、设备提供协调运行所需要的控制信号;存储器用于完成对数据存储功能;输入设备和输出设备分别用于完成对原始数据输入功能和对运算结果输出功能。
图1.2 计算机硬件系统的组成示意图。
计算机软件系统是由完成计算机资源管理、方便用户使用的系统软件(厂家提供),和完成用户对数据的预期处理功能(用户设计,自己使用)的程序这样两大部分构成的。基本系统软件主要由3个部分组成:
1)分担计算机系统中的资源管理与分配,也向使用者和程序设计人员提供简单、方便、高效服务的操作系统;
2)支持用户按照计算机最基本功能(指令)设计程序的汇编语言;
3)支持用户按照解题算法设计程序的高级语言。
在一个完整的计算机系统中,软件系统是建立在硬件系统层次之上的部分,它的存在以已有硬件系统为前提,并且必须在已有硬件上才能运行。
硬件系统也必须在软件系统的调度指挥下才能发挥出应有的运行效率,体现出它的使用价值。
指令系统是设置在硬件系统和软件系统之间的结合点和纽带,硬件系统实现每一条指令的功能,全部软件系统都是由指令序列组成的程序。
第2章数据表示和运算方法。
一、复习要点。
数据处理是计算机最擅长的工作。本章介绍数值、逻辑值、文本、图像、声音和**等多种信息在计算机内表示方式,以及运算器加工数据的基本运算规则。只有在数学上掌握了计算机内数据的表示形式和运算器的基本运算规则,才能在物理上理解计算机处理数据的原理。
为此,学习本章必须很好地掌握以下几点:
1)各种类型的数据(小数、整数、浮点数)在计算机内的表示;
2)完成算术运算(补码加减法、原码一位乘除法)所用的算法;
首先应学好二进制编码,数制转换,定点数和浮点数表示,数据校验码等基本知识,然后是数值数据算术运算的有关算法。其中二进制编码,数制转换,定点小数和整数的原、反、补码表示是核心的重点内容。
数据校验码部分应较好理解常见校验码的实现原理。
定点小数、整数、浮点数在计算机内的表示应该很好地掌握,尤其是补码加减法的运算规则从数学角度应该不难掌握,但每次考试这部分都是必考的,所以应该通过做习题真正掌握好。原码一位乘除法的实现算法了解即可。
二、重点问题解析。
1.数制转换(二进制需要小数点后保留8位):
1)将十进制数(0.71)10分别转换成二进制数、十六进制数和bcd码;
2)将十六进制数(1ab)16转换为二进制数和十进制数。
答:计算机内多数情况下是由二进制数表示的,数制转换是计算机初学者必须要熟悉的,否则很难对处理二进制数据的电路产生应有的感觉。十→二进制转换分为整数与小数两种情况,整数的转换采用除2取余,高位在下,商为0时为止;小数的转换采用乘2取整,高位在上,位数达到要求或小数部分为0结束。
得到二进制后,再转换成对应的十六进制数就很简单了。
0.71)10=(0.01110001)bcd=(0.10110101)2=(
1ab)16=(000110101011)2=(427)10
2.在16位定点原码整数中,什么是能表示的最大正数和最小负数的机器数形式?对应的十进制数的数值范围是什么?
答:无论是定点小数和整数的编码,机器数的最高一位都是代表符号。正数的符号位为0,负数的符号位为1。
对于原码表示,其余各位给出数值绝对值;对于补码表示,正数同原码,负数的数值位为原码求反加1(末尾加1);对于反码表示,正数同原码,负数的数值位为原码求反。本题是16位的机器数,最高一位代表符号,数值位是15位,所以有:
最大正数:0111 1111 1111 1111
最小负数:1111 1111 1111 1111
用十进制数表示,数值范围:
3.已知x=0.1101,y=-0.0111,求[x]原、[y]原、[x]补、[y]补、[x+y]补。
答:本题中x和y是真数,依据真数与原码和补码的关系,便可得到各自的数值表示。加减法运算是计算机中最基本的运算,通常选用补码实现。
而两个数的真值之和的补码,等于两个数的真值的补码之和。所以有:
x]原=01101,[y]原=10111
x]补=01101,[y]补=11001
x+y]补=00110
4.定点小数中,原码表示有哪些优缺点?
答:优点:在数的真值和它的原码表示之间的对应关系简单,相互转换容易,用原码实现乘除运算的规则简单。
缺点:用原码实现加减运算很不方便,既要比较参与加减运算两个数的确良符号,比较两个数的绝对值的大小,还要确定运算结果的正确的符号等。
5.若将浮点数的阶码用移码、尾数用原码来表示,它有哪些优点?
答:尾数的符号位在浮点数表示的最高位,比较两个数的大小时,符号非常重要,正数一定大于负数。阶码的位置在机器表示中,处在符号位和尾数之间,阶码大的,其移码形式的机器数也大,便于比较浮点数的大小。
移码的最小值是各位均为0,它被用来表示机器0,即当阶码的值小于或等于移码所能表示的最小值时,认为浮点数的值为0。此时的机器0的阶码和尾数均为0的形式,给硬件的判0带来很大的方便。
6.海明码是如何实现检错的?
答:海明码是对多个数据位使用多个校验位的一种检错纠错编码方案。对每个校验位采用偶校验技术计算校验位的值,通过把每个数据位分配到几个不同的校验位的计算中去,若任何一个数据位出错,必将引起相关的几个校验位的值发生变化。
通过检查这些检验位取值的不同情况,不仅可以判断是否出错,还能发现是哪一位出错并能恢复该出错位的正确值。
第3章运算器部件。
一、复习要点。
作为计算机五大部件之一,运算器是实现数据运算的执行部件,分定点运算器和浮点运算器2种。
两种运算器以定点运算器为学习重点。主要应搞清楚组成定点运算器的两个主要部分(算数和逻辑运算的电路alu和暂存运算数据和中间结果的寄存器组regs)的基本运行原理。学习时不必太多关注电路本身,只需理解运算器如何完成指定的数据运算功能、如何接收输入、怎样送出结果,这些才是学习的重点。
这部分的内容也是学习控制器系统和理解计算机整机系统运行机制必要的准备知识。浮点运算器的组成和浮点数的运算一般了解即可。
学习时一定要处理好计算机组成原理的通用知识和产品特定实例的关系,应该通过对产品特定实例的学习和认识,能够上升到对一般理论的理解。
运算器产品可以典型的risc结构的mips系统为例,弄清楚定点运算器的功能、组成与运行控制方案。
二、重点问题解析。
1.什么是mips计算机系统的运算器?
答:mips计算机是上个世纪八十年代中期推出的典型risc结构、非常成功的系统,国内外许多教材都把mips的指令系统和实现技术选为教学内容。
下图是mips计算机的运算器部件的内部组成。由图可见,它主要包括两个重要部分,一个是由128个寄存器组成的寄存器堆,另一个是执行数据运算的alu。这个运算器被用于多周期cpu系统(对不同类型的指令选用不同的周期数)时,alu既用于计算数据,又用于计算数据和指令在存储器中的地址,故还需要向alu提供计算指令地址的相关信息。
图3.1 mips计算机的运算器部件内部组成。
寄存器堆regs 由 4组各32个寄存器组成,有3个控制端口(5位)提供寄存器编号,其中的 2个(rs、rt) 用于读,读出的数据将保存到寄存器 a和b 。1个(rd) 用于写,写入的数据由di引脚提供,可以是寄存器c 或从内存读出的内容,寄存器b的内容可以写到内存。
算逻运算单元alu 能完成加、减、与、或、异或等运算,用alu-func 信号选择,一路运算数据包括寄存器a和程序计数器pc 2个**,用a-sel选择,另一路包括寄存器b、常数4、两个立即数immed-1和immed-2(两个立即数来自指令寄存器ir并经过扩展得到)4个**,用b-sel选择,产生运算结果r (送到pc) 或保存到结果寄存器c,还产生结果为0 的标志位信息 z。alu完成数据运算,数据、指令在内存中的地址计算这三种操作。
2.mips的运算器中alu的三种操作功能是如何实现的?
答:数据运算、数据和指令在内存中的地址计算是alu的三种基本操作功能。
1)数据运算(rs+rt→rd):3个寄存器的编号(rs、rt、rd)由指令寄存器提供。需要3步完成:
第1步用rs 和 rt 选择并读出两个寄存器的内容,分别保存到寄存器a和b;
第2步选择a和b作为运算数据,控制alu执行加法运算,结果存寄存器c;
第3步把结果c中内容送到di端,用rd选择寄存器,写结果到寄存器堆。
2)数据在内存中的地址计算(pc+immed_2 →pc):1步完成:
选择pc和immed_2 作为运算数据,控制alu执行加法运算,把计算结果r送pc输入端并控制pc完成写入操作。
第1步用rs 选择并读出寄存器的内容并保存到寄存器a;
第2步alu实现a+immed_1 送寄存器c 。
3.简述计算机运算器部件的主要功能。
计算机组成原理2019计算机组成原理考研真题
2009计算机组成原理考研真题。11.冯诺依曼计算机中指令和数据均以二进制形式存放在存储器中,cpu区分它们的依据是 c a指令操作码的译码结果b指令和数据的寻址方式。c指令周期的不同阶段d指令和数据所在的存储单元。12.一个c语言程序在一台32位机上运行。程序中定义了三个变量x,y和z,其中x和z...
计算机组成原理复习
第一章。简答题。1.冯。诺依曼体制的要点是什么?2.1采用二进制 表示数据和指令 2存储程序 3计算机有运算器。参与一次定点运算的操作数位数存储器控制器输入输出设备组成 3.何谓字长?何谓字节?3.什么是数据通路宽度?数据总线一次能并行传送的数据位数。1.何谓总线?一组能为多个部件分时共享的信息传送...
计算机组成原理复习
1 选择题。1.对于存储器主要作用,下面哪项说法正确 c a 存放程序 b 存放数据 c 存放程序和数据 d 存放微程序。中有若干寄存器,其中存放存储器中数据的寄存器是下面哪项 b a 地址寄存器 b 数据寄存器 c 程序计数器 d 指令寄存器。中程序状态寄存器中的各个状态标志位是依据下面哪项来置位...