组成_2011

12.下列选项中,描述浮点数操作速度指标的是――――。

A.MIPS B.CPI C.IPC D.MFLOPS


解:D

MIPS:每秒处理的百万级的机器语言指令数

CPI:每条指令的时钟周期数 Clockcycle Per Instruction

IPC:IPC(Inter-Process Communication,进程间通信)IPC ( Instruction per Clock, 即 CPU 每一时钟周期内所执行的指令多少

MFLOPS:MFLOPS


13.float 型数据通常用IEEE 754 单精度浮点数格式表示。若编译器将float型变量x 分配在一个32 位浮点寄存器FR1中,且x = -8.25,则FR1的内容是――――。

A.C104 0000H B.C242 0000H C.C184 0000H D.C1C2 0000H

解:

IEEE 754:

x=-8.25

=-1000.01 ()

=-1.00001 x 2^11 (E=2^11)

 S E M

IEEE 754: E-127=3 =>E=130=(1000 0010)

注意最高位是 1: 被隐藏的:

IEEEE 754:

符号(1位)+ 偏移阶码(8) + 尾数(23)(小数部分)

1  +1000 0010 + 0000 1000 0000 0000 000




14.下列各类存储器中,不采用随机存取方式的是――――。

A.EPROM B.CDROM C.DRAM D.SRAM

解:ROM,,RAM{SRAM}

B

15.某计算机存储器按字节编址,主存地址空间大小为64 MB,现用4M × 8 位的RAM 芯片组成32MB的主存储器,则存储器地址寄存器MAR的位数至少是――――。

A.22 位 B.23 位 C.25 位 D.26 位

解:D

64M=2^6*2^10=226


16.偏移寻址通过将某个寄存器内容与一个形式地址相加而生成有效地址。下列寻址方式中,不属于偏移寻址方式的是――――。

A.间接寻址 B.基址寻址 C.相对寻址 D.变址寻址

解:

寄存器+base指针-》基址地址

寄存器+存储器 -》相对寻址

变地寄存器-》编制寄存器

A。间接寻址


17.某机器有一个标志寄存器,其中有进位/借位标志CF、零标志ZF、符号标志SF和溢出标志OF,条件转移指令bgt(无符号整数比较大于时转移)的转移条件是――――。

A.CF+OF=1 B.SF+ZF =1 C.CF+ZF =1 D.CF+SF =1

解答:

bgt=x-y>0

肯定不会借位,和进位。=>不进位=CF=0;

x-y=/0; ==>ZF=0;

综合得到:

-------

CF+ZF=1



18.下列给出的指令系统特点中,有利于实现指令流水线的是――――。

I. 指令格式规整且长度一致 II.指令和数据按边界对齐存放

III.只有Load/Store 指令才能对操作数进行存储访问

A.仅I、II B.仅II、III C.仅I、III D.I、II、III

解答:RISC 特点


19.假定不采用Cache 和指令预取技术,且机器处于“开中断”状态,则在下列有关指令执行的叙述中,错误的是――――。

A.每个指令周期中CPU 都至少访问内存一次

B.每个指令周期一定大于或等于一个CPU 时钟周期

C.空操作指令的指令周期中任何寄存器的内容都不会被改变

D.当前程序在每条指令执行结束时都可能被外部中断打断


20.在系统总线的数据线上,不可能传输的是――――。

A.指令 B.操作数

C.握手(应答)信号 D.中断类型号

解答:当我们编译一个代码存在 指令和操作数, 中断类型号:

但握手信号在通信总线中传递。



21.某计算机有五级中断L4 ~ L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0≤i≤4)表示对Li级中断进行屏蔽。若中断响应优先级从高到低的顺序是L0→L1→L2→L3→L4,且要求中断处理优先级从高到低的顺序为L4→L0→L2→L1→L3,则L1 的中断处理程序中设置的中断屏蔽字是――――。

A.11110 B.01101 C.00011 D.01010

解:

D



22.某计算机处理器主频为50 MHz,采用定时查询方式控制设备A 的I/O,查询程序运行一次所用的时钟周期数至少为500。在设备A 工作期间,为保证数据不丢失,每秒需对其查询至少200 次,则CPU 用于设备A 的I/O 的时间占整个CPU 时间的百分比至少是――――。

A.0.02% B.0.05% C.0.20% D.0.50%

解:C

image

计算机的主频指的是CPU每秒处理外界数据的时间(时钟周期)。

500*200=10 0000

1/50M=10/5*10(7)=2*10^(-7)

100 000/5*10 000 000=1/500=0.002




43.(11 分)假定在一个8 位字长的计算机中运行如下类C 程序段:

unsigned int x = 134;

unsigned int y = 246;

int m = x;

int n = y;

unsigned int z1 = x�Cy;

unsigned int z2 = x+y;

int k1 = m�Cn;

int k2 = m+n;

若编译器编译时将8 个8 位寄存器R1 ~ R8 分别分配给变量xymnz1、z2、k1和k2。请回答下列问题。(提示:带符号整数用补码表示)

(1)执行上述程序段后,寄存器R1、R5 和R6 的内容分别是什么?(用十六进制表示)

(2)执行上述程序段后,变量m k1 的值分别是多少?(用十进制表示)

(3)上述程序段涉及带符号整数加/减、无符号整数加/减运算,这四种运算能否利用同一个加法器及辅助电路实现?简述理由。

(4)计算机内部如何判断带符号整数加/减运算的结果是否发生溢出?上述程序段中,哪些带符号整数运算语句的执行结果会发生溢出?

解:

(1) R1: z1=x-y;

R2: z2=x+y;

unsigned int x = 134; -->134=128+4+2=(1000 0110)16=0x0086

unsigned int y = 246;--->246=255-9=1111 1111 �C0000 1001=1111 0110=0x00F6

1000 0110

- 1111 0110

-----------------


因为是无符号是:

134-246=-112

1001 0000B=90H


2.m=1000 0110

m是Int型,最高位是符号位。m=1111 1010,

=》m 是负数,m的原码=反码+1

(1000 0110)//除符号位其余反码加一

1111 1001

+  1

------------

1111 1010

=( 240-128+10)10

=-(122)10


n=1111 0110

n是负数 �C>n 的原码=n 的反码+1

n=1111 0110

~n=1000 1001

+  1

-----------------

1000 1010

=-(10)

=>k1=-(122)-(-10)=-112


3.可以利用同一个加法器和辅助电路实现,因为无符号整数和有符号的整数都是以补码形式存在的运算规则是一致的。

但是无符号的整数和有符号的整数表示方法不一样,设置不一样溢出电路。


4.涉及到数据溢出问题。






44.(12 分)某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16 MB,主存(物理)地址空间大小为1 MB,页面大小为4 KB;Cache 采用直接映射方式,共8 行;主存与Cache 之间交换的块大小为32 B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容分别如题44-a 图、题44-b 图所示,图中页框号及标记字段的内容为十六进制形式。

image

请回答下列问题。

(1)虚拟地址共有几位,哪几位表示虚页号?物理地址共有几位,哪几位表示页框号(物理页号)?

(2)使用物理地址访问Cache 时,物理地址应划分成哪几个字段?要求说明每个字段的位数及在物理地址中的位置。

(3)虚拟地址001C60H 所在的页面是否在主存中?若在主存中,则该虚拟地址对应的物理地址是什么?访问该地址时是否Cache 命中?要求说明理由。

(4)假定为该机配置一个4 路组相联的TLB,该TLB 共可存放8 个页表项,若其当前内容(十六进制)如题44-c 图所示,则此时虚拟地址024BACH 所在的页面是否在主存中?要求说明理由。

clip_image006

解:

1)虚拟地址空间:16MB,且按字节编址:

2^26=64M ->共64M


2)4Kb=2^12-->虚页号是12位,

实际内存地址空间:1MB=(2^20)=1M

=>页内地址是12位。

叶框号是8 位。


3)

块大小32块->5 位

cache 直接相连:共八行:-》 3位的bit

=>主存内的字快标记是 20-5-3=12位


4)虚拟地址001c60H的虚页号为12位,

001H=1

查表得出:有效标记是1

查的页表是04H,物理地址:04C60H,(?)

直接映射,cache=4行,0CH=/064H

所以不命中。


4)由于采用了4组相连,cache被分为2组,每组 4 行。

物理地址划分为;
组号1位,业内地址是12位,余下则是11 位

若此时虚拟地址:

024BACH:-->二进制:

0000 0010 0100 1011 1010 1100

(0000 0010 010)0 (1011 1010 1100)

=》标记是 0000 0010 010 =0x(0000 0001 0010)=0x0012H

(0组,12H)可以看出:―》1F

=>虚拟地址在主存中。

你可能感兴趣的:(通信,2011)