Lec_01 微处理机的计算基础
1 微处理机的基本硬件架构
- 计算系统的基础硬件内容:
ALU
: Arithmetic and Logic Unit | 运算器RF
: Register File (a set of registers) | 中央处理暂存器、寄存器CU
: Control Unit | 控制单元IM/DM
: Instruction/Data Memory | 指令内存/数据内存I/O
: Input/Output Devices
- 执行循环:
-
IF
: Instruction Fetch | 获取指令 -
ID
: Instruction Decode | 解码指令 -
RR
: Read Rgister File | 读取寄存器文件 -
EX
: Execution | 执行 -
WR
: Write Result | 写入结果 -
NPC
: Next Instruction | 下一指令Note
:步骤可以被合并/打破, 终止/扩展
-
Microprocessor微处理机
: 是一个拥有 数据通路(包含RF与ALU) 和 控制单元 的单芯片,通常还包括一些其他 功性的 和 增强性能的 内容(模块)Microcontroller微控制器
: 如一个微处理器,其关联的支持电路、内存和外围 I/O 组件是在单芯片上实现,那么它是一个微控制器。这门课我们基于Atmel AVR微控制器讨论。
2 数据的表示
2.1 二进制数的运算方法
二进制数的运算方法
课件中提到二进制减法可以视为:a - b = a + (-b)
这里我们了解一下原码、反码、补码的概念
True Forn
:原码,是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。为了便于ALU的设计,又发展出反码、补码等转换过的码。
补码形式有2种:
- 1's Complement Code 1的补码
:常翻译为 反码,多用在IP、TCP的校验和中。正数的反码与原码相同,负数的反码是按位取反。
- 2's Complement Code 2的补码
:常翻译为 补码/二补码,平时学生在计算机科学中学习的补码是2的补码,它最大的好处在于使得所有的加减法运算可以用同一种电路完成,详见关于2的补码。正数的补码和原码相同,负数补码按原码相应的正数按位取反再加1。
1的补码vs 2的补码
关于补码的由来和作用
Sign-Magnitude 原码 | 0000 1001 |
---|---|
1’s Complement Code 反码 | 1111 0110 |
2’s Complement Code 补码 | 1111 0111 |
另:补码的最高有效位(MSB: Most Significant Bit)是符号位(Sign Bit),0代表正数,1代表负数,例如:对于一个4位的补码来说:0111->7,而1001->-7
2.2二进制与十六进制的表达与转换
因为2^4 = 16,故从最低有效位开始,每4位二进制数代表1位十六进制数。同理,每位十六进制数,应由4位二进制数表示(最高有效位前的0可以省略)
3 指令集架构
Microprocessor Applications 微处理机应用
: 一个微处理机应用系统可以被抽象成三层结构,后面我们依次介绍
其中ISA 指令集架构
: Instruction Set Architecture,是硬件和软件之间的接口
3.1 Instruction Set 指令集
Instruction Set 指令集
: 指令集为程序员/软件提供词汇和语法使其与硬件机器交互。指令集是机器导向的:
- 不同类型的机器有不同的指令集
- 同样的操作可以被不同的机器以不同方式表达
机器代码 vs. 汇编代码: