【crash courses of computer science】1-5
01:早期的计算
(1)算盘:
- 手动计算器 && 存储着当前的计算状态
- 人们制造算盘是因为:社会的规模已经超出个人心算的能力
- 计算机先驱 Charles Babbage 说过:随着知识的增长和新工具的诞生,人工劳力会越来越少"
(2)步进计算器:第一台能做"加减乘除"全部四种运算的机器
(3)计算表
(4)Charles Babbage —— 差分机、分析机
- "差分机",能近似多项式。
- 分析机不像差分机,步进计算器 和以前的其他计算设备
- 分析机是 "通用计算机" "general purpose computer"
- "自动计算机" 的概念:计算机可以自动完成一系列操作
- 英国数学家 Ada Lovelace 给分析机写了假想的程序,她说:"未来会诞生一门全新的,强大的,专为分析所用的语言"。因此 Ada 被认为是世上第一位程序员.
(5)人口普查——打孔卡片制表机
- Herman Hollerith
- Hollerith 成立了制表机器公司,这家公司后来在 1924 年与其它机械制造商合并,成为了 "国际商业机器公司",简称 IBM
02:电子计算
(1)最大的机电计算机之一 —— 哈佛马克一号
- 这台机器最早的用途之一 是给"曼哈顿计划"跑模拟
(2)继电器
- 用电控制的机械开关
- 继电器内的机械臂 *有质量*,因此无法快速开关
- 1940 年代一个好的继电器 1 秒能翻转 50 次
- 另一个限制是齿轮磨损
(3)术语 "bug" 的来源
- 1947年9月,哈佛马克2型的操作员从故障继电器中,拔出一只死虫
- Grace Hopper(这位我们以后还会提到)曾说
- "从那时起,每当电脑出了问题,我们就说它出了 bug(虫子)"
(4)热电子管
- 真空管内没有会动的组件,这意味着更少的磨损
- 每秒可以开闭数千次
- 有点脆弱,并且像灯泡一样会烧坏
- 这标志着计算机 从机电转向电子
(5)晶体管
- 每秒可开关上万次
- 固体,体积小,能工作几十年
- 如今,计算机里的晶体管小于 50 纳米
03:布尔逻辑与逻辑电路
(1)二进制
- 电路闭合,电流流过,代表 "真"
- 电路断开,无电流流过,代表"假"
- 状态越多,越难区分信号。所以我们把两种信号尽可能分开,只用"开"和"关"两种状态
(2)布尔代数
- 数学的分支,只用“真”和“假”,解决所有的法则和运算
- 三个基本操作:NOT, AND 和 OR
(3) 逻辑门
- 一个晶体管:
- 输入为真,输出为真;输入为假,输出为假
- NOT门
- 门:控制电流的路径
- 两个晶体管:
- OR门
- AND门
(5)逻辑门的简便画法
- NOT 门的画法是三角形前面一个圆点
- AND 门用 D 表示 ,OR 门用太空船表示
- XOR门:一个 OR 门 + 一个笑脸
04:二进制
(1)8 位机,8 位图像,8 位音乐
- 意思是计算机里大部分操作都是 8 位 8 位这样处理的
- 1 bytes = 8 bits 1 字节 = 8 位
- Mega 是百万字节(MB), Giga 是十亿字节(GB)
(2)正负
- 大部分计算机用第一位表示正负:1 是负,0 是正
(3)地址
- 计算机必须给内存中每一个位置,做一个 "标记"
- 这个标记叫 "地址", 目的是为了方便存取数据
(4)浮点数的表示法——IEEE 754标准
- 在 32 位浮点数中
- 第 1 位表示数的符号——正或负
- 接下来 8 位存指数
- 剩下 23 位存有效位数
(5)表示字母——给字母编号
- ASCII,美国信息交换标准代码
- 通用交换信息的能力叫 "互操作性"
- 128 到 255 的字符渐渐变得常用,这些字符以前是空的,是给各个国家自己 "保留使用的"
(6)Unicode——统一所有的编码标准
05:算术逻辑单元
(1)
(2)
(3)
(4)
(5)
(6)