具备地址转换存储器访问机构的半导体装置的制作方法

文档序号:6462267阅读:91来源:国知局
专利名称:具备地址转换存储器访问机构的半导体装置的制作方法
技术领域
本发明涉及具备CPU (Central Processing Unit)和存储器的系统,尤 其涉及向存储器传输数据的技术。
背景技术
在以往的具有CPU和存储器的系统中,是存储器访问的高速化无法 赶上CPU的高速化的状况。因此,为了提高存储器访问性能, 一般采取
高速缓冲存储器方式。该高速缓冲存储器近几年不仅采取1级高速缓冲存
储器(level 1 cache),还采用2级高速缓冲存储器,进一步采用3级高速 缓冲存储器。
图1是与现有技术的存储器访问相关的框图。图1的系统具备第一及 第二半导体装置100、 200。第一半导体装置IOO具有CPUIO、 2级高速缓 冲存储器20和实际存储器(real memory) 30。 2级高速缓冲存储器20具 有高速缓冲存储器21、控制电路22。第二半导体装置200具有实际存储 器40。 CPU10经由2级高速缓冲存储器20,与两个实际存储器30、 40连 接。
进而,对于实际物理存储器空间以外的存储器空间而言,也采用称为 虚拟存储器的技术,以便可以由软件来使用。此时,在CPU内部,具有 将由软件指定的虚设地址转换为实际物理地址的功能,使用该功能可以对 实际物理存储器进行访问。通常在实际物理存储器空间存在容量的限制, 虚拟存储器的技术在可以大大展现可从软件访问的存储器空间的方面是 非常有用的。再有,如上所述,由于实际物理存储器中存在容量的限制, 故在每次需要软件时,通过对应当存放于实际物理存储器中的数据或软件 进行动态分配,从而可以有效使用较少的实际物理存储器。
再有,在采用了之前所述的高速缓冲存储器方式的情况下,通过将暂时访问的存储器数据取入到高速缓冲存储器内,从而在接下来对相同地址 进行访问的情况下无需访问存储器,而通过对高速缓冲存储器进行访问来 使提高存储器性能。
这样,在采用了 CPU的系统中,存储器访问容易成为瓶颈,提高存
储器访问性能变得非常重要。
还有,在对高速缓冲存储器或存储器进行写访问时,通过具备数据覆
写功能,从而可以实施写访问的高速化。写入数据在2级高速缓冲存储器 的控制电路内部暂时被取入写入缓冲器内。若具备数据覆写功能的写入缓 冲器发生向与以前被写入并仍残留于写入缓冲器内的写入数据相同的地 址组、例如相同高速缓冲存储器线上的地址进行写访问的情况,则在写入 缓冲器内进行覆写。由此,在不具备数据覆写功能的写入缓冲器内,不会 覆写各个写访问,每次都在高速缓冲存储器或存储器中发生写访问,但在
具备数据覆写功能的写入缓冲器内减少了写访问自身的访问次数,而且通 过将一个高速缓冲存储器的写访问作为单一的业务(transaction)来处理, 从而能够进行高速的写访问(参照非专利文献O。
非专利文献lARM公司L220 Cache Controller Revision rlp4 Technical Reference Manual, 因特 网
〈http:〃www.arm.com/pdfs/DDI0329G—1220—rlp4_cc_trm.pdf〉
在如上所述采用了高速缓冲存储器的半导体装置中,可以减少对存储 器的访问,可以高速地动作。但是将图像数据等输出到液晶画面等外部显 示装置的情况下,需要将数据存留在存储器等的帧缓冲器中,而不是存留 在高速缓冲存储器中。此时,在装载了2级高速缓冲存储器的半导体装置 中,必须向存储器传输数据,而不使用2级高速缓冲存储。
再有,在使用存储器的CPU以外的主功能块与CPU之间有时共用存 储器上的数据。此时,通常不使用高速缓冲功能,而是通过将来自CPU 的写入数据直接写入存储器,从而保持与主功能块的数据的一致性 (coherency )。
此时,即使在不使用2级高速缓冲存储器的情况下,写入数据也需要 通过2级高速缓冲存储器的控制电路,对这部分存储器的访问需要多余的 时钟循环数。再有,在2级高速缓冲存储器的控制电路中追加上述的数据覆写功能, 会导致2级高速缓冲存储器的控制电路的逻辑复杂化,难以使2级高速缓 冲存储器的时钟高速化。还有,相反为了提高2级高速缓冲存储器的控制 电路的动作频率,通过插入双稳态多谐振荡器,从而会使对存储器的访问 等待时间(access latency)增加,因此无论如何都会使存储器访问性能降 低。
这样,即使根据软件的数据处理内容追加了各种各样的存储器访问功 能,也会使控制逻辑复杂化,结果无法提高存储器访问性能。

发明内容
本发明为了解决上述课题,采取以下手段。
艮口,本发明的本质在于分割配置于CPU与存储器之间的2级高速缓
冲存储器或数据覆写功能、数据旁路功能等各种功能并进行功能块化,根 据模拟物理地址来选择各功能块中的任一个。
例如,在图2中,从CPU10输出的存储器访问是根据模拟物理地址A 来选择第一功能块51,用该第一功能块51处理后的存储器访问是从模拟 物理地址A转换为实际物理地址C,对存储器40进行访问。再有,在从 CPU10有指示模拟物理地址B的存储器访问的情况下,由第二功能块52 进行处理后,转换为实际物理地址C,进行存储器访问。此时,实际物理 地址C在用第一及第二功能块51、 52进行转换的情况下,可以各自转换 为不同的地址区域,而无需表示相同的实际物理地址区域C。再有,即使 在实际物理空间相同的半导体装置100中,其效果也是相同的。
再有,如图3所示,在第二功能块62中不进行地址转换,即使模拟 物理地址与实际物理地址相同,也可以发挥同样的效果。该情况下大部分 处理由第二功能块62来实施,在作为特殊又少见的用法而使用第一功能 块61的情况等下,仅描述了一部分软件的技术人员注意到该模拟物理地 址便能进行系统构筑,因此是有用的。
还有,在图2及图3中,在CPU10与存储器30、 40之间需要设置使 数据读出高速化的高速缓冲存储器或使数据写入处理高速化的数据覆写 功能,但这些处理对于每个软件而言所需的处理不同。如上所述,例如在对共用存储器的访问时或向外部显示装置的显示时,不需要高速缓冲存储 器,相反为了高速显示而需要数据覆写功能。再有,实际物理存储器空间 内在大小上存在限制,置于同一实际物理地址的数据或软件被动态地改 变。
这意味着即使在同一实际物理地址中,随着时间的推移来改变置于该 地址的软件,此时各软件所需的存储器传输功能不同。
因此,首先根据模拟物理地址,从CPU10选择各功能块51、 52、 61、 62的访问,通过各软件所需的最佳功能块。进而,通过使各功能块51、 52、 61、 62具备将模拟物理地址转换为实际物理地址的功能,从而可以正 确地对实际存储器30、 40进行访问。此时,也可以从在CPU内部实现虚 拟存储用的虚设地址转换为模拟物理地址。
如上所述,由于有时在时间轴上在同一实际物理地址上配置不同的数 据或指令码,故各功能块51、 52、 61、 62利用根据不同的虚拟物理地址 生成同一实际物理地址的功能,仅改变虚拟物理地址,就可以改变通过的 功能块,能够对同一实际物理地址进行访问。
利用该使用模拟物理地址的方法,能够将功能块内部的控制特化为单 一的功能处理。由此,可以简化各功能块51、 52、 61、 62,可以提高其动 作频率,无需插入多余的寄存器即可进行高速动作。
另外,上述各功能块中的从模拟物理地址向实际物理地址的转换方法 可以是固定的,也可以动态地改变。还有,在功能块之间位于同一实际物 理地址的数据被改变的情况下,只要在各功能块之间进行通信,以保证数 据的一致性即可。
如上所述,根据本发明,可以按照每个软件使CPU的存储器访问性能 最佳化,能够提高存储器访问性能。


图1是现有技术中的存储器访问相关的框图。
图2是本发明中的存储器访问相关的框图。
图3是本发明中的存储器访问相关的其他框图。
图4是本发明实施方式中的存储器访问相关的框图。图5是本发明实施方式中的地址映射图。
图中IO—CPU, 15—地址译码器,20—2级高速缓冲存储器,21 — 高速缓冲存储器,22—控制电路,30、 40—实际存储器,51、 52—功能块, 61、 62 —功能块,71—2级高速缓冲存储器,72 —数据覆写功能块,73 — 旁路功能块,100、 200 —半导体装置。
具体实施例方式
以下,参照图4及图5,对采用本发明的半导体装置进行说明。 图4是与本发明实施方式中存储器访问相关的框图。在图4中,作为
功能块,示出了 2级高速缓冲存储器71、数据覆写功能块72和旁路功能
块73。
在数据覆写功能块72中,在同一地址空间中存在写访问的情况下, 可以将每个存储器访问进行捆绑后作为一个存储器传输来输出。在同一地 址存在写入的情况下,输出最后写入的数据。也就是说,是能覆写数据的 功能块。
作为旁路功能块73,既不具有高速缓冲功能,也不具备数据覆写功能, 是指仅对存储器访问地址进行变换的功能块。如上所述,实际物理空间可 以如实际存储器30那样位于与CPU10相同的半导体装置100中,也可以 如实际存储器40那样位于与装载CPU的半导体装置不同的半导体装置 200中。
图5是本发明实施方式的地址映射图,描述了虚设地址、模拟物理地 址、物理地址的对应关系。
如图5所示,在将"Ox"以下设为16进制数标记时,通过CPUIO内 部的虚拟存储机构而存储于虚设地址0x00000000号的数据,被转换为模 拟虚设地址0x10000000号。从CPU10输出该模拟虚设地址0x10000000 号的地址,通过配置于CPU10和2级高速缓冲存储器71及数据覆写功能 块72之间的地址译码器(参照图2中的15),将数据传输到数据覆写功能 块72。也就是说,图5中的模拟物理存储器反射镜区域(mirror area) A 是数据覆写功能块72所具有的地址空间。
再有,若由虚拟存储机构将虚设地址0x00000000号转换为模拟虚设地址0x90000000号,则将数据送往2级高速缓冲存储器71,而不是送往 数据覆写功能块72。图5中的模拟物理存储器区域A意味着2级高速缓 冲存储器71的通过。
在将数据传送到数据覆写功能块72的情况下,若该功能块72内位于 同一地址组的数据存在于写入缓冲器中,则后写入的数据在写入缓冲内覆 写在之前已经存在的数据上。而且,若从写入缓冲器进行读出,则后写入 的数据与原来就存在于写入缓冲器内的数据一起被写入存储器30、 40中。 此时,写入到存储器30、 40中的地址,转换为物理地址0x90000000后被 写入。也就是说, 一边进行从虚设地址0x00000000号向模拟物理地址 0x10000000号、而且向物理地址0x90000000的地址转换, 一边将数据写 入存储器30、 40中。
还有,2级高速缓冲存储器71和数据覆写功能块72各自具有高速缓 冲存储器和写入缓冲器,为了从这些数据保持机构明确地将数据送往存储 器30、 40,而保持由软件能够进行访问的寄存器。通过对该寄存器进行访 问,从而能够将残存于2级高速缓冲存储器71或数据覆写功能块72中数 据可靠地转送到存储器30、 40。另外,即使寄存器不存在,只要能够明确 地从软件中将数据吐出,就可以发挥同样的效果。
如图5所示,虚拟存储机构从虚设地址0x00000000号变换为模拟物 理地址0x90000000号,在对2级高速缓冲存储器71进行了访问的情况下, 最终也能与数据覆写功能块72同样地对物理地址0x90000000号进行访 问。
由此,即使在用多个软件一边更换同一地址的物理存储器一边使用的 情况下,根据每个软件的特色,选择2级高速缓冲存储器71或数据覆写 功能块72,就能够最大限度地发挥性能。这是因为利用软件基于高速缓 冲功能来提高性能,相反根据数据覆写功能而提高性能。
再有,从模拟物理地址向物理地址的转换方法,通过设为能从软件上 进行变更,从而也能进行灵活的地址转换。例如,通过以使模拟物理地址 0x10000000转换为物理地址0x90000000,或同样地使模拟物理地址 0x10000000转换为物理地址OxAOOOOOOO的方式由软件进行变更,从而能 够在物理存储器30、 40更少的情况下,能够有效地进行地址变更。相反通过以硬件唯一确定地址变更,从而作为硬件来说较小,无需插 入多余的双稳态多谐振荡器,就可以使存储器访问性能提高。
另外,在此虽然对地址使用固有值并进行了具体说明,但当然应该明 白对所记载的地址以外的地址而言,也具有同样的效果。
(工业上的可利用性) 如以上所说明的,本发明涉及的电路技术具有提高存储器访问性能的 功能,作为高速数据处理装置等是有用的。
权利要求
1.一种半导体装置,其具有对存储器进行访问的CPU,该半导体装置具有两个以上的将来自所述CPU的模拟物理地址转换为实际物理地址的功能块,从所述CPU向所述存储器的访问通过所述功能块中的至少一个功能块,利用所述模拟物理地址来选择所述功能块,利用所述实际物理地址来选择所述存储器。
2. 根据权利要求1所述的半导体装置,其特征在于, 所述存储器内置于所述半导体装置或设置在所述半导体装置之外。
3. 根据权利要求1所述的半导体装置,其特征在于,所述CPU内部具有将虚设地址转换为所述模拟物理地址的机构。
4. 根据权利要求1所述的半导体装置,其特征在于,不同的所述模拟物理地址由不同的所述功能块进行转换,能够生成相 同的所述物理地址。
5. 根据权利要求1所述的半导体装置,其特征在于, 能够动态地改变所述功能块中的从所述模拟物理地址向所述实际物理地址的转换方法。
6. 根据权利要求1所述的半导体装置,其特征在于, 无法改变所述功能块中的从所述模拟物理地址向所述实际物理地址的转换方法。
7. 根据权利要求1所述的半导体装置,其特征在于, 该半导体装置具有以下功能在所述功能块之间改变了位于同一所述实际物理地址的数据的情况下,各功能块之间进行通信以保证数据的一致 性。
8. 根据权利要求1所述的半导体装置,其特征在于, 所述功能块中的至少一个具有高速缓冲存储器功能。
9. 根据权利要求1所述的半导体装置,其特征在于,所述功能块中的至少一个在同一地址组产生了两个以上访问、即第一 写访问与第二写访问的情况下,将所述第二写访问以后的写访问和所述第 一写访问作为对所述存储器的1个写访问而产生写访问。
10. 根据权利要求1所述的半导体装置,其特征在于,所述功能块中的至少一个仅实施从所述模拟物理地址向所述实际物 理地址的转换。
11. 根据权利要求1所述的半导体装置,其特征在于, 所述功能块中的至少一个能够使保持于所述功能块内部的数据向所述存储器吐出。
全文摘要
若在一个控制电路中具有每个软件处理所需的存储器访问功能,则导致电路复杂化、动作频率无法提高,或者增加存储器访问中的循环数。本发明提供一种半导体装置,其中在从CPU(10)向存储器(30、40)的访问中使用模拟物理地址。根据该模拟物理地址,选择每个软件处理所需的功能块(71、72、73),用所选出的功能块进行向实际物理地址的地址转换。通过与CPU(10)并列地具有存储器访问功能,从而实施对每个软件而言最佳的存储器访问处理,可以提高存储器访问性能,而不会进一步导致动作频率下降,或增加存储器访问中的循环数。
文档编号G06F12/10GK101303669SQ20081009199
公开日2008年11月12日 申请日期2008年4月15日 优先权日2007年5月8日
发明者礒野贵亘 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1