课堂笔记 计算机组成与系统结构
0x01 计算机系统概论
计算机的分类
- 电子模拟计算机:连续量,运算过程连续
- 电子数字计算机:不连续的离散数字,速度快,准确,存储量大
- 专用计算机:有效、经济、快速,适应性差
- 通用计算机:适应性强,但牺牲了效率、速度和经济性
通用计算机分类
计算机的发展简史
从使用器件的角度来说,计算机的发展大致经历了五代的变化
- 电子管计算机:体积庞大,成本高,可靠性低,数据处理机开始得到应用
- 晶体管计算机:工业控制机开始得到应用
- 中小规模集成电路计算机:小型计算机开始出现
- 大规模和超大规模集成电路计算机:微型计算机开始出现
- 巨大规模集成电路计算机:单片计算机开始出现
计算机的性能指标
- 吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量
- 响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量
- 利用率:在给定的时间间隔内系统被实际使用的时间所占的比率,用百分比表示
- 处理机字长:指处理机运算器中一次能够被完成二进制数运算的位数,如32位,64位
- 总线宽度:一般指CPU中运算器与存储器之间进行互连的内部总线二进制位数
- 存储器容量:存储器中所有存储单元的总数目,通常用KB、MB、GB、TB来表示
- 存储器带宽:单位时间内从存储器读出的二进制数信息量,一般用字节数/秒表示
- 主频/时钟周期:CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率叫CPU的主频,时钟周期为主频的倒数
- CPU执行时间:表示CPU执行一般程序所占用的CPU时间
CPU执行时间 = CPU时钟周期数 * CPU时钟周期 - CPI : 执行一条指令所需的平均时钟周期数
CPI = 执行某段程序所需的CPU时钟周期数 / 程序包含的指令条数 - MIPS :平均每秒执行多少百万定点指令数
MIPS = 指令数 /(程序执行时间*10^6)
缺点:只适用于标量计算机,精度低 - FLOPS :每秒执行浮点操作的次数
MFLOPS = 程序中的浮点操作次数 / 程序执行时间(秒)
同一操作在不同的机器上执行的指令可能不同,但执行的浮点运算是相同的。
计算机的硬件
- 运算器:主要功能是进行加、减、乘、除等算术运算,除此之外,还可以进行逻辑运算
- 存储器:保存或“记忆”解题的原始数据和解题步骤
存储器与寄存器的异同:
结构不同,存储器分为主存和辅存,寄存器在CPU之中,所有处理器都有寄存器,追求效率和速度
为什么存储器没有名字,而寄存器有名字:
起名就需要专门的电路去连接相应的器件,速度快,但由于储存器类型太多,每起一个名字就要有对应的专用线路去连接,成本过高
存储器先从寄存器中取地址再访问 - 控制器:控制计算机的各部件有条不紊地进行工作
- 输入输出设备
- 适配器:相当于一个转换器,可以保证外围设备用计算机系统特性所要求的形式发送或接收信息
计算机的软件
凡是用于一台计算机的各种程序,统称为这台计算机的程序或软件系统
组成与分类
- 系统软件:管理各种独立工作的硬件,协调工作,简化程序设计,提高计算机的使用效率
例如各种服务性程序,语言程序,操作系统,数据库管理系统 - 应用程序:用户利用计算机来解决某些问题而编制的程序
软件的发展演变
- 机器语言
- 汇编语言
- 算法语言