圖書館:擴展記憶體
{{noteTA
|G1=IT }}
擴展記憶體({{lang-en|Expanded Memory}})是1985年4月24日,由Lotus、英特爾與微軟聯合發佈的一項DOS內存技術,可以提供MS-DOS程式更多的記憶體。
八十年代的個人計算機(IBM PC/AT)多半使用真實模式,只有1MB的定址空間,且640KB以上的定址空間不可被應用程式讀寫使用。
擴展記憶體的原理是使用1MB扣除640KB後剩下的384KB,稱作上端內存區(upper memory area), 這本來是用來跟外設溝通的空間, 給程序使用。把內存的定址窗口插入到上端內存區的外設定址空間,引入了bank switching (存儲體轉換)的技巧。 同一時間只有一部分的額外記憶體可以被存取。 使用64KB的memory windows做為bank switching 的單位。
早期可以購買記憶體擴充卡來插在ISA bus插槽上. 之後,一些Intel 80286的主機版的晶片組實現了 expanded memory scheme, 就不用再買擴充卡,而用軟件設置就可以決定多少記憶體被用做擴展記憶體,多少記憶體被用做延伸記憶體
1987年開始,內建記憶體管理功能的Intel 80386 處理器讓在傳統真實模式下的程式,可以有不受限的 定址空間,硬件解決方案就變得沒有必要。這時擴展記憶體只能用軟件來模擬了.
在80286與之後的處理器,一個更有效率的方法存取640KB以後的記憶體, 就是用DOS Proteced Mode Interface.DOS extenders 是一個使程式可以在保護模式下執行的驅動程式. 與其用banking技巧存取更多記憶體,這個驅動程式可以讓應用程式在保護模式與真實模式間切換, (在需要MS-DOS服務時回到真實模式)這樣就使用應用程式可以直接存取延伸記憶體.
相關連結
編輯Category:X86內存管理 Category:DOS內存管理 Category:內存擴展
{{Compu-stub}}