全部科目 > 数据库系统工程师 >
2017年上半年 上午试卷 综合知识
第 1 题
知识点 CPU的组成   CPU   逻辑运算   算术运算  
关键词 CPU   操作数   逻辑运算   算术运算  
章/节 硬件基础知识  
 
 
CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在( )中。
 
  A.  程序计数器(PC)
 
  B.  累加器(AC)
 
  C.  指令寄存器(IR)
 
  D.  地址寄存器(AR)
 
 




 
 
相关试题     中央处理单元 

  第1题    2021年上半年  
在CPU中,用( ) 给出将要执行的下条指令在内存中的地址。

  第5题    2010年上半年  
计算机指令一般包括操作码和地址码两部分,为分析执行一条指令,其(5)。

  第1题    2010年上半年  
为实现程序指令的顺序执行,CPU (1)中的值将自动加1。

 
知识点讲解
· CPU的组成
· CPU
· 逻辑运算
· 算术运算
 
        CPU的组成
        CPU主要由运算器、控制器、寄存器组和内部总线等部件组成,如下图所示。
        
        CPU基本组成结构示意图
               运算器
               运算器包括算术逻辑单元(Arithmetic and Logic Unit,ALU)、累加寄存器、数据缓冲寄存器和状态条件寄存器等,它是数据加工处理部件,完成所规定的各种算术和逻辑运算。相对控制器而言,运算器接受控制器的命令而进行动作,即运算器所进行的全部操作都是由控制器发出的控制信号来指挥的,所以它是执行部件。运算器有如下两个主要功能:
               (1)执行所有的算术运算,如加、减、乘、除等基本运算及附加运算。
               (2)执行所有的逻辑运算并进行逻辑测试,如与、或、非、零值测试或两个值的比较等。
               下面简要介绍运算器中各部件的组成和功能。
               (1)算术逻辑单元(ALU)。ALU是运算器的重要组成部件,负责处理数据,实现对数据的算术运算和逻辑运算。
               (2)累加寄存器(AC)。AC通常简称为累加器,它是一个通用寄存器。其功能是当运算器的算术逻辑单元执行算术或逻辑运算时,为ALU提供一个工作区。例如,在执行一个减法运算前,先将被减数暂存在AC中,再从内存储器中取出减数,然后与AC的内容相减,所得的结果送回AC暂存。
               (3)数据缓冲寄存器(DR)。在对内存储器进行读写操作时,用DR暂时存放由内存储器读写的一条指令或一个数据字,将不同时间段内读写的数据隔离开来。DR的主要作用为:作为CPU和内存、外部设备之间数据传送的中转站以及它们在操作速度上的缓冲;在单累加器结构的运算器中,数据缓冲寄存器还可兼作操作数寄存器。
               (4)状态条件寄存器(PSW)。PSW保存根据算术指令和逻辑指令运行或测试的结果建立的各种条件码内容,主要分为状态标志和控制标志,如运算结果进位标志(C)、运算结果溢出标志(V)、运算结果为0标志(Z)、运算结果为负标志(N)、中断标志(I)、方向标志(D)和单步标志等。这些标志通常分别由1位触发器保存,保存了当前指令执行完成之后的状态。通常,一个算术操作产生一个运算结果,而一个逻辑操作则产生一个判决。
               控制器
               控制器用于控制整个CPU的工作,它决定了计算机运行过程的自动化。它不仅要保证程序的正确执行,而且要能够处理异常事件。控制器一般包括指令控制逻辑、时序控制逻辑、总线控制逻辑和中断控制逻辑等几个部分。
               指令控制逻辑要完成取指令、分析指令和执行指令的操作,其过程分为取指令、指令译码、按指令操作码执行、形成下一条指令地址等步骤。控制器在工作过程中主要使用下述几个部件:
               (1)指令寄存器(IR)。当CPU执行一条指令时,先把它从内存储器取到缓冲寄存器中,再送入IR暂存,指令译码器根据IR的内容产生各种微操作指令,控制其他部件协调工作,完成指令的功能。
               (2)程序计数器(PC)。PC具有寄存信息和计数两种功能,又称为指令计数器。程序的执行分两种情况,一是顺序执行,二是转移执行。在程序开始执行前,将程序的起始地址送入PC,该地址在程序加载到内存时确定,因此PC的内容即是程序第一条指令的地址。执行指令时,CPU将自动修改PC的内容,以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的,所以修改的过程通常只是简单地对PC加1。当遇到转移指令时,后继指令的地址根据当前指令的地址加上一个向前或向后转移的位移量产生,或者根据转移指令给出的直接转移的地址产生,再送入PC。
               (3)地址寄存器(AR)。AR保存当前CPU所访问的内存单元的地址。由于内存和CPU存在着操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读/写操作完成为止。
               (4)指令译码器(ID)。指令包含操作码和地址码两部分,为了能执行任何给定的指令,必须对操作码进行分析,以便识别要进行的操作。指令译码器就是对指令中的操作码字段进行分析解释,识别该指令规定的操作,向操作控制器发出具体的控制信号,控制各部件工作,完成所需的功能。
               时序控制逻辑要为每条指令按时间顺序提供应有的控制信号。总线逻辑是为多个功能部件服务的信息通路的控制电路。中断控制逻辑用于控制各种中断请求,并根据优先级的高低对中断请求进行排队,逐个交给CPU处理。
               寄存器组
               寄存器组可分为专用寄存器和通用寄存器。运算器和控制器中的寄存器是专用寄存器,其作用是固定的。通用寄存器用途广泛并可由程序员规定其用途,其数目因处理器不同有所差异。
 
        CPU
        CPU即中央处理器,它是计算机系统的核心部分。刚才所列的系统性能评价指标都是围绕CPU的。当然,这些指标的评价结果是建立在CPU与其他系统部件(如内存)的协同工作的基础上的。单就CPU而言,考察它在系统中的工作性能要关注CPU利用率、队列长度、每秒中断次数,等。
 
        逻辑运算
        在逻辑代数中有三种最基本的运算:“与”运算、“或”运算、“非”运算,其他逻辑运算可由这三种基本运算进行组合来表示。
               常用逻辑运算
                      “与”运算
                      “与”运算又称为逻辑乘,其运算符号常用AND、∩、∧或·表示。设AB为两个逻辑变量,当且仅当AB的取值都为“真”时,A“与”B的值为“真”;否则A“与”B的值为“假”,如下表所示。
                      
                      “与”运算规则
                      “或”运算
                      “或”运算也称为逻辑加,其运算符号常用OR、∪、∨或+表示。设AB为两个逻辑变量,当且仅当AB的取值都为“假”时,A“或”B的值为“假”;否则A“或”B的值为“真”,如下表所示。
                      
                      “或”运算规则
                      “非”运算
                      “非”运算也称为逻辑求反运算,常用表示对变量A的值求反。其运算规则很简单:
                      “异或”运算
                      常用的逻辑运算还有“异或”运算,又称为半加运算,其运算符号常用XOR或⊕表示。设AB为两个逻辑变量,当且仅当AB的值不同时,A“异或”B为真。A“异或”B的运算可由前三种基本运算表示,即
                      常用的逻辑公式如下表所示。
                      
                      常用的逻辑公式
               逻辑表达式及其化简
               逻辑表达式是用逻辑运算符将逻辑变量(或常量)连接在一起表示某种逻辑关系的表达式。常用表格方式来描述一个逻辑表达式与其变量之间的关系,也就是把变量和表达式的各种取值都一一对应列举出来,称之为真值表。
 
        算术运算
               二进制算术运算规则
               (1)加法:二进制加法的进位规则是“逢二进一”。
               0+0=01+0=10+1=11+1=0(有进位)
               (2)减法:二进制减法的借位规则是“借一当二”。
               0-0=01-0=11-1=00-1=1(有借位)
               (3)乘法:
               0×0=01×0=00×1=01×1=1
               机器数的加减运算
               在计算机中,可以只设置加法器,而将减法运算转换为加法运算来实现。
               (1)补码加法的运算法则是:和的补码等于补码求和,即[X+Y]=[X]+[Y]
               (2)补码减法的方法是:差的补码等于被减数的补码加上减数取负后的补码。因此,在补码表示中,可将减法运算转换为加法运算,即[X-Y]补=[X]+[-Y]
               (3)由[X]求[-X]的方法是:[X]的各位取反(包括符号位),末尾加1。
               溢出及判定
               在确定了运算的字长和数据的表示方法后,数据的范围也就确定了。一旦运算结果超出所能表示的数据范围,就会发生溢出。发生溢出时,运算结果肯定是错误的。
               只有当两个同符号的数相加(或者是相异符号数相减)时,运算结果才有可能溢出。
               机器数的乘除运算
               在计算机中实现乘除法运算,通常有如下三种方式。
               (1)纯软件方案,在只有加法器的低档计算机中,没有乘、除法指令,乘除运算是用程序来完成的。这种方案的硬件结构简单,但进行乘除运算时速度很慢。
               (2)在现有的能够完成加减运算的算术逻辑单元ALU的基础上,通过增加少量的实现左、右移位的逻辑电路,来实现乘除运算。与纯软件方案相比,这种方案增加硬件不多,而乘除运算的速度有了较大提高。
               (3)设置专用的硬件阵列乘法器(或除法器),完成乘(除)法运算。该方案需付出较高的硬件代价,可获得最快的执行速度。
               浮点运算
                      浮点加减运算
                      设有浮点数X=M×2iY=N×2j,求X±Y的运算过程如下。
                      (1)对阶。使两个数的阶码相同。令K=|i-j|,把阶码小的数的尾数右移K位,使其阶码加上K
                      (2)求尾数和(差)。
                      (3)结果规格化并判溢出。若运算结果所得的尾数不是规格化的数,则需要进行规格化处理。当尾数溢出时,需要调整阶码。
                      (4)舍入。在对结果进行右移时,尾数的最低位将因移出而丢掉。另外,在对阶过程中也会将尾数右移使最低位丢掉。这就需要进行舍入处理,以求得最小的运算误差。舍入处理的方法如下。
                      ①截断法。将要保留的数据末位右边的数据全都截去,不管数据是0还是1。
                      ②末位恒1法。将要保留的末位数据恒置1,不管右移丢掉的数据是0还是1。
                      ③0舍1入法。舍去的数据为0时,保持末位原始状态。若舍去的数据为1,则将末位加1。这类似于十进制中的四舍五入。但当数据为0.1111…1,即在尾数全为1的特殊情况下,这种舍入会再次产生溢出。遇到这种情况可用硬件判断,并在舍去1时末位不再加1。
                      (5)溢出判别。以阶码为准。若阶码溢出(超过最大值),则运算结果溢出;若阶码下溢(小于最小值),则结果为0,否则结果正确无溢出。
                      浮点乘除运算
                      浮点数相乘,其积的阶码等于两乘数的阶码相加,积的尾数等于两乘数的尾数相乘。浮点数相除,其商的阶码等于被除数的阶码减去除数的阶码,商的尾数等于被除数的尾数除以除数的尾数。乘除运算的结果都需要进行规格化处理并判断阶码是否溢出。



更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有