计算机组成之期中测GU

2020-2021 上 期中测之GU

一、 选择题(每题1分,共15分)

1、冯·诺依曼结构计算机指令和数据表示的叙述中,正确的是( C )。
A、 指令和数据可以从形式上加以区分
B、 指令以二进制形式存放,数据以十进制形式存放
C、 指令和数据都以二进制形式存放
D、 指令和数据都以十进制形式存放


2、在机器数 ( B )中,零的表示形式是唯一的。
A、原码 B、补码 C、反码 D、原码和反码

解:考的有点频繁了...

3、若某数采用IEEE 754单精度浮点数格式表示为 4510 0000H,则其值是( B )。
A、 (+1.125)10×210 B、 (+1.125)10×211
C、 (+0.125)10×211 D、 (+0.125)10×210

解: IEEE 754 == 1 + 8 + 23
4510 0000H 化成2进制 0100 0101 0001 0000 0000 0000 0000 0000
 0100 0101 0.001 0000 0000 0000 0000 0000
尾数部分 = (1.001)~2~ = 2^0^+2^-3^=1.125
阶数部分 = (0100 0101 0)~2~ = 2+8+2^7^=138 = 真值 + 2^7^-1
则 真值 = 11
则答案 为 B

4、CPU中能进行算术和逻辑运算的最基本运算部件是( D )。
A、 多路选择器 B、 移位器 C、 加法器 D、 ALU


5、考虑以下C语言代码:
short si= -8196;
int i=si;
执行上述程序段后,i的机器数表示为( D )。
A、0000 9FFCH B、0000 DFFCH C、FFFF 9FFCH D、FFFF DFFCH

知识点:
定点整数:在原符号位和数值位之间添加新位,正加0;负原码加0,负数反码和补码加1;
定点小数:在原符号位和数值位之间添加新位,正加0;负原补码加0,负数反码加1;

解:
-8196 = (1010 0000 0000 0100)~2~
补码: 1101 1111 1111 1100
i = 1111 1111 1111 1111 1101 1111 1111 1100
 = F F F F D F F C

6、下面有关半导体存储器组织的叙述中,错误的是( D )。
A、存储器的核心部分是存储体,由若干存储单元组成
B、存储单元由若干个存放0或1的存储元件构成
C、一个存储单元有一个编号,就是存储单元的地址
D、同一个存储器中,每个存储单元的宽度可以不同

解:
现代计算机的主存储器由半导体存储器构成,其中存放信息的地方称为存储阵列;
每个存储阵列包含若干个存储单元,每个存储单元由若干个记忆单元(cell)构成,每个记忆单元存放一位信息(0或1)。

某一台计算机的主存储器编址方式,总是由其对应的指令集体系结构(ISA)确定的;
现代通用计算机大多采用按字节编址方式,即主存储器中每个字节有一个地址,也即每个存储单元的宽度都是8位。

7、以下是有关段式虚拟存储器的叙述,其中错误的是( D )。
A、段是逻辑结构上相对独立的程序块,因此段是可变长的
B、按程序中实际的段来分配主存,被分配后的主存块是可变长的
C、每个段表项必须记录对应段在主存的起始位置和段的长度
D、分段方式对低级语言程序员和编译器来说是透明的


8、在计算机系统中,描述系统运行状态的部件是( D )。
A、程序计数器 B、累加器 C、通用寄存器 D、程序状态字寄存器


二、简答题

1、已知十进制数x=-66,y=+95,设机器数字长8位(含1位符号位),先表示出[x]补、[y]补和[-y]补,用补码运算方式计算x-y,要求写出详细过程,判断是否溢出,并给出相应的Z(零标志)、V(溢出标志)和C(进位标志)。

[X] ~原~= (1100 0010)~2~
[X] ~反~= (1011 1101)~2~
[X] ~补~= (1011 1110)~2~
[Y]~原~ = (0101 1111)~2~
[-Y]~补~ = (1010 0001)~2~
[X-y]~补~ = [x]~补~ +[-Y]~补~=
  1011 1110
+1010 0001
——————
1 0101 1111

发生了溢出,s~f1~=1  s~f2~= 0  有溢出
Z = 0  C = 1  V = 1

2、CPI的含义是什么?执行时间(响应时间)和CPI是什么关系?

答:CPI是指每条指令执行所用的时钟周期数。
通常,一条特定指令的CPI是一个确定的值 ,而某个程序的CPI则是一个平均值。
一个程序的执行时间取决于该程序所包含的指令数、CPI和时钟周期。
在指令条数和时钟周期一定的情况下,CPI越大,执行时间越长。

三.分析计算题

1、“非常简单CPU”的寄存器和内部组织结构如下:
存储空间为64B,程序员可访问的寄存器AC,另有工作用的6位地址寄存器AR、6位程序计数器PC、8位数据寄存器DR、2位指令寄存器IR。
指令集结构如下:
计算机组成之期中测GU_第1张图片
(1)假设初始时PC=0,AC=25H,内存各单元的内容如下所示。程序运行5个指令周期后,AC=? 写出每步的过程。

单元号 内容
0 01000111
1 00000110
2 11101010
3 10000001
4 10101010
5 01010101
6 00000011
7 10101010
8 11111100
pc = 0,内容 = 01 000 111 执行AND
内容地址 = 000 111 
M[000 111] = M[ 7 ] = 1010 1010
AC = 25H = 0010 0101 
AC ^ 1010 1010 = 0010 0000 = 20H

pc=1,内容 = 00000110 执行 ADD
内容地址 = 000110 = 6
AC + 00000011 =  0010 0000  + 00000011
 = 0010 0011 = 23H

pc=2,内容 = 11101010 执行INC
AC + 1 = 0010 0100 = 24H

pc =3 ,内容 = 10000001 执行 JMP
内容地址 = 000001 = 1 跳到1号单元

pc = 4,AC + 00000011 = 27H

故执行5个周期后,AC = 27H

(2)画出CPU状态图。
计算机组成之期中测GU_第2张图片
因为指令寄存器IR有两位,所以完成四种操作需要用的IR指令分别为00、01、10、11


(3)用RTL语言写出各状态的操作语句。

FETCH1: AR←PC (取址)
FETCH2: DR←M,PC←PC+1
FETCH3: IR←DR[7…6],AR←DR[5…0]

ADD1: DR←M
ADD2: AC←AC+DR

AND1: DR←M
AND2: AC←AC∧DR

JMP1: PC←DR[5…0]

INC1: AC←AC+1


3、某机字长32位,控制器采用微程序控制方式,微指令字长32位,采用水平型直接控制与字段编码控制相结合的微指令格式,共有微命令40个,其中9个微命令采用直接控制方式,31个微命令采用字段编码控制方式,共构成4个相斥类(各包含7个、16个、3个、5个微命令)。可测试的外部条件有2个。
设计该微指令的具体格式,控制存储器容量是多少?

9个微命令 7个微命令 16个微命令 3个微命令 5个微命令 判别字段 下址字段
9 3 5 2 3 2 8

下址字段有8位,控制存储器容量为28=256个单元。


4、假设微程序控制器容量为1024×48位,微程序可在整个控存内实现转移,反映所有指令执行状态转换的有限状态机中有4个分支点,采用水平型微指令格式,并采用断定法确定下一条微地址,即由专门的下地址字段确定微地址。
1)设计微指令格式,说明各字段的含义和位数;
2)对转移控制字段进行编码。

(1)解:微程序控制器容量位 1024 × 48,说明下地址字段有10位 ;
有4个分支点,说明需要对5钟情况进行控制,转移字段有3位;
微操作码字段有 48 - 10 - 3 = 35位

(2)转移控制字段编码:(注:编码方式不唯一,只要正确即可)
000:下地址字段指出的地址作为下一条微地址
100:根据分支1处的条件来选择下一条微地址
101:根据分支2处的条件来选择下一条微地址
110:根据分支3处的条件来选择下一条微地址
111:根据分支4处的条件来选择下一条微地址


5、某计算机CPU主频为500MHz,CPI为5.
假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,传输单位为32位,对应的中断服务程序包含18条指令,中断响应等其他开销相当于两条指令的执行时间。回答下列问题,要求给出计算过程。
1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?
2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送的块大小为5000B,DMA预处理和后处理的总开销为500个时钟周期,则CPU用于外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)

解:
(1)每次中断处理的时钟周期数为 (18+2)× 5 = 100
外设传输的数据为0.5MB/s,每次中断传送4字节,
中断次数 = 0.5MB / 4B = 125000次
100 × 125000 = 12.5M 个时钟周期
CPU主频500MHZ,时间为12.5/500=2.5%

(2)5MB/1000B = 1000次
500 × 1000 =0.5M
0.5M / 500M = 0.1%

你可能感兴趣的:(计算机组成与系统结构)