《第4节 8086微处理器的存储组织》由会员分享,可在线阅读,更多相关《第4节 8086微处理器的存储组织(8页珍藏版)》请在金锄头文库上搜索。
1、2.48086微处理器的存储器组织,2.4.1存储器地址空间和数据存储格式,1. 物理存储器和地址空间,物理存储器:,指实际存在的具体的存储器芯片,存储器的地址空间:,存储器的地址范围,也称为寻址空间,若有32位地址线,则寻址空间为232=4GB,2. 8086存储器的组织及寻址,有20位地址线,则寻址空间为220=1MB,可寻址的地址范围为 00000HFFFFFH,数据的存储格式,计算机中信息的单位有:,位(bit)、字节(byte),字(word)、双字(double word)等,在存储器中,信息的存储单元是字节,存储单元及其存储内容,每个存储单元都有一个编号存储器的地址,每个存储单元
2、存放一个字节的内容,例如:,0002H单元存放有一个数据34H,0002H34H,0000H,0001H,0002H,0003H,0004H,0005H,0006H,0007H,0008H,0009H,000AH,即:按字节编址,多字节数据在存储器中占据多个连续的存储单元,存放时,低字节存于低地址,高字节存于高地址;,多字节数据占据的地址空间用它的低地址来表示。,例如:,2号“字”单元:, 0002H = 1234H,2号“双字”单元: 0002H = 78561234H,“低对低、高对高”的存储形式,被称为“小端方式”;,数据的地址对齐,同一个存储器地址可以表示为:,字节单元地址、字单元地址
3、、双字单元地址等等(视指令的具体情况)。,将字单元安排在偶地址(xx.xx0 B),将双字单元安排在模4地址(xxxx00 B)的做法,被称为“地址对齐(Align)”。,对于地址不对齐的数据,处理器访问时,需要付出额外的访问时间。,存储的数据如果对齐边界,则存取速度较快,图2.10 8086系统的存储器结构,图 当前可寻址的存储器段(堆栈段和附加段重叠),存储器的逻辑分段,00000H0FFFFH,10000H1FFFFH,20000H2FFFFH,F0000HFFFFFH,64K字节,64K字节,64K字节,64K字节, , ,2.4.2 存储器的分段结构和物理地址的形成,1.存储器的分段
4、结构,由于8086中的地址寄存器都是16位的,用户不能直接使用20位的物理地址,编程时需要使用逻辑地址来寻址存储单元。,逻辑地址由两个16位数构成,其形式为:,8086将存储空间分为多个逻辑段(段Segment)来进行管理,要求:,段的20位的起始地址(xxxxxH)其低4位必须为0(xxxx0H),所以可以将它们省略,然后用1个16位数来表示表示段的首地址。,每段长度限216=64KB,所以段内偏移地址可以用1个16位数表示(xxxxH),1MB 最多可分为16个不重迭的段。实际上,两个不同的逻辑段可以交叠,或者完全重叠,(16位段地址) :( 16位偏移量),段的起始地址 : 段内的偏移地
5、址,每个存储单元都有一个唯一物理地址(00000HFFFFFH) ,20位二进制数,该地址在指令执行时由地址加法器形成,并进行硬件寻址。,地址加法器的具体做法:段地址左移4位,然后加上偏移地址就得到20位物理地址。,CS=1000H,IP=1600H,物理地址=11600H,DS=3000H,SI=190H,物理地址=30190H,SS=A000H,SP=1000H,物理地址=A1000H,ES=C000H,DI=CD00H,物理地址=CCD00H,例如:,图2.11 物理地址形成过程,2. 物理地址的形成,用户编程时采用逻辑地址,其形式为:段的首地址 : 段内偏移地址,它们由两个16位的无符号数构成 。,逻辑地址“1460H:100H” = 物理地址14700H,一个存储单元可以拥有多个逻辑地址,但只可能拥有一个唯一的物理地址。,例如:物理地址: 00200H,逻辑地址: 0020H : 0000H,逻辑地址: 0000H : 0200H,