1
第 2章微型计算机基础
2
主要内容:
微型机的构成及工作原理
8088/8086 CPU的结构及工作原理
系统总线
3
§ 2.1 微型机的基本结构掌握,
微机系统的基本组成
微型机的工作原理
微机 8088的存储器组织
4
一,微型计算机 系统组成微型计算机系统的三个层次微处理器 (Microprocessor)
微型计算机 (Microcomputer)
微型计算机系统 (Microcomputer System)
5
微型计算机系统的三个层次微处理器存储器
I/O接口总线硬件系统软件系统微 型计算机系 统微 型计算机
(主 机 )
外 设
ALU
寄存器控制器键盘、鼠标显示器软驱、硬盘、光驱打印机、扫描仪系统软件应用软件
6
核心级 —— 微处理器
微处理器简称 CPU,是计算机的核心,
主要包括:
运算器 ALU
控制器 CU
寄存器组 Registers
CPU实现了运算功能和控制功能
7
硬件系统级 —— 微型计算机
以微处理器为核心,配上只读存储器 (ROM)、
读写存储器 (RAM)、输入 /输出 (I/O)接口电路及系统总线等部件,就构成了微型计算机。
将 CPU、存储器,I/O接口、总线等集成在一片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。
8
系统级
以 微型计算机 为中心,配以相应的 外围设备 以及控制微型计算机工作的 软件,就构成了完整的微型计算机系统。
微型计算机如果不配有软件,通常称为 裸机
软件分为 系统软件 和 应用软件 两大类。
9
一、微型计算机的基本结构微处理器 ( CPU)
存储器输入 /输出接口总线
1,微型计算机的硬件系统
10
微型计算机的概念结构存储器
I/O
接口输入设备
I/O
接口地址总线 AB
输出设备
C
P
U
数据总线 DB
控制总线 CB
I/O
接口
AB,Address Bus
DB,Data Bus
CB,Control Bus
11
主机硬件系统 —— CPU
计算机的控制中心,提供运算、判断能力
构成,ALU,CU,Registers( p29)
例,Intel 8088/8086,PIII,P4,Celeron
AMD K7( Athlon,Duron)
CPU的位数,4位,8位,16位,32位,64位是指一次能处理的数据的位数
12
主机硬件系统 —— 存储器
存放 程序 和 数据 的记忆装置
用途:存放程序和要操作的各类信息(数据、文字、图像、。。。)
内存,ROM,RAM
特点:随机存取,速度快,容量小
外存:磁盘、光盘、半导体盘,…
特点:顺序存取 /块存取,速度慢,容量大
13
有关内存储器的几个概念
内存单元的地址和内容
内存容量
内存的操作
内存的分类
14
内存单元的地址和内容
内存包含有很多存储单元 (每个内存单元包含 8bit),为区分不同的内存单元,对计算机中的每个内存单元进行编号,内存单元的编号就称为内存单元的地址。
1 0 1 1 0 1 1 038F04H
内存单元地址内存单元内容
...
...
Bit 7 6 5 4 3 2 1 0
0 1 0 1 1 0 0 0
*内存单元有时又称为 地址单元
15
内存容量
即内存单元的个数,以字节为单位。
注意,内存空间 与 内存容量 的区别内存容量,实际配置的内存大小。例:某微机配置 2条
128MB的 SDRAM内存条,其内存容量为 256MB
内存空间,又称为存储空间、寻址范围,是指微机的寻址能力,与 CPU的地址总线宽度有关。
16
内存操作
读:将内存单元的内容取入 CPU,原单元内容不改变;
写,CPU将信息放入内存单元,单元中原内容被覆盖;
刷新:对 CPU透明,仅动态存储器有此操作
内存的读写的步骤为:
CPU把要读写的内存单元的地址放到 AB上
若是写操作,CPU紧接着把要写入的数据放到 DB上
CPU发出读写命令
数据被写入指定的单元或从指定的单元读出到 DB
若是读 操作,CPU紧接着从 DB上取回数据
17
内存储器的分类
读写存储器( RAM)
可读可写
易失性,临时存放程序和数据
只读存储器( ROM)
工作时只能读
非易失性,永久或半永久性存放信息
18
主机硬件系统 —— 输入 /输出接口
简写为 I/O接口,是 CPU与外部设备间的桥梁
CPU I/O接口 外设
19
接口的功能
提供驱动外设的电压或电流;
匹配计算机与外设之间的信号电平、
速度、信号类型、数据格式等;
缓存发给外设的数据、控制命令和外设提供的运行状态信息;
DMA控制和中断控制。
20
主机硬件系统 —— 总线 BUS
连接多个功能部件的一组公共信号线
地址总线 AB:用来传送 CPU输出的地址信号,确定被访问的存储单元,I/O端口。 地址线的根数 决定了 CPU的寻址范围 。
CPU的寻址范围 = 2n,n-地址线根数
数据总线 DB:在 CPU与存储器,I/O接口之间数据传送的公共通路。 数据总线的条数 决定 CPU一次最多可以传送的数据宽度。
控制总线 CB,用来传送各种控制信号
21
2,微型计算机的软件系统
软件:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序的总和及其相关资料。
系统软件应用软件操作系统编译系统网络系统工具软件软件
22
3.微型计算机的物理结构
CPU
北桥南桥
RAM
Cache
AGPCRT
BIOS
KBD,Mouse
串行 /并行接口
HDD/CDROM(IDE)
FDD
USB
PCI
ISA
前端总线 /CPU总线接口卡外设总线扩展槽
23
微型计算机的物理结构
24
INTEL 845GE
25
主板的主要硬件构成
CPU插座
芯片组(南北桥 /HUB)
内存插槽
高速缓存(现已集成到 CPU内部)
系统 BIOS,硬件控制
CMOS,存放硬件配置参数
总线扩展槽,PCI,ISA
串行、并行接口
软 /硬盘、光驱插座
26
芯片组
CPU的外围控制芯片,通常为 2片
两种架构:南北桥,HUB(加速中心)
南北桥
北桥 —— 提供 CPU/主存 /高速缓存的连接,AGP接口,PCI桥接
南桥 —— 提供 USB,IDE(FDD/HDD)、串 /并口及 ISA桥接等例如,Intel 440BX,VIA694(KT133)+686B,SiS 645等
HUB
GMCH—— AGP接口、存储器通道
ICH—— PCI桥接,IDE控制器,USB、串 /并口
FWH—— 系统 BIOS、显示 BIOS、随机数发生器例如,Intel 810,Intel 815,Intel845等
27
二、计算机的工作过程存储程序计算机 — 又称为 冯?诺依曼型计算机
以运算器为核心、以 存储程序原理 为基础
将计算过程描述为由许多条指令按一定顺序组成的程序,即程序是由多条有逻辑关系的指令组成,指令的长度不等(一般为 1~ 4字节)
数据和程序均以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式
由控制器控制整个程序和数据的存取以及程序的执行指令驱动
28
存储程序计算机的工作原理
控制器按预先存放在计算机存储器中的程序的流程自动地连续取出指令并执行之。
运算器 输出设备控制器输入设备存储器指令流控制命令数据流
29
程序的执行过程程序指令 1
指令 2
指令 3
指令 4
指令 n
… …
取指令指令译码取操作数执行指令存结果指令周期操作码 操作数 执行
1。 CPU如何知道从哪里取出程序的第一条指令? —— 操作系统
2。 CPU如何按程序控制流执行指令? —— 程序计数器
3。 CPU如何知道从哪里取操作数? —— 地址、寻址方式
30
例:计算 5+8( p35)
汇编语言程序 对应的机器指令 对应的操作
------------------ --------------------- ---------------------------------------------
MOV AL,5 10110000 将立即数 1传送到累加寄存器 AL中
00000101
ADD AL,8 00000100 计算两个数的和,结果存放到 AL中
00001000
HLT 11110100 停机指令执行过程见下页图
31
指令执行过程 (取指 /译码 /执行 )
累加器 A
加法器数据寄存器 DR
指令寄存器 IR
指令译码器 ID
时序逻辑电路时序控制信号(控制命令)
1011 0000
0000 0101
0000 0100
0000 1000
1111 0100
内部总线存储器
0
1
2
3
4
程序计数器 PC
地址
MOV A,5
ADD A,8
HLT
地址总线
+1
③
地址译码器读写控制电路
④输出地址
1011 0000
⑦锁存指令锁存数据
⑥
置初值
① ②输出指令地址锁存地址②
读写命令⑤
⑧指令译码锁存输出地址寄存器 AR
32
§ 2.2 8088微处理器主要内容:
8088CPU外部引线及功能;
8088CPU的内部结构和特点;
各内部寄存器的功能;
8088的工作时序。
33
一、概述
8088,8086基本类似
16位 CPU,AB宽度 20位
差别:
指令预取队列,8088为 4字节,8086为 6字节
数据总线引脚,8088有 8根,8086有 16根
8088为准 16位 CPU,内部 DB为 16位,但外部仅为 8位,16位数据要分两次传送
本课程主要介绍 8088( IBM PC采用)
34
指令预取队列 (IPQ)
指令的一般执行过程:
取指令 指令译码 读取操作数执行指令 存放结果
35
串行工作方式:
8088以前的 CPU采用串行工作方式:
1) CPU访问存储器 (存取数据或指令 )时要等待总线操作的完成
2) CPU执行指令时总线处于空闲状态缺点,CPU无法全速运行解决:总线空闲时预取指令,使 CPU需要指令时能立刻得到取指令
1 执行 1
取操作数 2 执行 2CPU
BUS 忙碌 忙碌 忙碌 忙碌存结果
1
取指令
2
36
并行工作方式:
8088CPU采用并行工作方式取指令 2 取操作数BIU 存结果 取指令 3 取操作数 取指令 4
执行 1 执行 2 执行 3EU
BUS 忙碌 忙碌 忙碌 忙碌 忙碌 忙碌
37
8088的流水线操作
8088 CPU包括两大部分,EU和 BIU
BIU不断地从存储器取指令送入 IPQ,EU不断地从
IPQ取出指令执行
EU和 BIU构成了一个简单的 2工位流水线
指令预取队列 IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)
新型 CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令
例如,PIII为 14个阶段,P4为 20个阶段 (超级流水线 )
38
结论
指令预取队列的存在使 EU和 BIU两个部分可同时进行工作,从而带来了以下两个好处:
提高了 CPU的效率
降低了对存储器存取速度的要求
39
8088/8086 CPU的特点
采用并行流水线工作方式
对内存空间实行分段管理:
每段大小为 16B~ 64KB
用段地址和段内偏移实现对 1MB空间的寻址
设置地址段寄存器指示段的首地址
支持多处理器系统;
片内无浮点运算部件,浮点运算由数学协处理器 8087支持(或用软件模拟)
注,80486DX以后的 CPU已将数学协处理器作为标准部件集成到 CPU内部
40
8088CPU的两种工作模式
8088可工作于两种模式:
最小模式和最大模式
最小模式 为单处理机模式,控制信号较少,一般可不必外接总线控制器。
最大模式 为多处理机模式,控制信号较多,CPU必须通过总线控制器与总线相连。
41
二,8088 CPU的引线及功能引脚定义的方法可大致分为:,
每个引脚只传送一种信息( RD等);
引脚电平的高低不同的信号( IO/M等);
CPU工作于不同方式有不同的名称和定义
( WR/LOCK 等);
分时复用引脚( AD7 ~ AD0 等) ;
引脚的输入和输出分别传送不同的信息
( RQ/GT等)。
42
主要引线(最小模式下)
8088是工作在最小还是最大模式由 MN/MX端状态决定,MN/MX=0时工作于最大模式,反之工作于最小模式。
数据信号线 (DB)与地址信号线 (AB):
AD7~ AD0,三态,地址 /数据复用线。 ALE有效时为地址的低 8位。地址信号有效时为输出,传送数据信号时为双向。
A19~ A16,三态,输出。高 4位地址信号,与状态信号
S6-S3分时复用。
A15~ A8,三态,输出。 输出 8位地址信号 。
43
主要的控制和状态信号
WR,三态,输出。写命令信号;
RD,三态,输出。读命令信号;
IO/M,三态,输出。指出当前访问的是存储器还是 I/O接口。高,I/O接口,低:内存
DEN,三态,输出。低电平时,表示 DB上的数据有效;
RESET,输入,为高时,CPU执行复位;
ALE,三态,输出。高,AB地址有效;
DT/ R,三态,输出。数据传送方向,高,CPU输出,
低,CPU输入
44
[例 ]:
当 WR=1,RD=0,IO/M=0时,表示
CPU当前正在进行 读存储器 操作。
45
READY信号 (输入 ):
用于协调 CPU与存储器,I/O接口之间的速度差异
READY信号由存储器或 I/O接口发出。
READY=0时,CPU就在 T3后插入 TW周期,插入的
TW个数取决于 READY何时变为高电平。
46
中断请求和响应信号
INTR,输入,可屏蔽中断请求输入端。
高:有 INTR中断请求
NMI,输入,非屏蔽中断请求输入端。
低?高,有 NMI中断请求
INTA,输出,对 INTR信号的响应。
47
总线保持信号
HOLD,总线保持请求信号输入端。当 CPU
以外的其他设备要求占用总线时,
通过该引脚向 CPU发出请求。
HLDA,输出,对 HOLD信号的响应。为高电平时,表示 CPU已放弃总线控制权,所有三态信号线均变为高阻状态。
48
三,8088CPU的内部结构
8088内部由两部分组成:
执行单元( EU)
总线接口单元( BIU)
49
执行单元 EU
功能,执行指令从指令队列中取指令代码 译码在 ALU中完成数据的运算 运算结果的特征保存在标志寄存器 FLAGS中。
50
执行单元包括算术逻辑单元(运算器)
8个通用寄存器
1个标志寄存器
EU部分控制电路
51
总线接口单元 BIU
功能:
从内存中取指令送入指令预取队列
负责与内存或输入 /输出接口之间的数据传送
在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行 。
52
8088的内部寄存器
含 14个 16位寄存器,按功能可分为三类
8个通用寄存器
4个段寄存器
2个控制寄存器
53
通用寄存器数据寄存器( AX,BX,CX,DX)
地址指针寄存器( SP,BP)
变址寄存器( SI,DI)
54
数据寄存器
8088含 4个 16位数据寄存器,它们又可分为 8个 8位寄存器,即:
AX AH,AL
BX BH,BL
CX CH,CL
DX DH,DL
常用来存放参与运算的操作数或运算结果
55
数据寄存器特有的习惯用法
AX,累加器。多用于存放中间运算结果。所有
I/O指令必须都通过 AX与接口传送信息;
BX,基址寄存器。在间接寻址中用于存放基地址;
CX,计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;
DX,数据寄存器。在 32位乘除法运算时,存放高 16位数;在间接寻址的 I/O指令中存放
I/O端口地址。
56
地址指针寄存器
SP:堆栈指针寄存器,其内容为栈顶的偏移地址;
BP,基址指针寄存器,常用于在访问内存时存放内存单元的 偏移地址。
57
BX与 BP在应用上的区别
作为通用寄存器,二者均可用于存放数据;
作为基址寄存器,BX通常用于寻址数据段; BP则通常用于寻址堆栈段。
BX一般与 DS或 ES搭配使用
58
变址寄存器
SI,源变址寄存器
DI,目标变址寄存器
变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用 SI
存放源操作数的偏移地址,而用 DI存放目标操作数的偏移地址。
59
段寄存器用于存放逻辑段的段基地址 (逻辑段的概念后面将要介绍 )
CS,代码段寄存器代码段用于存放指令代码
DS,数据段寄存器
ES,附加段寄存器数据段和附加段用来存放操作数
SS,堆栈段寄存器堆栈段用于存放返回地址,保存寄存器内容,
传递参数
60
控制寄存器
IP,指令指针寄存器,其内容为下一条要执行的指令的偏移地址
FLAGS,标志寄存器
状态标志:存 放运算结果的特征
控制标志:控制某些特殊操作
6个状态标志位 (CF,SF,AF,PF,OF,ZF)
3个控制标志位 (IF,TF,DF)
61
四、存储器寻址
物理地址
8088,20根地址线,可寻址 220(1MB)
个存储单元
CPU送到 AB上的 20位的地址称为 物理地址
62
物理地址物理地址,
.
60000H
60001H
60002H
60003H
60004H
.
.
.
12H
F0H
1BH
08H
存储器的操作完全基于物理地址。
问题:
8088的内部总线和内部寄存器均为 16位,
如何生成 20位地址?
解决:存储器分段
63
存储器分段高地址低地址段基址段基址段基址段基址最大 64KB,最小 16B段 i-1
段 i
段 i+1
64
逻辑地址
段基地址 和 段内 偏移 组成了 逻辑地址段地址 偏移地址 (偏移量 )
格式为:段地址,偏移地址物理地址 =段基地址× 16+偏移地址
60002H 00H
12H
60000H
0 0 0 0
段基地址( 16位)
段首地址
× × × × × ×
偏移地址
=0002H
65
BIU中的地址加法器用来实现逻辑地址到物理地址的变换
8088 可同时访问 4个段,4个段寄存器中的内容指示了每个段的基地址段基址段内偏移物理地址
+
16位
20位
0000
66
[例 ]:
已知 CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,
DS段有一操作数,其偏移地址 =0204H,
1)画出各段在内存中的分布
2)指出各段首地址
3)该操作数的物理地址 =?
10550H
250A0H
2EF00H
8FF00H
CS
SS
DS
ES
解,各段分布及段首址见右图所示。
操作数的物理地址为:
250AH× 10H+0204H = 252A4H
67
堆栈及堆栈段的使用
内存中一个按 FILO方式操作的特殊区域
每次压栈和退栈均以 WORD为单位
SS存放堆栈段地址,SP存放段内偏移,
SS:SP构成了堆栈指针
堆栈用于存放返回地址、过程参数或需要保护的数据
常用于响应中断或子程序调用
68
堆栈操作
SP
SS SS
压栈前 退栈后高低 低高 高
12H
SS
F0HSP
压栈后低高
SP
SP
SP F0H
12H
SP
69
[例 ]:
若已知( SS) =1000H
( SP) =2000H
则堆栈段的段首地址 =?
栈顶地址 =?
若现在把 1234H送入堆栈,则它所在的存储单元地址 =?
若该段最后一个单元地址为 2FFFH,则栈底地址 =?
段首栈底栈顶堆栈段
70
五、时序
时序的概念,CPU各引脚信号在时间上的关系。
总线周期,CPU完成一次访问内存 (或接口 )操作所需要的时间。
一个总线周期至少包括 4个时钟周期。
时钟周期:由时钟发生器产生。是计算机内部最小的时间单位,用 Ti表示。
71
§ 2.3 系统总线主要内容:
总线的基本概念和分类;
总线的工作方式;
常用系统总线标准。
72
一、概述
总线:
是 一组导线和相关的控制、驱动电路 的集合 。 是 计算机系统各部件之间传输地址、数据和控制信息 的 公共通道 。
地址总线( AB)
数据总线( DB)
控制总线( CB)
73
总线结构的优点
简化系统设计(模块化)
提高兼容性
便于扩充升级
便于维修
减低生产成本
74
总线分类
CPU总线,CPU其他部件系统总线:主机I/O接口外部总线:微机外设片内总线片外总线按相对
CPU的位置按层次结构
75
总线结构
单总线结构简单,但总线竞争严重
CPU
M M
I/O I/OI/O
76
多总线结构面向 CPU的双总线结构面向主存的双总线结构双总线结构多总线结构
77
二、总线技术 *
总线传输需要解决的问题:
传输同步 —— 协调通信双方的传输操作
同步、异步、半同步
总线仲裁 —— 消除多个设备同时使用总线造成的冲突现象
Master查询,Slave独立请求
出错处理
信号驱动
78
同步方式
同步传输 —— 用公共的时钟统一 各部件数据发送和接收的时机
异步传输 —— 用控制和状态信号协调 各部件数据发送和接收的时机
半同步 —— 用公共的时钟统一 控制和状态信号的产生时机(即控制和状态信号与时钟是同步的),但数据发送和接收的时机仍不固定
79
总线仲裁
用来决定某一时刻哪一个部件可以使用总线
集中控制 —— 统一由总线控制器进行控制
分散控制 —— 总线控制由各部件共同实现,
所有部件均按统一的规则来访问总线
80
总线仲裁 —— 集中控制
1)链式查询 —— 基本原理是:
部件提出申请( BR)
总线控制器发出批准信号( BG)
提出申请的部件截获 BG,并禁止 BG信号进一步向后传播
提出申请的部件发出总线忙信号( BS),
开始使用总线。总线忙信号将阻止其他部件使用总线,直到使用总线的设备释放总线
电路最简单,但优先级固定,不能改变
81
总线仲裁 —— 集中控制
2)计数器查询 —— 基本原理是:
需要使用总线的部件提出申请( BR)
总线控制器发出递增的设备地址
提出申请的设备检查设备地址,若与自己的地址匹配,就发出总线忙信号( BS),然后就可以使用总线
总线控制器根据检测到 BS信号时的设备地址就知道当前哪个设备使用了总线
调整设备地址发出的顺序即可改变优先级别
仲裁过程较慢
82
总线仲裁 —— 集中控制
3)独立请求 —— 基本原理是:
每个设备都拥有独立的总线请求线和总线应答线
总线控制器对所有的总线请求进行优先级排队,并响应级别最高的请求
得到响应的设备将占用总线进行传输
最常用,响应速度最快
PC机中使用的 8237 DMAC采用此种方式
83
三、常见的系统总线
ISA( 8/16位)
PCI( 32/64位)
AGP( 加速图形端口,用于提高图形处理能力)
自行查找资料,ISA,PCI,AGP分别位于系统的的哪一个部分?
84
总线的主要性能指标
总线带宽( B/S),单位时间内总线上可传送的数据量
总线位宽( bit),能同时传送的数据位数
总线的工作频率( MHz)
总线带宽 = (位宽 /8)?(工作频率 /每个存取周期的时钟数 )
85
四,8088系统总线
最小模式 —— 仅支持单处理器
最小模式下主要解决:
地址与数据的分离
地址锁存
电路实现方案
用 3片 8位的锁存器 8282实现地址锁存。 ALE为锁存控制信号,OE#≡0 使锁存的地址直接输出;
用 1片双向三态门 8286用作数据总线驱动和隔离,
DT/R#作为方向控制,DEN#作为开门信号;
其他控制信号由 8088直接产生。
86
最小模式下的连接示意图
8088
CPU
控制总线数据总线地址总线地址锁存数据收发器
ALE
时钟发生 器
3片 8282
DT/R#
DEN#
8286
87
最大模式
最大模式 —— 可支持多处理器
大多数控制信号是由 总线控制器 8288对 S0#,S1#、
S2#三个信号译码得到,如 DT/R#,ALE,DEN#、
IOR#,IOW#,MEMR#,MEMW#信号。 DB和 AB的构成基本同最小模式。
PC/XT机的总线采用了最大模式,但有三点区别:
地址总线驱动用 2个 74LS373和 1个 74LS244代替
3个 8282;
数据总线驱动用 74LS245代替 8286;
支持 DMA传送。
88
最大模式下的连接示意图
8088
CPU 数据总线地址总线地址锁存数据收发
ALE
时钟发生 器总 线控制器 控制总线
8282
8286
8288
S0#
S1#
S2#
89
常用接口芯片介绍
8282 / 74LS373 —— 具有三态正相输出的锁存器
p67图 2-34,内部包含 8个 D触发器
引脚:
DI0~ DI7 输入
DO0~ DO7 输出
STB 锁存信号
OE# 输出允许
功能:
STB = 1 锁存数据
OE# = 0 将锁存的数据输出
功能类似的还有 8283—— 但为反相输出
90
总线驱动器
8286 / 74LS245 —— 双向三态驱动器
引脚:
A0~ A7和 B0~ B7 双向数据线
OE# 输出允许
T 方向控制
功能:
OE#=0时,门导通;
门导通时,T=0,B→ A; T=1,A→ B
功能类似的还有 8287—— 但为反相输出
91
总线驱动器(续)
74LS244 —— 三态门驱动器(含 8个门)
引脚:
I1~ I8和 O1~ O8 输入线和输出线
E1#,E2# 使能信号,各控制 4个三态门
功能:
E1#=0,E2#=0,门导通,否则输出为高阻态
第 2章微型计算机基础
2
主要内容:
微型机的构成及工作原理
8088/8086 CPU的结构及工作原理
系统总线
3
§ 2.1 微型机的基本结构掌握,
微机系统的基本组成
微型机的工作原理
微机 8088的存储器组织
4
一,微型计算机 系统组成微型计算机系统的三个层次微处理器 (Microprocessor)
微型计算机 (Microcomputer)
微型计算机系统 (Microcomputer System)
5
微型计算机系统的三个层次微处理器存储器
I/O接口总线硬件系统软件系统微 型计算机系 统微 型计算机
(主 机 )
外 设
ALU
寄存器控制器键盘、鼠标显示器软驱、硬盘、光驱打印机、扫描仪系统软件应用软件
6
核心级 —— 微处理器
微处理器简称 CPU,是计算机的核心,
主要包括:
运算器 ALU
控制器 CU
寄存器组 Registers
CPU实现了运算功能和控制功能
7
硬件系统级 —— 微型计算机
以微处理器为核心,配上只读存储器 (ROM)、
读写存储器 (RAM)、输入 /输出 (I/O)接口电路及系统总线等部件,就构成了微型计算机。
将 CPU、存储器,I/O接口、总线等集成在一片超大规模集成电路芯片上,称为单片微型计算机,简称单片机。
8
系统级
以 微型计算机 为中心,配以相应的 外围设备 以及控制微型计算机工作的 软件,就构成了完整的微型计算机系统。
微型计算机如果不配有软件,通常称为 裸机
软件分为 系统软件 和 应用软件 两大类。
9
一、微型计算机的基本结构微处理器 ( CPU)
存储器输入 /输出接口总线
1,微型计算机的硬件系统
10
微型计算机的概念结构存储器
I/O
接口输入设备
I/O
接口地址总线 AB
输出设备
C
P
U
数据总线 DB
控制总线 CB
I/O
接口
AB,Address Bus
DB,Data Bus
CB,Control Bus
11
主机硬件系统 —— CPU
计算机的控制中心,提供运算、判断能力
构成,ALU,CU,Registers( p29)
例,Intel 8088/8086,PIII,P4,Celeron
AMD K7( Athlon,Duron)
CPU的位数,4位,8位,16位,32位,64位是指一次能处理的数据的位数
12
主机硬件系统 —— 存储器
存放 程序 和 数据 的记忆装置
用途:存放程序和要操作的各类信息(数据、文字、图像、。。。)
内存,ROM,RAM
特点:随机存取,速度快,容量小
外存:磁盘、光盘、半导体盘,…
特点:顺序存取 /块存取,速度慢,容量大
13
有关内存储器的几个概念
内存单元的地址和内容
内存容量
内存的操作
内存的分类
14
内存单元的地址和内容
内存包含有很多存储单元 (每个内存单元包含 8bit),为区分不同的内存单元,对计算机中的每个内存单元进行编号,内存单元的编号就称为内存单元的地址。
1 0 1 1 0 1 1 038F04H
内存单元地址内存单元内容
...
...
Bit 7 6 5 4 3 2 1 0
0 1 0 1 1 0 0 0
*内存单元有时又称为 地址单元
15
内存容量
即内存单元的个数,以字节为单位。
注意,内存空间 与 内存容量 的区别内存容量,实际配置的内存大小。例:某微机配置 2条
128MB的 SDRAM内存条,其内存容量为 256MB
内存空间,又称为存储空间、寻址范围,是指微机的寻址能力,与 CPU的地址总线宽度有关。
16
内存操作
读:将内存单元的内容取入 CPU,原单元内容不改变;
写,CPU将信息放入内存单元,单元中原内容被覆盖;
刷新:对 CPU透明,仅动态存储器有此操作
内存的读写的步骤为:
CPU把要读写的内存单元的地址放到 AB上
若是写操作,CPU紧接着把要写入的数据放到 DB上
CPU发出读写命令
数据被写入指定的单元或从指定的单元读出到 DB
若是读 操作,CPU紧接着从 DB上取回数据
17
内存储器的分类
读写存储器( RAM)
可读可写
易失性,临时存放程序和数据
只读存储器( ROM)
工作时只能读
非易失性,永久或半永久性存放信息
18
主机硬件系统 —— 输入 /输出接口
简写为 I/O接口,是 CPU与外部设备间的桥梁
CPU I/O接口 外设
19
接口的功能
提供驱动外设的电压或电流;
匹配计算机与外设之间的信号电平、
速度、信号类型、数据格式等;
缓存发给外设的数据、控制命令和外设提供的运行状态信息;
DMA控制和中断控制。
20
主机硬件系统 —— 总线 BUS
连接多个功能部件的一组公共信号线
地址总线 AB:用来传送 CPU输出的地址信号,确定被访问的存储单元,I/O端口。 地址线的根数 决定了 CPU的寻址范围 。
CPU的寻址范围 = 2n,n-地址线根数
数据总线 DB:在 CPU与存储器,I/O接口之间数据传送的公共通路。 数据总线的条数 决定 CPU一次最多可以传送的数据宽度。
控制总线 CB,用来传送各种控制信号
21
2,微型计算机的软件系统
软件:为运行、管理和维护计算机系统或为实现某一功能而编写的各种程序的总和及其相关资料。
系统软件应用软件操作系统编译系统网络系统工具软件软件
22
3.微型计算机的物理结构
CPU
北桥南桥
RAM
Cache
AGPCRT
BIOS
KBD,Mouse
串行 /并行接口
HDD/CDROM(IDE)
FDD
USB
PCI
ISA
前端总线 /CPU总线接口卡外设总线扩展槽
23
微型计算机的物理结构
24
INTEL 845GE
25
主板的主要硬件构成
CPU插座
芯片组(南北桥 /HUB)
内存插槽
高速缓存(现已集成到 CPU内部)
系统 BIOS,硬件控制
CMOS,存放硬件配置参数
总线扩展槽,PCI,ISA
串行、并行接口
软 /硬盘、光驱插座
26
芯片组
CPU的外围控制芯片,通常为 2片
两种架构:南北桥,HUB(加速中心)
南北桥
北桥 —— 提供 CPU/主存 /高速缓存的连接,AGP接口,PCI桥接
南桥 —— 提供 USB,IDE(FDD/HDD)、串 /并口及 ISA桥接等例如,Intel 440BX,VIA694(KT133)+686B,SiS 645等
HUB
GMCH—— AGP接口、存储器通道
ICH—— PCI桥接,IDE控制器,USB、串 /并口
FWH—— 系统 BIOS、显示 BIOS、随机数发生器例如,Intel 810,Intel 815,Intel845等
27
二、计算机的工作过程存储程序计算机 — 又称为 冯?诺依曼型计算机
以运算器为核心、以 存储程序原理 为基础
将计算过程描述为由许多条指令按一定顺序组成的程序,即程序是由多条有逻辑关系的指令组成,指令的长度不等(一般为 1~ 4字节)
数据和程序均以二进制代码的形式不加区别地存放在存储器中,存放位置由地址指定,地址码也是二进制形式
由控制器控制整个程序和数据的存取以及程序的执行指令驱动
28
存储程序计算机的工作原理
控制器按预先存放在计算机存储器中的程序的流程自动地连续取出指令并执行之。
运算器 输出设备控制器输入设备存储器指令流控制命令数据流
29
程序的执行过程程序指令 1
指令 2
指令 3
指令 4
指令 n
… …
取指令指令译码取操作数执行指令存结果指令周期操作码 操作数 执行
1。 CPU如何知道从哪里取出程序的第一条指令? —— 操作系统
2。 CPU如何按程序控制流执行指令? —— 程序计数器
3。 CPU如何知道从哪里取操作数? —— 地址、寻址方式
30
例:计算 5+8( p35)
汇编语言程序 对应的机器指令 对应的操作
------------------ --------------------- ---------------------------------------------
MOV AL,5 10110000 将立即数 1传送到累加寄存器 AL中
00000101
ADD AL,8 00000100 计算两个数的和,结果存放到 AL中
00001000
HLT 11110100 停机指令执行过程见下页图
31
指令执行过程 (取指 /译码 /执行 )
累加器 A
加法器数据寄存器 DR
指令寄存器 IR
指令译码器 ID
时序逻辑电路时序控制信号(控制命令)
1011 0000
0000 0101
0000 0100
0000 1000
1111 0100
内部总线存储器
0
1
2
3
4
程序计数器 PC
地址
MOV A,5
ADD A,8
HLT
地址总线
+1
③
地址译码器读写控制电路
④输出地址
1011 0000
⑦锁存指令锁存数据
⑥
置初值
① ②输出指令地址锁存地址②
读写命令⑤
⑧指令译码锁存输出地址寄存器 AR
32
§ 2.2 8088微处理器主要内容:
8088CPU外部引线及功能;
8088CPU的内部结构和特点;
各内部寄存器的功能;
8088的工作时序。
33
一、概述
8088,8086基本类似
16位 CPU,AB宽度 20位
差别:
指令预取队列,8088为 4字节,8086为 6字节
数据总线引脚,8088有 8根,8086有 16根
8088为准 16位 CPU,内部 DB为 16位,但外部仅为 8位,16位数据要分两次传送
本课程主要介绍 8088( IBM PC采用)
34
指令预取队列 (IPQ)
指令的一般执行过程:
取指令 指令译码 读取操作数执行指令 存放结果
35
串行工作方式:
8088以前的 CPU采用串行工作方式:
1) CPU访问存储器 (存取数据或指令 )时要等待总线操作的完成
2) CPU执行指令时总线处于空闲状态缺点,CPU无法全速运行解决:总线空闲时预取指令,使 CPU需要指令时能立刻得到取指令
1 执行 1
取操作数 2 执行 2CPU
BUS 忙碌 忙碌 忙碌 忙碌存结果
1
取指令
2
36
并行工作方式:
8088CPU采用并行工作方式取指令 2 取操作数BIU 存结果 取指令 3 取操作数 取指令 4
执行 1 执行 2 执行 3EU
BUS 忙碌 忙碌 忙碌 忙碌 忙碌 忙碌
37
8088的流水线操作
8088 CPU包括两大部分,EU和 BIU
BIU不断地从存储器取指令送入 IPQ,EU不断地从
IPQ取出指令执行
EU和 BIU构成了一个简单的 2工位流水线
指令预取队列 IPQ是实现流水线操作的关键(类似于工厂流水线的传送带)
新型 CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令
例如,PIII为 14个阶段,P4为 20个阶段 (超级流水线 )
38
结论
指令预取队列的存在使 EU和 BIU两个部分可同时进行工作,从而带来了以下两个好处:
提高了 CPU的效率
降低了对存储器存取速度的要求
39
8088/8086 CPU的特点
采用并行流水线工作方式
对内存空间实行分段管理:
每段大小为 16B~ 64KB
用段地址和段内偏移实现对 1MB空间的寻址
设置地址段寄存器指示段的首地址
支持多处理器系统;
片内无浮点运算部件,浮点运算由数学协处理器 8087支持(或用软件模拟)
注,80486DX以后的 CPU已将数学协处理器作为标准部件集成到 CPU内部
40
8088CPU的两种工作模式
8088可工作于两种模式:
最小模式和最大模式
最小模式 为单处理机模式,控制信号较少,一般可不必外接总线控制器。
最大模式 为多处理机模式,控制信号较多,CPU必须通过总线控制器与总线相连。
41
二,8088 CPU的引线及功能引脚定义的方法可大致分为:,
每个引脚只传送一种信息( RD等);
引脚电平的高低不同的信号( IO/M等);
CPU工作于不同方式有不同的名称和定义
( WR/LOCK 等);
分时复用引脚( AD7 ~ AD0 等) ;
引脚的输入和输出分别传送不同的信息
( RQ/GT等)。
42
主要引线(最小模式下)
8088是工作在最小还是最大模式由 MN/MX端状态决定,MN/MX=0时工作于最大模式,反之工作于最小模式。
数据信号线 (DB)与地址信号线 (AB):
AD7~ AD0,三态,地址 /数据复用线。 ALE有效时为地址的低 8位。地址信号有效时为输出,传送数据信号时为双向。
A19~ A16,三态,输出。高 4位地址信号,与状态信号
S6-S3分时复用。
A15~ A8,三态,输出。 输出 8位地址信号 。
43
主要的控制和状态信号
WR,三态,输出。写命令信号;
RD,三态,输出。读命令信号;
IO/M,三态,输出。指出当前访问的是存储器还是 I/O接口。高,I/O接口,低:内存
DEN,三态,输出。低电平时,表示 DB上的数据有效;
RESET,输入,为高时,CPU执行复位;
ALE,三态,输出。高,AB地址有效;
DT/ R,三态,输出。数据传送方向,高,CPU输出,
低,CPU输入
44
[例 ]:
当 WR=1,RD=0,IO/M=0时,表示
CPU当前正在进行 读存储器 操作。
45
READY信号 (输入 ):
用于协调 CPU与存储器,I/O接口之间的速度差异
READY信号由存储器或 I/O接口发出。
READY=0时,CPU就在 T3后插入 TW周期,插入的
TW个数取决于 READY何时变为高电平。
46
中断请求和响应信号
INTR,输入,可屏蔽中断请求输入端。
高:有 INTR中断请求
NMI,输入,非屏蔽中断请求输入端。
低?高,有 NMI中断请求
INTA,输出,对 INTR信号的响应。
47
总线保持信号
HOLD,总线保持请求信号输入端。当 CPU
以外的其他设备要求占用总线时,
通过该引脚向 CPU发出请求。
HLDA,输出,对 HOLD信号的响应。为高电平时,表示 CPU已放弃总线控制权,所有三态信号线均变为高阻状态。
48
三,8088CPU的内部结构
8088内部由两部分组成:
执行单元( EU)
总线接口单元( BIU)
49
执行单元 EU
功能,执行指令从指令队列中取指令代码 译码在 ALU中完成数据的运算 运算结果的特征保存在标志寄存器 FLAGS中。
50
执行单元包括算术逻辑单元(运算器)
8个通用寄存器
1个标志寄存器
EU部分控制电路
51
总线接口单元 BIU
功能:
从内存中取指令送入指令预取队列
负责与内存或输入 /输出接口之间的数据传送
在执行转移程序时,BIU使指令预取队列复位,从指定的新地址取指令,并立即传给执行单元执行 。
52
8088的内部寄存器
含 14个 16位寄存器,按功能可分为三类
8个通用寄存器
4个段寄存器
2个控制寄存器
53
通用寄存器数据寄存器( AX,BX,CX,DX)
地址指针寄存器( SP,BP)
变址寄存器( SI,DI)
54
数据寄存器
8088含 4个 16位数据寄存器,它们又可分为 8个 8位寄存器,即:
AX AH,AL
BX BH,BL
CX CH,CL
DX DH,DL
常用来存放参与运算的操作数或运算结果
55
数据寄存器特有的习惯用法
AX,累加器。多用于存放中间运算结果。所有
I/O指令必须都通过 AX与接口传送信息;
BX,基址寄存器。在间接寻址中用于存放基地址;
CX,计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;
DX,数据寄存器。在 32位乘除法运算时,存放高 16位数;在间接寻址的 I/O指令中存放
I/O端口地址。
56
地址指针寄存器
SP:堆栈指针寄存器,其内容为栈顶的偏移地址;
BP,基址指针寄存器,常用于在访问内存时存放内存单元的 偏移地址。
57
BX与 BP在应用上的区别
作为通用寄存器,二者均可用于存放数据;
作为基址寄存器,BX通常用于寻址数据段; BP则通常用于寻址堆栈段。
BX一般与 DS或 ES搭配使用
58
变址寄存器
SI,源变址寄存器
DI,目标变址寄存器
变址寄存器常用于指令的间接寻址或变址寻址。特别是在串操作指令中,用 SI
存放源操作数的偏移地址,而用 DI存放目标操作数的偏移地址。
59
段寄存器用于存放逻辑段的段基地址 (逻辑段的概念后面将要介绍 )
CS,代码段寄存器代码段用于存放指令代码
DS,数据段寄存器
ES,附加段寄存器数据段和附加段用来存放操作数
SS,堆栈段寄存器堆栈段用于存放返回地址,保存寄存器内容,
传递参数
60
控制寄存器
IP,指令指针寄存器,其内容为下一条要执行的指令的偏移地址
FLAGS,标志寄存器
状态标志:存 放运算结果的特征
控制标志:控制某些特殊操作
6个状态标志位 (CF,SF,AF,PF,OF,ZF)
3个控制标志位 (IF,TF,DF)
61
四、存储器寻址
物理地址
8088,20根地址线,可寻址 220(1MB)
个存储单元
CPU送到 AB上的 20位的地址称为 物理地址
62
物理地址物理地址,
.
60000H
60001H
60002H
60003H
60004H
.
.
.
12H
F0H
1BH
08H
存储器的操作完全基于物理地址。
问题:
8088的内部总线和内部寄存器均为 16位,
如何生成 20位地址?
解决:存储器分段
63
存储器分段高地址低地址段基址段基址段基址段基址最大 64KB,最小 16B段 i-1
段 i
段 i+1
64
逻辑地址
段基地址 和 段内 偏移 组成了 逻辑地址段地址 偏移地址 (偏移量 )
格式为:段地址,偏移地址物理地址 =段基地址× 16+偏移地址
60002H 00H
12H
60000H
0 0 0 0
段基地址( 16位)
段首地址
× × × × × ×
偏移地址
=0002H
65
BIU中的地址加法器用来实现逻辑地址到物理地址的变换
8088 可同时访问 4个段,4个段寄存器中的内容指示了每个段的基地址段基址段内偏移物理地址
+
16位
20位
0000
66
[例 ]:
已知 CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,
DS段有一操作数,其偏移地址 =0204H,
1)画出各段在内存中的分布
2)指出各段首地址
3)该操作数的物理地址 =?
10550H
250A0H
2EF00H
8FF00H
CS
SS
DS
ES
解,各段分布及段首址见右图所示。
操作数的物理地址为:
250AH× 10H+0204H = 252A4H
67
堆栈及堆栈段的使用
内存中一个按 FILO方式操作的特殊区域
每次压栈和退栈均以 WORD为单位
SS存放堆栈段地址,SP存放段内偏移,
SS:SP构成了堆栈指针
堆栈用于存放返回地址、过程参数或需要保护的数据
常用于响应中断或子程序调用
68
堆栈操作
SP
SS SS
压栈前 退栈后高低 低高 高
12H
SS
F0HSP
压栈后低高
SP
SP
SP F0H
12H
SP
69
[例 ]:
若已知( SS) =1000H
( SP) =2000H
则堆栈段的段首地址 =?
栈顶地址 =?
若现在把 1234H送入堆栈,则它所在的存储单元地址 =?
若该段最后一个单元地址为 2FFFH,则栈底地址 =?
段首栈底栈顶堆栈段
70
五、时序
时序的概念,CPU各引脚信号在时间上的关系。
总线周期,CPU完成一次访问内存 (或接口 )操作所需要的时间。
一个总线周期至少包括 4个时钟周期。
时钟周期:由时钟发生器产生。是计算机内部最小的时间单位,用 Ti表示。
71
§ 2.3 系统总线主要内容:
总线的基本概念和分类;
总线的工作方式;
常用系统总线标准。
72
一、概述
总线:
是 一组导线和相关的控制、驱动电路 的集合 。 是 计算机系统各部件之间传输地址、数据和控制信息 的 公共通道 。
地址总线( AB)
数据总线( DB)
控制总线( CB)
73
总线结构的优点
简化系统设计(模块化)
提高兼容性
便于扩充升级
便于维修
减低生产成本
74
总线分类
CPU总线,CPU其他部件系统总线:主机I/O接口外部总线:微机外设片内总线片外总线按相对
CPU的位置按层次结构
75
总线结构
单总线结构简单,但总线竞争严重
CPU
M M
I/O I/OI/O
76
多总线结构面向 CPU的双总线结构面向主存的双总线结构双总线结构多总线结构
77
二、总线技术 *
总线传输需要解决的问题:
传输同步 —— 协调通信双方的传输操作
同步、异步、半同步
总线仲裁 —— 消除多个设备同时使用总线造成的冲突现象
Master查询,Slave独立请求
出错处理
信号驱动
78
同步方式
同步传输 —— 用公共的时钟统一 各部件数据发送和接收的时机
异步传输 —— 用控制和状态信号协调 各部件数据发送和接收的时机
半同步 —— 用公共的时钟统一 控制和状态信号的产生时机(即控制和状态信号与时钟是同步的),但数据发送和接收的时机仍不固定
79
总线仲裁
用来决定某一时刻哪一个部件可以使用总线
集中控制 —— 统一由总线控制器进行控制
分散控制 —— 总线控制由各部件共同实现,
所有部件均按统一的规则来访问总线
80
总线仲裁 —— 集中控制
1)链式查询 —— 基本原理是:
部件提出申请( BR)
总线控制器发出批准信号( BG)
提出申请的部件截获 BG,并禁止 BG信号进一步向后传播
提出申请的部件发出总线忙信号( BS),
开始使用总线。总线忙信号将阻止其他部件使用总线,直到使用总线的设备释放总线
电路最简单,但优先级固定,不能改变
81
总线仲裁 —— 集中控制
2)计数器查询 —— 基本原理是:
需要使用总线的部件提出申请( BR)
总线控制器发出递增的设备地址
提出申请的设备检查设备地址,若与自己的地址匹配,就发出总线忙信号( BS),然后就可以使用总线
总线控制器根据检测到 BS信号时的设备地址就知道当前哪个设备使用了总线
调整设备地址发出的顺序即可改变优先级别
仲裁过程较慢
82
总线仲裁 —— 集中控制
3)独立请求 —— 基本原理是:
每个设备都拥有独立的总线请求线和总线应答线
总线控制器对所有的总线请求进行优先级排队,并响应级别最高的请求
得到响应的设备将占用总线进行传输
最常用,响应速度最快
PC机中使用的 8237 DMAC采用此种方式
83
三、常见的系统总线
ISA( 8/16位)
PCI( 32/64位)
AGP( 加速图形端口,用于提高图形处理能力)
自行查找资料,ISA,PCI,AGP分别位于系统的的哪一个部分?
84
总线的主要性能指标
总线带宽( B/S),单位时间内总线上可传送的数据量
总线位宽( bit),能同时传送的数据位数
总线的工作频率( MHz)
总线带宽 = (位宽 /8)?(工作频率 /每个存取周期的时钟数 )
85
四,8088系统总线
最小模式 —— 仅支持单处理器
最小模式下主要解决:
地址与数据的分离
地址锁存
电路实现方案
用 3片 8位的锁存器 8282实现地址锁存。 ALE为锁存控制信号,OE#≡0 使锁存的地址直接输出;
用 1片双向三态门 8286用作数据总线驱动和隔离,
DT/R#作为方向控制,DEN#作为开门信号;
其他控制信号由 8088直接产生。
86
最小模式下的连接示意图
8088
CPU
控制总线数据总线地址总线地址锁存数据收发器
ALE
时钟发生 器
3片 8282
DT/R#
DEN#
8286
87
最大模式
最大模式 —— 可支持多处理器
大多数控制信号是由 总线控制器 8288对 S0#,S1#、
S2#三个信号译码得到,如 DT/R#,ALE,DEN#、
IOR#,IOW#,MEMR#,MEMW#信号。 DB和 AB的构成基本同最小模式。
PC/XT机的总线采用了最大模式,但有三点区别:
地址总线驱动用 2个 74LS373和 1个 74LS244代替
3个 8282;
数据总线驱动用 74LS245代替 8286;
支持 DMA传送。
88
最大模式下的连接示意图
8088
CPU 数据总线地址总线地址锁存数据收发
ALE
时钟发生 器总 线控制器 控制总线
8282
8286
8288
S0#
S1#
S2#
89
常用接口芯片介绍
8282 / 74LS373 —— 具有三态正相输出的锁存器
p67图 2-34,内部包含 8个 D触发器
引脚:
DI0~ DI7 输入
DO0~ DO7 输出
STB 锁存信号
OE# 输出允许
功能:
STB = 1 锁存数据
OE# = 0 将锁存的数据输出
功能类似的还有 8283—— 但为反相输出
90
总线驱动器
8286 / 74LS245 —— 双向三态驱动器
引脚:
A0~ A7和 B0~ B7 双向数据线
OE# 输出允许
T 方向控制
功能:
OE#=0时,门导通;
门导通时,T=0,B→ A; T=1,A→ B
功能类似的还有 8287—— 但为反相输出
91
总线驱动器(续)
74LS244 —— 三态门驱动器(含 8个门)
引脚:
I1~ I8和 O1~ O8 输入线和输出线
E1#,E2# 使能信号,各控制 4个三态门
功能:
E1#=0,E2#=0,门导通,否则输出为高阻态