计算系统基础13年试卷 答案参考
13计基答案参考
首先明白补码的规则,正数为源码,负数则全部取反,末尾加一
先将432转化为2进制000110110000,取反111001001111,末尾加一后为111001010000
1100+01111101 首先确定最长的位数,然后补齐 。补齐规则为1开头补1,0开头补0比如该题最长位数为8,将1100补齐11111100。
11110000
+01111101
01101101
至于溢出没有呢,一个正数加一个负数应该都不会溢出的吧
单纯的数值计算需要记得 NOT,XOR,OR,AND的规则,耐心即可
百度浮点数表示或者查阅书本ppt,记住规则即可。参考答案
首先把十六进制转换为2进制
x789A ->111100010011010
X6789 -> 110011110001001
111100010011010
110011110001001
1011111110100011
负数相加还是负数应该是没有溢出的,可以手动验证一下。
补码转十进制,最高位为1,则将二进制取反加一,然后用常规方法转十进制。
二
首先要明白两种P型和M型晶体管的符号,以及原理。 PPT 第七章数字逻辑电路
A 是一个非们,B是一个非与门
ABC
111
101
010
001
b. 主要运用德摩根定律
先将D=1的情况并在一起
D = (!A&&!B&&!C) ||(!A&&B!C)||(!A&&B&&C)||(A&&!B&&!C)||(A&&B&&!C)
= (!A&&C)||(!A&&B&&C)||(A&&!C)
即最后画出来
(NOT A AND C) OR (NOT A AND B AND C) OR (A AND NOT C)
3. 第七章数字逻辑电路
a. 译码器:n个输入,2^n个输出,被检测的组合的输出为1。7条输入线路,所以输出线路为2^7=128
b. 多路选择器n条选择线,2^n个输入,输出线都是1 条。功能是选择一个输入连接到输出。
16条输入线,故输出为1,选择线为4(2^ 4=16
c. 寻址能力:存储在每一个单元中的位数。
1) 首先明确定义,地址空间是唯一可识别的单元总数。故为 2^16(访问一个内存单元需要16位
2)内存的大小。 单元数乘以每个单元的位数。 2^16 * 16 = 2^20
3) 一字节等于8位。 故2^16* 16 / 8 =2^17
d. 第八章 冯诺伊曼模型 存储器、处理单元、控制单元、输入设备、输出设备
e. 1. 可能会重复读取上一个输入的字符 (第十二章 输入与输出) 2.可能会将DDR之前的数据覆盖
4. 首先明确每种格式需要的位数
操作码200个,则需要8位,2^8=256.
寄存器20个需要5位 2^5=32
则立即数的位数为32-8-3*5=9
最大值为 011111111 = 2^9-1 = 511
最小值为10000000 = - 2^9 = -512
5.
首先这条指令的意思是将Ry中的值存储进Rx+z的地址。首先把指令处理的步骤描述出来是 取指令,译码、取寄存器 3、执行/有效地址/完成分支 4、访问内存 5、写回。取寄存器:先把Rx,Ry传给ALU的A,B寄存器,计算PC与IR[15:0]符号扩展的和,结果存储于ALUOut寄存器。有效地址:计算出处理指令所需的存储单元的地址,即有效地址;访问内存:把在上一阶段计算得到的ALUOut寄存器中的地址加载到地址寄存器MAR读取存储器,一个32位的数据被放进数据寄存器MDR 写回:MDR中的值被写入MAR所指向的地点。(参考第八章冯诺伊曼结构中SW指令的处理)
6.
a. 不能,因为执行JAL指令后 R2 发生了变化
b. 执行JAL跳转前先将R2中的值保存在其他不会被覆盖的寄存器中
7.
一条指令为记得是4位,就从.text表示的地址后面依次加4就可以了,需要注意的是地址为16进制
| 标记 | 地址 |
| ------- | --------- |
| TESTOUT | x40000004 |
| MAIN | X40000010 |
| BACK_1 | x40000018 |
| NEXT_1 | X4000o030 |
| NEXT_2 | X40000048 |
| | |
06 ADDI R1,R0,TESTOUT
000001 00001 00000
8
9.
a.输出为
1
2
3
b.
\# 3
\* 4
\# 5
c.
s = 55,i = 11
d. 关键注意break
44
4
7
55
e
没有输出
f
1256
10
a. &str
b. s[len]!='\0'
c i < len
d s[i]>='0'&&s[i]<='9'
e int j = i
f s[j+1] = s[j]
11.
将字符串中的字母将小写字母转为大写,并根据字母表向右平移两位比如A变C,B变D