第2章INTEL80868088微处理器_第1页
第2章INTEL80868088微处理器_第2页
第2章INTEL80868088微处理器_第3页
第2章INTEL80868088微处理器_第4页
第2章INTEL80868088微处理器_第5页
已阅读5页,还剩96页未读 继续免费阅读

下载本文档

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

文档简介

主讲教师:XXX系部:XXXXXXXX微型计算机原理及应用1第2章Intel8086/8088微处理器2.18086/8088的编程结构2.28086/8088的工作模式和引脚功能2.38086/8088的总线操作和时序2.48086/8088的存储器组织和I/O组织2.5IBMPC/XT主机系统结构和工作原理2Intel8086/8088采用HMOS工艺制造,29000个晶体管、40引脚、双列直插式。数据总线:8086:16位,8088:8位。地址总线:20位,部分与数据线复用。内存空间:20位、直接寻址1MB空间。寻址方式:7种基本的寻址方式。

第2章Intel8086/8088微处理器8086/8088的主要特性:3指令系统:100条基本指令除能完成数据传送、算数运算、逻辑运算、控制转移和处理器控制功能外,内部还设有硬件乘除法与串处理指令电路。时钟频率:8088:4.7MHz/8086:5MHz/8086-2:8MHz。中断功能:内外部中断源多达256个。工作模式:支持单处理器、多处理器两种模式。第2章Intel8086/8088微处理器42.18086/8088的编程结构

8086编程结构如下页图所示,8086分为两个部分:1、总线接口部件

BIU(BusInterfaceUnit)2、执行部件EU(ExecutionUnit)编程结构:从程序员和使用者的角度来看的结构。520位外部总线8086的编程结构执行部件(EU)总线接口部件(BIU)标志运算寄存器ALUDSSSES输入/输出控制电路IPCS内部暂存器地址加法16位指令队列缓冲器8位16位CHDHDISPBPSIBHAHDLCLALBL123456执行部分控制电路通用寄存器6(1)功能:负责与M、I/O端口传送数据。

2.1.1、总线接口单元

BIU(BusInterfaceUnit)(2)组成 6字节(8086)或4字节(8088)的指令队列,

指令指针寄存器IP:IP为一个16位的寄存器,

20位的地址加法器 段寄存器:CS、DS、SS、ES

总线控制逻辑:处理器与外界总线联系的转接电路。 7

指令执行顺序顺序指令执行执行转移指令

2.1.1、总线接口单元

BIU(BusInterfaceUnit)(续)

(3)三点说明

指令队列8086为6个字节,8088的4个字节。8 内存单元的物理地址PA的产生过程2.1.1、总线接口单元

BIU(BusInterfaceUnit)(续)

9(2)组成:16位的运算器ALU:包括数据的算数/逻辑运算;16位的标志寄存器(PSW):9个标志位,其中6个条件标志位用于存放结果状态;暂存器:辅助ALU完成各种运算,暂存参与运算的数据;通用寄存器组:数据寄存器AX、BX、CX、DX,专用寄存器:BP、SP、SI、DI;EU控制电路:接受从总线接口单元的指令队列中取来的指令代码,对其译码和向EU内各有关部分发出时序命令信号。2.1.2、EU(ExecutionUnit)执行单元(1)功能:负责指令的译码和执行。10在一条指令的执行过程中可以取出下一条(或多条)指令,指令在指令队列中排队;在一条指令执行完成后,就可以立即执行下一条指令,减少CPU为取指令而等待的时间,提高CPU的利用率和整个运行速度。8086/8088微处理器:BIU和EU分开,取指和执行可以重迭,大大减少了等待取指所需的时间,提高CPU的利用率。重迭操作技术:一方面提高了整个执行速率,另一方面降低了与之相配的存储器的存取速度的要求。结论11对于8080与8085及较早的8位微处理器:程序执行由取指令和执行指令的循环来完成的,每条指令执行完后CPU必须等待到下条指令取出来后才能执行。8086/8088与早期处理器编程结构比较:12组成:通用寄存器:8个16位的通用寄存器,通用数据寄存器分别是AX、BX、CX和DX,它们通常可以用来存放16位的数据,这4个寄存器又可以分为8个8位寄存器来使用。通用地址寄存器分别是BP、SP、SI和DI,也因为其特殊用途被分别称为基址指针、堆栈指针、源变址寄存器、目的变址寄存器。2.1.3、

寄存器

功能:存放操作数地址、操作数及中间结果。13寄存器名

隐含性质

AX,AL在I/O指令中作数据寄存器在乘法指令中被乘数或乘积,在除法指令中存放被除数或商

不能隐含隐含

AH在LAHF指令中,作目的操作数寄存器

隐含

AL在XLAT指令作累加器

隐含

BX在间接寻址中作基址寄存器在XLAT指令作基址寄存器

不能隐含隐含

CX在循环指令和串操作指令中作计数器

隐含

CL在移位指令中作移位次数寄存器

不能隐含

DX在字乘法/除法指令中存放乘积高位/被除数高位或余数在I/O指令中作间接寻址寄存器

隐含不能隐含

SI在间接寻址中作变址寄存器在串操作指令中作为源变址寄存器

不能隐含隐含

DI在间接寻址中作变址寄存器在串操作指令中作为目的变址寄存器

不能隐含隐含

BP在间接寻址中作基址指针

不能隐含

SP在堆栈操作中作堆栈指针

隐含

寄存器的特殊用途14段寄存器:CS:代码段寄存器,用于存放正在或正待处理的一般代码段的起始地址的高16位。DS:数据段寄存器,用于存放正在或正待处理的一般数据段的起始地址的高16位。ES:附加数据段寄存器,用于存放正在或正待处理的附加数据段的起始地址的高16位。SS:堆栈数据段寄存器,用于存放正在或正待处理的堆栈数据段的起始地址的高16位。指令指针IP:IP指令指针,它的内容始终是下一条待执行指令的起始偏移地址,与CS一起形成下一条待执行指令的起始物理地址。2.1.3、

寄存器

(续)

15程序状态字PSW;16位程序状态字PSW,它有3个控制标志(IF、DF、TF)和6个状态标志(SF、PF、ZF、OF、CF、AF)。控制标志是用于控制CPU某方面操作的标志,状态标志是部分指令执行结果的标志。PSW寄存器的具体格式如图所示:

IF:中断允许标志,用于控制CPU能否响应可屏蔽中断请求,IF=1能够响应,IF=0不能响应。

2.1.3、

寄存器

(续)

16程序状态字PSW:

DF:方向标志,用于指示串操作时变址寄存器是增量变化还是减量变化,DF=1向地址减小的方向变化,DF=0向地址增加的方向变化。

TF:单步中断标志,TF=1程序执行当前指令后暂停,TF=0程序执行当前指令后不暂停。

SF:符号标志,指令执行结果的最高二进制位是0还是1,为0,则SF=0。代表正数;为1,则SF=1,代表负数。

PF:奇偶校验标志,用来表示指令执行结果的低8位中1的个数是奇数还是偶数,若为奇数个“1”则PF=0,若为偶数个“1”则PF=1。

2.1.3、

寄存器(续)

17

程序状态字PSW:

OF:有符号数的溢出标志,用来表示指令执行结果是否超出有符号数的表示范围,若超出则OF=1,否则OF=0。我们可以通过是否出现以下四种情况之一来判断溢出:正加正得负,正减负得负,负加负得正,负减正得正。若出现以上情况则OF=1,否则OF=0。

CF:进位/借位标志(无符号数的溢出标志),用来表示指令执行结果的最高位是否有向更高位进位或借位,若有则CF=1,同时也代表无符号数溢出;若无则CF=0,也代表无符号数无溢出。

AF:辅助进位/借位标志,低4位二进制是否有向高位进位或借位,若有则AF=1,否则AF=0,其主要用于BCD修正运算。

2.1.3、

寄存器(续)

18

PSW中标志位的符号表示

192.2.18086/8088的工作模式

2.28086/8088的工作模式和引脚功能最小模式:是指系统中只有8086或8088一个微处理器,所有总线控制信号均由CPU直接产生,在规模较小的系统中应用。最大模式:是指系统中包含两个或多个微处理器,其中主处理器是8086或者8088,其余为协处理器,系统的总线控制信号主要由总线控制器产生,最大模式用于中、大型的系统。

208086GNDAD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCAD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8088GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGND

VCCA15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET2.2.28086/8088的引脚功能(带括号的引脚功能为最大模式下的功能)

21

8086是40引脚双列直插式(DIP)封装,其引脚可分为5类:1、地址线(20位):AD0~AD15,A16~A19。其中AD0~AD15为地址/数据复用引脚,故为双向、三态;A16~A19为地址/状态复用引脚,输出、三态。此外,AD0还作为低8位数据选通信号使用2、数据线(16位):AD0~AD15,与低16位地址分时复用,双向、三态。2.2.28086/8088的引脚功能(续)

22无操作从指令队列的第一个字节取走代码队列空除第一字节外,还取走了后续字节的代码01010011含

义QS0QS13、状态线:

QS1、QS0:指令队列状态信息(用于最大模式),输出。这两个信号的不同组合指出了本总线周期的前一个时钟周期中指令队列的状态,以便外部对CPU内部指令队列动作的跟踪。QS1、QS0的代码组合及对应的含义见下表QS1、QS0的代码组合及对应的含义

2.2.28086/8088的引脚功能(续)

23

S2、S1、S0:总线周期状态信息(用于最大模式),输出。这三个信号的不同组合指出了本总线周期所进行的数据传输过程的类型。无源状态111写内存011读内存101取指令001暂停110写I/O端口010读I/O端口100发中断响应信号000总线操作类型S0S1S2表2.4S2、S1、S0的代码组合及对应的总线操作类型

2.2.28086/8088的引脚功能(续)

24

S6—S3:地址/状态复用引脚,输出。其中,S6用于表示当前8086是否与总线相连,S6=“0”表示当前8086连在总线上,由于在8086总线操作其间,它总是与总线相连的,故在每个总线周期的T2、T3、Tw和T4状态S6≡“0”。S5表明中断允许标志的当前设置,若S5=“0”,表示当前禁止响应可屏蔽中断请求,若S5=“1”,表示当前允许响应可屏蔽中断请求。S4、S3的组合指出当前正在使用哪个段寄存器,见下表

2.2.28086/8088的引脚功能(续)

25S4S3含义00当前正在使用ES01当前正在使用SS10当前正在使用CS或未使用任何段寄存器11当前正在使用DS表2.5S4、S3的代码组合及对应的含义

2.2.28086/8088的引脚功能(续)

26BHE/S7:高8位数据总线允许/状态复用引脚,输出。信号和AD0组合起来指出当前数据总线上的数据将以何种格式出现,这两个信号的代码组合及对应的数据格式见表2.6。2.2.28086/8088的引脚功能(续)

27AD15~AD8AD7~AD0

从奇地址开始读/写一个字(共占用两个总线周期,第一个总线周期将低8位数据送AD15~AD8,第二个总线周期将高8位数据送AD7~AD0)1

00

1AD15~AD8从奇地址单元或端口读/写一个字节10AD7~AD0从偶地址单元或端口读/写一个字节01AD15~AD0从偶地址开始读/写一个字00所用数据线

数据格式AD0BHE表2.6和AD0的代码组合及对应的数据格式

2.2.28086/8088的引脚功能(续)

28说明:对于8088,该引脚为:系统状态输出信号,用于8088的最小模式(在最大模式中SSO≡“0”),它与8088的和共同决定当前总线周期的操作类型,输出。具体规定见表。

表SSO、IO/M和DT/R的代码组合及对应的操作

2.2.28086/8088的引脚功能(续)

294、控制线

ALE:地址锁存信号,输出,用于最小模式。RD:读控制信号,输出,三态,用于最小模式。WR:写控制信号,输出,三态,用于最小模式。DEN:数据允许信号,输出,三态,用于最小模式。M/IO:存储器或I/O操作选择信号,输出,三态,用于8086最小模式。当M/IO=“1”时表明该总线周期是对存储器进行读/写操作,反之,当M/IO=“0”时表明该总线周期是对I/O端口进行读/写操作。2.2.28086/8088的引脚功能(续)

30DT/R数据收/发控制信号,输出,三态,用于最小式。当DT/R=“0”时,CPU从总线读入数据,反之,当DT/R=“1”时,CPU向总线写出数据。INDT:中断响应信号,输出,用于最小模式。RESET:复位信号,输入。READY:准备好信号,输入。NMI:非屏蔽中断请求信号,输入。2.2.28086/8088的引脚功能(续)

控制线(续)31INTR:可屏蔽中断请求信号,输入。

MN/MX:工作模式选择信号,输入。若使8086工作在最小模式,则MN/MX应接“1”,否则,MN/MX接“0”。

CLK:时钟信号,输入。

TEST:测试信号,输入,用于多处理器系统。2.2.28086/8088的引脚功能(续)

控制线(续)32RQ/GT1:总线请求/总线允许信号,双向,三态,用于最大模式。RQ/GT0:总线请求/总线允许信号,双向,三态,用于最大模式。LOCK:总线锁定信号,输出,三态,用于最大模式。5、供电线VCC:+5V直流工作电压。GND:接地端。2.2.28086/8088的引脚功能(续)

338086/8088引脚功能区别:

8088与8086除了内部指令队列长度不同外,在引脚上还有三点区别:

1、外部数据总线的宽度不同。8086为16位(AD15—AD0);8088线为8位(AD7—AD0)。2、第28引脚不同。8086和8088的第28引脚为M/IO信号定义相反3、第34引脚不同。8086的第34引脚为BHE/S7,8088的第34引脚为SSO,在最小模式下的功能已如前述,在最大模式该引脚恒为“1”。

342.2.38086/8088的最小模式

1、

8086/8088最小模式的典型配置

当8086/8088的第33引脚MN/MX接高电平(或直接接+5V)时,系统工作于最小模式,即单处理器模式,它适用于较小规模的应用。以8086为例,其最小模式的典型系统结构如图2.5所示见下页。图中8284A为时钟发生器,8282为地址锁存器,8286为数据总线收/发器。35图2.58086最小模式的典型系统结构

36该CPU系统以8086为核心,外部晶体振荡器产生的振荡信号经8284分频后,作为主频信号CLK提供给8086,外部来的准备好信号READY和复位信号RESET也经8284A整理后送往8086。

8086的20位地址信号A19~A16,AD15~AD0,以及高位字节允许信号,在地址锁存信号ALE控制下经8282锁存后输出,即为地址总线。

8086的16位数据线AD15~AD0在8286的控制下可以进行双向数据传送,即为数据总线。工作原理说明:2.2.38086/8088的最小模式(续)

372、主要外围芯片的功能时钟发生器及其与CPU的连接:时钟发生器8284A的引脚功能及其与8086/8088的连接如图2.6所示。图2.68284A的引脚功能及其与8086/8088的连接

2.2.38086/8088的最小模式(续)

38地址锁存器及其与CPU的连接:地址锁存器可使用8282、8283或74LS244、74LS273、74LS373等,它们的内部逻辑及引脚特性如图2.7所示。与8086/8088的连接见最大、最小模式CPU系统结构图。图2.78282、8283、74LS244的内部逻辑及引脚特性

2.2.38086/8088的最小模式(续)

39数据总线收/发器及其与CPU的连接:数据总线收/发器可使用8286、8287(或74LS245),它们的内部逻辑及引脚特性如图2.8所示。与8086/8088的连接见最大、最小模式CPU系统结构图。图2.88286、8287的内部逻辑及引脚特性

2.2.38086/8088的最小模式(续)

402.2.48086/8088的最大模式

1、8086/8088最大模式的典型配置

当8086/8088的第33引脚MN/MX接低电平(或直接接地)时,系统工作于最大模式,

即多处理器模式,它适用于中、大型规模的应用。以8086为例,其最大模式的典型系统结构见下页,图中8288为总线控制器。工作原理说明:

为了给系统的应用留有余地,有时即使暂时只用了一个处理器也将其接成最大模式。最小模式和最大模式的主要区别在于控制信号的产生,由图2.5和图2.9可知,最小模式下的控制信号是由CPU直接产生的,而在最大模式,控制信号由总线控制器8288产生。引脚上,第24~第31(8088还有第34)引脚的功能在两种模式下是不同的。

41图2.98086最大模式的典型系统结构

422、多处理器系统

8086/8088的最大模式系统通常为多处理器系统,其中必有一个主处理器8086或8088,其余为协处理器。常用的8086/8088系列协处理器有数值协处理器8087和输入/输出协处理器8089,由它们组成的多处理器系统如图2.10所示。

图2.10典型多处理器系统结构

2.2.48086/8088的最大模式(续)

433、总线控制器、协处理器及其与8086/8088的连接8288是20引脚的DIP芯片,采用TTL工艺,其内部结构及外部引脚见图2.11。图2.118288的内部结构与外部引脚2.2.48086/8088的最大模式(续)

44

8288的引脚信号分为三组:一组为输入状态和控制信号,二组为命令输出信号,三组为输出的总线控制信号。S2、S1、S0:总线周期状态,输入,来自CPU。CLK:时钟信号,输入,来自8284A。AEN:总线允许信号,输入,来自总线仲裁逻辑。

CEN:控制信号允许,输入,来自总线仲裁逻辑。

IOB:总线方式控制端,输入,来自外部硬件。ALE:地址锁存信号,输出,去锁存器。

MCE/PDEN:总线主模块/局部总线允许控制信号,输出,去系统其它部件。

DEN:数据允许信号,输出,去数据总线收/发器。

DT/R:数据收/发控制信号,输出,去数据总线收/发器。

INTA:中断响应信号,输出,去中断控制器。

2.2.48086/8088的最大模式(续)

45AIOWC:I/O端口提前写信号,输出,去I/O接口。IOWC:I/O端口写信号,输出,去I/O接口。IORC:I/O端口读信号,输出,去I/O接口。AMTC:存储器提前写信号,输出,去存储器。MWTC:存储器写信号,输出,去存储器。MRDC:存储器读信号,输出,去存储器。2.2.48086/8088的最大模式(续)

46图2.128087引脚图

472.38086/8088的总线操作和时序

2.3.18086/8088总线周期的概念1、T状态:

相邻两个脉冲之间的时间间隔,称为时钟周期,又称T状态(T周期)。每个T状态包括:下降沿、低电平、上升沿、高电平。CLKT482.3.28086/8088的总线操作和时序(续)

1、系统的复位和启动操作

8086/8088的复位和启动是由引脚上的RESET信号触发的,触发时要求该信号至少维持4个时钟周期的高电平,如果是上电复位,则要求该信号至少维持50μs的高电平。49复位时各内部寄存器的初值寄存器名称初值标志寄存器(PSW)清零指令指针(IP)0000HCS寄存器FFFFHDS寄存器0000HSS寄存器0000HES寄存器0000H其它寄存器0000H指令队列空

50由表可见,复位时,代码段寄存器CS和指令指针IP的值分别被初始化成FFFFH和0000H。因此,8086/8088启动后从内存的FFFF0H处开始执行指令。一般在FFFF0H处放一条无条件转移指令,转移到系统程序的入口处。

复位时,标志寄存器被清零。

在时序上,RESET信号从高到低的跳变会触发CPU内部一个复位逻辑电路,经过7个时钟周期之后,CPU就被启动而进入正常工作,即从FFFF0H处开始执行程序。复位时序见下页图。

复位时各内部寄存器的初值51图2.148086/8088的复位时序

528086/8088复位时总线信号的状态532、总线操作

8086/8088在与存储器或I/O端口交换数据时需要执行一个总线周期,这就是总线操作。按照数据传输的对象,可分为存储器操作和I/O操作;按照数据传输的方向,可分为读操作和写操作。一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4,在存储器和外设速度较慢时,要在T3之后插入一个或几个等待状态TW。

1)8086最小模式下的总线读/写周期时序:见下图

2.3.28086/8088的总线操作和时序(续)

54图2.158086最小模式下的总线读周期时序

2.3.28086/8088的总线操作和时序(续)

55图2.168086最小模式下的总线写周期时序

2.3.28086/8088的总线操作和时序(续)

56

T1状态:CPU输出存储器单元或I/O端口的地址信息,并且从ALE引脚输出地址锁存信号,在ALE的下降沿将20位地址锁存到地址锁存器的输出端。BHE信号也在T1状态有效,表示高8位数据总线上的信息可以使用,该信号与地址一起被锁存。DT/R输出低电平,表示本总线周期为读周期。

T2状态:地址信号消失,AD15~AD0变为高阻状态(也叫浮空),为读入数据作准备;A19/S6~A16/S3以及BHE/S7切换为状态信息;DEN引脚输出有效的低电平,使数据线选通;RD引脚输出低电平的读信号,送到被地址信息选中的存储器或I/O接口芯片。2.3.28086/8088的总线操作和时序(续)

57T3状态:被选中的内存单元或I/O端口将数据送到数据总线上,CPU通过AD15~AD0接收数据。TW状态:当存储器或外设的工作速度较慢,从而不能用基本的总线周期完成读操作时,系统自动插入等待状态。T4状态:在T4和前一个状态交界的下降沿处,CPU对数据总线进行采样,从而读入数据,同时撤消有关控制信号。至此,一个完整的读总线周期结束。

2.3.28086/8088的总线操作和时序(续)

582)最大模式下总线读/写周期时序:

图2.178086最大模式下的总线读周期时序

图2.188086最大模式下的总线写周期时序

2.3.28086/8088的总线操作和时序(续)

59与最小模式下的读时序不同之处在于:由CPU输出读操作的状态信号给总线控制器8288,即若为存储器读、、代码为101,若是读I/O端口,则、、代码为001;控制信号ALE、、、及DEN均由8288输出;特别要注意的是,这时的存储器读和I/O读是独立的两条信号线,并且,数据允许信号DEN是高电平有效,系统中需经反相后接到数据总线收/发器的使能端。

2.3.28086/8088的总线操作和时序(续)

60与最小模式下的写时序相比,最大模式的写时序中,由CPU输出写操作的状态信号给总线控制器8288,即若为存储器写、代码为110,若是写I/O端口,则代码为010;控制信号ALE及DEN均由8288输出;特别要注意的是,这时的存储器写和I/O写是独立的两条信号线,并且,数据允许信号DEN是高电平有效,系统中需经反相后接到数据总线收/发器的使能端;还有一点需要说明,在最大模式下,8288输出的写信号有4个,除了正常写信号外,还有提前写信号,它比普通的写信号超前了一个时钟周期,这样,速度较慢的设备或存储器就可以得到一个额外的时钟周期提前执行写操作。

2.3.28086/8088的总线操作和时序(续)

613、中断操作和时序

8086/8088有一个强有力的中断系统,能处理256种中断源,每个中断源对应一个中断类型码,所以256种中断对应的中断类型码为0~255。CPU响应中断时,是通过中断类型码取得对应的中断向量,从而找到中断服务程序入口的。由于中断类型码也是通过数据总线传输的,因此,响应中断的操作也是总线操作。8086/8088的中断响应占用连续的两个总线周期如图2.19所示。其中前一个总线周期通知接口准备好类型码,后一个总线周期接口将中断类型码通过数据总线传送给CPU。

2.3.28086/8088的总线操作和时序(续)

62图2.198086的中断响应总线周期

63应当指出:8088与8086在总线操作上有两点差别。第一,在最小模式下,用于区别存储器读写还是I/O读写的信号线不同。8086和8088二者电平正好相反。第二,8088只有8条线为地址/数据复用,因此,A15~A8在每个总线周期的T1到T4其间都传送地址信息。

8086与8088的总线操作差别642.48086/8088的存储器组织和I/O组织2.4.18086/8088的存储器组织1、存储器的标准结构

8086/8088CPU有20条地址线,可直接寻址1MB的存储空间。微机的存储器通常按字节组织排列成一个个单元,每个单元有一个唯一的地址码,这称为存储器的标准结构。一个8位的数据(称为一个字节—1Byte)存储一个16位的数据(称为一个字—1Word)存储规则字,低位字节放在低偶地址单元,高位字节放在较高奇地址单元非规则字,高位字节放在低偶地址单元,低位字节放在高奇地址单元

65对于8086而言,存取一个规则字,只需要一个总线周期,而存取一个非规则字,就需要两个总线周期才能完成。

8086系统中,1MB的存储空间实际上被分成两个512KB的存储体或称为存储库,分别叫做高位库和低位库。高位库的数据线与8086CPU系统的高8位数据总线AD15~AD8相连,库中每个单元的地址均为奇数;低位库的数据线与8086CPU系统的低8位数据总线AD7~AD0相连,库中每个单元的地址均为偶数。信号作为高位库的选择信号接到高位库的选择端;地址线A0作为低位库的选择信号接到低位库的选择端。如图2.20所示。所以,高8位数据总是对应奇地址,而低8位数据总是对应偶地址。

2.4.18086/8088的存储器组织(续)

66

图2.208086存储器与总线的连接

672、

存储器的分段

8086/8088系统中1MB的存储单元按照00000H~FFFFFH来编址。但CPU的内部寄存器都是16位的,显然用寄存器不能直接对1M字节的内存空间进行寻址,为此引入了分段、物理地址和逻辑地址的概念。1)分段的实现:

8086/8088中将1MB内存分为若干个段(称为逻辑段),每个段最多包含64KB。8086/8088CPU设置了4个段寄存器(CS、DS、SS、ES),段的位置不受任何限制,段与段之间可以是连续的,可以是间断的,也可以是部分重叠的,甚至可以是完全重叠的。

2.4.18086/8088的存储器组织(续)

68图2.218086/8088的存储器分段示例

2.4.18086/8088的存储器组织(续)

692)实际地址和逻辑地址:

实际地址(也称物理地址)是指CPU和存储器进行数据交换时所用的地址,对8086/8088来说,是用20位二进制或5位十六进制表示的地址码。

2.4.18086/8088的存储器组织(续)

逻辑地址是指产生实际地址所用到的两个地址分量:段地址和偏移量,它们都是用无符号的16位二进制或4位十六进制表示的地址码。段地址就是段寄存器的内容,即段起始地址的高16位;偏移量是段内某单元相对于段起始地址的距离。702)实际地址的形成:

当CPU访问任何一个存储单元时,可由下式计算该单元的实际地址:实际地址=段地址×10H+偏移量

这个地址的计算工作由CPU内部总线接口部件中的20位地址加法器来完成。如图2.2所示。例如,某存储单元的段寄存器内容为2400H,段内偏移量为0053H,则其实际地址为:2400H×10H+0053H=24053H

2.4.18086/8088的存储器组织(续)

71

CPU与外部设备之间是通过I/O接口电路或接口芯片进行联络从而传递信息的。每个接口芯片上都有一个或几个用于寄存信息的寄存器,称为端口,这些寄存器和存储单元一样都有唯一确定的地址,称为端口地址。

2.4.28086/8088的I/O组织

72统一编址:指将I/O端口地址置于存储器空间中,和存储单元统一编址。对I/O端口有两种编址方式:

2.4.28086/8088的I/O组织(续)

覆盖编址:也称单独编址或独立编址。指将I/O端口单独编为一个地址空间,指令系统中设置专门的输入/输出指令。73

Intel8086/8088的I/O端口就是采用覆盖编址方式,它使用20位地址中的低16位地址A15~A0对I/O端口进行寻址,因此,最多可访问64K个8位I/O端口或32K个16位I/O端口,任何两个相邻的8位端口可以组成1个16位的端口。I/O端口的寻址方式也有两种:即直接寻址和DX间接寻址方式,详见指令系统部分。

2.4.28086/8088的I/O组织(续)

742.5IBMPC/XT主机系统结构和工作原理IBMPC/XT是16位机时代最流行的微机系统,它以Intel8088CPU为核心。

IBMPC/XT微机系统的硬件是一块约8.5英寸×12英寸的四层印刷电路板(主机板)、接口卡及其连接的外部设备。

75

主板上有四路电源:+12V、-12V、+5V和-5V。主机板与外部连接包括电源插头、一个连接键盘的5芯插座及一个连接扬声器的3针插座。其它外设均通过插在主机板扩展槽上的I/O适配器(接口卡)与主机系统相连。主机板上有8个62芯扩展槽,分别为J1~J8,当系统需要扩展时,可以在任何一个扩展槽上插上相应的适配器,如磁盘驱动器适配器、打印机适配器、串行通信适配器等。IBMPC/XT系统主机板元器件物理位置简化图见下页图2.22。

2.5IBMPC/XT主机系统结构和工作原理(续)

76图2.22IBMPC/XT系统主机板元器件物理位置简化图77

IBMPC/XT系统主板的电路原理框图如图2.23所示。图2.23IBMPC/XT系统主机板电路原理框图

78IBMPC/XT系统主机板上的电路可划分为四大功能子系统:CPU子系统、I/O接口子系统、存储器子系统和PC总线子系统。2.5IBMPC/XT主机系统结构和工作原理(续)

792.5.1

CPU子系统

CPU子系统是整个机器系统的控制核心,负责管理全部的软、硬件资源,按规定时序完成要求的任务。它以8088微处理器为核心,配接必要的外围器件,它们包括时钟发生器8284A、地址锁存器74LS244、数据总线收/发器74LS245、总线控制器8288,需要时还可插入协处理器8087。

2.5IBMPC/XT主机系统结构和工作原理(续)

802.5.2

I/O接口子系统

I/O接口子系统是CPU子系统与相应外设的界面,它包括以下接口芯片和接口电路。2.5IBMPC/XT主机系统结构和工作原理(续)

1、接口芯片:

可编程并行接口芯片8255A-5:是一个具有3个8位并行端口的芯片,3个端口的作用分配为:端口A(PORTA)用作读取键盘的扫描码;端口B(PORTB)用作输出系统内部的一些控制信号;端口C(PORTC)用作读取系统配置开关的状态。

8255A-5的外部连接见下页图2.24。

81图2.248255A-5的外部连接

其中DIP为系统配置开关,其状态位置和系统配置之间的对应关系如下:82

开关1:OFF——普通工作方式,ON——循环自检方式。

开关2:OFF——系统中有8087,ON——系统中无8087。

开关4开关3系统板上的RAM容量

ONON64KONOFF128KOFFON192KOFFOFF256K开关6开关5显示器适配板的类型

ONON未插显示器适配板

ONOFF40×25型的彩色图形适配板

OFFON80×25型的彩色图形适配板

OFFOFF单色显示器适配板开关8开关7系统配备软盘驱动器个数

ONON1个软盘驱动器

ONOFF2个软盘驱动器

OFFON3个软盘驱动器

OFFOFF4个软盘驱动器83中断控制器8259A:

可管理8个中断源。在IBMPC/XT系统中,8259A用于管理可屏蔽中断。8个中断请求的使用情况如表。

IBMPC/XT系统中,8259A各中断请求输入端的使用情况

2.5IBMPC/XT主机系统结构和工作原理(续)

84定时器/计数器8253-5:是一个含有3个16位定时器/计数器的集成芯片。这3个通道的作用分别为:通道0(CH0):为系统时钟提供恒定的时间基准;通道1(CH1):为DMA的CH0产生DRAM刷新的定时信号;通道2(CH2):用作产生扬声器的基音调。

2.5IBMPC/XT主机系统结构和工作原理(续)

85图2.258253-5在IBMPC/XT系统中的连接和使用8253-5在IBMPC/XT系统中的连接和使用情况。86DMA控制器8237A-5:

是一片可以管理4个DMA通道,实现CPU不干预的I/O设备和内存之间进行直接高速数据传送的大规模集成电路芯片。4个通道的作用分配如下:通道0(CH0):用作DRAM刷新;通道1(CH1):为用户保留;通道2(CH2):给软盘驱动器使用,控制软盘与内存之间的数据传输;通道3(CH3):给硬盘驱动器使用,控制硬盘与内存之间的数据传输。以上接口芯片的片选信号是由一个以74LS138为核心的译码电路产生的,如下页图2.26所示。

2.5IBMPC/XT主机系统结构和工作原理(续)

87图2.26接口芯片的译码电路

由图可见,当CPU控制总线时,,若此时A9=A8=0,则74LS138处于允许状态,它根据地址信号A7、A6、A5进行译码,在的某一端输出一个低电平信号,从而选中某一个接口芯片。地址低5位A4—A0作为对接口电路内部寄存器的选择信号。

88IBMPC/XT系统中各接口芯片所对应的端口地址如表2.11所示。表2.11接口芯片所对应的端口地址

2.5IBMPC/XT主机系统结构和工作原理(续)

892、接口电路

IBMPC/XT系统中只有键盘和扬声器的接口在主板上,其余外设均通过插在扩展槽中的适配卡(适配器)与主机连接。·键盘接口电路:它通过主板后方的5芯DIN插座与键盘相连。该接口每当接收到一个完整的键盘扫描码时,就通过中断控制器8259A的中断请求端口向CPU发一次中断请求,以使CPU执行相应功能。·扬声器接口:在主板上有一个4芯的连接器(CN8),其中的两条线是扬声器的连接线,另外两条与电源指示灯相连。

2.5IBMPC/XT主机系统结构和工作原理(续)

90

Intel8086/8088有20位地址线,因此直接寻址空间为1MB。,存储空间分为3个区域:RAM区、ROM区和保留区,如图2.27所示。2.5.3存储器子系统图2.27IBMPC/XT系统的内存分配911、RAM存储区

IBMPC/XT系统中,RAM最大容量为640KB。系统板上安装的RAM只有256KB,分为4个体,每个体由9片64K×1的动态RAM4164构成,其中8片用于组成每个单元的8位数据,第9片是奇偶校验位。系统板上也可以安装64KB、128KB或192KB的动态RAM,这些变动都可以按手册规定通过对DIP开关(SW4、SW3)的设置和系统板上的跨接线的设置来实现。IBMPC/XT系统板上的RAM结构如下页图2.28所示。

图2.28中,74LS245为数据总线收/发器,74LS158为4路2选1数据选择器,74S280为奇偶位发生/校验器,D触发器74LS74作为奇偶校验触发器。是RAM数据选通信号,和分别为存储器读信号和存储器写信号,是RAM校验允许信号,ADDRSEL是地址选通信号。~、~分别为4164的行地址选通和列地址选通信号,它们由专门的电路产生。

2.5.3存储器子系统(续)92图2.28IBMPC/XT系统板上的RAM结构

932、ROM存储区

8086/8088加电后从FFFF0H开始执行程序,在

温馨提示

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

评论

0/150

提交评论