自学考试02384计算机原理考点.docx
《自学考试02384计算机原理考点.docx》由会员分享,可在线阅读,更多相关《自学考试02384计算机原理考点.docx(39页珍藏版)》请在冰豆网上搜索。
自学考试02384计算机原理考点
第1章计算机系统概论
电子计算机是一种能够自动、高速、精确地对各种信息进行处理和存储的电子设备,从总体上可以分为两大类:
电子模拟计算机和电子数字计算机。
1.1计算机发展简史
[填空]计算机最初是作为一种计算工具而问世的。
早在计算机问世之前,就有各种各样的计算工具。
纵观计算工具的发展历史,人类的计算工具已经经过了算筹、算盘、计算尺、手摇计算机、电动计算机、真空管计算机、晶体管计算机、大规模集成电路计算机,正在向生物
计算、光计算、量子计算等方向探索。
[单选、填空]ENIAC是个划时代的创举,是世界上第一台电子数字计算机,成为现代数字计算机的始祖。
1.2计算机系统
[单选、填空]一个完整的计算机系统包括硬件和软件两大部分。
硬件是指计算机的所有器件或装置的总称,它们是“看得见、摸得着"的有形设备。
软件是相对硬件而言的,是指在计算机硬件上运行的各种程序以及有关文档资料,例如操作系统、汇编程序、编译程序、诊断程序、数据库管理系统、专用软件包、各种维护
使用手册、程序流程图和说明等,是无形的东西。
’。
硬件是计算机系统的物质基础,没有硬件对软件的支持,软件的功能就无从谈起,也就无法计算、处理某一
方面的问题。
同样,软件是计算机系统的灵魂,是硬件功能的完善与扩充。
没有软件,计算机“仍是个“死"东
西,根本无法工作。
因此,计算机的硬件与软件是相互渗透、相互依存、互相配合、相互促进的关系,二者缺一
不可。
所以计算机系统性能的好坏取决于软、硬件功能的总和。
[简答]·诺依曼思想体制主要包括:
(1)采用二进制数字代码形式表示各种信息。
(2)采用存储程序控制工作方式。
(3)计算机硬件由五大部件组成。
计算机硬件由运算器、控制器、存储器、输入设备和输出设备组成,其组成框图如图1—1所示。
图中,空心箭头代表数据信号流向,实心箭头代表控制信号流向。
[填空]运算器是对信息进行运算和处理的部件。
在计算机中的运算有两类:
算术运算和逻辑运算。
运算器主要由算术逻辑运算部件(ALU)和用来暂存数据或存放运算结果的一系列寄存器组成。
[单选、填空]通常,人们把运算器和控制器统称为中央处理机(CPU),而把CPU和部存储器一起称为主机。
主机的存储器称为部存储器或简称存,位于主机之外的存储器称为外部存储器或简称外存。
外存和输入、输出设备一起又统称为外部设备或简称外设。
[单选、填空]总线通常包括数据总线、地址总线和控制总线
[简答]计算机系统的层次结构如下:
(1)数字逻辑层。
最底层是由逻辑门组成的逻辑电路,称为数字逻辑层。
(2)微程序设计层。
这是一个实在的硬件层,它是机器硬件直接执行微指令。
如果某一个应用程序直接用微指令来编写,那么可在这一级上运行该应用程序。
对于非微程序控制的计算机,此层合并人数字逻辑层。
(3)机器语言层。
又称为一般机器层,它是微程序解释机器指令系统。
(4)操作系统层。
它由操作系统程序实现,而操作系统由机器指令和广义指令组成。
所谓广义指令,是操
作系统定义和解释的软件指令。
(5)汇编语言层。
它给程序员提供一种符号形式的语言,以减少程序员利用机器语言编写程序的复杂性。
这一层由汇编程序支持或执行。
(6)高级语言层。
这一层由各种高级语言编译程序支持。
高级语言层上运行的程序是用比汇编语言更高级、更接近人类自然语言的高级语言所编写的。
高级语言程序员在这一级上不需要了解计算机硬件、编译及操作系统等容。
1·3计算机系统的技术指标
[填空、简答]计算机系统的技术指标如下.
(1)字长是指计算机的运算部件能同时处理的二进制数据的位数。
字长通常是字节的整倍数:
它与计算机的功能和用途有很大的关系。
字长不但决定着寄存器、加法器、数据总线等部件的位数,直接影响着硬件的代价,而且还决定了计算机的运算精度。
字长越长:
计算机的运算精度就越高。
(2)存容量。
一个存所能存储的全部信息量称为存容量。
它可以以字长为单位来计算,也可以以字节为单位来计算。
在以字节为单位时,约定以8位二进制位为一个字节(Byte,缩写为B)。
(2)运算速度。
它是用每秒能执行的指令条数来表示的,单位一般用MIPS(每秒百万条指令)表示。
第2章数字逻辑基础
2.1逻辑代数与逻辑门
[简答]逻辑代数与普通代数的区别如下:
逻辑代数和普通代数一样用字母代表变量,称为逻辑变量。
和普通代数不同的是,逻辑变量的取值只有两种:
”1”和”0”,这里的”1"和”0”,不再像普通代数那样具有数值大小的含义,而是表示所研究问题的两个相互对立的逻辑状态。
在逻辑关系中,最基本的逻辑关系只有“与"、“或’’和“非"三种,因此逻辑代数中变量的运算也只有“与"、
“或’’和“非”三种基本逻辑运算,而其他任何复杂的逻辑运算都可以用这三种基本逻辑运算来实现。
1.逻辑“与"关系
若假设在表2—1中,用“1"表示开关闭合或灯亮,用“0"表示开关断开或灯灭,便可以得到反映开关状态与
灯亮/灭之间因果关系的数学表达形式——逻辑真值表,简称真值表,如表2—2所示。
由表2-2可知,逻辑变量Y与逻辑变量A、B之间的关系是:
只有当A与B都是“1”是,Y才为“1”;否则,Y为“0”。
这一关系用逻辑表达式表示为:
Y=A·B或Y=AB
式中,“·"表示逻辑变量A、B的“与"运算,又称为逻辑乘。
逻辑与运算的规律是:
0·0==00·1==01.0==01.1==1
2.逻辑“或"关系
其逻辑表达式表示为:
Y=A+B
式中,“+"表示逻辑变量A、B的“或”运算,又称为逻辑加。
逻辑或运算的规律是:
0+0=00+1=11+0=11+1=1
3.逻辑“非"关系
当决定一件事情的条件不具备时,这件事情才会发生,这样的逻辑关系称为逻辑“非’’关系。
非就是相反,就是否定。
当开关A闭合时,灯Y灭;而当开关A断开时,灯Y会亮。
所以对灯Y亮这一事件来说,开关A闭合是一种“非"的逻辑关系。
其逻辑表达式表示为:
式中,字母A上方的符号“一”表示逻辑变量A的“非”或“反’’运算。
逻辑非运算的规律是:
4.常用复合逻辑运算
除了与、或、非这三种基本逻辑运算之外,经常用到的还有基于这三种基本运算构成的一些复合运算,它们是与非(先“与’’后“非’’)、或非(先“或”后“非”)、异或等运算。
与非、或非和异或运算的逻辑表达式分别是:
5.逻辑代数的运算法则
[计算]根据逻辑与、或、非的三种运算法则,可推导出逻辑运算的一些基本定律和法则,其中最常用的有以下几种:
(1)关于变量与常量的关系
(2)重复律
(3)吸收率
(4)分配律
(5)交换律
(6)结合律
(7)反演律
=
2.2组合逻辑电路.
[单选、填空]通常数字系统的逻辑电路可以分为两大类:
组合逻辑电路和时序逻辑电路。
组合逻辑电路是指电路的输出状态只与当时输入状态有关,而与电路的以前状态无关,即输出与输入的关系具有即时性,不具备记忆功能。
2.3常用时序电路
[单选、填空]逻辑电路中的输出状态不但与当时的输入状态有关,而且还与电路以前的输入状态有关,这种逻辑电路称为时序逻辑电路。
因此,时序逻辑电路中必须要有能够储存信息的记忆元件――触发器。
触发器也是构成各种复杂时序逻辑电路中的基本部件。
[单选、填空]触发器的种类很多,按时钟控制方式来分,有电位触发、边沿触发、主从触发等方式的触发器;按功能来分,有RS型、D型、JK型等触发器。
同一功能的触发器可以由不同的触发方式来实现,因此在选用触发器时必须考虑触发方式。
.
[单选、填空]计算机中的许多部件都需要有能够暂时寄存数据的部件,而寄存器就是这样的部件,它具有接收信息、存放信息或传递信息的功能。
寄存器主要由触发器和一些控制门构成。
由于一个触发器只能存放1位二进制信息,那么存放n位二进制信息的寄存器就需要n个触发器来构成。
[简答]74LS175的具体逻辑功能如下:
(1)异步清零。
当MR=0时,寄存器处于异步清零工作方式。
这时,不管其他输人端的状态如何(包括时钟信号CLK),寄存器Q3~Q0被直接清零。
由于清零不受时钟信号CLK控制,因而称为异步清零。
(2)同步并行置数。
当MR=1时,在CLK上升沿作用下,数据输人端D3~D0的数据将被分别置人Q3~Q0。
由于置数操作要与CLK上升沿同步,且D3~D0的数据同时置人寄存器,所以称为同步并行置数。
(3)保持功能。
当MR=1时,在CLK上升沿以外的时间,寄存器的容保持不变,即各个输出端的状态与输人数据无关。
[填空]移位寄存器不仅能够存储数据,而且具有移位的功能。
按照数据移动的方向,可分为单向移位和双
向移位两大类。
[填空、简答]计算器的分类主要有下面几种:
(1)按构成计数器的触发器的翻转次序分类,可分为异步计数器和同步计数器。
.当计数脉冲CLK输入时,所有触发器同时都翻转的计数器称为同步计数器;当计数脉冲CLK输人时,各级触发器不同时翻转的计数器称为异步计数器。
(2)按计数过程中计数器中数字的增减来分类,可分加法计数器、减法计数器和可逆计数器(加减计数器)。
(3)按计数器中数字的编码方式来分类,可分为二进制计数器和十进制计数器。
第3章计算机中的信息表示
[填空]在计算机中,信息分为两大类:
数据信息和控制(指令)信息。
数据信息泛指计算机处理的对象,它们又可分为数值型数据和非数值型数据。
(如文字、声音、图像等);控制信息就是控制计算机工作的信息,计算机执行指令时,用指令产生的各种操作命令控制有关操作,所以指令序列属于控制信息。
3.1数值型数据的表示
[填空]所谓进位计数制,就是人们利用数字符号来计数的方法。
凡是用数字符号排列,按由低位向高位进位计数的方法叫做进位计数制,简称计数制或进位制。
进位计数制有很多种,计算机科学中常用的是二进制、十进制、十六进制。
[填空]一个数无论采用何种进位制表示,都包含两个基本要素:
基数和位权。
(1)基数
任何一种计数制允许选用的基本数字符号的个数叫做基数。
例如,十进制中有0~9共十个符号,基数为10;二进制中只有0和1共两个符号,基数为2。
(2)位权
一个数字符号所表示的数值等于该数字乘以一个与它所在数位有关的常数,这个常数叫做“位权”,简称“权”。
位权的大小是指以基数为底,数字符写所在位置的序号为指数的整数次幂。
[简答]二进制数与其他数制相比,具有以下一些特点:
(1)容易实现。
(2)工作可靠。
(3)运算简单。
(4)便于逻辑运算与逻辑设计。
[计算]无符号数是指整个机器字长,的全部二进制位均表示数值位(没有符号位),相当于数的绝对值。
对于机器字长为,n位的无符号数的表示围是
,此时二进制的最高位也是数值位,其权值等于2—1。
若字长为8位,则数的表示围为0~255。
带符号数的正号“+”或负号“-”,计算机是无法识别的,因此在计算机中需要把数的正、负符号数码化。
一般用数的最高位表示数的正负,通常约定“0”表示正号,“1”表示负号。
[计算]十进制使用的数字符号为0~9共10个符号,各位的权是以10为底的幂;二进制使用的数字符号为0和1,各位的权是以2为底的幂。
十六进制使用数字0、1、……、9,以及英文字母A、B、C、D、E、F,共16个
符号,其中,A、B、C、D、E、F分别代表十进制数中的10、11、。
12、13、14、15,各位的权是以16为底的幂。
(1)十进制数转换为二进制数
整数用“除2取余”,小数用“乘2取整’’的方法。
例如:
(2)十六进制数转换为二进制数
不论是十六进制的整数部分或小数部分,只要把每一位十六进制数用等值的四位二进制数代替即可。
例如:
(3)二进制数转换为十六进制数
整数部分由小数点向左每四位一组,小数部分由小数点向右每四位一组,不足四位的补0,然后用四位二进制数的等值十六进制数代替即可。
例如:
[计算]一个数在计算机的表示形式称为机器数,这个数本身的值称为该机器数的真值。
将真值转换为计算机硬件能够直接识别、处理的机器数时,根据其数值部分编码方法的不同,相应的机器数又有三种不同的编码:
原码、反码、补码。
(1)原码表示法
原码表示法是一种最简单的机器数表示法,其最高位为符号位,符号位为“0’’表示正数,符号位为“1”表示负数。
数值位部分与真值相同。
例如:
真值“0”在原码中有两种表示形式,即:
对于8位原码表示的数值围是+127~-127,
(2)反码表示法
对于正数,反码与原码相同;对于负数,除符号位仍为“1”外,其余各数值位是“按位取反”。
例如:
反码的“0”也有两种表示形式,即:
。
对于8位反码表示的数值围为+127~-127,
(3)补码表示法
其中,模
,n为计量装置的位数(字长)。
对于正数,与反码一样,正数的补码与原码相同;对于负数,除符号位仍为“1”外,其余各数值位“按位取反,末位加1”。
例如:
补码的“0”只有一种表示形式:
对于8位补码表示的数值围为+127~-128,
[计算]通常在编程时用真值来表示数值,经过编译、解释后转换成用原码或补码表示的机器数。
因此,在计算机中需要将真值或原码形式表示的数据转换为补码形式,以便于机器对其进行运算。
下面先从原码形式入手来求补码。
当X为正数时,
当X为负数时,
等于把
除去符号位外的各位求反后再末位加“1”。
当X为负数时,已知
,也可通过对其除符号位外的各位求反后再末位加“1"求
当X为负数时,由
转换为
的另一种更有效的方法是:
自低位向高位,尾数的第一个“1"及其右部的“0”保持不变,左部的各位取反,符号位保持不变。
这种方法避免了加“1”运算,它是实际求补电路逻辑实现的依据。
例如:
也可以直接由真值X转换为
,其方法更简单:
数值位自低位向高位,尾数的第一个“1”及其右部的“0”保持不变,左部的各位取反,负号用“1”表示。
注意,X必须是负数。
例如:
X=-0001010
[计算]计算机中的一般数据有两种表示格式:
定点表示与浮点表示。
所谓定点与浮点,是指数中小数点的位置是固定的还是浮动的。
(1)定点表示
定点表示分为定点小数和定点整数。
假设字长是n+1位,则定点小数的原码表示围是:
,定点小数的补码表示围是:
,定点整数的原码表示围是:
,定点整数
的补码表示围是:
(2)浮点表示
一个浮点数N由阶码E和尾码M两部分组成。
任意一个二进制数据N都可以表示为:
,其
中M是尾数,E是阶码,而基数2隐含。
例如:
(阶码,尾数)
对于二制数据N来说:
当阶码E=0,若尾数M为纯小数,则数据N为定点小数。
当阶码E=0,若尾数M为纯整数,则数据N位定点整数。
当阶码E为住意整数,此时数据N为浮点数
[填空]BCD码的编码形式可以有多种,其中最自然、最简单的一种形式是8421BCD码,即4位二进制数的权从左往右分别为8、4、2、1。
3.2非数值型数据的表示
[单选、填空]计算机中的字符是用7位二进制编码来表示的,并且经常用一个字节来保存这个二进制数。
现在世界上最通用的编码方案是ASCII。
在ASCII字符编码表中可以看到,一个字节中的7位二进制数给出厂128个编码,表示128个不同的字符。
[单选、填空]用计算机进行汉字信息处理,必须将汉字代码化,即对汉字进行编码,称为汉字输人码。
汉字的编码有输入码、码、字形码三种形式,
(1)汉字的输入码。
编码方案主要分为三大类:
数字编码、拼音码、字形编码。
数字编码常用的是国标区位码,用数字串输人一个汉字;拼音码是以汉语拼为基础的输入方法;字形编码是用汉字的形状来进行的编码。
(2)汉字的码。
同一个汉字以不同输入方式进人计算机时,编码长度以及0、1组合顺序差别很大,在汉字信息进一步存取、使用、交流时十分不方便,必须转换成长度一致且与汉字唯一对应的能在各种让算机系统
堕通用的编码,满足这种规则的编码称为汉字码。
3)汉字字形码。
存储在计算机在屏幕上显示或在打印机上输出时,需要知道汉字的字形信息,汉字码并不能直接反映汉字的字形,而要采用专门的字形码。
字形信息的表示大体上有两类形式:
一类是用活字或文字版的固体字形形式,另一类是点阵表示法或矢量表示法等形式,其中最基本的也是大多数字形库采用的,是以点阵的形式存储汉字字形编码的方法。
[单选、填空]位图图像是由一个个离散点(像素点)的二进制数字组成的数字图像,需要经过采样和量化处理。
语音是一种模拟信号,和位图图像处理类似,必须经过采样、量化等模/数转换处理。
3.3数据校验码
计算机中常用检错或纠错技术进行存储器读/写正确性或传输信息的检验,这里仅介绍检错码。
最简单且应用广泛的检错码是采用一位校验位的
奇偶校验。
设
是一个n位字,偶校
验位C定义为:
即X中包含偶数个1时,才使C=0。
3.4指令信息的表示
指令是指示计算机硬件执行某种操作的命令。
CPU就是根据指令指挥和控制计算机各部件协调动作。
实现对信息的加工和处理的。
指令系统主要包括指令格式、寻址方式、指令类型与指令功能等容,这些都是必须熟悉和掌握的核心问题。
1.指令格式
计算机能直接识别和执行的指令是用二进制编码表示的机器指令。
指令格式就是指令用二进制代码表示的结构形式,通常由若干个字段构成,主要包括操作码和地址码字段。
一条机器指令的基本格式如下:
操作码OP
地址码D
(1)操作码指明了计算机应讲行什么件质的操作,如加、减、乘、除四则运算或数据传送、移位等操作。
(2)地址码指明了操作的数据或数据存放的地址。
根据指令码中提供操作数地址的个数,又可以把指令格式分为:
零地址指令(又称为无操作数指令),一地址指令(又称为单操作数指令)、二地址指令(又称为双操作数指今)和三地址指令(又称为三操作数指令)等。
①零地址指令格式:
操作码OP
这类指令中只有操作码,没有操作数,例如空操作指令、停机指令等;也可能是有操作数,而该操作数被隐含地给出。
②一地址指令格式:
操作码OP
地址码D
一地址通常有两种情况:
这个操作数既是操作数的地址,又是操作结果的存储地址;指令中给出一个操作数,而另一个操作数被隐含在CPU的某个寄存器中
③二地址指令格式:
操作码OP
地址码D1
地址码D2
这类指令指明参与操作的两个操作数地址,分别为源地址D2的地址和目的地址D1。
指令功能是(D1)OP(D2)->D1。
在双操作指令中,从操作数的物理位置来说,可分为三种类型:
寄存器——寄存器(RR)型指令。
操作数都放在CPU寄存器中,因不需要访问存储器,所以机器执行的速度快:
存储器——存储器(SS)型指令,操作数都放在存储器单元中,执行速度慢;寄存器一存储器(RS)型指令,执行速度介于上述两者之间。
④三地址指令格藏:
操作码OP
地址码D1
地址码D2
地址码D3
指令功能是(D2)OP(D3)D1,该指令的优点是操作结束后,D2、D3中的容均未被破坏;缺点是增加了指令长度和存放空间,加大了取指令的时间。
2.指令长度
每一条机器指令都是一串二进制代码,称为指令字。
在指令系统设计上出现两种相反的趋势:
一种是采用可变长指令字结构,让指令功能尽可能丰富,称之为复杂指令系统计算机(ComplexInstructionSetCornputer,CISC);另一种是采用定长指令字结构,只选取简单、常用的指令,称之为精简指令系统计算机(ReducedInstructionSetComputer,RISC)。
3.寻址方式
指令中以什么方式提供操作数或操作数地址,称为寻址方式。
(1)立即寻地。
操作数跟在操作码的后面,指令的地址字段直接给出了操作数。
在取出该指令的同时,也就取出了可以立即使用的操作数。
这样的数称为立即数。
(2)寄存器寻址。
指令的地址码字段给出某一个通用寄存器的编码(地址),该寄存器中存放着操作数。
(3)直接寻址。
指令的地址码字段直接给出的是操作数的有效地址EA。
用这个有效地址访问一次存储器,便可以从指定的存储单元中获得操作数。
由于这样给出的操作数地址是不能修改的。
与程序本身所在的位置无关,所以又叫做绝对寻址方式。
(4)寄存器间接寻址。
指令中的地址码给出了某一通用寄存器的编号,以该寄存器中的容为有效地址EA,用这个有效地址访问一次存储器,便可以从指定的存储单元中获得操作数。
(5)存储器间接寻址。
这是一种与寄存器间接寻址类似间接寻址方式。
通常在指令格式中划出一位作为直接或间接寻址的标志位I。
(6)变址寻址。
变址寻址就是把变址寄存器
的容(变址值)与指令中给出的形式地址D相加,形成操作数的有效地址EA,即EA=(
)+D。
(7)相对寻址。
相对寻址方式是变址寻址的特例。
它以程序计数器PC为变址器,与指令提供的形式地址相加,从而得到有效地址EA。
有效地址与形式地址D和程序计数器PC器的关系为:
EA=(PC)+D。
(8)基址寻址。
当存储器容量较大、所需地址码的长度大于字长时,由指令地址码字段直接给出的地址就不能直接访问到存储器的所有单元。
解决的方法通常是把整个存储空间分成若干个段,段的首地址存放在基址寄存器中,段位移量由指令直接给出,存储器的实际地址就等于基址寄存器的容(即段首地址)与段位移量之和,这样通过修改基址寄存器的容就可以访问存储器的任一单元。
4.指令的类型及功能
计算机的指令系统一般都包含有几十条到上百条指令,其类型也有很多种,在此将按照指令的类型分别介绍各类指令的基本功能。
(1)数据传送类指令
这类指令用于实现寄存器与寄存器、寄存器与存储
器单元以及两个存储器单元之间的数据传送操作,包括
通用数据传送指令和堆栈及堆栈操作指令。
(2)运算类指令
运算类指令包括算术运算指令和逻辑运算指令。
算术运算指令一般都设有二进制数加、减、乘、除、比较和求补等最基本指令;逻辑运算指令指与、或、非、异或和测试等。
(3)移位操作指令
移位操作指令分为算术移位、逻辑移位和循环移位三种,可以实现对操作数左移或右移一位或若干位。
1算术移位的对象是带符号数,左移时、末位补0;右移时,必须保持操作数的符号不变。
当左移一位时,如不产生溢出,则数值乘2;而右移一位时,如不考虑因移出舍去的末位尾数,则数值除2。
2逻辑移位操作的是无符号数。
算术移位与逻辑移位主要差别在于右移时,填人最高位的数据不同。
算术右移保持最高位(符号位)不变,而逻辑右移最高位补零。
③循环移位又分为小循环(自身循环)与大循环(带进位循环),主要用于实现循环式控制、高低字节互换等。
5.字符串处理指令
字符串处理指今是一种非数处理指今。
一船包括字符串传送、字符串转换、字符串比较、字符串查找、字符串匹配、字符串的抽取和替换。
6.输入/输出指令(I/0)
I/0指令主要用来实现CPU与外部设备之间的信息交换、包括输入/输出数据、CPU向外设发控制命令或外设向CPU报告工作状态等。
7.程序控制指令
程序控制类指令用于控制程序的执行顺序,并使程序具有测试、分析和判断的能力。
它主要包括转移指令、子程序调用和返回指令等。
(1)转移指令用来改变程序的执行顺序,可以分为无条件转