8086微处理器

8086微处理器是16位微处理器,内部运算器和寄存器是16位的,具有20位地址线。
在内部功能逻辑上分为两个处理单元:总线接口单元、执行单元
在这里插入图片描述8086CPU按功能可分为两个独立的部分:总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)

BIU:

  1. 完成CPU与存储器之间的信息传送
  2. 总线控制
  3. IO数据传送
  4. 逻辑地址与物理地址进行转换
  5. 从存储器中取指令送至指令流队列排队
  6. 取出执行指令时所需要的操作数,并传送给EU完成运算和操作

EU:

  1. 对来自指令流队列中的指令译码并执行,实施算术逻辑运算操作。

BIU和EU是两个独立的部件,两个可以同时独立进行操作,形成指令流水线结构。

总线接口单元(BIU)

总线接口单元(Bus Interface Unit)的主要组成部件。

1、段寄存器(Segment Register)
段寄存器为分段寻址定位段的位置。存放正在或正待执行的各个段的段首址

  1. CS(Code Segment):代码段寄存器,用于存储程序的指令
  2. DS(Data Segment):数据段寄存器,用于暂存原始数据和处理后的中间结果即最终结果,一般数据段存储局部变量
  3. SS(Stack Segment):堆栈段寄存器,用于形成堆栈区
  4. ES(Extra Segment):扩展段寄存器,和数据段类似,扩展段用于存储全局变量

2、地址加法器(Address Adder)
地址加法器的功能将分段地址转换为物理地址,用于存储器接口访问实际的物理存储器。

段地址:说明逻辑段在存储器中的起始位置,为模16地址:xxxx0H,省略低4位后,可用1个16位数来表示,该地址可被存放在不同的段寄存器CS/SS/DS/ES中。
偏移地址:说明寻址单元距离段首的偏移量,因每段长度不超过64KB,所以偏移地址也可用1个16位数来表示。

物理地址	=段地址×16D+偏移地址
		=段地址×10H+偏移地址
		=段地址左移4位+偏移地址

3、指令指针寄存器(Instruction Pointer Register)
IP 用以存放一个16位的代码段(程序段)的偏移地址,它与CS的内容合并可以形成一个20位的物理地址,专门用来指向当前要执行的指令单元的位置。 程序计数器由总线接口单元自动改变,始终指向下一节指令。

4、存储器接口(Memory Interface)

5、指针流字节队列(Instruction Stream Byte Queue)

执行单元(EU)

执行单元(Execution Unit)的主要组成部分。

1、控制器(Controller)
从指针流字节队列顺序读取指令,根据指令译码控制8086中其他部分进行相应操作,以实现指令要求的功能。

2、逻辑算术单元(Arithmetic/Logic Unit)
16位逻辑算术单元,根据控制器的控制,可完成8位或16位的二进制算术运算和逻辑运算
,实现对数据的处理。

3、标志寄存器(Flag Register)
标志寄存器F又称程序状态字寄存器PSW,是用以记录或存放状态标志和控制标志信息的。
①状态标志位(ZF、SF、PF、OF、CF、AF):用以记录当前运算结果的状态信息。

  1. ZF(零标志位) 若当前运算结果为0,则ZF=1;若当前运算结果为1,则ZF=0。
  2. SF(符号标志位) 若当前运算结果为负数,则SF=1;若当前运算结果为正数,则SF=0。
  3. PF(奇偶标志位) 若当前运算结果为奇数个"1",PF=0;若当前运算结果为偶数个"1",则PF=1。
  4. OF(溢出标志位) 若当前运算结果产生溢出,则OF=1;反之,OF=0。
  5. CF(进位标志位) 若当前运算出现进位或借位,则CF=1;反之,CF=0。
  6. AF(辅助标志位) 若当前运算出现第3位向第4位进位或借位,则AF=1;反之,AF=0。

[注]
(1)状态标志位的设置一般是由CPU根据当前程序运行结果的状态自动完成的。
(2) 状态标志位信息一般用作后续条件转移指令的转移控制条件。

②控制标志位(TF、IF、DF):用以存放控制CPU工作方式的标志信息。

  1. TF(跟踪标志位) 当TF=1时,CPU每执行完一条指令就产生一个内部中断,处于暂停状态;当TF=0时,CPU处于正常工作状态。
  2. IF(中断允许标志位) 当IF=1时,允许CPU响应外部中断INTR的请求;当IF=0时,不允许CPU响应外部中断请求。
  3. DF(方向标志位) 当DF=0时,CPU执行串操作指令时,对SI、DI进行加操作;反之,对SI、DI进行减操作。

[注] 控制标志位的设置是由系统程序或用户程序中的指令来完成的。

4、通用寄存器组(General Purpose Resgister Set)

① 数据寄存器

共AX、BX、CX、DX四个,每个寄存器即可作为16位寄存器,又可拆分为两个8位寄存器,此时记为AH、AL、BH、BL等。

  1. AX(AH、AL):累加器accumulator
  2. BX(BH、BL):基址寄存器base
  3. CX(CH、CL):计数寄存器counter
  4. DX(DH、DL):数据寄存器data

②指针和变址寄存器

共BP、SP、SI、DI四个

  1. SP(Stack Pointer):堆栈指针寄存器,指示栈顶
  2. BP(Base Pointer):基址指针寄存器,默认表示堆栈段基地址
  3. SI(Source Index):源变址寄存器
  4. DI(Destination Index):目的变址寄存器
  • 5
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值