Shadown Ram
一、概念
Shadow RAM也称为“影子”内存。
- 它是为了提高系统效率而采用的一种专门技术。
- 所使用的物理芯片仍然是CMOS DRAM(动态随机存取存储器)芯片。
- Shadow RAM 占据了系统主存的一部分地址空间。其编址范围为C0000~FFFFF,即为1MB主存中的 768KB~1024KB区域。这个区域通常也称为内存保留区,用户程序不能直接访问。
- 用来存放各种ROM BIOS的内容。或者说Shadow RAM中的内容是ROM BIOS的拷贝。因此也把它称为ROM Shadow(即Shadow RAM的内容是ROM BIOS的“影 子”)。 在机器上电时,将自动地把系统BIOS、显示BIOS及其它适配器的BIOS装载到Shadow RAM 的指定区域中。由于Shadow RAM的物理编址与对应的ROM相同,所以当需要访问BIOS时, 只需访问Shadow RAM即可,而不必再访问ROM。
二 、访问速度
通常访问ROM的时间在200ns左右,而访问DRAM的时间小于100ns(最新的DRAM芯片访问时 间为60ns左右或者更小)。
三、系统运行
在系统运行的过程中,读取BIOS中的数据或调用BIOS中的程序 模块是相当频繁的。显然,采用了Shadow技术后,将大大提高系统的工作效率。
按下按键你可以看到该地址空间分配图,在1MB主存地址空间中,640KB以下的 区域是常规内存。640KB~768KB区域保留为显示缓冲区。768KB~1024KB区域即为Shadow RAM区。
在系统设置中,又把这个区域按16KB大小的尺寸分为块,由用户设定是否允许使 用。 C0000~C7FFF这两个16KB块(共32KB)通常用作显示卡的ROM BIOS的Shadow区。 C8000~EFFFF这10个16KB块可作为其它适配器的ROM BIOS的Shadow区。F0000~FFFFF 共64KB规定由系统ROM BIOS使用。 应该说明的是,只有当系统配置有640KB以上的内存时才有可能使用Shadow RAM。在系统 内存大于640KB时,用户可在CMOS设置中按照ROM Shadow分块提示,把超过640KB以上的 内存分别设置为“允许”(Enabled)即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2020-04-25 STM32(五)固件库文件分析