第2章 16位微处理器8086讲解

合集下载

第2章 8086微处理器及其系统PPT课件

第2章 8086微处理器及其系统PPT课件
1.条件标志 -----共6位,用于寄存程序运行的状态信息,这些标 志往往用作后续指令判断的依据。 2.控制标志 -----共3位,用于控制机器或程序的某些运行过程。
5
15 ~12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF ― AF ― PF ― CF
例:对于物理地址01023H单元
可以表为0100H:0023H PA=0100H×10H+0023H =01023H
也可表为0102H:0003H PA=0102H×10H+0003H =01023H
CS DS SS
段 寄
ES 存
IP 器
指令指针寄存器
总线 控制
逻辑 外部总线
123456
指令队列 3
内部寄存器
● 8086共有8个16位的内部寄存器,分为两组:
AX
AH AL
BX
BH
BL
CX DX
CH DH
CL DL
●通用寄存器
SP BP●指针和变址寄来自器SIDI●四S个P(通St用ac数k P据o寄int存er器RAegXis、teBr)X堆、栈C指X针、寄DX存均器可用 ●作B1P6位( B寄as存ic器Po也in可ter用R作eg8is为ter寄)基存址器指。针用寄作存8 位器寄 ●存S器I(分So别ur记ce作In:deAxHR、egAisLte、r)源BH变、址B寄L、存C器H、CL、
第 2 章 80X86微处理器
2.1 8086微处理器 2.2 8086系统的存储器组织及I/O组织 2.3 8086系统配置 2.4 8086的操作时序
1
2.1 8086微处理器
1978年,Intel公司推出16位微处理器8086。

第二章-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位操作。

第2章 16位微处理器8086

第2章 16位微处理器8086
注:8086对存储器采用分段管理,4个段寄存器分别存放4个当前段的 起始地址,又称作段基址寄存器。
计算机原理讲义
总线接口单元Bointer)
16位IP存放当前代码段(CS)所要取出的下一条指令的偏移地址
3) 地址加法器∑
8086用20位地址线寻址1MB内存空间,但其内部寄存器是16位的, 因此需要用地址加法器∑根据16位寄存器的值计算出20位物理地址
计算机原理讲义
存储器和I/O管理
3. 8086 I/O编址

8086用低16根地址线,寻址64KB的I/O端口,编址为 0000H~FFFFH

一个I/O端口通常对应I/O接口电路中的一个存储单元,微机为每 个端口分配一个地址,即为端口号 实际使用中8086只使用低10根地址线,寻址1KB的I/O端口
计算机原理讲义
执行单元EU
4) 标志寄存器 FLAG
6位状态标志,3位控制标志IF、DF、TF,剩下7位保留
15 14 13 12 11 10 9 IF 8 7 6 5 4 AF 3 2 PF 1 0 CF
OF DF


TF SF ZF
CF(Carry Flag)进(借)位标志,加法运算最高位产生进位或减法运算 最高位产生借位,则CF置1,否则置0 AF(Auxiliary Carry Flag )辅助进位标志,加法运算时第3位往第4位 有进位,或减法运算时第3位往第4位有借位,则AF置1,否则置0 ZF(Zero Flag)零标志, 若当前运算结果为零, 则ZF置1,否则置0 SF(Sign Flag)符号标志,与运算结果最高位相同,若为负数,则SF 置1,否则置0,SF指示了当前运算结果是正还是负 OF(Overflow Flag)溢出标志,有符号数算术运算结果溢出,则OF置1, 否则置0 PF(Parity Flag)奇偶标志,运算结果低8位所含1个数为偶数则PF置1, 否则置0 计算机原理讲义

第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不直接提供控制信 号 。

第二章 8086 8088微处理器

第二章  8086 8088微处理器
(一)、 总线接口单元BIU
1、指令队列缓冲器 2、地址加法器和段寄存器
3、 16位的指令指针寄存器IP
IP中存放的是BIU要取的下一条指令(字 节)的偏移地址,BIU取过后,IP自动加1。 与IP相配的段寄存器是代码段寄存器CS。
扬州大学信息工程学院
第一节 8086/8088 微处理器的结构 一、8086/8088的内部结构
扬州大学信息工程学院
(一)最小工作模式
在最小工作模式,8086/8088 第24~31引脚的含义: 5、M/IO存储器/输入,输出控 制信号,输出。 为1时与存储器数椐传送; 为0时输入,输出接口进 行数据传送。T1~T4有效
6、WR写信号,输出。 在总线周期的T2~T4状态 输出低电平。 7、HOLD总线保持请求信号, 输入。其它主模块要求占用总线 时通过HOLD向CPU发高电平请 求。若“允许”,CPU在T4状态 从HLDA发出高电平后,就得到 总线控制权。
扬州大学信息工程学院
第二章 8086/8088微处理器
第一节 8086/8088 微处理器的结构 一、8086/8088的内部结构
从功能上,8086分为两部分:
1、 总线接口单元BIU (Bus Interface Unit)。 2、执行单元EU (Execution Unit)。 说明:这两个单元在CPU内部担负着不同的任务。 两个单元并行地工作,能使大部分取指令操作与执 行指令操作重叠的进行 (即所谓“流水线”结构)。
扬州大学信息工程学院
第一节8086/8088的微处理器结构
三、8086/8088的引脚信号和功能 (一)地址/数椐总线
AD15~AD0(复用的)
总线周期的状态 T1:输出地址; T2:浮置成高阻; T3:输入/输出数椐;

第2章16位微处理器

第2章16位微处理器
• 溢出表示运算结果已经超出机器能够表示的数 值范围。
如何通过负数的补码求其绝对值
• 将每个二进制位(包括符号位)取反加1,得到一个二 进制数,将该数看成无符号数,其值就是负数的绝对 值。
• 例如,二进制的 10000000 的最高位为1, 所以它表示的 是负数。将其八位全部取反,得到01111111, 然后加1, 得到10000000. 将该数看作无符号数,值为128, 故计算 机中ຫໍສະໝຸດ 10000000表示的是-128 。
• 但当上升到16位机后,Intel8086CPU的设计由于受当 年IC集成技术和外封装及引脚技术的限制,不能超过 40个引脚。但又感觉到8位机原来的地址寻址能力2^16 =64KB太少了,但直接增加到16的整数倍即令AB= 32位又是达不到的。故而只能把AB暂时增加4条成为 20条,则2^20=1MB的寻址能力已经增加了16倍。但 此举却造成了AB的20位和DB的16位之间的矛盾,20 位地址信息既无法在DB上传送,又无法在16位的CPU 寄存器和内存单元中存放。于是应运而生就产生了 CPU段结构的原理。
⑤ T4状态: “READY ”引脚向CPU发送一个 “准备好”信 号 ,即高电平, CPU自动脱离TW,进入T4,总线周期结束。
注:只有在CPU和内存、外设、外存之间传输数据,填充指令 队列时,才执行总线周期,所以1个总线周期后不一定执行 下一个总线周期,可能会处于空闲状态。
2、典型时序图
典型总线周期示意图
• 最高位(即符号位)为1的8位有符号数有128个,故可 表示128个负数;最高位为0的8位有符号数有128个, 但全0的那个表示数0,所以总共只能表示127个正整数。
标志寄存器应用举例
• 1010 1101 0101 1100 • + 1100 0011 1010 1111 • = 1 0111 0001 0000 1 1011 • CF=1,AF=1,PF=0; • ZF=0;SF=0;OF=1;

微机原理第2章2

微机原理第2章2

←电源引脚 +5V →地址高4位/状态复用引脚
地址/数据复用引脚 (双向)
←→
→高8位数据总线允许/状态复用引脚 ←最小/最大工作模式控制引脚 →读信号引脚(输出)
不可屏蔽中断请求引脚→ 可屏蔽中断请求引脚→ 时钟信号引脚→
←测试信号引脚(输入) ←“准备好”信号引脚(输入) ←复位信号引脚(输入)
• W (Write)写信号,三态输出,低电平 R
• M / IO (Memory/IO)存储器或I/O端口
• READY准备就绪信号。由外部输入,高 电平有效,表示CPU访问的存储器或I/ O端口己准备好传送数据。当READY无 效时,要求CPU插入一个或多个等待周 期Tw,直到READY信号有效为止。
• 8086/8088CPU芯片都是双列直插式集成电 路芯片,都有40个引脚; • 其中32个引脚在两种工作模式下的名称和 功能是相同的,还有8个引脚在不同的工作 模式下,具有不同的名称和功能。 • 8086的工作模式完全由硬件决定。
最小模式下管脚功能
• AD15~AD0(Address Data Bus) (16) 地址/数据复用信号,双向,三态。在 T1状态(地址周期)AD15~AD0上为 地址信号的低16位A15~A0;在T2~T3 状态(数据周期)AD15~AD0 上是数 据信号D15~D0。 • A19/S6~A16/S3(Address Status Bus)(4) 地址/状态复用信号,输出。在总周期 的T1状态A19/S6~A16/S3上是地址的高 4位。在T2~T4状态,A19/S6~A16/S3上 输出状态信息。 S6=0 CPU当前与总线连通; S5=1 CPU可以响应可屏蔽中断; S4S3用以指明当前使用的段寄存器, 00—ES,01—SS,10—CS,11—DS。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

变址寄存器
变址寄存器常用于存储器寻址时提供 地址
SI是源变址寄存器 DI是目的变址寄存器
串操作类指令中,SI和DI具有特别的 功能
指针寄存器
指针寄存器用于寻址内存堆栈内的数据 SP为堆栈指针寄存器,指示栈顶的偏移
地址 SP不能再用于其他目的,具有专用目的 BP为基址指针寄存器,表示数据在堆栈
(2)最大模式( MN/MX接地)
8086 CPU工作在最大模式时,其24~31引脚需重新定义, 如表2-4所示。
①QS1/QS0,指令队列状态信号 ②S2、S1、S0 ,总线周期状态信号 ③LOCK ,总线封锁信号 ④RQ/GT1和RQ/GT0 ,总线请求信 号输入/总线请求信号允许输出
就能用16位段寄存器表达段地址 偏移地址Offset或有效地址EA说明主存单元距离段起
始位置的偏移量 每段不超过64KB,偏移地址也可用16位数据表示 1MB内存最多可分为64K个段,即65536个段(段之
间可相互重叠),至少可分成16个相互不重叠的段
物理地址和逻辑地址的转换
将逻辑地址中的段地址左移4位,加上 偏移地址就得到20位物理地址
陷阱标志TF(Trap Flag)
用于控制处理器进入单步操作方式:
设置TF=0,处理器正常工作; 设置TF=1,处理器单步执行指令。
单步执行指令——处理器在每条指令执行结 束时,便产生一个编号为1的内部中断
这种内部中断称为单步中断 所以TF也称为单步标志 利用单步中断可对程序进行逐条指令的调试 这种逐条指令调试程序的方法就是单步调试
DEBUG中各标志位的符号表示
标志位名 溢出标志OF 方向标志DF 中断标志IF 符号标志SF
零标志ZF 辅助标志AF 奇偶标志PF 进位标志CF
置位符号(=1) OV DN EI NG ZR AC PE CY
复位符号(=0) NV UP DI PL NZ NA PO NC
2.2 8086对主存储器的分段管理
1. 8086的通用寄存器
8086的16位通用寄存器是: AX BX CX DX SI DI BP SP
其中前4个数据寄存器都还可以分成高8位 和低8位两个独立的寄存器
8086的8位通用寄存器是: AH BH CH DH AL BL CL DL
对其中某8位的操作,并不影响另外对应8 位的数据
8086的1MB存储空间分成两个存储体。 偶地址存储体和奇地址存储体,各为512K 字节,如图2-7所示。CPU用A0来区分两个 存储体,并提供两条信号线和A0,来决定是 访问偶地址(低字节),还是奇地址(高地址) 或是整个字。
当A0=0时,选择偶地址存储体。偶地址 存储体与数据总线的低8位(D7~D0)相连, 所以从低8位数据总线读/写一个字节。当 BHE=0时,选择访问奇地址存储体,奇地 址存储体与数据总线高8位(D15~D8)相连, 所以由高8位数据总线读/写一个字节。当 A0=0, BHE =0时,访问两个存储体,读 /写一个字。 BHE与A0的组合功能如教材 所示(P21表2-2)。
符号标志SF(Sign Flag)
运算结果最高位为1,则SF = 1;否 则SF = 0
有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态
49H + 6DH=B6H,最高符号位:SF = 1 75H + 8BH=(1)00H,最高符号位:SF = 0
奇偶标志PF(Parity Flag)
49H+6DH=B6H,就是73+109=182, 已经超出-128~+127范围,产生溢出,故OF=1; 另一方面,补码B6H表达真值是-74, 显然运算结果也不正确
溢出和进位
溢出标志OF和进位标志CF是两个意义不同 的标志
进位标志表示无符号数运算结果是否超出范 围,运算结果仍然正确;
溢出标志表示有符号数运算结果是否超出范 围,运算结果已经不正确。
数据寄存器
数据寄存器用来存放计算的结果和操作数,也可以 存放地址
每个寄存器又有它们各自的专用目的 AX--累加器,使用频度最高,用于算术、逻 辑运算以及与外设传送信息等; BX--基址寄存器,常用做存放存储器地址; CX--计数器,作为循环和串操作等指令中的 隐含计数器; DX--数据寄存器,常用来存放双字长数据的 高16位,或存放外设端口地址。
AF
PF
CF
标志的分类
状态标志:用来记录程序运行结果的状 态信息,许多指令的执行都将相应地设 置它
CF ZF SF PF OF AF
控制标志:可由程序根据需要用指令设 置,用于控制处理器执行指令的方式
DF IF TF
进位标志CF(Carry Flag)
当运算结果的最高有效位有进位(加法)或 借位(减法)时,进位标志置1,即CF = 1; 否则CF = 0。
这些段寄存器的内容与有效的地址一起, 用于确定内存的物理地址。通常用CS、DS、 ES以及SS用于确定代码段、数据段、附加 段以及堆栈段的基地址。
3.指令指针IP
指令指针寄存器IP,指示代码段中指 令的偏移地址
它与代码段寄存器CS联用,确定下一 条指令的物理地址
计算机通过CS : IP寄存器来控制指令 序列的执行流程
⑧ALE,地址锁存允许信号 ⑨READY(Ready),准备就绪信号 ⑩INTR,可屏蔽中断请求信号 ⑪INTA,中断响应信号 ⑫NMI,非屏蔽中断请求信号 ⑬RESET,系统复位信号 ⑭DEN,数据允许信号 ⑮DT/R,数据发送/接收控制信号
⑯HOLD,总线保持请求信号输入 ⑰HLDA,总线保持响应信号 ⑱TEST,测试信号 ⑲CLK,时钟输入信号 ⑳VCC(+5V),GND
溢出的判断
判断运算结果是否溢出有一个简单的 规则:
只有当两个相同符号数相加(包括不 同符号数相减),而运算结果的符号 与原数据符号相反时,产生溢出;因 为,此时的运算结果显然不正确
其他情况下,则不会产生溢出
辅助进位标志AF(Auxiliary Carry Flag) 运算时D3位(低半字节)有进位或
2.3 8086微处理器的引脚及工作模式
一、8086CPU的引脚及其功能
8086CPU的40条引脚 信号可按功能分可分为四 类,它们是:
地址总线
数据总线
控制总线 其它(时钟与电源)。
1.最小模式和最大模式概念
(1)最小模式: 在系统中只有一个微处理器。
(2)最大模式: 两个或多个微处理器(主处理器、
请看例子
溢出和进位的对比
例1:49H + 6DH=B6H 无符号数运算: 73+109=182
范围内,无进位 有符号数运算: 73+109=182
范围外,有溢出
例2:BBH + 6AH=(1)25H
无符号数运算: 187+106=293 范围外,有进位
有符号数运算: -69+106=37 范围内,无溢出
49H + 6DH =B6H,产生溢出:OF = 1 75H + 8BH =(1)26H,没有溢出:OF = 0
什么是溢出?
处理器内部以补码表示有符号数 8位表达的整数范围是:+127~-128 16位表达的范围是:+32767~-32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
物理地址和逻辑地址
对应每个物理存储单元都有一个唯一 的 20 位 编 号 , 就 是 物 理 地 址 PA (Physical Address),从00000H~ FFFFFH。 分段后在用户编程时,采用逻辑地址, 其形式为:
段基地址 : 段内偏移地址
分隔符
逻辑地址LA
段基地址说明逻辑段在主存中的起始位置 8086规定段地址必须是模16地址:xxxx0H 省略低4位0000B,段地址就可以用16位数据表示,
一个物理地址可以有多个逻辑地址
逻辑地址 1460:100、1380:F00 物理地址 14700H 14700H
段地址左移4位 加上偏移地址
14600H 13800H + 100H + F00H
得到物理地址
14700H 14700H
8086对存储器的访问(图2-6)
二、 8086存储器的结构
协处理器)
2.8086的引脚信号
(1)最小模式( MN/MX接+5V)
① AD15~AD0,地址/数据总线 ② A19/S6~A16/S3,地址/状态总线 ③ BHE/ S7,高8位数据允许/状态线 ④MN/MX,最小/最大模式控制信号,输 入 ⑤RD,读信号 ⑥WR,写信号 ⑦M/IO,存储器/输入输出控制信号
一、 主存储器的分段机构
8086CPU有20条地址线
最大可寻址空间为220=1MB 物理地址范围从00000H~FFFFFH
8086CPU将1MB空间分成许多逻辑段(Segment)
每个段最大限制为64KB 段地址的低4位为0000B
这样,一个存储单元除具有一个唯一的物理地 址外,还具有多个逻辑地址
当运算结果最低字节中“1”的个数为零或偶 数时,PF = 1;否则PF = 0
PF标志仅反映最低8位中“1”的个数是 偶或奇,即使是进行16位字操作
3AH + 7CH=B6H=10110110B 结果中有5个1,是奇数:PF = 0
溢出标志OF(Overflow Flag)
若算术运算的结果有溢出, 则OF=1;否则 OF=0
借位时,AF = 1;否则AF = 0。
这个标志主要由处理器内部使用, 用于十进制算术运算调整指令中,用 户一般不必关心
49H + 6DH=B6H,D3有进位:AF = 1
方向标志DF(Direction Flag)
相关文档
最新文档