文章目录
- 💖 前言
- 一、概论
- 二、计算机中数据信息的表示
- 📚不进🧠
- 🌰 课后习题
- 2.1 进制转换
- ✨ 知识点
- 2.2 分别计算用二进制表示4位、5位、8位十进制数时所需要的最小二进制位的长度。
- 2.4 求原码、反码、移码、补码
- ✨ 知识点
- 2.5 已知[x]补,求x的真值。
- ✨ 知识点
- 2.6 已知 x 的二进制真值,求各种补码。
- ✨ 知识点
- 2.7 根据表2-18中给定的机器数(整数),分别写出把它们看作原码、反码、补码、移码表示形式时所对应的十进制真值。
- 2.10 按以下的浮点数格式中,阶码与尾数均用补码表示,分别写出下面用十六进制书写的浮点机器数所对应的十进制真值。
- ✨ 知识点 (⭐⭐⭐⭐⭐)
- 2.11 用十六进制写出下列十进制数的IEEE754标准32位单精度浮点数的机器数的表示形式。
- 2.25 选择题
- 2.26 填空题
- ✨ 知识点
- 三、运算方法和运算器
- 四、存储器系统
- 五、指令系统
- 六、控制系统与CPU
- 七、总线技术
- 八、I/O 设备
💖 前言
参考资料
👨🏫 计算机组成原理 教材PDF 提取码: tkhg
👩🏫 24王道考研计组复习指导 提取码: d9ft
👨🏫 计算机组成原理知识总结 PDF 提取码: e7v3
👩🏫 王道考研 计算机组成原理系统课
👨🏫 高数帮 计算机组成原理速成课
✨ 名词缩写
- CPU(Central Processing Unit):中央处理机(器)
- PC(Program Counter):程序计数器,存放当前欲执行指令的地址,并可自动计数形成下一条指令地址的计数器;
- IR(Instruction Register):指令寄存器,存放当前正在执行的指令的寄存器;
- CU(Control Unit)控制单元(部件),控制器中产生微操作命令序列的部件,为控制器的核心部件;
- ALU(Arithmetic Logic Unit):算术逻辑运算单元,运算器中完成算术逻辑运算的逻辑部件;
- ACC(Accumulator):累加器,运算器中运算前存放操作数、运算后存放运算结果的寄存器;
- MQ(Multiplier-Quotient Register):乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。
- X(此字母没有专指的缩写含义):可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数;
- MAR(Memory Address Register):存储器地址寄存器,内存中用来存放欲访问存储单元地址的寄存器;
- MDR(Memory Data Register):存储器数据缓冲寄存器,主存中用来存放从某单元读出、或写入某存储单元数据的寄存器;
- RAM(random access memory):是随机存取存储器
- DRAM(Dynamic Random Access Memory),即动态随机存取存储器。DRAM使用电容存储,所以必须隔一段时间刷新(refresh)一次,如果存储单元没有被刷新,存储的信息就会丢失。
- SRAM(Static Random-Access Memory):静态随机存取存储器。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。
- ROM(Read-Only Memory):是只读存储器
- I/O(Input/Output equipment):输入/输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送;
- MIPS(Million Instruction Per Second):每秒执行百万条指令数,为计算机运算速度指标的一种计量单位;
- PSW(Programmer Status Word):程序状态字
- ENIAC(Electronic Numerical Integrator And Computor: 电子数字积分计算机):第一台电子数字计算机
- EDVAC(离散变量自动电子计算机 Electronic Discrete Varibale Automatic Computor):存储程序概念的提出
- EDSAC:1949年研制成功的第一台程序内存的计算机
- EPROM(Erasable Programmable ROM):光擦除可编程的只读存储器
- RISC(Reduced Instruction Set Computer RISC):精简指令集计算机
- CISC(Complex Instruction Set Computer):复杂指令集计算机
- DMA(Direct Memory Access):即直接存储器访问。
- ASCII码(American Standard Code for Information Interchange):计算机中普遍采用的字符编码
一、概论
📚不进🧠
1. 定义
2. 冯诺依曼体系架构
3. 计算机习题的层次结构
4. 机器语言、汇编语言、高级语言
5. 编译程序、解释程序和汇编程序
⭐ 小测
👩🏫 CPI —— 一条指令所需的时钟周期数
🌰 课后习题
1.1 基本的软件系统?
答:基本的软件系统包括系统软件与应用软件两大类。
系统软件是一组保证计算机系统高效、正确运行的基础软件,通常作为系统资源提供给用户使用。包括:操作系统、语言处理程序、数据库管理系统、分布式软件系统、网络软件系统、各种服务程序等。
1.2 计算机硬件系统的基本部件组成,主要功能?
答:计算机的硬件系统通常由输入设备、输出设备、运算器、存储器和控制器等五大部件组成。
输入设备的主要功能是将程序和数据以机器所能识别和接受的信息形式输入到计算机内。
输出设备的主要功能是将计算机处理的结果以人们所能接受的信息形式或其它系统所要求的信息形式输出。
存储器的主要功能是存储信息,用于存放程序和数据。
运算器的主要功能是对数据进行加工处理,完成算术运算和逻辑运算。
控制器的主要功能是按事先安排好的解题步骤,控制计算机各个部件有条不紊地自动工作。
1.3 冯·诺依曼计算机的基本思想,存储程序方式?
答:冯·诺依曼计算机的基本思想包含三个方面:
- 计算机由输入设备、输出设备、运算器、存储器和控制器
五大部件
组成。- 采用
二进制
形式表示数据和指令
。- 采用
存储程序
方式。
存储程序是指在用计算机解题之前,事先编制好程序,并连同所需的数据预先存入主存储器中。在解题过程(运行程序)中,由控制器按照事先编好并存入存储器中的程序自动地、连续地从存储器中依次取出指令并执行,直到获得所要求的结果为止。
1.4 早期计算机组织结构的特点?现代计算机结构为什么以存储器为中心?
答:早期计算机组织结构的特点是:以运算器为中心的,其它部件都通过运算器完成信息的传递。
随着微电子技术的进步,人们将运算器和控制器两个主要功能部件合二为一,集成到一个芯片里构成了微处理器。同时随着半导体存储器代替磁芯存储器,存储容量成倍地扩大,加上需要计算机处理、加工的信息量与日俱增,以运算器为中心的结构已不能满足计算机发展的需求,甚至会影响计算机的性能。为了适应发展的需要,
现代
计算机组织结构逐步转变为以存储器
为中心。
1.5 总线,总线的主要特点,总线的好处?
答:总线是一组可为多个功能部件共享的公共信息传送线路。
总线的主要特点是共享总线的各个部件可同时接收总线上的信息,但必须分时使用总线发送信息,以保证总线上信息每时每刻都是唯一的、不至于冲突。
使用总线实现部件互连的好处:
① 可以减少
各个部件之间的连线数量
,降低成本;
② 便于系统构建
、扩充系统性能
、便于产品更新换代
。
1.6 按其任务给总线分类,它们的主要作用?
答:按总线完成的任务,可把总线分为:CPU内部总线、部件内总线、系统总线、外总线。
补充:
- 数据总线
数据总线是指在计算机内部或外部,在各个部件之间传送数据时所使用的线路。其作用是连接计算机中的各种存储器和输入输出设备,同时也是CPU向这些设备发送数据的通道。- 地址总线
地址总线是用于指定内存或外设的物理地址,它起到传递寻址信号的作用。它的宽度取决于处理器的地址总线宽度,一般控制器需要有比处理器地址总线更大的范围,以便让控制器能够传递已经编址的数据。- 控制总线
控制总线是指用于传递各种控制信号的总线。它包括中断请求、时序控制、总线请求等信号,主要用于指挥处理器、存储器和输入输出设备之间的数据流动。
1.7 计算机的主要特点?
答:计算机的主要特点有:
① 能自动连续地工作;
② 运算速度快;
③ 运算精度高;
④ 具有很强的存储能力和逻辑判断能力;
⑤ 通用性强。
1.8 衡量计算机性能有哪些基本的技术指标?
答:衡量计算机性能的基本的技术指标有:
① 基本字长;
② 主存容量;
③ 运算速度;
④ 所配置的外部设备及其性能指标;
⑤ 系统软件的配置。
以你所熟悉的计算机系统为例,说明它的型号、主频、字长、主存容量、所接的I/O设备的名称及主要规格。
- Windows 10家庭中文版
- 2.50G HZ
- 64 位
- 16 GB
- 罗技k380鼠标
- 小米 G27显示器
1.9 单选
1.10 填空
二、计算机中数据信息的表示
📚不进🧠
1. 定点数的表示
2. 定点数的运算
3. 数据的存储和排列
4. 浮点数的表示
5. 浮点数的加减运算
🤡 爱学不学
🌰 课后习题
2.1 进制转换
(1) ( 246.625 ) D = ( 11110110.101 ) B = ( 366.5 ) Q = ( F 6. A ) H (246.625)_D=(11110110.101)_B=(366.5)_Q=( F6. A )_H (246.625)D=(11110110.101)B=(366.5)Q=(F6.A)H
(2) ( A B . D ) H = ( 10101011.1101 ) B = ( 253.64 ) Q = ( 171.8125 ) D (AB.D)_H=(10101011.1101 )_B=(253. 64)_Q=(171.8125 )_D (AB.D)H=(10101011.1101)B=(253.64)Q=(171.8125)D
(3) ( 1110101 ) B (1110101)_B (1110101)B= ( 117 ) D ( 117 )_D (117)D=(0001 0001 0111 ) 8421 B C D )_{8421BCD} )8421BCD
✨ 知识点
👨🏫 进制
:
- B (binary) 2
- O/Q (octal) 8
- D (decimal) 10
- H (hexadecimal) 16
👩🏫 Tips:八进制的首字母 O 与 0 太像了,所以有了 Q 这个写法
👨🏫 十进制 转 二进制(其他进制转换同理):
- 整数:除 2 取余,倒序排列
- 小数:乘 2 取整,顺序排列
👨🏫 二 转 十进制:按权展开求和
👨🏫 二 转 八:3 位二进制对应 1 位八进制
👨🏫 二 转 十六:4 位二进制对应 1 位十六进制(位数不足要补0)`
👨🏫 十进制 转 8421BCD码:十进制数,每一位数都是4位8421BCD码组成
2.2 分别计算用二进制表示4位、5位、8位十进制数时所需要的最小二进制位的长度。
根据当i位十进制数与j位二进制数比较时的等式, 1 0 i = 2 j 10^i = 2^j 10i=2j,得
j ≈ 3.3i
,可得:
表示4位十进制数所需的最小二进制位的长度为14位。
表示5位十进制数所需的最小二进制位的长度为17位。
表示8位十进制数所需的最小二进制位的长度为27位。
2.4 求原码、反码、移码、补码
设机器字长为 8 位(含一位符号位),已知十进制整数 x x x,分别求出 [ x ] 原 、 [ x ] 反 、 [ x ] 移 、 [ x ] 补 、 [ − x ] 补 、 [ 1 2 x ] 补 [x]_原、[x]_反、[x]_移、[x]_补、[-x]_补、[ \frac{1}{2}x]_补 [x]原、[x]反、[x]移、[x]补、[−x]补、[21x]补。
(1) x=+79 (2) x=-56 (3) x=-0 (4) x=-1
✨ 知识点
-
补码
:计算机内存中数值的存储方式(所以很多操作都是基于补码进行的) -
原码 与 补码 的转换:找到最低位(右边)的 1,该位(不包含当前位)左边的位全部取反,符号位不变。
❌ 原理:低位连续的 0 转反码后变成了 低位连续的 1 ,接着求补码(+1)后 低位连续的 1 通通进位再次变回 0 。 -
正数:原码,反码,补码都相同
-
负数:反码(符号位不变,其他按位取反),补码(反码+1)
-
移码
:姑且认为是补码的符号位取反 -
x/2
:右移一位(右移高位补符号位,左移地位补零)
溢出判断:
-1 / 2 =-0.5
;
[ − 1 ] 补 > > 1 = [-1]_补 >> 1 = [−1]补>>1= 0 ≠ \neq =-0.5
姑且认为是溢出(精度损失 )
🙈 学不了一点
👨🏫 参考地址
-
[ x ] 补 和 [ − x ] 补 [x]_补 和 [-x]_补 [x]补和[−x]补的相互转换:所有位取反再 + 1
👨🏫 参考地址
2.5 已知[x]补,求x的真值。
(1) [x]补=0.1110,真值 x=+0.1110 (正数的原码,反码,补码都相同)
(2) [x]补=1.1110,真值 x=- 0.0010 (小数部分为补码,补码 减1 为反码,反码按位反)
(3) [x]补=0.0001,真值 x=+0.0001
(4) [x]补=1.1111,真值 x=-0.0001
✨ 知识点
👨🏫 机器数:一个数在计算机的存储形式是二进制数,我们称这些二进制数为机器数,机器数是有符号,在计算机中用机器数的最高位存放符号位,0表示正数,1表示负数。
👨🏫 真值:带有 + - 号 无符号位的数值(例:机器数 1000 0001 的真值为 -1)
👨🏫 定点小数:小数点左一位是符号位,1表示负,0表示正(例:1.1110 表示 -0.111)
2.6 已知 x 的二进制真值,求各种补码。
试求 [ x ] 补 [x]_补 [x]补、 [ - x ] 补 、 [ − 1 2 x ] 补 [-x]_补、[ -\frac{1}{2}x]_补 [-x]补、[−21x]补、 [ 1 4 x ] 补 [\frac{1}{4}x]_补 [41x]补、 [ 2 x ] 补 、 [ 4 x ] 补 、 [ - 2 x ] 补 、 [ - 1 / 4 x ] 补 [2x]_补、[4x]_补、 [-2x]_补、[-1/4 x]_补 [2x]补、[4x]补、[-2x]补、[-1/4x]补。
(1) x=+0.0101101
(2) x=-0.1001011
(3) x=-1.0000000
(4) x=-0.0001010
✨ 知识点
- 乘以 2:左移一位
- 除以 2:右移一位
- 右移精度损失有两种策略:
- 截断法:直接丢弃
- 0舍1入法:要丢的是 1 则进位1
- 溢出判断:
2.7 根据表2-18中给定的机器数(整数),分别写出把它们看作原码、反码、补码、移码表示形式时所对应的十进制真值。
2.10 按以下的浮点数格式中,阶码与尾数均用补码表示,分别写出下面用十六进制书写的浮点机器数所对应的十进制真值。
✨ 知识点 (⭐⭐⭐⭐⭐)
(1) FFFFH=1 11111 1111111111= − 2 − 10 × 2 − 1 = − 2 - 11 -2^{-10}×2^{-1}= -2^{-11} −2−10×2−1=−2-11
>(2) C400H=1 10001 0000000000= − 1 × 2 − 15 =- 2 − 15 -1×2^{-15}=-2^{-15} −1×2−15=-2−15
(3) C000H=1 10000 0000000000= − 1 × 2 ( − 16 ) =- 2 − 16 -1×2^(-16)=-2^{-16} −1×2(−16)=-2−16
2.11 用十六进制写出下列十进制数的IEEE754标准32位单精度浮点数的机器数的表示形式。
(1) ( 0.15625 ) 10 = ( 0.00101 ) 2 (0.15625)_{10}=(0. 00101)_2 (0.15625)10=(0.00101)2=1.01× 2 − 3 2^{-3} 2−3 【23位尾数(低位补0)】
E = 127 + ( - 3 ) = 124 = ( 1111100 ) 2 E=127+(-3)=124=(1111100)_2 E=127+(-3)=124=(1111100)2=01111100
【8位
阶码】
机器数形式:001111100
01000000000000000000000
十六进制形式:3E200000H
(2) ( - 0.15625 ) 10 = ( - 0.00101 ) 2 =- 1.01 × 2 - 3 (-0.15625)_{10}=(-0. 00101)_2=-1.01×2^{-3} (-0.15625)10=(-0.00101)2=-1.01×2-3
阶码 E = 127 + ( - 3 ) = 124 = ( 1111100 ) 2 = 01111100 E=127+(-3)=124=(1111100)_2=01111100 E=127+(-3)=124=(1111100)2=01111100
机器数形式:1 01111100 01000000000000000000000
十六进制形式:BE200000H
(3) ( 16 ) 10 = ( 10000 ) 2 = 1.0000 × 2 4 (16)_{10}=(10000)_2=1.0000×2^4 (16)10=(10000)2=1.0000×24
阶码 E = 127 + 4 = 131 = ( 10000011 ) 2 E=127+4=131=(10000011)_2 E=127+4=131=(10000011)2
机器数形式:0 10000011 00000000000000000000000
十六进制形式:41800000H
(4) ( - 5 ) 10 = ( - 101 ) 2 =- 1.01 × 2 2 (-5)_{10}=(-101)_2=-1.01×2^2 (-5)10=(-101)2=-1.01×22
阶码 E = 127 + 2 = 129 = ( 10000001 ) 2 E=127+2=129=(10000001)_2 E=127+2=129=(10000001)2
机器数形式:1 10000001 01000000000000000000000
十六进制形式:C0A00000H
2.25 选择题
2.26 填空题
✨ 知识点
移码
:姑且认为是补码的符号位取反
⭐补充:浮点数的一般形式为 N = S × r j N = S×r^j N=S×rj ,其中S是(尾数),r是(基数),j是(阶码)。
三、运算方法和运算器
📚不进🧠
1. 原码一位乘
2. 补码一位乘
🌰 课后习题
3.1 已知[x]补、[y]补,计算[x+y]补和[x-y]补,并判断溢出情况。
📚 已知[x]补,求[-x]补,[x]补 + [-x]补 = 0,[-x]补 = 0 - [x]补
📚 技巧:[-x]补 = [x]补所有位取反 + 1
👩🏫 溢出判断参考地址
😋 大佬题解
3.2 已知补码,计算变形补(双符号位
),并判断溢出。
3.3 机字长为8位,给定十进制数:x=+49,y=-74。计算下列各题,并判断溢出。
📙 字长八位能表示的范围:-128 ~ +127
3.4 分别用原码一位乘法和补码一位乘法计算[x × y]原和[x × y]补。
四、存储器系统
📚不进🧠
1. 存储器的分类
2. 存储器的性能指标
3. 多级存储系统
4. 半导体随机存储器(DRAM)
5. 只读存储器(ROM)
6. 主存储器与CPU的连接
7. 程序访问的局部性原理(Cache)
⭐ 小练
⭐ 小练
📕 直接映射
📕 全相联映射
📕 组相联映射
⭐小练
🤡 爱练不练
📕 主存块替换算法
-
LRU(Least Recently Used):近期最少使用算法
-
LFU(Least Frequently Used):最不经常使用算法
-
RAND(Random):随机选择替换
-
FIFO(First In First Out):先进先出
📕 写策略
🌟 中练
🌰 课后习题
4.1 静态与动态MOS存储器存储信息的原理异同?为什么动态MOS存储器需要刷新?刷新方式?
答:静态MOS存储器利用一个双稳态触发器存储一个二进制位,只要不断电就可以保持其中存储的二进制数据不丢失。
动态MOS存储器使用一个MOS管和一个电容来存储一位二进制信息。用电容来存储信息减少了构成一个存储单位所需要的晶体管的数目。
由于动态MOS存储器中的电容会产生漏电,因此DRAM存储器芯片需要频繁的刷新操作。
动态存储器的刷新方式通常有:
集中式刷新方式、分散式刷新方式、异步式刷新方式、透明式刷新方式
4.3 假设某存储器地址长为22位,存储器字长为16位,试问:
👩🏫 单位换算
- 2 10 2^{10} 210 bit = 1Kb
- 2 20 2^{20} 220 bit = 1Mb
- 2 30 2^{30} 230 bit = 1Gb
(1)该存储器能存储多少字节信息?(1 Byte = 8 bit)
答:该存储器可存储 2 22 × 2 1 = 2 23 = 8 2^{22}×2^1=2^{23}=8 222×21=223=8MB的信息。
(2)若用64K×4位的DRAM芯片组织该存储器,则需多少片芯片?
答:需要芯片 2 22 × 16 64 × 2 10 × 4 = 2 8 = 256 \frac{2^{22}×16}{64×2^{10}×4}= 2^8 = 256 64×210×4222×16=28=256
(3)在该存储器的22位地址中,多少位用于选片寻址?多少位用于片内寻址?
答:22位地址中,16位用于片内寻址,6位用于选片寻址。
4.4 单总线
✨ 知识点
-
4 k = 2 2 × 2 10 = ( 1 , 0000 , 0000 , 0000 ) B = ( 1000 ) H 4k = 2^2\times2^{10}=(1,0000,0000,0000)_B=(1000)_H 4k=22×210=(1,0000,0000,0000)B=(1000)H
-
16 k = 2 2 × 4 k = ( 4000 ) H 16k = 2^2\times4k = (4000)_H 16k=22×4k=(4000)H
- 16 k = 2 4 × 2 10 = ( 100 , 0000 , 0000 , 0000 ) B = ( 4000 ) H 16k = 2^4\times2^{10} = (100,0000,0000,0000)_B=(4000)_H 16k=24×210=(100,0000,0000,0000)B=(4000)H
- 16 k − 1 = ( 3 F F F ) H 16k - 1 = (3FFF)_H 16k−1=(3FFF)H
-
40 k = 10 × 4 k = ( A 000 ) H 40k=10\times4k=(A000)_H 40k=10×4k=(A000)H
-
48 k = 3 × 16 k = ( C 000 ) H 48k = 3\times16k=(C000)_H 48k=3×16k=(C000)H
- 48 k = 3 × 2 4 × 2 10 = ( 11 ) B × 2 14 = ( 1100 , 0000 , 0000 , 0000 ) B = ( C 000 ) H 48k = 3\times2^4\times2^{10}=(11)_B\times2^{14}=(1100,0000,0000,0000)_B=(C000)_H 48k=3×24×210=(11)B×214=(1100,0000,0000,0000)B=(C000)H
- x × 2 14 x \times2^{14} x×214 相当于 x x x 左移14位,低位补零
-
60 k = 15 × 4 k = ( F 000 ) H 60k=15\times4k=(F000)_H 60k=15×4k=(F000)H
- 60 k = 15 × 2 2 × 2 10 = ( 1111 ) B × 2 12 = ( 1111 , 0000 , 0000 , 0000 ) B = ( F 000 ) H 60k = 15\times2^2\times2^{10}=(1111)_B\times2^{12}=(1111,0000,0000,0000)_B=(F000)_H 60k=15×22×210=(1111)B×212=(1111,0000,0000,0000)B=(F000)H
4.5 单总线
4.6 某八位主机
已知某8位机的主存采用4K×4位的SRAM芯片构成该机所允许的最大主存空间,并选用模块板结构形式,该机地址总线为18位,问:
(1)若每个模块板为32K×8位,共需几个模块板?
(2)每个模块板内共有多少块4K×4位的RAM芯片?请画出一个模块板内各芯片连接的逻辑框图。
(3)该主存共需要多少4K×4位的RAM芯片?CPU如何选择各个模块板?
4.10 Cache的写直达法和写回法?优缺点?
答:Cache的写直达法和写回法都是主存——Cache系统的更新策略问题。
Cache的写直达法又叫全写法,是指当CPU写Cache时,同时也更新该Cache块在主存中的相应内容,即写Cache的同时写主存。
Cache的写回法,是指当CPU写Cache时,不同时更新该Cache块在主存中的相应内容,即不同时写主存,而只在出现该Cache块的内容被替换出Cache时才写主存。
写直达法的优点是能够保持Cache与主存的内容一致。缺点是无谓写较多,例如在写中间结果时,将增加系统开销。
写回法的优点是:可以提高系统的写操作的速度;减少主存的写操作次数。缺点是用写回法的Cache中的数据有时可能与主存中的不一致。
4.14 选择题
4.16 填空题
(1)Cache使用的是 SRAM 存储芯片。
(2)主存由 DRAM 构成,虚存由 硬盘 构成。
(3)SRAM依据 触发器 存储信息,DRAM依据 电容 存储信息。SRAM与DRAM中速度高的是 SRAM ,集成度高的是 DRAM 。
(4)衡量非格式化硬盘的存储容量的两个指标是 道密度 和 位密度 。
(5)Cache存储器的主要作用是解决 CPU与主存间速度匹配问题
(6)存储器的取数时间是衡量主存 速度 的重要指标,它是从 把要访问的存储单元的地址,加载到存储器芯片的地址引脚上 到 到读取的数据或指令在存储器芯片的数据引脚上可以使用为止 的时间。
(7) 磁盘的技术指标可用平均存取时间衡量,它包括 平均磁道定位时间 和 平均旋转等待时间 两个部分。
(8)某存储器数据总线宽度为32位,存取周期为250ns,则其带宽是 128Mbit/s。
(9) 磁盘等磁表面存储器的写入电流波形决定了记录方式,此外还反映了该记录方式是否有 自同步 能力。
(10)存储器带宽是指 存储器单位时间内所存取的二进制信息的位数 ,如果存储周期为 T M T_M TM,存储字长为 n 位,则存储器带宽为 n T M \frac{n}{T_M} TMn,常用的单位是 位/秒 和 字节/秒 。为了加大存储器的带宽可采用 减少存取周期 T M T_M TM 和 提高总线宽度W
(11)主存储器的性能指标主要是(存储容量)、(存取时间)、(存储周期)和(存储器带宽)。
五、指令系统
📚不进🧠
1. 指令格式
2. 指令的寻址方式
📕 指令寻址和数据寻址
📕 常见的寻址方式
📕 CISC 和 RISC
- CISC(Complex Instruction Set Computer):复杂指令系统计算机
- RISC(Reduced Instruction Set Computer):精简指令集计算机
⭐ 小练
🌰 课后习题
5.1 指令?指令系统?指令的地址格式?
答:
指令:控制计算机执行某种操作的命令
。指令用于直接表示对计算机硬件实体的控制信息,是计算机硬件唯一能够直接理解并执行的命令,也称为机器指令。
指令系统:一台计算机所能执行的全部指令的集合
。
指令常用的地址格式:四地址、三地址、二地址、单地址、零地址
。
5.2 指令地址?形式地址?有效地址?
答:
指令地址:存放指令的内存单元地址
。
形式地址:指令中给出的地址
。
有效地址:形式地址经过一定的运算而得到的操作数的实际地址
。
5.3 寻址方式?基本的寻址方式?简述其寻址过程。
答:寻址方式就是指形成
本条指令的操作数地址和下一条要执行的指令地址
的方法。根据所需的地址信息的不同,寻址可分为操作数地址的寻址和指令地址的寻址两部分。
基本的寻址方式:
立即寻址、直接寻址、间接寻址、寄存器寻址
、寄存器间接寻址、变址寻址、基址寻址、基址加变址寻址、堆栈寻址、相对寻址。
5.4 基址寻址方式和变址寻址方式各有什么不同?
答:
基址寻址是面向系统的,主要用于将用户程序的逻辑地址(用户编写程序时所使用的地址)转换成主存的物理地址(程序在主存中的实际地址),以便实现程序的再定位。例如在多道程序运行时,需要由系统的管理程序将多道程序装入主存。由于用户在编写程序时,不知道自己的程序应该放在主存的哪一个实际物理地址中,只能按相对位置使用逻辑地址编写程序。当用户程序装入主存时,为了实现用户程序的再定位,系统程序给每个用户程序分配一个基准地址。程序运行时,该基准地址装入基址寄存器,通过基址寻址,可以实现逻辑地址到物理地址的转换。由于系统程序需通过设置基址寄存器为程序或数据分配存储空间,所以基址寄存器的内容通常由操作系统或管理程序通过特权指令设置,对用户是透明的。用户可以通过改变指令字中的形式地址A来实现指令或操作数的寻址。另外基址寄存器的内容一般不进行自动增量和减量。
变址寻址是面向用户的,主要用于访问数组、向量、字符串等成批数据,用以解决程序的循环控制问题。因此变址寄存器的内容是由用户设定的。在程序执行过程中,用户通过改变变址寄存器的内容实现指令或操作数的寻址,而指令字中的形式地址A是不变的。变址寄存器的内容可以进行自动增量和减量。
- 基址寻址:通过改变基址寄存器的值来移动访问内存段的起始地址。
- 变址寻址:通过改变变址寄存器的值来移动访问内存单元的间隔。
5.5 简述相对寻址和立即寻址的特点。
答:
相对寻址方式是将程序计数器 PC 的当前内容与指令中给出的形式地址相加形成操作数的有效地址。只要保持数据与指令之间的位移量不变,采用相对寻址就可以实现指令带着数据在存储器中的浮动。相对寻址方式除了用于访问操作数外,还常被用于转移类指令。如果转移目标指令的地址与当前指令的距离为Disp,则将转移指令的地址码部分设置为Disp,这样采用相对寻址方式即可得到转移目标地址为 (PC)+Disp。相对转移的好处是可以相对于当前的指令地址进行浮动转移寻址,因此,无论程序位于主存的任何位置都能够正确运行,这非常有利于实现程序再定位。
立即寻址方式是指指令的地址码部分给出的不是操作数的地址而是操作数本身。立即寻址的优点在于取指令的同时,操作数立即被取出,不必再次访问存储器,提高了指令的执行速度。但由于指令的字长有限,D的位数限制了立即数所能表示的数据范围。立即寻址方式通常用于给某一寄存器或存储器单元赋予初值或提供一个常数。
5.6 什么叫堆栈?堆栈操作的特点是什么?堆栈操作是如何寻址的?
答:计算机中的堆栈是指按
先进后出(FILO)
或者说后进先出(LIFO)原则进行存取的一个特定的存储区域。在堆栈结构中,通常栈底是固定不变的,栈顶是浮动的。在堆栈操作中,数据按顺序存入堆栈称为数据进栈或压入;从堆栈中按与进栈相反的顺序取出数据称为出栈或弹出。
为了表示栈顶的位置,通常用堆栈指针SP指出栈顶的地址,堆栈的压入和弹出操作总是按地址自动增量和自动减量方式在栈顶进行。
5.7 一个较完善的指令系统应包括哪些类型的指令?
答:一个完善的指令系统应包括的基本指令有:数据传送指令、算术逻辑运算指令、移位操作指令、堆栈操作指令、字符串处理指令、程序控制指令、输入/输出指令等。
5.14 选择题
5.15 填空题
(1) 一台计算机所具有的所有机器指令的集合称为该计算机的 指令系统 。它是计算机与 用户 之间的接口。
(2) 在指令编码中,操作码用于表示 指令应执行的操作和应具有的功能 ,n 位操作码最多可以表示 2n 条指令。地址码用于表示 与操作数据相关的地址信息。
(3) 在寄存器寻址方式中,指令的地址码部分给出的是 某一寄存器的编号,操作数存放在 寄存器中。
(4) 采用存储器间接寻址方式的指令中,指令的地址码的字段中给出的是 是操作数的有效地址EA 所在的存储器单元地址,CPU需要访问内存 2 次才能获得操作数。
(5) 操作数直接出现在指令的地址码字段中的寻址方式称为 立即寻址;操作数所在的内存单元地址直接出现在指令的地址码字段中的寻址方式称为 直接寻址。
(6) 相对寻址方式中,操作数的地址是由 PC当前的内容 与 形式地址部分给出的位移量 之和
产生的。
(7) 微程序控制器主要由(控制存储器),(微指令寄存器)和(地址转移逻辑)三大部分组成
六、控制系统与CPU
📚不进🧠
1. CPU的功能和基本结构
2. 指令执行过程
📕 指令周期
📕 指令周期的数据流
📕 指令执行方案
3. 数据通路的基本结构
4. 指令流水线
⭐ 小练
🌰 课后习题
6.1 控制器的基本功能?它有哪些基本部件?各部件作用?
答:控制器的主要任务是:根据不同的指令、不同的状态条件,在不同的时间,产生不同的控制信号,控制计算机的各部件自动、协调地进行工作。
其基本功能包括:
- 控制指令的正确执行
- 控制程序和数据的输入及结果的输出
- 异常情况和特殊请求的处理
控制器的基本部件包括:
- 指令部件:用于完成取指令和分析指令
- 时序控制部件:用于产生一系列时序信号,为各个微操作定时,以保证各个微操作的执行顺序。
- 微操作控制信号形成部件:根据指令部件提供的操作控制电位、时序部件所提供的各种时序信号,以及有关的状态条件,产生机器所需要的各种微操作控制信号。
- 中断控制逻辑:用于实现对异常情况和特殊请求的处理。
- 程序状态寄存器PSR:用于存放程序的工作状态(如管态、目态等)和指令执行的结果特征(如ALU运算的结果为零、结果为负、结果溢出等),表明系统的基本工作状态。
- 控制台:用于实现人与机器之间的通信联系,如启动或停止机器的运行、监视程序运行过程、对程序进行必要的修改或干预等。
6.2 CPU中几个最主要的寄存器?它们的主要作用是什么?
答:
(1) 指令寄存器IR:指令寄存器用于存放当前正在执行的指令。当指令从主存取出后,经MDR传送到指令寄存器中,以便实现对一条指令执行的全部过程的控制。
(2) 程序计数器PC:程序计数器又称指令计数器、指令地址寄存器,用于保证程序按规定的序列正确运行,并提供将要执行指令的指令地址。
(3) 累加寄存器AC:用于暂存操作数据和操作结果。
(4) 程序状态寄存器PSR:用于以存放程序的工作状态(如管态、目态等)和指令执行的结果特征(如ALU运算的结果为零、结果为负、结果溢出等),把它所存放的内容称为程序状态字(PSW)。PSW表明了系统的基本状态,是控制程序执行的重要依据。
(5) 地址寄存器MAR:用于存放所要访问的主存单元的地址。它可以接受来自PC的指令地址,或接受来自地址形成部件的操作数地址。
(6) 数据缓冲寄存器MDR(或MBR):用于存放向主存写入的信息或从主存中读出的信息。
6.4 试述指令周期、CPU周期、节拍周期三者的关系。
答:指令周期是指从取指令、分析指令到执行完该指令所需的全部时间。
机器周期又称CPU周期,是指令执行过程中的相对独立的阶段。
把一个机器周期等分成若干个时间区间,每一时间区间称为一个节拍,一个节拍对应一个电位信号,控制一个或几个微操作的执行。
由于各种指令的操作功能不同,繁简程度不同,因此各种指令的指令周期也不尽相同。一条指令的执行过程(即指令周期)由若干个机器周期所组成,每个机器周期完成一个基本操作。一个机器周期中包含若干节拍。
6.24 单选题
6.25 填空题
(1) 控制器的主要功能包括 控制指令的正确执行、控制程序和教据的输入及结果的输出 和 异常情况和特殊请求的处理法 等3个功能。
(2) 一般而言,CPU 中至少有 程序计数器PC(Program Counter) 、地址寄存器MAR(Memory Address Register) 、数据缓冲寄存器MDR(Memory Data Register)(MBR)、指令寄存器IR(Instruction Register)、累加寄存器AC(Accumulator)、程序状态寄存器PSW(Program Status Word) 6个寄存器。
(3) 微指令的编码方式有 直接控制法、最短编码法 和 字段直接编码法 等3种。
(4) CPU周期也称为 机器周期,一个CPU周期包括若干个 节拍。
(5) 在程序执行过程中,控制器控制计算机的运行总是处于 取指令,分析指令和 执行指令 的循环之中。
(6) 微程序控制器的核心部件是 控制存储器,它一般由 ROM 构成。
(7) 在同一微周期中 不允许同时出现的微命令 的微命令被称为互斥微命令,而在同一微周期中 允许同时出现的微命令 的微命令被称为相容微命令。显然,互斥 的微命令不能放在一起译码。
(8) 由于微程序设计的灵活性,只要简单地改变 微程序 就可改变微程序控制的机器指令系统。
七、总线技术
🌰 课后习题
7.1 什么是总线?总线传输有何特点?
答:总线是计算机传送信息的通道,是连接各个功能部件的纽带。
总线传输的特点:某一时刻只能有一路信息在总线上传输,即分时使用。
7.2 使用总线的好处是什么?
答:一是可以减少各个部件之间的连线数量,降低成本;
二是方便系统构建、扩充系统性能和便于产品更新换代。
7.3 简述总线的组成。
答:从逻辑构成上看,总线由两部分构成:
一是连接各个功能模块的信号线,如数据总线,地址总线,控制总线
二是起管理总线作用的总线控制器。
7.4 什么是总线主设备和总线从设备?
答:总线主设备是总线操作的发起者,负责全面的总线控制;
总线的从设备是总线操作的对象;
7.5 按照总线所处的物理位置分,总线可分成哪几类?
答:按总线所处的物理位置,可分为芯片内总线,功能模块板内总线,功能模块板间总线(即通常说的系统总线) 和外部总线。
7.6 总线规范一般包括哪些?分别做简要说明。
答:总线的规范主要从以下几个方面来描述总线的功能和特性:
1、逻辑规范:引脚信号的功能描述。包括信号的含义、信号的传送方向(发送、接收或双向)、有效信号所采用的电平极性(高电平/低电平,正脉冲/负脉冲)及是否具有三态能力等。
2、时序规范:描述各信号有效/无效的发生时间以及不同信号之间相互配合的时间关系。例如,当地址信号有效后,至少需要多长时间的延迟才能使读/写信号有效。
3、电器规范:总线上各个信号所采用的电平标准(如 1.5V 电平、 ±3V 电平等)和负载能力。负载能力定义了总线理论上最多可以连接模块的数量。
4、机械规范:它定义了总线包括插槽/插头或插板的结构、形状、大小方面的物理尺寸、接插件机械强度;总线信号的布局、引脚信号的长度、宽度以及间距等。
5、通信协议:定义数据通过总线传输时采用的连接方法、数据格式、发送速度等方面的规定。对串行总线而言会有这方面的规范。通信协议通常还要分为若干层次。
7.24 单选题
7.25 填空题
(2) 在单总线、双总线、三总线 3 种系统中,从信息流传送效率的角度看, 单总线 的工作效率最低;从吞吐量来看,三总线 最强。
(3) 在单总线结构的计算机系统中,每个时刻只能有两个设备进行通信,在这两个设备中,获得总线控制权的设备叫 主设备 ,由它指定并与之通信的设备叫 从设备。
八、I/O 设备
🌰 课后习题
8.1 I/O设备可分为哪些类型?
答:按设备在系统中的功能与作用来分,I/O设备可以大致分为5类。
- 输入设备
输入设备将外部的信息输入主机,通常是将操作者所提供的外部世界的信息,转换为计算机所能识别的信息,然后送入主机。目前,广泛使用的输入设备主要有键盘、鼠标器、触摸屏、数码相机、摄像头、麦克风等。其中,键盘和鼠标是最基本的输入设备,其他输入设备又被称作多媒体输入设备。 - 输出设备
输出设备将计算机处理结果,从数字代码形式转换成人或其他系统所能识别的信息形式。常用的输出设备有显示器、打印机、投影仪、耳机、音箱等。其中,显示器和打印机是最基本的输出设备,其他输出设备又被称作多媒体输出设备。 - 存储设备
外存储器是指主机之外的一些存储设备,如磁带、磁盘、光盘、U盘等。存储设备一方面可以存储文件,另一方面也可以广义的看作对于文件输入和文件输出的特殊的输入输出设备。 - 网络设备
网络设备用于连接计算机网络,也可以广义的看作计算机对外部网络的输入输出设备,被称为终端设备。包括制解调器、网卡、红外设备、蓝牙设备等。用户通过终端设备在一定距离之外操作计算机,通过终端输入信息或获得结果。利用终端设备,可使多个用户同时共享计算机系统资源。 - 其他I/O设备
某些特定应用领域需要用到一些特殊的I/O设备,如在工业控制应用中的数据采集设备——仪表、传感器、A/D和D/A转换器等。还有一类所谓的脱机设备,即数据制备设备,如软磁盘/磁带数据站。它是一种数据录入装置,为了不让数据录入占用大、巨型主机的宝贵运行时间,大批数据录入往往采取脱机录入方式,即先在专门的录入装置上人工按键录入,结果存入磁盘或磁带之中,然后将磁盘或磁带联机输入主机。
8.5 单选题
8.6 填空题
(1)计算机的外围设备大致分为输人设备、输出设备、 外存储器、终端、其他含义的I/O设备 和 其他辅助设备。
(2)显示器的刷新存储器(或称显示缓冲存储器)的容量是由 分辨率 和 灰度级或色彩数 决定的。
👨💻 学有所成,不虚此行!