JP2013196068A - リスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラム - Google Patents

リスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラム Download PDF

Info

Publication number
JP2013196068A
JP2013196068A JP2012059556A JP2012059556A JP2013196068A JP 2013196068 A JP2013196068 A JP 2013196068A JP 2012059556 A JP2012059556 A JP 2012059556A JP 2012059556 A JP2012059556 A JP 2012059556A JP 2013196068 A JP2013196068 A JP 2013196068A
Authority
JP
Japan
Prior art keywords
memory
memory access
request
port
list
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
Application number
JP2012059556A
Other languages
English (en)
Other versions
JP5882800B2 (ja
Inventor
Yuki Date
結城 伊達
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.)
NEC Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP2012059556A priority Critical patent/JP5882800B2/ja
Publication of JP2013196068A publication Critical patent/JP2013196068A/ja
Application granted granted Critical
Publication of JP5882800B2 publication Critical patent/JP5882800B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Complex Calculations (AREA)

Abstract

【課題】リスト命令のメモリアクセスリクエストの圧縮処理が正しく行われたかどうかをテストプログラム等で検証する。
【解決手段】複数のメモリポートを有する記憶手段300と、前記記憶手段に対して複数のアクセスを一括で行うリスト命令が同一ポートへの複数のメモリアクセスリクエストを発行する場合に当該複数のメモリアクセスリクエストを一つのメモリアクセスリクエストに圧縮して前記記憶手段に発行するメモリリクエスト制御手段200と、前記複数のメモリポートと一対一対応に設けられ対応するポートに前記メモリアクセスリクエストが発行された場合に当該メモリアクセスリクエストの数を計数する複数のカウンタ手段230とを設け、その計数結果211と前記リスト命令のメモリアクセスリクエスト数の圧縮処理のソフトウェアシミュレーション結果とを比較することにより、メモリアクセスリクエストの圧縮処理等が正しく行われたかを判断する。
【選択図】図3

Description

本発明は、複数のメモリアクセスを一括で行うリスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラム
情報処理装置を構成する記憶手段へのアクセス方法については、様々な高速化や効率化の技術が提案されている。
例えば、特許文献1には、複数の演算装置と複数の記憶装置とで構成される情報処理装置において、1つの記憶装置の同一アドレスへのアクセスリクエストが複数発行された場合、該複数のリクエストを1つのリクエストに圧縮する技術の一例が記載されている。
特許文献1に記載されたリクエストの圧縮に関する技術は、複数の演算装置から同一の主記憶アドレスへのリクエストが複数発行された場合、該複数のリクエストを1つのリクエストに圧縮する機能と、圧縮されたリクエストに対する記憶装置からのリプライデータを上記圧縮対象の複数演算装置に向けて展開して送出する機能とを有する。
また、一括で複数の命令を発行し処理する情報処理装置として、例えば、ベクトル型コンピュータがあるが、このベクトル型コンピュータは、一般的に、リスト命令と呼ばれる複数のメモリアクセスを一括で行う命令を備えている。
このリスト命令には、メモリから複数のデータを一括で読み出すギャザー命令と、メモリへ複数のデータを一括で書き込むスキャタ命令の2種類が存在する。
これら2つの命令は、複数のベクトル要素毎にアクセスするメモリのアドレスを指定するので、同じメモリアドレスが複数指定された場合は、複数のメモリアクセスリクエストが同じアドレスに対して発生することになる。そのため、メモリのアクセス処理で競合が発生してしまい、コンピュータシステム全体としての性能低下につながる。
そこで、同一のアドレスに対し複数のメモリアクセスリクエストが発生する場合は、それらの複数のリクエストを1つのリクエストに圧縮して処理を行う高速化の機能をコンピュータシステムに加える場合が多い。
特開平9−44459号公報
前述した特許文献1に記載された技術、及び、前述のベクトル型コンピュータのメモリアクセスリクエスト圧縮の技術は、これらの圧縮処理が正しく行われたかどうかをテストプログラムで検証することが困難であるという問題点がある。
その理由は、当該圧縮処理が行われていなくても、実行結果では判断できない場合があるためである。
例えば、前述のベクトル型コンピュータのギャザー命令で、同一のアドレスに対し複数のメモリアクセスリクエストが発生した例では、圧縮無しの場合、メモリアクセス処理で競合が発生し、該複数のリクエストが順番に処理されることになり、リプライデータはそれぞれのリクエストに対し、同じものが1つずつ返ってくる。
次に、該複数のメモリアクセスリクエストを1つのリクエストに圧縮した場合、リプライデータは1つであるが、該複数のメモリアクセスリクエストに対して複製されて返されるため、実行結果は、該複数のメモリアクセスリクエストに、同じリプライデータが1つずつ返されることになる。
そのため、実行結果が圧縮無しの場合と同じになり、実行結果を見ただけでは、圧縮処理が行われた否かを検知することができない。
本発明の目的は、上述した問題点を解決できるリスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラムを提供することにある。
本発明の情報処理装置は、複数のメモリポートを有するとともに複数のデータを記憶し、前記メモリポートを介して前記データへのアクセスが行われる記憶手段と、
前記記憶手段に対して複数のアクセスを一括で行うリスト命令が同一の前記ポートへの複数のメモリアクセスリクエストを発行するものである場合に、当該複数のアクセスリクエストを一つのメモリアクセスリクエストに圧縮して前記記憶手段に当該ポートを介して発行するメモリリクエスト制御手段と、
前記複数のメモリポートと一対一対応に設けられ、前記リスト命令が発行され、かつ、対応する前記ポートに前記メモリアクセスリクエストが前記メモリリクエスト制御手段から発行された場合に、該メモリアクセスリクエストの数を計数する複数のカウンタ手段と
から構成される。
本発明のリスト命令の検証方法は、 複数のメモリポートを有するとともに複数のデータを記憶し、前記メモリポートを介して前記データへのアクセスが行われる記憶手段を備えた情報処理装置において、
前記記憶手段に対して複数のアクセスを一括で行うリスト命令が、同一の前記ポートへの複数のメモリアクセスリクエストを発行するものである場合に、当該複数のアクセスリクエストを一つのメモリアクセスリクエストに圧縮して前記記憶手段に当該ポートを介して発行し、
前記リスト命令が発行され、かつ、前記ポートに前記メモリアクセスリクエストが前記メモリリクエスト制御ステップで発行された場合に、該メモリアクセスリクエストの数を前記ポート毎に計数する。
本発明のリスト命令の検証のためのプログラムは、
複数のメモリポートを有するとともに複数のデータを記憶し、前記メモリポートを介して前記データへのアクセスが行われる記憶手段を備えた情報処理装置において、
前記記憶手段に対して複数のアクセスを一括で行うリスト命令が、同一の前記ポートへの複数のメモリアクセスリクエストを発行するものである場合に、当該複数のアクセスリクエストを一つのメモリアクセスリクエストに圧縮して前記記憶手段に当該ポートを介して発行するメモリリクエスト制御処理と、
前記リスト命令が発行され、かつ、前記ポートに前記メモリアクセスリクエストが前記メモリリクエスト制御処理で発行された場合に、該メモリアクセスリクエストの数を前記ポート毎に計数する計数処理と
をコンピュータに実行させる。
本発明には、リスト命令におけるメモリアクセスリクエストの圧縮処理が正しく行われたかどうかを検証することができるという効果がある。
図1は、一括で複数の命令を発行し処理する情報処理装置の一般的な構成を示すブロック図である。 図2は、ギャザー命令処理時の一般的なメモリアクセス動作の一例を示す模式図である。 図3は、本発明の実施形態の構成を示すブロック図である。 図4は、本発明の実施形態におけるリスト命令リクエスト数カウンタ部の構成を示すブロック図である。 図5は、本発明の実施形態におけるテストプログラムの動作を示すフローチャートである。 図6は、本発明の実施形態におけるメモリリクエスト制御部の動作の一例を示す模式図である。 図7は、本発明の実施形態におけるリスト命令リクエスト数カウンタ値移送命令の構成を示す図である。
前述した一括で複数の命令を発行し処理する情報処理装置(例えば、ベクトル型コンピュータ)が一般的に備えているリスト命令の一つであるギャザー命令のメモリアクセスリクエスト数の圧縮処理動作の一例について、図1及び図2を参照して説明する。
図1は、一括で複数の命令を発行し処理する情報処理装置10の構成を示すブロック図である。
図1を参照すると、情報処理装置10は制御手段20と記憶手段30とを備える。なお、図1は、情報処理装置10の全体構成のうち、本説明に関連する構成要素のみを示している。
制御手段20は、メモリリクエスト制御部21と、ベクトルレジスタ22とを備える。
記憶手段30は、データ記憶域31を備える。
そして、制御手段20から記憶手段30をアクセスするための8個のポート(ポート0からポート7)があり、それぞれのポートからデータ記憶域31の特定の記憶領域のデータにアクセスすることができる。
図2はメモリリクエスト制御部21におけるギャザー命令処理時のメモリアクセス動作の一例を示す模式図である。
ギャザー命令は、ベクトル要素毎に指定した複数のアドレスの記憶領域からデータを読み出し、一括でベクトルレジスタ22へ格納する命令である。
まず、メモリアクセスリクエスト数の圧縮が無い場合を図2の(A)に示す例で説明する。
図2の(A)に示す例を参照すると、ベクトル要素0のアクセスアドレスは「アドレスA」である。以下同様に、ベクトル要素1のアクセスアドレスは「アドレスB」、ベクトル要素2のアクセスアドレスは「アドレスC」となり、最後のベクトル要素7のアクセスアドレスは「アドレスH」となる。つまり、ベクトル要素0からベクトル要素7に対応するメモリアクセスリクエストは、それぞれ1つずつの合計8個が発行される。
このとき、メモリリクエスト制御部21が、どのメモリアクセスリクエストをどのメモリポートに対して発行するかは、ベクトル要素0からベクトル要素7のそれぞれのアクセスアドレスに依存する。
図2の(A)に示す例では、「アドレスA」はメモリポート0からアクセスする記憶領域に存在することを示す。以下同様に、「アドレスB」はメモリポート1からアクセスする記憶領域に存在することを示し、「アドレスC」はメモリポート1からアクセスする記憶領域に存在することを示し、最後の「アドレスH」はメモリポート7からアクセスする記憶領域に存在することを示している。つまり、図2の(A)の場合は、メモリリクエスト制御部21は、メモリポート0と、メモリポート3と、メモリポート4と、メモリポート5とに、それぞれ1個、そして、メモリポート1と、メモリポート7にそれぞれ2個の、合計8個のメモリアクセスリクエストを発行する。
これらの、各メモリポートに発行されたメモリアクセスリクエストに対して、各メモリポートに各メモリアクセスリクエストで要求されたデータがリプライデータとしてデータ記憶域31から返ってくる。メモリリクエスト制御部21は、これらリプライデータを該当のベクトルレジスタへ格納する。
次に、メモリアクセスリクエスト数の圧縮がある場合を図2の(B)に示す例で説明する。
ギャザー命令では、ベクトルの要素毎にアクセスするメモリアドレスを指定するが、複数のベクトル要素で同一のメモリアドレスが指定される場合、メモリリクエスト制御部21は、その複数のベクトル要素のうちで要素番号の大きい方のベクトル要素のリクエストを代表して採用(リクエストの圧縮)して処理を行う。
図2の(B)の例は、ベクトル要素0からベクトル要素3のアクセスアドレスが「アドレスA」で全て一致し、さらにベクトル要素4からベクトル要素7のアクセスアドレスが「アドレスE」で全て一致するというケースである。この場合は、メモリリクエスト制御部21は、ベクトル要素3の「アドレスA」へのメモリアクセスリクエストとおよびベクトル要素7の「アドレスE」へのメモリアクセスリクエストを代表して採用する。そして、メモリリクエスト制御部21は、それぞれのアドレスに対応するメモリポート0およびメモリポート4へメモリアクセスリクエストを発行する。つまり、メモリリクエスト制御部21は、ベクトル要素0からベクトル要素7の8個のメモリアクセスリクエストを、ベクトル要素3およびベクトル要素7の2個のリクエストに圧縮する。すなわち、リクエストの数が8個から2個に削減される。
そして、各メモリポートにリプライデータが返ってくると、メモリリクエスト制御部21は、保存しておいた圧縮情報から、返ってきたリプライデータAをベクトル要素0からベクトル要素3のためのベクトルレジスタに、また、リプライデータEをベクトル要素4からベクトル要素7のためのベクトルレジスタへそれぞれ格納する。
次に、本発明の実施の形態について図面を参照して詳細に説明する。
図3は、本発明の実施形態を示すブロック図である。
図3を参照すると、情報処理装置100は制御手段200と記憶手段300とを備える。なお、図3は、情報処理装置100の全体構成のうち、本発明に関連する構成要素のみを示している。
制御手段200は、メモリリクエスト制御部210と、ベクトルレジスタ220と、ソフトウェアビジブルレジスタ230とを備える。
記憶手段300は、データ記憶域310と、ソフトウェアシミュレータ実行結果記憶域320とを備える。
そして、制御手段200から記憶手段300をアクセスするためのポートとして、8個のポート(ポート0からポート7)があり、それぞれのポートからデータ記憶域310の特定の記憶領域のデータにアクセスすることができる。
次に、制御手段200の構成及び動作について簡単に説明する。
ソフトウェアビジブルレジスタ230は、プログラムから値を参照することのできるレジスタで、複数存在する。
ベクトルレジスタ220は、一般的に使用されるレジスタで、通常、プログラムが動作する場合は、ここにアドレスやデータが格納される。
制御手段200は、リスト命令リクエスト数カウンタ値移送命令で、後述するメモリリクエスト制御部210内に設けられたリスト命令リクエスト数カウンタブロック211の値を、ソフトウェアビジブルレジスタ230に移送する。
リスト命令リクエスト数カウンタ値移送命令の構成を図7に示す。
図7を参照すると、リスト命令リクエスト数カウンタ値移送命令は、「オペコード」と、「MODE」と、「REG」から構成される。「オペコード」は、メモリリクエスト制御部210に対し、リスト命令リクエスト数カウンタ値移送命令の実行を指示するコードである。「MODE」は、リスト命令リクエスト数カウンタブロック211とソフトウェアビジブルレジスタ230との間のデータの移送方向を示す。「MODE」の値が「0」の場合は、リスト命令リクエスト数カウンタブロック211からソフトウェアビジブルレジスタ230へデータを移送する。「MODE」の値が「1」の場合は、逆に、ソフトウェアビジブルレジスタ230からリスト命令リクエスト数カウンタブロック211へデータを移送する。「REG」は、複数あるソフトウェアビジブルレジスタ230の1つを識別する番号を表す。
メモリリクエスト制御部210は、リスト命令リクエスト数カウンタブロック211を備える。そして、メモリリクエスト制御部210は、プログラムが発行したメモリリクエストの命令が、リスト命令かどうかの判断を行い、リスト命令の場合には、リクエスト数の圧縮が可能であれば圧縮処理を行い、リスト命令リクエスト数カウンタブロック211のカウントアップ処理を行う。
図4は、リスト命令リクエスト数カウンタブロック211内の各ポート対応に設けられるリスト命令リクエスト数カウンタ部211−0の構成を示す。すなわち、リスト命令リクエスト数カウンタブロック211は、メモリリクエスト制御部210のメモリポート対応に8個の上記リスト命令リクエスト数カウンタ部211−0を有する。
図4を参照すると、リスト命令リクエスト数カウンタ部211−0は、アンドゲート211−1と、セレクタ211−2と、8ビットのリスト命令リクエストカウンタ211−3と、+1加算器211−4とを備える。
次に、リスト命令リクエスト数カウンタ部211−0の構成及び動作について簡単に説明する。
まず、リスト命令リクエスト数カウンタ部211−0は、メモリリクエスト制御部210からメモリリクエスト命令の情報を受信する。ここで、アンドゲート211−1の入力Vはメモリリクエスト命令が有効か否かを表し、取りうる値は「1」が有効、「0」が無効である。また、入力Lはメモリリクエスト命令がリスト命令か否かを表し、取りうる値は「1」がリスト命令、「0」がリスト命令以外である。
そして、リスト命令リクエスト数カウンタ部211−0は、アンドゲート211−1の入力Vが「1」(メモリリクエスト命令が有効)であり、かつ、Lが「1」(リスト命令である)の場合、つまり、メモリリクエスト命令が有効でリスト命令の場合のみ、出力が「1」になる。したがって、セレクタ211−2は、+1加算器211−4の出力(すなわち、そのときのカウンタ211−3の値に1を加算した値)を選択し、リスト命令リクエスト数カウンタ211−3に格納する。結果として、リスト命令リクエスト数カウンタ211−1の値に1が加算されることになる。
次に、記憶手段300の構成及び動作について簡単に説明する。
ソフトウェアシミュレータ実行結果記憶域320は、ソフトウェアシミュレータが実行したリスト命令リクエスト数のシミュレーション結果を保持しておくための記憶域である。この記憶域に記憶された値をプログラムが読み出し、ソフトウェアビジブルレジスタ230に格納されたリスト命令リクエスト数カウンタブロックの値との比較を行う。
データ記憶域310は、通常のデータを保持しておくための記憶域であり、プログラムが発行したメモリリクエスト命令が、指定したアドレスに対応したメモリポートを通じて、データの読み書きを行う。
以上のように構成された情報処理装置100の動作について、図5のフローチャートと、図6の模式図を参照して説明する。
図5は、本発明の実施形態でのテストプログラムの動作の概要を示すフローチャートである。
また、図6は、メモリリクエスト制御部210の、上述のテストプログラム実行時のメモリアクセス動作の一例を示す模式図である。
なお、図6の例は、図2のギャザー命令処理時のメモリアクセス動作の例と同じ条件を使用している。すなわち、複数のベクトル要素で同一のメモリアドレスへのアクセスが指定される場合、メモリリクエスト制御部210は、ベクトルの要素番号の大きい方のベクトル要素のリクエストを代表して採用(リクエストの圧縮)して処理を行う。
図2の例では、ベクトル要素0からベクトル要素3のアクセスアドレスが「アドレスA」で全て一致し、さらにベクトル要素4からベクトル要素7のアクセスアドレスが「アドレスE」で全て一致するケースで、この場合、メモリリクエスト制御部210は、ベクトル要素0からベクトル要素7の8個のメモリアクセスリクエストを、ベクトル要素3およびベクトル要素7の2個のリクエストに圧縮し、それによりリクエストの数が8個から2個に削減される。
そして、各メモリポートにリプライデータが返ってくると、メモリリクエスト制御部210は、保存しておいた圧縮情報から、返ってきたリプライデータAをベクトル要素0からベクトル要素3のためのベクトルレジスタへ、また、リプライデータEをベクトル要素4からベクトル要素7のためのベクトルレジスタへそれぞれ格納する。
図5に示すように、まず、テストプログラムは試験命令列を生成する(ステップS101)。
次に、テストプログラムはこの試験命令列を制御手段200上で実行する(ステップS102)。
この試験命令列には、メモリアクセスリクエストの圧縮が可能なリスト命令も含まれる。今、そのようなリスト命令の一つであるギャザー命令が実行される場合について図6を用いて説明する。
図6を参照すると、当該ギャザー命令では、ベクトル要素0からベクトル要素3のアクセスアドレスAが全て一致し、ベクトル要素4からベクトル要素7のアクセスアドレスEが全て一致すると、上述したように、メモリアクセスリクエストの圧縮が行われ、メモリリクエスト制御部210はベクトル要素3およびベクトル要素7の2個のアクセスリクエストのみを発行する。これらのリクエストは、それぞれメモリポート0およびメモリポート4へ発行される。
このとき、メモリリクエスト制御部210は、リクエストを発行したメモリポート0およびメモリポート4に対応したリスト命令リクエスト数カウンタ部211−0の値を+1カウントアップする。他のメモリポートに対応したリスト命令リクエスト数カウンタ部211−0の値は、初期値の“0”のままとなる。
具体的には、メモリポート0および4のそれぞれに対応したリスト命令リクエスト数カウンタ部211−0(図4参照)のアンドゲート211−1の一方の入力にメモリリクエスト有効ビットVが「1」である信号が、また、他方の入力にリスト命令ビットLが「1」(リスト命令であることを示す。)である信号が制御部210からそれぞれ送られ、その結果、8ビットのカウンタ211−3の内容が初期値「0」から「1」にカウントアップされる。
一方、他のポートに対応したリスト命令リクエスト数カウンタ部211−0内のアンドゲート211−1の一方の入力にはメモリリクエスト有効ビットVが「0」の信号が制御部210から送られるため、カウントアップ動作は行われない。
ここで、仮に、故障や設計ミスにより、メモリリクエストの圧縮が行われない場合、メモリポート0にアクセスアドレスAに対する3個のメモリリクエストが送信されることになり、そのため、カウンタ211−3が+3カウントアップされ、その内容が「3」となるため、後述するソフトウェアシミュレーションの結果と一致しなくなり、異常が発見できる。
正常にメモリリクエストの圧縮が行われた場合には、その後、メモリリクエスト制御部210は、メモリポート0に返ってきたリプライデータAをベクトル要素0からベクトル要素3のためのベクトルレジスタへ、また、メモリポート4に返ってきたリプライデータEをベクトル要素4からベクトル要素7ためのベクトルレジスタにそれぞれ格納する。
ステップS102において試験命令列の実行を終了すると、テストプログラムは、試験命令列に複数のメモリアクセスを一括で行うリスト命令が含まれているかどうかを判断する(ステップS103)。
リスト命令が含まれている場合は、ステップS105へ進む。
ステップS105では、テストプログラムは、前述のリスト命令リクエスト数カウンタ値移送命令(図7を参照して説明した)を用いて、リスト命令リクエスト数カウンタブロック211に格納されている値をソフトウェアビジブルレジスタ230に移送する。ここでは、テストプログラムは、8ポート分のリスト命令リクエスト数カウンタ部211−0内のカウンタ211−3の値をメモリポート0からメモリポート7へとつなげて64ビットの値とし、これをリスト命令リクエスト数カウンタ値移送命令の「REG」により指定される一つの64ビットのソフトウェアビジブルレジスタに格納する。
例えば、試験命令列中に図6で説明した一つのギャザー命令のみがリスト命令として含まれていたとすると、「0100000001000000」(ビット単位で記載すると長くなるので、ここでは便宜上16進数で表記する。)という値がソフトウェアビジブルレジスタ230に移送されることになる。
もし、上述したようにメモリアクセスリクエストの圧縮が正常に行われず、メモリポート0に3個のリクエストが発行されたとすると「0300000001000000」(16進表記)という値がソフトウェアビジブルレジスタ230に移送されることになる。
次にテストプログラムは、試験命令列のソフトウェアシミュレーションを実施する(ステップS106)。この時、テストプログラムは、通常の試験命令列のソフトウェアシミュレーションに加えて、リスト命令リクエスト数カウンタブロック211の動作(リスト命令リクエスト数カウンタ211−3の動作等)のソフトウェアシミュレーションも実施し、結果をソフトウェアシミュレータ実行結果記憶域320に保存する(図6の例では「0100000001000000」(16進数)となる)。
次にテストプログラムは、ステップS106で保存したリスト命令リクエスト数カウンタブロックのソフトウェアシミュレーション結果を読み出す(ステップS107)・そして、テストプログラムは、その読み出されたシミュレーション結果の値と、試験命令列中のリスト命令(ここでは図6のギャザー命令)の実際のハードウェアでの実行結果が保存されているソフトウェアビジブルレジスタ230の値との比較を行う(ステップ108)。これら両者の値が一致すれば、正常であり、一致しなければメモリアクセスリクエストの圧縮が正常に行われなかったことがわかる。
なお、ステップS103で、試験命令列にリスト命令が含まれていない場合は、テストプログラムは、リスト命令リクエスト数カウンタブロック211の動作のソフトウェアシミュレーションを含まない通常の試験命令列のソフトウェアシミュレーションを実施する(ステップS104)。
以上のようにして情報処理装置100はテストプログラムの実行を終了する。
上述したように、本実施形態には、リスト命令におけるメモリアクセスリクエストの圧縮処理が正しく行われたかどうかを検証することできるという効果がある。
その理由は、実際のハードウェア上において、リスト命令が発行する実際のメモリアクセスリクエストの数をリスト命令リクエスト数カウンタブロックで計数し、その計数結果を、リスト命令のメモリアクセスリクエスト数のソフトウェアシミュレーションでの結果と比較できるようにし、メモリアクセスリクエストの圧縮処理等が正しく行われたかどうかを判断できるようにしたからである。
10 情報処理装置
20 制御手段
21 メモリリクエスト制御部
22 ベクトルレジスタ
30 記憶手段
31 データベース記憶域
100 情報処理装置
200 制御手段
210 メモリリクエスト制御部
211 リスト命令リクエスト数カウンタブロック
211−0 リスト命令リクエスト数カウンタ部
211−1 アンドゲート
211−2 セレクタ
211−3 リスト命令リクエスト数カウンタ
211−4 +1加算器
220 ベクトルレジスタ
230 ソフトウェアビジブルレジスタ
300 記憶手段
310 データ記憶域
320 ソフトウェアシミュレータ実行結果記憶域

Claims (9)

  1. 複数のメモリポートを有するとともに複数のデータを記憶し、前記メモリポートを介して前記データへのアクセスが行われる記憶手段と、
    前記記憶手段に対して複数のアクセスを一括で行うリスト命令が同一の前記ポートへの複数のメモリアクセスリクエストを発行するものである場合に、当該複数のアクセスリクエストを一つのメモリアクセスリクエストに圧縮して前記記憶手段に当該ポートを介して発行するメモリリクエスト制御手段と、
    前記複数のメモリポートと一対一対応に設けられ、前記リスト命令が発行され、かつ、対応する前記ポートに前記メモリアクセスリクエストが前記メモリリクエスト制御手段から発行された場合に、該メモリアクセスリクエストの数を計数する複数のカウンタ手段と
    を含む情報処理装置。
  2. 前記複数のカウンタ手段の内容を連結して一つの計数値として記憶するレジスタ手段
    を含むことを特徴とする請求項1記載の情報処理装置。
  3. 前記複数のカウンタ手段の内容と該カウンタ手段のソフトウェアシミュレーションの結果とを比較し、リスト命令に係わる障害の有無を判断する制御手段
    を含むことを特徴とする請求項1または2記載の情報処理装置。
  4. 複数のメモリポートを有するとともに複数のデータを記憶し、前記メモリポートを介して前記データへのアクセスが行われる記憶手段を備えた情報処理装置におけるリスト命令の検証方法において、
    前記記憶手段に対して複数のアクセスを一括で行うリスト命令が、同一の前記ポートへの複数のメモリアクセスリクエストを発行するものである場合に、当該複数のアクセスリクエストを一つのメモリアクセスリクエストに圧縮して前記記憶手段に当該ポートを介して発行し、
    前記リスト命令が発行され、かつ、前記ポートに前記メモリアクセスリクエストが前記メモリリクエスト制御ステップで発行された場合に、該メモリアクセスリクエストの数を前記ポート毎に計数する
    リスト命令の検証方法。
  5. さらに、前記ポート毎に計数された計数値を一つに連結してレジスタ手段に記憶することを特徴とする請求項4記載のリスト命令の検証方法。
  6. さらに、前記メモリアクセスリクエストの数の計数結果とその計数によるソフトウェアシミュレーションの結果とを比較し、リスト命令に係わる障害の有無を判断することを特徴とする請求項4または5記載のリスト命令の検証方法。
  7. 複数のメモリポートを有するとともに複数のデータを記憶し、前記メモリポートを介して前記データへのアクセスが行われる記憶手段を備えた情報処理装置において、
    前記記憶手段に対して複数のアクセスを一括で行うリスト命令が、同一の前記ポートへの複数のメモリアクセスリクエストを発行するものである場合に、当該複数のアクセスリクエストを一つのメモリアクセスリクエストに圧縮して前記記憶手段に当該ポートを介して発行するメモリリクエスト制御処理と、
    前記リスト命令が発行され、かつ、前記ポートに前記メモリアクセスリクエストが前記メモリリクエスト制御処理で発行された場合に、該メモリアクセスリクエストの数を前記ポート毎に計数する計数処理と
    をコンピュータに実行
    させることを特徴とするリスト命令の検証のためのプログラム。
  8. 前記ポート毎に計数された計数値を一つに連結してレジスタ手段に記憶する記憶処理を前記コンピュータに実行させることを特徴とする請求項7記載のプログラム。
  9. 前記計数処理での計数結果と該計数処理のソフトウェアシミュレーションの結果とを比較し、リスト命令に係わる障害の有無を判断する判断処理を前記コンピュータに実行させることを特徴とする請求項7または8記載のプログラム。
JP2012059556A 2012-03-16 2012-03-16 リスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラム Active JP5882800B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012059556A JP5882800B2 (ja) 2012-03-16 2012-03-16 リスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012059556A JP5882800B2 (ja) 2012-03-16 2012-03-16 リスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラム

Publications (2)

Publication Number Publication Date
JP2013196068A true JP2013196068A (ja) 2013-09-30
JP5882800B2 JP5882800B2 (ja) 2016-03-09

Family

ID=49395001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012059556A Active JP5882800B2 (ja) 2012-03-16 2012-03-16 リスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラム

Country Status (1)

Country Link
JP (1) JP5882800B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4009174A3 (en) * 2020-12-03 2022-08-03 STMicroelectronics S.r.l. Hardware accelerator device, corresponding system and method of operation
US11996158B2 (en) 2020-12-03 2024-05-28 Stmicroelectronics S.R.L. Hardware accelerator device, corresponding system and method of operation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60220467A (ja) * 1984-04-17 1985-11-05 Fujitsu Ltd ベクトルレジスタのアクセス制御回路
JPS61128371A (ja) * 1984-11-28 1986-06-16 Hitachi Ltd ベクトル処理装置
JPH0520350A (ja) * 1991-07-10 1993-01-29 Koufu Nippon Denki Kk ベクトル処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60220467A (ja) * 1984-04-17 1985-11-05 Fujitsu Ltd ベクトルレジスタのアクセス制御回路
JPS61128371A (ja) * 1984-11-28 1986-06-16 Hitachi Ltd ベクトル処理装置
JPH0520350A (ja) * 1991-07-10 1993-01-29 Koufu Nippon Denki Kk ベクトル処理装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4009174A3 (en) * 2020-12-03 2022-08-03 STMicroelectronics S.r.l. Hardware accelerator device, corresponding system and method of operation
US11742049B2 (en) 2020-12-03 2023-08-29 Stmicroelectronics S.R.L. Hardware accelerator device, corresponding system and method of operation
US11996158B2 (en) 2020-12-03 2024-05-28 Stmicroelectronics S.R.L. Hardware accelerator device, corresponding system and method of operation

Also Published As

Publication number Publication date
JP5882800B2 (ja) 2016-03-09

Similar Documents

Publication Publication Date Title
US11609762B2 (en) Systems and methods to load a tile register pair
US9298593B2 (en) Testing a software interface for a streaming hardware device
US8990451B2 (en) Controller for direct access to a memory for the direct transfer of data between memories of several peripheral devices, method and computer program enabling the implementation of such a controller
KR102287677B1 (ko) 데이터 액세스 방법, 장치, 기기 및 저장 매체
US20170063401A1 (en) Partial ecc mechanism for a byte-write capable register
US9436450B2 (en) Method and apparatus for optimising computer program code
US9262625B2 (en) Address translation/specification field for hardware accelerator
WO2013144734A2 (en) Instruction merging optimization
US20170060678A1 (en) Partial ecc handling for a byte-write capable register
JP7135853B2 (ja) バッファオーバーフローの低減
US20230385059A1 (en) Systems and methods for computing dot products of nibbles in two tile operands
KR20090127689A (ko) 메모리 테스트 디바이스 및 메모리 테스트 방법
JP5882800B2 (ja) リスト命令の検証機能を有する情報処理装置、リスト命令の検証方法、及びリスト命令の検証のためのプログラム
US20120239826A1 (en) System authorizing direct data transfers between memories of several components of that system
US20170186498A1 (en) Hardware apparatuses and methods to check data storage devices for transient faults
TWI766056B (zh) 用於資料處理的方法、設備、電腦程式及電腦可讀取儲存媒體
CN103988462A (zh) 用于执行寄存器重命名的寄存器重命名数据处理装置和方法
US10628542B2 (en) Core-only system management interrupt
WO2018158846A1 (ja) シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
JP7124608B2 (ja) 計算機および計算方法
US8589735B2 (en) Creating randomly ordered fields while maintaining the temporal ordering based on the value of the fields
US11809869B2 (en) Systems and methods to store a tile register pair to memory
CN112416687B (zh) 验证访存操作的方法与系统以及验证设备和存储介质
US8447932B2 (en) Recover store data merging
WO2023108600A1 (en) System, method and apparatus for reducing power consumption of error correction coding using compacted data blocks

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151210

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: 20160112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160204

R150 Certificate of patent or registration of utility model

Ref document number: 5882800

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150