JP5658556B2 - メモリ制御装置、及びメモリ制御方法 - Google Patents
メモリ制御装置、及びメモリ制御方法 Download PDFInfo
- Publication number
- JP5658556B2 JP5658556B2 JP2010288176A JP2010288176A JP5658556B2 JP 5658556 B2 JP5658556 B2 JP 5658556B2 JP 2010288176 A JP2010288176 A JP 2010288176A JP 2010288176 A JP2010288176 A JP 2010288176A JP 5658556 B2 JP5658556 B2 JP 5658556B2
- Authority
- JP
- Japan
- Prior art keywords
- element data
- written
- signal
- bank
- order
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/30105—Register structure
- G06F9/30109—Register structure having multiple operands in a single register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/345—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
- G06F9/3455—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
Description
図7は、データメモリ6から演算要素データを読み出してベクトルレジスタ8に格納するためのメモリ制御装置の構成を示す。メモリ制御装置は、データメモリ6から要素データ列R1〜R4を読み出すためのバンク6_1〜6_4ごとの読出しアドレスrADDを生成するアドレス生成部30を有する。アドレス生成部30は、たとえばロード・ストアパイプライン12_1、12_2内のモジュールである。アドレス生成部30は、命令デコーダ4から入力されるアドレス生成用データ4aに基づいて、読出しアドレスrADDを生成する。アドレス生成部30は、たとえば、シーケンシャルアクセスの場合の読出しアドレスを生成するシーケンシャルアドレス生成部30_1、インダイレクトアクセスの場合の読出しアドレスを生成するインダイレクトアドレス生成部30_2、及びストライドアクセスの場合の読出しアドレスを生成するストライドアドレス生成部30_3を有する。アドレス生成部30が生成したバンク6_1〜6_4ごとの読出しアドレスrADDは、データメモリ6のバンク6_1〜6_4にそれぞれ入力される。その一方、アドレス生成部30では、たとえば、シーケンシャルアドレス生成部30_1、インダイレクトアドレス生成部30_2、及びストライドアドレス生成部30_3により、各種処理信号PSが生成される。そして、バンク6_1〜6_4ごとの読出しアドレスrADDと各種処理信号PSは、レジスタ31に格納される。
<1番目>バンク6_4の読出しアドレスrADD(「0x30」)
<2番目>バンク6_1の読出しアドレスrADD(「0x40」)
<3番目>バンク6_2の読出しアドレスrADD(「0x50」)
<4番目>バンク6_3の読出しアドレスrADD(「0x60」)
また、上記順序の各バンクの要素イネーブル信号EEの積算値は、次のようになる。
<1番目>バンク6_4の要素イネーブル信号EEの積算値「1」
<2番目>バンク6_1の要素イネーブル信号EEの積算値「2」
<3番目>バンク6_2の要素イネーブル信号EEの積算値「3」
<4番目>バンク6_3の要素イネーブル信号EEの積算値「2」
そして、各バンクのバンクオフセット信号BOの値は、1つ前の順番のバンクの、バンクオフセット信号BOの値とイネーブル信号EEの積算値の和として求められる。たとえば、次のとおりである。
<1番目>バンク6_4のバンクオフセット信号BO=「0」
<2番目>バンク6_1のバンクオフセット信号BO
=バンク6_4のバンクオフセット信号BO「0」+
バンク6_4の要素イネーブル信号EEの積算値「1」
=「1」
<3番目>バンク6_2のバンクオフセット信号BO
=バンク6_1のバンクオフセット信号BO「1」+
バンク6_1の要素イネーブル信号EEの積算値「2」
=「3」
<4番目>バンク6_3のバンクオフセット信号BO
=バンク6_2のバンクオフセット信号BO「3」+
バンク6_2の要素イネーブル信号EEの積算値「3」
=「6」
図8(C)には、順序・位置信号生成部32が生成する、バンク6_1〜6_4ごとの要素オフセット信号EO、順序信号S6、位置信号S4が示される。
<バンク6_1>
演算要素データ「B」の要素オフセット信号EO
=演算要素データ「B」の要素イネーブル信号EE「1」
演算要素データ「C」の要素オフセット信号EO
=演算要素データ「B」の要素オフセット信号EO「1」
+演算要素データ「C」の要素イネーブル信号EE「1」
=「2」
<バンク6_2>
演算要素データ「D」の要素オフセット信号EO
=演算要素データ「D」の要素イネーブル信号EE「1」
演算要素データ「E」の要素オフセット信号EO
=演算要素データ「D」の要素オフセット信号EO「1」
+演算要素データ「E」の要素イネーブル信号EE「1」
=「2」
演算要素データ「F」の要素オフセット信号EO
=演算要素データ「E」の要素オフセット信号EO「2」
+演算要素データ「F」の要素イネーブル信号EE「1」
=「3」
<バンク6_3>
演算要素データ「G」の要素オフセット信号EO
=演算要素データ「G」の要素イネーブル信号EE「1」
演算要素データ「H」の要素オフセット信号EO
=演算要素データ「G」の要素オフセット信号EO「1」
+演算要素データ「H」の要素イネーブル信号EE「1」
=「2」
<バンク6_4>
演算要素データ「A」の要素オフセット信号EO
=演算要素データ「A」の要素イネーブル信号EE「1」
次に、順序信号S6は、ベクトルレジスタ8における演算要素データの格納位置を示す。順序信号S6の値は、演算要素データが対応するバンクのバンクオフセット信号BOの値と、演算要素データの要素オフセット信号EOの値の和として求められる。具体的には、次のとおりである。
<バンク6_1>
演算要素データ「B」の順序信号S6
=バンク6_1のバンクオフセット信号BO「1」
+演算要素データ「B」の要素オフセット信号EO「1」
=「2」
演算要素データ「C」の順序信号S6
=バンク6_1のバンクオフセット信号BO「1」
+演算要素データ「C」の要素オフセット信号EO「2」
=「3」
<バンク6_2>
演算要素データ「D」の順序信号S6
=バンク6_2のバンクオフセット信号BO「3」
+演算要素データ「D」の要素オフセット信号EO「1」
=「4」
演算要素データ「E」の順序信号S6
=バンク6_2のバンクオフセット信号BO「3」
+演算要素データ「E」の要素オフセット信号EO「2」
=「5」
演算要素データ「F」の順序信号S6
=バンク6_2のバンクオフセット信号BO「3」
+演算要素データ「D」の要素オフセット信号EO「3」
=「6」
<バンク6_3>
演算要素データ「G」の順序信号S6
=バンク6_3のバンクオフセット信号BO「6」
+演算要素データ「D」の要素オフセット信号EO「1」
=「7」
演算要素データ「H」の順序信号S6
=バンク6_2のバンクオフセット信号BO「6」
+演算要素データ「E」の要素オフセット信号EO「2」
=「8」
<バンク6_4>
演算要素データ「A」の順序信号S6
=バンク6_3のバンクオフセット信号BO「0」
+演算要素データ「D」の要素オフセット信号EO「1」
=「1」
ここにおいて、演算要素データ「A」、「B」、「C」、「D」、「E」、「F」、「G」、「H」に、ベクトルレジスタ8に格納される順序「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」がそれぞれ対応付けられる。
<要素データ列R1>
演算要素データ「B」:順序信号「2」、位置信号「0」
演算要素データ「C」:順序信号「3」、位置信号「1」
<要素データ列R2>
演算要素データ「D」:順序信号「4」、位置信号「9」
演算要素データ「E」:順序信号「5」、位置信号「10」
演算要素データ「F」:順序信号「6」、位置信号「11」
<要素データ列R3>
演算要素データ「G」:順序信号「7」、位置信号「19」
演算要素データ「H」:順序信号「8」、位置信号「20」
<要素データ列R4>
演算要素データ「A」:順序信号「1」、位置信号「31」
ここにおいて、演算要素データ「A」、「B」、「C」、「D」、「E」、「F」、「G」、「H」に、ベクトルレジスタ8に格納される順序「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」と、要素データR1、R2、R3、及びR4における位置とがそれぞれ対応付けられる。
セレクタ34_1:格納順序「1」、順序信号「1」、位置信号「31」、演算要素データ「A」
セレクタ34_2:格納順序「2」、順序信号「2」、位置信号「0」、演算要素データ「B」
セレクタ34_3:格納順序「3」、順序信号「3」、位置信号「1」、演算要素データ「C」
セレクタ34_4:格納順序「4」、順序信号「4」、位置信号「9」、演算要素データ「D」
セレクタ34_5:格納順序「5」、順序信号「5」、位置信号「10」、演算要素データ「E」
セレクタ34_6:格納順序「6」、順序信号「6」、位置信号「11」、演算要素データ「F」
セレクタ34_7:格納順序「7」、順序信号「7」、位置信号「19」、演算要素データ「G」
セレクタ34_8:格納順序「8」、順序信号「8」、位置信号「20」、演算要素データ「H」
このようにして、バンク6_1〜6_4から読み出された要素データ列R1〜R4から、演算要素データ「A」〜「H」が選択される。そして、図8(D)に示すように、演算要素データ「A」〜「H」がベクトルレジスタ8に格納順序に従って格納される。
図10は、ベクトルレジスタ8から演算要素データを読み出してデータメモリ6に書き込むためのメモリ制御装置の構成を示す。メモリ制御装置は、要素データ列R1〜R4を書き込むためのバンク6_1〜6_4ごとの書込みアドレスwADDを生成するアドレス生成部30を有する。アドレス生成部30は、たとえばロード・ストアパイプライン12_1、12_2内のモジュールである。アドレス生成部30は、命令デコーダ4から入力されるアドレス生成用データ4aに基づいて、書込みアドレスwADDを生成する。アドレス生成部30は、たとえば、シーケンシャルアクセスの場合の書込みアドレスwADDを生成するシーケンシャルアドレス生成部30_1、インダイレクトアクセスの場合の書込みアドレスwADDを生成するインダイレクトアドレス生成部30_2、及びストライドアクセスの場合の書込みアドレスwADDを生成するストライドアドレス生成部30_3を有する。アドレス生成部30が生成したバンク6_1〜6_4ごとの書込みアドレスwADDは、たとえばレジスタ40に一旦格納されてから、データメモリ6のバンク6_1〜6_4にそれぞれ入力される。その一方、アドレス生成部30では、たとえば、シーケンシャルアドレス生成部30_1、インダイレクトアドレス生成部30_2、及びストライドアドレス生成部30_3により、各種処理信号PSが生成される。そして、バンク6_1〜6_4ごとの書込みアドレスwADDと各種処理信号PSは、レジスタ31に格納される。
<要素データ列R1>
挿入すべき演算要素データ「B」:順序信号「2」、位置信号「0」
挿入すべき演算要素データ「C」:順序信号「3」、位置信号「1」
<要素データ列R2>
挿入すべき演算要素データ「D」:順序信号「4」、位置信号「9」
挿入すべき演算要素データ「E」:順序信号「5」、位置信号「10」
挿入すべき演算要素データ「F」:順序信号「6」、位置信号「11」
<要素データ列R3>
挿入すべき演算要素データ「G」:順序信号「7」、位置信号「19」
挿入すべき演算要素データ「H」:順序信号「8」、位置信号「20」
<要素データ列R4>
挿入すべき演算要素データ「A」:順序信号「1」、位置信号「31」
ここにおいて、演算要素データ「A」、「B」、「C」、「D」、「E」、「F」、「G」、「H」と、ベクトルレジスタ8に格納された順序「1」、「2」、「3」、「4」、「5」、「6」、「7」、「8」と、要素データR1、R2、R3、及びR4における挿入位置とがそれぞれ対応付けられる。
<セレクタ35_2> 順序信号「2」、位置信号「0」、演算要素データ「B」
<セレクタ35_3> 順序信号「3」、位置信号「1」、演算要素データ「C」
<セレクタ35_9> 順序信号「4」、位置信号「9」、演算要素データ「D」
<セレクタ35_10> 順序信号「5」、位置信号「10」、演算要素データ「E」
<セレクタ35_11> 順序信号「6」、位置信号「11」、演算要素データ「F」
<セレクタ35_19> 順序信号「7」、位置信号「19」、演算要素データ「G」
<セレクタ35_20> 順序信号「8」、位置信号「20」、演算要素データ「H」
<セレクタ35_31> 順序信号「1」、位置信号「31」、演算要素データ「A」
なお、上記以外のセレクタ35_1、35_4〜8、35_12〜18、35_21〜30は、順序信号「0」が対応し、したがって挿入すべき演算要素データが対応しないので、挿入を行わない。このようにして、ベクトルレジスタ8から読み出された演算要素データ「A」〜「H」が、要素データ列R1〜R4に挿入される。
読出しアドレスの入力に応答して複数の要素データを有する要素データ列が読み出される複数のバンクを有するメモリから、前記要素データ列を読み出すためのバンクごとの前記読出しアドレスを生成する第1の生成部と、
前記要素データ列における選択すべき要素データの位置を示す位置信号と、前記選択すべき要素データをレジスタに格納する格納順序を示す順序信号とを生成する第2の生成部と、
前記複数のバンクからそれぞれ読み出された前記要素データ列から前記位置信号に基づいて前記選択すべき要素データを選択し、当該選択した要素データを前記順序信号が示す格納順序で前記レジスタに格納するセレクタ部とを有し、
前記レジスタに格納された要素データは、前記格納順序でベクトルプロセッサに処理される、メモリ制御装置。
付記1において、
前記読出しアドレスの有効性を示すイネーブル信号をさらに生成し、
前記セレクタ部は、前記イネーブル信号が生成されたバンクから読み出される前記要素データ列から前記選択すべき要素データを選択し、前記イネーブル信号が生成されないバンクから読み出される前記要素データ列から前記選択すべき要素データを選択しないメモリ制御装置。
付記1または2において、
前記バンクごとの読出しアドレスの順序は、当該読出しアドレスにより読み出される前記要素データ列に含まれる前記選択すべき要素データの前記格納順に対応し、
前記第2の生成部は、前記バンクごとの読出しアドレスに基づいて生成される、前記複数のバンクから読み出される要素データ列の順序を示す第1のオフセット信号と、前記複数のバンクから読み出される要素データ列ごとの前記選択すべき要素データの順序を示す第2のオフセット信号とに基づいて前記順序信号を生成するメモリ制御装置。
複数の要素データを有する要素データ列が、入力された書込みアドレスに書き込まれる複数のバンクを有するメモリに、前記要素データ列を書き込むためのバンクごとの書込みアドレスを生成する第1の生成部と、
ベクトルプロセッサによる処理順序でレジスタに格納された、前記メモリに書き込むべき要素データの当該レジスタにおける格納順序を示す順序信号と、前記複数のバンクにそれぞれ書き込まれる要素データ列に前記書き込むべき要素データを挿入する位置を示す位置信号とを生成する第2の生成部と、
前記複数のバンクに書き込まれる要素データ列における前記位置信号が示す位置に、前記順序信号が示す順序で前記書き込むべき要素データを挿入するセレクタ部とを有し、
前記書き込むべき要素データ列が格納された要素データ列が、前記バンクごとの書込みアドレスに書き込まれる、メモリ制御装置。
付記4において、
前記第1の生成部は、前記書込みアドレスの有効性を示すイネーブル信号をさらに生成し、
前記セレクタ部は、前記イネーブル信号が生成されたバンクに書き込まれる前記要素データ列に前記書き込むべき要素データを挿入し、前記イネーブル信号が生成されないバンクに書き込まれる前記要素データ列に前記書き込むべき要素データを挿入しないメモリ制御装置。
付記4または5において、
前記セレクタ部は、前記書き込むべき要素データの書込みの許可・不許可を示すマスク信号に基づいて、前記書込みが許可された前記書き込むべき要素データを前記複数のバンクに書き込まれる要素データ列に挿入し、前記書込みが不許可の前記書込むべき要素データを前記複数のバンクに書き込まれる要素データ列に挿入しない、メモリ制御装置。
付記4乃至6のいずれかにおいて、
前記バンクごとの書込みアドレスの順序は、当該書込みアドレスに書き込まれる前記要素データ列に含まれる前記書き込むべき要素データの前記格納順に対応し、
前記第2の生成部は、前記バンクごとの書込みアドレスに基づいて生成される、前記複数のバンクに書き込まれる要素データ列の順序を示す第1のオフセット信号と、前記複数のバンクに書き込まれる要素データ列ごとの前記書き込むべき要素データの順序を示す第2のオフセット信号とに基づいて前記順序信号を生成する、メモリ制御装置。
読出しアドレスの入力に応答して複数の要素データを有する要素データ列が読み出される複数のバンクを有するメモリから、前記要素データ列を読み出すためのバンクごとの前記読出しアドレスを生成し、
前記要素データ列における選択すべき要素データの位置を示す位置信号と、前記選択すべき要素データをレジスタに格納する格納順序を示す順序信号とを生成し、
前記複数のバンクからそれぞれ読み出された前記要素データ列から前記位置信号に基づいて前記選択すべき要素データを選択し、当該選択した要素データを前記順序信号が示す格納順序で前記レジスタに格納し、
前記レジスタに格納された要素データは、前記格納順序に対応する単位でベクトルプロセッサに処理される、
メモリ制御方法。
複数の要素データを有する要素データ列が、入力された書込みアドレスに書き込まれる複数のバンクを有するメモリに、前記要素データ列を書き込むためのバンクごとの書込みアドレスを生成し、
ベクトルプロセッサによる処理単位に対応する順序でレジスタに格納された、前記メモリに書き込むべき要素データの当該レジスタにおける格納理順序を示す順序信号と、前記複数のバンクにそれぞれ書き込まれる要素データ列に前記書き込むべき要素データを挿入する位置を示す位置信号とを生成し、
前記複数のバンクに書き込まれる要素データ列における前記位置信号が示す位置に、前記順序信号が示す順序で前記書き込むべき要素データを挿入し、
前記書き込むべき要素データ列が格納された要素データ列が、前記バンクごとの書込みアドレスに書き込まれる、
メモリ制御方法。
8:ベクトルレジスタ、 12:ベクトルパイプライン、 30:アドレス生成部、
32:順序・位置信号生成部、 34、35:セレクタ部
Claims (7)
- 読出しアドレスの入力に応答して複数の要素データを有する第1の要素データ列がそれぞれ読み出される複数のバンクを有するメモリから、前記第1の要素データ列を読み出すためのバンクごとの前記読出しアドレスを生成する第1の生成部と、
前記複数のバンクから読み出された複数の前記第1の要素データ列を結合した第2の要素データ列における選択すべき複数の要素データの位置を示す位置信号と、前記選択すべき複数の要素データをレジスタに格納する前記要素データごとの格納順序を示す順序信号とを生成する第2の生成部と、
前記レジスタが格納する要素データの数と同じ数の、前記順序信号に対応するセレクタであって、それぞれ、前記第2の要素データ列における全ての要素データから前記位置信号に基づいて要素データを選択し前記レジスタに格納する複数の前記セレクタを有するセレクタ部とを有し、
前記レジスタに格納された複数の要素データは、前記格納順序でベクトルプロセッサに処理される、メモリ制御装置。 - 複数の要素データを有する第1の要素データ列が、入力された書込みアドレスにそれぞれ書き込まれる複数のバンクを有するメモリに、前記第1の要素データ列を書き込むためのバンクごとの書込みアドレスを生成する第1の生成部と、
ベクトルプロセッサによる処理順序でレジスタに格納された、前記メモリに書き込むべき複数の要素データの当該レジスタにおける前記要素データごとの格納順序を示す順序信号と、前記複数のバンクにそれぞれ書き込まれる前記第1の要素データ列を結合した第2の要素データ列に前記書き込むべき複数の要素データを挿入する位置を示す位置信号とを生成する第2の生成部と、
前記第2の要素データ列における要素データの数と同じ数の、前記位置信号に対応するセレクタであって、それぞれ、前記順序信号が前記レジスタにおけるいずれかの要素データを示す場合に、前記レジスタにおける複数の要素データから前記順序信号に基づいて要素データを選択し、前記第2の要素データ列に挿入する複数の前記セレクタを有するセレクタ部とを有し、
前記書き込むべき要素データが格納された前記第1の要素データ列が、前記バンクごとの書込みアドレスに書き込まれる、メモリ制御装置。 - 請求項1において、
前記第1の生成部は、前記読出しアドレスの有効性を示すイネーブル信号をさらに生成し、前記イネーブル信号が生成されたバンクから前記第1の要素データ列が読み出され、前記イネーブル信号が生成されないバンクからは前記第1の要素データ列は読み出されず、
前記セレクタ部は、前記イネーブル信号が生成されたバンクから読み出される前記第1の要素データ列から前記選択すべき要素データを選択するメモリ制御装置。 - 請求項2において、
前記第1の生成部は、前記書込みアドレスの有効性を示すイネーブル信号をさらに生成し、前記イネーブル信号が生成されたバンクに前記第1の要素データ列が書き込まれ、前記イネーブル信号が生成されないバンクには前記第1の要素データ列は書き込まれず、
前記セレクタ部は、前記イネーブル信号が生成されたバンクに書き込まれる前記第1の要素データ列に前記書き込むべき要素データを挿入し、前記イネーブル信号が生成されないバンクに対応する前記第1の要素データ列に前記書き込むべき要素データを挿入しないメモリ制御装置。 - 請求項2または4において、
前記セレクタ部は、前記書き込むべき複数の要素データの書込みの許可・不許可を示すマスク信号に基づいて、前記書込みが許可された書き込むべき要素データを前記複数のバンクに書き込まれる第2の要素データ列に挿入し、前記書込みが不許可の書き込むべき要素データを前記複数のバンクに書き込まれる第2の要素データ列に挿入しない、メモリ制御装置。 - 読出しアドレスの入力に応答して複数の要素データを有する第1の要素データ列がそれぞれ読み出される複数のバンクを有するメモリから、前記第1の要素データ列を読み出すためのバンクごとの前記読出しアドレスを生成し、
前記複数のバンクから読み出された複数の前記第1の要素データ列を結合した第2の要素データ列における選択すべき複数の要素データの位置を示す位置信号と、前記選択すべき複数の要素データをレジスタに格納する前記要素データごとの格納順序を示す順序信号とを生成し、
前記レジスタが格納する要素データの数と同じ数の前記順序信号それぞれについて、前記第2の要素データ列における全ての要素データから前記位置信号に基づいて要素データを選択し、前記順序信号が示す格納順序に前記レジスタに格納し、
前記レジスタに格納された複数の要素データは、前記格納順序に対応する単位でベクトルプロセッサに処理される、
メモリ制御方法。 - 複数の要素データを有する第1の要素データ列が、入力された書込みアドレスにそれぞれ書き込まれる複数のバンクを有するメモリに、前記第1の要素データ列を書き込むためのバンクごとの書込みアドレスを生成し、
ベクトルプロセッサによる処理単位に対応する順序でレジスタに格納された、前記メモリに書き込むべき複数の要素データの当該レジスタにおける前記要素データごとの格納順序を示す順序信号と、前記複数のバンクにそれぞれ書き込まれる前記第1の要素データを結合した第2の要素データ列に前記書き込むべき複数の要素データを挿入する位置を示す位置信号とを生成し、
前記第2の要素データ列における要素データの数と同じ数の前記位置信号それぞれについて、前記順序信号が前記レジスタにおけるいずれかの要素データを示す場合に、前記レジスタにおける複数の要素データから前記順序信号に基づいて要素データを選択し、前記第2の要素データ列における前記位置信号の位置に挿入し、
前記書き込むべき要素データが格納された前記第1の要素データ列が、前記バンクごとの書込みアドレスに書き込まれる、
メモリ制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010288176A JP5658556B2 (ja) | 2010-12-24 | 2010-12-24 | メモリ制御装置、及びメモリ制御方法 |
US13/242,990 US8422330B2 (en) | 2010-12-24 | 2011-09-23 | Memory controller and memory controlling method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010288176A JP5658556B2 (ja) | 2010-12-24 | 2010-12-24 | メモリ制御装置、及びメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012137839A JP2012137839A (ja) | 2012-07-19 |
JP5658556B2 true JP5658556B2 (ja) | 2015-01-28 |
Family
ID=46316623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010288176A Expired - Fee Related JP5658556B2 (ja) | 2010-12-24 | 2010-12-24 | メモリ制御装置、及びメモリ制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8422330B2 (ja) |
JP (1) | JP5658556B2 (ja) |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160306566A1 (en) * | 2013-12-26 | 2016-10-20 | Shih-Lien L. Lu | Data reorder during memory access |
JP6253514B2 (ja) | 2014-05-27 | 2017-12-27 | ルネサスエレクトロニクス株式会社 | プロセッサ |
US10163479B2 (en) | 2015-08-14 | 2018-12-25 | Spin Transfer Technologies, Inc. | Method and apparatus for bipolar memory write-verify |
US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
US10446210B2 (en) | 2016-09-27 | 2019-10-15 | Spin Memory, Inc. | Memory instruction pipeline with a pre-read stage for a write operation for reducing power consumption in a memory device that uses dynamic redundancy registers |
US10437491B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of processing incomplete memory operations in a memory device during a power up sequence and a power down sequence using a dynamic redundancy register |
US10546625B2 (en) | 2016-09-27 | 2020-01-28 | Spin Memory, Inc. | Method of optimizing write voltage based on error buffer occupancy |
US10628316B2 (en) | 2016-09-27 | 2020-04-21 | Spin Memory, Inc. | Memory device with a plurality of memory banks where each memory bank is associated with a corresponding memory instruction pipeline and a dynamic redundancy register |
US10460781B2 (en) | 2016-09-27 | 2019-10-29 | Spin Memory, Inc. | Memory device with a dual Y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank |
US10360964B2 (en) | 2016-09-27 | 2019-07-23 | Spin Memory, Inc. | Method of writing contents in memory during a power up sequence using a dynamic redundancy register in a memory device |
US10437723B2 (en) | 2016-09-27 | 2019-10-08 | Spin Memory, Inc. | Method of flushing the contents of a dynamic redundancy register to a secure storage area during a power down in a memory device |
US10192601B2 (en) * | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Memory instruction pipeline with an additional write stage in a memory device that uses dynamic redundancy registers |
US10192602B2 (en) | 2016-09-27 | 2019-01-29 | Spin Transfer Technologies, Inc. | Smart cache design to prevent overflow for a memory device with a dynamic redundancy register |
US10366774B2 (en) | 2016-09-27 | 2019-07-30 | Spin Memory, Inc. | Device with dynamic redundancy registers |
US10529439B2 (en) | 2017-10-24 | 2020-01-07 | Spin Memory, Inc. | On-the-fly bit failure detection and bit redundancy remapping techniques to correct for fixed bit defects |
US10656994B2 (en) | 2017-10-24 | 2020-05-19 | Spin Memory, Inc. | Over-voltage write operation of tunnel magnet-resistance (“TMR”) memory device and correcting failure bits therefrom by using on-the-fly bit failure detection and bit redundancy remapping techniques |
US10481976B2 (en) | 2017-10-24 | 2019-11-19 | Spin Memory, Inc. | Forcing bits as bad to widen the window between the distributions of acceptable high and low resistive bits thereby lowering the margin and increasing the speed of the sense amplifiers |
US10489245B2 (en) | 2017-10-24 | 2019-11-26 | Spin Memory, Inc. | Forcing stuck bits, waterfall bits, shunt bits and low TMR bits to short during testing and using on-the-fly bit failure detection and bit redundancy remapping techniques to correct them |
US10891997B2 (en) | 2017-12-28 | 2021-01-12 | Spin Memory, Inc. | Memory array with horizontal source line and a virtual source line |
US10395711B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Perpendicular source and bit lines for an MRAM array |
US10424726B2 (en) | 2017-12-28 | 2019-09-24 | Spin Memory, Inc. | Process for improving photoresist pillar adhesion during MRAM fabrication |
US10811594B2 (en) | 2017-12-28 | 2020-10-20 | Spin Memory, Inc. | Process for hard mask development for MRAM pillar formation using photolithography |
US10360962B1 (en) | 2017-12-28 | 2019-07-23 | Spin Memory, Inc. | Memory array with individually trimmable sense amplifiers |
US10395712B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Memory array with horizontal source line and sacrificial bitline per virtual source |
US10424723B2 (en) | 2017-12-29 | 2019-09-24 | Spin Memory, Inc. | Magnetic tunnel junction devices including an optimization layer |
US10840436B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture |
US10546624B2 (en) | 2017-12-29 | 2020-01-28 | Spin Memory, Inc. | Multi-port random access memory |
US10886330B2 (en) | 2017-12-29 | 2021-01-05 | Spin Memory, Inc. | Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch |
US10840439B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Magnetic tunnel junction (MTJ) fabrication methods and systems |
US10784439B2 (en) | 2017-12-29 | 2020-09-22 | Spin Memory, Inc. | Precessional spin current magnetic tunnel junction devices and methods of manufacture |
US10367139B2 (en) | 2017-12-29 | 2019-07-30 | Spin Memory, Inc. | Methods of manufacturing magnetic tunnel junction devices |
US10438995B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Devices including magnetic tunnel junctions integrated with selectors |
US10438996B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Methods of fabricating magnetic tunnel junctions integrated with selectors |
US10446744B2 (en) | 2018-03-08 | 2019-10-15 | Spin Memory, Inc. | Magnetic tunnel junction wafer adaptor used in magnetic annealing furnace and method of using the same |
US11107974B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Magnetic tunnel junction devices including a free magnetic trench layer and a planar reference magnetic layer |
US11107978B2 (en) | 2018-03-23 | 2021-08-31 | Spin Memory, Inc. | Methods of manufacturing three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US10784437B2 (en) | 2018-03-23 | 2020-09-22 | Spin Memory, Inc. | Three-dimensional arrays with MTJ devices including a free magnetic trench layer and a planar reference magnetic layer |
US20190296228A1 (en) | 2018-03-23 | 2019-09-26 | Spin Transfer Technologies, Inc. | Three-Dimensional Arrays with Magnetic Tunnel Junction Devices Including an Annular Free Magnetic Layer and a Planar Reference Magnetic Layer |
US10411185B1 (en) | 2018-05-30 | 2019-09-10 | Spin Memory, Inc. | Process for creating a high density magnetic tunnel junction array test platform |
US10593396B2 (en) | 2018-07-06 | 2020-03-17 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10600478B2 (en) | 2018-07-06 | 2020-03-24 | Spin Memory, Inc. | Multi-bit cell read-out techniques for MRAM cells with mixed pinned magnetization orientations |
US10692569B2 (en) | 2018-07-06 | 2020-06-23 | Spin Memory, Inc. | Read-out techniques for multi-bit cells |
US10559338B2 (en) | 2018-07-06 | 2020-02-11 | Spin Memory, Inc. | Multi-bit cell read-out techniques |
US10650875B2 (en) | 2018-08-21 | 2020-05-12 | Spin Memory, Inc. | System for a wide temperature range nonvolatile memory |
US10699761B2 (en) | 2018-09-18 | 2020-06-30 | Spin Memory, Inc. | Word line decoder memory architecture |
US10971680B2 (en) | 2018-10-01 | 2021-04-06 | Spin Memory, Inc. | Multi terminal device stack formation methods |
US11621293B2 (en) | 2018-10-01 | 2023-04-04 | Integrated Silicon Solution, (Cayman) Inc. | Multi terminal device stack systems and methods |
US11107979B2 (en) | 2018-12-28 | 2021-08-31 | Spin Memory, Inc. | Patterned silicide structures and methods of manufacture |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5725069A (en) * | 1980-07-21 | 1982-02-09 | Hitachi Ltd | Vector data processing equipment |
JPS5975365A (ja) * | 1982-10-22 | 1984-04-28 | Hitachi Ltd | ベクトル処理装置 |
JPS61217868A (ja) * | 1985-03-25 | 1986-09-27 | Fujitsu Ltd | ベクトルデ−タアクセス制御方式 |
JPS63231676A (ja) * | 1987-03-20 | 1988-09-27 | Fujitsu Ltd | ベクトルレジスタ制御方式 |
JPS6462764A (en) * | 1987-09-03 | 1989-03-09 | Agency Ind Science Techn | Vector computer |
JP2910108B2 (ja) * | 1989-12-21 | 1999-06-23 | 株式会社日立製作所 | ベクトルデータバッファ装置 |
JP3594260B2 (ja) * | 1995-05-11 | 2004-11-24 | 富士通株式会社 | ベクトルデータ処理装置 |
JP2003016051A (ja) * | 2001-06-29 | 2003-01-17 | Nec Corp | 複素ベクトル演算プロセッサ |
US7937559B1 (en) * | 2002-05-13 | 2011-05-03 | Tensilica, Inc. | System and method for generating a configurable processor supporting a user-defined plurality of instruction sizes |
WO2008126041A1 (en) * | 2007-04-16 | 2008-10-23 | Nxp B.V. | Method of storing data, method of loading data and signal processor |
-
2010
- 2010-12-24 JP JP2010288176A patent/JP5658556B2/ja not_active Expired - Fee Related
-
2011
- 2011-09-23 US US13/242,990 patent/US8422330B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2012137839A (ja) | 2012-07-19 |
US8422330B2 (en) | 2013-04-16 |
US20120163113A1 (en) | 2012-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5658556B2 (ja) | メモリ制御装置、及びメモリ制御方法 | |
CN109643233B (zh) | 具有带读取和读取/前进操作数编码的流引擎的数据处理设备 | |
CN112445753B (zh) | 从多维阵列预取多维元素块的硬件装置和方法 | |
US7313645B2 (en) | Processor to reduce data rearrangement instructions for matrices in multiple memory banks | |
CN108205448B (zh) | 具有在每个维度上可选择的多维循环寻址的流引擎 | |
EP3623941A2 (en) | Systems and methods for performing instructions specifying ternary tile logic operations | |
US9268691B2 (en) | Fast mechanism for accessing 2n±1 interleaved memory system | |
CN109992304A (zh) | 用于加载片寄存器对的系统和方法 | |
CN107145335B (zh) | 用于大整数运算的向量指令的装置和方法 | |
CN111752863A (zh) | 用于专用地址映射的系统、设备和方法 | |
CN109710309B (zh) | 减少存储体冲突的方法 | |
JP5532132B2 (ja) | Simdモードで動作するプロセッシング・エレメントの内部メモリに分散記憶された正方マトリックス及びその転置マトリックスに、時間と面積の効率良いアクセスを可能とする装置及び方法 | |
KR101099417B1 (ko) | 캐시 메모리 디바이스 | |
CN110914801B (zh) | 在数据处理设备中的向量交叉 | |
CN110018847B (zh) | 可配置寄存器及基于可配置寄存器的数据存取方法 | |
JP6912707B2 (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JP2012008747A (ja) | 集積装置、メモリ割り当て方法、および、プログラム | |
JP5664198B2 (ja) | 演算処理装置 | |
KR20080027175A (ko) | 메모리 액세스 장치 | |
CN112486904A (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 | |
CN110337637B (zh) | 数据处理方法和设备 | |
JP5659772B2 (ja) | 演算処理装置 | |
CN109992303A (zh) | 用于将片寄存器对存储到存储器的系统和方法 | |
US7788471B2 (en) | Data processor and methods thereof | |
JP5480793B2 (ja) | プログラマブルコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130627 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131227 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140212 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140414 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140909 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141107 |
|
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: 20141125 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5658556 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313115 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |