微机原理与单片机技术 8086微处理器及其系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1个16位标志寄存器:FR( Flags Register) Flags Register:
15 14 13 12 11 10 9 IF 8 7 6 5 4 AF 3 2 PF 1 0 CF
bit position
OF DF
TF SF ZF
Flags
2.1.2 内部寄存器
5 标志寄存器
6个状态标志位:OF, SF,ZF,AF,PF,CF。 记录CPU工作状态,可读。 CF (Carry Flag):进/借位标志位。(运算结果低8位中的最高位发生进/借位时,置1。) PF(Parity Flag):奇偶标志位。 (运算结果低8位中l的个数为偶数时,置1。) AF(Auxiliary Flag):半进位标志位。 (做字节加/减运算时,当低四位有向高四位进/借位时,置1。)
2 存储空间分段及段地址
逻辑地址:指段地址和偏移地址,是指令中引用的形式地址。 一个逻辑地址只能对应一个物理地址,而一个物理地址可以对 应多个逻辑地址。 偏移地址:某存储单元相对其所在段起始位置的偏移字节数, 或简称偏移量。它是一个16位的地址,根据指令的不同,它可 以来自于CPU中不同的16位寄存器(IP、SP、BP、SI、DI、BX 等)。 例: 一条指令的物理地址 CS:IP
2.1.1 内部结构
2 总线接口部件BIU(Bus Interface Unit)
作用:从内存中取指令,送入指令队列, 实现CPU与存储器和I/O接口之间数据传送。 组成: 4个段地址寄存器:代码段寄存器CS 数据段寄存器DS 附加段寄存器ES 堆栈段寄存器SS 16位指令指针寄存器IP。 20位地址加法器:利用16位寄存器和成20位物理地址。 6字节的指令队:预取指,提高CPU的工作效率。 总线接口及其控制逻辑。
2.1.1 内部结构
block diagram over Intel 8086 1:main registers 2:segment registers and IP 3:address adder 4:internal address bus 5:instruction queue 6:control unit 7:bus interface; 8:internal databus; 9:ALU 10/11/12:external address/data/control bus FR
1 执行部件EU(Execution Unit)
作用:负责指令的执行, 指令译码并利用内部寄存器和ALU对数 据进行所需处理。 组成: 4个通用寄存器:AX,BX,CX,DX 4个专用寄存器:基数指针寄存器BP 堆栈指针寄存器SP 源变址 寄存器SI 目的变址寄存器DI 标志寄存器(FR) 算术逻辑部件(ALU)
2.1.2 内部寄存器
6 EMU8086 环境展示
2.1.3 存储结构
1 存储单元
存储单元地址:存储单元用编号加以区分,编号就是该存储单 元地址。 存储单元地址的表示:物理地址,逻辑地址。 8086系统可寻址的存储器空间为1MB个单元, 20条地址线。 220 B = 1M B 地址表示: 12345H (20位描述的物理地址) 1200H:0345H (16位描述的逻辑地址) 存储单元内容:一个存储单元内存放一个字节二进制数。 一个或连续的几个地址内的内容组合起来可表示数据、编码 、指令代码等。(DB, DW, DD, DQ)
2.1.3 存储结构
2.1.3 存储结构
3 物理地址合成
物理地址的形成:
由编译器完成,编译过程中不需要编程人员参与计算
但要知道实现的方法和计算结果(程序调试) 。 期末要考。
2.1.3 存储结构
4 特殊内存区域
系统中,有些内存区域的作用是固定的,用户不能随便使用。 中断向量区:00000H—003FFH共1K字节,用以存放256种中断类型的中
启动区:FFFF0H—FFFFFH共16个单元,用以存放一条无条件转移指令的
代码,转移到系统的初始化部分。
2.1 8086微处理器结构_小结
编程结构:总线接口部件,执行部件EU。P73 图4-1 14个寄存器名称和作用:编程时用。 16位的数据总线线;
20位的地址线线,寻址1M个存储单元。
存储单元的内容:存储一个字节。 1M个存储单元分段使用:代码段,数据段,堆栈段。 存储单元的地址:物理地址 = 段地址×16 + 偏移地址。
2.1.2 内部寄存器
2 指针与变址寄存器
2个16位指针寄存器:SP,BP。 SP(Stack Pointer):堆栈指针寄存器。与堆栈段寄存器SS一起来 确定堆栈在内存中的位置。 BP(Base Pointer):基数指针寄存器。通常用于存放基地址。 2个16位变址寄存器:SI,DI。 SI(Source Index):源变址寄存器。存储器指针、串指令中的源操 作数指针 DI(Destination Index):目的变址寄存器。存储器指针、串指令中 的目的操作数指针
存储结构:地址概念及其分段表示
2.1 8086微处理器结构
8086微处理器的一般性能特点: •16位的内部结构,16位双向数据信号线; •20位地址信号线,可寻址1M字节存储单元; •较强的指令系统; •可寻址64K个I/O端口; •可处理内部软件中断和外部中断,中断源可达256个; •单一的+5V电源,时钟5MHz。
ZF(Zero Flag):零标志位。 (运算结果为0时置1。)
SF(Sign Flag):符号标志位。 OF(Overflow Flag):溢出标志位。
2.1.2 内部寄存器
5 标志寄存器
3个控制标志位:DF,IF,TF。 可改写,控制CPU工作方式。 TF(Trap Flag):陷阱标志位(单步标志位、跟踪标志)。 置1,将使8086/8088进入单步工作方式,通常用于程序调试。 IF(Interrupt enable Flag):中断允许标志位。 置1,则处理器可以响应可屏蔽中断。 DF(Direction Flag):方向标志位。 置1,则串操作指令的地址修改为自动减量方向。
参见手册:8086.pdf
2.1 8086微处理器结构
2.1.1 内部结构(编程结构/功能结构) 2.1.2 内部寄存器 2.1.3 存储结构
2.1.1 内部结构(编程结构/功能结构)
总线接口部件 BIU
执行部件 EU
http://en.wikipedia.org/wiki/8086
2.1.1 内部结构
2.1.2 内部寄存器
4 控制指令指针寄存器
1个16位指令指针寄存器:IP (Instruction Pointer) IP与CS一起 指向即将执行的指令代码的存储地址。 例如:CS=0FE00H,IP=0400H,则表示要取指令代码的物理 地址为0FE400H。
2.1.2 内部寄存器
5 标志寄存器
AL Biblioteka BaiduL CL DL
4 AF
3 -
2 PF
1 -
0 CF
Segment register
2.1.2 内部寄存器
8086内部有14个16位的寄存器。 通用寄存器组: AX、BX、CX、DX
指针与变址寄存器组: SP 、BP 、DI、 SI 段寄存器: 指令指针寄存器: 标志寄存器: CS、DS、SS、ES IP FR
微机原理与单片机技术
信息学院 电路与信号教研部
2 8086微处理器及其系统
1
2.1 8086微处理器结构
2
3
2.2 8086引脚信号和系统配置
2.3 8086主要操作
作业(107页) :2, 3, 4, 5, 7, 9, 13, 14
2.1 8086微处理器结构
编程结构:总线接口部件,执行部件EU 内部寄存器:分类,功能,标志寄存器
2.1.2 内部寄存器
3 段寄存器
4个16位段寄存器:CS 、 DS、SS、ES。 功能段指针。 CS(Code Segment):代码段寄存器。
DS(Data Segment): 数据段寄存器。
ES(Extra Segment):附加段寄存器。 SS(Stack Segment):堆栈段寄存器。
2.2.1工作模式
2 最大模式
系统中至少包含两个微处理器,其中一个为主处理器(8086),其 它的微处理器称之为协处理器,协助主处理器工作。 8087:数值运算协处理器。硬件实现多种类型的数值运算,如高 精度的整型和浮点型数值运算,超越函数(三角函数、对数函 数)的计算等,提高主处理器的运行速度。 8089:输入/输出协处理器。专门用于输入/输出操作的指令系统 ,直接为输入/输出设备服务,提高主处理器的效率,尤其是在 输入/输出操作比较频繁的系统中。
断矢量,每个中断矢量占用4个字节,共256×4=1024=1K 。
显示缓冲区:B0000H—B0F9FH约4000(25×80×2)字节,是单色显示
器显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码。 B8000H—BBF3FH约16K字节,是彩色显示器显示缓冲区, 存放图形方式下,屏幕显示象素的代码。
2.1.2 内部寄存器
1 通用寄存器
4个16位的通用寄存器:AX,BX,CX,DX。 可以存放16位的操作数 也可分别分解为2个8位寄存器(AL、AH 、..)
AX (primary accumulator):累加器。乘、除运算,字的输入输出,中间结果 的缓存。 AL 字节的乘、除运算,字节的输入输出,十进制算术运算。 AH 字节的乘、除运算,存放中断的功能号。 BX (base, accumulator):基址寄存器。存储器指针。 CX (counter, accumulator):计数寄存器。串操作、循环控制的计数器。 CL 移位操作的计数器 DX (accumulator, other functions):数据寄存器。字的乘、除运算,间接的输 入输出。
2.1.2 内部寄存器
GENERAL PURPOSE REGISTERS
AH BH CH DH Index registers SI DI BP SP
Status register 15 14 13 12 11 OF 10 DF 9 IF 8 TF CS DS ES SS Instruction pointer IP 7 SF 6 ZF 5 -
2.2 8086引脚信号和系统配置
2.2.1工作模式
2.2.2 8086 CPU的引脚功能 2.2.3 8086最小模式系统典型配置
2.2.1工作模式
1 最小模式
系统中只有一个8086微处理器 所有的总线控制信号,都是直接由8086产生。 该模式系统中的总线控制逻辑电路被减到最少,适用于规模较 小的微机应用系统,工业控制系统,无复杂数值计算系统等。
2.2.2 8086 CPU引脚功能
1 管脚图
外部结构图 封装:DIP 命名方法: 管脚顺序号 1 功能名称 GND
(手册:8086.pdf)
2.2.2 8086 CPU引脚功能
2 最小模式下管脚功能分类
最小系统: VCC: +5V。
GND: 地。
CLK: 时钟信号输入引脚。 Reset: 复位信号输入引脚,高电平有效。 MN/MX(Minimum/Maximum Model Control ): 接+5V,CPU工作于最小模式下。
2.1.3 存储结构
2 存储空间分段及段地址
目的:描述一个存储单元的地址。 问题: 存储器空间为1MB个单元,地址编号用20位 二进制数。 使用内部寄存器, 16位。 解决方法:系统中采用了存储器分段的方法。 规定:存储空间一个段为64KB 。 段首地址低4位为’0’ ,高16位存于段寄存器。
2.1.3 存储结构
2.1.3 存储结构
3 物理地址合成
物理地址 = 段地址×16 + 偏移地址
例:MOV [0040H],1122H ;立即数送入0040号地址单元
逻辑地址:数据段地址(DS), 数据段偏移地址(0040H) 物理地址: DS:0040H (设 DS = 0700H) 07040H (DS) * 16 + 0040H = 0700H * 16 + 0040H = 07040H 数据存储格式:小端模式(小地址号单元内存数据的低8位) [ DS:0040H ] = 22H(数据低8位) [ DS:0041H ] = 11H(数据高8位)
15 14 13 12 11 10 9 IF 8 7 6 5 4 AF 3 2 PF 1 0 CF
bit position
OF DF
TF SF ZF
Flags
2.1.2 内部寄存器
5 标志寄存器
6个状态标志位:OF, SF,ZF,AF,PF,CF。 记录CPU工作状态,可读。 CF (Carry Flag):进/借位标志位。(运算结果低8位中的最高位发生进/借位时,置1。) PF(Parity Flag):奇偶标志位。 (运算结果低8位中l的个数为偶数时,置1。) AF(Auxiliary Flag):半进位标志位。 (做字节加/减运算时,当低四位有向高四位进/借位时,置1。)
2 存储空间分段及段地址
逻辑地址:指段地址和偏移地址,是指令中引用的形式地址。 一个逻辑地址只能对应一个物理地址,而一个物理地址可以对 应多个逻辑地址。 偏移地址:某存储单元相对其所在段起始位置的偏移字节数, 或简称偏移量。它是一个16位的地址,根据指令的不同,它可 以来自于CPU中不同的16位寄存器(IP、SP、BP、SI、DI、BX 等)。 例: 一条指令的物理地址 CS:IP
2.1.1 内部结构
2 总线接口部件BIU(Bus Interface Unit)
作用:从内存中取指令,送入指令队列, 实现CPU与存储器和I/O接口之间数据传送。 组成: 4个段地址寄存器:代码段寄存器CS 数据段寄存器DS 附加段寄存器ES 堆栈段寄存器SS 16位指令指针寄存器IP。 20位地址加法器:利用16位寄存器和成20位物理地址。 6字节的指令队:预取指,提高CPU的工作效率。 总线接口及其控制逻辑。
2.1.1 内部结构
block diagram over Intel 8086 1:main registers 2:segment registers and IP 3:address adder 4:internal address bus 5:instruction queue 6:control unit 7:bus interface; 8:internal databus; 9:ALU 10/11/12:external address/data/control bus FR
1 执行部件EU(Execution Unit)
作用:负责指令的执行, 指令译码并利用内部寄存器和ALU对数 据进行所需处理。 组成: 4个通用寄存器:AX,BX,CX,DX 4个专用寄存器:基数指针寄存器BP 堆栈指针寄存器SP 源变址 寄存器SI 目的变址寄存器DI 标志寄存器(FR) 算术逻辑部件(ALU)
2.1.2 内部寄存器
6 EMU8086 环境展示
2.1.3 存储结构
1 存储单元
存储单元地址:存储单元用编号加以区分,编号就是该存储单 元地址。 存储单元地址的表示:物理地址,逻辑地址。 8086系统可寻址的存储器空间为1MB个单元, 20条地址线。 220 B = 1M B 地址表示: 12345H (20位描述的物理地址) 1200H:0345H (16位描述的逻辑地址) 存储单元内容:一个存储单元内存放一个字节二进制数。 一个或连续的几个地址内的内容组合起来可表示数据、编码 、指令代码等。(DB, DW, DD, DQ)
2.1.3 存储结构
2.1.3 存储结构
3 物理地址合成
物理地址的形成:
由编译器完成,编译过程中不需要编程人员参与计算
但要知道实现的方法和计算结果(程序调试) 。 期末要考。
2.1.3 存储结构
4 特殊内存区域
系统中,有些内存区域的作用是固定的,用户不能随便使用。 中断向量区:00000H—003FFH共1K字节,用以存放256种中断类型的中
启动区:FFFF0H—FFFFFH共16个单元,用以存放一条无条件转移指令的
代码,转移到系统的初始化部分。
2.1 8086微处理器结构_小结
编程结构:总线接口部件,执行部件EU。P73 图4-1 14个寄存器名称和作用:编程时用。 16位的数据总线线;
20位的地址线线,寻址1M个存储单元。
存储单元的内容:存储一个字节。 1M个存储单元分段使用:代码段,数据段,堆栈段。 存储单元的地址:物理地址 = 段地址×16 + 偏移地址。
2.1.2 内部寄存器
2 指针与变址寄存器
2个16位指针寄存器:SP,BP。 SP(Stack Pointer):堆栈指针寄存器。与堆栈段寄存器SS一起来 确定堆栈在内存中的位置。 BP(Base Pointer):基数指针寄存器。通常用于存放基地址。 2个16位变址寄存器:SI,DI。 SI(Source Index):源变址寄存器。存储器指针、串指令中的源操 作数指针 DI(Destination Index):目的变址寄存器。存储器指针、串指令中 的目的操作数指针
存储结构:地址概念及其分段表示
2.1 8086微处理器结构
8086微处理器的一般性能特点: •16位的内部结构,16位双向数据信号线; •20位地址信号线,可寻址1M字节存储单元; •较强的指令系统; •可寻址64K个I/O端口; •可处理内部软件中断和外部中断,中断源可达256个; •单一的+5V电源,时钟5MHz。
ZF(Zero Flag):零标志位。 (运算结果为0时置1。)
SF(Sign Flag):符号标志位。 OF(Overflow Flag):溢出标志位。
2.1.2 内部寄存器
5 标志寄存器
3个控制标志位:DF,IF,TF。 可改写,控制CPU工作方式。 TF(Trap Flag):陷阱标志位(单步标志位、跟踪标志)。 置1,将使8086/8088进入单步工作方式,通常用于程序调试。 IF(Interrupt enable Flag):中断允许标志位。 置1,则处理器可以响应可屏蔽中断。 DF(Direction Flag):方向标志位。 置1,则串操作指令的地址修改为自动减量方向。
参见手册:8086.pdf
2.1 8086微处理器结构
2.1.1 内部结构(编程结构/功能结构) 2.1.2 内部寄存器 2.1.3 存储结构
2.1.1 内部结构(编程结构/功能结构)
总线接口部件 BIU
执行部件 EU
http://en.wikipedia.org/wiki/8086
2.1.1 内部结构
2.1.2 内部寄存器
4 控制指令指针寄存器
1个16位指令指针寄存器:IP (Instruction Pointer) IP与CS一起 指向即将执行的指令代码的存储地址。 例如:CS=0FE00H,IP=0400H,则表示要取指令代码的物理 地址为0FE400H。
2.1.2 内部寄存器
5 标志寄存器
AL Biblioteka BaiduL CL DL
4 AF
3 -
2 PF
1 -
0 CF
Segment register
2.1.2 内部寄存器
8086内部有14个16位的寄存器。 通用寄存器组: AX、BX、CX、DX
指针与变址寄存器组: SP 、BP 、DI、 SI 段寄存器: 指令指针寄存器: 标志寄存器: CS、DS、SS、ES IP FR
微机原理与单片机技术
信息学院 电路与信号教研部
2 8086微处理器及其系统
1
2.1 8086微处理器结构
2
3
2.2 8086引脚信号和系统配置
2.3 8086主要操作
作业(107页) :2, 3, 4, 5, 7, 9, 13, 14
2.1 8086微处理器结构
编程结构:总线接口部件,执行部件EU 内部寄存器:分类,功能,标志寄存器
2.1.2 内部寄存器
3 段寄存器
4个16位段寄存器:CS 、 DS、SS、ES。 功能段指针。 CS(Code Segment):代码段寄存器。
DS(Data Segment): 数据段寄存器。
ES(Extra Segment):附加段寄存器。 SS(Stack Segment):堆栈段寄存器。
2.2.1工作模式
2 最大模式
系统中至少包含两个微处理器,其中一个为主处理器(8086),其 它的微处理器称之为协处理器,协助主处理器工作。 8087:数值运算协处理器。硬件实现多种类型的数值运算,如高 精度的整型和浮点型数值运算,超越函数(三角函数、对数函 数)的计算等,提高主处理器的运行速度。 8089:输入/输出协处理器。专门用于输入/输出操作的指令系统 ,直接为输入/输出设备服务,提高主处理器的效率,尤其是在 输入/输出操作比较频繁的系统中。
断矢量,每个中断矢量占用4个字节,共256×4=1024=1K 。
显示缓冲区:B0000H—B0F9FH约4000(25×80×2)字节,是单色显示
器显示缓冲区,存放文本方式下,所显示字符的ASCII码及属性码。 B8000H—BBF3FH约16K字节,是彩色显示器显示缓冲区, 存放图形方式下,屏幕显示象素的代码。
2.1.2 内部寄存器
1 通用寄存器
4个16位的通用寄存器:AX,BX,CX,DX。 可以存放16位的操作数 也可分别分解为2个8位寄存器(AL、AH 、..)
AX (primary accumulator):累加器。乘、除运算,字的输入输出,中间结果 的缓存。 AL 字节的乘、除运算,字节的输入输出,十进制算术运算。 AH 字节的乘、除运算,存放中断的功能号。 BX (base, accumulator):基址寄存器。存储器指针。 CX (counter, accumulator):计数寄存器。串操作、循环控制的计数器。 CL 移位操作的计数器 DX (accumulator, other functions):数据寄存器。字的乘、除运算,间接的输 入输出。
2.1.2 内部寄存器
GENERAL PURPOSE REGISTERS
AH BH CH DH Index registers SI DI BP SP
Status register 15 14 13 12 11 OF 10 DF 9 IF 8 TF CS DS ES SS Instruction pointer IP 7 SF 6 ZF 5 -
2.2 8086引脚信号和系统配置
2.2.1工作模式
2.2.2 8086 CPU的引脚功能 2.2.3 8086最小模式系统典型配置
2.2.1工作模式
1 最小模式
系统中只有一个8086微处理器 所有的总线控制信号,都是直接由8086产生。 该模式系统中的总线控制逻辑电路被减到最少,适用于规模较 小的微机应用系统,工业控制系统,无复杂数值计算系统等。
2.2.2 8086 CPU引脚功能
1 管脚图
外部结构图 封装:DIP 命名方法: 管脚顺序号 1 功能名称 GND
(手册:8086.pdf)
2.2.2 8086 CPU引脚功能
2 最小模式下管脚功能分类
最小系统: VCC: +5V。
GND: 地。
CLK: 时钟信号输入引脚。 Reset: 复位信号输入引脚,高电平有效。 MN/MX(Minimum/Maximum Model Control ): 接+5V,CPU工作于最小模式下。
2.1.3 存储结构
2 存储空间分段及段地址
目的:描述一个存储单元的地址。 问题: 存储器空间为1MB个单元,地址编号用20位 二进制数。 使用内部寄存器, 16位。 解决方法:系统中采用了存储器分段的方法。 规定:存储空间一个段为64KB 。 段首地址低4位为’0’ ,高16位存于段寄存器。
2.1.3 存储结构
2.1.3 存储结构
3 物理地址合成
物理地址 = 段地址×16 + 偏移地址
例:MOV [0040H],1122H ;立即数送入0040号地址单元
逻辑地址:数据段地址(DS), 数据段偏移地址(0040H) 物理地址: DS:0040H (设 DS = 0700H) 07040H (DS) * 16 + 0040H = 0700H * 16 + 0040H = 07040H 数据存储格式:小端模式(小地址号单元内存数据的低8位) [ DS:0040H ] = 22H(数据低8位) [ DS:0041H ] = 11H(数据高8位)