JP5348157B2 - 情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法 - Google Patents

情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法 Download PDF

Info

Publication number
JP5348157B2
JP5348157B2 JP2011046596A JP2011046596A JP5348157B2 JP 5348157 B2 JP5348157 B2 JP 5348157B2 JP 2011046596 A JP2011046596 A JP 2011046596A JP 2011046596 A JP2011046596 A JP 2011046596A JP 5348157 B2 JP5348157 B2 JP 5348157B2
Authority
JP
Japan
Prior art keywords
unit
access
address
port
information processing
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
JP2011046596A
Other languages
English (en)
Other versions
JP2012185553A (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 JP2011046596A priority Critical patent/JP5348157B2/ja
Priority to US13/352,802 priority patent/US8806132B2/en
Publication of JP2012185553A publication Critical patent/JP2012185553A/ja
Application granted granted Critical
Publication of JP5348157B2 publication Critical patent/JP5348157B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • G06F9/3455Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results using stride
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0844Multiple simultaneous or quasi-simultaneous cache accessing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Description

本発明は情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法に関し、特にアクセス単位が複数のワード長の記憶部にアクセスを行う情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法に関する。
近年、データを並列処理することで演算能力の向上を実現する情報処理装置(例えば、プロセッサ)が多く提案されている。このような情報処理装置の1つにベクトル演算装置がある。このベクトル演算装置における従来のメモリアクセス方式の例が特許文献1、2に開示されている。
特許文献1では、演算部のワード長と主記憶のワード長が異なる場合には、スループットが低下することが記載されている。そこで、特許文献1では、連続する複数のワードをまとめて主記憶にアクセスすることで性能向上を向上させている。しかしながら、演算部のワード長と主記憶のワード長が異なる場合に主記憶のワードに連続した複数の演算部のワードを割り当てる従来の方式では以下のような性能の低下が引き起こされる。
ここで、特許文献2を例に従来技術について説明する。特許文献2は、ベクトル処理装置のルーティングアドレス生成方法についてのものである。また、当該ベクトル演算装置は、ベクトル演算部と、記憶部と、メモリアクセス制御部とを有する。ベクトル演算部は、ベクトル要素、先頭要素アドレス及び要素間距離を出力してアクセス要求を行う。記憶部は、同時並行処理を行うことが可能な複数のメモリバンクから構成され、複数の接続ポートを有する。メモリアクセス制御部は、ベクトル演算部と記憶部との間で、複数のアクセス要求を記憶部に接続する各接続ポート毎に独立にアクセス制御する。
また、メモリアクセス制御部は、アダー部と、排他的論理和回路と、ルーティングアドレス生成部と、クロスバ部とを有する。アダー部は、ベクトル要素毎のアクセス要求のアクセスアドレスをベクトル演算部から送られてくる先頭要素アドレスと要素間距離との加算によって生成する。排他的論理和回路は、各ベクトル要素毎に、アクセスアドレスの一部であるルーティングアドレスの下位1ビットとアクセスアドレスのルーティングアドレス以外のビットとの排他的論理和をとる。ルーティングアドレス生成部は、該排他的論理和回路の出力をルーティングアドレスの下位1ビットと置き換えて新たなルーティングアドレスとする。競合調停部は、ルーティングアドレス生成部により生成されたルーティングアドレスに従って記憶部と接続する各接続ポート毎にアクセス要求の競合調停を行う。クロスバ部は、前記競合調停部の競合調停に従ってベクトル要素毎のアクセス要求を各接続ポートに出力する。
特許文献2に記載のベクトル演算装置では、上記構成により、一つのアクセス要求に対して生成されるアクセスアドレスに割り当てられる接続ポートの競合を防止してアクセス性能を向上させることができる。
特公平06−103491号公報 特許第3789316号
DDR(Double Data Rate)型のDRAM(Dynamic Random Access Memory)は、情報処理装置の処理速度の向上のために近年主流になってきている。このDRAMでは、連続したアドレスに連続的なアクセスを行うバーストアクセスが行われ、バス幅×バースト数によりアクセス単位が定義される。例えば、DDRではバースト数は2、DDR2ではバースト数は4、DDR3ではバースト数は8である。現在主流となりつつあるDDR3 DIMMでは64ビット(8バイト:以下8Bと表す)のバス幅を有するため、バースト数が8である場合、8Bのデータを8つ連続で転送を行うのでアクセス単位は64Bとなる。つまり、高速なDDR型のDRAMを使用することでアクセス単位が増加する。このように主記憶のアクセス単位が増加し演算部のアクセス長と異なることにより主記憶にアクセスする性能低下が引き起こされている。
ここで、一般的な記憶部に対してベクトル演算部が発行するアクセスアドレスの例を図8〜図10に示す。図8は、ブロックのアドレスとブロック内のアドレスとによりアドレスの指定を行う場合のアクセスアドレスのデータ構造を示す。図9は、メモリインタリーブにより記憶部へのアクセスを行う場合のアクセスアドレスのデータ構造を示す。図10は、ダイレクトマッピング法により記憶部にアクセスする場合におけるアクセスアドレスのデータ構造を示す。
また、記憶部へのメモリアクセス時間を短縮するためにキャッシュを設ける場合がある。情報処理装置では、記憶部へのアクセス要求をアクセス単位で行う。そのため、キャッシュに1つのアクセス単位でアクセスされるデータを全て登録することで記憶部へのアクセス効率が向上する。このようなことから、キャッシュ上でデータを管理する単位(キャッシュライン幅)は、このアクセス単位の整数倍となっている。なお、アクセス単位の増大に伴いキャッシュライン幅は増大する。
従来のメモリアクセス方式では、上記アクセス単位とキャッシュライン幅との少なくとも一方を1ブロックとして扱う。このとき、キャッシュをアクセス単位で分割し、アクセス単位でインタリーブしてデータ転送を行うと、1アクセス単位のデータ幅が増大してメモリアクセス時間が増加する問題があった。また、キャッシュをキャッシュライン幅で分割し、キャッシュライン幅毎にインタリーブしてデータ転送を行うと、1キャッシュライン幅が増大してメモリアクセス時間が増加する問題があった。
より具体的に上記課題を説明する。主記憶へのアクセスにおいて用いられるアクセスアドレスのデータ構造の例を図11、12に示す。この例では、図11に示すように、アクセスアドレスが24ビットで構成される。そして、アクセスアドレスの上位15ビットにポート内アクセスラインアドレスが定義される。また、アクセスアドレスのうちポート内アドレスに続く3ビット(ビットa9、a8、及び、a7)にルーティングアドレスが定義される。さらに、図12に示すように、アクセスアドレスのうち、ポート内アクセスラインアドレスとアクセス単位内アドレス(ビットa6〜a1)を用いてポート内アドレスが生成される。
また、ベクトル演算部が演算器0〜演算器7を有し、演算器0〜演算器7が1処理サイクルで連続したワードに対するアクセスを行う場合におけるベクトル演算部が出力するアクセス要求のタイミングチャートを図13に示す。図13に示す例では、ベクトル演算部は、サイクルT0において、ベクトル要素v0、v1、v2、v3、v4、v5、v6、v7、先頭要素アドレス0B、要素間距離8Bをアクセス要求として出力する。このようなアクセス要求を行うことで、記憶部へのアクセスを効率的に行うことが可能になる。ベクトル演算装置のメモリアクセス制御部は、このアクセス要求を受けて、ベクトル要素v0、v1、v2、v3、v4、v5、v6、v7に対応してアクセスアドレス0B、8B、16B、24B、32B、40B、48B、56Bを生成する。図13では、メモリアクセス制御部が生成するアクセスアドレスを動作タイミング毎に示した。
メモリアクセス制御部のルーティングアドレス生成部が図11に示すようにアクセスアドレス中の3ビットをルーティングアドレスとして選択する。ルーティングアドレスで指定される接続ポートを使用してキャッシュ部3へリクエストが送られる。タイミングT0のアクセス要求に対しては、ベクトル要素v0、v1、v2、v3、v4、v5、v6、v7に対してルーティングアドレス0、0、0、0、0、0、0、0が生成される。つまり、クロスバ部は、タイミングT0のアクセス要求に応じて生成されるアクセスアドレス0B、8B、16B、24B、32B、40B、48B、56Bを全て接続ポート0で処理する。つまり、接続ポート0では、ベクトル要素v0、v1、v2、v3、v4、v5、v6、v7が順に処理される。
そして、記憶部が接続ポート0〜接続ポート7を有し、ベクトル演算部10が演算器0〜演算器7を有していた場合において、図13に示したタイミングチャートに沿ってアクセスされる記憶部のアドレス領域の割り当てを図14に示す。図14に示すように、従来の記憶部の接続ポート0の1アクセスライン幅に、連続するワード(0、8、16、・・・、56バイト目のワード)が格納される。また、他の接続ポートの1アクセスライン幅内にも連続したワードが書き込まれる。
また、図13に示したタイミングチャートに沿ってアクセス要求がなされた場合、タイミングT1でのアクセス要求に応じて生成されるベクトル要素v0、v1、v2、v3、v4、v5、v6、v7のアクセスアドレスである64B、72B、80B、88B、96B、104B、112B、120Bのルーティングアドレスは1となる。つまり、タイミングT1において生成されるルーティングアドレスは1、1、1、1、1、1、1、1となる。よって、タイミングT1のアクセス要求に応じて生成されるアクセスアドレスは接続ポート1を利用して処理される。
ここで、上記手順に沿って、ベクトル演算部10から記憶部へのアクセスが行われ場合の記憶部側のタイミングチャートを図15に示す。図15に示すように、従来のアクセアス方法では、1つのアクセス単位に連続したワードが割り当てられる。また、従来のアクセス方法では、1つのキャッシュライン幅に連続したワードが割り当てられる。そして、従来のアクセス方法では、連続したワードが上記した割り当てとされることに起因して接続ポートを有効に利用することができない期間が発生し、その結果、アクセス時間が増大する問題がある。
本発明にかかる情報処理装置の一態様は、アクセス要求を出力する演算部と、複数の接続ポートと、同時並行処理が可能な複数のメモリとを備え、前記接続ポートに対するアクセス単位が複数ワード長の記憶部と前記演算部から処理サイクル毎に受信する前記アクセス要求に対応する複数のアクセスアドレスを前記複数の接続ポートに振り分けて、1アクセス単位に前記演算部の異なる処理サイクルに属する不連続なワードを含むポート内アドレスを前記接続ポート毎に生成するメモリアクセス制御部と、を有する。
本発明にかかるメモリアクセス制御部の一態様は、アクセス要求を出力する演算部と、複数の接続ポートと、同時並行処理が可能な複数のメモリとを備え、前記接続ポートに対するアクセス単位が複数ワード長の記憶部と、の間において前記アクセス要求に基づき前記記憶部の前記接続ポート毎にポート内アドレスを生成するメモリアクセス制御装置であって、前記アクセス要求に対応した複数のアクセスアドレスのそれぞれを割り当てる接続ポートを指定するルーティングアドレスを生成するルーティングアドレス生成部と、前記ルーティングアドレスに基づき前記アクセスアドレスを割り当てる接続ポートの競合調停を行う競合調停部と、複数の処理サイクルで入力される前記アクセスアドレスに基づき前記ポート内アドレスを生成するポート内アドレス生成部と、前記ポート内アドレスを前記競合調停部の競合調停処理に応じて前記複数の接続ポートのいずれか1つに割り当てるクロスバ部と、を有する。
本発明にかかるアドレス生成方法の一態様は、アクセス要求を出力する演算部と、複数の接続ポートと、同時並行処理が可能な複数のメモリとを備え、前記接続ポートに対するアクセス単位が複数ワード長の記憶部と、を有する情報処理装置におけるアドレス生成方法であって、前記演算部の処理サイクル毎に前記アクセス要求に対応した前記複数のアクセスアドレスを生成し、前記複数のアクセスアドレスを前記複数の接続ポートに振り分けて、1アクセス単位に前記演算部の異なる処理サイクルに属する不連続なワードを含むポート内アドレスを前記接続ポート毎に生成する。
本発明にかかる情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法によれば、アクセス単位が複数ワード長の記憶部を利用しながらアクセス時間を短縮することができる。
実施の形態1にかかる情報処理装置のブロック図である。 実施の形態1にかかる情報処理装置で扱われるアクセスアドレスのデータ構造を示す図である。 実施の形態1にかかる情報処理装置で扱われるアクセスアドレスのデータ構造を示す図である。 実施の形態1にかかる情報処理装置が出力するアクセス要求のタイミングチャートである。 実施の形態1にかかる情報処理装置の記憶部側のタイミングチャートである。 実施の形態1にかかる情報処理装置の記憶部のアドレス領域の割り当てを示す図である。 実施の形態2にかかる情報処理装置のブロック図である。 従来の一般的なアクセスアドレスのデータ構造の一例を示す図である。 従来の一般的なアクセスアドレスのデータ構造の一例を示す図である。 従来の一般的なアクセスアドレスのデータ構造の一例を示す図である。 従来のベクトル演算部が記憶部に対してアクセスを行う場合のアクセスアドレスのデータ構造の一例を示す図である。 従来のベクトル演算部が記憶部に対してアクセスを行う場合のアクセスアドレスのデータ構造の一例を示す図である。 従来のベクトル演算部が出力するアクセス要求のタイミングチャートである。 従来のベクトル演算部の記憶部のアドレス領域の割り当てを示す図である。 従来のベクトル演算部の記憶部側のタイミングチャートである。
実施の形態1
以下、図面を参照して本発明の実施の形態について説明する。以下の説明では、情報処理装置の一例としてベクトル演算装置について説明する。しかし、本発明は、ベクトル演算装置に限らず、演算器(CPU等)とメモリとの間でデータ転送を行う装置であれば適用可能である。
まず、図1に本実施の形態にかかる情報処理装置のブロック図を示す。図1に示すように情報処理装置1は、ベクトル演算部10、記憶部20、メモリアクセス制御部40を有する。なお、図1に示す情報処理装置では、記憶部20は主記憶部21とキャッシュ部31とにより構成される。なお。記憶部20は、複数の接続ポートと、同時並行処理が可能な複数のメモリとを備え、接続ポートに対して複数ワード長のアクセス単位でアクセスがなされる。
なお、本実施の形態では、説明を簡単にするために、同時処理可能なベクトル要素を8要素、記憶部20への接続ポートを8ポート、記憶部20のアクセス単位を8ワード、キャッシュラインライン幅を8ワードとした場合を例として述べる。
ベクトル演算部10は、本願発明における演算部に相当するものである。ベクトル演算部10は、処理に応じてアクセス要求を出力する。より具体的には、ベクトル演算部10は、1処理サイクルで8つのベクトル要素v0〜v7と、先頭要素アドレスと、要素間距離を出力して、ベクトル要素毎のリクエストを行う。
主記憶部21は、同時並行処理が可能な複数のメモリ(例えば、メモリブロックMEM)を備える。このメモリブロックMEMは、接続ポート毎に設けられる。主記憶部21は、8個の接続ポートを有し、ベクトル演算部10で扱われるデータを格納し、メモリアクセスがなされる。
キャッシュ部31は、接続ポート毎に設けられ、1つのキャッシュライン幅に少なくとも前記1アクセス単位以上のデータを格納する。このキャッシュ部31ではキャッシュ部の1キャッシュライン幅(図1に示す例ではキャッシュCHとして示した)内に不連続なワードに割り当てられた複数のデータが格納される。図1に示す例では、接続ポート数を8個としたため、主記憶部21がメモリブロックMEMを8個有し、キャッシュ部31もキャッシュCHを8個有する。そして、1つの接続ポートに対して1個のメモリブロックMEMとキャッシュCHが接続される。
なお、主記憶部21内のメモリブロックMEMは、一度のアクセスで8ワード分のデータに対して処理を行い、8ワードの分のデータのうち所望のワードのデータの読み出し及び書き込みを行う。この一度のアクセスを8処理サイクルで行うとする。また、キャッシュ部31内のキャッシュCHもメモリブロックMEMと同様に一度のアクセスで8ワード分のデータに対して処理を行い、8ワードの分のデータのうち所望のワードのデータの読み出し及び書き込みを行う。この一度のアクセスを8処理サイクルで行うとする。つまり、キャッシュ部31の複数の接続ポートは、メモリアクセス制御部40から並列してアクセスされる。
メモリアクセス制御部40は、ベクトル演算部10から処理サイクル毎に受信するアクセス要求に対応する複数のアクセスアドレスを複数の接続ポートに振り分けて、1アクセス単位にベクトル演算部10の異なる処理サイクルに属する不連続なワードを含むポート内アドレスを接続ポート毎に生成する。
また、メモリアクセス制御部40は、アドレス生成部41、アドレスレジスタ42、ルーティングアドレス生成部43、競合調停部44、ポート内アドレス生成部45、クロスバ部46を有する。アドレス生成部41は、先頭要素アドレスと、要素間距離情報とに基づき8個のアクセスアドレスを生成する。そして、8個のアクセスアドレスは、アドレスレジスタ42の所定の領域に格納される。また、アドレスレジスタ42は、アクセスアドレスに加えて、ベクトル要素v0〜v7を格納する。ルーティングアドレス生成部43は、アクセスアドレスを割り当てる接続ポートを指定するルーティングアドレスを生成する。つまり、ルーティングアドレス生成部43は、アクセスアドレスに従って要素毎のリクエストを送出するポートを指定するルーティングアドレスを生成する。競合調停部44は、ルーティングアドレスに基づき複数のアクセスアドレスのそれぞれを割り当てる接続ポートの競合調停を行う。つまり、競合調停部44は、ルーティングアドレスに基づきポート毎に送出する要素毎のリクエストを決定する競合調停を行う。ポート内アドレス生成部45は、複数の処理サイクルで入力されるアクセスアドレスに基づきポート内アドレスを生成する。つまり、ポート内アドレス生成部45は、要素毎のアクセスアドレスに従って各ポート内のアドレスを指定するポート内アドレスを生成する。クロスバ部46は、ポート内アドレスを競合調停部44の競合調停処理に応じて複数の接続ポートのいずれか1つに割り当てる。つまり、クロスバ部46は、競合調停部44の競合調停に従って要素毎のリクエストを各接続ポートに出力する。
続いて、実施の形態1にかかる情報処理装置1の動作について説明する。まず、情報処理装置1におけるアクセスアドレス、ルーティングアドレス、及びポート内アドレスの生成手順について説明する。情報処理装置1では、これらのアドレスはメモリアクセス制御部40において生成される。メモリアクセス制御部40のアドレス生成部41は、先頭要素アドレスと要素間距離とを加算するアダー部においてアクセスアドレスを生成する。つまり。アドレス生成部41では、先頭要素アドレスと要素間距離とを加算してアクセスアドレスを生成する。実施の形態1では、ベクトル要素v0、v1、v2、v3、v4、v5、v6、v7、先頭要素アドレス0B、要素間距離8Bのアクセス要求があった場合、アクセスアドレスとして0B、8B、16B、24B、32B、40B、48B、56Bが生成される。図2、3にアクセスアドレスのデータ構造を示す。なお、図2は、ルーティングアドレスの生成を説明するために用いる図であり、図3は、ポート内アドレスの生成を説明するために用いる図である。なお、図2、3に示すように、アクセスアドレスのうちa9〜a1以外の上位ビットにポート内アクセスラインアドレスが定義されている。
続いて、図2を用いてルーティングアドレス生成部43の動作について説明する。ルーティングアドレス生成部43では、アクセスアドレスのa6、a5及びa4の3ビットに基づきルーティングアドレスを生成する。
また、図3を用いてポート内アドレス生成部45の動作について説明する。ポート内アドレス生成部45は、ルーティングアドレス生成に用いられるa6〜a4を除く、ポート内アクセスラインアドレスと、a9〜a7およびa3〜a1と、によりポート内アドレスを生成する。なお、アクセスアドレスのa9〜a7及びa3〜a1の6ビットは、アクセス単位内のアドレスを示す。
続いて、情報処理装置1の全体の動作について説明する。ベクトル演算部10において8Bデータの配列を先頭要素から順次処理していく場合には、要素間距離は8Bとなる。このケースでの動作を図4及び図5のタイミングチャートを用いて説明する。例として先頭要素アドレスは0Bとする。まず、実施の形態1にかかる情報処理装置1のベクトル演算部10が出力するアクセス要求のタイミングチャートを図4に示す。図4は、ベクトル演算部10の処理サイクル毎(タイミングT0〜T7の各タイミング)にベクトル演算部10がアクセス要求するワードを示している。また、図4は、ベクトル演算部10が演算器0〜演算器7を有する例である。図4に示すように、ベクトル演算部10は、1処理サイクルで連続した8つのワードをアクセス要求する。
この図4に示されるアクセス要求に対して、メモリアクセス制御部40は、1つのアクセス単位に不連続なワードを割り当てたポート内アドレスを生成する。具体的には、図4のタイミングT0で、ベクトル演算部10がベクトル要素v0〜v7、先頭要素アドレス0B、要素間距離8Bを出力してアクセス要求を行った場合、アドレス生成部41は、ベクトル要素v0〜V7のそれぞれに対応するアクセスアドレスとして0B、8B、16B、24B、32B、40B、48B、56Bを生成する。当該アクセスアドレスは、アドレスレジスタ42に格納される。そして、ルーティングアドレス生成部43は、アドレスレジスタ42に格納された要素毎のアクセスアドレスに基づきルーティングアドレス0、1、2、3、4、5、6、7を生成する。このルーティングアドレスによると、タイミングT0におけるアクセス要求では接続ポートの競合は発生しないため、競合調停部44は、このルーティングアドレスに応じてクロスバ部46に接続ポートの割り当て指示を行う。
そして、ポート内アドレス生成部45は、アドレスレジスタ45に格納された要素毎のアクセスアドレスに基づきポート内アドレスを生成する。クロスバ部46は、競合調停部44の調停結果に応じて、ベクトル要素v0〜v7に対応するポート内アドレスを接続ポート0〜接続ポート7に振り分ける。
メモリアクセス制御部40は、処理サイクル毎に出力するアクセス要求に対してそれぞれ上記動作を行う。これにより、メモリアクセス制御部40が1つの接続ポートに対して時間的に連続して生成されるポート内アドレスは、不連続なワードについてのものとなる。つまり、接続ポート毎に定義されるアクセス単位は、不連続なワードを含むポート内アドレスにより構成される。そこで、情報処理装置の記憶部20側のタイミングチャートを図5に示す。図5に示すように、接続ポート0〜接続ポート7には、それぞれ不連続なワードが割り当てられる。また、1つのアクセス単位には、不連続なワードが割り当てられることがわかる。さらに、図5に示すように、実施の形態1にかかる情報処理装置1では、記憶部20へのアクセアスにおいて接続ポートが効率的に利用され、接続ポート毎のアクセス開始とアクセス終了にずれがなく、全データに対するアクセス時間が1アクセス単位で完了していることがわかる。
このような、メモリアクセス制御部40によりアクセスされる記憶部20のアドレス領域の割り当てを図6に示す。図6に示すように、実施の形態1にかかる情報処理装置1の記憶部20では、1つの接続ポートに対応するアドレス領域に不連続なワードが格納される。言い換えると、隣り合う接続ポートに連続するワードが格納される。これは、メモリアクセス制御部40が1つの接続ポートの1アクセス単位に不連続なワードを割り当てているためである。また、図6に示すように、1つのキャッシュライン幅(例えば、図6の接続ポートのアドレス領域の1行)には不連続なワードが割り当てられる。
上記説明より、実施の形態1にかかる情報処理装置1では、メモリアクセス制御部40が複数のワードのアクセスを1アクセス単位としたときに、当該1アクセス単位に不連続なワードを割り当てたポート内アドレスを生成する。また、メモリアクセス制御部40は、1処理サイクルのアクセス要求に対応して生成される複数のアクセスアドレスをそれぞれ別の接続ポートに振り分ける。
これにより、実施の形態1にかかる情報処理装置1では、いずれの動作サイクルにおいても接続ポートの利用状況に空きが生じることを防止して、接続ポートの利用効率を向上させる。また、実施の形態1にかかる情報処理装置1では、接続ポートの利用効率を向上させることでベクトル演算部10と記憶部20とのアクセス時間を短縮する。例えば、図5に示した実施の形態1にかかる情報処理装置1のアクセス時間と、当該図5に示すものと同じアクセス要求に対応する図15の従来例のアクセス時間と、を比べると実施の形態1にかかる情報処理装置1は従来例の半分のアクセス時間でアクセスが完了している。
実施の形態2
実施の形態2にかかる情報処理装置2のブロック図を図7に示す。図7に示すように、情報処理装置2では、情報記憶装置1のキャッシュ部31が除かれ、記憶部20が主記憶部21のみで構成される。つまり、情報処理装置2では、メモリアクセス制御部40は、主記憶部21に直接アクセスする。
このような場合、1アクセス単位でアクセスがなされる主記憶部21のアクセスデータ幅内に不連続なワードを割り当てる。これにより、情報処理装置2のメモリアクセス制御部40は、情報処理装置1のメモリアクセス制御部40と同じ処理手順で動作できる。つまり、情報処理装置2は、情報処理装置1と同様にアクセアス時間を短縮することが可能である。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
1、2 情報処理装置
10 ベクトル演算部
20 記憶部
21 主記憶部
31 キャッシュ部
40 メモリアクセス制御部
41 アドレス生成部
42 アドレスキャッシュ部
43 ルーティングアドレス生成部
44 競合調停部
45 ポート内アドレス生成部
46 クロスバ部

Claims (7)

  1. アクセス要求を出力する演算部と、
    複数の接続ポートと、同時並行処理が可能な複数のメモリとを備え、前記接続ポートに対するアクセス単位が複数ワード長の記憶部と、
    前記演算部から処理サイクル毎に受信する前記アクセス要求に対応する複数のアクセスアドレスを前記複数の接続ポートに振り分けて、1アクセス単位に空間的に不連続なワードを含むポート内アドレスを前記接続ポート毎に生成するメモリアクセス制御部と、を有し、
    前記メモリアクセス制御部は、
    前記アクセスアドレスを割り当てる接続ポートを指定するルーティングアドレスを生成するルーティングアドレス生成部と、
    前記ルーティングアドレスに基づき前記複数のアクセスアドレスのそれぞれを割り当てる接続ポートの競合調停を行う競合調停部と、
    複数の処理サイクルで入力される前記アクセスアドレスに基づき前記ポート内アドレスを生成するポート内アドレス生成部と、
    前記ポート内アドレスを前記競合調停部の競合調停処理に応じて前記複数の接続ポートのいずれか1つに割り当てるクロスバ部と、を有する情報処理装置。
  2. 前記演算部は、前記アクセス要求としてベクトル要素と、先頭要素アドレスと、要素間距離情報と、を出力するベクトル演算部であり、
    前記メモリアクセス制御部は、前記先頭要素アドレスと前記要素間距離情報とに基づき前記複数のアクセスアドレスを生成するアドレス生成部をさらに有する請求項に記載の情報処理装置。
  3. 前記記憶部の前記複数の接続ポートは、前記メモリアクセス制御部から並列してアクセスされる請求項1又は2に記載の情報処理装置。
  4. 前記記憶部は、前記接続ポート毎に設けられ、1つのキャッシュライン幅に少なくとも前記1アクセス単位以上のデータを格納するキャッシュ部を有し、
    前記キャッシュ部の1キャッシュライン幅内に前記不連続なワードに割り当てられた複数のデータが格納される請求項1乃至のいずれか1項に記載の情報処理装置。
  5. アクセス要求を出力する演算部と、複数の接続ポートと、同時並行処理が可能な複数のメモリとを備え、前記接続ポートに対するアクセス単位が複数ワード長の記憶部と、の間において前記アクセス要求に基づき前記記憶部の前記接続ポート毎にポート内アドレスを生成するメモリアクセス制御装置であって、
    前記アクセス要求に対応した複数のアクセスアドレスのそれぞれを割り当てる接続ポートを指定するルーティングアドレスを生成するルーティングアドレス生成部と、
    前記ルーティングアドレスに基づき前記アクセスアドレスを割り当てる接続ポートの競合調停を行う競合調停部と、
    複数の処理サイクルで入力される前記アクセスアドレスに基づき前記ポート内アドレスを生成するポート内アドレス生成部と、
    前記ポート内アドレスを前記競合調停部の競合調停処理に応じて前記複数の接続ポートのいずれか1つに割り当てるクロスバ部と、
    を有するメモリアクセス制御装置。
  6. アクセス要求を出力する演算部と、複数の接続ポートと、同時並行処理が可能な複数のメモリとを備え、前記接続ポートに対するアクセス単位が複数ワード長の記憶部と、を有する情報処理装置におけるアドレス生成方法であって、
    前記演算部の処理サイクル毎に前記アクセス要求に対応した前記複数のアクセスアドレスを生成し、
    前記アクセスアドレスを割り当てる接続ポートを指定するルーティングアドレスを生成し、
    前記ルーティングアドレスに基づき前記複数のアクセスアドレスのそれぞれを割り当てる接続ポートの競合を調停し、
    複数の処理サイクルで入力される前記アクセスアドレスに基づきポート内アドレスを生成し、
    前記ポート内アドレスを前記競合の調停に応じて前記複数の接続ポートのいずれか1つに割り当てて、1アクセス単位に空間的に不連続なワードを含む前記ポート内アドレスを前記接続ポート毎に生成するアドレス生成方法。
  7. 前記記憶部は、前記接続ポート毎に設けられ、1つのキャッシュライン幅に少なくとも前記1アクセス単位以上のデータを格納するキャッシュ部を有し、
    前記キャッシュ部の1キャッシュライン幅内に前記不連続なワードに割り当てられた複数のデータを格納する請求項に記載のアドレス生成方法。
JP2011046596A 2011-03-03 2011-03-03 情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法 Expired - Fee Related JP5348157B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011046596A JP5348157B2 (ja) 2011-03-03 2011-03-03 情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法
US13/352,802 US8806132B2 (en) 2011-03-03 2012-01-18 Information processing device, memory access control device, and address generation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011046596A JP5348157B2 (ja) 2011-03-03 2011-03-03 情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法

Publications (2)

Publication Number Publication Date
JP2012185553A JP2012185553A (ja) 2012-09-27
JP5348157B2 true JP5348157B2 (ja) 2013-11-20

Family

ID=46754030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011046596A Expired - Fee Related JP5348157B2 (ja) 2011-03-03 2011-03-03 情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法

Country Status (2)

Country Link
US (1) US8806132B2 (ja)
JP (1) JP5348157B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101853983B1 (ko) * 2010-05-11 2018-05-02 프리메탈스 테크놀로지스 유에스에이 엘엘씨 베어링의 슬리브 및 부싱으로부터 유출되는 오일을 추진하는 이격된 임펠러를 갖는 압연 밀 오일 필름 베어링을 위한 네크 밀봉부

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171594B2 (en) * 2012-07-19 2015-10-27 Arm Limited Handling collisions between accesses in multiport memories
CN114896182B (zh) * 2022-05-11 2023-10-20 地平线(上海)人工智能技术有限公司 存储装置、方法、电子设备和存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103491A (ja) 1992-09-21 1994-04-15 Omron Corp 車両の走行監視装置
US6480927B1 (en) * 1997-12-31 2002-11-12 Unisys Corporation High-performance modular memory system with crossbar connections
JP2000148477A (ja) * 1998-11-17 2000-05-30 Nec Corp アドレス計算方法およびその機構
JP3686795B2 (ja) * 1999-08-03 2005-08-24 エヌイーシーコンピュータテクノ株式会社 アドレス生成装置、データ転送処理装置、ベクトル処理装置、ベクトル計算機、情報処理装置
JP3789316B2 (ja) * 2001-05-15 2006-06-21 エヌイーシーコンピュータテクノ株式会社 ベクトル処理装置のルーティングアドレス生成方式
JP2006018412A (ja) * 2004-06-30 2006-01-19 Fujitsu Ltd アドレス生成器および演算回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101853983B1 (ko) * 2010-05-11 2018-05-02 프리메탈스 테크놀로지스 유에스에이 엘엘씨 베어링의 슬리브 및 부싱으로부터 유출되는 오일을 추진하는 이격된 임펠러를 갖는 압연 밀 오일 필름 베어링을 위한 네크 밀봉부

Also Published As

Publication number Publication date
US8806132B2 (en) 2014-08-12
JP2012185553A (ja) 2012-09-27
US20120226863A1 (en) 2012-09-06

Similar Documents

Publication Publication Date Title
JP5040660B2 (ja) 記憶領域割当システム及び方法と制御装置
JP4926963B2 (ja) 多重メモリアクセスレイテンシ時間をサポートするコンピュータメモリシステムにおける性能を改善するためのシステムおよび方法
JP5715644B2 (ja) 高速仮想メモリシステムでデータを保存するためのシステムおよび方法
US7707328B2 (en) Memory access control circuit
US7516264B2 (en) Programmable bank/timer address folding in memory devices
JP4981797B2 (ja) メモリの微小タイリングを行うメモリコントローラ、方法、及びシステム
JP2018018513A (ja) メモリシステム、プロセシングシステム、及びメモリスタックを動作させる方法
US20090097348A1 (en) Integrated circuit including a memory module having a plurality of memory banks
US11699471B2 (en) Synchronous dynamic random access memory (SDRAM) dual in-line memory module (DIMM) having increased per data pin bandwidth
CN110633229A (zh) 用于高带宽存储器通道的dimm
TW202211034A (zh) 處理資料集的方法及系統、以及記憶體模組
CN108139989B (zh) 配备有存储器中的处理和窄访问端口的计算机设备
JP5348157B2 (ja) 情報処理装置、メモリアクセス制御装置及びそのアドレス生成方法
JP5034551B2 (ja) メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
JPH10301842A (ja) メモリ制御装置
JP6159478B2 (ja) データ書き込み方法及びメモリシステム
KR20180006645A (ko) 메모리 버퍼를 포함하는 메모리 시스템
US10963404B2 (en) High bandwidth DIMM
US8539196B2 (en) Hierarchical organization of large memory blocks
US6738840B1 (en) Arrangement with a plurality of processors having an interface for a collective memory
US11755235B2 (en) Increasing random access bandwidth of a DDR memory in a counter application
US20020032838A1 (en) Memory device storing data and directory information thereon, and method for providing the directory information and the data in the memory device
JPWO2009081551A1 (ja) メモリ装置及びその制御方法
JP2001256106A (ja) メモリアクセスシステム
US20150170720A1 (en) Multiple port shared memory

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

R150 Certificate of patent or registration of utility model

Ref document number: 5348157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees