微处理器介绍
- 微处理器CPU是计算机系统的核心部件,控制协调着整个计算机系统的工作
- 市面上主流CPU是Intel公司生产的:包括Celeron(赛扬)、Pentium(奔腾)、core(酷睿)、core i (酷睿 i)
8088 VS 8086
- 都属于第三代CPU,具有完全相同的指令系统
- 硬结构中,8088外部数据总线的宽度是8位,8086为16位
- 此前的处理器都是顺序串行完成操作,8088/8086的结构实现并行
- CPU内两个独立的部件,执行单元EU和总线接口单元BIU
- EU负责分析指令(指令译码)和执行指令
- BIU负责取指令,取得操作数和结果
执行指令过程(流水线管理规则)
- BU从内存中取出指令存放在指令队列
- EU从指令队列中取出指令并执行
- 队列中出现空字节时,BIU自动执行一次命令
- 周期:从中取出后续的指令代码放于队列中
- 如果遇到跳转指令,BIU使指令队列复位,从新地址中重新取出指令
- 二者独立完成,互不影响
执行单元EU
组成部分:
①16位算术逻辑单元(ALU)
②16位状态标志寄存器FLAG
③八个16位寄存器组(AX、BX、CX、DX(通用);SP、BP、SI、DI(专用)
④16位数据暂存器
⑤EU控制电路
执行过程
①从总线接口单元BIU指令队列中取指令
②由EU控制电路对指令进行译码分析指出操作性质及对象
③在EU中,计算出操作数的16位地址偏移量送给BIU,由BIU的加法器形成20位绝对地址
④将取出来的操作数经系统数据总线送ALU进行指定的操作
运算结果经内部总线送到指定位置
功能
①指令译码
②指令执行
③暂存中间运算结果
④保存运算结果特征
寄存器
通用寄存器
- 通用寄存器核心用于存在数据,存放中间结果
- 通用寄存器的位数决定了操作系统的位数
一个字节为八位二进制数
一个内存单元只能存放一个字节,超出放两个字节
一个数据占一个内存单元
1个字节=8 bit ; 1个字 = 2个字节 = 16为二进制数
一个数据占一个内存单元,小端存放,低对低,高对高
例: 1234H 34为低位 12为高位
8088/8086含4个16位数寄存器,他们又可分为8个8位寄存器
即:AX→AH,AL;BX→BH,BL;CX→CH,CL;DX→DH,DL
数据寄存器(独立16位/两个8位)
- AX:累加器
- 用于乘除法和I/O操作。I/O指令都通过AX与借楼传送信息,中间运算结果也多放于AX中
- BX:基址寄存器
- 灵活使用,可存放数据,也可存放地址,在间接寻址中用于存放基地址
- CX:计数寄存器
- 用于在循环或穿操作指令中存放计数值
- DX:数据寄存器
- 用于乘除法和间接I/O操作。在间接寻址的I/O指令集的存放I/O端口地址与AX搭配处理32位双字长数,AX存放低16位,DX存放高16位
地址寄存器
SP:堆寨指针寄存器,其内容位寨顶的偏移地址
BP:基址指针寄存器,常用于在访问内存时访问内存单元的偏移地址
有堆寨时SP一定用于寨顶指针,BP不一定
堆寨
- 内存中一个特殊区域,用于存放暂时不用或需要保护的数据
- 常用于响应中断或子程序调用
若寨顶=寨底→空寨
若寨顶=寨首→满寨
SP寨顶指针
寨工作原理:先进后出,后进先出
BX与BP在应用上的的区别
作为通用寄存器,二者均可用于存放数据
作为基址寄存器,用BX表示所寻寨的数据在数据段,用BP则表示数据在堆寨段
变址寄存器
SI:源变址寄存器
DI: 目标编制 寄存器
ALU(运算器)
算术运算、逻辑运算、用于运算和执行指令
单总线结构运算器、双总线结构运算器、三总线结构运算器
GitHub Discussions