当前位置:文档之家› 微机原理课件第二章 8086系统结构

微机原理课件第二章 8086系统结构


例:AX=6A8BH,BX=4369H。求在ADD AX,BX指令执行之 后的结果及PSW中各状态标志位的值? AX=?BX=? CF=?PF=?AF=? ZF=? SF=? OF=?
2、控制标志位:控制CPU的某种操作
•TF(Trap Flag)—陷阱标志位(单步标志位、跟踪标志位)。当 该位置1时,将使8086进入单步方式执行程序,通常用于程序的 调试。 •IF(Interrupt Flag)—中断标志位,若该位置1,则CPU可以 响应可屏蔽中断,否则就不能响应可屏蔽中断。 •DF(Direction Flag)—方向标志位,若该位置1,则串处理指 令的地址指针为减量修改,反之,为增量修改。
9
二. 指针和变址寄存器:SP、BP、SI、DI
SP(Stack Pointer):堆栈指针寄存器 BP(Base Pointer):基址指针寄存器 SI(Source Index):源变址寄存器ห้องสมุดไป่ตู้DI(Destination Index):目的变址寄存器 功能:一般用来存放偏移地址,作为地址指针。
一. 通用寄存器:AX、BX、CX、DX
AX(Accumulator):累加器,BX(Base):基址寄存器, CX(Counter):计数器, DX(Data):数据寄存器, 功能:一般用来存放数据 特点:可一拆为二,成为8个8位寄存器。高8位AH、BH、CH、 DH,低8位AL、BL、 CL、DL 注:8位累加器为AL
• 物理地址:与每个存储单元唯一对应的20位二进制地址 • 逻辑地址:(段基址:偏移地址)
物理地址=段基址×16(或左移4位)+偏移地址
• 注意:每个存储单元的物理地址是唯一的,但逻辑地址却 有许多种。
11
四. 控制寄存器IP、PSW
IP(Instruction Pointer):指令指针寄存器 功能:存放下一条指令的偏移地址,具有自动加1的功能。 原理:IP和代码段寄存器CS一起可以确定下一条指令的物理地 址。顺序执行程序时,CPU每取一条指令,IP由BIU自动修改 (+1、+2…+6),指向下一条即将执行的指令。 计算机用IP来控制指令序列的执行流程。
• 联系BIU和EU的纽带为流水指令队列 • 队列是一种数据结构,工作方式为先进先出。写入的指令
只能存放在队列尾,读出的指令是队列头存放的指令。
6
•BIU和EU的动作协调原则 BIU和EU按以下流水线技术原则协调工作,共同完成所 要求的任务: ①每当8086的指令队列中有空字节,BIU就会自动把下 一条指令取到指令队列中。 ②每当EU准备执行一条指令时,它会从BIU部件的指令 队列前部取出指令的代码,然后译码、执行指令。在执 行指令的过程中,如果必须访问存储器或者I/O端口, 那么EU就会请求BIU,完成访问内存或者I/O端口的操 作; ③当指令队列已满,且EU又没有总线访问请求时,BIU 便进入空闲状态。(BIU等待,总线空操作) ④开机或重启时,指令队列被清空;或在执行转移指令、 调用指令和返回指令时,由于待执行指令的顺序发生了 变化,则指令队列中已经装入的字节被自动消除,BIU会 接着往指令队列装入转向的另一程序段中的指令代码。 (EU等待)
•PF(Parity Flag)—奇偶标志位,当运算结果的低8位中1的个 数为偶数时,则该位置1,反之为0。
•AF(Auxiliary Carry Flag)—辅助进位标志位,做加法时,当 低四位向高四位(低半字节向高半字节)有进位,或在做减法时, 低四位向高四位有借位时,该标志位就置1,反之为0.
7
•BIU和EU的动作协调原则
将8086 CPU分成二个独立的功能部件使二者能够 并行工作,把取指令工作和译码、执行指令工作重叠 进行,从而提高CPU的工作效率,加快指令的执行速 度。
多数情况下,BIU在不停地向队列写入指令,而EU 每执行完一条指令后,就从队列读取下一条指令。二 者的动作既独立,又协调。
并存入指针及变址寄存器SP、BP、SI、DI中 2、段起始地址的低4位为0(即20位二进制地址的最低4 位为0,或5位十六进制地址的最低位为0),段基址可存 入段寄存器中
• 一些与地址有关的概念: • 段基址:段起始地址的高16位,存于段寄存器中
• 偏移地址:段内某单元相对于段起始地址的偏移量,存入 指针及变址寄存器中。又称作有效地址(EA)。
•ZF(Zero Flag)—零标志位,运算结果为0时,该标志位置1, 否则清0。
•SF(Sign Flag)—符号标志位,当运算结果的最高位为1,该 标志位置1,否则清0。即与运算结果的最高位相同。
•OF(Overflow Flag)—溢出标志位,反映运算结果是否超出 了8位或16位带符号数所能表达的范围。(方法1:CF与次高位 向最高位的进位相异或;方法2:将参与运算的数和结果均看作 带符号数,判断结果的符号是否合理,如正+正=负 则溢出) 13
BIU和EU之间相互配合又相互独立的并行而非同步 的工作方式极大提高了CPU的工作效率。
8
第二章 8086系统结构——8086CPU的内部寄存器
寄存器:用来存放参加运算的数据、中间结果或地址。可以 看作位于CPU内的存储单元。 特点:位于CPU内,存取速度比内存快得多; 只需通过内部总线,无需通过系统总线来访问。 一般:寄存器个数越多,计算机的运行速度越快。 8086CPU中共包含14个16位寄存器,分为4组。
PSW (Program Status Word):标志(或程序状态字)寄存 器功能:每位的0和1代表两种不同的状态信息。
16位中有9位有意义,分为状态标志(6个)和控制标志(3个)。
12
1、状态标志位:表示运算结果的某种特征, 后续操作可以根据 这些状态标志进行判断,实现程序分支。
•CF(Carry Flag)—进位标志位,做加法时最高位出现进位或 做减法时最高位出现借位,该位置1,反之为0。
三. 段寄存器:CS、DS、SS、ES
CS(Code Segment):代码段寄存器 DS (Data Segment):数据段寄存器 SS (Stack Segment):堆栈段寄存器 ES (Extra Segment):附加段寄存器。 功能:存放段基址(段起始地址的高16位)
10
• 矛盾:20位的物理地址如何存入16位的寄存器中? • 解决方法:将1M的内存分成若干逻辑段 • 分段原则:1、段长<=64K,段内偏移地址可用16位表示,
相关主题