版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、自考02384计算机原理考点【精选文档】第1章 计算机系统概论 电子计算机是一种能够自动、高速、精确地对各种信息进行处理和存储的电子设备,从总体上可以分为两大类:电子模拟计算机和电子数字计算机. 11 计算机发展简史 填空计算机最初是作为一种计算工具而问世的。早在计算机问世之前,就有各种各样的计算工具。纵观计算工具的发展历史,人类的计算工具已经经过了算筹、算盘、计算尺、手摇计算机、电动计算机、真空管计算机、晶体管计算机、大规模集成电路计算机,正在向生物计算、光计算、量子计算等方向探索。 单选、填空ENIAC是个划时代的创举,是世界上第一台电子数字计算机,成为现代数字计算机的始祖。 12 计算机
2、系统 单选、填空一个完整的计算机系统包括硬件和软件两大部分。硬件是指计算机的所有器件或装置的总称,它们是“看得见、摸得着"的有形设备。软件是相对硬件而言的,是指在计算机硬件上运行的各种程序以及有关文档资料,例如操作系统、汇编程序、编译程序、诊断程序、数据库管理系统、专用软件包、各种维护使用手册、程序流程图和说明等,是无形的东西。 硬件是计算机系统的物质基础,没有硬件对软件的支持,软件的功能就无从谈起,也就无法计算、处理某一方面的问题.同样,软件是计算机系统的灵魂,是硬件功能的完善与扩充。没有软件,计算机“仍是个“死"东西,根本无法工作。因此,计算机的硬件与软件是相互渗透、相
3、互依存、互相配合、相互促进的关系,二者缺一不可.所以计算机系统性能的好坏取决于软、硬件功能的总和。 简答冯·诺依曼思想体制主要包括: (1)采用二进制数字代码形式表示各种信息。 (2)采用存储程序控制工作方式。 (3)计算机硬件由五大部件组成。计算机硬件由运算器、控制器、存储器、输入设备和输出设备组成,其组成框图如图11所示。图中,空心箭头代表数据信号流向,实心箭头代表控制信号流向.填空运算器是对信息进行运算和处理的部件。在计算机中的运算有两类:算术运算和逻辑运算。运算器主要由算术逻辑运算部件(ALU)和用来暂存数据或存放运算结果的一系列寄存器组成。单选、填空通常,人们把运算器和控制
4、器统称为中央处理机(CPU),而把CPU和内部存储器一起称为主机。主机内的存储器称为内部存储器或简称内存,位于主机之外的存储器称为外部存储器或简称外存。外存和输入、输出设备一起又统称为外部设备或简称外设。单选、填空总线通常包括数据总线、地址总线和控制总线简答计算机系统的层次结构如下: (1)数字逻辑层。最底层是由逻辑门组成的逻辑电路,称为数字逻辑层。 (2)微程序设计层。这是一个实在的硬件层,它是机器硬件直接执行微指令.如果某一个应用程序直接用微指令来编写,那么可在这一级上运行该应用程序。对于非微程序控制的计算机,此层合并人数字逻辑层。 (3)机器语言层。又称为一般机器层,它是微程序解释机器指
5、令系统。 (4)操作系统层。它由操作系统程序实现,而操作系统由机器指令和广义指令组成。所谓广义指令,是操作系统定义和解释的软件指令. (5)汇编语言层.它给程序员提供一种符号形式的语言,以减少程序员利用机器语言编写程序的复杂性。这一层由汇编程序支持或执行. (6)高级语言层.这一层由各种高级语言编译程序支持.高级语言层上运行的程序是用比汇编语言更高级、更接近人类自然语言的高级语言所编写的。高级语言程序员在这一级上不需要了解计算机硬件、编译及操作系统等内容。 1·3 计算机系统的技术指标 填空、简答计算机系统的技术指标如下(1)字长是指计算机的运算部件能同时处理的二进制数据的位数。字长
6、通常是字节的整倍数:它与计算机的功能和用途有很大的关系。字长不但决定着寄存器、加法器、数据总线等部件的位数,直接影响着硬件的代价,而且还决定了计算机的运算精度。字长越长:计算机的运算精度就越高。(2)内存容量。一个内存所能存储的全部信息量称为内存容量。它可以以字长为单位来计算,也可以以字节为单位来计算。在以字节为单位时,约定以8位二进制位为一个字节(Byte,缩写为B). (2)运算速度。它是用每秒能执行的指令条数来表示的,单位一般用MIPS(每秒百万条指令)表示.第2章 数字逻辑基础 21 逻辑代数与逻辑门简答逻辑代数与普通代数的区别如下:逻辑代数和普通代数一样用字母代表变量,称为逻辑变量.
7、和普通代数不同的是,逻辑变量的取值只有两种:”1”和”0”,这里的"1”和”0",不再像普通代数那样具有数值大小的含义,而是表示所研究问题的两个相互对立的逻辑状态。 在逻辑关系中,最基本的逻辑关系只有“与”、“或和“非”三种,因此逻辑代数中变量的运算也只有“与"、“或和“非”三种基本逻辑运算,而其他任何复杂的逻辑运算都可以用这三种基本逻辑运算来实现. 1逻辑“与”关系 若假设在表21中,用“1”表示开关闭合或灯亮,用“0"表示开关断开或灯灭,便可以得到反映开关状态与灯亮/灭之间因果关系的数学表达形式逻辑真值表,简称真值表,如表22所示。由表2-2可知,逻
8、辑变量Y与逻辑变量A、B之间的关系是:只有当A与B都是“1”是,Y才为“1”;否则,Y为“0”。这一关系用逻辑表达式表示为: Y=A·B或Y=AB式中,“·"表示逻辑变量A、B的“与"运算,又称为逻辑乘. 逻辑与运算的规律是: 0·0=0 0·1=0 10=0 11=1 2逻辑“或”关系 其逻辑表达式表示为: Y=A+B 式中,“+"表示逻辑变量A、B的“或"运算,又称为逻辑加。 逻辑或运算的规律是: 0+0=0 0+1=1 1+0=1 1+1=1 3逻辑“非”关系当决定一件事情的条件不具备时,这件事情才会发生,这
9、样的逻辑关系称为逻辑“非关系。非就是相反,就是否定。 当开关A闭合时,灯Y灭;而当开关A断开时,灯Y会亮。所以对灯Y亮这一事件来说,开关A闭合是一种“非”的逻辑关系.其逻辑表达式表示为:Y= A 式中,字母A上方的符号“一"表示逻辑变量A的“非"或“反运算。 逻辑非运算的规律是: 0=1 1=0 4常用复合逻辑运算 除了与、或、非这三种基本逻辑运算之外,经常用到的还有基于这三种基本运算构成的一些复合运算,它们是与非(先“与后“非)、或非(先“或”后“非”)、异或等运算。与非、或非和异或运算的逻辑表达式分别是: AB 、A+B 、AB5逻辑代数的运算法则 计算根据逻辑与、或、
10、非的三种运算法则,可推导出逻辑运算的一些基本定律和法则,其中最常用的有以下几种:(1) 关于变量与常量的关系A+0=AA+1=AA+A =1A 0=AA+1=1A A =0(2) 重复律A A=AA+A=A(3) 吸收率A+ A B=AA(A+B)=A(4) 分配律AB+C=A·B+A·C A+B · C=A+B*(A+C)(5) 交换律A+B=B+AA· B=B· A(6) 结合律A+B+C=A+(B+C)A B C=A (B C)(7) 反演律A BC= A B C A+B+C = A+ B+ C 2。2 组合逻辑电路 单选、填空通常数字系
11、统的逻辑电路可以分为两大类:组合逻辑电路和时序逻辑电路。组合逻辑电路是指电路的输出状态只与当时输入状态有关,而与电路的以前状态无关,即输出与输入的关系具有即时性,不具备记忆功能。2.3 常用时序电路单选、填空逻辑电路中的输出状态不但与当时的输入状态有关,而且还与电路以前的输入状态有关,这种逻辑电路称为时序逻辑电路.因此,时序逻辑电路中必须要有能够储存信息的记忆元件触发器。触发器也是构成各种复杂时序逻辑电路中的基本部件。单选、填空触发器的种类很多,按时钟控制方式来分,有电位触发、边沿触发、主从触发等方式的触发器;按功能来分,有RS型、D型、J K型等触发器。同一功能的触发器可以由不同的触发方式来
12、实现,因此在选用触发器时必须考虑触发方式。 单选、填空计算机中的许多部件都需要有能够暂时寄存数据的部件,而寄存器就是这样的部件,它具有接收信息、存放信息或传递信息的功能。寄存器主要由触发器和一些控制门构成.由于一个触发器只能存放1位二进制信息,那么存放n位二进制信息的寄存器就需要n个触发器来构成. 简答74LS175的具体逻辑功能如下: (1)异步清零。当MR=0时,寄存器处于异步清零工作方式。这时,不管其他输人端的状态如何(包括时钟信号CLK),寄存器Q3Q0被直接清零.由于清零不受时钟信号CLK控制,因而称为异步清零。 (2)同步并行置数。当MR=1时,在CLK上升沿作用下,数据输人端D3
13、D0的数据将被分别置人Q3Q0。由于置数操作要与CLK上升沿同步,且D3D0的数据同时置人寄存器,所以称为同步并行置数。 (3)保持功能.当MR=1时,在CLK上升沿以外的时间,寄存器的内容保持不变,即各个输出端的状态与输人数据无关。 填空移位寄存器不仅能够存储数据,而且具有移位的功能。按照数据移动的方向,可分为单向移位和双向移位两大类. 填空、简答计算器的分类主要有下面几种: (1)按构成计数器的触发器的翻转次序分类,可分为异步计数器和同步计数器。当计数脉冲CLK输入时,所有触发器同时都翻转的计数器称为同步计数器;当计数脉冲CLK输人时,各级触发器不同时翻转的计数器称为异步计数器。 (2)按
14、计数过程中计数器中数字的增减来分类,可分加法计数器、减法计数器和可逆计数器(加减计数器)。 (3)按计数器中数字的编码方式来分类,可分为二进制计数器和十进制计数器。第3章 计算机中的信息表示 填空在计算机中,信息分为两大类:数据信息和控制(指令)信息。数据信息泛指计算机处理的对象,它们又可分为数值型数据和非数值型数据。(如文字、声音、图像等);控制信息就是控制计算机工作的信息,计算机执行指令时,用指令产生的各种操作命令控制有关操作,所以指令序列属于控制信息.3。1 数值型数据的表示 填空所谓进位计数制,就是人们利用数字符号来计数的方法。凡是用数字符号排列,按由低位向高位进位计数的方法叫做进位计
15、数制,简称计数制或进位制。进位计数制有很多种,计算机科学中常用的是二进制、十进制、十六进制.填空一个数无论采用何种进位制表示,都包含两个基本要素:基数和位权。(1) 基数任何一种计数制允许选用的基本数字符号的个数叫做基数。例如,十进制中有09共十个符号,基数为1 0;二进制中只有0和1共两个符号,基数为2.(2) 位权 一个数字符号所表示的数值等于该数字乘以一个与它所在数位有关的常数,这个常数叫做“位权”,简称“权”。位权的大小是指以基数为底,数字符写所在位置的序号为指数的整数次幂。 简答二进制数与其他数制相比,具有以下一些特点:(1)容易实现。(2)工作可靠。(3)运算简单。(4)便于逻辑运
16、算与逻辑设计. 计算无符号数是指整个机器字长,的全部二进制位均表示数值位(没有符号位),相当于数的绝对值。对于机器字长为,n位的无符号数的表示范围是0(2n-1),此时二进制的最高位也是数值位,其权值等于21.若字长为8位,则数的表示范围为02 5 5。 带符号数的正号“”或负号“",计算机是无法识别的,因此在计算机中需要把数的正、负符号数码化。一般用数的最高位表示数的正负,通常约定“0”表示正号,“1”表示负号. 计算十进制使用的数字符号为09共10个符号,各位的权是以10为底的幂;二进制使用的数字符号为0和1,各位的权是以2为底的幂。十六进制使用数字0、1、9,以及英文字母A、B
17、、C、D、E、F ,共16个符号,其中,A、B、C、D、E、F分别代表十进制数中的10、11、。1 2、1 3、1 4、1 5,各位的权是以1 6为底的幂. (1)十进制数转换为二进制数 整数用“除2取余”,小数用“乘2取整的方法。 例如:(14.35)10 = (1110.01011)2(2)十六进制数转换为二进制数不论是十六进制的整数部分或小数部分,只要把每一位十六进制数用等值的四位二进制数代替即可。 例如:(3AB.7E)16= (0011 1010 1011.0111 1110)2 (3)二进制数转换为十六进制数 整数部分由小数点向左每四位一组,小数部分由小数点向右每四位一组,不足四位
18、的补0,然后用四位二进制数的等值十六进制数代替即可。 例如:(101110101011010.101101)2= (5D5A.B4)16 计算一个数在计算机内的表示形式称为机器数,这个数本身的值称为该机器数的真值.将真值转换为计算机硬件能够直接识别、处理的机器数时,根据其数值部分编码方法的不同,相应的机器数又有三种不同的编码:原码、反码、补码。 (1)原码表示法 原码表示法是一种最简单的机器数表示法,其最高位为符号位,符号位为“0''表示正数,符号位为“1”表示负数。数值位部分与真值相同.例如:X = +1101001(+1 0 5) 则原码X原=01101001 X = -1
19、101001(+1 0 5) 则原码X原=11101001 真值“0"在原码中有两种表示形式,即:+0原=00000000,-0原=10000000 对于8位原码表示的数值范围是1 27127, +1 27原=01111111; -1 27原=11111111。 (2)反码表示法 对于正数,反码与原码相同;对于负数,除符号位仍为“1”外,其余各数值位是“按位取反”。 例如: X=-1101001(-105) 则反码X反=10010110 反码的“0"也有两种表示形式,即:+0反=00000000,-0反=11111111 .对于8位反码表示的数值范围为1271 27,+1
20、27反=01111111, -127反=10000000 (3)补码表示法 X补=M+X(mod M)其中,模M=基数n,n为计量装置的位数(字长)。对于正数,与反码一样,正数的补码与原码相同;对于负数,除符号位仍为“1”外,其余各数值位“按位取反,末位加1”.例如:X=-1101001-105则补码X补=X反+1=10010110+1=10010111 补码的“0”只有一种表示形式:+0补=-0补=00000000对于8位补码表示的数值范围为1 27128,+127补 01111111,一128补=10000000 计算通常在编程时用真值来表示数值,经过编译、解释后转换成用原码或补码表示的机
21、器数。因此,在计算机中需要将真值或原码形式表示的数据转换为补码形式,以便于机器对其进行运算.下面先从原码形式入手来求补码。 当X为正数时,X补=X反X 当X为负数时,X补等于把X原除去符号位外的各位求反后再末位加“1"。当X为负数时,已知X补,也可通过对其除符号位外的各位求反后再末位加“1"求X补 当X为负数时,由X补转换为X补的另一种更有效的方法是:自低位向高位,尾数的第一个“1"及其右部的“0"保持不变,左部的各位取反,符号位保持不变。这种方法避免了加“1"运算,它是实际求补电路逻辑实现的依据.例如:X原=11001010X补=101101
22、10 也可以直接由真值X转换为X补,其方法更简单:数值位自低位向高位,尾数的第一个“1”及其右部的“0”保持不变,左部的各位取反,负号用“1”表示。注意,X必须是负数. 例如:X=00 0 1 0 1 0 X补=11110110 计算计算机中的一般数据有两种表示格式:定点表示与浮点表示。所谓定点与浮点,是指数中小数点的位置是固定的还是浮动的。 (1)定点表示 定点表示分为定点小数和定点整数.假设字长是n1位,则定点小数的原码表示范围是:1-2-n-(1-2-n) ,定点小数的补码表示范围是:1-2-n-1,定点整数的原码表示范围是:2n-1-(2n-1),定点整数的补码表示范围是:2n-1-2
23、n (2)浮点表示 一个浮点数N由阶码E和尾码M两部分组成。任意一个二进制数据N都可以表示为:N=±M×2E,其 中M是尾数,E是阶码,而基数2隐含。 例如:-101.0011=-0.1010011×2+3=0011,11010011(阶码,尾数) 对于二制数据N来说: 当阶码E=0,若尾数M为纯小数,则数据N为定点小数。 当阶码E=0,若尾数M为纯整数,则数据N位定点整数。 当阶码E为住意整数,此时数据N为浮点数 填空BCD码的编码形式可以有多种,其中最自然、最简单的一种形式是8421BCD码,即4位二进制数的权从左往右分别为8、4、2、1。32 非数值型数据的
24、表示 单选、填空计算机中的字符是用7位二进制编码来表示的,并且经常用一个字节来保存这个二进制数。现在世界上最通用的编码方案是ASCII。在ASCII字符编码表中可以看到,一个字节中的7位二进制数给出厂128个编码,表示128个不同的字符. 单选、填空用计算机进行汉字信息处理,必须将汉字代码化,即对汉字进行编码,称为汉字输人码.汉字的编码有输入码、内码、字形码三种形式, (1)汉字的输入码.编码方案主要分为三大类:数字编码、拼音码、字形编码.数字编码常用的是国标区位码,用数字串输人一个汉字;拼音码是以汉语拼为基础的输入方法;字形编码是用汉字的形状来进行的编码。 (2)汉字的内码.同一个汉字以不同
25、输入方式进人计算机时,编码长度以及0、1组合顺序差别很大,在汉字信息进一步存取、使用、交流时十分不方便,必须转换成长度一致且与汉字唯一对应的能在各种让算机系统堕通用的编码,满足这种规则的编码称为汉字内码。 3)汉字字形码。存储在计算机内在屏幕上显示或在打印机上输出时,需要知道汉字的字形信息,汉字内码并不能直接反映汉字的字形,而要采用专门的字形码。字形信息的表示大体上有两类形式:一类是用活字或文字版的固体字形形式,另一类是点阵表示法或矢量表示法等形式,其中最基本的也是大多数字形库采用的,是以点阵的形式存储汉字字形编码的方法。 单选、填空位图图像是由一个个离散点(像素点)的二进制数字组成的数字图像
26、,需要经过采样和量化处理。语音是一种模拟信号,和位图图像处理类似,必须经过采样、量化等模/数转换处理。3.3数据校验码 计算机中常用检错或纠错技术进行存储器读/写正确性或传输信息的检验,这里仅介绍检错码。 最简单且应用广泛的检错码是采用一位校验位的奇偶校验。设X=(X0X1X2Xn-1)是一个n位字,偶校验位C定义为: C=X0X1Xn-1即X中包含偶数个1时,才使C=0。3.4 指令信息的表示 指令是指示计算机硬件执行某种操作的命令。CPU就是根据指令指挥和控制计算机各部件协调动作。实现对信息的加工和处理的.指令系统主要包括指令格式、寻址方式、指令类型与指令功能等内容,这些都是必须熟悉和掌握
27、的核心问题。1指令格式 计算机能直接识别和执行的指令是用二进制编码表示的机器指令.指令格式就是指令用二进制代码表示的结构形式,通常由若干个字段构成,主要包括操作码和地址码字段。一条机器指令的基本格式如下:操作码OP地址码D (1)操作码指明了计算机应讲行什么件质的操作,如加、减、乘、除四则运算或数据传送、移位等操作. (2)地址码指明了操作的数据或数据存放的地址。根据指令码中提供操作数地址的个数,又可以把指令格式分为:零地址指令(又称为无操作数指令),一地址指令(又称为单操作数指令)、二地址指令(又称为双操作数指今)和三地址指令(又称为三操作数指令)等。 零地址指令格式:操作码OP 这类指令中
28、只有操作码,没有操作数,例如空操作指令、停机指令等;也可能是有操作数,而该操作数被隐含地给出。 一地址指令格式:操作码OP地址码D 一地址通常有两种情况:这个操作数既是操作数的地址,又是操作结果的存储地址;指令中给出一个操作数,而另一个操作数被隐含在CPU的某个寄存器中 二地址指令格式:操作码OP地址码D1地址码D2 这类指令指明参与操作的两个操作数地址,分别为源地址D2的地址和目的地址D1.指令功能是(D1)OP(D2)>D1. 在双操作指令中,从操作数的物理位置来说,可分为三种类型:寄存器-寄存器(RR)型指令。操作数都放在CPU内寄存器中,因不需要访问存储器,所以机器执行的速度快:
29、存储器-存储器(SS)型指令,操作数都放在存储器单元中,执行速度慢;寄存器一存储器(RS)型指令,执行速度介于上述两者之间。三地址指令格藏:操作码OP地址码D1地址码D2地址码D3 指令功能是(D2)OP(D3)àD1,该指令的优点是操作结束后,D2、D3中的内容均未被破坏;缺点是增加了指令长度和存放空间,加大了取指令的时间。 2。指令长度 每一条机器指令都是一串二进制代码,称为指令字。在指令系统设计上出现两种相反的趋势:一种是采用可变长指令字结构,让指令功能尽可能丰富,称之为复杂指令系统计算机(Complex Instruction Set Cornputer,CISC);另一种是
30、采用定长指令字结构,只选取简单、常用的指令,称之为精简指令系统计算机(Reduced Instruction Set Computer,RISC). 3.寻址方式 指令中以什么方式提供操作数或操作数地址,称为寻址方式. (1)立即寻地。操作数跟在操作码的后面,指令的地址字段直接给出了操作数。在取出该指令的同时,也就取出了可以立即使用的操作数。这样的数称为立即数。 (2)寄存器寻址.指令的地址码字段给出某一个通用寄存器的编码(地址),该寄存器中存放着操作数。 (3)直接寻址.指令的地址码字段直接给出的是操作数的有效地址EA。用这个有效地址访问一次存储器,便可以从指定的存储单元中获得操作数。由于这
31、样给出的操作数地址是不能修改的。与程序本身所在的位置无关,所以又叫做绝对寻址方式。 (4)寄存器间接寻址。指令中的地址码给出了某一通用寄存器的编号,以该寄存器中的内容为有效地址EA,用这个有效地址访问一次存储器,便可以从指定的存储单元中获得操作数。 (5)存储器间接寻址.这是一种与寄存器间接寻址类似间接寻址方式。通常在指令格式中划出一位作为直接或间接寻址的标志位I。(6)变址寻址.变址寻址就是把变址寄存器RX的内容(变址值)与指令中给出的形式地址D相加,形成操作数的有效地址EA,即EA=(RX)D。(7)相对寻址.相对寻址方式是变址寻址的特例。它以程序计数器PC为变址器,与指令提供的形式地址相
32、加,从而得到有效地址EA.有效地址与形式地址D和程序计数器PC器的关系为:EA=(PC)D。 (8)基址寻址。当存储器容量较大、所需地址码的长度大于字长时,由指令地址码字段直接给出的地址就不能直接访问到存储器的所有单元。解决的方法通常是把整个存储空间分成若干个段,段的首地址存放在基址寄存器中,段内位移量由指令直接给出,存储器的实际地址就等于基址寄存器的内容(即段首地址)与段内位移量之和,这样通过修改基址寄存器的内容就可以访问存储器的任一单元。 4指令的类型及功能 计算机的指令系统一般都包含有几十条到上百条指令,其类型也有很多种,在此将按照指令的类型分别介绍各类指令的基本功能。 (1)数据传送类
33、指令 这类指令用于实现寄存器与寄存器、寄存器与存储器单元以及两个存储器单元之间的数据传送操作,包括通用数据传送指令和堆栈及堆栈操作指令。 (2)运算类指令 运算类指令包括算术运算指令和逻辑运算指令。算术运算指令一般都设有二进制数加、减、乘、除、比较和求补等最基本指令;逻辑运算指令指与、或、非、异或和测试等。 (3)移位操作指令 移位操作指令分为算术移位、逻辑移位和循环移位三种,可以实现对操作数左移或右移一位或若干位。 算术移位的对象是带符号数,左移时、末位补0;右移时,必须保持操作数的符号不变。当左移一位时,如不产生溢出,则数值乘2;而右移一位时,如不考虑因移出舍去的末位尾数,则数值除2。 逻
34、辑移位操作的是无符号数。算术移位与逻辑移位主要差别在于右移时,填人最高位的数据不同。算术右移保持最高位(符号位)不变,而逻辑右移最高位补零。 循环移位又分为小循环(自身循环)与大循环(带进位循环),主要用于实现循环式控制、高低字节互换等. 5字符串处理指令 字符串处理指今是一种非数处理指今.一船包括字符串传送、字符串转换、字符串比较、字符串查找、字符串匹配、字符串的抽取和替换。 6输入/输出指令(I/0) I/0指令主要用来实现CPU与外部设备之间的信息交换、包括输入/输出数据、CPU向外设发控制命令或外设向CPU报告工作状态等. 7程序控制指令 程序控制类指令用于控制程序的执行顺序,并使程序
35、具有测试、分析和判断的能力。它主要包括转移指令、子程序调用和返回指令等. (1)转移指令用来改变程序的执行顺序,可以分为无条件转移指令和条件转移指令全两种。 (2)子程序是一组可以公用的指令序列,只要知道子程序的入口地址就能调用它。通常把一些需要重复使用并能独立完成某种特定功能的程序单独编成子程序,在需要时由主程序调用,这样做既简化了程序设计,又节省了存储空间。 (3)从子程序转向主程序的指令称为返回指令。 8其他指令 其他指令主要包括特权指全、陷阱与陷阱指令。陷阱实际上是一种意外事故中断,中断的目的不是为了请求CPU的正常处理,而是为了通知CPU所出现的故障,并根据故障转入相应的故障处理程序
36、. 填空、简答堆栈是由若干个连续存储单元组成的先进后出(FILO)存储区,第一个送入堆栈中的数据存放在栈底,最后送入堆栈中的数据存放在栈顶。栈底是固定不变的,而栈顶却是随着数据的入栈和出栈在不断变化。为了表示栈顶的位置,用一个寄存器指出栈顶的地址,这个寄存器称为堆栈指针(Stack Pointe SP),任何堆栈操作只能由SP控制在栈顶进行。 由于堆栈具有“先进后出"的特性,因而在中断服务程序、子程序调用过程中广泛用于保存返回地址、状态标志及现场信息等.另一个重要作用是在子程序调用时利用堆栈在主程序与子程序之间传递参数。例如,首先把所需传递的参数压人堆栈中,然后调用子程序。第4章 运
37、算方法及运算器 运算器是计算机中加工与处理数据的功能部件,它主要由算术逻辑单元(ALU)、各种寄存器和若干控制门电路组成。4。1 定点补码加、减法运算 简答由于补码加、减法运算规则最简单,实现起来也最方便,因此,一般计算机都采用补码做加、减法运算.其运算特点是: 符号位与数值部分可以按相同的规则一起参加运算,符号位不用单独处理. 补码减法运算可以转换成加法运算。 补码加、减法运算是有“模”运算,即符号位的进位自然丢失,并不影响运算结果的正确性。 1补码加法运算补码加法时,不管两个数是正数还是负数,按补码的和等于和的补码进行运算,即:X补+X补=X+Y补 例如:已知X=1000000,Y=000
38、1000,求两数和的补码。 解: X补01000000,Y补=00001000 则X补+Y补=01001000所以X+Y补=01001000 例如: X=0011001,Y=0000110 ,求两数和的补码。解:X补11100111,Y补=11111010则 X补+Y补=11100001,所以X+Y补=11100001。2补码减法运算 补码减法运算可以转化为加法来做,转化公式为: X补-Y补=X补+-Y补=X-Y补 例如:已知 X=0111000,Y=0010001 ,求补码的减法运算。 解:X补=11001000,Y补=11101111,-Y补=00010001 则 X补-Y补=X补+-Y补
39、=11011001 填空由于计算机的字长是固定的,因此计算机中数的表示范围(允许取值范围)是有限的。若两个有符号数进行加、减法运算的结果超出了给定的取值范围,就称为溢出。 计算机必须对运算结果是否“溢出”作出明确的判断。所以,在运算器中专门设计了“溢出”判断电路和一个“溢出”标志位。当判断电路检测到溢出发生时,则置“溢出”标志为“1”,表示结果出错,要求机器停止运算,进行中断处理.判断是否发生“溢出”常用下列两种检测方法。 (1)进位检测方法 用符号位的进位与最高数值位的进位的异或来检测,若异或的结果是1,则溢出;若结果是0,则没有溢出。 例如:已知X=1011001,Y=1000110,求两
40、数的补码之和,并判断是否溢出。 解:X补=01011001,Y补=01000110,XY补=10011111 符号位的进位是0,最高数值位的进位是1,异或结果是1,表示溢出。 (2)变形补码检测方法 如果将符号位扩充为两位,其所能表示的信息量将随之扩大,既能检测出是否溢出,又能指出结果的符号,这种编码称为变形补码。 变形补码检测方法是:每个操作数在运算时都采用两个符号位,正数用00表示,负数用11表示,两个符号位与数值位一起参加运算。若运算结果的两个符号位的代码一致,表示没有溢出;若运算结果的两个符号位代码不一致,表示溢出。这时,左边的符号位(第一符号位)代表了该数真正的符号,右边的符号位(第
41、二符号位)则被破坏。 例如:已知X=1011001,Y1001110,求两数的补码之和,并判断是否溢出。 解:X补=110100111,Y补=110110010,XY补=101011001 符号位的代码为10,表示运算结果 “负溢”.如果符号位的代码为01,则表示运算结果为“正溢”。4。2 定点乘法运算 采用原码做乘法运算比较方便,因为乘积的符号位是两乘数符号位的异或,而乘积的数值部分则是两乘数绝对值相乘。 1原码一位乘法运算 机器算法的运算规则总结如下: (1)被乘数和乘数均取绝对值参加运算,符号位单独处理。 (2)为了避免中间结果溢出,被乘数、部分积取双符号位参加运算,部分积初值为0. (
42、3)从乘数的最低位yn,开始对乘数进行判断:若yn=1,则部分积加上被乘数|X,然后右移一位;如yn=0,则部分积加上0,然后右移一位。 (4)重复第(3)步n次。 例如:设X=0。1101,Y=0。1011求X原Y原的值. 解:乘法运算时,需要3个寄存器,其设置如下: A-运算前存放部分积累加和,运算后存放乘积高位,初值A=00.0000 B-存放被乘数,初值为B=X |=00。1101 C-运算前存放乘数,运算后存放乘积低位,初值为C=Y=0.1011 2.补码一位乘法运算 补码一位乘法的比较法运算算法是Bootk夫妇首先提出的,所以也称为Booth算法,其运算规则如下 (1)运算的数均以
43、码表示,符号位参与运算。 (2)为了避免中间结果溢出,被乘数、部分积取双符号位参加运算,部分积初值为0. (3)乘数可取符号位,以决定最后一步是否需要校正,即是否要加减X补。 (4)乘数末位增设附加位yn+l,且初值为0 (5)按照表41中所列规则进行操作。表4-1 补码一位乘法操作规则 yn(高位) yn+1 (低位) 操 作 0 0 部分积右移一位 0 1 部分积加X补,右移一位 1 0 部分积加X补,右移一位 1 1 部分积右移一位 (6)按照上述操作规则重复n+1次操作,但第n+1次操作不再移位,仅根据y0与y1比较结果做相应的运算即可。请注意,移位时须按照补码移位规则进行.4.3 定
44、点除法运算 用原码做除法很方便,商的符号位是两数的符号位的异或,商的数值部分则是两数的绝对值相除. 1原码恢复余数除法 原码恢复余数法的运算规则如下: (1)被除数和除数均取绝对值参加运算,符号位单独处理。为了避免溢出,要求0<|被除数|除数。 (2)被除数减除数得余数。 (3)如果余数为正,表示够减,上商“1”,然后余数左移一位,减去除数得新余数;如果余数为负,表示不够减,上商“0”加除数,以恢复原来的余数,然后余数左移一位,减去除数得新余数。 (4)重复第(3)步一直到n位商时,计算结束。 2原码不恢复余数除法 在恢复余数法中,当余数为负时,需要恢复余数,这就延长了机器除法操作的时间
45、,同时使除法操作的步数不固定,控制比较复杂.因此,实际中常采用不恢复余数法,又称为加减交替法。 不恢复余数法的运算规则如下: (1)被除数和除数均取绝对值参加运算,符号位单独处理.为了避免溢出,要求0<|被除数除数. (2)被除数减除数得余数。 (3)如果余数为正,表示够减,上商“qi=1”,余数左移一位,减去除数得新余数;如果余数为负,表示不够减,上商“qi=0”,余数左移一位,加除数得到新余数,即: ri+1=2ri+(1+2qi)y (4)重复第(3)步n次。 (5)当第n步余数为负数时需要加上除数,以恢复正确的余数rn,最后的余数R=2-Nrn (余数与被除数取同号). 3补码不
46、恢复余数法 补码不恢复余数法在算法上不像原码除法那样直观,运算时应解决以下几个相关问题;(1) 够减的判断。 (2) 上商规则. (3) 商符的确定。 (4) 对商的校正。44 逻辑运算 逻辑运算是指不考虑进位的“位对位”的运算,参加运算的操作数常被称为,逻辑数.利用逻辑运算可以进行两个数的逻辑比较、从某个数中选取某几位等操作。 计算机中的逻辑运算,主要是指“逻辑非”、“逻辑加"、“逻辑乘”、“逻辑异或”等四种基本运算。这些运算通过在原有加法器上附加上部分线路来实现,因而把用于完成算术运算与逻辑运算的部件称为算术逻辑单元(ALU).逻辑运算的真值表如下表42所示。 表42 逻辑运算真
47、值表 xi yi zi(xi) zi(xiyi) zi(xiyi) zi(xiyi) 逻辑数 逻辑数 逻辑求反 逻辑加 逻辑乘 逻辑异或 0 0 1 0 0 O 0 1 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 45 浮点运算 如果有两个浮点数X和Y,它们分别为:X=MxEx,Y=MxEy,其中,数x和y的尾数是MX和My,EX、Ey为数X和y的阶码。则两浮点数进行加、减法的运算规则是: X±Y=(Mx2Ex-Ey±My)2Ey (当ExEy 浮点加、减运算的步骤如下: (1)0操作数检查 如果判知两个操作数X或y中有一个数为0,即可以得知运算结束,而
48、没有必要再进行后续的一系列操作,以节省运算时间。 (2)对阶 两浮点数进行加、减运算,首先要看两数的阶码是否相同,即小数点位置是否对齐。若两数阶码不同,表示小数点位置没有对齐,此时必须使两数阶码相同,这个过程叫做对阶。 对阶的规则是:小阶向大阶看齐(采用这一规则的原因是当阶码小的数的尾数右移并相应增加阶码时,舍去的仅是尾数低位部分,误差比较小).要使小阶的阶码增大,则相应的尾数每右移一位,阶码加1,直到两数的阶码相等为止。 (3)尾数加、减 对阶之后,就可以进行尾数加、减运算,方法与定点加、减运算完全一样。 (4)结果规格化 设尾数用双符号位补码表示,经过加、减运算之后,只要对运算结果的符号位
49、和小数点后的第一位进行比较:如果它们不等,即00.1xx或11.xx就是规格化的数;如果它们相等,即00。1xx或,11。xx就不是规格化的数,在这种情况下,需要尾数向左移被以实现规格化过程,叫做向左规格化. 在浮点加、减运算时,尾数求和的结果也可能得到0 1。xx或10。xx,即两符号位不相等,这在定点加、减运算中称为溢出,是不允许的。但在浮点运算中,它表明尾数结果的绝对值大于1,此时将结果右移一位,阶码加1即可,称为右规格化 (5)舍入处理 在对阶或向右规格化时,尾数要向右移位,这样被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理。常用的舍人方法有两种:一种是“0舍1入
50、”法,另一一种种是“恒置1”法 (6)溢出判断 浮点数的溢出是由阶码的符号决定的。若阶码也采用双符号位补码表示,当阶码为01 xx表示上溢,此时浮点数真正溢出,机器需停止运算,作溢出中断处理;当阶码为10xx表示下溢,浮点数值趋于零,机器不作溢出处理,而是按机器零处理。 46 运算器 运算器主要由算术逻辑单元、通用寄存器、状态字寄存器和有关的判断逻辑(例如判结果是否为0,有无进位,是否溢出等)、局部控制电路和内部等组成. 单选,填空根据总线所处的位置,可将其分为内部总线和外部总线两类.内部总线是指CPU内各部件的连线,而外部总线是指系统总线,即CPU与存储器、I/O系统之间的连线。 按总线的逻
51、辑结构来说,总线可分为单向总线和双向总线。所谓单向总线,就是信息只能一个方向传送;所谓双向总线,就是信息可以向两个方向传送,既可以发送数据,也可以接收数据。第5章 中央处理器51 CPU的功能与组成 简答计算机对信息进行的处理(或计算)是通过程序的执行来实现的。CPU要控制整个程序的执行,它应具有以下几个基本功能. (1)程序控制。程序执行顺序成为程序控制。 (2)操作控制。 (3)时间控制。对各种微操作实施时间上的控制称为时间控制。 (4)数据加工.就是对数据进行算术运算和逻辑运算。 除了上述4个基本功能之外,CPU还必须能控制程序的输入和运算结果的输出以及对总线_的管理,甚至能处理机器运行过程中出现的异常情况和特殊请求即应具有中断理能力。 简答传统的CPU由运算器和控制器两大部分组成。现代的CPU主要由运算器、控制器和Cache三大部分组成. (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 木材与人类生活的密切关系考核试卷
- 医药制造业新兴技术应用与发展趋势考核试卷
- 煤炭加工煤炭电厂电力供应技术考核试卷
- 摩托车与先进制造技术考核试卷
- 汽车发动机变速器的设计与优化考核试卷
- 电机在农业灌溉的自动化控制考核试卷
- DB11-T 257-2021 籽粒玉米生产技术规程
- 春节消防课件教学课件
- 新员工流程培训总结
- 会计新员工入职培训总结报告
- 常见心理疾病的预防与治疗
- 常州高级中学2022~2023学年高一上学期期中质量检查化学试题(原卷版)
- 护理管理标识应用课件
- 慢性乙型肝炎防治指南(2022年版)
- 一年级数学上册第四单元测试卷(一)
- 消防产品检查培训课件
- 《基因工程》考试复习题库(含答案)
- 2023年数学竞赛AMC8试卷(含答案)
- 高空涂料施工方案
- 露天矿山安全风险分级评分表
- 药物动力学课件:生物药剂学与药物动力学
评论
0/150
提交评论