日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

      歡迎訪問 生活随笔!

      生活随笔

      當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

      编程问答

      物理地址是怎么确定的?以8086为例

      發布時間:2023/12/18 编程问答 31 豆豆
      生活随笔 收集整理的這篇文章主要介紹了 物理地址是怎么确定的?以8086为例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

      物理地址

      我們知道,CPU 訪問內存單元時,要給出內存單元的地址。所有的內存單元構成的存儲空間是一個一維的線性空間,每一個內存單元在這個空間中都有唯一的地址,我們將這個唯一的地址稱為物理地址。

      8086是16位結構的CPU,這也就是說,在8086內部,能夠一次性處理、傳輸、暫時存儲的信息的最大長度是16位。內存單元的地址在送上地址總線之前,必須在CPU中處理、傳輸、暫時存放。

      而上一篇我們講到,地址總線的寬度決定CPU的尋址能力。8086有20根地址總線,可以傳送20位地址,所以其尋址能力為2^20B,即1M。

      很自然地,這里產生了矛盾:如果只是簡單地將地址從內部發出,那么8086只能發出16位的地址,表現的尋址能力也就只有2^16byte,即64KB。這這與1M的尋址能力不符!

      那么如何解決該矛盾呢?

      在正式討論之前,我們換一個話題。如下圖所示,假如大熊要去圖書館,詢問胖虎圖書館的具體位置(物理地址),于是胖虎告訴他:

      (1)你可以從從學校走2826米能到圖書館;

      (2)也可以從學校走2000米到體育館,再走826米就是圖書館。

      顯然,兩種方式大熊都能找到圖書館的位置。

      那么現在加一些限制條件,比如大熊和胖虎之間用如下的方格紙進行通信,那么按照第一種方式直接寫入2826表示圖書館的位置就能準確定位。

      如果現在再加一個限定條件:假如方格個數只有三個,如何才能定位圖書館的位置呢?

      只能采用第二種方式咯:先找到體育館,再通過偏移的826米找到圖書館。

      概括表述為:先用200米表示起始位置,我給它起個名字叫段地址,將200米乘以10的位置我們叫它基地址,基地址再加上偏移位置826米,正好是2826米,也就是圖書館的位置!

      好了,我們再回到8086CPU確定物理地址的方式上來,根據上面的例子我們就能解決CPU內部與數據總線的矛盾。8086CPU采用一種在內部用兩個16位地址合成的方法來形成一個20位的物理地址。

      (1) CPU中的相關部件提供兩個16位的地址,一個稱為段地址,另一個稱為偏移地址;

      (2)段地址和偏移地址通過內部總線送入一個稱為地址加法器的部件;

      (3)地址加法器將兩個16位地址合成為一個20位的物理地址;

      (4)地址加法器通過內部總線將20位物理地址送入輸入輸出控制電路;

      (5)輸入輸出控制電路將20位物理地址送上地址總線;

      (6)20位物理地址被地址總線傳送到存儲器。

      動圖演示如下:

      地址加法器采用物理地址=段地址x16+偏移地址的方式合成物理地址,其思想和上述例子中找圖書館的位置時如出一轍的,只不過從10進制變成了計算機的16進制。

      當個體受限時,借助外力以及互相配合則顯得尤為重要!

      君子性非異也,善假于物也?!髯?/p>

      兩點注意:

      (1)段地址×16必然是16的倍數,所以一個段的起始地址也一定是16的倍數;

      (2)偏移地址為16位,16位地址的尋址能力為64KB,所以一個段的長度最大為64KB。

      總結

      • CPU將若干地址連續的內存單元看作一個段,用段地址x16定位段的起始地址(基礎地址),用偏移地址定位段中的內存單元;
      • 物理地址=段地址x16+偏移地址

      總結

      以上是生活随笔為你收集整理的物理地址是怎么确定的?以8086为例的全部內容,希望文章能夠幫你解決所遇到的問題。

      如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。