计算机原理
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
12
例: 设代码段寄存器CS的内容为1234H,指令指 针IP的内容为0022H,即(CS)=1234H,(IP)= 0022H,则访问代码段存储单元的物理地址计算如 下:
左移4位 12340
1234 0022
段基值 逻辑地址
偏移量
整理课件
+)
002 2
1236 2
物理地址
13
整理课件
4. 6字节的指令队列(ISQ)
例: 49H+6DH=B6H,就是73+109=182, 补码B6H表达真值是-74,显然运算结果不正确; 计算结果超出-128~+127范围,产生溢出,故 OF=1。
30
整理课件
奇偶标志PF(Parity Flag) – 当运算结果最低字节中“1”的个数为零或偶 数时,PF = 1;否则PF = 0 – PF 标 志 仅 反 映 最 低 8 位 中 “ 1” 的 个 数 是 偶或奇,即使是进行16位字操作
地址指针寄存器用于存放操作数的地址,编程 时通过修改寄存器的内容达到修改地址的目的。
通过地址指针寄存器寻址内存内的数据
SP为堆栈指针寄存器,指示栈顶的偏移地址, SP不能再用于其他目的,具有专用目的
23
整理课件
BP为基址指针寄存器,表示数据在堆栈段中一 个数据区的基地址,SP和BP寄存器与SS段寄存 器联合使用以确定堆栈段中的存储单元地址。
整理课件
对其中某8位的操作,并不影 响另外对应8位的数据 ;
数据寄存器用于存放操作数及 中间结果,也可以存放地址;
AX和AL可用作累加操作,因
此又可称作累加器。
21
每个寄存器又有它们各自的专用目的
– AX--累加器,使用频度最高; 用于算术、逻辑运算存放中间结果; 与外设传送信息等
整理课件
5. EU控制电路 从总线接口的指令队列取出指令操作码,通过译 码电路分析,发出相应的控制命令,控制ALU数 据流向。
25
6. 16位状态标志寄存器
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
整理课件
方 向
单符零 半 步号标 进
溢出标志OF(Overflow Flag) – 若算术运算结果有溢出,则OF=1; 否则 OF=0
例: 49H + 6DH =B6H,产生溢出:OF = 1 05H + 8BH =90H,没有溢出:OF = 0 29
整理课件
− 处理器内部以补码表示有符号数:
8位表达的整数范围是:+127~-128 16位表达的范围是:+32767~-32768。 如运算结果超出这个范围,就产生了溢出。有溢 出,说明有符号数的运算结果不正确
存器
总线控制逻辑 9
整理课件
二. BIU的内部组成 1. 段寄存器
– DS 数据段寄存器 (Data Segment) – CS 代码段寄存器 (Code Segment) – ES 扩展段寄存器 (Extra Segment) – SS 堆栈段寄存器 (Stack Segment) 8086对存储器采用分段管理,4个段寄存器分别 用于存放4个当前段的起始地址——基地址。 通常用CS、DS、ES以及SS确定代码段、数据段、 扩展段以及堆栈段的基地址。
进 奇借 偶位
标 志
中标志 借
断志
位
标标 志志
溢
中
1-结果为0 0-结果不为0
标 志
1-有进、借位
出
断
0-无进、借位
标
允 1-低4位向高4位有进、借位
志
许 0-低4位向高4位无进、借位 1-低8位有偶数个1
0-低8位有奇数个1 26
整理课件
标志——用于反映指令执行结果或控制指令执行 形式,8086处理器的各种标志形成了一个16位的 标志寄存器FLAGS
6个状态标志(用来记录程序运行结果的状态信 息,许多指令的执行都将相应设置)
CF ZF SF ZF PF OF 3个控制标志(可由程序根据需要用指令设置, 用于控制处理器执行指令的方式)
IF、DF、TF 剩下7位保留
27
整理课件
(1) 状态标志
– 进位标志CF(Carry Flag)
– 当运算结果的最高有效位有进位(加法)或 借位(减法)时,进位标志置1,即CF = 1; 否则CF = 0。
8086采用了流水线(Pipeline)设计技术。 5. 与EU通讯的内部寄存器 6. 总线控制逻辑
15
2.1.3 执行单元(EU)
整理课件
一. EU的功能与组成 EU的功能
从指令队列中取出指令; 对指令进行译码,发出相应的控制信号; 接收由总线接口送来的数据或发送数据至接口; 进行算术运算。 EU的组成
4
整理课件
寄存器组 CPU内部的高速存储单元,用来存放临时的数据或 地址。 从指令的角度来看,可以缩短指令长度和指令的执 行时间。
通用寄存器:既可以存放数据也可存放地址,使用 频度较高
地址寄存器:存放地址,用于寻址操作 标志寄存器:保存程序的运行状态
5
整理课件
指令处理单元 微处理器的控制器,负责对指令进行译码和处理。 指令寄存器:暂存被译码的指令 指令译码逻辑:负责对指令进行译码,从而确定指
例: 49H + 6DH=B6H,D3有进位:AF = 1
33
※状态标志寄存器举例: 0100 0101 0110 1010 1001 1001 1010 0011
运算后 CF=0 PF=1 OF=1 OF=Cs AF=1 ZF=0 SF=1
Cp=1
整理课件
3
整理课件
2.1.1 8086微处理器的功能结构 一. 微处理器基本结构
算术逻辑单元(Arithmetic Logic Unit, ALU) 微处理器的运算器,负责CPU的各种运算
寄存器组 CPU内部的高速存储单元,用来存放临时的数据或 地址。
指令处理单元 微处理器的控制器,负责对指令进行译码和处理。
例:49H + 6DH=B6H, 没有进位:CF = 0 BBH + 6AH=(1)25H,有进位:CF = 1
– 零标志ZF(Zero Flag)
– 若运算结果为0,则ZF = 1;否则ZF = 0
例:49H + 6DH=B6H,结果不是零:ZF = 0 75H + 8BH=(1)00H,结果是零:ZF = 128
例: 3AH + 7CH=B6H=10110110B 结果中有5个1,是奇数:PF = 0
32
整理课件
辅助进位标志AF( Auxiliary Carry Flag) – 运算时D3位(低半字节)有进位或借位时, AF = 1;否则AF = 0。 – 这个标志主要由处理器内部使用,用于十进 制算术运算调整指令中,用户一般不必关心
令的功能 时序和控制逻辑:根据指令要求,按照一定的时序
收发信号,控制计算机系统完成指令要求的操作。
6
整理课件
二. 8086/8088的功能结构 从功能上看,可以分为两大部分: 总线接口单元BIU (Bus Interface Unit):主要 负责物理地址的形成、预取指令、指令队列排 队、读/写操作数和总线控制。 执行单元EU (Execution Unit) :主要负责指 令译码和执行 8086CPU内部结构框图:
4个16位数据寄存器 4个16位地址指针寄
存器
16位标志寄存器
16位算术逻辑单元 EU控制电路 1个数据暂存寄存器 20
二. EU组成 1. 8086的数据寄存器 AX,BX,CX,DX------都是16位,也可做两
个8位寄存器使用( AH、AL、BH、BL、CH、 CL、DH、DL )。
– BX--基址寄存器 间接寻址中用于存放基地址
– CX--计数器 循环和串操作等指令中的隐含计数器
– DX--数据寄存器
存放双字长数据的高16位;
22
间接寻址的I/O指令中存放外设端口地址
整理课件
2. 8086的16位地址指针寄存器 – SP------堆栈指针寄存器 – BP------基址指针寄存器 – DI ------目的变址寄存器 – SI ------ 源变址寄存器
整理课件
大连理工大学控制学院
1
整理课件
第二章 16位微处理器8086
2.1 8086微处理器功能结构 2.2 8086对存储器和I/O的管理 2.3 8086的引脚和工作模式 2.4 8086的操作和时序
2
整理课件
2.1 8086微处理器的功能结构
2.1.1 8086微处理器的功能结构 2.1.2 总线接口单元 2.1.3 执行单元 2.1.4 8086/8088微处理器程序执行过程
34
整理课件
(2) 控制标志 方向标志DF(Direction Flag)
用于串操作指令中,控制地址的变化方向: − 设置DF=0,存储器地址自动增加,串操作
指令以递增顺序处理数据串; − 设置DF=1,存储器地址自动减少,串操作
指令以递减顺序处理数据串。
例: CLD指令复位方向标志:DF=0 STD指令置位方向标志:DF=1
IP寄存器是一个专用寄存器,可以用转移指令、 调用指令及中断和复位等改变IP值。
11
整理课件
3. 20位地址加法器 产生20位地址(物理地址)。CPU内无论是段 地址寄存器还是偏移量都是16位的,通过地址 加法器产生20位地址(物理地址)。 段地址左移4位+段内偏移量 20位实际物理地址 段地址×16+段内偏移量 20位实际物理地址
BIU的功能
从内存取指令送到指令队列
整理课件
微处理器执行指令时,到指定的位置(内存单元 或者外设端口)取操作数,并将其送给执行单元; 或者把执行单元的操作结果送至要求的位置中。
BIU包括: 4个16位段地址寄存器
1个16位指令指针寄存 器
20位地址加法器
6字节的指令队列 与 EU 通 讯 的 内 部 寄
36
整理课件
段寄存器的内容与有效的偏移地址一起,用于确10 定内存的物理地址。
整理课件
2. 指令指针寄存器IP
指示代码段中指令的偏移地址,IP指向当前代 码段(CS)所要取出的下一条指令的地址。
与代码段寄存器CS联用,确定下一条指令的物 理地址,每取出一个字节指令后,IP自动加1。 计算机通过CS : IP寄存器来控制指令序列的执 行流程
35
整理课件
中断允许标志IF(Interrupt-enable Flag) 用于控制外部可屏蔽中断是否可以被处理器响应:
− 设置IF=1,CPU允许接收外部可屏蔽中断请 求,即开中断;
− 设置IF=0,则禁止中断,即关中断。
例: CLI指令复位中断标志:IF=0 STI指令置位中断标志:IF=1
整理课件
符号标志SF(Sign Flag ) – 运算结果最高位为1,则SF = 1;否则SF = 0 。 – 有符号数据用最高有效位表示数据的符号, 所以,最高有效位就是符号标志的状态
例: 49H + 6DH=B6H,最高位为1:SF = 1 75H + 8BH=(1)00H,最高位为0:SF = 0
取指令 指令译码 指令执行,在指令执行时根 据需要在存储器中取操作数。
➢ 8位微处理器:按照这三步循环工作每次需到 存储器取指令。
➢ 16位微处理器:8086微处理器采用预取指令技 术。
※ 预取指令技术
提前将指令从存储器取到CPU内,每次执行时直 接从CPU内部获得指令。
14
整理课件
Intel 8086(8088)设置有6(4)个字节的ISQ, 当ISQ中出现2(1)个字节空时,CPU中的总线 接口单元将自动完成指令填充,当遇到分支、跳 转、子程序调用等情况时,ISQ会自动清空,并 从新的程序位置取出指令进行填充。
SI、DI常用于指令的间接寻址或变址寻址。 SI 在串操作时用作指示源串地址,DI在串操作时 用作指示目的串地址。
SP、BP、SI、DI既可指示地址,也可以用作数 据寄存器,存放操作数及中间结果
24
整理课件
3. 16位算术逻辑单元(ALU) 完成8位或者16位二进制算术和逻辑运算
4. 数据暂存寄存器 协助ALU完成运算,暂存参加运算的数据。
7
AX AH AL BX BH BL CX CH CL DX DH DL SP BP
SI DI
暂存器
EU
控
ALU
制
FLAG (EU)执行单元
CS DS SS ES IP
暂存器
总线 控制 逻辑
1 23456 指令队列
(BIU)总线接口单元
8
整理课件
2.1.2 总线接口单元(BIU)
一. BIU功能和组成
例: 设代码段寄存器CS的内容为1234H,指令指 针IP的内容为0022H,即(CS)=1234H,(IP)= 0022H,则访问代码段存储单元的物理地址计算如 下:
左移4位 12340
1234 0022
段基值 逻辑地址
偏移量
整理课件
+)
002 2
1236 2
物理地址
13
整理课件
4. 6字节的指令队列(ISQ)
例: 49H+6DH=B6H,就是73+109=182, 补码B6H表达真值是-74,显然运算结果不正确; 计算结果超出-128~+127范围,产生溢出,故 OF=1。
30
整理课件
奇偶标志PF(Parity Flag) – 当运算结果最低字节中“1”的个数为零或偶 数时,PF = 1;否则PF = 0 – PF 标 志 仅 反 映 最 低 8 位 中 “ 1” 的 个 数 是 偶或奇,即使是进行16位字操作
地址指针寄存器用于存放操作数的地址,编程 时通过修改寄存器的内容达到修改地址的目的。
通过地址指针寄存器寻址内存内的数据
SP为堆栈指针寄存器,指示栈顶的偏移地址, SP不能再用于其他目的,具有专用目的
23
整理课件
BP为基址指针寄存器,表示数据在堆栈段中一 个数据区的基地址,SP和BP寄存器与SS段寄存 器联合使用以确定堆栈段中的存储单元地址。
整理课件
对其中某8位的操作,并不影 响另外对应8位的数据 ;
数据寄存器用于存放操作数及 中间结果,也可以存放地址;
AX和AL可用作累加操作,因
此又可称作累加器。
21
每个寄存器又有它们各自的专用目的
– AX--累加器,使用频度最高; 用于算术、逻辑运算存放中间结果; 与外设传送信息等
整理课件
5. EU控制电路 从总线接口的指令队列取出指令操作码,通过译 码电路分析,发出相应的控制命令,控制ALU数 据流向。
25
6. 16位状态标志寄存器
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
整理课件
方 向
单符零 半 步号标 进
溢出标志OF(Overflow Flag) – 若算术运算结果有溢出,则OF=1; 否则 OF=0
例: 49H + 6DH =B6H,产生溢出:OF = 1 05H + 8BH =90H,没有溢出:OF = 0 29
整理课件
− 处理器内部以补码表示有符号数:
8位表达的整数范围是:+127~-128 16位表达的范围是:+32767~-32768。 如运算结果超出这个范围,就产生了溢出。有溢 出,说明有符号数的运算结果不正确
存器
总线控制逻辑 9
整理课件
二. BIU的内部组成 1. 段寄存器
– DS 数据段寄存器 (Data Segment) – CS 代码段寄存器 (Code Segment) – ES 扩展段寄存器 (Extra Segment) – SS 堆栈段寄存器 (Stack Segment) 8086对存储器采用分段管理,4个段寄存器分别 用于存放4个当前段的起始地址——基地址。 通常用CS、DS、ES以及SS确定代码段、数据段、 扩展段以及堆栈段的基地址。
进 奇借 偶位
标 志
中标志 借
断志
位
标标 志志
溢
中
1-结果为0 0-结果不为0
标 志
1-有进、借位
出
断
0-无进、借位
标
允 1-低4位向高4位有进、借位
志
许 0-低4位向高4位无进、借位 1-低8位有偶数个1
0-低8位有奇数个1 26
整理课件
标志——用于反映指令执行结果或控制指令执行 形式,8086处理器的各种标志形成了一个16位的 标志寄存器FLAGS
6个状态标志(用来记录程序运行结果的状态信 息,许多指令的执行都将相应设置)
CF ZF SF ZF PF OF 3个控制标志(可由程序根据需要用指令设置, 用于控制处理器执行指令的方式)
IF、DF、TF 剩下7位保留
27
整理课件
(1) 状态标志
– 进位标志CF(Carry Flag)
– 当运算结果的最高有效位有进位(加法)或 借位(减法)时,进位标志置1,即CF = 1; 否则CF = 0。
8086采用了流水线(Pipeline)设计技术。 5. 与EU通讯的内部寄存器 6. 总线控制逻辑
15
2.1.3 执行单元(EU)
整理课件
一. EU的功能与组成 EU的功能
从指令队列中取出指令; 对指令进行译码,发出相应的控制信号; 接收由总线接口送来的数据或发送数据至接口; 进行算术运算。 EU的组成
4
整理课件
寄存器组 CPU内部的高速存储单元,用来存放临时的数据或 地址。 从指令的角度来看,可以缩短指令长度和指令的执 行时间。
通用寄存器:既可以存放数据也可存放地址,使用 频度较高
地址寄存器:存放地址,用于寻址操作 标志寄存器:保存程序的运行状态
5
整理课件
指令处理单元 微处理器的控制器,负责对指令进行译码和处理。 指令寄存器:暂存被译码的指令 指令译码逻辑:负责对指令进行译码,从而确定指
例: 49H + 6DH=B6H,D3有进位:AF = 1
33
※状态标志寄存器举例: 0100 0101 0110 1010 1001 1001 1010 0011
运算后 CF=0 PF=1 OF=1 OF=Cs AF=1 ZF=0 SF=1
Cp=1
整理课件
3
整理课件
2.1.1 8086微处理器的功能结构 一. 微处理器基本结构
算术逻辑单元(Arithmetic Logic Unit, ALU) 微处理器的运算器,负责CPU的各种运算
寄存器组 CPU内部的高速存储单元,用来存放临时的数据或 地址。
指令处理单元 微处理器的控制器,负责对指令进行译码和处理。
例:49H + 6DH=B6H, 没有进位:CF = 0 BBH + 6AH=(1)25H,有进位:CF = 1
– 零标志ZF(Zero Flag)
– 若运算结果为0,则ZF = 1;否则ZF = 0
例:49H + 6DH=B6H,结果不是零:ZF = 0 75H + 8BH=(1)00H,结果是零:ZF = 128
例: 3AH + 7CH=B6H=10110110B 结果中有5个1,是奇数:PF = 0
32
整理课件
辅助进位标志AF( Auxiliary Carry Flag) – 运算时D3位(低半字节)有进位或借位时, AF = 1;否则AF = 0。 – 这个标志主要由处理器内部使用,用于十进 制算术运算调整指令中,用户一般不必关心
令的功能 时序和控制逻辑:根据指令要求,按照一定的时序
收发信号,控制计算机系统完成指令要求的操作。
6
整理课件
二. 8086/8088的功能结构 从功能上看,可以分为两大部分: 总线接口单元BIU (Bus Interface Unit):主要 负责物理地址的形成、预取指令、指令队列排 队、读/写操作数和总线控制。 执行单元EU (Execution Unit) :主要负责指 令译码和执行 8086CPU内部结构框图:
4个16位数据寄存器 4个16位地址指针寄
存器
16位标志寄存器
16位算术逻辑单元 EU控制电路 1个数据暂存寄存器 20
二. EU组成 1. 8086的数据寄存器 AX,BX,CX,DX------都是16位,也可做两
个8位寄存器使用( AH、AL、BH、BL、CH、 CL、DH、DL )。
– BX--基址寄存器 间接寻址中用于存放基地址
– CX--计数器 循环和串操作等指令中的隐含计数器
– DX--数据寄存器
存放双字长数据的高16位;
22
间接寻址的I/O指令中存放外设端口地址
整理课件
2. 8086的16位地址指针寄存器 – SP------堆栈指针寄存器 – BP------基址指针寄存器 – DI ------目的变址寄存器 – SI ------ 源变址寄存器
整理课件
大连理工大学控制学院
1
整理课件
第二章 16位微处理器8086
2.1 8086微处理器功能结构 2.2 8086对存储器和I/O的管理 2.3 8086的引脚和工作模式 2.4 8086的操作和时序
2
整理课件
2.1 8086微处理器的功能结构
2.1.1 8086微处理器的功能结构 2.1.2 总线接口单元 2.1.3 执行单元 2.1.4 8086/8088微处理器程序执行过程
34
整理课件
(2) 控制标志 方向标志DF(Direction Flag)
用于串操作指令中,控制地址的变化方向: − 设置DF=0,存储器地址自动增加,串操作
指令以递增顺序处理数据串; − 设置DF=1,存储器地址自动减少,串操作
指令以递减顺序处理数据串。
例: CLD指令复位方向标志:DF=0 STD指令置位方向标志:DF=1
IP寄存器是一个专用寄存器,可以用转移指令、 调用指令及中断和复位等改变IP值。
11
整理课件
3. 20位地址加法器 产生20位地址(物理地址)。CPU内无论是段 地址寄存器还是偏移量都是16位的,通过地址 加法器产生20位地址(物理地址)。 段地址左移4位+段内偏移量 20位实际物理地址 段地址×16+段内偏移量 20位实际物理地址
BIU的功能
从内存取指令送到指令队列
整理课件
微处理器执行指令时,到指定的位置(内存单元 或者外设端口)取操作数,并将其送给执行单元; 或者把执行单元的操作结果送至要求的位置中。
BIU包括: 4个16位段地址寄存器
1个16位指令指针寄存 器
20位地址加法器
6字节的指令队列 与 EU 通 讯 的 内 部 寄
36
整理课件
段寄存器的内容与有效的偏移地址一起,用于确10 定内存的物理地址。
整理课件
2. 指令指针寄存器IP
指示代码段中指令的偏移地址,IP指向当前代 码段(CS)所要取出的下一条指令的地址。
与代码段寄存器CS联用,确定下一条指令的物 理地址,每取出一个字节指令后,IP自动加1。 计算机通过CS : IP寄存器来控制指令序列的执 行流程
35
整理课件
中断允许标志IF(Interrupt-enable Flag) 用于控制外部可屏蔽中断是否可以被处理器响应:
− 设置IF=1,CPU允许接收外部可屏蔽中断请 求,即开中断;
− 设置IF=0,则禁止中断,即关中断。
例: CLI指令复位中断标志:IF=0 STI指令置位中断标志:IF=1
整理课件
符号标志SF(Sign Flag ) – 运算结果最高位为1,则SF = 1;否则SF = 0 。 – 有符号数据用最高有效位表示数据的符号, 所以,最高有效位就是符号标志的状态
例: 49H + 6DH=B6H,最高位为1:SF = 1 75H + 8BH=(1)00H,最高位为0:SF = 0
取指令 指令译码 指令执行,在指令执行时根 据需要在存储器中取操作数。
➢ 8位微处理器:按照这三步循环工作每次需到 存储器取指令。
➢ 16位微处理器:8086微处理器采用预取指令技 术。
※ 预取指令技术
提前将指令从存储器取到CPU内,每次执行时直 接从CPU内部获得指令。
14
整理课件
Intel 8086(8088)设置有6(4)个字节的ISQ, 当ISQ中出现2(1)个字节空时,CPU中的总线 接口单元将自动完成指令填充,当遇到分支、跳 转、子程序调用等情况时,ISQ会自动清空,并 从新的程序位置取出指令进行填充。
SI、DI常用于指令的间接寻址或变址寻址。 SI 在串操作时用作指示源串地址,DI在串操作时 用作指示目的串地址。
SP、BP、SI、DI既可指示地址,也可以用作数 据寄存器,存放操作数及中间结果
24
整理课件
3. 16位算术逻辑单元(ALU) 完成8位或者16位二进制算术和逻辑运算
4. 数据暂存寄存器 协助ALU完成运算,暂存参加运算的数据。
7
AX AH AL BX BH BL CX CH CL DX DH DL SP BP
SI DI
暂存器
EU
控
ALU
制
FLAG (EU)执行单元
CS DS SS ES IP
暂存器
总线 控制 逻辑
1 23456 指令队列
(BIU)总线接口单元
8
整理课件
2.1.2 总线接口单元(BIU)
一. BIU功能和组成