CN101794258B - 接口装置、计算处理装置、接口生成装置以及电路生成装置 - Google Patents
接口装置、计算处理装置、接口生成装置以及电路生成装置 Download PDFInfo
- Publication number
- CN101794258B CN101794258B CN 201010108022 CN201010108022A CN101794258B CN 101794258 B CN101794258 B CN 101794258B CN 201010108022 CN201010108022 CN 201010108022 CN 201010108022 A CN201010108022 A CN 201010108022A CN 101794258 B CN101794258 B CN 101794258B
- Authority
- CN
- China
- Prior art keywords
- address
- data
- speed cache
- write
- written
- 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.)
- Expired - Fee Related
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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
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)
- Multi Processors (AREA)
Abstract
提供接口装置、计算处理装置、接口生成装置、电路生成装置。接口装置包括:流转换器,接收写地址和写数据,将接收到的数据存储到缓冲器,根据写地址的顺序对存储的写数据进行排序,以作为流数据输出写数据;高速缓存,如果载入信号指示需要载入流数据,存储接收的流数据,将存储在与高速缓存地址对应的存储器件中的数据输出作为高速缓存数据;控制器,确定是否已经载入由读地址指定的数据,如果没有载入,输出指示载入到高速缓存的载入信号,输出指示高速缓存的载入已完成地址的载入地址;至少一个地址转换器,通过使用载入地址,计算被指定的数据被存储在哪个存储器件,将计算值作为高速缓存地址输出到高速缓存,将高速缓存数据输出作为读数据。
Description
技术领域
本发明涉及接口装置、计算处理装置、接口生成装置以及电路生成装置,其中该接口装置被适配为通过利用地址指定来执行数据传送的计算单元之间的接口。
背景技术
通常,为了通过地址指定来进行数据传送,大容量存储器件被设置在计算单元之间(例如,参考日本专利号3644380)。
图1是图示使用常规数据传送方法的计算处理装置的例子的框图。
图1所示的计算处理装置10包括第一计算单元11、第二计算单元12、主存储单元13以及地址选择器14。
此外,在图1中,WDT、WADR、WCTL、RDT、RADR以及ADR分别表示写数据、写地址、写控制信号、读数据、读地址以及所选的地址。
在图1所示的计算处理装置10中,将从第一计算单元11输出的写数据WDT存储在主存储单元13中的由写地址WADR指定的位置处。
接着,在计算处理装置10中,第二计算单元12从存储器件中读取由读地址RADR指定的位置处的数据,以便执行从第一计算单元11到第二计算单元12的数据传送。
此外,通常,在大容量主存储单元的传送速率低并且花费太多的时间进行数据传送的情况下,高速缓存(cache memory)被设置在计算单元和主存储单元之间(例如,参考日本未审专利申请公开号8-16467)。
图2是图示使用高速缓存的计算处理装置的例子的框图。
通过将高速缓存15设置到图1所示的计算处理装置10的配置中,来配置图2所示的计算处理装置10A。
在图2的计算处理装置10A中,暂时将从第一计算单元11输出的写数据WDT写入到小容量、高速率的高速缓存15中。接着,第二计算单元12从高速缓存15中读取由读地址RADR指定的数据,以执行从第一计算单元11到第二计算单元12的数据传送。
高速缓存15以集中的方式,周期性地将存储在高速缓存15中的写数据WDT写入到主存储单元13中。
此外,在由读地址RADR指定的数据不存在于高速缓存15中的情况下,高速缓存15从与主存储单元13中的读地址RADR对应的存储器件中读取数据,并将该数据输出为读数据RDT。
在图1所示的数据传送方法中,由于需要主存储单元具有与写地址WADR和读地址RADR所指示的地址唯一对应的存储器件,所以,必须提供大容量存储器件,因此存在的缺点是增加了电路的面积。
例如,在日本专利号3644380公开的技术中,如日本专利号3644380的图13所示,当两个处理器互相通信时,需要使用连接到存储控制器的主存储器。因此,存在的缺点是必须提供大容量存储器件。
在图2所示的数据传送方法中,减少了访问低速率主存储单元13的次数,因此可以有效地实现高速率的数据传送。
然而,由于需要主存储单元13具有与写地址WADR和读地址RADR所指示的地址ADR唯一对应的存储器件,因此必须提供大容量存储器件,导致不利的问题是没有解决电路面积增加的问题。
例如,在日本未审专利申请公开号8-16467公开的技术中,如日本未审专利申请公开号8-16467的图1所示,在现有技术中,高速缓存暂时存储从主存储器中读取的数据、或者暂时存储将要被写入到主存储器的数据。
因此,在现有技术的配置中,不能在没有主存储器的情况下执行数据传送。由于需要提供与地址唯一对应的存储器件,所以,存在的缺点是必须提供大容量存储器件给主存储器。
如上所述,在图1和2所示的配置中,如果没有与从计算单元输出的地址唯一对应的大容量存储器件,则存在的问题是可能不能进行数据传送。
因此,构思了从图2的配置中移除主存储单元的配置,并且如图3所示,第一计算单元11和第二计算单元12通过仅使用高速缓存15来互相通信。
根据该配置,能够减少接口装置所需的存储器件的容量。
然而,在图3所示的配置中,虽然存在未被第二计算单元12读取的数据,但第一计算单元11更新高速缓存15的内容,并因此,存在的问题是可能覆写了第二计算单元12所需的数据。在这种情况下,可能不能进行正确的数据传送。
此外,在图3所示的配置中,存在的问题是:需要增加存储在高速缓存15中的数据的数量,以便减少对不能正确地进行数据传送的考虑。
发明内容
希望提供能通过使用最小数目的存储器件来连接计算单元的接口装置、用于其的计算处理装置、接口生成装置、以及电路生成装置,使得即使在将存储于高速缓存中的数据的数量设置为最小的情况下,也能确定地通过使用地址指定来进行数据传送。
根据本发明的第一实施例,提供了一种接口装置,包括:流转换器,该流转换器接收写地址和写数据,将接收到的数据存储到缓冲器中,并按照写地址的顺序,对在缓冲器中存储的写数据进行排序,以便作为流数据而输出写数据;高速缓存,如果载入信号处于指示需要载入流数据的状态,则将接收到的流数据存储在存储器件中,并且如果输入了高速缓存地址,则作为高速缓存数据而输出在与高速缓存地址相对应的存储器件中存储的数据;控制器,该控制器确定由与读取有关的地址信息指定的数据是否已经被载入到高速缓存,作为确定的结果,如果没有将所指定的数据载入到高速缓存,则输出指示载入到高速缓存的载入信号,并且,输出指示高速缓存的载入已完成地址的载入地址;以及至少一个地址转换器,该地址转换器通过使用指示高速缓存的载入已完成地址的载入地址,计算表示由读地址指定的数据被存储在高速缓存中的哪一个存储器件中的值,将计算的值作为高速缓存地址输出到高速缓存,并且,作为读数据而输出从高速缓存输入的高速缓存数据。
根据本发明的第二实施例,提供了一种计算处理装置,包括:第一计算单元;第二计算单元;以及接口装置,该接口装置通过使用在第一计算单元和第二计算单元之间的地址指定,来执行数据传送,其中,该接口装置包括:流转换器,该流转换器从第一计算元接收写地址和写数据,将接收到的数据存储到缓冲器中,以及按照写地址的顺序对在缓冲器中存储的写数据进行排序,以便作为流数据而输出写数据;高速缓存,如果载入信号处于指示需要载入流数据的状态,则该高速缓存将接收到的流数据存储在存储器件中,并且如果输入了高速缓存地址,则作为高速缓存数据而输出在与高速缓存地址相对应的存储器件中存储的数据;控制器,该控制器确定第二计算单元是否已经将由与读取有关的地址信息指定的数据载入到高速缓存,作为确定的结果,如果没有将所指定的数据载入到高速缓存,则输出指示载入到高速缓存的载入信号,并且输出指示高速缓存的载入已完成地址的载入地址;以及至少一个地址转换器,通过使用指示高速缓存的载入已完成地址的载入地址,该地址转换器计算表示由读地址指定的数据被存储在高速缓存的哪个存储器件中的值,将计算的值作为高速缓存地址输出到高速缓存,并且,将从高速缓存输入的高速缓存数据作为读数据输出到第二计算单元。
根据本发明的第三实施例,提供了一种用于生成接口装置的接口生成装置,其中,该接口装置包括:流转换器,该流转换器接收写地址和写数据,将接收到的数据存储到缓冲器中,并按照写地址的顺序,对在缓冲器中存储的写数据进行排序,以便作为流数据而输出写数据;高速缓存,如果载入信号处于指示需要载入流数据的状态,则将接收到的流数据存储在存储器件中,并且如果输入了高速缓存地址,则作为高速缓存数据而输出在与高速缓存地址相对应的存储器件中存储的数据;控制器,该控制器确定由与读取有关的地址信息指定的数据是否已经被载入到高速缓存,作为确定的结果,如果没有将所指定的数据载入到高速缓存,则输出指示载入到高速缓存的载入信号,并且,输出指示高速缓存的载入已完成地址的载入地址;以及至少一个地址转换器,该地址转换器通过使用指示高速缓存的载入已完成地址的载入地址,计算表示由读地址指定的数据被存储在高速缓存中的哪一个存储器件中的值,将计算的值作为高速缓存地址输出到高速缓存,并且,作为读数据而输出从高速缓存输入的高速缓存数据,以及其中,该接口生成装置包括:电路信息存储单元,该电路信息存储单元存储电路的电路描述信息,该电路连接到作为生成对象的接口;以及接口配置信息输出单元,该接口配置信息输出单元基于从电路信息存储单元读取的电路描述信息,分析要被接口满足的规范。
根据本发明的第四实施例,提供了一种用于生成连接到接口装置的计算单元的电路生成装置,其中,该接口装置包括:流转换器,该流转换器接收写地址和写数据,将接收到的数据存储到缓冲器中,并按照写地址的顺序,对在缓冲器中存储的写数据进行排序,以便作为流数据而输出写数据;高速缓存,如果载入信号处于指示需要载入流数据的状态,则将接收到的流数据存储在存储器件中,并且如果输入了高速缓存地址,则作为高速缓存数据而输出在与高速缓存地址相对应的存储器件中存储的数据;控制器,该控制器确定由与读取有关的地址信息指定的数据是否已经被载入到高速缓存,作为确定的结果,如果没有将所指定的数据载入到高速缓存,则输出指示载入到高速缓存的载入信号,并且,输出指示高速缓存的载入已完成地址的载入地址;以及至少一个地址转换器,该地址转换器通过使用指示高速缓存的载入已完成地址的载入地址,计算表示由读地址指定的数据被存储在高速缓存中的哪一个存储器件中的值,将计算的值作为高速缓存地址输出到高速缓存,并且,作为读数据而输出从高速缓存输入的高速缓存数据,以及其中,该电路生成装置包括:电路描述存储单元,该电路描述存储单元存储表示连接到接口装置的计算单元的功能的描述;阵列访问替换单元,该阵列访问替换单元从自该电路描述存储单元读取的电路描述中提取与阵列相关的读和写,该阵列将成为接口装置的生成对象,并且,执行利用表示用于连接到接口装置的通信协议的描述的替换;以及详细电路生成装置,该详细电路生成装置从被进行了阵列访问的替换的描述生成详细的电路描述。
根据本发明,由于能够通过使用最小数目的存储器件来互连计算单元,所以,即使在将高速缓存中存储的数据的数量设置为最小的情况下,也能够确保地执行使用地址指定的数据传送。
附图说明
图1是图示使用常规数据传送方法的计算处理装置的例子的框图。
图2是图示使用高速缓存的计算处理装置的例子的框图。
图3是图示使用高速缓存的计算处理装置的另一例子的框图。
图4是图示根据本发明第一实施例的使用接口装置的计算处理装置的配置例子的框图。
图5是图示根据本发明第二实施例的使用接口装置的计算处理装置的配置例子的框图。
图6是图示根据本发明第三实施例的使用接口装置的计算处理装置的配置例子的框图。
图7是图示根据本发明第四实施例的使用接口装置的计算处理装置的配置例子的框图。
图8是图示根据本发明第五实施例的使用接口装置的计算处理装置的配置例子的框图。
图9是图示根据本发明第六实施例的使用接口装置的计算处理装置的配置例子的框图。
图10是图示根据第一到第六实施例的接口生成装置的例子的框图。
图11是图示由图10的接口生成装置分析的、接口要满足的规范的例子的图。
图12是图示根据本发明第七实施例的使用接口装置的计算处理装置的配置例子的框图。
图13是图示根据本发明第八实施例的使用接口装置的计算处理装置的配置例子的框图。
图14是图示配置例子的框图,在该配置中,提供地址一致性验证单元给使用常规数据传送方法的计算处理装置。
图15是图示根据本发明的实施例的要连接到接口生成装置的、生成计算电路的电路生成装置的框图。
图16是图示根据本发明第九实施例的使用接口装置的计算处理装置的配置例子的框图。
图17是图示根据本发明实施例的流转换器的配置例子的图。
图18是图示根据本发明实施例的高速缓存的配置例子的图。
图19是图示根据本发明实施例的控制器的配置例子的图。
图20是图示根据本发明实施例的地址转换器的配置例子的图。
图21是图示由图16的第二计算单元生成的预载入地址(pre-load address)和读地址、以及高速缓存的容量之间的关系的图。
图22是图示第一计算单元的规范的表示的例子的图。
图23是图示第二计算单元的规范的表示的例子的图。
图24是图示在图22所表示的第一计算单元被连接的情况下的流转换器的配置例子的图。
图25是图示预载入地址、读地址以及另一读地址的例子的图,从具有图23所示的规范的第二计算单元输出所述地址。
图26是图示要被连接到具有图23所示的规范的第二计算单元的高速缓存的配置例子的图。
图27是图示仅与到图23所示的第二计算单元的连接相对应的、控制器和地址转换器的配置例子的图。
图28是图示图10所示的接口生成装置中的接口配置信息输出单元的操作的流程图的示意图。
图29是图示计算单元的电路描述的例子的图。
图30是图示从图29所示的电路描述中提取的地址在计算方程上的差异的例子的图。
图31是图示根据本发明实施例的使用验证接口装置的计算处理装置的配置例子的图。
图32是图示图31所示的验证接口装置的写地址一致性验证单元的操作的流程图的示意图。
图33是图示列出图32所示的验证接口装置中的写地址一致性验证单元的示例操作的详细表的图。
图34是图示图31所示的验证接口装置中的读地址一致性验证单元的操作的流程图的示意图。
图35是图示列出图34所示的验证接口装置中的读地址一致性验证单元的示例操作的详细表的图。
图36是图示图15所示的电路生成装置中的阵列访问替换单元的操作的流程图的示意图。
图37是图示在电路描述存储单元中存储的电路描述的例子的图。
图38是图示用执行到接口装置的连接的描述替换阵列访问的例子的图。
图39是图示在电路描述存储单元中存储的电路描述的另一例子的图。
图40是图示用执行到接口装置的连接的描述替换阵列访问的另一例子的图。
具体实施方式
在下文中,参考附图描述本发明的示例性实施例。
此外,以下面的顺序进行描述。
1.第一实施例(接口装置的配置的第一例子)
2.第二实施例(接口装置的配置的第二例子)
3.第三实施例(接口装置的配置的第三例子)
4.第四实施例(接口装置的配置的第四例子)
5.第五实施例(接口装置的配置的第五例子)
6.第六实施例(接口装置的配置的第六例子)
7.第七实施例(接口装置的配置的第七例子)
8.第八实施例(接口装置的配置的第八例子)
9.第九实施例(接口装置的配置的第九例子)
10.配置的详细例子
1.第一实施例
图4是图示根据本发明第一实施例的使用接口装置的计算处理装置的配置例子的框图。
如图4所示,根据第一实施例的计算处理装置100包括第一计算单元110、第二计算单元120、流转换器130、高速缓存140、控制器150A和地址转换器160。
此外,流转换器130、高速缓存140、控制器150A和地址转换器160组成接口装置200。
流转换器130、高速缓存140、控制器150A和地址转换器160的配置例子在随后详细描述。
在图4中,WADR、WDT、SWDTRB、STMD和STMRB分别表示写地址、写数据、写数据可接收信号、流数据和流可接收信号。
此外,在图4中,PLADR、RADR、RDT、SLD、LADR、CADR和CDT分别表示预载入地址、读地址、读数据、载入信号、载入地址、高速缓存地址和高速缓存数据。
此外,与读相关的地址信息包括预载入地址PLADR和读地址RADR。
第一计算单元110输出写地址WADR和写数据WDT给流转换器130,其中写地址WADR的次序是有规律的。
例如,在来自流转换器130的写数据可接收信号SWDTRB指示可接收的情况下,第一计算单元110输出写数据WDT给流转换器130。
例如,在来自流转换器130的写数据可接收信号SWDTRB指示不可接收的情况下,第一计算单元110停止输出写数据WDT给流转换器130。
第二计算单元120输出预载入地址PLADR给控制器150A。
第二计算单元120输出读地址RADR给地址转换器160,并从地址转换器160接收读数据RDT。
流转换器130从第一计算单元110接收写地址WADR和写数据WDT,并将接收到的数据存储到内部缓冲器中。
流转换器130将存储在内部缓冲器中的写数据WDT按照写地址WADR的顺序排列,并将排列后的写数据作为流数据STMD输出到高速缓存140。
流转换器130仅在来自高速缓存140的流可接收信号STMRB处于可接收状态的时间期间,才输出流数据STMD。
如果内部缓冲器未满、且写数据是可接收的,则流转换器130输出处于可接收状态的写数据可接收信号SWDTRB给第一计算单元110。
此外,如果内部缓冲器是满的、且写数据是不可接收的,则流转换器130将写数据可接收信号SWDTRB改变成不可接收状态。
如果来自控制器150A的载入信号SLD处于指示需要载入流数据STMD的状态,则高速缓存140将流可接收信号STMRB改变成可接收状态。
如果流可接收信号STMRB被改变成可接收状态,则高速缓存140将从流转换器130接收的流数据STMD存储到内部存储器件中。
在内部存储器件完成存储全部的流数据STMD的情况下,高速缓存140按照从存储在内部存储器件中的最旧数据的顺序擦除数据。
如果从地址转换器160输入高速缓存地址CADR,则高速缓存140将在与高速缓存地址CADR相对应的存储器件中存储的数据作为高速缓存数据CDT输出到地址转换器160。
控制器150A确定是否已经将由从第二计算单元120输入的预载入地址PLADR指定的数据载入到高速缓存140。
结果,如果没有将所指定的数据载入高速缓存140,则控制器150A输出载入信号SLD,其指令载入到高速缓存140。
此外,控制器150A输出载入地址信号LADR给地址转换器160,该载入地址信号LADR指示高速缓存140的载入已完成地址。
通过利用指示高速缓存140的载入已完成地址的载入地址信号LADR,地址转换器160计算表示由读地址RADR指定的数据被存储在高速缓存140的哪一个存储器件中的值。
地址转换器160将计算的值作为高速缓存地址CADR输出到高速缓存140。
此外,地址转换器160将输入的高速缓存数据CDT作为读数据RDT输出到第二计算单元120。
应当注意到,在根据第一实施例的接口装置200中,在诸如成像处理的各种计算中,以规则的顺序而配置写地址WADR和读地址RADR。
在接口装置200中,流转换器130将来自第一计算单元110的写数据WDT按照写地址的顺序存储,以将其转换成流数据STMD。
在接口装置200中,控制器150A基于来自第二计算单元120的读地址RADR,确定高速缓存140是否将接收流数据STMD。
在第一实施例中,由于上述的配置,即使在将存储在高速缓存140的数据的数量设置为最小的情况下,也可实现能够确实执行数据传送的接口装置200。
此外,在图1和2所示的配置中,需要将地址和数据对存储在高速缓存中。
然而,在根据第一实施例的接口装置200中,由于流转换器130按照写地址WADR的顺序对写数据WDT进行排序,因此不需要将地址值存储在高速缓存140中。
因此,在第一实施例中,能够减少高速缓存140的存储器件的数量,并且可以简化高速缓存的配置。
2.第二实施例
图5是图示根据本发明第二实施例的使用接口装置的计算处理装置的配置例子的框图。
根据第二实施例的接口装置200A与根据第一实施例的接口装置200的不同在于下面几点。
接口装置200A的控制器150A确定是否已经将由从第二计算单元120输入的读地址RADR指定的数据载入到高速缓存140。
如果未载入,则控制器150A输出载入信号SLD,其指示载入到高速缓存140。
此外,控制器150A输出载入地址信号LADR给地址转换器160,该载入地址信号LADR指示高速缓存140的载入已完成地址。
其它配置与第一实施例的那些配置相同。
根据第二实施例,能够获得与第一实施例的前述效果相同的效果。
3.第三实施例
图6是图示根据本发明第三实施例的使用接口装置的计算处理装置的配置例子的框图。
根据第三实施例的接口装置200B与根据第一实施例的接口装置200的不同在于:设置了多个地址转换器(在该实施例中是两个地址转换器),以便能够配置第二计算单元120来读取多个数据。
控制器150B确定是否已经将由从第二计算单元120输入的预载入地址PLADR指定的数据载入到高速缓存140。
结果,如果没有将指定的数据载入高速缓存140,则控制器150B输出载入信号SLD,其指令载入到高速缓存140。
控制器150B输出载入地址信号LADR1给地址转换器160B-1,该载入地址信号LADR1指示高速缓存140的载入已完成地址(load-completed address)。
此外,控制器150B输出载入地址信号LADR2给地址转换器160B-2,该载入地址信号LADR2指示高速缓存140的载入已完成地址。
通过利用指示高速缓存140的载入已完成地址的载入地址信号LADR1,地址转换器160B-1计算表示由读地址RADR1指定的数据被存储在高速缓存140的哪一个存储器件中的值。
地址转换器160B-1将计算的值作为高速缓存地址CADR1输出到高速缓存140。
此外,地址转换器160B-1将输入的高速缓存数据CDT1作为读数据RDT1输出到第二计算单元120。
通过利用指示高速缓存140的载入已完成地址的载入地址信号LADR2,地址转换器160B-2计算表示由读地址RADR2指定的数据被存储在高速缓存140的哪一个存储器件中的值。
地址转换器160B-2将计算的值作为高速缓存地址CADR2输出到高速缓存140。
此外,地址转换器160B-2将输入的高速缓存数据CDT2作为读数据RDT2输出到第二计算单元120。
其它配置与第一实施例的那些配置相同。
根据第三实施例,能够获得与第一实施例的前述效果相同的效果,并且能够读取多个数据。
此外,虽然图6所示的例子中地址转换器的数量是两个,但该数量可以是大于两个。
4.第四实施例
图7是图示根据本发明第四实施例的使用接口装置的计算处理装置的配置例子的框图。
根据第四实施例的接口装置200C与根据第三实施例的接口装置200B的不同在于下面几点。
接口装置200C的控制器150C确定是否已经将由从第二计算单元120输入的读地址RADR1指定的数据载入到高速缓存140。
如果未载入,则控制器150C输出载入信号SLD,其指示载入到高速缓存140。
此外,控制器150C输出载入地址信号LADR1给地址转换器160B-1,该载入地址信号LADR1指示高速缓存140的载入已完成地址。
控制器150C确定是否已经将由从第二计算单元120输入的读地址RADR2指定的数据载入到高速缓存140。
如果未载入,则控制器150C输出载入信号SLD,其指示载入到高速缓存140。
此外,控制器150C输出载入地址信号LADR2给地址转换器160B-2,该载入地址信号LADR2指示高速缓存140的载入已完成地址。
其它配置与第三实施例的那些配置相同。
根据第四实施例,能够获得与第三实施例的前述效果相同的效果。
5.第五实施例
图8是图示根据本发明第五实施例的使用接口装置的计算处理装置的配置例子的框图。
根据第五实施例的接口装置200D与根据第一实施例的接口装置200的不同在于下面几点。
接口装置200D包括选择器170,其响应于测试模式切换信号TMSW而切换从第一计算单元110输入的数据和测试数据TDT,以便将流数据STMD输入到高速缓存140。
此外,接口装置200D允许高速缓存140将流可接收信号STMRB作为测试数据可接收信号TDTRB提供给测试电路(未示出)。
其它配置与第一实施例的那些配置相同。
根据第五实施例,能够获得与第一实施例的前述效果相同的效果,并且能够执行使用测试数据的测试。
6.第六实施例
图9是图示根据本发明第六实施例的使用接口装置的计算处理装置的配置例子的框图。
根据第六实施例的接口装置200E与根据第二实施例的接口装置200A的不同在于下面几点。
接口装置200E包括选择器170E,其响应于测试模式切换信号TMSW而切换从第一计算单元110输入的数据和测试数据TDT,使得将流数据STMD输入到高速缓存140。
此外,接口装置200E允许高速缓存140将流可接收信号STMRB作为测试数据可接收信号TDTRB提供给测试电路(未示出)。
其它配置与第二实施例的那些配置相同。
根据第六实施例,能够获得与第二实施例的前述效果相同的效果,并且能够执行使用测试数据的测试。
接口生成装置的配置例子
现在描述根据本发明实施例的用于接口装置的生成装置。
图10是图示根据第一到第六实施例的接口生成装置的例子的框图。
图10所示的接口生成装置210包括电路信息存储单元211、接口配置信息输出单元212、接口配置信息存储单元213、生成单元214和接口存储单元215。
电路信息存储单元211存储与连接到接口的电路相关的信息,该接口是生成的对象。
接口配置信息输出单元212从电路信息分析例如如图11所示的接口要满足的规范,并将分析结果作为接口配置信息输出到接口配置信息存储单元213。
图11所示的接口要满足的规范如下:
1.流转换器130的缓冲器容量
2.用于流转换器130的缓冲器的存储器件的类型
3.高速缓存140的容量
4.用于高速缓存140的存储器件的类型
5.读地址RADR的输入数量
6.预载入地址PLADR中的改变模式
7.读地址之间的关系
接口配置信息存储单元213存储接口配置信息。
生成单元214基于存储在接口配置信息存储单元213中的接口配置信息,生成图4、5、6、7、8和9所示的接口装置。
接口存储单元215存储由生成单元214生成的接口。
此外,随后描述图10所示的接口生成装置210的详细处理。
7.第七实施例
图12是图示根据本发明第七实施例的使用接口装置的计算处理装置的配置例子的框图。
根据第七实施例的接口装置200F与根据第一实施例的接口装置200的不同在于下面几点。
接口装置200F被配置为:除了接口装置200的配置之外,还包括地址一致性验证单元。
接口装置200F包括:写地址一致性验证单元180,用于验证写地址WADR的一致性;以及读地址一致性验证单元190,用于验证预载入地址PLADR的一致性和读地址RADR的一致性。
写地址一致性验证单元180从写地址WADR的输出顺序计算流转换器130的内部所需的存储器件容量。
接着,写地址一致性验证单元180检查所计算的容量的值是否大于流转换器130的存储器件容量的实际值。
读地址一致性验证单元190从预载入地址PLADR和读地址RADR的输出顺序计算高速缓存140所需的存储器件容量。
接着,读地址一致性验证单元190检查所计算的容量的值是否大于高速缓存140的存储器件容量的实际值。
其它配置与第一实施例的那些配置相同。
根据第七实施例,能够获得与第一实施例的前述效果相同的效果,并且能够精确地验证写地址的一致性和读地址的一致性。
8.第八实施例
图13是图示根据本发明第八实施例的使用接口装置的计算处理装置的配置例子的框图。
根据第八实施例的接口装置200G与根据第二实施例的接口装置200A的不同在于下面几点。
接口装置200G被配置为:除了接口装置200A的配置之外还包括地址一致性验证单元。
接口装置200G包括:写地址一致性验证单元180G,用于验证写地址WADR的一致性;以及读地址一致性验证单元190G,用于验证读地址RADR的一致性。
写地址一致性验证单元180G从写地址WADR的输出顺序计算流转换器130的内部所需的存储器件容量。
接着,写地址一致性验证单元180G检查所计算的容量的值是否大于流转换器130的存储器件容量的实际值。
读地址一致性验证单元190G从读地址RADR的输出顺序计算高速缓存140所需的存储器件容量。
接着,读地址一致性验证单元190G检查计算的容量值是否大于高速缓存140的存储器件容量的实际值。
其它配置与第二实施例的那些配置相同。
根据第八实施例,能够获得与第二实施例的前述效果相同的效果,并且能够精确地验证写地址的一致性和读地址的一致性。
图14是图示配置例子的框图,在该配置中,提供地址一致性验证单元给使用常规数据传送方法的计算处理装置。
图14所示的计算处理装置100H包括第一计算单元110、第二计算单元120、主存储单元220和地址选择器230。
计算处理装置100H还包括写地址一致性验证单元180H和读地址一致性验证单元190H。
此外,主存储单元220、地址选择器230、写地址一致性验证单元180H和读地址一致性验证单元190H组成接口装置200H。
此外,在图14中,WDT、WADR、WCTL、RDT、RADR和ADR分别表示写数据、写地址、写控制信号、读数据、读地址和所选地址。
在图14所示的计算处理装置100H中,将从第一计算单元110输出的写数据WDT存储在主存储单元220中的由写地址WADR指定的位置。
接着,在计算处理装置100H中,第二计算单元120从存储器件读取由读地址RADR指定的位置上的数据,以便执行从第一计算单元110到第二计算单元120的数据传送。
写地址一致性验证单元180H从写地址WADR的输出顺序计算主存储单元220的内部所需的存储器件容量。
接着,写地址一致性验证单元180H检查所计算的容量值是否大于主存储单元220的存储器件容量的实际值。
读地址一致性验证单元190H从读地址RADR的输出顺序计算主存储单元220所需的存储器件容量。
接着,读地址一致性验证单元190H检查计算的容量值是否大于主存储单元220的存储器件容量的实际值。
只有在检查来自第一计算单元110的写地址WADR或者来自第二计算单元120的读地址RADR是否与接口装置一致的情况下,写地址和读地址才是重要的。
因此,可以采用任何具有地址一致性验证功能的接口装置,其具有与根据第一到第八实施例的接口装置的那些配置不同的配置。
用于连接到接口生成装置的计算电路的计算电路生成装置的配置例子
现在描述根据本发明实施例的生成计算电路的电路生成装置,该计算电路要被连接到接口生成装置。
图15是图示根据本发明实施例的生成计算电路的电路生成装置的框图,该计算电路要被连接到接口生成装置。
如图15所示,电路生成装置240包括电路描述存储单元241、阵列访问替换单元242、详细电路生成装置243和详细电路描述存储单元244。
电路描述存储单元241存储表示计算单元的功能的描述,该计算单元被连接到根据本发明的实施例的接口装置。
阵列访问替换单元242从读取自电路描述存储单元241的电路描述提取与要成为接口装置的生成对象的阵列有关的读和写,并用表示用于连接到接口装置的通信协议的描述进行替换。
详细电路生成装置243通过使用一般的高级合成技术、或者逻辑合成技术,来生成例如详细的电路描述,如RTL或者netlist(网表)。
详细电路描述存储单元244存储所生成的详细的电路描述。
接着,详细地描述根据实施例的接口装置的配置。
9.第九实施例
图16是图示根据本发明第九实施例的使用接口装置的计算处理装置的配置例子的框图。
根据第九实施例的接口装置200I与根据第三实施例的接口装置200B的不同在于下面几点。
换句话说,第一计算单元110输出写有效信号VWRT给流转换器1301。
第二计算单元110输出预载入地址有效信号VPLADR给控制器150I。
流转换器130I输出流有效信号VSTM给高速缓存140I。
高速缓存140I输出载入数可接收信号LDNRB给控制器150I,并输出预载入完成信号CMPL给第二计算单元120。
控制器150I输出预载入地址可接收信号PLADRRB给第二计算单元120。
此外,控制器150I输出载入数LDN和载入数有效信号VLDN给高速缓存140I。
与图6所示的计算处理装置100B相似,在计算处理装置100I和接口装置200I中,第二计算单元120两个接着两个地读取从第一计算单元110输出的写数据WDT。
在从流转换器130I输出的写数据可接收信号SWDTRB被设置为活动的“1(高电平:H)”的情况下,第一计算单元110执行随后的输出。
第一计算单元110输出写地址WADR和写数据WDT,以将写有效信号VWRT设置为活动的“1(H)”。
10.详细配置的例子
流转换器的配置例子
图17是图示根据本发明实施例的流转换器的配置例子的图。
图17所示的流转换器130I包括缓冲器131、计数器132、确定单元133、选择器134、二输入与(AND)门135至137、以及二输入或(OR)门138和139。
流转换器130I包括缓冲器131,用于在其中存储写数据WDT和写地址WADR对。
此外,通过利用计数器132,流转换器130I保持要作为下一流数据而输出的写数据的地址ADR。
例如,当从与门137输出的递增(count-up)信号CNUP变为“1(H)”时,计数器132递增1。
当流有效信号VSTM和流可接收信号STMRB都变为“1”时,流转换器130I传送流数据STMD。将流有效信号VSTM和流可接收信号STMRB输入到与门137。然而,当流有效信号VSTM和流可接收信号STMRB都变为“1”时,计数器132递增1。
确定单元133确定计数器132的值是否等于写地址WADR。作为确定结果的确定信号S133被输出到与门135的负输入端、与门136的输入端以及选择器134的控制端。
如果计数器132的值等于写地址WADR,则确定单元133将信号S133设置为“1(H)”。如果不等于,则确定单元133将信号S133设置为“0(L)”。
如果确定信号S133为“1”,则选择器134将写数据WDT输出作为流数据STMD。
如果确定信号S133为“0”,则选择器134将读取自缓冲器131的缓冲器读数据BFRDT输出作为流数据STMD。
在计数器132的值等于写地址WADR的值、使得将确定信号S133设置为“1”、并且使得将写有效信号VWRT设置为“1”的情况下,与门136的输出信号S136变为“1”。
因此,流转换器130I通过使用或门138将流有效信号VSTM设置为“1”,并从选择器134将写数据WDT输出作为流数据STMD。
在计数器132的值不等于写地址WADR的值、使得将确定信号S133设置为“0”、并且使得将写有效信号VWRT设置为“1”的情况下,缓冲器写有效信号VBFWRT变为“1”,以将写数据WDT存储到缓冲器131中。
如果缓冲器131的可存储区已满,则缓冲器131将缓冲器满信号BFFL设置为“1”。
此外,计数器132的值也被用作缓冲器131的读地址BFRADR。
缓冲器131比较已存储的地址ADR的列表和缓冲器131的读地址BFRADR,并且,如果发现一致的地址,则缓冲器131将被存储为地址对的数据输出作为缓冲器读数据BFRDT。
接着,缓冲器131将缓冲器读数据有效信号VBFRDT设置为“1”,并从缓冲器中擦除输出的数据。
如果缓冲器满信号BFFL为“1”、并且如果流可接收信号STMRB为“0”,则由于流转换器130I没有接收到写数据,因此将写数据可接收信号SWDTRB设置为非活动“0”。
高速缓存的配置例子
图18是图示根据本发明实施例的高速缓存的配置例子的图。
图18所示的高速缓存140I包括流接收控制器141、缓冲器142和二输入与门143。
当载入数有效信号(loading number valid signal)VLDN是“1(H)”时,流接收控制器141接收载入数LDN。
与门143对流可接收信号STMRB和流有效信号VSTM进行逻辑“与”操作,并将其结果作为有效流接收信号VSTMR输出到流接收控制器141。
在将流可接收信号STMRB设置为“1”、且将流有效信号VSTM设置为“1”的情况下,有效流接收信号VSTMR变为“1”。
由于每当有效流接收信号VSTMR变为“1”时执行一次载入,因此流接收控制器141将流可接收信号STMRB保持为“1”,直到有效流接收信号VSTMR变为“1”(即,等于载入数LDN的次数)为止。
当接收载入数LDN时,流接收控制器141将载入数可接收信号LDNRB和预载入完成信号CMPL设置为“0”。
此外,当有效流接收信号VSTMR变为“1”(即,与载入数相同的次数)时,流接收控制器141将载入数可接收信号LDNRB和预载入完成信号CMPL设置为“1”。
缓冲器142在地址ADR0中存储最后输入的流数据STMD、以及在每次地址ADR增加1时在前一地址ADR中输入的流数据STMD。当缓冲器写有效信号VBFWRTC变为“1”时,将流数据STMD写入到缓冲器142中。
例如,如图18所示,将在时间点n输入的流数据存储在地址ADR0中,并且将在时间点n-1输入的流数据存储在地址ADR1中。此外,将在时间点n-2输入的流数据存储在地址ADR2中,并且将在时间点n-3输入的流数据存储在地址ADR3中。
在这种状态下,如果缓冲器写有效信号VBFWRTC变为“1”,并且如果输入了流数据D(n+1),则更新数值,使得将D(n+1)、D(n)、D(n-1)和D(n-2)存储在地址ADR0、地址ADR1、地址ADR2和地址ADR3中。
此外,图18所示的缓冲器142接收高速缓存地址CADR1和CADR2,并将存储在与这些地址对应的存储器件中的数据输出作为高速缓存数据CDT1和CDT2。
控制器的配置例子
图19是图示根据本发明实施例的控制器的配置例子的图。
图19所示的控制器150I包括选择器151、由触发器构成的锁存器152、减法器153和二输入与门154。
如图19所示,控制器150I将预载入地址有效信号VPLADR输出作为载入数有效信号VLDN。
此外,控制器150I将载入数可接收信号LDNRB输出作为预载入地址可接收信号PLADRRB。
选择器151选择响应于与门154的输出信号S154而新输入的预载入地址PLADR、以及在锁存器152中锁存的旧的预载入地址PPLADR中的一个,并输出所选的地址给锁存器152。
减法器153从新输入的预载入地址PLADR中减去在锁存器152中锁存的旧的预载入地址PPLADR。
以这种方式,如果从输入的预载入地址PLADR中减去旧的预载入地址PPLADR,则所得到的减法值变为未被载入到高速缓存140I中的数据的数量。
控制器150I将该值作为载入数LDN输出到高速缓存140I。
在预载入地址有效信号VPLADR和预载入地址可接收信号PLADRRB都是“1”的情况下,控制器150I用新输入的预载入地址PLADR的值更新旧的预载入地址PPLADR和载入地址LADR。
地址转换器的配置例子
图20是图示根据本发明实施例的地址转换器的配置例子的图。
图20所示的地址转换器160I包括减法器161.
如图20所示,地址转换器160I将来自高速缓存140I的高速缓存数据CDT输出作为读数据RDT。
高速缓存140I存储这样的值:使与载入地址LADR对应的数据存储在地址ADR0,使比载入地址LADR小1的地址的数据存储在地址ADR1。
因此,当减法器161从载入地址LADR中减去读地址RADR时,减法的结果变为高速缓存140I的地址。
地址转换器160I将在减法中获得的高速缓存地址CADR输出到高速缓存140I。
在图16所示的计算处理装置100I中,在第二计算单元120输出读地址RADR1和读地址RADR2前,第二计算单元120输出满足下面在图21所示的关系的预载入地址PLADR。此外,在下面的方程中,CMC表示高速缓存140I的容量。
[方程1]
PLADR≥RADR1
PLADR≥RADR2
PLADR-RADR1+1≤CMC
PLADR-RADR2+1≤CMC
第二计算单元120等待,直到预载入完成信号CMPL变为“1(H)”为止,输出读地址RADR1和读地址RADR2,并接收读数据RDT1和读数据RDT2。
根据第一计算单元110和第二计算单元120的规范,可以利用更优化的配置来实现将图17所示的流转换器130I、图18所示的高速缓存140I、图19所示的控制器150I和图20所示的地址转换器160I。
例如,可以假设第一计算单元110具有图22所示的规范,并且第二计算单元120具有图23所示的规范。
如图22所示,从第一计算单元110输出的写地址WADR从0开始增加1,即,以0,1,2,3,...,WIDTH-1的顺序。
写地址WADR的顺序与地址转换器130I排序和输出的流数据的顺序相同。
因此,流转换器130I不需要对写数据进行排序的功能。
在将流转换器130I连接到图22表示的第一计算单元110的情况下,如图24所示,可以将流转换器130I配置为将写数据WDT输出作为流数据STMD。
图25图示了从具有图23所示规范的第二计算单元120输出的预载入地址PLADR、读地址RADR1和读地址RADR2。
由于使用了两个数据,即预测的地址及其前一个地址,所以,在图23表示第二计算单元120的情况下,高速缓存140I可以被提供有仅两个存储器件。
在高速缓存140I包括两个存储器件的情况下,可利用1比特构造高速缓存地址。
如图25所示,由于载入数LDN典型地是1、并且高速缓存地址CADR1典型地是0,因此不需要任何用于计算载入数LDN和高速缓存地址CADR1的计算单元。
如图25所示,由于高速缓存地址CADR2是0或1,所以,用于计算高速缓存地址CADR2的计算单元可以具有1比特宽度。
总的来说,在将连接到具有图23所示规范的第二计算单元120的接口装置中,可以如图26所示来配置高速缓存140J,并且可以如图27所示来配置控制器150J和地址转换器160J。
如图26所示,将与到在图23中表示的第二计算单元120的连接相对应的高速缓存140J的配置优化为这样的配置,其中,内部缓冲器142J包括与两个数据对应的仅两个存储器件1421和1422。除了存储器件1421和1422之外,图26所示的缓冲器142J还包括选择器1423至1425。存储器件1421和1422例如由触发器构成。
此外,图27显示了与到图23中表示的第二计算单元120的连接相对应的控制器150J和地址转换器160J的配置。
在图27所示的例子中,没有给控制器150J提供减法器,且针对预载入地址PLADR而在输入级设置低位选择器155。
类似地,在地址转换器160J-2中,针对读地址RADR2,在输入级放置低位选择器162。
在实施例中,使用预载入地址PLADR和读地址RADR的计算被优化,以便具有1比特宽度,并且,配置被优化,以便载入数LDN被固定为1,以及高速缓存地址CADR1被设置为0。
以这种方式,通过根据所连接的计算单元的规范来优化接口装置的配置,可以实现具有小开销的接口装置。
现在,详细描述图10所示的接口生成装置210的处理。
这里,参考图28、29和30来描述图10所示的接口配置信息输出单元212的操作。
图28是图示图10所示的接口生成装置中的接口配置信息输出单元212的操作的流程图的示意图。
图29是图示计算单元的电路描述的例子的图。
图30是图示从图29所示的电路描述中提取的地址在计算方程上的差异的例子的图。
首先,接口配置信息输出单元212从电路信息存储单元211读取计算单元的电路描述,并将该电路描述转换到在接口配置信息输出单元212中的内部数据库(ST1)。
接着,接口配置信息输出单元212提取作为读地址RADR输出的全部值或者方程(ST2)。
例如,在读取图29中表示的计算单元的电路描述的情况下,由于存在输出的4个读地址RADR:从[pre_load_address]输出的x;从[read_address_a]输出的x;从[read_address_b]输出的x和(x-1),因此提取了3个x和1个(x-1)。
接着,接口配置信息输出单元212计算所提取的地址计算方程中全部组合之间的差(ST3)。
例如,在从图29所示的电路描述中提取地址计算方程的情况下,如图30所示,x之间的差为0,以及(x-1)和x之间的差为1。
通过对所计算的差之中的最大值加1而获得的值被设置为高速缓存140所需的存储器件的容量。
最后,通过对最大值(其是所计算的差之中的1)加1而获得的值2被输出作为高速缓存的所需容量(ST4)。
以这种方式,基于从接口配置信息输出单元212输出的接口配置信息,图10所示的接口生成装置210生成接口。
在图29所示的例子,作为接口配置信息而输出(高速缓存140的容量)=2。基于该信息,生成接口装置,该接口装置包括具有有着容量CMC2的存储器件的高速缓存140,如图26所示。
接着,描述根据本发明实施例的验证接口装置的例子。
图31是图示根据本发明实施例的使用验证接口装置的计算处理装置的配置例子的图。
图31所示的计算处理装置100K的验证接口装置200K具有与图13所示的计算处理装置100G的接口装置200G的配置相同的配置。
然而,接口装置200K与接口装置200G的不同点在于:使用了写有效信号VWRT、流有效信号VSTM和读地址有效信号VRADR。
这里,描述图31所示的验证接口装置的写地址一致性验证单元180K的操作例子。
图32是图示在图31所示的验证接口装置中的写地址一致性验证单元的操作的流程图。
首先,将存储写地址WADR的信息的“list(列表)”复位为空(null),并且,将存储要作为下一流数据STMD输出的写数据WDT的写地址WADR的“next(下一个)”复位为0(ST11)。
接着,写地址一致性验证单元180K等待写地址WADR(WADR)的更新(ST12),并且,在更新时写有效信号VWRT变为“1”的情况下,写地址一致性验证单元180K将写地址的值加到“list”中(ST13和ST14)。
写地址一致性验证单元180K检查是否存在与“next”相等的、在“list”中记入的写地址WADR(ST15)。
如果在步骤ST15中存在相等的写地址,则写地址一致性验证单元180K从“list”中擦除相等的写地址,并执行“next”=“next”+1(ST16),并返回到再次检查是否存在与“next”相等的、在“list”中记入的写地址WADR的步骤。
如果在步骤ST15中不存在相等的写地址,则写地址一致性验证单元180K检查在“list”中记入的写地址的数目是否等于或小于包括在接口装置中的流转换器的缓冲器容量(ST17)。
如果该数目超出了缓冲器容量,则可能输入了接口装置中的流转换器无法处理的写地址,显示警告并结束该处理(ST18)。
如果该数目没有超出了缓冲器容量,则检查是否完成了仿真(ST19),并且,如果完成了仿真,则处理结束。如果没有完成仿真,则写地址一致性验证单元180K等待下一写地址的更新。
图33是图示列出图32所示的验证接口装置的写地址一致性验证单元的示例操作的详细表的图。
图33图示了在流转换器130的缓冲器容量为2的情况下的在时间点t输入的写地址WADR和写有效信号VWRT、写地址一致性验证单元180K的内部状态、以及警告显示的出现。
在时间点t0,由于写有效信号VWRT为“0”,所以,不执行操作。
在时间点t1,由于写有效信号VWRT为“1”,所以,将写地址WADR0输入到“list”中。
接着,作为比较结果,在“next”和“list”中记入的地址等于地址ADR0。因此,从“list”擦除地址0,使得“list”返回到空(null)。此外,由于将1加到“next”中,因此“next”的值变为1。
在时间点t2,将写地址WADR4加到“list”中。由于“list”的地址ADR不等于“next”的地址,因此“list”变为{4},并且“next”变为1。
在时间点t3,将写地址WADR2加到“list”中。由于“list”的地址ADR不等于“next”的地址,因此“list”变为{4,2},并且“next”变为1。
在时间点t4,将写地址WADR1加到“list”中。由于“list”的地址{4,2,1}等于“next”=1,因此从“list”中擦除1,“list”变为{4,2},并且“next”变为2。
接着,通过比较“list”的地址{4,2}和“next”=2,再次检查“list”的地址是否等于“next”,并且,从“list”中擦除2,使得“list”变为{4},并且“next”变为3。
在时间点t5,将写地址WADR5加到“list”中,使得“list”被设置为{4,5},并使得将“next”设置为3。
在时间点t6,将写地址WADR6加到“list”中,使得“list”被设置为{4,5,6}并使得将“next”设置为3。此时,在“list”中记入的地址数变为3,并且,由于该数目超出了流转换器130的缓冲器容量2,所以,显示警告并结束操作。
接着,描述图31所示的验证接口装置的读地址一致性验证单元190K的操作例子。
图34是图示图31所示的验证接口装置的读地址一致性验证单元190K的操作的流程图的示意图。
首先,读地址一致性验证单元190K将用于存储直到当前时间点读取的地址的最大值的“max”复位为-1(ST21)。
接着,读地址一致性验证单元190K等待更新读地址RADR(ST22)。
接着,在更新时读地址有效信号VRADR变为“1”的情况下(ST23),读地址一致性验证单元190K检查读地址是否大于“max”(ST24)。如果读地址大于“max”,则读地址一致性验证单元190K用读地址的值替换“max”的值(ST25)。
在更新了“max”之后,读地址一致性验证单元190K检查指示所需高速缓存容量的(max-读地址+1)是否大于实际的高速缓存容量(ST26)。
如果在步骤ST26中(max-读地址+1)大于高速缓存容量,则显示警告并结束操作(ST27)。
如果在步骤ST26中(max-读地址+1)不大于高速缓存容量,则读地址一致性验证单元190K最后检查是否完成了仿真(ST28)。如果完成了仿真,则结束操作。如果没有完成操作,则读地址一致性验证单元190K等待更新下一读地址。
图35是图示列出图34所示的验证接口装置的读地址一致性验证单元的示例操作的详细表的图。
图35图示了在高速缓存140的存储器件容量为2的情况下的在时间点t输入的读地址RADR和读有效信号VRADR、读地址一致性验证单元190K的内部状态、以及警告显示的出现。
在时间点t0,由于读有效信号VRADR为“0”,不执行操作。
在时间点t1,由于读有效信号VRADR为“1”,通过比较“max”=-1和读地址1,读地址大于“max”,使得将读地址1被插入到“max”中。
接着,检查(max-读地址+1)是否超过高速缓存140的容量,即2。由于(max-读地址+1)是1(=1-1+1),所以,(max-读地址+1)没有超过该容量。
由于以这种方式进行计算,所以,在时间点5,(max-读地址+1)变为3,其超出了高速缓存容量2。因此,在时间点t5,显示警告并结束操作。
接着,详细描述图15所示的电路生成装置240执行的处理。
这里,参考图36、37和38描述图15所示的阵列访问替换单元242的操作。
图36是图示图15所示的电路生成装置的阵列访问替换单元242的操作的流程图的示意图。
图37是图示在电路描述存储单元中存储的电路描述的例子的图。
图38是图示用执行到接口装置的连接的描述替换阵列访问的例子的图。
首先,阵列访问替换单元242从电路描述存储单元241中读取计算单元的电路描述,并将该电路描述转换到阵列访问替换单元242的内部数据库(ST31)。
接着,阵列访问替换单元242提取对作为生成接口的对象的阵列的写访问(ST32),并用连接到根据实施例的接口装置的描述来替换执行所提取的对阵列的写访问的一部分(ST33)。
在替换时,首先,移除所提取的对阵列的写访问,并且,接着,在对阵列的写访问被移除的位置,增加输出写地址WADR和写数据WDT给接口装置的描述。将写地址WADR设置为阵列的索引值,并且,写数据WDT是被写入到阵列中的数据。
接着,阵列访问替换单元242从作为生成接口的对象的阵列提取读地址(ST34),并用连接到根据实施例的接口装置的描述来替换执行从阵列提取的读访问的一部分(ST35)。
在替换时,首先移除从阵列提取的读访问,并接着,在移除来自阵列的读访问的位置,增加与接口装置有关的输出读地址RADR和输入读数据RDT的描述。
将读地址设置为阵列的索引值,并且,将接收到的读数据的值插入到所读取的阵列的值被插入的变量中。
最后,阵列访问替换单元242提取指定预载入地址的描述(ST36),并用连接到接口装置的描述来替换该描述(ST37)。
在替换时,首先,移除指定预载入地址的描述,并接着,在移除指定预载入地址的描述的位置,增加输出预载入地址PLADR给接口装置的描述。
图37和38图示了图36所示的阵列访问替换单元的操作的详细例子。
在电路描述在存储单元241中存储图37中表示的电路描述。将阵列设置成作为接口生成的对象的阵列,并且,由注释“//pre_load_address=”指定预载入地址。
在这种情况下,如图38所示,用这样的描述替换阵列访问,在该描述中,执行到接口装置的连接。
图39和40图示了图36所示的阵列访问替换单元的操作的另一例子。
与图37和38中作为生成接口的对象的阵列是一维阵列的例子不同,图39和40的例子中的阵列是二维阵列。此外,作为生成接口的对象的阵列可以是三维或更高维阵列。
在图15所示的电路生成装置240中,阵列访问替换单元242将生成的电路描述输入到详细电路生成装置243中,使得将该电路描述转换为更详细的电路描述。
详细电路生成装置243使用常规的操作合成方法。
详细电路生成装置243确定由从阵列访问替换单元242输出的、具有高级抽象度的C语言表示的电路描述的详细的计算时间,并且生成比寄存器传输级或netlist中表示的电路描述更详细的电路描述。
根据上述实施例,能够获得以下效果。
能够将通过地址指定来访问数据的连接计算单元的接口装置实现为具有最小容量的存储器件,使得能够减少电路的面积。
即使在能够通过使用地址指定来访问数据的规范而容易地设计计算单元的情况下,在现有技术中,为了不增加电路的面积,可能不把通过使用地址指定来访问数据的规范用作计算单元的规范。因此,存在的问题是:计算单元的设计是复杂的。
然而,根据本发明实施例的接口装置,通过使用地址指定来访问数据的计算单元能够在可行的电路面积下互相连接,能够改进计算单元的设计效率。
实际上,通常,在演进算法的许多例子中,能够设计通过使用地址指定来访问数据的计算单元。
通过采用根据本发明实施例的接口装置,由于能够直接地将在算法演进中生成的描述再次用于电路的设计,因此,避免在算法演进和电路设计时执行相同的设计过程,能够大大减少设计过程的数量。
此外,本发明不被限定于前述实施例,本领域熟练技术人员能够在本发明的范围内作出各种改变和修改而不脱离本发明的精神。
此外,能够由包括前述过程的程序实现前述方法,其中由计算机的CPU执行该程序。
此外,能够在诸如半导体存储器、磁盘、光盘和软盘的记录介质上记录程序,并且能够配置其中设置有记录介质的计算机来访问和执行该程序。
本申请包括与2009年1月30日向日本特许厅提交的日本在先专利申请JP2009-019893公开的内容相关的主题,在此将其全部内容引入以作参考。
本领域熟练技术人员应当理解,根据设计需要和其它因素,能够在保证落入附加的权利要求及其等价形式的程度上发生各种修改、组合、子组合和变型。
Claims (12)
1.一种接口装置,包括:
流转换器,该流转换器接收写地址和写数据,将接收到的数据存储到缓冲器中,并按照写地址的顺序,对在缓冲器中存储的写数据进行排序,以便作为流数据而输出写数据;
高速缓存,如果载入信号处于指示需要载入流数据的状态,则将接收到的流数据存储在存储器件中,并且如果输入了高速缓存地址,则作为高速缓存数据而输出在与高速缓存地址相对应的存储器件中存储的数据;
控制器,该控制器确定由与读取有关的地址信息指定的数据是否已经被载入到高速缓存,作为确定的结果,如果没有将所指定的数据载入到高速缓存,则输出指示载入到高速缓存的载入信号,并且,该控制器输出指示高速缓存的载入已完成地址的载入地址;以及
至少一个地址转换器,该地址转换器通过使用指示高速缓存的载入已完成地址的载入地址,计算表示由读地址指定的数据被存储在高速缓存中的哪一个存储器件中的值,将计算的值作为高速缓存地址输出到高速缓存,并且,作为读数据而输出从高速缓存输入的高速缓存数据。
2.如权利要求1所述的接口装置,
其中,流转换器仅在来自高速缓存的流可接收信号处于可接收状态的时间期间,才输出流数据,以及
其中,如果流可接收信号改变为可接收状态,则高速缓存将从流转换器接收的流数据存储在内部存储器件中。
3.如权利要求1或2所述的接口装置,
其中,如果缓冲器未满、使得写数据是可接收的,则流转换器将处于可接收状态的写数据可接收信号输出到提供写数据的一侧,以及
其中,如果缓冲器已满、使得写数据是不可接收的,则将写数据可接收信号改变为不可接收状态。
4.如权利要求1-2中的任一项所述的接口装置,还包括选择器,该选择器选择性地输入流数据和测试数据到高速缓存。
5.如权利要求1-2中的任一项所述的接口装置,还包括一致性验证单元,该一致性验证单元验证数据访问是否与接口装置一致。
6.如权利要求5所述的接口装置,其中,该一致性验证单元包括:写地址一致性验证单元,用于验证写地址的一致性;以及读地址一致性验证单元,用于验证与读取有关的地址信息的一致性。
7.如权利要求6所述的接口装置,其中,写地址一致性验证单元从写地址的输出顺序计算流转换器的内部所需的存储器件的容量,并且检查所计算的容量的值是否大于流转换器的存储器件的容量的实际值。
8.如权利要求6或7所述的接口装置,其中,读地址一致性验证单元从与读取有关的地址信息的输出顺序计算高速缓存所需的存储器件的容量,并且检查所计算的容量的值是否大于高速缓存的存储器件的容量的实际值。
9.一种计算处理装置,包括:
第一计算单元;
第二计算单元;以及
接口装置,该接口装置通过使用在第一计算单元和第二计算单元之间的地址指定,来执行数据传送,
其中,该接口装置包括:
流转换器,该流转换器从第一计算元接收写地址和写数据,将接收到的数据存储到缓冲器中,以及按照写地址的顺序对在缓冲器中存储的写数据进行排序,以便作为流数据而输出写数据;
高速缓存,如果载入信号处于指示需要载入流数据的状态,则该高速缓存将接收到的流数据存储在存储器件中,并且如果输入了高速缓存地址,则作为高速缓存数据而输出在与高速缓存地址相对应的存储器件中存储的数据;
控制器,该控制器确定第二计算单元是否已经将由与读取有关的地址信息指定的数据载入到高速缓存,作为确定的结果,如果没有将所指定的数据载入到高速缓存,则输出指示载入到高速缓存的载入信号,并且,该控制器输出指示高速缓存的载入已完成地址的载入地址;以及
至少一个地址转换器,通过使用指示高速缓存的载入已完成地址的载入地址,该地址转换器计算表示由读地址指定的数据被存储在高速缓存的哪个存储器件中的值,将计算的值作为高速缓存地址输出到高速缓存,并且,将从高速缓存输入的高速缓存数据作为读数据输出到第二计算单元。
10.一种用于生成接口装置的接口生成装置,
其中,该接口装置包括:
流转换器,该流转换器接收写地址和写数据,将接收到的数据存储到缓冲器中,并按照写地址的顺序,对在缓冲器中存储的写数据进行排序,以便作为流数据而输出写数据;
高速缓存,如果载入信号处于指示需要载入流数据的状态,则将接收到的流数据存储在存储器件中,并且如果输入了高速缓存地址,则作为高速缓存数据而输出在与高速缓存地址相对应的存储器件中存储的数据;
控制器,该控制器确定由与读取有关的地址信息指定的数据是否已经被载入到高速缓存,作为确定的结果,如果没有将所指定的数据载入到高速缓存,则输出指示载入到高速缓存的载入信号,并且,该控制器输出指示高速缓存的载入已完成地址的载入地址;以及
至少一个地址转换器,该地址转换器通过使用指示高速缓存的载入已完成地址的载入地址,计算表示由读地址指定的数据被存储在高速缓存中的哪一个存储器件中的值,将计算的值作为高速缓存地址输出到高速缓存,并且,作为读数据而输出从高速缓存输入的高速缓存数据,以及
其中,该接口生成装置包括:
电路信息存储单元,该电路信息存储单元存储电路的电路描述信息,该电路连接到作为生成对象的接口;以及
接口配置信息输出单元,该接口配置信息输出单元基于从电路信息存储单元读取的电路描述信息,分析要被接口满足的规范。
11.如权利要求10所述的接口生成装置,
其中,接口配置信息输出单元从电路信息存储单元读取电路描述,将该电路描述转换到内部数据库,提取作为与读取有关的地址信息而输出的全部值和方程,在所提取的地址计算方程中计算全部组合之间的差异,将通过对所计算的差异之中的最大值增加预定值而获得的值设置为高速缓存的所需容量,以及
其中,该高速缓存具有与该容量相对应的存储器件。
12.一种用于生成连接到接口装置的计算单元的电路生成装置,
其中,该接口装置包括:
流转换器,该流转换器接收写地址和写数据,将接收到的数据存储到缓冲器中,并按照写地址的顺序,对在缓冲器中存储的写数据进行排序,以便作为流数据而输出写数据;
高速缓存,如果载入信号处于指示需要载入流数据的状态,则将接收到的流数据存储在存储器件中,并且如果输入了高速缓存地址,则作为高速缓存数据而输出在与高速缓存地址相对应的存储器件中存储的数据;
控制器,该控制器确定由与读取有关的地址信息指定的数据是否已经被载入到高速缓存,作为确定的结果,如果没有将所指定的数据载入到高速缓存,则输出指示载入到高速缓存的载入信号,并且,该控制器输出指示高速缓存的载入已完成地址的载入地址;以及
至少一个地址转换器,该地址转换器通过使用指示高速缓存的载入已完成地址的载入地址,计算表示由读地址指定的数据被存储在高速缓存中的哪一个存储器件中的值,将计算的值作为高速缓存地址输出到高速缓存,并且,作为读数据而输出从高速缓存输入的高速缓存数据,以及
其中,该电路生成装置包括:
电路描述存储单元,该电路描述存储单元存储表示连接到接口装置的计算单元的功能的描述;
阵列访问替换单元,该阵列访问替换单元从自该电路描述存储单元读取的电路描述中提取与阵列相关的读和写,该阵列将成为接口装置的生成对象,并且,用表示用于连接到接口装置的通信协议的描述进行替换;以及
详细电路生成装置,该详细电路生成装置从进行了阵列访问的替换的描述中生成详细的电路描述。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP019893/09 | 2009-01-30 | ||
JP2009019893A JP5267166B2 (ja) | 2009-01-30 | 2009-01-30 | インターフェース装置、演算処理装置、インターフェース生成装置、および回路生成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101794258A CN101794258A (zh) | 2010-08-04 |
CN101794258B true CN101794258B (zh) | 2012-08-29 |
Family
ID=42398645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010108022 Expired - Fee Related CN101794258B (zh) | 2009-01-30 | 2010-02-01 | 接口装置、计算处理装置、接口生成装置以及电路生成装置 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8307160B2 (zh) |
JP (1) | JP5267166B2 (zh) |
CN (1) | CN101794258B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5499987B2 (ja) * | 2010-08-13 | 2014-05-21 | 富士通株式会社 | 共有キャッシュメモリ装置 |
CN103197586B (zh) * | 2013-04-11 | 2015-04-15 | 南京盘谷电气科技有限公司 | 一种基于微处理器的配网终端自动识别方法 |
US10293693B2 (en) * | 2015-04-21 | 2019-05-21 | Samsung Electronics Co., Ltd. | Battery control method and apparatus, battery module, and battery pack |
SG11201900282VA (en) | 2016-09-05 | 2019-03-28 | Mitsubishi Electric Corp | Embedded system, embedded system control method and data consistency judgment method |
JP2020115275A (ja) * | 2019-01-17 | 2020-07-30 | 富士通株式会社 | 情報処理装置およびプログラム |
CN114038490B (zh) * | 2021-10-14 | 2023-07-04 | 西安紫光国芯半导体有限公司 | 基于三维异质集成的一致性链路存储芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138188A (en) * | 1998-09-28 | 2000-10-24 | Mentor Arc Inc. | Buffer management device and method for improving buffer usage and access performance in data processing system |
CN101127243A (zh) * | 2006-08-18 | 2008-02-20 | 富士通株式会社 | 存储器控制器和存储器控制方法 |
CN101206612A (zh) * | 2006-12-22 | 2008-06-25 | 富士通株式会社 | 信息处理装置以及历史管理方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01111245A (ja) | 1987-10-24 | 1989-04-27 | Nec Corp | キャッシュメモリ |
US5249281A (en) * | 1990-10-12 | 1993-09-28 | Lsi Logic Corporation | Testable ram architecture in a microprocessor having embedded cache memory |
JPH06290000A (ja) * | 1993-04-02 | 1994-10-18 | Fuji Electric Co Ltd | ディスクコントローラ |
JP2690691B2 (ja) | 1994-06-27 | 1997-12-10 | 新潟日本電気株式会社 | ライトバック・キャッシュ・メモリを有する演算処理装置 |
US6061771A (en) * | 1997-04-30 | 2000-05-09 | International Business Machines Corporation | Cross-system data piping system using an external shared memory |
JP3644380B2 (ja) | 2000-12-18 | 2005-04-27 | 日本電気株式会社 | プロセッサ制御装置 |
US6725336B2 (en) * | 2001-04-20 | 2004-04-20 | Sun Microsystems, Inc. | Dynamically allocated cache memory for a multi-processor unit |
JP4007483B2 (ja) * | 2001-07-16 | 2007-11-14 | シャープ株式会社 | 高位合成装置および高位合成方法 |
EP1459181A2 (en) * | 2001-12-14 | 2004-09-22 | Koninklijke Philips Electronics N.V. | Method for data processing in a multi-processor data processing system and a corresponding data processing system |
US6912616B2 (en) * | 2002-11-12 | 2005-06-28 | Hewlett-Packard Development Company, L.P. | Mapping addresses to memory banks based on at least one mathematical relationship |
US7606993B2 (en) * | 2003-06-10 | 2009-10-20 | Tdk Corporation | Flash memory controller, memory control circuit, flash memory system, and method for controlling data exchange between host computer and flash memory |
US7210116B2 (en) * | 2003-06-27 | 2007-04-24 | Robert Zeidman | Method and apparatus for synthesizing a hardware system from a software description |
JP4601305B2 (ja) * | 2004-02-27 | 2010-12-22 | 富士通セミコンダクター株式会社 | 半導体装置 |
US20060190678A1 (en) * | 2005-02-22 | 2006-08-24 | Butler Douglas B | Static random access memory (SRAM) compatible, high availability memory array and method employing synchronous dynamic random access memory (DRAM) in conjunction with a single DRAM cache and tag |
JP4362502B2 (ja) * | 2006-09-26 | 2009-11-11 | 株式会社日立製作所 | ディスク制御装置及びデータ転送制御方法 |
US7664905B2 (en) * | 2006-11-03 | 2010-02-16 | Nvidia Corporation | Page stream sorter for poor locality access patterns |
JP5056110B2 (ja) * | 2007-03-28 | 2012-10-24 | ソニー株式会社 | 集積回路生成装置およびその方法 |
-
2009
- 2009-01-30 JP JP2009019893A patent/JP5267166B2/ja not_active Expired - Fee Related
-
2010
- 2010-01-27 US US12/694,556 patent/US8307160B2/en not_active Expired - Fee Related
- 2010-02-01 CN CN 201010108022 patent/CN101794258B/zh not_active Expired - Fee Related
-
2012
- 2012-10-04 US US13/645,215 patent/US20130031311A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6138188A (en) * | 1998-09-28 | 2000-10-24 | Mentor Arc Inc. | Buffer management device and method for improving buffer usage and access performance in data processing system |
CN101127243A (zh) * | 2006-08-18 | 2008-02-20 | 富士通株式会社 | 存储器控制器和存储器控制方法 |
CN101206612A (zh) * | 2006-12-22 | 2008-06-25 | 富士通株式会社 | 信息处理装置以及历史管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101794258A (zh) | 2010-08-04 |
JP5267166B2 (ja) | 2013-08-21 |
JP2010176505A (ja) | 2010-08-12 |
US20130031311A1 (en) | 2013-01-31 |
US20100199044A1 (en) | 2010-08-05 |
US8307160B2 (en) | 2012-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101794258B (zh) | 接口装置、计算处理装置、接口生成装置以及电路生成装置 | |
CN100489811C (zh) | 实现矢量存储器操作 | |
CN101572552B (zh) | 基于内容可寻址存储器的高速无损数据压缩系统 | |
CN100367194C (zh) | 自堆栈快取存储器进行快速推测性弹出操作方法及装置 | |
US20080222360A1 (en) | Multi-port integrated cache | |
CN101593098B (zh) | 转发装置与方法以及微处理器 | |
CN101432703B (zh) | 用于高速缓存可变长度指令的方法及设备 | |
CN103092782A (zh) | 用于闪存器件的闪存控制器硬件架构 | |
CN104778025B (zh) | 基于随机访问存储器的先入先出存储器的电路结构 | |
US7899940B2 (en) | Servicing commands | |
CN102033818A (zh) | 媒体缓冲和流水线式处理组件 | |
CN115481079B (zh) | 一种数据调度系统、可重构处理器及数据调度方法 | |
CN110362506A (zh) | 高速缓存存储器及其中实现的方法 | |
CN100349442C (zh) | 一种乒乓缓冲装置 | |
CN102968386A (zh) | 数据供给设备、缓存设备及数据供给方法 | |
US5297255A (en) | Parallel computer comprised of processor elements having a local memory and an enhanced data transfer mechanism | |
CN102262611B (zh) | 一种16位的risc cpu系统结构 | |
CN103092781A (zh) | 闪存接口的有效利用 | |
CN114297097A (zh) | 一种众核可定义分布式共享存储结构 | |
CN100378650C (zh) | 微处理机与随机存取快取记忆体的快速弹出装置及其方法 | |
CN100461134C (zh) | 一种外部存储器控制器及基于外部存储器控制器的地址变换的方法 | |
CN102156676B (zh) | 高速缓存系统 | |
CN105404591B (zh) | 处理器系统及其存储器控制方法 | |
US6378044B1 (en) | Method and system for cache replacement among configurable cache sets | |
US20180276126A1 (en) | Interface device and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120829 Termination date: 20150201 |
|
EXPY | Termination of patent right or utility model |