《微机原理x系列结构微处理器与》由会员分享,可在线阅读,更多相关《微机原理x系列结构微处理器与(27页珍藏版)》请在金锄头文库上搜索。
1、微机原理x系列结构微处理器与Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望复习复习(8A)H=( )D微处理器、微型计算机和微型计算机系微处理器、微型计算机和微型计算机系统的区别是什么?统的区别是什么?奔腾系列的微处理器的字长是多少?奔腾系列的微处理器的字长是多少?后期进一步掌握:后期进一步掌握:CPU的内部结构、程的内部结构、程序的执行过程和寻址方式序的执行过程和寻址方式第第 2 章章 80x86系列结构微处理器与系列结构微处理器与8086本章讲述:本章讲述:2.1 80x86系
2、列微处理器是系列微处理器是8086的延伸的延伸2.2 8086的功能结构的功能结构2.3 8086微处理器的执行环境微处理器的执行环境2.1 80x86系列微处理器是系列微处理器是8086的延伸的延伸 功能扩展功能扩展1.从从16位扩展为位扩展为32位,目前正向位,目前正向64位转移位转移p32位地址的寻址空间为位地址的寻址空间为4GB,大于主流计算机实际,大于主流计算机实际内存配置,尚有应用余地内存配置,尚有应用余地2.从实模式至保护模式从实模式至保护模式p实现操作系统核心程序和应用程序的严格隔离,多实现操作系统核心程序和应用程序的严格隔离,多任务之间完全隔离任务之间完全隔离3.虚拟内存:匀
3、出一部分硬盘空间来充当内存使虚拟内存:匀出一部分硬盘空间来充当内存使用。当内存耗尽时,电脑就会自动调用硬盘来用。当内存耗尽时,电脑就会自动调用硬盘来充当内存充当内存1.流水线流水线:在:在CPU中把一条指令分解成多个可单独处中把一条指令分解成多个可单独处理的操作,使每个操作在一个专门的硬件站理的操作,使每个操作在一个专门的硬件站(stage)上执行,这样一条指令需要顺序地经过流上执行,这样一条指令需要顺序地经过流水线中多个站的处理才能完成,但是前后相连的几水线中多个站的处理才能完成,但是前后相连的几条指令可以依次流入流水线中,在多个站间重叠执条指令可以依次流入流水线中,在多个站间重叠执行,因此
4、可以实现指令的行,因此可以实现指令的并行处理并行处理。2.1 80x86系列微处理器是系列微处理器是8086的延伸的延伸80x86性能的提高:性能的提高:流水线、超标量与流水线、超标量与CACHE2.1 80x86系列微处理器是系列微处理器是8086的延伸的延伸 五级流水线五级流水线:PF(预取预取):处理器从代码:处理器从代码cache中预取指令中预取指令D1(译码阶段译码阶段1):处理器对指令译码确定操作码和寻址信:处理器对指令译码确定操作码和寻址信 息。息。D2(译码阶段译码阶段2):产生访问存储器的地址:产生访问存储器的地址EX(执行执行):处理器或者访问数据:处理器或者访问数据cac
5、he,或者利用,或者利用ALU等等功能单元计算结果功能单元计算结果WB(写回写回):利用指令运行结果更新寄存器和标志寄存器:利用指令运行结果更新寄存器和标志寄存器80x86性能的提高:性能的提高:流水线、超标量与流水线、超标量与CACHE2.1 80x86系列微处理器是系列微处理器是8086的延伸的延伸80486的指令分的指令分PF、D1、D2、EX、WB五个操作步骤五个操作步骤012345687时间时间i1PF D1 D2 EX WBPF D1 D2 EX WBPF D1 D2 EX WBPF D1 D2 EX WBi2i3i42.1 80x86系列微处理器是系列微处理器是8086的延伸的延
6、伸2、超标量、超标量:配置多个执行部件和指令译码电路,:配置多个执行部件和指令译码电路, 能同时执行多条指令。能同时执行多条指令。Pentium由三个执行单元组织而成,一个执行浮点指由三个执行单元组织而成,一个执行浮点指令,另两个执行整型指令(令,另两个执行整型指令(U流水线和流水线和V流水线),流水线),这意味着这意味着Pentium同时可以执行三条指令同时可以执行三条指令超标量超标量2.1 80x86系列微处理器是系列微处理器是8086的延伸的延伸3、CACHE存储器的集成度和工作速度相对于存储器的集成度和工作速度相对于CPU差一差一个数量级个数量级减少存储器中取指令和数据的时间,利用指减
7、少存储器中取指令和数据的时间,利用指令执行的局部性原理,把近期可能用到的指令执行的局部性原理,把近期可能用到的指令与数据放在工作速度比存储器更高的缓存令与数据放在工作速度比存储器更高的缓存中中2.2 8086的功能结构的功能结构指令的执行过程指令的执行过程p取指令取指令p指令译码指令译码p指令执行指令执行p在指令执行时根据需要在存储器中存取操作数。在指令执行时根据需要在存储器中存取操作数。在在8位微处理器中位微处理器中p指令都是直接从存储器中取出指令都是直接从存储器中取出p处理器串行工作处理器串行工作2.2 8086的功能结构的功能结构串行工作方式串行工作方式1)CPU执行指令时总线处于空闲状
8、态执行指令时总线处于空闲状态2)CPU访问存储器访问存储器(存取数据或指令存取数据或指令)时要等待总线操作时要等待总线操作的完成的完成取指执行取指执行取指执行.时间时间缺点:缺点:CPU无法全速运行无法全速运行解决:总线空闲时预取指令,使解决:总线空闲时预取指令,使CPU需要指令时能立刻得到需要指令时能立刻得到2.2 8086的功能结构的功能结构从功能上来说分成两大部分,总线接口单元从功能上来说分成两大部分,总线接口单元 BIU(Bus Interface Unit)和执行单元和执行单元 EU(Execution Unit).pBIU:负责与存储器接口,即负责与存储器接口,即8086与存储器之
9、间的信息传与存储器之间的信息传送,都是由送,都是由BIU负责进行的负责进行的,即:即:(1) BIU从内存的指定部分取出指令,送至指令队列排队。从内存的指定部分取出指令,送至指令队列排队。(2) 从内存的指定部分取出执行指令时所需的操作数,送至从内存的指定部分取出执行指令时所需的操作数,送至EU部分部分 pEU: 负责指令的执行负责指令的执行内部暂存器内部暂存器 IP ES SS DS CS输入输入/输出输出控制电路控制电路外外部部总总线线执行部分执行部分控制电路控制电路1 2 3 4 5 6ALU标志寄存器标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用通
10、用寄存寄存器器地址地址加法加法器器指令队列缓冲器指令队列缓冲器执行部件执行部件 (EU)总线接口部件总线接口部件 (BIU)16位位20位位16位位8位位2.2 8086的功能结构的功能结构 AX BX CX DX 算术逻辑单元算术逻辑单元 负责各种算术和逻辑运算负责各种算术和逻辑运算。 地址加法器地址加法器 将左移将左移 4 位的段寄存器的内容与偏移地址相加,形成位的段寄存器的内容与偏移地址相加,形成 20 位的物理地址,位的物理地址,以便对以便对 1 兆空间的存储器寻址。兆空间的存储器寻址。 指令队列指令队列 指令队列中包含若干个(指令队列中包含若干个(80866个)个)8 位寄存器,用于
11、顺序存放从存储器位寄存器,用于顺序存放从存储器中取出的指令,供执行单元执行。中取出的指令,供执行单元执行。 输入输入/ /输出控制电路输出控制电路 提供系统总线的控制信号,实现数据、地址和状态信息的分时传送。提供系统总线的控制信号,实现数据、地址和状态信息的分时传送。 执行单元控制电路执行单元控制电路 控制、定时与状态逻辑电路。用于控制执行单元中各部件按指定的要求协控制、定时与状态逻辑电路。用于控制执行单元中各部件按指定的要求协调工作。调工作。2.2 8086的功能结构的功能结构并行工作方式并行工作方式取指取指取指取指取指得到数据取指.BIU等待执行执 行执 行执 行8086微处理器的执行顺序
12、微处理器的执行顺序EU2.3 8086微处理器的执行环境微处理器的执行环境 AH AL BH BL CH CL DH DL AX BX CX DX SP BP SI DI IP FLAG CS DS SS ES(A) 累加器累加器 基地址寄存器基地址寄存器 计数器计数器 数据寄存器数据寄存器 堆栈指针寄存器堆栈指针寄存器 基地址寄存器基地址寄存器 源变址寄存器源变址寄存器 目的变址寄存器目的变址寄存器 (PC) 指令指针寄存器指令指针寄存器(PSW) 状态标志寄存器状态标志寄存器 代码段寄存器代码段寄存器 数据段寄存器数据段寄存器 堆栈段寄存器堆栈段寄存器 附加段寄存器附加段寄存器通用寄存器通
13、用寄存器控制寄存器控制寄存器 段寄存器段寄存器8位寄存器位寄存器16位寄存器位寄存器执行环境包括内存地址执行环境包括内存地址空间和各类寄存器空间和各类寄存器状态标志寄存器状态标志寄存器 O D I T S Z A P C 进位标志进位标志C(Carry Flag)当结果的最高位产生一个进位或借位,则当结果的最高位产生一个进位或借位,则C=1,否则,否则C=0。 溢出标志溢出标志O(Overflow Flag)在算术运算中,带符号数的运算结果超出了在算术运算中,带符号数的运算结果超出了8位或位或16位位 带符号数能表达的范围,则带符号数能表达的范围,则O=1,否则,否则O=0。 8位(字节)运算
14、位(字节)运算 -128 +127 16位(字)位(字) 运算运算 -32768 +32767 符号标志符号标志S(Sign Flag) 结果的最高位(结果的最高位(D15或或D7)为)为1,则,则S=1,否则,否则 S=0。 零标志零标志Z(Zero Flag) 若运算的结果为若运算的结果为0,则,则Z=1,否则,否则Z=0。 奇偶标志奇偶标志P(Parity Flag) 若结果中若结果中1的个数为偶数,则的个数为偶数,则P=1,否则,否则,P=0。 辅助进位标志辅助进位标志A(Auxitiary Flag) 在字节操作时,由低半字节在字节操作时,由低半字节(第第3位位)向高半字节,向高半字
15、节, 字操作时低字节向高字节有进位或借位,则字操作时低字节向高字节有进位或借位,则A=1,否则,否则A=0。 方向方向 标志(标志(Direction Flag) D=1 ,串操作时地址自动减量,串操作时地址自动减量,D=0,串操作时地址自,串操作时地址自 动增量。动增量。 中断允许标志(中断允许标志(Interruptenable Flag) I=1,则允许,则允许CPU接收外部的中断请求,接收外部的中断请求, I=0,则屏蔽外部中断请求。,则屏蔽外部中断请求。 追踪标志(追踪标志(Trace Flag) T=1,使处理进入单步方式,以便于调试。,使处理进入单步方式,以便于调试。状状态态标标
16、志志控控制制标标志志例:两个带符号数例:两个带符号数 64 h , 64 h 相加。相加。 0 1 1 0 0 1 0 0 + 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 0 O=1(运算结果超过(运算结果超过127);); S=1 ; (符号标志)(符号标志) Z=0 ;(是否为;(是否为0) A=0 ;(辅助进位标志);(辅助进位标志) P=0 ;(奇偶标志);(奇偶标志) C=0 。(进位、借位标志)。(进位、借位标志) O D I T S Z A P C三、存储器组织三、存储器组织1. 存储器分段存储器分段 8086有有20条地址线,它的直接寻址能力为条地址线,它的直接
17、寻址能力为 220=1M,所以在一个,所以在一个8086组成的系统组成的系统中,可以有多达中,可以有多达1M字节的存储器,这字节的存储器,这1M字节在逻辑上可以组成一个线性矩阵,地址字节在逻辑上可以组成一个线性矩阵,地址从从00000到到FFFFF。给定一个。给定一个20位的地址,就可以从中取出所需的指令和数据。位的地址,就可以从中取出所需的指令和数据。 在在8086内部,内部,ALU 能进行能进行16位的运算,有关地址寄存器如:位的运算,有关地址寄存器如:IP、SP、BX、BP、SI、DI等都是等都是16位的,因而对地址的运算也只能是位的,因而对地址的运算也只能是16位。其寻址的范围最多是位
18、。其寻址的范围最多是216=64K。 在在8086中怎样形成这中怎样形成这20位的地址呢?位的地址呢?分段!分段! 将内存的将内存的1M字节以字节以64K为范围,分成若干段;在为范围,分成若干段;在8086中设置中设置4个段寄存器个段寄存器CS、DS、SS、ES,在寻址一个具体的内存单元(物理地址)时,由一个段寄存器中保存,在寻址一个具体的内存单元(物理地址)时,由一个段寄存器中保存的的16位基地址,加上由位基地址,加上由IP(或(或SP,或,或BP,或,或BX,或,或SI,或,或DI)中保存的、可由)中保存的、可由CPU处理的处理的16位偏移量,来形成位偏移量,来形成20位的物理地址。位的物
19、理地址。 在形成物理地址时,地址加法器将段寄存器中的在形成物理地址时,地址加法器将段寄存器中的16位数左移位数左移4位,然后与位,然后与16位偏位偏移地址相加,形成移地址相加,形成20位的物理地址。位的物理地址。三、存储器组织三、存储器组织当前可寻址的存储当前可寻址的存储器段(堆栈段和附器段(堆栈段和附加段重叠)加段重叠) 存储器单元地址的表示存储器单元地址的表示 (1)偏移地址)偏移地址以以16位二进制数表示某段内存储器位二进制数表示某段内存储器 单元的地址。单元的地址。 (2)逻辑地址)逻辑地址以段地址与偏移地址同时表示某存以段地址与偏移地址同时表示某存 储器单元的地址。储器单元的地址。
20、(3)物理地址)物理地址表示某存储器单元的实际接线地址。表示某存储器单元的实际接线地址。 即表示存储器单元的唯一地址。即表示存储器单元的唯一地址。 存储器单元物理地址的计算存储器单元物理地址的计算物理地址物理地址=(段地址段地址) 10H + 偏移地址偏移地址 偏移地址:偏移地址:IP(指令指针)(指令指针) SP(堆栈指示器)(堆栈指示器) BX(基址指针)(基址指针) BP(基数指示器)(基数指示器) SI(源变址寄存器)(源变址寄存器)DI(目的源变址寄存器)(目的源变址寄存器) 段地址:段地址:CS(代码段段寄存器)(代码段段寄存器)DS(数据段段寄存器)(数据段段寄存器) SS(堆栈
21、段段寄存器)(堆栈段段寄存器) ES(附加段段寄存器)(附加段段寄存器) 举例举例: (1)计算存储器单元)计算存储器单元11A7:D870的物理地址。的物理地址。 存储器单元的逻辑地址存储器单元的逻辑地址 11A7:D870 段地址段地址 偏移地址偏移地址 物理地址物理地址 = (11A7H 10H)+ D870H = 11A70H + D870H = 1F2E0H (2)已知某数据段段地址为)已知某数据段段地址为121AH,请写出该数据段,请写出该数据段 首、末单元的物理地址。首、末单元的物理地址。 首物理地址首物理地址=(121A 10H)+0000H=121A0H 该段最大存储容量为该
22、段最大存储容量为64K(216= 10000H) 末物理地址末物理地址=首物理地址首物理地址+(216 -1) =121A0H+FFFFH 数据段段地址数据段段地址 (DS)=121AH =2219FH 1 1 A 7 0 H + D 8 7 0 H 1 F 2 E 0 H 1 2 1 A 0 H + F F F F H 2 2 1 9 F H 16位段地址位段地址 16位段内偏移量位段内偏移量16位段地址位段地址 0000 20位物理地址位物理地址地址加法器地址加法器段寄存器段寄存器偏移量寄存器偏移量寄存器左移左移4位位注意:注意: 1M空间可以分成若干段,每段最多空间可以分成若干段,每段最多64K字节地址空间;字节地址空间;每段的起始地址必须能被每段的起始地址必须能被16整除;整除;各段之间可以重叠。各段之间可以重叠。物理地址与逻辑地址物理地址与逻辑地址 逻辑地址逻辑地址程序中编排的地址,由段地址和段内偏移地址程序中编排的地址,由段地址和段内偏移地址 组成;组成; 物理地址物理地址信息、数据在存储器中实际存放的地址。信息、数据在存储器中实际存放的地址。 三、存储器组织三、存储器组织第第2章章 作业作业补充:执行下面的运算后,补充:执行下面的运算后,FLAGS中各状中各状态标志是什么值?态标志是什么值? 5439H+456AH 习题习题P42:2.7;2.9;2.14;2.16