资源预览内容
第1页 / 共59页
第2页 / 共59页
第3页 / 共59页
第4页 / 共59页
第5页 / 共59页
第6页 / 共59页
第7页 / 共59页
第8页 / 共59页
第9页 / 共59页
第10页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
笃学尚行 止于至善第二章 8086/8088系统结构内容提要: 8086微处理器基本结构 8086微处理器寄存器结构 8086微处理器引脚功能 8086最小/最大模式系统配置 、8086CPU时序 8086微处理器存储器和I/O组织学习目标:掌握8086/88微处处理器CPU基本结结构、寄存器结结构及作用、CPU引脚功能、存储储器 分 段与物理地址形成、最小/最大模式的概念和系统组统组 建、系统总线统总线 形成; 理解8086/88微处处理器存储储器读读/写时时序; w重点:存储器和I/O组织、工作模式、典型时序分析w难点:时序分析w学时:41笃学尚行 止于至善2.1微处理器的内部结构微处理器的基本结构1)算术逻辑单元(运算器)2)寄存器组:包括通用寄存器,地址寄存器,标 志寄存器。3)指令处理单元(控制器):包括指令寄存器,指 令译码逻辑,时序和控制逻辑2笃学尚行 止于至善2.1.1 8088/8086的功能结构1、总线接口单元(BIU):由指令队列、指令指 针、段寄存器、和总线控制逻辑等组成,负责 CPU对存储器和外设进行访问。2、执行单元(EU):由ALU、通用寄存器、地址寄 存器、标志寄存器和指令译码逻辑等组成,负责 指令的译码、执行和数据的运算。一、微处理器的组成3笃学尚行 止于至善执行部件EU总线接口部件BIU暂存器ALU控制电路地址加法器ALU数据总线(16位)CSDSSSES内部通信 寄存器IP总线控制逻辑8086总线1 2345 6指令队列AHBLCLDLBHCHDHAXBXCXDXSPBPSIDIAL状态标志寄存器8086内部结构框图 4笃学尚行 止于至善指 令 执 行 过 程5笃学尚行 止于至善二、8086/8088执行程序的操作过程BIU功能及工作过程: 总线接口部件的功能是负责与存储器、I/O接口传送信息。主要工作过程如下:当指令队列中出现两个以上的指令字节空隙(8088是1个字节空隙)时,BIU会自动 按CS和IP值所形成的20位实际物理地址对应的程序存储器单元中取指令字节一次从程序存储器中取两个指令字节,顺序存放在指令队列寄存器中由EU从队列指令中取走位于前列的指令,若指令需要在内存单元中读取数据,此时根据EU的请求在BIU中形成一个20位的存放数据的实际物理地址CPU从物理地址单元中取得操作数,经BIU送到内部的运算部件(ALU)数据总线,再由EU执行相应操作根据指令的性质,若需要,再由EU提出请求,将运算结果写入由BIU所指出的内存单元或者I/O端口中6笃学尚行 止于至善注:执行转移指令、调用指令、返回指令时,先清空队列内 容,再将要执行的指令放入队列中。反映本次操作结果的状态写入到响应的状态寄存器EU功能及工作过程:EU从BIU的指令队列中取出指令代码由EU控制电路的译码器对指令进行译码后执行指令所规定的全部功能执行指令所得结果或执行指令所需的数据,都由EU向BIU发出命令,对存储器或I/O接口进行读/写操作7笃学尚行 止于至善等待取指1忙执行1闲等待取指2忙执行2闲等待取指3忙执行3闲MPU总线传统微处理器的指令执行过程 取指1执行1忙取指2执行2忙取指3执行3忙取指4执行4忙取指5执行5忙取指6执行6忙EU总线BIU8086/8088CPU的指令执行过程 三、EU和BIU的关系 8笃学尚行 止于至善2.1.2 8086/8088的寄存器结构累加器AHAL BHBL基址寄存器 CLCH计数寄存器 DHDL数据寄存器SP堆栈指针寄存器 BP基址指针寄存器 SI源变址寄存器 DI目的变址寄存器IP指令指针寄存器 FLAGS标志寄存器CS代码段寄存器ES附加段寄存器SS堆栈段寄存器段寄存器数据寄存器地址指针和 变址寄存器控制寄存器通用寄存器DS数据段寄存器8086/8088中可供编程使用的有14个16位寄存器,按其 用途可分为:通用寄存器、段寄存器、指针和标志寄存器。9笃学尚行 止于至善1.通用寄存器 (1) 数据寄存器AX、BX、CX、DX w数据寄存器一般用于存放参与运算的操作数或运算结果 。每个数据寄存器都是16位的,但又可将高、低8位分别 作为两个独立的8位寄存器来用。 高8位分别记作AH、BH、CH、DH, 低8位分别记作AL,BL,CL,DL。 例如AX可当作两个8位寄存器AH、AL使用。 w注意:8086/8088 CPU的14个寄存器除了这4个16位寄 存器能分别当作两个8位寄存器来用之外,其它寄存器都 不能如此使用。通用寄存器包括四个数据寄存器,两个地址指 针寄存器和两个变址寄存器。10笃学尚行 止于至善wDX(Data)称为数据寄存器。在寄存器间接寻址的I/O 指令中存放I/O端口地址;在做双字长乘除法运算时,DX 与AX一起存放一个双字长操作数,其中DX存放高16位数 。 AX(Accumulator)称为累加器。用该寄存器存放运算结果可使指令简 化,提高指令的执行速度。此外,所有的I/O指令都使用该寄存器与外设 端口交换信息。BX(Base)称为基址寄存器。8086/8088CPU中有两个基址 寄存器BX和BP。BX用来存放操作数在内存中数据段内的偏 移地址,BP用来存放操作数在堆栈段内的偏移地址。 CX(Counter)称为计数器。在设计循环程序时使用该寄存 器存放循环次数,可使程序指令简化,有利于提高程序的运 行速度。11笃学尚行 止于至善(2)地址指针寄存器SP、BP wSP(Stack Pointer)称为堆栈指针寄存器。在使 用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每执行一次进栈或 出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶 。 wBP(Base Pointer)称为基址寄存器。作为通用寄存 器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。 SI(Source Index)称为源变址寄存器。DI(Destination Index)称为目的变址寄存器。这两个寄存器通常用在字符串操作时存放操作数的偏移地址,其中SI 存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移 地址。 (3)变址寄存器SI、DI12笃学尚行 止于至善上述寄存器各自都有自己的特定用途:13笃学尚行 止于至善2.专用寄存器(控制寄存器) (1)指令指针寄存器IP(Instruction Pointer): w在8086/8088是一个16位的寄存器,存放EU要执行的下一条指令 的偏移地址,用以控制程序中指令的执行顺序,实现对代码段指令 的跟踪 。用户程序不能直接访问IP。 w80386以上的微处理器EIP是32位的寄存器。(2)标志寄存器FLAGS:w在8086/8088中是一个16位的寄存器,共9个标志,其中6个用作 状态标志,3个用作控制标志。w状态标志:用来反映EU执行算术和逻辑运算以后的结果特征。w 控制标志 :控制标志是用来控制CPU的工作方式或工作状态 w注:80286以上的微处理器EFLAGS增加了一些其他的标志位(见 教材,学生自己看作了解)。14笃学尚行 止于至善标志寄存器(FLAGS) 150OF DF IF TF SF ZF AF PF CF符 号 标 志单 步 中 断中 断 允 许方 向 标 志溢 出 标 志进 借 位 标 志1-有进、借位0-无进、借位半 进 借 位 标 志1-低4位向高4位有进、借位0-低4位向高4位无进、借位奇 偶 标 志1-低8位有偶数个10-低8位有奇数个1零 标 志1-结果为00-结果不为015笃学尚行 止于至善3.段寄存器(1).CS(Code Segment)称为代码段寄存器,用来存储程序当前使用 的代码段的段地址。CS的内容左移四位再加上指令指针寄存器IP的内 容就是下一条要读取的指令在存储器中的物理地址。(2).DS(Data Segment)称为数据段寄存器,用来存放程序当前使用的 数据段的段地址。DS的内容左移四位再加上按指令中存储器寻址方 式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。(3).SS(Stack Segment)称为堆栈段寄存器,用来存放程序当前所使用的 堆栈段的段地址。堆栈是存储器中开辟的按先进后出原则组织的一个特 殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场 。(4).ES(Extra Segment)称为附加数据段寄存器,用来存放程序当前使 用的附加数据段的段地址。附加数据段用来存放字符串操作时的目的 字符串。 注:80X86系列中其它处理器中的系统级寄存器、调试和测试寄存器、 浮点寄存器有兴趣的学生自学了解。段?16笃学尚行 止于至善2.1.3 存储器和I/O组织 一、存储器组织 存储器空间存储器是按字节进行组织的,两个相邻的字节被称为一个“字” 。存放的 信息若是以字节(8位)为单位的,将在存储器中按顺序排列存放。8086/8088有20条地址线,可直接对1M个存储单元进行访问。每个存储单元 存放一个字节,且每个存储单元都有一个20位的地址,这1 M个存储单元对应的 地址为00000HFFFFFH,如图所示。存储单元地址 78H00000H 9FH00001H46H0011FH DFH00120H 6CH00121H98HE8009H 65HE800AH 5EHE800BH A6HE800CH 66HE800DH6FHFFFFFH1、存储器空间与存储器结构17笃学尚行 止于至善00001H00003H00005H512K8(位 )奇地址存储体(A0=1)FFFFD HFFFFFH00000H00002H00004H512K8(位 )偶地址存储体(A0=0)FFFFCHFFFFEH 存储器的分体结构 18笃学尚行 止于至善 存储体连接图D7-D0 奇 (高) SEL A18-A0D7-D0 偶 (低) SEL A18-A0BHEA0D7-D0D15-D8A19 -A1D7-D0 奇 (高) A19-A0A19 A0D7-D019笃学尚行 止于至善 FFFFFH 00000H 2、存储器分段逻辑段1 起点 逻辑段1 64KB 逻辑段3 起点 逻辑段3 64KB 逻辑段4 起点 逻辑段4 64KB 逻辑段2 起点 逻辑段2 64KB 20笃学尚行 止于至善3、逻辑地址与物理地址物理地址(PA) :就是存储器的实际地址,它是指CPU和存储器进行数据交换时所使用的地址(20位)。逻辑地址(LA) :是在程序中使用的地址,它由段地址和偏移地址两部分组成(16位)。逻辑地址的表示形式“段地址偏移地址”物理地址=段地址10H偏移地址注:段地址:CS、DS、ES、SS偏移地址:IP、DI、SI、BP、SP等21笃学尚行 止于至善段寄存器值+16位偏移量物理地址20位16位4位22笃学尚行 止于至善例2.1设(1)(CS)=4232H ,(IP)=0066H(2)(SS)=3210H,(SP)=001AH 则物理地址计算如下 4 2 3 2 0 H6 6 H)4 2 3 8 6 H3 2 1 0 0 H1 A H)3 2 1 1 A H1200H:0345H12345H 1100H:1345H12345H注:每个存储单元有唯一的物理地址,但它却可由不同的“段基址”和“偏 移量”组成。例2.223笃学尚行 止于至善CS 0000IP代码段DS或ES 0000SI、DI或BXSS
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号