第二章 8086

合集下载

第2章-8086微处理器part2

第2章-8086微处理器part2

8086 CPU在最小模式中引脚定义
M/#IO:Memory/Input & Output,三态输出
存储器或I/O端口访问信号 。指示8086的访问对象,发 给MEM或I/O接口。 M/# IO为高电平时,表示 当前CPU正在访问存储器;
M/# IO 为低电平时,表 示当前CPU正在访问I/O端 口
数据驱动器数据流向控制信 号,输出,三态。
在8086系统中,通常采用 74LS245、8286或8287作 为数据总线的驱动器,用 DT/#R信号来控制数据驱动 器的数据传送方向。 当DT/#R=1时,进行数据 发送; 当DT/#R=0时,进行数据 接收。
8086 CPU在最小模式中引脚定义
READY:准备就绪信号 由外部输入,高电平有效 ,表示CPU访问的存储器 或I/O端口己准备好传送 数据。 当READY无效时,要求 CPU插入一个或多个等待 周期Tw,直到READY信 号有效为止。
S3 0 1 0 1
当前正在使用的段寄存器 ES SS CS或未使用任何段寄存器 DS
8086 CPU在最小模式中引脚定义
#BHE/S7:高8位总线允许(Bus High Enable)
T1:指示高8位数据总线上的数据 是否有效 (#BHE:AD0)配合:00时读写字 ,01时读写奇地址字节,10时读写 偶地址字节 其他T周期:输出状态信号S7(S7 始终为逻辑1,未定义) DMA方式下,该引脚为高阻态。
最大模式引脚信号(续)
LOCK# :总线封锁(优先权锁定) 三态输出,低电平有效。 LOCK有效时表示CPU不允许其它总线主控者占用 总线。 ห้องสมุดไป่ตู้ 这个信号由软件设置。 • 当在指令前加上LOCK前缀时,则在执行这条 指令期间LOCK保持有效,即在此指令执行期 间,CPU封锁其它主控者使用总线。 在保持响应期间,LOCK#为高阻态。

【教学课件】第2章 8086微处理器

【教学课件】第2章  8086微处理器

控制 电路
局部总线 接口
SYSB/RESB
1
20
2
19
3
18
4
17
5
8289 16
6
15
7
14
8
13
9
12
10
11
INIT
BCLK BREQ BPRN BPRO BUSY CBRQ
总线仲裁 信号
AEN
V CC S1 S0 CLK
LOCK
CRQLCK ANYRQST
AEN CBRQ BUSY
2021/8/17
DEN CEN
INTA IORC AIOWC IOWC
2021/8/17
23
2.总线仲裁控制器8289
仲裁电路
状态
S2
信号
S1
S0
状态 译码器
多路总线 接口
控制 输入
LOCK CLK
CRQLCK
RESB ANYRQST
IOB
S2 IOB
RESB BCLK INIT BREQ BPRO BPRN
GND
数据总线
2021/8/17
S0
S1
S2
INTR R Q / G T0
R Q / G T1
8288 总线控制器
IN T A
8259A 及有关电路
控制总线 中 断 请 求
22
1.总线控制器8288
状态
S2
信号
S1
S0
状态 译码器
控制 输入
CLK
AEN CEN IOB
控制 电路
命令 信号 发生器
控制信号 发生器
2.3.1 最小模式和最大模式的概念

第二章 8086体系结构

第二章  8086体系结构

8086微处理器概览
标志位寄存器(FR) • 16位标志位寄存器FR,共有9个
标志位。其中6个是状态标志位, 3个是控制标志位,用于反映 CPU运行过程中的某些状态特征。
标志位寄存器
3、标志寄存器FR
标志寄存器FR中共有9个标志位,可分成两类: ➢状态标志 表示运算结果的特征,它们是 CF、PF、AF、 ZF、SF和OF ➢控制标志 控制CPU的操作,它们是IF、DF和TF。
IP :BIU要取指令的地址。
IP
三、8086CPU的管脚及功能
8086是16位CPU。它采用高性能的N— 沟道,耗尽型负载的硅栅工艺(HMOS)制 造。由于受当时制造工艺的限制,部分管 脚采用了分时复用的方式,构成了40条管 脚的双列直插式封装
1、 8086的两种工作方式
最小模式:系统中只有8086一个处理器,所有的控制信号都 是由8086CPU产生(MN/MX=1)。
最大模式:系统中可包含一个以上的处理器,比如包含协处 理器8087。在系统规模比较大的情况下,系统控 制信号不是由8086直接产生,而是通过与8086配 套的总线控制器等形成(MN/MX=0)。
三总线结构 数据线DB 地址线AB 控制线CB
微机的三总线结构
➢ 最小模式下的引脚说明
( 1 ) AD15 ~ AD0 (Address Data Bus):
堆栈指针用于存放栈顶的逻辑偏移地 址,隐含的逻辑段地址在SS寄存器中。
寄存器的特殊用途和隐含性质
在指令中没有明显的标出,而这些寄存器参 加操作,称之为“隐含寻址”。
具体的:在某类指令中,某些通用寄存器有指 定的特殊用法,编程时需遵循这些规定,将某些 特殊数据放在特定的寄存器中,这样才能正确的 执行这些指令。采用“隐含”的方式,能有效地 缩短指令代码的长度。

第二章 8086微处理器

第二章 8086微处理器

第二章8086/8088微处理器及其系统结构内容提要:1.8086微处理器结构:CPU内部结构:总线接口部件BIU,执行部件EU;CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器;CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。

2.8086微机系统存储器结构:存储器地址空间与数据存储格式;存储器组成;存储器分段。

3.8086微机系统I/O结构4.8086最小/最大模式系统总线的形成5.8086CPU时序6.最小模式系统中8086CPU的读/写总线周期7.微处理器的发展学习目标1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;2.理解存储器读/写时序;3.了解微处理器的发展。

难点:1.引脚功能,最小/最大模式系统形成;2.存储器读/写时序。

学时:8问题:为什么选择8088/8086?•简单、容易理解掌握•与目前流行的P3、P4向下兼容,形成x86体系•16位CPU目前仍在大量应用思考题1、比较8086CPU与8086CPU的异同之处。

2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU?起什么作用?4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情况下置位?5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用?6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物理地址是多少?思考题1.从时序的观点分析8088完成一次存储器读操作的过程?2.什么是8088的最大、最小模式?3.在最小模式中,8088如何产生其三总线?4.在最大模式中,为什么要使用总线控制器?思考题1.试述最小模式下读/写总线周期的主要区别。

第二章-8086微处理器

第二章-8086微处理器

答案:A
思考题
8086/8088的状态标志有 A)3 B)4 C)5 答案:D 个。 D)6
思考题
8086/8088的控制标志有 A)3 B)4 C)5 答案:A 个。 D)6
三、引脚信号和功能(图2-5 )
8086总线周期的概念: 为了取得指令或传送数据,就需要CPU的总线接 口单元(BIU)执行一个总线周期。 一个最基本的总线周期由4个时钟周期组成。 习惯上将4个时钟周期分别称为4个状态,即T1状 态、T2状态、T3状态和T4状态。 图2-17
2.方向标志DF(Direction Flag) 用于串操作指令中的地址增量修改(DF =0)还是减量修改(DF=1)。 STD使DF=1 CLD使DF=0
(三)标志寄存器-控制标志(续)
3.跟踪标志TF(Trap Flag) 若TF=1,则CPU按跟踪方式(单步方式) 执行程序,否则将正常执行程序。
思考题
指令队列的作用是 A)暂存操作数地址 。 B)暂存操作数
C)暂存指令地址
D)暂存预取指令 答案:D
思考题
8086的指令队列的长度是 A)4个 B)5个 C)6个 D)8个 字节。
答案: C
思考题
8088的指令队列的长度是 A)4个 B)5个 C)6个 D)8个 字节。
答案:A
思考题
第二章 8086/8088微处理器
8086/8088微处理器的结构 8086/8088典型时序分析

简 介
8086:16位微处理器 数据总线宽度16位:可以处理8位或16位数据 地址总线宽度20位:可直接寻址1MB存储单元和 64KB的I/O端口 8088:准16位处理器 内部寄存器及内部操作均为16位,外部数据总线8位 8088与8086指令系统完全相同,芯片内部逻辑结构、芯片引 脚有个别差异。 设计8088的目的主要是为了与Intel原有的8位外围接口芯片 直接兼容

第2章8086微处理器

第2章8086微处理器

第2章 8086微处理器
BIU与EU的动作协调原则:
总线接口部件(BIU)和执行部件(EU)按以下流水 线技术原则协调工作,共同完成所要求的信息处理任务.
①每当8086的指令队列中有两个空字节,BIU就会自 动把指令取到指令队列中。其取指的顺序是按指令在程 序中出现的前后顺序。
②每当EU准备执行一条指令时,它会从BIU部件的 指令队列前部取出指令的代码,然后用几个时钟周期去 执行指令。在执行指令的过程中,如果必须访问存储器 或者I/O端口,那么EU就会请求BIU,进入总线周期, 完成访问内存或者I/O端口的操作;如果此时BIU正好处 于空闲状态,会立即响应EU的总线请求。如BIU正将某 个指令字节取到指令队列中,则BIU将首先完成这个取指 令的总线周期,然后再去响应EU发出的访问总线的请求 。
第2章 8086微处理器
③ 算术逻辑单元ALU
它是一个16位的运算器,可用于8位或16位二进制算术 和逻辑运算(与、或、非),也可按指令的寻址方式计算 寻址存储器所需的16位偏移量。
④ 数据暂存寄存器
它协助ALU完成运算,暂存参加运算的数据。
第2章 8086微处理器
⑤ EU控制电路
从总线接口的指令队列取出指令操作码,通过译码 电路分析,发出相应的控制命令,控制ALU数据的流 向。如果是运算操作,操作数经过暂存寄存器送入 ALU,运算结果经过ALU数据总线送到相应的寄存器 ,同时标志寄存器PSW根据运算结果改变状态。
图2-1 8086CPU实物图
8086 CPU是Intel公司1987年推出的一种 高性能的16位微处理器,是第三代微处理器的 代表。它有16根数据线和20根地址线,所以 可寻址的地址空间是220=1MB,内部总线和 ALU全部为16位,可以进行8位和16位操作。

第二章 8086系统

第二章  8086系统
通过本章的学习,应该掌握以下内容:
8086/8088微处理器的结构及指令执行的操作 过程 8086/8088微处理器的寄存器组织、存储器组 织、I/O组织、堆栈 8086/8088在最小模式下引脚功能 8086/8088微处理器在最小模式下的典型配置 8086的操作时序
第二章
8086/8088系统结构
2、物理地址和逻辑地址 8086系统中的每个存储单元在1M内存空间中的位 置可以用2个形式的地址来表示。 物理地址(实际地址、绝对地址)和逻辑地址。
物理地址:是用唯一的20位二进制数所表示的地 址,规定了1M字节存储体中某个具体单元的地址 。 CPU与存储器之间进行信息交换都需要提供的地 址,范围00000H—FFFFFH。
BP作基址寻址 SS 一般数据存取 源字符串 目的字符串 DS DS ES
5、8086存储器的分体结构 由于访问存储器的操作类型不同,BIU所使用的逻辑 地址来源也不同。 (1)存储体
15 00001 00003 00005 512KB× 8(位) 奇地址存储体 (A0=1) 512KB× 8(位) 偶地址存储体 (A0=0) 8 7 0 00000 00002 00004
数据DS、ES:存放数据和运算结果; 堆栈段SS:用来传递参数,保存数据和状态信息。
CS IP
0000
代码段
DS或ES
0000
数据段
SI、DI或BX
SS
0000 SP或BP
堆栈段 存储器
段寄存器和偏移地址寄存器组合关系
存储器分段的好处 (1)使指令系统中的大部分指令仅涉及16位偏移 地址,减少了指令长度,提高了程序的执行速度。 (2)为程序在内存中的浮动分配创造了条件。由 于程序可以浮动地装配在内存任何一个区域。这 使得多道程序和多任务程序能充分使用现有的存 储器容量。

第2章8086CPU的原理

第2章8086CPU的原理

(2)DS:数据段段寄存器,在数据段寻址时,与BX、SI、DI 合用。 (3)SS:堆栈段段寄存器,在栈操作时,与SP合用对栈顶数据进 行存取。在对栈中数据存取时与BP合用。 (4)ES:附加数据段段寄存器,在串操作时,存放目标串,与DI 合用。也可以用来存放数据。 2 标志寄存器FLAGS FLAGS是16位寄存器,包含9个标志,标示CPU的状态和某些操 作特性。
其中:AH、AL寄存分别表示AX寄存器的高8位和低8位,如下图: 1Fh AH 50h AL AX
AH=1Fh AL=50h AX=1F50h
但AH和AL都可以作为8位的寄存器独立使用, 如 MOV BL,AH 指令执行后, BL=1Fh
其余的8位寄存器如上所述。 8086的4个数据寄存器,通常都是用来存储供CPU处理的数据或 保存结果的,但在特定的场合里,它们又有自己的特殊用途。 (1)AX、AL---累加器:在乘法、除法和符号扩展指令中,有一 个操作数预先放在累加器中;在I/O操作时,通过它CPU与接口交 换数据。累加器也是所有寄存器中执行速度最快的。
IF 中断允许标志: IF 的值决定CPU是否响应外部的可屏蔽中断。 当 IF=1 时,CPU可以响应外部的可屏蔽中断,否则相反。IF 的值 由专门的指令控制,即:STI 指令置 IF=1 CLI 指令置 IF=0 当 IF=0 时,CPU不能屏蔽非屏蔽中断和CPU内部中断。 TF 跟踪标志: TF=1 时,CPU进入单步程序执行方式,TF的控 制没有专用的指令,要通过其它方式设置。
图(3.5)8086/8088的引脚信号
最小方式 用于单个微处理器组成的系统,由8086产生系 统所需的全部控制信号。 最大方式 用于多处理器系统中,8086不直接提供控制信 号 。

第2章 8086微处理器与汇编语言——汇编语言

第2章 8086微处理器与汇编语言——汇编语言

段定义伪指令SEGMENT/ENDS

格式:
段名 SEGMENT [定位类型][组合类型][‘类别 ’]
(段体)
段名 ENDS

功能: 定义一个逻辑段并赋予一个段名。
表达式与运算符

表达式
表达式由常量(数值常量、符号常量、字符常量); 变 量; 操作符(分析操作符、综合操作符)和运算符(算术 运算符、逻辑运算符、关系运算符)组成。


运算符
算术运算符 —— + , - , * , / , MOD。
MOV DX , BLOCK+(6-1)﹡2 该指令语句等价于 MOV DX , BLOCK+10

指令语句
能产生目标代码, CPU可以执行, 完成特定功能的语句, 由 CPU指令组成。

指示语句(伪指令语句)
不产生目标代码, 仅是为汇编程序作指示的语句。
语句的格式
语句格式为: • 标号:是某指令代码存放单元的符号地址,标号后 [名字] 〈助记符〉 [操作数] [;注释] 必须有一个冒号“:”
利用存储器传送当主子程序在同一个模块中时子程序可直接访问模块中的变量利用寄存器传送如果传送的数据较少可把传送的数据直接放在寄存器中传送进入子程序后首先要保护主程序的运行状态标志位和使用的寄存器内容称为保护现场退出子程序前要恢复现调用前要预先定义好入口参数和出口参数参数传递可利用寄存器存储单元或堆栈要用bp寻址

逻辑运算操作符

AND(逻辑与) OR(逻辑或) XOR(逻辑异或) NOT(逻辑非)



它们只能用于数字表达式中
逻辑运算操作符应用之例
IN AL , PORT_VAL OUT PORT_VAL AND 0FEH , AL 当端口号PORT_VAL为偶数时, 输出端口号与之相同;

第2章8086微处理器

第2章8086微处理器

第2章8086微处理器第二章8086微处理器基本内容:8086的编程结构,8086的工作模式和引脚信号,8086在最小模式下的典型配置,8086 的总线操作和时序。

重点内容:8086的编程结构,8086的工作模式(最小模式),8086的引脚信号,8086的总线周期。

难点内容:8086的编程结构,8086的存储器组织及分段概念。

基本要求:掌握8086的存储器,编程结构,理解存储器分段概念,掌握物理地址形式用法,掌握信息的分段存储和段寄存器间的关系,理解8086/8088的引脚定义和两种组织模式(最大模式和最小模式),了解8086的系统总线结构,了解8086/8088的典型操作过程。

讲课过程:简单介绍CPU概念,功能,从而引出8086CPU,为讲述学习方便,之前要先补充存储器的结构(即分段概念)及数据在存储器中的存放,而后再讲述8086的编程结构,工作模式,引脚定义,之后介绍总线操作时序和最小模式的典型配置。

微处理器(Microprocesser)也称为CPU(中央处理器单元),负责微机的运算和控制功能,是微机的核心,CPU的性能从根本上决定着微机的功能性能。

常见的CPU有Pentium MMX,赛扬,赛扬Ⅱ,PⅢ,P4,雷鸟,速龙等,在性能价格上,各有千秋,较早的CPU 还有80286,80386等,其中8086在各CPU具有典型的意义,所以我们本书将以8086为核心来讲述。

8086是16位CPU,16位数据线,20位地址线。

在学习之前,有必要掌握数据信息在计算机中的存放及存储器的概念,在此我们做为补充内容。

第一节存储器一、存储器单元的地址及信息存放计算机存储信息的基本单元是一个二进数位,0、1,每8个位组成一个字节位,编号MSB,低八位为为了正确存放或取得信息,每一个字节单元给出一个存储器地址,用16进制表示,如图所示:每个存储单元中存放的信息为该存储单元的内容,如0000H 0004H单元中存放的信息为34H,即04单元内容为34H 0001H 记为(0004H)=34H 即同一地址既是字节地址又是0002H 字地址。

2.第二章 8086系统结构

2.第二章 8086系统结构

总线接口部件BIU SI:(Source Index):SI含有源地址意思,产 生有效地址或实际地址的偏移量。 总线接口部件BIU内部设 有四个16位段地址寄存器: DI:(Destination Index):DI含有目的意思, 代码段寄存器CS、数据段寄 产生有效地址或实际地址的偏移量。 存器DS、堆栈段寄存器SS和 播 音 附加段寄存器ES,一个16位 : 指令指针寄存器IP,一个6字 16位字利用了9位。 标志分两类: 节指令队列缓冲器,20位地 状态标志(6位):反映刚刚完成的操作结果情况。 址加法器和总线控制电路。
志(结果低8 CLC(复位), 位1的个数 CMC(求反)。 为偶数 PF=1) 。
15
14
13
12
11
10
9
8
3
2
1
0
OF DF IF TF
SF ZF
AF
PF
CF
DF:方向标志 .DF=1使串 操作按减地址进行,DF=0按 增地址进行。指令: CLD(复位), STD(置位).
TF:陷阱标志或单步操作标志 IF:中断允许 标志 图 2-6 8086CPU标志寄存器 目录
通用寄存器(数据寄存器) : AX 累加器 BX 基址寄存器 CX 计数寄存器 DX 数据寄存器
SP BP SI DI
IP
地址指针和变址寄存器: SP 堆栈指针寄存器 BP 基址指针寄存器 SI 源变址寄存器 控制寄存器: DI 目的变址寄存器 IP 指令指针寄存器
FLAGS
CS DS SS ES
段寄存器: CS 代码段寄存器 DS 数据段寄存器 SS 堆栈段寄存器 ES 附加段寄存器
EU 总线 忙
执行1 忙
执行2 忙

计算机原理_2 8086微处理器

计算机原理_2 8086微处理器

READY RDY1 AEN1 RDY2 AEN 2
3 复位信号产生 输入RES经过斯密特触发器分频以后,在时钟同频下产生RESET信号 送给CPU的RESET引脚,进行复位。 通常有以下两种情况会产生硬件复位信号: a 电源开关打开 b 按下机箱上的Reset按钮 电路如下所示:
例:CS的内容是89ABH,IP 的内容是0201H,则生成的地
址是89AB0H+0201H=89CB1H


20位的地址加法器 段地址左移4位+偏移量 → 20位的实际物理地址 段地址*16+偏移量 → 20位的实际物理地址 6个字节的指令队列

执行部件(EU)

16位的算术逻辑单元ALU 4个16位的通用寄存器 AX,BX,CX,DX,它们又可以分成8个8位的寄存器使用 AH,AL,BH,BL,CH,CL,DH,DL AL AH 4个16位的专用寄存器 SP——堆栈指针寄存器 BP——基址指针寄存器 SI ——源变址寄存器 DI ——目的变址寄存器
(二)时钟发生电路8284A 1 产生时钟信号 OSC 内部时钟同频信号 CLK 内部时钟三分频信号,占空比1/3 PCLK 内部时钟六分频信号,占空比1/2 CSYNC 外部时钟的同频信号 X1、X2 外接晶体,供内部振荡器产生震荡频率 EFI 外接时钟入端 F/C 时钟输入选择 PC机中14.31818MHz的外接晶体 CLK=4.77MHz 2 准备就绪信号 ASYNC为低电平时,表示READY输出时插入一个时钟周期延时。
三、常用的数据管理方式


LIFO FIFOቤተ መጻሕፍቲ ባይዱ
1
2
堆栈:按照后进先出(LIFO)的原则组织的存储器空间(栈)。

第02章8086微处理器

第02章8086微处理器
在其它时钟周期,输出为状态信号S7。 但8086芯片, S7未定义。
第02章8086微处理器
下面介绍引脚中的控制信号。 4. MN/MX最小/最大模式控制信息
高电平— 8086处于最小模式。 低电平— 8086处于最大模式。
5. RD读信号 (输出,三态) 低电平有效。表示将对内存或I/O端口
读操作。
中断允许标志IF(Interrupt-enable Flag):
IF=1,允许CPU响应外部的可屏蔽中断请 求;IF=0则禁止响应。IF对外部非屏蔽中 断及内部中断不起作用。
第02章8086微处理器
方向标志DF(Direction Flag):
在串操作指令中,DF=0时,变址指针自 动增量,DF=1时,则自动减量。
当队列中有两个以上的指令字节空的时候, BIU会自动地执行总线操作,继续取指令。
在执行指令时,如要取操作数,则也由BIU从
内存或I/O接口指定区域取出,送给EU部件去
执行。
第02章8086微处理器
二、EU部件 由ALU、通用寄存器、标志寄存器和
控制电路组成,负责指令的执行。ALU、寄 存器和数据传输通路均是16bit的。
OF。
进位标志CF(Carry Flag):
当结果的最高位(字节-D7,字-D15)产生 进位(加法运算)或借位(减法运算)时,CF=1; 否则,CF=0,移位和循环指令也影响CF。
第02章8086微处理器
奇偶标志位PF(Parity Flag):
若结果中的低8位含有“1” 的个数为偶数, 则PF=1;否则,PF=0。
第02章8086微处理器
2. 地址/状态信号线A19/S6~A16/S3(输出、三态)
在总线周期的第一个时钟周期(T1)用于输出 地址信号的最高4bit并锁存。 其它时钟周期中用来输出状态信号S6~S3, 其中: S6——低电平,表示8086当前与总线相连。

第2章 8086 微处理器及其系统结构

第2章  8086 微处理器及其系统结构

8086的寄存器组
对汇编语言程序员来说,8086内部结构就是
可编程的寄存器组
执行单元EU 8个通用寄存器 1个指令指针寄存器 1个标志寄存器 4个段寄存器
标志寄存器
标志(Flag)用于反映指令执行结果或控制
指令执行形式 8086处理器的各种标志形成了一个16位的标 志寄存器FR(标志寄存器的内容称为程序状 态字PSW)
用于串操作指令中,控制地址的变化方向:
设置DF=0,存储器地址自动增加; 设置DF=1,存储器地址自动减少。
CLD指令复位方向标志:DF=0
STD指令置位方向标志:DF=1
中断允许标志IF(Interrupt-enable Flag)
用于控制外部可屏蔽中断是否可以被处理器
响应:
设置IF=1,则允许中断; 设置IF=0,则禁止中断。
写一个字节(字)的时间。 时钟周期(Clock Cycle):基本定时脉冲的两个沿之 间的时间间隔,是CPU的最小时间单位。 T状态(Tstate):一个基本时钟周期又称T状态。 基本总线周期:4个T状态
8086CPU的两种模式

最小模式
MN/MX接+5V
构成小规模的应用系统,只有8086一个微处理器, 所有的总线控制信号均为8086产生,系统中的总线控
制逻辑电路,减少到最少。

最大模式
MN/MX接地。 用于大型(中型)8086/8088系统中,系统总是包含有
两个或多个微处理器,其中一个主处理器就是8086或 8088,其它的处理器称协处理器,协助主处理器工作。 需要总线控制器来变换和组合控制信号。

若运算结果为0,则ZF = 1; 否则ZF = 0 注意:ZF为1表示的结果是0 3AH + 7CH=0B6H,结果不是零:ZF = 0

第二章 8086微处理器及其系统

第二章 8086微处理器及其系统

T3状态 :
----- 总线低16位上出现CPU要写出的数据或准备读入的数据。
T4状态 :
----- 总线周期结束,若为总线读周期则在T4前沿将数据读入CPU。
8086CPU的引脚及功能
在最小模式和最大模式下的通用引脚:
1. GND(地)和Vcc电源。Vcc引脚接+5V电源, GND引脚接地。
2. AD15~AD0(Address Data Bus)地址/数据复用引脚,双向、三态。
表2-1 S3、 S4代码组合的意义
BHE 0 1 0 1 0
A0 0 0 1 0 1
操作 从偶地址开始读/写一个字 从偶地址读/写一个字 从奇地址开始读/写一个字
所用的数据线 AD15~AD0 AD7~AD0 AD15~AD8 AD15~AD8 AD7~AD0
从奇地址开始读/写一个字
(第一个总线周期) (第二个总线周期)
指针和变址寄存器
● BP( Basic Pointer Register)基址指针寄存器 ● SP(Stack Pointer Register)堆栈指针寄存器 ● SI(Source Index Register)源变址寄存器 ● DI(Destination Index Register)目的变址寄存器
3. 指令指针寄存器(IP) ----- 又称程序计数器,是16位寄存器。
4. 指令队列缓冲器 ----- 是一个与CPU速度相匹配的高速缓冲寄存器。 5.总线控制逻辑 ----- 是CPU外部三总线(AB、DB、CB)的控制电路,它控制CPU与 其他部件交换数据、地址、状态及控制信息。
总线接口部件和执行部件的管理
表2-2 BHE 与 A0 信号的意义
5. NMI(Non-Maskable Interrupt) 非屏蔽中断请求引脚,输入。

第2章 8086微机原理PPT课件

第2章 8086微机原理PPT课件
Signal),音频信号(Audio Signal)以及图像处理(Graphical Manipulation)而设计的57条指令; ✓ MMX CPU极大地提高了电脑的多媒体(如立体声、视频、 三维动画等)处理功能。
9
2.1.1 8086功能的扩展(5)
➢ 流SIMD扩展(SSE)
✓ SSE(Streaming SIMD Extensions,流SIMD扩展)英特尔开 发的第二代SIMD指令集,有70条指令,可以增强浮点和多 媒体运算的速度;
✓ 以前的FPU是一种单独芯片,如8087、80287、80387分别 与8086/8088、80286、80386配合使用。 在486之后,英
特尔把FPU与集成在CPU之内。
8
2.1.1 8086功能的扩展(4)
➢ MMX技术
✓ MMX: 是MultiMedia eXtensions(多媒体扩展)的缩写; ✓ MMX技术是在CPU中加入了特地为视频信号(Video
✓ x86结构微处理器有两种主要的工作方式: 实地址方式和保 护虚地址方式。
✓ 实地址方式是为了与8086兼容而设置的方式。
✓ 在实地址方式下,具有32条地址线的x86结构微处理器只有
低20条地址线起作用,能寻址1MB的物理地址;此时,x86
系列结构微处理器相当于一个快速的8086,虽然可以使用
32位的数据寄存器,但不能充分发挥x86结构微处理器的全
10
2.1.2 8086性能的提高(1)
➢ 利用流水线技术提高操作的并行性
✓ 流水线技术是一种同时进行若干操作的并行处理方式。类 似于工厂的流水作业装配线;
✓ 在计算机中把CPU的一个操作(分析指令,加工数据等)进一 步分解成多个可以单独处理的子操作,使每个子操作在一 个专门的硬件上执行,这样,一个操作需顺序地经过流水 线中多个硬件的处理才能完成。但前后连续的几个操作可 以在各个硬件间重叠执行,这种操作的重叠提高了CPU的 效率。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章8086/8088微处理器及其系统结构内容提要:1.8086微处理器结构:CPU内部结构:总线接口部件BIU,执行部件EU;CPU寄存器结构:通用寄存器,段寄存器,标志寄存器,指令指针寄存器;CPU引脚及其功能:公用引脚,最小模式控制信号引脚,最大模式控制信号引脚。

2.8086微机系统存储器结构:存储器地址空间与数据存储格式;存储器组成;存储器分段。

3.8086微机系统I/O结构4.8086最小/最大模式系统总线的形成5.8086CPU时序6.最小模式系统中8086CPU的读/写总线周期7.微处理器的发展学习目标1.掌握CPU寄存器结构、作用、CPU引脚功能、存储器分段与物理地址形成、最小/最大模式的概念和系统组建、系统总线形成;2.理解存储器读/写时序;3.了解微处理器的发展。

难点:1.引脚功能,最小/最大模式系统形成;2.存储器读/写时序。

学时:8问题:为什么选择8088/8086?•简单、容易理解掌握•与目前流行的P3、P4向下兼容,形成x86体系•16位CPU目前仍在大量应用思考题1、比较8086CPU与8086CPU的异同之处。

2、8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么?3、CPU的运算功能是由ALU实现的,8086CPU中有几个ALU?是多少位的ALU?起什么作用?4、8086CPU有哪些寄存器?各有什么用途?标志寄存器的各标志位在什么情况下置位?5、8086CPU内哪些寄存器可以和I/O端口打交道,它们各有什么作用?6、8086系统中的物理地址是如何得到的?假如CS=2400H,IP=2l00H,其物理地址是多少?思考题1.从时序的观点分析8088完成一次存储器读操作的过程?2.什么是8088的最大、最小模式?3.在最小模式中,8088如何产生其三总线?4.在最大模式中,为什么要使用总线控制器?思考题1.试述最小模式下读/写总线周期的主要区别。

2.CPU响应中断时,为什么要执行两个连续的中断响应周期?3.当8086微处理器响应总线请求发出HLDA信号后,有哪些引脚信号处于高阻?4.8086/8088微处理器响应总线请求发出HLDA信号后,执行部件EU会立即停止操作吗?为什么?5.在8086系统中,地址/数据复用信号是如何区分的?6.总线周期的含义是什么? 8086/8088的基本总线周期由几个时钟组成?如果一个CPU的时钟频率为4.77MHz,那么它的一个时钟周期为多少?一个基本总线周期为多少?若主频为l5MHz呢?7.在最小模式总线写周期的T1、T2、T3、T4状态,8086CPU分别执行什么动作?思考题1.在8086系统的最大模式下为什么一定要用总线控制器?试述总线控制器8288的主要功能,并说明它有哪些输入和输出信号?试述8086系统中时钟发生器8284A的主要作用以及可提供的几种时钟信号。

作业:一、问答题:1、8088微处理器的逻辑地址是由哪几部分组成的?怎样将逻辑地址转换为物理地址?2、如何设置用户堆栈,在压栈和退栈操作时,堆栈指针SP的内容如何变化?3、如果一个程序在执行前(CS)=0A7F0H,(IP)=2B40H,该程序的起始地址是多少?4、如果一个堆栈是从地址1250:0100开始,(SP)=0052H,试回答以下问题:(1)SS段的段地址是多少?(2)栈顶的物理地址是多少?(3)栈底的物理地址是多少?存入字数据后,SP的内容是什么?5、有两个16位字1234H和5678H分别存放在02000H为首地址的存储单元中,试用图表示存储数据的情况。

二、填空题1、8088CPU内部结构按功能分为两部分,即和。

一、8086/8088CPU的结构1. 8086/8088 CPU的内部结构1)指令执行部件指令执行部件EU主要由算术逻辑运算单元ALU、标志寄存器FR、通用寄存器组和EU 控制器等四个部件组成。

其主要功能是执行命令。

一般情况下指令顺序执行,EU可不断地从BIU指令队列缓冲器中取得执行的指令,连续执行指令,而省去了访问存储器取指令所需的时间。

如果指令执行过程中需要访问存储器存取数据时,只需将要访问的地址送给BIU,等待操作数到来后再继续执行。

遇到转移类指令时则将指令队列中的后续指令作废,等待BIU重新从存储器中取出新的指令代码进入指令队列缓冲器后,EU才能继续执行指令。

这种情况下,EU和BIU的并行操作回受到一定的影响,但只要转移类指令出现的频率不是很高,两者的并行操作仍然能取得较好的效果。

EU中的算术逻辑运算部件ALU可完成16位或8位二进制数的运算,运算结果一方面通过内部总线送到通用寄存器组或BIU的内部寄存器中以等待写到存储器;另一方面影响状态标志寄存器FR的状态标志位。

16位暂存器用于暂时存放参加运算的操作数。

EU控制器则负责从BIU的指令队列缓冲器中取指令、分析指令(即对指令译码),然后根据译码结果向EU内部各部件发出控制命令以完成指令的功能。

2)总线接口部件BIU总线接口部件BIU主要有地址加法器、专用寄存器组、指令队列缓冲器以及总线控制电路等四个部件组成。

其主要功能是负责完成CPU与存储器或I/O设备之间的数据传送。

BIU中地址加法器将来自于段寄存器的16位地址段首地址左移4位后与来自于IP寄存器或EU提供的16位偏移地址相加(通常将“段首地址:偏移地址”称为逻辑地址),形成一个20位的实际地址(又称为物理地址),以对1MB的存储空间进行寻址。

具体讲:当CPU执行指令时,BIU根据指令的寻址方式通过地址加法器形成指令在存储器中的物理地址,然后访问该物理地址所对应的存储单元,从中取出指令代码送到指令队列缓冲器中等待执行。

指令队列一共6个字节(8088的指令队列为4个字节),一旦指令队列中空出2个(8086中)或一个(8088中)字节,BIU将自动进入读指令操作以填满指令队列;遇到转移类指令时,BIU将指令队列中的已有指令作废,重新从新的目标地址中取指令送到指令队列中;当EU 需要读写数据时,BIU将根据EU送来的操作数地址形成操作数的物理地址,从中读取操作数或者将指令的执行结果传送到该物理地址所指定的内存单元或外设端口中。

BIU的总线控制电路将CPU的内部总线与外部总线相连,是CPU与外部交换数据的通路。

对于8086而言,BIU的总线控制电路包括16条数据总线、20条地址总线和若干条控制总线;而8088的总线控制电路与外部交换数据的总线宽度是8位,总线控制电路与通用寄存器组之间的数据总线宽度也是8位,而EU内部总线仍是16位,这也是将8088称为准16位的微处理器的原因。

3)8086/8088 CPU寄存器阵列(寄存器组)8086/8088 CPU中有14个16位的寄存器,按用途分为四类:①通用寄存器:8个,分为两组:数据寄存器:累加器AX、基址寄存器BX、计数寄存器CX、数据寄存器DX,每个数据寄存器可存放16位操作数,也可拆成两个8位寄存器,用来存放8位操作数,AX、BX、CX、DX分别可拆成AH、AL、BH、BL、CH、CL、DH、DL,其中AH、BH、CH、DH 为高八位,AL、BL、CL、DL为低八位;指针和变址寄存器:堆栈指针SP、基址指针BP、源变址寄存器SI、目的变址寄存器DI,可用来存放数据和地址,但只能按16位进行存取操作。

通用寄存器的特定用法见表2.1。

②段寄存器:4个代码段寄存器CS:用于存放当前代码段的段地址;数据段寄存器DS:用于存放当前数据段的段地址;附加段寄存器ES:用于存放当前附加段的段地址;堆栈段寄存器SS:用于存放当前堆栈段的段地址。

③专用寄存器:两个标志寄存器FR:仅定义了9位,其中6位用作状态标志,3位用作控制标志。

a. 状态标志位用来反映EU执行算术或逻辑运算的结果特征,6个状态位如下:进位标志CF:当加法运算有进位,减法运算有借位时,CF=1,否则CF=0;辅助进位标志AF:在字节操作时,低4位向高4位有进位(加法)或有借位(减法);在字操作时,低字节向高字节有进位(加法)或有借位(减法)时,则AF=1,否则AF=0。

奇偶校验标志PF:当运算结果低8位“1”的个数为偶数时,PF=1,否则PF=0;零标志ZF:当运算结果位0时,ZF=1,否则ZF=0;溢出标志OF:在有符号数的算术运算时,当运算结果有溢出时,OF=1,否则OF=0;符号标志SF:在有符号数的算术运算时,当运算结果为负时,SF=1,否则SF=0;b. 控制标志位用来控制CPU的操作,3个标志位如下:方向标志DF:当DF=0时,在串操作指令中,进行自动增址操作;当DF=1时,在串操作指令中,进行自动减址操作;中断允许标志IF:当IF=0时,禁止CPU响应可屏蔽中断;当IF=1时,允许CPU响应可屏蔽中断;单步陷阱标志TF:当IF=1时,表示CPU进入单步工作方式;当IF=0时,表示CPU正常执行程序。

8086/8088 CPU寄存器结构见图2.1。

指令指针IP:用来存放要取的下一条指令在当前代码段中的偏移地址,程序不能直接访问IP,在程序运行过程中,BIU可修改IP中内容。

二、8086/8088 CPU芯片的引脚及其功能8086/8088 CPU具有40条引脚,双列直插式封装,采用分时复用地址数据总线,从而使8086/8088 CPU用40条引脚实现20位地址、16位数据、控制信号及状态信号的传输。

8086/8088 CPU芯片可以在两种模式下工作,即最大模式和最小模式。

最大模式:指系统中通常含有两个或多个微处理器(即多微处理器系统),其中一个主处理器就是8086/8088 CPU,另外的处理器可以是协处理器I/O处理器。

最小模式:在系统中只有8086/8088一个微处理器。

1. 两种模式公用的引脚的定义AD0~AD15(Address/Data Bus):分时复用的地址数据线。

双向。

在了解分时复用的概念之前必须先了解总线周期概念:总线周期:CPU对存储单元或I/O端口每读/写一次数据(一个字节或一个字)所需的时间称为一个总线周期。

通常情况下,一个总线周期分为4个时钟周期,即T1、T2、T3、T4。

下面讲解AD15~AD0的具体分时复用的问题:(8088只有AD7~AD0)在T1期间作地址线A15~A0用,此时是输出的(是存储单元的低十六位地址或I/O端口的十六位地址);在T2~T4期间作数据线D15~D0用,此时是双向的。

A19/S6~A16/S3:分时复用,输出引脚。

在T1期间,作地址线A19~A16用,对存储单元进行读写时,高四位地址线由A19~A16给出;在T2~T4期间作为S6~S3状态线用。

状态线的特征如下:S5:用来表示中断允许状态位IF的当前设置。

相关文档
最新文档