| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1180 人关注过本帖
标题:关于内存分段
只看楼主 加入收藏
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
 问题点数:0 回复次数:3 
关于内存分段
8086CPU有20为地址线,而8086CPU寄存器都是16 位的,为了使没一个内存单元都能被访问到,CPU在确定一个内存地址是采用逻辑嗲制来描述,即内存分段,可以把1MB内存地址分成若干段,最多64kb段每段16字节,最少16段每段64kb,那么分段是在CPU运行时机器电路自动进行,还是由程序代码的设置决定,?然后如果分了16段一段64kb那,现在用8086芯的机子编一16位程序,代码加上数据加上堆栈总的不到64kb,代码数据会不会想现代32为机那样处于同一个段呢,如果不能,为什么,如果能怎么实现?
搜索更多相关主题的帖子: 内存 堆栈 寄存器 分段 CPU 
2006-08-21 13:18
cjdevil12345
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-12-10
收藏
得分:0 

第一:首先在通常情况下,各段在存储器中的分配是由操作系统负责的.每个段可以独立占用64KB的存储区.
第二:一般根据程序或数据的大小来占用存储区.假设程序代码空间有8KB,数据有2KB,临时存放信息的堆栈有256B,此时段的分配方式是相临.这种方式与每个段占用64KB的分配方式相比较,8KB和256B均可以放在存储器内一个64KB的存储段区,也可以段的重叠


2006-08-21 21:52
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 

那,64不是小于256吗?怎么能把256字节放在64里呢??如果能重叠那数据不就乱加覆盖了吗?就64个地儿怎么够256个人站呢?!


我就是程序,程序就是我,我还能退出程序吗?!
2006-08-22 14:50
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 

第一:首先在通常情况下,各段在存储器中的分配是由操作系统负责的.每个段可以独立占用64KB的存储区.....

那么既然由存储器负责我们不求控制不住它了吗,如果我现在先让它一段16字节我如果不负责设置以下机器又怎么回知道呢??!


我就是程序,程序就是我,我还能退出程序吗?!
2006-08-22 14:53
快速回复:关于内存分段
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014873 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved