微机原理与接口_第二章(8086微处理器)

合集下载

微机原理与接口第2章 微处理器

微机原理与接口第2章 微处理器

2.2 8086/8088微处理器
INTEL8086是1978年推出的高性能16位CPU,它 内部结构规模小,采用传统的40引脚的双列直插式封 装,能与8087协处理器和8089 I/O处理器组成多处理 器系统,大大地提高了数据处理能力和I/O处理能力, 同时与8086配套的外围接口芯片十分丰富,使用户 在开发应用系统时十分的方便快捷.它的突出特点是: 丰富的指令系统; 多重寻址方式; 分段的存储器结构; 预取指令队列寄存器. 多级中断技术; 多重数据处理形式; 硬件乘除法运算电路;
2.1 微处理器概述
微处理器(Micro Processing Unit), 即微型化的中央处理器。中央处理器CPU 的英文全称是Central Processing Unit。 早期微处理器MPU表示,以区别于大型主机 的多芯片CPU。但现在已经不加区分,都用 CPU表示。中央处理器,是计算机的头脑, 90%以上的数据信息都是由它来完成的。它 的工作速度快慢直接影响到整部电脑的运 返回本节 行速度。
(1)4个段地址寄存器; CS——16位的代码段寄存器; DS——16 位 的 数 据 段 寄 存 器 ; ES——16位的扩展段寄存器; SS——16位的堆栈段寄存器;
( 2 ) 16 位的指令指针寄 存器IP; (3)20 位 的 地 址 加 法 器 ; ( 4 ) 6 字节的指令队列缓 冲器。
第五阶段(20世纪90年代开始):RISC(精简指令集 计算机)技术的问世使微型机的体系结构发生了重大变革。
2.1.1微处理器的性能描述
微处理器是组成计算机系统的核心部件。 它具有运算和控 制的功能。 具体地讲, CPU应具有下述基本功能: (1) 进行算术和逻辑运算; (2) 具有接收存储器和I/O接口来的数据和发送数据给存储器和I/O 接口的功能; (3) 可以暂存少量数据; (4) 能对指令进行寄存、 译码并执行指令所规定的操作; (5) 能提供整个系统所需的定时和控制信号; (6) 可响应I/O设备发出的中断请求。

最新微机原理及应用-第二章8086微处理器12-13-1教学讲义PPT课件

最新微机原理及应用-第二章8086微处理器12-13-1教学讲义PPT课件
状 溢出标志OF(Overflow Flag)——在算术运算中,带符号数的运算结果超出了8位或16位

带符号数能表达的范围,则OF=1,否则OF=0。
8位(字节)运算 --128 —— +127

16位(字) 运算 --32768 —— +32767
志 符号标志SF(Sign Flag)—— 结果的最高位(D15或D7)为1,则SF=1,否则 SF=0。
•遇到控制转移指令时,指令队列自动清空,BIU重新 将另一段指定程序的指令取到指令队列中。
10
EU和BIU并行工作
以前的CPU
取指令 执行指令 取指令 执行指令 取指令 执行指令 ……
8086/8088
BIU 取指令
取指令 取操作数
取指令 存操作数
EU 执行指令
执行指令
执行指令
……
EU和BIU既相互独立又相互配合,使得CPU可以在执行指 令的同时,进行取指令的操作,减少了CPU为取指令而等 待的时间,提高了CPU利用率。
• 指令队列
指令队列中包含若干个(8086—6个,8088—4个)8 位寄存器,用于顺 序存放从存储器中取出的指令,供执行单元执行。
• 总线控制逻辑
提供系统总线的控制信号,实现数据、地址和状态信息的分时传送。
• EU控制器
是控制、定时与状态逻辑电路。用于控制执行单元中各部件按制定的要
求协调工作。
7
一、8086CPU的组成与功能
4. 8086存储器结构
(1)存储器分体 将1M内存分为512K两个存储体,一个存储体中包含偶 数地址,称为偶存储体(存放低位字节),一个存储体 中包含奇数地址,称为奇存储体(存放高位字节)。

微机原理第2章课后答案

微机原理第2章课后答案

第2章8086微处理器及其系统教材习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么?在执行指令期间,EU 能直接访问存储器吗,为什么?【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。

执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。

寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。

总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。

每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。

EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。

2. 8086CPU与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。

3. 8086 CPU 中有哪些寄存器,各有什么用途?【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。

四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。

用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。

AX(AH、AL)累加器。

有些指令约定以AX(或AL)为源或目的寄存器。

实际上大多数情况下,8086的所有通用寄存器均可充当累加器。

BX(BH、BL)基址寄存器。

微机原理与接口技术-第2章-80868088微处理器

微机原理与接口技术-第2章-80868088微处理器

2.1.3 8088CPU的寄存器结构
含14个16位寄存器,按功能可分为三类: 8个通用寄存器 4个段寄存器 2个控制寄存器
AH BH
AL BL
AX BX 控制寄存器 指令指针 状态标志 IP FLAGS CS DS SS ES
AH CH
通 用 寄 存 器
AL CL AX CX BL DL BX DX CX DX
地址指针寄存器
SP:堆栈指针寄存器,其内容为栈顶的偏移地址; BP:基址指针寄存器,常用于在访问内存时存放内 存单元的偏移地址。
BX与BP在应用上的区别
作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,BX通常用于数据段,一般与DS 或ES搭配使用;BP则通常用于堆栈段,与SS搭配 使用。
变址寄存器
SI:源变址寄存器 DI:目标变址寄存器 变址寄存器常用于指令的间接寻址或变址寻址.
段寄存器
用于存放逻辑段的段基地址。 CS:代码段寄存器 DS:数据段寄存器 ES:附加段寄存器 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参 数。
指令指针寄存器
IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址;
2.1.2 8088CPU的存储器组织
物理地址
● 8088/8086:20根地址线,可寻址220(1MB)个存储单元。
● CPU送到AB上的20位的地址称为物理地址。
低地址
物理地址
. . 60000H 60001H 60002H 60003H 60004H . . .
段基址
F0H 12H 1BH 08H
段i-1
代码段
段基址 段i 段基址 段i+1 段基址
最大64KB, 最小16B

微机原理与接口技术第2章8086微处理器

微机原理与接口技术第2章8086微处理器

EU 控 制系统
执行单元 EU
指令队列 队列总线 (8位) 1 2 3 4 5 6
8088
总线接口 单元BIU
8086
8086 CPU 工作特点
8位微处理器的程序执行方式
8086程序的执行过程
BIU中的指令队列为FIFO. 6个中有2个以上为空闲时,BIU会自动把指令 放到指令队列中
2.1.2 8086 CPU 的寄存器配置
AD15~AD8 AD7~AD0
传输的字节
高低字节同时传送(从偶地址传 送一个字) 从奇数地址传送高字节
从偶数地址传送低字节 无操作 从奇地址传送一个字 第一次传送低8位(于奇地址) 第二次传送高8位(于偶地址)
2.存储器的分段结构
8086CPU的内部寄存器是16位的,寄存器直接寻址的 内存空间只能是64KB。8086是采用地址分段的方法 把1MB的存储空间分为若干段来使用,每段最多 64KB,在段内寻址仍可采用传统的16位地址寻址方 法。每个段不一定都是64KB,可以小于它,段与段 之间可以是连续的、分开的、部分重叠的,也可以是 完全重叠的。
① 状态(条件)标志:OF、SF、ZF、CF、AF、PF② 控 制标志位:DF、IF、TF。
① 条件码标志
条件码标志用来记录程序中运行结果的状态信息,它们是根据有关指令 的运行结果由CPU自动设置的。由于这些状态信息往往作为后续条件转 移指令的转移控制条件,所以称为条件码。
进位标志:CF,记录运算时最高有效位产生的进位 值。 符号标志:SF,记录运算结果的符号。结果为负时 置1,否则置0。 零标志: ZF,运算结果为0时ZF位置1,否则置0。
最大模式:多CPU模式,指系统中有两个或者两个以上的微处理器,其中 一个是主处理器8086,而其它的都是协处理器,控制信号是通过8288总线 控制器提供的。

《微机原理与接口技术》课件——第2章8086微处理器(2-1)

《微机原理与接口技术》课件——第2章8086微处理器(2-1)
15 0
15 0
二、寄存器结构
*
AX BX CX DX
AH
BH
CH
DH
AL
BL
CL
DL
通用寄存器
15 8 7 0
累加器
基址寄存器
计数寄存器
15 0
段寄存器
*
CS
DS
SS
ES
AX BX CX DX
SP
BP
SI
DI
AH
BH
CH
DH
AL
BL
CL
DL
累加器
基址寄存器
计数寄存器
数据寄存器
代码段寄存器
数据段寄存器
堆栈段寄存器
附加段寄存器
堆栈指针寄存器
基址指针寄存器
源变址寄存器
目的变址寄存器
IP
PSW
*
寄存器的作用 存放运算过程中所需要的操作数地址、操作数及中间结果。
寄存器的特点 存取速度比存储器快得多。
寄存器的分类
通用寄存器组 指针和变址寄存器 段寄存器 指令指针及标志位寄存器。
CS
DS
SS
ES
AX BX CX DX
SP
BP
SI
DI
AH
BH
CH
DH
AL
BL
CL
DL
累加器
基址寄存器
计数寄存器
堆栈段寄存器
附加段寄存器
堆栈指针寄存器
基址指针寄存器
源变址寄存器
目的变址寄存器
IP
PSW
指令指针寄存器
标志寄存器
指令指针和标志寄存器
指针和变址寄存器
段寄存器
通用寄存器

微机原理与接口技术_028086微处理器剖析

微机原理与接口技术_028086微处理器剖析
• 最小工作模式是 8086 CPU 最基本的配置,是单微处理 器系统。
– 1.时钟发生器8284 – 8086典型配置中有一个时钟发生器8284A,它的功能为:产生 系统的时钟信号,对准备信号READY及复位信号RESET进行同 步。 – 2.地址锁存器8282/8283 – 8282是8位地址锁存器,三态传输。它有8个输入端DI0~DI7和8 个输出端DO0~DO7。
2018/10/11
15
2.2.2 存储器分段
• •
1.分段 8086程序把1MB的存储空间看成为一组存储段,各段的 功能由具体用途而定,分别为代码段、堆栈段、数据段 和附加段。一个存储段是存储器的一个逻辑单位,其长 度可达64K字节,每个段都由连续的存储单元构成,并 是存储器中独立的、可分别寻址的单位。
2018/10/11
7
2.1.2 8086的外部结构
• • 1.引脚结构 8086 CPU芯片都是双列直插式集成电路芯片,40条引 脚,其中20条地址线和16条数据线复用,另4条地址线 与状态信号线复用,再加上控制信号、电源、地线等, 芯片的引脚比较多。40个引脚中,32个引脚在两种不同 的工作模式下的名称和功能是相同的,还有8个引脚在 不同的工作模式下,具有不同的名称和功能。
2018/10/11
8
• 2.引脚功能 • 1)地址总线和数据总线(21条) • (1)AD15~AD0:分时复用的地址数据线,双向,输 入/输出,三态。 • ( 2 ) A19/S6 ~ A16/S3 :地址 / 状态复用引脚,输出, 三态。 • (3)/S7:高8位允许/状态复用引脚,输出,三态。
– 2)控制标志位
• DF(Direction Flag)方向标志位 • IF(Interrupt Flag)中断允许标志位 • TF(Trap Flag)陷井标志位

微机原理第二章8086微处理器

微机原理第二章8086微处理器
▪ 表面上看来,微处理器的外部就是数量有限的输入输出 引脚。但是,正是依靠这些引脚与其它逻辑部件相连接, 才能组成多种型号的微型计算机系统。
▪ 这些引脚就是微处理器级总线。微处理器通过微处理器 级总线沟通与外部部件和设备之间的联系。这些总线及 其信号必须完成以下功能:
▪ (1)和存储器之间交换信息; ▪ (2)和I/O设备之间交换信息; ▪ (3)为了系统工作而接收和输出必要的信号,如输入
▪ 时钟信号输入端。19 CLK(输入) ▪ 8086和8088为5MHz。 ▪ 8086/8088的CLK信号必须由8284A时钟发生器产生。 ▪ 微处理器是在统一的时钟信号CLK控制下,按节拍进行
工作的。
2021/6/12
16
8086/8088微处理器——微处理器的引脚功能
▪ 工作方式控制线 33
指令执行示例
2021/6/12
1
第二章:8086/8088微处理器
1. 微处理器ห้องสมุดไป่ตู้结构 2. 微处理器的内部寄存器 3. 微处理器的引脚功能 4. 微处理器的存储器组织 5. 最大模式和最小模式 6. 微处理器的时序
2021/6/12
2
2021/6/12
▪ 存储器分段
▪ 由于CPU内部的寄存器都是16位的,为了
2021/6/12
7
第二章:8086/8088微处理器
1. 微处理器的结构 2. 微处理器的内部寄存器 3. 微处理器的引脚功能 4. 微处理器的存储器组织 5. 最大模式和最小模式 6. 微处理器的时序
2021/6/12
8
8086/8088微处理器——微处理器的引脚功能
▪ 一、微处理器的外部结构
时钟脉冲、复位信号、电源和接地等。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XXXXH×16+ 0000H~XXXXH×16+FFFFH
即一个段的最大为0000H~FFFFH=64K
4007FH
…… FFFFH
……
内存节、内存节与段地址的关系
任何一个段的段地址左移4位后,其最低4位都是0,例如 00000H、00010H、00020H、00030H…000F0H、00100H、 00110H、00120H、……F43D0H等都可假设为是一个段地址左 移4位后的结果。 大家观察,上面所列举的每相邻的两个地址编码之间的间 隔是多少个字节?
地址加法器,用于 产生20位物理地址。 假设CS=8200H, IP=1234H,则当 前指令所在内存的 物理地址为 83234H 内存
外设
从指令队列缓冲器取 出指令,进行译码, 产生各种控制信号, 控制各部件的工作
指令队列缓冲器用 于解决以往CPU取 指令期间,运算器 的等待问题
1、执行部件EU
2.1.2 8086的工作模式及引脚功能
1、8086的工作模式 8086CPU提供了两种工作模式:最小工作模式和最 大工作模式。工作在何种模式,将根据需要由硬件连接 决定。 •最小工作模式:系统中只有8086一个微处理器。在这种 系统中,所有的总线控制信号都直接由8086产生。系统 中总线控制逻辑电路最少。 •最大工作模式:系统中包括两个以上处理器,其中一个 8086做主处理器,其他处理器称为协处理器。与8086协 同工作的协处理器有用于数值运算的协处理器8087,输 入/输出协处理器8089。配置协处理器的系统,主处理器 不用处理费时的复杂运算和I/O设备服务,提高了主处理 器的运行效率。
(3)算术逻辑单元(ALU)
完成16位或者8位的算术逻辑运算。
(4)标志寄存器(Flag Register)
辅助进位标志(半 进位),字节运算 奇偶标志, 进位标志, 溢出标志,当 符号标志, 时低半个字节向高 若运算结 当加法最 运算结果超出 接受运算结 半个字节有进位或 果的低8位 高位产生 了机器所能表 果最高位的 操作数中 进位或减 借位时,AF=1 示的数的范围 值,当最高 有偶数个1, 法最高位 时,会产生溢 位为1时, 0标志,当 PF=1,否 产生借位 出,这时 SF=1,表示 运算结果为 则PF=0 时,CF=1, OF=1,否则 标志寄存器共有16位,其中7位未用,内容如下: 该数是负数 0时,ZF=1 否则CF=0 OF=0
3、总线接口部件和执行部件的管理
由于指令队列缓冲器的存在,实现了EU与输入/输出接口部件的 并行工作,从而提高了效率。总线接口部件与EU互相配合工作,其动 作有以下几方面管理原则: 当8086指令队列中有两字节空闲时,总线接口部件自动从内存中将 指令取到指令队列中, 每当EU要执行一条指令时,它就从指令队列头部取出指令,后续指 令自动向前推进。EU要花几个时钟周期执行指令。执行指令中若要访 问内存或I/O设备,
第二章 8086微处理器
8086的编程结构
8086的工作模式及引脚功能
最小模式系统
8086的操作和时序
8086的存储器及I/O组织
基础知识:8086字长为16位,内存空间为1M
2.1.1 8086的编程结构
编程结构是指从程序员和使用者的角度看到的结 构。 8086CPU由执行部件EU(Execution Unit)和总 线接口部件BIU(Bus Interface Unit)两部分组成 (如图所示)。
在8086中将1MB空间以16个字节为一个内存节,共分成64k 个节。每个节的首地址的最低4位都是0,例如从22480H—— 2248FH的内存空间即为一个内存节,这样的内存节的首地址的 高16位部分即可作为一个段的段地址,也就是说一个段的首地 址一定是某个内存节的首地址。
反过来说对么?
段寄存器
刚才提到,在8086中设有4个段寄存器 CS代码段寄存器(编写的程序代码需存放在内存中, 此时需要把其首地址的高16位存放在CS中,例如若CS值 为3000H,则意味着当前运行的程序存放在内存地址 30000H开始的单元中,) DS数据段寄存器(例如存放一个数组的数据,若 DS=2488H,则说明该数组存放在24880H开始的内存单元 中) 若某个段寄存器内容为23F0H,而 SS堆栈段寄存器 段的长度为64K,则其结束地址为: ES附加段寄存器 23F00H+07FFFH=2BEFFH
00001H
00003H
00005H
FFFFFH
64K 很明显,16位地址能够表示_____ 1/16 个单元,只占1M空间的_____,那么 00002H 剩下的单元我们该如何访问呢? 00004H 为了解决这一问题,在8086中对内存 采取了段式管理,共分4种段: 1.代码段(存放程序代码) 2.数据段(存放程序运行时所需数据) 3.堆栈段 FFFFEH 4.附加段(附加数据段)
0101 0000 1100 1010 + 0110 1101 0111 0010
则CF= PF= AF= ZF= SF= OF=
2、总线接口部件BIU
(1)段寄存器 8086CPU内部数据结构是16位,即所有的寄存器都是16位的, 而其外部寻址空间(即内存大小)为1MB,需要 ? 条地址线。 20 在寻址方式中经常用16位寄存器存放存储器地址
例如:
给定的某个逻辑段段地址为3008H,段内偏移地址为002FH, 则其对应的真正物理地址为:
3008H×16+002FH=300AFH
在内存中的实际存放为:
我们可以看出,在3008H段中,
30080H
…… 0000H 0001H …… 002FH …… ……
第一个单元的地址为30080H,即: 3008H×16+0000H=30080H 最后一个单元的地址为: 3008H×16+FFFFH=4007FH 因此,XXXXH段的地址范围为:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF
陷阱标志,用于单步操 根据功能,8086的标志分为条件标志和控制标志。条 方向标志,在串处理 中断允许标志, 作,TF=1时,每条指令执行后产 指令中,用于控制串处 IF=1时允许可 生陷阱,进入系统控制程序 件标志(6位)用于寄存程序运行的状态信号(由硬件根据 理的方向。当DF=0时, 屏蔽中断, 运算结果自动设定),这些标志往往用作后续指令判断的依 每次操作后变址寄存器 IF=0则禁止。 据;控制标志(3位)由软件设定,用于串处理的方向控制、 SI、DI自动增量,处理 该标志可由中 中断响应允许控制及单步陷阱控制。 方向由低地址向高地址; 断控制指令设 置或清除 当DF=1时自动减量。 该标志由方向控制指令 设置或清除
T状态
T1状态:CPU向地址总线上发送地址信息(如图所示) (若是取指令周期,则发送指令的地址,若是取操作数则送 操作数地址),指出要寻址的内存单元地址或I/O端口地址。 这期间CPU还要送出地址锁存信号ALE,在ALE的下降沿将 内存单元地址或I/O端口地址打入地址锁存器(因为地址与数 据总线是分时复用的) T2状态:CPU从总线上撤消有效地址,使地址总线低16 位呈高阻状态,为数据传输做准备。总线高4位(A19~A16) 输出总线周期的状态信息,用以表示中断允许状态及正在使 用的段寄存器名称。
有关溢出的判断方法
通常CF用于无符号数运算结果的溢出判断,而OF则用 于有符号数运算结果的溢出判断。若两个正数相加(或正数 减负数)结果为负,或两个负数相加(或负数减正数)结果 为正数,则OF=1;当正数与负数相加时不会产生溢出, OF=0。例如: 1100 1010 则CF= PF= AF= + 0111 1000 ZF= SF= OF=
指令指针寄存器IP
用于存放当前指令的偏移地址,该寄存器一定与代码 段寄存器结合使用 ……
CS 指令1 (2200H)
指令2
0000H(IP)
0001H 0002H
0003H
0004H 指令3 指令4 0005H 0006H 0007H
根据条件转 0008H 移到指令2
指令5 0009H 000AH
1
10 00 01 11 11 01 00 11 01 01
地 址 加 法 器 送 出 20 位 地 址 , 如
0 0 0 0 1 1
……
1
1 … … 1
地 址 译 码 器
87D35H
…… 87D35H ……
T状态
T3状态: A19~A16上状态信息不变,地址总线低16位上出现 CPU要写出的数据或准备读入的数据。若外设或内 存来不及与总线交换数据,以便在T4状态下结束该 总线周期,则应通过其自身的READY信号,在T3 前沿(下降沿)之前向CPU申请插入等待状态TW。 CPU在T3及TW的前沿查询READY信号,查到高电 平则结束等待状态,进入下一状态。否则继续插入TW。 T4状态:总线周期结束
(2)专用寄存器组
8086CPU除有4个16位的通用寄存器外,还有4个16 位专用寄存器,分别是:
基数指针寄存器BP(Base Pointer Register)
堆栈指针寄存器SP(Stack Pointer Register) 源变址寄存器SI(Source Index Register) 目的变址寄存器DI(Destination Index Register) BP、SP常用来指示相对于段起始地址的偏移量。BP 一般用于访问堆栈段任意单元,SP用于访问堆栈段栈顶 单元。SI、DI可用作寄存器间接地址、相对寻址、基址 变址寻址、相对基址变址寻址寄存器,访问数据段任意单 元。
EU就向总线接口部件申请总线周期,若BIU总线空闲,则立即响应; 若BIU正在取一条指令,则待取指令操作完成后响应EU的总线请求 当指令队列已满,EU又没有申请总线时,BIU进入空闲状态 当遇到转移、调用及返回指令时,自动清除指令队列缓冲器中已有 指令,从新地址开始,重新填充指令队列,以适应新的指令执行顺序
相关文档
最新文档