- 4
- 0
- 约2.15千字
- 约 7页
- 2017-09-12 发布于湖北
- 举报
激活A20地址线详解
激活A20地址线详解
A20地址线是一个很不容易理解的地方,这主要是由于历史原因造成的。在8086/8088中,有20根地址线,所以可以访问的地址是2^20=1M,但由于8086/8088是16位地址模式,能够表示的地址范围是0-64K,为了在8086/8088下能够访问1M内存,Intel采取了分段的模式:16位段基地址:16位偏移。但是这种方式有一个问题,他的最大的访问空间为:0xFFFF:0xFFFF=0x10FFEF=1M+64K-16Bytes,但8086/8088只有20位地址线,如果访问100000h~10FFEFh之间的内存,则必须有第21根地址线。所以当程序员给出超过1M(100000H-10FFEFH)的地址时,系统并不认为其访问越界而产生异常,而是自动从重新0开始计算。到了80286,系统的地址总线发展为24根,这样能够访问的内存可以达到2^24=16M。在实模式下,80286和其后续系统所表现的行为应该和8086/8088所表现的完全一样,但是,80286芯片却存在一个BUG:如果程序员访问100000H-10FFEFH之间的内存,系统将实际访问这块内存,而不是重新从0开始。为了解决这个问题,IBM使用键盘控制器上剩余的一些输出线来管理第21根地址线,即A20 Gate。如果A20 Gate被打开,则当程序员给出100000H-10FFEFH之间的地址的时候,系统将真正访问这块内存区域;如果A20 Gate被禁止,则当程序员给出100000H-10FFEFH之间的地址的时候,系统仍然使用8086/8088的方式。从80286开始,系统出现了一种新的机制,被称为保护模式。那为什么进入保护模式一定要打开A20呢,它对保护模式有什么影响?如果A20 Gate被禁止,对于80286来说,其地址为24bit,其地址表示为EFFFFF;对于80386极其随后的32-bit芯片来说,其地址表示为FFEFFFFF。这种表示的意思是如果A20 Gate被禁止,则其第20-bit在CPU做地址访问的时候是无效的,永远只能被作为0;如果A20 Gate被打开,则其第20-bit是有效的,其值既可以是0,又可以是1。
所以,如果A20被禁止,可访问的内存只能是奇数段(2N+1)M,只有当A20被打开的时候才能访问连续的内存。
下面讨论一下如何打开A20地址线:
通常的方法是通过设置键盘控制器的端口值,不过有些系统觉得键盘控制器很慢,为此引入了一个Fast Gate A20,它用IO端口的0x92来处理A20信号线。还有一种方法是通过读取0xee端口来开启A20地址线,写端口则会禁止地址线。
我给大家介绍的是最普通的方法.
先看看804x的逻辑图
由此可见,端口p2的第1位(从0开始)就是控制A20地址线的地方,如果它置位,则开通A20地址线。分配给IO控制器的端口为0x60-0x6f,但IBM PC只用0x60和0x64,如下图:
系统在向0x60发送一字节的时候,就是发送键盘命令,键盘在接受命令后20ms内给予反应,并返回一个0xfa相应码。
键盘命令如下图:
系统向0x64写一字节,就是发送一个键盘控制器命令,可带参数,参数由0x60发送。键盘控制命令如图:
从理论上讲,打开A20 Gate的方法是通过设置8042芯片输出端口(64h)的2nd-bit,但事实上,当你向8042芯片输出端口进行写操作的时候,在键盘缓冲区中,或许还有别的数据尚未处理,因此你必须首先处理这些数据。
所以,激活A20地址线的流程为:
1.禁止中断;
2.等待,直到8042 Input buffer为空为止;
3.发送Write 8042 Output Port命令到8042 Input buffer
4.等待,直到8042 Input buffer为空为止;
5.向P2写入数据,将OR2置1;
相关程序如下:
act20addr:
call wait_8042free ;;等待8042为空
mov al,0x0D1 ;;D1的意思是向8042端口的P2写数据
mov dx,0x064
out dx,al
call wait_8042free
mov al,0x0DF ;;DF写入P2,根据图示,A20位置1,开通了A20地址线
mov dx,0x060
out dx,al
ret
wait_8042free:
.ll_begin:
in al,0x64
您可能关注的文档
- 精选激光行业发展趋势.docx
- 精品火灾自动报警系统全部检验批质量验收记录表.doc
- 精选火焰法制备非晶态“实心”炭纳米纤维的结构模型及其电输运行为.pdf
- 精品火电工程机组整套启动试运前质量监督检查记录典型表式.doc
- 精品火灾事故分级和分类.ppt
- AI+具身智能行业市场前景及投资研究报告:体育安防场景落地.pdf
- 春风动力-市场前景及投资研究报告-极核增长引擎,全球结构变化,新驱动力.pdf
- 电力新能源行业市场前景及投资研究报告:AIDC通胀,电源、芯片电感、液冷、PCB上游,AIDC电力设备.pdf
- 公用事业行业市场前景及投资研究报告:核电,不破不立,成长逻辑.pdf
- 金融工程专题分析报告:剔除低预期的GRU弹性赛道优选.pdf
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 人教版小学六年级数学册期末检测试卷共八套.doc VIP
- 《新时代汉语口语:中级·下》PPT第15课 读万卷书,行万里路.pptx VIP
- 《新时代汉语口语:中级·下》PPT第5课 如今的四合院.pptx VIP
- 村支书考录公务员笔试试卷(含答案).docx VIP
- 《新时代汉语口语:中级·下》PPT第13课 孩子的零花钱怎么给(新).pptx VIP
- 《新时代汉语口语:中级·下》PPT第11课 我的“选择困难症又犯了(新).pptx VIP
- 铝灰渣资源化利用污染控制技术规范.pdf VIP
- 《新时代汉语口语:中级·下》PPT第14课 我想搬出去住(新).pptx VIP
- 《新时代汉语口语:中级·下》PPT第7课 网购与生活 .pptx VIP
- 2023年江苏省专转本考试计算机真题附答案解析.docx VIP
原创力文档

文档评论(0)