问题详情

8086/8088CPU使用的存储器为什么要分段?怎么分段?


时间:2022-01-05 15:00 关键词: 微型计算机 计算机科学技术

答案解析

<p> 8086/8088为16位CPU,其内部的ALU、相关的地址寄存器(如SP、IP以及BX、BP、SI、DI)等都是16位的,因而对存储器地址的处理也只能是16位操作,即8086/8088的直接寻址能力在64KB范围内。而实际上8086/8088有20条地址线,它的最大寻址空间为1MB。<br> 这就产生了一个矛盾,即如何用16位的地址寄存器去表示一个20位的存储器物理地址?<br> 实际使用的解决办法是:将1MB大小的存储空间分为若干&ldquo;段&rdquo;,每段不超过64KB。<br> 这样,一个20位的物理地址就可以用&ldquo;16位段基址:16位偏移量&rdquo;的形式(称为逻辑地址)来表示了,其中段地址存放在8086/8088的段寄存器中。</p>