终端设备的内存访问控制方法与装置的制造方法_4

文档序号:9687373阅读:来源:国知局
改。
[0091] 为解决上述问题,在本实施例中,提出了一种W第二平衡模式作为内存访问模式 对访问请求在各个访问通道上进行分配的终端设备的内存访问控制方法。所述第二平衡 模式是所述平衡模式的另一种实现方式,在所述第二平衡模式下,按存储地址范围将所述 内存的整个存储空间划分为与各个访问通道对应的第二子存储空间,访问请求中包括对目 标访问地址经过扩展处理后的扩展地址,通过对所述扩展地址进行地址译码W确定相应的 访问方式;所述访问方式包括第一访问方式和第二访问方式,所述第一访问方式为在每个 所述第二子存储空间实现访问请求的非交错式访问,所述第二访问方式为在虚拟访问区域 实现访问请求的交错式访问,所述虚拟访问区域中的访问地址是W交错式访问的大小为单 位,将各个所述第二子存储空间的物理存储地址交错映射而成的虚拟存储地址。
[009引图7示出了所述第二平衡模式的内存访问配置情况,假设仍然只有A0和B0接了 外部孤R物理内存,郝么在第二平衡模式下,整个存储空间包括两部分访问区域,其一是A0 外接孤R物理内存所对应的存储空间,送是根据A0外接DDR物理内存的存储地址范围所确 定的与访问通道ο对应的一个所述第二子存储空间,即图7中w空白填充粗框格子所表示 的区域,其二是B0外接孤R物理内存所对应的存储空间,送是根据B0外接孤R物理内存的 存储地址范围所确定的与访问通道1对应的另一个所述第二子存储空间,即图7中正斜线 填充粗框格子所表示的区域。
[0093] 虽然,如果单就外接DDR物理内存所构成的整个存储空间的划分来看,所述第二 平衡模式与所述低功耗模式较为类似,但是,本实施例中对于两个第二子存储空间的访问 方式与所述低功耗模式下对于两个第一子存储空间的访问方式却并不相同,后者的访问方 式是唯一确定的,而前者的访问方式则并不唯一。本实施例中,Master发出的访问请求中 包括的要访问的存储地址的形式与现有技术中通常的目标访问地址有所不同,在第二平衡 模式下,访问请求中包括的是对目标访问地址经过扩展处理后的扩展地址,通过对所述扩 展地址进行地址译码W确定相应的访问方式,所述访问方式包括两种,一种能够实现在每 个所述第二子存储空间实现访问请求的非交错式访问(即所述第一访问方式),另一种则 能够实现整个存储空间内的交错式访问(即所述第二访问方式)。
[0094] 对于所述第一访问方式,其与所述低功耗模式下的访问控制方式类似,可W通过 地址译码的方式,识别某个访问请求所包含的扩展地址中适于进行寻址的地址部分,判断 其处于哪个的存储地址范围,便可W确定该访问请求应当访问A0对应的第二子存储空间 还是B0对应的第二子存储空间。所述第一访问方式的具体实现可W参考所述低功耗模式 下内存访问控制的相关描述,此处不再详细描述。
[0095] 对于所述第二访问方式,为了能够实现在整个存储空间内的交错式访问,因此在 本实施例中定义了一个独立的虚拟存储空间,即如图7所示的"虚拟访问区域",该虚拟访 问区域并非实际的物理存储空间,而只是一种虚拟控制,其中的访问地址是W交错式访问 的大小为单位,通过地址映射的方式,将各个第二子存储空间的物理存储地址交错映射而 成的虚拟存储地址,因此该虚拟访问区域中的访问地址是基于第二子存储空间的物理存储 地址所确定的虚拟存储地址,而且该虚拟访问区域的大小即为整个存储空间的大小。例如, 假设A0对应的第二子存储空间的大小为1G,B0对应的第二子存储空间的大小为1G,郝么 虚拟访问区域的大小为1G+1G= 2GB,本实施例中W此为例进行说明。
[0096] 可W继续参阅图7,图7左侧示出的"虚拟访问区域"中,每一个小格子为一个虚 拟存储地址,其大小为交错式访问的大小,最底下的小格子为虚拟存储地址中的起始地址, 即"0地址",各个第二子存储空间的物理存储地址与虚拟访问区域中的虚拟存储地址之间 的映射关系如图7中的双向箭头所示,A0对应的第二子存储空间中的地址kO映射为虚拟 存储地址中的0地址,B0对应的第二子存储空间中的地址k2则映射为与"0地址"相邻的 后续虚拟存储地址(假设称为"1地址",图7未示出),A0对应的第二子存储空间中的地址 kl映射为与"1地址"相邻的后续虚拟存储地址(假设称为"2地址",图7未示出),B0对 应的第二子存储空间中的地址k3映射为与"2地址"相邻的后续虚拟存储地址,W此类推, 从而实现将各个第二子存储空间的物理存储地址交错映射为虚拟访问区域中的各个虚拟 存储地址。
[0097] 在实际实施时,孤R控制器通过地址译码的方式,确定相应的访问方式后,根据各 个第二子存储空间的物理存储地址与虚拟访问区域中的虚拟存储地址之间的映射关系,便 能够确定最终访问的外接孤R物理内存的存储地址,因此,在所述虚拟访问区域实现访问 请求的交错式访问,相当于是实现了在整个物理存储空间内的交错式访问。
[0098] 通过对上述两种访问方式的介绍可知,虽然两种访问方式最终访问的地址都是外 接孤R物理内存的存储地址,但为了对送两种访问方式能够有更为直观的理解,在本实施 例中可W将在所述第一访问方式下直接访问的如图7右侧所示由两个粗框格子所构成的 区域称为普通区域,而将在所述第二访问方式下访问的如图7左侧所示虚拟访问区域的送 种虚拟控制称为高速交错访问区域。
[0099] 本实施例中,所述扩展处理具体包括对所述目标访问地址添加访问选择扩展位, 所述访问选择扩展位适于标识所述访问方式为所述第一访问方式或是所述第二访问方式。 例如,若访问选择扩展位为0,则表示访问方式为第一访问方式,若访问选择扩展位为1,则 表示访问方式为第二访问方式。
[0100] 本实施例中,为了便于识别,所述访问选择扩展位添加于所述扩展地址的最高位。 在其他实施例中,也可W将所述扩展地址的次高位作为所述访问选择扩展位,而将所述扩 展地址的最高位预留,W用于其他用途。需要说明的是,由于本领域技术人员习惯将某个访 问地址中的低位用于寻址,因此将额外增加的访问选择扩展位设定在扩展地址的高位能够 使所述扩展地址更具有通用性。
[010。 此外,由于每个Master发出的传输特性不一样,为了使每个Master可W有自己的 特有交错式访问的大小,因此,所述终端设备的内存访问控制方法还包括:设置适于配置所 述交错式访问的大小的寄存器;针对发出访问请求的总线主控单元的传输特性不同,通过 所述寄存器分别配置相应的交错式访问的大小。
[0102] 在实际实施时,可W定义一个扩展地址最高位W及交错式访问的大小扩展位的表 在互连逻辑中,示例如表2:
[010引表2
[0104]
[0105] 下面举例说明所述第二平衡模式下的内存访问过程:
[0106] 如表2,扩展地址最高位表示是否访问高速交错访问区域,例如该位为"1"则表示 访问高速交错访问区域,该位为"0 "则表示访问普通区域。交错式访问的大小扩展位表示 各类Master采用何种大小的交错式访问的大小,比如定义256B为L512B为2。
[0107] 假设当某个MasterA发出访问,由于其对应的交错式访问的大小配置为1,郝么 如果落在高速交错访问区域,则交错式访问的大小会W256B为间隔进行访问。假设发出了 0地址的访问,郝么会直接访问到图7右侧所示空白填充粗框格子所表示区域的起始地址 (普通区域)kO。假设发出了 0+256B的访问,由于扩展地址最高位为0,郝么还是落在普通 区域的25她偏移的地方kl,同理,发出0-2GB的访问都会落在图7右侧所示的普通区域。 当MasterA发出最高位为1 (会落在高速交错访问区域,随后的空间是具备交错访问功能 的),对于扩展地址中的低32位为0的访问,郝么会落在虚拟存储地址的高速交错访问区 域,最终访问到物理存储地址kO。当MasterA发出最高位为1,对于扩展地址中的低32位 为256B的访问,郝么会落在虚拟存储地址的高速交错访问区域,最终访问到物理存储地址 k2〇
[010引综上,所述第二平衡模式至少存在W下特点:
[0109] 1)任何Master都可W不受限于芯片,根据实际软件调节的效果进行优化,即可W 通过地址的选择来决定访问高速交错访问区域还是普通区域。在送种内存访问方式下,用 于实现交错式访问的区域等价于多访问通道下最小一个访问通道对应的外接DDR的大小, 十分灵活。
[0110] 2)由于每个Master发出的传输特性不一样,例如CPU发出的大部分访问为缓存行 (Cacheline)的大小,如64B,而其他Master发出128B的大小,所W针对每个Master可W 有自己的特有交错式访问的大小。
[0111] 因此,通过将所述第二平衡模式作为内存访问模式对访问请求在各个访问通道上 进行分配,在性能提升和功耗控制上实现了平衡,由此既能够兼顾高性能和低功耗的内存 访问需求,又能够克服所述第一平衡模式需要基于仿真和测试才能确定各内存访问区域的 配置参数,且配置参数一旦固定于芯片之中却又无法随意更改的缺点,任何总线主控单元 都可W不受限于芯片,根据实际软件调节的效果进行优化。
[0112] 另外,在所述第二平衡模式下,由于可W通过2个不同地址来访问物理的孤R某 地址,也就是说,有2个地址对应一个真正的物理地址,都会去根据虚拟地址访问到送个真 实存在的物理地址,一旦软件有很多问题,便会造成调试比较困难,因此存在一定的安全风 险。为解决该问题,本实施例提供的所述终端设备的内存访问控制方法还包括;在将访问请 求分配到相应的访问通道之前,检测该访问通道对应的存储地
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1