自考计算机原理串讲.docx
计算机原理申讲第部分课程性质及内容计算机原理是高等教育自学考试计算机信息管理专业(专科)考试计划的一门专业基础课程。课程的内容涉及计算机的基本工作原理与硬件结构,是后续各专业课程的基础,因此学好这门课程十分重要。课程由以下几部分组成:计算机系统的基本组成;数字逻辑基础;计算机数据表示;运算方法和运算器;指令系统及控制器;存储器和存储体系;计算机系统举例及新发展。第二部分课程的考核1 .重点难点考核内容覆盖全书各章,课程的重点分布在第二章、第三章、第四章、第五章、第六章和第七章。难点在第二章、第三章、第四章和第五章。2 .考试题型及分数比例选择题25分填空题15分计算题20分问答题40分第三部分重点难点辅导第一章计算机系统概论本章内容为概述性知识,要求理解计算机系统的基本概念、掌握计算机系统的组成、划代和分类、性能指标、各组成部分和作用。反映在题型上主要为填空和选择类型。一、基本组成计算机系统由硬件子系统和软件子系统组成。计算机硬件子系统是指构成计算机的所有物理部件的集合,由五大功能部件组成:即运算器、控制器、存储器、输入设备和输出设备。这种计算机结构首先由美籍匈牙利科学家冯?诺依曼提出,因此也称这种结构的计算机为冯?诺依曼机。冯?诺依曼机的主要特点是:1 .计算机中的程序和数据均以二进制表示;2 .计算机工作是运行事先存储的程序和指令;在冯?诺依曼模型中,数据流从输入设备输入到运算器,然后送入存储器。在运算处理过程中,数据从存储器读入运算器运算,将结果再存入存储器或由运算器经输出设备输出。运算器:由算术/逻辑单元(ALU)、累加器和一组通用寄存器组成,通常其位数等于字长;作用是对数据进行并行的算术逻辑运算,以及暂存参加运算的数据和中间结果。控制器:是计算机的指挥中心,由指令部件、时序部件和控制部件组成。运算器和控制器合称为中央处理器(CPU)。存储器:由内存或称主存(主机内部的存储器)、外存或称辅助存储器(主机外部的存储器)组成。习惯将主存和CPU合在一起称主机。主存包括随机存储器(RAM)和只读存储器(RoM);外存有磁盘、磁带、光盘等。输入设备:将外界数据、命令输入到计算机的内存,常见的输入设备有键盘、鼠标、扫描仪等。输出设备:将计算机的处理结果转换成文字、图形、声音等形式输出,常见的输出设备有显示器、打印机等。输入输出设备合称为外围设备(或外部设备)。磁盘、磁带存储器:既可作为输入设备,也可作为输出设备,也归类为外围设备。二、结构特点现代计算机硬件各功能部件通过总线连接。总线是连接各功能部件的一组公共信号线。在目前主要采用的总线结构中,有双总线结构和单总线结构。双总线结构:由I/O总线和存储器总线组成。这种结构主机和外设可通过各自的总线同时工作,系统的存取效率高。单总线结构:系统各功能部件都连到条总线上,结构简单,系统增减设备方便,但各设备只能串行的使用总线传输数据,系统传输效率较低。三、计算机的发展简史以器件作为划分标准:第一代:电子管,第一台:46年(ENIAC);第二代:晶体管;第三代:集成电路;第四代:大规模集成电路;如微机还可以按其他方式划分。如计算机语言、应用以及所谓几个“浪潮”的观点。四、计算机软件基本概念计算机软件子系统是指为运行、维护、管理及应用计算机所编制的所有程序的总和。通常分为系统软件和应用软件两大类。1 .系统软件直接为管理和维护计算机本身所用的程序。操作系统:是最典型的系统软件,主要用于管理计算机软、硬件资源、组织和协调计算机的运行,并提供人机交互界面。主要功能有:作业管理(运行一个程序称运行一个作业)、资源管理(对主机、外设以及系统程序、数据进行有效合理的管理)等。按管理方式划分,有批处理操作系统、分时操作系统、实时操作系统和网络操作系统四种类型。数据库管理系统(DBMS):将数据集中起来,统一管理。计算机语言:用户和计算机之间交流的工具。分:机器语言:二进制形式,能被计算机直接识别和执行;汇编语言:符号语言,需汇编后被执行;高级语言:需编译后被执行。2 .应用软件用户为解决实际应用问题所使用的通用程序或自己编写的程序。五、计算机性能指标常见的计算机性能评价指标有:主频(时钟周期):(以兆赫兹MHZ为单位),决定了计算机的运行速度。字长(以二进位为单位):计算机并行处理和传送的数据位数。反映了计算机的运算精度和处理能力,目前大多数微机为32位。运算速度:秒百万指令数,以MlPS为单位。存储容量:计算机主存容量,以MB、GB为单位。可靠性:平均无故障时间MTBFo系统可维护性:平均修复时间MTTRo兼容性和性能价格比等。第二章数字逻辑基础本章内容是计算机硬件基础,要求全面掌握、深刻领会、熟练应用。主要考核逻辑代数初步,逻辑电路,触发器,加法器,寄存器,计数器,译码器和分配器。掌握各种逻辑运算法则的应用,化简逻辑式;数字逻辑的代数式表达及符号表达,会画真值表;异或门、三态门的原理及应用;触发器的状态、真值表及应用;加法器的标准符号及真值表;寄存器原理及应用;计数器原理及应用;译码器原理及应用;分配器原理及应用。这些内容在选择、填空、计算和问答等题型上都有反映。一、逻辑代数逻辑代数中变量的值只有两个,I和0,1和0不是数值,没有值的概念,不代表数的大小,而是代表两种状态,因此逻辑代数运算含义和普通代数不同。1.逻辑加1.=A+B基本运算规则为:0+0=00+1=1+0=11+1=1A+0=AA+l=l2.逻辑乘L=AB或L=AB基本运算规则为:0O=OAO=O01=1O=OAI=A1*1=1AA=A3.逻辑非L=A基本运算规则为:0=1A+A=I1=0AA=OA=A二、逻辑代数的运算法则交换律:A+B=B+AAB=BA结合律:(A+B)+C=A+(B+C)(AB)C=A(BC)分配律:A(B+C)=AB+ACA+BC=(A+B)(A+C)狄摩根定律:A+B=ABAB=A+BA+B÷C+=ABC,ABC=A+B+C+,另外,下式在化简中经常用到:A+AB=A+B三、基本逻辑电路“与”门、“或”门、“非”门电路是各种复杂逻辑电路的基础,应牢记它们及由它们组合而成的“与非”门、“或非”门、“异或”门的逻辑表达式、真值表和标准符号。四、触发器触发器是计算机中各种复杂电路的基础,计数器、运算器、寄存器等主要都是由触发器组成的,触发器有两个输出端Q和Q,触发器的状态一般以Q端为标准。1 .R-S触发器R-S触发器是基本的触发器,R端为置。输入端,当R=O,S=I时,Q=O;S端为置1输入端,当S=0,R=I时,Q=I:当R=S=I时,Q的状态保持不变;当R=S=O时,Q的状态不确定。因此,R-S触发器工作时,要保证R、S端不能同时为零,同学们要理解和掌握R-S触发器真值表。2 .D触发器D触发器广泛应用于逻辑电路中,当CP脉冲输入时,Q的状态决定于D的状态,即当CP脉冲上升沿到达(O-I)时,Q就和D的状态致。同学们要理解和掌握D触发器真值表。3 .加法器加法器有半加器和全加器。其中,半加器有两个输入端,两个输出端;而全加器有三个输入端。要熟练掌握其标准符号和真值表。4 .寄存器(1)基本寄存器寄存器的作用是寄存二进制数的。例如用四个D触发器组成一个4位的寄存器。存储时将四位二进制数分别接到四个触发器D端,则只要来一个CP脉冲就使四个触发器的输出反映成四位二进制数的状态,完成“寄存”。(2)移位寄存器即组成寄存器的各触发器的状态随CP的到来而左移或右移。5 .计数器二进制计数器的基本原理是“逢二进一”。异步二进制计数器的特点是高位触发器的翻转是通过低位触发器的进位信号触发的。而同步二进制计数器各级触发器状态的转变是由输入脉冲同时作用的。重点是弄清计数器的进位原理,掌握其工作状态表。8421码十进制计数器的特点是:第19个脉冲时和二进制计数器的动作一样,第10个脉冲时产生进位,计数器由“1001”返回“0000”(实现逢十进一)。6 .译码器和分配器译码器是将指定的数码翻译为相应的状态输出。例如:一个三位的二进制数可有八个状态,因此可用“与”门组成一个三一八译码器,译码器有三个输入,八个输出。输入端每输入三位二进制的组编码状态,八个输出端只有个对应的输出端为高电平,其余为低电平。分配器是由二进制计数器和译码器组成的电路,和计数器相连使用,可用作节拍脉冲器。第三章计算机数据表示现代计算机有数字电子计算机和模拟电子计算机两大类。目前大量使用的是数字电子计算机。它只能接受0、1二进制形式的数据。在计算机内部表示的数据又分成数值数据和非数值数据。数值数据有明确的值,可以进行算术运算,用二进制数形式表示,又分成无符号数和带符号数的表示、定点数和浮点数的表示:非数值数据指的是对数字符号、文字符号等的表示,在计算机内部,它们也是用二进制形式的编码表示,常用的编码有BCD码(用于数字的编码)、ASQI码(对字符的编码);还有各种用于计算机内部进行数据检错纠错的编码,如奇偶检验、交叉校验、CRC循环冗余校验码等。作为课程重点章节,这些内容在选择、填空、计算和问答等题型上都有反映。一、进位计数制按进位的方式计数。两个基本概念:基数、位权。基数:进位制中会产生进位的数值,等于每个数位中所允许的最大数码值加L例如:十进制中每一位的最大数码值为9,则其基数为10。位权:进位制中每一个数位上有一个确定的值,此值称为位权。位权的表示形式:Jx其中:J是基数,X是一个数码在数中所处的位置,从小数点往左整数部分的位数分别为0、1、2,从小数点往右小数部分的位数分别为-1、-2、-3,o例如:十进制数基数为10,各位的位权分别为10n、IOnJ、-101、100格UIo10-1、102二进制数基数为2,各位的位权分别为2n、2n-k21、20榕tab2-1、2-2,进位计数制中个数的值可表示为每位的数符乘以该位的位权之和。(一)计算机中常用的进位计数制1.二进制0、1(101.01)=lul022÷01021+l1020+0102-l+laiul02-20-72.八进制(703.62)=7瀛1082+0遴ul081+3曲1080+6遨1108J+2题108-23.十六进制09、AF(相当于十进制中的I(M5)(A5.F7)=A10161+510160+F1016-l+71016-2相当于十进制:二进制八进制后缀B 后缀Q十进制 后缀D十六进制后缀H1010161+5ul0160+15rigul016-l+71016-21.十进制转换为二进制整数部分除2取余除尽为止(二)各种进位制之间的转换IID=IOIib0.625D=0.101B二进制数转换成十进制的值,整数和小数的转换方法一样,即按权展开也就是逐位码权累加求和。例如:(101.01)2=lul022+0ul021+lul020+0ul02-l+lul02-2=4+1+0.25=(5.25)102 .二进制数转换成十进制3 .二到八或十六进制转换二到八从小数点向左右三位一分组(10011100.01)2=(234.2)8010二到十六从小数点向左右四位一分组(10011100.01)2=(9C.4)160100说明:整数部分不足位数对转换无影响,小数部分不足位数要补零凑足,否则出错。二、计算机数值数据的表示机器数一一数在计算机中的二进制表示形式。又分:无符号数:没有符号位全部数码位都表示数值。8位无符号整数的范围:从8位全08位全1,即028-1=255,共有256个数。8位无符号小数的范围:从8位全08位全1,即0128,共有256个数。带符号数:用最高一位数符表示符号,。表示正号,I表示负号;其余位表示数值位。数值位如为纯小数,则此机器数称为定点小数,如为纯整数,则此机器数称为定点整数。真值带符号的机器数对应的数值,符号用+、-号表示。例如8位定点整数001000OIB和1010001IB的真值分别为:001OO(X)1B=+01(X)OO1B=+33D1010001IB=-O100Oi1B=-35D机器数的编码方法有三种:原码、反码、补码。(一)原码表示法原码为数值化的符号位加数的二进制绝对值。例1有真值:Xl=+0.10110BX2=-0.101IOB则:XI原=OlOllO例2有真值:XI =+101 IOB则:XI原=OlOllO1+OOOOOJIg= OOOOOO原码定点小数表示范围:(12n)X2原=IlOllO X2=- IOllOBX2J 原=IlOllO H)Ooo0原=100000 + (l-2-n)例1有真值:贝小 例2有真值:Xl =+0.10110XI反=OlOlIOXl =+10110X2=-0.10110X2反=101001X2=- 10110n为数值位的位数原码定点整数表示范围:(2n-l)+(2n-l)编码形式为:Ill,111-011,Ill若机器数为8位(1位符号,7位数值),则定点整数编码为:11111111B0111IlllB十进制表示为:-127+127(一)反码表示法正数的反码与正数的原码形式一样。数值部分每位取反。负数的反码相对负数的原码符号位不变,则:XI反=OlollOX2反=IOIoOl+0.00000S=000000-0.00000反=Illlll在数据位数相同的情况下,反码表示的数值范围及能表示的真值的个数与原码相同。(三)补码表示法正数的补码与正数的原码形式一样。负数的补码相对负数的原码符号位不变,数值部分每位取反,末位+1。例1有真值:Xl=+0.1OIloX2=-0.10II0则:XI补=010110(X2#=101001+0.00001=101010例2有真值:X1=+IO11OX2=-10110则:XI#=010110(X2#=101001+1=101010+00000=000000(-00000补=000000补码定点小数表示范围:-(1)+(l-2-n)n为数值位的位数补码定点整数表示范围:-(2n)+(2n-l)编码形式为:100,000-011»Ill若机器数为8位(1位符号,7位数值),则定点整数编码为:10000000B-01111111B十进制表示为:-128+127(四)机器数与真值若真值的绝对值以二进制的形式表示,则机器数原码与真值的表示形式仅仅是符号的不同。因此对机器数求真值,先求出机器数的原码,然后将原码的符号0+,1即得真值。正数的原、反、补码形式相同。例:(以定点小数为例)X原=OllOlx=+0.1101X反=10010X=-OJlOlX补=OlOOlx=+0.1001X补=10101X=-OJOli典型值真值代码原码绝对值最大负数-(2n-l)11-11原码绝对值最小负数-11001原码最小非零正数+10001原码最大正数(2n-l)0111补码绝对值最大负数-2n1000补码绝对值最小负数-I1111补码最小非零正数+100Cl补码最大正数(2n-l)0111浮点表示法与科学计数法相似,把一个任意进制数N通过移动小数点位置表示成R的e次三和绝对值小于1的数M相乘的形式。N=?MRe其中:M:是尾数,为带符号定点小数,是数值的有效数字部分,位数决定浮点数的表示精度。R:是阶码的底,与尾数的基数相同,为2,在浮点数代码中不需表示。e:是阶码,为带符号定点整数,阶码的位数决定浮点数的表示范围。三、数的浮点表示浮点数机内格式:N=efemem-1.e2elMfMlM2.Mn浮点数例:10I.1101B=0.10I1101Bx23-0.0110101B=0.110101Bx2-l阶码反映了数N小数点的位置。当底数取2时,二进制数N的小数点每右移一位,阶码减小1,小数点每左移位,阶码加Io若浮点数底数取8时,尾数是二进制,则尾数部分的小数点每移动3位,阶码变化1。尾符是数N的符号。例:101.1101B=0.1011101Bx23=0.01011101Bx24-0.0110101B=0.110101Bx2-l=1.10101Bx2-2四、二一十进制数字编码用4位二进制编码表示一位十进制数,又称BCD码。常用的BCD码有8421码。8421依次是用于编码的4位二进制从左到右每一位的位权值。用4位二进制编码中数位为1的位权之和表示一位卜进制数。十进制数8421码十进制数8421码00000501011(X)OI60110200107Olll3OOll810004010091001W11(125.46)10=00010010010LolOOOIIO842IBCD五、字符编码1.ASCn码字符是非数值型数据,在计算机内用二进制编码形式表示。当前西文字符常用的编码是ASeil码,它用7位二进制编码表示128个字符,通常,在计算机内部,每一个ASCn用一个字节(8位二进制)来表示。ASCII码:AmericanStandardCodeforInformationInterchange!EBCDIC编码扩充型的字符编码,IBM公司生产的机器广泛使用。编码方式与ASCn码类似,但使用8位二进制编码,可表示更多的字符信息。六、汉字编码在计算机内部,汉字也用二进制编码来表示。在汉字处理的不同阶段,所用的汉字编码方案有所不同。汉字输入码:用于键盘输入,拼音、五笔、自然码等。汉字内部码:机内码,供计算机内部存储、处理、传输用的代码。每个码用两个字节表示,每个字节的最高位为1,以区别于ASCn码。汉字交换码:用于不同计算机汉字系统之间或汉字系统与通信系统之间进行汉字交换。汉字字形码:也称字模。用于点阵形式输出时描述汉字字形的编码。点阵越大,描述的字形越细致美观,但其字形码所占字节数也越多。如16UlOI6点阵,要用32个字节,而24HgulO24点阵则要用72个字节。七、数据校验码数据在机内加工、传送过程中可能产生错误,为避免和减少这类错误,一方面是尽量提高计算机硬件本身的可靠性,如精选各种电路,改进生产工艺与测试手段;另一方面是对数据进行编码,即采用带有某种特征能力的编码方法,通过少量的附加电路,使之能发现错误,甚至能准确地指出出错位置,进而提供自动纠错的能力。数据校验码即是一种常用的检错、纠错的数据编码。1 .奇偶校验码是一种最简单最常用的校验码。原理:在k位数据码之外增加1位校验位,使K+1位码字中取值为1的位数总保持为偶数(偶校验)或奇数(奇校验),若有奇数位出错,则校验码的奇偶特性将改变,从而发现出错。缺点是只能校验奇数位出错,并且只能发现错误不能定位错误,即不能纠错。例如:偶校验奇校验OOOl1000100001OlOl0010110101原有数据位两个新的校验码2 .交叉校验当一次传送数百个字节组成的数据块时,常用交叉校验。交叉校验:每次同时传送的一行(横向),增加一个校验位;每一行的相同位(纵向)也设一个校验位,横向、纵向同时校验。不但能检测出奇数个错,也能检测出大多数的偶数位错,且具有纠一位错的能力。3 .循环冗余校验码简称CRC码,是一种具有很强检错、纠错能力的校验码。循环冗余校验码是用信息码字除以给定的生成多项式G(X),将所得余数拼接在信息位后形成CRC码发送。接收端收到CRC码后再除以同样的生成多项式,结果余数为0表示无错,否则表示出错。第四章运算方法和运算器运算方法是解决计算机如何实现加、减、乘、除四则运算和逻辑运算的方法。运算器是计算机硬件系统的重要组成部分,由算术逻辑单元(ALU)、累加器(AC)、各种通用寄存器和控制门电路组成,完成各种算术运算和逻辑运算。本章的主要内容有计算机进行加、减、乘、除等各种运算的运算方法;运算器的基本原理与结构。重点是运算方法中定点补码的加减运算,定点原码的乘除运算,以及运算器的基本组成。本章的内容主要体现在选择、填空、计算等题型上,(1)补码加法运算公式X+Y补=X补+Y补一、定点加、减法运算L补码加减运算(2)补码减法运算公式X-Y补=X+(-Y)补=X补+?丫补求卜丫补,可通过对Y补连同符号位起逐位取反,再在最低位加1完成。例:Y补=1.110101-Y补=0.001011Y补=0.101101卜丫补=1.010011补码运算规则:(1)参加补码运算的操作数均为补码;(2)符号位一起参加运算,符号位向前的进位自然丢掉;(3)加法:两补码直接相加:减法:将减数连同符号位一起按位变反末位加1后再与被减数相加;(4)运算结果仍为补码。补码加减法运算实例:X=O.IO11O1Y=-0.001011X补=0IOllOlY补=1UOIOl卜丫补=OOOloIlX+Y补=0100010X-Y补=OlllOOO2.溢出及其检测方法在确定了运算字长和数据的表示方法后,一台计算机所能表示的数据范围也就相应决定了,若运算结果超出所能表示的范围,就会产生溢出。若字长8位,采用补码表示,则定点整数的表示范围是-128+127o发生溢出会导致运算结果错误,因此必须判别。两个异号数相加不会产生溢出,只有两个同号数相加(包括两个异号数相减)才可能发生溢出。运算结果为正且大于所能表示的最大正数,称为正溢;运算结果为负且小于所能表示的最小负数,称为负溢。正+正得负或负+负得正设分别用Af、Bf、Sf表示两个操作数的符号和结果的符号,则有:溢出检测方法1:单符号位检测溢出检测方法2:采用变形补码检测所谓变形补码,就是将补码的符号位扩展成两位,双符号位的值正数为00,负数为11。000011111000001101若用SI、S2分别表示结果的最高和第二符号位,则有:若运算没有溢出,结果的双符号位相同,为00或11,若运算有溢出,结果的双符号位相异,正溢为01,负溢为IOo通过分析可见,不论运算结果是否溢出,第一符号位总是指示结果的正确符号。在行波进位的加法器中,设数值最高位向符号位的进位为Cn-L符号位向更高位的进位为Cn,则有:溢出检测方法3:最高有效位的进位检测二、定点乘除法运算1 .定点乘法乘法运算时采用原码比较方便。原码相乘时符号位不参加运算,积的符号由被乘数和乘数的符号位异或求得,积用被乘数和乘数的绝对值相乘求得,因此原码乘法相当于无符号数乘法。原码乘积的计算常用部分积右移法。它是将两个n位数乘转换为n次“加”,(乘数为1加被乘数,乘数为0加0)与n次累加和串行“右移一位”的操作。2 .定点除法用原码实现定点除法很方便。原码相除时符号位不参加运算,商的符号由被除数和除数的符号位异或求得,商用被除数和除数的绝对值相除求得,因此原码除法相当于无符号数除法。原码除法常用不恢复余数法(也称加减交替法)。设X为被除数,丫为除数,R为余数,其算法描述为:(1) Xi-Yi=Ri(3)重复执行2,判断余数正负,继续下一位上商,直至商够位数。相比较恢复余数法,避免了在运算过程中,当出现不够减时需恢复余数的操作,提高了运算效率。但注意在最后一步,如果出现余数为负时,要做一步恢复余数的操作,以得出正确的余数。三、浮点数加减运算浮点数是数学中实数的子集合,由一个纯小数乘上一个指数值来组成。在计算机内,其纯小数部分被称为浮点数的尾数,指数的基称为阶。对非O值的浮点数,要求尾数的绝对值必须=1/2,称满足这种表示要求的浮点数为规格化表示。把不满足这表示要求的尾数,变成满足这一要求的尾数的操作过程,叫作浮点数的规格化处理,通过尾数移位和修改阶码实现。由于浮点数是由两部分组成的,阶码和尾数;它们代表了数的不同部分,在运算时两部分的处理方式是不同的。若实现两个浮点数相加(减),即:需要4步:对阶、尾数求和(差)、结果规格化、舍入1 .对阶操作,求阶差:-ey,使阶码小的数的尾数其阶码取大的阶码值,称小阶向大阶看齐;2 .尾数加减;按定点补码数的加减运算规则求和、差;3 .规格化处理和判溢出;尾数用双符号位表示。规格化操作有两种:左规、右规。左规:若运算结果是非规格化数,如尾数是ILlx,或000x,X形式,就需将尾数左规。左规操作是将尾数左移,阶码减少,尾数每左移一位,阶码减1,直至尾数规格化为止,即尾符和尾数的最高位相异。右规:若运算结果尾数发生溢出,如尾数是10.x,X或01.x”X形式,这并不表示浮点数溢出,此时只要将尾数右移位,阶码加1,尾数就为规格化形式,此称为右规。浮点数的溢出是由阶码是否溢出来体现的。浮点数加运算举例X=2010*0.1101101Y=2100*(-0.1010110)写出X、Y的正确的浮点数表示:阶码用5位补码尾数用9位补码(含双符号位)(含双符号位)X浮=00010001101101Y浮=001001101010104.舍入操作在对尾数右规时,由于移掠了尾数的最低位,因此要进行舍入。舍入有两种方法:。舍1入,但这种方法可能带来又一次规格化:恒置1法,即无论右移掉的是1还是0,都将尾数末位置Io(I)计算阶差:-ey=ex+(-ey)=00010+11100=11110注意:阶码计算结果的符号位为负,是X的阶码值小,使其取y的阶码值Ol(X)(即M):因此,修改Sx补=00001101101(即右移2位)(3)规格化处理:相加结果的符号位与数值的最高位同值,应执行一次左规操作,故得:Sx+Sy补=1100010101,ey补=OOOll(5)检查溢出否:和的阶码为0011,不溢此计算后的Sx+Syb=001110001011,即2011*(-0.11IolOI)四、逻辑运算计算机中的逻辑运算,主要是指“逻辑非”、“逻辑加”、“逻辑乘”、“逻辑异或”。这些运算通过在原有加法器上再附加上部分线路来实现,我们把用于完成算术和逻辑运算的部件称为算术与逻辑运算单元(ALU)。在进行逻辑运算时,对两个逻辑数据的对应位进行相应的逻辑运算,运算过程中位与位之间不存在进位。五、运算器1 .运算器的基本功能(1)对数据进行加工处理,由ALU完成。(2)实现数据传送和暂存参加运算的数据和中间结果由内部总线和通用寄存器完成。(3)根据指令要求选择参加运算的数据和运算功能,由运算器中的多路选择电路、开关电路和译码器等实现。2 .运算器的组成(1)算逻单元ALUALU的核心部件是位全加器,用于完成两个一位二进制的全加运算。其有三个输入:两个加数A、B的同一位Ai、Bi,低位向本位的进位Ci;两个输出:本位和Fi,本位向高一位的进位Ci+1.输出与输入关系的逻辑表达式为:Fi=Ai©BieCiCi+l=AiBi+BiCi+CiAi(2)运算器中的条件码寄存器用于保存运算指令执行后产生的各种状态标志,如C(进位)、V(溢出)、Z(结果为零)、N(结果为负);以便运算之后的指令作为判断条件。3 .运算器的结构在运算器内部,数据的传送大多以总线结构为主。现代计算机运算器中大体有三种总线结构。(1)单总线结构所有部件都接到同总线上。由于总线每次只能传送个数据,所以完成次运算,需要三步总线传送操作:先把第个操作数通过总线送入缓冲寄存器A,再把第二个操作数通过总线送入缓冲寄存器B;ALU对A、B中的数据运算后,还要把结果通过总线送入结果寄存器。因此单总线结构速度慢,但控制电路简单。(2)双总线结构ALU的两个输入端分别接到两条总线上。ALU的输出端通过一个缓冲寄存器分别与这两条总线相连。完成一次ALU运算需要两步总线传送操作:第一步将两个操作数同时通过两条总线送给ALU,运算结果被保留在缓冲寄存器:第二步再将结果通过总线送入结果寄存器。(3)三总线结构ALU的两个输入端和一个输出端分别接到三条总线上。所以ALU的一次运算可在一步控制之内完成。这种结构的优点是操作速度快,缺点是运算器内部线路复杂。4 .几种常见的微机总线标准总线是计算机各部件之间传送信息的通路,总线的能力是计算机性能的重要指标。由于计算机加接设备的多样化,采用标准的总线卜分重要。根据技术的发展,总线的标准也在发展,下面是几种常见的的微机总线标准:(1) ISA总线16位,是最早的微机总线标准。(2) EISA总线32位,是在ISA基础上扩展的标准。(3) VESA总线32位,局部总线结构,在外部设备与随机存储器之间开辟了高速通路,应用十分广泛。(4) PCl总线32位,比上述几种总线功能更强,是近几年来多数微机上采用的总线。第五章指令系统及控制器指令系统与控制器是计算机系统结构中的两个非常重要的部分。本章主要考核计算机的指令系统、指令的寻址方式、指令的结构和分类、中央处理器的功能和组成、指令周期、微操作、控制器中的控制方式与时序部件、组合逻辑控制器和可编程逻辑器件简介、微程序控制器。要求了解指令系统的概念、格式及类型,寻址的概念及寻址方式,控制器,指令周期的概念;了解微操作的基本概念、微操作序列及其实现、组合逻辑控制器原理及可编程逻辑器件、微指令格式、微程序控制存储器;理解CPU的概念、功能及组成,指令周期、节拍周期、CPU周期的概念;各种控制方式,时序部件的实现;指令执行过程(包括非访内指令、直接访内指令、间接访内指令及程序控制指令);微程序控制器的工作原理;深刻理解基本寻址方式,寄存器寻址方式,扩展寻址方式;CPU中的主要寄存器的功能。本章内容的题型分布面较大,除了选择和填空以外,在计算题和应用题中占的比重较大。尤其是指令系统(包括寻址方式)、指令的执行过程,以及微程序的基本概念、实现和控制,要求深刻理解并能简单应用。一、计算机的指令系统1.指令系统指令系统是计算机硬件的语言系统,因此也叫做机器语言。一个完备的指令系统具备以下特性:完备性、有效性、规整性、兼容性。2.指令格式操作码(OP):指明本条指令的操作功能(类型),如+、-、程序的转移等,是通过操作码的不同编码来区别的。地址码(D):用于给出操作数和存放结果的地址,其格式有如下几种:零地址指令:指令无需操作数或操作数地址隐含(停机、空操作、堆栈指令等)。一地址指令:指令中仅给出第二操作数地址,第一个操作数隐含在累加器AC中,操作结果也返回累加器。二地址指令:指令中分别给出两个操作数DI、D2的地址,DI、D2按操作码的功能执行操作后,结果返回到Dl指定的地址中去。二、寻址方式由于操作数可以在寄存器、也可以在存储单元,指令中操作数地址码可以显式或隐式给出,于是提出了如何寻找操作数地址的问题,这就是寻址方式。寻址方式解决的是如何在指令中表示一个操作数的地址,如何用这种表示得到操作数或怎样计算出操作数地址。表示在指令中的操作数地址,通常被称为形式地址,用这种形式地址并结合某些规则,计算出的操作数在存储器中的存储单元地址,这一地址被称为物理(有效)地址。三地址指令:指令中分别给出两个操作数Dl、D2的地址及运算结果存放的地址D3,DLD2按操作码的功能执行操作后,结果返回到D3指定的地址中去。1 .立即寻址指令中直接给出了操作数,即地址码就是操作数。2 .直接寻址在指令的地址码中直接给出操作数在存储器中的地址。即形式地址即为操作数有效地址。再读一次内存才能得到操作数。3 .间接寻址指令的地址码给出的内容既不是操作数,也不是操作数的地址,而是操作数地址的地址,这被称为间接寻址方式,多一次读内存储器的操作。4 .变址寻址操作数的有效地址是由变址寄存器的内容加上指令中的形式地址得到,再读一次内存得到操作数。5 .寄存器寻址计算机的CPU中一般设置有一定数量的通用寄存器,用于存放操作数、操作数地址或中间结果。寄存器寻址就是指令地址码给出某寄存器的编号,寄存器中的内容为操作数。也称寄存器直接寻址。6 .寄存器间接寻址形式地址为寄存器编号,寄存器中的内容为操作数所在单元的地址(有效),根据寄存器的内容再读一次内存得到操作数。7 .相对寻址是变址寻址的特例。以程序计数器PC的内容(即当前执行指令的地址)和指令地址码中提供的位移量相加,得到有效地址。主要用于转移指令。8 .基址寻址在计算机中设置个专用的基址寄存器,有效地址由基址寄存器的内容和指令中地址码提供的位移地址相加得到的。除了以上各种常用的寻址方式,现代计算机为了扩大主存的寻址空间,还采用扩展寻址方式。指令中采用不同寻址方式的目的主要是:缩短指令长度,扩大寻址空间、提高编程灵活性。三、指令的结构和分类1.CISC和RISC当前的计算机指令系统,从其构成的复杂和完备程度,或者说设计中追求的不同的目标区分,可分为CISC和RISC两类:CISC(ComplexInstructionSetComputer),通常称为复杂指令系统的计算机。其特点是:指令条数多,格式多样,寻址方式复杂,每条指令的功能强,优点是汇编程序设计容易些,但计算机控制器的实现困难多,很多指令被使用的机会并不多。RISC(ReducedInstructionSetComputer),通常称为精简指令系统的计算机,只有数目较少、格式与功能简单、运行高效的指令,追求的是计算机控制器实现简单,运行高速,更容易在单块超大规模集成电路芯片内制作出来。2.指令的分类按指令的功能分:算术运算、逻辑运算指令:是每台机器必有的指令。通常用于在计算机的运算器部件中完成对或两个数据的算术或逻辑运算功能。数据传送指令:用于实现通用寄存器之间、通用寄存器与内存单元之间、内存不同单元之间、通用寄存器与外设(接口)之间(有些场合也可以单独划分为输入输出指令)的数据传送功能。