説明

非同期統合アップサイジング回路

【課題】システムオンチップに採用するのに適する非同期統合アップサイジング回路を提供する。
【解決手段】非同期統合アップサイジング回路は非同期パッカーと非同期アンパッカーを具備する。非同期パッカーは、非同期ブリッジ及びアップサイジングに共通で用いられ、ライトチャンネルデータをバッファリングするライトバッファと、バーストライト時に前記ライトバッファに入出力される前記ライトチャンネルデータに対するチャンネル圧縮を第1及び第2クロックによって各々制御する第1及び第2非同期パッキング制御器を含む。また、非同期アンパッカーは、前記非同期ブリッジ及びアップサイジングに共通で用いられ、リードチャンネルデータをバッファリングするリードバッファと、バーストリード時に前記リードバッファに入出力される前記リードチャンネルデータに対するチャンネル圧縮を前記第1及び第2クロックによって各々制御する第1及び2非同期アンパッキング制御器を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データプロセッシングシステムに関し、より詳細には、スマートフォンやナビゲーションデバイスなどのようなモバイルシステムで非同期ブリッジ(Async Bridge)機能を共に有する非同期統合アップサイジング回路に関する。
【背景技術】
【0002】
スマートフォン、個人用ナビゲーションデバイス、携帯インターネット器機、携帯放送器機、またはマルチメディア器機などのようなモバイルシステムでは多様なアプリケーション(application)を支援するためにシステムオンチップ(SoC:System on Chip、以下“SoC”という)上に高周波数で動作する高性能のモバイル応用プロセッサを採用している。
【0003】
このようなモバイル応用プロセッサは、演算とプログラム命令語の実行を担当するので、モバイルSoCの性能を決める核心素子である。モバイル応用プロセッサは、無線通信、個人用ナビゲーション、カメラ、ポータブルゲーミング、ポータブル音楽/ビデオプレーヤ、一体化したモバイルTV及びPDAなどのような多様な機能の集積をイネーブル(enable)するために、L2(レベル2)キャッシュとしても呼ばれるオンチップ2次キャッシュを含むことができる。前記L2キャッシュの付加は、深刻なメモリトラフィックがプロセッサによって発生された時、モバイルシステムの性能を増加させるための認知された方法である。
【0004】
前記SoCの効果的な設計のためには、1つのチップ上に集積した複数のIP(Intellecture Property)間の相互通信のためのバスシステムの選択が何より重要である。現在知られている代表的なバスシステムとしては、ARM(Advanced RISC Machine)社のAMBA(Advanced Microcontroller Bus Architecture)プロトコルに基づくAMBA3.0AXI(Advanced eXetensible Interface)バスシステムがある。
【0005】
SoCの一部を構成するDMAC(Direct Memory Access Controller)、USB、PCI、SMC(Static Memory Controller)、SCI(Smart card Interface)などのような周辺機能ブロックはメーカーの開発時間と開発人力などのような制約によって外部からIPとして購入することができる。購入した周辺機能ブロックIPはCPUとデータ処理用機能ブロックと共にチップ上に集積(Integration)してSoCをなすようになる。
【0006】
モバイル応用プロセッサのハイパフォーマンス(High performance)要求の増加によって、SoC内のCPU及びキャッシュコントローラ(cache controller)の動作周波数(frequency)は数GHzに増加する趨勢である。一方、バス(Bus)システムの場合、周波数を数GHzに高め難い制約があるので、伝送帯域幅を合わせるため、代りにCPUのデータバス幅より広いデータバス幅が採用される。例えば、1GHzの動作周波数を有するCPUのデータバス幅が64ビットとすれば、バスシステムの動作周波数は200MHz、データバス幅は128ビットに設計することができる。
【0007】
したがって、データ伝送速度を合わせるため、キャッシュコントローラ(cache controller)と接続可能であり、64ビットデータバス幅と1GHz動作周波数とを有するCPUと、128ビットデータバス幅と200MHz動作周波数とを有するバスシステムとの間で64ビットto128ビットアップサイザー(upsizer)回路を採用することができる。
【0008】
一方、最近では、SoCデザインのサイズ増加によって非同期ブリッジ(Asyncbridge)の使用要求がさらに増え、帯域幅(Bandwidth)要求量の増加によって128ビットAXIバス(bus)が導入されることによって、アップサイザー(Upsizer)と非同期ブリッジ(Async Bridge)のパフォーマンス(performance)が重要な要素として台頭している。特に、ディスプレイ(Display)IPパス(path)に対しては非同期ブリッジ及びアップサイザーが全て用いられなければならない。このようなディスプレイIPのトラフィックパターン(traffic pattern)を分析する場合に、バーストリードリクエスト(Burst read request)が連続して出る場合が多い。
【0009】
ディスプレイIPが集まっているディスプレイザブシステム(Display subsystem)でリードリクエスト(read request)が連続して出る場合、非同期ブリッジ及びアップサイザーによる帯域幅差に起因してリードレディー信号(read ready signal)がハイ(high)で維持されないことがある。そのような場合に、メモリコントローラ(memory controller)の動作がストップ(stop)されるので、システム全体のパフォーマンスに影響が及ぶ。したがって、パフォーマンス(performance)の低下を最小化するためには、メモリコントローラに提供されるリードレディー信号がハイで維持されるようにすることが必要である。この場合に、非同期ブリッジ及びアップサイザーは全部バッファ(buffer)を要するようになるので、ゲートカウントオーバーヘッド(gate countover head)が招来される。
【0010】
またバーストライト(burst write)の場合に、バス活用(bus utilize)を高めるために、ライトアドレスチャンネルとライトデータチャンネルに対してコンパクション(compaction)を実行する場合により効率的なコンパクション技法が必要になる。例えば、非同期ブリッジ及びアップサイザーが互いに別個で分離している場合にチャンネルコンパクションを行えば、コンパクション効率が低下してレイテンシーやバス活用性が悪くなる。
【0011】
したがって、モバイルシステムで採用することができる非同期ブリッジ及びアップサイザーでゲートカウントオーバーヘッドを減らし、かつチャンネルコンパクションをより効率的に行うことができる技術が要望される。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】韓国公開特許2007−0000941号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
本発明の第1の課題は、データプロセッシングシステムのパフォーマンスを改善することができる非同期統合アップサイジング回路を提供することにある。
【0014】
本発明の第2の課題は、ゲートカウントオーバーヘッドを減らすことができる非同期統合アップサイジング回路を提供することにある。
【0015】
本発明の第3の課題は、非同期ブリッジ機能を有するアップサイジング回路を提供することにある。
【0016】
本発明の第4の課題は、チャンネルコンパクションをより効率的に行うことができる非同期統合アップサイジング回路及び方法を提供することにある。
【0017】
本発明の第5の課題は、回路占有面積を減らし、バーストライト動作時にレイテンシーとバス活用性を改善することができるアップサイジング回路及びそれを採用したデータプロセッシングシステムを提供することにある。
【課題を解決するための手段】
【0018】
前記の課題を解決するために、本発明の実施形態の一態様による非同期統合アップサイジング回路は、非同期ブリッジ及びアップサイジングに共通で用いられ、ライトチャンネルデータをバッファリングするライトバッファと、バーストライト時に前記ライトバッファに入出力される前記ライトチャンネルデータに対するチャンネル圧縮を第1及び第2クロックによって各々制御する第1及び第2非同期パッキング制御器を含む非同期パッカーと、前記非同期ブリッジ及びアップサイジングに共通で用いられ、リードチャンネルデータをバッファリングするリードバッファと、バーストリード時に前記リードバッファに入出力される前記リードチャンネルデータに対するチャンネル圧縮を前記第1及び第2クロックによって各々制御する第1及び第2非同期アンパッキング制御器を含む非同期アンパッカーとを具備する。
【0019】
本発明の実施形態において、前記ライトバッファはライトアドレスチャンネル、ライトデータチャンネル、及びライト応答チャンネルに各々割り当てられたメモリで構成することができ、また前記リードバッファはリードアドレスチャンネル、及びリードデータチャンネルに各々割り当てられたメモリで構成することができる。
【0020】
本発明の実施形態において、前記第1クロックはマスタクロックであり、前記第2クロックはスレーブクロックであり得る。ここで、前記第2クロックはAXIバスクロックであり得る。
【0021】
本発明の実施形態において、前記第1クロックが前記第2クロックより周波数が高い場合には周波数が同一の場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ先行して、レイテンシーが最適化されたアップサイジングが実行されるようにできる。また、前記第1クロックが前記第2クロックより周波数が低い場合には周波数が同一の場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ後行して、バス活用性が最適化されたアップサイジングが実行されるようにできる。
【0022】
本発明の実施形態において、前記メモリは各々FIFOメモリであり、前記マスタクロックはメモリコントローラから提供されるクロックであり得る。
【0023】
本発明の実施形態において、前記非同期パッカーは前記ライトチャンネルデータに対する非同期パッキングを実行し、前記非同期アンパッカーは前記リードチャンネルデータに対する非同期アンパッキングを実行することができる。
【0024】
本発明の実施形態の他の態様による非同期統合アップサイジング回路は、非同期ブリッジ及びアップサイジングに共通で用いられ、ライトチャンネルデータをバッファリングする第1、第2、及び第3非同期メモリと、バーストライト時に前記第1、第2、及び第3非同期メモリに入出力される前記ライトチャンネルデータに対するチャンネル圧縮をマスタクロック及びスレーブクロックによって各々制御する第1及び第2非同期パッキング制御器を含む非同期パッカーと、前記非同期ブリッジ及びアップサイジングに共通で用いられ、リードチャンネルデータをバッファリングする第4及び第5非同期メモリと、バーストリード時に前記第4及び第5非同期メモリに入出力される前記リードチャンネルデータに対するチャンネル圧縮を前記マスタクロック及びスレーブクロックによって各々制御する第1及び第2非同期アンパッキング制御器を含む非同期アンパッカーとを具備する。
【0025】
本発明の実施形態において、前記マスタクロックはCPUのクロックであり、前記第2クロックはAXIバスクロックであり得る。
【0026】
本発明の実施形態において、前記第1非同期メモリはライトアドレスチャンネルに、前記第2非同期メモリはライトデータチャンネルに、前記第3非同期メモリはライト応答チャンネルに、前記第4非同期メモリはリードアドレスチャンネルに、前記第5非同期メモリはリードデータチャンネルに対応的に割り当てられ得る。
【0027】
本発明の実施形態において、前記マスタクロックが前記スレーブクロックより周波数が高い場合には周波数が同一の場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ先行して、レイテンシーが最適化されたアップサイジングが実行されるようにできる。
【0028】
本発明の実施形態において、前記マスタクロックが前記スレーブクロックより周波数が低い場合には周波数が同一の場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ後行して、バス活用性が最適化されたアップサイジングが実行されるようにできる。
【0029】
本発明の実施形態のまた他の態様によるデータプロセッシングシステムは、L2キャッシュコントローラと接続されるCPUと、非同期ブリッジ及びアップサイジングに共通で用いられ、ライトチャンネルデータをバッファリングするライトバッファとバーストライト時に前記ライトバッファに入出力される前記ライトチャンネルデータに対するチャンネル圧縮を第1及び第2クロックによって各々制御する第1及び第2非同期パッキング制御器を含む非同期パッカーと、前記非同期ブリッジ及びアップサイジングに共通で用いられ、リードチャンネルデータをバッファリングするリードバッファとバーストリード時に前記リードバッファに入出力される前記リードチャンネルデータに対するチャンネル圧縮を前記第1及び第2クロックによって各々制御する第1及び第2非同期アンパッキング制御器を含む非同期アンパッカーとを具備し、前記L2キャッシュコントローラを通じて前記CPUとインターフェースバスとの間に接続される非同期統合アップサイジング回路と、前記インターフェースバスに接続されたディスプレイIPとを具備する。
【0030】
本発明の実施形態において、前記ディスプレイIPは、モバイルシステムのためのIPであり得る。
【0031】
本発明の実施形態のまた他の態様によって、非同期ブリッジ及びアップサイジングに共通で用いられ、ライトチャンネルデータをバッファリングするライトバッファと、バーストライト時に前記ライトバッファに入出力される前記ライトチャンネルデータに対するチャンネル圧縮をマスタクロック及びスレーブクロックによって各々制御する第1及び第2非同期パッキング制御器とを具備するデータプロセッシングシステムでの非同期パッキング方法は、前記マスタクロックが前記スレーブクロックより周波数が高い場合には周波数が同一の場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ先行する制御段階と、前記マスタクロックが前記スレーブクロックより周波数が低い場合には周波数が同一の場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ後行する制御段階とを有することができる。
【発明の効果】
【0032】
本発明の実施形態の非同期統合アップサイジング回路の構成によると、バッファの共有的使用によって回路の占有面積が減少し、回路実現費用が低くなる。
【0033】
また、非同期パッカーでのチャンネル圧縮時にレイテンシーが最適化されるか、またはバス活用性が最適化されることによって動作パフォーマンスが高くなる。
【0034】
したがって、そのような非同期統合アップサイジング回路をSoCに採用する場合に、データ処理システムの製造原価が低くなり、かつSoCの動作性能も高くなる。
【図面の簡単な説明】
【0035】
【図1】本発明が適用可能なハイパフォーマンスマトリックスを用いるシステムオンチップの内部構成ブロック図である。
【図2】図1のうち、アップサイザーと接続されたバス構造の例を示すデータプロセッシングシステムの一部ブロック構成図である。
【図3】コンベンショナル技術によるアップサイザーの詳細ブロック構成図である。
【図4】本発明の実施形態による非同期統合アップサイジング回路の詳細ブロック構成図である。
【図5】図4によるゲートカウント減少を示すテーブル図である。
【図6】図4によるレイテンシー及びバスユーティリティー最適化を示す動作タイミング図である。
【図7】図4によるマスタクロック及びスレーブクロック間の周波数比を各々示すテーブル図である。
【図8】図7の周波数比とバースト長さとの間のクロック増減度を各々示すテーブル図である。
【図9】図8のテーブルをクロック増減の分布によって再構成したマップ図である。
【図10】本発明の実施形態による非同期統合アップサイジング回路を採用したモバイルシステムのブロック構成図である。
【発明を実施するための形態】
【0036】
以上の本発明の目的、他の目的、特徴及び利点は添付の図面と係わる以下の望ましい実施形態を通じて容易に理解することができる。しかし、本発明はここで説明する実施形態に限定されず、他の形態に具体化することもできる。さらに、ここで紹介する実施形態は開示された内容が徹底してかつ完全になされるように、そして当業者に本発明の思想を十分に伝達するように提供されるものである。
【0037】
本明細書において、ある素子またはラインが対象素子ブロックに接続されると記載された場合、それは直接的に接続されるか、または他の素子を通じて対象素子ブロックに間接的に接続され得ることを意味する。
【0038】
また、明細書の全体に亘り同じ参照番号は同じ構成要素を示す。図面において、素子及びラインのサイズは技術的内容の効果的な説明のために誇張されたものである。
【0039】
ここに説明及び例示される実施形態はそれの相補的な実施形態も含む。
【0040】
まず、図1は、本発明が適用可能なARM(Advanced RISC Machine)社のプライムセル(PrimeCell)ハイパフォーマンスマトリックス(HPM)を用いるシステムオンチップの内部構成ブロック図である。
【0041】
図1に示すように、ブリッジ部2、アップサイザー200、レジスタスライス4、及びバスマトリックス300からなるスレーブインターフェース(SI)上のインターフェースサポートコンポーネントの接続例を示す。前記ブリッジ部2は周波数変換のための素子として、2つの非同期クロックドメインの間をクロッシングする。前記アップサイザー200は大きいデータ幅でスレーブ側に接続するためにマスタ側をイネーブルするデータバス幅変換素子である。前記レジスタスライス4はAMBA AXI信号を格納するためのバッファリング素子である。
【0042】
図1において、前記アップサイザー200は伝送速度を合わせるために、例えば64ビットのデータを128ビットのデータに拡張するデータエキスパンダ(expander)の機能を基本的に実行する。図1において、前記ブリッジ部2に接続されたスレーブインターフェースSIは64ビットデータバス幅と1GHz動作周波数とを有するCPU側(side)に接続することができ、前記バスマトリックス300は128ビットデータバス幅と200MHz動作周波数とを有するバスシステムになることができる。前記バスマトリックス300はマルチレイヤーバスマトリックス(Multi Layer Bus Matrix)構造を有することができる。
【0043】
図2は、図1のうち、アップサイザー(またはエキスパンダ)と接続されたバス構造の例を示すデータプロセッシングシステムの一部ブロック構成図である。
【0044】
図2に示すように、データプロセッシングシステム500内のアップサイザー200を基準として上部は狭(narrow)AXIバス、下部は広AXIバスからなることが分かる。前記アップサイザー200は狭バスラインBNに印加される32ビット、32ビット、64ビットのデータを64ビット、128ビット、128ビットに各々拡張して広バスラインBWに提供する役割を果たすことができる。図2において、Loは下位ビットを、Hiは上位ビットを意味する。例えば、データが総128ビットで構成された場合に、0〜63ビットはLoに対応し、64〜127ビットはHiに対応する。
【0045】
図3は、コンベンショナル技術によるアップサイザーの詳細ブロック構成図である。
【0046】
図3において、同期モードで動作するアップサイザー200はプロセッサクロックCLK1によって動作するシンクパッカー220とシンクアンパッカー240で構成される。前記シンクパッカー(sync packer)220は第1及び第2シンクメモリ21、23とシンクパッキング制御器25で構成され、前記シンクアンパッカー240はCAM41、第3シンクメモリ43、及びシンクアンパッキング制御器45で構成される。前記シンクパッカー220はライトアドレスチャンネル、ライトデータチャンネル、及びライト応答チャンネルにシンクパッキングを実行し、前記シンクアンパッカー240はリードアドレスチャンネルとリードデータチャンネルに対するシンクアンパッキングを実行することができる。
【0047】
第1シンクメモリ21は前記シンクパッキング制御器25の制御に応答してライトアドレスチャンネルのアドレスを格納し、該格納されたアドレスをアップサイジングしてバスマトリックス300に出力する。
【0048】
第2シンクメモリ23は前記シンクパッキング制御器25の制御に応答してライトデータチャンネルのデータを格納し、該格納されたデータをアップサイジングしてバスマトリックス300に出力する。ここで、64ビットとして格納されたデータはバスマトリックス300に提供する時、前記アップサイジングによって128ビットとして印加され得る。
【0049】
CAM41はARCAM(Address Read Contents Addressable Memory)の機能を実行するメモリである。
【0050】
第3シンクメモリ43は前記シンクアンパッキング制御器45の制御に応答してリードデータチャンネルのデータを格納し、該格納されたデータをビット変換して前記スレーブインターフェース100に出力する。
【0051】
前記第1、第2、及び第3シンクメモリ21、23、43は全部先入先出機能を有するFIFO(First In First Out)メモリを用いて実現することができる。
【0052】
図3において、前記プロセッサクロックが約1GHzの周波数を有するとすれば、前記アップサイザー200に印加されるクロックCLK1もプロセッサのクロックドメイン(domain)下で動作されるので、約1GHzの周波数を有することができる。一方、前記バスマトリックス300に用いられるバスクロックは約200MHzの周波数を有することができる。
【0053】
前記プロセッサ(またはCPU)クロックはSoCの電流消耗を最小化するために採用されたDVFSC(Dynamic Voltage Frequency Scaling Controller)によって制御されるDVFS(Dynamic Voltage Frequency Scaling)クロックであり得る。前記DVFSCの採用によってクロック周波数はダイナミックに制御することができる。
【0054】
図3において、AWはライトアドレスチャンネル信号、Wはライトデータチャンネル信号、Bはライト応答チャンネル信号、ARはリードアドレスチャンネル信号、Rはリードデータチャンネル信号を各々示す。また、SIはスレーブインターフェースを、MIはマスタインターフェースを各々示す。
【0055】
図3のように構成されたアップサイザー200は同期モードで動作するので、SoCデザインのサイズ増加によって非同期ブリッジ(AsyncBridge)との適応性が低下する。特に、ディスプレイ(Display)IPパス(path)では非同期アップサイザー(Upsizer)と非同期ブリッジ(Async Bridge)の使用が多く、この場合に動作パフォーマンス(performance)が重要である。
【0056】
ディスプレイザブシステムで非同期ブリッジ及びアップサイザーによる帯域幅差に起因してリードレディー信号(read ready signal)がハイ(high)で維持されなければ、メモリコントローラ(memory controller)の動作がストップ(stop)されてシステム全体パフォーマンスに影響が及ぶ。したがって、パフォーマンス(performance)の低下を最小化するためには、メモリコントローラに提供されるリードレディー信号をハイで保持させなければならない。この場合に非同期ブリッジ及びアップサイザーは全部バッファ(buffer)を要するようになるので、ゲートカウントオーバーヘッド(gate count over head)が招来される。本発明の実施形態では、図4に示すように、非同期ブリッジ(Async Bridge)機能を共に有する非同期統合アップサイザー210を実現し、ライトバッファ及びリードバッファを共有的に用いることによってゲートカウントオーバーヘッドを減らす。
【0057】
またバーストライト(burst write)動作でチャンネルコンパクションを行う場合に、図9のように、マスタとスレーブとの間のクロック比とバーストの長さによる動作クロック調整テーブルに合わせて制御すれば、レイテンシーやバス活用性が改善されるので、チャンネルコンパクション効率が高くなる。
【0058】
図4〜図10を参照して本発明の実施形態を説明するが、本発明の実施形態は本発明に限定されない。
【0059】
図4は、本発明の実施形態による非同期統合アップサイジング回路の詳細ブロック構成図である。
【0060】
図4において、非同期統合アップサイザー210は、第1及び第2非同期パッカー222、224、第1及び第2非同期アンパッカー242、244を含む。
【0061】
前記第1及び第2非同期パッカー222、224は、非同期ブリッジ及びアップサイジングに共通で用いられ、ライトチャンネルデータAW、W、Bをバッファリングする第1、第2、第3非同期メモリ21、23、25を共有する。第1非同期パッカー222は、バーストライト時に前記第1、第2、第3非同期メモリ21、23、25に入出力される前記ライトチャンネルデータに対するチャンネル圧縮をマスタクロックCLK1によって制御する第1非同期パッキング制御器26を具備する。第2非同期パッカー224は、バーストライト時に前記第1、第2、第3非同期メモリに入出力される前記ライトチャンネルデータに対するチャンネル圧縮をスレーブクロックCLK2によって制御する第2非同期パッキング制御器27を具備する。
【0062】
前記第1及び第2非同期アンパッカー242、244は、前記非同期ブリッジ及びアップサイジングに共通で用いられ、リードチャンネルデータAR、Rをバッファリングする第4及び第5非同期メモリ41、43を共有する。第1非同期アンパッカー242は、バーストリード時に前記第4及び第5非同期メモリ41、43に入出力される前記リードチャンネルデータに対するチャンネル圧縮を前記マスタクロックCLK1によって制御する第1非同期アンパッキング制御器46を具備する。第2非同期アンパッカー244は、バーストリード時に前記第4及び第5非同期メモリ41、43に入出力される前記リードチャンネルデータに対するチャンネル圧縮を前記スレーブクロックCLK2によって制御する第2非同期アンパッキング制御器47を具備する。
【0063】
FIFOメモリとして各々構成され得る前記第1、第2、第3非同期メモリ21、23、25はライトバッファ28に含まれ、FIFOメモリとして各々構成され得る前記第4及び第5非同期メモリ41、43はリードバッファ44に含まれる。
【0064】
前記マスタクロックCLK1はメモリコントローラから提供されるクロックであるか、またはCPUのクロックであり得る。前記スレーブクロックCLK2はAXIバスクロックであり得る。
【0065】
第1非同期メモリ21は前記第1非同期パッキング制御器26の制御に応答してライトアドレスチャンネルAWのアドレスを格納する。前記第1非同期メモリ21は前記第2非同期パッキング制御器27の制御に応答して格納されたライトアドレスチャンネルAWのアドレスを非同期ブリッジング及びアップサイジングしてバスマトリックス300に出力する。
【0066】
第2非同期メモリ23は前記第1非同期パッキング制御器26の制御に応答してライトデータチャンネルWのデータを格納する。前記第2非同期メモリ23は前記第2非同期パッキング制御器27の制御に応答して格納されたライトデータチャンネルWのデータを非同期ブリッジング及びアップサイジングしてバスマトリックス300に出力する。
【0067】
第3非同期メモリ25は前記第2非同期パッキング制御器27の制御に応答してライト応答チャンネルBのデータを格納する。前記第3非同期メモリ25は前記第1非同期パッキング制御器26の制御に応答して格納されたライト応答チャンネルBのデータを非同期ブリッジング及びビット幅変換してスレーブインターフェース100に出力する。
【0068】
第4非同期メモリ41は前記第1非同期アンパッキング制御器46の制御に応答してリードアドレスチャンネルARのアドレスを格納する。前記第4非同期メモリ41は前記第2非同期アンパッキング制御器47の制御に応答して格納されたリードアドレスチャンネルARのアドレスを非同期ブリッジング及びアップサイジングしてバスマトリックス300に出力する。
【0069】
第5非同期メモリ43は前記第2非同期アンパッキング制御器47の制御に応答してリード応答チャンネルRのデータを格納する。前記第5非同期メモリ43は前記第1非同期アンパッキング制御器46の制御に応答して格納されたリード応答チャンネルRのデータを非同期ブリッジング及びビット幅変換してスレーブインターフェース100に出力する。
【0070】
図4のような非同期統合アップサイザー210は、ライトバッファ28及びリードバッファ44を共有的に用いるので、ゲートカウントオーバーヘッドが減少する。
【0071】
図5は、図4によるゲートカウント減少を示すテーブルである。図面で1(ライトデプス)と2(リードデプス)に示した水平方向の一番目セルの5214(63K)は図4によるゲートカウントである。これは図3のゲートカウント97739(117K)に比較して47%セービングされたカウントであることが分かる。また、2番目セルでは10838から5715にゲートカウントが減少する。このように、ライトバッファ28及びリードバッファ44の共有的使用によってゲートカウントがセービングされる。
【0072】
また、バーストライト(burst write)動作でチャンネルコンパクションを行う場合に、図9のように、マスタとスレーブとの間のクロック比とバーストの長さによる動作クロック調整テーブルに合わせて制御すれば、図6のP1、P2タイミングで見られるように、レイテンシーがG1、G2に比較して改善されるか、図6のP3、P4タイミングで見られるようにバス活用性がG3、G4より改善される。
【0073】
図6は、図4によるレイテンシー及びバスユーティリティー最適化を示す動作タイミング図であり、図7は、図4によるマスタクロック及びスレーブクロック間の周波数比を各々示すテーブル図である。また、図8は、図7の周波数比とバースト長さとの間のクロック増減度を各々示すテーブル図であり、図9は、図8のテーブルをクロック増減の分布によって再構成したマップ図である。
【0074】
まず、図6に示すように、タイミング波形A1はAWリクエストを示し、A2は64ビット幅のライトデータである。A3は128ビット幅のライトデータである。例えば、マスタクロックとスレーブクロックの周波数が同一周波数の200MHzである場合には、バーストライト動作のために、A4のようにA1に比較してAWリクエストが一定クロック数だけ遅延される。また、これによってアップサイザーから出力される128ビット幅のライトデータはA5のようになる。
【0075】
一方、マスタクロックが300MHzであり、スレーブクロックが200MHzの場合には、バーストライト動作でのレイテンシーを良くするために、図3のようなアップサイザーの場合にはG1のようにAWリクエストが発生され、G2のように128ビット幅のライトデータが出力される。
【0076】
反対に、マスタクロックが200MHzであり、スレーブクロックが300MHzの場合には、バーストライト動作でのバスユーティリティーを良くするために、図3のようなアップサイザーの場合にはG3のようにAWリクエストが発生され、G4のように128ビット幅のライトデータが出力される。
【0077】
本発明の実施形態である図4のアップサイザーの場合にはレイテンシーが最適化されたアップサイジングのために、P1、P2のようなタイミングで示されるように、バーストライト動作時に、ライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ先行する。具体的には、マスタクロックが300MHzであり、スレーブクロックが200MHzの場合には、バーストライト動作でのレイテンシー(latency)を良くするために、図4のようなアップサイザーの場合にはP1のようにAWリクエストが発生され、P2のように128ビット幅のライトデータが出力される。タイミング波形P2はG2に比較して矢印AR1だけ先に出力されるデータであるので、レイテンシーがより改善されることが分かる。
【0078】
また、バス活用性が最適化されたアップサイジングが実行されるように、P3、P4のようなタイミングで示されるように、マスタクロックがスレーブクロックより周波数が低い場合には、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ後行する。具体的には、マスタクロックが200MHzであり、スレーブクロックが300MHzの場合にはバーストライト動作でのバスユーティリティーを最適化するため、図4のようなアップサイザーの場合には、P3のようにAWリクエストが発生され、P4のようなタイミングで128ビット幅のライトデータが出力される。タイミング波形P4はG4に比較して2クロックだけ遅く出力されるが、タイム区間T1で出力されるので、バスユーティリティーが改善されることが分かる。
【0079】
ライトチャンネルでのコンパクションを説明すれば、タイム区間T3に出力されたライトデータが、レイテンシーのためのチャンネルコンパクションの場合にはタイム区間T2に出力され、バスユーティリティーのためのチャンネルコンパクションの場合にはタイム区間T3に出力されるので、各々減少した区間だけのコンパクションが行われる。
【0080】
ライトチャンネルに対するチャンネルコンパクションの場合に、レイテンシーのためにリクエストを繰り上げるか、またはバスユーティリティーのためのリクエストのディレーの程度は図9に示すテーブルマップに依存する。
【0081】
図9に対する理解のためには、図7及び図8に対する理解が先行されなければならない。
【0082】
図7に示すように、横軸はマスタクロックを周波数の大きさの順序に示し、縦軸はスレーブクロックを周波数の大きさの順序に示す。nSからなる文字符号はナノ秒を意味し、対応する周波数の周期を示す。したがって、例えば300MHzは3.3nSの周期を有する。
【0083】
図7において、マスタクロック200MHzとスレーブクロック200MHzが互いにクロッシングする地点の数字1は周波数比を示す。したがって、マスタクロック300MHzとスレーブクロック200MHzが互いにクロッシングする地点には0.67が、マスタクロック200MHzとスレーブクロック300MHzが互いにクロッシングする地点には1.5が表示されている。したがって、頻繁に示す周波数比に対しては図8のように、バーストの長さによってテーブルを構成すれば、図8の通りである。
【0084】
前記周波数比(またはクロック比)は図8で縦軸に沿って大きさの順序で表記している。図8の横軸に表記したAWLENsはAWの長さを示し、AWLENm−1はバーストの長さを示す。
【0085】
図8に示すように、縦軸の1.00を基準として水平に行けば、1、2、1、2、3、2、3、4....8が見られる。前記数字はAWLENsからAWの長さを引いた値である。すなわち、1−0=1であり、2−0=2であり、2−1=1であり、最後の8は16−8によって得られた値である。
【0086】
図8の数値テーブルにおいて、縦軸の1.00を基準として垂直上下で同じ数字同士分類すれば、図9のようなクロック増減の分布によって再構成したマップ(map)を得ることができる。図9において、例えば、“0”として表示された部分に対応する周波数比とバーストの長さに対してはリクエストを繰り上げるか、またはディレーする必要がない。また、“+1”として表示された部分に対応する場合にはバスユーティリティーのために1クロックだけディレーした後にリクエストを発生する。また、“−1”として表示された部分に対応する場合にはレイテンシーを良くするために1クロックだけ繰り上げた後にリクエストを発生する。また、例えば、“+4”として表示された部分に対応する場合にはバスユーティリティーのために4クロックだけディレーした後にリクエストを発生する。また、“−3”として表示された部分に対応する場合にはレイテンシーを良くするために3クロックだけ繰り上げた後にリクエストを発生する。
【0087】
このようにレイテンシー及びバスユーティリティーを最適化するチャンネルコンパクション動作は図4の第1及び第2非同期パッキング制御器26、27によって実行される。
【0088】
上述のように、本発明の実施形態によると、モバイルシステムで採用できる非同期ブリッジ及びアップサイザーでゲートカウントオーバーヘッドが減少し、かつチャンネルコンパクションがより効率的に実行される。
【0089】
図10は、本発明の実施形態による非同期統合アップサイジング回路を採用したモバイルシステムのブロック構成図である。
【0090】
図10に示すように、モバイルシステムは、L2キャッシュを有するCPU500と、AXIバスBUS1を通じて接続されたメディアシステム510と、モデム520と、メモリコントローラ410と、ブートROM430と、ディスプレイコントローラ440とを含む。前記メモリコントローラ410にはDRAMまたはフラッシュメモリなどのようなメモリ420が接続し、前記ディスプレイコントローラ440にはLCDなどのようなディスプレイ450が接続される。
【0091】
図10において、BUS1はCPUバスであり、BUS2はメモリバスである。前記CPU500はレベル2(L2)キャッシュの以外にレベル1(L1)キャッシュを内部的に含むことができる。前記L1キャッシュは頻繁にアクセスされるデータ及び/または命令を格納するために用いられる。前記L2キャッシュメモリもL1キャッシュのように、頻繁にアクセスされるデータ及び/または命令を格納することができる。
【0092】
図10のモバイルシステムはスマートフォン、個人用ナビゲーションデバイス、携帯インターネット器機、携帯放送器機、またはマルチメディア機器として機能することができる。
【0093】
図10のようなモバイルシステムにおいて、図4のような統合アップサイザー回路は前記CPU500のブロックと前記AXIバスBUS1との間に搭載される。
【0094】
この場合に、図4の第1クロックCLK1としてはCPUクロックを用いることができ、前記第2クロックCLK2としては前記AXIバスのクロックを用いることができる。
【0095】
図4の回路はライトチャンネルのコンパクション動作時に、前記第1クロックが前記第2クロックより周波数が高い場合には、周波数が同じ場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ先行し、前記第1クロックが前記第2クロックより周波数が低い場合には、周波数が同じ場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ後行する動作を実行する。
【0096】
上述のように、非同期統合アップサイジング回路構成によると、バッファの共有的使用によって回路の占有面積が減少し、回路実現費用が低減される。また、非同期パッカーでのチャンネル圧縮時にレイテンシーが最適化されか、またはバス活用性が最適化されることによって動作パフォーマンスが高くなる。
【0097】
したがって、そのような非同期統合アップサイジング回路を図10のようなSoCに採用する場合に、データ処理システムの製造原価が低くなり、SoCの動作性能も高くなる。
【0098】
本発明の実施形態においては、バッファの共有とチャンネルコンパクションを中心として説明したが、これに限定されず、ゲートカウントのオーバーヘッドやチャンネルコンパクションの非効率が発生するデータ処理システムの場合に、本発明の実施形態を拡張して適用することができることは勿論である。
【0099】
本発明の実施形態が適用されるモバイルシステムで、プロセッサの個数は2個以上に拡張することができる。そのようなプロセッサはマイクロプロセッサ、CPU、デジタル信号プロセッサ、マイクロコントローラ、縮小命令セットコンピュータ、複合命令セットコンピュータ、またはそれらと類似なものになることができる。
【0100】
前記の説明では本発明の実施形態を中心として図に沿って例をあげて説明したが、本発明の技術的思想の範囲内で本発明を多様に変形または変更することができることは本発明が属する分野の当業者には明白である。例えば、事案が異なる場合に本発明の技術的思想を逸脱することなしに、バースト長さの変更やチャンネルコンパクションの細部動作を多様に変形または変更することができることは勿論である。
【符号の説明】
【0101】
100 スレーブインターフェース、
210 アップサイザー、
300 バスマトリックス、
28 ライトバッファ。

【特許請求の範囲】
【請求項1】
非同期ブリッジ及びアップサイジングに共通に用いられ、ライトチャンネルデータをバッファリングするライトバッファと、バーストライト時に前記ライトバッファに入出力される前記ライトチャンネルデータに対するチャンネル圧縮を第1及び第2クロックによって各々制御する第1及び第2非同期パッキング制御器を含む非同期パッカーと、
前記非同期ブリッジ及びアップサイジングに共通に用いられ、リードチャンネルデータをバッファリングするリードバッファと、バーストリード時に前記リードバッファに入出力される前記リードチャンネルデータに対するチャンネル圧縮を前記第1及び第2クロックによって各々制御する第1及び第2非同期アンパッキング制御器を含む非同期アンパッカーとを具備することを特徴とする非同期統合アップサイジング回路。
【請求項2】
前記ライトバッファはライトアドレスチャンネル、ライトデータチャンネル、及びライト応答チャンネルに各々割り当てられたメモリで構成されることを特徴とする請求項1に記載の非同期統合アップサイジング回路。
【請求項3】
前記リードバッファはリードアドレスチャンネル、及びリードデータチャンネルに各々割り当てられたメモリで構成されることを特徴とする請求項1または2に記載の非同期統合アップサイジング回路。
【請求項4】
前記第1クロックはマスタクロックであり、前記第2クロックはスレーブクロックであることを特徴とする請求項1から3のいずれかに記載の非同期統合アップサイジング回路。
【請求項5】
前記第1クロックはマスタクロックであり、前記第2クロックはAXIバスクロックであることを特徴とする請求項2または3に記載の非同期統合アップサイジング回路。
【請求項6】
前記第1クロックが前記第2クロックより周波数が高い場合には周波数が同じ場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ先行して、レイテンシーが最適化されたアップサイジングが実行されるようにすることを特徴とする請求項2から5のいずれかに記載の非同期統合アップサイジング回路。
【請求項7】
前記第1クロックが前記第2クロックより周波数が低い場合には周波数が同じ場合に比較して、バーストライト動作時にライトアドレスチャンネルのリクエストを予め設定されたクロックサイクル数だけ後行して、バス活用性が最適化されたアップサイジングが実行されるようにすることを特徴とする請求項2から5のいずれかに記載の非同期統合アップサイジング回路。
【請求項8】
前記メモリは各々FIFOメモリであることを特徴とする請求項2に記載の非同期統合アップサイジング回路。
【請求項9】
前記メモリは各々FIFOメモリであることを特徴とする請求項3に記載の非同期統合アップサイジング回路。
【請求項10】
前記マスタクロックはメモリコントローラから提供されるクロックであることを特徴とする請求項5から7のいずれかに記載のデータプロセッシングシステムでの非同期統合アップサイジング回路。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−118893(P2011−118893A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2010−256099(P2010−256099)
【出願日】平成22年11月16日(2010.11.16)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】416,Maetan−dong,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】