
例如,在一个2兆字节的引导ROM ,前16个字节的
引导ROM可能不得不被保留给一个远跳
在F000段的位置,这将驻留
正下方1兆字节在同一个引导ROM 。
当代码已经启动,你有一定的控制
在该CPU的地址会导致访问到
ROMCS 。使用lanSC300单片机指数
寄存器51h的和为65h时,CPU可以映射到ROMCS
在五个不同的64 -K字节的区域的地址空间:
A0000 - AFFFF , C0000 - CFFFF , D0000 - DFFFF ,
E0000 - EFFFF和F0000 - FFFFF 。 64字节
略低于16兆字节的区域, FF0000 - FFFFFF ,总是
映射到ROMCS 。这是唯一的区域之间可能
被映射到ROMCS不使用翻译
内存管理。
粒度为这些阴影区域是16
字节,而粒度为ROMCS
映射是64字节。因此,你可以有一个
64 KB区域是本地/ ISA总线的混合物
DRAM和16 KB的边界,但你不能
有一个64 KB区域是ROMCS的混合物
和DRAM 。
之后, DRAM的大小已设置了编程
DRAM控制器,从1兆字节到15的任何量
兆字节可从DRAM大小使用减去
指数注册6FH 。在DRAM起始地址保持在
0和结束地址被减小。它甚至可以
减去使用该方法的整个DRAM空间。
访问超出了新的DRAM结束地址复归
本地/ ISA总线的空间。然而,上述1的部分
兆字节可以被重定向到DOSCS空间,如
在下面的部分中讨论。
DRAM和非翻译记忆
管理
前任何的DRAM ,可以使用引导代码必须
编程DRAM控制器(参照表中的
配置寄存器部分
lanSC300
单片机编程参考手册
,
订单# 18470 ) 。编程控制器设置
DRAM的空间的总大小。从DRAM空间大小
512字节到16兆字节的支持。在DRAM
控制逻辑将所有的系统DRAM
成,在开始一个统一的地址空间
从0地址0默认情况下, CPU的地址顶端
DRAM的将被映射到DRAM的空间,在
优先考虑本地/ ISA空间。有两种
例外:
s
从640字节到1兆字节的窗口( A0000-
FFFFF )不会自动映射到DRAM 。
在这个区域A0000 - FFFFF映射保持什么
这是已启用的DRAM控制器。 (A
地址范围A0000 - FFFFF的介绍
在地址范围A0000 - FFFFF描述
下面一节)。它可以映射地址
范围C0000 - FFFFF到DRAM中,也描述了
下文。它不可能直接映射地址中
范围A0000 - BFFFF到DRAM 。
s
64K字节窗口在CPU地址顶部
空间( FF0000 - FFFFFF )总是被映射到
ROMCS 。
该lanSC300微控制器提供了数量有限
编程控制DRAM的使用
非翻译内存管理:
s
在该地区的C0000 - FFFFF ,任何16 KB区域
被映射到本地/ ISA总线(即,
不
映射到ROMCS )可通过将被重定向到DRAM的
在指标设置位寄存器65H , 68H , 69H和。
该功能有时也被称为ROM阴影,
因为它可以让速度慢的ROM阴影成
更快的DRAM 。在变址寄存器65H的标志让这
阴影内存进行写保护。注意
DOSCS空间与非翻译
内存管理
该DOSCS空间是16M字节的空间。的任何部分
DOSCS空间复位自动映射。为
非翻译存储器管理(未使用
MMS) ,可以编写索引寄存器B8H地图的任何
量为1兆字节减去64字节高达15兆字节
MI在1兆YT ê新加坡国立大学6 4 K,在德的DO SC S S小PA CE
增量。此非翻译DOSCS空间总是
结束地址FEFFFF 。作为一个例子,如果3兆字节
减去64字节映射,地址D00000-
FEFFFF将被映射到DOSCS 。记住,
区域FF0000 - FFFFFF始终映射到ROMCS ,
占零下64字节。
在所有情况下, DOSCS映射是不允许
重叠,映射到DRAM的一个范围。指数
寄存器6FH可以用来限制DRAM的大小
如果有必要的空间。这DRAM限流必须做
前DOSCS映射功能。
再次,因为这是不被翻译的存储器
管理, MMU只需检查CPU
地址,选DOSCS空间,并且通
未翻译地址的地址线。
地址范围A0000 - FFFFF
该地址ESS系列A0000 -FFFFF是处理
不同的PC / AT兼容。本节
总结了不同的方式A0000 - FFFFF可以
映射。
复位时,映射A0000 - FFFFF是:
A0000 - B7FFF :
B8000 - BFFFF :
C0000 - EFFFF :
F0000–FFFFF:
本地/ ISA
显示SRAM
本地/ ISA
ROMCS
义隆
TM
SC300和lanSC310微控制器的内存管理
3