1、计算机的发展历程
1.1什么是计算机系统
计算机系统:
- 硬件:计算机的实体,如主机、外设等。
- 软件:具有各类特殊功能的程序组成。
计算机性能取决于软、硬件功能的总和。
1.2计算机软硬件的发展
- 微信计算机的发展是以微微处理器位标志的。
- 机器字长:一个计算机所能处理的二进制位数。
- 操作系统的位数:其所依赖的指令集的位数确定的。
- 摩尔定律:揭示了计算机信息技术进步的速度。集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍。
特点:
- 体积超大,耗电量超大。使用机器语言编程。
- 体积功耗降低,出现了面向过程的程序设计语言:FORTRAN;有了操作系统的雏形。
- 主要用于科学计算等专业用途;高级语言迅速发展;开始有了分时操作系统将元件集成在基片上。
- 大规模、超大规模集成电路时代。
开始出现了“微处理器”、微型计算机。
个人计算机(PC)的萌芽。
操作系统:Windows、MacOS、Linux…
1.3软件的发展
机器语言——>汇编语言——>面向过程的语言——高级语言
机器语言与汇编语言本质相同的,程序员需要考虑机器的执行。
操作系统:命令行系统——>图形化系统
1.4目前的发展形势
两极分化:
- 一极是微型计算机计算机向更微型化、网络化、高性能、多用途方向发展。
- 另一极是巨型机向更巨型化、超高速、并行处理、智能化方向发展。
2、计算机硬件的基本组成
2.1早期冯诺依曼机
存储程序:将指令以二进制代码的形式实现输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后按该程序的规定顺序执行其他指令,直至程序执行完成。
- 输入程序:将信息准换乘机器能识别的形式。
- 存储器:存放数据和程序。
- 运算器:进行算数运输和逻辑运算。
- 输出设备:将结果转换为人们熟悉的形式。
- 控制器:智慧程序运行。
软件和硬件在逻辑上是等价的。
冯诺依曼计算机的特点:
- 计算机由五大部件组成。
- 指令和数据以同等低位存于存储器,可按地址寻访。
- 指令和数据用二进制表示。
- 指令由操作码和地址码组成。
- 存储程序。
- 以运算器为核心。
2.2 现代计算机结构
- 以存储器为核心。
- CPU=运算器+控制器
- CPU=运算器+控制器+主存储器
- 主存属于主机;辅存属于IO设备。
2.3 各个硬件的工作原理
2.3.1主存储器的基本组成
- 存储体:数据在存储体内按地址存储。
- MAR:(Memory Address Register):MAR的位数反应存储单元的个数。
- NDR:(Memory Data Register):MDR位数=存储字长。
- 存储单元:每个存储单元存放一串二进制代码。
- 存储字:存储单元中二进制代码组合。
- 存储字长:存储单元中二进制代码的组合。
- 存储元:即存储二进制的电子元件,每个存储元可存1bit。
2.3.2运算器的基本组成
运算器:用于实现算数运算、逻辑运算。
- ACC:累加器,用于存放操作数,或运算结果。
- MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
- X:通用的操作数寄存器,用于存放操作数。
- ALU:算数逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算。
2.3.3控制器的基本组成
- CU(Control Unit):控制单元,分析指令,给出控制信号。
- IR(Instruction Register):指令寄存器,存放当前执行的指令。
- PC(Program Counter):程序计数器,存放下一条指令地址,有自动加1功能。
2.3.4 计算机工作过程
取指令:
- PC把取数指令的地址放进MAR。
- MAR根据地址在存储体中找到取数指令所在的内存单元。
- 把取出来的取数指令放在MDR进行暂存。
- 将取数指令从MAR中取出来放进IR中,进行分析指令。
- 将IR中的取数指令的操作码送给CU控制单元进行译码,
- 将取数指令的中的地址码部分送给MAR。
- MAR中的地址码送给存储体,
- 把数据从MAR中取出放进MDR,
- 将MDR中的数据放进ACC中。
存数:
- PC把取数指令的地址放进MAR。
- MAR根据地址在存储体中找到取数指令所在的内存单元。
- 把取出来的取数指令放在MDR进行暂存。
- 将取数指令从MAR中取出来放进IR中,进行分析指令。
- 将IR中的存数指令的操作码送给CU控制单元进行译码,
- 将IR中存数指令中的操作码送给MAR,
- MAR中的地址码送给存储体,(告诉存储体需要把数据存放在该地址的存储单元中)
- 将ACC中的数据放进MDR中,
- 由MDR送给存储体。
2.4 计算机系统的多层次结构
2.4.1计算机系统的层次结构
软件 | 虚拟机器 M4(高级语言机器) | 用编译程序翻译成汇编语言程序 |
虚拟机器 M3(汇编语言程序) | 用汇编程序翻译成机器语言程序 | |
虚拟机器 M2(操作系统机器) | 向上提供“广义指令”(系统调用) | |
硬件 | 传统机器 M1(用机器语言的程序) | 执行二进制机器指令 |
微程序机器M0(微指令程序) | 由硬件直接执行微指令 |
- 上层是下层扩展,下层是上层的基础。
2.4.2三种级别的语言
- 编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次)。
- 解释程序:将源程序的一条语句翻译成对应机器语言的语句,并立即执行。紧接着再翻译下一句(每次执行都翻译)。
- 编译、汇编、解释程序,可统称“翻译程序”。
3、计算机的性能指标
3.1存储器的性能指标
总容量=存储单元个数×存储字长 bit
=存储单元个数×存储字长/8 Byte
3.2CPU性能指标
- 单位:单位:微秒、纳秒……
- CPU主频(时钟频率)=1/cpu时钟周期(单位:赫兹,Hz)
- CPI(Clock cycle Per Instruction):执行一条指令所需的时钟周期(不同的指令,CPI不同,甚至行啊同的指令,CPI也可能有变化。)
- CPU执行时间=CPU时钟周期数/主频=(指令条数*CPI)/主频。
- IPS(Instructions Per Scond):每秒执行多少条指令
IPS=主频/平均CPI(KIPS、MIPS) - FLOPS(Floating-point Operation Per Scond):每执行多少次浮点运算。
注:K=10^3;M=10^6;G=10^9;T=10^12。
3.3系统整体的性能指标
- 数据通路带宽:数据总线一次所能并行传递信息的位数(各硬件部件通过数据总线传输数据)。
- 吞吐量:指系统在单位时间内处理请求的数量。
它取决于信息能多块地输入内存,CPU能多块地去指令,数据能多块地从内存去除或存入,以及所取得结果能多块地从内存送出一台外部设备。这西步骤中每一步都管辖到主存,因此,系统吞吐量主要取决于主存的存取周期。 - 响应时间:指行用户向计算机发送一个请求,到系统厎该请求做出轻盈并获得它所需要的结果的等待时间。
通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、IO操作、操作系统开销等时间)。
3.4系统的整体性能指标
基准程序是用来测量计算机处理速度的一种实用程序,以便于被测试的计算机性能可以与运行相同基准程序其他的计算机性能进行比较。
基准程序中的语句存在频度差异,运行结果也不能完全说明问题。