一 、章节导学
- 计算机的发展简史
- 计算机的分类
- 计算机的体系结构
- 计算机的层次与编程语言
- 计算机的计算单位
- 计算机的字符与编码集
二、计算机的发展历史
- 计算机发展的四个阶段
- 微型计算机的发展历史
1. 计算机发展的四个阶段
阶段 | 时间 | 名称 |
---|---|---|
第一阶段 | 1946-1957 | 电子管计算机 |
第一阶段 | 1957-1964 | 晶体管计算机 |
第一阶段 | 1964-1980 | 集成电路计算机 |
第一阶段 | 1980-现在 | 超大规模集成电路计算机 |
1.1 第一个阶段:电子管计算机
集成度小,空间占用大
功耗高,运行速度慢
-
操作复杂,更换程序需要接线
第二次世界大战是电子管计算机产生的催化剂
英国为了解密德军海军的密文
- 战争使用了飞机和火箭
- 打得准则需要计算射击参数
- 射击参数需要几千次运算才能计算出来
没有计算机前,需要人手算
埃尼阿克(ENIAC)
- 18000多个电子管
- 运行耗电量150千瓦
- 重量达30吨,占地1500平方英尺
1.2 晶体管计算机
- 集成度相对较高,空间占用相对小
- 功耗相对较低,运行速度较快
- 操作相对简单,交互更加方便
贝尔实验室的三个科学家发明了晶体管
TX-0
- 来自MIT林肯实验室
PDP-1
- 4k内存,每秒200,000指令
- 配备512*512的显示器
1.3 集成电路计算机
- 计算机变得更小
- 功耗变得更低
- 计算速度变得更快
德州仪器的工程师发明了集成电路(IC)
计算机具备了进入千家万户的条件
IBM:7094,1401
- 主打功能不同
- 相互无法兼容
- 不愿意投入两组人力
IBM退出兼容的产品System/360 ==> 操作系统的雏形
1.4 超大规模集成电路
- 一个芯片集成了上百万的晶体管
- 速度更快,体积更小,价格更低,更能被大众接受
- 用途丰富:文本处理、表格处理、高交互的游戏与应用
1.5 未来的计算机
生物计算机:以蛋白质分子作为主要原材料
- 体积小
- 不易损坏,生物级别的自动修复
- 不受信号干扰,无热损耗
量子计算机:遵循量子力学的物理计算机
- 2013年5月,谷歌和NASA发布D-Wave Two
- 2017年5月,中国科学院宣布制造出光量子计算机
- 2019年1月,IBM展示了世界首款商业化量子计算机
- 腾讯在2017年就组建了量子实验室
- 阿里巴巴在2017年成立了达摩院
2. 微型计算机的发展历史
2.1 受限于性能
单核CPU
- (1971 ~ 1973) 500KHz频率的微型计算机(字长8位)
- (1973 ~ 1978) 500KHz频率的微型计算机(字长8位)
- (1978 ~ 1985) 500KHz频率的微型计算机(字长8位)
- (1985 ~ 2000) 500KHz频率的微型计算机(字长32位)
- (2000 ~ 今) 500KHz频率的微型计算机(字长64位)
2.2 摩尔定律
集成电路的性能,每18-24个月就会提升一倍
多核CPU
- (2005)Intel奔腾系列双核CPU、AMD速龙系列
- (2006)Intel酷睿四核CPU
- Intel酷睿系列十六核CPU
- Intel志强系列五十六核CPU
三、计算机的分类
1. 超级计算机
- 功能最强、运算速度最快、存储容量最大的计算机
- 多用于国家高科技领域和尖端技术研究
- 标记他们运算速度的单位是TFlop/s
1TFlop/s=每秒一万亿次浮点计算
Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz:44.87 GFlop/s
44.87 GFlop/s = 0.04487TFlop/s
2. 大型计算机
- 又称大型机、大型主机、主机等
- 具有高性能,可处理大量数据与复杂的运算
- 在大型机市场领域,IBM占据着很大的份额
IBM Z9
- NASA 最后一台大型机
- Red Hat Enterprise Linux
- 大型机造价高昂
去“IOE”行动:I(IBM),O(Oracle),E(EMC)
- 去”IOE“是阿里巴巴提出的概念
- 代表了高维护费用的存储系统
- 不够灵活,伸缩性弱
去“IOE”运动(阿里2008年提出)=> 阿里云(阿里云2009年成立)
3. 迷你计算机
- 也称为小型机,普通服务器
- 不需要特殊的空调场所
- 具备不错的算力,可以完成较复杂的运算
大型机 => 普通服务器
普通服务器已经代替了传统的大型机,成为大规模企业计算的中枢
4. 工作站
- 高端的通用微型计算机,提供比个人计算机更强大的性能
-
类似于普通台式电脑,体积较大,但性能强劲
5. 微型计算机
- 又称为个人计算机,是最普通的一类计算机
台式机,笔记本电脑,一体机 - 麻雀虽小、五脏俱全
从构成的本质上来讲,个人计算机与前面的分类无异
四、 计算机的体系结构
1. 冯诺依曼体系
1.1 概念
将程序指令和数据一起存储的计算机设计概念结构
现代计算机都是冯诺依曼机
1.2 要求
- 必须有一个控制器
- 必须有一个存储器
- 必须有一个运算器
1.3 功能
- 能够长期记忆程序、数据、中间结果及最终运算结果的能力
- 能够把需要的程序和数据送至计算机中
- 能够具备算术、逻辑运算和数据传送等数据加工处理的能力
- 能够按照要求将处理结果输出给用户
1.4 结构
1.5 冯诺依曼瓶颈
2. 现代计算机的结构
- 现代计算机在冯诺依曼体系结构基础上进行修改
- 解决CPU与存储设备之间的性能差异问题
五、 计算机的层次与编程语言
1. 程序翻译与程序解释
1.1 为什么要程序翻译
1.2 程序翻译
1.3 程序解析
1.4 程序翻译与程序解析
- 计算机执行的指令都是L0
- 翻译过程生成新的L0程序,解释过程不生成新的L0程序
- 解释过程由L0编写的解释器去解释L1程序
1.5 语言分类
程序翻译
C/C++
Object-C
Golang程序解释
Python
Php
JavaScript翻译+解释
Java
C#
2. 计算机的层次与编程语言
2.1 硬件逻辑层
- 门、触发器等逻辑电路组成
- 属于电子工程的领域
2.2 微程序机器层
- 编程语言是微指令集
- 微指令所组成的微程序直接交由硬件执行
2.3 传统机器层
- 编程语言是CPU指令集(机器指令)
- 编程语言和硬件是直接相关
- 不同架构的CPU使用不同的CPU指令集
微指令 < 微程序 = 机器指令
- 一条机器指令对应一个微程序
- 一个微程序对应一组微指令
2.4 操作系统层
- 向上提供了简易的操作界面
- 向下对接了指令系统,管理硬件资源
- 操作系统层是在软件和硬件之间的适配层
2.5 汇编语言层
- 编程语言是汇编语言
- 汇编语言可以翻译成可直接执行的机器语言
- 完成翻译的过程的程序就是汇编器
PUSH DS
PUSH AX
MOV AX,0040
MOV DS,AX
2.6 高级语言层
- 编程语言为广大程序员所接受的高级语言
- 高级语言的类别非常多,由几百种
- 常见的高级语言有:Python、Java、C/C++、Golang等
2.7 应用层
- 满足计算机针对某种用途而专门设计
有疑问加站长微信联系(非本文作者)