计算机发展简史
计算机发展的四个阶段
第一个阶段:电子管计算机
ENIAC
- 集成度小,空间占用大
- 功耗高,运行速度慢
- 操作复杂,更换程序需要接线;
第二个阶段:晶体管计算机
TX-0/PDP-1
- 集成度相对较高,空间占用相对小
- 功耗相对较低,运行速度较快
- 操作相对简单,交互更加方便
第三个阶段:集成电路计算机
- 计算机变得更小
- 功耗变得更低.
- 计算速度变得更快
- 计算机具备进入千家万户的条件
在这时期,有IBM公司推出7094和1401,他们的主打功能不同,相互无法兼容,使用商又不愿意投入两组人力。
后来迫于压力,IBM推出兼容产品System/360,这是操作系统的雏形
第四个阶段:超大规模集成电路计算机
- 一个芯片集成了上百万的晶体管
- 速度更快,体积更小,价格更低,更能被大众接受
- 用途丰富:文本处理、表格处理、高交互的游戏与应用
APPLE
第五个阶段:未来的计算机
生物计算机、量子计算机
微型计算机的发展历史
受限于性能。
摩尔定律:集成电路的性能,每18-24个月就会提升一倍(现在正在失效,电路越来越复杂)
从单核到多核的发展:
计算机的分类
超级计算机
标记运算速度单位:TFLOP/S
大型计算机
去IOE行动
迷你计算机
现在都从大型机到普通服务器,现在的云服务等等都基于此
工作站
比个人电脑性能强,体积大
微型计算机
台式机,笔记本电脑
计算机的体系与结构
冯诺伊曼体系
将程序指令和数据一 起存储的计算机设计概念结构
要求?
- 必须有一个存储器
- 必须有一个控制器
- 必须有一个运算器
- 必须有输入设备
- 必须有输出设备
现代计算机都是冯诺依曼机
怎么样才能具备?
- 能够把需要的程序和数据送至计算机中
- 能够长期记忆程序、数据、中间结果及最终运算结果的能力
- 能够具备算术、逻辑运算和数据传送等数据加工处理的能力
- 能够按照要求将处理结果输出给用户
冯诺依曼瓶颈
CPU和存储器速率之间的问题无法调和
现代计算机的结构
- 现代计算机在冯诺依曼体系结构基础上进行修改
- 解决CPU与存储设备之间的性能差异问题
这里的存储器,是指围绕CPU的更高速的设备了,不再是磁带这些
可以理解为以存储器为核心
计算机的层次与编程语言
程序翻译与程序解释
人类语言-》计算机语言
需要进行语言之间的转换
程序翻译
C/C++
程序解释
python
- 计算机执行的指令都是L0
- 翻译过程生成新的L0程序,解释过程不生成新的L0程序
- 解释过程由L0编写的解释器去解释L1程序
翻译+解释
JAVA/C#
JVM虚拟机
计算机的层次与编程语言
硬件逻辑层
- 门、触发器等逻辑电路组成
- 属于电子工程的领域
微程序机器层
- 编程语言是微指令集
- 微指令所组成的微程序直接交由硬件执行
传统机器层
- 编程语言是CPU指令集(机器指令)
- 编程语言和硬件是直接相关
- 不同架构的CPU使用不同的CPU指令集
一条机器指令对应一个微程序
一个微程序对应一组微指令
操作系统层
- 向上提供了简易的操作界面
- 向下对接了指令系统,管理硬件资源
- 操作系统层是在软件和硬件之间的适配层
汇编语言层
- 编程语言是汇编语言
- 汇编语言可以翻译成可直接执行的机器语言
- 完成翻译的过程的程序就是汇编器
高级语言层
- 编程语言为广大程序员所接受的高级语言
- 高级语言的类别非常多由几百种
- 常见的高级语言有: Python、 Java、 C/C++、 Golang等
应用层
- 满足计算机针对某种用途而专门设计
计算机的计算单位
容量单位
MB、G、T
(高低电位) 0/1 又称为bit(比特位)
1B = 8bits
1KB = 1024 = $2^(10)$B
硬盘商一般用10进制标记容量 500G(实际容量是$500*1000^3/1024^3=465G$)
速度单位
100M带宽->100M/s-》100Mbps=》100Mbit/s -》12.5MB/S
测试峰值速度只有12M每秒,这里的每秒指的是下了多少容量
CPU速度
HZ (秒分之一) 每秒中的周期性重复次数的计量
主流cpu时钟频率都在2GHZ以上
计算机的字符与编码集
字符编码集的历史
ASCII码
- 使用7个bits就可以完全表示ASCII码
- 包含95个可打印字符
- 33个不可打印字符(包括控制字符)
$33+95=128=2^7$
很多应用或者国家中的符号都无法表示
Extended ASCII码
第一次对ASCI码进行扩充, 7bits => 8bits
字符编码集的国际化
- 欧洲、中亚、东亚、拉丁美洲国家的语言多样性
- 语言体系不一-样,不以有限字符组合的语言
- 中国、韩国、日本等的语言最为复杂
中文编码集
GB2312
- 《信息交换用汉字编码字符集——基本集》
- 一共收录了7445个字符
- 包括6763个汉字和682个其它符号
GBK
- 《汉字内码扩展规范》
- 向下兼容GB2312,向上支持国际ISO标准
- 收录了21003个汉字,支持全部中日韩汉字
兼容全球的字符集: Unicode
- Unicode: 统一码、万国码、单一码
- Unicode定义了世界通用的符号集,UTF-*实现了编码
- UTF-8以字节为单位对Unicode进行编码
- Windows系统默认使用GBK编码
- 编程推荐使用UTF-8编码