第二章 微型计算机概论主要内容
1.微型机的基本结构
2,8088( 8086)微处理器的工作原理微机原理与应用3
微型计算机系统概述算术逻辑部件累加器、寄存器控制部件内部总线存储器 (ROM.RAM)
输入输出接口系统总线微处理器微型计算机微型计算机系统外部设备系统软件以一台个人电脑为例。
CPU就是 微处理器,内存就是 存储器 (不是硬盘),
主板上的各种接口就是 输入输出接口,而 系统总线在主板上。
鼠标,键盘,扫描仪,打印机就是 外部设备,而 系统软件 就是
WIN98,DOS,UNIX等等操作系统。
微机原理与应用4
计算机系统组成
CPU
存储器主机 输入 /输出接口硬件系统 总线外设微机系统系统软件软件系统应用软件微机原理与应用5
微型计算机总线系统数据总线 DB
地址总线 AB
控制总线 CB
微处理器
CPU 存储器输入 /输出接口电路数 据 总 线地 址 总 线外 围设 备控 制 总 线微机原理与应用6
思考数据总线,用来传输数据。从结构上看,数据总线是双向的,即数据即可从 CPU送到其他部件,也可从其它部件送到 CPU.
数据总线上传送的一定是数据吗?
答:在微型机中,数据的含义也是广义的。
数据总线上传送的不一定是真正的数据,
还有可能是指令代码、状态量或控制量数 据 总 线微机原理与应用7
地址总线,专门用来传送地址信息。由于地址总是从 CPU送出的,所以和数据线不同,地址总线是单向的。地址总线的位数决定了 CPU可以直接寻址的内存范围。
地 址 总 线微机原理与应用8
控制总线,用来传输控制信号。其中包括
CPU送往存储器和 I/O接口电路的控制信号,
如读信号、写信号和中断响应信号等 ;还包括其他部件送到 CPU的信号,如时钟信号、中断请求信号和准备就绪信号。
控 制 总 线微机原理与应用9
微处理器的 组成 和 功能微处理器 (Microprocessor)是微型机算计的运算及控制部件,也称为中央处理单元( CPU)。
它本身不构成独立的工作系统,因而它也不能独立地执行程序。
组成,由算术逻辑单元( ALU),寄存器阵列、控制单元和片内总线组成,是计算机系统的核心,一般由大规模集成电路构成微机原理与应用10
微处理器的功能
1 保存少量的数据
2 计算功能
3 控制功能
4 编程功能微机原理与应用11
存储器( Memory)
存储器又叫内存或主存,是微型计算机的存储和记忆部件,用于存放数据和当前执行的程序。
有关内存储器的几个概念:
内存单元的地址和内容内存容量内存的操作内存的分类微机原理与应用12
内存单元的地址和内容每个单元都对应一个地址,以实现对单元内容的寻址。
1011011038F04H
内存地址单元内容微机原理与应用13
内存容量内存所含存储单元的个数,以字节为单位。
内存容量的大小依 CPU的寻址范围而定(即
CPU地址信号线的位数)
R0
R1
R2
R14
R15
A0
A1
A2
A3
D2 D3D4 D5 D6 D7D0 D1
0000
0001
1111
1110
0010
.
.
.
位译码器注意观察,存储单元、位、单元地址、地址线根数微机原理与应用14
存储器存储器由寄存器组成,可以看看作是一个寄存器堆,每个存储单元实际上相当于一个缓冲寄存器。
地址线与地址数对照表
n 可编译的地址号数
n 可编译的地址号数
2 4 10 1024=1K
3 8 11 2048=2K
4 16 12 4096=4K
5 32 13 8192=8K
6 64 14 16384=16K
7 128 15 32768=32K
8 256 16 65536=64K
9 512=0.5K
译码器 D76543210A0123R3416 x 8存储器微机原理与应用15
内存操作读:将内存单元的内容取入 CPU,原单元内容不改变写,CPU将信息放入内存单元,单元中原来的内容被覆盖内存储器按工作方式可分为,
随机存取存储器( RAM)
只读存储器( ROM)
微机原理与应用16
只读存储器 (ROM)
ROM是用以存放固定程序的存储器,一旦程序放进去之后,即不可改变,不能再,写,入新的字节,而只能从中,读,出其所有存储的内容,因此称为只读存储器。
ROM符号微机原理与应用17
随机存储器 (RAM)
随机存储器又叫读 /写存储器,它不但能读取已存放在其各个存储单元中的数据,而且还能够随时写进新的数据,或者改写原来的数据。因此,RAM
的每一个存储单元相当于一个可控缓冲寄存器。
RAM的符号微机原理与应用18
输入 /输出接口接口是 CPU与外部设备间的桥梁
CPU I/O
接口外设接口的功能:
数据缓冲寄存信号电平或类型的转换实现主机与外设间的运行匹配微机原理与应用19
计算机的工作原理将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存指令按其在存储器中存放的顺序执行由控制器控制整个程序和数据的存取以及程序的执行以运算器为核心,所有的执行都经过运算器冯? 诺依曼机的特点:
微机原理与应用20
一,执行部件二,总线接口部件四 存储器的结构
8086/8088 CPU 的结构三,总线接口和执行部件的动作管理
与传统工作方式的不同微机原理与应用21
ALU
执行部分控制电路输入 /输出控制电路地址加法器
20位
16位指令队列缓冲器8位执行部件 ( EU) 总线接口部件 ( BIU)
外部总线16位运算寄存器标志寄存器通用寄存器
8086CPU结构图段寄存器DLCL
BL
AL
SI
DI
BP
SP
DH
CH
BH
AH
内部暂存器
IP
ES
SS
DS
CS
微机原理与应用22
执行部件 (E U)总线接口部件 (BIU)
BIU负责与存储器,I/O端口,即 8086/8088CPU
与存储器之间的信息传送。具体地说,即 BIU负责从内存的指定部分取出指令,送到指令流队列中排队;在执行指令是所需的操作数,也由 BIU
从内存的指定区域取出,传送给 EU部分去执行。
EU部分负责指令的执行。
微机原理与应用23
(一)计算机 CPU动作的基本步骤在时钟信号协调下,产生一系列控制信号,控制 CPU
各部分。基本步骤如下:
1,从内存取指令,同时 IP修正;
2,识别,分析操作码;
3,如果需要,从 M中取数;
4,执行;
5,如果需要,向 M送结果;
6,每一条指令执行时重复执行 1—5。
BIU与 EU的动作管理微机原理与应用24
8086CPU分 EU和 BIU,每部分负责不同工作。条件允许时,可按特定规则有管理地并行工作:
1) 取指 ——由 BIU完成,给出 CS,IP,并修正 IP;
2) 识别 ——由 EU完成 ;
3) 取数 ——由 BIU完成,EU给出偏、段地址,BIU获物理地址,取数;
4) 执行 ——由 EU完成 ;
5) 送结果 ——由 BIU完成,EU给出段:偏,BIU求得物理地址,并送结果。
BIU与 EU工作不冲突,可并行。
(三 ) 8086动作管理微机原理与应用25
思考
(四)与传统工作方式有哪些不不同?
1,传统的计算机在执行指令时,总是相继地进行提取指令和执行指令的动作,也就是说,指令的提取和执行是串行进行的。
2,在 8086/8088中,指令的提取和执行是分别由总线接口部件和执行部件完成的,总线控制逻辑和指令执行逻辑之间既互相独立又互相配合。总线接口部件和执行部件的这种并行工作方式,有力地提高了工作效率,这也正是 8086/8088成功的原因之一。
微机原理与应用26
寄存器(一)
AH AL
BH BL
CH CL
DH DL
SP
BP
SI
DI
通用寄存器专用寄存器
AX 累加器
BX 基 数
CX 计 数
DX 数 据堆栈指针基数指针目的变址源 变 址微机原理与应用27
指令指针指令指针( Instruction pointer) IP
类似与程序计数器 PC( Program counter),但是它们又略有不同
1) 指令存于代码段
2) IP为下一条指令的第一个字节地址(段内偏移)
3) IP可以自动修正( CPU以字节为单位取指)
4) CS,IP( IP的默认段寄存器为 CS)
微机原理与应用28
指令队列缓冲器它有六个字节,预取指令队列,提高
CPU效率。
微机原理与应用29
标志寄存器
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用30
标志寄存器
OF 溢出标志寄存器运算过程中产生溢出时为 1,所谓溢出,是指当字节运算的结果超出了范围 –128—+127,或者当字运算的结果超出了范围 –32768— +32767时称为溢出
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用31
标志寄存器
DF 方向标志寄存器控制串操作指令用的标志。
串操作过程中的地址会不断增值为 0,
串操作过程中的地址会不断减值为 1。
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用32
标志寄存器
IF 中断标志寄存器控制可屏蔽中断的标志。为 0时 CPU不能对可屏蔽中断请求作出响应; 为 1时 CPU可以接受可屏蔽中断请求
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用33
标志寄存器
TF 跟踪标志寄存器
CPU按跟踪方式执行指令
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用34
标志寄存器
SF 符号标志寄存器与运算结果的最高位相同,当数据用补码表示时,负数的最高位为 1,所以,符号标志表示运算执行后的结果是正还是负
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用35
标志寄存器
ZF 零标志寄存器当前的运算结果为零此标志位为 1(真),
当前的运算结果为非零此标志位为 0(假)
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用36
标志寄存器
AF 辅助 标志寄存器加法运算时,如果第 3位往第 4位有进位为 1;
减法运算时,如果第 3位往第 4位有借位为 1。
辅助进位标志一般在 BCD码运算中作为是否进行十进制调整的判断依据
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用37
标志寄存器
PF 奇偶标志寄存器运算结果的低 8位中所含 1的个数为偶数时为 1
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用38
标志寄存器
CF 进位标志寄存器当执行一个加法运算使最高位产生进位时为 1,
或者执行一个减法运算引起最高位产生借位时为
1,此外,循环指令也会影响这一标志
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用39
存储器的结构一 存储器的分段二 存储器的地址存储器的逻辑地址存储器的物理地址三 堆栈微机原理与应用40
存储器的分段
1 段
=64K字节
00000
16个逻辑段
15 段
…
…
0FFFF
10000
0 段
1FFFF
F0000
FFFFF
=64K字节
=64K字节为了解决 20位地址和 16位寄存器之间的矛盾,在 8086/8088系统中,
把 1M存储空间分成若干个逻辑段,
并允许它们在整个存储空间浮动,即段与段之间可以部分重叠,连续排列或断续排列。对于 任何一个物理地址,可以唯一地被包含在一个逻辑段中,也可包含在多个相互重叠的逻辑段中,只要有段地址和段内偏移地址就可以访问到这个物理地址所对应的存储空间。
8086/8088系统中存储器按 字节 编址,可寻址的存储器空间为 1M
字节,因此每个字节所对应的地址是 20位。
微机原理与应用41
代码段、数据段与堆栈段
≤64KB
≤64KB
≤64KB
≤64KB
00000
10550
250A0
8FFB0
EFF00
FFFFF
代码段数据段附加段堆栈段
1055
250A
8FFB
EFF0
CS
DS
ES
SS
在 8086/8088的存储器空间中,为了简化操作,要求各个逻辑段从节( 16字节)的整数边界开始,即段首地址低四位为,0”,把段首地址的高 16位称为,段基址,存放在段寄存器 DS或 CS或 SS或 ES中。
BIU中的地址加法器用来实现逻辑地址到物理地址的变换
8088 可同时访问 4个段,4个段寄存器指示了每个段的基地址段基址段内偏移物理地址
+
16位
20位
0000
微机原理与应用43
存储器的物理地址和逻辑地址在采用分段结构的存储器中,每一个存储单元可以看成具有两种类型的地址,物理地址和逻辑地址 。
逻辑地址 由段基址和偏移地址两个部分构成,它们都是无符号的 16位二进制数。
物理地址 也称为绝对地址,它是 20位的,是唯一标识 1M字节空间的某一字节的地址。它是由逻辑地址变换得来的。
当 CPU需要访问存储器时,必须完成如下的地址运算,
物理地址 = 段基址 X 16 + 偏移地址微机原理与应用44
例题已知 (CS)=1055H,(DS)=250AH
(ES)=2EF0H,(SS)=8FF0H
某操作数偏移地址 =0204H
画出各段在内存中的分布、段首地址及操作数的物理地址
10550H
250A0H
2EF00H
8FF00H
CS
DS
ES
SS
设操作数在数据段,则操作数的物理地址为:
250AH × 16+0204H = 252A4H
微机原理与应用45
堆 栈在主程序中往往要调用子程序或要处理中断,这时就要暂时停下主程序的执行,转去执行子程序 ( 或中断服务程序 ) 。 此时机器必须保留的值应有:
( 1) 把主程序中调用子程序指令的下一条指令的地址值 —
—即 PC( 8086/8088中则为码段寄存器 CS和指令指针 IP)
保留下来 。
( 2) 执行子程序时,通常都要用到内部寄存器,并且执行的结果会影响标志位,所以也必须把在调用子程序前的主程序保留在寄存器中的中间结果和标志位的状态保留下来 。
为什么需要 堆栈?什么是堆栈?
微机原理与应用46
堆 栈(续一)
主程序执行子程序继续执行主程序
X1
X2
2
主程序执行子程序
2继续执行主程序
X1
X2
Y1
Y2
如果在子程序中还会调用别的子程序时,这不仅 需要把许多个信息保留下来,而且要将保证逐次正确返回,就要求后保留的值先取出来,也即数据要按照后进先出( last in first out)
的原则保留,能实现这样要求的存贮区就是堆栈。
微机原理与应用47
堆 栈(续二)
定义,堆栈是以,后进先出,方式工作的一个存储区,它必须存在于堆栈段中,其段地址应存放于 SS寄存器中 。 它只有一个出口,所以只有一个堆栈指针寄存器 SP,SP的内容在任何时候都指向当前的栈顶 。
动画
1.微型机的基本结构
2,8088( 8086)微处理器的工作原理微机原理与应用3
微型计算机系统概述算术逻辑部件累加器、寄存器控制部件内部总线存储器 (ROM.RAM)
输入输出接口系统总线微处理器微型计算机微型计算机系统外部设备系统软件以一台个人电脑为例。
CPU就是 微处理器,内存就是 存储器 (不是硬盘),
主板上的各种接口就是 输入输出接口,而 系统总线在主板上。
鼠标,键盘,扫描仪,打印机就是 外部设备,而 系统软件 就是
WIN98,DOS,UNIX等等操作系统。
微机原理与应用4
计算机系统组成
CPU
存储器主机 输入 /输出接口硬件系统 总线外设微机系统系统软件软件系统应用软件微机原理与应用5
微型计算机总线系统数据总线 DB
地址总线 AB
控制总线 CB
微处理器
CPU 存储器输入 /输出接口电路数 据 总 线地 址 总 线外 围设 备控 制 总 线微机原理与应用6
思考数据总线,用来传输数据。从结构上看,数据总线是双向的,即数据即可从 CPU送到其他部件,也可从其它部件送到 CPU.
数据总线上传送的一定是数据吗?
答:在微型机中,数据的含义也是广义的。
数据总线上传送的不一定是真正的数据,
还有可能是指令代码、状态量或控制量数 据 总 线微机原理与应用7
地址总线,专门用来传送地址信息。由于地址总是从 CPU送出的,所以和数据线不同,地址总线是单向的。地址总线的位数决定了 CPU可以直接寻址的内存范围。
地 址 总 线微机原理与应用8
控制总线,用来传输控制信号。其中包括
CPU送往存储器和 I/O接口电路的控制信号,
如读信号、写信号和中断响应信号等 ;还包括其他部件送到 CPU的信号,如时钟信号、中断请求信号和准备就绪信号。
控 制 总 线微机原理与应用9
微处理器的 组成 和 功能微处理器 (Microprocessor)是微型机算计的运算及控制部件,也称为中央处理单元( CPU)。
它本身不构成独立的工作系统,因而它也不能独立地执行程序。
组成,由算术逻辑单元( ALU),寄存器阵列、控制单元和片内总线组成,是计算机系统的核心,一般由大规模集成电路构成微机原理与应用10
微处理器的功能
1 保存少量的数据
2 计算功能
3 控制功能
4 编程功能微机原理与应用11
存储器( Memory)
存储器又叫内存或主存,是微型计算机的存储和记忆部件,用于存放数据和当前执行的程序。
有关内存储器的几个概念:
内存单元的地址和内容内存容量内存的操作内存的分类微机原理与应用12
内存单元的地址和内容每个单元都对应一个地址,以实现对单元内容的寻址。
1011011038F04H
内存地址单元内容微机原理与应用13
内存容量内存所含存储单元的个数,以字节为单位。
内存容量的大小依 CPU的寻址范围而定(即
CPU地址信号线的位数)
R0
R1
R2
R14
R15
A0
A1
A2
A3
D2 D3D4 D5 D6 D7D0 D1
0000
0001
1111
1110
0010
.
.
.
位译码器注意观察,存储单元、位、单元地址、地址线根数微机原理与应用14
存储器存储器由寄存器组成,可以看看作是一个寄存器堆,每个存储单元实际上相当于一个缓冲寄存器。
地址线与地址数对照表
n 可编译的地址号数
n 可编译的地址号数
2 4 10 1024=1K
3 8 11 2048=2K
4 16 12 4096=4K
5 32 13 8192=8K
6 64 14 16384=16K
7 128 15 32768=32K
8 256 16 65536=64K
9 512=0.5K
译码器 D76543210A0123R3416 x 8存储器微机原理与应用15
内存操作读:将内存单元的内容取入 CPU,原单元内容不改变写,CPU将信息放入内存单元,单元中原来的内容被覆盖内存储器按工作方式可分为,
随机存取存储器( RAM)
只读存储器( ROM)
微机原理与应用16
只读存储器 (ROM)
ROM是用以存放固定程序的存储器,一旦程序放进去之后,即不可改变,不能再,写,入新的字节,而只能从中,读,出其所有存储的内容,因此称为只读存储器。
ROM符号微机原理与应用17
随机存储器 (RAM)
随机存储器又叫读 /写存储器,它不但能读取已存放在其各个存储单元中的数据,而且还能够随时写进新的数据,或者改写原来的数据。因此,RAM
的每一个存储单元相当于一个可控缓冲寄存器。
RAM的符号微机原理与应用18
输入 /输出接口接口是 CPU与外部设备间的桥梁
CPU I/O
接口外设接口的功能:
数据缓冲寄存信号电平或类型的转换实现主机与外设间的运行匹配微机原理与应用19
计算机的工作原理将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存指令按其在存储器中存放的顺序执行由控制器控制整个程序和数据的存取以及程序的执行以运算器为核心,所有的执行都经过运算器冯? 诺依曼机的特点:
微机原理与应用20
一,执行部件二,总线接口部件四 存储器的结构
8086/8088 CPU 的结构三,总线接口和执行部件的动作管理
与传统工作方式的不同微机原理与应用21
ALU
执行部分控制电路输入 /输出控制电路地址加法器
20位
16位指令队列缓冲器8位执行部件 ( EU) 总线接口部件 ( BIU)
外部总线16位运算寄存器标志寄存器通用寄存器
8086CPU结构图段寄存器DLCL
BL
AL
SI
DI
BP
SP
DH
CH
BH
AH
内部暂存器
IP
ES
SS
DS
CS
微机原理与应用22
执行部件 (E U)总线接口部件 (BIU)
BIU负责与存储器,I/O端口,即 8086/8088CPU
与存储器之间的信息传送。具体地说,即 BIU负责从内存的指定部分取出指令,送到指令流队列中排队;在执行指令是所需的操作数,也由 BIU
从内存的指定区域取出,传送给 EU部分去执行。
EU部分负责指令的执行。
微机原理与应用23
(一)计算机 CPU动作的基本步骤在时钟信号协调下,产生一系列控制信号,控制 CPU
各部分。基本步骤如下:
1,从内存取指令,同时 IP修正;
2,识别,分析操作码;
3,如果需要,从 M中取数;
4,执行;
5,如果需要,向 M送结果;
6,每一条指令执行时重复执行 1—5。
BIU与 EU的动作管理微机原理与应用24
8086CPU分 EU和 BIU,每部分负责不同工作。条件允许时,可按特定规则有管理地并行工作:
1) 取指 ——由 BIU完成,给出 CS,IP,并修正 IP;
2) 识别 ——由 EU完成 ;
3) 取数 ——由 BIU完成,EU给出偏、段地址,BIU获物理地址,取数;
4) 执行 ——由 EU完成 ;
5) 送结果 ——由 BIU完成,EU给出段:偏,BIU求得物理地址,并送结果。
BIU与 EU工作不冲突,可并行。
(三 ) 8086动作管理微机原理与应用25
思考
(四)与传统工作方式有哪些不不同?
1,传统的计算机在执行指令时,总是相继地进行提取指令和执行指令的动作,也就是说,指令的提取和执行是串行进行的。
2,在 8086/8088中,指令的提取和执行是分别由总线接口部件和执行部件完成的,总线控制逻辑和指令执行逻辑之间既互相独立又互相配合。总线接口部件和执行部件的这种并行工作方式,有力地提高了工作效率,这也正是 8086/8088成功的原因之一。
微机原理与应用26
寄存器(一)
AH AL
BH BL
CH CL
DH DL
SP
BP
SI
DI
通用寄存器专用寄存器
AX 累加器
BX 基 数
CX 计 数
DX 数 据堆栈指针基数指针目的变址源 变 址微机原理与应用27
指令指针指令指针( Instruction pointer) IP
类似与程序计数器 PC( Program counter),但是它们又略有不同
1) 指令存于代码段
2) IP为下一条指令的第一个字节地址(段内偏移)
3) IP可以自动修正( CPU以字节为单位取指)
4) CS,IP( IP的默认段寄存器为 CS)
微机原理与应用28
指令队列缓冲器它有六个字节,预取指令队列,提高
CPU效率。
微机原理与应用29
标志寄存器
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用30
标志寄存器
OF 溢出标志寄存器运算过程中产生溢出时为 1,所谓溢出,是指当字节运算的结果超出了范围 –128—+127,或者当字运算的结果超出了范围 –32768— +32767时称为溢出
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用31
标志寄存器
DF 方向标志寄存器控制串操作指令用的标志。
串操作过程中的地址会不断增值为 0,
串操作过程中的地址会不断减值为 1。
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用32
标志寄存器
IF 中断标志寄存器控制可屏蔽中断的标志。为 0时 CPU不能对可屏蔽中断请求作出响应; 为 1时 CPU可以接受可屏蔽中断请求
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用33
标志寄存器
TF 跟踪标志寄存器
CPU按跟踪方式执行指令
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用34
标志寄存器
SF 符号标志寄存器与运算结果的最高位相同,当数据用补码表示时,负数的最高位为 1,所以,符号标志表示运算执行后的结果是正还是负
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用35
标志寄存器
ZF 零标志寄存器当前的运算结果为零此标志位为 1(真),
当前的运算结果为非零此标志位为 0(假)
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用36
标志寄存器
AF 辅助 标志寄存器加法运算时,如果第 3位往第 4位有进位为 1;
减法运算时,如果第 3位往第 4位有借位为 1。
辅助进位标志一般在 BCD码运算中作为是否进行十进制调整的判断依据
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用37
标志寄存器
PF 奇偶标志寄存器运算结果的低 8位中所含 1的个数为偶数时为 1
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用38
标志寄存器
CF 进位标志寄存器当执行一个加法运算使最高位产生进位时为 1,
或者执行一个减法运算引起最高位产生借位时为
1,此外,循环指令也会影响这一标志
CFPFAFZFSFTFIFDFOF
0123456789101112131415
微机原理与应用39
存储器的结构一 存储器的分段二 存储器的地址存储器的逻辑地址存储器的物理地址三 堆栈微机原理与应用40
存储器的分段
1 段
=64K字节
00000
16个逻辑段
15 段
…
…
0FFFF
10000
0 段
1FFFF
F0000
FFFFF
=64K字节
=64K字节为了解决 20位地址和 16位寄存器之间的矛盾,在 8086/8088系统中,
把 1M存储空间分成若干个逻辑段,
并允许它们在整个存储空间浮动,即段与段之间可以部分重叠,连续排列或断续排列。对于 任何一个物理地址,可以唯一地被包含在一个逻辑段中,也可包含在多个相互重叠的逻辑段中,只要有段地址和段内偏移地址就可以访问到这个物理地址所对应的存储空间。
8086/8088系统中存储器按 字节 编址,可寻址的存储器空间为 1M
字节,因此每个字节所对应的地址是 20位。
微机原理与应用41
代码段、数据段与堆栈段
≤64KB
≤64KB
≤64KB
≤64KB
00000
10550
250A0
8FFB0
EFF00
FFFFF
代码段数据段附加段堆栈段
1055
250A
8FFB
EFF0
CS
DS
ES
SS
在 8086/8088的存储器空间中,为了简化操作,要求各个逻辑段从节( 16字节)的整数边界开始,即段首地址低四位为,0”,把段首地址的高 16位称为,段基址,存放在段寄存器 DS或 CS或 SS或 ES中。
BIU中的地址加法器用来实现逻辑地址到物理地址的变换
8088 可同时访问 4个段,4个段寄存器指示了每个段的基地址段基址段内偏移物理地址
+
16位
20位
0000
微机原理与应用43
存储器的物理地址和逻辑地址在采用分段结构的存储器中,每一个存储单元可以看成具有两种类型的地址,物理地址和逻辑地址 。
逻辑地址 由段基址和偏移地址两个部分构成,它们都是无符号的 16位二进制数。
物理地址 也称为绝对地址,它是 20位的,是唯一标识 1M字节空间的某一字节的地址。它是由逻辑地址变换得来的。
当 CPU需要访问存储器时,必须完成如下的地址运算,
物理地址 = 段基址 X 16 + 偏移地址微机原理与应用44
例题已知 (CS)=1055H,(DS)=250AH
(ES)=2EF0H,(SS)=8FF0H
某操作数偏移地址 =0204H
画出各段在内存中的分布、段首地址及操作数的物理地址
10550H
250A0H
2EF00H
8FF00H
CS
DS
ES
SS
设操作数在数据段,则操作数的物理地址为:
250AH × 16+0204H = 252A4H
微机原理与应用45
堆 栈在主程序中往往要调用子程序或要处理中断,这时就要暂时停下主程序的执行,转去执行子程序 ( 或中断服务程序 ) 。 此时机器必须保留的值应有:
( 1) 把主程序中调用子程序指令的下一条指令的地址值 —
—即 PC( 8086/8088中则为码段寄存器 CS和指令指针 IP)
保留下来 。
( 2) 执行子程序时,通常都要用到内部寄存器,并且执行的结果会影响标志位,所以也必须把在调用子程序前的主程序保留在寄存器中的中间结果和标志位的状态保留下来 。
为什么需要 堆栈?什么是堆栈?
微机原理与应用46
堆 栈(续一)
主程序执行子程序继续执行主程序
X1
X2
2
主程序执行子程序
2继续执行主程序
X1
X2
Y1
Y2
如果在子程序中还会调用别的子程序时,这不仅 需要把许多个信息保留下来,而且要将保证逐次正确返回,就要求后保留的值先取出来,也即数据要按照后进先出( last in first out)
的原则保留,能实现这样要求的存贮区就是堆栈。
微机原理与应用47
堆 栈(续二)
定义,堆栈是以,后进先出,方式工作的一个存储区,它必须存在于堆栈段中,其段地址应存放于 SS寄存器中 。 它只有一个出口,所以只有一个堆栈指针寄存器 SP,SP的内容在任何时候都指向当前的栈顶 。
动画