CN101303669A - 具备地址转换存储器访问机构的半导体装置 - Google Patents
具备地址转换存储器访问机构的半导体装置 Download PDFInfo
- Publication number
- CN101303669A CN101303669A CNA2008100919951A CN200810091995A CN101303669A CN 101303669 A CN101303669 A CN 101303669A CN A2008100919951 A CNA2008100919951 A CN A2008100919951A CN 200810091995 A CN200810091995 A CN 200810091995A CN 101303669 A CN101303669 A CN 101303669A
- Authority
- CN
- China
- Prior art keywords
- physical address
- semiconductor device
- functional block
- data
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
若在一个控制电路中具有每个软件处理所需的存储器访问功能,则导致电路复杂化、动作频率无法提高,或者增加存储器访问中的循环数。本发明提供一种半导体装置,其中在从CPU(10)向存储器(30、40)的访问中使用模拟物理地址。根据该模拟物理地址,选择每个软件处理所需的功能块(71、72、73),用所选出的功能块进行向实际物理地址的地址转换。通过与CPU(10)并列地具有存储器访问功能,从而实施对每个软件而言最佳的存储器访问处理,可以提高存储器访问性能,而不会进一步导致动作频率下降,或增加存储器访问中的循环数。
Description
技术领域
本发明涉及具备CPU(Central Processing Unit)和存储器的系统,尤其涉及向存储器传输数据的技术。
背景技术
在以往的具有CPU和存储器的系统中,是存储器访问的高速化无法赶上CPU的高速化的状况。因此,为了提高存储器访问性能,一般采取高速缓冲存储器方式。该高速缓冲存储器近几年不仅采取1级高速缓冲存储器(level 1 cache),还采用2级高速缓冲存储器,进一步采用3级高速缓冲存储器。
图1是与现有技术的存储器访问相关的框图。图1的系统具备第一及第二半导体装置100、200。第一半导体装置100具有CPU10、2级高速缓冲存储器20和实际存储器(real memory)30。2级高速缓冲存储器20具有高速缓冲存储器21、控制电路22。第二半导体装置200具有实际存储器40。CPU10经由2级高速缓冲存储器20,与两个实际存储器30、40连接。
进而,对于实际物理存储器空间以外的存储器空间而言,也采用称为虚拟存储器的技术,以便可以由软件来使用。此时,在CPU内部,具有将由软件指定的虚设地址转换为实际物理地址的功能,使用该功能可以对实际物理存储器进行访问。通常在实际物理存储器空间存在容量的限制,虚拟存储器的技术在可以大大展现可从软件访问的存储器空间的方面是非常有用的。再有,如上所述,由于实际物理存储器中存在容量的限制,故在每次需要软件时,通过对应当存放于实际物理存储器中的数据或软件进行动态分配,从而可以有效使用较少的实际物理存储器。
再有,在采用了之前所述的高速缓冲存储器方式的情况下,通过将暂时访问的存储器数据取入到高速缓冲存储器内,从而在接下来对相同地址进行访问的情况下无需访问存储器,而通过对高速缓冲存储器进行访问来使提高存储器性能。
这样,在采用了CPU的系统中,存储器访问容易成为瓶颈,提高存储器访问性能变得非常重要。
还有,在对高速缓冲存储器或存储器进行写访问时,通过具备数据覆写功能,从而可以实施写访问的高速化。写入数据在2级高速缓冲存储器的控制电路内部暂时被取入写入缓冲器内。若具备数据覆写功能的写入缓冲器发生向与以前被写入并仍残留于写入缓冲器内的写入数据相同的地址组、例如相同高速缓冲存储器线上的地址进行写访问的情况,则在写入缓冲器内进行覆写。由此,在不具备数据覆写功能的写入缓冲器内,不会覆写各个写访问,每次都在高速缓冲存储器或存储器中发生写访问,但在具备数据覆写功能的写入缓冲器内减少了写访问自身的访问次数,而且通过将一个高速缓冲存储器的写访问作为单一的业务(transaction)来处理,从而能够进行高速的写访问(参照非专利文献1)。
【非专利文献1】ARM公司L220 Cache Controller Revision rlp4Technical 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是本发明实施方式中的地址映射图。
图中:10-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所示,在将“0x”以下设为16进制数标记时,通过CPU10内部的虚拟存储机构而存储于虚设地址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转换为物理地址0xA0000000的方式由软件进行变更,从而能够在物理存储器30、40更少的情况下,能够有效地进行地址变更。
相反通过以硬件唯一确定地址变更,从而作为硬件来说较小,无需插入多余的双稳态多谐振荡器,就可以使存储器访问性能提高。
另外,在此虽然对地址使用固有值并进行了具体说明,但当然应该明白:对所记载的地址以外的地址而言,也具有同样的效果。
(工业上的可利用性)
如以上所说明的,本发明涉及的电路技术具有提高存储器访问性能的功能,作为高速数据处理装置等是有用的。
Claims (11)
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所述的半导体装置,其特征在于,
所述功能块中的至少一个能够使保持于所述功能块内部的数据向所述存储器吐出。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007123007A JP4994103B2 (ja) | 2007-05-08 | 2007-05-08 | アドレス変換メモリアクセス機構を備える半導体装置 |
JP2007-123007 | 2007-05-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101303669A true CN101303669A (zh) | 2008-11-12 |
Family
ID=39970601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100919951A Pending CN101303669A (zh) | 2007-05-08 | 2008-04-15 | 具备地址转换存储器访问机构的半导体装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20080282054A1 (zh) |
JP (1) | JP4994103B2 (zh) |
CN (1) | CN101303669A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294610A (zh) * | 2012-01-26 | 2013-09-11 | 阿普赛尔有限公司 | 可重复使用的内容可寻址存储 |
US9176871B1 (en) | 2012-01-26 | 2015-11-03 | Upthere, Inc. | Garbage collection of chunks |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5092897B2 (ja) * | 2008-05-26 | 2012-12-05 | 富士通株式会社 | データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法 |
CN111276179B (zh) * | 2020-02-14 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种NAND Flash错误率的分组测试装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH031260A (ja) * | 1989-05-30 | 1991-01-07 | Hitachi Ltd | 計算機方式 |
US5561814A (en) * | 1993-12-22 | 1996-10-01 | Intel Corporation | Methods and apparatus for determining memory operating characteristics for given memory locations via assigned address ranges |
JP3713312B2 (ja) * | 1994-09-09 | 2005-11-09 | 株式会社ルネサステクノロジ | データ処理装置 |
JP2003140966A (ja) * | 2001-11-01 | 2003-05-16 | Fujitsu Ltd | 計算機システムのキャッシュメモリ制御方式 |
US7676603B2 (en) * | 2004-04-20 | 2010-03-09 | Intel Corporation | Write combining protocol between processors and chipsets |
EP1619589B1 (fr) * | 2004-07-23 | 2007-12-26 | Stmicroelectronics SA | Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé |
JP2006185284A (ja) * | 2004-12-28 | 2006-07-13 | Renesas Technology Corp | データ処理装置 |
US7822941B2 (en) * | 2006-06-05 | 2010-10-26 | Oracle America, Inc. | Function-based virtual-to-physical address translation |
US7600093B2 (en) * | 2007-01-16 | 2009-10-06 | International Business Machines Corporation | Device, method and computer program product for multi-level address translation |
-
2007
- 2007-05-08 JP JP2007123007A patent/JP4994103B2/ja not_active Expired - Fee Related
-
2008
- 2008-03-14 US US12/048,973 patent/US20080282054A1/en not_active Abandoned
- 2008-04-15 CN CNA2008100919951A patent/CN101303669A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294610A (zh) * | 2012-01-26 | 2013-09-11 | 阿普赛尔有限公司 | 可重复使用的内容可寻址存储 |
US9176871B1 (en) | 2012-01-26 | 2015-11-03 | Upthere, Inc. | Garbage collection of chunks |
US9207866B2 (en) | 2012-01-26 | 2015-12-08 | Upthere, Inc. | Chunk-level client side encryption in hierarchical content addressable storage systems |
US9411749B2 (en) | 2012-01-26 | 2016-08-09 | Upthere, Inc. | Chunk-level client side encryption in hierarchical content addressable storage systems |
CN103294610B (zh) * | 2012-01-26 | 2016-08-10 | 阿普赛尔有限公司 | 可重复使用的内容可寻址存储 |
Also Published As
Publication number | Publication date |
---|---|
JP2008282065A (ja) | 2008-11-20 |
JP4994103B2 (ja) | 2012-08-08 |
US20080282054A1 (en) | 2008-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW384426B (en) | Virtual channel memory system | |
CN106484628A (zh) | 基于事务的混合存储器模块 | |
CN105094691B (zh) | 一种数据操作的方法、设备和系统 | |
CN108958848A (zh) | 近存储器计算体系结构 | |
US8195858B1 (en) | Managing conflicts on shared L2 bus | |
US20140160876A1 (en) | Address bit remapping scheme to reduce access granularity of dram accesses | |
CN101303669A (zh) | 具备地址转换存储器访问机构的半导体装置 | |
CN1896971B (zh) | 操作系统辅助磁盘高速缓存系统和方法 | |
CN107544937A (zh) | 一种协处理器、数据写入方法和处理器 | |
JPH03189843A (ja) | データ処理システムおよび方法 | |
JPH02234242A (ja) | 部分書込み制御装置 | |
JPH0282330A (ja) | ムーブアウト・システム | |
CN102156676B (zh) | 高速缓存系统 | |
US8219745B2 (en) | Memory controller to utilize DRAM write buffers | |
US8244929B2 (en) | Data processing apparatus | |
CN111666253B (zh) | 向具有共享存储器的共享处理元件的系统传递可编程数据 | |
US8892807B2 (en) | Emulating a skip read command | |
US7075546B2 (en) | Intelligent wait methodology | |
US20090235010A1 (en) | Data processing circuit, cache system, and data transfer apparatus | |
JP2022028579A (ja) | 命令取得、解読、実行と論理アドレスとバスネットの回路が有る記憶装置 | |
JP2002278836A (ja) | キャッシュメモリ | |
CN113490915A (zh) | 扩展存储器操作 | |
CN102622318A (zh) | 一种存储器控制电路及其控制的向量数据寻址方法 | |
JP4363431B2 (ja) | データ転送方式 | |
CN100573473C (zh) | 内存内数据移动的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20081112 |