一、计算机系统概述
1.1 计算机的发展历程
1.11 什么是计算机系统
- 计算机系统=硬件+软件
1.12 硬件的发展
- 第一台电子数字计算机:ENIAC(1946)
- 电子管 ——> 晶体管——> 中小规模集成电路 ——> 大规模、超大规模集成电路
- 机器字长:计算机一次整数运算所能处理的二进制位数
- 摩尔定律:集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍
1.13 软件的发展
- 编程语言的发展:机器语言 ——> 汇编语言 ——> 高级语言
- 操作系统的发展:DOS ——> 图形化界面
1.14 计算机的分类与发展趋势
指令和数据流:
1.单指令流&单数据流(SISD):冯诺伊曼体系结构
2.单指令流&多数据流(SIMD):阵列处理器、向量处理器
3.多指令流&单数据流(MISD):实际上不存在
4.多指令流&多数据流(MIMD):多处理器、多计算机
- “两级”分化:
- 微型计算机向 微型、网络化、高性能、多用途方向发展;
- 巨型机向更巨型化、超高速、并行处理、智能化方向发展。
- 微型计算机向 微型、网络化、高性能、多用途方向发展;
1.2 计算机硬件的基本组成
1.21 早期冯诺依曼的结构
- “存储程序”的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
- 软件和硬件在逻辑上是等效的
- 冯诺依曼型计算机特点:
1.计算机由运算器、控制器、存储器、输入和输出设备5部分组成
2.采用存储程序的方式,指令和数据以同等地位存于存储器,并以二进制表示,可按地址寻访。
3.指令由操作码和地址码组成
4.指令在存储器中按执行顺序存放,由指令计数器(即程序计数器PC)指明要执行的指令所在的储存单元地址,一般按顺序递增,但可按运算结果或外界条件而改变
5.机器以运算器为中心(现在一般以存储器为中心)
1.22 现代计算机的结构
- 现代计算机:以存储器为中心
- CPU = 运算器 + 控制器
1.3 各个硬件的工作原理
1.31 主存储器
- 主存储器处于全机中心地位
- 辅助存储器或称为外存储器,通常用来存放主存的副本和当前不在运行的程序和数据
1.32 运算器
运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)
- ACC:累加器,用于存放操作数,或运算结果。
- MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
- x:通用的操作数寄存器,用于存放操作数
- ALU:算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算
1.33 控制器
计算机的工作过程——取指执行
C语言代码:
int a = 2, b = 3, c = 1, y = 0;
void main() {
y=a * b + c;
}
以上代码经过编译被装入主存(如下图右),前二条指令的执行过程如下:
总结:
1.4 计算机系统的层次结构
1.4.1 五层结构
下层是上层的基础,上层是下层的扩展
1.4.2 三种级别的语言
注:编译、汇编、解释程序,可统称“翻译程序”.
1.5 计算机的性能指标
1.51 存储器的性能
1.52 CPU的性能指标
1.53 系统整体的性能指标
- 静态:
- 数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
- 吞吐量:指系统在单位时间内处理请求的数量。
- 响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。
- 动态测试
- 基准程序:是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同的其它计算机能进行比较。如鲁大师
二、数据的表示和运算
2.1 进位计数制
2.2 BCD码
用每4个二进制数表示一个十进制数
2.21 8421码(重点)
2.22 余3码与2421码
2.3 字符与字符串
2.31 ASCII码
2.32 汉字的表示和编码
2.33 字符串
2.4 奇偶校验码
校验原理:
奇偶校验:
2.5 海明校验码
2.6 循环冗余校验码(CRC码)
2.7 定点数和浮点数的表示与运算
定点数:小数点的位置固定
- 表示:
- 运算: