• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 8  文章 - 26  trackbacks - 0
            <2025年8月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            31123456

            常用鏈接

            留言簿(5)

            隨筆檔案

            文章分類

            文章檔案

            相冊(cè)

            C++語言

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            轉(zhuǎn)自:http://www.eetop.cn/blog/html/64/64964-2377.html

            早期的8086只有20根地址線,只能訪問1M的地址空間。CPU尋址則按段+偏移的方式進(jìn)行。16位段+16位偏移的可能的范圍是0~0x10FFEF(即0xFFFF0+0xFFFF),即1M+65520字節(jié)的范圍。由于只有20根地址線,所以在對(duì)1M~1M+65520范圍進(jìn)行訪問時(shí),會(huì)發(fā)生“地址回繞”的現(xiàn)象,就是說實(shí)際會(huì)訪問到0~65520的地方。據(jù)說某個(gè)著名的/臭名昭著的軟件利用了這個(gè)特點(diǎn)。在80286,386等CPU上,它會(huì)失敗,因?yàn)檫@些CPU有多于20根的地址線,并不產(chǎn)生“地址回繞”現(xiàn)象。為了保持完全的兼容性,IBM決定在PC AT系統(tǒng)上加個(gè)邏輯,來模仿以上的回繞特征。他們的方法就是把A20和鍵盤控制器的一個(gè)輸出進(jìn)行AND,這樣來控制A20的打開和關(guān)閉。一開始時(shí)A20是被屏蔽的(總為0),直到系統(tǒng)軟件去打開它。

             

            A20地址線問題
             1981年8月,IBM公司最初推出的個(gè)人計(jì)算機(jī)IBM PC使用的CPU是Intel 8088。在該微機(jī)中地址線
            只有20根(A0 – A19)。在當(dāng)時(shí)內(nèi)存RAM只有幾百KB或不到1MB時(shí),20根地址線已足夠用來尋址這些
            內(nèi)存。其所能尋址的最高地址是0xffff:0xffff,也即0x10ffef。對(duì)于超出0x100000(1MB)的尋址地址將默認(rèn)
            地環(huán)繞到0x0ffef。當(dāng)IBM公司于1985年引入AT機(jī)時(shí),使用的是Intel 80286 CPU,具有24根地址線,最
            高可尋址16MB,并且有一個(gè)與8088完全兼容的實(shí)模式運(yùn)行方式。然而,在尋址值超過1MB時(shí)它卻不能
            象8088那樣實(shí)現(xiàn)地址尋址的環(huán)繞。但是當(dāng)時(shí)已經(jīng)有一些程序是利用這種地址環(huán)繞機(jī)制進(jìn)行工作的。為了
            實(shí)現(xiàn)完全的兼容性,IBM公司發(fā)明了使用一個(gè)開關(guān)來開啟或禁止0x100000地址比特位。由于在當(dāng)時(shí)的8042
            鍵盤控制器上恰好有空閑的端口引腳(輸出端口P2,引腳P21),于是便使用了該引腳來作為與門控制這
            個(gè)地址比特位。該信號(hào)即被稱為A20。如果它為零,則比特20及以上地址都被清除。從而實(shí)現(xiàn)了兼容性。
             由于在機(jī)器啟動(dòng)時(shí),默認(rèn)條件下,A20地址線是禁止的,所以操作系統(tǒng)必須使用適當(dāng)?shù)姆椒▉黹_啟它。
            但是由于各種兼容機(jī)所使用的芯片集不同,要做到這一點(diǎn)卻是非常的麻煩。因此通常要在幾種控制方法中
            選擇。

             
             對(duì)A20信號(hào)線進(jìn)行控制的常用方法是通過設(shè)置鍵盤控制器的端口值。 有些操作系統(tǒng)將A20的開啟和禁止作

            為實(shí)模式與保護(hù)運(yùn)行模式之間進(jìn)行轉(zhuǎn)換的標(biāo)準(zhǔn)過程中的一部分。
            由于鍵盤的控制器速度很慢,因此就不能使用鍵盤控制器對(duì)A20線來進(jìn)行操作。為此引進(jìn)了一個(gè)A20快
            速門選項(xiàng)(Fast Gate A20),它使用I/O端口0x92來處理A20信號(hào)線,避免了使用慢速的鍵盤控制器操作方
            式。對(duì)于不含鍵盤控制器的系統(tǒng)就只能使用0x92端口來控制,但是該端口也有可能被其它兼容微機(jī)上的
            設(shè)備(如顯示芯片)所使用,從而造成系統(tǒng)錯(cuò)誤的操作。
             還有一種方式是通過讀0xee端口來開啟A20信號(hào)線,寫該端口則會(huì)禁止A20信號(hào)線。

            posted on 2008-10-07 17:51 楊彬彬 閱讀(587) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 操作系統(tǒng)
            2021久久国自产拍精品| 婷婷久久五月天| 国产福利电影一区二区三区久久老子无码午夜伦不 | 一本久久知道综合久久| 久久99精品国产99久久6男男| 精品乱码久久久久久夜夜嗨| 久久国产AVJUST麻豆| 久久er国产精品免费观看2| 人妻中文久久久久| 久久精品国产91久久综合麻豆自制| 久久久久99精品成人片三人毛片 | 久久精品www人人爽人人| 久久国产精品波多野结衣AV| 久久亚洲AV成人无码国产| 性高湖久久久久久久久AAAAA| 国产亚洲色婷婷久久99精品| 欧洲国产伦久久久久久久 | 欧美日韩精品久久久久| 久久最新精品国产| 久久精品国产亚洲AV无码娇色| 国产69精品久久久久APP下载| 久久91这里精品国产2020| 国产精品99久久免费观看| 日韩AV无码久久一区二区| 久久亚洲国产精品成人AV秋霞 | 亚洲狠狠综合久久| 国产精品久久久久国产A级| 久久夜色精品国产噜噜麻豆| 中文字幕人妻色偷偷久久| 狠狠色综合网站久久久久久久高清| 亚洲国产天堂久久综合| 人妻少妇精品久久| 亚洲精品tv久久久久久久久久| 久久久久成人精品无码 | 国产成人精品综合久久久久| 久久午夜福利无码1000合集| 欧美日韩久久中文字幕| 久久久久亚洲av综合波多野结衣| 久久久噜噜噜久久中文字幕色伊伊 | 精品久久无码中文字幕| 狠色狠色狠狠色综合久久|