学习笔记—Crash Course计算机

计算机早期历史

对计算的起源
算盘
hh
hh
步进计算器
计算表
差分机
差分法
差分法本质上是一种用于数值计算的方法,特别是在处理离散数据或函数时,它是微积分中微分概念的离散化形式。
在微积分中,微分描述的是一个函数在某一点附近的变化率,通常用于处理连续变化的量。而差分法则是在离散情况下,计算相邻两个点之间的变化量。差分可以帮助我们理解数据的变化趋势,特别是当我们无法或者不想通过连续函数来描述某个过程时,差分法是一种很有效的工具。
举个简单例子:
假设你每天记录自己步行的距离,得到以下数据:
  • 第一天走了5公里
  • 第二天走了6公里
  • 第三天走了8公里
现在你想知道每天步行距离的变化情况,这就是差分法可以派上用场的地方。
  • 第一阶差分:表示每天步行距离的变化量(也就是第一天和第二天之间的变化、第二天和第三天之间的变化):
    • 从第一天到第二天: Δy1​=6−5=1 公里
      • Δy1=6−5=1\Delta y_1 = 6 - 5 = 1
    • 从第二天到第三天: Δy2​=8−6=2 公里
      • Δy2=8−6=2\Delta y_2 = 8 - 6 = 2
这个计算过程就是差分法的基本思路。第一阶差分反映了两个连续数据点之间的变化。
差分法的进一步应用:
在更复杂的场景下,比如在数学上,我们可以继续计算更高阶的差分。例如,如果我们对上述第一阶差分再求一次差分,就得到二阶差分:
  • 二阶差分: Δ2y=Δy2​−Δy1​=2−1=1 公里
    • Δ2y=Δy2−Δy1=2−1=1\Delta^2 y = \Delta y_2 - \Delta y_1 = 2 - 1 = 1
二阶差分反映的是变化的变化,类似于加速度在物理学中对速度的影响。
差分法的数学形式:
如果我们用数学公式来表示,假设有一个函数 y=f(x)y = f(x)y=f(x),差分可以表示为:
  • 第一阶差分: Δy=f(x+1)−f(x)
    • Δy=f(x+1)−f(x)\Delta y = f(x+1) - f(x)
如果继续计算:
  • 第二阶差分: Δ2y=Δ(f(x+1))−Δ(f(x))
    • Δ2y=Δ(f(x+1))−Δ(f(x))\Delta^2 y = \Delta(f(x+1)) - \Delta(f(x))
分析机
通用计算机
打孔卡片制表机
商业应用

电子计算机

早期大计算机
继电器
notion image
机械磨损
三级真空管
真空管计算机
晶体管
半导体

布尔逻辑和逻辑门

notion image

二进制

bit 一位
8位 byte 一字节
addresses
浮点数
正负 指数 有效位数
编码 将数字与字母对应
Unicode

算数逻辑单元 ALU

算数单元
增量运算
半加器 两位输入 两位(sum、进位)输出
全加器 三位(包含进位)输入
八位行波进位加法器
overflow
超前进位加法器
逻辑单元
flags
表示符号
表示符号
操作代码

寄存器和内存

RAM || 持久存储
AND-OR锁存器 1bit
数据输入线
允许写入线
门锁
寄存器 一组锁存器
位宽
notion image
门锁矩阵
地址 address
多路复用器
内存
地址 数据 允许写入 允许读取

中央处理器 CPU

微架构
指令
指令地址寄存器
指令寄存器
取指令
解码
执行
解码控制单元
时钟
时钟速度
超频 降频 动态调整频率

指令和程序

根据冯·诺依曼架构,计算机将程序指令和数据都存储在同一个内存空间里,也就是我们常说的RAM中
notion image
软件以乘除
指令长度
可变指令长度

高级CPU设计

缓存
缓存命中 未命中
脏位
指令流水线
并行处理
数据依赖性
乱序执行
推测执行
分支预测
超标量处理器
多核处理器
每秒浮点运算次数

早期编程方式

穿孔纸卡
插线板
存储程序计算机
冯诺依曼结构
面板编程

编程语言

机器码 二进制
伪代码
汇编器
编译器
变量
notion image
notion image

编程基础-语句和函数

语法
控制流语句
函数
notion image
notion image
模块化编程
函数集合 库

算法入门

解决问题的具体步骤
数组
排序
选择排序
归并排序
算法复杂度 算法的输入大小和运行步骤之间的关系
图搜索
Dijkstra算法
notion image
notion image

数据结构

伟大!只用8分钟入门数据结构。😆

阿兰·图灵

图灵机
图灵完备
停机问题
证明不是所有的问题都能用计算解决
加密
人工智能
图灵测试
验证码

软件工程

面向对象编程
API
IDE
?!原来痛苦是公共的吗?!!
?!原来痛苦是公共的吗?!!
代码文档 readme
版本控制 git
测试 QA 找bug
beta版
alpha版

基础电路和摩尔定律

分立元件
数字暴政
晶体管
集成电路 IC
印刷电路板 PCB
光刻
intel
摩尔定律
晶体管每两年涨一倍
超大规模集成软件 VLSI 自动生成芯片设计
逻辑综合

操作系统

批处理
外部设备
设备驱动程序
I/O
多任务处理
虚拟内存
动态内存分配
内存保护
分时操作系统
内核
内存管理 多任务 I/O

内存&存储媒介

存储器
延长线存储器
顺序存储器
随机存取存储器
磁芯存储器
磁带
磁鼓存储器
硬盘
软盘
光盘
DVD
固态硬盘 SSD
寻道时间

文件系统

文件格式
文件标准 JPEG MP3
txt WAV bmp
文件系统
notion image
 
哦!~
哦!~
平面文件系统
碎片
碎片整理
分层文件系统

压缩

游程编码
字典编码
无损压缩
有损压缩
感知编码

命令行界面

屏幕&2D图像显示

显卡
位图显示

冷战和消费主义

个人计算机革命

图形用户界面

3D图形

3D投影
线框渲染
网格
填充图形
扫描线渲染
填充速率
抗锯齿
画家算法
深度缓冲
背面剔除
明暗处理
表面法线
平面着色
纹理
纹理映射
GPU 在显卡上

计算机网络

局域网 LAN
以太网
MAC地址
载体
铜线 以太网
空气 WIFI 传播无线电波
侦听/多路访问
带宽
冲突
指数退避
冲突域
载体和设备
交换机
路由
电路交换
报文交换
跳数
跳数限制
数据包
IP
阻塞控制
TCP/IP
分组交换
物联网

互联网

局域网 LAN
广域网 WAN
互联网服务提供商 ISP
互联网主干
IP 互联网协议的标准 为了数据包在互联网上传输
元数据
电脑地址
UDP
端口号
TCP
DNS
物理层
数据链路层
媒体访问控制地址
碰撞检测
指数退避
网络层
报文交换
路由
传输层
UDP
TCP
会话层
开放式系统互联通信参考模型 OSI

万维网

超链接
超文本
URL
HTTP
HTML
CSS
JavaScript
浏览器
网路中立性

计算机安全

保密性
完整性
可用性
威胁模型分析
攻击矢量
身份验证
暴力攻击
多因素认证
访问控制
ACL
安全内核
安全审计
隔离
虚拟机

黑客与攻击

钓鱼
假托
木马
NAND镜像
漏洞利用
缓冲区溢出
边界检查
代码注入
零日漏洞
蠕虫
僵尸网络
DDoS

加密

多重防御
密码学
替换加密
列移位加密
密钥交换
单向函数
模幂运算
对称加密
非对称加密
公钥
私钥

机器学习&人工智能

机器学习
人工智能
分类
分类器
特征
标记数据
决策边界
未标签数据
混淆矩阵
决策树
森林
支持向量机
人工神经网络
深度学习
弱AI
强AI
强化学习

计算机视觉

颜色跟踪算法
边缘检测
灰度
过滤器 核
卷积
Prewitt算子
维奥拉·琼斯人脸检测算法
卷积神经网络
深度学习
情感识别算法
notion image
notion image
notion image
牛
生物识别

自然语言处理

自然语言
自然语言处理 NLP
知识图谱
聊天机器人
语音识别
音素
语言模型
语音合成

机器人

自动机
notion image
hhh
hhh
计算机数控机器 CNC机器
负反馈回路
简单控制回路
比例-积分-微分控制器 PID控制器
致命自主武器

计算机心理学

易用度
CMC
增强凝视

教育科技

智能辅导系统
判断规则
选择算法
域模型
贝叶斯知识跟踪
自适应程序
教育数据挖掘

奇点,天网,计算机的未来

普世计算
复杂度刹车

让世界变得更好!!!

Sep 5, 2024 END