JP2011520166A - オフラインタスクリストアーキテクチャ - Google Patents

オフラインタスクリストアーキテクチャ Download PDF

Info

Publication number
JP2011520166A
JP2011520166A JP2011501879A JP2011501879A JP2011520166A JP 2011520166 A JP2011520166 A JP 2011520166A JP 2011501879 A JP2011501879 A JP 2011501879A JP 2011501879 A JP2011501879 A JP 2011501879A JP 2011520166 A JP2011520166 A JP 2011520166A
Authority
JP
Japan
Prior art keywords
task
instruction
memory
circuit
bus
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.)
Granted
Application number
JP2011501879A
Other languages
English (en)
Other versions
JP5496999B2 (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2011520166A publication Critical patent/JP2011520166A/ja
Application granted granted Critical
Publication of JP5496999B2 publication Critical patent/JP5496999B2/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Advance Control (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Microcomputers (AREA)

Abstract

柔軟で再構成可能デジタルシステム(例えば、ワイヤレスモデム)は、1組のサブ回路を備える。各サブ回路は、タスクマネージャと、データストリーム上であるタイプの動作を実行するための多数の構成可能なハードウェア回路とを備える。サブ回路のタスクマネージャは、サブ回路の構成可能なハードウェアを構成および制御できる。中央プロセッサは、密結合メモリ中に1組のタスクリストを維持することにより、サブ回路の動作を構成および調整する。各タスクリストは、対応するサブ回路に対するタスク命令を含む。サブ回路のタスクマネージャは、そのタスクリストからタスク命令を読み取り、命令により指示されたように、その関係するハードウェア回路を制御する。
【選択図】 図4

Description

関連出願に対する相互参照
本出願は、2008年3月26日に出願された仮出願シリアル番号第61/039,774号、および、2008年3月29日に出願された仮出願シリアル番号第61/040,654号の35U.S.C.199条のもとでの利益を主張し、前記仮出願は、参照によりここに組み込まれている。
本開示は、データストリームを処理するために協働する多数のサブ回路に関与するデジタルシステムの制御に関連し、さらに詳細には、本開示は、オフラインタスクリストを使用する、ワイヤレスモデムサブ回路の制御に関連する。
背景情報
デジタルデータ処理システムは、いくつかのより小さいサブ動作に分けることができる非常に多数の動作に関与していることがある。ワイヤレス通信システム変調器/復調器(MODEM)集積回路として一般的に使用される技術のような1つの技術では、独立した専用ハードウェア回路は、さまざまなサブ動作のそれぞれを実行するように設計されている。独立した専用ハードウェア回路は、中央プロセッサにより制御される。独立したさまざまな専用ハードウェア回路を通るメインデータパスが、存在していることが多い。プロセッサ上で実行しているソフトウェアは、リアルタイムクロック(RTC)に関連して動作する。リアルタイムクロックにより決定されるようなある時間間隔において、ハードウェア回路が、データストリーム中のデータを所望の方法で処理するように、ソフトウェアが、ハードウェア回路のうちのさまざまなものをプロセッサに構成または制御させる。プロセッサは、割込みを使用してある条件がアラートされるかもしれない。例えば、プロセッサは、割込みを通して、特定のハードウェア回路がデータの処理を完了していることを知り、この割込みに応答して、プロセッサは、後続するハードウェア回路にデータの処理を開始させるかもしれない。プロセッサは、例外的な取り扱いをすることを要求されるかもしれない。
図1(先行技術)は、ワイヤレスMODEM集積回路1の受信チャネルの一部分の簡略化したブロックダイヤグラムである。この集積回路では、プロセッサ2は、メモリ3からのコードを実行して、さまざまなハードウェア回路3〜8を構成している。集積回路を構成するために、プロセッサ2は、バス9を通して、構成されることになるハードウェア回路中の構成レジスタ中に構成情報を書き込む。参照番号10は、ハードウェア回路4中の1組の構成/制御レジスタを識別している。プロセッサ2はまた、一般的に、さまざまなハードウェア回路を制御する。プロセッサ2は、例えば、ハードウェア回路の動作を開始させてもよく、または、ハードウェア回路の制御レジスタ中に制御情報を書き込むことにより、ハードウェア回路の動作を変更させてもよい。プロセッサはまた、バス9を介して、ハードウェア回路により出力されている選択されたデータを読み取り、このデータに基づいて決定を行い、その後、バス9を通して、構成/制御情報を選択された構成/制御レジスタ中に書き込むことにより、1つ以上のハードウェア回路のうちの1つ以上が動作する方法をこのデータに基づいて変更してもよい。個々のハードウェア回路4〜8はまた、一般的にライン11を通して通信される割込みを介して、特定の条件に対して、プロセッサ2にアラートする。1つの例では、特定のハードウェア回路は、特定の時間において、特定の動作の実行を開始する。ソフトウェア実行は、リアルタイムクロック16から受け取った割込み信号に応答して、メインルーチン12の実行から、割込みサブルーチン13〜15のうちの適切な1つにジャンプする。プロセッサ2は、サブルーチンの実行の際に、割込みの時間のすぐ後に要求されるように特定のハードウェア回路を構成または制御する。それゆえ、さまざまなハードウェア回路4〜8は、プロセッサ2により指示されたように、あるイベントに応答して、または、ある時間において、所望の機能を実行するように制御できる。
図1のアーキテクチャは多くのアプリケーション中でうまく動作し、利点を有するが、これはまた、ある欠点を有する。例えば、プロセッサ2はスループット制約されているかもしれず、バス9のようなバスを通した書き込みが望ましくないくらい遅いかもしれない。この問題は、プロセッサ2が多くの構成/制御レジスタ中に書き込むために、相当な構成/制御情報を有しているかもしれないという事実が原因で、増幅されるかもしれない。第2の潜在的な問題は、プロセッサ2が、同時に、または、ほぼ同時に、1つよりも多いハードウェア回路の動作を開始するように、要求されるかもしれないことである。しかしながら、プロセッサ2は、シーケンシャル的に命令を実行する。この問題に対する1つの解法では、個々のハードウェアブロックが複数の組の構成/制御レジスタを有する。プロセッサ2が前もって、ハードウェア回路における未使用の組の構成/制御レジスタ中に書き込んでおいて、複数のハードウェア回路を開始されるべきときに、余分な構成/制御レジスタ中に以前に供給しておいた構成/制御情報を使用して、動作を開始させるためにプロセッサが書き込む回数をより少なくすることができる。しかしながら、要求される増加した数の構成/制御レジスタを提供することは望ましくない。
概要
第1の側面では、デジタルシステムは、第1のバスにより、メモリに密に結合されているプロセッサを備える。デジタルシステムは、1組のサブ回路をさらに備える。各サブ回路は、タスクマネージャと、あるタイプのデータ処理を実行するための、多数の構成可能であるが特殊化されたハードウェア回路とを備えている。サブ回路のタスクマネージャは、サブ回路の構成可能なハードウェアを構成および制御できる。動作において、システムのプロセッサは、メモリ中に1組のタスクリストを維持することにより、サブ回路の動作を構成し、これらの動作およびタイミングを調整する。各タスクリストは、サブ回路のうちのそれぞれ対応する1つのものに対するタスク命令を含む。各サブ回路のタスクマネージャは、第2のバスを通して、メモリ中のその対応するタスクリストからタスク命令を読み取る。第2のバスを介するタスクマネージャのメモリアクセスは、一般的に第1のバスを介するプロセッサのメモリアクセスが持つよりも、より長いメモリアクセス待ち時間を持つ。サブ回路のタスクマネージャに、より遅い第2のバスを通してメモリからタスク命令を読み取らせることは、第2のバスを通して、多くの相対的にゆっくりな転送を実行しなければならないプロセッサの負担を軽減する。相対的に遅い第2のバスを通した読み取りをプロセッサが実行しなければならないことによるソフトウェア実行の遅れが回避される。タスクマネージャが、第2のバスを通して、タスク命令を読み取った後、タスクマネージャは、タスク命令を解釈して、タスク命令により示されるような動作を、サブ回路の関係する構成可能なハードウェアに実行させる。
1つの例では、タスクリストは、“タイムスタンプ”タイプのタスク命令を含んでもよい。サブ回路のタスクマネージャがこのようなタイムスタンプタスク命令を読み取るとき、タイムスタンプタスク命令により示された動作は直ちに実行されず、むしろ、タイムスタンプにより示された時間において開始される。中央ウォールクロックタイマーは、タイムスタンプにより示された時間に到達したときを決定するために使用される現在時間の表示を提供する。サブ回路のすべてのタスクマネージャは、1つの中央ウォールクロックタイマーにより供給される、1つの時間カウント基準を参照する。タイムスタンプタスク命令をさまざまなサブ回路のタスクリスト中に書き込むことにより、プロセッサは、複数のサブ回路がある動作を実行するときの時間を事前にセットアップできる。別の例では、タスクリストは、プッシュタスク命令を含む。サブ回路によるプッシュタスク命令の実行により、プッシュタスク命令により指定されたある情報が、タスクマネージャにより、第2のバスを通してメモリ中に書き込まれる。いったん、プッシュされた情報がメモリ中に存在すると、プロセッサは、その後、この情報にアクセスし、この情報を使用して決定を行なう。プロセッサは、例えば、この情報を使用して、サブ回路がさらなる処理を実行する方法を変更してもよい。説明するオフラインタスクリストアーキテクチャは、複数のサブ回路を具備する大きなデジタルシステムの設計における一般的な適応可能性を予見する。特に、オフラインタスクリストアーキテクチャは、独立したハードウェア処理サブ回路を含むデジタルシステムの設計において特別な適応可能性を予見し、その動作は、サブ回路の機能がともにデータのストリームを処理するように、柔軟に制御され、互いに時間が合わせられる。
第2の側面では、移動体通信デバイスのワイヤレス通信システムモデムが、第1のバスにより、メモリに密に結合されているプロセッサを具備する。モデムはまた、複数のワイヤレス通信システムサブ回路(WCSMSC)を具備する。各WSCMSCは、タスクマネージャと、あるタイプのデータ処理を実行するための多数の、構成可能であるが特殊化されたハードウェア回路とを備えている。WCSMSCのタスクマネージャは、第2のバスを介して、メモリからタスク命令を読み取ることができ、その後、タスク命令の読み取りにより示されたように、その関係するWCSMSCの構成可能ハードウェアを構成および/または制御できる。WCSMSCは再構成可能ワイヤレスモデム受信チャネルをともに形成する。ここで、受信チャネルという用語は、ベースバンドハードウェア受信機処理チェーンのことを意味する。WCSMSCが、メモリ中に記憶されたタスク命令により示されたような第1の方法で構成される場合、チャネルは、第1のエアインターフェース標準規格(例えば、LTE)にしたがって通信するように構成されるのに対して、WCSMSCが、メモリ中に記憶されているタスク命令により示されたような第2の方法で構成される場合、受信チャネルは、第2のエアインターフェース標準規格(例えば、UMBまたはWiMAX(登録商標))にしたがって通信するように構成される。下記の詳細な説明で記述する、タイムスタンプタスク命令や、プッシュタスク命令や、ハードウェアイベント起動タスク命令や、他のタイプのタスク命令は、ハードウェアの設計変更なしに、受信チャネル(ベースバンド受信機処理チェーンハードウェア)の再構成を容易にするためにタスクリスト中で使用可能である。例えば、1つのエアインターフェース標準規格の通信を受信することから、別のエアインターフェース標準規格の通信を受信することに、同一のモデムハードウェアを切り替えるのに、または、モデムハードウェアの製造の後に行なわれる通信標準規格の変更に適応するためにタスクリスト中で使用可能である。
上述したものは要約であり、したがって、必要により、詳細な説明の、簡略化や、一般化や、省略を含む。結果として、要約はただ説明的なものであり、何らかの方法で限定することを意図してはいないことを当業者は正しく理解するだろう。特許請求の範囲によってのみ規定される、ここで説明する、デバイスおよび/または処理の他の側面、発明的特徴、および利点は、ここに述べる限定していない詳細な説明において明らかになるだろう。
図1(先行技術)は、従来のワイヤレスモデムアーキテクチャを使用するワイヤレスモデム集積回路のダイヤグラムである。 図2は、新規な1つの側面にしたがった、移動体通信デバイスの簡略化したダイヤグラムである。 図3は、図2の移動体通信デバイスのRFトランシーバ集積回路103のより詳細なダイヤグラムである。 図4は、図2の移動体通信デバイスのデジタルベースバンド集積回路104のより詳細なダイヤグラムである。 図5は、タスクマネージャの機能性を備える例示的なモデムサブ回路のダイヤグラムである。 図6は、タスクリスト中のすべてのタスク命令が完了しているタスクリストのダイヤグラムである。 図7は、実行されていないタスク命令を含むタスクリストのダイヤグラムである。 図8は、タスクリストを準備および維持するためにプロセッサにより行なわれるステップを図示している簡略化したフローチャートである。 図9は、タスク命令を読み取る、および、タスク命令の動作の実行を始めるためにタスクマネージャにより行なわれるステップを図示している簡略化したフローチャートである。 図10は、図4のデジタルベースバンド集積回路104のウォールクロックタイマー129の簡略化したブロックダイヤグラムである。 図11は、タイムスタンプタスク命令の実行を読み取っている、および、開始しているタスクマネージャにより行なわれるステップを図示している簡略化したフローチャートである。 図12Aは、すべてのタスク命令中に存在する共通ヘッダのダイヤグラムである。 図12Bは、FTTタスク命令のダイヤグラムである。 図12Cは、サンプルバッファプッシュタスク命令のダイヤグラムである。 図12Dは、FFTおよびサンプルバッファプッシュタスク命令のダイヤグラムである。 図12Eは、シンボルバッファプッシュタスク命令のダイヤグラムである。 図12Fは、復調構成タスク命令のダイヤグラムである。 図12Gは、復調MMSEタスク命令のダイヤグラムである。 図12Hは、復調MRCタスク命令のダイヤグラムである。 図12Iは、DDE構成タスク命令のダイヤグラムである。 図12Jは、DDEクリアLLRタスク命令のダイヤグラムである。 図12Kは、DDEプッシュタスク命令のダイヤグラムである。 図13は、到来LTEフレームを処理する間に、さまざまなタイプの処理が生じるときを示すタイムラインダイヤグラムである。 図14は、到来UMBフレームを処理する間に、さまざまなタイプの処理が生じるときを示すタイムラインダイヤグラムである。 図15は、LTEフレームの処理の間のFFT WCSMSCの動作を図示しているダイヤグラムである。 図16は、図15中に図示した動作を実行するために、タスクリストをどのように作ることができるかを図示しているダイヤグラムである。 図17は、図4のデジタルベースバンド集積回路104のDEMOD WCSMSC141のブロックダイヤグラムである。 図18は、図4のデジタルベースバンド集積回路104のDDE WCSMSC142のブロックダイヤグラムである。
詳細な説明
図2は、1つの側面にしたがった、1つの特定のタイプの移動体通信デバイス100の非常に簡略化したハイレベルブロックダイヤグラムである。この特定の例では、移動体通信デバイス100は、セルラ電話機である。移動体通信デバイス100は、(図示していない他のいくつかのパーツのうちの)2つのアンテナ101および102と、2つの集積回路103および104とを具備している。集積回路103は、RFトランシーバ集積回路である。RFトランシーバ集積回路103は、“トランシーバ”と呼ばれる。その理由は、RFトランシーバは、送信機とともに受信機も備えているからである。RFトランシーバ集積回路103は、主として、アナログ回路を備えるアナログ集積回路である。集積回路104は、その一方で、主として、デジタル回路を備えるデジタル集積回路である。集積回路104は、“デジタルベースバンド集積回路”または“ベースバンドプロセッサ集積回路”と呼ばれることが多い。移動体通信デバイスの電子回路を区分する他の方法もあるが、これは1つの例示的な方法である。
図3は、RFトランシーバ集積回路103のさらに詳細なブロックダイヤグラムである。この特定のトランシーバは、2つのトランシーバを備えている。第1のトランシーバは、受信チェーン105Aおよび送信チェーン105Bを備えている。第2のトランシーバは、受信チェーン106Aおよび送信チェーン106Bを備えている。セルラ電話機100が受信しているとき、高周波数RF信号は、アンテナのうちの1つまたは双方の上で受信される。アンテナ101上で受信されたRF信号において、信号は、デュプレクサ108、ネットワーク109を通って、受信チェーン105Aを通る。信号は、低ノイズ増幅器(LNA)110により増幅され、ミキサー111により、周波数がダウンコンバートされる。結果として生じるダウンコンバートされた信号は、ベースバンドフィルタ112によりフィルタリングされて、適切に制御されているマルチプレクサ113を介して、デジタルベースバンド集積回路104に送られる。デジタルベースバンド集積回路104中のアナログデジタルコンバータ(ADC)114は、信号をデジタルサンプルのストリームにコンバートする。サンプルのストリームは、その後、デジタル集積回路104内の受信チャネル115(図4参照)により処理される。
セルラ電話機100がアンテナ101から送信しようとする場合、通信される情報は、デジタルベースバンド集積回路104の送信チャネル116(図4参照)により処理されて、デジタルアナログコンバータ(DAC)117によりアナログ形態にコンバートされる。結果として生じるアナログ信号は、適切に制御されているデマルチプレクサ118を介して、RFトランシーバ集積回路103の“送信チェーン”105Bに供給される。ベースバンドフィルタ119は、デジタルアナログコンバージョンプロセスにより導入されたノイズをフィルタリングする。ミキサーブロック120は、その後、信号を高周波数信号にアップコンバートする。駆動増幅器121および外部電力増幅器122は、アンテナ101を駆動するために高周波数信号を増幅させ、これにより、高周波数RF信号がアンテナ101から送信される。移動体通信デバイス100では、動作のモードにしたがって、アンテナのうちの、1つまたは双方を使用することができる。
図4は、図2のデジタルベースバンド集積回路104のより詳細なブロックダイヤグラムである。ADC114と、受信チャネル115と、送信チャネル116と、DAC117に加えて、デジタルベースバンド集積回路104は、プロセッサ123と、第1のバス124と、多数の高速マルチバンクデュアルポートメモリ125とを備えている。プロセッサ123は、第1のバス124を介して、メモリ125から読み取り、メモリ125に書き込むことができる。プロセッサ123は、マルチコアプロセッサ、または、マルチスレッドプロセッサであり、複数のプロセッサを実際に備えていてもよい。第1のバス124は、1つのマスター、プロセッサ123と、1つのスレーブ、メモリ125とを関係させる高速なポイントツーポイントバスである。プロセッサ123と、第1のバス124と、メモリ125は、ともに密結合メモリ(TCM)システム126と呼ばれるものを形成する。メモリ125は、プログラムメモリではなく、むしろ、変数およびデータおよび制御情報の記憶ために使用される、高速の、レベル2キャッシュの、マルチポート付きでマルチバンク化されたメモリである。
加えて、デジタルベースバンド集積回路104は、第2のバス127と、多数のプログラムメモリ128と、ウォールクロックタイマー129と、データムーバーブロック130と、コーデックブロック131と、ビデオプロセッサブロック132と、1組の2対1のデマルチプレクサ133と、1組の1対2のマルチプレクサ134とを備えている。プログラムメモリ128は、プロセッサ123により実行される命令のプログラム135を記憶する。ウォールクロックタイマー129は、外部水晶振動子136から供給される基準クロック信号を使用して、カウンタをインクリメントさせる。カウンタは、リアルタイムの表示であるカウント値の、継続的にインクリメントするシーケンスを出力する。プロセッサ123、および、第2のバス127上の他の回路は、下記でさらに詳細に説明するように、第2のバス127を通して、ウォールクロックタイマー129から読み取り、ウォールクロックタイマー129に書き込むことができる。メモリ125が、第2のバス127を介してアクセス可能であるよりも、より少ないメモリアクセス待ち時間で、メモリ125は、第1のバス124を通して、プロセッサ123によりアクセス可能である。図4のデジタルベースバンド集積回路104はまた、第2のバス127を介して、外部フラッシュ不揮発性メモリデバイス137と、外部同期ダイナミックランダムアクセスメモリ(SDRAM)138とに結合されている。データムーバーブロック130およびプロセッサ123は、下記でさらに詳細に説明するように、第2のバス127を通して、外部デバイス137および138から読み取ることができ、外部デバイス137および138に書き込むことができる。
受信チャネル115(ベースバンド受信ハードウェア)は、複数の機能ブロック139〜142を備えており、ここでは、これらをワイヤレス通信システムモデムサブ回路(WCSMSC)と呼ぶ。WCSMSC139〜142は、フロントエンドサブ回路139と、高速フーリエ変換(FFT)サブ回路140と、復調(DEMOD)サブ回路141と、デマップ/デインターリーブ/デコード(DDE)サブ回路142とを備えている。ここで“サンプルバッファ”143と呼ばれている、多数のメモリは、フロントエンドWCSMSC139からFFT WCSMSC140に渡されるデータをバッファリングする。ここで“シンボルバッファ”144と呼ばれている、類似した多数のメモリは、FFT WCSMSC140からDEMOD WCSMSC141に渡されるデータをバッファリングする。ここで“タイルバッファ”145と呼ばれている、別の多数のメモリは、DMOD WCSMSC141からDDE WCSMSC142に渡されるデータをバッファリングする。“デコード出力バッファ”146は、DDE WCSMSC142から第2のバス127に渡されるデータをバッファリングする。受信チャネルデータの一般的なパスは、図4中の左から右に、回路114、133、139、143、140、144、141、145、142、および146を通り、第2のバス127に続く。
送信チャネル116は、別の複数のワイヤレス通信システムモデムサブ回路(WCSMSC)147〜150を備えている。WCSMSC147〜150は、エンコード/インターリーブ/マップサブ回路147と、変調サブ回路148と、逆高速フーリエ変換(IFFT)サブ回路149と、ウィンドウおよび加算サブ回路150とを備えている。送信チャネルのさまざまなサブ回路は、図示しているように、1組のバッファ151〜154によりバッファリングされる。送信チャネルデータの一般的なパスは、右から左へ、回路151、147、152、148、153、149、154、150、134、および1117を通り、RFトランシーバ集積回路103に続く。
1つの新たな側面では、密結合メモリシステム126のメモリ125が、図示しているように、複数のタスクリストを記憶する。各タスクリストは、デジタルベースバンド集積回路104の関係するサブ回路により実行するためのタスク命令のシーケンスを含む。図示している例では、タスクリストTL1は、FFT WCSMSC140のためのタスク命令を含む。タスクリストTL2は、DEMOD WCSMSC141のためのタスク命令を含む。タスクリストTL3は、DDE WCSMSC142のためのタスク命令を含む。タスクTL4は、データムーバーブロック130のためのタスク命令を含む。図4中には図示していないが、メモリ125はまた、全体としての送信チャネル回路116のための、コーデックブロック131のための、および、ビデオプロセッサブロック132のための、タスクリストを含む。プロセッサ123は、これらのタスクリスト中にタスク命令を書き込み、これらのタスクリストを修正し、タスクリストを削除し、そうでなければ、望ましいように、第1のバス124を介して、タスクリストを維持することができる。各タスクリストは、循環バッファ中のメモリ125中に維持される。各タスクリストは、適切なサブ回路により実行されるとき、サブ回路を構成および制御するタスク命令を含む。関係するサブ回路のそれぞれは、第2のバス127に結合されているタスクマネージャ回路とともに、データ処理動作を実行する多数の専用機能回路を備えている。図4中の参照番号155は、FFT WCSMSC140のタスクマネージャ回路155を識別している。
図5は、1つの代表的なWCSMSCのさらに詳細なダイヤグラムである。描いているWCMSCは、FFT WCSMSC140である。タスクマネージャ回路155は、汎用タスクマネージャ部分156と、FFT制御状態機械部分177と、1組のポインタレジスタ157〜160と、DMA(ダイレクトメモリアクセス)エンジン161とを備えている。FFT WCSMSC140は、WCSMSCのメインデータ処理動作を実行するための多数の専用ハードウェア回路162を備えている。専用ハードウェア回路162は、第1のインターフェース回路163を介して、バッファ143からデータを受け取ることができる。専用ハードウェア回路162は、第2のインターフェース回路164を介して、データをバッファ144中に供給できる。下記でさらに詳細に説明するように、汎用タスクマネージャ部分156は、第2のバス127を介して、メモリ125中の対応するタスクリスト(TL1)から1つずつタスク命令を読み取るように適合されている。プロセッサ123は、第2のバス127を通して、タスクマネージャ155のレジスタ159中に書き込みポインタWR_PTRを書き込むことができる。DMAエンジン161は、FFTハードウェアブロック165から情報を読み取り、第2のバス127を介して、例えばメモリ125のような第2のバス127上の回路にその情報を書き込むことができる。FFT制御回路177は、汎用タスクマネージャ部分156により読み取られたタスク命令を解釈して、その後、信号導体166を使用し、FFTハードウェアブロック165を制御および構成する。この方法では、タスクマネージャ155は、サンプルバッファ143(図4参照)の特定の部分からのデータが読み取り、処理のために、FFT専用ハードウェア回路162中に転送するように、インターフェース163を制御できる。同様に、タスクマネージャ155は、FFT専用ハードウェア回路162によるデータ出力をシンボルバッファ144(図4参照)の特定の部分中に書き込むように、インターフェース164を制御できる。図示および説明を簡単にするために、第2のバス127は、図5および図4中で単線として描写されているが、第2のバス127は、プロセッサ123を、さまざまなWCSMSCの各タスクマネージャ中のポインタレジスタに結合する第1のサブバスを含んでいてもよく、第2のバス127は、さまざまなWCSMSCのタスクマネージャをメモリ125に結合する第2のサブバスをさらに含んでいてもよい。汎用タスクマネージャ156は、“汎用”であると呼ばれている。その理由は、そのハードウェアが、WCSMSCのそれぞれのタスクマネージャ中で複製されるからである。その一方で、図5中の楕円形において図示されている制御回路は、制御されるべき特定のWCSMSCのタスク命令に特有な状態機械回路である。タスクマネージャの回路は、VerilogまたはVHDLのようなハードウェア記述言語でそのさまざまなコンポーネント部分の機能を記述し、その後、商業入手可能な統合ツールを使用して、記述した機能を実行するハードウェア回路設計を発生させることにより、実現される。
図6は、タスクリストを図示しているダイヤグラムである。図示した特定の例では、タスクリストは、FFT WCSMSC140のためのタスクリストTL1である。タスクリストTL1は、メモリ125内の循環バッファ中に記憶される。循環バッファは、レジスタ157中のポインタSTART_ADDRにより識別される、メモリ125中の位置において開始する。循環バッファは、レジスタ158中のポインタEND_ADDRにより識別される、メモリ125中の位置において終了する。タスクマネージャ155中のレジスタ157および158中に記憶されているSTART_ADDRおよびEND_ADDRポインタにより、タスクリストTL1を記憶している循環バッファがメモリ125中のどこで開始および終了するのかをFFT WCSMSC140のタスクマネージャ155は把握する。これらのレジスタは、汎用タスクマネージャ156によりアクセス可能である。図6中の各長方形は、メモリ125中のワードを表している。図6の例では、タスクリストTL1中にいくつかのタスク命令(TASK#1、TASK#2、TASK#3、TASK#4、TASK#5)が存在する。いくつかのタスク命令は、その他のタスク命令より多くのワードを含むことに留意されたい。ポインタEXEC_PTRは、WCSMSCにより実行された最後のタスク命令の終りの後の、次の位置(次のワード)を識別する。ポインタWR_PTRは、実行されなければならない最後のタスク命令の最後のワードの終りを識別する。図6の例では、FFT WCSMSCは、そのタスクリストTL1中のすべてのタスク命令を実行している。それゆえ、EXEC_PTRおよびWR_PTRポインタは、同一の位置をポイント指定している。ポインタがこの状態にある場合、タスクマネージャ155は、タスクリストTL1からこれ以上のタスク命令を読み取るように試みない。
図7は、プロセッサ123がタスクリストTL1中に新たなタスク命令(TASK#6)を書き込んだ後のTL1タスクリストを図示しているダイヤグラムである。プロセッサ123は、タスク命令TASK#6をメモリ125中のTL1タスクリストに追加し、その後、第2のバス127を通して、レジスタ159中に新たなWR_PTR値を書き込むことにより、タスクマネージャ155のレジスタ159中のWR_PTRポインタを3つだけインクリメントさせる。タスク命令を読み取った後、タスクマネージャ155は、EXEC_PTRを更新し、読み取った最後のタスク命令の後の、タスクリスト中の次の位置をポイント指定する。このメカニズムにより、プロセッサ123は、高速な第1のバス124を通して、WCSMSCのためのタスクリスト中に適切なタスク命令を書き込むことにより、特定のWCSMSCに特定のタスクを実行させる。いったんメモリ125中のタスクリストが更新されると、適切なWCSMSCのタスクマネージャが応答して、次のタスク命令を読み取り、それを解釈して、タスク命令が指定している動作を実行させるように、プロセッサ123は、第2のバス127を通して、1回の書き込みをして、WCSMSCのWR_PTRを更新するだけでよい。
図8は、プロセッサ123が、どのように、所望の動作を所望のWCSMSCに実行させることができるかを図示している簡略化したフローチャートである。第1のステップ(ステップ200)では、所望の動作をWCSMSCに実行させるように命令するタスク命令を含む、WCSMSCのためのタスクリストを、プロセッサ123はメモリ125中に準備する。例えば、プロセッサ123は、上記で説明したように、第1の高速バス124を介して、メモリ125中のターゲットWCSMSCのためのタスクリストの終りにタスク命令を書き込んでもよい。第2のステップ(ステップ201)では、プロセッサ123は、より遅いバス127を通して、ターゲットWCSMSCのタスクマネージャ中のWR_PTRの値を更新し、これにより、タスクマネージャのWR_PTRは、新たに追加されたタスク命令の終了位置の後のタスクリスト位置をポイント指定する。タスクリスト中のタスク命令の実行を開始するためには、遅いバス127を通した、ただ1つの書き込みが必要とされるだけである。
図9は、ターゲットWCSMCSのタスクマネージャが、図8中のプロセッサ動作にどのように応答するかを図示している簡略化したフローチャートである。第1のステップ(ステップ202)では、タスクマネージャは、そのWR_PTRが更新されていることを認識し、これに応答して、メモリ125中のそのタスクリストから次のタスク命令を読み取る。タスクマネージャは、第2のバス127を通して、この読み取りを実行する。タスクマネージャは、その後、タスク命令を解釈し(ステップ203)、WCSMSCのハードウェアブロック部分に供給される、制御および/または構成信号を(例えば、図5中の導体166を介して)発生させる。制御および/または構成信号は、タスク命令により指定された動作をハードウェアブロック部分に実行させる。この動作を実行することを、ここでは、タスクを“実行すること”、または、タスク命令を実行することと呼ぶ。次に、EXEC_PTRがWR_PTRに等しくない場合(ステップ204)、読み取られ、実行されるべき、より多くのタスク命令がタスクリスト上にある。処理は、ステップ202に戻る。しかしながら、EXEC_PTRがWR_PTRに等しい場合(ステップ204)、タスクリスト中には、実行されるべきタスク命令はもはや存在しない。プロセッサ123が実行されるべきタスク命令がさらにあることを示すWR_PTRを再び書き込む場合のみ(ステップ205)、タスクマネージャはメモリ125からタスク命令を読み取るためにステップ202に戻る。タスクマネージャは、メモリ125中のSTART_PTRとEND_PTRとの間の位置を、循環バッファとして扱う。したがって、最後に実行されたタスク命令が、循環バッファの終りにある場合、その後、タスクマネージャは、循環バッファの始めにおいて新たに追加されたタスク命令を探す。バッファオーバーフローおよびアンダーフローのエラー検査を組み込むことができる。
タスク命令の中には、ここで“タイムスタンプタスク命令”または“時間が合わされたタスク命令”と呼ばれるタイプのタスク命令もある。タイムスタンプタスク命令は、タイムスタンプを含むフィールドを含む。このタイムスタンプは、図4のウォールクロックタイマーブロック129内のウォールクロックカウンタにより出力されるタイマーカウント値に対応している。このようなタイムスタンプタスク命令を読み取るタスクマネージャは、タスク命令を解釈するが、タスク命令のタイムスタンプフィールド中に示される時間に到達するまで、指定された動作の実行を、ターゲットWCSMSCの関係するハードウェアに開始させない。プロセッサ123は、それゆえ、複数の異なるタスクリスト中に、タイムスタンプタスク命令を書き込むことができ、対応するタスクマネージャのWR_PTRを更新することができ、これにより、対応するタスクマネージャがタイムスタンプタスク命令を読み取る。これらのタイムスタンプタスク命令のすべてのタイムスタンプが同一の将来時間にセットされている場合、タスクマネージャは、指定された動作の実行をそれらのそれぞれのハードウェアブロックに開始させない。図4のウォールクロックカウンタ129により維持されているタイムカウント値がタイムスタンプ値に到達するとき、すべてのタスクマネージャは、プロセッサにより前にセットアップされたそれらのそれぞれの動作の実行を、それらのそれぞれのハードウェアブロックに同時に開始させる。この方法では、プロセッサ123は命令をシーケンシャル的に実行するという事実にもかかわらず、プロセッサ123は複数のWCSMSCを制御して、同時に動作を実行させることができる。
図10は、図4のウォールクロックタイマー129のブロックダイヤグラムである。ウォールクロックタイマー129は、そのカウントが、ウォールクロックタイマー129がその一部分であるモデムの動作寿命全体(例えば、10年間)を通してロールオーバーしない非常に多くのビットを含む、32ビットのウォールクロックカウンタ167を備えている。タイマーカウント値168は、それゆえ、リアルタイムに対応し、リアルタイムを示している。リアルタイムのこの表示は、(タイムスタンプタスク命令の使用を通して)モデムのすべてのさまざまなサブ回路により使用可能であるので、“ウォールクロックタイム”と呼ばれる。この例では、ウォールクロックカウンタ167は、図4の受信チャネル115中に渡される各サンプルに対して1度インクリメントする。ウォールクロックカウンタ167をクロックするクロック信号は、ライン170を介して、図4のADC114に供給されるのと同一の信号ADC_CLKである。ウォールクロックカウンタ129は、第2のバス127を通して書き込むことができる制御レジスタ171を備えている。ウォールクロックタイマー129は、2つの異なるエアインターフェース標準規格に対する正確なサンプリング周波数のクロック信号を発生させる2つの位相同期ループ(PLL)172および173を備えている。図示している例では、PLL172は、LTE(ロングタームエボリューション)エアインターフェース標準規格に対して要求されている正確な15.36MHzのクロック信号を出力するのに対して、PLL173は、UMB(ウルトラ移動体ブロードバンド)エアインターフェース標準規格に対して要求されている正確な9.38MHzのクロック信号を出力する。プロセッサ123は、適切な制御ビットを制御レジスタ171のビット174中に書き込むことにより、モデムにより処理すべき通信に対する正確なサンプリング周波数をセットする。LTEは、技術的に知られているテクノロジーであり、“第三世代パートナーシッププロジェクト”(3GPP)という名の機関からの入手可能な文書中で説明されている。UMBは、技術的に知られているテクノロジーであり、“第三世代パートナーシッププロジェクト2”(3GPP2)という名の機関からの入手可能な文書中で説明されている。
ウォールクロックタイマー129はまた、複数のプログラム可能タイマーブロック175A、175B〜175Nを備えている。これらのプログラム可能タイマーブロックのそれぞれは、ウォールクロックカウンタ167により出力されるタイムカウンタ値168と、INIT_VALUEを比較するように制御できる比較器を備えている。上記で説明したように、さまざまなWCSMSCのタスクマネージャが、第2のバス127に結合されている。プログラム可能タイマーブロック175A、175B〜175Nに対して第2のバス127がインターフェースしていることから、WCSMSCのタスクマネージャは、第2のバス127を通して適切なアドレスを書き込むことにより、プログラム可能タイマー中にINT_VALUE値およびCONTROL値を書き込むことができる。プログラム可能タイマーがこれらのINIT_VALUE値およびCONTROL値により正確に構成されている場合、ウォールクロックカウンタ167によって出力されたタイマーカウント値168がINIT_VALUEに到達するとき、プログラム可能タイマーブロック中の比較器がトリガー信号をアサートする。図10中のライン176は、例えば、第1のプログラム可能タイマーブロック175Aにより発生された1ビットのデジタルトリガー信号を伝える信号導体を識別している。トリガー信号がアサートされた場合には、そのために専用ハードウェア回路が構成されている動作の実行を、専用ハードウェア回路が開始するように、このトリガー信号は、適切なハードワイヤード接続により、特定のWCSMSC中の専用ハードウェア回路の適切な入力に結合されている。タイムスタンプタスク命令を使用することの1つの特有な例では、トリガー信号導体176は、特定の時間において開始されなければならない専用ハードウェア回路に対してハードワイヤード接続されている。WCSMSCに対するタスクマネージャは、そのタスクリストを読み取り、タイムスタンプタスク命令を取得する。タイムスタンプタスク命令を解釈した結果として、タスクマネージャは、第2のバス127を通してウォールクロックタイマーブロック129に書き込んで、プログラム可能タイマーをセットアップする。プログラム可能タイマーのトリガー信号出力導線は、専用ハードウェア回路開始入力導線に接続されている。タスクマネージャは、プログラム可能タイマーのINIT_VALUEレジスタ中に、タイムスタンプタスク命令から取得されたタイムスタンプ値を書き込む。WCSMSC中の専用ハードウェア回路は、トリガー信号がまだアサートされていないことから、この時、タスク命令により指定された動作の実行を開始しない。指定時間に達したとき、プログラム可能タイマー中の比較器は、ウォールクロックカウンタ167により出力されたタイマーカウント値168がINIT_VALUEに一致することを検出する。この検出の結果として、比較器は、トリガー信号をアサートし、これにより、WCSMSC中のハードウェア回路を開始させる。
図11は、タイムスタンプタスク命令の使用を図示している簡略化したフローチャートである。初めのステップ(ステップ206)では、タスクマネージャは、第2のバス127を通してメモリ125から次のタスク命令を読み取る。タスクマネージャは、その後、タイムスタンプタスク命令を解釈する(ステップ207)。タスク命令の解釈の結果として、タスクマネージャの制御回路部分は、WSCMSCの専用ハードウェア部分に供給されるトリガー信号をアサートするように、ウォールクロックタイマーブロック129をセットアップする。上述したように、1つの例では、タスクマネージャは、第2のバス127を通して、ウォールクロックタイマー129中に値を書き込んで、適切なプログラム可能タイマーをセットアップする。そして、タイムスタンプにより示される後の時間において、ウォールクロックタイマーはトリガー信号をアサートする(ステップ208)。トリガー信号をアサートすることで、WCSMSCの専用ハードウェア回路は、指定された動作の実行を開始する。実行される動作は、例えば、タイムスタンプタスク命令の別のフィールド中の値により決定されてもよい。
タイムスタンプタスク命令を実行するための回路を実現する多くの方法がある。ターゲットWCSMSCのタスクマネージャが、ウォールクロック中のプログラム可能タイマーをセットアップして、トリガー信号を発生させる先に述べた例は、1つの可能性ある方法に過ぎない。別の例では、タイムスタンプ値をウォールクロックタイムと比較する比較器はタスクマネージャ中に位置し、タイマーカウント値168(ウォールクロックタイム)が、比較器に供給される。
タイムスタンプにより示された時間において、タスク命令の実行を開始することに加えて、タスク命令の実行を起動できる別の3つの方法がある。タスク命令をどのように実行すべきかを指定する4つの異なる方法を、“起動モード”と呼ぶ。上述したタイムスタンプ起動モードに加えて、即時起動モードがある。即時起動モードでは、タスクマネージャがタスク命令を解釈するとすぐに、タスク命令に関係する動作が開始される。タスク命令により指定された動作は、何の制限もなく開始される。“HWイベント駆動型”起動モードと呼ばれる起動モードもある。このモードでは、実行されるべき動作は、特定のハードウェアイベントが生じる時間において開始する。HWイベント駆動型タスク命令の実行を起動するようにできるハードウェアイベントの例は、ハードウェアタスクの完了、または、リソースの利用可能性の表示である。“SWイベント駆動型”起動モードと呼ばれる第4の起動モードもある。このモードでは、識別されたレジスタに対してソフトウェアが書き込みを行なうときに、実行されるべき動作が開始する。どの特定の起動モードが用いられているかは、タスク命令の第1のワードにおける2ビットのフィールドにより指定される。プロセッサ123は、これらのタスク命令中の2ビットを適切な値にセットすることにより、タスクがどのように実行されるかを指定することができる。
図12Aは、タスク命令の第1の64ビットのダイヤグラムである。これらのビットは、“共通ヘッダ”とも呼ばれる。初めの4ビットの“OP”はオペコードである。タスクマネージャの汎用タスクマネージャ部分は、このオペコードをデコードして、タスク命令のタイプや、タスク命令のさまざまなフィールドをどのように取り扱うかを決定する。次の8“LN”ビットは、数字を保持する長さフィールドである。この数は、タスク命令中のワードの数を示す。タスクマネージャの汎用タスクマネージャ部分は、この長さフィールドを使用して、メモリ125からいくつのワードを読み取るかを決定する。“AT2”フィールドは、4つの起動モードのうちのどの起動モードを使用すべきかを示すコードを含んでいる。“RTC COUNT”フィールドは、タイムスタンプである。
図12Bは、“FFTタスク”と呼ばれるタスク命令のダイヤグラムである。FFTタスクの共通ヘッダは、図12A中に示されている。次の64ビットは、発信元アドレスフィールドと、宛先アドレスフィールドと、4ビットのFFTサイズフィールドとを含むさまざまなフィールドを含んでいる。4ビットのFFTサイズフィールドは、バッファ中の位置の数を含んでいる。FFT WCSMSC中に読み取られた各バッファ値に対して、FFT WCSMSCは1つの値を出力する。発信元アドレスフィールドは、サンプルバッファ143中の最初の位置のアドレスを含み、ここから、FFT WCSMSCは、処理するデータを読み取る。宛先フィールドは、FFT WCSMSCが処理データを置くシンボルバッファ144中の最初の位置のアドレスを含む。サンプルバッファ143から読み取られるべき連続的なバッファ位置の数、および、シンボルバッファ144中に書き込まれるべき連続的なバッファ位置の対応する数は、FFTサイズフィールド中で明らかにされている。
図12Cは、“サンプルバッファプッシュタスク”と呼ばれるタスク命令のダイヤグラムである。発信元アドレスフィールドは、サンプルバッファ143中の開始アドレスを示す。データはこの開始アドレスからプッシュされる。宛先アドレスフィールドは、プッシュデータが書き込まれるべきメモリ125中の開始アドレスを示す。サンプルバッファプッシュ長さフィールドは、プッシュする連続的なバッファ位置の数を示す数を含む。
図12Dは、“FFTサンプルバッファプッシュタスク”と呼ばれるタスク命令のダイヤグラムである。このタスク命令の実行は、FFT WCSMSCに、タスク命令の第2の64ビットにより指定されるようなFFT動作を実行させ、加えて、このタスク命令の実行は、サンプルメモリバッファ143からメモリ125にデータをプッシュさせる。
図12Eは、“シンボルバッファプッシュタスク”と呼ばれる別のプッシュタスク命令のダイヤグラムである。このタスク命令の実行は、FFT WCSMSC140により、シンボルバッファ144からメモリ125中に複数の個々に指定されたバッファ位置をプッシュさせる。このタスク命令の共通ヘッダは、図12A中で明らかにされている。プッシュされる値は、宛先アドレスフィールドにより示されているアドレスで開始する連続的な位置において、メモリ125中に書き込まれなければならない。プッシュされるべき個々の値の位置は、発信元アドレスフィールドのシーケンスにより示される。タスク命令のワードの数、および、それゆえプッシュされるべき値の数は、“Numシンボル”フィールド中で明らかにされている。
図12Fは、“復調構成タスク”と呼ばれるタスク命令のダイヤグラムである。図12Gは、“復調MMSEタスク”と呼ばれるタスク命令のダイヤグラムである。図12Hは、“復調MRCタスク”と呼ばれるタスク命令のダイヤグラムである。一般的に、復調構成タスクは復調WCSMSC141に対する構成パラメータを含む。一般的に、より頻繁に変化する、復調MMSEタスク命令および復調MRCタスク命令中で明らかにされているパラメータと比較すると、この構成パラメータは、相対的に静的である。使用法として、単一の復調構成タスクは、復調WCSMSC141を構成するために使用され、その後、復調MMSEタスク命令か、復調MRCタスク命令かのいずれかのシーケンスが後に続いて、DEMOD WCSMSCに個々の復調動作を実行させる。実行できる2つの一般的なタイプの復調動作、最小平均二乗誤差(MMSE)タイプ復調または最大比合成(MRC)タイプ復調がある。復調MMSEタスク命令が、MMSEタイプ復調を実行するために使用されるのに対して、復調MRCタスク命令は、MRCタイプ復調を実行するために使用される。
図12Iは、“DDE構成タスク”と呼ばれるタスク命令のダイヤグラムである。上記に説明した復調構成タスクのケースのように、DDE構成タスクは、相対的に静的である、DDE WCSMSC142に対する構成パラメータを含む。ノートのうちの1つのフィールドは、1ビットの“SCE”ソフト合成イネーブルフィールドである。このビットがセットされている場合、DDE WCSMSC142のデコーダ部分は、HARQプロトコルにしたがって、先の送信からのデータを、現在の送信からのデータとソフト合成するように構成される。
図12Jは、“DDEクリアLLRタスク”と呼ばれるタスク命令のダイヤグラムである。このタスクの実行は、DDE WCSMSC142のソフト合成バッファ(図18のLLRバッファを参照)内のデータをクリアさせる。
図12Kは、“DDEプッシュタスク”と呼ばれるタスク命令のダイヤグラムである。このタスクの実行は、メモリ125中に情報をプッシュさせるようにする。DDE WCSMSC142のデマップ部分により出力される情報は、“デマッププッシュTCM宛先アドレス”フィールドにより指定されるような、メモリ125中の位置にプッシュされる。DDE WCSMSC142のデコード部分により出力される情報は、“デコードプッシュTCM宛先アドレス”により指定されるような、メモリ125中の位置にプッシュされる。DDE WCSMSC142のデコーダ部分により実行される多くの動作のうちの1つは、巡回冗長検査(CRC)を実行して、受信したデータのデコードに成功したか否かを決定することである。CRC検査に合格または不合格か否かは、ステータス情報である。適切な値で2ビットのPSHフィールドをセットすると、“デコードプッシュTCM宛先アドレス”値におけるアドレスに対して既知のオフセットでメモリ125中にステータス情報がプッシュされる。
図12A〜12K中で明らかにされているタスク命令は、図4のデジタルベースバンド集積回路104中で使用されているいくつかのタスク命令の単なる例である。図4のデジタルベースバンド集積回路104のケースのように、ここに説明する新規のオフラインタスクリスト技法を用いる典型的な設計では、タスクマネージャを有するWCSMSCのそれぞれにより実行されるように規定されている多くのタスク命令がある。他のタスク命令は、DPICH XFERタスク、CPICH XFERタスク、データムーバータスク、散布収集タスク、音声出力プッシュタスク、VDEC出力プッシュタスク、TDEC出力プッシュタスク、ACK/NACK検出プッシュデータタスク、TXフレームステータスプッシュデータタスクを含む。
図13は、到来LTEフレームを処理する受信チャネルの例の間に、さまざまなタイプの処理がいつ生じるかを図示しているタイムラインダイヤグラムである。図14は、到来UMBフレームを処理する受信チャネルの例の間に、さまざまなタイプの処理がいつ生じるかを図示しているタイムラインダイヤグラムである。LTEの例において、7つのOFDMシンボルFFT動作の結果は、その結果が復調動作中で処理される前に、集められることに留意されたい。図13では、T0’〜T6’で指定している矢印は、7つのFFT処理タスクの結果がいつ生じたかを示す。図13中の矢印T0〜T6は、これらの7つのFFT処理タスクがいつ開始されたかを示す。FFT処理結果T6’が発生されたすぐ後に制御チャネル復調の実行が開始される。制御チャネル情報の復調およびデコーディングの後に、図13中で図示しているような時間で開始および終了するように、7つのシンボルのトラフィックチャネルデータは、復調およびデコードされる。図14のUMBの例において、シンボルレートホッピングモードでは、対照的に、各OFDMシンボルに対して、復調タスクおよびデコードタスクが実行される。巡回プリフィックス当たりのサンプルの数は、図13のLTEの例のものとは異なる。LTE送信を受信するために要求される処理のタイプと、UMB送信を受信するために要求される処理のタイプとの間には、多くの異なるフォーマットおよびタイミングの差がある。それでも動作のタイプは多くの類似点を有する。双方のタイプの送信の受信処理では、下記の動作:FFT処理、復調、およびデマッピング/デインターリービング/デコーディングが実行される。したがって、1つの新しい側面では、同一のハードウェアが、2つのエアインターフェース標準規格(LTEまたはUMB)のうちのいずれか1つにおいて送信を通信するために使用可能であるように、ワイヤレスモデムの受信チャネルのWCSMSCは、オフラインタスクリストにより構成および制御される。1つの例では、プロセッサ123(図4参照)により実行されるプログラム135は、集積回路104の電源が入れられる前に、外部フラッシュメモリ137中に初めに記憶される。電源を入れると、プログラムは、第2のバス127を通して集積回路104中に読み取られ、プログラムメモリ128中にロードされる。プロセッサ123は、プログラムメモリからのプログラム135を実行する。プログラム135は、プロセッサ123が、メモリ125中のタスクリストをどのように作って、制御するかを命令して、それゆえ、集積回路104のさまざまなサブ回路をどのように構成するかと、それらの動作をどのように起動するかと、ワイヤレス通信を受信および送信するために、これらのサブ回路がどのように協働するかとを決定する。1つのモードでは、集積回路104のさまざまなサブ回路が、第1のエアインターフェース標準規格(例えば、LTE)にしたがって通信するためにともに働くように、プロセッサ123は、プログラム135の指示の下で、タスクリストを作って制御する。第2のモードでは、集積回路104のさまざまなサブ回路が、第2のエアインターフェース標準規格(例えば、UMB)にしたがって通信するためにともに働くように、プロセッサ123は、プログラム135の指示の下で、タスクリストを作って制御する。WCSMSCサブ回路の適切な再構成可能性のおかげで、1つのモードから別のモードに変更することは、何らかのハードウェアの再設計を伴わない。変化する標準規格に適応するためのデジタルベースバンド集積回路104のプログラミングは、柔軟で理解が簡単なタスク命令と、用いられるオフラインタスクリストアーキテクチャとにより容易となる。
タスクリストアーキテクチャの1つの側面では、モデムの特定のWCSMSC中のハードウェア形態において、実現される処理が、標準規格における変更により通信標準規格と互換性がなくなった場合や、WCSMSCハードウェアが、変更された標準規格の新たな要件に適応するように設計されていなかった場合には、全く同一のデジタルベースバンド集積回路104は、それにもかかわらず、変更された標準規格にしたがって動作するように、一般的には、比較的簡単に修正できる。その要件が変更された動作をWCSMSCに実行させるよりむしろ、そうでなければWCSMSCが使用していたであろう動作を実行するためのデータをプッシュさせるために、プッシュタスク命令が用いられる。プロセッサ123は、メモリ125からのプッシュされたデータにアクセスし、変更された標準規格により必要とされている新たなタイプの処理をソフトウェア中で実行し、その後、ソフトウェア処理の結果に基づいて、データパス中の後続するWCSMSCを制御する。プロセッサ123は、各WCSMSCのタスクリストを適切に修正することにより、後続するWCSMSCを制御する。それゆえ、選択された専用ハードウェアサブ回路を受信チャネルまたは送信チャネルから効果的に除去することができ、その後、望ましいように、効果的に除去されたサブ回路の機能は、ソフトウェアインプリメンテーションに置き換えることができることが多い。
図15は、到来LTEフレームの1個のスロットが処理される例におけるFFT WCSMSC140の動作を図示している。ADC_CLK信号が、関係するLTE標準規格に対する正確なサンプリング周波数(このケースでは15.36MHz)であるように、プロセッサ123は、ウォールクロックタイマー129を初めに構成する。連続するバッファ位置にサンプルが書き込まれるように、ADCサンプルの到来ストリームがサンプルバッファ143中に書き込まれる。図13に示したように、LTEの例において、1個のOFDMシンボルは1024個のサンプルに関係している。シンボルに先行するプリフィックスは、80個のサンプルの長さを有する最後のプリフィックスを除いて、72個のサンプルの長さである。サンプルバッファ143中に出現する到来サンプルのストリームは、図15において、“サンプルバッファ”というラベルが付けられた列中に描写されている。さまざまなシンボルおよびプリフィックスに対応している、サンプルバッファ143中のアドレスは、右隣の列で明らかにされている。FFT WCSMSC140により実行されるべきFFT動作の結果は、サンプルバッファ143から読み取られる、各サンプル値に対して、出力値をシンボルバッファ144中に置くことを伴う。したがって、図15中の“シンボルバッファ”というラベルが付けられた列はシンボルのシーケンスを示している。サンプルバッファからのプリフィックスサンプル値は使用されず、FFT動作中では無視される。プリフィックス値は、FFT WCSMSC140を通り過ぎた受信チャネルの下流には渡されるべきではない。したがって、図15の“シンボルバッファ”列の1024個の位置シンボルは、何らかの介在プリフィックスなく、互いに接していることを示している。
図16は、FFT WCSMSC140のためのタスクリストが、図13および図15中で概要を述べたLTE FFT処理を実行するためにどのように生成されるかを図示している。タスクリスト中の第1のタスク(TASK#1)は、図15中で図示したように、アドレスX+72において始まるサンプルをサンプルバッファ143から読み取るためのものである。このタスクは、図15中で図示したように、アドレスYにおいて始めて、シンボルバッファ144中に結果を書き込むためのものである。読み取られるサンプルと、書き込まれるシンボル値の数は1024個である。すべてのサンプルがFFT WCSMSC140中に読み取られた後でのみ、FFT動作を開始することができる。それゆえ、FFT動作それ自体が開始されるべき時間は、タイマーカウント値168が値X+1024+72に到達する時間である。図16の最も右側の列における上位4つのエントリは、“FFTタスク”中の関係するフィールド中で明らかにされるべき値を示している。先の図12Bでは、FFTタスクのフォーマットを明らかにしている。FFTタスクリストに追加された次の6つのタスクは、類似した作りで生成されている。サンプルバッファからサンプルを読み取る際に、プリフィックスサンプル値を飛び越えるようにサンプルバッファ143中の開始アドレスが指定される。シンボルごとに1つのFFT動作で、7つのFFT動作が実行された後に、図13中に図示している時間T7’において復調動作を開始できる。
しかしながら、図示した例では、特別なタイプのチャネル推定動作をプロセッサ123により最初に行なわなければならない。専用ハードウェア回路中で実行されることに向けられているものではなく、むしろ、プロセッサ123により、さらに柔軟なソフトウェア中でより有利に実行される動作の例として、チャネル推定動作がここで説明されている。あるパイロット信号サンプルは、LTE標準規格により指定されるパターンで、シンボルバッファ内の位置に分散されている。したがって、図16中のTASK#8は、図12E中で明らかにされているシンボルバッファプッシュタスクである。“シンボルバッファプッシュタスク”命令中の発信元アドレスフィールドは、これらのパイロットが発見される、シンボルバッファ144中の位置である。起動モードは即時モードになるように指定されている。FFT WCSMSC140によるプッシュタスク命令の実行の後に、プロセッサ123は、メモリ125中のパイロット情報を使用して、特別なチャネル推定動作をソフトウェアで実行する。DEMOD WCSMSC141により実行される復調で使用される復調パラメータ(例えば、チャネル推定パラメータおよび干渉推定パラメータ)は、チャネル推定の結果に依存している。現在の例では、DEMOD WCSMSC144のためのタスクリスト中に書き込まれている復調タスク命令のさまざまなREALおよびIMAGのパラメータフィールド中にこれらの復調パラメータを提供することにより、プロセッサ123は、これらの復調パラメータを変更する。例えば、MMSEタイプ復調が使用される場合に、パラメータは、復調MMSEタスク命令(図12G参照)中に提供される。復調MMSEタスク命令は、図13中の時間T7’のすぐ後に開始する、図示されている復調動作を起動する。
ソフトウェアでプロセッサにより実行される動作の別の例は、ACK/NACK処理の例である。この動作の結果は、その後、後続する処理を制御するためにタスク命令中で使用される。DDEプッシュタスク(図12K参照)は、DDE WCSMSC142のためのタスクリスト中に入れられている。このタスク命令中の2ビットのPSHフィールドは、DDE WCSMSC142のタスクマネージャによりCRC検査の結果をメモリ125中にプッシュさせるためにセットされる。この例では、プロセッサ123は、プッシュされたCRC検査情報を取り出し、その情報を使用してデコーディングが成功または失敗であるか否かを決定する。デコーディングが成功した場合には、受信したトラフィックデータはHARQソフト合成で使用されない。それゆえ、DDE WCSMSC142のデコード部分におけるソフト合成バッファがクリアされるように、プロセッサは、DDE WCSMSC142のためのタスクリスト中にDDEクリアLLRタスク(図12J参照)を書き込む。そのソフト合成イネーブル(SCE)ビットをゼロにセットさせるDDE構成タスク命令(図12I参照)もタスクリスト中に書き込まれ、DDE WCSMSC142によるソフト合成をディセーブルさせる。プロセッサ123はまた、送信チャネル116のためのタスクリスト中に適切なタスク命令を書き込むことにより、ACKメッセージが送信されるようにする。その一方で、デコーディングが失敗したとプロセッサ123が決定した場合には、後続する送信からの情報が、最後に失敗した送信からのバッファされている情報とソフト合成されるように、プロセッサ123はDDEソフトバッファをクリアせず、ソフト合成をディセーブルさせないだろう。プロセッサ123はまた、送信チャネル116に対するタスクリスト中に適切なタスク命令を書き込むことにより、NACKメッセージが送信されるようにする。
図17は、図4のDEMOD WCSMSC141のブロックダイヤグラムである。DEMOD WCSMSC141は、タスクマネージャ回路300と、IQフェッチャー301と、チャネル推定回路302と、MMSE/MRC復調器エンジン303と、書き込みマネージャ304とを備えている。タスクマネージャ回路300は、汎用タスクマネージャ部分305と、ポインタレジスタを含む1組のレジスタ306と、AHBバスインターフェース307と、復調器制御状態機械部分308と、1組のプリタスクレジスタ309とを備えている。汎用タスクマネージャ部分305は、マスターとして、第2のバス127のAXIバス部分に対してインターフェースする。AHBバスインターフェース307は、スレーブとして、第2のバス127のAHBバス部分に対してインターフェースする。データの一般的な流れは、シンボルバッファ144からのパイプライン化されたデータパスを通り、DEMOD WCSMSC141を通って、タイルバッファ145に向かう。タスクマネージャ300はAXIバスインターフェースを使用して、密結合メモリ125からタスク命令を読み取る。プロセッサ123は、AHBバス上でマスターとして動作し、スレーブAHBインターフェース307を使用して、DEMOD WCSMSCの内部レジスタを読み取り、レジスタ306のWR_PTRレジスタを書き込み、そして、DEMOD WCSMSC141を通してタイルバッファ145を読み取る。DEMOD WCSMSC141は、3つの一般的なタイプのタスク命令を実行できる:実行されるべき将来の復調動作のために、WCSMSCハードウェアエンジンに対する構成パラメータを、実行されるときにロードする構成タスク命令と、MMSE動作に対するパラメータを、実行されるときに受信して復調を実施するMMSEタスク命令と、MRC動作に対するパラメータを、実行されるときに受信して復調を実施するMRCタスク命令とである。
動作において、プロセッサ123は、DEMOD WCSMSC141のレジスタ306中のWR_PTRを更新し、これにより、DEMOD WCSMSC141に対する、実行するための少なくとも1つの付加的なタスク命令があることを示している。汎用タスクマネージャ305は、DEMOD WCSMSC141による実行のための新たなタスク命令が密結合メモリ125中にあるか否かを決定する。別のタスク命令があると汎用タスクマネージャ305が決定した場合には、汎用タスクマネージャ305は、第2のバス127を通してタスク命令を読み取って、プリタスクレジスタ部分309のレジスタ中にタスク命令を書き込むように、復調制御論理308に通知して、復調制御論理308とともに機能する。汎用タスクマネージャ305が、タスク命令のヘッダを解釈するのに対して、復調制御論理308は、タスク命令の残りを解釈する。復調制御論理308は、タスク命令の解釈の結果に基づいて、DEMOD WCSMSC141の他の部分に構成パラメータを提供する。その後、タスク命令により指定され、タスク命令中で指定される動作全体が実施されるように、復調制御論理308により、これらの他の部分がトリガーされて、さまざまな時間においてさまざまな動作が実行される。復調制御論理308は、各タスク命令に対して異なる状態機械を実現する。状態機械の状態に入る際、および、出る際に、復調制御論理308は制御信号をアサートする。1つの例でのDEMOD WCSMSCの設計では、状態機械はハードウェア記述言語で規定され、商業上入手可能な統合ツールを使用して、記述がハードウェア論理に統合された。タスクマネージャ300の制御の下で、IQフェッチャー301は、シンボルバッファ144から、タスク命令により指定された位置からのものを読み取って、IQサンプルの状態にする。到来Iサンプル値(実数値)と、それに対応する到来Qサンプル値(虚数値)とは一緒になってIQサンプルを構成する。チャネル推定回路302が開始し、チャネルを推定することと、チャネル補間値を発生させることとを始め、発生させた補間の結果を対応するIQサンプルと整列させ、これにより、IQサンプルと、関係する補間結果とがMMSE/MRCエンジン303に同時に供給される。このような2つのIQフェッチャーが、アンテナ101と102との各々に対して1つずつある。MMSE/MRCエンジン303は、2組のIQサンプル(各アンテナに対して1組)と、関係するチャネル推定値とを使用して、タスク命令により決定されたあるタイプの復調を実行し、復調出力値I、復調出力値Q、およびSNR値を出力する。アクティブな受信チャネルの数とレイヤの数とに基づいて、MMSE復調またはMRC復調のどちらかが使用される。1組の値がエンジン303に入って1組が出ることや、2組が入って2組が出ることや、または、2組が入って1組が出ることがあってもよい。書き込みマネージャ304は、タイルバッファ145中に、復調出力値Iと、復調値Qと、SNR値との各組を書き込むようにタスクマネージャ300により命令される。この方法では、復調制御論理308は、復調WCSMSC141が、一度で1つのトーンに働くようにさせて、シンボルバッファ144からトーンを読み取らせ、復調を行わせ、結果をタイルバッファに書き込ませる。タスク命令により指定されるこのようなすべての復調が終了したときに、復調制御論理308は、ステータスレジスタ306中にタスク終了のフラッグをセットする。DDE WCSMSC142中で動作を開始させるために、ハードウェアストローブ信号をDEMOD WCSMSC141から出力させるべきであることをタスク命令が示す場合には、ストローブ信号が、導体310上にアサートされる。導体310は、DEMOD WCSMSC141からDDE WCSMSC142に伸びている。
図18は、DDE(デマップ/デインターリーブ/デコードエンジン)WCSMSC142のダイヤグラムである。DDE WCSMSC142は、2つのデマップエンジンDEMAP1 400および401と、(第1のビタビデコーダ403と、第2のビタビデコーダ404と、第1のターボデコーダ405と、第2のターボレコーダ406とを含む)デコーダブロック402と、プッシュエンジン407と、AHBバスインターフェース408と、構成レジスタや状態レジスタやポインタレジスタを含むレジスタ409と、メモリインターフェース410とを備えている。デマップエンジン400および401の各々はタスクマネージャ機能性を有するが、この機能性のうちのいくつかのものは共有される。例えば、AHBバスインターフェース408と、ポインタレジスタ409と、プッシュエンジン407とは共有され、図18中のデマップエンジンの外に図示されている。デマップエンジン400は、タスクマネージャ回路411と、データストリーム処理回路とを備え、データストリーム処理回路は、アンペイント回路412と、LLR(ログ最尤比)発生器413と、デスクランブラー414と、デインターリーバー415とを構えている。同様に、デマップエンジン401は、タスクマネージャ回路416と、アンペイント回路417と、LLR発生器418と、デスクランブラー419と、デインターリーバー420とを備えている。データの一般的な流れは、タイルバッファ145からデマッパー400および401を通り、バス422および423を介してLLRバッファ421中へ流れ、その後、LLRバッファ421から、バス424を介してデコーダブロック402中に戻り、デコーディングにより、バス425を介してデコーダ出力バッファ146に出る。デマップエンジン400は、デマップエンジン402よりも、さらに少ないスループット能力を有するが、デマップエンジン400はまた、より少ない電力消費量を有し、制御パケットの処理に限定されている。デマップエンジン400は、LLRバッファ421に対する2つの読み取り/書き込みチャネルを有し、それゆえ、2つの異なるPBRI(プルーンドビットリバーサルインターリーバー)アドレスにおいて、2個のLLR値を一度にLLRバッファ421に出力することができる。その一方で、デマップエンジン401は、データパケットの処理のために使用され、LLRバッファ421に対する6つの読み取り/書き込みチャネルを有する。デマップエンジン401は、6つの異なるPBRIアドレスにおいて、6つのLLR値をLLRバッファ421に同時に出力して書き込むことができる。デマップエンジン400および401は並列で動作することから、それぞれがその自己のタスクマネージャを備えている。DDEタスク命令は、情報を密結合メモリ125中にプッシュして戻すことを要求するかもしれない。それゆえ、DDE WCSMSC142は、AHBスレーブインターフェースを介して、第2のバス127に結合されているプッシュエンジン407を備えている。
動作において、プロセッサ123は、タスク命令をDDEタスクリストでメモリ125に置いて、レジスタ409中のWR_PTRを更新する。タスクマネージャ416の汎用タスクマネージャ部分426は、DDE WCSMSC142による実行のためにタスク命令が存在することを決定する。汎用タスクマネージャ426は、メモリ125からタスク命令を読み取る。DDEタスク命令の第1の部分は、デマッピングを制御するためのものであるのに対して、DDEタスク命令の第2の部分は、デコーディングを制御するためのものである。制御論理427は、第1の部分を使用して、ブロック417〜420により実行されるデマッピング動作を構成および制御する。制御論理427は、信号導体310を介して、DEMOD WCSMSC141から受け取ったハードウェアトリガー信号を用いて、タスク命令により規定されているある動作を、いつ開始するかを決定する。制御論理427は、(示していない)制御導体により、ブロック417〜420に対して制御信号を送る。デマップ/デインターリーブ動作は、HARQ(ハイブリッド自動反復要求)ソフト合成動作において、LLRバッファ421からの情報の読み取りと、何らかの処理と、情報をLLRバッファ421中に戻す後続する書き込みとを伴うかもしれず、または、デマップ/デインターリーブ動作は、何らかのソフト合成なしに、LLRバッファ421中への書き込みにだけを伴うかもしれない。デマップ動作の結果がメモリ125にプッシュされるべきであることをDDEタスク命令が示している場合には、制御論理427は、示された情報をプッシュエンジン407によって第2のバス127を通してメモリ125にプッシュさせる。デマップ/デインターリーブ動作が実行された後に、結果がLLRバッファ421中にあると、その後、制御論理427およびデコーダタスクライター428は、タスク命令の第2の部分を使用して、デコーディング動作を実行するデコーダブロックハードウェアを構成および制御する。デコーダタスクライター428は、デコーダブロック402の動作をトリガーし、その時、デコーディング中に使用するための適切な構成およびパラメータをデコーダブロック402に供給する。デコーダブロック402は、処理するための情報をLLRバッファ421から読み取り、タスク命令の第2の部分にしたがって、そして、制御論理427により構成および制御されるように、デコーディングを実行し、結果をデコード出力バッファ146中に書き込む。デコード動作の結果がメモリ125にプッシュされるべきであることをタスク命令が示している場合には、制御論理427は、示された情報をプッシュエンジン407によって第2のバス127を通してメモリ125にプッシュさせる。この方法においてプッシュされるかもしれない情報の例は、デコーダブロック402により発生されるCRC合格/不合格情報である。
1つ以上の例示的な実施形態では、記述した機能は、ハードウェアで、ソフトウェアで、ファームウェアで、または、これらのものを組み合わせた任意のもので実現してもよい。ソフトウェアで実現された場合、機能は、1つ以上の命令、または、コードとして、コンピュータ読取可能媒体上に記憶されてもよく、あるいは、コンピュータ読取可能媒体上で送信されてもよい。コンピュータ読取可能媒体は、1つの位置から別の位置へのコンピュータプログラムの転送を容易にする何らかの媒体を含む、コンピュータ記憶媒体および通信媒体の双方を含む。記憶媒体は、汎用または特定用途向けコンピュータによりアクセスできる何らかの利用可能な媒体であってもよい。例として、これらに限定されないが、このようなコンピュータ読取可能媒体は、RAM、ROM、EEPROM、CD−ROMまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、汎用または特定用途向けコンピュータ、または、汎用または特定用途向けプロセッサによりアクセスでき、命令またはデータ構造の形態で所望のプログラムコード手段を伝送または記憶するために使用できる他の何らかの媒体を含んでいてもよい。また、任意の接続は、適切にコンピュータ読取可能媒体と呼ばれる。例えば、ソフトウェアが、同軸ケーブルや、光ファイバケーブルや、撚り対や、デジタル加入者線(DSL)や、あるいは、赤外線、無線、マイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または、他の遠隔ソースから送信される場合には、同軸ケーブル、光ファイバケーブル、撚り対、DSL、あるいは、赤外線、無線、および、マイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。ここで使用したようなディスク(diskおよびdisc)は、コンパクトディスク(CD)、レーザディスク(登録商標)、光ディスク、デジタル汎用ディスク(DVD)、フロッピー(登録商標)ディスク、および、ブルーレイディスク(登録商標)を含むが、一般的に、ディスク(disk)は、データを磁気的に再生する一方で、ディスク(disc)はデータをレーザによって光学的に再生する。先のものを組み合わせたものもまた、コンピュータ読取可能媒体の範囲内に含められるべきである。
ある特有の実施形態を、使用説明の目的のために上記に記述しているが、この特許文書の教示は一般的な適用可能性を有しており、上記に記述した特有の実施形態に限定されてはいない。オフラインタスクリストアーキテクチャは、LTE、UMB、またはWiMAXのような、何らかの特定のエアインターフェース標準規格にしたがって通信するモデムを実現する際の使用に限定されずに、むしろ、オフラインタスクリストアーキテクチャは、他のエアインターフェース標準規格への一般的な適用可能性と、そして、より広くは、データのストリーム上で異なる動作を実行するための複数のサブ回路を有する大きなデジタルシステムへの一般的な適用可能性を有している。プロセッサが、第1のバスを介して、密結合メモリ中にタスク命令を書き込み、タスクマネージャが、第2のバスを介して、密結合メモリからタスク命令を読み取る例を上記に記述しているが、これは1つの例に過ぎない。他の例において、プロセッサおよびタスクマネージャは、同一のバスを介して、タスク命令を記憶するメモリにアクセスする。したがって、記述した、特有の実施形態のさまざまな機能の、さまざまな変更、適合、および組み合わせは、下記に述べる特許請求の範囲内から逸脱することなく実施できる。

Claims (30)

  1. 集積回路において、
    第1のタスクリストおよび第2のタスクリストを記憶するメモリと、
    前記メモリに結合されている第1のバスと、
    前記第1のバスを通して、前記メモリ中にタスク命令を書き込むように適合されているプロセッサと、
    第1のバッファと、
    第2のバッファと、
    第3のバッファと、
    前記メモリに結合されている第2のバスと、
    第1のサブ回路と、
    第2のサブ回路とを具備し、
    前記第1のタスクリストはタスク命令を含み、
    前記第2のタスクリストはタスク命令を含み、
    前記第1のサブ回路は、
    前記第1のバッファから第1のデータを読み取って、前記第1のデータを処理し、これにより、第2のデータを発生させて、前記第2のバッファ中に前記第2のデータを書き込むように適合されている第1の処理回路と、
    前記第2のバスを通して、前記メモリから前記第1のタスクリストの第1のタスク命令を読み取って、前記第1のタスク命令を解釈し、前記解釈の結果に基づいて前記第1の処理回路を構成するように適合されている第1のタスクマネージャを備え、
    前記第2のサブ回路は、
    前記第2のバッファから前記第2のデータを読み取って、前記第2のデータを処理し、これにより、第3のデータを発生させて、前記第3のバッファ中に前記第3のデータを書き込むように適合されている第2の処理回路と、
    前記第2のバスを通して、前記メモリから前記第2のタスクリストの第2のタスク命令を読み取って、前記第2のタスク命令を解釈し、前記解釈の結果に基づいて前記第2の処理回路を構成するように適合されている第2のタスクマネージャを備えている集積回路。
  2. 前記第1のタスクマネージャは、複数の異なるタスク命令を解釈するように適合され、前記異なるタスク命令の各々は、前記第1の処理回路が異なる処理動作を実行するように、前記第1のサブ回路により実行することができる請求項1記載の集積回路。
  3. タイマーカウント値のシーケンスを出力するウォールクロックタイマーをさらに具備し、前記第1のタスクマネージャにより読み取られた前記第1のタスク命令は、第1のタイマーカウントフィールドを備え、前記第1の処理回路は、前記第1のタイマーカウントフィールドの値が前記シーケンスの第1のタイマーカウント値に実質上等しいとき、前記第1のデータの処理を開始する請求項1記載の集積回路。
  4. ウォールクロックタイマーをさらに具備し、前記第1のタスク命令は、前記第1のタスク命令が、前記ウォールクロックタイマーにより示されるような第1の特定の時間において、前記第1のサブ回路により実行されるようにする、第1のタイマーカウント値を含んでいる請求項1記載の集積回路。
  5. 前記ウォールクロックタイマーはタスクマネージャを備え、前記ウォールクロックタイマーの前記タスクマネージャは、前記第2のバスを通して、前記メモリ中に記憶されているタイマータスクリストからタスク命令を読み取るように適合されている請求項4記載の集積回路。
  6. 前記第1のタスクマネージャは第1のポインタレジスタを備え、前記プロセッサは、前記第2のバスを通して、前記第1のタスクマネージャの前記第1のポインタレジスタ中に第1のポインタ値を書き込むように適合され、前記第1のポインタ値は、前記第1のタスクリストを含む、前記メモリの循環バッファ部分における位置をポイント指定する請求項1記載の集積回路。
  7. 前記第1のタスクマネージャは、前記第1のタスクリストからのタスク命令を読み取ることにより、前記第1のポイントレジスタの書き込みに応答する請求項6記載の集積回路。
  8. 前記第2のタスクリストは、第3のタスク命令を含み、前記第2のタスクマネージャは、前記第2のバスを通して、前記メモリから前記第3のタスク命令を読み取って、前記第3のタスク命令を解釈し、前記第1の処理回路から受け取る信号のアサート時に、前記第2の処理回路を開始させることにより、前記第3のタスク命令を実行する請求項1記載の集積回路。
  9. 前記集積回路からの信号を出力するように適合されている第3の処理回路と、
    前記第2のバスを通して、前記メモリから第3のタスクリストの第3のタスク命令を読み取って、前記第3のタスク命令を解釈し、前記解釈の結果に基づいて前記第3の処理回路を構成するように適合されている第3のタスクマネージャとを備える第3のサブ回路をさらに具備する請求項1記載の集積回路。
  10. データムーバーエンジンと、
    前記第2のバスを通して、前記メモリから第3のタスクリストの第3のタスク命令を読み取って、前記第3のタスク命令を解釈し、前記解釈の結果に基づいて前記データムーバーエンジンを構成するように適合されている第3のタスクマネージャとを備える第3のサブ回路をさらに具備する請求項1記載の集積回路。
  11. 前記第2のバスは、
    前記プロセッサを、前記第1のタスクマネージャおよび前記第2のタスクマネージャ中のポインタレジスタに結合させる第1のサブバスと、
    前記メモリを、前記第1のタスクマネージャと、前記第2のタスクマネージャとに結合させる第2のサブバスとを備え、
    前記プロセッサは、前記第1のサブバスを通して、前記ポインタレジスタ中にポインタ値を書き込み、
    前記第1のタスクマネージャおよび前記第2のタスクマネージャは、前記第2のサブバスを通して、前記メモリからタスク命令を読み取る請求項1記載の集積回路。
  12. 前記メモリと、前記第1のバスと、前記プロセッサは、ともに密結合メモリ(TCM)システムを形成する請求項1記載の集積回路。
  13. 前記メモリが、前記第2のバスを介して、前記第1のタスクマネージャおよび前記第2のタスクマネージャによりアクセス可能であり、さらに小さいメモリアクセス待ち時間で、前記メモリは、前記第1のバスを介して、前記プロセッサによりアクセス可能である請求項1記載の集積回路。
  14. 前記第1の処理回路および前記第2の処理回路は、命令をフェッチしない専用ハードウェア回路である請求項1記載の集積回路。
  15. 前記第1のタスク命令は、発信元アドレスフィールドおよび宛先アドレスフィールドを含み、前記発信元アドレスフィールド中の発信元アドレス値は、前記第1のバッファにおける発信元位置を示し、前記宛先アドレスフィールド中の宛先アドレス値は、前記第2のバッファにおける宛先位置を示している請求項1記載の集積回路。
  16. 前記プロセッサは、前記第1のサブ回路が第1のタスク命令を実行している間に、前記第1のタスクリスト中に第3のタスク命令を書き込む請求項1記載の集積回路。
  17. 前記第1のサブ回路は、前記第1のタスクリストからプッシュタスク命令を読み取って、前記プッシュタスク命令を実行し、前記第1のサブ回路による前記プッシュタスク命令の実行は、前記第1のサブ回路に、前記第2のバスを通して、前記メモリに情報を書き込むようにさせる請求項1記載の集積回路。
  18. 集積回路において、
    第1のバスを介してメモリに密に結合されているプロセッサを備える密結合メモリ(TCM)システムと、
    タイマーと、
    複数のサブ回路とを具備し、
    各サブ回路は、第2のバスを介して、前記サブ回路に対応するタスクリストからタスク命令を読み取って、前記タスク命令を実行し、前記タスクリストは、サブ回路により実行されるときに、前記サブ回路により前記メモリ中に情報が書き込まれるようにするプッシュタスク命令を含み、前記タスクリストは、サブ回路により実行されるときに、構成タスク命令により決定される特定の方法で前記サブ回路を、構成させる構成タスク命令を含み、前記タスクリストは、タイマーカウントフィールドを備えるタイムスタンプタスク命令を含み、前記タイムスタンプタスク命令の実行は、前記タイマーカウントフィールド中のタイマーカウント値により示される時間において、サブ回路により開始され、前記タスクリストは、ハードウェア信号イベントタスク命令を含み、前記ハードウェア信号イベントタスク命令の実行は、別のサブ回路によって発生される信号のアサート時にサブ回路により開始される集積回路。
  19. 方法において、
    メモリ中に、第1のタスクリストおよび第2のタスクリストを記憶させることと、
    第1のサブ回路が、第2のバスを通して、前記メモリから前記第1のタスクリストの第1のタスク命令を読み取ることと、
    前記第1のサブ回路が、前記第1のタスク命令により示される第1の動作を実行することと、
    第2のサブ回路が、前記第2のバスを通して、前記メモリから前記第2のタスクリストの第2のタスク命令を読み取ることと、
    前記第2のサブ回路が、前記第2のタスク命令により示される第2の動作を実行することとを含み、
    プロセッサと、第1のバスと、前記メモリは、密結合メモリ(TCM)システムを形成し、
    前記プロセッサと、前記第1のバスと、前記第2のバスと、前記メモリと、前記第1のサブ回路と、前記第2のサブ回路は、集積回路の一部である方法。
  20. 前記第1の動作は、前記第1のサブ回路がデータをバッファ中に書き込むことを含み、前記第2の動作は、前記第2のサブ回路が前記データを前記バッファから読み取ることを含んでいる請求項19記載の方法。
  21. 前記第1のタスク命令は、宛先アドレスフィールドを備え、前記宛先アドレスフィールド中の宛先アドレス値は、前記第1のサブ回路が前記データを書き込む、前記バッファ中の位置を示す請求項20記載の方法。
  22. 前記第2のタスク命令は、発信元アドレスフィールドを備え、前記発信元アドレスフィールド中の発信元アドレス値は、前記第2のサブ回路が前記データを読み取る、前記バッファ中の位置を示す請求項20記載の方法。
  23. 前記メモリの前記第1のタスクリスト中にタイムスタンプタスク命令を記憶させることをさらに含み、前記タイムスタンプタスク命令はタイマーカウントフィールドを有し、前記第1のサブ回路による前記タイムスタンプタスク命令の実行は、前記タイマーカウントフィールド中の値により示される時間において開始される請求項19記載の方法。
  24. 前記第1のタスクリスト中にプッシュタスク命令を記憶させることをさらに含み、前記第1のサブ回路による前記プッシュタスク命令の実行は、前記第1のサブ回路が、前記第2のバスを通して、前記メモリに情報を書き込む結果となる請求項19記載の方法。
  25. 装置において、
    第1のタスクリストおよび第2のタスクリストを記憶するメモリと、
    第1のバスを介して、前記メモリに密に結合されているプロセッサと、
    第2のバスと、
    前記第2のバスを通して、前記メモリから前記第1のタスクリストのタスク命令を読み取って、前記第1のタスクリストのタスク命令により示される第1の動作を実行する第1の手段と、
    前記第2のバスを通して、前記メモリから前記第2のタスクリストのタスク命令を読み取って、前記第2のタスクリストのタスク命令により示される第2の動作を実行する第2の手段とを具備し、
    前記第1の手段は、前記第1のタスクリストのタスク命令以外の何らかの命令をフェッチすることなく、前記第1の動作を実行し、
    前記第2の手段は、前記第2のタスクリストのタスク命令以外の何らかの命令をフェッチすることなく、前記第2の動作を実行する装置。
  26. バッファをさらに具備し、
    前記第1の手段は、前記第1のタスクリストのタスク命令中のフィールドにより示される位置において、前記バッファ中にデータを書き込み、前記第2の手段は、前記第2のタスクリストのタスク命令中のフィールドにより示される位置より、前記バッファから前記データを読み取る請求項25記載の装置。
  27. 前記プロセッサは、マルチコアプロセッサとマルチスレッドプロセッサとから成るグループから選ばれる請求項25記載の装置。
  28. コンピュータプログラムプロダクトにおいて、
    第1のサブ回路に、第1のタスクリスト中のタスク命令により示される第1の組の動作を実行させるための第1のタスクリストと、
    第2のサブ回路に、第2のタスクリスト中のタスク命令により示される第2の組の動作を実行させるための第2のタスクリストと、
    プロセッサに、第1のバスを通して、コンピュータ読取可能媒体中に前記第1のタスクリストおよび前記第2のタスクリストを維持させるためのコードとを含むコンピュータ読取可能媒体を具備し、
    前記第1のサブ回路は、第2のバスを通して、前記コンピュータ読取可能媒体から前記タスク命令を読み取り、
    前記第2のサブ回路は、前記第2のバスを通して、前記コンピュータ読取可能媒体から前記タスク命令を読み取るコンピュータプログラムプロダクト。
  29. 前記第1のタスクリストおよび前記第2のタスクリストは、タイマーカウントフィールドを備えるタイムスタンプタスク命令を含み、前記第1のタスクリストおよび前記第2のタスクリストはまた、サブ回路により前記コンピュータ読取可能媒体中に情報が書き込まれるようにするプッシュタスク命令を含み、前記第1のタスクリストおよび前記第2のタスクリストは、発信元アドレスフィールドおよび宛先アドレスフィールドを備えるタスク命令を含んでいる請求項28記載のコンピュータプログラムプロダクト。
  30. 前記コンピュータ読取可能媒体は、前記プロセッサにより実行されるプログラムコードを記憶するプログラムメモリの容量を備え、前記プロセッサに結合されているキャッシュメモリをさらに備え、前記第1のタスクリストおよび前記第2のタスクリストは前記キャッシュメモリ中に記憶される請求項28記載のコンピュータプログラムプロダクト。
JP2011501879A 2008-03-26 2009-03-07 オフラインタスクリストアーキテクチャ Expired - Fee Related JP5496999B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US3977408P 2008-03-26 2008-03-26
US61/039,774 2008-03-26
US4065408P 2008-03-29 2008-03-29
US61/040,654 2008-03-29
US12/396,217 2009-03-02
US12/396,217 US8458380B2 (en) 2008-03-26 2009-03-02 Off-line task list architecture utilizing tightly coupled memory system
PCT/US2009/036437 WO2009120479A2 (en) 2008-03-26 2009-03-07 Off-line task list architecture

Publications (2)

Publication Number Publication Date
JP2011520166A true JP2011520166A (ja) 2011-07-14
JP5496999B2 JP5496999B2 (ja) 2014-05-21

Family

ID=40790757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011501879A Expired - Fee Related JP5496999B2 (ja) 2008-03-26 2009-03-07 オフラインタスクリストアーキテクチャ

Country Status (7)

Country Link
US (1) US8458380B2 (ja)
EP (1) EP2266052A2 (ja)
JP (1) JP5496999B2 (ja)
KR (2) KR101169875B1 (ja)
CN (1) CN102099800B (ja)
TW (1) TW200943849A (ja)
WO (1) WO2009120479A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017150811A1 (en) * 2016-03-02 2017-09-08 Samsung Electronics Co., Ltd. Hardware architecture for acceleration of computer vision and imaging processing

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8520571B2 (en) * 2008-03-26 2013-08-27 Qualcomm Incorporated Reconfigurable wireless modem sub-circuits to implement multiple air interface standards
US20090245092A1 (en) * 2008-03-28 2009-10-01 Qualcomm Incorporated Apparatus, processes, and articles of manufacture for fast fourier transformation and beacon searching
US8787433B2 (en) * 2008-03-28 2014-07-22 Qualcomm Incorporated Wall clock timer and system for generic modem
US8699529B2 (en) * 2008-03-28 2014-04-15 Qualcomm Incorporated Broadband pilot channel estimation using a reduced order FFT and a hardware interpolator
WO2011060313A1 (en) * 2009-11-13 2011-05-19 Qualcomm Incorporated Burst access protocol and priority initialization of a second processor
US8938609B2 (en) * 2009-11-13 2015-01-20 Qualcomm Incorporated Methods and apparatus for priority initialization of a second processor
US8625635B2 (en) * 2010-04-26 2014-01-07 Cleversafe, Inc. Dispersed storage network frame protocol header
WO2012052773A1 (en) * 2010-10-21 2012-04-26 Bluwireless Technology Limited Data processing systems
EP2541404B1 (en) * 2011-06-30 2014-08-13 Telefonaktiebolaget LM Ericsson (publ) Technique for task sequence execution
US9952865B2 (en) * 2015-04-04 2018-04-24 Texas Instruments Incorporated Low energy accelerator processor architecture with short parallel instruction word and non-orthogonal register data file
RU2667094C1 (ru) * 2015-05-11 2018-09-14 Телефонактиеболагет Лм Эрикссон (Пабл) Энергоэффективное управление мощностью передатчика
US20170017567A1 (en) * 2015-07-15 2017-01-19 Innovium, Inc. System And Method For Implementing Distributed-Linked Lists For Network Devices
US10284353B2 (en) * 2016-10-28 2019-05-07 Sandia Research Corporation Subsurface radio
US11360809B2 (en) * 2018-06-29 2022-06-14 Intel Corporation Multithreaded processor core with hardware-assisted task scheduling
CN110888675B (zh) * 2018-09-11 2021-04-06 深圳云天励飞技术有限公司 硬件系统和电子设备
CN110009206B (zh) * 2019-03-21 2023-06-20 五邑大学 一种定时语音评分方法、装置、设备和存储介质
CN110750419B (zh) * 2019-09-30 2023-03-14 北京百度网讯科技有限公司 离线任务的处理方法、装置、电子设备及存储介质
GB2612009B (en) * 2021-07-13 2023-10-18 Nordic Semiconductor Asa Synchronised multi-processor operating system timer
IT202100030140A1 (it) * 2021-11-29 2023-05-29 Telecom Italia Spa Gestione di applicazioni in reti di comunicazione mobile

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128307A (en) * 1997-12-01 2000-10-03 Advanced Micro Devices, Inc. Programmable data flow processor for performing data transfers
US20070174841A1 (en) * 2006-01-26 2007-07-26 Exegy Incorporated & Washington University Firmware socket module for FPGA-based pipeline processing

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2311882B (en) * 1996-04-04 2000-08-09 Videologic Ltd A data processing management system
US5790817A (en) * 1996-09-25 1998-08-04 Advanced Micro Devices, Inc. Configurable digital wireless and wired communications system architecture for implementing baseband functionality
US6125404A (en) * 1998-04-17 2000-09-26 Motorola, Inc. Data processing system having a protocol timer for autonomously providing time based interrupts
US6795442B1 (en) * 1998-04-23 2004-09-21 Emulex Design & Manufacturing Corporation System and method for scheduling message transmission and processing in a digital data network
TW381213B (en) * 1998-07-31 2000-02-01 Via Tech Inc Surge detector for power supply
FR2785405B1 (fr) * 1998-11-04 2001-01-19 Matra Nortel Communications Sequenceur d'actions synchrones dans un systeme a processeur, et circuit integre comportant un tel sequenceur
US6292887B1 (en) * 1999-03-31 2001-09-18 International Business Machines Corp. System and method for synchronizing instruction execution with external events
US6577678B2 (en) * 2001-05-08 2003-06-10 Quicksilver Technology Method and system for reconfigurable channel coding
US7028118B2 (en) * 2001-12-12 2006-04-11 Texas Instruments Incorporated Multi-channel buffered serial port debugging
US7142551B2 (en) * 2002-07-15 2006-11-28 Zarlink Semiconductor V.N. Inc. Hardware implementation of Voice-over-IP playback with support for comfort noise insertion
US7240231B2 (en) * 2002-09-30 2007-07-03 National Instruments Corporation System and method for synchronizing multiple instrumentation devices
US7937591B1 (en) * 2002-10-25 2011-05-03 Qst Holdings, Llc Method and system for providing a device which can be adapted on an ongoing basis
US7421694B2 (en) * 2003-02-18 2008-09-02 Microsoft Corporation Systems and methods for enhancing performance of a coprocessor
WO2005010798A2 (en) * 2003-07-29 2005-02-03 Dan Raphaeli Method and corresponding system for hand-held rf tag locator
US7623894B2 (en) 2003-10-09 2009-11-24 Freescale Semiconductor, Inc. Cellular modem processing
TWI234714B (en) * 2003-12-03 2005-06-21 Ind Tech Res Inst Reconfigurable radio processor architecture
US8533716B2 (en) * 2004-03-31 2013-09-10 Synopsys, Inc. Resource management in a multicore architecture
JP4643583B2 (ja) * 2004-09-10 2011-03-02 株式会社日立製作所 表示装置及び撮像装置
JP4559192B2 (ja) 2004-11-08 2010-10-06 株式会社日立国際電気 ソフトウェア無線機
US7649968B2 (en) * 2004-11-12 2010-01-19 Mediatek Inc. Timing system and method for a wireless transceiver system
TWM273772U (en) 2004-12-31 2005-08-21 Elan Microelectronics Corp Two-dimensional debugging device for computer programming language
US20060179436A1 (en) 2005-02-07 2006-08-10 Sony Computer Entertainment Inc. Methods and apparatus for providing a task change application programming interface
JP2006270910A (ja) 2005-02-22 2006-10-05 Mitsubishi Electric Corp ソフトウェア無線携帯電話通信システム及びソフトウェア無線携帯電話端末
GB0519981D0 (en) * 2005-09-30 2005-11-09 Ignios Ltd Scheduling in a multicore architecture
JP4751735B2 (ja) 2006-02-15 2011-08-17 富士通株式会社 通信リンク確立方法および通信リンク確立プログラム
US7693544B2 (en) * 2006-06-29 2010-04-06 Intel Corporation System, method and device of receiving signals of a plurality of communication services
US8326906B2 (en) * 2007-01-25 2012-12-04 Positron Access Solutions, Inc. Efficient multiple input multiple output signal processing method and apparatus
US8520571B2 (en) * 2008-03-26 2013-08-27 Qualcomm Incorporated Reconfigurable wireless modem sub-circuits to implement multiple air interface standards
US8787433B2 (en) * 2008-03-28 2014-07-22 Qualcomm Incorporated Wall clock timer and system for generic modem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128307A (en) * 1997-12-01 2000-10-03 Advanced Micro Devices, Inc. Programmable data flow processor for performing data transfers
US20070174841A1 (en) * 2006-01-26 2007-07-26 Exegy Incorporated & Washington University Firmware socket module for FPGA-based pipeline processing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017150811A1 (en) * 2016-03-02 2017-09-08 Samsung Electronics Co., Ltd. Hardware architecture for acceleration of computer vision and imaging processing
US10055807B2 (en) 2016-03-02 2018-08-21 Samsung Electronics Co., Ltd. Hardware architecture for acceleration of computer vision and imaging processing

Also Published As

Publication number Publication date
KR20100126835A (ko) 2010-12-02
EP2266052A2 (en) 2010-12-29
WO2009120479A2 (en) 2009-10-01
US20090248920A1 (en) 2009-10-01
CN102099800B (zh) 2015-04-01
JP5496999B2 (ja) 2014-05-21
KR20120091406A (ko) 2012-08-17
US8458380B2 (en) 2013-06-04
KR101169875B1 (ko) 2012-07-31
CN102099800A (zh) 2011-06-15
WO2009120479A3 (en) 2010-01-14
TW200943849A (en) 2009-10-16

Similar Documents

Publication Publication Date Title
JP5496999B2 (ja) オフラインタスクリストアーキテクチャ
JP5518831B2 (ja) 複数のエアインターフェース標準規格を実現する再構成可能なワイヤレスモデムサブ回路
TWI392298B (zh) 用於使用解調-位元映像來增進數據機解碼器之效能的清零對數概度比(llrs)之方法、裝置及電腦程式產品
US20110007680A1 (en) Sleep mode design for coexistence manager
US20170116141A1 (en) Radio frequency front end devices with masked write
US20240036872A1 (en) Systems and methods for synchronizing data processing in a cellular modem
US20190346876A1 (en) Sharing a serial bus interface among devices having different operating speeds
US20070106720A1 (en) Reconfigurable signal processor architecture using multiple complex multiply-accumulate units
US7596682B2 (en) Architected register file system utilizes status and control registers to control read/write operations between threads
US9319181B2 (en) Parallel decoder for multiple wireless standards
CN115802414A (zh) 一种用于lte通信的专用时序处理器及lte通信方法
US20070147416A1 (en) Wireless modem architecture

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120911

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121211

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121218

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130528

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130731

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140305

R150 Certificate of patent or registration of utility model

Ref document number: 5496999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees