计组第一章 计算机系统概论
第一章 计算机系统概论
1.1 计算机系统简介
1.1.1 现代计算机的多样性
计算机的种类有很多
HPC:高性能计算机
物联网
把感应器嵌入和装备到电网、铁路、桥梁、隧道、公路、建筑、供水系统、大坝、油气管道等各种物体中,并且被普遍连接,形成所谓“物联网”,然后将“物联网”与现有的互联网整合起来,实现人类社会与物理系统的整合,形成智慧地球
如果这个物联网有反馈系统,就是前端将信息反馈给后端,后端发出信号给前端甚至做出相应的动作,就形成了CPS
老师还讲了一些世界最快的计算机,地址在这
1.1.2. 计算机的软硬件概念
计算机主要由硬件和软件构成
硬件通过软件的每条指令发挥作用
软硬件层次结构
- 硬件为软件提供接口,比如指令集,软件通过接口控制硬件
- 软件中的系统软件管理软硬件,给用户提供人机交互界面
- 应用软件利用系统软件的接口调用系统软件的功能
从物理结构看
总共有9层,机组研究的就是 Logic逻辑层和Micro-architecture微结构层
从程序员的角度来看
-
最早出现的是机器语言
-
然后是汇编语言,将机器语言符号化
-
机器不能识别汇编语言的,要用操作系统将汇编语言转化为机器语言,就好像在机器外部加了一层罩子
一条机器语言一般对应一条汇编语言,即一一对应的
-
然后出现出现了高级语言,相当于在汇编语言外部加了一层罩子
-
一条机器语言的执行也是有很多过程的,比如说取值,译码,执行等
一条机器语言对应的多个微指令,即一个微程序
-
中间的虚线是软硬件的交接线,实现了软硬件功能的划分,也提供了软硬件的结构
1.1.3. 计算机体系结构&组成
-
计算机体系结构
程序员所见到的计算机系统的属性概念性的结构与功能特性(指令系统、数据类型、寻址技术、I/O机理)
-
计算机组成
实现计算机体系结构所体现的属性(具体指令的实现)
-
总得来说,体系结构是提供接口定义的,组成是实现接口的
系统复杂性管理的方法-1:抽象
抽象
- 抽象-对于一个过程或者一件制品的某些细节有目的的隐藏,以便把其他方面、细节或者结构表达得更加清楚-----百度百科
- 抽象-指高级的模型,和低级的实体相对-----维基百科
- 抽象-隐藏系统中不重要的细节。-----David Harris
1.2 计算机的基本组成
1.2.1. 冯·诺依曼计算机
(1) 特点
-
计算机由五大部件组成
-
指令和数据以同等地位存于存储器,可按地址寻访
当然,也有的是在分开存储的,比如开始程序
-
指令和数据用二进制表示
-
指令由操作码(执行什么操作)和地址码(操作数在哪)组成
-
存储程序(核心特征)
-
以运算器为中心
(2) 硬件框图
(3) 问题
-
运算器既要实行运算,还要实现输入输出
运算器为中心,运算器会成为计算机性能的瓶颈
-
硬件框图太乱,没有层次化,不利于分析
(4) 第一步改进
表示数据的传输
但这个图看起来还是比较乱
1.2.2. 现代计算机硬件框图
这样可以将每个模块实现,然后再组成,构成硬件
一般框图就要这种自上而下的管理
系统复杂性管理的方法-2(3’Y)
3'Y
- 层次化(Hierachy):将被设计的系统划分为多个模块或子模块
- 模块化(Modularity):有明确定义(well-defined)的功能和接口,以便于子模块的组合
- 规则性(regularity):模块更容易被重用
比如各个行业都会为行业内的产品制定一个标准,各个厂商根据这个标准来制作,就可以在任意场合使用
1.2.3.计算机的工作步骤
编程举例
问题:乘法的结果会超过ACC的长度
1.2.4. 各个组件的细分
(1) 主存储器
主存储器分为存储体,MAR,MDR
-
存储体
- 存储单元:存放一串二进制代码
- 存储字:存储单元中二进制代码的组合,就是保存的一个数据
- 存储字长:存储单元中二进制代码的位数,每个存储单元赋予一个地址号,按地址寻访
-
MAR:存储器地址寄存区,反映存储单元的个数
-
MDR:存储器数据寄存器,反映存储字长
- MAR = 4位,都是01代码,从0000~1111,存储单元个数是16
- MDR = 8位,都是01代码,表示存储字长是8
- 那个长方体就相当于一个存储体
- 存储器的读出和写入就要靠MAR和MDR做间接存储
(2) 运算器
① 基本组成
- 加法过程中,如果是多个数相加的话,不能直接一起加,要两个两个加,因此将和与被加数都放在ACC里面,这样上一次的加法结果就能直接作为被加数了
- 减法同理
- 但是乘法除法中的被除数和被乘数都是放在X里面的
- MQ保存乘数和商,因此也将其成为乘商寄存器,MQ分别是乘和商的缩写
② 操作过程
a. 加法
b. 减法
c. 乘法
乘法是通过累加和移位的方式实现的,因此得有一个保存累加的结果,就是ACC,所以ACC要变为0
d. 除法
(3) 控制器
控制器的功能
- 解释指令
- 保证指令的按序执行
- PC:program counter,程序计数器,存放当前欲执行指令的地址, 具有计数功能(PC)+ 1 ——> PC,具体是加几和机器有关
- IR:instruction register,指令寄存器存放当前欲执行的指令
- CU:Control Unit,控制单元,控制执行指令
因此控制器的结构如下
主存,运算器,控制器构成了主机
(4) 计算机的硬件结构图(具体)
1.2.5. 指令在主机上的完成过程
完成一条指令分为取指令,分析指令,完成指令三个步骤
指令的地址保存在PC中,指令保存在存储体当中
(1) 取数
将存储体数据传到ACC中
-
指令的地址存放在PC中,PC将地址给了MAR
-
在CU的作用下,MAR将地址给了存储体M
-
存储体根据地址将指令给了MDR
-
MDR将指令传给IR指令寄存器
-
IR将指令传给CU
CU进行指令的分析,这里只是简化了
-
CU控制IR将指令中的数据地址码传给MAR
-
MAR又将地址传给了存储体
-
存储体将数据传给MDR
-
MDR将数据传给ACC
(2) 存数
将ACC的数据传给存储体
- PC将指令的地址传给MAR
- MAR将地址传给存储体
- 存储体根据地址将指令传给MDR
- MDR将指令传给IR指令寄存器
- IR将指令传给CU分析
- CU分析之后,IR将地址传给MAR
- MAR将地址传给存储体
- ACC将数据传给MDR
- MDR将数据传给存储体
与取数相比,最后两步的顺序不同
分析上面的过程,无非就是三部:取指令,分析指令,执行指令
- 取指令 PC -> MAR -> M -> MDR -> IR, (PC) + 1 -> PC
- 分析指令 OP(IR) -> CU
- 执行指令 AD(IR) -> MAR -> M -> MDR ->ACC
(3) 程序的执行过程
-
将程序通过输入设备送至计算机
-
程序首地址 ——> PC
-
启动程序运行
- 取指令 PC -> MAR -> M -> MDR -> IR, (PC) + 1 -> PC
- 分析指令 OP(IR) -> CU
- 执行指令 AD(IR) -> MAR -> M -> MDR ->ACC
……(多次执行三个步骤)
-
打印结果
-
停机
1.3 计算机硬件的技术指标
如果要买计算机,怎么考虑
- 买机器做什么
- 文本处理就要普通的笔记本等
- 游戏,机器学习需要较好的图像处理
- 价钱
- 机器的性能
- 处理速度快,内存容量大
- 价格便宜
以下是计算机硬件的主要技术指标
1.3.1. 机器字长
- CPU 一次能处理数据的位数 与 CPU 中的 寄存器位数 有关
- 一般来说,机器字长越长,速度越快
1.3.2. 运算速度
-
主频
-
核数以及每个核支持的线程数
-
指令的执行时间
-
吉普森法
fi是指令的执行频率,ti是该条指令的执行时间
-
CPI:执行一条指令所需时钟周期数
IPC:一个时钟周期执行的指令数
-
MIPS:每秒执行百万条指令
但是指令执行的多不代表就快,还要看一条指令执行了多少条计算
-
FLOPS:每秒浮点运算次数
-
1.3.3. 存储容量
存放二进制信息的总位数
主存容量用 字节数 的清晰度不如 存储单元个数×存储字长