01 计算机概要与技术 | 计算机组成原理
1. 程序概念入门
1. 软件的层次结构
-
层次结构
-
操作系统的作用
- 处理基本的输入和输出
- 分配外存和内存
- 为多个应用程序提供共享计算机资源的服务
2. 从高级语言到硬件语言
- 计算机层次
- 应用程序
- 操作系统
- 汇编程序
- 指令系统
- 微体系结构
- 数字电路逻辑
- 集成电路
- 高级语言到机器语言graph LR A(高级语言)-->|编译|B(汇编语言) B-->|汇编|C(二进制机器语言)
- 编译:词法分析、语法分析、语义分析
- 采用高级语言的好处
- 让程序员用更自然的语言思考
- 提高程序员的生产率
- 提高了程序相对于计算机的独立性
2. 硬件概念入门
1. 冯诺依曼体系结构
- 经典冯诺依曼计算机框架
- 控制器:统一指挥和控制程序的运行,协调各个部件工作
- 运算器 \(ALU\):对二进制数据进行算术运算和逻辑运算,由运算器和寄存器组成
- 存储器:存放数据、运行程序和中间结果,由记忆元件和电路组成
- 输入设备:向计算机输入原始数据和规定的程序,并将信息转换成机器能识别的形式(编码)
- 输出设备:将计算结果等数据转换成用户便于使用的形式输出
- 冯诺依曼计算机的特点
- 采用 二进制 表示机器指令和数据
- 硬件系统由运算器、控制器、存储器、输入设备和输出设备五大部分组成
- 程序和数据预先存放在存储器中,按地址访问存储器
- 操作时根据程序中指令的执行顺序,从存储器中取出指令或数据,由控制器解释执行、运算器完成运算
2. 存储器
- 功能:存储程序和数据
- 组成
- 内存
- \(Cache\)高速缓存:存放最近使用的指令
- \(MainMemory\)主存:存放被启动程序中的部分数据和指令
- 外存
- 磁盘:存放系统中所有软件和文档
- 光盘、磁带
- \(Flash\)闪存:一种非易失的半导体存储器
- 内存
3. 计算机性能
1. 性能的定义
- 基本指标
- 响应时间:完成单个任务的时间;响应时间分为执行时间和等待时间,
- 吞吐率(带宽):单位时间完成的任务量
- 指令执行速度
- 功耗
- 制造成本
2. 性能的度量
- 计算机的基本性能评价标准:CPU的执行时间
- 计算公式\[CPU执行时间=CPU时钟周期数 \times 时钟周期时间=CPU时钟周期数\div 时钟频率 \]
3. 指令的性能
-
\(CPI\):执行每条指令所需的时钟周期数的 平均值
-
计算公式
\[CPU执行时间=指令数 \times CPI \times 时钟周期时间 \]\[CPU执行时间=指令数 \times CPI \div 时钟频率 \]
4. 性能影响因素
- 算法:影响指令数和可能的 \(CPI\)
- 编程语言:影响指令数和 \(CPI\)
- 编译程序:指令数和 \(CPI\)
- 指令集体系结构:指令数、 \(CPI\) 、时钟频率
4. 功耗
- 功耗 \(\propto 1/2\times\)负载电容\(\times\)电压\(^2\times\)开关频率
5. 并行计算处理
1. \(Amdahl\)定律
\[S_A = \frac{1}{s + (1-s)/N}
\]
\(N\)是处理器的数量,\(s\)是指程序中串行部分的工作量占整个程序工作量的比例,\(S_A\)为并行计算机性能加速比
2. \(Gustafson\)公式
- \(s^{'}\)和 \(p^{'}\)为程序串行部分与可并行化部分在并行系统上执行的时间占总时间的比例,\(N\)为处理器数量
- 简便起见,设总时间为1,则 \(s^{'}+p^{'} = 1\)
- 在串行处理器上完成该任务的时间为 \(s^{'}+p^{'}\times N\)
- 加速比\[S_G = \frac{s^{'}+p^{'}\times N}{s^{'}+p^{'}}=N+(1-N)\times s^{'} \]