免费智能真题库 > 历年试卷 > 程序员 > 2009年上半年 程序员 上午试卷 综合知识
  第7题      
  知识点:   CPU   逻辑运算   算术运算
  关键词:   CPU   逻辑运算   算术运算        章/节:   硬件基础知识       

 
CPU执行算术运算或者逻辑运算时,算术逻辑运算部件(ALU)将计算结果保存在(7)中。
 
 
  A.  累加器AC
 
  B.  程序计数器PC
 
  C.  指令寄存器IR
 
  D.  地址寄存器AR
 
 
 

 
  第10题    2011年下半年  
   32%
总线宽度分为地址总线宽度和数据总线宽度。其中,地址总线宽度决定了CPU能够使用多大容量的(10):若计算机的地址总线的宽度为32位..
  第11题    2011年下半年  
   34%
总线宽度分为地址总线宽度和数据总线宽度。其中,地址总线宽度决定了CPU能够使用多大容量的(10):若计算机的地址总线的宽度为32位..
  第8题    2016年下半年  
   48%
程序计数器(PC)是(8)中的寄存器。
   知识点讲解    
   · 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,否则结果正确无溢出。
                      浮点乘除运算
                      浮点数相乘,其积的阶码等于两乘数的阶码相加,积的尾数等于两乘数的尾数相乘。浮点数相除,其商的阶码等于被除数的阶码减去除数的阶码,商的尾数等于被除数的尾数除以除数的尾数。乘除运算的结果都需要进行规格化处理并判断阶码是否溢出。
   题号导航      2009年上半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第7题    在手机中做本题