微机原理、汇编与接口技术笔记——80x86

2020-03-10  本文已影响0人  没昔

80x86微处理器

(1)执行单元EU

        EU负责执行指令,完成两种操作:算术逻辑运算、计算存储器操作数的偏移地址

(2)总线接口单元BIU

        BIU完成所有的总线操作

        EU和BIU并行工作,可以同时进行读/写操作和执行指令的操作

80286

微处理器的组成:

        地址单元AU(Address Unit)

        总线单元BU(Bus Unit)

        指令单元IU(Instruction Unit)

        执行单元EU

AU中的存储器管理机构使用段式管理方式,首次实现了虚拟存储器管理

80386

微处理器的组成:

  总线接口单元BIU

  指令译码单元IDU(Instruction Decode Unit)

  指令预取单元IPU(Instruction Prefetch Unit)

  执行单元EU

  分段单元SU(Segmentation Unit)

  分页单元PU(Paging Unit)

80486

微处理器的组成:

    总线接口单元、指令译码单元

    指令预取单元、执行单元

    分段单元

    分页单元以及浮点处理单元(FPU)

    高速缓存(Cache memory)

Pentium微处理器

(1)总线接口单元

    总线接口单元实现微处理器与微型计算机系统总线的连接,其中包括64位数据线、32位地址线和众多的信号线,以此实现微处理器与外部的信息交换。Pentium微处理器与外部交换数据可以是64位还可以是32位、16位或者8位。

(2)分段单元和分页单元

      分段单元将程序提供的逻辑地址转换为线性地址,分页单元将线性地址转换为物理地址。

      分页是将段分为多个固定大小的页面(通常为4KB),分页支持虚拟存储器环境。内存中只保留程序访问的页面,而众多的页面被存储在磁盘中。当程序要访问线性地址空间中的某个地址时,分页单元先将线性地址转换为存储器的物理地址,然后执行对该地址的读操作或写操作。如果所访问的页面不在物理内存中,微处理器就会暂时中断该程序的执行,由操作系统将所需的页面从磁盘读入物理内存中,然后接着执行被中断的程序。

(3)U流水线和V流水线

          Pentium采用两条流水线,这两条流水线都拥有自己的算术逻辑单元ALU、地址生成电路和数据Cache的接口。这种双流水线结构允许Pentium可以一次执行两条指令,每条流水线中执行一条。

(4)指令Cache和数据Cache

          在Pentium中,指令Cache和数据Cache两者分开,从而减少了指令预取和数据存取操作之间可能发生的冲突,并可提高命中率。Pentium的数据Cache有两个接口,分别与U和V两条流水线相连,以便同时和两条流水线交换数据。

(5)指令预取单元、指令译码单元和控制ROM

          指令预取单元从指令Cache中预先取指令,每次取两条指令。如果是简单指令,通过指令译码单元译码后,将两条指令分别送到U流水线和V流水线执行。如果是复杂指令,通过控制ROM将其转换成对应的一系列微指令,再送到U流水线和V流水线执行。复杂指令对应的微指令存放在控制ROM中。微指令是微处理器能够直接执行的指令,它的长度是固定的,因此很容易在流水线中进行处理。

(6)控制单元

          控制单元的功能是通过对来自指令译码单元和和控制ROM中微程序的解析,控制U流水线、V流水线和浮点处理单元的正常运行。

(7)分支转移目标缓冲器

          分支转移目标缓冲器在遇到分支转移指令时用来预测转移是否发生,并据此为分支指令处的指令提供预取地址。

(8)浮点处理单元

          浮点处理单元主要用于浮点运算,使得浮点运算的速度得到提高。

80x86的寄存器

通用寄存器共8个:AX,BX,CX,DX,SP,BP,SI,DI,均为16位,在EU部件中

AX,BX,CX,DX均可分成高8位和低8位,作为独立的8位寄存器使用:AH,AL,BH,BL,CH,CL,DH,DL

AX——累加器,BX——基址寄存器

  CX——计数寄存器,DX——数据寄存器

  SP——堆栈指示器,BP——基址指示器

  SI——源变址寄存器,DI——目的变址寄存器

标志寄存器FLAG包含哪几个标志位?简述各位的状态含义及用途。

答:

状态标志:存放运算结果的特征。6个状态标志位(CF,PF,AF,ZF,SF,OF)

控制标志:控制某些特殊操作。3个控制标志位(TF,IF,DF)

状态标志位:

C   进位标志

    ALU进行算术运算时,反映运算结果最高位有无进位/借位。

      C =“0” 无进位/借位    NC  (汇编语言符号)

      C =“1” 有进位/借位    C

P   奇偶标志

逻辑运算时,P反映ALU运算结果“1”的个数的奇偶性。

      P = “0” 奇数个1   PO

      P = “1” 偶数个1   PE  

A   辅助进位标志,Ac

    A位反映ALU进行算术运算时,D3向D4是否有无进位/借位。

      A =“0” 无进位/借位    

      A =“1” 有进位/借位   

    A位通常供CPU内部调整用

Z   全零标志

    ALU运算结果是否为零,适用于算术、逻辑运算。

      Z =“0”  结果不为零     NZ

      Z =“1”  有进位/借位    Z

S   符号标志

    ALU运算结果最高位。

      S = “0”  结果为正   NS

      S = “1”  结果为负   S

O   溢出标志

判断带符号数加减运算结果是否溢出。

      O =“0”   溢出    NO

      O =“1”   不溢出  O

无符号数溢出判断用C标志。

控制标志位的名称和定义

T   单步标志、陷阱标志

    T=1可使微处理器进入跟踪方式,即单步调试状态。

I   中断允许标志

用来控制CPU是否允许响应可屏蔽中断。

      I = “0”   表示不允许CPU响应可屏蔽中断

      I = “1”   表示允许CPU响应可屏蔽中断。

可用指令置位和复位

D   方向标志

用于指定字符串处理指令的步进方向。

      D =“0”   递增方向  低地址向高地址方向进行

      D =“1”   递减方向  高地址向低地址方向进行

可用指令置位和复位

80x86的工作方式与存储器物理地址的生成 

80x86的工作方式有4种:

实地址方式(real address mode)

虚地址保护方式 (protected virtual address mode)

虚拟8086方式(virtual 8086 mode)

系统管理方式(system management mode)

8086/8088只有实地址方式1种工作方式

80286有实地址方式和虚地址保护方式2种工作方式

80386和80486有实地址、虚地址保护方式和虚拟8086方式3种工作方式。

Pentium有实地址方式、虚地址保护方式、虚拟8086方式和系统管理方式4种。

上一篇 下一篇

猜你喜欢

热点阅读