一.计算机的发展
存储器历史
芯片历史
1.发展历史
1.1.机器时代(计算机时代:0)
- 1622 —— Wilhelm Schickard发明第一台计算钟
- 1642 —— 帕斯卡(Blasie Pascal)发明了机器加分器
- 1670 —— 莱布尼兹(Gottfried Leibniz)改进发明了步进式计算器
- 1822 —— 巴贝奇(Charkes Babbage)发明了差分机
- 1833 —— 巴贝奇(Charkes Babbage)发明了分析机
- 1888 —— 霍勒瑞斯(Herman Hollerith)发明了机电式打卡系统 制表机
- 1938 —— 朱斯(Konrad Zuse) 发明了二进制计算机 Z-1
- 1944 —— 艾肯(Howard Aikean) 发明通用型机电计算器 MARK-1
1.2.电子管计算器(计算机时代:1)
1946 —— John Mauchly+J.Presper Eckert 发明了电子数字积分器和计算器ENIAC
电子管时代计算机特点:
-
基本元器件使用了体积大,功耗大,可靠性低的电子管
-
开始存储程序,存储使用容量很小的汞延迟线或静电存储管
-
使用简单输入输出设备:纸孔卡带
-
程序语言为机器语言
1.3.晶体管计算器(计算机时代:2)
1948 —— John Bardeen+Walter Brattain+William Shockley发明了晶体管,推动了计算机的进步
晶体管时代计算机特点
- 基本元器件使用了可靠性高,体积小的晶体管
- 采用了磁芯存储器做为主存,磁盘,磁带做为辅存
- 提出操作系统的功能,出现了汇编语言
1.4.集成电路计算机(计算机时代:3)
1952 G.W.A.Dummer提出了集成电路理论
1958 Jack Kilby+Robert S.Noyce发明了集成电路
集成电路时代计算机特点
- 基本元器件集成电路
- 主存:半导体存储器
- 操作系统进一步明确和完善,高级语言进一步发展
- 计算机研制开始系列化、通用化、标准化
1.5.大规模和超大规模计算机(计算机时代:4)
1971 —— Intel 制造出第一个微处理器芯片Intel 4004
1978 —— 8位处理器 Intel 8008
1978 —— 16位处理器Intel 8086
1981 —— 微机IBM PC
大规模计算机特点
- 计算机体系结构大发展: 虚拟存储技术,流水线技术,高速缓冲存储器技术,并行处理技术
- 内存的容量和速度大幅度提高
- 计算机外围设备的种类越来越丰富
- 系统软件功能越来越强
- 应用软件越来越丰富
1.6.系列机
在产生了多种计算机生产厂商后,为保证用户体验所共有的特性
向前兼容性: 同一公式不同时期生产的计算机,系统结构(命令系统,数据格式,控制方式,数字编码,输入输出) 相同
投资保护: 在底端机编写的程序可以不经更改就能在高端机上运行
二.计算机分类与性能指标
1.运算速度划分
种类 | 每秒运算速度 | 常用领域 |
---|---|---|
巨型机 | 万亿次 | 国防尖端 |
大型机 | 1亿 | 中心数据库,应用服务器 |
小型机 | 几百万 | 小型UNIX服务器 |
微型机 | 百万条 | 个人使用 |
工作站 | 百万条——几百万 | 专用某一领域 |
2.综合划分
种类 | 划分标准 | 常用领域 |
---|---|---|
高性能计算机 | 世界计算机排名>500 | 超级计算机 |
微型计算机 | 为个人开发的计算机 | 个人使用 |
工作站 | 为专门领域开发的计算机 | 专业领域使用 |
服务器 | 为用户提供服务的计算机 | 服务器领域 |
嵌入式计算机 | 嵌入式微处理器+外围硬件设备+监视\管理功能 |
3.计算机性能评测
-
TPC评测体系: 联机事务处理工作量的一个衡量标准
- 测量方法: 每分钟的命令处理数量
-
SPEC评测体系: 全面衡量Web应用中java企业应用服务器性能的基础测试
4.计算机性能指标
- 吞吐量: 在期间内,计算机系统完成的工作负载
- 相应时间: 输入作业到输出作业的间隔时间
- 主频: CPU内数字脉冲信号振荡速度
- cpu时钟周期: 一个脉冲即逻辑零状态与逻辑一状态来回切换一次用的时间
- CPI: 执行一条指令所需的时钟周期数
- CPU执行时间: CPU全速完成某进程的时间
C P U 执 行 时 间 = C P U 时 钟 周 期 数 时 钟 频 率 CPU执行时间=\frac{CPU时钟周期数}{时钟频率} CPU执行时间=时钟频率CPU时钟周期数
- MIPS: 每秒执行多少百万条指令
M I P S = 指 令 条 数 执 行 时 间 ∗ 1 0 − 6 MIPS=\frac{指令条数}{执行时间*10^{-6}} MIPS=执行时间∗10−6指令条数
- MFLOPS: 每秒执行多少百万次浮点运算
M F L O P S = 浮 点 数 操 作 次 数 执 行 时 间 ∗ 1 0 − 6 MFLOPS=\frac{浮点数操作次数}{执行时间*10^{-6}} MFLOPS=执行时间∗10−6浮点数操作次数
G F L O P S = 浮 点 数 操 作 次 数 执 行 时 间 ∗ 1 0 − 9 GFLOPS=\frac{浮点数操作次数}{执行时间*10^{-9}} GFLOPS=执行时间∗10−9浮点数操作次数
T F L O P S = 浮 点 数 操 作 次 数 执 行 时 间 ∗ 1 0 − 12 TFLOPS=\frac{浮点数操作次数}{执行时间*10^{-12}} TFLOPS=执行时间∗10−12浮点数操作次数
P F L O P S = 浮 点 数 操 作 次 数 执 行 时 间 ∗ 1 0 − 15 PFLOPS=\frac{浮点数操作次数}{执行时间*10^{-15}} PFLOPS=执行时间∗10−15浮点数操作次数
三.计算机的基本组成
1.计算机硬件结构
仅从外观看: 显示器,机箱,键盘,鼠标
主机构成看: 电源,主板,硬盘,光驱,显卡,网卡
2.计算机功能结构
组成: 在冯.诺依曼体系中计算机由运算器,控制器,输入设备,输出设备组成。
存储程序: 将要执行的数据和程序事先存放在存储器中
2进制使用: 指令和处理的数据都有2进制表达
顺序执行程序: 要执行的程序先保存主存储器中,在执行时按照顺序,一条条的读取并执行程序。
2.1.运算器
运算器: 计算机内用于完成运算的部件
ALU: 运算器核心部件,完成各种算术运算和逻辑运算
2.2.控制器
控制器: 计算机内用程序控制硬件的部件
程序执行流程:
-
程序计数器(PC): 存放下一条执行指令的地址存储器
-
指令寄存器(IR): 存放PC从存储器中取出的指令代码,其一般为一个字节指令长,由两个字段=指令操作码(OP)字段+操作数或转移地址Addr字段组成。
- OP:指出指令类型(加减乘除)
- Addr:顺序指令中指出操作数类型和存放地址,转移/转子指令中指出转子地址
-
指令译码器(ID): 对OP字段进行译码,将结果输出给控制器信号产生部件,通知其当前执行改指令。
-
地址生成器(AG): 生产操作数在存储器中的单元地址
-
地址寄存器(AR):
- 存放地址生成器生产的地址
- 存放当前转移/转子指令产生要转向的指令地址
-
时令部件(CP): 产生时序,指导控制信号的产生顺序
-
控制信息产生部件: 为完成指令译码后的操作而生成的硬件控制信号
2.3.存储器
存储器: 计算机内用于存储程序和数据的部件
- 物理意义: 存储器由具有一定记忆功能的物理器件构成
- 逻辑意义: 由一个个存储单元构成
2.4.输入输出接口与设备
输入输出接口/设备: 计算机外围设备,完成人机交互
四.计算机语言
功能: 提供人与计算机交互的功能
硬件相关程度 | 语言 | 介绍 |
---|---|---|
高 | 机器语言 | 一种直接能被计算机识别的二进制语言 |
中 | 汇编语言 | 由符号对应二进制指令,通过操作符号,符号转二进制操作计算机 |
底 | 高级语言 | 与机器完全无关的程序设计语言,具有更强的表达能力 |