微机原理-8086CPU

文章目录

  • 一、8086CPU的内部结构
    • 1.内部结构
      • 1-1-1总线接口单元
      • 1-1-2指令执行单元
    • 2.工作总流程
    • 3.8086CPU内部寄存器
      • 1-3-1 数据寄存器
      • 1-3-2地址指针和变址寄存器
      • 1-3-3段寄存器
      • 1-3-4指令指针IP
      • 1-3-5标志寄存器FLAGS
  • 二、8086/8088CPU的引脚功能
  • 三、8086的存储器组织
    • 3-1段地址和偏移地址
      • 3-1-1段地址和偏移地址组合成物理地址
      • 3-1-2默认段寄存器和偏移地址寄存器
      • 3-1-3堆栈的设置和操作
      • 3-1-4段内偏移量寻址机制允许重定位
    • 3-28086存储器的分体结构
  • 四、8086的工作模式和总线操作
    • 4-1最小模式系统
      • 4-1-1数据总线缓冲器74LS244
      • 4-1-2数据总线缓冲器74LS245
      • 4-1-3锁存器74LS373
      • 4-1-4 时钟产生器8284A
      • 4-1-5 最小模式系统工作过程
    • 4-2最大模式系统
    • 4-3总线操作时序

一、8086CPU的内部结构

1.内部结构

微机原理-8086CPU_第1张图片

1-1-1总线接口单元

​①取指令(从CS:IP寄存器取)→送至指令队列
②EU取指令后,需要操作数,BIU取送至EU

1-1-2指令执行单元

①从指令队列取指令→EU控制器进行分析、译码→控制命令→执行
②ALU执行运算,完成计算

2.工作总流程

(1)先执行读存操作,从给定地址单元中取出指令,送到先进先出的指令队列中等待执行。存储器的物理地址CSx16+IP,在地址加法器\sum\中形成。
(2)执行单元EU从指令队列中取走指令,经EU控制器译码分析后,向各部件发控制命令,以完成执行指令的操作。此时EU不需要使用外部总线,BIU可将6字节的后续指令送到指令队列,将指令队列填满。
(3)当指令队列已满,EU在执行指令,未向总线接口单元BIU申请读/写内存或1/O操作时,BIU处于空闲状态。
(4)指令执行过程中,若需对存储器或IO端口存取数据,EUU就要求BU去完成相应的总线周期。例如,EU执行从内存读1个数据的指令时,就经内部16位数据总线将操作数偏移地址送到BIU,与BIU中的段地址一起,由地址加法器 ∑ \sum 形成存储单元的物理地址,再从指定单元取出数据送到控制器EU,由EU根据指令要求,发控制命令,完成存储器读总线周期。
(5)如遇到JMP或CALL指令,则指令队列中的内容作废,按新的转移地址取指令。
(6)算术逻辑部件ALU完成算术运算、逻辑运算或移位等操作。
参加运算的操作数可从外存、VO端口或内部的寄存器等获取。
运算结果送到E或BIU的寄存器中,也可由BIU写入存储器或UO端口。
本次操作的状态反映在标志寄存器FLAGS中,如进位和溢出等。

3.8086CPU内部寄存器

1-3-1 数据寄存器

用来存放16位数据信息或地址信息;也可以分为8个8位寄存器使用,低8位寄存器为AL、BL、CL、DL,高8位为AH、BH、CH、DH,它们只能用来存放8位数据,不能用来存放地址信息。

(1)累加器AX(AH+AL)
是编程中用得最多、最频繁的寄存器。
(2)基址寄存器BX(BH+BL)
基址寄存器或基地址指针。可用来存放偏移地址。
(3)计数寄存器CX(CH+CL)
在循环操作时作计数器用,用于控制循环程序的执行次数。
(4)数据寄存器DX(DH+DL)
在乘、除法及I/O端口操作时有专门用途。

1-3-2地址指针和变址寄存器

(1)堆栈指针寄存器SP
与堆栈段SS寄存器联合使用,用于设置和访问堆栈段
(2)基址指针寄存器BP
与堆栈段SS寄存器联合使用,用于设置和访问堆栈段
(3)源变址寄存器SI
具有通用寄存器功能,通过SI、DI以及基址寄存器BX,可以在内存中灵活寻找存储器操作数。
在字符串运算中,SI寄存器用来指示一个源串操作数的位置。
SI与数据段寄存器DS配合,指向源串首地址。
(4)目的变址寄存器DI
具有通用寄存器功能,通过SI、DI以及基址寄存器BX,可以在内存中灵活寻找存储器操作数。
在字符串运算中,DI寄存器用来指示一个目的操作数的位置。
DI与附加段寄存器ES配合,指向目的串首地址。

1-3-3段寄存器

用来存放各段起始地址的高16位值,称为段基地址或段基址,段基地址与段内偏移地址Offset组合起来就可形成20位物理地址。

代码段寄存器CS
数据段寄存器DS
堆栈段寄存器SS
附加段寄存器ES

1-3-4指令指针IP

(1)用来存放将要执行的下一条指令在现行代码段中的偏移地址,它和CS一起,形成将要取出指令的物理地址。
(2)每当CPU从代码段中取出一个字节的指令代码后,IP就自动加一,指向要取指令的下一字节的地址。
(3)用户程序不能对IP进行存取操作,只能由BIU自动修改。

1-3-5标志寄存器FLAGS

状态标志:CF、PF、AF、ZF、SF、OF

(1)进位标志CF:进行算术加减运算时,最高位向前一位产生进位或借位时,CF=1,否则CF=0,只有在两个无符号数进行加减运算时,CF标志才有意义;移位操作也将影响CF标志;执行STC指令可使CF置1,执行CLC指令使CF清0,执行CMC指令使CF标志取反。
(2)奇偶校验标志PF。若运算结果低8位有偶数个1,则PF=1,否则PF=0。
(3)辅助进位标志AF。AF标志也称为半进位标志。在8位加减运算中,若低4位向高4位有进位或借位,就使AF=1,否则AF=0.执行加法调整指令DAA或减法调整指令DAS时,会自动测试AF标志,对BCD码加法(加6)或减法(减6)运算结果进行调整。
(4)零标志ZF。若运算结果为0,则ZF=1,否则ZF=0。ZF标志常用来判断两个数是否相等,若两数相等,相减后ZF=1,若不等则ZF=0。字节数据,运算结果的范围为-128~+127,字数据的范围
(5)符号标志SF。它也称为负标志。
(6)溢出标志OF。对于字节数据,运算结果的范围为-128+127,字数据的范围为-32768+32767

控制标志:TF、IF、DF

(7)陷阱标志TF:TF也称为单步标志,它是为调试程序提供方便而设置的。
(8)中断标志IF:IF=1时,允许CPU响应可屏蔽中断,IF=0时,禁止响应可屏蔽中断。
(9)方向标志DF:它用于控制字符串操作指令中地址指针变化的方向。若DF=0,则串地址从低地址向高地址方向进行,每次操作后使地址指针SI、DI自动递增;若DF=1,则串地址从高地址向低地址方向进行,SI、DI自动递减。执行CLD指令可使DF清0,执行STD指令可使DF置1.

二、8086/8088CPU的引脚功能

采用40引脚的双列直插式

(1)AD15~AD0:地址/数据总线,双向、三态、分时复用信号。
CPU访问内存或I/O设备时,先从AD线上给出地址信号,并将地址信号用锁存器锁存起来,再在AD线上传送数据,这样就从时间上把地址/数据信号分开了。对于8088CPU,只需传送8位数据,所以只有AD7~ AD0为地址/数据线,A15~A8只用来传送地址信息。
(2)A19/S6~A16/S3:地址/状态线
在T1周期,这4根线作高四位地址A19高4位无效,仅用A15T4周期,它们作状态信号S6~S3用。
(3) R D ‾ ( R e a d ) \overline{RD}(Read) RD(Read)
读控制信号。当它为低电平时,允许CPU从存储器或I/O端口读出数据。
(4) W R ‾ ( W r i t e ) \overline{WR}(Write) WR(Write)
写信号,低电平有效。该信号有效时,允许CPU对存储器或I/O端口进行写入操作。
(5) M / I O ‾ M/\overline{IO} M/IO
存储器或I/O端口控制信号。由CPU输出,当它为高电平时,表示CPU正在访问存储器;当它为低电平时。表示CPU正在访问I/O端口。8088中该引脚为IO/\overline{M},当它为高电平时,表示CPU在访问I/O端口,低电平时访问存储器。
(6)CLK
时钟信号。由外部时钟产生器8284A所产生所需的时钟信号,为CPU及8288总线控制器提供基本的定时脉冲。8086的时钟信号为5MHz。
(7) RESET
复位信号,高电平有效至少要维持4个时钟周期。复位后,CPU立即停止当前所有操作,总线无效,使DS、ES、SS、FLAGS、IF清0,CS:IP=FFFF:0000H,使指令队列变空,停止中断。复位结束后,CPU执行重启启动过程,转到FFFF0H处执行指令,可在该处安排一条JMP指令,转到系统初始化程序。
(8)与中断有关的信号
①INTR
可屏蔽中断请求信号,高电平有效。
标志寄存器IF=1,则CPU暂停执行下条指令,转入中断响应周期,去执行中断服务程序;
若IF=0,则不能响应中断。
②NMI
不可屏蔽中断请求信号,上升沿触发。不能用软件屏蔽。
I N T A ‾ \overline{INTA} INTA
中断响应信号,低电平有效
(9) HOLD
总线保持请求和总线保持响应信号,在DMA
(10) ALE
地址锁存允许信号,高电平有效,用作地址锁存器的控制信号。在T1周期,ALE有效,AD15~AD0上传送的地址信号,在ALE的下降沿将地址信息锁存,在后续周期中,地址数据线上可传送数据信号,实现了地址/数据信号的分离。
(11) D T / R ‾ DT/\overline{R} DT/R
数据发送/接收信号,用来控制数据收发器(缓冲器)传送数据的方向。当DT/ R ‾ \overline{R} R=1时,CPU向外部发送数据,执行写操作当 D T / R ‾ DT/ \overline{R} DT/R=0时,CPU接收从外部传送过来的数据,执行读操作。
(12) D E N ‾ \overline{DEN} DEN
数据允许信号,它是数据收发器的控制信号, D E N ‾ = 0 \overline{DEN}=0 DEN=0时才允许CPU发送或接收数据。
(13)REDAY
准备就绪信号。它是由被访问的存储器或I/O口发给CPU的响应信号,若该信号为0,表示被访问的存储器或I/O端口还未准备好,CPU还未准备好,当REDAY信号变为1后,表示已准备好,才进入T4周期,完成数据传送的过程。
(14) T E S T ‾ \overline{TEST} TEST
测试信号。
(15)在最小模式/最大模式复用信号

QS1 QS0 状态
0 0 无操作
0 1 从指令队列中去除第一个字节
1 0 队列已空
1 1 从指令队列中取出后续字节

(16) B H E ‾ / S 7 \overline{BHE}/S7 BHE/S7
| 高8位总线允许/状态信号,它用在8086中。当它为低电平时,在读/写操作期间,高8位数据总线D15~D8有效,状态位S7始终为逻辑1。
(17) SS0
| 8088最小模式信号。
(18) M N / M X ‾ MN/\overline{MX} MN/MX
| 最小/最大模式选择信号。
(19) Vcc和GND
| Vcc为电源输入,它为CPU提供+5V工作电源。GND是接地引脚,8086/8088有两个引脚均标为地,为保证正常工作,两者必须都接地。

三、8086的存储器组织

CPU只能工作于实模式,只允许CPU在1MB(2^20)范围内对存储器进行存取操作,DOS操作系统也要求微处理器工作于实模式。

3-1段地址和偏移地址

3-1-1段地址和偏移地址组合成物理地址

(1) 8086/8088CPU具有20根地址总线,可直接寻址的内存空间为2^20=1MB字节单元。
(2) 地址范围为00000~FFFFFH,每个单元有一个绝对地址,称为物理地址。
(3) 20位的物理地址有两个寄存器组合而成,第一个寄存器中包含的地址叫段地址或基地址,第二个寄存器包含地址的一部分,称为偏移地址或偏移量,表示的形式为段地址:偏移量,这种地址也称为逻辑地址。
(4) 段地址和偏移地址组合的方式形成物理地址,这个工作由CPU的总线接口部件BIU的地址加法器\sum来完成。
(5) 各段相互独立,可连续排列,也可以部分重叠或完全重叠。
(6) 逻辑地址转换为物理地址的公式:20位物理地址=段基地址×16+16为偏移量。
(7) 段基地址可以定义任何64KB存储器的起始地址,偏移量用来在64KB存储器中选择任一单元。
微机原理-8086CPU_第2张图片
例:设段基地址为1000H,则该段起始地址为1000H×16=10000H,段内偏移地址可以是0000~FFFFH,它表示从段的起始位置到所选单元的距离。
(8) 一个物理地址可以由不同的逻辑地址完成
(9) 实模式的段只能从被16整除的地方开始

3-1-2默认段寄存器和偏移地址寄存器

CS:IP→寻址下一条要执行指令的单元 SS:SP、BP→寻址存储器堆栈段中的数据 DS:BX、SI、DI→寻址数据段中的8位或16位数据
ES:DI→寻址目的串地址 通过段超越前缀可以对某些隐含规则进行修改

3-1-3堆栈的设置和操作

(1)堆栈是在内存中开辟的一个特定数据区域
(2)堆栈存放需暂时保存的数据

  • 如调用子程序时的返回地址、中断处理时的断点及现场信息等。
    (3)设置堆栈
    微机原理-8086CPU_第3张图片
  • 长度由SS:SP来设定
  • 可设置的堆栈最大容量为64KB
    (4)用PUSH/POP指令进行堆栈操作,遵循先进后出的原则。
    (5) PUSH操作将1个字压入栈,并使SP-SP-2
    (6)通过BP指针也可从堆栈中荻取数据,或向堆栈存入数据。
    (7)堆栈中的数据必须保证低字节在偶地址单元中,高字节在奇地址中。
    (8)堆栈操作时,栈内数据没有上下移动,改变的只有SP的内容,SP指针在移动。

3-1-4段内偏移量寻址机制允许重定位

(1)可重定位程序,是指一个可以存放在存储器的任何区域,不加修改就可以执行的程序。
(2)可重定位数据,是指可以存放在存储器的任何区域,不用修改就可以被程序引用的数据。
(3)由于存储器采用偏移地址在段内寻址,因此一个程序段或数据块,在内存中搬移时,可以保持其偏移地址不变,只改变段寄存器的内容,因此搬到哪里都只要修改段寄存器内容后就可以执行,即它们具有了重定位的特点。

3-28086存储器的分体结构

微机原理-8086CPU_第4张图片
(1)1MB存储空间分成两个8位的存储体:偶地址体和奇地址体,各占512K字节。
(2)偶地址体包含所有地址偶数的存储单元,奇地址体包含所有地址奇数的存储单元。
(3)使用 B H E ‾ \overline{BHE} BHE A 0 A_{0} A0选择存储体

B H E ‾ \overline{BHE} BHE A 0 A_{0} A0 功能 使用数据总线
0 0 选中两个存储体,传送一个字 D 15 ∽ D 0 D_{15} \backsim D_0 D15D0
0 1 选中奇地址体,传送高字节 D 15 ∽ D 8 D_{15} \backsim D_8 D15D8
0 1 选中偶地址体,传送低字节 D 7 ∽ D 0 D_{7} \backsim D_0 D7D0
1 1 无效

(4)存取都从偶体开始。存取都从偶体开始。从偶地址单元开始存取一个字只要1次操作,从奇地址开始要2次操作。
(5)8088的外部数据总线为8位,它每次访问存储器只读/写1个字节,读/写1个字要分2次完成。
(6)1MB存储器被看作一个存储体,由A19~A0直接寻址,系统运行速度要慢些。

四、8086的工作模式和总线操作

当CPU的MN/\overline{MX}引脚接+5V时,工作于最小模式,在这种模式下,送到存储器和I/O接口的所有信号都由CPU产生;当MN/\overline{MX}接地时,工作于最大模式,此时它的某些控制信号必须由外部产生,需要增加一个8288总线控制器来产生这些信号,最大模式主要用于系统中包含数值协处理器(Numeric
Data Processor, NDP)8087的情况下。

4-1最小模式系统

微机原理-8086CPU_第5张图片
①硬件包含:8086 CPU、存储器、IO接口芯片,还有8位地址锁存器74LS373、8位双向数据总线缓冲器74LS245和时钟产生器8284A。
②3片74LS373锁存器,分离地址/数据线AD1s ∽ \backsim AD、地址状态线A19/S~A1/S和 B H E ‾ \overline{BHE} BHE信号。这些总线上先传地址信号,然后被锁存,髯传送数据或状态信号。
③8086系统传送16位数据,要用2片74LS245驱动。8088仅传送8位数据,只要1片缓冲器。缓冲器还可控制数据传送方向。锁存器也具有缓冲功能。
④8284A产生系统所需的时钟信号。

4-1-1数据总线缓冲器74LS244

74LS244逻辑功能图和引脚图


1 G ‾ = 0 \overline{1G}=0 1G=0,1A ∽ \backsim 1A4端的信号被传送到1Y,~1Y4;
2 G ‾ = 0 \overline{2G}=0 2G=0,2Ay ∽ \backsim 2A4端的信号被传送到2Y ∽ \backsim 2Y4;
1 G ‾ \overline{1G} 1G 2 G ‾ = 1 \overline{2G}=1 2G=1时,输出呈高阻态;
▲常把 1 G ‾ \overline{1G} 1G 2 G ‾ \overline{2G} 2G 连起来,由1个片选信号控制。

4-1-2数据总线缓冲器74LS245

▲除门控信号, G ‾ \overline{G} G还有方向控制端DIR。
▲只有 G ‾ = 0 \overline{G}=0 G=0,数据才能传输,A→B或A←B;
▲DIR=1,传输方向A→B;
▲DIR=0,传输方向A←B。

4-1-3锁存器74LS373

输入使能端G 输出允许端 O E ‾ \overline{OE} OE 输入D 输出D
1 0 1 1
1 0 0 0
0 0 × 锁存Q
× 1 × 高阻态

①两个控制端:输入使能端G和允许输出端 O E ‾ \overline{OE} OE
②G=1,触发器D端电平打到Q端,并记忆住
③若置 O E ‾ = 0 \overline{OE}=0 OE=0,Q端记忆的电平经三态门反相后,传到输出端O,使O端与D端信号一致
④如G=1, O E ‾ = 0 \overline{OE}=0 OE=0,输出Q随输入D而变
⑤如G=0, O E ‾ = 0 \overline{OE}=0 OE=0,O端为前面锁存的数据,D端变化不影响输出
⑥如果\overline{OE}=1,则G控制无效,输出呈高阻态,与总线断开

4-1-4 时钟产生器8284A

微机原理-8086CPU_第6张图片
①系统时钟信号CLK、复位信号RESET、准备好信号READY以及供外设用的时钟信号。
②8284A的时钟信号来源:

  • 如F/\overline{C}接低电平,时钟信号源由晶体振荡器提供,频率为f=14.31818MHzZ;
  • 如F/\overline{C}(接高电平,用EFI端接入的外加振荡信号作时钟信号源。

③从8284A输出端可产生的信号:

  • CLK88一频率4.77MHz,输入时钟3分频后得到,可送给8088或8288作时钟脉冲。
  • PCLK一CLK88经8284A内部2分频产生的脉冲信号,频率2.385MHz。
  • OSC一从OSC脚输出的脉冲信号,频率为14.31818MHz
  • PCLK和OSC信号输出到系统外部,供外部电路(如8253)使用。

④8284A的作用:

  • 系统加电,电源准备好信号PWR GOOD送8284A复位端RES,经它同步后形成系统复位信号RESET。
  • 当CPU与慢速存储器或外设交换数据时,会向8284A的RDY1、\overline{AEN1}输入信号,经它同步后使READY变低并送到CPU的READY端,在T;周期后插入1~n个等待周期Tw,直至外部数据准备就绪,使READY变高才进入T4周期,完成数据传送。
  • 在X1和X2端接频率15MHz或24MHz晶振,则经8284A做3分频,在CLK端获得5MHz的CLK86或8MHz的CLK86-2信号,供8086或8086-2作时钟脉冲信号。

4-1-5 最小模式系统工作过程

CPU可从存储器或1O接口中读出数据,也可向它们入数据。以读存操作为例说明最小模式工作过程。

(1)CPU送出M/\overline{IO}和DT/\overline{R}信号

  • M/ I O ‾ = 1 \overline{IO}=1 IO=1选中存储器;
  • DT/ R ‾ \overline{R} R连到74LS245的DIR,控制传送方向。DT/ R ‾ = 0 \overline{R}=0 R=0使DIR=0,数据A←B,CPU准备接收内存读出的数据。

(2)CPU先送出地址和 B H E ‾ \overline{BHE} BHE信号,再送出地址锁存ALE

  • A19/S6~A16/S3、AD15~AD0、 B H E ‾ \overline{BHE} BHE送3片74LS373输入;
  • 这时,地址/状态线和地址/数据线上传送地址信号;
  • 当ALE=1时,分离出的A19~A0和 B H E ‾ \overline{BHE} BHE打入74LS373;
  • 当ALE由高到低时,20位地址和 B H E ‾ \overline{BHE} BHE被锁存在74LS373中。

(3)74LS373的输出允许端OE恒接地
锁存的20位地址和BHE信号直接送到PC总线上,也被送到存储器系统,用来选择存储单元。

(4)CPU使RD =0,DEN=0
R D ‾ = 0 \overline{RD}=0 RD=0,CPU要从指定存储单元读数据; D E N ‾ = 0 \overline{DEN}=0 DEN=0,表示允许收发数据。DEN与74LS245的G相连,允许74LS245传送数据。
由于第1)步中已设置缓冲器数据传送方向A←B,所以可从存储单元读出数据,经数据总线D15 ∽ \backsim Do,从74LS245的B端传送到A端,再从CPU的AD15~AD0总线送入CPU的寄存器。

4-2最大模式系统

| 比最小模式加一片8288

4-3总线操作时序

  • 计算机都是在时钟脉冲CLK控制下,一步步进行工作的,完成每种操作都要一定时间。 读/写存储器或I/O端口,是8086最基本的操作。
  • CPU读写一次存储器或UO端口的时间叫总线周期。执行1条指令的时间称为指令周期,1个指令周期可包含1个或几个总线周期。
  • 1个总线周期需要4个系统时钟周期(T1~T4),时钟周期也称为T周期或T状态,它为时钟频率的倒数,是8086 CPU动作的最小单位。
  • 8086工作时钟为5MHz,即T周期为200ns,总线周期为800ns。则CPU与内存或IO接口间传送数据的最大速率可达每秒125万次。8086-1的频率为10MHz,每秒最多可执行250万条指令,运算速度达2.5
    MIPS(百万指令/秒)。

读总线四个状态
T1状态

  • 首先,由M/ I O ‾ \overline{IO} IO确定是读内存或I/O端口。时序图中,M/ I O ‾ \overline{IO} IO可能是1或0。若执行读内存指令M/ I O ‾ = 1 \overline{IO}=1 IO=1,I/O操作 M / I O ‾ = 0 M/\overline{IO}=0 M/IO=0
  • 其次,给出指定单元地址以便读出。T开始,20位地址及 B H E ‾ \overline{BHE} BHE从A19/S6 ∽ \backsim A6/S3,、AD15~AD0及 B H E ‾ \overline{BHE} BHE/S7线输出到74LS373锁存器。若读1/O端口,不用传送高4位地址A19~A16。
  • 同时,从ALE输出地址锁存信号。ALE=1时,地址和 B H E ‾ \overline{BHE} BHE打入锁存器,在ALE由高到低时锁定。此后复用信号线就用来传送数据和状态信号。
  • 此外,还置DT/ R ‾ = 0 \overline{R}=0 R=0,使74LS245的DIR=0,设定数据传送方向A<—B,允许从内存或IO端口读入数据。

T2状态

  • 在A19/S6 ∽ \backsim A16/S3, B H E ‾ \overline{BHE} BHE/S7,总线上传送状态信息。AD15~AD0呈高阻态,为接收数据作好准备。
  • 在T2状态的后半周期, R D ‾ = 0 \overline{RD}=0 RD=0,允许从内存或I/O端口读出数据;数据允许信号 D E N ‾ = 0 \overline{DEN}=0 DEN=0,使74LS245的门控输入 G ‾ = 0 \overline{G}=0 G=0,允许接收数据。

T3状态

  • 读取数据。数据出现在D15~D0上,数据从74LS245的B→A,经AD15~AD0送入CPU寄存器。
  • 若是8位数据操作,仅用低8位数据线传送8位数据。
  • 与慢速设备交换数据时,需在T3和T4状态之间插入等待周期Tw.

T4状态

  • 数据、状态信号在总线上维持一段时间。到T4后半周期,数据信号撤除,各控制和状态信号无效, D E N ‾ \overline{DEN} DEN无效,禁止收发数据,读总线周期结束。

你可能感兴趣的:(#,微机原理,其他)