JP6123510B2 - 半導体装置及び半導体装置の制御方法 - Google Patents

半導体装置及び半導体装置の制御方法 Download PDF

Info

Publication number
JP6123510B2
JP6123510B2 JP2013124053A JP2013124053A JP6123510B2 JP 6123510 B2 JP6123510 B2 JP 6123510B2 JP 2013124053 A JP2013124053 A JP 2013124053A JP 2013124053 A JP2013124053 A JP 2013124053A JP 6123510 B2 JP6123510 B2 JP 6123510B2
Authority
JP
Japan
Prior art keywords
bank
data
index
array
access instruction
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.)
Active
Application number
JP2013124053A
Other languages
English (en)
Other versions
JP2014241107A (ja
Inventor
真寿 毛利
真寿 毛利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013124053A priority Critical patent/JP6123510B2/ja
Publication of JP2014241107A publication Critical patent/JP2014241107A/ja
Application granted granted Critical
Publication of JP6123510B2 publication Critical patent/JP6123510B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、半導体装置及び半導体装置の制御方法に関する。
プロセッサのデータメモリの実装方法の1つに、バンクインターリーブ方式がある。バンクインターリーブ方式では、一般には2の累乗個の複数のバンク(メモリバンク)に対応するデータメモリがプロセッサに接続される。バンクインターリーブ方式において、アドレスは、図8(A)に示すように各バンクの深さ方向に連続するように割り振るのではなく、図8(B)に示すようにバンクをまたいで横方向に連続するように割り振る。バンクインターリーブ方式では、例えば、アドレスの下位ビット(4バンクであれば下位2ビット、8バンクであれば下位3ビット)で、アドレスに対応するバンクが一意に決まる。
図8(A)及び図8(B)は、データメモリの実装方法の例を示す図である。図8(A)及び図8(B)には、4つのバンクを有する例を示しており、810はプロセッサであり、820−pはデータメモリ(バンクp)(p=0、1、2、3)である。プロセッサ810は、データメモリ(バンクp)820−pとの間でデータを入出力するためのレジスタ等を含むインタフェース811−pを、データメモリ(バンクp)820−pの各々に対応して有しており、データメモリ(バンクp)820−p毎に独立してアクセスすることが可能である。
バンクインターリーブ方式は、配列等の連続に並んだデータに順にアクセスする連続アクセス(シーケンシャルアクセス)が速いという利点がある。例えば、図8(C)に示すように、連続したアドレスの領域に記憶された配列dataのデータ(要素)を、data[0]、data[1]、data[2]、・・・、data[15]というように順に読み出して加算し、総和sumを求める処理を行うとする。
図8(A)に示したデータメモリの実装方式では、例えばdata[0]とdata[1]とは同じデータメモリ(バンク0)820−0上に存在しているため、同時に読み出すことができない。つまり、図8(A)に示したデータメモリの実装方式では、図8(C)に示した処理のほとんどで1サイクルに1つのデータを読み出すことしかできないため、data[0]〜data[15]のすべての読み出しに13サイクルを要する。
それに対して、図8(B)に示したバンクインターリーブ方式では、例えばdata[0]、data[1]、data[2]、及びdata[3]は、異なるデータメモリ(バンクp)820−p上に存在しているため、同時に読み出すことができる。つまり、図8(B)に示したバンクインターリーブ方式では、図8(C)に示した処理を行う際に1サイクルに4つのデータを読み出すことが可能であるため、data[0]〜data[15]のすべての読み出しに4サイクルしか要しない。
また、例えば配列のデータを順に書き込むシーケンシャルアクセスにおいても、図8(A)に示した実装方式では1サイクルに1つのデータを書き込むことしかできない。それに対して、図8(B)に示したバンクインターリーブ方式では、1サイクルに4つのデータを書き込むことが可能である。
複数のプロセッサと共有メモリとを有し、メモリへのアクセス命令におけるアクセスアドレスを基に、そのアクセス命令を行うプロセッサがアクセスするメモリ領域を、アクセスアドレスに局所性がある場合にはスタック式に割り当て、アクセスアドレスに局所性がない場合にはインターリーブ式に割り当てるようにした装置が提案されている(例えば、特許文献1参照)。また、インターリーブされたアドレスを備えたメモリのバンクを複数有するマルチバンクメモリ型のメモリシステムが提案されている(例えば、特許文献2、3参照)。メモリシステムにおける並行性を向上させるために、複数のメモリアクセス要求を再順序付けする技術が提案されている(例えば、特許文献3参照)。
特開2008−234156号公報 特表2003−520368号公報 特開平10−228417号公報
前述したようにバンクインターリーブ方式は、配列のデータに順にアクセスするシーケンシャルアクセスが速いという利点がある。しかし、アプリケーションによっては、配列に対して、シーケンシャルアクセスだけでなく、連続しない順序でアクセスすることもある。例えば、無線通信の信号処理アプリケーションや暗号化アプリケーションでは、シーケンシャルアクセスだけでなく、特殊な順序のアクセスパターンでアクセスすることがある。シーケンシャルアクセスではない特殊な順序でのアクセスでは、バンクインターリーブ方式の利点が活かせないことがあり、1サイクルあたり1つのデータしかデータメモリに対する読み出しや書き込みが行えなくなってしまうことも考えられる。
本発明は、配列に対するアクセスパターンに応じて、データメモリにおける配列のデータのバンク配置を制御できるようにすることを目的とする。
半導体装置の一態様は、複数のバンクを有するデータメモリと、データメモリへのアクセス命令に応じてアクセスを行うプロセッサとを有する。プロセッサは、入力されたアクセス命令が、配列のデータを配置するデータメモリのバンクの振り分けを指定する指定情報を含むアクセス命令である場合には、指定情報により指定されるバンクの振り分けに応じて、アクセス命令がアクセスするデータを配置するバンクに対応するインデックスを変換し、変換したインデックスに従ってバンクの選択を行い、配列に係るデータメモリへのアクセスを行う。
開示の半導体装置は、指定されるバンクの振り分けに従って配列のデータを配置するバンクの選択を行うことで、配列に対するアクセスパターンに応じた配列のデータのバンク配置が可能になり、アプリケーションを修正することなく適切なメモリアクセスが実現でき、性能向上を図ることができる。
本発明の実施形態における半導体装置の構成例を示す概略図である。 本実施形態におけるメモリマップの例を示す図である。 本実施形態における半導体装置の構成例を示す図である。 本実施形態におけるインデックス変換器の構成例を示す図である。 本実施形態におけるセレクタ設定表の例を示す図である。 本実施形態におけるソースコード及びアクセス命令の一例を示す図である。 本実施形態におけるメモリアクセスの例を示す図である。 データメモリの実装方法を説明するための図である。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態における半導体装置の構成例を示す概略図である。本実施形態における半導体装置は、プロセッサ10及びデータメモリ(バンクp)20−pを有する。なお、pは添え字であり、p=0、1、2、3である(以下についても同様)。図1には、4つのバンクを有する例を示しているが、バンクの数は複数であれば任意であり、2の累乗個であることが好ましい。
プロセッサ10は、データメモリ(バンクp)20−pの各々に対応して、データメモリ(バンクp)20−pとの間でデータを入出力するためのインタフェース11−pを有する。プロセッサ10は、各インタフェース11−pにより、データメモリ(バンクp)20−p毎に独立してアクセスすることが可能である。インタフェース11−pは、データメモリ(バンクp)20−pに対する入出力データを保持するレジスタ等を有する。
本実施形態における半導体装置は、配列に対するデータメモリのバンクの割り振り、すなわちデータメモリにおいて配列のデータ(要素)をどのバンクに配置するかを制御可能である。例えば、データに特殊な順序でアクセスを行いたい配列は、図2の領域201に示すように、ユーザが指定するバンクパターンで配列のデータを各バンクに配置する。また、例えば、データに順にアクセスするシーケンシャルアクセスを行いたい配列は、図2の領域202に示すように、通常のバンクパターンで配列のデータを各バンクに配置する。ここで、通常のバンクパターンとは、アドレス(配列のインデックス)の下位ビットの値によりバンクが一意に決定するバンクインターリーブ方式のバンクパターンであり、例えば図8(B)に示したような配置となる一定の規則を有するパターンである。
図2は、本実施形態におけるメモリマップの例を示す図である。図2において、塗りつぶしのパターンが、データメモリにおけるバンクの違いを示している。例えば、右下がり斜線と左下がり斜線とが交差しているブロックがデータメモリのバンク0に対応し、ドット塗りつぶしのブロックがデータメモリのバンク1に対応し、右下がり斜線のブロックがデータメモリのバンク2に対応し、左下がり斜線のブロックがデータメモリのバンク3に対応する。図2に示す例では、領域201では、アドレス方向に対して任意にバンクが割り当てられ、領域202では、アドレス方向に対して順に(規則的に)バンクが割り当てられている。
また、図2において、BAD1は領域201のベースアドレスであり、BAD2は領域202のベースアドレスである。なお、ユーザが指定するバンクパターンで配列のデータを配置する場合でも、その領域のサイズは、通常のバンクパターンで配置する際の領域のサイズと同じである。すなわち、配列のデータを配置する領域は、配列のデータを格納するのに過不足のないサイズの領域である。
このように本実施形態では、配列のデータ(要素)のデータメモリにおけるバンク配置をユーザ指定可能にして制御することで、配列に対するアプリケーションのデータアクセスパターンに応じた配列のデータの配置が可能になる。したがって、特殊な順序で配列のデータにアクセスするアプリケーションであっても、アプリケーションを修正(変更)することなく、アプリケーションに応じたデータ配置を行うことで適切なメモリアクセスを実現することができ、性能向上を図ることができる。
図3は、本実施形態における半導体装置の構成例を示す図である。図3において、図1に示した構成要素と同一の構成要素には同一の符号を付している。なお、図3には、本実施形態の半導体装置におけるデータメモリへのアクセス制御に係る構成を示したが、プロセッサ10は、データメモリに対するデータ入出力に係る構成や、一般的なプロセッサが有する、図示しない演算処理等の他の処理に係る構成も有している。
プロセッサ10は、命令制御部12、インデックス変換器13、セレクタ14、加算器15、アドレス保持部16、及びバンク選択用デコーダ17を有する。命令制御部12は、図示しない命令メモリから読み出された命令insが入力され、命令insをデコードして、デコード結果に応じた処理を行う。例えば、命令制御部12は、命令insがデータメモリ(バンクp)20−pへのアクセス命令である場合には、データメモリ(バンクp)20−pに対するアクセスを行う。
命令制御部12は、命令insが配列に係るデータメモリ(バンクp)20−pへのアクセス命令である場合には、アクセス命令で指定されたベースアドレスbase及びインデックスindex1を出力する。ここで、アクセス命令で指定されるベースアドレスは、アクセスする配列に係るメモリ領域のベースアドレスであり、アクセス命令で指定されるインデックスは、アクセスする配列のデータを識別するためのインデックスである。
また、命令制御部12は、命令insが配列に係るデータメモリ(バンクp)20−pへのアクセス命令であり、さらに配列のデータのデータメモリにおけるバンクの振り分け(バンク配置)を示すバンクパターンを指定する指定情報を含むアクセス命令である場合には、その指定情報bankptを出力する。また、命令制御部12は、命令insがバンクの振り分けを指定するバンクパターンの指定情報を含むアクセス命令であるか否かを示す信号S1を出力する。
インデックス変換器13は、命令制御部12から出力されたインデックスindex1及びバンクパターンの指定情報bankptが入力され、インデックスindex2を出力する。インデックス変換器13は、指定情報bankptにより指定されるバンクの振り分け(バンクパターン)に基づいて、入力されるインデックスindex1をインデックスindex2に変換して出力する。
セレクタ14は、命令制御部12から出力された信号S1に基づいて、命令制御部12から出力されたインデックスindex1又はインデックス変換器13から出力されたインデックスindex2の一方を選択してインデックスindex3として出力する。セレクタ14は、命令insがバンクパターンの指定情報を含むアクセス命令であることを信号S1が示した場合には、インデックスindexをインデックスindex3として出力する。一方、セレクタ14は、命令insがバンクパターンの指定情報を含むアクセス命令ではないことを信号S1が示した場合には、インデックスindexをインデックスindex3として出力する。
加算器15は、命令制御部12から出力されたベースアドレスbaseに、セレクタ14から出力されたインデックスindex3を加算して、データメモリ(バンクp)20−pにアクセスするためのメモリアドレスを生成する。加算器15により生成されたメモリアドレスは、アドレス保持部16に保持される。バンク選択用デコーダ17は、アドレス保持部16に保持されたメモリアドレスをデコードし、デコード結果に基づいてバンクを選択してアクセスを行う。すなわち、バンク選択用デコーダ17は、セレクタ14から出力されたインデックスindex3に応じたバンクの選択を行う。
データメモリ(バンクp)20−pには、例えば、配列datAのデータdatA[0]〜datA[31]を、図5に例示するセレクタ設定表での設定0のバンクパターンのテーブルに従ったバンク配置で配置する場合、領域21に示すように配置される。図5に例示するセレクタ設定表については、後述する。また、例えば、配列datBのデータdatB[0]〜datB[31]を、通常のバンクパターンに応じたバンク配置で配置する場合、領域22に示すように配置される。
図4は、インデックス変換器13の構成例を示す図である。インデックス変換器13は、図4に示すように、セレクタ31、セレクタ設定表32、及びレジスタ33、34を有する。レジスタ33は、入力されるインデックスindex1を保持するレジスタであり、レジスタ34は、セレクタ31の出力であるインデックスindex2を保持するレジスタである。なお、図4においては、インデックスindex1、index2が6ビットである場合を一例として示しているが、インデックスindex1、index2のビット数は、これに限定されるものではない。
セレクタ31は、セレクタ設定表32が有するテーブルの内からバンクパターンの指定情報bankptに応じて選択されたバンクパターンのテーブルを参照して、インデックスindex1をインデックスindex2に変換し出力する。セレクタ設定表32は、図5に一例を示すような、配列のインデックスと配列のデータを配置するバンクとの対応関係(バンクパターン)を示すテーブルを有し、バンクパターンの指定情報bankptに応じて1つのテーブルが選択される。
図5は、セレクタ設定表32の例を示す図である。セレクタ設定表は、配列のインデックスに対して、配列のデータを配置するバンクを振り分けるテーブルを有している。バンクパターンの指定情報bankptに応じて1つのテーブルが選択され、インデックスに応じた配列のデータが、選択されたテーブルにより指定されたバンクに配置される。図5においては、ハードウェア(HW)により固定の値が設定されている設定0及び設定1のテーブルと、ソフトウェア(SW)により任意の値を設定可能な設定2のテーブルを有する例を示している。
ここで、セレクタ設定表は、すべてのテーブルをハードウェアで実現しても良いし、すべてのテーブルをソフトウェアで実現しても良い。また、セレクタ設定表の一部のテーブルをハードウェアで実現し、残りのテーブルをソフトウェアで実現しても良い。セレクタ設定表のテーブルをハードウェアにより実現する場合には、テーブルをアプリケーションに合わせて後から変更することはできないが、アプリケーションの開発者が、既存のテーブルの内からシミュレーション等でアクセス効率が高くなるようなテーブルを選択するだけで適切なメモリアクセスを実現できるアプリケーションの開発が可能になる。また、セレクタ設定表のテーブルをソフトウェアにより実現する場合には、アプリケーションの開発者がテーブルを入力しなくてはいけないが、アプリケーションに合わせたテーブルを自由に設定することができる。
図6(A)は、本実施形態における半導体装置で動作させるアプリケーションのソースコードの例を示す図である。コード601は、配列proposalのデータをバンクパターン3に従って各バンクに配置することを指示するコードであり、コード602、603は、配列proposal、normalをそれぞれ定義するコードである。なお、配列normalは、アドレス(配列のインデックス)の下位ビットの値によりバンクが一意に決定する通常のバンクパターンで配列のデータを配置する配列である。
コード604は、配列proposalにおけるインデックス値0のデータproposal[0]を、データメモリから読み出して変数aに代入するコードである。また、コード605は、配列proposalにおけるインデックス値4のデータproposal[4]を、データメモリから読み出して変数bに代入するコードである。同様に、コード606は、配列normalにおけるインデックス値0のデータnormal[0]を、データメモリから読み出して変数xに代入するコードである。また、コード607は、配列normalにおけるインデックス値4のデータnormal[4]を、データメモリから読み出して変数yに代入するコードである。
バンクパターン3で配置するバンクを振り分ける配列proposalに係るデータメモリへのアクセスには、通常の命令とは異なる特別な命令を利用することになる。例えば、コンパイラは、変数の型に基づいて、通常の命令を使用するか、特別な命令を使用するかを判別して、ソースコードをコンパイルする。
図6(B)に、バンクパターンに従って、配置するバンクを振り分ける配列proposalのデータを読み出すためのロード命令の例を示す。配列proposalのデータをデータメモリから読み出す命令loadProposalにおいて、Registerは読み出したデータを格納するレジスタを示し、baseは配列のベースアドレスを示し、indexは配列におけるインデックスを示している。また、bankPatternは、配列のバンク配置を示すバンクパターンを指定する指定情報である。
図3に示した命令制御部12は、入力された命令insが命令loadProposalである場合には、命令loadProposalにおけるbase及びindexを、ベースアドレスbase及びインデックスindex1として出力する。また、命令制御部12は、命令loadProposalにおけるbankPatternを、バンクパターンの指定情報bankptとして出力するとともに、入力された命令insがバンクパターンの指定情報を含むアクセス命令であることを信号S1により示す。
また、図6(C)に、通常のバンクパターンで配置するバンクを振り分ける配列normalのデータを読み出すためのロード命令の例を示す。配列normalのデータをデータメモリから読み出す命令loadにおいて、Registerは読み出したデータを格納するレジスタを示し、baseは配列のベースアドレスを示し、indexは配列におけるインデックスを示している。
図3に示した命令制御部12は、入力された命令insが命令loadである場合には、命令loadにおけるbase及びindexを、ベースアドレスbase及びインデックスindex1として出力する。また、命令制御部12は、入力された命令insがバンクパターンの指定情報を含むアクセス命令ではないことを信号S1により示す。
本実施形態によれば、配列に対するデータメモリのバンクの任意な割り振りを可能にし、指定されるバンクの振り分けに従ってバンクの選択を行うことで、アプリケーションの配列に対するアクセスパターンに応じて、配列のデータのデータメモリにおけるバンク配置を制御することができる。したがって、特殊な順序で配列のデータにアクセスするアプリケーションであっても、アプリケーションを修正(変更)することなく、アプリケーションに応じたデータ配置を行うことで適切なメモリアクセスを実現することができ、性能向上を図ることができる。
例えば、インデックスが0〜31の32個のデータ(要素)を有する配列について、インデックスが0、1、2、・・・、31というように1ずつ増加させて順にデータの書き込みを行うとする。その後、インデックスが0、4、8、12、16、20、24、28、1、5、9、13、17、21、25、29、2、6、10、14、18、22、26、30、3、7、11、15、19、23、27、31という順にデータの読み出しを行うとする。
アドレス(配列のインデックス)の下位ビットによりバンクが一意に決定するバンクインターリーブ方式の通常のバンクパターン(アドレスの下位ビットによりバンクが一意に決定するバンクインターリーブ方式のバンクパターン)で配列のデータを各バンクに配置する場合には、図7(A)に示すように、データの書き込みに8サイクルを要し、データの読み出しに29サイクルを要し、全体で37サイクルを要する。それに対して、図5に示したセレクタ設定表での設定0のバンクパターンで配列のデータを各バンクに配置する場合には、図7(B)に示すように、データの書き込みに15サイクルを要し、データの読み出しに13サイクルを要し、全体で28サイクルを要する。このように、本実施形態では、配列のデータアクセスパターンに応じて、配列のデータのバンク配置を制御することで、適切なメモリアクセスを実現することができ、メモリアクセスに要するサイクル数を低減することができる。
なお、前述した実施形態では、通常のバンクパターンでバンク配置する配列については通常のアクセス命令を用い、セレクタ設定表が有するテーブルのバンクパターンでバンク配置する配列については特別なアクセス命令を用いるようにして区別している。本実施形態はこれに限定されるものではなく、例えば、セレクタ設定表に、アドレス(配列のインデックス)の下位ビットの値とデータを配置するバンクとが一意に対応するバンクインターリーブ方式の通常のバンクパターンのテーブルを備え、常にバンクパターンを指定するようにして1種類のアクセス命令でメモリアクセスを実現するようにしても良い。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
10 プロセッサ
11−0〜11−3 インタフェース
20−0〜20−4 データメモリ
12 命令制御部
13 インデックス変換器
14 セレクタ
15 加算器
16 アドレス保持部
17 バンク選択用デコーダ
31 セレクタ
32 セレクタ設定表
33、34 レジスタ

Claims (7)

  1. 複数のバンクを有するデータメモリと、
    前記データメモリへのアクセス命令に応じてアクセスを行うプロセッサとを有し、
    前記プロセッサは、
    入力された前記アクセス命令が、配列のデータを配置する前記データメモリのバンクの振り分けを指定する指定情報を含むアクセス命令である場合には、前記指定情報により指定されるバンクの振り分けに応じて、前記アクセス命令がアクセスするデータを配置するバンクに対応するインデックスを変換し、変換した前記インデックスに従って前記バンクの選択を行い、前記配列に係る前記データメモリへのアクセスを行うことを特徴とする半導体装置。
  2. 前記プロセッサは、
    入力された前記アクセス命令がアクセスするデータを配置するバンクに対応するインデックスを、前記指定情報により指定されるバンクの振り分けに応じて変換するインデックス変換部を有し、
    前記アクセス命令が前記指定情報を含むアクセス命令である場合には、変換したインデックスに基づいて前記バンクの選択を行い、前記配列に係る前記データメモリへのアクセスを行うことを特徴とする請求項1記載の半導体装置。
  3. 前記インデックス変換部は、
    配列のインデックスと前記配列のデータを配置する前記バンクとの対応関係を示すテーブルと、
    前記指定情報に応じて選択した前記テーブルを参照して、前記アクセス命令がアクセスするデータを配置するバンクに対応するインデックスを変換する変換部とを有することを特徴とする請求項2記載の半導体装置。
  4. 前記インデックス変換部が有する前記テーブルには、配列のインデックスの下位ビットの値と前記配列のデータを配置する前記バンクとが一意に対応するテーブルを含むことを特徴とする請求項3記載の半導体装置。
  5. 前記プロセッサは、
    前記アクセス命令が、前記指定情報を含むアクセス命令である場合には、変換したインデックスを選択し、前記指定情報を含むアクセス命令でない場合には、前記アクセス命令がアクセスするデータを配置するバンクに対応するインデックスを選択する選択部を有し、
    前記選択部により選択したインデックスに基づいて前記バンクの選択を行い、前記配列に係る前記データメモリへのアクセスを行うことを特徴とする請求項2記載の半導体装置。
  6. 複数のバンクを有するデータメモリと、前記データメモリへのアクセス命令に応じてアクセスを行うプロセッサとを有する半導体装置の制御方法であって、
    入力された前記アクセス命令が、配列のデータを配置する前記データメモリのバンクの振り分けを指定する指定情報を含むアクセス命令である場合に、前記指定情報により指定されるバンクの振り分けに応じて、前記アクセス命令がアクセスするデータを配置するバンクに対応するインデックスを変換する工程と、
    変換したインデックスに基づいて前記バンクの選択を行い、前記配列に係る前記データメモリへのアクセスを行う工程とを有することを特徴とする半導体装置の制御方法。
  7. 前記配列のインデックスを変換する工程は、
    前記指定情報に応じて、配列のインデックスと前記配列のデータを配置する前記バンクとの対応関係を示すテーブルを選択する工程と、
    選択した前記テーブルを参照して、前記アクセス命令がアクセスするデータを配置するバンクに対応するインデックスを変換する工程とを有することを特徴とする請求項6記載の半導体装置の制御方法。
JP2013124053A 2013-06-12 2013-06-12 半導体装置及び半導体装置の制御方法 Active JP6123510B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013124053A JP6123510B2 (ja) 2013-06-12 2013-06-12 半導体装置及び半導体装置の制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013124053A JP6123510B2 (ja) 2013-06-12 2013-06-12 半導体装置及び半導体装置の制御方法

Publications (2)

Publication Number Publication Date
JP2014241107A JP2014241107A (ja) 2014-12-25
JP6123510B2 true JP6123510B2 (ja) 2017-05-10

Family

ID=52140311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013124053A Active JP6123510B2 (ja) 2013-06-12 2013-06-12 半導体装置及び半導体装置の制御方法

Country Status (1)

Country Link
JP (1) JP6123510B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116820344B (zh) * 2023-07-03 2024-04-26 摩尔线程智能科技(北京)有限责任公司 存储器访问电路及存储器访问方法、集成电路和电子设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143326A (ja) * 1991-11-18 1993-06-11 Matsushita Electric Ind Co Ltd バンク処理装置
EP1050819A1 (en) * 1999-05-03 2000-11-08 Sgs Thomson Microelectronics Sa Computer memory access
JP2004157695A (ja) * 2002-11-06 2004-06-03 Matsushita Electric Ind Co Ltd 情報処理方法および情報処理装置

Also Published As

Publication number Publication date
JP2014241107A (ja) 2014-12-25

Similar Documents

Publication Publication Date Title
JP3950831B2 (ja) メモリインタリーブ方式
US6968440B2 (en) Systems and methods for processor memory allocation
CN109478252B (zh) 用于神经网络硬件加速的多播网络和存储器转移优化
JP2009529756A (ja) テストデータのフォーマット変換
CN101341473A (zh) 具有共享存储体的多处理器电路
JPWO2007069506A1 (ja) 記憶領域割当システム及び方法と制御装置
JP6500505B2 (ja) 制御装置、制御方法、および制御プログラム
CN100410919C (zh) 处理器
JP2018194939A (ja) 情報処理装置、メモリ制御装置および情報処理装置の制御方法
KR20230056772A (ko) 효율적인 프로세싱 인 메모리 시스템을 위한 하드웨어-소프트웨어 협력 어드레스 맵핑 기법
JPWO2006129722A1 (ja) 再構成可能な装置
JP6123510B2 (ja) 半導体装置及び半導体装置の制御方法
CN104866297A (zh) 一种优化核函数的方法和装置
JP5532132B2 (ja) Simdモードで動作するプロセッシング・エレメントの内部メモリに分散記憶された正方マトリックス及びその転置マトリックスに、時間と面積の効率良いアクセスを可能とする装置及び方法
KR20030055467A (ko) 다단계 분할을 이용한 기억소자 할당방법
US11625269B1 (en) Scheduling for locality of reference to memory
JP5248482B2 (ja) プログラマブルデータ処理回路
US20220318015A1 (en) Enforcing data placement requirements via address bit swapping
JP4901754B2 (ja) 単一命令複数データ実行エンジンのフラグレジスタのための評価ユニット
KR20150078951A (ko) 메모리 관리 방법 및 장치
JP7225904B2 (ja) ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム
JP2014109938A (ja) プログラム起動装置、プログラム起動方法、及びプログラム起動プログラム
JPWO2007077595A1 (ja) メモリ制御方法、プログラム及び装置
JP5245617B2 (ja) レジスタ制御回路およびレジスタ制御方法
US12158842B2 (en) Data co-location using address hashing for high-performance processing in memory

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170307

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170320

R150 Certificate of patent or registration of utility model

Ref document number: 6123510

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150