计算机组成原理---计算机系统概述
文章目录
- 1. 本书围绕的思考点
- 2. 计算机发展历程(408大纲已删)
- 3. 计算机硬件的基本组成
- 3.1 早期冯 · 诺依曼机的结构
- 3.2 现代计算机的结构
- 3.3 总结
- 3.4 补充:各个硬件的工作原理
- 4. 了解知识
- 4.1 计算机软件
- 4.2 计算机系统的多级层次结构
- 4.3 计算机系统的工作原理
- 5. 计算机的性能指标
1. 本书围绕的思考点
2. 计算机发展历程(408大纲已删)
- 机器字长: 计算机一次整数运算所能处理的二进制位数
总结:
3. 计算机硬件的基本组成
3.1 早期冯 · 诺依曼机的结构
- “存储程序” 概念是由冯 · 诺依曼首次提出的,即是指将指令以二进制代码的形式事先输入到计算机的主存储器中,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束
- 在计算机系统中,软件和硬件在逻辑上是等效的。Eg:对于乘法运算,可以设计一个专门的硬件电路来实现,也可以用软件的方式,执行多次加法来实现
冯 · 诺依曼计算机的特点:
-
- 计算机由输入设备、输出设备、存储器、运算器和控制器五大部件组成
-
- 指令和数据以同等地位存于存储器,可按地址寻访。即都是二进制存储,不存在谁的二进制串就特殊一些
-
- 指令和数据用二进制表示
-
- 指令由操作码和地址码组成
-
- 采用存储程序的设计
-
- 以运算器为中心,即输入/输出设备与存储器之间的数据传送通过运算器完成
3.2 现代计算机的结构
注意:
-
- 现代计算机以存储器为中心
-
- CPU = 运算器 + 控制器
3.3 总结
3.4 补充:各个硬件的工作原理
注意:
-
- 存储体由许多存储单元组成,而每个存储单元包含若干个存储元件,且每个存储元件存储一位二进制数
-
- 存储单元中存储的一系列二进制串被称为存储字
-
- 存储单元中存储的二进制串的位数被称为存储字长
-
- 现代计算机一般把MAR和MDR都给集成到了CPU中
-
- MAR反映存储单元,MDR反映存储字长,存储容量 = 存储单元 × 存储字长
- ACC可以用于存放操作数,也可以用于存放运算结果;x一般存放操作数;MQ一般只存放根乘除运算相关的操作数和运算结果
注意:
- CPU = 运算器 + 控制器;而现代计算机中MAR和MDR都集成到了CPU中,且在CPU中,IR、MAR和MDR对各类程序员都是透明的
下面将以上图分析计算机的工作过程,这里只是简单叙述,更多详细内容会在指令系统中提到
解释:
-
- PC内容为0,指向第一条指令的存储地址;PC是指向下一条将要处理指令的地址
-
- 将PC的内容(存放的指令地址)通过数据线送入MAR中,此时MAR=0
-
- MAR开始解析这条地址,控制线发出读信号并通过地址线去存储体中找到对应地址处,将该地址存放的 二进制数(指令) 通过数据线放入MDR中
-
- MDR通过数据线将该二进制数传入IR中
-
- IR把该二进制串对应的操作码通过数据线传入CU中,CU分析后得知此为 “取数” 指令
-
- 经CU译码后,控制线发出读信号,同时IR中的地址码经数据线传入给MAR,此时MAR=5
-
- MAR接收到控制线发出的读信号,于是通过地址线去地址5处将存储的二进制数读入至MDR中,此时MDR=2
-
- 然后MDR通过数据线将该二进制数传入ACC中
解释:
-
- 每取完一条指令,PC自动指向下一条将要执行的指令处;于是,上一条指令执行完,导致PC=1,ACC=2
-
- 去指令的步骤都是类似的,这里不再赘述,直接跳到分析指令处
-
- 此时经分析得出,该指令是“乘法”指令
-
- 继续将IR中的地址码传入MAR中,此时MAR=6,然后去地址6处取数,并存入MDR中,此时MDR=3
-
- 由于是乘法指令,MDR的二进制数会通过数据线传入MQ中,此时MQ=3
-
- 再将ACC中原来的数字2传入X中,此时x=2
-
- 然后X寄存器和MQ寄存器中的数经过ALU执行乘法运算后,将结果输入到ACC中,此时ACC=6
- 与上述雷同,交给感兴趣的读者自己解释
解释:
-
- CU分析得知此为“存数”指令,然后让控制线发出写信号
-
- 当IR中地址传入MAR中时,MAR=8,写信号会先让ACC中的数传入MDR中,此时MDR=7
-
- 然后写信号会让MAR进行地址解析,找到对应地址8处,最后通过数据线让MDR中的数写入地址8处,此时地址8处值为7
- 交给感兴趣的读者自己完成
总结:
4. 了解知识
4.1 计算机软件
【2016 统考真题】将高级语言源程序转换为机器级目标代码文件的程序是(C)
A. 汇编程序 B. 链接程序 C. 编译程序 D. 解释程序
解答:编译程序是将高级语言源程序一次全部翻译成目标程序,其会生成目标代码文件;解释程序是将高级语言翻译一句执行一句,不会生成目标代码文件。
- 记住一句话,软件和硬件在逻辑功能上是等价的
总结:
4.2 计算机系统的多级层次结构
总结:
4.3 计算机系统的工作原理
总结:
5. 计算机的性能指标
- 总容量 = 存储单元个数 × 存储字长(单位bit)
- 描述存储文件和容量大小时,常用2的幂次表示
- IPC:一个时钟周期内可以执行多少条指令。其与CPI互为倒数
- 描述速率、频率等时,常用10的幂次来表示
例题:
解答:
- ①计算主频率:主频率 = 1/时钟周期 = 1/2ns = 1/2×10-9=500MHz
- ②计算平均CPI:序列一平均CPI=(1×1+2×1+3×4)÷(1+1+4)=15÷6=2.5;序列二平均CPI=(1×2+2×1+3×2)÷(2+1+2)=10÷5=2
- ③计算MIPS,IPS=主频/平均CPI: 序列一MIPS=(500MHz÷2.5÷106)=200;序列二MIPS=(500MHz÷2÷106)=250
- ④计算CPU执行时间,CPU执行时间=CPU时钟周期数/主频=(指令条数×CPI)÷主频=(指令条数×CPI)×时钟周期: 序列一CPU执行时间=6×2.5×2ns=30ns;序列二CPU执行时间=5×2×2ns=20ns
- ⑤总结,序列二的MIPS数比序列一多50,序列二的执行速度比序列一快10ns,选D
总结:
第一章是整本书的概要,相当于简单了解下计算机组成原理这门课在讲什么,着重注意计算机的性能指标,在后面章节也会出现对应的计算。
参考:《王道计算机考研 计算机组成原理》
https://www.bilibili.com/video/BV1ps4y1d73V?t=0.5&p=2