當前位置:首頁 » 存儲配置 » 存儲段基址

存儲段基址

發布時間: 2024-08-31 14:20:12

❶ 8086系統中的存儲器為什麼要採用分段結構有什麼好處

8086CPU中的寄存器都是16位的,16位的地址只能訪問64KB的內存。086系統中的物理地址是由20根地址匯流排形成的,要做到對20位地址空間進行訪問,就需要兩部分地址,在8086系統中,就是由段基址和偏移地址兩部分構成。

這兩個地址都是16位的,將這兩個地址採用相加的方式組成20位地址去訪問存儲器。在8086系統的地址形成中,當段地址確定後,該段的定址范圍就已經確定,其容量不大於64KB。同時,通過修改段寄存器內容,可達到邏輯段在整個1MB存儲空間中浮動。

各個邏輯段之間可以緊密相連,可以中間有間隔,也可以相互重疊(部分重疊,甚至完全重疊)。採用段基址和偏移地址方式組成物理地址的優點是:滿足對8086系統的1MB存儲空間的訪問,同時在大部分指令中只要提供16位的偏移地址即可。

(1)存儲段基址擴展閱讀

把段的起始單元的物理地址除以16的結果稱為段地址,它為16位,寫成十六進制是4位:XXXXH。顯然,段地址決定了段在lMB空間中的位置。段內各存儲單元相對段的起始單元都有一個距離,稱為段內偏移量。

在對內存進行操作時,段地址先確定下來,然後給出不同的段內偏移量,就可以實現段內的定址。段地址也是可以改變的,即段在1MB空間中的位置是可變的,因而可實現1MB的全范圍定址。

由於採用了分段結構,因此可以把每一個存儲單元看成是具有兩種類型的地址:物理地址和邏輯地址。物理地址就是實際地址,它具有20位的地址值,它惟一地標識1MB存儲空間的某一存儲單元。CPU與存儲器之間的信息交換都是使用這個物理地址。

邏輯地址是編程時所使用的地址,它由段地址和段內偏移量組成。邏輯地址和物理地址的關系為:物理地址=段地址16+段內偏移量。由邏輯地址形成物理地址是由匯流排介面部件中的電路實現的。

❷ 8086cpu中段寄存器是用來存放存儲器的段基址還是存儲器的邏輯地址

消螞你問的是8086架構的CPU吧,看的很眼熟,很多年都沒接觸了。8086中有4個16位的段寄存器:CS、DS、SS、ES,分別用於存放可執行代碼的代碼段、數據段、堆羨森棧段和其他段的基地址。x0dx0a其中,段寄存器CS指向存放程序的內存段,IP是用來存兄橋畝放下條待執行的指令在該段的偏移量,把它們合在一起可在該內存段內取到下次要執行的指令。x0dx0a段寄存器SS指向用於堆棧的內存段,SP是用來指向該堆棧的棧頂,把它們合在一起可訪問棧頂單元。x0dx0a段寄存器DS指向數據段,ES指向附加段,在存取操作數時,二者之一和一個偏移量合並就可得到存儲單元的物理地址。通常,預設的數據段寄存器是DS。

❸ 8086/8088CPU使用的存儲器為什麼要分段怎麼分段

8086/8088系統中,存儲器為什麼要分段。

一個段最大為多少位元組。

最小為多少位元組。

解:分段的主要目的是便於存儲器的管理,使得可以用16位寄存器來定址20位的內存空間。

一個段最大為64KB,最小為16B。

(3)存儲段基址擴展閱讀:

段的開始地址總是是16的倍數。即:若一個段的起始地址為0000h,那麼另一個段(重疊第一個段)的起始地址將為:0010h(即16),下一個段的起始地址將為0020h(32)。

一個段的段號由其物理地址的前4個16進制數組成。(如:FFFF)

通常,程序只寫出偏移量(從段的第一個位元組到要定位地址的距離),段號可以通過上下文判斷。偏移量大小從0000到FFFF。

熱點內容
hypermesh加密網格 發布:2024-09-18 19:49:59 瀏覽:53
監控怎麼存儲 發布:2024-09-18 19:49:09 瀏覽:73
sql字元串轉換datetime 發布:2024-09-18 19:39:15 瀏覽:514
訪問平台慢 發布:2024-09-18 19:13:45 瀏覽:470
linux圖形顯示 發布:2024-09-18 19:12:51 瀏覽:817
ftp天網 發布:2024-09-18 19:03:41 瀏覽:46
tplink路由器重置了密碼是多少 發布:2024-09-18 19:01:03 瀏覽:720
密碼門的鑰匙在哪裡 發布:2024-09-18 19:00:21 瀏覽:932
pythondefer 發布:2024-09-18 18:42:20 瀏覽:521
阿里雲伺服器有幾種網路選擇 發布:2024-09-18 18:41:06 瀏覽:653