请问大虾:实模式下的Segment(段)是个什么概念,程序为什么要分段呢?
- 问题点数:100、回复次数:11Top
1 楼gaojian13579(无尽空虚)回复于 2003-11-01 09:16:01 得分 10
因为内存要寻址 分段寻址快啊Top
2 楼pengjian82930(彭建)回复于 2003-11-01 10:27:18 得分 10
8086是16位处理器,为了寻址1M内存,将1M内存划分位64个段,每个段长度为64K字节。Top
3 楼SoRoMan(因为所以,所以因为)回复于 2003-11-01 13:51:14 得分 10
分段寻址快?
-----
還是第一次聽說。
http://expert.csdn.net/Expert/topic/2316/2316439.xml?temp=.7574427Top
4 楼fryboy()回复于 2003-11-02 00:31:04 得分 20
学了计算机组成原理就懂了Top
5 楼021850524(吸血鬼牌卫生巾)回复于 2003-11-02 01:09:27 得分 10
在实模式下,你的cpu就是一块8086,8086是16位,20根地址线.寻址能力是1M.
要16位下最大寻址是2^16=64k,所以要达到1M就要分段.Top
6 楼021850524(吸血鬼牌卫生巾)回复于 2003-11-02 01:10:51 得分 10
to gaojian13579(无尽空虚):
并不是说分段寻址快,而是由当时的处理器能力决定的.Top
7 楼o1n(小毛子)回复于 2003-11-02 02:26:46 得分 10
同意楼上的。主要是由处理器的能力决定的。
最大寻址为64KTop
8 楼wwfttelne()回复于 2003-11-02 08:31:03 得分 10
同意 彭建Top
9 楼hswxf(黄山一刀)回复于 2003-11-02 08:38:46 得分 10
分段寻址是为了兼容性而生成的一个无可奈何的办法,在WIN9X中就不用了当保留了这个方法。
其它如楼上
再是分段的确为程序的执行快速化提供了条件,这只是它的优点之一,没听说过应该是搞硬件层不能说的
Top
10 楼andyone11(拿分仑)回复于 2003-11-02 12:11:33 得分 0
markTop
11 楼eduyu(杜宇)回复于 2003-11-04 06:39:17 得分 0
原来如此,谢谢大家。特别是fryboy()。
买了本国外的叫做《结构化计算机组成》的书说:
选择paging 或者 segmentation机制,或者混合,取决于操作系统。当然,前提是处理器的支持。
segmenttaion的好处就是,分段以后 “different segments can grow or shrink independently,without affecting each other”
Top




