JP4918794B2 - コンピュータ装置及びそのデータ転送方法 - Google Patents

コンピュータ装置及びそのデータ転送方法 Download PDF

Info

Publication number
JP4918794B2
JP4918794B2 JP2006072822A JP2006072822A JP4918794B2 JP 4918794 B2 JP4918794 B2 JP 4918794B2 JP 2006072822 A JP2006072822 A JP 2006072822A JP 2006072822 A JP2006072822 A JP 2006072822A JP 4918794 B2 JP4918794 B2 JP 4918794B2
Authority
JP
Japan
Prior art keywords
memory
compression
information
request
compressed
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
Application number
JP2006072822A
Other languages
English (en)
Other versions
JP2007249651A (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.)
NEC Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2006072822A priority Critical patent/JP4918794B2/ja
Publication of JP2007249651A publication Critical patent/JP2007249651A/ja
Application granted granted Critical
Publication of JP4918794B2 publication Critical patent/JP4918794B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コンピュータ装置及びそのデータ転送方法に関する。
図8は従来の一般的なコンピュータ装置の構成及びその動作を示す図である。
図8に示すように、コンピュータ装置100は、複数のプロセッサPと、メモリシステムMSと、を備えている。
各プロセッサPは、複数の演算器Eと、ルーティング部Rと、を備えている。
メモリシステムMSは、複数のメモリMを備えている。
なお図8ではコンピュータ装置100がプロセッサ00〜Nの計(N+1)個のプロセッサPを備え、各プロセッサPは演算器00〜31の計32個の演算器Eを備え、メモリシステムMSはメモリ00〜31の計32個のメモリMを備えているが、これは一例であり、プロセッサP、各プロセッサPが備える演算器E、メモリシステムMSが備えるメモリMの数は、それぞれ任意の数である。
また、図8においては、コンピュータ装置100の構成だけでなく動作の流れも示しているため、便宜的に、番号が00番のプロセッサP(プロセッサ00)については2つを図示している。
プロセッサPは、内部に備えられる複数の演算器Eの各々からメモリアクセスリクエストを発行する機能を備えている。メモリアクセスとはメモリMからデータを読み出したりメモリ5にデータを書き込んだりする機能のことである。
更に、プロセッサPのルーティング部Rは、各演算器Eを行き先メモリ(メモリMのうちデータを読み出したり書き込んだりする対象となるメモリ)へ案内するためのルーティング機能を有する。
一般に32個の演算器3が32個のメモリMと接続されているならばルーティング機能としては32×32のクロスバ機能を有することとなる。演算器Eから発行されたメモリアクセスリクエストはルーティング部Rにより目的のメモリM(行き先メモリ)へ到着する。
メモリMからのリプライは、例えばロード命令であればロードデータと共にプロセッサPへ返却され、再びプロセッサP内のルーティング部Rにてリクエスト発行元の演算器Eへと案内されてメモリリプライの受信が完了となる。
一般に、複数の演算器Eから発行されたリクエストが一つのメモリポートに対して競合した場合は、メモリM側のバンク競合を回避するためにこれら複数のリクエストを1つにまとめて(圧縮して)発行することがある。
このようにリクエストが圧縮された演算器Eの番号は保持しておく必要があり、この1つにまとめられたリクエストがメモリMからプロセッサPに返ってきた時に、この保持していた圧縮情報を展開してリクエスト発行元の演算器Eへリプライを返却する制御を行っている。
例えば演算器Eが32個であれば、このうち一つの演算器Eを特定するための番号を表すのに5ビットが必要であり、4つの演算器Eの番号を圧縮した場合は5ビット×4=20ビットが必要となる。
図9は従来の圧縮情報(圧縮されたリクエスト情報)のフォーマット例を示す図である。
図9に示すように、従来は圧縮されたリクエストのリプライを指示するために、圧縮されたすべての演算器番号を保持していたため、図9に示す例では20ビットが必要であった。
従来のリプライ情報フォーマットにおいてはリクエストを圧縮した際に生成する圧縮情報ビット数は、リクエストが圧縮された演算器の数に比例して増大してしまうという課題がある。同一メモリポートに競合するリクエストを制限なく圧縮していては圧縮情報に関するハード量の削減は難しくなる。
すなわち、従来は複数個のメモリリクエストを1つに圧縮して発行した場合、圧縮されたリクエスト情報(=発行元の演算器の番号)を各々の演算器番号で保持していたために、圧縮する要素の数が多いときには圧縮情報として保持しておくビット数も増大してしまうという問題があり、その削減が課題であった。
本発明は、上記のような問題点を解決するためになされたもので、リクエストが圧縮された演算器の数や圧縮のパターン数が多い場合でも圧縮情報のビット数を小さくすることが可能なコンピュータ装置及びそのデータ転送方法を提供することを目的とする。
上記課題を解決するため、本発明のコンピュータ装置は、複数の演算器を有するプロセッサと、複数のメモリポートを有するメモリシステムと、を備え、前記プロセッサは、番号が連続する複数の演算器から発行されたメモリリクエストが一のメモリポートに競合する場合に、これら複数のメモリリクエストを1つに圧縮した圧縮リクエストとして発行する圧縮リクエスト発行手段と、前記圧縮リクエストへと圧縮される複数のメモリリクエストの発行元である複数の演算器のうち特定の演算器の番号を示す演算器番号情報と、前記圧縮リクエストが前記一のメモリポートに含まれるメモリアドレスのうち何れのメモリアドレスに対するリクエストであるのかを示すメモリアドレス特定用情報と、を含む圧縮情報を生成する圧縮情報生成手段と、前記圧縮リクエストに対するリプライが前記一のメモリポートから戻ってきた場合に、該リプライを前記圧縮情報に基づいてリクエスト発行元の演算器に分配する分配手段と、を備えることを特徴としている。
本発明のコンピュータ装置においては、前記演算器番号情報は、前記圧縮リクエストへと圧縮される複数のメモリリクエストの発行元である複数の演算器のうち、番号が先頭の演算器の番号を示す情報であることが好ましい。
本発明のコンピュータ装置においては、メモリアドレス特定用情報は、前記一のメモリポートに含まれるメモリアドレスのうち、メモリリクエストが圧縮されるメモリアドレスの全ての組み合わせパターンのうち、何れか1つのパターンを特定するための情報であることが好ましい。
本発明のコンピュータ装置においては、前記圧縮情報生成手段は、番号が連続する複数の演算器からのメモリリクエストが、前記一のメモリポートに含まれるメモリアドレスのうち番号が連続するメモリアドレスに対するメモリリクエストである場合に、前記演算器番号情報と前記メモリアドレス特定用情報とを含む前記圧縮情報を生成することが好ましい。
本発明のコンピュータ装置においては、前記圧縮情報生成手段は、メモリリクエストが前記圧縮リクエストであるか否かを示す圧縮有無情報を更に含む圧縮情報を生成することが好ましい。
また、本発明のコンピュータ装置のデータ転送方法は、複数の演算器を有するプロセッサと、複数のメモリポートを有するメモリシステムと、を備えるコンピュータ装置のデータ転送方法において、複数の演算器から発行されたメモリリクエストが一のメモリポートに競合する場合に、これら複数のメモリリクエストを1つに圧縮した圧縮リクエストとして発行する第1の過程と、前記圧縮リクエストへと圧縮される複数のメモリリクエストの発行元である複数の演算器のうち特定の演算器の番号を示す演算器番号情報と、前記圧縮リクエストが前記一のメモリポートに含まれるメモリアドレスのうち何れのメモリアドレスに対するリクエストであるのかを示すメモリアドレス特定用情報と、を含む圧縮情報を生成する第2の過程と、前記圧縮リクエストに対するリプライが前記一のメモリポートから前記プロセッサに戻ってきた場合に、該リプライを前記圧縮情報に基づいてリクエスト発行元の演算器に分配する第3の過程と、を備えることを特徴としている。
本発明のコンピュータ装置のデータ転送方法においては、前記演算器番号情報は、前記圧縮リクエストへと圧縮される複数のメモリリクエストの発行元である複数の演算器のうち、番号が先頭の演算器の番号を示す情報であることが好ましい。
本発明のコンピュータ装置のデータ転送方法においては、メモリアドレス特定用情報は、前記一のメモリポートに含まれるメモリアドレスのうち、メモリリクエストが圧縮されるメモリアドレスの全ての組み合わせパターンのうち、何れか1つのパターンを特定するための情報であることが好ましい。
本発明のコンピュータ装置のデータ転送方法においては、番号が連続する複数の演算器からのメモリリクエストが、前記一のメモリポートに含まれるメモリアドレスのうち番号が連続するメモリアドレスに対するメモリリクエストである場合に、前記第2の過程では、前記演算器番号情報と前記メモリアドレス特定用情報とを含む前記圧縮情報を生成することが好ましい。
本発明のコンピュータ装置のデータ転送方法においては、前記第2の過程では、メモリリクエストが前記圧縮リクエストであるか否かを示す圧縮有無情報を更に含む圧縮情報を生成することが好ましい。
本発明によれば、番号が連続する複数の演算器からのメモリリクエストが一のメモリポートに競合する場合、圧縮情報生成手段は、演算器番号情報とメモリアドレス特定用情報とを含む圧縮情報を生成するので、リクエストが圧縮された演算器の数や圧縮のパターン数が多い場合でも、従来と比べて、圧縮情報の情報量を低減することができる。
以下、図面を参照して、本発明に係る実施形態について説明する。
〔第1の実施形態〕
図1は本実施形態に係るコンピュータ装置10の構成と、リクエスト/リプライの動作の流れを示す図である。
図1に示すコンピュータ装置10は、その基本構成は図8に示す従来の一般的なコンピュータ装置100と同様であるため、図1に示すコンピュータ装置10の構成要素のうち図8に示すコンピュータ装置100におけるのと同様の構成要素には同一の符号を付し、その説明を省略する。
コンピュータ装置10は、演算器Eからのリクエスト発行時にプロセッサP内のルーティング部(圧縮情報生成手段)Rにて圧縮情報の生成がなされ、リプライ受信時にこの圧縮情報を参照してリプライを発行元の演算器Eへ返却する構成となっている。
本実施形態の場合、図1に示すように、メモリM側のインターリーブが、例えば16Byte飛びであり、00番のメモリMのメモリポート(図1中のメモリポート00)の中にメモリアドレス0,1,2,3が、メモリポート01の中にメモリアドレス4,5,6,7が位置している。
図1に示す動作の場合では、番号が連続する5つの演算器00,01,02,03,04の各々から4Byte幅のロード命令(ロードリクエスト)が発行されており、ロード先のメモリアドレスは3,4,5,6,7と連続している。
このとき、図1に示すように、メモリアドレス4,5,6,7(メモリポート01)に対する4つの4Byte幅ロード命令は、一般的な方法としてメモリポート01に対する1つの16Byte幅ロード命令に置き換えることができる。つまり、演算器01,02,03,04から発行されたリクエストは、例えば、ルーティング部(圧縮リクエスト発行手段)Rにより、1つの16Byteメモリアクセス命令(圧縮リクエスト)に圧縮(変換)される。
このようにロード命令が圧縮された演算器番号01,02,03,04は、メモリM(メモリポート01)からのアクセスリプライを発行元の演算器E(01,02,03,04)へ返却するときのために保持しておく必要があり、実施形態ではこの圧縮された情報をその圧縮パターン(メモリアドレス特定用情報)と圧縮した先頭の演算器番号(演算器番号情報)により識別する。
図2には本実施形態における圧縮情報のフォーマットが示されている。
図2に示すように、本実施形態の場合、圧縮情報は、例えば、先頭の演算器番号を示す5ビットの情報(図2の先頭演算器番号5ビット)+圧縮パターンを示す3ビットの情報(図2の圧縮パターン3ビット)+圧縮の有無を示す1ビットの情報(圧縮の有無1ビット)の計9ビットから構成される。
このうちは、先頭の演算器番号を示す5ビットの情報は、メモリリクエストが圧縮される複数の演算器のうち、先頭の演算器(特定の演算器)の番号を示す情報(演算器番号情報)である。
圧縮パターンを示す3ビットの情報は、圧縮されたメモリリクエストが、該リクエストの競合先となっている同一のメモリポートに含まれる複数のメモリアドレスのうち、何れのメモリアドレスに対するリクエストであるのかを示す情報(メモリアドレス特定用情報)である。
圧縮の有無を示す1ビットの情報は、メモリリクエストが圧縮されたものであるか否かを示す情報(圧縮有無情報)である。
図3は本実施形態における圧縮パターン情報(図2におけるビット[5:7]に相当する情報)を示す図である。
16Byte幅のメモリポートに対してメモリアドレスが連続する4個の4Byte幅のリクエストが競合した場合は、この4個のリクエストが圧縮される。
このケースを、図3に示すように例えばパターン0としパターン情報は「000」とする。同様に、メモリアドレス16Byteのうち前半3つに対して3個の4Byte幅のリクエストが競合した場合は、3個のリクエストを圧縮し、パターン1としパターン情報は「001」とする。同様に、メモリアドレス16Byteのうち後半3つに対して3個の4Byte幅のリクエストが競合した場合は、3個のリクエストを圧縮し、パターン2としパターン情報は「010」とする。同様に、メモリアドレス16Byteのうち前半2つに対して2個の4Byte幅のリクエストが競合した場合は、2個のリクエストを圧縮し、パターン3としパターン情報は「011」とする。同様に、メモリアドレス16Byteのうち順序が真ん中の2つに対して2個の4Byte幅のリクエストが競合した場合は、2個のリクエストを圧縮し、パターン4としパターン情報は「100」とする。同様に、メモリアドレス16Byteのうち順序が最後の2つに対して2個の4Byte幅のリクエストが競合した場合は、2個のリクエストを圧縮し、パターン5としパターン情報は「101」とする。
このように、圧縮パターン情報(メモリアドレス特定用情報)は、一のメモリポートに含まれるメモリアドレスのうち、メモリリクエストが圧縮されるメモリアドレスの全ての組み合わせパターンのうち、何れか1つのパターンを特定するための情報である。
例えば図1のケースでは4つをまとめて圧縮しているので図3のパターン0の圧縮形態となり、圧縮情報ビット[5:7]には「000」を保持することとなる。また圧縮された演算器の先頭(番号が最も若い演算器)は演算器01であるので圧縮情報ビット[0:4]は「00001」となる。さらに圧縮していることを示す情報ビット[8]は「1」(圧縮あり)となる。一方演算器00から発行されたリクエストはメモリポート00に対するものであり、他のリクエストと競合していないので圧縮する必要はない。圧縮情報ビット[8]を[0](圧縮なし)、圧縮情報ビット[0:4]は発行元の演算器番号「00000」、圧縮情報ビット[5:7]は「Don‘t care=どんな値でもかまわない(制御に使用しない)」でよい。
プロセッサPでは、メモリMからのリプライを受信した際、この圧縮情報(図2)を参照することにより、リプライ返却先の演算器番号を識別することができる。
例えば先頭演算器番号=5、圧縮パターン=2、圧縮有無=1(圧縮あり)であるならば、返却先の演算器番号は5と6と7であることが判る。ルーティング部RではメモリMからロードした16Byteデータのうち図1の右側よりの12Byteを演算器5と6と7へ返却すればよい。この識別が可能な理由は、「発行元の演算器番号が連続しており、アクセスするメモリアドレスが連続する場合に複数のリクエストを圧縮している」という前提があるためである。圧縮されていないリクエストは圧縮情報ビット[8]=0であり、このリクエストは先頭演算器番号[0:4]がそのままリプライ先の演算器番号となる。圧縮なしの場合は圧縮パターン[5:7]は「Don‘t care」である。
上記のように生成した圧縮情報ビット[0:8]は、例えば、プロセッサP内のRAM(図示略)に記憶させておきメモリMからのリプライがあったときにRAMから読み出して使用することが挙げられる。或いは、RAMに記憶させなくともインターフェースとしてプロセッサ→メモリ→プロセッサへと持ちまわり、リプライ時に使用しても良い。メモリMから読み出した16ByteのロードデータはプロセッサP内のルーティング部(分配手段)Rで圧縮情報を参照して展開され、発行元の演算器Eへ4Byteずつ返却されて一連のメモリアクセスが完了する。
なお、図1のルーティング部Rで複数のリクエストを1つに圧縮して発行する制御は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
次に、動作を説明する。
図4は図1のコンピュータ装置10の一連の動作の流れを示すフローチャートである。
先ず、演算器Eからメモリアクセスリクエストが発行される(ステップS1)。
次に、ルーティング部Rでは、演算器Eから発行されたメモリアクセスリクエストには、同一メモリポートへのリクエスト競合が生じているか否かを判定する(ステップS2)。
リクエスト競合が発生していない場合(ステップS2のNo)、演算器Eから発行されたメモリアクセスリクエストはルーティング部Rにより行き先メモリへ案内される(ステップS6)。
他方、リクエスト競合が発生している場合(ステップS2のYes)、これら競合するリクエストが互いに圧縮可能であるかどうかをチェックする(ステップS3)。
圧縮可能でない場合(ステップS3のNo)、演算器Eから発行されたメモリアクセスリクエストはルーティング部Rにより行き先メモリへ案内される(ステップS6)。
圧縮可能である場合(ステップS3のYes)、演算器Eから発行されたメモリアクセスリクエストを圧縮する処理を行う(ステップS4)。
ここで、圧縮可能となる(ステップS3のYesとなる)のは、アクセス先のメモリアドレスが連続していてかつリクエスト発行元の演算器番号が連続しているケースである。この競合チェックや圧縮動作(ステップS4)は一般的な制御であり、仕様に合わせてプロセッサP内のどこの論理部で行っても良い。圧縮可能な場合はリプライ情報(圧縮情報ビットを含む)を生成し(ステップS5)、メモリMへリクエストを発行する(ステップS6)。
その後、メモリMからのリプライをプロセッサPが受信すると(ステップS7)、そのリプライが圧縮されたものかどうかを圧縮情報ビット[8]を参照することによりチェックし(ステップS8)、圧縮されている場合(ステップS8のYes)は圧縮情報ビット[0:7]を参照することによりリプライを発行元の演算器Eへと展開する(ステップS9〜S10)。圧縮されていない場合(ステップS8のNo)は圧縮情報ビット[0:4]に示される演算器Eへリプライを返却する(ステップS10)。
図5は具体的な圧縮の一例を示す図である。
図5に示す例では、8個の演算器からそれぞれ4Byteのメモリロード命令が発行されている。このケースでは演算器番号が0〜7、メモリアドレスが3〜10となっているので本実施形態における圧縮可能な条件を満足している。
図5ではメモリポート番号1に対しては4個のリクエストが競合し、メモリポート番号2に対しては3つのリクエストが競合している。よって演算器番号1,2,3,4から発行された4個の4Byteロード命令は、1個の16Byteロード命令へ圧縮され、このときに生成される圧縮情報ビットは先頭演算器番号[0:4]=「00001」、圧縮パターン[5:7]=「000」、圧縮ビット[8]=「1(圧縮あり)」となる。同様に演算器番号5,6,7から発行された3個の4Byteロード命令は1個の16Byteロード命令へ圧縮され、このときの圧縮情報ビットは図5に示す通りとなる。この圧縮パターン1の場合はメモリリプライとしてロードしてきた16Byteのうち前半の12Byteが有効、後半の4Byteは無効(必要なし)として扱えばよい。またシステムの仕様によっては12Byteのみのメモリアクセスとして発行してもよい。本動作はメモリロード命令の場合であるが、メモリストア命令の場合も同様である。メモリアドレスが連続する場合はストアデータを圧縮(=例えば隣接する4個の4Byteのるデータを1個の16Byteデータに結合)すると共に、本実施形態で説明した圧縮情報の生成方法に従い発行元の演算器番号を圧縮情報ビットに格納する。ストアが終了したことを報告するリプライは、圧縮情報ビットを参照して発行元の演算器へ展開すればよい。なお本実施形態における圧縮情報の生成を採用せず圧縮された演算器番号を各々保持する場合、図5に「従来形式」として示すように、演算器4個なら20ビット、3個なら16ビットを必要とするためハード量を抑えることができない。
図6は具体的な圧縮の他の一例を示す図である。
図6に示す例では、2個の演算器からそれぞれ4Byteのメモリロード命令が発行されている。このケースでは演算器番号が16,17、メモリアドレスが5,6となっているので本実施形態における圧縮可能な条件を満足している。よってこの2個の4Byteロード命令は、1個の16Byteロード命令へ圧縮され、このときに生成される圧縮情報ビットは先頭演算器番号[0:4]=「10000(10進数の16)」、圧縮パターン[5:7]=「100」、圧縮ビット[8]=「1(圧縮あり)」となる。メモリリプライとしてロードしてきた16Byteのうち中央の8Byteを演算器16と17に返却することとなる。
このように、本実施形態では、プロセッサP内のメモリアクセスルーティング制御において、複数の演算器Eからのメモリアクセスリクエストを1つに圧縮した場合、何個のリクエストをどのようなパターンで圧縮したかを保持しておき(=圧縮形態とそのパターンによる圧縮情報の生成)、その保持しておいた圧縮情報をメモリアクセスリプライ時にリプライ先の演算器Eへルーティングして返却する制御を行うことができる。また演算器Eから発行されたリクエストが、圧縮可能かどうかを判断する(すなわち発行元の演算器番号が連続しており、アクセス先のメモリアドレスが連続しているかの判断)。よって、プロセッサPからメモリMに発行する複数のリクエストを1つのリクエストへ圧縮する際に、保持しておく必要のある「圧縮情報」を「少ないビット数で実現する」ことができる。よって、LSIのハード量(トランジスタ数)を少なく抑えることができる。
このように、本実施形態では、圧縮される演算器番号が連続している場合を選択的に圧縮制御を行うので、この場合に、従来よりも少ないビット数で圧縮情報を表現することができる。すなわち、発生頻度が高く、効率的に圧縮、展開できる命令のケースを選択的に圧縮することにより圧縮情報ビット数の削減を図っている。
また、このように、圧縮情報ビット数を削減することにより、ハード量の削減が可能となる。例えばベクトル型の演算器では、連続した演算器が連続したメモリアドレスをアクセスするケースが頻繁にある。このようなシステムでは本発明を採用するとハード量の削減効果がより顕著となってあらわれる。
このようにして、本実施形態では、リクエスト発行元の複数の演算器番号が連続する場合にリクエストの圧縮を行い、圧縮した情報をその圧縮パターンと先頭の演算器番号で保持しているので、少ないビット数で圧縮情報を表現することが可能となり、LSIのハード量を削減できる。
また、圧縮の有無を示す情報(圧縮有無情報)を圧縮情報ビット[8]で表しているので、メモリからのリプライがあった場合に、先ず、この圧縮有無情報の内容を判別することにより、圧縮がない場合には、パターン情報(圧縮情報ビットの[5:7])の確認を省略し、先頭演算器番号(圧縮情報ビットの[0:4])のみを確認し、この先頭演算器番号により特定される演算器に対してリプライを案内すれば良いため、リプライを所望の演算器に案内するのに必要な処理の量を低減することができる。
以上のような第1の実施形態によれば、以下に記載するような効果を奏する。
第1の効果は、論理的な制御信号数を削減できることである。このためLSIのハード量を抑えることができる。その理由は圧縮された制御情報は、その圧縮パターンと目印となる一部の情報によって識別されるためである。
第2の効果は、ベクトル型の演算器では、本実施形態による制御信号数の削減効果がより顕著となることである。その理由は、ベクトル型の演算器では、連続した演算器が連続したメモリアドレスをアクセスするケースが頻繁に発生するためである。
なお、上記の第1の実施形態では、4個の連続する4Byteリクエストを1つの16Byteリクエストに圧縮しているが、8個の連続する2Byteリクエストを1個の16Byteリクエストに圧縮しても良い。この場合は、圧縮するパターンが図3の場合よりも増えることとなるが、圧縮される演算器数が多くなるほど本発明による圧縮情報の削減効果はより大きくなる。またメモリインターリーブも16Byteに限らず、8Byteでも32Byteでもかまわない。図2の圧縮情報ビット[0:4][5:7][8]の配列もこの限りではなく、任意でよい。
また、上記の第1の実施形態では、先頭演算器番号を圧縮情報ビット[0:4]で表す例を説明したが、例えば、一番後の演算器番号を圧縮情報ビット[0:4]で表すこととしても良いし、或いは、その他の特定の順番(2番目或いは3番目など)の演算器番号を圧縮情報ビット[0:4]で表すこととしても良い。
また、上記の第1の実施形態では、圧縮の有無を示す情報を圧縮情報ビット[8]で表す例を説明したが、この情報は用いない代わりに、例えば、圧縮がない場合には、圧縮情報ビット[5:7]を空き番号の「111」としても良い。この場合、圧縮情報ビットの情報量を更に低減することができる。
〔第2の実施形態〕
第2の実施形態では、圧縮のパターンについて第1の実施形態よりも工夫している。
なお、第2の実施形態は、圧縮のパターンが異なる他は、第1の実施形態と同様である。
図7は第2の実施形態における圧縮のパターンの例を示す図である。
図7に示す例では、メモリインターリーブは8Byteであり(1つのメモリポートの幅が8Byte)、一つのメモリポート内で複数の2Byte幅のメモリアクセスが競合する場合は、メモリアドレスが連続してなくてもそれらをすべて圧縮することとしている。この場合、圧縮するパターンが増えるが、結局はリクエスト発行元の演算器番号が連続しているのであれば、リプライ時の演算器番号は識別が可能である。つまりメモリポートへの競合が発生した場合の圧縮可否の判断は、発行元の演算器番号が連続していることという条件のみとなる(メモリアドレスは連続していなくても良い)。さらに工夫している点は、2個の4Byte幅のメモリアクセスも圧縮している点である。
なお、第2の実施形態で説明した例に限らず、例えばメモリインターリーブ(メモリポートの幅)が32Byteであったならば、競合する2Byte幅の連続するリクエストを16個圧縮してもよく、同様に16Byte幅の連続するリクエストを2個圧縮してもよい。
第1の実施形態に係るコンピュータ装置の構成及び動作を一覧にした図である。 第1の実施形態における圧縮情報のフォーマットを示す図である。 第1の実施形態における圧縮パターンを示す図である。 第1の実施形態の場合の動作の流れを示すフローチャートである。 第1の実施形態における具体的な圧縮の一例を示す図である。 第1の実施形態における具体的な圧縮の他の一例を示す図である。 第2の実施形態における圧縮パターンの例を示す図である。 従来のコンピュータ装置の構成及び動作を一覧にした図である。 従来の圧縮情報のフォーマットを示す図
符号の説明
P プロセッサ
E 演算器
R ルーティング部(圧縮リクエスト発行手段、圧縮情報生成手段、分配手段)
M メモリ
100 コンピュータ装置

Claims (10)

  1. 複数の演算器を有するプロセッサと、複数のメモリポートを有するメモリシステムと、を備え、
    前記プロセッサは、
    番号が連続する複数の演算器から発行されたメモリリクエストが一のメモリポートに競合する場合に、これら複数のメモリリクエストを1つに圧縮した圧縮リクエストとして発行する圧縮リクエスト発行手段と、
    前記圧縮リクエストへと圧縮される複数のメモリリクエストの発行元である複数の演算器のうち特定の演算器の番号を示す演算器番号情報と、前記圧縮リクエストが前記一のメモリポートに含まれるメモリアドレスのうち何れのメモリアドレスに対するリクエストであるのかを示すメモリアドレス特定用情報と、を含む圧縮情報を生成する圧縮情報生成手段と、
    前記圧縮リクエストに対するリプライが前記一のメモリポートから戻ってきた場合に、該リプライを前記圧縮情報に基づいてリクエスト発行元の演算器に分配する分配手段と、 を備えることを特徴とするコンピュータ装置。
  2. 前記演算器番号情報は、前記圧縮リクエストへと圧縮される複数のメモリリクエストの発行元である複数の演算器のうち、番号が先頭の演算器の番号を示す情報であることを特徴とする請求項1に記載のコンピュータ装置。
  3. メモリアドレス特定用情報は、前記一のメモリポートに含まれるメモリアドレスのうち、メモリリクエストが圧縮されるメモリアドレスの全ての組み合わせパターンのうち、何れか1つのパターンを特定するための情報であることを特徴とする請求項1又は2に記載のコンピュータ装置。
  4. 前記圧縮情報生成手段は、番号が連続する複数の演算器からのメモリリクエストが、前記一のメモリポートに含まれるメモリアドレスのうち番号が連続するメモリアドレスに対するメモリリクエストである場合に、前記演算器番号情報と前記メモリアドレス特定用情報とを含む前記圧縮情報を生成することを特徴とする請求項1乃至3の何れか一項に記載のコンピュータ装置。
  5. 前記圧縮情報生成手段は、メモリリクエストが前記圧縮リクエストであるか否かを示す圧縮有無情報を更に含む圧縮情報を生成することを特徴とする請求項1乃至4の何れか一項に記載のコンピュータ装置。
  6. 複数の演算器を有するプロセッサと、複数のメモリポートを有するメモリシステムと、を備えるコンピュータ装置のデータ転送方法において、
    複数の演算器から発行されたメモリリクエストが一のメモリポートに競合する場合に、これら複数のメモリリクエストを1つに圧縮した圧縮リクエストとして発行する第1の過程と、
    前記圧縮リクエストへと圧縮される複数のメモリリクエストの発行元である複数の演算器のうち特定の演算器の番号を示す演算器番号情報と、前記圧縮リクエストが前記一のメモリポートに含まれるメモリアドレスのうち何れのメモリアドレスに対するリクエストであるのかを示すメモリアドレス特定用情報と、を含む圧縮情報を生成する第2の過程と、 前記圧縮リクエストに対するリプライが前記一のメモリポートから前記プロセッサに戻ってきた場合に、該リプライを前記圧縮情報に基づいてリクエスト発行元の演算器に分配する第3の過程と、
    を備えることを特徴とするコンピュータ装置のデータ転送方法。
  7. 前記演算器番号情報は、前記圧縮リクエストへと圧縮される複数のメモリリクエストの発行元である複数の演算器のうち、番号が先頭の演算器の番号を示す情報であることを特徴とする請求項6に記載のコンピュータ装置のデータ転送方法。
  8. メモリアドレス特定用情報は、前記一のメモリポートに含まれるメモリアドレスのうち、メモリリクエストが圧縮されるメモリアドレスの全ての組み合わせパターンのうち、何れか1つのパターンを特定するための情報であることを特徴とする請求項6又は7に記載のコンピュータ装置のデータ転送方法。
  9. 連続する複数の演算器からのメモリリクエストが、前記一のメモリポートに含まれるメモリアドレスのうち番号が連続するメモリアドレスに対するメモリリクエストである場合に、前記第2の過程では、前記演算器番号情報と前記メモリアドレス特定用情報とを含む前記圧縮情報を生成することを特徴とする請求項6乃至8の何れか一項に記載のコンピュータ装置のデータ転送方法。
  10. 前記第2の過程では、メモリリクエストが前記圧縮リクエストであるか否かを示す圧縮有無情報を更に含む圧縮情報を生成することを特徴とする請求項6乃至9の何れか一項に記載のコンピュータ装置のデータ転送方法
JP2006072822A 2006-03-16 2006-03-16 コンピュータ装置及びそのデータ転送方法 Expired - Fee Related JP4918794B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006072822A JP4918794B2 (ja) 2006-03-16 2006-03-16 コンピュータ装置及びそのデータ転送方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006072822A JP4918794B2 (ja) 2006-03-16 2006-03-16 コンピュータ装置及びそのデータ転送方法

Publications (2)

Publication Number Publication Date
JP2007249651A JP2007249651A (ja) 2007-09-27
JP4918794B2 true JP4918794B2 (ja) 2012-04-18

Family

ID=38593871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006072822A Expired - Fee Related JP4918794B2 (ja) 2006-03-16 2006-03-16 コンピュータ装置及びそのデータ転送方法

Country Status (1)

Country Link
JP (1) JP4918794B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5182175B2 (ja) * 2009-03-18 2013-04-10 日本電気株式会社 情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0746323B2 (ja) * 1985-08-14 1995-05-17 富士通株式会社 部分書込みアクセスを圧縮する主記憶装置
JPH0368045A (ja) * 1989-08-07 1991-03-25 Fujitsu Ltd 主記憶制御方式
JP3038257B2 (ja) * 1991-07-30 2000-05-08 株式会社東芝 電子計算機

Also Published As

Publication number Publication date
JP2007249651A (ja) 2007-09-27

Similar Documents

Publication Publication Date Title
CN1890630B (zh) 在寄存器和存储器之间移动数据的数据处理设备和方法
JPS6240740B2 (ja)
CN101379481A (zh) 处理元件、混合模式并行处理器系统、处理元件方法、混合模式并行处理器方法、处理元件程序、以及混合模式并行处理器程序
KR19980063551A (ko) 신호 처리 장치 및 소프트웨어
JP2002373115A (ja) 共有キャッシュメモリのリプレイスメント制御方法及びその装置
JP3905552B2 (ja) 複数の命令セットを有するデータ処理装置内における命令エンコード
KR20220107617A (ko) 인메모리 프로세싱을 수행하는 병렬 처리 시스템
US7512290B2 (en) Image processing apparatus with SIMD-type microprocessor to perform labeling
KR100972160B1 (ko) 데이터 액세스 프로그램 명령 인코딩
JPH11306084A (ja) 情報処理装置及び記憶媒体
JP4918794B2 (ja) コンピュータ装置及びそのデータ転送方法
EP2354954A1 (en) Cache system
KR20060017636A (ko) 레지스터 파일과 메모리 간에 데이터 값들을 전송하는데이터 처리 장치 및 방법
EP2204740A1 (en) Memory management process and apparatus for the same
US8285975B2 (en) Register file with separate registers for compiler code and low level code
US5999200A (en) Method and apparatus for automatically controlling the destination of a graphics command in a register file
JP4482356B2 (ja) Simdプロセッサを用いた画像処理方法及び画像処理装置
JP4060960B2 (ja) キャッシュ記憶装置
JP5292934B2 (ja) メモリ制御装置および情報処理装置
JP5019022B2 (ja) データロード方法及びデータ処理装置
US7213127B2 (en) System for producing addresses for a digital signal processor
JP4530042B2 (ja) プロセッサアレイ、プロセッサエレメント複合体、マイクロ命令制御装置およびマイクロ命令制御方法
JP2514473B2 (ja) 並列処理装置
JP2010079361A (ja) プロセッサ、プロセッサのデータ処理方法、情報処理装置
JPH05173778A (ja) データ処理装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20080825

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20090701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100702

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111207

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120117

R150 Certificate of patent or registration of utility model

Ref document number: 4918794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees