计算机组成原理作业
作业1 存储器
-
一个采用直接映射方式的16KB缓存,假设块长为8个32位的字,则地址为FDA459H的主存单元映射到缓存的第 (十进制表示)块内。
FDA459H=1111 1101 1010 0100 0101 1001
字块内地址5位
块号9位, 块号10 0100 010=290
主存标记24-9-5=10位
-
已知接收到的汉明码为0100111(按配偶原则配置),试问欲传送的信息是什么?
P4P2P1=110, 正确码为0100101,所以信息是0101
-
设某机主存容量为16MB,缓存的容量为16KB。每字块有8个字,每个字32位。设计一个四路组相连映射(即缓存每组内共有4个字块)的缓存组织,要求:
-
(1)画出主存地址字段中各段的位数。
-
(2)设缓存初态为空,CPU依次从主存第0、1、2、…、99号单元读出100个字(主存一次读出一个字),并重复此次序读8次,问命中率是多少?
-
(3)若缓存的速度是主存速度的6倍,试问有缓存和无缓存相比,速度提高多少倍?
(1) 主存字块标记12位 组地址7位 字块内地址5位
(2)命中率
(3)缓存速度为t, 主存速度为6t, 则为缓存访问时间6t800,有缓存访问时间为t(800-13)+6t13,提高倍数为:
-
-
某计算机字长是32位,它的存储容量是64KB,按字编址,它的寻址范围是(
B
)- A 16KB
- B 16K
- C 32K
-
动态半导体存储器的刷新一般有(
集中刷新
)、(分散刷新
)和(异步刷新
)三种方式,之所以刷新是因为(存储电荷的电容放电
)。 -
某C语言程序段如下:
for(i=0; i<=9; i++){ temp=1; for(j=0; j<=i; j++) temp*=a[j]; sum+=temp; }
下列关于数组a的访问局部性的描述中,正确的是 ( A )
-
A时间局部性和空间局部性皆有
-
B 无时间局部性,有空间局部性
-
C 有时间局部性,无空间局部性
-
D 时间局部性和空间局部性皆无
-
-
某计算机字长为32位,按字节编址,采用小端(Little Endian)方式存储数据。假定有一个double型变量,其机器数表示为1122 3344 5566 7788H,存放在0000 8040H开始的连续存储单元中,则存储单元0000 8046H中存放的是(
A
)-
A 22H
-
B 33H
-
C 77H
-
D 66H
-
-
设CPU共有16根地址线,8根数据线,并用MREQ(--------)作为访存控制信号(低电平有效),用WR(----)作为读/写控制信号(高电平为读,低电平为写)。现有下列存储芯片:1K×4位RAM,4K×8位RAM,2K×8位ROM以及74138译码器和各种门电路,如下图
图1
所示。画出CPU与存储芯片的连接图,要求:-
(1)主存地址空间分配:8000H-87FFH为系统程序区;8800H~8BFFH为用户程序区。
-
(2)合理选用上述存储芯片,说明各选几片。
-
(3)详细画出存储芯片与CPU的连接图。
图1
答案
-
作业2 运算方法和运算器
-
用两个字节存放16位无符号整数,其表达范围为0 ~
65535
。 -
用一个字节存放有符号整数,若某数真值为−75,请写出它的四种机器数(原码,反码,补码,移码)。
原码 1, 1001011 反码 1, 0110100
补码 1, 0110101 移码 0, 0110101
-
用一个字节存放有符号整数,用补码表示,真值的取值范围为
−128到+127
。 -
x = −26,用一个字节存放其补码,[x]补 =
1, 1100110
,将x的补码算术左移一位为1, 1001100
,将x的补码算术右移一位为1, 1110011
。 -
已知有符号整数[X]原=0,0101,[Y]原=1,1011,请采用双符号位的变形补码,计算[X+Y]补、[X-Y]补,分别判断是否溢出。
双符号位补码 [X]补=00, 0101,[Y]补=11, 0101,[−Y]补=00, 1011
00,0101 00,0101 + 11,0101 + 00,1011 ———— ———— = 11,1010 = 01,0000 [X+Y]补=11,1010,未溢出。 [X−Y]补=01,0000,溢出。
-
原码乘法的乘积的符号位由参与乘法运算的两个操作数的符号位进行
异或
运算得到。 -
x = −17.5,将x的值存放为IEEE754标准的单精度浮点数,则其机器数(十六进制)为
D
(A) 41 84 00 00
(B) C1 84 00 00 (C) 41 8C 00 00
(D) C1 8C 00 00
-
**IEEE754标准的单精度浮点数的表达范围大约为
B**
(A) ±10−25到±10+25
(B) ±10−38到±10+38 (C) ±10−54到±10+54
(D) ±10−76到±10+76
-
浮点数的加减法由对阶、尾数求和、规格化、舍入、溢出判断五个步骤组成。设尾数和阶码均采用双符号位补码表示,其中阶码2位,加2位符号位,尾数4位,加2位符号位。x=(+0.1101)×2+01,y=(−0.1010)×2+11,请用上述五个步骤求x+y的值,其中舍入步骤采用0舍1入。
解答
`[x]补 = 00,01; 00.1101 [y]补 = 00,11; 11.0110
①对阶:阶差为−2,小阶向大阶看齐,将x的尾数右移两位,阶码加2,[x’]补= 00,11; 00.001101。
②尾数求和:00.001101 + 11.0110 ————— = 11.100101 ③规格化:[x+y]补 = 00,11; 11.100101,左规,00,10; 11.00101
④舍入:0舍1入,[x+y]补=00,10; 11.0011
⑤溢出判断:未溢出。
最终求得x+y的值为(−0.1101)×2+10
作业3 控制器
-
在取指周期中,是按照(
D
)的内容访问主存,以读取指令。
A.指令寄存器IR
B.程序状态寄存器PS
C.存储器数据寄存器MDR
D.程序计数器PC
-
在微程序控制方式中,机器指令和微指令的关系是(
B
)。A.每一条机器指令由一条微指令来解释执行
B.每一条机器指令由一段(或一个)微程序来解释执行
C.一段机器指令组成的工作程序可由一条微指令来解释执行
D.一条微指令由若干条机器指令组成
-
微地址是指微指令(
D
)。A.指令寄存器IR
B.程序状态寄存器PS
C.存储器数据寄存器MDR
D.程序计数器PC
-
通常,微指令的周期对应一个(
C
)。A.指令周期
B.主频周期
C.机器周期
D.工作周期
-
计算机操作的最小单位时间是(
C
)。A.中断源提出请求
B.取指周期结束
C.执行周期结束
D.间址周期结束
-
计算机操作的最小单位时间是(
A
)。A.时钟周期
B.指令周期
C.CPU周期
D.执行周期
-
当读取并执行一条指令时,控制器的主要功能是什么?
答
① 从主存取指令,并计算下一条指令在主存中的地址;
② 对指令进行译码,产生相应的操作控制信号;
③ 控制指令执行的步骤和数据流动的方向。
-
简述中央处理器的基本功能。
答
(1)指令控制,即对程序运行的控制;
(2)操作控制,即对指令内操作步骤的控制;
(3)数据运算,即对数据进行算术运算和逻辑运算,这是CPU的最基本功能;
(4)异常处理和中断处理,如处理运算中的溢出等错误情况以及处理外部设备的服务请求等 此外, CPU还具有存储管理、总线管理、电源管理等扩展功能。
-
流水计算机的数据相关主要分为写后读(RAW)、读后写(WAR),写后写(WAW)。请指出下面三组指令中各存在哪种类型的数据相关?
(1)LDA R1,A ; M(A)→R1;M(A)是存储单元
ADD R2,R1 ; (R2)+(R1) →R2
(2)ADD R3,R4 ; (R3)+(R4) →R3
MUL R4,R5 ; (R4)*(R5) →R4
(3)LDA R6,B ; M(B) →R6,M(B)是存储单元
MUL R6,R7 ; (R6)*(R7) →R6
答
(1)写后读相关
(2)读后写相关
(3)写后写相关
-
图所示为双总线结构机器的数据通路,IR为指令寄存器,PC为程序计数器(具有自增功能),M为主存(受R/W#信号控制),AR为地址寄存器,DR为数据缓冲寄存器,ALU由加、减控制信号决定完成何种操作,控制信号G控制的是一个门电路。另外,线上标注有小圈表示有控制信号,例中yi表示y寄存器的输入控制信号,R1o为寄存器R1的输出控制信号,未标字符的线为直通线,不受控制。
“ADD R2,R0”指令完成(R2)+(R0)→R0的功能操作,画出其指令周期流程图,假设该指令的地址已放入PC中。并在流程图每一个CPU周期右边列出相应的微操作控制信号序列。
取指周期 时钟 功能操作 控制信号 执行周期 时钟 功能操作 控制信号 取指周期 T1 PC→AR
PCo ,G ,ARi
执行周期 T1 R2→X
R2o,G,Xi
取指周期 T2 M→DR R/=R 执行周期 T2 R1→Y
R1o,G,Yi
取指周期 T3 DR→IR
DRo,G,IRi
执行周期 T3 (R2)+(R0)→R0
\+ ,ALUo,
-
设某机有5个中断源:1,2,3,4,5,按中断响应的优先次序由高到低排序为1→2→3→4→5,现在要求中断处理次序改为2→4→5→1→3,写出各中断源的屏蔽字?
中断源 中断处理屏蔽字 中断处理屏蔽字 中断处理屏蔽字 中断处理屏蔽字 中断处理屏蔽字 1 1 2 3 4 5 1 1
0
1
0
0
2 1
1
1
1
1
3 0
0
1
0
0
4 1
0
1
1
1
5 1
0
1
0
1
作业4 指令系统
一、选择题
-
一条指令中包含的信息有(
D
)A.操作码、控制码;
B.操作码、向量地址;
C.操作码、信息码。
D.操作码、地址码。
-
指令采用不同寻址方式的目的是(
C
)A、可减低编程难度
B、可降低指令的译码难度
C、缩短指令字长,扩大寻址空间,提高编程灵活性
D、以上均不正确
-
一地址指令中,为完成两个数的算术运算,除地址码指明的一个操作数外,另一个数常采用(
C
)A、直接寻址
B、立即寻址
C、隐含寻址
D、以上都有可能
-
四地址指令OPA1A2A3的功能为(A1)OP(A2)→(A3),且A4给出下一条指令地址,假设A1、A2、A3、A4都为主存储器地址,则完成下述指令需要访存(
C
)次。A、2
B、3
C、4
D、5
-
某指令系统有200条指令,对操作码采用固定长度二进制编码是,最少需要(
B
)位A、4
B、8
C、16
D、32
-
指令寄存器的位数取决于(
B
)A.存储器的容量;
B.指令字长;
C.机器字长;
D.存储字长。
-
有效地址是指(
A
)A、操作数的真实地址
B、指令地址码字段给出的地址
C、程序计数器
D、以上均不正确
-
程序控制类指令的功能是(
C
)A、进行主存和CPU 之间的数据传送
B、进行CPU 和设备之间的数据传送;
C、改变程序执行的顺序
D、一定是自动+1。
-
下列关于CISC/RISC的叙述中,错误的是(
D
)A、RISC机器指令比CISC机器指令简单
B、RISC中通用寄存器比CISC多
C、RISC的寻址方式比CISC少
D、CISC比RISC的机器能更好的支持高级语言
-
RISC思想主要基于的是(
B
)A、假设指令的平均执行周期
B、减少指令的复杂程度
C、减少硬件的复杂程度
D、便于编译器编写
二、填写下表
寻址方式 | 数的位置 | EA | 访问M的次数 |
---|---|---|---|
直接寻址 | |||
寄存器寻址 | |||
寄存器间接寻址 | |||
间接寻址 | |||
基址寻址 | |||
变址寻址 | |||
相对寻址 |
答
寻址方式 | 数的位置 | EA | 访问M的次数 |
---|---|---|---|
直接寻址 | 存储器 | A | 1 |
寄存器寻址 | 寄存器 | A (或R) | 0 |
寄存器间接寻址 | 存储器 | ® | 1 |
间接寻址 | 存储器 | (A) | 2次(一次间址) |
基址寻址 | 存储器 | (基址寄存器)+A | 1 |
变址寻址 | 存储器 | (变址寄存器)+A | 1 |
相对寻址 | (目标地址)PC=(PC )+A | 0 |
三、分析题:
1、下列这些反汇编二进制代码接选中,有些信息被X代替了。根据信息格式,
指令地址 | 机器码 | 汇编指令 |
---|---|---|
804828f: | 74 05 | je xxxxxx |
1、回答下列关于这些指令的问题。
804828f: 74 05 je xxxxxx
(1)下列je指令的目标是什么?(你不需要知道任何关于CALL指令的信息)
804828f: 74 05 je xxxxxx
8048291: e8 1e 00 00 00 call 80482b4
答: 目标地址=8048291+05=8048296
(2)下列jb 指令的目标是什么?
8048357: 72 e7 jb xxxxxxx
8048359: c6 05 10 a0 04 08 01 movb $0x1,0x804a10
答: 目标地址为8048359+e7=8048440
(3)mov 指令的地址是?
xxxxxxx: 7412 je 8048391
xxxxxxx: b8 00 00 00 00 mov $0x 0, $eax
答
8048391是转移后的地址,但是编译后为相对位移量12,
12=8048391- 转移指令的下面指令的地址 ,所以答案为8048391-12=804837F
2、下面是链接后的程序反汇编的版本:
1 804839c: 7e 0d jle 80483ab
2 804839e: 89 d0 mov %edx,%eax
3 804833a0: d1 f8 sar %eax
4 80483a2: 29 c2 sub %eax,%edx
5 80483a4: 8d 14 52 lea (%edx,%edx,2),%edx
6 80483a7: 85 d2 test %edx,%edx
7 80483a9: 7f f3 jg 804839e<silly +0xa>
8 80483ab: 89 d0 mov %edx,%eax
请分析指令,解释加粗指令的二进制代码和指令之间的关系。
答
第一条指令的机器码 中地址码部分 0d=80483ab-804839e
第一条指令转移指令采用的是相对寻址,转移指令的目标地址=804839e+rel(0d)
转移指令中要么给出的是目标地址,要么给出的是相对位移量(相对于下一条指令的)
作业5 输入输出系统
-
微型机系统中,主机和高速硬盘进行数据交换一般采用(
C
)方式。A 程序查询
B 程序中断
C DMA
-
假设运行时间为100秒的某程序,其中90秒是CPU时间,剩下的是I/O占用的时间。如果CPU速度每年提高50%但I/O时间不变,那么在3年之后,该程序的运行时间是
37
秒。 -
主机与I/O设备传送数据时,采用(
C
)方式,CPU的效率最高。A 程序查询方式
B 中断方式
C DMA方式
-
中断发生时,程序计数器内容的保护和更新,是由(
A
)完成的。A硬件自动
B 进栈指令和转移指令
C 访存指令
-
中断向量地址是(
C
)A 子程序入口地址
B 中断服务程序入口地址
C 中断服务程序入口地址的地址
-
采用DMA方式传送数据时,每传送一个数据要占用(
C
)的时间。A 一个指令周期
B 一个机器周期
C 一个存储周期
-
DMA方式中,周期窃取是窃取一个(
A
)。A 存取周期
B 指令周期
C CPU周期
D 总线周期
-
I/O与主机交换信息的方式中,中断方式的特点是(
B
)。A. CPU与设备串行工作,传送与主程序串行工作
B. CPU与设备并行工作,传送与主程序串行工作
C. CPU与设备并行工作,传送与主程序并行工作
-
I/O与主机交换信息的方式中,DMA方式的特点是(
C
)。A. CPU与设备串行工作,传送与主程序串行工作
B. CPU与设备并行工作,传送与主程序串行工作
C. CPU与设备并行工作,传送与主程序并行工作
-
I/O采用统一编址是,进行输入输出操作的指令是(
B
)。A 控制指令
B 访存指令
C 输入输出指令
-
I/O采用不统一编址是,进行输入输出操作的指令是(
C
)A 控制指令
B 访存指令
C 输入输出指令
-
DMA访问主存时,向CPU发出请求,获得总线使用权时再进行访存,这种情况称为(
B
)。A 停止CPU访问主存
B 周期挪用
C DMA与CPU交替访问
-
一次中断处理过程大致分为哪五个阶段?
一次中断处理过程大致分为
- 中断请求
- 中断判优
- 中断响应
- 中断服务
- 中断返回
-
中断服务程序的流程分四大部分: , , 和 。画出多重中断服务程序的流程。
中断服务程序的流程分四大部分:
- 保护现场,
- 中断服务,
- 恢复现场和
- 中断返回。
多重中断服务流程需要保护现场之后加入开中断。
-
与程序中断方式相比,DMA方式有什么特点?
答
- 从数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送。
- 从CPU响应时间看,程序中断方式是在一条指令执行结束时响应,而DMA方式可在指令周期内的任一存取周期结束时响应。
- 程序中断方式有处理异常事件的能力, DMA方式没有这种能力,主要用于大批数据的传送,如硬盘存取、图像处理、高速数据采集系统等,可提高数据吞吐量。
- 程序中断方式需要中断现行程序,故需保护现场;DMA方式不中断现行程序,无须保护现场。
- DMA的优先级比程序中断的优先级高。
-
什么是通道?通道的功能是什么?
答
通道是一个具有特殊功能的处理器,它有自己的指令和程序,专门负责数据输入输出的传输控制(CPU把传输控制的功能下放给通道)。通道受CPU的V0指令启动,停止或改变其工作状态。通道的基本功能是按10指令要求启动I/0设备,执行通道指令,组织I/O设备和主存进行数据传输,向CPU报告中断等。
-
设某机配有A、B、C三台设备,其优先级按A->B->C降序排列,为改变中断处理次序,它们的中断屏蔽字设置如下:
设备 屏蔽字 A 111 B 010 C 011 按下图所示时间轴给出的设备请求中断的时刻,画出cpu执行程序的轨迹。设ABC中断服务程序的执行时间均为20微秒。
答
-
设某机有5级中断:L0,L1,L2,L3,L4,其中断响应优先次序为L0最高,L1次之,L4最低。现在要求将中断处理次序改为L1->L3->L0->L4->L2,试问下表中各级中断处理程序的各中断级屏蔽值如何设置(每级对应一位,该位为“0”表示允许中断,该位为“1”表示中断屏蔽)?
中断处理程序 屏蔽位 L0级 L1级 L2级 L3级 L4级 L0中断处理程序 L1中断处理程序 L2中断处理程序 L3中断处理程序 L4中断处理程序 答
中断处理程序 屏蔽位 L0级 L1级 L2级 L3级 L4级 L0中断处理程序 1 0 1 0 1 L1中断处理程序 1 1 1 1 1 L2中断处理程序 0 0 1 0 0 L3中断处理程序 1 0 1 1 1