微型计算机原理及应用

上传人:宝路 文档编号:49558839 上传时间:2018-07-30 格式:PPT 页数:57 大小:1.25MB
返回 下载 相关 举报
微型计算机原理及应用_第1页
第1页 / 共57页
微型计算机原理及应用_第2页
第2页 / 共57页
微型计算机原理及应用_第3页
第3页 / 共57页
微型计算机原理及应用_第4页
第4页 / 共57页
微型计算机原理及应用_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《微型计算机原理及应用》由会员分享,可在线阅读,更多相关《微型计算机原理及应用(57页珍藏版)》请在金锄头文库上搜索。

1、第2章:80x86微处理器2.1 微处理器的发展2.2 8086微处理器第二章:80x86微处理器2.1 微处理器的发展第一代(19711973) 4位和低档8位微处理器时代第二代(19741977) 8位微处理器时代第三代(19781984) 16位微处理器时代第四代(19851999) 32位微处理器时代第五代(2000年至今) 64位高档微处理器时代代次起止年份CPU数据位 数主频( MHZ)第一代19711972Intel4004、80084位、8位1第二代19731977Intel80808位2第三代19781980Intel808616位5第四代19811992Intel80386

2、、8048632位25第五代19931998Pentium及 Pentium Pro64位60400第六代1999今Pentium PentiumIV64位450800 上G微机的六个发展阶段Intel公司微处理器发展简史: 1、8086(16,1MB) 2、80286(16,16MB) 3、80386(32) 4、80486 5、Pentium(奔腾) 6、Pentium Pro (高能奔腾) 7、Pentium II 8、Pentium III 9、Pentium 10、Pentium D与Pentium XE双核处理器 11、Itanium(安腾) 12、Core Duo(酷睿处理器)

3、2.2 8086微处理器2.2.1 8086CPU内部功能结构编程结构:就是指从程序员和使用者的角度应该看到的结构。(这种结构与CPU内部的物理结构和实际布局是有区别的)从功能上分:总线接口部件BIU(Bus Interface Unit)执行部件EU(Execution Unit)。状态标志寄存器EU 控制器暂存寄存器1 2 3 4 5 6(16 位)总线控 制逻辑地址总线地址加法器(20位) 数据 总线 AH AH AL BH BL CH CL DH DL SP BP DI SIAX BX CX DXAH CS DS ES SS IP 内部通讯 寄存器ALU数据总线(16位)Q(总线)(8

4、位)执行部件(EU)总线接口部件(BIU)ALU(队列)8086总线图2-1 8086CPU的内部结构1、总线接口部件(BIU)与CPU外部(存储器、IO端口)传送指令代码或数据。总线接口部件的功能: (1)取指令和预取指令 (2)配合EU执行的指令,传送数据 (3)形成物理地址 (1)BIU的组成4个16位的段地址寄存器(CS、DS、ES、SS)、16位的指令指针寄存器IP、20位的地址加法器、6字节的指令队列缓冲器、16位的内部暂存器和总线逻辑控制器。(2) BIU各部件的作用 (3) 1) 段地址寄存器 CS:16位代码段寄存器,寄存程序代码段首地址的高16位。 DS:16位数据段寄存器

5、,寄存数据段首地址的高16位。 ES:16位扩展段寄存器,寄存另一个数据段首地址的高16位。SS:16位堆栈段寄存器,寄存堆栈区数据段首地址的高16位。 2)16位的指令指针寄存器IP:指出当前指令在程序代码段中的16位偏移量。 3)20位的地址加法器:用来产生20位物理地址。 段基址:段寄存器提供的16位信息,左移4位。 偏移地址:EU提供的16位信息或者IP提供的16位信息。 4)6字节的指令队列缓冲器:用来存放预取指令的指令队列。 5)16位的内部暂存器:暂存输入/输出信息的寄存器。 6)总线逻辑控制器:以逻辑控制方式实现总线上的信息传送,如信息分时传送等。2、执行部件EU 执行部件的功

6、能就是负责指令的执行。 (1) EU的组成: 执行部件由4个通用寄存器(AX、BX、CX、DX)、4个专用寄存 器(BP、SP、SI、DI)、算术逻辑单元、EU控制器和标志寄存 器组成。 (2) EU各部件的作用 1) 4个通用寄存器AX:16位的累加器BX:16位的基数寄存器CX:16位的计数寄存器DX:16位的数据寄存器2)4个专用寄存器BP:16位的基数指针寄存器(存放堆栈数据区基址的偏移地址)SP:16位的堆栈指针寄存器(存放堆栈栈顶的偏移地址)堆栈:一组寄存器或一个存储区域,用来存放调用子程序或响应 中断时的主程序断点地址,以及暂存其它寄存器的内容。 当信息存入堆栈或从堆栈中取出信息

7、时,都必须严格按照“先进 后出”的规则进行。SI:16位的源变址寄存器(存放当前数据段的偏移地址)DI:16位的目的变址寄存器(存放当前数据段的偏移地址) 3)算术逻辑部件ALU 功能有两个:一是进行算术逻辑运算,二是按指令的寻址方式计算出所寻址的16位偏移地址。 4)EU控制器:执行指令的控制电路,实现从队列中取指令、译 码、产生控制信号等。1514131211109876543210OFDFIFTFSFZFAFPFCF5)标志寄存器FR(F1ags Register):16位状态标志寄存器(7 位未用)存放操作后的状态特征和人为设置的控制标志。所用的各位含义如下:这些标志可分两类:状态标志

8、,控制标志。 它们的作用详见表2-1 表2-1 8086标志的作用类 型标志名符号作用状 态 标 志 6 个符号标 志SF(Sign Flag)指出前面运算执行后的结果是正还是负,它和 运算结果的最高位相同,结果为负,则SF=1; 结果为正,则SF=0。零标志ZF(Zero Flag)指出前面运算执行后的结果是正否为零,结果 为零,则ZF=1;结果为非零,则ZF=0。奇/偶标 志PF(Parity Flag )指出前面运算结果的低 8位中所含的 1的个数为 偶数还是奇数,结果为偶,则PF=1;结果为奇 ,否则PF=0。进位标 志CF(Carry Flag )当执行加法运算使最高位产生进位或执行

9、减法 运算引起最高位产生借位时,CF=1,否则 CF=0。当执行循环移位指令或执行CPU的CF控 制指令时,也会影响这一标志。辅助进 位标志AF(Auxiliary Carry Flag)当执行加法运算使第3位往第4位上有进位或减 法运算使第3位从第4位有借位时,则AF=1,否 则AF=0。溢出标 志OF(Overflow Flag)当运算的结果超出了范围时就会产生溢出(详 见第一章中双高位判别法), OF=1。否则 OF=0。控 制 标 志 3 个方向标志DF(Direction Flag)在串操作指令中用来控制串操作过程中地 址的增减。当DF= 0,则地址不断递增;当 DF=1,则地址会不

10、断递减。中断标志IF(Interrupt Enable Flag)在中断过程中控制是否响应可屏蔽中断的 请求。当 IF=0,则CPU不能响应可屏蔽中 断请求;当IF=1,则CPU可以接受可屏蔽 中断请求。跟踪标志TF(Trap Flag)在中断过程中控制是否响应单步中断的请 求。当TF=1,则CPU按跟踪方式执行指令 。当TF=0,则CPU不会响应单步中断。例2.1计算机在进行 1234H+5678H 运算后,试求状态标志SF、ZF 、PF、CF、AF、OF 的值。 0001 0010 0011 0100 十 0101 0110 0111 10000110 1000 1010 1100 SF=

11、0:运算结果的最高位为0; ZF=0:运算结果本身不为0; PF=1:运算结果低8位所含1的个数为4个,是偶数个1; CF=0:最高位没有产生进位; AF=0:第3位没有往第4位产生进位; OF=0:次高位没有往最高位产生进位,最高位往前也没有进位。例2.2 计算机在进行 6789H-1234H 运算后,试求状态标志SF、 ZF、PF、CF、AF、OF 的值。 补码运算的结果。0110 0111 1000 1001 1110 1101 1100 11001 0101 0101 0101 0101SF=0:运算结果的最高位为0; ZF=0:运算结果本身不为0; PF=1:运算结果低8位所含1的个

12、数为4个,是偶数个1; CF=0:虽然最高位产生了进位,但这是与被减数的补码相加,其 借位CF应是进位的反码,所以无借位; AF=0:与CF类似,第3位没有向第4位产生借位; OF=0:次高位向最高位产生进位,最高位向前也产生了进位,所 以无溢出;取指令1 译码1 取数1 执行1 存结果1 取指令2 译码2 执行2 CPU时间 (a) 指令的串行处理取指令1 取指令2 取数1 取指令3存结果1 取指令4 BIU等待 译码1 执行1 译码2 执行2 EU时间 (b) 指令的并行处理图2-2 串行处理和流水处理工作原理2.2.2 8086CPU 内部流水线管理工作原理8086流水线管理工作原理1)

13、当指令队列为空时,这种情况一般发生在程序刚开始执行或刚执行了跳转指令(转移指令、调用指令和返回指令)。 这时EU等待BIU提取指令,BIU会从存储器中把要执行的那个程序段指令装入指令队列中2)当指令队列不空时,这时EU和BIU独立工作,EU负责从指令队列前部取出指令代码,并进行译码和执行;BIU负责从存储器中把指令取到指令队列中,直到指令队列满为止。3)当指令队列已满且EU又无访问请求时,BIU便进入空闲状态。4)当指令队列出现2个空字节时,BIU又会自动地从存储器中把后面的指令装满指令队列。5)当EU执行特殊指令时,这有两种情况:一是EU在执行指令过程中必须进行外部(存储器或IO端口)访问,

14、这时EU请求BIU去做外部访问,如果BIU正好处于空闲状态,则立即响应 EU的请求,如果BIU正在取指过程中,则BIU在完成当前取指令的操作后再去响应EU的请求;二是EU执行跳转指令,这时,指令队列中已装入的指令字节就不再有用,则指令队列被自动清空。 2.2.3 8086CPU的存储器组织地址空间:1MB (20位)逻辑段:最大64kB,CS,DS,ES,SS。浮动、连续、分开重叠。1、存储器分段和段寄存器 段首址:各逻辑段的第一个单元的地址。通常,段基地址的低4位为“0” (如: C4320H )段基址:段首址的高16位。段基址根据段的性质存放在相应的段寄存器DS、ES、SS或CS中。偏移地

15、址:段内存储单元距离段首地址的偏移量。段基址和偏移地址都是无符号的16位二进制数,这两部分构成了存储单元的逻辑地址。代码段数据段堆栈段附加段00000H单元段寄存器CS16 DS16 SS16 ES16代码段首址数据段首址堆栈段首址附加段首址FFFFFH单元图2-3 存储器的逻辑分段采用分段结构的存储器中,任何一个20位物理地址都是由它的逻辑 地址变换得到的:物理地址=段基址16偏移地址段寄存器15 0000016位偏移地址15 00000加法器20位物理地址19 0图2-4 8086物理地址的形成段寄存器CSSSDSES基址及指针寄存器CSBPSPSIBXDI图2-5 段寄存器与其它寄存器的

16、组合2、 存储器组织8086的1MB存储器,分成了两个 512KB存储区,分别叫奇地址区(奇 区)和偶地址区(偶区)。CS A18A0 512K字节 奇区存贮体 D7D0CS A18A0 512K字节 偶区存贮体 D7D0D8D15 D0D7A1A19A0BHE图2-6 8086存储器的偶区和奇区两个存储体内的地址表示偶地址存储体地址奇地址存储体地址 二进制表示十六进制表示二进制表示十六进制表示0000000 000H0000000 101H 0000001 002H0000001 103H 0000010 004H0000010 105H 0000011 006H0000011 107H 8086用两个存储体来组织实际存储空间奇地址偶地址00001H 00003H00000H 00002HFFFFEHFFFFFH.BHEA0A0 A19 BHED8

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号