1. 计算机的体系与结构
1.1 冯诺伊曼体系
冯诺伊曼体系是将程序指令和数据一起存储的计算机设计概念结构。
早期计算机体系:
冯诺伊曼体系:
冯诺伊曼体系包含:
- 储存器
- 控制器
- 运算器
- 输入设备
- 输出设备
冯诺伊曼体系的优势:
- 能够把需要的程序和数据送至计算机中
- 能够长期记忆程序、数据、中间结果及最终运算结果的能力
- 能够具备算术、逻辑运算和数据传送等数据加工处理的能力
- 能够按照要求将处理结果输出给用户
冯诺伊曼体系的瓶颈:
CPU和存储器速率之间的问题无法调和,导致CPU经常空转等待数据传输。
1.2 现代计算机的结构
现代计算机在冯诺依曼体系结构基础上进行修改,解决了解决CPU与存储设备之间的性能差异问题。
2. 计算机的层次与编程语言
2.1 程序翻译与程序解释
2.1.1 程序翻译
C/C++、Object-C、Golang
2.1.2 程序解释
Python、Php、Javascript
2.1.3 翻译+解释
2.2 计算机的层次与编程语言
2.2.1 计算机层次
计算机层的目的是便于理解
-
硬件逻辑层
门、触发器等逻辑电路组成,属于电子工程的领域 -
微程序机器层
编程语言是微指令集,微指令所组成的微程序直接交由硬件执行 -
传统机器层
编程语言是CPU指令集(机器指令),编程语言和硬件是直接相关,不同架构的CPU使用不同的CPU指令集
-
操作系统层
向上提供了简易的操作界面,向下对接了指令系统,管理硬件资源,操作系统层是在软件和硬件之间的适配层 -
汇编语言层
编程语言是汇编语言,汇编语言可以翻译成可直接执行的机器语言,完成翻译的过程的程序就是汇编器 -
高级语言层
编程语言为广大程序员所接受的高级语言,高级语言的类别非常多,有几百种,Python、Java、C/C++、Golang等 -
应用层
满足计算机针对某种用途而专门设计
3. 计算机的计算单位
3.1 容量单位
问题:为什么网上买的移动硬盘500G,格式化之后就只剩465G了?
答案:硬盘商一般用10进位标记容量。
3.2 速度单位
3.2.1 网络速度
问题:为什么电信拉的100M光纤,测试峰值速度只有12M每秒?
答案:网络常用单位为(Mbps),Mbps是megabits per second的缩写,是一种传输速率单位,1Mbps=0.125MB/s。
100M/s = 100Mbps = 100Mbit/s=(100/8)MB/s=12.5MB/s
3.2.2 CPU频率
CPU的速度一般体现为CPU的时钟频率,CPU的时钟频率的单位一般是赫兹(Hz),主流CPU的时钟频率都在2GHz以上。
4. 计算机的字符与编码集
4.1 字符编码集的历史
(1)ASCII码
- 使用7个bits就可以完全表示ASCII码
- 包含95个可打印字符
- 33个不可打印字符(包括控制字符)
(2)Extended ASCII码
- 8个bits表示
- 常见数学运算符
- 带音标的欧洲字符
- 其他常用符、表格符等
(3)字符编码集的国际化
- 欧洲、中亚、东亚、拉丁美洲国家的语言多样性
- 语言体系不一样,不以有限字符组合的语言
- 中国、韩国、日本等的语言最为复杂
4.2 中文编码集
(1)GB2312
- 《信息交换用汉字编码字符集——基本集》
- 一共收录了 7445 个字符
- 包括 6763 个汉字和 682 个其它符号
(2)GBK
- 《汉字内码扩展规范》
- 向下兼容GB2312,向上支持国际ISO标准
- 收录了21003个汉字,支持全部中日韩汉字
(3)兼容全球的字符集:Unicode
- Unicode:统一码、万国码、单一码
- Unicode定义了世界通用的符号集,UTF-*实现了编码
- UTF-8以字节为单位对Unicode进行编码
注意:
- Windows系统默认使用GBK编码
- 编程推荐使用UTF-8编码