JP2012137839A - メモリ制御装置、及びメモリ制御方法 - Google Patents
メモリ制御装置、及びメモリ制御方法 Download PDFInfo
- Publication number
- JP2012137839A JP2012137839A JP2010288176A JP2010288176A JP2012137839A JP 2012137839 A JP2012137839 A JP 2012137839A JP 2010288176 A JP2010288176 A JP 2010288176A JP 2010288176 A JP2010288176 A JP 2010288176A JP 2012137839 A JP2012137839 A JP 2012137839A
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
- Memory System (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Abstract
【解決手段】
メモリ制御装置は、要素データ列が読み書きされる複数のバンクを有するメモリに、要素データ列を読み書きするためのバンクごとのアドレスを生成する第1の生成部と、前記要素データ列における演算要素データの位置と、ベクトルレジスタでの格納順序を対応付ける信号を生成する第2の生成部と、前記複数のバンクに読み出される要素データ列から演算要素データを選択してベクトルレジスタに格納し、または、ベクトルレジスタから読み出した演算要素データを要素データ列に挿入する。これにより、レイテンシを抑制し、ベクトルプロセッサの良好なスループットを得る。
【選択図】 図7
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の生成部と、
前記要素データ列における選択すべき要素データの位置を示す位置信号と、前記選択すべき要素データをレジスタに格納する格納順序を示す順序信号とを生成する第2の生成部と、
前記複数のバンクからそれぞれ読み出された前記要素データ列から前記位置信号に基づいて前記選択すべき要素データを選択し、当該選択した要素データを前記順序信号が示す格納順序で前記レジスタに格納するセレクタ部とを有し、
前記レジスタに格納された要素データは、前記格納順序でベクトルプロセッサに処理される、メモリ制御装置。 - 複数の要素データを有する要素データ列が、入力された書込みアドレスに書き込まれる複数のバンクを有するメモリに、前記要素データ列を書き込むためのバンクごとの書込みアドレスを生成する第1の生成部と、
ベクトルプロセッサによる処理順序でレジスタに格納された、前記メモリに書き込むべき要素データの当該レジスタにおける格納順序を示す順序信号と、前記複数のバンクにそれぞれ書き込まれる要素データ列に前記書き込むべき要素データを挿入する位置を示す位置信号とを生成する第2の生成部と、
前記複数のバンクに書き込まれる要素データ列における前記位置信号が示す位置に、前記順序信号が示す順序で前記書き込むべき要素データを挿入するセレクタ部とを有し、
前記書き込むべき要素データ列が格納された要素データ列が、前記バンクごとの書込みアドレスに書き込まれる、メモリ制御装置。 - 請求項1において、
前記読出しアドレスの有効性を示すイネーブル信号をさらに生成し、
前記セレクタ部は、前記イネーブル信号が生成されたバンクから読み出される前記要素データ列から前記選択すべき要素データを選択し、前記イネーブル信号が生成されないバンクから読み出される前記要素データ列から前記選択すべき要素データを選択しないメモリ制御装置。 - 請求項2において、
前記第1の生成部は、前記書込みアドレスの有効性を示すイネーブル信号をさらに生成し、
前記セレクタ部は、前記イネーブル信号が生成されたバンクに書き込まれる前記要素データ列に前記書き込むべき要素データを挿入し、前記イネーブル信号が生成されないバンクに書き込まれる前記要素データ列に前記書き込むべき要素データを挿入しないメモリ制御装置。 - 請求項2または4において、
前記セレクタ部は、前記書き込むべき要素データの書込みの許可・不許可を示すマスク信号に基づいて、前記書込みが許可された前記書き込むべき要素データを前記複数のバンクに書き込まれる要素データ列に挿入し、前記書込みが不許可の前記書込むべき要素データを前記複数のバンクに書き込まれる要素データ列に挿入しない、メモリ制御装置。 - 読出しアドレスの入力に応答して複数の要素データを有する要素データ列が読み出される複数のバンクを有するメモリから、前記要素データ列を読み出すためのバンクごとの前記読出しアドレスを生成し、
前記要素データ列における選択すべき要素データの位置を示す位置信号と、前記選択すべき要素データをレジスタに格納する格納順序を示す順序信号とを生成し、
前記複数のバンクからそれぞれ読み出された前記要素データ列から前記位置信号に基づいて前記選択すべき要素データを選択し、当該選択した要素データを前記順序信号が示す格納順序で前記レジスタに格納し、
前記レジスタに格納された要素データは、前記格納順序に対応する単位でベクトルプロセッサに処理される、
メモリ制御方法。 - 複数の要素データを有する要素データ列が、入力された書込みアドレスに書き込まれる複数のバンクを有するメモリに、前記要素データ列を書き込むためのバンクごとの書込みアドレスを生成し、
ベクトルプロセッサによる処理単位に対応する順序でレジスタに格納された、前記メモリに書き込むべき要素データの当該レジスタにおける格納理順序を示す順序信号と、前記複数のバンクにそれぞれ書き込まれる要素データ列に前記書き込むべき要素データを挿入する位置を示す位置信号とを生成し、
前記複数のバンクに書き込まれる要素データ列における前記位置信号が示す位置に、前記順序信号が示す順序で前記書き込むべき要素データを挿入し、
前記書き込むべき要素データ列が格納された要素データ列が、前記バンクごとの書込みアドレスに書き込まれる、
メモリ制御方法。
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 true JP2012137839A (ja) | 2012-07-19 |
| JP5658556B2 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) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015225427A (ja) * | 2014-05-27 | 2015-12-14 | ルネサスエレクトロニクス株式会社 | プロセッサ及びデータ収集方法 |
| JP2016538636A (ja) * | 2013-12-26 | 2016-12-08 | インテル・コーポレーション | メモリアクセス中のデータ並べ替え |
Families Citing this family (46)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10163479B2 (en) | 2015-08-14 | 2018-12-25 | Spin Transfer Technologies, Inc. | Method and apparatus for bipolar memory write-verify |
| US10366774B2 (en) | 2016-09-27 | 2019-07-30 | Spin Memory, Inc. | Device with dynamic redundancy registers |
| 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 |
| 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 |
| 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 |
| US10818331B2 (en) | 2016-09-27 | 2020-10-27 | Spin Memory, Inc. | Multi-chip module for MRAM devices with levels of dynamic redundancy registers |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| US10811594B2 (en) | 2017-12-28 | 2020-10-20 | Spin Memory, Inc. | Process for hard mask development for MRAM pillar formation using photolithography |
| US10424726B2 (en) | 2017-12-28 | 2019-09-24 | Spin Memory, Inc. | Process for improving photoresist pillar adhesion during MRAM fabrication |
| US10360962B1 (en) | 2017-12-28 | 2019-07-23 | Spin Memory, Inc. | Memory array with individually trimmable sense amplifiers |
| US10395711B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Perpendicular source and bit lines for an MRAM array |
| US10891997B2 (en) | 2017-12-28 | 2021-01-12 | Spin Memory, Inc. | Memory array with horizontal source line and a virtual source line |
| US10395712B2 (en) | 2017-12-28 | 2019-08-27 | Spin Memory, Inc. | Memory array with horizontal source line and sacrificial bitline per virtual source |
| US10840439B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Magnetic tunnel junction (MTJ) fabrication methods and systems |
| US10886330B2 (en) | 2017-12-29 | 2021-01-05 | Spin Memory, Inc. | Memory device having overlapping magnetic tunnel junctions in compliance with a reference pitch |
| US10424723B2 (en) | 2017-12-29 | 2019-09-24 | Spin Memory, Inc. | Magnetic tunnel junction devices including an optimization layer |
| US10367139B2 (en) | 2017-12-29 | 2019-07-30 | Spin Memory, Inc. | Methods of manufacturing magnetic tunnel junction devices |
| US10546624B2 (en) | 2017-12-29 | 2020-01-28 | Spin Memory, Inc. | Multi-port random access memory |
| US10784439B2 (en) | 2017-12-29 | 2020-09-22 | Spin Memory, Inc. | Precessional spin current magnetic tunnel junction devices and methods of manufacture |
| US10840436B2 (en) | 2017-12-29 | 2020-11-17 | Spin Memory, Inc. | Perpendicular magnetic anisotropy interface tunnel junction devices and methods of manufacture |
| US10438996B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Methods of fabricating magnetic tunnel junctions integrated with selectors |
| US10438995B2 (en) | 2018-01-08 | 2019-10-08 | Spin Memory, Inc. | Devices including 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 |
| 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 |
| 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 |
| US10734573B2 (en) | 2018-03-23 | 2020-08-04 | Spin Memory, Inc. | Three-dimensional arrays with magnetic tunnel junction devices including an annular discontinued free magnetic 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 |
| US10411185B1 (en) | 2018-05-30 | 2019-09-10 | Spin Memory, Inc. | Process for creating a high density magnetic tunnel junction array test platform |
| US10692569B2 (en) | 2018-07-06 | 2020-06-23 | Spin Memory, Inc. | Read-out techniques for multi-bit cells |
| 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 |
| 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 |
| US11621293B2 (en) | 2018-10-01 | 2023-04-04 | Integrated Silicon Solution, (Cayman) Inc. | Multi terminal device stack systems and methods |
| US10971680B2 (en) | 2018-10-01 | 2021-04-06 | Spin Memory, Inc. | Multi terminal device stack formation methods |
| US11107979B2 (en) | 2018-12-28 | 2021-08-31 | Spin Memory, Inc. | Patterned silicide structures and methods of manufacture |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 | ベクトルレジスタ制御方式 |
| JPH03191448A (ja) * | 1989-12-21 | 1991-08-21 | Hitachi Ltd | ベクトルデータバッファ装置 |
| JPH08305685A (ja) * | 1995-05-11 | 1996-11-22 | Fujitsu Ltd | ベクトルデータ処理装置 |
| WO2008126041A1 (en) * | 2007-04-16 | 2008-10-23 | Nxp B.V. | Method of storing data, method of loading data and signal processor |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5725069A (en) * | 1980-07-21 | 1982-02-09 | Hitachi Ltd | Vector data processing equipment |
| JPS6462764A (en) * | 1987-09-03 | 1989-03-09 | Agency Ind Science Techn | Vector computer |
| 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 |
-
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
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 | ベクトルレジスタ制御方式 |
| JPH03191448A (ja) * | 1989-12-21 | 1991-08-21 | Hitachi Ltd | ベクトルデータバッファ装置 |
| JPH08305685A (ja) * | 1995-05-11 | 1996-11-22 | Fujitsu Ltd | ベクトルデータ処理装置 |
| WO2008126041A1 (en) * | 2007-04-16 | 2008-10-23 | Nxp B.V. | Method of storing data, method of loading data and signal processor |
| JP2010525442A (ja) * | 2007-04-16 | 2010-07-22 | エヌエックスピー ビー ヴィ | データ格納方法、データロード方法およびシグナルプロセッサ |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2016538636A (ja) * | 2013-12-26 | 2016-12-08 | インテル・コーポレーション | メモリアクセス中のデータ並べ替え |
| JP2015225427A (ja) * | 2014-05-27 | 2015-12-14 | ルネサスエレクトロニクス株式会社 | プロセッサ及びデータ収集方法 |
| US10235398B2 (en) | 2014-05-27 | 2019-03-19 | Renesas Electronics Corporation | Processor and data gathering method |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5658556B2 (ja) | 2015-01-28 |
| US20120163113A1 (en) | 2012-06-28 |
| US8422330B2 (en) | 2013-04-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5658556B2 (ja) | メモリ制御装置、及びメモリ制御方法 | |
| CN112445753B (zh) | 从多维阵列预取多维元素块的硬件装置和方法 | |
| CN104981771B (zh) | 基于标量寄存器数据值的向量寄存器寻址和功能 | |
| CN107145335B (zh) | 用于大整数运算的向量指令的装置和方法 | |
| US9268691B2 (en) | Fast mechanism for accessing 2n±1 interleaved memory system | |
| JP2006012163A5 (ja) | ||
| WO2017146860A1 (en) | Combining loads or stores in computer processing | |
| CN115904501A (zh) | 具有在每个维度上可选择的多维循环寻址的流引擎 | |
| CN115827065B (zh) | 使用早期和后期地址以及循环计数寄存器来跟踪架构状态的流引擎 | |
| CN100410919C (zh) | 处理器 | |
| CN1936833A (zh) | 选择可实质同时处理的多重线程的系统与方法 | |
| CN113918883B (zh) | 数据处理方法、装置以及设备和计算机可读存储介质 | |
| EP4468146A2 (en) | Matrix transpose and multiply | |
| CN109710309B (zh) | 减少存储体冲突的方法 | |
| CN109992303A (zh) | 用于将片寄存器对存储到存储器的系统和方法 | |
| EP2223204B1 (en) | System and method of determining an address of an element within a table | |
| CN116507999B (zh) | 一种处理器、处理方法及相关设备 | |
| KR101099417B1 (ko) | 캐시 메모리 디바이스 | |
| KR20080027175A (ko) | 메모리 액세스 장치 | |
| JP5664198B2 (ja) | 演算処理装置 | |
| CN112486904A (zh) | 可重构处理单元阵列的寄存器堆设计方法及装置 | |
| JP2012008747A (ja) | 集積装置、メモリ割り当て方法、および、プログラム | |
| JP5659772B2 (ja) | 演算処理装置 | |
| US20130339660A1 (en) | Method and apparatus for a partial-address select-signal generator with address shift | |
| US7788471B2 (en) | Data processor and methods thereof |
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 |