计算机速成课个人理解概要
1.计算机的本质
计算机的本质:极其简单的组件,经过一层层复杂的抽象,做出复杂的工作
2.控制电流的技术发展
继电器→真空管→晶体管 拥有了细微控制电流的手段
tip:早期机械计算机,被虫子(bug)卡住引发故障,故现代编程有debug之称
3.电流可以传递信号,通过电路逻辑门可以参与逻辑运算
二进制:通电1 断电0 防干扰,拥有数学布尔代数的现成优势
基于此引出基本的逻辑电路
抽象
特点
NOT 非门
真假反转
AND 与门
同真为真,一假即假
OR 或门
一真为真,同假为假
XOR 异或门
同假异真
可将逻辑门用符号简化,抽象使得工程师更加关注于整体而不必关心细节
4.信号可以存储信息
0 1 皆为1位 bit 8位为1字节 byte
数的存储
整数,一位符号位,其余皆数位
浮点数 符号位 指数位 有效数位
ASCII Unicode
5.逻辑门可以抽象成算术逻辑单元
算术逻辑单元 ALU,Arithmetic&Logic Unit
由一个算数单元和一个逻辑单元组成
算数单元:
由基础的门组件抽象成半加器(只能用于一位运算),多个半加器抽象成一个全加器(可用于多位运算)
逻辑单元:
执行逻辑操作及数值验证操作
把算数逻辑单元再次进行抽象,用V表示
tips:算数单元处理位数有限,超过位数会溢出
6.逻辑门可以抽象成存储结构
使用逻辑门可抽象成锁存器(存储一位),多个并列的锁存器抽象成一个寄存器(可用于多位存储)
使用门锁矩阵有利于统筹管理,对访问和修改的权限进行限制
内存是由多个存储模块抽象出来的
7.逻辑门的抽象组合成更高的抽象 :cpu
cpu负责执行程序,时钟精准地调控着CPU的运行节奏
cpu内部如果用一条线连接两个组件,这条线是所以必要线路的抽象
cpu工作过程主要有三步:取指令,解码,执行
8.强大而抽象的控制方式 :指令与程序
指令集是指令的使用说明,不同指令具有不同简单的功能,多个指令组合成强大的程序,可以去处理复杂的任务。
9.现代CPU的性能性能提升
使用新的制造工艺
增加核心数
提高时钟频率
增加缓存容量
改进设计架构
10.早期的编程方式
纸带,插板,开关
11.编程语言的发展
机器码
汇编
低级语言
高级语言
12.语句与函数
语句:描述一种状态
函数:实现一种单一的功能
13.算法
算法是一种处理数据的手段,人们常常用它寻找最优解,针对算法的效率提出了时间复杂度和空间复杂度
14.数据结构
数据结构是一种组织数据的手段,针对不同的数据,不同的问题,具有不同的组织方式
15.图灵机
图灵机可以解决一切计算问题但不能解决一切问题,和图灵机一样完备叫作图灵完备,通过图灵测试则证明计算机达到了智能程度
16.软件工程
把相关函数打包成对象的思想叫作面向对象编程
通过程序编程接口API可以控制访问,选择性公布功能 public private
通过 ide, debug tools, git, qa, alpha等方式,保证软件的质量
17.集成电路与摩尔定律
从分立元件到集成电路ic 通过PCB印刷电路板实现
光刻技术的进步使得小型化成为现实
摩尔定律总结了性能和成本的规律但正在受到光波长,量子效应的挑战
18.操作系统
os也是一种程序,具有操作硬件的特殊权限,运行管理着其他的程序,充当着软硬件之间的桥梁
为程序分配运算资源,存储资源,保障程序安全有序地进行
为硬件提供 i/o接口,使之抽象成软件,进而对其进行操纵
19.存储技术的发展
技术创新使得存储的效率越来越高,考虑到整体的性价比,混合存储最为有利
20.文件系统
区分不同的文件格式,可以方便存取数据,支持特定应用
文件系统可以进行资源管理和保护数据
21.压缩
通过对于数据的压缩,我们可以存储更多数据和传输数据的速度也可以更快
主要分为无损和有损两大类,依据人类的感知而定
22.命令行界面
输入命令计算机会给予回应
23.屏幕与图像显示
随着物理的发展和人机交互的进一步需求出现了屏幕
进而催生了图像显示
24.政府和消费者促进计算机发展
政府巨额投资促进计算机科学的发展
消费者的选择决定计算机技术的表达形式
25.个人计算机革命
技术进步推动生产力的提升,计算机成为相对廉价的产品
26.图形化用户界面GUI
事件驱动编程,(函数指针)
所见即所得
27.3D图形
3D转化为2D在计算机上显示
28.计算机网络
每个计算机都有一个固定的MAC地址,用于计算机之间的通信识别,多个计算机可以组成一个局域网,局域网以上可能有更大的区域网络,从另一个有固定MAC的计算机获取数据时可能跳转多个层级局域网,而在经过传输媒介获取数据的过程中可能出现冲突,可以使用交换器将计算机分组避免,传输数据也可以将数据分组以使用数据包来运输
29.互联网
互联网是更大的计算机网络连接着更多的计算机,为了实现数据传输的要求,我们制定了诸多的协议,为了便于人类的检索习惯我们将域名和ip地址一一对应财采用树状检索,为了使通信变得高效我们抽象了OSI(开放式系统互联网通信参考模型),一共七个层级
30.万维网
万维网运行在互联网上,它的组成基本单位是网页,我们使用超链接进行网页之间的跳转,使用状态码标出网页的状态,每一个网页都有唯一的URL,使用http和html等便于我们传输网页数据和展示网页内容
万维网的诞生基础和万维网的检索方式,以及传输数据的公平性
31.计算机安全
核心是只有被授予权限的人才可以使用计算机
针对权限的人我们要具有验证的方式
针对计算机,我们要保证计算机本身的稳定性和数据的完整性
32.黑客与攻击
针对计算机安全进行破解,如漏洞的利用,身份的欺骗等,通常是为了谋取利益
33.加密
加密是为了保护数据的安全,
要对数据进行解密就需要规定对加密数据解密的形式与规则
常见的有两种,对称加密和非对称加密
34.机器学习与人工智能
对得到的样本更具特性进行分类,对不同特性施加权重,在大量数据的总结下,针对一个问题可以得到解,前提是问题,方法是已知的
35.计算机视觉
计算机通过对像素的局部或整体的分析,用以识别图像的信息,从而达到正确的反馈
36.自然语言处理
针对人类的自然语言进行数据化处理
37.机器人
打造似人的机器,用来代替人来为人类服务
38.计算机心理学
人本思想,所有的造物应该以人类为中心,计算机更应该如此,计算机的一次次技术发展也是人类选择的原因
39.教育科技
计算机的发展促进了教育表现的形式,可以使人类更加高效地学习
40.奇点,天网和未来
计算机作为人类的造物,如果智能强于人类,那么会带来什么结果
是如同人类和猴子一般吗?当作动物园的宠物?
无论如何失控性的发展对人类来说不是个好消息
未来的未来就交给未来的人类吧