第三章8086微处理技术_第1页
第三章8086微处理技术_第2页
第三章8086微处理技术_第3页
第三章8086微处理技术_第4页
第三章8086微处理技术_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、陈俊周 微机原理与接口技术 第二章、8086微处理技术 CPU核心内最基本的单位三极管 80 x86微处理器 8086编程结构 8086工作模式和引脚功能 8086的操作和时序 8086的存储器及I/O组织 8086和8088 8086CPU:是Intel系列的16位CPU(数据线:16根 D0D15、地址线:20根A0A19,可寻址的地址空间达 220,即1M字节)。采用单5V电源工作。 8088CPU:Intel公司为了与当时已有的一整套外围设备 接口芯片直接兼容,推出了一种准16位微处理器8088 。8088的内部寄存器、内部运算部件以及内部操作都 是按16位设计的,但对外的数据总线只有

2、8条 。 本章重点介绍8086,对8088也将作出说明。 编程结构? 指从程序员和使用者角度看到的结构。这种 结构和CPU内部物理结构和实际布局不同。 从编程结构看,8086CPU由两部分组成: 总线接口单元BIU(Bus Interface Unit) 执行单元EU(Execution Unit) 8086/8088微处理器的内部组成结构 总线接口部件BIU(Bus Interface Unit) CPU对外部三总线的控制并与外部进行 数据交换。 指令执行部件EU(Execution Unit) 执行指令。 总线接口单元BIU 功能: 负责CPU与存储器、I/O设备之间的数据传送,包 括对存

3、储器读写数据操作、对I/O接口的读写操作 以及取指令操作。 组成: 段寄存器(CS, DS, SS, ES) 16b指令指针寄存器IP 20b地址加法器 内部暂存器 指令队列缓冲器 1)I/O控制电路(总线控制逻辑) 段寄存器 8086CPU内部数据结构为16位,而外部可以访问的存 储空间为1MB(需要20位地址线)。 为了能寻址1MB空间,8086引入了“段”的概念(将内 存分为若干个段,段地址存放到段寄存器)。内存 的实际物理地址由一个段地址和段内偏移量来确定 。 根据段寄存器主要用途,设有4个段寄存器: CS16位的代码段寄存器(Code Segment register) DS16位的

4、数据段寄存器(Data Segment register) ES16位的扩展段寄存器(Extra Segment register) SS16位的堆栈段寄存器(Stack Segment register) 16b指令指针计数器IP 指示下1条指令所在的逻辑地址(偏移地址),又称为指令计 数器或程序计数器。 20b地址加法器 功能:用于产生20b物理地址。 物理地址获取方法: 物理地址段地址10H+偏移地址 即将段寄存器的内容左移4b(或乘16D),与逻辑地址( 段内偏移地址)在地址寄存器内相加,产生20b物理地址 。 段地址存放于段寄存器;偏移地址,根据寻址方式不同, 可以来自IP或其它寄存

5、器。 例:假设CS = 8200H, IP = 1234H, 则物理地址为: 8200H 10H + 1234H = 83234H 8086微处理器寻址内存地址的方法 采用段地址+偏移地址 16位 20位(1M字节) 寻址64K的地址空间 CS;DS;ES;SS的命名方便区分程序、数据、扩展、堆栈。 内存的管理及内容的写保护检查过程简便 内部暂存器 用于内部数据的暂存,该部分对用户透明,用户 无权访问。 指令队列缓冲器 8086的指令队列为6个字节,8088为4个字节,在 执行单元EU执行指令的同时,总线接口单元BIU可 以从内存中取出下一条或下几条指令放在指令队 列。 I/O控制电路(总线控

6、制逻辑) 控制CPU与外部电路的数据交换。8086有20根地址 线和16根数据线,由I/O控制电路控制CPU芯片16 条引脚的分时复用。 2.1.2 执行单元EU 功能: 负责指令的执行。 组成: 通用寄存器 专用寄存器 算术逻辑单元 标志寄存器 内部控制逻辑 通用寄存器 8086CPU有4个16位通用寄存器AX, BX, CX 和DX。 这4个通用寄存器既可用作16b寄存器,也可用作 8b寄存器。 用途: AHAL BHBL CHCL DHDL AX 高高8b低低8b BX CX DX AX(AH+AL):累加 器(Accumulator)。 算术和逻辑运算以及 输入/输出。 BX(BH+B

7、L):基地址 寄存器(Base)。在 间接寻址中作为偏移 地址寄存器;在基址 寻址中作为基地址寄 存器。 DX(DH+DL):数据 寄存器(Data)。 在乘除法指令中固 定充当辅助的操作 数寄存器;在输入/ 输出指令中固定作 为外设口地址寄存 器。 CX(CH+CL):计数 寄存器(Count)。 在块传送和循环等指 令中固定的充当计数 器。 专用寄存器 8086CPU有4个16位的专用寄存器: 基数指针寄存器BP(Base Pointer Register) 堆栈指针寄存器SP(Stack Pointer Register) 源变址寄存器SI(Source Index Register)

8、目的变址寄存器DI(Destination Index Register) BP一般用于访问堆栈段任意单元。 SP在堆栈操作 时用于确定堆栈顶在内存中的位置。 BP、SP也常 用来指示相对于段起始地址的偏移量。 SI、DI则可用作寄存器间接访问、相对寻址、基 址变址寻址、相对基址变址寻址寄存器,访问数 据段任意单元。 算术逻辑单元(Arithmetic Logic Unit) 完成16位或8位算术逻辑运算。 标志寄存器(Flag Register) 标志寄存器为16位寄存器,其标志分为两类: 状态标志表示前面的操作执行后,算术逻辑 部件所处状态,这种状态会将影响后面的操作。 控制标志人为设置的

9、,指令系统中有专门的 指令用于控制标志的设置和清除,每个控制标志 都对某一种特定的功能起控制作用。 状态标志6个:SF、ZF、PF、CF、AF和OF; 控制标志3个:DF、IF、TF。 1514131211109876543210 OFDFIFTFSFZFAFPFCF 状态标志各位含义: 符号标志SF(Sign Flag)和运算结果的最高位相 同。指出前面的运算执行后的结果是正还是负,结果 为正数时SF=0,负数时SF=1。 零标志ZF(Zero Flag)当前运算结果为零时ZF=1 ;当前的运算结果非零时ZF=0。 奇/偶标志PF(Parity Flag) 若运算结果的低8位 中所含的1的个

10、数为偶数,则PF=1,否则为0。 进位标志CF当执行加法运算使最高位产生进位, 或者执行减法运算引起最高位产生借位时,则CF=1。 除此之外,循环指令也会影响此标志。 溢出标志OF当运算过程中产生溢出时,会使OF为 1。所谓溢出,就是当字节运算的结果超出了范围 128127(27-1),或者当字运算的结果超出了范围 3276832767(215-1)时称为溢出。 辅助进位标志AF加法运算时第3位往第4位有进位 ,或者减法运算时第3位从第4位有借位,则AF为1。 此标志在BCD码运算中作为是否进行十进制调整的判 断依据。 状态标志举例: 0101 0100 0011 1001 (21561) +

11、 0100 0101 0110 1010 (17770) 1001 1001 1010 0011 (39331 32767) AF ZF=0 SF=1CF=0AF=1PF=1 (4个个“1”) OF=1 (两个正数相加后,结果为负数,溢出)(两个正数相加后,结果为负数,溢出) 控制标志有3个,即DF、IF、TF 方向标志DF(Direction Flag)控制串操作指 令用的标志。如果DF为0,则串操作过程中地址会不 断增值;如果DF为1,则串操作地址会不断减值。 中断标志IF(Interrupt Enable Flag)可屏蔽 中断允许标志。如果IF为0,则CPU不能对可屏蔽中 断请求作出响

12、应;如果IF为1,则CPU可以接受可屏 蔽中断请求。 跟踪标志TF(Trap Flag)如果TF为1,则CPU按 跟踪方式执行指令。此方式便于进行程序的调试。 内部控制逻辑电路 5)从指令队列缓冲器中取出指令,进行译码,产生各 种控制循环,控制各部件的工作。 26 总线接口单元与执行单元的管理 总线接口部件BIU和执行部件EU并行工作,但并不是同 步的,两者互相配合工作。两者的动作管理遵循如下原 则: 当8086的指令队列中有2个空字节(8088有1个字节空闲)时, BIU就会自动把指令取到指令队列中。 当EU要执行指令时,从指令队列头部取出一条指令(后续指令 自动前移),并用几个时钟周期去执

13、行指令。指令执行中若要 访问内存或I/O设备,EU将向BIU申请总线周期,若BIU空闲则立 即响应;若BIU正在取一条指令,则取指令操作完成后响应EU的 总线请求。 当指令队列已满,而且EU又无总线访问请求时,BIU便进入空闲 状态。 在执行转移、调用和返回指令时,指令队列中的原有内容被自 动清除,从新地址开始重新填充指令队列。 27 当CPU分成多个相对独立的部件(如80286),并且把一 条指令分解成多个子过程,不同的部件分别对指令流中 不同的子过程进行操作,形成流水作业操作方式。流水 线是CPU实现高速运算的关键技术。 BIU EU 取指令取指令1取指令取指令2 执行指令执行指令2执行指

14、令执行指令1 80286的指令流水作业的指令流水作业 BIU IU EU AU 取指取指1取指取指2 译码译码1 取指取指3 译码译码2 执行执行1 译码译码5 执行执行4 执行执行3 取指取指4 译码译码3 执行执行2 执行执行1 取指取指5 译码译码4 执行执行3 执行执行2 执行执行5 执行执行4执行执行5 28 2.2 8086工作模式和引脚功能 2.2.1 8086CPU工作模式 8086/8088CPU有两种基本的工作模式: 最小模式指系统中只有8086或者8088一个微处理器。系统 中,所有的总线控制信号都直接由8086或8088产生,整个系统 总线的控制线路最简单。 最大模式指

15、系统中包含有两个或多个微处理器,其中一个 主处理器就是8086或者8088,其他的处理器称为协处理器,用 在中等规模的或者大型的8086/8088系统。 说明:8086/8088工作在何种模式,完全由硬件决定。 当CPU引脚的 接高电平时工作在最小模式。 当CPU引脚的 接低电平时工作在最大模式。 MN/MX MN/MX 29 2.2.2 8086/8088引脚和功能 (a)8086的引脚信号 8086 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26

16、25 24 23 22 21 GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND VCC(5V) AD15 A16/S3 A17/S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR (LOCK) M/IO (S2) DT/R (S1) DEN (S0) ALE (QS0) INTA (QS1) TEST READY RESET (b)8088的引脚信号 8088 1 2 3 4 5 6 7 8 9 10

17、11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 GND A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND VCC(5V) A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 (HIGH) MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR (LOCK) M/IO (S2) DT/R (S1) DEN (S0) ALE (Q

18、S0) INTA (QS1) TEST READY RESET 图23 8086/8088引脚分配图(括号中为最大模式) 30 对于8086/8088的引脚信号,应注意: 8086/8088的数据线和地址线分时复用分时复用(即某一时候总线 上出现的是地址,另一时候,总线上出现的是数据)。 8088只能传输8位数据,所以8088只有8个地址引脚兼 为数据引脚;8086有16个地址/数据复用引脚。 第28引脚和第34脚: 28引脚:最小模式时,8088的第28脚 为低 电平为存储器操作,高电平为IO操作,而8086则正好相 反( )。 34引脚:8086的第34脚 是高8位数据允 许信号,低电平时

19、传送1个字,高电平时传送1个字节。 8088只能进行8位传输,所以第34脚 (HIGH)只 用来指出状态信息,而不作复用。 BHE/S7 SS0 M/IO M/IO 31 1. 8086主要引脚信号(最大/最小模式通用) GND、VCC:地和电源。 AD15AD0:地址/数据复用引脚,双向工作。 A19/S6A16/S3:地址/状态复用引脚,输出。 S6=0表示8086CPU占用总线; S5:表明中断允许标志IF的当前设置;S5=1表明当前允许可屏 蔽中断请求,S5=0表明CPU禁止一切可屏蔽中断。 S4、S3:二者组合表明当前正在使用的段寄存器(表2-1)。 注:当CUP让出总线时,A19/

20、S6 A16/S3均为高阻状态。S4S3当前正在使用的段寄存器当前正在使用的段寄存器 00ES 01SS 10CS或未使用任何段寄存器或未使用任何段寄存器 11DS 表表2 21 S3,S41 S3,S4代码组合的意义代码组合的意义 32 4) (Bus High Enable):高8位数据总线允许引 脚,输出。BHE信号和A0组合起来告诉连接在总线上的 存储器和接口,当前数据在总线上以何种格式出现。 5) (Read):读信号输出,指出将要执行一个内 存或I/O端口的读操作。 RD BHE 择存储器奇/ /偶地址单元偶地址单元 以及字节以及字节/ /字传送的方法字传送的方法 35 6)NMI

21、(Non-Maskable Interrupt):非屏蔽中断输入 引脚,上升沿触发,不受中断允许标志IF的影响,这类 不能用软件进行屏蔽。 7)INTR(Interrupt Request):可屏蔽中断请求信号 输入,高电平有效,受中断允许标志IF的影响。这类中 断可以用软件屏蔽。 8)CLK(Clock):时钟输入。8086要求时钟信号的占空 比为33%,即1/3周期为高电平,2/3周期为低电平。 9)READY(Ready):“准备好”信号输入,由所访问的存 储器或者I/O设备发来,高电平有效,表示内存或I/O设 备准备就绪。 36 10)RESET(Reset):复位信号输入,高电平有效

22、。 8086/8088要求复位信号至少维持4个时钟周期的高电 平才有效。 CPU被复位后,标志寄存器、指令指针寄存器IP、段寄存器 DS、SS、ES和指令队列都被清零,但是代码段寄存器CS被设 置为FFFFH,8086/8088将从地址CS:IP = FFFF:0000H开始执 行指令。 11) :测试信号,输入,低电平有效,它和WAIT指 令结合使用,在CPU执行WAIT指令时,CPU进行等待, 当TEST信号有效时,等待状态结束,CPU继续往下执 行被暂停的指令。 和WAIT配合可以实现CPU与外 设同步工作。 12) (Minimum/Maximum Mode Control):最小/

23、最大模式控制信号输入,它决定了8086/8088工作模 式。如果接为5V,则CPU处于最小模式;如果接地 ,则CPU处于最大模式。 TEST TEST MN/MX 最小模式 38 2. 最小模式下的引脚和系统配置 最小模式下的引脚 (Interrupt Acknowledge):中断响应信 号,输出,用来对外设的INTR中断请求作出响应。 ALE(Address Latch Enable):地址锁存允许信号 ,输出,高电平有效,表示当前在地址/数据复用总 线上输出的是地址信息。地址锁存器将ALE作为锁存 信号,对地址进行锁存。 (Data Enable):数据允许信号,输出, 为收发器提供一个

24、控制信号,表示CPU当前准备发送 或接收一个数据。总线收发器将作为输出允许信号。 1) (Data Transmit/Receive):数据收发信号 ,输出,作为数据收发方向的控制信号。如果为高电 平,则进行数据发送;如果为低电平,则进行数据接 收。 INTA DEN DT/R 39 5) (Memory/Input and Output):存储器/输入输 出控制信号,输出,区分CPU进行存储器访问还是输入/ 输出访问的控制信号。为高电平,表示CPU和存储器之 间进行数据传输;如为低电平,表示CPU和I/O端口之间 进行数据传输。 6) (Write):写信号,输出,低电平有效,表 示CPU当

25、前正在进行存储器或I/O写操作,具体到底为哪 种写操作,则由M/IO信号决定。 功功 能能 001I/O读读 010I/O写写 101存储器读存储器读 110存储器写存储器写 M/IO WR RDWRM/IO 40 7)HOLD(Hold Request):总线保持请求信号输入线。 当8086/8088CPU外的总线主设备要求占用总线时,通过 该引脚向CPU发一个高电平的总线保持请求信号。 8)HLDA(Hold Acknowledge):总线保持响应输出线。 当CPU接收到HOLD信号后,便发出高电平有效的HLDA信号 给以响应。此时,CPU让出总线控制权,发HOLD请求的总 线主设备获得总

26、线的控制权。 说明:除了8086/8088CPU可以占用总线外,还有其它总 线主设备可以占用总线(如DMA控制器8237:当它要占用 总线时,会向CPU发出总线请求,CPU同意释放总线时发 出总线响应,之后DMA控制器获得总线控制权,当DMA控 制器要释放总线时使总线请求无效,CPU重新获得总线控 制权)。 41 最小模式下的系统配置: p在8086的最小模式中,硬件连接上有如下特点: 最小模式: 引脚接+5V。 时钟发生器:用一片8284A。 地址锁存器:用三片8282或74LS373。 总线收发器:当系统中所连接的存储器和外设比较多 时,需要增加系统数据总线的驱动能力,这时,可选 用两片8

27、286或74LS245作为总线收发器。 控制总线:最小模式下一般负载较轻,不需要驱动, 故直接从8086/8088引出。 MN/MX 42 图24 8086最小工作模式下的典型配置 5V CLK RESET READY MN/MX ALE BHE A19A16 AD15AD0 8086 DEN DT/R M/IO WR RD INTR INTA READY RESET 8284A 数据总线数据总线 D15D8 数据总线数据总线 D7D0 存储器存储器I/O端口端口 控制总线控制总线 地址总线地址总线 A19A0 BHE A15A0A19A0 收发器收发器 8286 OE (二片二片) T (可

28、选可选) OE STB 地址锁存器地址锁存器 8282 (三片)(三片) 43 (1)8284A和CPU的连接 功能:8284A除提供频率恒定的 时钟信号外,还对准备好( READY)信号和复位(RESET)信 号进行同步。这样,从外部来说 ,可以在任何时候发出这两个信 号,但是,8284A的内部逻辑电 路设计成在时钟后沿(下降沿) 处使READY和RESET有效 。 根据不同的震荡源,8284A和震 荡源之间有两种不同连接方式。 右图为常用的一种。 510 510 80868088 CLK RESET READY 控制总线控制总线 8284A X1 X2 EFI F/C RDY RES CL

29、K READY RESET RESETRDY 图25 时钟发生器8284与8086连接图 8086/8088 CPU8086/8088 CPU的数据线的数据线/ /地址线复用技地址线复用技 45 (2)8282和CPU的连接 地址锁存器 功能: 锁存地址信号; 增强总线驱动 能力; 必要时隔离地 址总线和系统 总线(OE) 8282 OESTB DI0 DI1 DI2 DI3 DI4 8282 DI0 DI1 DI7 DO0 DO1 DO7 OESTB 8282 DI0 DI1 DI2 DI3 DI4 DI5 DI6 DI7 OE DO0 DO1 DO2 DO3 DO4 DO5 DO6 DO7

30、 STB 数据数据 数据数据 8086 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 AD8 AD9 AD15 A16 A17 A18 A19 BHE ALE 地地 址址 总总 线线 图2-6. 地址锁存器8282与8086的连接 8位锁存器芯片的内部结构及功能表 47 说明: 8282是具有三态输出的8位锁存器芯片,其选通信号 输入端STB和CPU的ALE端相连。 第一个锁存器的DI7DI0接CPU和AD7AD0,其输出 DO7DO0就是系统地址总线的低7位。 为输出允许信号,当为低电平时,8282的输出信 号DO7DO0有效;而当为高电平时,DO7DO0变为高 阻抗。在不

31、带DMA控制器的8086/8088单处理器系统中 ,将 接地就可以了。 除了8282外,8086/8088系统也常用74LS373作为地址 锁存器,用法与8282几乎一样。 OE OE 48 (3)8286和CPU的连接 数据收发器功能: 选通/隔离CPU数据线和系 统总线; 选择数据传送方向; 增强总线驱动能力. 8286为8位收发器。 引脚T:输入,决定数据 传送方向。T=1时数据发 送,T=0时数据接收。 引脚OE:输出允许信号, 当OE=0时才能进行数据传 输。 图2-7 总线驱动器8286和8086的连接 8286 A0 A1 A2 A3 A4 A5 A6 A7 OE B0 B1 B

32、2 B3 B4 B5 B6 B7 T 数数 据据 总总 线线 高高 8 位位 数数 据据 总总 线线 低低 8 位位 8086 AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7 DT/R DEN AD8 AD9 AD10 AD11 AD12 AD13 AD14 AD15 8286 A0 A1 A2 A3 A4 A5 A6 A7 OE B0 B1 B2 B3 B4 B5 B6 B7 T 8位双向数据收发器的内部结构和功能表 50 3. 最大模式下的引脚和系统配置 最大模式下的引脚: 1)QS1和QS0(Instruction Queue Status):指令队列 状态输出线。二者的

33、组合指明指令队列的状态。 表24 QS1和QS0代码组合的含义 QS1QS0含义含义 00无操作无操作 01从指令队列的第一个字节中取走代码从指令队列的第一个字节中取走代码 10队列为空队列为空 11除第一个字节外,还取走了后续字节中的代码除第一个字节外,还取走了后续字节中的代码 51 2)S2,S1,S0(Bus Cycle Status):总线周期状态信号输出 线。最小模式中,控制信号 、ALE、 等都是直接由CPU给出的。在最大模式系统中,状态信号 隐含了这些信息,8288从这些状态信息的组合中完成这些信 号的译码和输出。 表25 的代码组合和对应的操作: S2 S1 S0对应的操作对应

34、的操作8288产生的控制信号产生的控制信号相关的指令举例相关的指令举例 0 0 0发中断响应信号发中断响应信号无无 0 0 1读读I/O端口端口IN AL,DX 0 1 0写写I/O端口端口OUT DX,AL 0 1 1暂停暂停无无NOP 1 0 0取指令取指令无无 1 0 1读内存读内存MOV AX,1234H 1 1 0写内存写内存MOV DL,AX 1 1 1无效无效无无无无 WR RD IOM/、DEN 012S S S、 INTA IROC IOWC MRDC MRDC MWTC S2S0S1 52 3) 和 (Request/Grant) :总线请求信号输入/总线请求允许信号输出线

35、。 功能:供CPU以外的处理器用来发出使用总线的请求信 号和接收CPU对总线请求信号的回答信号。(每个引脚 相当于最小模式下HOLD和HLDA的功能) 双向传输:总线请求信号和允许信号在同一个引脚 上传输,但方向相反,采用分时复用方式工作。 优先级: 比 优先级高。 RQ/GT1RQ/GT0 RQ/GT1RQ/GT0 53 最大模式下的典型配置: 最大模式配置和最小模式配置主要的差别: 最大模式: 接低电平。 控制总线:最大模式下需要总线控制器(8288)。 需要总线控制器来组合控制信号的原因: 在最大模式系统中,包含2个或多个处理器,需要用 总线控制器解决主处理器和协处理器之间的协调工作 问

36、题和对总线的共享控制问题 。 MN/MX 54 图2-8 8086最 大工作模式典 型配置 8286 收发器收发器 OE(2个)个) T 8259A 中断控制电路中断控制电路 8288 总线控制器总线控制器 INTA OE 8282 锁存器锁存器 (3个)个) STB CLK RESET READY MN/MX BHE A19A16 AD15AD0 8086 S0 S1 S2 INTR RQ/GT0 RQ/GT1 BHE 地址总线地址总线 控制总线控制总线 数据总线数据总线 中断请求中断请求 55 最大模式系统中,8288 总线控制器的连接 8286总线收发器总线收发器 (2个)个) OE T

37、 8282锁存器锁存器 (3个)个) STB 控制总线控制总线 DT/R MRDC DEN ALE MWTC CLK 8288 S0 总线控制器总线控制器 S1 IORC S2 AEN IOWC IOB CEN INTA 5V 8284A CLK 8086 S0 S1 S2 8259A 中断控制器中断控制器 中断请中断请 求求 图29 总线控制器8288与8086的连接 56 CEN: CPU 对系统总线的控制允许,输入 0 - 隔离CPU 与系统总线,使8288 输出引脚为高阻态 1 - 连通CPU 与系统总线,使8288 输出引脚有效 IOB: 总线工作方式选择,输入 0 - 系统总线可共

38、享( CPU何时让出总线由AEN 决定) 1 - 系统总线不可共享(CPU 独占) :地址允许,输入 0 - 产生DEN 有效信号,使CPU 与系统数据总线连通 1 - 产生DEN 无效信号,使CPU 与系统数据总线隔离 AEN 57 读存储器命令(Memory Read Command) 信号,用来通知内存将所寻址的单元中的内容送到数据 总线。 写存储器命令(Memory Write Command) 信号,用来通知内存接收数据总线上的数据,并将数据 写入所寻址的单元中。 读I/O命令(I/O Read Command),用来 通知I/O接口将所寻址的端口中的数据送到数据总线。 写I/O命令

39、(I/O Write Command)信号,用来通 知I/O接口去接收数据总线上的数据,并将数据送到所 寻址的端口中。 MRDC MWTC IOWC IORC 如何通过程序 区分寻址存储器和外设端口? 下区分寻址存储器和外设端口 练习 1 8086 CPU由哪两部分组成?它们的主要功能 是什么?8086与8088的主要区别是什么? 8086/8088微处理器的内部组成结构按照功能可分 成总线接口部件BIU(Bus Interface Unit)和指令 执行部件EU(Execution Unit)两大部分。 BIU的主要作用是实现CPU对外部三总线的控制并与 外部进行数据交换。具体的操作主要是根

40、据指令的 要求合成20位的地址信号及产生与外部总线数据传 输需要的控制信号时序,最终实现与外部的数据交 换。 1 8086 CPU由哪两部分组成?它们的主要功能 是什么?8086与8088的主要区别是什么? EU的作用则是执行指令。指令队列中的指令经EU控 制系统转换成具体的操作控制信号并实现指令规定 的运算或操作。 8088与8086在芯片内部是完全一样的,主要区别是 在外部将数据线缩减成了8位(另有几根外部引脚 定义不同) 2 8086/8088 CPU内部有哪些寄 存器?其主要作用是什么? 通用寄存器:AX,BX,CX,DX AX(AH+AL):累加器(Accumulator)。是寄存器

41、中 最忙的一个。大多数的算术和逻辑运算以及输入/输 出都必须经由它进行。 BX(BH+BL):基地址寄存器(Base)。在间接寻址 中作为偏移地址寄存器;在基址寻址中作为基地址寄 存器。 CX(CH+CL):计数寄存器(Count)。在块传送和循 环等指令中固定的充当计数器。 DX(DH+DL):数据寄存器(Data)。在乘除法指令 中固定充当辅助的操作数寄存器;在输入/输出指令 中固定作为外设口地址寄存器。 2 8086/8088 CPU内部有哪些寄 存器?其主要作用是什么? SI:源变址寄存器(Source Index)。 用于在数 据块传送类指令中固定与DS一起提供源数据块地址, 其值可

42、自动加减。另外它还可以为DS或ES提供偏移 地址或变址值。 DI:目的变址寄存器(Destination Index)。 用 于在数据块传送类指令中固定与ES一起提供目的数 据块地址,其值可自动加减(由标志寄存器FR中的 DF位指定)。另外它还可以为DS或ES提供偏移地址 或变址值。 2 8086/8088 CPU内部有哪些寄 存器?其主要作用是什么? CS:代码段寄存器(Code Segment),固定与IP 一起寻址内存代码区。 SS:堆栈段寄存器(Stack Segment),固定与SP 或BP寻址内存的堆栈区。 DS:数据段寄存器(Data Segment),可与SI、 DI、BP等寻

43、址内存数据区。 ES:附加段寄存器(Extra data Segment),可 与SI、DI、BP等寻址内存数据区 3试述8086/8088 CPU中的SP, BP,SI,DI有何种特殊用途。 SP:堆栈指针(Stack Pointer)。 固定配合SS来 指定(寻址)内存中的堆栈区栈顶的当前偏移地址。 当执行完入栈/出栈指令后,SP的值会自动减2/加2。 其值将始终指向栈顶位置。 BP:基数指针(Base Pointer)。 用于提供多种 寻址方式中的偏移地址或基地址,还用于配合SS提 供堆栈区的非栈顶单元偏移地址。 3试述8086/8088 CPU中的SP, BP,SI,DI有何种特殊用途。 SI:源变址寄存器(Source I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论