版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、80 x86微处理器的结构 2、存储器组织 从从 8086 到到 pentium (8086: 16位位) 执行部件(执行部件(EU) 总线接口部件(总线接口部件(BIU) 微处理器的结构微处理器的结构 8086微微 处理器处理器 的基本的基本 框图框图 CH DH DI SP BP SI 65 标志 3 执行部分 控制电路 运算寄存器 ALU 1 24 DS SS ES 输入/输出 控制电路 IP CS 内部暂存器 BH AH DL CL AL BL 20 位 地址加法 16 位 外部 总线 指令队列 缓冲器 8 位 16 位 通用 寄存器 执行部件(EU) 总线接口部件(BIU) 功能
2、:负责与功能:负责与 M M、I/O I/O 端口传送数据。端口传送数据。 总线接口部件要从内存总线接口部件要从内存 取指令送到指令队列;取指令送到指令队列; CPUCPU执行指令时,要配合执行部件从指定的内存单元执行指令时,要配合执行部件从指定的内存单元 或者外设端口中取数据,将数据传送给执行部件;或者外设端口中取数据,将数据传送给执行部件; 或把执行部件的操作结果传送给指定的或把执行部件的操作结果传送给指定的M M或或I/OI/O口。口。 通过总线从内存取指令和操作数通过总线从内存取指令和操作数-指令队列指令队列-EU-EU-执行完毕执行完毕- BIU-BIU-内存。内存。 总线接口单元总
3、线接口单元 组成组成 q 4 4 个段地址寄存器(个段地址寄存器(CSCS、DSDS、ESES、SSSS),), q 1616位指令指针寄存器位指令指针寄存器IPIP, q 2020位的地址加法器位的地址加法器(16d(16d 段地址段地址+ +偏移地址物理地址偏移地址物理地址),), q 6 6字节(字节(80868086)或)或4 4字节(字节(80888088)的指令队列)的指令队列, , q 总线控制电路总线控制电路: :处理器与外界总线联系的转接电路。处理器与外界总线联系的转接电路。 包括三组总线:包括三组总线: 20 20 位地址总线,位地址总线,16 16 位双向数据总线,一组控
4、制总线。位双向数据总线,一组控制总线。 总线接口单元总线接口单元 指令队列指令队列80868086的指令队列为的指令队列为6 6个字节个字节,8088,8088的指令队列为的指令队列为4 4个字节。个字节。 执行指令的同时从内存中取下一条或几条指令,取来的指令放在执行指令的同时从内存中取下一条或几条指令,取来的指令放在 指令队列中,使指令队列中,使 BIU BIU 具有预取指令的功能,是一种先进先出具有预取指令的功能,是一种先进先出 (FIFOFIFO)的数据结构。)的数据结构。 指令执行顺序指令执行顺序 顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。顺序指令执行:指令队列存放紧接
5、在执行指令后面的那一条指令。 执行转移指令:执行转移指令:BIU BIU 清除指令队列中的内容,从新的地址取入指清除指令队列中的内容,从新的地址取入指 令,立即送往执行单元,然后再从新单元开始重令,立即送往执行单元,然后再从新单元开始重 新填满队列。新填满队列。 总线接口单元总线接口单元 功能:负责指令执行。功能:负责指令执行。 组成:组成:4 4个通用寄存器:个通用寄存器:AXAX、BXBX、CXCX、DXDX 4 4个专用寄存器:个专用寄存器:BPBP、SPSP、SISI、DIDI 标志寄存器(标志寄存器(PSWPSW) 9 9个标志位个标志位 算术逻辑单元:算术逻辑单元:1616位加法器
6、,用于对寄存器和指令操作数进行位加法器,用于对寄存器和指令操作数进行 算术或逻辑运算。算术或逻辑运算。 EU EU 控制系统:接受从总线接口单元的指令队列中取来的指令控制系统:接受从总线接口单元的指令队列中取来的指令 代码,对其译码和向代码,对其译码和向 EU EU 内各有关部分发出时序命令信号,协内各有关部分发出时序命令信号,协 调执行指令规定的操作。调执行指令规定的操作。 执行单元执行单元 8086/80888086/8088微处理器:微处理器: BIUBIU和和EUEU分开,取指和执行可以重迭,大大减少了等待取指所分开,取指和执行可以重迭,大大减少了等待取指所 需的时间,提高需的时间,提
7、高CPUCPU的利用率。的利用率。 重迭操作技术:一方面提高了整个执行速率,另一方面降低了重迭操作技术:一方面提高了整个执行速率,另一方面降低了 与之相配的存储器的存取速度的要求。与之相配的存储器的存取速度的要求。 取指取指取指取指取指取指取指取指得到数据得到数据 等待等待执行执行执行执行执行执行执行执行 执行单元执行单元 80868086、80888088共有共有1414个个1616位寄存器位寄存器 8 8个通用寄存器:个通用寄存器:AX,BX,CX,DX,SP,BP,SI,DIAX,BX,CX,DX,SP,BP,SI,DI 4 4个段寄存器:个段寄存器:CS,SS,DS,ESCS,SS,D
8、S,ES 指令指针:指令指针:IPIP 标志寄存器:标志寄存器:FRFR 编程结构编程结构 80868086的寄存器结构的寄存器结构 AHAHALAL BHBHBLBL CHCHCLCL DHDHDLDL SPSP BPBP SISI DIDI IPIP PSWPSW CSCS DSDS SSSS ESES AXAX BXBX CXCX DXDX 累加器累加器 基址基址 计数计数 数据数据 数据寄存器数据寄存器 0 01515 0 07 78 81515 0 0 1515 0 01515 附加数据段附加数据段 堆栈段堆栈段 数据段数据段 代码段代码段 段寄存器段寄存器 指令指针指令指针 状态标
9、志状态标志 控制寄存器控制寄存器 堆栈指针堆栈指针 基址指针基址指针 源变址源变址 目的变址目的变址 指针寄存器指针寄存器 变址寄存器变址寄存器 通通 用用 寄寄 存存 器器 OFOF DFDF IFIF TFTF SFSF ZFZFAFAFPFPFCFCF 0 015152 24 45 56 67 78 89 91010 AXAX、BXBX、CXCX、DX DX 作为通用寄存器。作为通用寄存器。 用来暂存计算过程中所用到的用来暂存计算过程中所用到的8 8位或位或1616位的操作数或操作数的位的操作数或操作数的 地址或指令,结果或其它信息。地址或指令,结果或其它信息。 访问形式:可以用访问形式
10、:可以用1616位的访问;或者可以用字节(位的访问;或者可以用字节(8 8位)形式位)形式 访问。访问。 高高8 8位记作:位记作:AHAH、BHBH、CHCH、DH DH 低低8 8位记作:位记作:ALAL、BLBL、CLCL、DLDL 通用寄存器通用寄存器 AXAX 作为累加器。作为累加器。 它是算术运算的主要寄存器,所有它是算术运算的主要寄存器,所有I/OI/O指令都使用这一寄指令都使用这一寄 存器与外部设备交换数据。存器与外部设备交换数据。 例:例: IN AL, 20HIN AL, 20H OUT 30H, AXOUT 30H, AX BXBX BaseBase用作基址寄存器使用。用
11、作基址寄存器使用。 在计算内存储器地址时,经常用来存放基址。在计算内存储器地址时,经常用来存放基址。 例:例:MOV AX, BX+03HMOV AX, BX+03H 通用寄存器通用寄存器 CXCX Count Count可以作计数寄存器使用。可以作计数寄存器使用。 在循环在循环LOOPLOOP指令和串处理指令中用作隐含计数器。指令和串处理指令中用作隐含计数器。 DXDX Data Data可以作为数据寄存器使用。一般在双字长乘除法运算可以作为数据寄存器使用。一般在双字长乘除法运算 时,把时,把DXDX和和AXAX组合在一起存放一个双字长组合在一起存放一个双字长(32(32位位) )数,数,D
12、XDX用来存用来存 放高放高1616位位; ; 对某些对某些I/OI/O操作操作DXDX可用来存放可用来存放I/OI/O的端口地址(口地的端口地址(口地 址址 256256)。)。 例:例:MUL BX; (AX)MUL BX; (AX) (BX)(BX)(DX)(AX)(DX)(AX) 例例: IN AL, DX: IN AL, DX 通用寄存器通用寄存器 地址指针与变址寄存器地址指针与变址寄存器: SPSP、BPBP、SISI、DI DI 四个四个1616位寄存器。位寄存器。 以字为单位在运算过程中存放操作数,以字为单位在运算过程中存放操作数, 经常用以在段内寻址时提供偏移地址。经常用以在
13、段内寻址时提供偏移地址。 段地址段地址: :只取段起始地址高只取段起始地址高1616位值。位值。 偏移地址偏移地址: :指在段内某内存单元物理地址相对段起始地址的偏移值。指在段内某内存单元物理地址相对段起始地址的偏移值。 高高16位值位值 0000B 通用寄存器通用寄存器 地址指针寄存器地址指针寄存器(SP(SP、 BP )BP ) SPSP(stack pointerstack pointer) 堆栈指针寄存器堆栈指针寄存器 用来指示栈顶的偏移地址用来指示栈顶的偏移地址, , 必须与必须与SSSS段寄存器联合使用确定实际段寄存器联合使用确定实际 地址。地址。 BPBP(base pointe
14、rbase pointer) 基址指针寄存器基址指针寄存器 可以与可以与SSSS寄存器联合使用来确定堆栈段中某一存储器单元地址。寄存器联合使用来确定堆栈段中某一存储器单元地址。 通用寄存器通用寄存器 8086系统存储器与总线连接系统存储器与总线连接 堆栈和指针堆栈和指针 设设:( SS)=3F00H,(SP)=0060H:( SS)=3F00H,(SP)=0060H堆栈和指针如下图:堆栈和指针如下图: 堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动,严格按堆栈是内存开辟的一个特殊数据区,一端固定,一端浮动,严格按 照后进先出的工作原则。照后进先出的工作原则。 数据总线数据总线 地址总线地址
15、总线 D7D0D7D0 1 M X 81 M X 8位存储体位存储体 A19A0A19A0 00000H00000H FFFFFHFFFFFH A1910A1910 . . a1a1 a0a0 栈底栈底 4EFFFH4EFFFH 3F060H3F060H(SP)=60H(SP)=60H 3F000H3F000H(SS)=3F00H(SS)=3F00H 变址寄存器变址寄存器(SI(SI、DI)DI) SI SI Source Index Register Source Index Register 源变址寄存器源变址寄存器 DIDI Destination Index Destination I
16、ndex 目的变址寄存器目的变址寄存器 使用场合:常用于变址寻址。使用场合:常用于变址寻址。 一般与一般与DSDS联用,用来确定数据段中某一存储单元的地址,联用,用来确定数据段中某一存储单元的地址,SI , SI , DIDI具有自动增量和自动减量功能。具有自动增量和自动减量功能。 例:例:MOV AX, SIMOV AX, SI 通用寄存器通用寄存器 在串处理指令中,在串处理指令中,SISI、DIDI作为隐含的源变址和目的变址寄存器作为隐含的源变址和目的变址寄存器 分别达到在数据段和附加段中寻址的目的。分别达到在数据段和附加段中寻址的目的。 如右图。如右图。 例:例: MOV SI , 20
17、00HMOV SI , 2000H MOV DI , 3000HMOV DI , 3000H MOV CX, 100HMOV CX, 100H CLD.CLD. MOVSBMOVSB . . . . . 3000H:2000H3000H:2000H 3000H:2100H3000H:2100H 5000H:3000H5000H:3000H 5000H:3100H5000H:3100H DS:2000HDS:20FFHDS:2000HDS:20FFH ES:3000HES:30FFHES:3000HES:30FFH (DS)(DS)(SI)(SI) (ES)(ES)(DI)(DI) 存储器存储器
18、 串处理指令执行示意图串处理指令执行示意图 段寄存器:段寄存器:4 4个个1616位段寄存器位段寄存器CSCS、DSDS、SSSS、ESES。 用来识别当前可寻址的四个段,不可互换的使用。用来识别当前可寻址的四个段,不可互换的使用。 CSCSCode Segment Register Code Segment Register 代码段寄存器,用来识别当前代代码段寄存器,用来识别当前代 码段(程序一般放在代码段)。码段(程序一般放在代码段)。 DSDSData Segment RegisterData Segment Register数据段寄存器,用来识别当前数数据段寄存器,用来识别当前数 据段
19、寄存器。据段寄存器。 SSSSStack Segment RegisterStack Segment Register堆栈段寄存器,用来识别当前堆堆栈段寄存器,用来识别当前堆 栈段。栈段。 ESESExtra Segment RegisterExtra Segment Register附加段寄存器,用来识别当前附附加段寄存器,用来识别当前附 加段。加段。 段寄存器段寄存器 IPIPInstruction PointerInstruction Pointer指令指针寄存器指令指针寄存器 用来存储代码段中的偏移地址用来存储代码段中的偏移地址; 16; 16位,为指令计数,具有自动位,为指令计数,具
20、有自动 加加1 1功能,指向下一个内存单元,使指令能按顺序执行。程序运功能,指向下一个内存单元,使指令能按顺序执行。程序运 行过程中行过程中IPIP始终指向下一次要取出的指令偏移地址。始终指向下一次要取出的指令偏移地址。 IPIP要与要与CSCS寄存器相配合才能形成真正的物理地址。寄存器相配合才能形成真正的物理地址。 指令指针寄存器指令指针寄存器 PSWPSW(Processor States Word ProgramProcessor States Word Program) 程序状态字寄存器,程序状态字寄存器, 1616位寄存器。位寄存器。 由条件码标志由条件码标志FLAGFLAG、控制标
21、志构成。、控制标志构成。 只用了其中只用了其中9 9位位,6,6位条件码标志位条件码标志,3,3位控制标志。位控制标志。 OFOF DFDF IFIF TFTF SFSF ZFZFAFAFPFPFCFCF 0 015152 24 45 56 67 78 89 91010 控制寄存器控制寄存器 O D I T S Z A P C 标志寄存器标志寄存器 条件码包括条件码包括6位:位:CF 、 PF 、 AF 、 ZF 、 SF 、 OF OF(Overflow Flag)溢出标志(一般指补码溢出)溢出标志(一般指补码溢出) OF=1:在运算过程中,如操作数超过了机器表示的范围称为:在运算过程中,如
22、操作数超过了机器表示的范围称为 溢出。溢出。 OF=0:在运算过程中,如操作数未超过了机器能表示的范围:在运算过程中,如操作数未超过了机器能表示的范围 称为不溢出。称为不溢出。 字节允许范围字节允许范围 -128+127, 字运算范围字运算范围 -32768+32767 标志寄存器标志寄存器 SF(Sign Flag)符号标志)符号标志 SF=1:记录运算结果的符号为负。:记录运算结果的符号为负。 SF=0:记录运算结果的符号为正。:记录运算结果的符号为正。 ZF(Zero Flag)零标志)零标志 ZF=1:运算结果为:运算结果为0。 ZF=0:运算结果不为:运算结果不为0。 CF(Carr
23、y Flag)进位标志)进位标志 CF=1:记录运算时从最高有效位产生进位值。:记录运算时从最高有效位产生进位值。 CF=0:记录运算时从最高有效位不产生进值。:记录运算时从最高有效位不产生进值。 标志寄存器标志寄存器 AF(Auxiliary Carry Flag)辅助进位标志)辅助进位标志 AF=1:记录运算时第:记录运算时第3位(半个字节)产生进位值。位(半个字节)产生进位值。 AF=0:记录运算时第:记录运算时第3位(半个字节)不产生进位值。位(半个字节)不产生进位值。 PF (Parity Flag) 奇偶标志奇偶标志 PF=1: 结果操作数低结果操作数低8位中有偶数个位中有偶数个1
24、。 PF=0: 结果操作数低结果操作数低8位中有奇数个位中有奇数个1。 标志寄存器标志寄存器 对控制标志位进行设置后对控制标志位进行设置后,对其后的操作起控制作用。对其后的操作起控制作用。 控制标志位包括控制标志位包括3位:位:TF、IF、DF 。 跟踪(陷阱)标志跟踪(陷阱)标志TF、中断标志、中断标志IF、方向标志方向标志DF。 TF(Trap Flag)跟踪跟踪(陷阱陷阱)标志位标志位 TF=1 ,每执行一条指令后,自动产生一次内部中断,使每执行一条指令后,自动产生一次内部中断,使CPU 处于单步执行指令工作方式,便于进行程序调试,用户能检处于单步执行指令工作方式,便于进行程序调试,用户
25、能检 查程序。查程序。 TF=0, CPU正常工作,不产生陷阱。正常工作,不产生陷阱。 控制标志控制标志 IF(Interupt Flag)中断标志位中断标志位 IF=1, 允许外部可屏蔽中断,允许外部可屏蔽中断,CPU可以响应可屏蔽中断请求。可以响应可屏蔽中断请求。 IF=0, 关闭中断,关闭中断,CPU禁止响应可屏蔽中断请求。禁止响应可屏蔽中断请求。 IF的状态对不可屏蔽中断和内部软中断没有影响。的状态对不可屏蔽中断和内部软中断没有影响。 DF(Direction Flag)方向标志位方向标志位 DF=1,每次串处理操作后使变址寄存器每次串处理操作后使变址寄存器SI和和DI减量,使串处理减
26、量,使串处理 高地址向低地址方向处理。高地址向低地址方向处理。 DF=0,每次串处理操作后使变址寄每次串处理操作后使变址寄 存器存器SI和和DI增量增量, 使串处理从低地址向高地址方向处理。使串处理从低地址向高地址方向处理。 DF方向标志位是在串处理指令中控制处理信息的方向用的。方向标志位是在串处理指令中控制处理信息的方向用的。 控制标志控制标志 控制信息:由系统程序或用户程序根据需要用指令来设置的。控制信息:由系统程序或用户程序根据需要用指令来设置的。 状态信息:由中央处理器,根据计算结果自动设置的,机器提状态信息:由中央处理器,根据计算结果自动设置的,机器提 供了设置状态信息指令,必要时,
27、程序员可以用这些指令来建供了设置状态信息指令,必要时,程序员可以用这些指令来建 立状态信息。立状态信息。 标志寄存器标志寄存器 1 10 00 00 01 11 10 01 10 00 00 01 10 01 10 00 0 0 00 01 11 10 00 01 10 00 00 00 01 11 10 00 01 1+ + 0 01 11 11 11 10 01 10 01 10 01 10 01 10 01 10 0 运算结果最高位为运算结果最高位为0 0SF=0 SF=0 运算结果本身运算结果本身0 0 ZF=0ZF=0 低低8 8位中位中1 1的个数为奇数个的个数为奇数个 PF=0
28、PF=0 最高位没有进位最高位没有进位 CF=0CF=0 第三位向第四位无进位第三位向第四位无进位 AF=0AF=0 次高位向最高位没有进位,最高位向前没有进位次高位向最高位没有进位,最高位向前没有进位, OF=0, OF=0 例例1 1:执行两个数的加法,分析对标志位的影响。:执行两个数的加法,分析对标志位的影响。 运算结果最高位为运算结果最高位为1 1 SF=1SF=1 运算结果本身不为运算结果本身不为0 0 ZF=0 ZF=0 最高位向前无进位最高位向前无进位CF=0 CF=0 次高位向最高位产生进位,而最高位向前没有进位次高位向最高位产生进位,而最高位向前没有进位 OF=1OF=1 结
29、果低结果低8 8位含偶数个位含偶数个1 1PF=1PF=1 第三位向第四位有进位第三位向第四位有进位AF=1AF=1 在绝大多数情况下,一次运算后并不影响所有标志,程序也在绝大多数情况下,一次运算后并不影响所有标志,程序也 并不需要对所有的标志作全面的关注。一般只是在某些操作并不需要对所有的标志作全面的关注。一般只是在某些操作 后,对其中某个标志进行检测。后,对其中某个标志进行检测。 例例2 2:执行两个数的加法,分析对标志位的影响。:执行两个数的加法,分析对标志位的影响。 0 01 10 01 10 00 00 00 01 11 11 10 00 01 11 10 0 0 01 10 00
30、00 01 10 01 10 01 11 10 01 10 01 10 0+ + 1 11 10 00 00 01 10 01 11 10 00 01 11 10 00 01 1 AF=1AF=1 OF=1OF=1 1、80 x86微处理器的结构 2、存储器组织 存储单元的地址和内容存储单元的地址和内容 存储器位编号:存储器位编号: 80868086字长字长1616位,由二个字节组成,位编号如下:位,由二个字节组成,位编号如下: 高位字节高位字节 MSBMSB(8 81515位)位)低位字节低位字节LSBLSB(0 07 7位)位) 0 01 12 23 34 45 56 67 78 89 9
31、101011111212131314141515 0 01 12 23 34 45 56 67 7 存储器组织存储器组织 内存单元的地址和内容内存单元的地址和内容 存储单元地址存储单元地址 . 1100 1111B1100 1111B . 物理地址物理地址内容内容 00000H00000H 00001H00001H 00002H00002H 00006H00006H FFFFFHFFFFFH 机器字长是机器字长是1616位,大部分数据以字节为单位,大部分数据以字节为单 位表示,一个字存入存储器占有相继的二位表示,一个字存入存储器占有相继的二 个单元:个单元: 低位字节存入低地址,高位字节存入高
32、地低位字节存入低地址,高位字节存入高地 址。址。 字单元的地址采用它的低地址来表示。字单元的地址采用它的低地址来表示。 例:字单元例:字单元: :(0004H0004H)=1234H =1234H 字节单元字节单元: :(0004H0004H)=34H=34H 34H34H 12H12H 1EH1EH 2FH2FH 0000H0000H 0001H0001H 0002H0002H 0003H0003H 0004H0004H 0005H0005H 0006H0006H . 1234H1234H 1235H1235H 1236H1236H . 存储单元内容存储单元内容 存储器分段 CPU只能进行1
33、6位运算,寻址范围64K,对于1M 空间只能分段,将段起始地址放在段寄存器,称为 段基址,段起始地址必须能被16整除。信息在1M空 间内的实际地址称为物理地址。为20位,由16位段 基址左移4位,再加上16位段内偏移量也即由这两 部分逻辑地址相加。 存储器组织存储器组织 存储器分段存储器分段 例:例: CS=2010H,IP=3550H (逻辑地址逻辑地址) 20100H3550H=23650H (物理地址物理地址) 取指令取指令CS+IP;物理地址;物理地址 堆栈操作堆栈操作SS+SP 操作数操作数DS+16; 位偏移量位偏移量 数据块移动数据块移动ES+DI 存储器组织存储器组织 有有20
34、20条地址线,可直接寻址条地址线,可直接寻址1M1M,地址范围,地址范围00000H00000HFFFFFHFFFFFH,每个,每个 地址可放一个字节,相邻两地址可放一个字(低位在前,高位在地址可放一个字节,相邻两地址可放一个字(低位在前,高位在 后)。后)。 存储器特性:存储器特性: 存储器的内容是取之不尽的。即从某个单元取出其内容后,该单存储器的内容是取之不尽的。即从某个单元取出其内容后,该单 元仍保持原来的内容不变,可以重复取出;只有存入信息后,原元仍保持原来的内容不变,可以重复取出;只有存入信息后,原 有的内容自动消失。有的内容自动消失。 存储器组织存储器组织 存储器地址分段:存储器地
35、址分段: 80868086有有2020条地址总线,直接寻址能力为条地址总线,直接寻址能力为2 220 20=1M =1M字节。字节。 用用1616进制数表示进制数表示1M1M字节的地址范围应为字节的地址范围应为00000HFFFFFH00000HFFFFFH。 (1 1) 80868086内部内部2020位物理地址形成位物理地址形成 (2 2)逻辑地址与物理地址)逻辑地址与物理地址 存储器组织存储器组织 存储器地址分段存储器地址分段 80868086地址总线是地址总线是2020位的,位的,CPUCPU中的寄存器是中的寄存器是1616位的,位的,2020位地址无位地址无 法用法用1616位寄存器
36、表示,必须分段。位寄存器表示,必须分段。 程序员在编制程序时把存储器划分成段。程序员在编制程序时把存储器划分成段。 段内地址段内地址1616位位, ,每个段的大小最大可达每个段的大小最大可达64KB64KB;实际可以根据需要;实际可以根据需要 来确定段大小,可以是来确定段大小,可以是1 1,100100,10001000,在,在64K64K范围内的任意字节范围内的任意字节 数。数。IBM PCIBM PC机对段的起始地址有限制,即段不能从任意地址开机对段的起始地址有限制,即段不能从任意地址开 始:必须从任一小段的首地址开始。始:必须从任一小段的首地址开始。 存储器组织存储器组织 小段的概念小段
37、的概念 从从0 0地址开始每地址开始每1616字节为一小段,对于字节为一小段,对于1616位地址总线,段内存储位地址总线,段内存储 器小段地址如下:器小段地址如下: 如:如: 0000H0000H,0001H0001H,0002H0002H,000EH000EH,000FH000FH一个小段一个小段 0010H0010H,0011H0011H,0012H0012H,001EH001EH,001FH001FH 0020H 0020H,0021H0021H,0022H0022H,002EH002EH,002FH002FH FFF0H, FFF1H, FFF2H, FFF0H, FFF1H, FFF
38、2H, , FFFEH, FFFFH, FFFEH, FFFFH 其中:第一列就是每个小段的首地址。其中:第一列就是每个小段的首地址。 存储器组织存储器组织 每个小段首地址特征:在每个小段首地址特征:在1616进制表示的地址中,最低位为进制表示的地址中,最低位为0H0H (即(即2020位地址的低位地址的低4 4位为位为0000B0000B)。)。 在在1M1M字节的地址空间,共有字节的地址空间,共有64K64K个小段其首地址为:个小段其首地址为: 0000 0H0000 0H 0001 0H0001 0H FFFE 0HFFFE 0H FFFF 0HFFFF 0H 存储器组织存储器组织 物理
39、地址:物理地址: 在在1M1M字节存储器里,每个存储单元都有一个唯一的字节存储器里,每个存储单元都有一个唯一的2020位位 地址作为该存储单元的物理地址。地址作为该存储单元的物理地址。CPUCPU访问存储器时,必须先确定访问存储器时,必须先确定 所要访问的存储单元的物理地址才能取出(或存入)该单元中的所要访问的存储单元的物理地址才能取出(或存入)该单元中的 内容。内容。 2020位物理地址形成:由位物理地址形成:由1616位段地址和位段地址和1616位偏移地址组成。位偏移地址组成。 段地址:只取段起始地址高段地址:只取段起始地址高1616位值。位值。 偏移地址:在段内某内存单元物理地址相对段起
40、始地址的偏移值。偏移地址:在段内某内存单元物理地址相对段起始地址的偏移值。 存储器组织存储器组织 物理地址计算方法:物理地址计算方法: 把段地址左移把段地址左移4 4位再加上偏移地址值形成物理地址,写成:位再加上偏移地址值形成物理地址,写成: 物理地址物理地址= 16d= 16d 段地址段地址+ +偏移地址。偏移地址。 每个存储单元只有唯一的物理地址。但可由不同的段地址和不同每个存储单元只有唯一的物理地址。但可由不同的段地址和不同 的偏移地址组成。的偏移地址组成。 存储器组织存储器组织 逻辑地址与物理地址概念逻辑地址与物理地址概念 逻辑地址:由段基址和段内偏移地址组成的地址,段基址和段逻辑地址
41、:由段基址和段内偏移地址组成的地址,段基址和段 内偏移地址都是内偏移地址都是1616位的无符号二进制数,在程序设计时使用。位的无符号二进制数,在程序设计时使用。 物理地址:存储器的绝对地址(物理地址:存储器的绝对地址(2020位的实际地址)位的实际地址),范围从范围从 00000H00000HFFFFFH, FFFFFH, 是由是由CPUCPU访问存储器时由地址总线发出的地址。访问存储器时由地址总线发出的地址。 存储器管理:将程序中逻辑地址转移为物理地址的机构。存储器管理:将程序中逻辑地址转移为物理地址的机构。 存储器组织存储器组织 段基址段基址0 0 0 00 0 0 0 3 2 1 03
42、2 1 015 015 0 偏移地址偏移地址 基址加法器基址加法器 物理地址物理地址 0 01515 0 01919 物理地址的形成物理地址的形成 . 20000H20000H 25F60H25F60H 25F61H25F61H 25F62H25F62H 25F63H25F63H 2000H2000H 段基址段基址 逻逻 辑辑 地地 址址 段内偏移地址段内偏移地址 5F62H5F62H 逻辑地址与物理地址逻辑地址与物理地址 存储器组织存储器组织 逻辑地址来源逻辑地址来源 (ES) 16d+(DI)DI无无ES目标字符串目标字符串 (DS) 16d+(SI)SICS,ES,SSDS源字符串源字符
43、串 (DS ) 16d+EA有效地址有效地址EACS,ES,SSDS存取变量存取变量 (SS) 16d+EA有效地址有效地址EACS,DS,ESSSBP间址间址 (SS) 16d+(SP)SP无无SS堆栈操作堆栈操作 (CS) 16d+(IP)IP无无CS取指令取指令 物理地址计算物理地址计算偏移偏移 地址地址 可替换可替换 段地址段地址 正常使用(隐含)正常使用(隐含) 段基址段基址 操作类型操作类型 取指令:自动选择代码段寄存器取指令:自动选择代码段寄存器CSCS,再加上由,再加上由IPIP决定的决定的1616位位 偏移量,计算得到要取的指令偏移量,计算得到要取的指令2020位物理地址。位
44、物理地址。 堆栈栈顶操作:自动选择堆栈段寄存器堆栈栈顶操作:自动选择堆栈段寄存器SSSS,再加上由,再加上由SPSP决定决定 的的1616位偏移量,计算得到堆栈栈顶操作需要的位偏移量,计算得到堆栈栈顶操作需要的2020位物理地址。位物理地址。 存储器组织存储器组织 涉及到操作数:涉及到操作数: 自动选择数据段寄存器自动选择数据段寄存器DSDS或附加段寄存器或附加段寄存器ESES,再加上,再加上1616位偏位偏 移量,计算得到操作数的移量,计算得到操作数的2020位物理地址。位物理地址。 其中:其中: 1616位偏移量包含在:指令中的直接地址某个位偏移量包含在:指令中的直接地址某个1616位地址
45、寄存器位地址寄存器 的值指令中的位移量的值指令中的位移量+16+16位地址寄存器中值等。位地址寄存器中值等。 1616位偏移量关键取决于指令的寻址方式。位偏移量关键取决于指令的寻址方式。 存储器组织存储器组织 代码段代码段 数据段数据段 堆栈段堆栈段 CSCS IPIP DSDS SI,DI或BXSI,DI或BX SSSS SP或BPSP或BP 归纳段寄存器和其他寄存器组合指向存储单元如下:归纳段寄存器和其他寄存器组合指向存储单元如下: 存储器组织存储器组织 各段在存储器中分配各段在存储器中分配 (1 1)由操作系统负责分配)由操作系统负责分配 一般情况,各段在存储器中的分配是由操作系统负责。一般情况,各段在存储器中的分配是由操作系统负责。 每个段可以独立地占用每个段可以独立地占用64K64K存储区。存储区。 (2 2)各段也可以允许重迭)各段也可以允许重迭 每个段的大小允许根据实际需要分配,不一定要占每个段的大小允许根据实际需要分配,不一定要占64KB64KB。 每个存储单元的内容不允许发生冲突每个存储单元的内容不允许发生冲突 (段可重迭,但使用时防止冲突)。(段可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB/T 108.1-2025活动断层探查地震勘探第1部分:浅层反射/折射法
- 童年情绪障碍的护理家庭化
- 广东省化州市2026年中考一模数学试题附答案
- 环保行业绿色能源开发及利用方案
- 2026年海洋生态保护修复资金管理办法资金使用范围
- 2026年项目区选择和建设条件分析(水文 地质 工程地质)指南
- 2026年数据商加大数据产品开发供给服务全国统一数据市场
- 2026年支持集体智能开发的开源框架AgentKernel架构与应用指南
- 2026年数据收益分配监测数据采集与分析系统建设
- 2026年长输管道改输二氧化碳缩短建设工期20%至60%的工程实践
- 《脑出血》课件完整版
- 主题13人类面临的主要环境问题课件中华地图版高中地理必修二
- 心电监护仪的使用课件
- 中医药文化进校园活动方案
- 散布图法教学课件
- 知识图谱-第9章-知识推理
- 中国心血管病一级预防指南基层版2023版解读
- 体育管理学(全套课件368P)
- 高校思想政治工作中青年骨干队伍建设项目申报表
- 小米充电宝使用说明书小米充电宝20000说明书
- JJF(石化)037-2020橡胶门尼黏度计校准规范
评论
0/150
提交评论