JP2011511492A - 任意の通信プロトコルに従い回路にデータが出入りできるようプロセッサの入出力を処理する、マイクロプログラム制御されたマシンを含む回路 - Google Patents

任意の通信プロトコルに従い回路にデータが出入りできるようプロセッサの入出力を処理する、マイクロプログラム制御されたマシンを含む回路 Download PDF

Info

Publication number
JP2011511492A
JP2011511492A JP2010535320A JP2010535320A JP2011511492A JP 2011511492 A JP2011511492 A JP 2011511492A JP 2010535320 A JP2010535320 A JP 2010535320A JP 2010535320 A JP2010535320 A JP 2010535320A JP 2011511492 A JP2011511492 A JP 2011511492A
Authority
JP
Japan
Prior art keywords
data
circuit
microprogram
output
memory
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
JP2010535320A
Other languages
English (en)
Other versions
JP5608934B2 (ja
Inventor
アラン、ミシェル
Original Assignee
コミシリア ア レネルジ アトミック エ オ エナジーズ オルタネティヴズ
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 コミシリア ア レネルジ アトミック エ オ エナジーズ オルタネティヴズ filed Critical コミシリア ア レネルジ アトミック エ オ エナジーズ オルタネティヴズ
Publication of JP2011511492A publication Critical patent/JP2011511492A/ja
Application granted granted Critical
Publication of JP5608934B2 publication Critical patent/JP5608934B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Microcomputers (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明は、少なくとも1つのプロセッサを有する回路に関する。この回路は、通信プロトコルに従いデータを入力及び出力するためにプロセッサに出入りするデータを処理するマイクロプログラム制御されたマシンを有する。
アプリケーション:単一プロセッサ回路及びマルチプロセッサ回路。
【選択図】 図2

Description

本発明は、少なくとも1つのプロセッサを有する回路に関する。この回路は、通信プロトコルに従いデータを入力及び出力するためにプロセッサに出入りするデータを処理するマイクロプログラム制御されたマシンを有する。この回路は、マイクロプロセッサ回路又はマルチプロセッサ回路を使用するあらゆる分野で使用できる。
監視テレビ等の専門分野だけでなく、携帯電話等の民生用分野でも、1つ又は複数のマイクロプロセッサを有する集積回路を採用している。しばしば、こうした回路は、非常に特定のものではあるものの、数多くの入出力インターフェイスを使用できるアプリケーションを対象としている。
一方で、こうした回路はしばしば、その1つ又は複数のプロセッサのものでない様々なフォーマットのデータを送受信しなければならない。各プロセッサが個々に入出力を管理する場合、その計算能力を全て消費してしまう。アプリケーションソフトウェアの処理を行うだけの時間はもはや残されていない。実際、各クロックサイクルで出力の論理状態を制御する必要があるため、入出力を管理するために必要な計算能力さえプロセッサにはない。このため、プロセッサを解放できるよう入出力を管理するための専用の周辺装置を回路が有することが望ましいように思える。
その一方で、こうした回路は、設計段階で特定用途でなく汎用的な使用が定義されている場合、使用していく中で、回路の製造時点では判明していなかった入出力プロトコルに従いデータを送受信する必要が生じるのは疑う余地がない。このため、入出力を管理するための周辺装置の提供が課題である。
汎用的なマイクロプロセッサ又はマルチプロセッサ回路で現在実現されている解決策では、様々な入出力プロトコルを対象とした入出力を管理するための専用の周辺装置を数多く実現する必要がある。このため、使用される可能性がある入出力インターフェイスの範囲に対して、質的及び量的に、できる限り広範な対象範囲を提供する。従来技術に係るこのような回路の一例を、2007年2月のISSCC会議に第15.2号として提出された、B.Khailanyらによる記事に見つけることができる。この記事のタイトルは「A Programmable 512GOPS Stream Processor for Signal,Image and Video Processing」である。この回路は、恒久的に接続された入出力を管理するための多くの周辺装置を有する。したがって、この回路は、製造時に専用の周辺装置が接続されていない新しいインターフェイスを使用するアプリケーションには恒久的に適さない。更に、そのタイプのインターフェイスに専用の周辺装置がある場合と比べ、アプリケーションがある一定のタイプのインターフェイスを使用するのに何倍もの時間が必要となり得る。したがって、この回路はこのようなアプリケーションには恒久的に適さない。更に、こうした回路の入出力を管理するためのほとんどの周辺装置が実際には未使用のままであることを忘れてはならない。これは、ある一定のアプリケーションが、回路の製造時点で判明している全てのタイプのインターフェイスの中で、ごく限られた数のインターフェイスしか使用しないためである。このため、回路の表面の大部分が未使用の周辺装置によって占有され、やたらに回路が大きくかさばることが多い。
こうした問題点を補おうと、現在のプロセッサは「GPIO」(「General Purpose Inputs/Outputs(汎用入出力)」の頭字語)という標準的なレジスタを使用している。入力であるのか、出力であるのか、それともハイインピーダンスであるのかという使用方法が、プロセッサによってロードできるレジスタにより制御される。出力の値は、同様にプロセッサによってロードされるもう1つ別のレジスタによってプログラムされる。入力の値はプロセッサによって読み取ることができる。したがって、GPIOレジスタによる入出力がプロセッサ自体により管理される。このため、この解決策は、プロセッサがアプリケーションソフトウェアのタスクのための時間を十分に保持しながら、制御できるだけの遅いインターフェイスにしか適用できない。
もう1つ現在の解決策が米国特許第6,931,466号明細書に開示されている。一部のピンはGPIOとしてプログラム可能であり、処理プロセッサによって直接制御できるため、プロトコルの下位部分は処理プロセッサによって管理される。プロトコルの中間部分は専用のDMA(「Direct Memory Access(ダイレクトメモリアクセス)」)マシンによって管理され、このDMAマシンは入出力周辺装置の外に置かれる。プロトコルの下位部分は、「Pin State Machine」タイプのステートマシンによって管理され、ステートマシン自体はステートレジスタとPLA(「Programmable Logic Array(プログラマブル論理アレイ)」)とから構成される。この解決策の大きな問題は、マスキングによってPLAがプログラムされることである。したがって、全体ではなく、たった1つの製造マスクを変更するだけでプロトコルを変更できる場合であっても、回路を一度製造してしまうと、もはやプログラムを変更できなくなることに注意すべきである。このため、この解決策は柔軟性を欠き、かなり単純なプロトコルだけにしか対処できない。いずれにせよ、処理プロセッサを完全に解放することはできない。
本発明の重要な目的は、入出力周辺装置を収容する回路が全ての新しい入出力プロトコルに適合できるような、プログラム可能な入出力周辺装置を提供することである。したがって、回路の1つ又は複数のプロセッサは、入出力の管理から恒久的に解放され、独自のアプリケーションソフトウェアのタスクに専念できる。そのために、入出力はこの1つ又は複数のプロセッサのプログラムによってメモリとみなされる。プロセッサは目的の周辺装置に対応するメモリ領域に出力データを書き込み、一定の量のデータが使用可能になったことをメッセージによりその周辺装置に通知する。本発明に係る周辺装置は、専用にプログラムされているプロトコルに従い、このメモリ領域から回路のピンにデータを伝送する。逆に、本発明に係る周辺装置は、周辺装置がプログラムされているプロトコルに従い、ピンに受信されたデータをサンプリングする。メモリ領域にデータを配置し、一定の量のデータが到着したことをメッセージ又は割り込みによってプロセッサに通知する。プロセッサはまず最初に、随時、対応するメモリ領域からこれらのデータを読み取る。そのために、本発明は、少なくとも1つのプロセッサと、通信プロトコルに従いピンを経由してデータを回路に入力又は回路から出力するためにプロセッサを出入りするデータを処理するマイクロプログラム制御されたマシンとを有する回路に関する。各ピンでは、1ビットの情報の入力又は出力が可能である。マイクロプログラム制御されたマシンは、各クロックサイクルで、1つの命令内で、どのピンが入力モードで、どのピンが出力モードであるのか、各ピンにどの値を割り当てるのか、プロセッサにどの値を伝送するのか、或いはデータの送信又は受信を続ける前にどの信号を待機するのかを判別する。
一好適な実施形態では、マイクロプログラム制御されたマシンからの命令は、どのピンが入力モードでどのピンが出力モードかを判別できるフィールド、出力モードの各ピンにどの値を割り当てるのか判別できる少なくとも1つのフィールド、プロセッサにどの値を伝送するのか判別できるフィールド、或いはデータの送信又は受信を続ける前にどの信号を待機するのか判別できるフィールドを有してもよい。したがって、各ピンの入出力モード、各ピンに割り当てる値、プロセッサに伝送する値、及び待ち受ける信号を1つのクロックサイクルで判別できる。
一好適な実施形態では、マイクロプログラム制御されたマシンは命令レジスタとマイクロプログラムを形成する命令を含むマイクロプログラムメモリとを有してよく、ここで、レジスタにはマイクロプログラムからの命令をロードでき、更に命令により、通信プロトコルに従いデータを回路に入力又は回路から出力するためにプロセッサを出入りするデータを処理することができる。この命令は、回路がいかなる通信プロトコルにも適合できるように、マイクロプグラムメモリで修正できることが好ましい。
一例として、各命令は、マイクロプログラムメモリで次に実行される命令のアドレスを推測できるフィールドを少なくとも1つ有してもよい。
一実施形態では、この回路はマイクロプログラム制御されたマシンとプロセッサで使用される通信ネットワークとの間にネットワークインターフェイスモジュールを有してもよい。プロセッサとマイクロプログラム制御されたマシンは、メモリとの間でデータを書き込み、その後読み取ることで、データを交換できる。ここで、メモリにはデータが一時的にのみ格納される。
したがって、一例として、隣接するピンの所与の集まりは、通信プロトコルに従い、プロセッサに送られるデータを回路に入力するため、又はプロセッサから送られるデータを回路から出力するために、マイクロプログラム制御されたマシンが使用できる入出力ポートを形成してよい。
一実施形態では、各ピンを増幅器に接続して、ピンで信号を送受信することができる。したがって、回路はメモリと増幅器との間にピンインターフェイスモジュールを有してもよく、マイクロプログラムを形成する命令がピンインターフェイスモジュールを経由したメモリと増幅器との間のデータの転送を制御する。
一好適な実施形態では、回路はメモリのフォーマットのワードを通信プロトコルに従い回路との間でデータを入力又は出力するために使用可能なピンの数に適したフォーマットのワードに変換できるモジュールを有してよい。32ビットのパラレルデータを16、8、4、又は2ビットのパラレルデータに、その逆に16、8、4、又は2ビットのパラレルデータを32ビットのパラレルデータに変換できる。32ビットのパラレルデータをシリアルデータに、その逆にシリアルデータを32ビットのパラレルデータに変換できる。
有利には、この回路は、通信プロトコルに従い回路にデータを入力又は回路からデータを出力するためにプロセッサに出入りするデータを処理する少なくとも2つのマイクロプログラム制御されたマシンを有してよい。隣接するピンの2つの集まりをそれぞれ2つのマシンで使用できるため、この回路は、第1のマシンが独自のピンの集まりに加え、第2のマシンの隣接するピンの集まりの中のピンを使用できるようにするためのシフトモジュールを有してよく、ここで、マイクロプログラムを形成する命令により、シフトモジュールを制御できる。又、この回路は、第2のマシンが、第3のマイクロプログラム制御されたマシンの隣接するピンの集まりの中のピンを使用できるようにするためのシフトモジュールを有してもよい。メモリ内の2つの領域は隣接するポートを使用する2つのマシンでそれぞれ使用でき、この2つの領域は複数のメモリバッファに分割されるため、第1のマシンは、独自のメモリバッファに加え、処理するデータ量に応じて、第2のマシンのメモリバッファも使用できる。同様に、第2のマシンは、処理するデータの量に応じて、隣接するポートを使用する第3のマイクロプログラム制御されたマシンのメモリバッファを使用できる。
マイクロプログラム制御されたマシンは処理サイクルをクロッキングするためのクロックを有するため、このクロックは外部周辺装置から動作周波数を提供できる。同様に、クロックは、プロセッサの動作周波数を乗算又は除算することで得られる動作周波数を提供できる。マイクロプログラムを形成する命令により、外部周辺装置によって提供される動作周波数、又はプロセッサの動作周波数を調整可能な係数で乗算ないし除算することによって得られる動作周波数のいずれかを選択できる。
回路は通信プロトコルの制御データを認識するためのモジュールを有してもよく、この場合、認識される制御データはマイクロプログラム制御されたマシンによって提供される。
マイクロプログラム制御されたマシンはループカウントモジュールを有してもよい。
本発明は更に、メモリの使用及び回路のピンリソースを最適化できるという主要な利点を有する。これは、本発明に係る周辺装置が相互にメモリリソース及びピンリソースを共有できるためである。他の複数の回路と同時に通信するために複数の入出力周辺装置を必要とする場合、メモリ空間に対するニーズとピンの数に対するニーズが異なる可能性がある。したがって、これらリソースを最適な条件で周辺装置に分散させて、回路のピンの合計数及びメモリのサイズを制限できるようにすることが有益である。
本発明のその他の特徴及び利点は、添付の図面を参照しながら以下の説明を読むことにより、明らかになる。
従来技術に係るマルチプロセッサ回路を図示した総括ダイアグラムである。 本発明に係る回路の簡単なアーキテクチャ例を図示した総括ダイアグラムである。 本発明に係るピンインターフェイスモジュールの実現例を図示した総括ダイアグラムである。 同一回路上で本発明に係る2つの入出力周辺装置を相互接続する例を図示した総括ダイアグラムである。 本発明に係るメモリの実現例を図示した総括ダイアグラムである。 本発明に係るメモリの実現例を図示した総括ダイアグラムである。 本発明に係るコントローラの実現例を図示した総括ダイアグラムである。 本発明に係るメモリインターフェイスモジュールの実現を可能にするアーキテクチャ例を図示した総括ダイアグラムである。
図1は総括ダイアグラムを使用して、従来技術によるマルチプロセッサ回路を図示したものである。これは、上記に引用したISSC2007会議の論文第15.2号に記載されている回路である。図1の回路は、特に、3つのプロセッサ1、2、15とデータバス3を有する。同様に、入出力を管理するための接続された11の周辺装置、即ち周辺装置4、5、6、7、8、9、10、11、12、13、14を有する。周辺装置4は2つの「DDR SDRAM」インターフェイスを同時に管理できる。周辺装置5は「イーサネット」インターフェイスを管理できる。周辺装置6は「PCI」インターフェイスを管理できる。周辺装置7は「Flash/PIO」インターフェイスを管理できる。周辺装置8は「Video」インターフェイスを管理できる。周辺装置9は3つの「I2S」インターフェイスを同時に管理できる。周辺装置10は4つの「I2C」インターフェイスを同時に管理できる。周辺装置11は2つの「UART」インターフェイスを同時に管理できる。周辺装置12は4つの「SPI」インターフェイスを同時に管理できる。周辺装置13は「GPIO」インターフェイスを管理できる。周辺装置14は4つの「Timer」インターフェイスを同時に管理できる。図1の回路は、使用する可能性があるインターフェイスの範囲に対してできる限り広範な対象範囲を提供するために、入出力を管理するための専用の周辺装置を数多く実現する、従来技術に係る回路の問題点を示す適例である。これは、周辺装置4〜14が恒久的に接続されているため、周辺装置が接続されていない新しいインターフェイスを使用するアプリケーションに図1の回路が恒久的に適さないためである。例えば、図1の回路はUSBインターフェイスを使用するアプリケーションには適さない。同様に、図1の回路は、3つの「DDR SDRAM」インターフェイスを同時に使用する必要があるアプリケーションには適さない。最後に、図1の回路は4〜14の11の周辺装置のために大きくかさばる割に、これら周辺装置のほとんどは回路の大多数のアプリケーションで未使用のままである。これは、アプリケーションが同時に24の入出力インターフェイスを使用する可能性が極めて低いためである。
図2は総括ダイアグラムを使用して、本発明に係る回路の簡単なアーキテクチャ例を図示したものである。この例では、単一のプロセッサ20がデータの入出力に単一のインターフェイスを使用する。本発明に係るマイクロプグラム制御されたマシン21により、この入出力インターフェイスを管理できる。例えば、マイクロプログラム制御されたマシン21は、マイクロプログラムメモリ23とマイクロプログラム制御されたポートコントローラ24とを有してもよい。入出力インターフェイスに対応する通信プロトコルの管理を実現するのは、メモリ23に含まれるマイクロプログラムである。したがって、本発明の唯一の制約は質的なもののように思われる。これは、使用されるマイクロプログラム制御可能なマシンの数に由来する。これは、本発明を実現する回路が、マシン21等のマイクロプログラム制御されたマシンを有するよりも多くの入出力インターフェイスを同時に使用できないためである。実際には、この制約は、マシン21等のマイクロプログラム制御可能なマシンを挿入するために回路上で使用できるスペースに由来するが、ピン25を挿入するために使用できるスペースにも由来する。ピン25は、データを配信する信号の物理的な送受信を可能にする。各ピンは一度に1ビットの情報を伝達できる。対照的に、本発明には数量面での制約はない。いかなるタイプのインターフェイスであっても、たとえ新しいものであっても、及び/又はカードの製造時点で判明していないものであっても、マシン21をマイクロプログラム制御することにより実現できる。
有利には、本発明では一例として、プロセッサ20とマシン21との間でのやり取りを提供するために、メモリ26の使用を提案する。出力側では、プロセッサ20は、例えば、データバス又はデータ分散ネットワーク(「Network on Chip」つまりNoC)と、このバス又はこのNoCとのインターフェイス28とにより、メモリ26に対してデータを一時的に書き込むことができる。マシン21はメモリ26から回路の出力ピン25にデータを転送する。入力側では、マシン21が回路の入力ピン25で受信したデータをメモリ26に一時的に転送し、プロセッサ20がデータバス27とインターフェイス28によってメモリ26からデータを読み取る。したがって、純粋に論理的な観点から、プロセッサ20は入出力をメモリ空間とみなし、この空間との間で固有のフォーマット及び固有のクロックレートにて読み書きを行う。並行して、マシン21はこのメモリ空間との間でデータを転送する。但し、マシン21だけがデータのフォーマット変換タスクを担当する。入力側では、マシン21は制御データを取り出すことで、例えば有用なデータだけをメモリ26に転送し、プロセッサ20の効率が低下しないようにする。このため、プロセッサ20は制御データをどのように処理するかは認識していない。出力側では、メモリ26から転送される有用なデータに、例えば制御データが追加される。マシン21によって行われるこのようなメモリ26での読み書き操作は全て、プロセッサ20の動作クロックレートとは独立して、入出力インターフェイスのクロックレートで行われる。
図2の簡略化された実施形態では、プロセッサ20はマシン21だけと通信する。但し、本発明は、プロセッサ20が、例えばバス又はNoC 27を経由して、同時に他のプロセッサ又は他のマイクロプログラム制御されたマシンと通信している場合でも機能できる。同様に、マシン21は、バス又はNoC 27により複数のプロセッサの間で時間と共に共有できる。図2による機能の面では、プロセッサ20とマシン21との間でデータの交換を可能にするメモリ26はデュアルポートメモリであり、プロセッサ20によって制御されるポート29とマシン21によって制御されるポート30とを有する。有利には、メモリ26は物理的にデュアルポートメモリであってもよい。但し、メモリ26は同様にシングルポートメモリであってもよく、この場合プロセッサ20とマシン21との間でポートが時間と共に共有される。又、メモリ26はピンポンモードで動作する2つのメモリから構成してもよい。出力モード(又は入力モード)では、プロセッサ20が第1のメモリに書き込む(又は第1のメモリから読み取る)一方で、マシン21が第2のメモリから読み取る(又は第2のメモリに書き込む)。次に、プロセッサ20が第2のメモリに書き込む(又は第2のメモリから読み取る)一方で、マシン21が第1のメモリから読み取る(又は第1のメモリに書き込む)。但し、後者の可能性においてメモリ26で占有される表面積がたとえ抑えられても、マシン21とプロセッサ20との間のインターフェイスが複雑になる。これは、入出力インターフェイスに対応する入出力のビットレートに対応する周波数のクロックによってマシン21が動作するためである。このクロックレートは、プロセッサ20のものとは独立している。プロセッサ20のクロックドメインとマシン21のクロックドメインとの間のインターフェイスは、2つの独立したポートを使用してメモリ26にアクセスすることにより、大幅に簡易化される。
図2に図示するように、インターフェイス28はポート29を制御する。ポート30からのデータ信号は、例えばピンインターフェイスモジュール31にリンクされ得る。モジュール31により、ピン25にデータを出力することも、又は逆にピン25にあるデータをメモリ26に転送することができる。ポート30は本発明に係るマイクロプグラム制御されたコントローラ24によって制御される。コントローラ24の役割は、入出力インターフェイスに対応する通信プロトコルに従ってデータ交換が確実に行われるようにすることである。マシン21によって実現される通信プロトコルを決定するのは、マイクロプログラムメモリ23に含まれるコントローラ24のマイクロプログラムである。システムの初期設定時に、このマイクロプログラムをインターフェイス28からロードできる。更に、マイクロプログラム制御されたコントローラ24は、ピンインターフェイスモジュール31のコンフィギュレーション及び動作を制御する。インターフェイスに対応する通信プロトコルが複雑な場合、マシン21は、2つの方向でのデータの伝送、同期化、更に場合によってはエラー訂正等、プロトコルの下位のレイヤーだけを管理する。セッションのセットアップやデータの解釈といった上位のレイヤーは、プロセッサ20によって引き受けられる。
図2に示す回路は、本発明に係る入出力インターフェイスを管理するためのプロセッサ20及びバス27を除き、入出力周辺装置である。これ以降、この装備一式を単に「入出力周辺装置」と呼ぶ。
更に、全ての入出力周辺装置が同数のピンを必要とするわけではない。シリアルインターフェイスによって、3つのピンだけしか使用しないものもあれば、60前後のピンを必要とするものもある。図2に図示するように、本発明は、最大数のピンを有するように各ポートを設計するのではなく、物理的に隣接するポートの全てのピン又は一部のピンを使用するように入出力ポートを構成できることを提案する。したがって、図2に示す本発明に係る入出力周辺装置は、ポートNを形成するピンを使用する場合であっても、ポートN−1又はポートN+1からのピンも使用できる。このポートN−1及びN+1は本発明に係る他の入出力周辺装置によって使用されるものである。但し、このメカニズムについて、下記で詳述する。
図3は、メモリ26とピン25との間のデータ転送がポート30によって可能にされるピンインターフェイスモジュール31の実現例を図示したものである。ピン25は、出力レジスタ40及び入力レジスタ41によって制御される。一例として、入出力周辺装置のクロックエッジで、32ビットを有する出力レジスタ40に出力データが記録される。データのある部分はデータメモリ26からもたらされ、別の部分はコントローラ24からもたらされ得る。後者はバイトごとにプログラムし得る。データがコントローラ24から着信した場合は、バイトごとにロードされる。メモリ26から着信した場合は、複数のフォーマットが可能である。入出力周辺装置によって実現される通信プロトコルに応じて、交換されるワード内のビット数は非常にまちまちであり得る。プロセッサ20からのワードのフォーマットと異なる可能性がかなり高い。但し、最も一般的なフォーマットは、シリアル入出力では1ビット、パラレル入出力では8ビット、16ビット、32ビット、又は64ビットである。本例では、バス27は32ビットワードを使用する。このため、メモリ26はインターフェイス28で直接送受信できる32ビットワードを格納する。したがって、メモリ26とレジスタ40との間でフォーマット変換を行うことが望ましい。本実現例では、出力データのフォーマットが32ビットよりも小さい場合、単一のクロックサイクルでレジスタ40をロードできる。出力データフォーマットが32ビットと64ビットとの間である場合、レジスタ40に等しいレジスタと隣接する周辺装置のピンが使用される。したがって、メモリ26からのデータを転送するのに、2つのクロックサイクルが必要となる。有利には、出力データのフォーマットを変換するためのモジュール42は複数のマルチプレクサから構成できる。第1の32ビット→1ビットのマルチプレクサはシリアル出力に使用できる。前記マルチプレクサにより、メモリ26からの単一ワードの全てのビットを同じピンに連続して振り向けることができる。フォーマット変換モジュール42をそれほど複雑にしないよう、入出力ポートによって制御されるピンの1つがこのようなシリアルデータを受信できることに留意しなければならない。第2の32ビット→8ビットのマルチプレクサは8ビットのパラレル出力に使用できる。前述したように、各ポートの先頭の8つのピンだけが入出力をバイト単位で受信できる。第3の32ビット→16ビットのマルチプレクサ及び第4の32ビット→32ビットのマルチプレクサは、全く同じように、それぞれ16ビットと32ビットの出力に使用できる。後述されるように、32ビットよりも大きいフォーマットに関しては、隣接する入出力ポートのピンが使用される。当然ながら、このようなフォーマットでは、メモリ26での各読み書き操作に2つのクロックサイクルを必要とする。これは、メモリ26からの2つの連続したワードの場合も同様である。提供されている2つのフォーマットの中間となるフォーマットは、すぐ上のフォーマットを使用する。一例として、10ビットデータの場合、16ビットフォーマットが使用され、6つのピンが未使用のままである。下記で詳述されるように、使用されるフォーマットは、コントローラ24にロードされるコンフィギュレーションレジスタによって決定される。
入力側でも、入力レジスタ41及び入力データのフォーマットを変換するためのモジュール43により、全く同じようにデータを処理できる。コントローラ24にロードされるコンフィギュレーションレジスタの状態に応じて、モジュール43は、一例として、シリアル入力、2ビット入力、4ビット入力、バイト入力、又は16ビットワード入力を32ビットワードに変換でき得るか、或いは32ビットワード入力でさえ直接処理でき得る。したがって、32ビットワードに変換されたデータは、32ビットワードに構成されるメモリ26に格納される。選択したフォーマットが32ビットよりも大きい場合は、2サイクルでロードが行われる。任意選択的に、モジュール43は、伝送エラーを訂正する目的で、プログラム可能なエラー訂正ユニットを包含してもよい。これは、USB規格等の一定数の通信プロトコルによってサポートされる。
ピン25の間の各ピンは、例えば増幅器又は「ドライバ」を接続してもよい。このドライバは双方向である。一部のマイクロプロセッサのGPIOの場合と同様、後述するように、このドライバはコントローラ24によるレジスタを経由する制御信号によって制御される。出力に関しては、レジスタ40は、ピンごとに、そのピンに出力される値0又は1を示す1ビットを含む。コントローラ24にあるもう1つのレジスタが、出力ドライバがハイインピーダンスであるかどうかを示す。ドライバの制御を容易にするために、ここでは、8ビットのグループで出力を制御することが提案される。ある一定の数の8ビットのグループは入力側で構成され、それ以外は出力側で構成される。但し、任意選択的に、多少の柔軟性を保持するために、グループの1つを入力側又は出力側でビットごとに独立して構成できる。この機能を実現するために、ハイインピーダンス出力を示すレジスタは2つの部分で構成される。1つの部分には、バイトごとに1ビットのハイインピーダンスビットが含まれる。もう1つの部分には、8ビットについてビットごとに1ビットのハイインピーダンスビットが含まれる。コンフィギュレーションレジスタでは、どのバイトがビットごとに制御されるのかを示す。入力側にあるデータは、第3のレジスタであるレジスタ41によってサンプリングされる。或いは、適切な多重化により、先頭レジスタのビットをこの目的のために再利用できる。
一部の通信規格では、ある制御データ構造又は「パターン」を認識することが必要な場合がある。これらは、例えば、データブロックの先頭又は終わりを示したり、及び/又は送信機と受信機を同期化したりするための特定のデータブロックである。有利には、パターン検出モジュール44は、フォーマット変換の出力とコントローラ24によって提供される1つ又は複数のパターンとを比較することができ、更に値が比較に考慮できないビット又はバイトを示すことができる。したがって、この比較結果がコントローラ24に戻される。
最後に、シフトモジュール45及び46によって、有利に、図2に示す本発明に係る入出力周辺装置を、隣接する入出力周辺装置と相互接続し得る。前述したように、これによって、隣接するポートN+1のピンの全て又は一部を使用するようにポートNを構成できる。このメカニズムの詳細を図4に図示する。
図4は、本発明に係る2つの入出力周辺装置を、モジュール45及び46等のシフトモジュールによって同一の回路上で相互接続する例を図示したものである。この理由は、全ての入出力周辺装置が同じ数のピンを必要とするわけではないからである。シリアルインターフェイスによっては、入力データ用に1つ、出力データ用に1つ、クロック用に1つ、合わせて3つのピンしか使用しない。その一方で、およそ60ものピンを必要とするインターフェイスもあり得る。各ポートは、想定されるインターフェイスに対して最大数のピンを有するように設計できる。但し、これによって回路の周辺部におけるピンの数が非常に多くなる割に、その多くが使用されない。1つのピンがシリコンのかなり大きな表面積を占有する。このため、ピンの合計数を最適化するのが望ましい。本発明で提案する解決策は、入出力ポートNがそのポート固有のピンの全て又は一部に加えて、そのすぐ右側のポートN+1或いはそのすぐ左側のポートN−1のピンの全て又は一部を使用するよう構成できることである。
図4の例では、例えば、ポートNがそのすぐ右側のポートN+1からのピンを使用するよう構成し得る。垂直の直線Cが図4を2等分する。直線Cの左側では、図3と同じ要素、即ちピン25によって形成されるポートNを制御するピンインターフェイスモジュール31の実現例が示されている。直線Cの右側には、もう1つのピンインターフェイスモジュールが図示されている。これは、ポートNを形成するピン25の右側にピン57が物理的に配置されている、もう1つの入出力周辺装置のものである。ピン57はポートN+1を形成する。全く同じように、このような他のピンインターフェイスモジュールも、出力レジスタ50と入力レジスタ51、出力データのフォーマットを変換するためのモジュール52、入力データのフォーマットを変換するためのモジュール53、パターン検出モジュール54、及びシフトモジュール55と56とを有してもよい。
一例として、シフトモジュール55は入力側で64ビットバスを受信する。この入力バスは、下位側に対して独自のポートN+1からのモジュール52のフォーマット変換から送られる32ビットのデータバスと、上位側に対して左側のポートNから送られる32ビットのデータバスとの連結によって形成される。モジュール55は、例えば0、8、16、24、32、40、又は56ビット等、プログラム可能なビット数だけシフトされた出力を64ビットの出力バスに提供する。この出力バスは、32の最上位ビットを対象とした固有のポートN+1のピン57を制御するためのレジスタ50に接続されると共に、32の最下位ビットを対象としたその右側に配置されたポートN+2のピンを制御するためのレジスタに接続される。ポートN+2は図4に図示しない。これはポートN及びN+1と同じアーキテクチャを有する。データフォーマットが32ビットよりも大きい場合は、2回に分けてデータ転送が行われる。最下位ビットを転送する場合は、最上位ビットを転送するときよりも更に32ビットシフトするよう、シフトモジュール55がプログラムされる。シフトするビット数は、コントローラ24にロードされるコンフィギュレーションレジスタによってプログラムされる。本実施形態では、シフトモジュール55を単純にするために、0、8、16、32、48、又は56ビットのシフトに限定するよう提案される。これは、これによって、複雑さが、64の64→1マルチプレクサではなく、64の8→1マルチプレクサに、より正確にはそれぞれが64の8→1マルチプレクサから構成される2つのシフトモジュール55と56に限定されるためである。生じる制約条件としては、第1に、入力の数と出力の数が8の倍数でなければならないこと、第2に、出力に使用されるフォーマット変換モジュール52の32→1マルチプレクサと入力に使用されるフォーマット変換モジュール53の1→32デマルチプレクサが先頭バイトの同一ビットに接続していないことである。一例として、先頭ビットを出力に使用し、最終ビットを入力に使用できる。したがって、シリアルインターフェイスは、ハイインピーダンス状態をビットごとにプログラムできる、レジスタによって制御される8つのピンだけを固定化でき、先頭のビットはシリアル出力、最後のビットはシリアル入力に使用できる。それ以外のビットは何らかの確認信号に使用できる。
当然ながら、数多くの入出力インターフェイスを同時に使用できるよう、本発明に係る2つの相互接続された周辺装置よりもさらに多くの周辺装置を1つの回路が有してもよい。
図5及び図6は、メモリ26の有利な実現例を図示したものである。このようにする理由は、全ての入出力ポートが同じメモリ容量を必要としないためである。通常、シリアルポートは32ビットポートに比べビットレートが32分の1であるため、必要とされるメモリ容量も32分の1で済む。ピンの共有化と同じように、メモリ内でのリソースの使用、ひいてはシリコンの表面積を最適化するために、入出力ポート間でメモリ26を共有するのが有益であるかもしれない。1つの解決策は、有利には、例えばポートNのメモリ26を4つのバッファ60、61、62、及び63に分割する等、各ポートのメモリを複数のバッファに分割することであってもよい。こうすることで、1〜7の可変個のバッファをポートNに割り当てることができ、ポートNはそのすぐ右側のポートN+1からのバッファの全て又は一部を使用できる。同様に、ポートN−1はそのすぐ右側のポートNからのバッファの全て又は一部を使用できる。図5は、トライステートバスを使用して、メモリ26を4つのバッファ60、61、62、63に分割した例を図示したものである。図6も、メモリ26を4つのバッファ60、61、62、63に分割したもう1つの例であるが、今回は出力の多重化を使用している。
図7に、コントローラ24の実現例を図示する。これは、ある意味では、入出力周辺装置の心臓部である。各クロックサイクルで、コントローラ24は1つの命令内でピン25の中でどのピンが入力モードで、どのピンが出力モードであるのか判別しなければならない。これは、ドライバがハイインピーダンス状態であるかどうか表することによって行われる。又、各クロックサイクルで、コントローラ24は1つの命令内でピン25の中で出力モードのどのピンにどの値を割り当てる必要があるのかも判別しなければならない。これは、データメモリ26、即ちプロセッサ20からの値であってもよい。同様に、例えばデータに対する確認信号等、コントローラ24自体によって決定される値であってもよい。又、各クロックサイクルでは、コントローラ24は、1つの命令において、入力モード時にピン25でサンプリングされる値のうちどれをメモリ26経由でプロセッサ20に伝送する必要があるのかも判別しなければならない。各クロックサイクルで、コントローラ24は最後に、1つの命令内で、ピン25を経由してデータの送信又は受信を続ける前にどの信号を待機するのかを判別しなければならない。
有利に、バス27の周波数で動作する必要があるインターフェイス28を除いて、入出力周辺装置の全ての要素で単一のクロック70を使用できる。コントローラ24のプログラムに応じて、クロック70によって提供されるクロッキングは、考えられる2つの起源を有してもよい。その起源は外部的なものでもよく、この場合ピン71から直接クロッキングをもたらすことができる。又は、その起源は内部的なものでもよく、この場合入力72を経由してクロック70がシステムクロックを受信することができる。後者のケースでは、分周器73により、システムクロックよりも遅いインターフェイスに対処でき得る。或いは、逓倍器73の値は有利にコントローラ24によってプログラムできる。但し、システムクロックよりも高速なインターフェイスに対処するために、分周器73は、例えば「位相ロックループ」タイプのメカニズムを使用する周波数逓倍器に置き換えることもできる。クロック70は出力76のクロッキングを提供する。或いは、クロック70が動作するモード、即ち内部クロッキング又は外部クロッキングは、同様に、有利には、コンフィギュレーションレジスタのプログラミングにより、コントローラ24によって選択できる。クロック70が内部クロッキングモードで動作している場合、同様に出力ピン(図7に図示せず)にもクロッキングを適用できる。
コントローラ24はマイクロプログラムメモリ23からの命令を実行し、例えば命令レジスタ74にロードできる。命令は複数の固有のフィールドから構成され、その中の1つのフィールドにより、次の命令のアドレスを決定できる。システムの初期設定時に、インターフェイス28を介してマイクロプログラムメモリ23にプログラムがロードされる。但し、同様に、有利には、例えば新しいインターフェイスを使用する外部周辺装置が接続された場合等、動作の途中でプログラムを再ロードするよう想定し得る。したがって、回路の使用中であっても、マシン21によって実行されるマイクロプログラムを動的に修正できる。命令ワードの構造及び命令セットを正確に定義するための数多くの可能性が存在する。命令レジスタ74は、命令ワードの構造例を示す。フィールドの長さは情報提供のためにのみ示す。図7の実施形態において、6ビットの「Test」フィールドは、例えば、プログラムが引き続き次のアドレスに進むのか、それとも次のアドレスのその次のアドレスにジャンプするのか、それとも分岐アドレスを示す後述される「Branch@」フィールドに指定されているアドレスにジャンプするのかを示す。同様に、「Test」フィールドは、ジャンプが必要となる条件を示す。例えば、これは無条件であっても、又は下記に説明するループカウンタがオーバーフローしたときであっても、インターフェイス28からのメッセージを受信したときであっても、或いはモジュール44によってパターンが検出されたときであってもよい。したがって、8ビットの「Branch@」フィールドは、分岐アドレスを示し、その8ビットにより最大256の命令をプログラムメモリ23でアドレス指定できる。8ビットの「Z Byte/B」フィールドは、ハイインピーダンスバイトを示す。8ビットの「Z bit/bit」フィールドは、ビットごとに状態が管理されるバイトに対して、ハイインピーダンスビットを示す。モジュール78により、「Z Byte/B」フィールド及び「Z bit/bit」フィールドを復号できる。8ビットの「Reg.Ad.」フィールドは、ロードするレジスタを示すと共に、ロードする値が後述されるように「Data」フィールドからのものであるのか、それともデータメモリ26からのものであるのかを示す。値がメモリ26からのものである場合、「Reg.Ad.」フィールドはどのバイトからのものであるかも示す。これによって、一定の値又は構成可能な値をプロセッサ20からロードできる。モジュール79により、「Reg.Ad.」フィールドを復号できる。したがって、8ビットの「Data」フィールドは、「Reg.Ad.」フィールドによって示されるレジスタにロードする値を示す。例えば、これはピン25の中の出力ピンの値、又はモジュール44で検出されるパターン、或いはループカウンタの初期値又はモジュロであってよい。2ビットの「Cde Mem」フィールドは、データメモリ26へのアクセスの必要性があるのかどうかを示すと共に、必要性がある場合は、それが読み取りアクセスなのか書き込みアクセスなのかを示す。したがって、本例では、各命令は合計48ビットになる。
コントローラ24は、アドレスレジスタ93及び94と、レジスタ93及び94でそれぞれ動作するインクリメンタ95及び96と、復号モジュール97とによって、マイクロプログラムアドレスを処理できる。
一例として、命令セットにより、確認信号又は同期化コードの場合に、ドライバのハイインピーダンス状態、及びピン25の中の出力ピンのうち8つの状態を直接制御できる。又、命令セットにより、ピン25を共有するため、メモリバッファ60、61、62、及び63を共有するため、或いはクロック周波数70を調整するために、コンフィギュレーションレジスタをロードできる。又、モジュール44によって比較されるパターンのロード、データメモリ26との間でのワードの読み取り又は書き込みの制御、受信したデータの確認のためにインターフェイス28への同期化信号の送信、及び読み取り準備の整ったデータの通知も可能である。更に、モジュール77によって、データメモリ26とバス又はシステムNoCに対するインターフェイス28との間の交換を管理できる。更に、命令セットにより、様々なプログラムの分岐条件を管理できる。こうした操作のほとんどは、命令のフィールドと操作を関係付けることで、同時に行うことができ、データの伝送を遅らせないようにできる。或いは、判明している解決策としては入出力動作を実行するために複数のクロックサイクルが必要となるため、これは本発明の大きな利点である。
図7の実施形態では、一例として、制御装置24は、2つのループカウンタの管理を可能とするモジュール75を有する。コントローラ24は、システムレジスタをカウンタにロードするのと同じように、このようなカウンタ及びそのモジュロの値を初期設定できる。このようなカウンタの値は各サイクルでインクリメントされ、0又は最大値になると信号が提供される。これらの信号及びパターン検出モジュール44によって提供される信号により、次の命令のアドレスを決定できる。
前述したように、コントローラ24は、同様に、レジスタ90及び91等、コンフィギュレーションレジスタを有する。モジュール92により、コンフィギュレーションレジスタの内容を復号できる。
図8は、モジュール77の実現を可能にするアーキテクチャ例を示す。インターフェイス28は、データブロックの開始アドレスをFIFO(先入れ先出し)構造体80に書き込むことにより、伝送するデータブロックの到着の通知を提供する。インターフェイス28は、命令セットによりコントローラ24でテストできる信号も送信する。コントローラ24は、データメモリ26の2つのアドレス、即ち読み出し操作用のレジスタ82のアドレス「R」と書き込み操作用のレジスタ83のアドレス「W」を管理できる。コントローラ24は、読み取りのため又は書き込みのためにメモリ26にアクセスする場合、初期アドレス(例えば「0」)、又はFIFO 80内で最初に使用可能なアドレス、或いは同じ方向(読み取り又は書き込み)の前回のアクセスに使用したアドレスの次のアドレスでこのアクセスを行うことができる。インクリメンタ84及び85はレジスタ82及び83で動作し、コントローラ24にロードされたコンフィギュレーションレジスタのフィールドによりモジュロが制御される。一例として、メモリ26へのデータブロックの書き込みが終了すると、コントローラ24は、アドホックレジスタ81にデータを書き込む前にロードしたメッセージの先頭アドレスと確認信号とをインターフェイス28に送信できる。
前述した発明は、とりわけ、それを実現する回路が非常に多くの数の入出力プロトコルに適合できるという利点を提供する。更に、様々な外部周辺装置に接続するピンに対する箇所の選択において、例えば、内部周辺装置と処理プロセッサとの間の回路内部の通信に対する配線制約条件、又は更には回路とその外部周辺装置との間のプリント回路上の配線制約条件に応じて、高いレベルの柔軟性を提供できる。これは、本発明に係る内部周辺装置が全て同じであるために、いかなるプロトコルに対しても目的の箇所に配置されたピンを管理する周辺装置をプログラムできるためである。

Claims (23)

  1. 少なくとも1つのプロセッサ(20)を有する回路であって、
    通信プロトコルに従いピンを介してデータを前記回路に入力又は前記回路から出力するために前記プロセッサに出入りする前記データを処理するマイクロプログラム制御されたマシン(21)を有し、
    各ピンは1ビットの情報を入力又は出力することができ、前記マイクロプログラム制御されたマシンが、その各クロックサイクルで1つの命令内で、
    − どのピンが入力モードで、どのピンが出力モードか、及び/又は
    − 各ピンにどの値を割り当てるのか、及び/又は
    − 前記プロセッサにどの値を伝送するのか、及び/又は
    − データの送信又は受信を続ける前にどの信号を待機するのか、
    を判別することを特徴とする回路。
  2. 前記マイクロプログラム制御されたマシンからの命令は、
    − どのピンが入力モードでどのピンが出力モードかを判別できるフィールド、及び/又は
    − 出力モードの各ピンにどの値を割り当てるのか判別できる少なくとも1つのフィールド、及び/又は
    − 前記プロセッサにどの値を伝送するのか判別できるフィールド、及び/又は
    − データの送信又は受信を続ける前にどの信号を待機するのか判別できるフィールドを有し、
    これにより、各ピンの前記入出力モード、各ピンに割り当てる前記値、前記プロセッサに伝送する前記値、及び待ち受ける前記信号を1つのクロックサイクルで判別できることを特徴とする、請求項1に記載の回路。
  3. 前記マイクロプログラム制御されたマシンは、命令レジスタ(74)と、マイクロプログラムを形成する命令を含むマイクロプログラムメモリ(23)とを有し、前記レジスタには前記マイクロプログラムからの命令がロードされ、前記命令は、前記通信プロトコルに従い前記データを前記回路に入力又は前記回路から出力するために前記プロセッサ(20)を出入りする前記データを処理することができ、前記回路が任意の通信プロトコルに適合できるように前記マイクロプログラム内で前記命令が修正可能であることを特徴とする、請求項1に記載の回路。
  4. 各命令が、前記マイクロプログラムメモリ(23)で次に実行される命令のアドレスを推測できるフィールド(Branch@)を少なくとも1つ有することを特徴とする、請求項3に記載の回路。
  5. 前記マイクロプログラム制御されたマシン(21)と前記プロセッサ(20)で使用される通信ネットワーク(27)との間にネットワークインターフェイスモジュール(28)を有することを特徴とする、請求項1に記載の回路。
  6. 前記プロセッサ(20)と前記マイクロプログラム制御されたマシン(21)は、前記データをメモリ(26)に書き込んでその後前記メモリから読み取ることで前記データを交換し、前記メモリには前記データが一時的にのみ格納されることを特徴とする請求項1に記載の回路。
  7. 通信プロトコルに従って、前記プロセッサ(20)へ送られる前記データを前記回路に入力するため、又は前記プロセッサから送られる前記データを前記回路から出力するために、前記マイクロプログラム制御されたマシン(21)が使用できる入出力ポートが、隣接するピン(25)の所与の集合によって形成されることを特徴とする請求項1に記載の回路。
  8. 各ピンを増幅器に接続することにより前記ピンで信号を送受信することができる回路であって、前記メモリ(26)と前記増幅器との間にピンインターフェイスモジュール(31)を有し、前記マイクロプログラムを形成する前記命令が前記ピンインターフェイスモジュール(31)を経由して前記メモリ(26)と前記増幅器との間のデータの転送を制御することを特徴とする請求項3、6、又は7のいずれか一項に記載の回路。
  9. 前記メモリ(26)のフォーマットのワードを、前記通信プロトコルに従い前記回路との間で前記データを入力又は出力するために使用可能なピン(25)の数に適したフォーマットのワードに変換できるモジュール(42、43)を有することを特徴とする請求項6又は7に記載の回路。
  10. 前記回路との間で前記データを入力又は出力するために使用可能なピン(25)の数に適した前記フォーマットが前記マイクロプログラムを形成する命令によって決定されることを特徴とする請求項3又は9に記載の回路。
  11. 32ビットのパラレルデータが16、18、4、又は2ビットのパラレルデータに、その逆に16、18、4、又は2ビットのパラレルデータが32ビットのパラレルデータに変換されることを特徴とする請求項9に記載の回路。
  12. 32ビットのパラレルデータがシリアルデータに、その逆にシリアルデータが32ビットのパラレルデータに変換されることを特徴とする請求項9に記載の回路。
  13. 通信プロトコルに従いデータを前記回路に入力又は前記回路から出力するために、プロセッサ(20)に出入りする前記データを処理する少なくとも2つのマイクロプログラム制御されたマシンを有することを特徴とする請求項1に記載の回路。
  14. 隣接するピンの2つの集まりをそれぞれ2つのマシンが使用できることから、第1のマシンが固有のピンの集まり(25)を使用できることに加えて、第2のマシンの隣接するピンの集まり(57)の中のピンも使用できるようにするためのシフトモジュール(45、46)を有することを特徴とする請求項7又は13に記載の回路。
  15. 前記マイクロプログラムを形成する前記命令により、前記シフトモジュール(45、46)を制御できることを特徴とする請求項3又は14に記載の回路。
  16. 前記第2のマシンが、第3のマイクロプログラム制御されたマシンの隣接するピンの集まりの中のピンを使用できるようにするためのシフトモジュール(55、56)を有することを特徴とする請求項14に記載の回路。
  17. 前記メモリ(26)内の2つの領域は隣接するポートを使用する2つのマシンでそれぞれ使用でき、前記2つの領域は複数のメモリバッファに分割されるため、第1のマシンが、独自のメモリバッファ(60、61、62、63)に加え、処理するデータ量に応じて、前記第2のマシンのメモリバッファも使用することを特徴とする請求項6、7、又は13のいずれか一項に記載の回路。
  18. 同様に、前記第2のマシンが、処理するデータの量に応じて、隣接するポートを使用する第3のマイクロプログラム制御されたマシンのメモリバッファを使用することを特徴とする請求項17に記載の回路。
  19. 前記マイクロプログラム制御されたマシン(21)が処理サイクルをクロッキングするためのクロック(70)を有する回路であって、前記クロック(70)が外部周辺装置から動作周波数を提供できることを特徴とする請求項1に記載の回路。
  20. 前記マイクロプログラム制御されたマシン(21)が処理サイクルをクロッキングするためのクロック(70)を有する回路であって、前記クロック(70)が前記プロセッサ(20)の前記動作周波数を乗算又は除算することで得られる動作周波数を提供する請求項1に記載の回路。
  21. 前記マイクロプログラムを形成する前記命令により、
    − 外部周辺装置によって提供される動作周波数、又は
    − 前記プロセッサ(20)の前記動作周波数を調整可能な係数で乗算ないし除算することによって得られる動作周波数を選択できることを特徴とする請求項3、19、又は20のいずれか一項に記載の回路。
  22. 前記通信プロトコルの前記制御データを認識するためのモジュール(44)を有し、認識される前記制御データが前記マイクロプログラム制御されたマシン(21)によって提供されることを特徴とする請求項1に記載の回路。
  23. 前記マイクロプログラム制御されたマシン(21)がループカウントモジュール(75)を有することを特徴とする請求項1に記載の回路。
JP2010535320A 2007-11-27 2008-11-05 任意の通信プロトコルに従い回路にデータが出入りできるようプロセッサの入出力を処理する、マイクロプログラム制御されたマシンを含む回路 Active JP5608934B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0708292A FR2924243B1 (fr) 2007-11-27 2007-11-27 Circuit comportant une machine microprogrammee pour traiter les entrees ou les sorties d'un processeur afin de les faire entrer ou sortir du circuit selon n'importe quel protocole de communication
FR0708292 2007-11-27
PCT/EP2008/065019 WO2009068419A1 (fr) 2007-11-27 2008-11-05 Circuit comportant une machine microprogrammee pour traiter les entrees ou les sorties d'un processeur afin de les faire entrer ou sortir du circuit selon n'importe quel protocole de communication

Publications (2)

Publication Number Publication Date
JP2011511492A true JP2011511492A (ja) 2011-04-07
JP5608934B2 JP5608934B2 (ja) 2014-10-22

Family

ID=39535715

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010535320A Active JP5608934B2 (ja) 2007-11-27 2008-11-05 任意の通信プロトコルに従い回路にデータが出入りできるようプロセッサの入出力を処理する、マイクロプログラム制御されたマシンを含む回路

Country Status (6)

Country Link
US (1) US8510478B2 (ja)
EP (1) EP2215552B1 (ja)
JP (1) JP5608934B2 (ja)
AT (1) ATE554450T1 (ja)
FR (1) FR2924243B1 (ja)
WO (1) WO2009068419A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010278897A (ja) * 2009-05-29 2010-12-09 Renesas Electronics Corp 通信データ処理回路及び通信データ処理方法
DE102016213554A1 (de) * 2016-07-25 2018-01-25 Siemens Aktiengesellschaft Datenübertragung zwischen signaltechnisch sicheren Recheneinheiten

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63250738A (ja) * 1987-04-08 1988-10-18 Nec Corp デ−タ処理用プロセツサ
JPH06274459A (ja) * 1993-03-17 1994-09-30 Hitachi Ltd 半導体集積回路装置
JP2003296294A (ja) * 2002-04-08 2003-10-17 Hitachi Ltd 半導体集積回路

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4649516A (en) * 1984-06-01 1987-03-10 International Business Machines Corp. Dynamic row buffer circuit for DRAM
JPS6226561A (ja) * 1985-07-26 1987-02-04 Toshiba Corp パ−ソナルコンピユ−タ
JPH04305735A (ja) * 1991-04-02 1992-10-28 Mitsubishi Electric Corp マイクロプログラム制御回路
JPH11191149A (ja) * 1997-12-26 1999-07-13 Oki Electric Ind Co Ltd Icカード用lsiおよびその使用方法
US6021505A (en) * 1998-06-26 2000-02-01 Intel Corporation Method and apparatus for updating a timer from multiple timing domains
US6496888B1 (en) * 1999-09-15 2002-12-17 Intel Corporation Incorporation of bus ratio strap options in chipset logic
US6484222B1 (en) * 1999-12-06 2002-11-19 Compaq Information Technologies Group, L.P. System for incorporating multiple expansion slots in a variable speed peripheral bus
US6931466B2 (en) * 2001-09-28 2005-08-16 Cradle Technologies, Inc. Reprogrammable input-output pins for forming different chip or board interfaces
US7042893B1 (en) * 2001-12-05 2006-05-09 Marvell International Ltd. Serial media independent interface with double data rate
US7155575B2 (en) * 2002-12-18 2006-12-26 Intel Corporation Adaptive prefetch for irregular access patterns
US7362705B2 (en) * 2004-05-13 2008-04-22 International Business Machines Corporation Dynamic load-based credit distribution

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63250738A (ja) * 1987-04-08 1988-10-18 Nec Corp デ−タ処理用プロセツサ
JPH06274459A (ja) * 1993-03-17 1994-09-30 Hitachi Ltd 半導体集積回路装置
JP2003296294A (ja) * 2002-04-08 2003-10-17 Hitachi Ltd 半導体集積回路

Also Published As

Publication number Publication date
EP2215552B1 (fr) 2012-04-18
ATE554450T1 (de) 2012-05-15
US8510478B2 (en) 2013-08-13
JP5608934B2 (ja) 2014-10-22
EP2215552A1 (fr) 2010-08-11
FR2924243A1 (fr) 2009-05-29
FR2924243B1 (fr) 2013-03-22
US20110060893A1 (en) 2011-03-10
WO2009068419A1 (fr) 2009-06-04

Similar Documents

Publication Publication Date Title
US6701405B1 (en) DMA handshake protocol
US7702827B2 (en) System and method for a credit based flow device that utilizes PCI express packets having modified headers wherein ID fields includes non-ID data
US6594713B1 (en) Hub interface unit and application unit interfaces for expanded direct memory access processor
US7200692B2 (en) PVDM (packet voice data module) generic bus
US6653859B2 (en) Heterogeneous integrated circuit with reconfigurable logic cores
JP4672305B2 (ja) デジタル・メディア・ストリームを処理するための方法及び装置
JP5407633B2 (ja) 通信装置及びそれを有する通信システム並びに通信方法
US7930462B2 (en) Interface controller that has flexible configurability and low cost
KR100934227B1 (ko) 개방형 시리얼 정합 방식을 이용한 메모리 스위칭 컨트롤장치, 그의 동작 방법 및 이에 적용되는 데이터 저장 장치
US20100030927A1 (en) General purpose hardware acceleration via deirect memory access
US20240020009A1 (en) System and method for accelerated data processing in ssds
TW201902142A (zh) 混合vgpio狀態交換中的輸入/輸出方向解碼
US7007111B2 (en) DMA port sharing bandwidth balancing logic
US20100272162A1 (en) Synchronous serial programmable interface
US6694385B1 (en) Configuration bus reconfigurable/reprogrammable interface for expanded direct memory access processor
US20090013156A1 (en) Processor communication tokens
CN118043796A (zh) 存储器计算系统中的基于片块的结果缓冲
US8284792B2 (en) Buffer minimization in interface controller
JP5382736B2 (ja) トークンプロトコル
US20220164298A1 (en) Memory sequencer system and a method of memory sequencing using thereof
JP5608934B2 (ja) 任意の通信プロトコルに従い回路にデータが出入りできるようプロセッサの入出力を処理する、マイクロプログラム制御されたマシンを含む回路
JP2008187711A (ja) 2つのエンティティ間の通信ゲートウェイ
JPH04350737A (ja) マイクロコンピュータ
KR101352140B1 (ko) 데이터 통신 시스템
EP2320327A1 (en) A data transferring device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130228

A072 Dismissal of procedure [no reply to invitation to correct request for examination]

Free format text: JAPANESE INTERMEDIATE CODE: A072

Effective date: 20130402

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131219

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140508

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140814

R150 Certificate of patent or registration of utility model

Ref document number: 5608934

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250