
计算机组成原理期末考试知识点练习题
全部内容包括1-8章,本篇是1-5章,后3章会在作者学习完新课后第一时间更新。(大概16号左右,请大家耐心等待)
目录
1.计算机系统概述
2.计算机中的数据表示
3.运算器和运算方法
4.指令系统
5.存储器
一.计算机系统概述
1. 计算机系统由 软件 、 硬件 两部分组成。
2. 计算机硬件系统由 存储器 、 运算器 、 控制器 、 输入设备 和 输出设备 五部分组成。
3. 计算机软件系统包含 系统软件 软件 、 应用软件 软件。
4. 常用的系统软件有 操作系统 、 编译程序 、 文件系统 、 语言系统 数据库系统 、
5. 计算机的性能指标主要有吞吐量 、 响应时间 、 CPU周期 CPU时钟周期 、 CPI MIPS FLOPS 。
二.计算机中的数据表示
1. 数的编码表示有 原码 、 补码 、 反码 和 移码 表示。
2. 数的小数点表示有 无符号数 、 有符号数 表示。
3. 150.25D= 10010110.01 B ,1001.01B= 9.25 D 。
4. 7/16D= 0.0111 B,19/64D= 0.010011 B。
5. [+0000000]原= 0,0000000 ,[-0000000]原 1,0000000 。(机器字长8位)
6. 设机器字长5位,十进制数7的原码= 00111 ,十进制数-7的原码= 10111 。
7. 计算机系统是由 硬件 系统和 软件 系统组成的;硬件系统由 主机
和 外设 组成。
8. 存储容量 是指存储器中所有存储单元的总数目。
9. CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫CPU的 主频 。度量单位是MHz或 GHz 。
10. 处理机字长 指处理机运算器中一次能够完成二进制数运算的位数。11. 机器格式为×,×××;×.××××××,11/64的规格化浮点表示 1,010;0.101100 ;
IEEE 754标准表示的浮点数为 3ED80000 。
二、判断题
( T )1. 零的原码表示不唯一。
( T )2. 引入补码的目的是变减法为加法。
( T )3. 正数:原码、反码、补码表示都相同
( T )4. 负数求补的规则:对原码,符号位保持不变,其余各位变反,末位加1。
( F )5. 负数求补的规则:对原码,符号位保持不变,其余各位变反。
( T )6. 零的补码表示唯一。
( F )7. 零的补码表示不唯一。
( T )8. 移码主要用来表示浮点数的阶码。
( T )9. 移码与补码,仅符号位相反,其余各位相同。
( T )10. 移码表示实际是把真值映射到了正数域,可按无符号数比较大小。
( F )11. 在数的移码表示中x>0,符号为0;x<0,符号为1。
三、简答题
1. 写出机器字长8位,原码表示所对应的十进制整数和小数的表示范围。
1.1111111b~ 0.1111111b,即: -(127D/128)d ~ +(127/128)d
2.机器格式为×,×××;×.××××××,写出[X]原=±11/32的规格化浮点表示
1,001;0.101100 1,001;1.101100
3. 机器格式为定点:××××××××,写出X=+9/128和X=-9/128的定点表示。
0.0001001 1.0001001
三.运算方法和运算器
1. 一个 C语言程序在一台32位机器上运行。程序中定义了三个变量 xyz,其中x和z是 int型(32位),y为short 型(16位)。当x=127,y=-9时,执行赋值语句 z=x+y后,z的值是 00000076H 。
2. 原码一位乘,数据的符号不能同数值位一同参加运算,而需单独处理,两原码表示的数相乘,其结果的符号是两数符号的 异或 。
3. 全加器有输入端3个,它们分别是 被加数 、 加数 和 相邻低位进位 ;输出端2个,它们分别是 本位 和 进位数 。
4. 串行加法器中,进位 穿行 ,并行加法器中,进位 穿行 ,采用并行进位链后才能使进位 并行 。
二、判断题
( T )1. 补码加减运算中,数据的符号同数值位一起参加运算。
( F )2. 原码一位乘,数据的符号同数值位一起参加运算。
三、简答题
1. 补码加减运算中,如何判断溢出?
一般用双符号位进行判断,符号位00, 表示正数, 11 表示负数
结果的符号位为01时,称为正溢;为10时,称为负溢。
- 规格化浮点补码加减运算的步骤是怎样的?
- 将原码转换成补码
- 规格化浮点表示法
- 对阶
- 根据对阶结果调整尾数
- 尾数相加
- 根据相加后的结果进行左规或者右规
计算 (大家在这里注意 作者的计算是先算的补码 随后又将补码换成真值 请注意数字后面的标注)
1.X=0.1011 Y=0.1001 用补码规则求X±Y=?
X[补] = 00.1011 Y[补] = 00.1001 |-Y|[补] = 11.0111
X+Y=01.0100(正溢出) 补码
X-Y=00.0010 补码
相加溢出 不处理
相减:0.0010(正数的补码原码相同)
2.X= - 0.1011 Y= - 0.1001 用补码规则求X±Y=?
X[补] = 1.0101 Y[补]=1.0111 |-Y|[补] = 0.1001
X+Y = 10.1100 补码
X-Y = 11.1110 补码
X+Y负溢出
X-Y 11.1101
3. 被乘数为0.1101,乘数0.1011, 求x×y(给出计算步骤)。
部分积A 乘数B 被乘数C
0.1000111
4.设浮点数格式为××,×××;××.×××××××,X=-19/128 Y=107/128,用浮点补码规则求X±Y=?
X= 11,010;11,1001100
Y= 00,000; 00,1101011
X[补] = 11,0110100
|-Y|[补] = 11,0010101
X+Y = 11,010 00,0110111(补)
X-Y = 10 (溢出)
X+Y = 11,010 00,1001001
5.设浮点数格式为××.×××; ××. ×××××,x= 29/32×27 y= 5/8×25 ,用浮点补码规则求X±Y=?
X = 00.111;00.11101
Y = 00.101;00.10100
X[补] = 00.111;00.11101
Y[补] = 00.101;00.10100
|-Y|[补] = 00.101;11.01100
对阶: J= +2
Y[补] = 00.111;00.00101
|-Y|[补] = 00.111;11.11011
X+Y = 00.111;01.00010 补码
X-Y = 00.111;00.11000 补码
X+Y = (右规处理发现 阶码也出现溢出)溢出
X-Y = 00.111;00.11000
四.指令系统
1. 指令系统 是指一台计算机中所有机器指令的集合。
2. 计算机根据其指令系统的复杂程度可分为 复杂指令系统(CISC) 计算机和 精简指令系统 (RISC) 计算机。
3. 一条指令由 操作码 和 地址码 两部分组成。
4. 指令的 操作码 指明本条指令的操作功能, 地址码 指出该条指令涉及的操作数的地址。
5. 一般说来,一个包含n位的操作码最多能够表示 2^n 条指令。
6. 操作码有三种组织方式,它们是 定长操作码 、 不定长操作码 和
拓展操作码 。
7. 计算机操作数的来源、去处通常为 CPU中的通用寄存器 、 存储器操作数 和 外接接口中的寄存器 。
8. 指令中给出的地址称为 形式地址 ,操作数的真实地址称为 有效地址 。
二、判断题
( T )1.指令格式与机器字长、存贮器容量及指令功能都有很大关系。
( F )2.不同计算机,其操作码的编码和位数相同。
( T )3.确定指令字长的原则是指令字长尽可能短,节省内存空间,提高执行速度,提高代码利用率。
( F )4. 确定指令字长的原则是指令字长尽可能长,表示的与指令相关的信息多。
( T )5. 确定指令字长的原则是指令字长等于字节的整数倍,以避免存贮空间的浪费。
( T )6. 在设计机器时,一般追求指令字长可变,这样可节约存贮空间,提高机器效率,但控制复杂,成本高。
( F )7. 在设计机器时,一般追求指令字长固定,这样可节约存贮空间,提高机器效率,但控制复杂,成本高。
( T )8. 复杂指令系统计算机(CISC)指令系统功能强,指令条数多,指令系统庞大,研制周期长,系统效率低。
( T )9. 简单指令系统计算机(RISC)指令系统尽可能简单,尽可能减少指令的执行时间以提高效率(多用寄存器指令,少用访内指令,指令格式一致,寻址方式简单)。
( T )10. 简单指令系统计算机(RISC)只保留功能简单的指令,功能较复杂的指令用子程序来实现。
三、简答题
1. 计算机中操作数来源、去处有哪些?
立即数,在指令中已经给出,读取指令时就取得了操作数,只能作为来源;
CPU中的通用寄存器,在CPU内的寄存器中,CPU执行时可从寄存器中获得,不需要再访问内存,速度快;
存储器操作数,在内存中,可通过直接寻址、间接寻址等方式取得,CPU执行时要再次访问内存,速度慢。
外设接口中的寄存器,在外设接口中,用于外设的输入输出操作,速度最慢。
2. 不同的计算机,其用途不同,系统结构不同,采用的硬软件技术不同,其指令系统的功能也不同,但其指令不外乎哪几类?
1.数据传送指令 5.状态管理指令
2.数据处理指令
3.程序控制指令
4.I/O指令
四、分析与设计
1. 一台处理机具有如下指令格式:
3位 6位 3位 3位
X | OP | 源寄存器 | 目标寄存器 | 地址 |
指令格式表明有8个通用寄存器(长度16位),X指定寻址模式,主存实际容量为128k字节。
⑴ 假设不用通用寄存器也能直接访问主存中的每一个单元,并假设操作码域OP=6位,请问地址码域应分配多少位?指令字长度应有多少位?
128K = 2^17 所以地址码域应分配17位
全部的位数相加: 3+6+3+3+17 = 32 指令字长32位
⑵ 假设X=111时,指定一个通用寄存器用做基址寄存器,请提出一个硬件设计规划,使得系统利用被指定的通用寄存器能访问1M主存空间中的每一个单元。
通用寄存器的长度为16位,而需要访问1M=2^20,20位的内存单元
需要进行扩容,把通用寄存器左移4位,便可形成访问1M的指令
2. 指令格式如下所示。OP为操作码字段,试分析指令的格式,回答下列问题。
- 该指令系统最多可有多少条指令?
2^6 = 64
- 根据指令格式可知最多可有多少个源寄存器?
2^5 = 32
- 根据指令格式可知最多可有多少个变址寄存器?
2^2 = 4
- 根据指令格式可知该指令是几地址指令?
二地址指令
(5)根据指令格式可知两个操作数分别存储在哪里?
源寄存器
存储器(因为有变址寄存器与偏移量 二者数据相加确定存储器里面的地址)
3. 某指令系统的指令字长12位,每个地址码长3位,试提出一种设计方案,使该指令系统有4条三地址指令,8条二地址指令,128条单地址指令,32条零地址指令。
解:设计如下:
三地址 0×× D1 D2 D3
二地址 100 ××× D1 D2
一号单地址 101 ××× ××× D1
二号单地址 110 ××× ××× D2
零地址 1 11 ××× ××0 000
五.存储器
1. 辅助存储器 存储器用于存放暂时不用的程序和数据,其特点是容量大、速度较低、CPU不能直接读写。
2. 高速缓冲存储器 存储器用于存放当前运行的程序和数据,是主机一部分,其特点是速度较高,CPU可直接读写。
3. 半导体存储器按存取方式分为 随机存储器RAM和 只读存储器ROM 。按存储原理分为 静态存储器SRAM 和 动态存储器DRAM 。
4. ROM主要分为 掩膜型存储器 、 电可擦除可编程只读存储器 、 可编程只读存储器 、 可擦除可编程只读存储器 。
5. 存储器层次结构主要由高速缓冲存储器 Cache 、 主存储器 和 辅助存储器 组成。
6. 存储器片内译码方式分为 单译码 和 双译码 方式
7. 动态DRAM的刷新方式有 分散刷新 、 集中刷新 和 异步刷新 。
8. 提高存贮器性能的技术主要有 双端口存储器、并行主存储器、高速缓冲存储器、虚 拟存储器
9. Cache的理论基础是 程序局部性 原理。
10. 程序的局部性原理包括程序 时间 局部性和 空间 局部性两个方面。
11. 假设某计算机的存储系统由Cache和主存组成,某程序执行过程中访存1000次,其中访问Cache缺失(未命中)50次,则Cache的命中率是 95.5% 。
12. Cache地址映射常用的方式有 直接映射 、 全相连映射 、和 组相连映射 。
二、判断题
( T )1. 存储器片内译码方式采用双译码结构,不能节省地址线的数目,但可以节省地址选择线的数目。
( F )2. 静态SRAM和动态DRAM都是非破坏性读出。
( T )3. 静态SRAM是非破坏性读出,不需要重写;动态DRAM是破坏性读出,需要。
( T )4. 动态DRAM两次刷新时间间隔不能超过允许时间2ms。
( T )5. 刷新优先于访存,但不能打断访存周期。
( F )6. 在刷新期间内,可以访存。
( T )7. 引入高速缓冲存贮器Cache的目的是提高内存速度,解决内存与CPU速度不匹配的问题。
( F )8. 刷新优先于访存,所以可以打断访存周期。。
( T )9. 存储器层次结构中越靠近CPU的存储器数量越少、存取速度最快,价格越高。
( T )10. 存储器层次结构中越远离CPU的存储器数量越多、存取速度最慢,价格越低。
三、简答
1. 存储器层次结构包含了哪些层?分别解决了存储系统的哪些问题?
缓存-主存层次 解决了CPU和主存速度不匹配的问题
主存-辅存层次 解决存储系统容量问题
- MOS型RAM分为静态SRAM和动态DRAM,它们各有哪些特点?分别用于哪种类型的存储器?
静态SRAM:集成度低,功耗大,不需要刷新,速度快,价格高。
动态DRAM:信息会自然丢失,须(2ms)定时刷新。集成度最高,比静态RAM功耗低,价格便宜。
静态SRAM通常用于高速缓冲存储器,而动态DRAM通常用于普通内存。
- ROM主要有哪些类型?简述其各自的特点。
掩膜型只读存储器MROM:只能读不能写入(在制造时编写程序)。
可编程只读存储器 PROM: 可以自己写入,但一次写入之后只能读。
可擦除可编程只读存储器EPROM: 改动需要用紫外线擦除全部内容,不可修改局部。
电可擦除可编程只读存储器EEPROM:用高压擦除,可局部更改,可全部更改。
- 什么叫刷新(Refresh)?静态SRAM和动态DRAM都需要刷新吗?
采用电容存储的存储器,电容存储的电荷不会一直存在,会随着时间消散,
这个消散的过程就叫做刷新。
SRAM不需要
DRAM需要
- 动态随机存储器主要有哪几种刷新方式?简要说明各种刷新方式的特点?
集中刷新: 在刷新间隔内,会预留出一段时间一直进行刷新(这段时间叫做死区),刷新得时候不能进行读写操作
分散刷新: 边读便刷新。增加了存储器的存储周期,降低了系统的速度。
异步刷新: 将集中刷新与异步刷新结合起来。
- 什么是程序的局部性原理?
CPU从主存取指令或者数据时,在一定时间内,只是对主存局部信息进行访问。
可以将这部分信息再试放在Cache中,CPU便可通过访问Cache就可得到所需
要的数据。
- 虚拟存贮器的理论依据是怎样的?
通过借用外存的存储空间,把当前不需要的数据存取到外存,利用内外存倒换的时间来换取更大的容量,完成所谓的虚拟存储器。
四、分析与设计
1. 设有一个具有24位地址和16位字长的存储器,问:
(1)该存储器能存储多少个字节的信息?
16M
- 如果存储器由4M ×4位SRAM芯片组成,需要多少片?
16片
- 需要多少位地址作芯片选择?
2
- 需要多少位做片内地址线?
22
- 用1K×4的2114组成4K×8的存储器,并与CPU连接,并写出每片芯片的地址范围。
0-1:000——3FF
2-3:400——7FF
4-5:800——BFF
6-7:C00——FFF
3. 某机CPU可输出数据线8条,地址线20条,控制线1条(W’E)。目前使用的存储空间为 64KB,其中: 16KB为 ROM,拟用 8K × 8位的 ROM芯片;48KB为 RAM,拟用 16K × 4位的 RAM芯片。
(1)需要两种芯片各多少片?
ROM: 2
RAM: 6
(2)画出CPU与存储器之间的连线图(译码器自定)。
(3)写出ROM和RAM的地址范围。
ROM:00000——03FFF
RAM:
0-1:00000——03FFF
2-3:04000——07FFF
4-5:08000——0BFFF 或08000——0FFFF(注:这里有的认为把地址按需分配 有的认为会把剩余的全部分给RAM)
总结:时间紧任务重,难免有错误,请大家帮忙指正。如果大家不理解哪个题,请将问题留在评论区,我会一一回复。
若此篇对您有帮助,请多多点赞关注
最后祝大家期末取得理想成绩!
(还有三章内容会在16号左右更新完成)
更多推荐
所有评论(0)