1 计算机发展简史
1.1 计算机发展的四个阶段:
第一阶段:电子管计算机(1946-1957)
- 集成度低,空间占用大。
- 功耗高,运行慢。
- 操作复杂,更换程序需要接线。
第二阶段:晶体管计算集(1957-1964)
- 集成度相对较高,空间占用相对小。
- 功率相对低,运行速度较快。
- 操作相对简单,交互更加方便。
第三阶段:集成电路计算机(1964-1980)
计算机变得更小。
功率变得更低。
计算速度变得更快。
第四阶段:超大规模集成电路计算机(1980-现在)
- 一个芯片集成了上百万的晶体管。
- 速度更快,体积更小,价格更低,更能被大众接受。
- 用途丰富:文本处理、表格处理、高交互的游戏与应用。
第五个阶段:未来计算机(畅想)
生物计算机、量子计算机
1.2 微型计算机的发展历史
摩尔定律:集成电路的性能,每18-24个月就会提升一倍。
2 计算机的分类
2.1 超级计算机
特点:
- 功能最强、运算速度最快、存储容量最大的计算机。
- 多用于国家高科技领域和尖端技术研究。
标记他们运算速度的单位是TFlop/s,1TFlop/s=每秒一万亿次浮点运算。
2.2 大型计算机
特点:
- 又称大型机、大型主机、主机等。
- 具有高性能,可处理大量数据与复杂的运算。
- 在大型机市场领域,IBM占据着很大的份额。
- 造价高昂。
2.3 迷你计算机(服务器)
- 也称为小型机,普通服务器。
- 不需要特殊的空调场所。
- 具备不错的算力,可以完成较复杂的运算。
2.4 工作站
- 高端的通用型微型计算机,提供比个人计算机更强大的性能。
- 类似普通台式电脑,体积较大,但性能强劲。
2.5 微型计算机
-
麻雀虽小,五脏俱全。
从构成本质上来讲,个人计算机与前面的分类无异。
3 计算机的体系与结构
3.1 冯诺依曼体系
概念:将程序指令和数据一起存储的计算机设计概念结构。
演变过程: 早期计算机仅含固定用途程序 ==>> 改变程序得更改结构、重新设计电路 ==>> 把程序存储起来并设计通用电路 ==>> 存储程序指令设计通用电路。
组成:
- 必须有一个存储器。
- 必须有一个控制器。
- 必须有一个运算器。
- 必须有一个输入器。
- 必须有一个输出器。
体系:
- 能够把需要的程序和数据送至计算机中。(输入器)
- 能够把长期记忆程序、数据、中间结果及最终运算结果的能力。(存储器)
- 能够具备算术、逻辑运算和数据传送等数据加工处理的能力。(控制器、运算器)
- 能够按照用户要求将结果输出给用户。(输出器)
冯诺依曼瓶颈:
3.2 现代计算机的结构
特点:
- 现代计算机在冯诺依曼体系结构基础上进行修改。
- 解决CPU与存储设备之间的性能差异。
4 计算机的层次与编程语言
4.1 程序翻译与程序解释
缘由:
程序翻译过程:
程序解释过程:
程序解析和程序翻译关系 :
- 计算机执行的指令都是L0。
- 翻译过程生成新的L0程序,解释过程不生成新的L0程序。
- 解释过程有L0编写的解释器去解释L1程序。
4.2 计算机的层次与编程语言
4.2.1 硬件逻辑层
- 门、触发器等逻辑电路组成。
- 属于电子工程的领域。
4.2.2 微程序机器层
- 编程语言是微指令集。
- 微指令所组成的微程序直接交由硬件执行。
4.2.3 传统机器层
- 编程语言是CPU指令集(机器指令)。
- 编程语言和硬件是直接相关。
- 不同架构的CPU使用不同的指令集。
4.2.4 操作系统层
- 向上提供了简易的操作界面。
- 向下提供了指令系统,管理硬件资源。
- 操作系统层是在软件和硬件之间的适配层。
4.2.5 汇编语言层
- 编程语言就是汇编语言。
- 汇编语言可以翻译成可直接执行的机器语言。
- 完成翻译的过程的程序就是汇编器。
4.2.6 高级语言层
- 编程语言为广大程序员所接受的高级语言。
- 高级语言的类别非常多,有几百种。
- 常见的高级语言有:Python、java、C、C++、Golang等。
4.2.7 应用层
满足计算机针对某种用途而专门设计。
5 计算机计算单位
5.1 容量单位
特点:
- 在物理层面,高低电平记录信息。
- 理论上只认识0/1两种状态。
- 0/1能够表示的内容太少了,需要更大的容量表示方法。0/1 称为bit(比特位)
字节:1Byte = 8bits
5.2 速度单位
5.2.1 网络速度
网络常用单位为Mbps,100M/s=100Mbps=100Mbit/s,100Mbit/s=(100/8)MB/s=12.5MB/s
5.2.1 CPU速度
特点:
- CPU的速度一般提现为CPU的时钟频率。
- CPU的时钟频率的单位一般是赫兹(Hz)。
- 主流CPU的时钟频率都在2GHz之上。
Hz是每秒中的周期性变动重复次数的计量。
- Hz其实就是秒分之一。
- 并不是描述计算机领域所转有的单位。
6 计算机的字符与编码集
6.1 字符编码集的历史
6.1.1 ASCII码
特点:
- 使用7个bits接可以完全表示ASCII码。
- 包含95个可打印字符,33个不可打印字符(包括控制字符)。33+95=128^7
缺点:很多应用或者国家中的符号都无法表示。数学符号:
第一次对ASCII进行扩充,7bits==>>8bits(Extended ASCII码)
6.1.2 Extended ASCII码
6.1.3 字符编码集国际化
特点:
- 欧洲、中亚、东亚、拉丁美洲国家的语言多样性。
- 语言体系不一样,不以有限字符组合的语言。
- 中国、韩国、日本等的语言尤为复杂。
6.2 编码集
GB2312:
- 《信息交换用汉字编码字符集--基本集》。
- 一共收录7445个字符。
- 包括6763个汉字和682个其他字符。
GBK:
- 《汉字内码扩展规范》。
- 向下兼容GB3212,向上支持国际iso标准。
- 收录了21003个汉字,支持全部中日韩汉字。
Unicode:
- Unicode:统一码、万国码、单一码。
- Unicode定义了世界通用的符号集,UTF-*实现了编码。
- UTF-8以字节为单位对Unicode进行编码。
Windows系统默认使用GBK编码,编程推荐使用UTF-8编码 。