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#为高阻态。

8086 CPU内部结构

8086 CPU内部结构

课题:8086微处理结构一、8086 CPU的内部结构:图解分析:1、8086 CPU从功能上可分为:总线接口部件BIU(Bus Interface Unit)执行部件EU(Execution Unit)2、BIU:负责与存储器、外部设备之间进行信息交换。

功能:①负责从内存指定单元取出指令,并送到6字节的指令队列中排列;②同时负责从内存指定单元取出指令所需的操作数并送EU;③EU运算结果也由BIU负责写入内存指定单元。

组成:20位的地址加法器段寄存器(CS、DS、ES、SS)指令指针(IP)指令队列缓存器总线控制电路各组件功能:①地址加法器:计算并形成CPU要访问的内存单元的20位物理地址;②段寄存器:用于存放对应段的段基址;③指令指针寄存器:用于存放下一条要执行的指令的偏移地址;④指令队列:是6字节的“先进先出”的RAM存储器,用于顺序存放CPU要执行的指令,并送EU去执行;⑤总线控制电路:产生总线控制信号,如存储器读/写、I/O读写控制信号。

3、EU:负责指令的执行。

功能:①负责从BIU的指令队列中取得指令、分析指令、执行指令,并将结果存入通用寄存器或由BIU写入内存单元;②同时负责计算操作数所在内存单元的偏移地址。

组成:算术逻辑单元(ALU)标志寄存器通用寄存器:数据寄存器:AX、BX、CX、DX指针和变址寄存器:SP、BP、SI、DIEU控制电路各组件的功能:①算术逻辑单元(ALU):对操作数进行算术和逻辑运算,也可按指令的寻址方式计算出CPU要访问的内存单元的16位偏移地址;②标志寄存器:用于反映算术和逻辑运算结果的状态;③数据寄存器:用于保存操作数或运算结果等信息;④指针和变址寄存器:用于存放操作数所处存储单元的偏移地址;⑤EU控制电路:接收从BIU指令队列中取得的指令,分析、译码,以便形成各种实时控制信号,对各个部件实现特定的控制操作。

【教学课件】第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 最小模式和最大模式的概念

寄存器结构、存储器管理

寄存器结构、存储器管理

08
例: MOV AX, [BX+03H]
CX——Count可以作计数寄存器使用。 在循环LOOP指令和串处理指令中用作隐含计数器。 例: MOV CX , 200H AGAIN: …… …… LOOP AGAIN ;(CX)-1(CX),结果0转AGAIN DX——Data可以作为数据寄存器使用。 一般在双字长乘除法运算时, 把DX和AX组合在一起存放一个双字长(32位)数,DX用来存放高16位; 对某些I/O操作DX可用来存放I/O的端口地址(口地址 256)。 例: MUL BX ; (AX)(BX)(DX)(AX) 例: IN AL , DX
奇偶标志PF(Parity Flag)
若算术运算的结果有溢出,则OF=1;
否则 OF=0
3AH + 7CH=B6H,产生溢出:OF=1 AAH + 7CH=(1)26H,没有溢出:OF=0
溢出标志OF(Overflow Flag)
3AH+7CH=B6H,就是58+124=182,
什么是溢出
处理器内部以补码表示有符号数 8位表达的整数范围是:+127 ~ -128 16位表达的范围是:+32767 ~ -32768 如果运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确
01
AX——(Accumulator)作为累加器。
02
它是算术运算的主要寄存器,
03
所有I/O指令都使用这一寄存器与外部设备交换数据。
04
例: IN AL , 20H
05
OUT 30H , AX
06
BX——Base用作基址寄存器使用。
07
在计算内存储器地址时,经常用来存放基址。
0

微机原理课件第二章 8086系统结构

微机原理课件第二章 8086系统结构

但指令周期不一定都大于总线周期,如MOV AX,BX
操作都在CPU内部的寄存器,只要内部总线即可完成,不 需要通过系统总线访问存储器和I/O接口。
2021/8/17
17
• 8086CPU的典型总线时序,充分体现了总 线是严格地按分时复用的原则进行工作的。 即:在一个总线周期内,首先利用总线传 送地址信息,然后再利用同一总线传送数 据信息。这样减少了CPU芯片的引脚和外 部总线的数目。
• 执行部件(EU)
• 功能:负责译码和执行指令。
2021/8/17
5
• 联系BIU和EU的纽带为流水指令队列
• 队列是一种数据结构,工作方式为先进先出。写入的指令 只能存放在队列尾,读出的指令是队列头存放的指令。
2021/8/17
6
•BIU和EU的动作协调原则 BIU和EU按以下流水线技术原则协调工作,共同完成所 要求的任务: ①每当8086的指令队列中有空字节,BIU就会自动把下 一条指令取到指令队列中。 ②每当EU准备执行一条指令时,它会从BIU部件的指令 队列前部取出指令的代码,然后译码、执行指令。在执 行指令的过程中,如果必须访问存储器或者I/O端口, 那么EU就会请求BIU,完成访问内存或者I/O端口的操 作; ③当指令队列已满,且EU又没有总线访问请求时,BIU 便进入空闲状态。(BIU等待,总线空操作) ④开机或重启时,指令队列被清空;或在执行转移指令、 调用指令和返回指令时,由于待执行指令的顺序发生了 变化,则指令队列中已经装入的字节被自动消除,BIU会 接着往指令队列装入转向的另一程序段中的指令代码。 (EU等待)
•CF(Carry Flag)—进位标志位,做加法时最高位出现进位或 做减法时最高位出现借位,该位置1,反之为0。

chap-(5)

chap-(5)

思考题:
8086/8088CPU在响应外界中断请求后,需要 进入中断响应周期,分析该周期有什么特点?
8086的中断响应要用两个总线周期。如果在前一个总 线周期中,CPU接收到外界的中断请求信号,而中断允许标 志IF正好为1,并且正好一条指令执行完毕,那么,CPU会 在当前总线周期和下一个总线周期中,从 INTA引腿上往外 设接口各发一个负脉冲。这两个负脉冲都将从T2一直维持 到T4状态开始。外设接口收到第二个负脉冲以后,立即把 中断类型码送到数据总线的低8位D7~D0上,通过CPU的地址 /数据引腿AD7~AD0传输给CPU。这两个总线周期的其余时间 , AD7~AD0是浮空的。
D15~D0 D15~D8 D7~D0
A19~A1 A0 BHE
SEL A19~A1
高8位奇库
SEL A19~A1
低8位偶库
512K * 8 D15~D8
D15~D8 D7~D0
512K * 8 D7~D0
8086与存储器连接
2.2.3
8086CPU的存储器组织
二、8086存储器的奇偶库结构
• 分别从奇偶库中读取一个字节,该当如何?
2.2.3
8086CPU的存储器组织
一、存储器的标准结构——存储器单元结构
数据段
• 8086CPU 一次可访问16位
0200 0201 0202 0203
0204 0205 0206
0 1 4 9 16 25 36
数据,即两个存储单元;
• 通常,多个字节的数据存
放规则是:
高位在高端
低位在低端
2.2.3
2.3
8086CPU的总线操作时序
二、存储器的读周期时序
例:MOV AL,[1001H] ;M/IO=1

8086CPU结构介绍及基础知识


分段管理的特点: ①起始点可浮动; ②可分开或重叠; ③实际地址由段地址、段内偏移地址组成; ④段首地址必须能被16整除
• 2、物理地址的形成
逻辑地址:存储器的任一个逻辑地址由段基址和偏移地址组成,程序设计时采 用。

段基址:偏移地址
物理地址:存储器的绝对地址,从00000~FFFFFH,它是由逻辑地址变换而来。
二、8086CPU的内部结构 8086CPU内部按功能可分为两部分: 1、BIU(总线接口部件) 功能:地址形成、取指令、指令排队、
读/写操作数、总线控制 2、EU(执行部件) 功能:指令译码、指令执行
组成部件见下页图
8086CPU的内部组成
执行单元(EU)
总线接口单元(BIU)
1、BIU ①段寄存器
例2-2
• 将5394H与-777FH两数相加,并说明其标志位状态

0101 0011 1001 0100
•+
1000 1000 1000 0001

1101 1100 0001 0101
• 运算结果:-23EBH
• 标志位:CF=0,DF=0,AF=0

ZF=0,SF=1,OF=0
控制标志位的名称和定义如下:
三寄存器结构目的变址寄存器destinationindexsidibpspax累加器accumulatorbx基数寄存器basecx计数寄存器countdx数据寄存器dataahbhchdhalblcldlipflagsdsessscs数据段寄存器datasegment附加段寄存器extrasegment堆栈段寄存器stacksegment代码段寄存器codesegment标志寄存器flags指令指针寄存器instructionpointer变址寄存器段寄存器控制寄存器通用寄存器源变址寄存器sourceindex基址指针寄存器basepointer堆栈指针寄存器stackpointer指针寄存器数据寄存器8086cpu寄存器组1通用寄存器组?常用来存放参与运算的操作数或运算结果?特殊用途见p25表212指针和变址寄存器?可作通用寄存器存放一般操作数或运算结果?作指针和变址寄存器用于存放某段地址偏移量3段寄存器?用于存放逻辑段的段基地址4指令指针和标志位寄存器?ip存放下一条指令在现行代码段中的偏移地址由biu自动修改

第二章 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)为程序在内存中的浮动分配创造了条件。由 于程序可以浮动地装配在内存任何一个区域。这 使得多道程序和多任务程序能充分使用现有的存 储器容量。

8086cpu的组成

8086CPU的组成8086CPU是一种早期的微处理器,用于计算机的中央处理单元(CPU)。

它由多个组件组成,包括逻辑单元、寄存器、内存控制器、输入/输出单元等。

以下是对8086CPU组成的详细描述:1. 逻辑单元:8086CPU的逻辑单元包括各种控制单元和调度单元,用于处理指令、数据和内存访问请求。

这些逻辑单元负责协调各个组件之间的操作,确保CPU能够高效地执行任务。

2. 寄存器:8086CPU使用多个寄存器来存储数据和处理指令。

这些寄存器用于临时存储数据、操作数和结果,并支持CPU执行各种操作。

3. 内存控制器:8086CPU的内存控制器负责与主存储器(如RAM)进行通信,以快速访问数据和指令。

内存控制器通过内部总线与逻辑单元和其他组件进行交互,确保数据传输的效率和准确性。

4. 输入/输出单元:8086CPU的输入/输出单元负责与外部设备进行通信。

这些设备包括显示器、键盘、鼠标、硬盘驱动器等。

输入/输出单元通过接口与外部设备连接,并处理与它们的通信和数据传输。

5. 时钟和电源管理:8086CPU需要一个时钟信号来控制其操作速度。

时钟信号的频率决定了CPU的执行速度。

此外,8086CPU还具有电源管理功能,以确保各个组件在需要时获得适当的电源,并在不需要时关闭以节省能源。

总的来说,8086CPU由多个组件组成,这些组件协同工作以实现高效的计算任务。

它具有强大的逻辑单元、寄存器、内存控制器和输入/输出单元,以及时钟和电源管理功能,使其成为早期计算机系统的重要组成部分。

这些组件的组合和协同工作,使得8086CPU能够处理复杂的指令和数据,并支持计算机系统的正常运行。

3.2 8086最小模式系统的基本配置


堆栈栈顶操作: 堆栈栈顶操作:
自动选择堆栈段寄存器 , 自动选择堆栈段寄存器SS, 堆栈段寄存器 决定的16位偏移量 再加上由SP决定的 位偏移量, 加上由 决定的 位偏移量, 计算得到堆栈栈顶操作需要的20位物理地址 计算得到堆栈栈顶操作需要的 位物理地址。 堆栈栈顶操作需要的 位物理地址。
与执行指令有关的地址、数字、 涉及到操作数(与执行指令有关的地址、数字、寄存器 等统称为操作数) 等统称为操作数): 自动选择数据段寄存器DS或附加段寄存器 , 自动选择数据段寄存器 或附加段寄存器ES, 或附加段寄存器 位物理地址。 再加上16位偏移量,计算得到操作数的 位物理地址 再加上 位偏移量,计算得到操作数的20位物理地址。 位偏移量 其中: 其中: 16位偏移量 位偏移量: 位偏移量 包含在:指令中的直接地址 包含在:指令中的直接地址 某个16位地址寄存器的值 某个 位地址寄存器的值 位地址 指令中的位移量 指令中的位移量+16位地址寄存器中值等。 位地址寄存器中值等 位移量 位地址寄存器中值
奇 偶
8086
8284 时钟
CLK RESET READY
控制 总线
AD 15-AD 0 DEN RESET READY DIR DT/R
I/O接口
8286 收发器 T (2片) OE
数据 总线
3.3 存储器组织 1.存储器地址: 存储器地址:
8086有20条地址总线,直接寻址能力为 20=1M字节。 有 条地址总线 直接寻址能力为2 条地址总线, 字节。 字节 进制数表示1M字节的地址范围应为 用16进制数表示 字节的地址范围应为 进制数表示 字节的地址范围应为00000H~FFFFFH。 。 (1)、 8086内部 位物理地址形成 内部20位物理地址形成 )、 内部 )、逻辑地址与物理地址 (2)、逻辑地址与物理地址 )、
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
逻辑地址的表示格式为:段地址:偏移地址
33..44 88008866//88008888的的存存储储器器组组织织
……
XXXXXH
20 位 物 理 地 址
……
段地址:段内偏移地址 XXXXH : XXXXH
逻辑地址
图3.4.5
33..44 88008866//88008888的的存存储储器器组组织织
2.物理地址(PA)的形成
把1MB的存贮空间分成若干个逻辑段以后,对 一个段内的任意存贮单元,都可以用两部分地址 来描述,一部分地址为段地址(段基址),另一部分 为段内偏移地址(有效地址EA),段地址和段内偏 移地址都是无符号的16位二进制数,常用4位十六 进制数表示。这种方法表示的存贮器单元的地址 称为逻辑地址。如下图3.4.5所示。
这些约定如图3.4.2所示
33..44 88008866//88008888的的存存储储器器组组织织
地址=N+1 (高字节)
字地址
地址=N (低字节)
7 6 5 4 3 2 1 0 7 6 54 3 2 10 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
图3.4.2
33..44 88008866//88008888的的存存储储器器组组织织
②段内偏移地址由下列地址寄存器提供:
BX
BP
CPU 对存储器进行数据读/写操作时, 由这些寄存器以某种寻址方式向存储
SI
器提供段内偏移地址。
DI
SP 堆栈操作时,提供堆栈段的段内偏移地址
IP CPU 取指令时,由IP提供所取指令代码所 在单元的偏移地址。
33..44 88008866//88008888的的存存储储器器组组织织
存贮器段的划分与段的覆盖示意图如下图3.4.4 所示。
33..44 88008866//88008888的的存存储储器器组组织织
00000
00010
段地址 00020
段0
……


段1
段2
10000
10010
10020
……
图3.4.4 存贮器段的划分与段的覆盖示意图
33..44 88008866//88008888的的存存储储器器组组织织
8086 CPU数据总线16位,对于访问(读或写) 字节的指令,需要一个总线周期。对于访问一个 偶地址的字的指令,也是需要一个总线周期。而 对于访问一个奇地址的字的指令,则需要两个总 线周期(CPU自动完成)。
33..44 88008866//88008888的的存存储储器器组组织织
8088 CPU数据总线8位,无论是字,还是字节 数据存取操作,也无论是偶地址的字,还是奇地 址的字,每一个总线周期只能完成一个字节的数 据存取操作。对字数据所组成的连续两个总线周 期是由CPU 自动完成的。
33..44 88008866//88008888的的存存储储器器组组织织
8086/8088CPU各种类型访问存储器时,其地 址成分的来源见下表所示。
33..44 88008866//88008888的的存存储储器器组组织织
一个段最大空间为64KB,实际使用时,不一定 能用到64KB。理论上分段时,相邻段之间大部分空 间是相互重叠的,但实际上不会重叠。汇编程序对 用户源程序汇编时,会将用户程序中不同信息段独 立存放。如图3.4.7所示。
程序(代码)信息
数据信息
堆栈信息
33..44 88008866//88008888的的存存储储器器组组织织
其中,代码信息 堆栈信息 数据信息
存放在代码段,其地址由 CS:IP提供。
存放在堆栈段,其地址由 SS:SP提供。
通常情况下,存放在数据 段(段地址由DS提供), 当然也可以存放在附加数 据段(段地址由ES提供), 其段内偏移地址依据寻址 方式的不同来求得。
33..44 88008866//88008888的的存存储储器器组组织织
SS:SP
此此单单元元地地址址必必须须能能被被1166整整除除。。
堆栈段信息
…… …… …… …… ……
DS:依据 寻址方式 求得EA
找找到到第第一一个个能能被被1166整整除除的的地地 址址开开始始安安排排数数据据段段信信息息。。
=4B090H+5678H
=50708H
33..44 88008866//88008888的的存存储储器器组组织织
例2:如图3.4.4中物理地址为00020H单元,其逻 辑地址可以有:
[0000H:0020H]
0 0 0 0 0 H (段地址 ×16)
+ 0 0 2 0 H (EA) 0 0 0 2 0 H (PA)
段内偏移地址也用16位二进制编码表示.所以,
在一个段内有 216 =64K个偏移地址(即一个段最
大为64KB)。
33..44 88008866//88008888的的存存储储器器组组织织
在一个64KB的段内,每个偏移地址单元的段地址 是相同的.所以段地址也称为段基址。
由于相邻两个段地址只相隔16个单元,所以段与 段之间大部分空间互相覆盖(重叠)。
[0001H:0010H]
0 0 0 1 0 H (段地址× 16)
+ 0 0 1 0 H (EA) 0 0 0 2 0 H (PA)
33..44 88008866//88008888的的存存储储器器组组织织
[0002H:0000H]
0 0 0 2 0 H (段地址 × 16)
+ 0 0 0 0 H (EA) 0 0 0 2 0 H (PA)
已知某存储单元的逻辑地址,怎样求该单元的 物理地址PA:
× 物理地址=段地址 10H+段内偏移地址
8086/8088 CPU中的BIU单元的地址加法器∑ 用来完成物理地址的计算,其计算方法如图3.4.6 所示。
33..44 88008866//88008888的的存存储储器器组组织织
15 段寄存器 0 16位段基址
33..44 88008866//88008888的的存存储储器器组组织织
一个段的起始地址的高16位自然数为该段的段
地址.显然,在1MB的存贮空间中,可以有 216 个
段地址.每个相邻的两个段地址之间相隔16个存 贮单元。 在一个段内的每个存贮单元,可以用相对于本 段的起始地址的偏移量来表示,,这个偏移量称 为段内偏移地址,也称为有效地址(EA)。
33..44 88008866//88008888的的存存储储器器组组织织
一.存储器地址空间和数据存储格
8086/8088的存储器都是以字节(8位)为单位
组织的。它们具有20条地址总线,所以可寻址的存
储器地址空间容量为 220(约1M)字节。每个字 节对应一个唯一的地址,地址范围为0~ 220 -1
字数据在存储器中存放的格式如图3.4.3所示
D15 ~ D8 D7 ~ D0
字单元的地址
高字节 低字节
一个字单元
一个字节单元
图3.4.3 字数据在存储器中存放格式示意图
33..44 88008866//88008888的的存存储储器器组组织织
8086/8088允许字从任何地址开始。字的地址 是偶地址时,称字的存储是对准的,若字的地址 是奇地址时,则称字的存储是未对准的。
(用16进制表示为00000 ~ FFFFFH),如下图 3.4.1所示。
33..44 88008866//88008888的的存存储储器器组组织织
十六进制地址 二 进 制 地 址
存储器
00000 00001 00002 00003
0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0010 0000 0000 0000 0000 0011
数据段信息
CS:IP
找找到到第第一一个个能能被被1166整整除除的的地地 址址开开始始安安排排代代码码段段信信息息。。
代码段信息 图3.4.7
33..55 88008866//88008888的的II//OO组组织织
一.我们已经说明,I/O设备包括与外界通信和 存储大容量信息用的各种外部设备。由于这些外部 设备的复杂性和多样性,特别是速度比CPU低得多, 因此I/O设备不能直接和总线相连接。 I/O接口是 保证信息和数据在CPU和I/O设备之间正常传送的电 路。
33..44 88008866//88008888的的存存储储器器组组织织
2.怎么分段
1MB的存贮空间中,每个存贮单元的实际地址编 码称为该单元的物理地址(用PA表示)。
把1MB的存贮空间划分成若干个逻辑段,每段最 多64KB。 各逻辑段的起始地址必须能被16整除,即一个 段的起始地址(20位物理地址)的低4位二进制 码必须是0。
一个存储单元用逻辑地址表示后,CPU 对该 单元的寻址就应提供两部分地址 段地址
段内有效地址 其中段地址有段寄存器提供:
CS —— 提供当前代码(程序)段的段地址 DS —— 提供当前数据(程序)段的段地址 ES —— 提供当前附加数据段的段地址 SS —— 提供当前堆栈段的段地址
33..44 88008866//88008888的的存存储储器器组组织织
一般地,把段地址装入段寄存器的那些段 (不超过4个)称为当前段。
33..44 88008866//88008888的的存存储储器器组组织织
三.信息的分段存储与段寄存器的关系
特别要指出的是,用户用8086/8088汇编语 言编写程序时,要把程序中的不同信息安排在不 同的段,也就是说,用户源程序汇编后在存储器 中存放是按照不同的信息放在不同的逻辑段。而 程序中的信息包括:
由此可见,一个存储单元,若用不同的 逻辑地址表示,其PA是唯一的。
相关文档
最新文档