20155326 2017-2018-1 《信息安全系统设计基础》第六章课上考试题

1.下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为()

A .1

B .1/4

C .1/2

D .3/4

正确答案:D

解析:缓存命中指的是当程序需要第(k+1)层的数据对象d的时候,首先会在第k层找d;如果d刚好缓存在第k层,那么就叫做缓存命中。在此题中,填充了之后,对于x和y数组,只有在引用第0个和第4个元素的时候发生不命中,因而命中率为3/4。

2.有关高速缓存的说法正确的是()

A .高速缓存的容量可以用C=SEB 来计算

B .高速缓存容量为2048,高速缓存结构为( 32 ,8,8,32)

C .直接映射高速缓存要:组选择、行匹配、字抽取

D .当程序访问大小为2的幂的数组时,直接映射高带缓存中常发生冲突不命中

正确答案:A C D

解析:书上内容。

3.The following table gives the parameters for a number of different caches. For
each cache, determine the number of cache sets (S), tag bits (t), set index bits (s),
and block offset bits (b)

A .第三行S为1

B .第一行t为24

C .第二行b为5

D .第三行s的值为0

正确答案: A C D

解析: 由S=2^S; t=m-(s+b);s = log2(S);b=log2(B)得出S=1,t=22。

4.有关缓存的说法,正确的是()

A .LRU策略指的是替换策略的缓存会选择最后被访问时间距现在最远的块

B .不同层之间以字节为传送单元来回复制

C .缓存不命时,决定哪个块是牺牲块由替换策略来控制

D .空缓存的不命中叫冲突不命中

正确答案: A C

解析:LRU:最近最少使用,用于判断最近被使用的时间,目前最远的数据优先被淘汰。不同层之间以块大小为传送单元来回复制。空缓存的不命中叫强制性不命中或冷不命中。缓存不令中时,会覆盖现存一个块,称为替换或驱逐,决定该替换哪个块是由缓存的替换策略来控制。

5.下面说法正确的是()

A .存储层次结构中最小的缓存是寄存器

B .存储层次结构的中心思想是每一层都缓存来自较低一层的数据对象

C .L4主存可以看作是L5:本地磁盘的缓存

D .L4主存可以看作是L6的缓存

正确答案: A B C

解析:每一层都缓存来自较低一层的数据,位于K层的更快更小的存储设备作为位于k+1层更大更慢的存储设备的缓存。

6.下面代码的步长是()

A .1

B .N

C .N*N

D .NNN

正确答案: C

解析:步长值指的是循环体中计数器每次的增量值。本题该循环体中计数器每次的增量为N*N。

7.下面代码中()局部性最差

#define N 1000
typedef struct {
int vel[3];
int acc[3];
} point;
point p[N];

A .
void clear1(point *p, int n)
{
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < 3; j++)
p[i].vel[j] = 0;
for (j = 0; j < 3; j++)
p[i].acc[j] = 0;
}
}

B .

void clear2(point *p, int n)
{
int i, j;
for (i = 0; i < n; i++) {
for (j = 0; j < 3; j++) {
p[i].vel[j] = 0;
p[i].acc[j] = 0;
}
}
}

C .
void clear3(point *p, int n)
{
int i, j;
for (j = 0; j < 3; j++) {
for (i = 0; i < n; i++)
p[i].vel[j] = 0;
for (i = 0; i < n; i++)
p[i].acc[j] = 0;
}
}

D .不确定

正确答案: C

解析:C只具有时间局部性,而AB具有时间和空间局部性

8.程序中()语句具有良好的局部性

A .顺序

B .分支

C .循环

D .以上都是

正确答案: C 程序的局部性原理是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序的执行仅限于程序中的某一部分。程序访问一个向量,步长越小空间局部性越好。

9.下面代码,()具有差的空间局部性。

A .

int sumvec(int v[N])
{
int i, sum = 0;
for (i = 0; i < N; i++)
sum += v[i];
return sum;
}

B .

int sumarrayrows(int a[M][N])
{
int i, j, sum = 0;
for (i = 0; i < M; i++)
for (j = 0; j < N; j++)
sum += a[i][j];
return sum;
}

C .

int sumarraycols(int a[M][N])
{
int i, j, sum = 0;
for (j = 0; j < N; j++)
for (i = 0; i < M; i++)
sum += a[i][j];
return sum;
}

D .以上都不对

正确答案: C

解析:空间局部性是指一旦程序访问了某个存储单元,则不久之后。其附近的存储单元也将被访问。C使用步长为N的引用模式来扫描,所以空间局部性很差。

10.有关局部性原理,说法正确的是()

A .程序访问一个向量,步长越小或短,空间局部性越好

B .局部性有两种形式:空间局部性,时间局部性

C .程序访问一个向量,步长越大空间局部性越好。

D .硬件、OS,应用程序都会用到局部性原理

正确答案: A B D

解析:书P411。局部性通常有两种不同的形式:时间局部性和空间局部性,步长增加,空间局部性下降。

11.下面说法正确的是()

A .CPU通过内存映射I/O向I/O设备发命令

B .DMA传送不需要CPU的干涉

C .SSD是一种基于闪存或Flash的存储技术

D .逻辑磁盘块的逻辑块号可以翻译成一个(盘面,磁道,扇区 )三元组。

正确答案: A B C D

解析:书上411。CPU通过内存映射I/O向I/O设备发命令,DMA传送不需要CPU的干涉,SSD是一种基于闪存或Flash的存储技术,逻辑磁盘块的逻辑块号可以翻译成一个(盘面,磁道,扇区 )三元组。

12.下面()是I/O总线

A .USB

B .PCI

C .网卡

D .图形卡

正确答案: B

解析:PC机中的总线分为CPU总线和I/O总线,PCI总线属于I/O总线,I/O总线指缆线和连接器系统,用来传输I/O路径技术指定的数据和控制信号。

13.图中磁盘一个扇区的访问时间约为()ms

A .10

B .5

C .6

D .8

E .12

正确答案:A

14.有关磁盘操作,说法正确的是()

A .对磁盘扇区的访问时间包括三个部分中,传送时间最小。

B .磁盘以字节为单位读写数据

C .磁盘以扇区为单位读写数据

D .读写头总处于同一柱面

正确答案: A C

解析:。对扇区的访问时间有三个主要的部分:寻道时间、旋转时间、传送时间。读取数据的时候首先寻找的是数据所在的扇区,在任何时刻,所有的读写头都位于同一个柱面上。而数据是以字节为基本单位记录在各个扇区上,磁盘以扇区大小的块来读写数据。

15.计算下面磁盘的容量():4个盘片,100000个柱面,每条磁道400个扇区,每个扇区512个字节

A .81.92GB

B .40.96GB

C .163.84

D .327.68GB

正确答案: C

解析:存储容量C=柱面(磁道)数T x 磁盘面(磁头)数H x 扇区数S x 字节数 =163.84GB

16.有关磁盘,说法正确的是()

A .磁盘的读取时间为毫秒级

B .每张磁盘有一个表面

C .表面由磁道组成

D .每个扇区的面积不同,包含的数据位的数量也不一样

正确答案: A C

解析:磁盘读取的时间为毫秒级,每张磁盘有两个表面,每张表面由磁道组成。每张磁盘有多个表面且虽然面积不同,但每个扇区所能容纳的数据量是相同的,都是512字节,数据量平均分配在扇区面积的每个角落。

17.根据携带信号不同,总线可分为()

A .系统总线

B .数据总线

C .内存总线

D .地址总线

E .控制总线

正确答案: B D E

解析:405页

18.关于非易失性存储器,下面说法正确的是()

A .DRAM是非易失性存储器

B .SRAM是非易失性存储器

C .PROM只能编程一次

D .EEPROM可以用紫外线进行擦除

E .存在ROM中的程序通常被称为固件

正确答案: C E

解析:SRAM、DRAM不是非易失性存储;PROM只能被编程一次,其中的熔丝只能用高电流熔断一次。EEPROM才是非易失性的、随机存取的存储器,可以在电脑上或专用设备上擦除已有信息,重新编程,不能用紫外线进行擦除。

19.通过使用两个时钟沿作为控制信号,对DRAM进行增强的是()

A .FPM DAM

B .SDRAM

C .DDR SDRAM

D .VRAM

E .EDO DRAM

正确答案: C

解析:双倍数据速率同步DRAM(DDR SDRAM):使用两个时钟沿作为控制信号,使DRAM速度翻倍。

20.有关RAM的说法,正确的是()

A .SRAM和DRAM掉电后均无法保存里面的内容。

B .DRAM将一个bit存在一个双稳态的存储单元中

C .一般来说,SRAM比DRAM快

D .SRAM常用来作高速缓存

E .DRAM将每一个bit存储为对一个电容充电

F .SRAM需要不断刷新

G .DRAM被组织为二维数组而不是线性数组

正确答案: A D E G

解析:SRAM、DRAM不是非易失性存储。SRAM将一个bit存在一个双稳态的存储单元中,而DRAM一般采用电容作为存储单元。DRAM每一个2ms要刷新1次避免数据丢失而SRAM是静态的不需要刷新。SDRAM在1个时钟周期内只传输1次数据,它是在时钟的上升期进行数据传输;而DDR内存则是1个时钟周期内传输两次次数据,它能够在时钟的上升期和降落期各传输1次数据,因此称为双倍速率同步动态随机存储器。DRAM一般采用电容作为存储单元;DRAM比SRAM快;DRAM需要重写刷新

21.有关计算机存储系统,下面说法正确的是()

A .程序具有良好的局部性表现在倾向于从存储器层次结构中的较低层次处访问数据,这样节省时间

B .存储层次涉用不同容量,成本,访问时间的存储设备

C .存储层次设计基于局部性原理

D .“存储山”是时间局部性和空间局部性的函数

正确答案: B C D

解析:程序具有良好的局部性表现在倾向于从存储器层次结构中的较高层次处访问数据,这样节省时间,层次越低,访问速度越慢。