JP6626105B2 - メモリアクセスユニット - Google Patents

メモリアクセスユニット Download PDF

Info

Publication number
JP6626105B2
JP6626105B2 JP2017524011A JP2017524011A JP6626105B2 JP 6626105 B2 JP6626105 B2 JP 6626105B2 JP 2017524011 A JP2017524011 A JP 2017524011A JP 2017524011 A JP2017524011 A JP 2017524011A JP 6626105 B2 JP6626105 B2 JP 6626105B2
Authority
JP
Japan
Prior art keywords
memory
sample
address
bus
samples
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.)
Active
Application number
JP2017524011A
Other languages
English (en)
Other versions
JP2017539003A (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.)
Renesas Electronics Europe Ltd
Original Assignee
Renesas Electronics Europe 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 Renesas Electronics Europe Ltd filed Critical Renesas Electronics Europe Ltd
Publication of JP2017539003A publication Critical patent/JP2017539003A/ja
Application granted granted Critical
Publication of JP6626105B2 publication Critical patent/JP6626105B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/06Systems determining position data of a target
    • G01S13/08Systems for measuring distance only
    • G01S13/10Systems for measuring distance only using transmission of interrupted, pulse modulated waves
    • G01S13/26Systems for measuring distance only using transmission of interrupted, pulse modulated waves wherein the transmitted pulses use a frequency- or phase-modulated carrier wave
    • G01S13/28Systems for measuring distance only using transmission of interrupted, pulse modulated waves wherein the transmitted pulses use a frequency- or phase-modulated carrier wave with time compression of received pulses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/52Discriminating between fixed and moving objects or between objects moving at different speeds
    • G01S13/522Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves
    • G01S13/524Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves based upon the phase or frequency shift resulting from movement of objects, with reference to the transmitted signals, e.g. coherent MTi
    • G01S13/5246Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves based upon the phase or frequency shift resulting from movement of objects, with reference to the transmitted signals, e.g. coherent MTi post processors for coherent MTI discriminators, e.g. residue cancellers, CFAR after Doppler filters
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/87Combinations of radar systems, e.g. primary radar and secondary radar
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/52Discriminating between fixed and moving objects or between objects moving at different speeds
    • G01S13/522Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves
    • G01S13/524Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves based upon the phase or frequency shift resulting from movement of objects, with reference to the transmitted signals, e.g. coherent MTi
    • G01S13/53Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves based upon the phase or frequency shift resulting from movement of objects, with reference to the transmitted signals, e.g. coherent MTi performing filtering on a single spectral line and associated with one or more range gates with a phase detector or a frequency mixer to extract the Doppler information, e.g. pulse Doppler radar
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement

Description

発明の分野
本発明は、メモリアクセスユニットに、および1つ以上のメモリアクセスユニットを含むメモリコントローラに関する。
背景
電動車両には、危険な状況を検出するためのさまざまな形態のセンサが装備されつつある。これらのセンサは、多次元の大量のデータを生成する。理想的には、サンプルがメモリに連続して記憶されて、ハードウェアアクセラレータがそれらを効率的に処理するのを可能にすべきである。しかし、1つより多くの次元でサンプルを処理することが必要である場合が多い。
1つの解決策は、処理ステップ同士の間でサンプルを再順序付けすることである。しかし、これによって計算オーバーヘッドおよびメモリ要件が増大する。
別の解決策は、データを直交次元で読出すことを可能にするメモリを使用することである。そのようなメモリの例はWO 2009/003115 A1に記載されている。
概要
本発明は、固定サイズのデータワード(本明細書では「サンプル」と称する)の転送を取扱うためのメモリアクセスユニットを提供することに努める。
本発明の第1の局面によると、m≧1であるm個のデータバスのうちの1つと、k≧2であるk*m個のメモリとの間のd次元アレイのサンプルの転送を取扱うためのメモリアクセスユニットが提供される。メモリアクセスユニットは、k個のアドレス計算機およびk個のサンプルコレクタを含む。各アドレス計算機は、バスアドレスを受信し、それぞれのオフセットを追加してサンプルについてのバスアドレスを生成し、アドレス指定方式に従ってサンプルのバスアドレスから、それぞれのサンプルにアクセスするためのd個の次元の各々におけるそれぞれのアドレスを生成するように構成される。各サンプルコレクタは、バスデータワード内の予め定められた位置とk*m個のメモリのうちの1つとの間でサンプルを転送するために、k*m個のメモリのうちの1つについてメモリ選択を生成するように動作可能である。各サンプルコレクタは、各サンプルコレクタがk個のメモリのうちの異なる1つを選択することによってサンプルコレクタがk*m個のメモリのうちのk個に同時にアクセスすることができるように、d個の次元の各々におけるアドレスに依存してそれぞれのメモリ選択を計算するように構成される。単一のバスについて、m=1かつk*m=kである。各サンプルコレクタは、k*m個のメモリのうちのそれぞれ1つにまたはそれぞれ1つからそれぞれのサンプルを転送するように動作可能であってもよい。
ゆえに、次元の順にサンプルを再順序付けすることなく、いずれの次元に沿ってもサンプルにアクセス(読出または書込)可能である。
サンプルデータ幅とサンプルストレージデータ幅は同一であってもよい。サンプルデータ幅は、サンプルストレージデータ幅の整数倍数(たとえば2倍)であってもよい。サンプルデータ幅は、たとえば、32ビットで構成される4バイト、もしくは64ビットで構成される8バイトであってもよく、またはこれらに設定可能であってもよい。ストレージデータ幅は、たとえば、32ビットで構成される4バイトであってもよい。しかし、他のストレージデータ幅を用いてもよい。データバス幅は、128ビットで構成される16バイト、または256ビットで構成される32バイトであってもよい。
メモリアクセスユニットは、d個の次元の各々におけるサンプルの数および/またはサンプルデータ幅を変更可能に設定するためのレジスタのセットをさらに含んでいてもよい。
次元の数dは、2もしくは3であってもよく、またはこれらに設定可能であってもよい。
各サンプルコレクタは、d個の次元の各々におけるアドレスの合計に依存してメモリ選択を計算するように構成されてもよい。
各サンプルコレクタは、以下を用いてメモリ選択CSを計算するように構成されてもよい:
各アドレス計算機はインデックスを生成するように構成されてもよい。これは、サンプルデータ幅がサンプルストレージデータ幅より大きい場合に用いられ得る。
各サンプルコレクタは、以下を用いてメモリ選択CSを計算するように構成されてもよい:
ここでw_sはサンプルデータ幅であり、w_mはメモリデータ幅である。
各アドレス計算機は、各次元における直線的に増加するワードアドレス、サンプルデータ幅およびサンプルの数に依存してそれぞれのアドレスを計算するように構成されてもよい。
各アドレス計算機は、バスアドレスを受信し、それぞれのオフセットに基づいてバスアドレスを調整するように構成されてもよい。ゆえに、アドレス計算機は、アドレスのそれぞれのセットを生成することができ、ゆえにさまざまなメモリ選択を生成することができる。
メモリアクセスユニットは、アドレス計算機およびサンプルコレクタに結合されたバスインターフェイスをさらに含んでいてもよい。バスインターフェイスは、バスアドレスをアドレス計算機の各々に渡すように構成されてもよい。
メモリアクセスユニットは好ましくはハードウェアロジックで実現される。
メモリアクセスユニットは、データバスとk*m個のメモリとの間のd次元アレイのサンプルの転送を取扱うのに好適であり得、k*m個のメモリはm個のデータバスによって共有される。
本発明の第2の局面によると、少なくとも1つのメモリアクセスユニットを含むメモリコントローラが提供される。
メモリコントローラは、少なくとも2つのメモリアクセスユニットを含んでいてもよい。少なくとも2つのメモリアクセスユニットは、レジスタの共通(または「グローバル」)セットにアクセスしてもよい。
メモリコントローラは、m個のデータバスとk*m個のメモリとの間のd次元アレイのサンプルの転送を取扱うためのm個のメモリアクセスユニットを含んでいてもよい。
本発明の第3の局面によると、メモリコントローラとk*m個のメモリとを含むメモリシステムが提供され、k*m個のメモリの各セットは、m個のメモリアクセスユニットに動作可能に接続される。
1つのデータバスが存在してもよく、すなわちm=1であってもよい。1つより多くのデータバスが存在してもよく、すなわちm≧2であってもよい。2個から10個、またはそれ以上のデータバスが存在してもよく、すなわち10≧m≧2またはm>10であってもよい。
本発明の第4の局面によると、メモリアクセスユニットまたはメモリコントローラを含む集積回路が提供される。
集積回路はマイクロコントローラであってもよい。集積回路は特定用途向け集積回路(ASIC)であってもよい。集積回路はシステムオンチップ(SoC)であってもよい。集積回路はハードウェアアクセラレータであってもよい。集積回路はグラフィック処理ユニット(GPU)であってもよい。集積回路はデジタル信号プロセッサ(DSP)であってもよい。
本発明の第5の局面によると、メモリアクセスユニットまたはメモリコントローラを含むコンピューティングデバイスを含む電動車両が提供される。
電動車両は、オートバイ、自動車(「車」とも称する)、マイクロバス、バス、トラックまたはローリーであってもよい。電動車両は内燃機関および/または1つ以上の電気モータによって駆動されてもよい。
本発明の第6の局面によると、m個のデータバスのうちの1つと、k*m個のメモリとの間でd次元アレイのサンプルを転送する方法が提供される。当該方法は、k個のサンプルの各々について、バスアドレスを受信し、それぞれのオフセットを追加してサンプルのバスアドレスを生成することと、アドレス指定方式に従ってサンプルバスアドレスから、次元のうちの1つに沿ってサンプルにアクセスするためのd個の次元の各々におけるそれぞれのアドレスを生成することと、バスデータワード内の予め定められた位置とk*m個のメモリのうちの1つとの間でサンプルを転送するために、k*m個のメモリのうちのそれぞれ1つについてメモリ選択を生成することとを含み、メモリ選択を生成することは、k個のサンプルがk*m個のメモリのうちのk個に同時に書込むかまたはk個から同時に読出すことができるように、d個の次元の各々におけるアドレスに依存してメモリ選択を計算することを含む。
当該方法は、当該方法によって1つのユニット(またはモジュール)および他のユニットがk*m個のメモリに同時にアクセスできるように、当該1つのユニットによって実行可能である。
当該方法は好ましくはハードウェアで実現される方法である。ユニット(またはモジュール)は論理ユニット(または「論理モジュール」)であってもよい。
本発明の第7の局面によると、1つ以上のプロセッサによって実行されると、当該1つ以上のプロセッサに当該方法を実行させる命令を含むコンピュータプログラムが提供される。
本発明の第8の局面によると、当該コンピュータプログラムを保持または記憶するコンピュータ読取可能媒体(非一時的であってもよい)が提供される。
例として添付の図面を参照して、本発明の特定の実施形態を以下に説明する。
本発明を理解するのに有用なメモリを含むメモリシステムの概略ブロック図である。 図1に示されるメモリに記憶され得るサンプルの単純な二次元アレイを示す図である。 図2に示されるサンプルが直線的に増加するアドレスにどのように記憶されるかを示す図である。 データバスの全幅を用いる第1の次元に沿ってサンプルがどのようにアクセスされ得るかを示す図である。 データバスの全幅を用いない第2の次元に沿ってサンプルがどのようにアクセスされ得るかを示す図である。 本発明に従うメモリおよびメモリアクセスユニットを含むメモリシステムの概略ブロック図である。 構成レジスタを示す図である。 図6に示されるメモリに記憶され得るサンプルの単純な二次元アレイを示す図である。 図6に示されるメモリアクセスユニットを用いて、データバスの全幅を用いる第1の次元に沿ってサンプルがどのようにアクセスされ得るかを示す図である。 図6に示されるメモリアクセスユニットを用いて、データバスの全幅を用いる第2の次元に沿ってサンプルがどのようにアクセスされ得るかを示す図である。 図6に示されるメモリアクセスユニットによって実行される方法の処理フロー図である。 サンプルの三次元アレイを示す図である。 レーダサンプル処理パイプラインの概略ブロック図である。 構成レジスタのためのパラメータの第1のセットと、サンプルデータ幅がメモリデータ幅と同一であるメモリシステムにおけるアドレスおよびチップ選択の第1のセットとを示す図である。 第1、第2、第3および第4のサンプルストレージの内容を示す図である。 図13bに示される第1、第2、第3および第4のサンプルストレージにアクセスする際の第1、第2、第3および第4のサンプルコレクタの動作を示す図である。 図13bに示される第1、第2、第3および第4のサンプルストレージにアクセスする際の第1、第2、第3および第4のサンプルコレクタの動作を示す図である。 図13bに示される第1、第2、第3および第4のサンプルストレージにアクセスする際の第1、第2、第3および第4のサンプルコレクタの動作を示す図である。 構成レジスタのためのパラメータの第2のセットと、サンプルデータ幅がメモリデータ幅の2倍であるメモリシステムにおけるアドレスおよびチップ選択の第2のセットとを示す図である。 第1、第2、第3および第4のサンプルストレージの内容を示す図である。 図14bに示される第1、第2、第3および第4のサンプルストレージにアクセスする際の第1、第2、第3および第4のサンプルコレクタの動作を示す図である。 図14bに示される第1、第2、第3および第4のサンプルストレージにアクセスする際の第1、第2、第3および第4のサンプルコレクタの動作を示す図である。 図14bに示される第1、第2、第3および第4のサンプルストレージにアクセスする際の第1、第2、第3および第4のサンプルコレクタの動作を示す図である。 バスアドレスを示す図である。 サンプル幅がメモリデータ幅と同一である場合の範囲アドレスマップについての次元アドレスを示す図である。 サンプルデータ幅がメモリデータ幅の2倍である場合の範囲アドレスマップについての次元アドレスを示す図である。 サンプルデータ幅がメモリデータ幅と同一である場合のパルスアドレスマップについての次元アドレスを示す図である。 サンプルデータ幅がメモリデータ幅の2倍である場合のパルスアドレスマップについての次元アドレスを示す図である。 サンプルデータ幅がメモリデータ幅と同一である場合のチャネルアドレスマップについての次元アドレスを示す図である。 サンプルデータ幅がメモリデータ幅の2倍である場合のチャネルアドレスマップについての次元アドレスを示す図である。 本発明に従うメモリとメモリアクセスユニットのアレイとを含むメモリシステムの概略ブロック図である。 構成レジスタを示す図である。 アドレス計算機の概略ブロック図である。 サンプルコレクタの概略ブロック図である。 サンプルストレージモジュールの概略ブロック図である。 バスインターフェイスの概略ブロック図である。 バスタイミング図である。 メモリシステムを含む電動車両を示す図である。
特定の実施形態の詳細な説明
以下の説明では、特に規定のない限り、すべての定数、変数およびレジスタは整数型である。
メモリシステム1
図1は、本発明を理解するのに有用なメモリシステム1の概略ブロック図である。
図1を参照して、メモリシステム1は、n個のランダムアクセスメモリ(RAM)モジュール21,…,2n(ここでnは1より大きい整数である)のアレイの形態のメモリ2を含む。メモリモジュール21,…,2nはメモリマクロの形態を取っていてもよい。メモリシステム1はさらに、メモリ2と、アドレスバス6およびデータバス7で構成されるバス5とを相互に接続する、バス配線3およびメモリアクセス回路4を含む。
メモリアクセス回路4は、アドレス計算機8(「アドレスデコーダ」とも称され得る)と、データマルチプレクサ9と、バスインターフェイス10とを含む。
各メモリモジュール21,…,2nはメモリデータ幅w_mを有する。この例では、メモリデータ幅w_mは128ビットである。この例では、データバス7は128ビット幅である。
アドレス計算機8は、チップ選択信号CSを用いてn個のRAMモジュール21,…,2nから1つのRAMモジュール21,…,2nを選択し、チップ選択およびメモリアドレスバス11を介してメモリアドレスA_Mを用いてアクセスすべきメモリ2の部分を指定する。アドレス計算機8は、バスインターフェイス10を介してアドレスバス6上で受信したバスアドレスA_Bを用いて、チップ選択CSおよびメモリアドレスA_Mを計算する。
書込み転送では、バスデータD_Bがメモリデータバス121,…,12k上に配置される。当該データは、それぞれのアドレスA_Mにおいてチップ選択CSを用いて選択されるとRAMモジュール21,…,2nのうちの1つに記憶される。バスインターフェイスは、バスデータD_Bの一部のみを記憶することを要求することができる。
読出し転送では、選択されたRAMモジュール21,…,2nがメモリデータD_Mをバスインターフェイス10に転送することができる。バスインターフェイス10は、メモリデータD_Mの一部のみを転送することを要求することができる。
さらに図2から図5を参照して、データは固定サイズの単位13(本明細書では「ワード」または「サンプル」と称する)で転送される。各メモリ21,…,2nは、サンプルサイズの整数倍数である幅w_mを有する。この場合、幅w_mは128ビットであり、各サンプル13は4バイト長であり32ビットを含む。ゆえに、全バス幅を用いる場合は、サンプル13をメモリにわたって隣接位置に記憶する(または書込む)べきである。
図2は、x次元およびy次元を有する二次元アレイに配列された4×4個のサンプル13を含む単純な二次元ピクチャ(または「画像」)14を概略的に示す。
図3は、ピクチャ14(図2)が、メモリ2に、すなわち、それぞれ0および1に等しいチップ選択CSを用いてアドレス指定可能な第1および第2のメモリモジュール21,22(図2)内の直線的に増加するアドレスA_Mに、どのように記憶され得るかを示す。
ピクチャ14(図2)はいずれかの次元において、すなわちx次元に沿ってまたはy次元に沿って処理され得る。この例では、サンプル13は、サイクル毎に最大で4個のサンプル13を搬送可能なデータバス7(図1)上で転送され得る。
図4および図5は、それぞれx次元およびy次元に沿ってサンプル13にアクセスすることによってデータが転送される際のバス転送パフォーマンスを示す。
図4に示されるように、x次元に沿ってピクチャ14にアクセスすることによってサンプル13が読出される場合は、データバス7の全幅を利用することができる。しかし、図5に示されるように、y次元に沿ってピクチャ14にアクセスすることによってサンプル13が読出される場合は、一度に、すなわちサイクル毎に、1つのサンプル13しか転送できない。
ゆえに、サンプル13がy次元に沿って読出される場合、パフォーマンスは4倍劣化する。
データ転送がバーストで起こる場合はパフォーマンスがさらに劣化し得る。バスシステムは長い待ち時間を有し得る。アクセス要求がなされた場合は、データを転送する前にいくつかのサイクルを待機することが必要であり得る。したがって、現代のバスシステムは、要求毎に複数のデータワードを連続して(「バースト」と称する)転送する。しかし、バーストでは、データワード毎のアドレスがジャンプせずに直線的に増加することが必要である。したがって、それらを用いてサンプルをy方向に転送することができず、パフォーマンスがさらに低下する。
1つより多くのサンプルがバスワード内で転送される場合は、サンプル順序が記憶順序と一致していない限り、バスの全幅を用いることはできない。しかし、たとえば、画像処理およびレーダアプリケーション、ならびに多次元高速フーリエ変換(FET)処理における場合など、多次元データアクセスまたは転置を伴う他のアプリケーションでは、1つより多くの次元に沿ってサンプルを読出すことが必要である場合が多い。レーダなどのいくつかのアプリケーションは、自動車用アプリケーションである。本発明に従うと、メモリアクセスユニットおよびメモリアクセス方法によって、サンプルの再順序付けを必要とせずに、および/またはバス利用の向上を手助けすることができ、さまざまな次元に沿ってサンプルを読出すことができる。
メモリシステム21
図6は、本発明に従う再構成可能な多次元アクセス可能なメモリシステム21の概略ブロック図である。
図6を参照して、メモリシステム21は、k個のサンプルストレージモジュール221,…,22k(ここでkは1より大きい整数である)のアレイの形態のメモリ22を含む。各サンプルストレージモジュール221,…,22kは、RAMマクロまたは他のRAMモジュールの形態を取る。メモリシステム21は、メモリ22と、アドレスバス26およびデータバス27で構成されるバス25とを相互に接続する、バス配線23およびメモリアクセスユニット24を含む。
メモリアクセスユニット24は、k個のアドレス計算機モジュール281,…,28kのアレイと、k個のサンプルコネクタモジュール291,…,29kのアレイと、共通バスインターフェイス30と、構成レジスタ31のセットとを含む。
各メモリモジュール221,…,22nはメモリデータ幅w_mを有する。メモリデータ幅w_mと最小サンプル幅は同一である。この例では、データバス27は128ビット幅である。しかし、データバス27は、たとえば256ビット幅であるなど、より狭くても広くてもよい。
さらに図6aを参照して、構成レジスタ31は、各次元iに記憶され得るサンプルの数S_iを指定するレジスタ311,312,…,31d(ここでdは1より大きい正の整数である)のセットを含み、ここでi={1,2,…,d}であり、構成レジスタ31はさらに、サンプルデータ幅w_sを指定するレジスタ31Sを含む。メモリデータ幅w_mは、サンプルデータ幅w_sと等しいか、またはその整数倍数である。構成レジスタ31は、メモリシステム21が用いられる前にユーザによって設定される。
再び図6を参照して、アドレス計算機モジュール281,…,28kはバスアドレスA_Bを受信し、バスデータワード内のサンプルの位置Nrに対応するそれぞれのオフセットを追加してそれぞれのサンプルについてのバスアドレスA_B’を得て、アドレス復号化方式に従ってサンプルバスアドレスA_B’をサンプルアドレスA_1,…,A_dのセットおよびサンプルインデックスI_Sに変換する。サンプルについてのバスアドレスA_B’は以下を用いて計算される:
ここでNr=1,2,…,kであり、メモリデータ幅はw_mである。
レーダ信号処理における三次元アクセスのためのアドレス復号化方式の例を以下に説明する。しかし、任意の好適なアドレス復号化方式を用いてもよい。次元アドレスA_Lはアクセス次元に沿った線形アドレスである。
図7は、x次元およびy次元を有する二次元アレイに配列された4×4個のサンプル34を含む単純な二次元ピクチャ(または「画像」)33を概略的に示す。
図7および図8を参照して、i番目のサンプルコレクタ29i(ここでi={1,2,…,k}である)は、バスデータワード内の固定ビット位置[w_m**i−1:w_m**(i−1)]でサンプル34を収集する役割を果たす。
サンプルコレクタ291,…,29kは、要求されたサンプル33が記憶されるまたは記憶されるべきサンプルストレージ221,…,22kを特定し、特定したサンプルストレージ221,…,22kを選択信号CSを用いて選択し、アドレスA_Mにおけるサンプル34の転送(読出または書込)を要求し、バスデータワードD_B内の割当てられた位置でサンプル34を充填するかまたは取出す。
バスデータワードD_B内のサンプル34毎に専用のサンプルコレクタ291,…,29kが存在する。以下により詳細に説明するように、サンプルコレクタ291,…,29kは、チップ選択配列を用いて並列にメモリアクセスを実行するので、サンプルストレージ221,…,22kにおけるアクセス競合が確実になくなる。ゆえに、待機状態を発生させることなく全バスデータ幅を利用することができる。
図8および図9は、それぞれx次元およびy次元に沿ってサンプル34にアクセスすることによってデータが転送される際のバス転送パフォーマンスを示す。
図8に示されるように、x次元に沿ってピクチャ33にアクセスすることによってサンプル34が読出される場合は、データバス27の全幅(この場合は128ビット)を利用することができる。
そして、図9に示されるように、y次元に沿ってピクチャ33にアクセスすることによってサンプル34が読出される場合は、データバス27の全幅を使用することができる。
x次元およびy次元に沿ったアクセスは、全バス幅を、この場合はバスデータワード毎に4つのサンプルを利用することができる。さらに、A_Lはジャンプなしで直線的に増加するため、バーストが可能である。これによってパフォーマンスがさらに向上し得る。たとえば、バス25が10個のパイプラインステージを有する高度拡張インターフェイス(Advanced eXtensible Interface:AXI)バスである場合、単一アクセスに10サイクル/ワードが必要である。16ビートのバーストでは、最初のワードに10サイクル、残りのワードに15サイクルが必要である。平均して、1ワードに25/16=1.6サイクル/ワードが必要である。これは、さらに6倍の高速化である。
ゆえに、サンプルがメモリアドレスに沿って順序付けされている図1に示されるメモリシステム1と比較して、メモリシステム21は24倍速い速度でy次元に沿ってデータを転送することができる。
再び図6および図10を参照して、アクセス要求を受信する(ステップS1)と、アドレス計算機モジュール281,…,28kはバスアドレスA_Bを多次元データアレイの表現に変換する(ステップS2)。
各サンプル34は、その次元アドレスA_1,A_2,…,A_dおよびサンプルインデックスI_Sによってアレイ内でアドレス指定される。サンプル幅w_sがサンプルストレージ幅w_mより大きい場合は、サンプルインデックスI_Sが用いられる。
バスデータワードD_Bは1つより多くのサンプルを含むため、バスアクセスフィールドはどの次元に沿ってアクセスが要求されているかを示す。符号化アクセス方向、線形アドレスA_Lおよびインデックスを特定するいくつかのバスアドレス計算方式が可能である。
各サンプルコレクタ291,…,29kは、以下の式2から5を用いて算出を行う(ステップS3からS6):
−以下を用いてサンプルアドレスA_Sを算出:
−以下を用いて物理ワードアドレスA_Pを算出:
−以下を用いて選択メモリCSを算出:
−以下を用いてメモリ内アドレスA_Mを算出:
ここで、+は加算、−は除算、/は整数除算(端数は切捨て)、%は整数除算の剰余(すなわちモジュロ)、*は整数乗算である。
各サンプルコレクタ291,…,29kはそれぞれのサンプルストレージ221,…,22kにアクセスする(ステップS7)。バスインターフェイスは転送要求に応える(ステップS8)。
選択メモリCSは各次元における隣接サンプルによって異なる。アクセスが次元j(j={1,…,k})に沿って起こる場合は、サンプルアドレスA_jのみが式4において変化する。他のサンプルアドレスA_i(i={1,…,k},i<>j)は一定のままである。しかし、変化する項について、項はアクセスされる次元における隣接アドレスによって異なる。ゆえに、サンプルストレージへの並列アクセスが可能である。
しかし、この配列に例外が存在し、すなわち、トランザクションがアクセス次元境界をまたぐ場合がある。その場合、選択メモリCS内で1つより多くの項が変化する。選択されたサイズに依存して、待機状態が必要となり得る。各次元サイズS_1,S_2,…,S_dがw_m*k/w_sの倍数である場合は、待機状態は起こらない。複数のバスインターフェイスを有し、かつ待機状態を用いるメモリアクセスシステムを以下に説明する。
レーダアプリケーションにおけるメモリシステム21のアプリケーション
図11を参照して、レーダアプリケーションでは、アンテナベクトル(図示せず)からの複数の時間応答がメモリに記憶されて、サンプル36の三次元アレイ35(本明細書では「データキューブ」または単に「キューブ」とも称する)が得られる。アレイ35は、たとえば、範囲次元に沿って512個のサンプル、ドップラー次元に沿って64個のサンプル、およびチャネル次元に沿って8個のサンプルを有し得る。
レーダおよび他のアプリケーションでは、次元の変更にはメモリにおけるサンプルの再順序付け(「コーナーターン」の実行と称する)が必要である。コーナーターンには大量の処理時間が費やされ得る。
図12を参照して、サンプル36がデータキューブ35(図11)としてメモリ22に記憶されるパイプラインを用いて、レーダパルス処理システム41が実現され得る。サンプル36はパルス圧縮ブロック50内に供給され、その出力がメモリ22に記憶される。次いで、サンプル36が読出されてドップラーフィルタリングブロック51内に供給され、その出力がメモリ22に記憶される。サンプルは読出され、前のデータキューブからの重みとともに、ビームフォームブロック53と、次のキューブのために保存される重みを生成する適応重み算出ブロック54とを含む空間−時間適応処理部52内に供給されて記憶される。変換されたサンプル36は読出され、一定誤警報確率(constant false alarm rate:CFAR)検出ブロック55に供給され、当該ブロック55は検出報告56を出力する。
多次元メモリシステム21を用いて、所与の次元についてのバス応答においてサンプル35の正しい連結を記憶し、次いで読出すことができる。したがって、データ再編成を回避することができる。
アドレス計算およびサンプルストレージ選択を示す単純な例
図13aを参照して、単純な例についての構成レジスタのためのパラメータのセット61ならびにアドレスおよびチップ選択のグローバル割当て62が示されており、サンプルデータ幅w_sはメモリデータ幅w_mと同一である。
バスワード毎の最大サンプル数kは4であり、次元の総数dは3であり、メモリデータ幅w_mは4バイトであり、サンプルデータ幅w_sは4バイトである。それぞれS_1,S_2,S_3である第1、第2および第3の次元には4個、5個および2個のサンプルが存在する。
図13aに示されるように、次元アドレスA_1,A_2,A_3、サンプルアドレスA_S、サンプルインデックスI_S、物理ワードアドレスA_P、サンプルストレージ選択CS、およびメモリ内アドレスA_Mの値が表にされている。
図13bを参照して、第1、第2、第3および第4のサンプルストレージ221,222,223,224の内容が示されている。アレイ35内のサンプルアドレスは丸括弧内に示されており、サンプルインデックスは角括弧内に示されている。
図13c、図13dおよび図13eは、3つの次元の各々に沿ってサンプルストレージ221,222,223,224にアクセスする際のサンプルコレクタ291,292,293,294の動作を示す。図13c、図13dおよび図13eは、サンプルコレクタ291,292,293,294毎の線形アクセスアドレスA_L、次元アドレスA_1,A_2,A_3、サンプルインデックスI_S、物理アドレスA_P、サンプルストレージ選択CSおよびメモリアドレスA_Mのアクセスを示す。
図13cは、第1の次元に沿ったサンプルストレージ221,222,223,224へのアクセス、すなわち範囲サンプルを示す。この場合、一度に1つの次元アドレスしか変更されないため、待機状態は不要である。
図13dは、第2の次元に沿ったサンプルストレージ221,222,223,224へのアクセス、すなわちパルスサンプルを示す。この場合、一度に1つより多くの次元アドレスが変更されたとしても、CS競合がないため、待機状態は不要である。
図13eは、第3の次元に沿ったサンプルストレージ221,222,223,224へのアクセス、すなわちチャネルサンプルを示す。この場合、待機状態が必要である。
図14aを参照して、単純な例についての構成レジスタのためのパラメータのセット61ならびにアドレスおよびチップ選択のグローバル割当て62が示されており、サンプルデータ幅w_sはメモリデータ幅w_mの2倍である。
図14bは第1、第2、第3および第4のサンプルストレージ221,222,223,224の内容を示し、図14c、図14dおよび図14eは、3つの次元の各々に沿ってサンプルストレージ221,222,223,224にアクセスする際のサンプルコレクタ291,292,293,294の動作を示す。
レーダデバイスのためのバスアドレス復号化方式
再び図6を参照して、アドレス計算機291,…28kはアドレス復号化方式を使用して、バスアドレスA_Bから次元アドレスA_1,…,A_dを生成する。
次に、図15を参照してアドレス復号化方式を説明する。
図15は、ベースフィールド64、次元アクセスモード(DIM)フィールド65および線形アドレスA_L66を含むバスアドレスA_B’63(すなわち所与のサンプルについての位置調整後のバスアドレスA_B)を示す。固定パラメータとして、メモリデータ幅w_mは4バイトであり、次元の数は3である。
範囲アドレス指定モード
範囲アドレス指定モードは、DIMを0に、すなわち2b00に設定することによって選択され得る。第1、第2および第3の次元アドレスA_1,A_2およびA3は以下のように計算される:
また、サンプル幅をメモリ幅と同一であるように、すなわちw_s=w_mであるように設定し、次元サイズS_1,…,S_dを最大物理メモリサイズであるように設定することによって、範囲アドレス指定モードを用いて従来の方法でメモリにアクセスすることができる。
パルスアドレス指定モード
パルスアドレス指定モードは、DIMを1に、すなわち2b01に設定することによって選択され得る。第1、第2および第3の次元アドレスA_1,A_2およびA3は以下のように計算される:
チャネルアドレス指定モード
チャネルアドレス指定モードは、DIMを2に、すなわち2b10に設定することによって選択され得る。第1、第2および第3の次元アドレスA_1,A_2およびA3は以下のように計算される:
サンプルインデックス
サンプルインデックスI_Sは以下を用いて計算される:
図16から図21は、式2,3,6−R−1,6−R−2,6−R−3,6−P−1,6−P−2,6−P−3,6−C−1,6−C−2,6−C−3および7を用いて計算される次元アドレスA_1,A_2およびA_3ならびに物理アドレスA_Pの例を示す。
図16および図17を参照して、S_1=4,S_2=2,S_3=3である場合に式6−R−1,6−R−2,6−R−3を用いて計算される範囲アドレスマップについての次元アドレスA_1,A_2およびA_3が示されている。
図18および図19を参照して、S_1=4,S_2=2,S_3=3である場合に式6−P−1,6−P−2,6−P−3を用いて計算されるパルスアドレスマップについての次元アドレスA_1,A_2およびA_3の値が示されている。
図20および図21を参照して、S_1=4,S_2=2,S_3=3である場合に式6−C−1,6−C−2,6−C−3を用いて計算されるチャネルアドレスマップについての次元アドレスA_1,A_2およびA_3の値が示されている。
メモリシステム71
図6を参照して、メモリシステム21は1つのバスのみを有するインターフェイスを含む。しかし、メモリは、サンプルストレージからサンプルコレクタにレディ(RDY)フィードバックを提供することによって、m個のバス(ここでmは1より大きい正の整数である)によってアクセス可能である。たとえば、サンプルを処理するために複数のデジタル信号プロセッサ(DSP)を必要とするのに十分なサンプルがメモリ内に存在し得る。メモリは複数の部分に分割されてもよく、各DSPがメモリのそれぞれの部分を処理する。各DSPはそれぞれのバスを用いてメモリにアクセスする。これによってDSPはデータを並列に処理することができる。たとえば、8個のDSPを用いることができ、これによって8個のバス(すなわちm=8)が必要となる。各バスにはバスマスタ(図示せず)が設けられている。
また、RDYフィードバックを用いて、CS選択における競合に対処することもできる。1つより多くのサンプルコレクタが同一のサンプルストレージにアクセスする場合は、競合はアービタによって解決することができる。
m個のバスインターフェイスをサポートするために、同数のメモリセグメントが存在する。最良の場合、m個のマスタが競合なしで各セグメントにアクセス可能である。
図22を参照して、メモリシステム71は、(k*m)個のサンプルストレージモジュール721,…,72k*m(ここでkは2より大きい整数である)のアレイの形態のメモリ72を含む。メモリシステム71は、メモリ72と、各々がアドレスバス76、データバス77およびRDY信号78で構成されるm個のバス751,…,75mとを相互に接続する、バス配線73およびm個のメモリアクセスユニット741,…,74mを含む。
各メモリアクセスユニット741,…,74mは、k個のアドレス計算機モジュール791,…,79kのアレイと、k個のサンプルコレクタモジュール801,…,80kのアレイと、共通バスインターフェイス81とを含む。メモリシステム71には構成レジスタ82のセットが設けられている。
各メモリモジュール721,…,72nはメモリデータ幅w_mを有する。この例では、メモリデータ幅w_mは32ビットであり、各データバス77は128ビット幅である。
さらに図22aを参照して、構成レジスタ82は、サンプルの数S_iを指定するレジスタ821,822,…81d(ここでdは1より大きい正の整数である)のセットを含み、ここでi={1,2,…,d}であり、構成レジスタ82はさらに、サンプルデータ幅w_sを指定するレジスタ82Sを含む。サンプルデータ幅w_sは、メモリデータ幅w_mと等しいか、またはその整数倍数である。構成レジスタ82は、メモリシステム71が用いられる前にユーザによって設定される。
図23を参照して、アドレス計算機281,…28k,791,…,79kがより詳細に示されている。
アドレス計算機281,…28k,791,…,79kは、加算器ユニット28a,79aおよびアドレス計算機演算論理ユニット28b,79bを含む。
加算器ユニット28a,79aは、上記の式(1)を用いて、バスアドレスA_Bを調整してバスデータワード内のサンプルの位置Nr=1,2,…,kと一致させる。
アドレス計算機演算論理ユニット28b,79bは、サンプルバスアドレスA_B’を次元アドレスA_1,…,A_dおよびサンプルインデックスI_Sに変換する。異なるアドレス復号化方式も可能である。
図24を参照して、サンプルコレクタ291,…,29k,801,…,80kがより詳細に示されている。
サンプルコレクタ291,…,29k,801,…,80kは、サンプル計算機演算論理ユニット80aおよびマルチプレクサ80bを含む。
m個のバスインターフェイスからの競合なしで並列アクセスをサポートするために、サンプルストレージ選択信号CSはメモリをm個のセグメントに分割し、ここでmは1より大きい正の整数である。各セグメントはS_M個のワードを含む。
セグメント内で、サンプルコレクタ801,…,80kは以下を用いてサンプルストレージ選択信号CS(MULTIPLE BUS)(以下単にCSとも称する)を計算する:
ここで、CS(SINGLE)は上記の式4を用いて計算され得る。
サンプルコレクタ801,…,80kは、以下の式4’を用いてメモリ内アドレスA_Mを計算する:
D_Bは、転送方向(読出/書込)に依存して双方向性である。
RDYは、複数のマスタがある場合におよび/または複数のサンプルコレクタが同一のRAMモジュールにアクセスする場合にバスが待機する必要があることを示す。
図25を参照して、サンプルストレージモジュール221,…,22k*m,721,…,72k*mがより詳細に示されている。
サンプルストレージモジュール221,…,22k*m,721,…,72k*mは、RAMマクロ22a,72aと、マルチプレクサ22b,72bと、アービタ22c,72cと、比較器22d(1),…,22d(k*m),72d(1),…,72d(k*m)とを含む。
各サンプルストレージ721,…,72k*mは、その数Nrと一致するCS要求にのみ反応し、ここでNr={1,…,k*m}である。アービタ72cは、たとえばラウンドロビンなどの好適なポリシーによってすべてのアクティブなCS要求から1つの要求を選択する。すべての他のサンプルコレクタ801,…,80kはRDY信号を用いて一時停止される。
RAM72aは、方向(読出または書込)に依存してデータワード転送を取扱う。
図26を参照して、バスインターフェイス81がより詳細に示されている。
バスインターフェイス81は、連結ブロック81aおよびk入力ANDゲート81bを含む。
各サンプルコレクタ801,…,80kはバスワード内の固定サンプル位置を取扱う。バスインターフェイス81は、各サンプルコレクタ801,…,80kからのデータD_Mをバスデータとして出力するために連結する。すなわち、
である。
k入力ANDゲート81bは、サンプルコレクタ801,…,80kからRDY(1),…,RDY(k)を受信してRDY信号を出力する。
図27を参照して、アドレス計算がタイミングクリティカルである場合、当該計算はバースト特性が維持されるという条件でパイプライン化され得る。
図27は、バーストの開始時に1サイクルだけAHBバスを停止してC_SおよびA_Mを算出することを示す。
図28を参照して、電動車両91が示されている。
電動車両91は、センサ(図示せず)および1つ以上のメモリシステム21,71を含む先進運転支援システム(advanced driver assistance system:ADAS)92を含む。
上に記載された実施形態に対して多くの変更がなされ得ることが認識されるであろう。

Claims (15)

  1. m≧1であるm個のデータバス(27;77)のうちの1つと、k≧2であるk*m個のメモリ(221,…,22k;721,…,72k*m)との間のd次元アレイのサンプルの転送を取扱うためのメモリアクセスユニット(24;741,…,74m)であって、dは1よりも大きい正の整数であり、前記メモリアクセスユニットは、
    k個のアドレス計算機(281,…,28k;791,…,79 k )を備え、各アドレス計算機は、バスアドレス(A_B)を受信し、それぞれのオフセットを追加してサンプルバスアドレス(A_B’)を生成し、アドレス復号化方式に従って前記サンプルバスアドレスから、サンプルにアクセスするためのd個の前記次元の各々におけるそれぞれのアドレス(A_1,…,A_d)を生成するように構成され、前記メモリアクセスユニットはさらに、
    k個のサンプルコレクタ(291,…,29k;801,…,80 k )を備え、各サンプルコレクタは、バスデータワード内の予め定められた位置と前記k*m個のメモリのうちの1つとの間で前記サンプルを転送するために、前記k*m個のメモリのうちのそれぞれの前記1つについてメモリ選択(CS)を生成するように動作可能であり、
    各サンプルコレクタ(291,…,29k;801,…,80 k )は、各サンプルコレクタが前記k*m個のメモリのうちの異なる1つを選択することによって前記サンプルコレクタが前記k*m個のメモリのうちのk個に同時にアクセスすることができるように、d個の前記次元の各々における前記アドレス(A_1,…,A_d)に依存してそれぞれのメモリ選択(CS)を計算するように構成される、メモリアクセスユニット。
  2. d個の前記次元の各々におけるサンプルの数および/またはサンプル幅を変更可能に設定するためのレジスタ(311,312,…,31d;821,822,…,82d)のセットをさらに備える、請求項1に記載のメモリアクセスユニット。
  3. 次元の数dは、2もしくは3に設定されるかまたは設定可能である、請求項1または2に記載のメモリアクセスユニット。
  4. 各サンプルコレクタ(291,…,29k;801,…,80k)は、d個の前記次元の各々における前記アドレス(A_1,…,A_d)の合計に依存して前記メモリ選択を計算するように構成される、請求項1から請求項3のいずれか1項に記載のメモリアクセスユニット。
  5. 各アドレス計算機(281,…,28k;791,…,79k)はインデックス(I_S)を生成するように構成される、請求項1から請求項4のいずれか1項に記載のメモリアクセスユニット。
  6. 各アドレス計算機(281,…,28k;791,…,79k)は、各次元における直線的に増加するワードアドレス、サンプルサイズおよびサンプルの数に依存して前記それぞれのアドレスを計算するように構成される、請求項1から請求項5のいずれか1項に記載のメモリアクセスユニット。
  7. 前記アドレス計算機(281,…,28k;791,…,79k)および前記サンプルコレクタ(291,…,29k;801,…,80k)に結合されたバスインターフェイス(30;81)をさらに備える、請求項1から請求項6のいずれか1項に記載のメモリアクセスユニット。
  8. ハードウェアロジックで実現される、請求項1から請求項7のいずれか1項に記載のメモリアクセスユニット。
  9. 求項1から請求項8のいずれか1項に記載のメモリアクセスユニットを備える、メモリコントローラ。
  10. m個のデータバスとk*m個のメモリとの間のd次元アレイのサンプルの転送を取扱うためのm個のメモリアクセスユニットを備える、請求項9に記載のメモリコントローラ。
  11. 請求項9または10に記載のメモリコントローラと、
    *m個のメモリとを備え、k*m個のメモリの各セットは、前記m個のメモリアクセスユニットに動作可能に接続される、メモリシステム。
  12. 請求項1から8のいずれか1項に記載のメモリアクセスユニット、または請求項9もしくは10に記載のメモリコントローラを備える、集積回路。
  13. マイクロコントローラである、請求項12に記載の集積回路。
  14. 請求項1から8のいずれか1項に記載のメモリアクセスユニット、または請求項9もしくは10に記載のメモリコントローラを含むコンピューティングデバイスを備える、電動車両。
  15. m≧1であるm個のデータバス(27;77)のうちの1つと、k≧2であるk*m個のメモリ(221,…,22k;721,…,72k*m)との間でd次元アレイのサンプルを転送する方法であって、dは1よりも大きい正の整数であり、前記方法は、
    k個のサンプルの各々について、
    バスアドレス(A_B)を受信し、それぞれのオフセットを追加してサンプルバスアドレス(A_B’)を生成することと、
    アドレス復号化方式に従ってサンプルバスアドレス(A_B’)から、前記次元のうちの1つに沿ってサンプルにアクセスするためのd個の前記次元の各々におけるそれぞれのアドレス(A_1,…,A_d)を生成することと、
    バスデータワード内の予め定められた位置と前記k*m個のメモリのうちの1つとの間でサンプルを転送するために、前記k*m個のメモリのうちのそれぞれの前記1つについてメモリ選択(CS)を生成することとを備え、前記メモリ選択を生成することは、前記k個のサンプルが前記k*m個のメモリのうちのk個に同時に書込むかまたはk個から同時に読出すことができるように、前記アドレス(A_1,…,A_d)に依存してメモリ選択を計算することを含む、方法。
JP2017524011A 2014-11-05 2015-10-15 メモリアクセスユニット Active JP6626105B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP14191961.3A EP3018587B1 (en) 2014-11-05 2014-11-05 Memory access unit
EP14191961.3 2014-11-05
PCT/EP2015/073870 WO2016071091A1 (en) 2014-11-05 2015-10-15 Memory access unit

Publications (2)

Publication Number Publication Date
JP2017539003A JP2017539003A (ja) 2017-12-28
JP6626105B2 true JP6626105B2 (ja) 2019-12-25

Family

ID=51862200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017524011A Active JP6626105B2 (ja) 2014-11-05 2015-10-15 メモリアクセスユニット

Country Status (7)

Country Link
US (1) US10592406B2 (ja)
EP (1) EP3018587B1 (ja)
JP (1) JP6626105B2 (ja)
KR (1) KR20170080670A (ja)
CN (1) CN107111547B (ja)
TW (1) TW201636846A (ja)
WO (1) WO2016071091A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3055715B1 (fr) * 2016-09-08 2018-10-05 Upmem Methodes et dispositifs pour contourner le cache interne d'un controleur memoire dram evolue
US11210221B2 (en) * 2019-12-10 2021-12-28 Pony Ai Inc. Memory architecture for efficient spatial-temporal data storage and access
US20230291511A1 (en) * 2022-03-10 2023-09-14 Ramesh Annavajjala Method and Apparatus for Multi-Dimensional Complex-Valued Sample Encoding and Decoding

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58128078A (ja) * 1982-01-27 1983-07-30 Dainippon Screen Mfg Co Ltd メモリ装置の構成方法
JPS63244245A (ja) * 1987-03-31 1988-10-11 Toshiba Corp 並列アクセス可能な多次元メモリ装置
US5765181A (en) * 1993-12-10 1998-06-09 Cray Research, Inc. System and method of addressing distributed memory within a massively parallel processing system
US5684981A (en) * 1995-01-18 1997-11-04 Hewlett-Packard Company Memory organization and method for multiple variable digital data transformation
US6604166B1 (en) * 1998-12-30 2003-08-05 Silicon Automation Systems Limited Memory architecture for parallel data access along any given dimension of an n-dimensional rectangular data array
US8438320B2 (en) * 2007-06-25 2013-05-07 Sonics, Inc. Various methods and apparatus for address tiling and channel interleaving throughout the integrated system
US8120989B2 (en) * 2007-06-25 2012-02-21 Qualcomm Incorporated Concurrent multiple-dimension word-addressable memory architecture
US7877524B1 (en) * 2007-11-23 2011-01-25 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
KR101226394B1 (ko) * 2008-06-30 2013-01-24 후지쯔 세미컨덕터 가부시키가이샤 메모리 장치
US9003165B2 (en) * 2008-12-09 2015-04-07 Shlomo Selim Rakib Address generation unit using end point patterns to scan multi-dimensional data structures
KR101553651B1 (ko) * 2009-10-13 2015-09-17 삼성전자 주식회사 다중 뱅크 메모리 액세스 장치
US8473669B2 (en) * 2009-12-07 2013-06-25 Sandisk Technologies Inc. Method and system for concurrent background and foreground operations in a non-volatile memory array
US20110296078A1 (en) * 2010-06-01 2011-12-01 Qualcomm Incorporated Memory pool interface methods and apparatuses
US9116790B2 (en) * 2011-08-04 2015-08-25 Arm Limited Methods of and apparatus for storing data in memory in data processing systems
JP5739779B2 (ja) * 2011-09-26 2015-06-24 ルネサスエレクトロニクス株式会社 Simdプロセッサ及びコントロールプロセッサ並びにプロセッサ要素
US10268885B2 (en) * 2013-04-15 2019-04-23 Microsoft Technology Licensing, Llc Extracting true color from a color and infrared sensor
US9772864B2 (en) * 2013-04-16 2017-09-26 Arm Limited Methods of and apparatus for multidimensional indexing in microprocessor systems

Also Published As

Publication number Publication date
CN107111547B (zh) 2020-11-17
WO2016071091A1 (en) 2016-05-12
KR20170080670A (ko) 2017-07-10
US20170329702A1 (en) 2017-11-16
US10592406B2 (en) 2020-03-17
CN107111547A (zh) 2017-08-29
TW201636846A (zh) 2016-10-16
EP3018587B1 (en) 2018-08-29
EP3018587A1 (en) 2016-05-11
JP2017539003A (ja) 2017-12-28

Similar Documents

Publication Publication Date Title
CN107657581B (zh) 一种卷积神经网络cnn硬件加速器及加速方法
CN104237852B (zh) 用于处理雷达信号的方法、装置和系统
KR101687081B1 (ko) 단채널 컨볼루션 레이어를 위한 처리 방법 및 장치, 및 다채널 컨볼루션 레이어를 위한 처리 방법 및 장치
US8032715B2 (en) Data processor
US10684955B2 (en) Memory devices and methods which may facilitate tensor memory access with memory maps based on memory operations
JP6626105B2 (ja) メモリアクセスユニット
EP2725497A1 (en) Memory arbitration circuit and method
CN111209232B (zh) 访问静态随机存取存储器的方法、装置、设备和存储介质
KR20200108768A (ko) 연산 처리를 수행하는 메모리 장치 및 메모리 장치의 동작방법
CN103377154A (zh) 存储器的访存控制装置及方法、处理器及北桥芯片
EP3844610A1 (en) Method and system for performing parallel computation
US6795075B1 (en) Graphic processor having multiple geometric operation units and method of processing data thereby
CN111125628A (zh) 人工智能处理器处理二维数据矩阵的方法和设备
Langemeyer et al. Using SDRAMs for two-dimensional accesses of long 2 n× 2 m-point FFTs and transposing
CN111158757B (zh) 并行存取装置和方法以及芯片
US11367498B2 (en) Multi-level memory hierarchy
US9767054B2 (en) Data transfer control device and memory-containing device
KR20060113019A (ko) 메모리 제어 시스템
US7376803B1 (en) Page stream sorter for DRAM systems
JPH0793274A (ja) データ転送方式及びデータ転送装置
US20170262210A1 (en) Semiconductor device
KR20050081498A (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
CN113971260A (zh) 数字信号处理电路和对应操作方法
Sun et al. Efficient and flexible 2-d data controller for sar imaging system
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190730

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191128

R150 Certificate of patent or registration of utility model

Ref document number: 6626105

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150