8086的内部结构

8086CPU内部有两个独立的工作部件,即执行部件(Execution Unit,EU)和总线接口部件(Bus Interface Unit,BIU)

8086的内部结构_第1张图片

 

1.执行部件EU

1>算术逻辑运算器(ALU)

  • 进行所有算术逻辑运算
  • 进行寻址,按寻址方式计算16为的偏移地址(Effect Address,EA),并将EA送到BIU中形成20位的实际地址(Physcial Address,PA),以对1MB的存储空间进行寻址

2>状态标志寄存器(FLAGS)

  • 该寄存器字长16为,存放反映ALU预算结果的特征状态,或一些控制标志

3>暂存寄存器

  • 协助ALU完成各种运算,对参加运算的数据进行暂存

4>通用寄存器组 

  • 包括8个16为的寄存器,其中AX,BX,CX,DX为主句寄存器,SP为堆栈指针,由于给出栈顶的偏移量,BP为基址指针,用于存放堆栈段中的一个数据区基址的偏移量,SI为变址寄存器,SI用来存放源操作数地址的偏移量,DI用来存放目的操作数的偏移量(所谓偏移量时相对于段起始地址(段首址)的距离)

5>EU控制单元

  • 接收从BIU指令队列中送出的指令码,经过译码,形成完成该指令所需的各种控制信号,控制EU中的各个部件在规定时间完成规定任务。EU中所有的寄存器和数据通路都是16为的,可实现数据的及快速传输和处理

1.总线接口部件BIU

1>指令队列缓冲器 

  • 用来暂存指令的一组暂存单元,由6个8为寄存器组成,先进先出,如果有2个字节为空就执行取指操作必须填满

2>16位指针寄存器IP

  • 其功能和8位的微处理器的程序计数器PC功能类似,IP总是保存着EU要执行的吓一跳指令的偏移地址,PC总是保存的下一条取指令的地址,IP不能直接由程序进行存取,但是可以进行修改

3>地址产生器和段寄存器

  • IP和通用寄存器都只有16位,编制范围只能达到64KB,8086段访问空间1MB,实际设置 产生20位实际地址PA(物理地址)的地址产生器
  • 段寄存器用来存放每种段的首地址,8086有四个段寄存器,CS(代码段寄存器),DS(数据段寄存器),SS(堆栈段寄存器),ES(附加段寄存器),分别用来存放代码段、数据段、堆栈段和附加段的首址

4>总线控制逻辑

  • 采用分时传送,根据指令操作要求,用逻辑控制的方法实现上述信号的分时复用

你可能感兴趣的:(汇编学习,开发语言)