计算机组成原理--错题整理

 易错点:

①机器码转真值一定要注意是补码转,不能直接转

②[x]补 → [-x]补 的过程,千万别忘了还要加1


选项:

计算机中一个字的长度都是32位()

        解答:计算机中字的位数一般是8的位数,不一定是32位

虚拟存储器中主存和辅存之间的数据调动对任何程序员是透明的()

        解答:只有对应用级程序员是透明的

RAID技术可以提高磁盘的磁记录密度和磁盘利用率()

        解答:RAID只是进行逻辑划分,并不能提高磁盘的磁记录密度和磁盘利用率

在高速缓存系统中,主存容量为12MB,Cache 容量为400KB,则该存储系统的容量为12MB + 400KB

        解答:由于Cache中存放的是主存中某一部分信息的副本,所以不能认为总容量为两个层次容量的简单相加。

 选择题:

用于科学计算的计算机中,标志系统性能的主要参数是( )

A. 主时钟频率. B. 主存容量. C. MFLOPS. D. MIPS. 

解答:科学计算多指浮点数运算 答案

当前设计高性能计算机的重要技术途径是()
A、提高CPU主频
B、扩大主存容量
C、采用非冯诺依曼体系结构
D、采用并行处理技术

解答:提高CPU主频和扩大主存容量对于性能的提升是有限的 答案

下列给出的部件中,其位数(宽度)一定与机器字长相同的是( )。

Ⅰ. ALU

Ⅱ. 指令寄存器

Ⅲ. 通用寄存器

IV. 浮点寄存器

A. 仅Ⅰ、Ⅱ

B. 仅Ⅰ、Ⅲ

C. 仅Ⅱ、Ⅲ

D. 仅Ⅱ、Ⅲ、IV

 解答:机器字长是指计算机进行一次整数运算所能处理的二进制数据的位数(整数运算即定点整数运算)。因为计算机中数的表示有定点数和浮点数之分,定点数又有定点整数和定点小数之分,这里所说的整数运算即定点整数运算。机器字长也就是运算器进行定点数运算的字长,通常也是CPU内部数据通路的宽度。

机器字长反映了计算机的运算精度,即字长越长,数的表示范围也越大,精度也越高。机器的字长也会影响机器的运算速度。倘若CPU字长较短,又要运算位数较多的数据,那么需要经过两次或多次的运算才能完成,这样势必影响整机的运行速度。

机器字长与主存储器字长通常是相同的,但也可以不同。不同的情况下,一般是主存储器字长小于机器字长,例如机器字长是32位,主存储器字长可以是32位,也可以是16位,当然,两者都会影响CPU的工作效率。

Ⅰ. ALU(算术逻辑单元):ALU是执行算术和逻辑操作的核心部件。它通常是根据机器字长设计的,能够处理与机器字长相同位数的数据。因此,ALU的位数一定与机器字长相同。正确。

Ⅱ. 指令寄存器:指令寄存器用于存储当前执行的指令。其位数(宽度)可能比机器字长更小,因为指令可能只需要较少的位数来表示。错误。

Ⅲ. 通用寄存器:通用寄存器是用于存储临时数据和计算结果的寄存器。这些寄存器通常与机器字长相匹配,以便能够存储和处理与机器字长相同位数的数据。正确。

IV. 浮点寄存器:浮点寄存器用于存储浮点数数据。其位数可以与机器字长相同,也可以不同,取决于计算机体系结构的设计。错误。

综上,Ⅰ和Ⅲ的位数一定与机器字长相同。答案

设x为真值,x*为其绝对值,满足 [ -x * ]补=[ -x ]补,当且仅当()
A.x任意  B.x为正数  C.x为负数  D.以上说法都不对

 解答:B为充分条件,注意题目中的“当且仅当”,因为x为正数或0时上述式成立,所以B不对答案

 关于模4补码,下列说法正确的是()
A.模4补码和模2补码不同,它更容易检查乘除运算中的溢出问题
B.每个模4补码存储时只需一个符号位
C.存储每个模4补码需要两个符号位
D.模4补码,在算术与逻辑部件中为一个符号位

  解答:模4补码具有模2补码的全部优点且更易检查加减运算中的溢出问题,而不是乘除运算;存储模4补码仅需一个符号位,因为任何一个正确的数值,模4补码的两个符号位总是相同的,只在把两个模4补码的数送往ALU完成加减运算时,才把每个数的符号位的值同时送到ALU的双符号位中,即只在ALU中采用双符号位答案

若[X]补=X0X1X2…Xn,其中X0为符号位,X1为最高数位。若 ,则当补码左移时,将会发生溢出。(哈尔滨工程大学 2004年)

A.X0=X1

B.X0≠X1

C.X1=0

D.X1=1

 解答:看其他的解答都没看懂,但发现了一个结论:当进行左移,最高位和符号位必须相同,不然会溢出答案

下列关于各种移位的说法正确的是()
a.假设机器数采用反码表示,当机器数为负时,左移时最高数位丢0,结果出错;右移时最低数位丢0,影响精度
b.在算术移位的情况下,补码左移的前提条件是其原最高有效位与原符号位要相同
c.在算术移位的情况下,双符号位的移位操作只有低符号位需要参加移位操作
A、a、c
B、仅b
C、仅c
D、a、b、c

解答:

a,机器数为负数时,除了符号位,其余位取反得反码。例如-11->11011,反码:10100,算术左移->11001=>原码:10110=-6,数据错误,应该是-11* 2=-22;算术右移一位->11010=>10101=-5,应该是-11/2=-5.5,现在是-5,精度下降。

b,可根据上题的结论,当进行左移,最高位和符号位必须相同,不然会溢出

c,双符号位的高位表示真正的符号,低位的作用是用来移位判断是否发生溢出,在算术位移时,真正的符号位不参与位移,因此只有低符号位需要参加移位操作。答案

 某计算机存储器按字节编址,采用小端方式存放数据,假定编译器规定int和short型长度分别为32位和16位,并且数据按边界对齐存储,其C语言程序段如下:

struct{
int a;
char b;
short c;
}record;
record.a=273;

若record变量的首地址为0xC008,则地址0xC008中的内容及record.c的地址分别为( )

A . 0x00 0xC00D

B . 0x00 0xC00E

C . 0x11 0xC00D

D . 0x11 0xC00E

 解答:注意题目中的小端方式、按字节编址、边界对齐 。 a为4B,应该是0000 0001 0001 0001,但是是小端方式,所以0xC008存的是0x11。同时因为边界对齐,所以char类型后面会有一个填充字段,因此record.c从0xC00E开始。答案思路参考:C语言笔记----2012年计算机联考真题_某计算机存储器按字节编址,采用小端方式存放数据-CSDN博客

假定编译器规定int和short型长度分别为32位和16位,执行下列C语言语句:

unsigned short x=65530;

unsigned int y=x;

得到y的机器数为()。

A.0000 7FFAH

B.0000 FFFAH

C.FFFF 7FFAH

D.FFFF FFFAH

 解答:注意题目中的unsigned为无符号类型,所以x为无符号补码1111 1111 1111 1010,转换为长整型只需要前面补0即可。答案

某字长为8 位的计算机中,已知整型变量 x、 y 的机器数分别为[x]补=1 1110100, [y]补=10110000。若整型变量 z=2*x+y/2,则 z 的机器数为( )。

A.1 1000000

B.0 0100100

C.1 0101010

D.溢出

 解答:x*2为左移,负数补码左移补0,11101000;y/2为右移,负数补码右移补1,11011000。

判断是否溢出,则看最高位进位和次高位进位异或结果,结果无溢出,正常计算得11000000答案

整数 x 的机器数为 1101 1000,分别对 x 进行逻辑右移 1 位和算术右移 1 位操作,得到的机器数分别是

A.1110 1100,1110 1100
B.0110 1100,1110 1100
C.1110 1100,0110 1100
D.0110 1100,0110 1100

 解答:逻辑移位,无论如何都是补0机器数为补码,补码算术右移补1答案

考虑以下 C 语言代码:

unsigned short usi = 65535; 

short si = usi; 

执行上述程序段后,si 的值是

A. -1

B. -32767

C. -32768

D. -65535

 解析:无符号转有符号,直接转,注意巨坑!这里求的是si的真值!即1111……1111这个补码的原码,也就是1000……0001,即-1答案

某浮点机,采用规格化浮点数表示,阶码用移码表示(最高位代表符号位),尾数用原码表示。下列哪个数的表示不是规格化浮点数。

A.阶码:1111111          尾数:1.1000……00
B.阶码:0011111          尾数:1.0111……01
C.阶码:1000001          尾数:0.1111……01
D.阶码:0111111          尾数:0.1000……10

  解答:注意这里题目没有提IEEE 754,所以不用看阶码是否是全1or全0。尾数用原码表示,则尾数数值最高位恒置1才是规格化的  答案

下列关于对阶操作说法正确的是()
A、在浮点加减运算的对阶操作中,若阶码减小,则尾数左移
B、在浮点加减运算的对阶操作中,若阶码增大,则尾数右移,若阶码减小,则尾数左移
C、在浮点加减运算的对阶操作中,若阶码增大,则尾数右移
D、以上都不对

 解答:注意了,浮点数对阶只有小阶对大阶,所以不会阶码减小  答案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值