体系结构与80X86CPU.ppt

上传人:牧羊曲112 文档编号:5226870 上传时间:2023-06-15 格式:PPT 页数:74 大小:1.17MB
返回 下载 相关 举报
体系结构与80X86CPU.ppt_第1页
第1页 / 共74页
体系结构与80X86CPU.ppt_第2页
第2页 / 共74页
体系结构与80X86CPU.ppt_第3页
第3页 / 共74页
体系结构与80X86CPU.ppt_第4页
第4页 / 共74页
体系结构与80X86CPU.ppt_第5页
第5页 / 共74页
点击查看更多>>
资源描述

《体系结构与80X86CPU.ppt》由会员分享,可在线阅读,更多相关《体系结构与80X86CPU.ppt(74页珍藏版)》请在三一办公上搜索。

1、2023/6/15,1,微型计算机原理与接口技术,学习成就未来!,第二章 8086系统结构,熊旺平,2023/6/15,2,本章内容导读,CPU(8086)的结构CPU(8086)的引脚信号和工作模式8086系统存储器的组织和分类CPU(8086)的操作和时序,2023/6/15,3,本章学习要求,熟悉8086CPU的内部结构及引脚功能和系统配置;掌握8086CPU的寄存器结构、功能和使用方法;掌握标志寄存器中各标志位的定义;掌握存储器的分段表示,熟悉其分体结构和堆栈 熟悉总线周期与指令周期、时钟周期的关系;了解总线时序。,2023/6/15,4,x86或80 x86是英代尔Intel首先开发

2、制造的一种微处理器体系结构的泛称。该系列较早期的处理器名称是以数字来表示,并以“86”作为结尾,包括Intel 8086、80186、80286、80386以及80486,因此其架构被称为“x86”。由于数字并不能作为注册商标,因此Intel及其竞争者均在新一代处理器使用可注册的名称,如Pentium。现时Intel把x86-32称为IA-32,全名为“Intel Architecture,32-bit”。不过,由于x86包括16位元的处理器,这样的命名也出现麻烦。,2023/6/15,5,历史,x86架构于1978年推出的Intel 8086中央处理器中首度出现,它是从Intel 8008处

3、理器中发展而来的,而8008则是发展自Intel 4004的。8086在三年后为IBM PC所选用,之后x86便成为了个人电脑的标准平台,成为了历来最成功的CPU架构。其他公司也有制造x86架构的处理器,计有Cyrix(现为VIA所收购)、NEC集团、IBM、IDT以及Transmeta。Intel以外最成功的制造商为AMD,其Athlon系列处理器的市场份额仅次于Pentium。8086是16位元处理器;直到1985年32位元的80386的开发,这个架构都维持是16位元。接着一系列的处理器表示了32位元架构的细微改进,推出了数种的扩充,直到2003年AMD对于这个架构发展了64位元的扩充,并

4、命名为AMD64。后来Intel也推出了与之兼容的处理器,并命名为Intel 64。两者一般被统称为x86-64或x64,开创了x86的64位时代。,2023/6/15,6,值得注意的是Intel早在1990年代就与HP合作提出了一种用在安腾系列处理器中的独立的64位架构,这种架构被称为IA-64。IA-64是一种崭新的系统,和x86架构完全没有相似性;不应该把它与x86-64或x64弄混。,2023/6/15,7,设计,x86架构是重要地可变指令长度的CISC(复杂指令集电脑,Complex Instruction Set Computer)。字组(word,4字节)长度的内存存取允许不对齐

5、内存位址。向前相容性一直都是在x86架构的发展背后一股驱动力量(设计的需要决定了这项因素而常常导致批评,尤其是来自对手处理器的拥护者和理论界,他们对于一个被广泛认为是是落后设计的架构的持续成功感到不解)。,2023/6/15,8,CPU(8086)的结构,由于当时制造工艺和生产成本的原因,微处理器的结构受到引脚数目、芯片面积和器件速度的限制。8086 CPU的特点引脚功能复用单总线、累加器结构可控三态电路总线分时复用Intel 8088准16位处理器,内部寄存器及内部操作均为16位,外部数据总线8位。8088与8086指令系统完全相同,芯片内部逻辑结构、芯片引脚有个别差异。,2023/6/15

6、,9,CPU(8086)的结构,8086概况:1979年推出,第一代超大规模集成电路(VLSI)微处理器,采用HMOS工艺制造,内含2.9万晶体管。数据总线宽度16位,地址总线宽度20位;可直接寻址空间2201M字节单元;16位数据总线与地址总线复用。采用单一的+5V电源,一相时钟,时钟频率为 5MHz(8086),10MHz(80861),8MHz(80862)。133条指令,指令长度16字节,指令最短执行时间为0.4s(平均0.5s)。,2023/6/15,10,CPU(8086)的结构,一、8086CPU的内部结构,总线接口部件BIU(Bus Interface Unit)16位段地址寄

7、存器16位指令指针寄存器IP存放下一条要执行指令的偏移地址3)20位物理地址加法器完成16为逻辑地址20位物理地址的转换4)6字节指令队列预放六字节的指令代码5)总线控制逻辑,指令执行部件EU(Execution Unit)算术逻辑运算单元ALU完成8位或16位二进制运算2)标志寄存器PSW存放ALU运算结果特征3)寄存器组4个通用16位寄存器;4个专用16位寄存器4)EU控制器取指令控制和时序控制部件,2023/6/15,11,CPU(8086)的结构,2023/6/15,12,CPU(8086)的结构,2023/6/15,13,CPU(8086)的结构,2023/6/15,14,CPU(8

8、086)的结构,2023/6/15,15,CPU(8086)的结构,2023/6/15,16,CPU(8086)的结构,2023/6/15,17,寄存器定义(Register),寄存器是中央处理器内的组成部份。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。寄存器是内存阶层中的最顶端,也是系统获得操作资料的最快速途径。寄存器通常都是以他们可以保存的位元数量来估量,举例来说,一个“8 位元寄存器”或“32 位元寄存器”。寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。,2023/6/15,18,寄存器用途,1.可将寄存器内的数据执行算术

9、及逻辑运算;2.存于寄存器内的地址可用来指向内存的某个位置,即寻址;3.可以用来读写数据到电脑的周边设备。,2023/6/15,19,CPU(8086)的结构,二、8086CPU的寄存器结构,Stack Pointer Base PointerSource IndexDestination IndexCode SegmentData SegmentStack SegmentExtra SegmentInstruction Pointer,Accumulator X Base XCounter X Data X,2023/6/15,20,什么是D触发器?,D触发器的D代表延迟或数据,它的输出是发

10、生在早于一个时钟脉冲之前的D输入的函数。维持阻塞D触发器如图2-46所示。在时钟脉冲期间,在D输入提供“1”会导致输出变为1,否则输出变为0。其真值表(表2-18)表明这种关系,其中Qn+1是时钟脉冲以后的Q输出,它取决于D的输入状态。用JK触发器构成的D触发器,如图2-47所示。,2023/6/15,21,2023/6/15,22,CPU(8086)的结构,2023/6/15,23,CPU(8086)的结构,2023/6/15,24,CPU(8086)的结构,指针与变址寄存器BP和SP称为 指针寄存器 常与SS联用,来确定堆栈段中的某一存储单元的地址.SI和DI称为 变址寄存器 常与DS联用

11、,来确定数据段中的某一存储单元的地址.在串指令中,SI与DS联用;DI与ES联用.,2023/6/15,25,CPU(8086)的结构,2023/6/15,26,CPU(8086)的结构,2023/6/15,27,CPU(8086)的结构,状态标志,标志寄存器的格式及各位的含义,2023/6/15,28,CPU(8086)的结构,1.状态标志:表示前面的操作执行后,算术逻辑部件处于怎样一种状态。例如,是否产生了进位,是否发生了溢出等等。程序中,可以通过对某个状态标志的测试,决定后面的走向及操作。例如:STATE:IN AL,0DAH;TEST AL,02H;JZ STATE全零标志ZF(Zer

12、o Flag):若运算结果为0,则ZF1;否则ZF0。例1:MOV AL,4 SUB AL,4例2:XOR AX,AX 执行后,ZF=?执行后,ZF=1,2023/6/15,29,CPU(8086)的结构,进位标志CF(Carry Flag):它反映:加法时,最高位(字节操作时的D7位,字操作时的D15位)是否有进位产生。减法时,最高位(字节操作时的D7位,字操作时的D15位)是否有借位产生。例如:MOV AL,3;SUB AL,4;执行后,CF1。CF可以表示无符号数的溢出.奇偶校验标志PF(Parity Flag):若运算结果低8位中“1”的个数为偶数,则PF1;否则PF0。例:MOV A

13、L,2 ADD AL,1 执行后,PF位为1。,2023/6/15,30,CPU(8086)的结构,辅助进位标志AF(Auxiliary carrry Flag):也称“半进位标志”,它反映:加法时,D3位向D4位有进位;减法时,D3位向D4位有借位。溢出标志OF(Overflow Flag):若运算过程中发生了“溢出”,则OF1。定义:运算结果超出计算装置所能表示的范围,称为溢出。OF为是根据操作数的符号及其变化情况来设置的:若两个操作数的符号相同,而结果的符号与之相反时,OF=1;否则,OF=0.它是用来表示带符号数的溢出的.,2023/6/15,31,例题 将 5394H 与 777FH

14、 两数相加,并说明其标志位状态.,运算结果为23EBH,并置标志位为:进位标志 CF=0;奇偶校验 PF=1;辅助进位 AF=0;全零标志 ZF=0;符号标志 SF=1;溢出标志 OF=0.,2023/6/15,32,CPU(8086)的结构,2.控制标志(3位):每一位控制标志都对一种特定的功能起控制作用。可以通过专门的指令对其进行“置位”(Set)或“复位”(Reset)。中断标志IF(Interrupt Enable Flag):如果IF置“1”,则CPU可以接受可屏蔽中断请求;反之,则CPU不能接受可屏蔽中断请求。指令系统中有两条专门的指令可以置“1”或置“0”IF标志位:STI 使I

15、F置“1”,即开放中断。CLI 使IF清“0”,即关闭中断方向标志DF(Direction Flag):用于串操作指令中的地址增量修改(DF0)还是减量修改(DF1)。STD(SeT Direction),CLD(Clear Direction)。跟踪标志TF(Trap Flag):若TF1,则CPU按跟踪方式(单步方式)执行程序。,2023/6/15,33,CPU(8086)的引脚信号和工作模式,2023/6/15,34,中断相关引脚,INTR:可屏蔽(Maskable)中断请求信号,输入,高电平有效。外设向CPU发出中断请求。INTA:中断响应信号,输出,低电平有效。CPU对中断请求的响应

16、。CPU在每条指令的最后一个时钟周期采样INTR信号,若发现INTR信号有效(为高电平),并且中断允许标志IF=1时,CPU就会在结束当前指令后,响应中断请求,进入中断响应周期。其间,将通过INTA引脚向发出请求信号的设备(中断源)发出中断响应信号。NMI(Non-Maskable Interrupt request):非屏蔽中断请求信号,输入,正跳变有效。“不受IF的影响”。,2023/6/15,35,存储相关引脚,BHE/S7:高8位数据允许/状态(BUS High Enable/Status)复用引脚 8086有16条数据线,可用低8位传送一个字节,也可用高8位传送一个字节,还可用高8位

17、和低8位一起传送一个字(16位)。BHE就是用来区分这几类传输的。WR:写信号,输出,三态,低电平有效;RD:读信号,输出,三态,低电平有效。当读信号(或写信号)有效时,表示CPU正在进行读(或写)存储器或IO端口的操作。究竟是读(或写)存储器还是IO端口,由CPU输出的另一个专门信号M/IO决定。M/IO(Memory/IO):访问存储器或IO端口信号,输出,三态。为高电平时,表示CPU当前正在访问存储器,2023/6/15,36,存储相关引脚,ALE(Address latch Enable):地址锁存允许信号,输出,高电平有效。由于8086/8088的一部分地址线和数据线采用分时复用。在

18、一个总线周期内总线上先传送地址,接着传送数据。但在一般情况下,存储器或I/O接口电路,要求在整个总线周期内保持稳定的地址信息。这样,就需要将这些地址信息保存起来。与8086/8088配套的锁存器电路为8282/8283,用ALE做锁存允许信号。DEN(Data Enable):数据允许,输出,三态,低电平有效。作为总线收发器(8286/8287数据总线驱动器)的控制信号。DT/R(Data Transmit/Receive):数据发送/接收控制,输出,三态。READY(Ready)准备就绪信号,输入,高电平有效。由存储器或I/O端口发来的响应信号,表示外部设备已经准备就绪。,2023/6/15

19、,37,锁存器的应用,选通,n位数据总线,ALE(Address latch Enable):地址锁存允许信号,2023/6/15,38,HOLD(Hold request):总线请求,输入,高电平有效。HLDA(Hold Acknowledge):总线请求响应,输出,高电平有效。,MN/MX:最小/最大模式控制信号,模式与总线控制引脚,2023/6/15,39,CPU在每个时钟周期的上升沿采样HOLD,如果允许让出总线,就在当前总线周期完成时(T4状态),从HLDA引脚发出一个回答信号,对HOLD请求发出响应。同时,CPU使地址/数据总线和有关控制信号线进入高阻状态(第三态)放弃总线控制权。

20、另一方面,总线请求部件(如DMAC)收到有效HLDA信号后,就获得了总线控制权。在此期间,HOLD和HLDA都保持高电平,在总线占有部件(当前总线主)用完总线之后,将把HOLD信号变为低电平,表示现在放弃对总线的占用。CPU收到低电平的HOLD之后,它将HLDA变为低电平。从此,CPU又获得了总线控制权。,模式与总线控制引脚,2023/6/15,40,CPU(8086)的引脚信号和工作模式,最小模式和最大模式最小模式,也称“单处理器系统”,即在系统中只有一个8086处理器,全部的系统总线信号均由8086直接产生。总线控制逻辑减到最少,故称最小模式。最大模式,也称“多处理器系统”,即系统中包含两

21、个或多个处理器,其中一个为主处理器(8086),其他的处理器为“协处理器”(COProcessor)。通常,和8086配合使用的协处理器有两个:一个是数值运算协处理器8087,一个是输入/输出协处理器8089。两种工作模式选择不是由程序控制的,而是由硬件设定的。CPU的引脚 MN/MX端接高电平5V时,构成最小模式,接低电平时构成最大模式。,2023/6/15,41,CPU(8086)的引脚信号和工作模式,2023/6/15,42,DI:输入 DO:输出 Vcc:电源 GND:地 STB:选通,输入 OE:允许输出8282芯片中,当STB有效时,输入端上的8位数据被锁存到锁存器中;OE有效时,

22、锁存器中的数据输出;OE无效时,则输出端呈高阻状态如果该系统中所接存储器或I/O接口的容量不超过64K字节时,只需2片8282就能锁存16位地址信号当CPU地址锁存允许信号ALE有效,也即STB有效时,地址被锁存,A0-A7,B0-B7:双向数据输入输出OE:开启缓冲器的控制信号当OE有效时,允许数据通过;与8086的 DEN相连T:是数据传送方向控制信号当T端为高电平时,8位数据被正向传送AB,低电平,方向为AB;与8086的DT/R相连,2023/6/15,43,CPU工作在最小模式下,系统控制信号直接由CPU产生。在最大模式,系统控制信号则由总线控制器产生。CPU工作在最大模式时,不同总

23、线周期S2#、S1#、S0#输出不同状态,S2#、S1#、S0#的不同组合指出CPU当前不同的总线周期。将S2#、S1#、S0#输入总线控制器8288进行译码,8288便根据不同总线周期产生产相应的总线控制信号。总线请求与允许信号RQ#/GT0#,RQ#/GT1#(Request/Grant):总线请求信号/总线请求允许信号(标号31、30),双向。CPU以外的两个处理器可以分别用其中之一来请求总线,并接受CPU对总线请求的允许。其中RQ#/GT0#优先级高于RQ#/GT1#。,最大工作模式(MN/MX#=0),2023/6/15,44,LOCK#(Lock):总线封锁信号(标号29),输出。

24、用来封锁其它总线主的总线请求,当LOCK#为低电平时,系统中其他总线主就不能占用总线。信号是由CPU的29号管脚上输出的电平信号。LOCK#信号是受指令控制的,当CPU执行了具有总线封锁指令LOCK前缀的指令时,LOCK#管脚输出低电平,用他来封锁其他处理器对总线的请求。LOCK#为低,其他处理器不能占有总线。直至具有LOCK前缀的指令执行完之后,LOCK#才变为无效电平,输出高,撤消对其他处理器的总线封锁,2023/6/15,45,总线控制器8288,2023/6/15,46,8086系统存储器的组织和分类,2023/6/15,47,8086系统存储器的组织和分类,整个存储空间可分为 16个

25、逻辑段,可以是连续分开或重叠的.凡能被16或10H整除的地址处均可分段.也就是说最末一个为16进制数字为0H的地址单元处均可开始分段。,2023/6/15,48,8086系统存储器的组织和分类,逻辑地址:用来表示存储器逻辑单元的地址,由段基址和偏移地址组成,程序设计时采用逻辑地址。物理地址:存储器的绝对地址,从00000FFFFFH,CPU访问存储器的实际寻址地址,由逻辑地址变换而来。,物理地址的形成,2023/6/15,49,8086系统存储器的组织和分类,2023/6/15,50,8086系统存储器的组织和分类,2023/6/15,51,8086系统存储器的组织和分类,逻辑地址的来源,教材

26、P36 图表,2023/6/15,52,8086系统存储器的组织和分类,2023/6/15,53,8086系统存储器的组织和分类,2023/6/15,54,8086系统存储器的组织和分类,2023/6/15,55,8086的总线时序,时钟周期:时钟脉冲的重复周期,又叫T状态,是CPU的时间基准,时序系统中的最小时间单位,由计算机主频决定。总线周期:通过总线进行一次或多次对存储单元或I/O端口读或写的操作,完成一次读写操作所需要的时间。指令执行周期:从取指令开始,经过分析指令、对操作数寻址,然后执行指令、保存操作结果整个过程。一个指令周期有若干个总线周期,而一个总线周期又有若干个时钟周期组成,2

27、023/6/15,56,8086的总线时序,8086系统总线周期通常由四个时钟周期组成(T1T4)。TI:若在完成一个总线周期后不发生任何总线操作,则填入空闲状态时钟周期(TI),两个总线周期之间插入几个TI与执行的指令有关。Tw:若存储器或I/O端口在数据传送中不能以足够快的速度作出响应,会发出一个请求延长总线周期的信号到8086CPU READY引脚,8086收到该请求后,则在T3与T4间插入一个或若干个等待周期(Tw,也是时钟周期),加入Tw的个数与请求信号的持续时间长短有关。,2023/6/15,57,8086的读总线周期,T1状态:M/IO信号有效,指出读内存还是I/O,高为读内存,

28、低为读I/O。CPU送出20位地址,高4位通过A16/S3A19/S6,低16位通过AD0ADl5,ALE输出作为地址锁存信号,BHE信号低电平有效,表示高8位数据总线上信息可用。,2023/6/15,58,8086的读总线周期,T2状态:地址信号消失,AD0AD15进入高阻状态为读入数据作准备,2023/6/15,59,8086的读总线周期,T3状态:若存储器和外设速度足够快,若READY有效,置DT/R、DEN为0,读取数据;否则进入 Tw状态;Tw状态:如果存储器和外设速度较慢,插入若干Tw。在每次上升沿检测READY;,2023/6/15,60,8086的读总线周期,T4状态:一个总线

29、周期结束,数据从总线上撤销,数据、地址总线均进入高阻状态,若是最大模式,S2、S1、S0按照下一个总线周期的操作内容变化,准备进入下一个总线周期。,2023/6/15,61,与读总线周期基本类似;区别:WR取代RD信号,即写操作取代了读操作。另一个就是DTR的作用,读周期中为低电平,控制数据从总线进入CPU;写周期中为高电平,数据从CPU进入总线。,8086的写总线周期,2023/6/15,62,80486CPU,基于80386的 32位机内部寄存器和数据总线、地址总线均32位内存空间4GB 虚拟内存64TB集成浮点运算部件和8KB的Cache突发式总线技术、RISC,2023/6/15,63

30、,80486CPU,基于80386的 32位机内部寄存器和数据总线、地址总线均32位内存空间4GB 虚拟内存64TB集成浮点运算部件和8KB的Cache突发式总线技术、RISC,2023/6/15,64,80486 CPU 内部结构,内部浮点部件(FPU)对浮点进行运算。阶码和尾数两部分分别进行处理:32、64和80bit数。正弦和余弦处理功能。存储管理部件(MMU)包含一个分段部件和分页部件,分段部件通过数据和代码的再定位与全局资源共享管理存储器逻辑地址。段最大4GB。分页部件在分段之下操作,每页固定4KB。一个任务最多具有16381个段64TB的虚拟地址空间32字节指令队列、5级流水线、8

31、KB高速缓存,2023/6/15,65,2023/6/15,66,80486 CPU 的寄存器,基本结构寄存器通用寄存器EAX、EBX、ECX、EDX、ESI、EDI、ESP、EBP、段寄存器CS、SS、DS、ES、FS和GS、指令指针寄存器EIP、标志寄存器EFLAGS,2023/6/15,67,标志寄存器EFLAGS,(1)、状态标志 当80486CPU执行有关运算指令时,其运算结果对状态标志进行修改,这些标志能反映运 算状态。这6个状态标志与8086中完全相同,它们是CF、PF、AF、ZF、SF、OF。(2)控制标志 控制标志也与8086中一样有3个:DF、IF、TF。(3)、系统标志

32、系统标志是指将这些标志置“1”或清“0”时,系统可按照要求操作。系统标志有5个:AC-Alignment Check Flag,对准校验标志。若AC=1,80486就允许对没有对准的数据进行对准检查,发现在进行存储器操作时出现没按边界对准情况,就发生数据访问异常事故,反之则不检查。VM-Virtual Mode,虚拟8086模式标志。当VM置“1”,表示该任务是执行一个8086程序。RF-Resume Flag,恢复标志RF是用来暂时“禁止使能”调试异常事故的,所以一条指令可以在一个调试异常事故以后重新启动而不致会引起另一次的调试异常事故。NT-N Task,嵌套任务标志,是控制被中断和被调用

33、的任务的级链的,它会影响IRET指令的操作。IOPL-Input/Output Privilege Level(占2个bit),输入/输出特权级标志。,2023/6/15,68,80486 CPU 的寄存器,系统级寄存器系统控制寄存器CR0、CR1、CR2、CR3和系统地址寄存器GDTR、IDTR、LDTR、TR浮点级寄存器调试/测试寄存器,2023/6/15,69,80486 CPU外部管脚,2023/6/15,70,80486 CPU外部管脚,地址总线与地址屏蔽A2-A31提供高位地址,选择能被4整除的字节;字节允许信号:BE0-BE3构成低位地址,用来选择4个字节中的某个字节。(表2.1

34、0 p49),2023/6/15,71,80486 CPU外部管脚,数据总线和宽度控制32条数据线,可传送8/16/32位宽度的数据,BS8和BS16确定数据宽度三类总线:AB:决定寻址空间大小DB:决定CPU数据宽度CB:决定CPU功能,2023/6/15,72,Pentium系列微处理器,超标量流水线5个步级,2流水线:独立的U、V8KB的数据高速缓存和8KB的指令高速缓存32位内部数据总线,CPU 内64bit36 位地址总线,可选大小的页面4kB-4MB硬件实现常用指令MOV、PUSH、DEC、INC分支预测提高流水线效能2个预取指令缓冲队列,执行转移指令前,顺序方式+转移方式同时预取指令浮点运算执行过程:8个流水线步级MUL、LOAD硬件实现,2023/6/15,73,本章学习要求,熟悉8086CPU的内部结构及引脚功能和系统配置;掌握8086CPU的寄存器结构、功能和使用方法;掌握标志寄存器中各标志位的定义;掌握存储器的分段表示,熟悉其分体结构和堆栈熟悉总线周期与指令周期、时钟周期的关系;了解总线时序。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号