本篇将简要介绍:
1.计算机的发展历程
2.计算机硬件的基本组成(五大部分及冯诺依曼结构)
3.各个硬件部件(包含详细工作过程)
4.计算机系统的多级层次结构
5.计算机性能指标
(1)计算机系统 = 硬件+软件
①硬件:计算机的实体,如主机、外设等
②软件:由具有各类特殊功能的程序组成
③计算机性能的好坏取决于二者功能的总合
(2)软件
①系统软件:用来管理整个计算机系统
1)操作系统
2)数据库管理系统(DBMS)
3)标准程序库(编程时使用的库函数)
4)网络软件(实现tcp协议等的软件)
5)语言处理程序(把编程语言翻译成机器语言)
6)服务程序(如调试程序)
② 应用软件:按任务需要编制成的各种程序(如抖音、王者荣耀等)
①机器字长:计算机异常整数运算所能处理的二进制位数
②摩尔定律
1)揭示了信息技术进步的速度
2)集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍
(1)编程语言的发展
(2)操作系统软件的发展(DOS/WINDOWS)
(1)微型计算机向更微型以、网络化、高性能、多用途方向发展
(2)巨型机向更巨型化、超高速、并行处理、智能化方向发展
如神威·太湖之光(每秒9.3亿亿次的浮点运算)
(1)ENIAC(手动接线来控制计算)
(2)存储程序:将指令以二进制代码的形式事先输入计算机的主存储器(即内存),然后按其在存储器中的首地址来执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
(3)在计算机系统中,软件和硬件在逻辑上是等效的
Eg:对于乘法运算,可以设计一个专门的硬件电路实现乘法运算,也可以用软件的方式,执行多次加法运算来实现
(4)冯诺依曼机的特点
①计算机由5大部件组成(输入设备和输出设备统称为I/O设备)
②指令和数据以同等地位存于存储器,可按地址寻访
③指令和数据用二进制表示
④指令由操作码和地址码组成
⑤存储程序
⑥以运算器为中心(输入/输出设备与存储器之间的数据传送通过运算器完成)
(5)该种模式降低了数据处理效率
(1)现代计算机:以存储器为中心
(2)CPU=运算器+控制器
(1)基本组成
①存储体
②MAR:Memory Address Register(存储地址寄存器)
③MDR:Memory Data Register(存储数据寄存器)
④形象理解
(2)存储体
①数据在存储体内按地址存储,每个地址对应一个存储单元
②存储单元:每个存储单元存放一串二进制代码
③存储字(word):存储单元中二进制代码的组合
④存储字长:存储单元中二进制代码的位数(通常为8bit整数倍)
⑤存储元:即存储二进制的电子元件(电容),每个存储元可存1bit
⑥MAR位数反映存储单元的个数
⑦MDR位数=存储字长
⑧注意:
1)1个字节(Byte)= 8bit
2)1B=1个字节,1b=1个bit
(1)用于实现算术运算(如:加减乘除)、逻辑运算(如:与或非)
(2)基本组成
①Acc:累加器,用于存放操作数或运算结果
②MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
③X:通用的操作数寄存器,用于存放操作数(一般有多个)
④ALu(核心):算术逻辑单元,通过内部复杂的电路实现算数运算、逻辑运算
(1)基本组成
①CU(Control Unit):控制单元(最核心),分析指令,给出控制信号
②IR(lnstruction Register):指令寄存器,存放当前执行的指令
③PC(Program Counter):程序计数器,存放下一条指令地址,有自动加1功能
小结:
(1)举例
①
②
③地址0的过程(其余指令与此基本相同)
初:(PC)=0,指向第一条指令的存储地址
1)#1:(PC)->MAR,导致(MAR)=0
2)#3: M(MAR)->MDR,导致(MDR)=000001 0000000101
3)#4: (MDR)→>IR,导致(IR)=000001 0000000101
4)#5:OP(IR)->CU,指令的操作码送到CU,CU分析得知,这是取数指令
5)#6:Ad(IR)>MAR,指令的地址码送到MAR,导致(MAR)=5
6)#8:M(MAR)->MDR,导致(MDR)=0000000000000010=2
7)#9:(MDR)->ACC,导致(ACC)=0000000000000010=2
④注:
1)取指令(#1~#4)
2)分析指令(#5)
3)执行取数指令(#6~#9)
4)PC会自动+1,指向下一条指令
(2) 总结
“取数”指令的执行:
(从主存中指定地址处取数)
①(PC)—> MAR
②M(MAR)—>MDR
③(MDR)一>lR
取指令结束
④(PC)+1->PC
⑤OP(IR)—>CU
以上为必经步骤
分析指令结束
⑥Ad(IR)—> MAR
⑦M(MAR)—>MDR
⑧(MDR)—>ACC
执行指令结束
(3)对应指令解释
①M:主存中某存储单元
②ACC、MQ、X、MAR、MDR…相应寄存器
③M(MAR):取存储单元中的数据
④(ACC)…;:取相应寄存器中的数据
⑤指令:操作码,地址码
⑥OP(IR):取操作码
⑦Ad(IR):取地址码
到此可回顾一下冯诺依曼计算机的特点
(1)
(2)编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序(.exe文件),而后再执行机器语言程序(只需翻译一次)
(3)解释程序:将源程序的一条语句翻译成对应于机器语言的语句,并立即执行。紧接着再翻译下一句(每次执行都要翻译)
(1)MAR位数反映存储单元的个数(最多支持多少个)
(2)MDR位数=存储字长=每个存储单元的大小
(3)总容量=存储单元个数x存储字长bit(1Byte = 8bit)
=存储单元个数×存储字长/8 Byte
(4)Eg: MAR为32位,MDR为8位
总容量=232* 8 bit = 4GB
(5)1K=2^10
1M=2^20
1G=2^30
1T=2^40
(1)CPU主频: CPU内数字脉冲信号振荡的频率,一秒有多少时钟周期
(2)CPU时钟周期(单位:微秒、纳秒)
(3)CPU主频(单位:赫兹)(时钟频率)=1/CPU时钟周期
(4)CPI (Clock cycle Per Instruction):执行一条指令所需的时钟周期数(不同的指令,CPI不同。甚至相同的指令,CPI也可能有变化)
注:单独的CPI不能准确比较出计算机性能
(5)执行一条指令的耗时=CPI × CPU时钟周期
①Eg:某CPU主频为1000Hz,某程序包含100条指令,平均来看指令的CPI=3。该程序在该CPU上执行需要多久?
②100* 3* 1/1000= 0.3 s
③CPU执行时间(整个程序的耗时)=CPU时钟周期数/主频= (指令条数*CPI)/主频
(6)lPS ( lnstructions Per Second ) :每秒执行多少条指令(IPS=主频/平均CPI)
(7)FLOPS (Floating-point Operations Per Second):每秒执行多少次浮点运算
①计算(6)(7)时,通常加上K、M、G、T等计算,此处K、M、G、T为数量单位
②K=Kilo=千,M=Million=百万,G=Giga=十亿,T=Tera=万亿
(1)数据通路带宽:数据总线一次所能并行传送信息的位数(各硬件部件通过数据总线传输数据)
(2)吞吐量:指系统在单位时间内处理请求的数量。
①它取决于信息能多快地输入内存,CPu能多快地取指令,数据能多快地从内存取出或存入,以及所得结果能多快地从内存送给一台外部设备。
②这些步骤中的每一步都关系到主存,因此,系统吞吐量主要取决于主存的存取周期。
(3)响应时间:指从用户向计算机发送一个请求,到系统对该请求做出响应并获得它所需要的结果的等待时间。通常包括cPU时间(运行一个程序所花费的时间)与等待时间(用于磁盘访问、存储器访问、I/o操作、操作系统开销等时间)。
基准程序是用来测量计算机处理速度的一种实用程序,以便于被测量的计算机性能可以与运行相同程序的其它计算机性能进行比较。
在概述中,应重点记忆硬件各部分组成及其功能,理解计算机执行指令过程,了解计算机发展历程,对计算机有局部与整体的概念。
如有问题,欢迎指正!
下一篇将介绍——总线。