例题习题 - 图文 下载本文

2010年

14.假定变量i、f 和d的数据类型分别为int、float 和double(int 用补码表示,float 和double 分别用IEEE754 单精度和双精度浮点数格式表示),已知i=785,f=1.5678e3, d=1.5e100。若在32位机器中执行下列关系表达式,则结果为“真”的是( )。 Ⅰ.i= =(int)(float)i Ⅱ.f= =(float)(int)f Ⅲ.f= =(float)(double)f Ⅳ.(d+f)-d= =f

A.仅Ⅰ和Ⅱ B.仅Ⅰ和Ⅲ C.仅Ⅱ和Ⅲ D.仅Ⅲ和Ⅳ

2011年

13.float型数据通常用IEEE 754单精度浮点数格式表示。若编译器将float型变量x分 配到一个32位浮点寄存器FR1中,且x=-8.25,则FR1的内容是( )。 A.C104 0000H B.C242 0000H C.C184 0000H D.C1C2 0000H

2012年

14.float类型(即IEEE754单精度浮点数格式)能表示的最大正整数是( )。 A.2126-2103 B.2127-2104 C.2127-2103 D.2128-2104

2013年

13、某数采用IEEE754单精度浮点数格式表示为C640 0000H,则该数的值是( ) A、-1.5×213 B、-1.5×212 C、-0.5×213 D、-0.5×212 练习

1、假定采用IEEE 754单精度浮点数格式表示一个数为45100000H,则该数为() A、(+1.125)10×210 B、(+1.125)10×211 C、(+0.125)10×211 D、(+0.125)10×210

2、设某浮点数共12位,其中阶码含1位符号共4位,以2为底,补码表示;尾数含1位符号共8位,补码表示,规格化,则能表示的最大正数是()

A、27 B、28 C、28-1 D、27-1

3、IBM370的短浮点数格式中,总位数为32位,左边第一位(b0)为数符,随后7位(b1~b7)为阶码,用移码表示,偏置常数为64,右边24位(b8~b31)为6位十六进制原码小数表示的尾数(意思即采用16为基数),采用规格化形式表示,不带隐藏位。若将十进制数-265.625用该浮点数格式表示,则应表示为()

A、C310 9A00H B、4310 9A00H C、8310 9A00H D、0310 9A00H 4、IBM370的短浮点数格式同上题,则十进制数-260.125用该浮点数格式表示为什么(用十六进制形式表示)?

5、IBM370短浮点数格式下,45100110H对应的真值是多少?

6、已知两个实数x = -68,y = -8.25,它们在C语言中定义为float型变量,分别存放在寄存器A和B中,另外还有两个寄存器C和D。A、B、C、D都是32位的寄存器。请回答下列问题(用十六进制表示二进制序列)。

(1)寄存器A和B中的内容分别是什么?

(2)x和y相加后的结果放在C寄存器中,寄存器C中的内容是什么? (3)x和y相减后的结果放在D寄存器中,寄存器D中的内容是什么?

第四次 2009年

15.某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址。 现要用2K×8位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的 ROM芯片数和RAM芯片数分别是( )。

A.1、15 B.2、15 C.1、30 D.2、30

2010年

15.假定用若干个2K×4位的芯片组成一个8K×8位的存储器,则地址0B1FH所在芯片 的最小地址是( )。

A.0000H B.0600H C.0700H D.0800H 16.下列有关RAM和ROM的叙述中,正确的是( )。 Ⅰ.RAM是易失性存储器,ROM是非易失性存储器 Ⅱ.RAM和ROM都采用随机存取方式进行信息访问 Ⅲ.RAM和ROM都可用作Cache Ⅳ.RAM和ROM都需要进行刷新

A.仅Ⅰ和Ⅱ B.仅Ⅱ和Ⅲ C.仅Ⅰ、Ⅱ和Ⅳ D.仅Ⅱ、Ⅲ和Ⅳ

2011年

14.下列各类存储器中,不采用随机存取方式的是( )。 A.EPROM B.CDROM C.DRAM D.SRAM

15.某计算机存储器按字节编址,主存地址空间大小为64MB,现用4MB×8位的RAM 芯片组成32MB的主存储器,则存储器地址寄存器MAR的位数至少是( )。 A.22位 B.23位 C.25位 D.26位

2012年

15.某计算机存储器按字节编址,采用小端方式存放数据。假定编译器规定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

16.下列关于闪存(Flash Memory)的叙述中,错误的是( )。 A.信息可读可写,并且读、写速度一样快

B.存储元由MOS管组成,是一种半导体存储器 C.掉电后信息不丢失,是一种非易失性存储器 D.采用随机访问方式,可替代计算机外部存储器

2013年 练习

1、以下器件中存取速度最快的是()

A、Cache B、主存 C、寄存器 D、磁盘 2、以下()表示从主存M中读出数据

A、M(MAR) →MDR B、(MDR) →M(MAR) C、M(MDR) →MAR D、(MAR) →M(MDR) 3、以下()表示向主存M中写入数据

A、M(MAR) →MDR B、(MDR) →M(MAR) C、M(MDR) →MAR D、(MAR) →M(MDR) 4、以下类型的存储器中速度最快的是()

A、DRAM B、ROM C、EPROM D、SRAM 5、下列说法中正确的是()

A、半导体RAM信息可读可写,且断电后仍能保持记忆

B、DRAM是易失性RAM,而SRAM中的存储信息是不易失的

C、半导体RAM是易失性RAM,但只要电源不断电,所存信息是不丢失的 D、半导体RAM是非易失性的RAM

6、和静态RAM相比,动态RAM具有()优点 A、容量能随应用任务需要动态变化 B、成本低、功耗低 C、掉电后内容不会丢失 D、内容不需要再生 7、若数据在存储器中采用以低字节地址为字地址的存放方式,则十六进制数12345678H的存储字节顺序按地址从小到大依次是()

A、12345678 B、78563412 C、87654321 D、34127856

8、采用四体并行低位交叉存储器,每个模块的容量是32K×16位,存取周期为400ns,在以下说法中,()是正确的。

A、在0.1μs内,存储器能向CPU提供26位二进制信息 B、在0.1μs内,存储器能向CPU提供16位二进制信息 C、在0.4μs内,存储器能向CPU提供26位二进制信息 D、都不对

9、某机器字长为8位,试用以下所给芯片设计一个容量为10KB的存储器,其中RAM为高8KB,ROM为低2KB,最低地址为0。选用的RAM芯片类型为4K×8位,ROM芯片类型为2K×4位。回答以下问题:

(1)RAM和ROM的地址范围分别是多少? (2)每种芯片各需要多少片?

(3)存储器的地址线、数据线各为多少根?

(4)画出存储器的结构图及与CPU连接的示意图。 10、在ROM存储器中必须有()电路

A、数据写入 B、再生 C、地址译码 D、刷新

11、某微机的寻址范围为64K,接有8片8K的存储器芯片,存储器芯片的片选信号为CS,试回答下列问题:(1)画出选片译码逻辑电路(可选用74LS138译码器);(2)写出每

片RAM的地址范围;(3)如果运行时发现不论往哪片RAM存入数据,以A000H为起始地址的存储芯片都有与之相同的数据,分析故障原因;(4)若出现译码器中的地址线A13与CPU断线,并搭接到高电平上的故障,问后果如何?

12、一个16K×32位的存储器,其地址线和数据线的总和是() A、48 B、46 C、36 D、32

第五次 2009年

14.某计算机的Cache共有16块,采用2路组相联映射方式(即每组2块)。每个主存块大小为32B,按字节编址。主存129号单元所在主存块应装入到的Cache组号是( ) 。 A.0 B.1 C.4 D.6

21.假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是( )。 A.5% B.9.5% C.50% D.95%

2010年

17.下列命中组合情况中,一次访存过程中不可能发生的是( )。 A.TLB未命中,Cache未命中,Page未命中 B.TLB未命中,Cache命中,Page命中 C.TLB命中,Cache未命中,Page命中 D.TLB命中,Cache命中,Page未命中 44、(12分)某计算机的主存地址空间大小为256MB,按字节编址。指令Cache和数据Cache分离,均有8个Cache行,每个Cache行大小为64B,数据Cache采用直接映射方式。现有两个功能相同的程序A和B,其伪代码如下:

程序A:

int a[256][256]; ??

int sum_array1() {

int i, j, sum = 0;

for(i = 0; i < 256; i++) for( j = 0; j < 256; j++) sum += a[i][j]; return sum; }

程序B:

int a[256][256]; ??

int sum_array2() {

int i, j, sum = 0;

for(j = 0; j < 256; j++) for( i = 0; i < 256; i++)