段基址和段地址一樣嗎 段基地址是什么?
段基地址是什么?在x86實(shí)模式下,內(nèi)存地址是20位二進(jìn)制數(shù)(5位十六進(jìn)制數(shù)),通常表示為xxxx年(十六進(jìn)制)形式,稱為邏輯地址;對(duì)應(yīng)的物理地址是xxx0yyyy。邏輯地址中的XXXX稱為段基址,yy
段基地址是什么?
在x86實(shí)模式下,內(nèi)存地址是20位二進(jìn)制數(shù)(5位十六進(jìn)制數(shù)),通常表示為xxxx年(十六進(jìn)制)形式,稱為邏輯地址;對(duì)應(yīng)的物理地址是xxx0yyyy。邏輯地址中的XXXX稱為段基址,yyyy稱為偏移量。多個(gè)邏輯地址可以對(duì)應(yīng)于同一物理地址。由于物理地址的計(jì)算公式是xxxx0yyyy,因此必須先在段基址xxxxx之后加上四個(gè)零(二進(jìn)制,十六進(jìn)制),然后再加上偏移量。
什么是基址???
在過(guò)去,計(jì)算機(jī)的寄存器都是16位,數(shù)據(jù)總線是24位(內(nèi)存16m),因此不可能只用一個(gè)寄存器來(lái)尋址所有地址。因此,兩個(gè)寄存器或一個(gè)寄存器加上一個(gè)立即數(shù),CS、DS、SS、ES和其他以s結(jié)尾的寄存器被用作段寄存器,一個(gè)寄存器或立即數(shù)被用作偏移量,因?yàn)閮蓚€(gè)16位寄存器被用作位寄存器加起來(lái)是32位,比數(shù)據(jù)總線位寬,所以段尋址采用以下方法尋址方式:段寄存器×100(十六進(jìn)制)偏移量。這樣,計(jì)算出的數(shù)據(jù)是一個(gè)24位的數(shù)據(jù),可以尋址所有地址。段寄存器×100(十六進(jìn)制)得到的地址是段的基址,因此基址以00(十六進(jìn)制)結(jié)束。
現(xiàn)在的寄存器都是30位,尋址可達(dá)4G,而且通常計(jì)算機(jī)內(nèi)存不大于4G,所以不需要分段,用一個(gè)寄存器就可以尋址所有的地址。
所以現(xiàn)在計(jì)算機(jī)段寄存器用于其他目的。