版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、8086微处理器第 2 章掌握 8086微处理器的内部结构掌握 8086CPU的外部引脚掌握 8086的工作模式、8086系统的存储器、系统配置理解 8086CPU的操作时序了解 80386微处理器了解80486微处理器了解 Pentium微处理器学习目标18086微处理器第 2 章2.1 8086微处理器的内部结构2.2 8086CPU的外部引脚2.3 8086的工作模式、8086系统的存储器、系统配置2.4 8086CPU的操作时序2.5 80386微处理器2.6 80486微处理器2.7 Pentium微处理器2执行部件(EU)总线接口部件(BIU) 2.1.1 8086 CPU 的内部
2、结构8086微处理器2.1总线接口单元BIU:由指令队列、指令指针IP 、段寄存器、地址加法器和总线控制逻辑等组成,负责CPU对存储器和外设进行访问。执行单元EU:由ALU、数据寄存器、地址寄存器、标志寄存器和指令译码逻辑等组成,负责指令的译码、执行和数据的运算。32.1.1执行部件EU运算器(1)ALU : 算术运算/逻辑运算 按指令寻找方式计算寻找单元的16为的EA,EA送 到BIU形成20位的PA. (2)标志寄存器:存放反映ALU运算结果的特征状态及一些控制标志。通用寄存器组四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8 为寄存器。用作8 位寄存器分别记作:AH
3、、AL、BH、BL、CH、CL、DH、DL。指针寄存器(SP/BP)变址寄存器 (SI/DI)控制单元 对指令译码,形成指令执行时所需的控制信号,控制EU的各部件在规定时间完成指定操作 45. I/O控制逻辑- 是CPU外部三总线(AB、DB、CB)的控制电路,它控制CPU与其他部件交换数据、地址、状态及控制信息。4. 指令队列缓冲器- 是一个与CPU速度相匹配的高速缓冲寄存器。3. 指令指针寄存器(IP)- 又称程序计数器,是16位寄存器。2.地址加法器- 用于产生20 位物理地址。1.段地址寄存器(CS、DS、SS、ES)- 用于存放段地址的寄存器称为段寄存器,根据其主要用途,有代码段寄存
4、器CS、数据段寄存器DS、堆栈段寄器SS、附加段寄存器ES。2.1.2总线接口部件52.1.3内部寄存器 四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8 为寄存器。用作8 位寄存器分别记作:AH、AL、BH、BL、CH、CL、DH、DL。BX可用作间接寻址的地址寄存器和基地址寄存器,BH、BL可用作8位通用数据寄存器。有些指令约定以AX(或AL)为源或目的寄存器。AX(AH,AL)累加器BX(BH,BL)基址寄存器通用寄存器组 8086共有13个16位的内部寄存器,1个16位的标志寄存器分为两组:通用寄存器组专用寄存器组6除用作通用寄存器外;在I/O指令中可用作端口地址
5、寄存器;乘除指令中用作辅助累加器。CX(CH,CL)计数寄存器DX(DH,DL)数据寄存器CX在循环和串操作中操作中充当计数器,指令执行后CX内容自动修改。指针和变址寄存器 BP( Basic Pointer Register)基址指针寄存器 SP(Stack Pointer Register)堆栈指针寄存器 SI(Source Index Register)源变址寄存器 DI(Destination Index Register)目的变址寄存器71.指针寄存器SP/BP指针寄存器用于寻址内存堆栈中的数据。SP为堆栈指针寄存器,指示栈顶的偏移地址。SP不能再用于其他目的,具有专用性。BP为基址
6、指针寄存器,表示数据在堆栈段中的基地址。SP/BP寄存器与SS堆栈段寄存器联合使用以确定堆栈段中的存储单元地址。82.变址寄存器SI/DI变址寄存器常用于存储器寻址时提供地址。SI是源变址寄存器。DI是目的变址寄存器。在串操作类指令中,SI和DI具有特别的功能。9标志寄存器(Flag Register)共有16位,其中7位未用。标志寄存器内容如图:1.条件标志(状态标志)-共6位,用于存放程序运行的状态信息,这些标志往往用作后续指令判断的依据。2.控制标志-共3位,用于控制机器或程序的某些运行过程。87 6 5 4 3 2 1 015 14 13 12 11 10 9专用寄存器组10条件标志(
7、状态标志) CF(Carry Flag)进位标志-反映在运行结果的最高位有无进位或错位。 PF(Parity Flag)奇偶标志-反映运算结果中“1”的个数的奇偶性,主要用于判断数据传送过程中是否出错。 AF(Auxiliary Flag)辅助进位标志-加减运算时,若D3向D4产生了进位或错位则AF=1。否则AF=0。在BCD码运算时,该标识用于十进制调整。11-反映计算结果是否为0。若结果为零则ZF=1,否则ZF=0。 SF(Sign Flag)符号标志-反映计算结果最高位及符号位的状态。如果运算结果的最高位为1则SF=1(对带符号数即为负数),否则SF=0(对带符号数即为正数)。 OF(O
8、verflow Flag)溢出标志-反映运算结果是否超出了带符号数的表数范围。ZF(Zero Flag)零进位12控制标志共3位,用于控制机器或程序的某些运行过程。 DF(Direction Flag)方向标志- 用于串处理指令中控制串处理的方向。 IF(Interrupt Flag)中断允许标志- 用于控制CPU是否允许相应可屏蔽中断请求。 TF(trap flag)陷阱标志- 用于单步操作。内部控制逻辑电路段寄存器组(CS、DS、SS、ES)- 用于存放段地址的寄存器称为段寄存器,根据其主要用途,计有代码段寄存器CS、数据段寄存器DS、堆栈段寄器SS、附加段寄存器ES。138086CPU引
9、脚的功能 8086总线周期8086CPU的两种工作方式 8086CPU的引脚及功能2.28086总线周期T1T2T3TwT4T1T1图 2-3 典型的8086总线周期时序14最小模式最大模式:如果系统中包括两个以上处理器,其一个为8086/8088作为主 处理器,其它处理器作为协处理器,这样的系统成为最大模式系统。 :如果系统中只有一个微处理器8086(或8088),所有由它产生,则系统中总线控制逻辑信号可先减少到最小,因此称这种系统为最小模式系统。15- CPU向多路复用总线上发送地址信息,指出要寻址的内存单元地址或I/O端口地址。T2状态 :- CPU从总线上撤消地址,使总线低16位呈现高
10、阻状态,为数据传输作准备。T3状态 :- A19A16上状态信息不变,总线低16位上出现CPU要写出的数据或准备读入的数据。T4状态 :- 总线周期结束,若为总线周期则在T4前沿将数据读入CPU。T1状态:161. GND(地)和Vcc电源。Vcc引脚接+5V电源, GND引脚接地。2. AD15AD0(Address Data Bus)地址/数据复用引脚,双向、三态。3. A19/S6A16/S3(Address/Status)地址/状态复用引脚,输出、三态。4. BHE/S7(Bus High Enable/Status)高8位数据线允许/状态复用引脚,输出、三态。8086CPU的引脚及功
11、能1、在最小模式和最大模式下的通用引脚:17表2-1 S3、 S4代码组合的意义S4 S3意义0 0正在使用ES0 1正在使用SS1 0正在使用CS1 1正在使用DS188086系统的存储器及I/O组织2.2.1 8086系统的存储器的结构 8086系统的存储器结构 8086系统的存储器的地址 8086系统内存地址的一些专用区域2.219INTR(Interrupt Request)可屏蔽中断请求引脚,输入、高电平有效。RD(Read)读信号,输出、三态、低电平有效。CLK(Clock)时钟输入引脚。RESET(Reset)复位引脚,输入、高电平有效。READY(Ready)准备好引脚,输入、
12、高电平有效。11. TEST(Test)测试引脚,输入、低电平有效。12. MN/MX(Minimum/Maximum Mode Control)最小/最大模式控制引脚,输入。5.NMI(Non-Maskable Interrupt)非屏蔽终端请求引脚,输入。20最小方式下的引脚及功能(1) M/IO(Memory/Input & Output)及WR信号,输出、三态。这两个信号与RD信号盒起来决定系统中数据传出的方向,其组合集对应功能表2-42、M/IORDWR功 能001I/O读010I/O写101存储器读110存储器写X00无效组合X11非读写状态表2-4 M/IO、 RD 及WR信号的
13、功能21(3) HLDA(Hold Acknowledge)总线请求响应信号,输出、高电平有效。(4)INTN(Interrupt Acknowledge)中断响应信号,输出、三态、低电平有效。(5)ALE(Address Latch Enable)地址锁存允许信号,输出、高电平有效。(6)DEN(Data Enable)数据允许信号,输出、三态、低电平有效。 (7)DT/R(Data Transmit/Recieve)数据收发控制信号,输出、三态。HOLD(Hold Request)(2)总线保持请求信号,输入、高电平有效。223、最大模式下的有关引脚信号QS0,QS1(Instructio
14、n Queue Status)指令队列状态信号,输出。QS0 QS1意义0 0无操作0 1无指令队列的第1个字节取走代码1 0队列为空1 1除第1个字节外,还取走了后续字节中的代码表2-5 QS1、QS0代码组合含义23S2、S1、S0( Bus cycle Status)总线状态信号,输出。3. LOCK(Lock)总线封锁信号,输出,低电平有效。4.RQ/GT1,RQ/GT0总线请求/允许信号双向。2.S2 S1 S0对应操作8288发出的控制命令0 0 00 0 10 1 00 1 10 01 0 11 1 01 1 1发出中断响应信号读I/O端口写I/O端口暂停取指令读内存写内存无源状
15、态INTAIORCIOWC AIOWCMRDCMRDCMWTC AMWC表2-6 S2、S1、S0 的代码组合操作242.3 8086对存储器的管理000001000003FFFFFFFFFE000002000000图2-5 存储体地址空间分配 258086/8088的存储器结构存储器以字节为单位存储信息。每个存储器单元都有一个地址。8086/8088有20根地址线。最大可寻址的存储器单元数为2201MB。其物理地址范围为00000HFFFFFH。字或双字信息在存储器中占据相邻的2个或4个存储单元。多字节数据占据的地址空间用低地址来表示。低字节对低地址、高字节对高地址。263. 存储器的分段管
16、理8086/8088将1MB存储器空间分成若干个逻辑段来管理。每个段最大限制为64KB。采用逻辑地址(段地址:偏移地址)的形式来表达段中每个存储器单元的20位物理地址。段地址和偏移地址都是16位二进制数。27段地址段地址说明该逻辑段在内存中的起始位置,即该段中的第一个内存单元的物理地址。段地址必须是模16地址,即0H的形式,故可采用16位二进制数据表示,保存在段寄存器(CS,DS,ES,SS)中。偏移地址偏移地址说明该段中某个内存单元距离该段起始位置的偏移量。由于每个段的长度不超过64KB,故偏移地址也可采用16位二进制数据表示。28存储单元的地址12340H67H1234H:0000H123
17、41H67H1234H:0001H12342H67H1234H:0002H12343H67H1234H:0003H12344H67H1234H:0004H67H2233EH67H1234H:FFFEH2233FH67H1234H:FFFFH29逻辑地址和物理地址物理地址 段地址10H + 偏移地址例如,逻辑地址为B821H:4567H,则其对应的物理地址为BC777H。302-7 a从偶地址读写一个字节(BHE A0=10) AD15AD8上的数据被忽略,字节内容通过AD7AD0传送。被读的字节忽略的字节YYX存储器8086CPU10000H10001Ha) 从偶地址读一个字节312-7 b从
18、奇地址读写一个字节(BHE A0=01)。在AD15AD8上传送的数据有效, AD7AD0上的数据被忽略。被读的字节被读的字节XYX存储器8086CPU10008H10009HYb) 从偶地址读一个字32从偶地址读写一个字(BHE A0=00)。AD15AD0上传送的数据同时有效。以上三种读写操作都是在一个总线周期中完成的。2-7 c被读的字节忽略的字节XYX存储器8086CPU10050H10051Hc) 从奇地址读一个字节332-7 d从奇地址读写一个字。这种操作要占用两个总线周期。被读的第一字节忽略的字节YYX存储器8086CPU10080H10082H忽略的字节被读的第二字节XZW10
19、081H10083Hd) 从奇地址读一个字节348086系统的存储器的地址 CS=2000H IP=1000H 物理地址=21000H CS=2100H IP=0000H 物理地址=21000H物理地址的计算公式: 物理地址 = 端地址 16 + 偏移地址段地址的引入,为程序在内存中浮动创造了条件,一般用户程序只涉及偏移地址。同一物理地址可以有不同的段地址和偏移地址表示。例如:358086系统内存地址的一些专用区域 0000003FFH 1KB 空间用于存放中断向量表,可存放256个中断服务程序的入口地址,每个地址占4字节。 B0000B0FFFH 4KB 为单色显示器显示缓冲区 ,存放屏幕当
20、前显示字符的ASCII码。 B8000BBFFFH 16KB 为彩色显示器显示缓冲区,存放屏幕当前像素代码。 FFFF0H 启动地址。一般用来存放一条无条件转移指令,转到系统初始化程序。368086系统配置2.3.1 最小模式和最大模式的概念 最小模式 最大模式为了适应各种场合的要求,8086/8088CPU在设计中提供了两种工作模式,即最小模式和最大模式。实际机器中究竟工作在哪一种模式, 根据需要有硬件连接决定。 2.38086系统的I/O组织 8086系统有专有的输入(IN)、输入(OUT)令,用于外设端口(即外设接口中的内部寄存器)的寻址。2.2.237最小模式最大模式:如果系统中包括两
21、个以上处理器,其一个为8086/8088作为主 处理器,其它处理器作为协处理器,这样的系统成为最大模式系统。 :如果系统中只有一个微处理器8086(或8088),所有由它产生,则系统中总线控制逻辑信号可先减少到最小,因此称这种系统为最小模式系统。38最小模式系统当系统只有一个微处理器8086时,将MN/MX引脚接向+5V,构成最小模式系统,其原理如图2-81.最小模式系统典型配置2.8284时钟发生器与8086的连接 如图2-93.地址锁存器8282与8086的连接 如图2-104.总线驱动器8286与8086的连接 如图2-112.3.239最大模式系统 将MN/MX引脚接地就构成了8086
22、CPU的最大工作模式。最大模式下的有关引脚信号8288总线控制器最大模式的系统配置2.3.3408288 总线控制器 在最大模式系统中要用到总线控制器8288,它根据CPU提供的S2,S1, S0信号产生各种总线控制信号。8288逻辑框图 2-12S2、S1、S0 来自8286CPU的状态信号。8288对这些状态进行译码产生相应的总线命令信号和输出控制信号。CLK时钟输入端,通常接8284的CLK端。AEN地址允许信号,输入。415. IOB总线方式控制信号,输入。8288有两种工作方式: (1) 当IOB为低时,8288工作于系统总线方式(多处理器系统) (2) IOB为高时,8288工作于
23、局部总线方式(单处理器系统)CEN命令允许信号4. ,输入。6. AIOWC 超前I/O写命令,输出。在总线周游该信号提前一个时钟周期发出I/O写命令,以便于I/O设备早作准备。7. AMWC 超前存储器写命令,输出。其功能与AIOWC信号相似。8. IOWC I/O 写命令,输出。只是数据总线上数据有效,可将数据写入被选中的I/O端口。4210. MRDC、MWTC 存储器读和存储器写命令,输出。11. MCE/PDEN 输出,总线总模块允许/外部数据允许双功能信号。12. INTA,DT/R,ALE 及 DEN 与8086最小模式的相应引脚信号功能相同,只有DEN信号的相位与最小模式相应引
24、脚的相位相反。, 输出。通知外设端口将数据发送到数据总线上。IORC I/O 读命令9.438086CPU的操作时序2.4.1 8086 CPU的复位操作时序2.4图 2-14 8086 的复位时序不作用状态浮空三态们输出信号内部RESETRESET输入CLK44最小模式下的总线读周期2.4.21. T1 状态:在T1状态,地址锁存允许信号ALE有效,输出一个正脉冲。在其下降时,将地址锁入8282地址锁存器。2. T2状态:在T2状态,地址信号消失,地址/数据复用总线进入高阻状态,为总线读操作作准备。3. T3状态:在T3状态内存或I/O端口将数据送上数据总线。4. T4状态: 在T4前沿CP
25、U将数据读入,总线周期完成。45最小模式下的总线写周期2.4.31. T1 状态: T1 状态的操作与总线读相同,即M/IO应在T1前沿之前有效。2. T2状态: A19/S6A16/S3引脚输出状态信息S6S3,AD15AD0复用总线上输出要写出的数据,并一直保持到T4中部。 3. T3状态及Tw: 在T3状态中,T2状态有效的信号继保持有效,继续向外部写数据。4. T4状态: 总线写状态结束,所有控制信号变为无效状态,所有三态总线变为高阻态。46最大模式下的总线读周期2.4.41. T1 状态: CPU经过A19/S6A16/S3、AD15AD0送出20位地址信号及BHE信号。2. T2状
26、态: CPU送出状态信号S7S3,并将地址数据/复用总线置为高阻状态,已准备数据读入。3. T3状态: T3状态中,S2S0全部上升为高电平,进入无源状态,并一直继续到T4。4. T4状态: 一个总线周期结束。数据从总线上撤销,数据/地址总线进入高阻状态。47最大模式下的总线写周期2.4.51. T1 状态: A19/S6A16/S3及AD15AD0输出地址信号。2. T2状态: 总线控制器输出DEN高电平使总线驱动器使能。提前的存储器写信号AMWC或I/O写信号AIOWC降为低电平。3. T3状态: 总线控制器是普通的写控制信号MWTC或IOWC生效。4. T4状态: 总线写周期结束。A19
27、/S6A19/S3、AD15AD0复用总线变为高阻状态。4880386 微处理器 80386 共有34个寄存器,按功能可分为:2.5.1 寄存器组通用寄存器段寄存器段描述符寄存器状态和控制寄存器系统地址寄存器调试寄存器测试寄存器2.5最小模式下的总线保持(即总线请求/响应)周期2.4.6最大模式下的总线请求/允许周期2.4.749通用寄存器六个16位段寄存器如下:段寄存器 8个通用寄存器和8086通用寄存器相同,只扩展到32位,寄存器名字前加一个字符E,即:EAX、EBX、ECX、EDX、ESI、EBP、ESP,仍然支持8位和16位操作,用法和8086系统相同。CS代码段寄存器DS数据段寄存器
28、SS堆栈段寄存器ES、FS、GS为三个附加段寄存器50段描述符寄存器 64位的段描述符寄存器对程序员是不可见的。为了加快对内存中描述符表的查询速度,在段选择符内容装入时,段描述符同时装入段描述符寄存器。状态和控制寄存器标识寄存器EFLAGS指令指针寄存器EIP四个控制寄存器CR0CR3它由组成51系统地址寄存器 80386 为调试提供了硬件支持。芯片内设有DR0DR7八个调试寄存器。 80386 有四个系统地址寄存器GDTR IDTR TR LDTR调试寄存器测试寄存器 80386 有 8 个 32 位的测试寄存器。5280386的存储管理与保护功能1.逻辑地址与段选择符段描述符指针T2RPL
29、图2-26 段选择符的格式 2 1 02.段描述符的格式及保护功能 3.分页存储管理及保护 2.5.380386 的地址转换2.5.253图 2-27 段描述符DPL类型3100+4字节地址54图 2-28 页目录描述符和页表描述符格式页表地址指针AVL00DA00U/SW/RP31 12 11 10 9 8 7 6 5 4 3 2 1 0页目录描述符页框地址AVL00DA00U/SW/RP31 12 11 10 9 8 7 6 5 4 3 2 1 0页 表描述符55(1)总线接口部件(2)指令预取部件 - 它负责从存储器取出指令,有一个能容纳16字节的指令队列。(3)指令译码部件 - 从预取
30、部件中取出指令,进行译码。1.指令流水线2.5.480386 的流水线结构2. 执行部件3.地址流水线 执行部件由包括控制在内的控制部件、寄存器、算术逻辑运算部件和对存储保护功能进行测试的测试部件组成。 地址流水线由分段部件、分页部件和与指令流水线共享的总线接口部件组成。5680486微处理器2.6.1 80486 微处理器的特点兼容性。全32位的整数处理器。独立的32位地址、数据总线,可直接寻址4GB的物理地址空间。单时钟周期执行。片上浮点处理单元支持32位、64位和80位的浮点运算,在二进制上与8087、80287、80387兼容。片上存储管理单元。2.67. 带有高速缓存支持系统的片上高速缓存。8. 外部CACHE控制。指令流水线。成组周期(Burst Cycle)。写缓冲器。总线背关(Bus Backoff)。指令重新执行。总线宽度动态可变。5780486微处理器的内部结构图2-31 80486的内部流水线2.6.2取指1阶段译码2阶段译码执行寄存器写回CLK58总线接口单元总线接口单元用于数据传输、指令预取和处理其内部单元与外部系统的控制功能。地址收发和驱动。数据总线收发。总线宽度控制。写缓冲。总线周期和总线控制。奇偶性的产生和控制。CACHE 控制。2.3.指令预取单元4.高速缓冲(CACHE)单元5. 指令译码单元6.控制单元7.整数(数据通路)单元8.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论