琐碎
处理器架构
- x86: 统指基于8086处理器指令集的32位架构. x86架构首度出现在1978年推出的Intel 8086中央处理器. 8086发展自8008, 8088发展自4004. x86系列有16位和32位, 但是由于32位的统治地位, x86几乎等于IA-32,即32位的x86或x86-32.
- i386: 80386处理器的别名
- 80386: 第一款32位处理器, 其指令集架构命名为ia-32(Intel Architecture 32bit)
- x86-64: 统指基于8086处理器指令集的64位架构. 1999年, AMD宣布x86-64架构. 其实现方式与80386思路一致, 继续对IA-32扩展, 增加64位通用寄存器、证书预算单元和逻辑操作,支持64位虚地址; 向前兼容ia-32. 2003年第一款x86-64处理器发布,AMD Operon. 同时AMD也将x86-64正式命名为AMD64, 但是由于其思路及同时Intel也有其64位计划, 在称谓上大多数厂商还是使用x86-64(x86_64,或者就是x64)来称呼此架构,从而保持中立.
参考:
https://www.zhihu.com/question/19573226
CISC 与 RISC
-
CISC 复杂指令集
-
RISC 精简指令集
-
x86处理器基于CISC, 存在很多机器指令,只为了高效地完成一项专门任务(比如MMX, SSE中的指令)。这就使得硬件的逻辑很复杂,晶体管数量庞大。所以能耗高性能强, 适用于PC平台
-
ARM处理器基于精简指令集(RISC)架构。指令集数量少就可以简化硬件逻辑的设计,减少晶体管数量,也就意味着低功耗。适用于移动设备.
参考:
https://www.zhihu.com/question/20148756
寄存器
8086寄存器
AX 累加寄存器 Accumulator
BX 基地址寄存器 Base
CX 计数器寄存器 Count
DX 数据寄存器 Data
SP 栈指针寄存器 Stack Pointer
BP 基指针寄存器 Base Pointer
SI 原变址 Source Index
DI 目的地址 Destination Index
CS 代码段 Code Segment
DS 数据段 Data Segment
SS 堆栈段 Stack Segment
ES 附加段 Extra Segment
IP 指令寄存器 Instruction Pointer
FLAG 标志寄存器
组合使用
CS:IP
DS:[address]
SS:SP
参考:
https://www.jianshu.com/p/0110787f6795
https://blog.csdn.net/ddupd/article/details/31778685
8086的寻址方式
- CPU访问内存单元时,要给出内存单元的地址,所有的内存单元都有唯一的地址,叫做物理地址
- 8086有20位地址总线,可以传送20位的地址,1M的寻址能力
- 但它又是16位结构的CPU,它内部能够一次性处理、传输、暂时存储的地址为16位。如果将地址从内部简单地发出,那么它只能送出16位的地址,表现出来的寻址能力只有64KB
8086采用一种在内部用2个16位地址合成的方法来生成1个20位的物理地址
- 起始地址: 一段内存开始位置的地址
- 段地址: 与偏移地址共同组成真实内存地址
- 偏移地址: 与段地址共同组成真实内存地址
网友评论