1.1 计算机的发展
什么是计算机系统
- 计算机系统 = 硬件 + 软件
- 硬件:计算机的实体,如 主机、外设等;
- 软件:有各类特殊功能的程序组成
硬件的发展
摩尔定律
- 摩尔定律:揭示了信息技术进步的速度,集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍
目前发展趋势
本节回顾
1.2.1 计算机硬件的基本组成
早期冯诺依曼机
- 存储程序:的概念是指将指令以二进制代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。(冯诺依曼提出)
- 早期冯诺依曼机由五大部分组成:输入设备、存储器、运算器、控制器、输出设备
- 冯诺依曼计算机的特点:
- 计算机由五大部件组成
- 指令和数据以同等地位存于存储器,可按地址寻访
- 指令和数据用二进制表示
- 指令由操作码和地址码组成
- 存储程序
- 以运算器为中心
现代计算机的结构
- 以存储器为中心
- CPU=运算器+控制器
本节回顾
1.2.2 各个硬件的工作原理
主存储器的基本组成
- 主存储器包括:存储体、MAR(存储地址寄存器)、MDR(存储数据寄存器)
- 存储单元:每个存储单元存放一串二进制代码
- 存储字(word):存储单元中二进制代码的组合
- 存储字长:存储单元中二进制代码的位数
- 存储元: 即存储二进制的电子元件,每个存储元可存1it
- MAR位数反映存储单元的个数(每一位有两种可能,多少位就2的多少次方)
- MDR位数=存储字长(单位比特,多少位就每个存储单元可存放多少比特数据)
运算器的基本组成
- 运算器:用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)
- 运算器的基本组成:ACC、MQ、X、ALALU
- ACC 累加器,用于存放操作数,或运算结果。
- MQ: 乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
- X : 通用的操作数寄存器,用于存放操作数
- ALU:算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算
控制器的基本组成
- 控制器基本组成:CU、IR、PC
- CU:控制单元,分析指令,给出控制信号
- IR:指令寄存器,存放当前执行的指令
- PC:程序计数器,存放下一条指令地 自动加1功能
计算机的工作过程
补充:这里OP指操作码,Ad指地址码
本节回顾
1.2.3 计算机系统的多级层次结构
计算机系统的层次结构
- 下层是上层的基础,上层是下层的扩展
三种级别的语言
- 三种语言分别是高级语言、汇编语言、二进制代码
- 一般情况下,是高级语言通过编译程序(编译器)转换为汇编语言,再由汇编程序(汇编器)转化为能被机器直接识别的机器语言(二进制代码)
- 有时候,高级语言也可以通过编译程序或解释程序直接转换为机器语言
- 编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次)
- 解释程序:将源程序的一条语句翻译成对立于机器语言的语句,并立即执行。紧接着再翻译下一句(每次执行都要翻译)
- 注:编译、汇编、解释程序,可统称为“翻译程序”
本节回顾
1.3 计算机的性能指标
存储器的性能指标
- 总容量=存储单元个数×存储字长(bit)
- =存储单元个数×存储字长/8(Byte)
CPU的性能指标
- CPU时钟周期 【单位微秒、纳秒……】
- CPU主频(时钟频率): 1 ÷ CPU时钟周期 【单位赫兹Hz】
- CPI(ClockcyclePerInstruction):执行一条指令所需的时钟周期数
- 执行一条指令的耗时 :CPI × CPU时钟周期 【一条指令耗费的时钟周期数量 × 一个CPU时钟周期的时间】
- CPU执行时间(整个程序的耗时):CPU时钟周期数/主频=(指令条数*CPI)/主频
- IPS(InstructionsPerSecond)每秒执行多少条指令:IPS=CPU主频 ÷ 平均CPI【主频,反映1s内的时钟周期数,即脉冲数量。CPI 是一条指令的执行的时间等于多少个时间周期(一条指令的执行发生了多少个脉冲)】
CPU执行时间例子:
系统整体性能的指标
- 数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
- 吞吐量:指系统在单位时间内处理请求的数量。【它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。】
- 响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。【通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、V操作、操作系统开销等时间)】
- 基准程序是用来测量算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其它计算机性能进行比较【跑分软件】