一、计算机的发展:
(1)什么是计算机系统
计算机系统 = 硬件 + 软件
硬件:计算机的实体 如主机、外设等
软件:又具有各类特殊功能的程序组成
计算机性能的好坏取决于“软”,“硬”件功能的总和
软件又可以分为:
系统软件:(eg:操作系统、数据库管理系统、标准程序库、网络软件、语言处理程序、服务程序)用来管理整个计算机系统
应用软件:(eg:各种app)按任务需要支撑各种程序
(2)硬件的发展
硬件发展
发展阶段 时间 逻辑元件 速度(次/秒)
第一代 1946-1957 电子管 几千-几万
第二代 1957-1964 晶体管 几万-几十万
第三代 1964-1971 中小规模集成电路 几十万-几百万
第四代 1972-现在 大规模、超大规模集成电路 上千万-万亿
第一代:电子管时代
体积大、耗电量高、逻辑元件:电子管
使用机器语言编程
第二代:晶体管时代
体积、功耗降低
出现面向过程的程序设计语言:FORTRAN
有了操作系统的雏形
第三代:中小规模集成电路时代
计算机主要用于科学计算等专业用途
高级语言迅速发展
开始用了分时操作系统
第四代:大规模、超大规模集成电路
开始出现‘微处理器’(cpu)、‘微信计算机’
操作系统:Windows、MacOS、Linus
机器字长:计算机一次整数原酸所能处理的二进制位数
二、冯·诺依曼计算机:
存储程序:将指令以二进制代码的形式事先输入计算机的主存储器
(1)冯·诺依曼计算机的特点:
1、计算机由五大部件组成
2、指令和数据以同等地位存于存储器,可按地址寻访
3、指令和数据用二进制表示
4、指令有操作码和地址码
5、存储程序
6、以运算器为中心
三、现代计算机:
现代计算机以存储器为中心
cpu = 运算器 + 控制器
存储器 = 主存 + 辅存
主机 = cpu + 主存
I/O设备 = 辅存 + 输入设备 + 输出设备
硬件 = 主机 + I/O设备
四、各个硬件的工作原理
(1)主存储器
主存储器:由存储体、MAR(Memory Address Register)、MDR(Memory Data Resgister)组成
存储体:数据存储在存储体内按地址存储
存储单元:每个存储单元存放一串二进制代码
存储字(word):存储单元中二进制代码的组合
存储字长:存储单元中二进制代码的位数
存储元:即存储二进制的电子元件,每个存储元可存1 bit
MAR:MAR位数反映存储单元个数
MDR:MDR位数 = 存储字长
eg:
MAR = 4位 -->总共有2^4个存储单元
MDR = 16位-->每个存储单元可存放16 bit
1个字(word) = 16 bit
1个字节(Byte) = 8 bit
1B = 1个字节,1b = 1 bit
(2)运算器
运算器:用于实现算数运算(加减乘除),逻辑运算(与或非)
ACC:累加器,用于存放操作数,或运算结果
MQ:乘商寄存器,在乘、除运算时,用于存放操作数或运算结果。
X:通用的操作数寄存器,用于存放操作数
*ALU:算数逻辑单元,通过复杂的电路实现算数运算、逻辑运算
(3)控制器
*CU:控制单元、分析指令、给出控制信号
IR:指令寄存器,存放当前执行的指令
PC:程序计数器,存放下一条指令地址,有自动加1功能
完成一条指令:取指令(PC)-->分析指令(IR)-->执行指令(CU)
五、计算机的工作过程
取指令:
(PC)-->MAR
M(MAR)-->MDR
(MDR)-->(IR)
取指令结束(PC)++
分析指令:
OP(IR)-->CU
执行指令根据不同指令步骤不同
eg:加法指令:
Ad(IR)-->MAR
M(MAR)-->MDR
(MDR)-->ACC
CPU区分指令和数据的依据:指令周期的不同阶段
现代计算机通常将MAR、MDR集成在CPU中
六、计算机层次结构
五层:
M4:高级语言机器(执行高级语言)-- 软件
M3:汇编语言机器(执行汇编语言)-- 软件
M2:操作系统机器(向上提供广义指令)-- 软件
M1:传统机器(执行机器语言指令)-- 硬件
M0:微程序机器(执行微指令)-- 硬件
下层是上层的基础,上层是下层的扩展
三种级别语言:
机器语言:二进制代码
汇编语言:助记符
高级语言:C/C++,Java,Python
编译程序:将高级语言编写的源程序全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序(只需翻译一次) eg:c/c++
汇编程序:将汇编语言翻译成机器语言
解释程序:将源程序的一条 语句翻译成对应于机器语言的语句,并立即执行。紧接着再翻译下一-句(每次执行都要翻译) eg:python,javascript
七、计算机的性能指标
(1)存储器的性能指标
总存量 = 存储单元个数 * 存储字长 bit = 存储单元个数 * 存储字长 /8 Byte
1 B = 8 bit
(2)CPU的性能指标
CPU时钟周期 (单位:微秒,纳秒)
CPU主频(时钟频率): = 1 / cpu时钟周期(单位:HZ)
CPI :执行一条指令所需的时钟周期数(不同指令,CPI不同,有时相同的指令,CPI也可能不同)
执行一条指令的耗时 = CPI * CPU时钟周期
CPU执行时间 = )CPI * 指令条数) / 主频
IPS :每秒执行多少条指令
FLOPS : 每秒执行多少浮点运算
(3)系统整体的性能指标
数据通路带宽:数据总线一次所能并行传送信息的位数
吞吐量:指系统在单位时间内处理请求的数量
响应时间:指用户向计算机发送一个请求,到系统对该请求做出响应并获得他所需的结果所等待的时间。