计算机的发展
计算机系统=硬件+软件
软件:
1、系统软件:用来管理整个计算机系统
例如:操作系统、标准程序库、数据库管理系统(DBMS)、网络软件、语言处理程序、服务程序
2、应用软件:按任务需要编制成的各种程序
例如:抖音
硬件的发展
第一代:第一台电子数字计算机:ENIAC(1946)
逻辑原件:电子管
使用机器语言
内存:磁鼓 外存:纸袋
第二代:
逻辑原件:晶体管
出现面向过程的程序设计语言:FORTRAN
有了操作系统雏形
内存:磁芯存储器 外存:磁带
第三代:
逻辑元件:中小规模集成电路
内存:半导体存储器 外存:磁带、磁盘
第四代:
逻辑原件大规模、超大规模集成电路
出现“微处理器”和微型计算机
内存:半导体存储器 外存:磁带、磁盘、光盘、半导体存储器
摩尔定律:集成电路上可容纳的集体管数目,约每隔18个月便会增加一倍,整体性能也可以提升一倍
软件的发展
机器汇编语言——>FORTRAN——>PASCAL——>C++——>java
DOS——>Windows——>安卓/iOS
发展趋势
“两极”分化
一极是微型计算机向更微型化、网络化、高性能、多用途方向发展:
另一极是巨型机向更巨型化、超高速、并行处理、智能化方向发展
计算机硬件组成
冯诺依曼计算机
存储程序:将指令以二进制代码的形式事先输入计算机的主存储器
输入设备:将信息转换成机器能识别的形式
存储器:存放数据和程序
运算器:算术运算和逻辑运算
输出设备:将结果转换成人们熟悉的形式
控制器:指挥程序运行
软件和硬件在逻辑上可以等效:同一个功能软件、硬件都可以实现
冯诺依曼计算机特点:
1、计算机由五大部分组成
2、指令和数据以同等地位存储于M,按址询问
3、指令和数据都是二进制表示
4、指令由程序码和地址码组成
5、存储程序
6、以运算器为中心
现代计算机
现代计算机:以存储器为中心
CPU=运算器+控制器
硬件工作原理
主存储器
存储体+MAR(地址寄存器)+MDR(数据寄存器)
数据在存储体按地址存储
存储单元:每个存储单元存放一串二进制代码
存储字:存储单元中二进制代码的组合
存储字长:存储单元中二进制代码位数
存储元:存储二进制的电子元件,每个存储元可以存储1bit
MAR位数反映存储单元个数
MDR位数=存储字长
运算器
运算器:用于实现算术运算、逻辑运算
ACC:累加器,存放OP数、运算结果
MQ:乘商寄存器,在乘除运算时,用于存储OP数、运算结果
X:通用的OP数寄存器,用于存放OP数
ALU:算术逻辑单元,通过内部复杂的电路实现算术运算、逻辑运算
控制器
CU+IR+PC
CU:控制单元,分析指令,给出控制信号
IR:指令寄存器,存放当前执行的指令
PC:程序计数器,存放下一条指令地址,自动加一
完成一条指令:取指令(PC)、分析指令(IR)、执行指令(CU)
计算机系统的层次
微程序机器M0(微指令系统)——>传统机器M1(机器语言)——>虚拟机器M2(操作系统机器)——>虚拟机器M3(汇编语言)——>虚拟机器M4(高级语言)
M2向上提供“广义指令”
任何机器都不可能识别汇编语言,需要汇编程序翻译成机器语言
任何机器都不可能识别高级语言,需要编译程序翻译成机器语言
编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序
解释程序:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接着再翻译成下一句
tips:有些语言可以直接通过编译程序翻译成机器语言
计算机性能指标
存储器性能指标
总容量=存储单元个数×存储字长 bit
=存储单元个数×存储字长/8 Byte
CPU性能指标
CPU主频:CPU内数字脉冲信号振荡的评率
CPU时钟周期:CPU时钟周期=1/CPU主频
CPI:执行一条指令所需的时钟周期数
执行一条指令的耗时:一条指令耗时=CPI×CPU时钟周期
IPS:每秒执行多少条指令 IPS=主频/平均CPI
FLOPS:每秒执行多少次浮点运算
K=10^3 M=10^6 G=10^9 T=10^12
系统整体的性能指标
数据通路带宽:数据总线一次所能并行传送信息的位数
吞吐量:指系统在单位时间内处理请求的数量
它取决于信息能多快地输入内存,CPU能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。
响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间
通常包括CPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、1/0操作、操作系统开销等时间)
系统整体的性能指标(动态测试)
基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其他计算机性能进行比较
但是基准程序执行的越快并不说明机器性能越好