2012-02-22 56 views
1

我知道8086有一個20位地址總線和16位寄存器,所以它需要2個寄存器來定位絕對存儲器地址。爲什麼8086不使用20位寄存器?爲什麼8086不使用20位寄存器?

+1

與8080&8088的兼容性(請注意,這裏有一個wiki) – KevinDTimm 2012-02-22 16:10:56

回答

2

幾個原因。

  1. 它保持了與8080的向後兼容性如果你將所有的段寄存器爲0,我覺得將運行8080碼。
  2. 數據總線只有16位寬。分段架構允許您在一個存儲器讀取週期中提取整個地址。 20位地址需要兩個。

這些是我能想到的兩個我的頭頂。

+1

它不運行8080代碼,但指令具有等效意義,並且具有足夠的細節以便二進制代碼可以自動轉碼,或者彙編程序編程爲讀取8080源,但生成8086的操作碼。 – 2015-01-17 11:54:45

相關問題