永发信息网

如何简单的区分几种数据寻址方式

答案:1  悬赏:10  手机版
解决时间 2021-08-18 00:26
  • 提问者网友:放下
  • 2021-08-17 14:07
如何简单的区分几种数据寻址方式
最佳答案
  • 五星知识达人网友:思契十里
  • 2021-08-17 15:46
1.528MB的容量限制:
由于早先的硬盘容量比较小,因此设计的BIOS的时候当把地址从Int 13的地址寄存器转换为IDE(ATA)的地址寄存器时,仅仅把INT 13管理中10位的柱面地址用来对应IDE(ATA)界面中的16位柱面寄存器,而把没有用到的6位(高位寄存器)地址都设定为0。并且也仅把6位的扇区地址来对应IDE(ATA)界面的8位扇区寄存器,其中没有用到的2位设置为0。并且INT 13管理的磁头寄存器4位(又去掉了4位)来对应IDE(ATA)。因此,此时的磁盘柱面最大数为1024(2的10次方),磁头的最大数是16(2的4次方),扇区的最大数是63(2的6次方-1)。因此能寻址的扇区数就成了1,032,192(1,024x16x63)。一个扇区的容量是512字节,也就是说如果以CHS寻址方式,IDE硬盘的最大容量为528.4MB。因此528MB的硬盘容量限制就出现了。

2.1GB的容量限制:
这里分为两个部分,一部分是由磁盘服务的限制造成的,另外一个是由于磁盘格式造成的,通常我们把前者称为2.1GB的硬件容量限制,后一种称为2.1GB的软件容量限制。

硬件容量硬件
当时,为了528MB容量限制的问题,人们提出一些不同的办法,其中一个办法就是INT 13服务的磁头寄存器没有用到的4位中的2位(确切的说是高2位)保留给柱面数的第11、12位使用。这样,最大的磁头数就是64(2的6次方)。但是,当时的操作系统不使用这种转换方法,其认为磁头寄存器的所有位数只可能记录磁头数。比如,为了正确地转换柱面数为2,048、磁头数为64的硬盘,就需要操作系统把柱面数除以4(512个逻辑柱面数),磁头数乘以4(256个逻辑磁头数)。不过由于BIOS中并没有开放所有的磁头数寄存器,当然无法记录这样的磁头数。因此遇到这种运行机制的BIOS,在系统自检的时候就会造成系统当机。

软件容量限制
当时DOS分区的限制是由文件分配表(FAT)决定的。FAT处理存储空间是以簇为单位的,它处理一簇的最大长度是32,768字节,最多能处理65,536个簇,如果将两个数字相乘,就会得到DOS的最大分区界限值是2,147,483,648字节或2,048MB(2,147,483,648 /1,0242)。因此超过这个容量的硬盘,如果使用FAT格式,就最大只能识别2.048GB的硬盘容量。

3.2GB的容量限制:
一些版本的BIOS不能识别超过6322柱面的硬盘,不过这种BIOS比较少见,由于柱面有限制,其最高支持扇区数为6,372,576(6322x16x63),如果乘以512扇区容量的话,其最高支持容量为6,372,576x512=3,262,758,912/1024=3.18GB。

4.2GB的硬盘容量限制:
当时一些操作系统使用8位寄存器来存储磁头数,这样当BIOS报告硬盘的磁头数等于256(最高容量)时,只有磁头数的最先一位(即0)被系统保存,从而导致硬盘配置错误。一旦硬盘的磁头数是16,柱面数大于8,192(2的13次方,由于后三位寄存器已经被磁头寄存器借用,其实这里牵涉到一个突破528MB容量限制的转换做法的问题,由于这一段比较负责,在这里就不详细介绍了,我们只要明白有这个限制就够了),系统就无法正常识别了,因此其最大的容量就被限制在了4.2GB=8192x16x63x512/1024。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯