Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5359603B2 - 集積回路システム、データ書き込み方法、データ読み出し方法 - Google Patents
[go: Go Back, main page]

JP5359603B2 - 集積回路システム、データ書き込み方法、データ読み出し方法 - Google Patents

集積回路システム、データ書き込み方法、データ読み出し方法 Download PDF

Info

Publication number
JP5359603B2
JP5359603B2 JP2009150822A JP2009150822A JP5359603B2 JP 5359603 B2 JP5359603 B2 JP 5359603B2 JP 2009150822 A JP2009150822 A JP 2009150822A JP 2009150822 A JP2009150822 A JP 2009150822A JP 5359603 B2 JP5359603 B2 JP 5359603B2
Authority
JP
Japan
Prior art keywords
data
integrated circuit
bus
read
circuit
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
JP2009150822A
Other languages
English (en)
Other versions
JP2011008489A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2009150822A priority Critical patent/JP5359603B2/ja
Priority to CN201010215713.1A priority patent/CN101937408B/zh
Priority to US12/822,382 priority patent/US8631183B2/en
Publication of JP2011008489A publication Critical patent/JP2011008489A/ja
Application granted granted Critical
Publication of JP5359603B2 publication Critical patent/JP5359603B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

本発明は、それぞれ異なるバス幅でデータを送受信する複数の集積回路と、異なるバス幅を中継するバス変換回路を備える集積回路システム、データ書き込み方法、データ読み出し方法に関する。
集積回路同士をバスで接続する場合、必要に応じてバス変換回路や制御装置等がバス上に設けられる。例えば、同一バス上にノイマンプロセッサ及びハーバードプロセッサを接続して共通のメモリへアクセスすることを可能とするメモリ制御装置が提案されている(特許文献1参照)。
集積回路の一種として、演算回路、DRAM(Dynamic Random Access Memory)コントローラー、描画回路、周辺インタフェース制御回路などを統合したシステム統合型プロセッサ(SOC:System-On-a-Chip)がある。SOCは、半導体の製造プロセス微細化に伴い多くの機能が一つのIC(Integrated Circuit)パッケージに統合されて構成される。一方で、ICの端子数は、大きさ、コスト、端子配置などの様々な量産性の制約を受けるため、柔軟に増加させることが難しい。そこで、SOCはシステムに必要とされる多くの機能をICに統合することに主眼を置き、外部の集積回路とデータを送受信するためのバスは端子数を要するため、最小限の構成とされる傾向にある。
前記の理由により、汎用製品として販売されているSOCには16ビットデータバスを採用している物が多く、SOCの外部にコントローラーを接続する場合には、16ビットデータバスのコントローラーを使用することになる。この場合、実際にはさらにバス幅の大きなコントローラー(例えば32ビットデータバスのコントローラー)が汎用品として販売されているとしても、上述のようにSOCの端子数を柔軟に増加させることができない。そのため、バス幅の大きなコントローラーを接続することによってデータ転送能力の向上を図ることはできなかった。したがって、従来はデータバスの一回のアクセスに要する時間を短縮することによって、データ転送能力を向上させていた。
特開平10−254767号公報
しかしながら、リード処理(コントローラーからSOCへ任意のデータを読み出す処理)やライト処理(SOCがコントローラーへ任意のデータを書き込む処理)では、コントローラーにおいて一定の時間を要する。そのため、コントローラーにおける処理時間を確保するために、バスのアクセスに要する時間を短縮できない場合があった。
上記事情に鑑み、本発明は、集積回路において処理に必要な時間を確保しつつ、集積回路同士のバスにおけるデータ転送能力の向上を可能とする集積回路システム、データ書き込み方法、データ読み出し方法を提供することを目的とする。
本発明の一態様は、第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムであって、前記第一集積回路は、書き込みデータ、第一書き込み信号、書き込み先アドレスを出力し、前記中継回路は、所定のn−1回分(nは2以上の整数)の出力に相当する前記書き込みデータを保持するとともに、前記n−1回分の前記第一書き込み信号を遮断し、n回目に前記第一集積回路から出力された前記第一書き込み信号から前記第二集積回路に対する第二書き込み信号を生成するとともに、保持していた前記n−1回分の前記書き込みデータとn回目に前記第一集積回路から出力された前記書き込みデータとを前記第二集積回路へ出力し、前記第二集積回路は、前記中継回路により生成された前記第二書き込み信号に応じて、前記第一集積回路によって最初に出力された書き込み先アドレスに、前記中継回路から出力された前記書き込みデータを書き込む、ことを特徴とする。
本発明の一態様は、第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムであって、前記第一集積回路は、第一読み出し信号、連続する受信すべき読み出しデータに第二データバスのアクセス一回分に相当するm回分(mは1以上の整数)を加えた読み出し元アドレスを出力し、前記中継回路から受信すべき読み出しデータに余分なデータを加えた全てを受信するとき前記余分なデータを除く前記受信すべき読み出しデータを取得し、前記中継回路は、前記第一集積回路から所定のm回分の前記第一読み出し信号を受信するごとに、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスm回分に相当するデータを取得して保持し、その後に前記第一集積回路へデータを出力し、前記第二集積回路は、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスからデータを前記中継回路へ出力する、ことを特徴とする。
本発明の一態様は、第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムであって、前記第一集積回路は、第一読み出し信号、受信すべき読み出しデータの読み出し元アドレスを出力し、前記中継回路から受信すべきデータを取得し、前記中継回路は、前記第一集積回路から前記第一読み出し信号を受信すると、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスn回分(nは2以上の整数)に相当するデータを取得して第一データバスのビット幅に相当するデータを第一データバスに即時出力するとともに残るデータを保持し、その後n回の第一データバスからの前記第一読み出し信号に対し、第二データバスに対するアクセスを行う代わりに保持したデータを第一データバスのビット幅ずつ前記第一集積回路へ出力し、前記第二集積回路は、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスからデータを前記中継回路へ出力する、ことを特徴とする。
本発明の一態様は、第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備え、第一の読み出しモード又は第二の読み出しモードで動作する集積回路システムであって、前記第一の読み出しモードで動作する場合、前記第一集積回路は、第一読み出し信号、第一のデバイス制御信号、連続する受信すべき読み出しデータに第二データバスのアクセス一回分に相当するm回分(mは1以上の整数)を加えた読み出し元アドレスを出力し、前記中継回路から受信すべき読み出しデータに余分なデータを加えた全てを受信するとき前記余分なデータを除く前記受信すべき読み出しデータを取得し、前記中継回路は、前記第一集積回路から前記第一のデバイス制御信号を受信すると、前記第一集積回路から所定のm回分の前記第一読み出し信号を受信するごとに、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスm回分に相当するデータを取得して保持し、その後に前記第一集積回路へデータを出力し、前記第二集積回路は、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスからデータを前記中継回路へ出力し、前記第二の読み出しモードで動作する場合、前記第一集積回路は、第一読み出し信号、第二のデバイス制御信号、受信すべき読み出しデータの読み出し元アドレスを出力し、前記中継回路から受信すべきデータを取得し、前記中継回路は、前記第一集積回路から前記第二のデバイス制御信号を受信すると、前記第一集積回路から前記第一読み出し信号を受信すると、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスm回分に相当するデータを取得して第一データバスのビット幅に相当するデータを第一データバスに即時出力するとともに残るデータを保持し、その後m回の第一データバスからの前記第一読み出し信号に対し、第二データバスに対するアクセスを行う代わりに保持したデータを第一データバスのビット幅ずつ前記第一集積回路へ出力し、前記第二集積回路は、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスからデータを前記中継回路へ出力する、ことを特徴とする。
本発明の一態様は、上記の集積回路システムにおいて、前記中継回路は、第二データバスのアクセス一回分に相当するm回分のカウントを繰り返し行うサイクルカウンターを備え、m回分のアクセスを連続して行うことができない場合に、前記サイクルカウンターを初期化することを特徴とする。
本発明の一態様は、上記の集積回路システムにおいて、前記中継回路は、前記第一集積回路より前記第二デバイス制御信号を有効にして書き込み信号が発行されたときに、前記サイクルカウンターを初期化することを特徴とする。
本発明の一態様は、上記の集積回路システムにおいて、前記第一集積回路を制御する演算回路をさらに備え、前記演算回路上で動作するソフトウェアがアプリケーション実行部、オペレーティングシステム実行部、ドライバー実行部に階層化されており、前記アプリケーション実行部のデータ読み出し要求に対して、前記オペレーティングシステム実行部を経由して要求を実行するドライバー制御部が、前記第一の読み出しモードと前記第二の読み出しモードとのいずれを用いるか選択することを特徴とする。
本発明の一態様は、第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムにおけるデータ書き込み方法であって、前記第一集積回路が、書き込みデータ、第一書き込み信号、書き込み先アドレスを出力するステップと、前記中継回路が、所定のn−1回分(nは2以上の整数)の出力に相当する前記書き込みデータを保持するとともに、前記n−1回分の前記第一書き込み信号を遮断し、n回目に前記第一集積回路から出力された前記第一書き込み信号から前記第二集積回路に対する第二書き込み信号を生成するとともに、保持していた前記n−1回分の前記書き込みデータとn回目に前記第一集積回路から出力された前記書き込みデータとを前記第二集積回路へ出力するステップと、前記第二集積回路が、前記中継回路により生成された前記第二書き込み信号に応じて、前記第一集積回路によって最初に出力された書き込み先アドレスに、前記中継回路から出力された前記書き込みデータを書き込むステップと、を備える。
本発明の一態様は、第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムにおけるデータ読み出し方法であって、前記第一集積回路が、第一読み出し信号、連続する受信すべき読み出しデータに第二データバスのアクセス一回分に相当するm回分(mは1以上の整数)を加えた読み出し元アドレスを出力し、前記中継回路から受信すべき読み出しデータに余分なデータを加えた全てを受信するとき前記余分なデータを除く前記受信すべき読み出しデータを取得するステップと、前記中継回路が、前記第一集積回路から所定のm回分の前記第一読み出し信号を受信するごとに、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスm回分に相当するデータを取得して保持し、その後に前記第一集積回路へデータを出力するステップと、前記第二集積回路が、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスからデータを前記中継回路へ出力するステップと、を備える。
本発明の一態様は、第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムにおけるデータ読み出し方法であって、前記第一集積回路が、第一読み出し信号、受信すべき読み出しデータの読み出し元アドレスを出力し、前記中継回路から受信すべきデータを取得するステップと、前記中継回路が、前記第一集積回路から前記第一読み出し信号を受信すると、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスn回分(nは2以上の整数)に相当するデータを取得して第一データバスのビット幅に相当するデータを第一データバスに即時出力するとともに残るデータを保持し、その後n回の第一データバスからの前記第一読み出し信号に対し、第二データバスに対するアクセスを行う代わりに保持したデータを第一データバスのビット幅ずつ前記第一集積回路へ出力するステップと、前記第二集積回路が、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスからデータを前記中継回路へ出力するステップと、を備える。
本発明により、第一の集積回路は、第二の集積回路よりもビット幅の小さいバスを有しながら、第二の集積回路のビット幅に相当するデータ転送を行うことが可能となる。そのため、集積回路において処理に必要な時間を確保しつつ、集積回路同士のバスにおけるデータ転送能力を向上させることが可能となる。
集積回路システムのシステム構成を表す概略ブロック図である。 演算回路の機能構成を表す概略ブロック図である。 バス変換回路の機能構成を表す概略ブロック図である。 SOCがコントローラーへデータを書き込む際の各信号の変化を表すタイミングチャートである。 SOCがコントローラーへデータを書き込む際の各装置の動作を表すシーケンス図である。 SOCがコントローラーからデータを高速リード処理によって読み出す際の各信号の変化を表すタイミングチャートである。 SOCがコントローラーからデータを高速リード処理によって読み出す際の各装置の動作を表すシーケンス図である。 SOCがコントローラーからデータを即時リード処理によって読み出す際の各信号の変化を表すタイミングチャートである。 SOCがコントローラーからデータを即時リード処理によって読み出す際の各装置の動作を表すシーケンス図である。
図1は、集積回路システム100のシステム構成を表す概略ブロック図である。集積回路システム100は、DRAM10、SOC(システム統合型プロセッサ:System-On-a-Chip)20、バス変換回路(以下、「CV」とも表記する)30、コントローラー(以下、「CON」とも表記する)40を備える。DRAM10は、集積回路によって構成される記憶装置であり、SOC20によってデータを読み書きされる。コントローラー40は、集積回路によって構成され、バス変換回路30を介してSOC20によってデータを読み書きされる。
SOC20とバス変換回路30とは第一データバスによって接続され、バス変換回路30とコントローラー40とは第二データバスによって接続される。第二データバスは第一データバスよりもビット幅が大きい。以下の説明では、第一データバスのバス幅が16ビット(bit)であり第二データバスのバス幅が32ビットである場合について説明する。
また、バス変換回路30は、SOC20が出力するアドレス信号のうち、値が変化する最も低い桁から、第二データバスと第一データバスとのバス幅の比に応じた分の桁数の信号を変換処理に使用する。ここでアドレス信号とは、SOC20がコントローラー40から読み出すデータが記憶された記憶領域又はSOC20がコントローラー40にデータを書き込む際の書き込み先の記憶領域を識別するための信号である。具体的には、バス変換回路30は、底を“2”とする比の対数分の桁数の信号を使用する。例えば、第二データバスのバス幅が32ビットであり第一データバスのバス幅が16ビットである場合、バス幅の比の値が“2”となるため、底を“2”とする比“2”の対数は“1”となる。そのため、この場合、バス変換回路30は値が変化する最も低い1桁分の信号を使用する。アドレス信号の単位を1バイト(8ビット)とし、SOC20から外部出力されるアドレス信号の内、コントローラー40の制御に必要とされるN+1桁のアドレス信号をA[N:0]で表すとすると、第一データバスのビット幅は16ビットであるため、A[0]の値は常に“0”であり変化しないため、バス変換回路30はA[1]の信号を使用する。また、前記第二データバスのアクセス一回分に相当する第一データバスのアクセス回数n(nは2以上の整数)は前記バス幅の比に等しい。
また、コントローラー40は、32ビット幅のデータバスでアクセスされる場合には、
32ビットよりも小さな単位を示すためのA[1]およびA[0]は常に”0”でなければならないため、SOC20の出力ではなく、回路基板の基準電位(GROUND)に接続されている。このとき、A[1]およびA[0]の値は常に”0”が入力されているものとして動作する。
SOC20は、内部バスによって互いに接続された演算回路201、描画回路202、DRAM制御回路203、メモリーバス制御回路204を備える。演算回路201はCPU(Central Processing Unit)およびデータ一時記憶用のキャッシュメモリーで構成され、プログラムを実行することによりデータの移動や加工を行う。
図2は、演算回路201上で動作するソフトウェアの階層図である。図示されるように、演算回路201上で動作するソフトウェアはハードウェアが抽象化され、機能を具体化するアプリケーション実行部2011、システム上にある複数のハードウェアおよび複数のアプリケーションの動作の調停を図るOS実行部2012、ハードウェアを直接制御し、データの読み書きおよび動作を制御するドライバー実行部2013の3つに階層化されている。各階層はソフトウェアのモジュールとして演算回路201上で時分割に演算器を割り当てられて並行動作しており、階層間は演算回路201内部のレジスターあるいはDRAM10上に配置された変数およびデータを介して制御を受け渡している。
アプリケーション実行部2011は、システムの機能を具体化する層である。直接ハードウェアにアクセスを行うのではなく、ファイルをオープンして読み書きを行う、映像や音声を出力する等のハードウェアに関わる要求が生じた場合には、OS実行部2012にデータを入出力する要求を発行することで操作を行い、ハードウェアの構造については関知しない。
OS実行部2012は、システム上にあるハードウェアおよびソフトウェアの管理を行う。ハードウェアの動作状況やDRAM10の記憶容量、アプリケーションに割り当てる演算時間を調停する。OS実行部2012は、アプリケーション実行部2011からデータを入出力する要求を受けると、その依頼がハードウェアの制御を伴う動作である場合には、該当するハードウェアを制御しているドライバー実行部2013に処理を引き渡す。
ドライバー実行部2013は、コントローラー40に対する制御を担当する。OS実行部2012からデータの入出力の要求を受けると、実体のデータが存在するアドレスを算出し、データを入出力するために必要な制御をメモリーバス制御回路204を操作してコントローラー40の制御回路に指示する。データ書込みの場合には、DRAM10上にあるデータをコントローラー40に書き込み、データ読み込みの場合にはコントローラー40からデータを読み出してDRAM10に書き込む。
図1に戻ってSOC20の説明を続ける。描画回路202は、画像データに基づいて映像信号を生成し、SOC20を備える画像表示装置の表示機器に出力する。例えば、SOC20がプロジェクターに備えられている場合には、描画回路202は、液晶表示部や発光部を備える画像投影部に対して映像信号を出力する。
DRAM制御回路203は、SOC20がDRAM10に対してデータを読み書きする際に各種信号を生成してDRAM10の動作を制御する。メモリーバス制御回路204は、SOC20がコントローラー40に対してデータを読み書きする際に、ドライバー実行部2013による要求に応じてアドレス信号、ライト信号、リード信号、第一デバイス選択信号、第二デバイス選択信号を生成し、各信号線から出力する。また、メモリーバス制御回路204は、第一データバスを介してバス変換回路30とデータの送受信を行う。
図3は、バス変換回路30の機能構成を表す概略ブロック図である。バス変換回路30は、動作判別部301、サイクルカウンター302、第一データバス制御部303、ライト用一時記憶部306、即時リード用一時記憶部307、第一高速リード用一時記憶部308、第二高速リード用一時記憶部309、第二データバス制御部310を備える。第一データバス制御部303は、第一サイクル制御部304及び第二サイクル制御部305を備える。
図4は、SOC20がコントローラー40へデータを書き込む際の各信号の変化を表すタイミングチャートである。図4において、タイミングチャート中に記載された文字(例えば“0x0000”)は、アドレス信号の内容を表す。一段目に記載の信号は、SOC20からバス変換回路(CV)30へ出力されるライト信号を表す。二段目に記載の信号は、SOC20からバス変換回路30へ出力されるライトデータを表す。ライトデータとは、SOC20がコントローラー40へ書き込むデータである。三段目に記載の信号は、ライト用一時記憶部306に記憶されるライトデータを表す。四段目に記載の信号は、バス変換回路30からコントローラー40へ出力されるライト信号を表す。五段目に記載の信号は、バス変換回路30からコントローラー40へ出力されるライトデータを表す。
図5は、SOC20がコントローラー40へデータを書き込む際の各装置の動作を表すシーケンス図である。以下、図4、5を用いて、SOC20がコントローラー40へデータを書き込む際の各装置の動作について説明する。まず、SOC20のメモリーバス制御回路204が、データの書き込み先を表すアドレス信号A[N:0]、デバイス選択信号、ライト信号をバス変換回路30及びコントローラー40へ出力し、ライトデータを第一データバスに16ビットずつ出力する(ステップS101)。
バス変換回路30は、動作クロックを有しておらず、第一データバスを介してライト信号を受信することに応じて非同期で以下の処理を行う。第一データバス制御部303がライト信号を受信し、且つ、動作判別部301によって受信されたアドレス信号A[1]が“0”である場合には(ステップS201−YES:例えば図4の“0x0000”の場合)、第一データバスを介して受信されるライトデータをライト用一時記憶部306がバッファリングする(ステップS202)。このとき、バス変換回路30内部の第二データバス制御部310は、第二データバスに対してライト信号を発行しない(ステップS203)。
一方、第一データバス制御部303がライト信号を受信し、且つ、動作判別部301によって受信されたアドレス信号A[1]が“1”である場合には(ステップS201−NO:例えば図4の“0x0010”の場合)、第二データバス制御部310が、ライト用一時記憶部306にバッファリングされているライトデータを下位16ビットとして出力し(ステップS204)、新たに第一データバスを介して受信されたライトデータを上位16ビットとして第二データバスへスルーする(ステップS205)。この場合、第二データバス制御部310は、第二データバスに対してデバイス選択信号及びライト信号を発行する(ステップS206)。
前記第二データバスに対してライト信号を発行するかどうかの判別には、前記アドレス信号A[1]を判別する方法だけではなく、第一データバスの書き込みサイクルが一回目であるかニ回目であるかを第一データバス制御部303内部で判別し、第一サイクルである場合にはライト信号を発行せず、第二サイクルであればライト信号を発行するように構成してもよい。
コントローラー40は、ステップS205において出力されたライト信号を受信すると、ステップS101においてSOC20から出力されたアドレス信号A[N:2]の下2桁に“00”を加えたアドレスに、ステップS204において出力された32ビットのライトデータを書き込む(ステップS301)。
このように動作することにより、規定のバス幅が16ビットであるSOC20が、バス幅が2倍の32ビットであるコントローラー40に対して32ビットデータを書き込むことが可能となる。SOC20が16ビットのデータを2回送るのに要する時間で、コントローラー40が32ビットのデータを1回受け取ることになるため、コントローラー40において書き込み処理に必要となる時間を確保しつつ、SOC20がコントローラー40に対してライトデータを書き込む処理のデータ転送を高速化することが可能となる。言い換えれば、2回必要となるはずのコントローラー40のデータ書き込み処理に要する時間がバス変換回路30により1回のみとなるため、SOC20は32ビットデータの書きこみに要する時間を約半分に短縮することが可能となる。
図6は、SOC20がコントローラー40からデータを高速リード処理によって読み出す際の各信号の変化を表すタイミングチャートである。SOC20は、高速リード処理によってデータを読み出す場合には、第二デバイス選択信号を有効とし、リード信号を出力する。
1段目のリード信号は、SOC20からバス変換回路(CV)30へ出力されるリード信号を表し、タイミングチャート中に記載された文字(例えば“0x0000”)は、アドレス信号の内容を表す。2段目のリード信号は、バス変換回路30からコントローラー40へ出力されるリード信号を表す。3段目のデータ信号は、コントローラー40からバス変換回路30に出力される32ビットのリードデータを表す。リードデータとは、SOC20がコントローラー40から読み出すデータである。
9段目の第一高速リード用一時記憶2−1は、第一高速リード用一時記憶部308に記憶(バッファリング)される32ビットのリードデータを表す。なお、図6では便宜のため、場合によってこのリードデータを符号“2−1”で表すことがある。10段目の第二高速リード用一時記憶2−2は、第二高速リード用一時記憶部309に記憶される32ビットのリードデータを表す。なお、図6では便宜のため、場合によってこのリードデータを符号“2−2”で表すことがある。11段目の第一・第二高速リード用一時記憶2−1、2−2の合成信号は、バス変換回路30から第一データバスに出力されSOC20によってDRAM10に書き込まれる16ビットのリードデータを表す。
図7は、SOC20がコントローラー40からデータを高速リード処理によって読み出す際の各装置の動作を表すシーケンス図である。以下、図3、6、7を用いて、SOC20がコントローラー40から高速リード処理によってデータを読み出す際の各装置の動作について説明する。
前記ドライバー実行部2013はコントローラー40の送り元アドレスSRCから転送データサイズSIZE分の連続データをDRAM10の送り先アドレスDSTから転送データサイズSIZEの連続領域に読み出しを行うものとする。転送データサイズSIZEの単位は前記バイトであるので、32ビット転送であればL=SIZE/4(回)の転送が行われる。このとき、余りがある場合には、L=SIZE/4+1(回)の転送が行われる。ここで、ステップS111をL回、実行する。
前記ドライバー実行部2013は、はじめに即時リードでアドレスSRC番地のデータを読み出しておき、演算回路201の一次記憶レジスターに退避する。32ビットで次の番地はSRC+4になるので、次に前記ドライバー実行部2013は、SRC+4番地から高速リードを行い、読み出した値を送り先アドレスDST番地に書きこむ。高速リードでは、読み出される値が1回の32ビットアクセスずつ遅れるので、このときに読み出される値はSRC+4番地に格納されていた値ではなく、不定なデータになる。
続けて前記ドライバー実行部2013は、SRC+8番地から高速リードを行い、読み出した値をDST+4番地に書き込む。すると、高速リードでは、読み出される値が1回の32ビットアクセスずつ遅れるので、このときに読み出される値はSRC+8番地に格納されていた値ではなく、SRC+4番地に格納されていた値となる。このため、本来期待するSRC+4番地に格納されていた値をDST+4番地に転送する処理が行われる。この処理をL回繰り返すと、DRAM10の送り先アドレスDSTから転送データサイズSIZEの連続領域には、先頭のDST番地を除いて正しいデータが書き込まれる。
最後に、演算回路201の一次記憶レジスターに退避しておいた、SRC番地のデータをDST番地に書き込むと、DRAM10の送り先アドレスDSTから転送データサイズSIZEの連続領域には、送り元アドレスSRCから転送データサイズSIZE分の連続データが転送されたことになる。
SOC20のメモリーバス制御回路204は、上記前記ドライバー実行部2013が発行する読み出し処理に応じて、データの読み出し元を表すアドレス信号A[N:0]、リード信号、第二デバイス選択信号をバス変換回路30及びコントローラー40へ出力する。
バス変換回路30は、動作クロックを有しておらず、第一データバスを介してリード信号を受信することに応じて非同期で以下の処理を行う。第一データバス制御部303がリード信号及び第二デバイス選択信号を受信し、サイクルカウンター302の値が“01”である場合には(ステップS211−YES)、第二データバス制御部310はコントローラー40へデバイス選択信号及びリード信号を出力する(ステップS213およびS219)。コントローラー40はステップS213およびS219においてバス変換回路30から出力されたリード信号を受信すると、ステップS111においてSOC20から出力されたアドレス信号A[2:N]の下2桁に“00”を加えたアドレスから32ビットのリードデータを読み出し、第二データバスに出力する(ステップS311およびS312)。
サイクルカウンター302は、図6の13および14の2つのデータ出力順序制御カウンタ信号により構成され、リード信号の上りエッジ(”0”から”1”への変化のタイミング)で、図6の5、7、8の各信号の状態の組み合わせにより”00”、”01”、”10”、”11”の順に変化を繰り返す信号である(図7のS222)。リード初期化が行われたときのみ、強制的に”00”に変化する。
第一データバス制御部303は、高速リードの読み出しに対し、サイクルカウンターが”01”であれば第一高速リード用一時記憶部308(図6の2−1)の下位16ビット(図7のS211、S212の条件が成立)、”10”であれば第一高速リード用一時記憶部308(図6の2−1)の上位16ビット(図7のS215、S216の条件が成立)、”11”であれば第二高速リード用一時記憶部309(図6の2−2)の下位16ビット(図7のS217、S218の条件が成立)、”00”であれば第二高速リード用一時記憶部309(図6の2−2)の上位16ビット(図7のS221の条件が成立)を出力する。
第二データバス制御部310は、リード信号の下りエッジ(”1”から”0”への変化のタイミング)で、図6の6.上りエッジトリガ信号が”1”である場合に第二データバスの状態を取得し、図6の8.上りエッジサイクル判別信号が”1”である場合には第一高速リード用一時記憶部308(図6の2−1)に32ビットデータを格納し(図7のS214)、”0”である場合には第一高速リード用一時記憶部308(図6の2−1)に32ビットデータを格納する(図7のS220)。
上記第一データバス制御部303の一次記憶部からのデータ出力の動作と、上記第二データバス制御部310の一次記憶部へのデータ格納の動作は、独立して行われる。しかしながら、リード信号の上り・下りのエッジをトリガとして動作するため、第一高速リード用一時記憶部308(図6の2−1)にデータが格納されている間は第二高速リード用一時記憶部309(図6の2−2)からデータが出力され、第二高速リード用一時記憶部309(図6の2−2)にデータが格納されている間は第一高速リード用一時記憶部308(図6の2−1)からデータが出力されるように、両者は交互に動作する。この結果、格納されたデータが、常に第二データバスの1アクセス分遅延して第一データバスに出力されることになる。
図6からも明らかなように、高速リード処理では、あるリード信号が出力されてから次のリード信号が出力されるまでの間の時間が、リード信号に対応してコントローラー40がリードデータを出力するのに要する時間よりも短いため、SOC20が最初にリード信号を出力したタイミングではコントローラー40から正しいリードデータを受信することができない。そのため、このタイミングでSOC20がバス変換回路30から受信するデータは、受信されるべきリードデータではなく、その時点に置いて、バス変換回路30の第一高速リード用一時記憶部308あるいは第二高速リード用一時記憶部309が格納していたデータである。そのため、ドライバー実行部2013は、最初に読み出された32ビット分データを不定値として前記退避しておいた値に置き変えることによって、本来のリードデータを形成する。
このように動作することにより、規定のバス幅が16ビットであるSOC20が、バス幅が2倍の32ビットであるコントローラー40からリードデータを読み出すことが可能となる。SOC20が16ビットのデータを2回受けるのに要する時間をかけて、コントローラー40に対して32ビットのデータを1回読み込むことができればよいため、コントローラー40において読み出し処理に必要となる時間を確保しつつ、SOC20がコントローラー40からリードデータを読み出す処理のデータ転送を高速化することが可能となる。言い換えれば、2回必要となるはずのコントローラー40のデータ読み出し処理に要する時間がバス変換回路30により1回のみとなるため、SOC20は32ビットデータの書きこみに要する時間を約半分に短縮することが可能となる。
バス変換回路30は、SOC20が第二データバスのアクセス一回分に相当するn回分のアクセスを連続して行うことができない事態に陥った場合に、次のアクセスを待つ状態が継続することにより、正しくデータを送ることができない状態が継続することを回避する機構を有するように構成してもよい。例えば、読み出しには即時リードと高速リードを区別するために第一デバイス選択信号、第二デバイス選択信号を用いるが、書込みは単一のデバイス選択信号でよいため、SOC20が第二デバイス制御信号を有効にして書きこみを行った場合に、図6の12.データ出力順序制御カウンタのクリア信号のように、バス変換回路30がサイクルカウンターを強制的に”00”に初期化する信号を生成するように構成してもよい。
図8は、SOC20がコントローラー40からデータを即時リード処理によって読み出す際の各信号の変化を表すタイミングチャートである。図8において、タイミングチャート中に記載された文字(例えば“0x0000”)は、アドレス信号の内容を表す。一段目に記載の信号は、SOC20からバス変換回路(CV)30へ出力されるリード信号を表す。二段目に記載の信号は、バス変換回路30からコントローラー40へ出力されるリード信号を表す。三段目に記載の信号は、コントローラー40からバス変換回路30へ出力されるリードデータを表す。四段目に記載の信号は、即時リード用一時記憶部307に記憶される16ビット分のリードデータを表す。五段目に記載の信号は、バス変換回路30からSOC20へ出力されるリードデータを表す。
図9は、SOC20がコントローラー40からデータを即時リード処理によって読み出す際の各装置の動作を表すシーケンス図である。以下、図8、9を用いて、SOC20がコントローラー40から即時リード処理によってデータを読み出す際の各装置の動作について説明する。
まず、SOC20のメモリーバス制御回路204が、データの読み出し元を表すアドレス信号A[N:0]、リード信号、デバイス選択信号をバス変換回路30及びコントローラー40へ出力する(ステップS131)。
バス変換回路30は、動作クロックを有しておらず、第一データバスを介してリード信号を受信することに応じて非同期で以下の処理を行う。第一データバス制御部303がリード信号及びデバイス選択信号“0”を受信し、アドレス信号A[1]の値が“0”である場合には(ステップS231−YES)、第二データバス制御部310はリード信号を生成しコントローラー40へ出力する(ステップS232)。コントローラー40はステップS232においてバス変換回路30を通過したリード信号を受信すると、ステップS131においてSOC20から出力されたアドレス信号A[2:N]の下2桁に“00”を加えたアドレスから32ビットのリードデータを読み出し、第二データバスに出力する(ステップS331)。
第二データバス制御部310及び第一データバス制御部303は、第二データバスから32ビットのリードデータを受信すると、リードデータの下位16ビット分を第一データバスへ通過させる(ステップS233)。このとき、第二データバス制御部310は、32ビットのリードデータの上位16ビット分を即時リード用一時記憶部307に格納する(ステップS234)。
第一データバス制御部303がリード信号及びデバイス選択信号“0”を受信し、アドレス信号A[1]の値が“1”である場合には(ステップS231−NO)、第二データバス制御部310はリード信号を生成しない(ステップS235)。また、第一データバス制御部303は、即時リード用一時記憶部307に格納された16ビットのリードデータを第一データバスへ出力する(ステップS236)。
前記第一データバスに対する出力データの切り替えの判別には、前記アドレス信号A[1]を判別する方法だけではなく、第一データバスの書き込みサイクルが一回目であるかニ回目であるかを第一データバス制御部303内部で判別し、第一サイクルである場合には第二データバスの下位16ビットを通過させ、第二サイクルであれば即時リード用一時記憶部307に格納されたデータを出力するように構成してもよい。
このように動作することにより、規定のバス幅が16ビットであるSOC20が、バス幅が2倍の32ビットであるコントローラー40からリードデータを読み出すことが可能となる。即時リード処理では、SOC20がリード信号を出力してからコントローラー40がリードデータを出力するまでの時間を待たなければならないため、高速リード処理のように高速化される効果はない。その代わりに、SOC20は第二データバスの32ビット1回分のアクセス時間で正しいデータを取得することができる。そのため、SOC20が受信すべきデータが、例えば32ビット程度の短いリードデータである場合には、高速リード処理よりも即時リード処理が有効となる。このため、ドライバー実行部2013は、OS実行部2012から要求されたデータの大きさに応じて、高速リード処理を実行すべきか即時リード処理を実行すべきか判断し、判断結果に応じてデバイス選択信号の値を決定する。
SOC20が第二データバスの32ビット読み出し1回分に相当するn回の読み出しを行う場合に、最初の読み出し時間に比べ、以降の読み出し時間を短く制御することができる場合には、コントローラー40がリードデータを出力するまでの時間を待たなくてもよいため、読み出しにかかる総時間を短縮することができる。
1…集積回路システム, 10…DRAM, 20…SOC(第一集積回路), 201…演算回路, 202…描画回路, 203…DRAM制御回路, 204…メモリーバス制御回路, 30…バス変換回路(中継回路), 301…動作判別部, 302…サイクルカウンター, 303…第一データバス制御部, 304…第一サイクル制御部, 305…第二サイクル制御部, 306…ライト用一時記憶部, 307…即時リード用一時記憶部, 308…第一高速リード用一時記憶部, 309…第二高速リード用一時記憶部, 310…第二データバス制御部, 40…コントローラー(第二集積回路)

Claims (10)

  1. 第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムであって、
    前記第一集積回路は、書き込みデータ、第一書き込み信号、書き込み先アドレスを出力し、
    前記中継回路は、所定のn−1回分(nは2以上の整数)の出力に相当する前記書き込みデータを保持するとともに、前記n−1回分の前記第一書き込み信号を前記第一集積回路から受信しても前記第二集積回路に出力をせずに遮断し、n回目に前記第一集積回路から出力された前記第一書き込み信号から前記第二集積回路に対する第二書き込み信号を生成するとともに、保持していた前記n−1回分の前記書き込みデータとn回目に前記第一集積回路から出力された前記書き込みデータとを前記第二集積回路へ出力し、
    前記第二集積回路は、前記中継回路により生成された前記第二書き込み信号に応じて、前記第一集積回路によって最初に出力された書き込み先アドレスに、前記中継回路から出力された前記書き込みデータを書き込む、
    ことを特徴とする集積回路システム。
  2. 第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムであって、
    前記第一集積回路は、第一読み出し信号、連続する受信すべき読み出しデータに第二データバスのアクセス一回分に相当するm回分(mは1以上の整数)を加えた読み出し元アドレスを出力し、前記中継回路から受信すべき読み出しデータに余分なデータを加えた全てを受信するとき前記余分なデータを除く前記受信すべき読み出しデータを取得し、
    前記中継回路は、前記第一集積回路から所定のm回分の前記第一読み出し信号を受信するごとに、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスm回分に相当するデータを取得して保持し、その後に前記第一集積回路へデータを出力し、
    前記第二集積回路は、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスから前記第二バス幅に応じたデータを前記中継回路へ出力する、
    ことを特徴とする集積回路システム。
  3. 第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムであって、
    前記第一集積回路は、第一読み出し信号、受信すべき読み出しデータの読み出し元アドレスを出力し、前記中継回路から受信すべきデータを取得し、
    前記中継回路は、前記第一集積回路から前記第一読み出し信号を受信すると、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスn回分(nは2以上の整数)に相当するデータを取得して第一データバスのビット幅に相当するデータを第一データバスに即時出力するとともに残るデータを保持し、その後n回の第一データバスからの前記第一読み出し信号に対し、第二データバスに対するアクセスを行わずに保持したデータを第一データバスのビット幅ずつ前記第一集積回路へ出力し、
    前記第二集積回路は、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスから前記第二バス幅に応じたデータを前記中継回路へ出力する、
    ことを特徴とする集積回路システム。
  4. 第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備え、第一の読み出しモード又は第二の読み出しモードで動作する集積回路システムであって、
    前記第一の読み出しモードで動作する場合、
    前記第一集積回路は、第一読み出し信号、第一のデバイス制御信号、連続する受信すべき読み出しデータに第二データバスのアクセス一回分に相当するm回分(mは1以上の整数)を加えた読み出し元アドレスを出力し、前記中継回路から受信すべき読み出しデータに余分なデータを加えた全てを受信するとき前記余分なデータを除く前記受信すべき読み出しデータを取得し、
    前記中継回路は、前記第一集積回路から前記第一のデバイス制御信号を受信すると、前記第一集積回路から所定のm回分の前記第一読み出し信号を受信するごとに、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスm回分に相当するデータを取得して保持し、その後に前記第一集積回路へデータを出力し、
    前記第二集積回路は、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスから前記第二バス幅に応じたデータを前記中継回路へ出力し、
    前記第二の読み出しモードで動作する場合、
    前記第一集積回路は、第一読み出し信号、第二のデバイス制御信号、受信すべき読み出しデータの読み出し元アドレスを出力し、前記中継回路から受信すべきデータを取得し、
    前記中継回路は、前記第一集積回路から前記第二のデバイス制御信号を受信すると、前記第一集積回路から前記第一読み出し信号を受信すると、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスm回分に相当するデータを取得して第一データバスのビット幅に相当するデータを第一データバスに即時出力するとともに残るデータを保持し、その後m回の第一データバスからの前記第一読み出し信号に対し、第二データバスに対するアクセスを行う代わりに保持したデータを第一データバスのビット幅ずつ前記第一集積回路へ出力し、
    前記第二集積回路は、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスから前記第二バス幅に応じたデータを前記中継回路へ出力する、
    ことを特徴とする集積回路システム。
  5. 前記中継回路は、第二データバスのアクセス一回分に相当するm回分のカウントを繰り返し行うサイクルカウンターを備え、m回分のアクセスを連続して行うことができない場合に、前記サイクルカウンターを初期化することを特徴とする請求項2又は4に記載の集積回路システム。
  6. 前記中継回路は、前記第一集積回路より前記第二デバイス制御信号を有効にして書き込み信号が発行されたときに、前記サイクルカウンターを初期化することを特徴とする、請求項5に記載の集積回路システム。
  7. 前記第一集積回路を制御する演算回路をさらに備え、前記演算回路上で動作するソフトウェアがアプリケーション実行部、オペレーティングシステム実行部、ドライバー実行部に階層化されており、前記アプリケーション実行部のデータ読み出し要求に対して、前記オペレーティングシステム実行部を経由して要求を実行するドライバー制御部が、前記第一の読み出しモードと前記第二の読み出しモードとのいずれを用いるか選択することを特徴とする、請求項4に記載の集積回路システム。
  8. 第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムにおけるデータ書き込み方法であって、
    前記第一集積回路が、書き込みデータ、第一書き込み信号、書き込み先アドレスを出力するステップと、
    前記中継回路が、所定のn−1回分(nは2以上の整数)の出力に相当する前記書き込みデータを保持するとともに、前記n−1回分の前記第一書き込み信号を前記第一集積回路から受信しても前記第二集積回路に出力をせずに遮断し、n回目に前記第一集積回路から出力された前記第一書き込み信号から前記第二集積回路に対する第二書き込み信号を生成するとともに、保持していた前記n−1回分の前記書き込みデータとn回目に前記第一集積回路から出力された前記書き込みデータとを前記第二集積回路へ出力するステップと、
    前記第二集積回路が、前記中継回路により生成された前記第二書き込み信号に応じて、前記第一集積回路によって最初に出力された書き込み先アドレスに、前記中継回路から出力された前記書き込みデータを書き込むステップと、
    を備えるデータ書き込み方法。
  9. 第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムにおけるデータ読み出し方法であって、
    前記第一集積回路が、第一読み出し信号、連続する受信すべき読み出しデータに第二データバスのアクセス一回分に相当するm回分(mは1以上の整数)を加えた読み出し元アドレスを出力し、前記中継回路から受信すべき読み出しデータに余分なデータを加えた全てを受信するとき前記余分なデータを除く前記受信すべき読み出しデータを取得するステップと、
    前記中継回路が、前記第一集積回路から所定のm回分の前記第一読み出し信号を受信するごとに、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスm回分に相当するデータを取得して保持し、その後に前記第一集積回路へデータを出力するステップと、
    前記第二集積回路が、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスから前記第二バス幅に応じたデータを前記中継回路へ出力するステップと、
    を備えるデータ読み出し方法。
  10. 第一バス幅を有する第一データバスに接続され一回あたりのデータ送受信に第一時間を要する第一集積回路と、前記第一バス幅よりもビット幅の大きい第二バス幅の第二データバスに接続され一回あたりのデータ送受信に第一時間よりも長い第二時間を要する第二集積回路と、第一データバス及び第二データバスに接続されそれぞれのバスを介して第一集積回路及び第二集積回路とデータを送受信する中継回路と、を備える集積回路システムにおけるデータ読み出し方法であって、
    前記第一集積回路が、第一読み出し信号、受信すべき読み出しデータの読み出し元アドレスを出力し、前記中継回路から受信すべきデータを取得するステップと、
    前記中継回路が、前記第一集積回路から前記第一読み出し信号を受信すると、最初の前記第一読み出し信号が受信されたときのみ前記第二集積回路へ第二読み出し信号を出力し、前記第二集積回路から第二データバスのアクセス一回で受信される第一データバスのアクセスn回分(nは2以上の整数)に相当するデータを取得して第一データバスのビット幅に相当するデータを第一データバスに即時出力するとともに残るデータを保持し、その後n回の第一データバスからの前記第一読み出し信号に対し、第二データバスに対するアクセスを行う代わりに保持したデータを第一データバスのビット幅ずつ前記第一集積回路へ出力するステップと、
    前記第二集積回路が、前記中継回路から出力される前記第二読み出し信号に応じて、前記第一集積回路によって最初に指定された読み出し元アドレスから前記第二バス幅に応じたデータを前記中継回路へ出力するステップと、
    を備えるデータ読み出し方法。
JP2009150822A 2009-06-25 2009-06-25 集積回路システム、データ書き込み方法、データ読み出し方法 Expired - Fee Related JP5359603B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009150822A JP5359603B2 (ja) 2009-06-25 2009-06-25 集積回路システム、データ書き込み方法、データ読み出し方法
CN201010215713.1A CN101937408B (zh) 2009-06-25 2010-06-24 集成电路系统、数据写入方法以及数据读出方法
US12/822,382 US8631183B2 (en) 2009-06-25 2010-06-24 Integrated circuit system, and data readout method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009150822A JP5359603B2 (ja) 2009-06-25 2009-06-25 集積回路システム、データ書き込み方法、データ読み出し方法

Publications (2)

Publication Number Publication Date
JP2011008489A JP2011008489A (ja) 2011-01-13
JP5359603B2 true JP5359603B2 (ja) 2013-12-04

Family

ID=43381988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009150822A Expired - Fee Related JP5359603B2 (ja) 2009-06-25 2009-06-25 集積回路システム、データ書き込み方法、データ読み出し方法

Country Status (3)

Country Link
US (1) US8631183B2 (ja)
JP (1) JP5359603B2 (ja)
CN (1) CN101937408B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5458132B2 (ja) * 2012-03-13 2014-04-02 株式会社東芝 キャッシュ装置
JP2015001986A (ja) * 2013-06-13 2015-01-05 富士通株式会社 データ転送装置、バッファリング回路及びバッファリング方法
TWI762274B (zh) * 2021-04-19 2022-04-21 群聯電子股份有限公司 電路參數調整系統、方法及主機系統

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01161561A (ja) * 1987-12-18 1989-06-26 Nec Corp バス変換装置
JPH0314157A (ja) * 1989-06-13 1991-01-22 Nec Corp データ拡張型マイクロプロセッサ
US5224213A (en) * 1989-09-05 1993-06-29 International Business Machines Corporation Ping-pong data buffer for transferring data from one data bus to another data bus
GB2286910B (en) * 1994-02-24 1998-11-25 Intel Corp Apparatus and method for prefetching data to load buffers in a bridge between two buses in a computer
JPH09282267A (ja) * 1996-04-09 1997-10-31 Toyo Commun Equip Co Ltd バス幅変換回路
JPH10254767A (ja) 1997-03-10 1998-09-25 Sharp Corp メモリ制御装置及び該メモリ制御装置によるメモリシステム
JP3612186B2 (ja) * 1997-09-19 2005-01-19 株式会社ルネサステクノロジ データ処理装置
JP3977592B2 (ja) * 2000-12-28 2007-09-19 株式会社東芝 データ処理装置
KR100476895B1 (ko) * 2002-05-21 2005-03-18 삼성전자주식회사 가변 가능한 데이터 전송 모드를 갖는 인터페이스 장치 및그것의 동작 방법
JP2004087027A (ja) * 2002-08-28 2004-03-18 Sanyo Electric Co Ltd アクセス回路
US7039747B1 (en) * 2003-12-18 2006-05-02 Cisco Technology, Inc. Selective smart discards with prefetchable and controlled-prefetchable address space
JP4791696B2 (ja) * 2004-03-02 2011-10-12 オンセミコンダクター・トレーディング・リミテッド データ転送メモリ及びモジュール
US7238218B2 (en) * 2004-04-06 2007-07-03 International Business Machines Corporation Memory prefetch method and system
US7711888B2 (en) * 2006-12-31 2010-05-04 Texas Instruments Incorporated Systems and methods for improving data transfer between devices

Also Published As

Publication number Publication date
CN101937408A (zh) 2011-01-05
CN101937408B (zh) 2013-10-09
JP2011008489A (ja) 2011-01-13
US20100332714A1 (en) 2010-12-30
US8631183B2 (en) 2014-01-14

Similar Documents

Publication Publication Date Title
CN114051611B (zh) 用于非连续存储器的dma分散和聚集操作
US20240419358A1 (en) Hardware management of direct memory access commands
KR102805364B1 (ko) 애플리케이션 프로세서 및 집적 회로
JPWO2010016169A1 (ja) マルチプロセッサシステム及びその制御方法
US20250110814A1 (en) Signal aggregation
JP5359603B2 (ja) 集積回路システム、データ書き込み方法、データ読み出し方法
US7774513B2 (en) DMA circuit and computer system
CN118311916B (zh) 一种可编程逻辑系统和微处理器
US7337251B2 (en) Information processing device with priority-based bus arbitration
US9152588B2 (en) Race-free level-sensitive interrupt delivery using fabric delivered interrupts
US20180336147A1 (en) Application processor including command controller and integrated circuit including the same
JP2007048280A (ja) バスモニタリングのための集積回路装置及びその方法
JP2020140380A (ja) 半導体装置及びデバッグシステム
US12596658B2 (en) Mechanisms for arbitrating among packets in one or more co-packaged integrated circuits
US12591525B2 (en) Mechanisms for arbitrating among packets in hierarchical arbitration architecture
CN111045980A (zh) 一种多核处理器
KR102882975B1 (ko) 커맨드 프로세서 및 이에 의해 오토 패치를 수행하기 위한 방법
CN110554902B (zh) 用于提供虚拟化技术的半导体器件
JP5431823B2 (ja) 半導体装置
JP2002278753A (ja) データ処理システム
JP4642398B2 (ja) 共有バス調停システム
US10180847B2 (en) Circuitry for configuring entities
CN115842790A (zh) 一种应用于PCle设备的业务数据流量控制方法
JPH11282888A (ja) システム仕様記述に基づいて設計されるシステムでのデータ通信方法、割込コントローラ合成方法及びインターフェイス回路合成方法
JP6535516B2 (ja) マルチ・プログラマブルデバイス・システムとその制御方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120131

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130513

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130819

R150 Certificate of patent or registration of utility model

Ref document number: 5359603

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees