JP5374268B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP5374268B2
JP5374268B2 JP2009175706A JP2009175706A JP5374268B2 JP 5374268 B2 JP5374268 B2 JP 5374268B2 JP 2009175706 A JP2009175706 A JP 2009175706A JP 2009175706 A JP2009175706 A JP 2009175706A JP 5374268 B2 JP5374268 B2 JP 5374268B2
Authority
JP
Japan
Prior art keywords
address
packet
information
pcie
configuration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2009175706A
Other languages
English (en)
Other versions
JP2011028650A (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.)
Lapis Semiconductor Co Ltd
Original Assignee
Lapis Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lapis Semiconductor Co Ltd filed Critical Lapis Semiconductor Co Ltd
Priority to JP2009175706A priority Critical patent/JP5374268B2/ja
Priority to US12/832,581 priority patent/US8135873B2/en
Publication of JP2011028650A publication Critical patent/JP2011028650A/ja
Application granted granted Critical
Publication of JP5374268B2 publication Critical patent/JP5374268B2/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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

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)

Description

本発明は、PCI expressバス及び非PCI expressバスインターフェースにより情報の授受を行うための情報処理装置に関するものである。
近年、PC(Personal Computer)及び関連する周辺装置において、PCI expressと呼ばれる、I/Oシリアルインターフェースが、用いられている。
PCI express(以下、PCIeと称する)は、1レーンを使用することで2Gbps、32レーンを使用することで64Gbpsの伝送速度を実現している。
また、PCIeは、物理層、データリンク層、トランザクション層の3層(図2参照)、及びソフトウエア層及びコンフィグレーション/OS層の2層によるレイヤ構造が規定されている。PCIeは、コンフィグレーションレジスタ(Configuration Register)を持ち、PCIe規格のバス(以下、PCIeバスと称す)に接続されているデバイスのアドレスマップをソフトで変更することが可能となっている。コンフィグレーション/OS層は、PCIプラグ&プレイを実現しており、これにより、デバイスをバスに接続すると、ユーザのサポート無しでPCが自動的にデバイスを動作させるために必要な設定及びソフトの導入が行われる。
これらの仕組みにより、デバイスが接続されるアドレスが異なっている場合でも、デバイス毎に1つのドライバを使用することにより、同一のドライバソフトを使用することが可能である。これにより、従来のバス(非PCIeバス)に接続された装置(デバイス)では、同一のデバイスでもアドレスが異なる場合にハード毎に個別にドライバ開発を行う必要があったが、PCIeでは、当該ドライバ開発を行う必要がなくなる。すなわち、PCIeバスに接続されたデバイスを使用することにより、デバイスのドライバソフトを個別に開発しなくてよい。
一方、作成、検証が完了し、動作実績もある従来のバス(非PCIeバス)接続型のデバイスを使用したいという要望がある。
そのため、従来のバスに接続されたデバイスをPCIeバスに接続されたデバイスとして使用する技術がある。例えば、PCIバスに接続されたデバイスをPCIeに接続されたデバイスとして使用する技術がある(例えば、特許文献1及び2参照)。
また、他のバス、例えば、組み込み用途において広く使用されるAHB規格のバス等に接続されるデバイスは、アドレスマップがハード的に固定されており、ソフトで変更することが不可能であるため、PCIeのコンフィグレーション空間に設けられたアドレス変換回路(図15参照)を用いてPCIe規格のバスアドレス(以下、PCIeアドレスと称す)と、非PCIe規格のバスアドレスと、を変換する技術がある。
図15は、PCIeアドレスと、AHB規格のバスアドレス(以下、AHBアドレスと称す)との変換を行うPCIe・AHBアドレス変換回路134を備えたアドレス変換部118の一例の概略構成を示す構成図である。
コンフィグレーション空間に設けられたベースアドレスレジスタ132(Base Address Registers、以下、BARと称す)には、予め、AHBバスに接続されているデバイスに応じた、PCIe先頭アドレス、PCIeアドレス幅、及びAHBオフセットアドレスが格納されている。
PCIe・AHBアドレス変換回路134は、PCIアドレスとAHBアドレスとを、BAR132に格納されている情報に基づいて変換するものである。一例として、PCIeアドレスをAHBのアドレスに変換する場合について説明する。入力されたPCIeアドレスが、(1)式及び(2)式を満たす場合、(3)式によりAHBアドレスを算出することにより、入力されたPCIeアドレスをAHBアドレスに変換する。
PCIeアドレス≧PCIe先頭アドレス ・・・(1)
PCIeアドレス≦(PCIe先頭アドレス+PCIeアドレス幅) ・・・(2)
AHBアドレス=PCIeアドレス−PCIe先頭アドレス+AHBオフセットアドレス ・・・(3)
特開2009−10920号公報 特開2009−70249号公報
上述した、PCIe・AHBアドレス変換回路134を用いた情報処理装置10では、デバイスに応じて設定を行わなくてはいけないという問題が生じる場合がある。
例えば、PCIeを使用する場合、PCIeを制御するCPUが動作する前にPCIeバスに接続されているデバイスの初期化を実施する。一般には、電源投入時にCPUがデバイスのリセットを行うことで、当該デバイスの初期化を行う。しかしながら、デバイスのリセットを行うことによりデバイスの初期化を行えない場合がある。例えば、デバイスがネットワーク用デバイスである場合、デバイスは、固有のMACアドレス(Media Access Control Address)を有しており、当該MACアドレスにより識別される。従って、CPUが動作する前にデバイスにMACアドレスを設定する必要がある。
また例えば、デバイスがFPGA(Field Programmable Gate Array)である場合、デバイスが使用するPCIeアドレスの幅及びAHBオフセットアドレスが当該デバイスの回路に依存するため、BAR132に格納されているPCIeアドレスの幅及びAHBオフセットアドレスを当該デバイスに応じた値に変更する設定を行う必要がある。
本発明は、上述した問題を解決するために提案されたものであり、非PCIe規格のバスに接続されたデバイスをPCIeバスに接続されたデバイスとして使用するためのデバイスに応じた設定を行うことができる、情報処理装置を提供することを目的とする。
上記目的を達成するために、請求項1に記載の情報処理装置は、データを送受信するバスのアドレス幅及びデバイスの内部メモリアドレスに関する情報を含むアドレス変換情報が格納されたベースアドレスレジスタと、前記ベースアドレスレジスタに格納されているアドレス変換情報に基づいて、入力されたパケットのPCIe規格のバスアドレスを、非PCIe規格のバスアドレスに変換する変換回路と、を有するアドレス変換手段と、デバイス固有の固有アドレスを有し、かつ、前記固有アドレスを認識していない、非PCIe規格のバスに接続された第1のデバイスの、前記固有アドレスを含むPCIe規格に基づく第1のコンフィグレーション情報が予め記憶手段に記憶されている場合に、前記第1のデバイスに前記固有アドレスを認識させるための前記固有アドレスを含む、アドレス設定用コンフィグレーションライトリクエストパケットを前記記憶手段に記憶されたコンフィグレーション情報に基づいて生成し、前記ベースアドレスレジスタを、アドレス幅及び内部メモリアドレスの少なくとも一方がデバイス固有の固有値である、非PCIe規格のバスに接続された第2のデバイスの前記固有値が格納されたベースアドレスレジスタに変更させるための変更情報を含む、PCIe規格に基づく第2のコンフィグレーション情報が予め記憶手段に記憶されている場合に、前記変更情報を含む変更設定用コンフィグレーションライトリクエストパケットを前記記憶手段に記憶されたコンフィグレーション情報に基づいて生成する、前記アドレス変換手段に出力するパケット生成手段と、を備える。
請求項2に記載の情報処理装置は、請求項1に記載の情報処理装置において、前記アドレス設定用コンフィグレーションライトリクエストパケット及び前記変更設定用コンフィグレーションライトリクエストパケットは、ヘッダのフォーマット部及びタイプ部が、PCI express規格のコンフィグレーションライトリクエストパケットと同一形式である。
請求項3に記載の情報処理装置は、請求項1または請求項2に記載の情報処理装置において、前記コンフィグレーション情報が、前記第1のコンフィグレーション情報及び前記第2のコンフィグレーション情報の何れであるかを示す生成パケット種別情報を含んでおり、前記パケット生成手段は、前記生成パケット種別情報が前記第1のコンフィグレーション情報である場合は前記生成パケット種別情報を含む前記アドレス設定用コンフィグレーションライトリクエストパケットを生成し、前記生成パケット種別情報が前記第2のコンフィグレーション情報である場合は前記生成パケット種別情報を含む前記変更設定用コンフィグレーションライトリクエストパケットを生成する。
請求項4に記載の情報処理装置は、請求項3に記載の情報処理装置において、前記アドレス変換手段は、前記生成パケット種別情報に基づいて、入力されたパケットが前記アドレス設定用コンフィグレーションライトリクエストパケットである場合は、前記変換回路によるアドレスの変換を行わずに、入力された前記アドレス設定用コンフィグレーションライトリクエストパケットを前記第1のデバイスに出力する。
請求項5に記載の情報処理装置は、請求項3または請求項4に記載の情報処理装置において、前記アドレス変換手段は、前記生成パケット種別情報に基づいて、入力されたパケットが前記変更設定用コンフィグレーションライトリクエストパケットである場合は、前記ベースアドレスレジスタを前記固有値が格納されたベースアドレスレジスタに変更する。
請求項6に記載の情報処理装置は、請求項1から請求項5のいずれか1項に記載の情報処理装置において、前記アドレス変換手段は、入力されたパケットのアドレスを変換して前記第1のデバイスに出力する第1のアドレス変換手段と、入力されたパケットのアドレスを変換して前記第2のデバイスに出力する第2のアドレス変換手段と、を含み、前記パケット生成手段は、生成した前記アドレス設定用コンフィグレーションライトリクエストパケットを前記第1のアドレス変換手段に出力すると共に、生成した変更設定用コンフィグレーションライトリクエストパケットを前記第2のアドレス変換手段に出力する。
本発明によれば、非PCIe規格のバスに接続されたデバイスをPCIeバスに接続されたデバイスとして使用するためのデバイスに応じた設定を行うことができる、という効果を奏する。
第1の実施の形態に係る情報処理装置の一例の概略構成図である。 PCIeのレイヤ構造を説明するための説明図である。 第1の実施の形態に係る識別アドレスを初期設定するデバイスに対する初期設定情報の具体的一例を説明するための説明図である。 第1の実施の形態に係るPCIeアドレス幅及びAHBオフセットアドレスを初期設定するデバイスに対する初期設定情報の具体的一例を説明するための説明図である。 第1の実施の形態に係る初期化設定パケットのヘッダの具体的一例を説明するための説明図である。 第1の実施の形態に係る変更設定パケットのヘッダの具体的一例を説明するための説明図である。 第1の実施の形態に係るPCIe・AHBアドレス変換部の一例の概略構成図である。 第1の実施の形態に係る初期設定処理の流れの一例を説明するためのフローチャートである。 一般的なコンフィグレーションライトリクエストパケットのヘッダの具体的一例を説明するための説明図である。 第1の実施の形態に係るPCIe・AHBアドレス変換部のその他の構成の一例の概略構成図である。 第2の実施の形態に係る情報処理装置の一例の概略構成図である。 第2の実施の形態に係るPCIe・AHBアドレス変換部の一例の概略構成図である。 第3の実施の形態に係る情報処理装置の一例の概略構成図である。 第3の実施の形態に係るPCIe・AHBアドレス変換部の一例の概略構成図である。 従来のPCIe・AHBアドレス変換部の構成の一例の概略構成図である。
[第1の実施の形態]
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1に、本実施の形態の情報処理装置10の概略構成の一例を示す。本実施の形態の情報処理装置10は、1例として、1つのチップ(図示省略)上に形成されたものである。
なお、本実施の形態では、情報処理装置10が、具体的一例として、AHBバスに接続されたデバイス20、20、及びデバイス22をPCIeバスに接続されたデバイスとして使用するための情報処理装置である場合について説明する。また、具体的一例として、デバイス20、20を、例えば、MACアドレス等の各々固有の識別アドレスを有するデバイスであり、かつ、デバイス20、20自身が当該固有の識別アドレスを認識していないデバイスとする。さらに、具体的一例として、デバイス22を、FPGA等のプログラム可能なデバイスであり、固有のアドレスの幅及びオフセットアドレス(内部メモリアドレスに依存するアドレス)を有するデバイスとする。
本実施の形態の情報処理装置10は、PCIeブリッジ(PCIe Bridge)部12、パケット作成部14、パケット分配部16、PCIe・AHBアドレス変換部18〜18、デバイス20、20を含んで構成されている。
PCIeブリッジ部12は、AHBバスに接続されたデバイスをPCIeベースのシステムに接続可能にするためにプロトコル変換を行うものである。PCIeブリッジ部12は、ルートコンプレックス4にPCIeバスにより接続さている。
ルートコンプレックス4は、CPU6のローカルバスとPCIeブリッジ部12との間を接続するためのホストブリッジデバイスである。また、ルートコンプレックス4は、PCIeブリッジ部12を介して、デバイス20、20、及びデバイス22との通信を実行する機能を有している。なお、他にPCIeバスに接続されたデバイス(エンドポイント)が有る場合は、ルートコンプレックス4は、CPU6のローカルデバイスと当該デバイスとの間を接続する。
CPU6は、情報処理装置10が搭載されたPC(図示省略)の動作を制御するプロセッサであり、図示を省略したメモリ等の記憶手段に記憶されているオペレーティングシステムやアプリケーションプログラム等の各種プログラムを実行する。
パケット作成部14は、ROM24に記憶されている初期設定情報(コンフィグレーション情報)に基づいて、デバイスに識別アドレスを認識させることにより当該デバイスを初期化するための初期化設定パケットまたは、PCIe・AHBアドレス変換部18〜18に含まれるベースアドレスレジスタ(詳細後述)の設定を変更するための変更設定パケットのいずれかを作成する。一般に、PCIeのプロトコルは、図2に示した物理層、データリンク層、トランザクション層の3層のレイヤ構造を有している。トランザクション層は、CPU6やデバイスから発行されたリクエスト(読み取り/書き込み要求)を受け取り、ヘッダ、データ、及びECRCを含むトランザクション層パケット(Transaction Layer Packet、以下、TLPと称す)化し、データリンク層に転送する。データリンク層は、PCIeリンク経由でのパケットの伝送を確実に行うために、データの整合性を維持する機能を有しており、トランザクション層から受け取ったTLPにシーケンス番号、LCRCを付加してデータリンク層パケット(Datalink Layer Packet、以下DLLPと称す)を作成して物理層に転送する。シーケンス番号は、全てのパケットが届いたか否かを、LCRCはパケットの中身が変わっていないかどうかを、パケットの受信側のデータリンク層で確認するためのものである。物理層は、データリンク層から受け取ったDLLPの先頭と末尾にフレーミングシンボルを付加し、パケットをシリアルデータとして転送する機能を有している。
トランザクション層は、メモリ空間、I/O空間、コンフィグレーション空間、及びメッセージ空間をサポートする。これにともない、TLPには、以下の4つのパケットがある。対向デバイスの制御信号や映像データ等のストリームデータ(信号)を送受信し、メモリに対する読み出し/書き込みを要求するメモリ(リード/ライト)リクエストパケット。主に対向デバイスの制御信号を受信し、I/Oに対する読み出し/書き込みを要求するI/O(リード/ライト)リクエストパケット。PCIe準拠の制御情報を送受信し、コンフィグレーション空間に対する読み出し/書き込みを要求するコンフィグレーション(リード/ライト)リクエストパケット。割り込みエラー情報、パワー制御等の管理情報を送受信するためのメッセージパケット。
パケット作成部14は、ROM24に記憶されている初期設定情報に基づいて、コンフィグレーションライトリクエストパケットと同様の形式の、初期化設定パケットまたは、変更設定パケットのいずれかを作成する。なお、初期化設定パケットが本発明のアドレス設定用コンフィグレーションライトリクエストパケットに対応し、変更設定パケットが本発明の変更設定用コンフィグレーションライトリクエストパケットに対応する。
ROM24は、情報処理装置10の外部に備えられており、デバイス20、20、及びデバイス22の各々に応じた初期設定情報が予め記憶されている。 デバイス20、20に対しては、デバイス20、20の識別アドレスに応じたAHBアドレス、及びAHBアドレスを含むことを示す情報(AE=10)を含んだ初期設定情報が、予めデバイス20、20のユーザにより記憶される。このようにAHBアドレス(識別アドレス)をデバイスに初期設定するための初期設定情報の具体的一例を図3に示す。なおAEが、本発明の生成パケット種別情報に対応する。図3に示した本実施の形態の初期設定情報は、一般的なコンフィグレーションライトリクエストパケットを生成するための情報(コンフィグレーション情報)に、当該初期設定情報が初期化設定パケットを生成するための情報(または初期化設定パケット自体)か、変更設定パケットを生成するための情報(または変更設定パケット自体)か、を示す「AE」(2ビット)と、AHBアドレスを表す「AHB_adr」(18ビット)と、が付加された64ビットのデータである。なお、本実施の形態では、AE=10の場合は初期化設定パケットを示し、AE=01の場合は変更設定パケットを示し、またAE=00、11の場合は通常の(初期化設定パケット及び変更設定パケットのいずれでもない)パケットを示している。
また、ROM24には、デバイス22に対しては、デバイス22に固有のPCIeアドレス幅及びAHBオフセットアドレスが格納されたBAR(BAR33、図7参照)のレジスタ番号、及びBAR33のレジスタ番号を含むことを示す情報(AE=01)を含んだ初期設定情報が、予めデバイス22をプログラミングしたユーザにより記憶される。このように、アドレス変換に用いるPCIeアドレス幅及びAHBオフセットアドレスをデバイス22の固有値に設定するための初期設定情報の具体的一例を図4に示す。図4に示した本実施の形態の初期設定情報は、一般的なコンフィグレーションライトリクエストパケットを生成するための情報(コンフィグレーション情報)に、当該初期設定情報が初期化設定パケットを生成するための情報(または初期化設定パケット自体)か、変更設定パケットを生成するための情報(または変更設定パケット自体)か、を示す「AE」(2ビット)と、BAR33のレジスタ番号「Register No.」(6ビット)と、が付加された64ビットのデータである。
さらに、ROM24は、デバイス20、20及びデバイス22以外の通常のデバイス(デバイス固有の識別アドレスを有していないデバイスや、PCIeアドレス幅及びAHBオフセットアドレスが固有値でない(規定値である)デバイス等)の場合や、使用しないデバイスの場合、デバイスの初期設定の終了を指示する場合は、AE=00またはAE=11の初期設定情報が記憶される。
パケット作成部14は、ROM24に記憶されている情報に基づいて、コンフィグレーションライトリクエストパケットのヘッダを変形し、ROM24に記憶されている初期設定情報が図3に示した初期化設定パケットを作成するための情報である場合は、図5に示した、PCIe規格に基づいた初期設定パケットを作成し、ROM24に記憶されている初期設定情報が図4に示した変更設定パケットを作成するための情報である場合は、図6に示した、PCIe規格に基づいた変更設定パケットを作成する。なお、初期化設定パケット及び変更設定パケットのフォーマット部及びタイプ部(何れも詳細後述)は、コンフィグレーションライトリクエストパケットのフォーマット部及びタイプ部と同一である。
また、パケット作成部14は、パケット分配部16に入力されるパケット入力先を切り替える機能を有している。ROM24から入力された初期設定情報がAE=00またはAE=11である場合は、パケット分配部16にPCIeブリッジ部12からパケットが入力されるように入力先を切り替える。
パケット分配部16は、入力されたパケットのバス番号(Bus No.)、デバイス番号(Device No.)、及びファンクション番号(Function No.)に基づいて、対応するPCIe・AHBアドレス変換部18〜18に入力されたパケットを出力する。
PCIe・AHBアドレス変換部18〜18は入力されたパケットのPCIeアドレスと、AHBアドレスと、を変換するものである。なお、PCIe・AHBアドレス変換部18〜18個々を区別する必要がない場合は、総称してPCIe・AHBアドレス変換部18と称し、個々を区別する場合は、個々を示す符号1〜3を付して称する。
PCIe・AHBアドレス変換部18の概略構成の一例を図7に示す。本実施の形態のPCIe・AHBアドレス変換部18は、出力先切替部30、BAR32、BAR33、及びPCIe・AHBアドレス変換回路34を含んで構成されている。
出力先切替部30は、入力されたパケットがAE=01、00、11の場合は、当該パケットをPCIe・AHBアドレス変換回路34に出力する。また、入力されたパケットがAE=10の場合は、当該パケットをPCIe・AHBアドレス変換回路34を介さずに、当該パケットが示すAHBアドレスに基づいてデバイス20またはデバイス20に出力する。
BAR32には、予め規定値のPCIe先頭アドレス、PCIeアドレス幅、及びAHBオフセットアドレスが格納されている。また、本実施の形態では、BAR33には、予め規定値のPCIe先頭アドレスが格納されていると共に、予めデバイス22のユーザにより、デバイス22に固有のPCIeアドレス幅及びAHBオフセットアドレスが格納される。
PCIe・AHBアドレス変換回路34は、入力されたパケットのPCIeアドレスと、AHBアドレスと、を、BAR32またはBAR33に格納されたPCIe先頭アドレス、PCIeアドレス幅、及びAHBオフセットアドレスに基づいて、AHBアドレス=PCIeアドレス−PCIe先頭アドレス+AHBオフセットアドレス(上述の式(3))により変換する。
次に、設定処理の流れにそって、各部の動作を詳細に説明する。図8に、本実施の形態の設定処理の一例のフローチャートを示す。なお、本設定処理は、電源投入時にCPU6がデバイス20、20及びデバイス22のリセットを行った後に、実行される。
ステップ100では、パケット作成部14とパケット分配部16とを接続させ、パケット分配部16にパケット作成部14で作成されたパケットが入力されるようにする。
次のステップ102では、パケット作成部14がROM24から初期設定情報を読み取り、次のステップ104では、パケット作成部14が読み取った初期設定情報のAE(AEに対応する部分)を調べる。AEがAE=00またはAE=11である場合は、ROM24に初期設定情報がないと判断されるため、デバイスに応じた設定処理を行わずに、ステップ118へ進む。一方、AE=01またはAE=10である場合は、ステップ106へ進む。
ステップ106では、パケット作成部14がステップ104で調べたAEの値に応じて初期化設定パケットまたは変更設定パケットを作成し、パケット分配部16に出力する。
AE=01の場合は、入力された初期設定情報が図4に示した情報であるため、通常のコンフィグレーションライトリクエストパケットのヘッダ部分を変形させた、変更設定パケットを作成する。通常のコンフィグレーションライトリクエストパケットを図9に示す。コンフィグレーションライトリクエストパケットのヘッダは12バイト(6ビット)で構成されており、Format部、Type部、R、TC、TD、EP、Attr、Length、Requester ID、Tag、Last DW BE、1st DW BE、Bus No.、Device No.、Function(Func)No.、Ext RegNo.、及びRegister No.を含んでいる。
Format(フォーマット)部及びType(タイプ)部は、TLPのレイアウトの種類、具体的には、メモリ(リード/ライト)リクエストパケット、I/O(リード/ライト)リクエストパケット、コンフィグレーション(リード/ライト)リクエストパケット、メッセージパケットのいずれであるかを指示する。TCは、トラフィック・クラス/VCサポートを指示する。TD及びEPは、エンド・ツー・エンドのデータ保全性を指示する。Attrは、属性:スヌープ、オーダリングを指示する。Lengthは、開始アドレスからデータの書き込みや読み出しを行っていくアドレス数を指示する。Requester IDは、デバイスに対する書き込み(write)や読み出し(read)等のリクエストを指示する。Tagは、トランザクションタグを指示する。Last DW BEは、最終DW BEを指示し、1st DW BEは、先頭DW BEを指示する。Bus No.は、バスの番号を指示し、Device No.は、デバイスの番号(本実施の形態ではPCIe・AHBアドレス変換部18の番号)を指示し、Func No.は、ファンクション番号を指示する。Ext Reg No.は拡張レジスタの番号を指示し、Register No.はPCIe・AHBアドレス変換部18でアドレスに変換するレジスタの番号を指示する。また、R(reserved)は、将来の拡張のための予約部分である。なお、図9に示したDataはヘッダに続くデータフィールドを表している。
パケット作成部14は、図9に示した通常のコンフィグレーションライトリクエストパケットのR部分が変形された状態の図6に示した変更設定パケットを作成する。図6に示した変更設定パケットは、具体的には、通常のコンフィグレーションライトリクエストパケットの3行目の+2バイトの7、6ビット目部分がAE=01に、3行目の+3バイトの2〜7ビット目部分がRegister No.に置き換えられている。Register No.は、デバイス固有値のPCIeアドレス幅及びAHBオフセットアドレスが格納されたレジスタを指示する。
また同様に、パケット作成部14は、AE=10の場合は、入力された初期設定情報が図3に示した情報であるため、通常のコンフィグレーションライトリクエストパケットのヘッダ部分を変形させた、初期化設定パケット(図5)を作成する。具体的には、通常のコンフィグレーションライトリクエストパケットの3行目の+2バイトの7、6ビット目部分がAE=10に、3行目の+2バイトの0から3バイト目及びプラス3バイトの2〜7ビット目部分がAHB addressに置き換えられている。AHB addressは、AHBバスに接続されたデバイス20の識別アドレスを指示する。
次のステップ108では、パケット分配部16がパケット作成部14から入力されたパケットのBus No.、Device No.、及びFunction No.に基づいて、対応するPCIe・AHBアドレス変換部18〜18に入力されたパケットを出力する。
次のステップ110では、パケット分配部16からパケットが入力されたPCIe・AHBアドレス変換部18の出力先切替部30がパケットのAEを調べ、次のステップ112でAE=01の場合は、ステップ114へ進む。
本実施の形態では、ステップ114では、PCIe・AHBアドレス変換部18でアドレス変換に用いるBARをBAR32からBAR33に変更するよう設定する。なお、本実施の形態では、アドレス変換に用いるPCIeアドレス幅及びAHBオフセットアドレスをデバイス22の固有値に設定する方法として、当該固有値を格納したBAR33をコンフィグレーション空間に予め用意しておき、アドレス変換に用いるBARを、BAR32からBAR33に変更する設定を行うものとしている。なお、当該方法に限らず、例えば、図10に示すように、固有値であるPCIeアドレス幅及びAHBオフセットアドレスをコンフィグレーション空間に用意しておき、パケットで指示したBAR(BAR32)に例えば、書き換える等して設定するようにしてもよい。またさらに、例えば、固有値であるPCIeアドレス幅及びAHBオフセットアドレスを含む変更設定パケットをパケット作成部14で作成し、PCIe・AHBアドレス変換部18において、BAR32に格納されているPCIeアドレス幅及びAHBオフセットアドレスを固有値であるPCIeアドレス幅及びAHBオフセットアドレスに例えば、書き換える等して設定するようにしてもよい。
これにより、デバイス22の固有値であるPCIeアドレス幅及びAHBオフセットアドレスを用いて、適切なアドレス変換を行えるようになる。
ステップ114でBARを設定した後、ステップ102に戻る。
一方、ステップ112でAE=10の場合は、ステップ116へ進んでデバイス20またはデバイス20の内部メモリにAHBアドレスを書き込んだ後、ステップ118へ進む。
ステップ116では、デバイス20またはデバイス20の内部メモリに当該デバイス20またはデバイス20(自分自身)の固有の識別アドレスを書き込む。ステップ112でAE=10の場合は、初期化設定パケットが出力先切替部30からPCIe・AHBアドレス変換回路34を介せずにデバイス20またはデバイス20に出力され、パケットが入力されたデバイス20またはデバイス20の内部メモリにパケットが指示するAHB addressが書き込まれる。
これによりデバイス20またはデバイス20は、識別アドレスを認識可能になるため、AHBバスを介してパケットを送受信できるようになる。
ステップ116でデバイス20またはデバイス20の内部メモリにAHBアドレスを書き込んだ後、ステップ102に戻る。
ステップ102で、AE=00またはAE=11と判定した後のステップであるステップ118では、パケット作成部14とパケット分配部16とを切り離し、パケット分配部16とPCIeブリッジ部12とを接続した後、本処理を終了する。ステップ114またはステップ116の処理により初期設定が完了したため、これにより、以降のパケットがPCIeブリッジ部12からパケット分配部16に出力されるようになる。
すなわち、本実施の形態では、AHBバスにデバイス20またはデバイス20が接続されている場合は、ROM24に図3の初期設定情報が記憶されており、ステップ102で当該初期設定情報を読み取って、ステップ106でパケット作成部14が初期化設定パケットを作成し、ステップ108でパケット分配部16が対応するPCIe・AHBアドレス変換部18またはPCIe・AHBアドレス変換部18に出力し、出力先切替部30が初期化設定パケットをデバイス20またはデバイス20に出力し、ステップ116ではデバイス20またはデバイス20の内部メモリにAHB addressが書込まれる。
また、AHBバスにデバイス22が接続されている場合は、ROM24に図4の初期設定情報が記憶されており、ステップ102で当該初期設定情報を読み取って、ステップ106でパケット作成部14が変更設定パケットを作成し、ステップ108でパケット分配部16が対応するPCIe・AHBアドレス変換部18に出力し、ステップ114では、BAR32をデバイス22の固有PCIeアドレス幅及びAHBオフセットアドレスが格納されているBAR33に設定する。
なお、本実施の形態では、AE=01の場合に変更設定パケットを作成し、AE=10の場合に初期化設定パケットを作成し、AE=00、11の場合に本処理を終了し、通常のパケットとして処理しているがAEの値と処理内容との関係はこれに限らない。予め定めておけばよく、例えば、AE=01の場合とAE=10の場合を逆にしてもよい。なお、ROM24から情報処理装置10に初期設定情報が入力される入力端子を入力の安定化のためプルアップしておく場合には、AE=11の場合に本処理を終了するようにしておくことにより、情報処理装置10(パケット作成部14)がAE=11を終了条件とみなすため、自動的に処理を終了する仕組みを実現できる。同様に、入力端子を入力の安定化のためプルダウンしておく場合には、AE=00の場合に本処理を終了するようにしておくことにより、情報処理装置10(パケット作成部14)がAE=00を終了条件とみなすため、自動的に処理を終了する仕組みを実現できる。
また、本実施の形態の初期化設定パケットでは、AHB addressの指示に10ビットを使用しているが、使用できるビット数はこれに限定されない。Tag指定の部分や、その他のR部分を使用することにより、使用できるビット数を増やすことができる。また、同様に、本実施の形態の変更設定パケットでは、Register No.の指示に6ビットを使用しているが、使用できるビット数はこれに限定されない。Tag指定の部分や、その他のR部分を使用することにより、使用できるビット数を増やすことができる。
また、本実施の形態では、非PCIeバスがAHBバスの場合について説明したがこれに限らず、その他の非PCIeバスであっても同様に初期化設定パケットを作成してデバイスに識別アドレスを設定し、変更設定パケットを作成してBARにデバイス固有のPCIeアドレス幅及びAHBオフセットアドレスを設定することができる。
また、PCIe・AHBアドレス変換部18の数や、デバイス20、20、デバイス22の数はPCIe規格の範囲内であれば本実施の形態に限定されない。
なお、本実施の形態では、非PCIeバスに接続された、固有の識別アドレスを有するデバイス20、20と、固有のPCIeアドレス幅及びAHBオフセットアドレスを有するデバイス22と、をPCIeバスに接続されたデバイスとして使用する場合の初期設定を行う情報処理装置10について詳細に説明したが、これに限らず、いずれか一方の種類のデバイスのみをPCIeバスに接続されたデバイスとして使用する場合の初期設定を行う情報処理装置であってもよい。
例えば、図11に示す第2の実施の形態のように、非PCIeバスに接続された、固有の識別アドレスを有するデバイスをPCIeバスに接続されたデバイスとして使用する場合の初期設定を行う情報処理装置50のように構成してもよい。この場合、デバイス20〜20は全て、固有の識別アドレスを有するデバイスであり、ROM54には例えば、AE=01、10の場合に初期化設定パケットを生成する初期設定情報のみが予め記憶されており、パケット作成部14に対応する初期化設定パケット作成部52が初期化設定パケットのみを作成し、出力する。PCIe・AHBアドレス変換部56〜56は図12に示した概略構成を有している。
また例えば、図13に示す第3の実施の形態のように、非PCIeバスに接続された、固有のPCIeアドレス幅及びAHBオフセットアドレスを有するデバイスをPCIeバスに接続されたデバイスとして使用する場合の初期設定を行う情報処理装置60のように構成してもよい。この場合、デバイス22〜22は全て、固有のPCIeアドレス幅及びAHBオフセットアドレスを有するデバイスであり、ROM64には例えば、AE=01、10の場合に変更設定パケットを生成する初期設定情報のみが予め記憶されており、パケット作成部14に対応する初期変更設定パケット作成部62が変更設定パケットのみを作成し、出力する。PCIe・AHBアドレス変換部66〜66は図14に示した概略構成を有している。
以上説明したように、本実施の形態の情報処理装置10は、CPU6によりデバイスのリセットを行った後の初期設定時に、パケット作成部14がROM24に予め記憶されている初期設定情報を読み取る。読み取った初期設定情報のAE値が初期化設定パケットを作成するための初期設定情報であることを示している場合は、初期化設定パケットを作成し、AE値が変更設定パケットを作成するための初期設定情報であることを示している場合は、変更設定パケットを作成し、パケット分配部16に出力する。パケット分配部16は、入力された初期化設定パケットまたは変更設定パケットを対応するPCIe・AHBアドレス変換部18〜18に出力する。PCIe・AHBアドレス変換部18、18では、初期化設定パケットが入力されると、出力先切替部30により入力された初期化設定パケットをパケットが示すAHBアドレスのデバイス(デバイス20、20)に出力し、各デバイス20、20では、固有の識別アドレスが内部メモリに書き込まれる。
これにより、デバイス20、20がデータの送受信を行うことができるようになる。従って、AHBバスに接続された固有の識別アドレスを有するデバイス20、20をPCIeバスに接続されたデバイスとして使用することができる。
また、PCIe・AHBアドレス変換部18では、変更設定パケットが入力されると、アドレス変換に用いるPCIeアドレス幅及びAHBオフセットアドレスをデバイス20の固有値に設定するために、BAR32からBAR33に変更するよう設定する。
これにより、デバイス20のアドレス変換をPCIe・AHPアドレス変換回路34において適切に行うことができるようになる。従って、AHBバスに接続された固有の識別アドレスを有するデバイス20をPCIeバスに接続されたデバイスとして使用することができる。
また本実施の形態の情報処理装置10では、上述のように、パケット作成部14がコンフィグレーションライトリクエストパケットを変形させた、コンフィグレーションライトリクエストパケットと同様の形式の初期化設定パケット及び変更設定パケットの何れかを作成することにより、デバイス20、20及びデバイス20に対応することができる。すなわち、共通のハードにより、異なる種類のデバイスの初期設定を行うことができるため、初期設定を行うハード(回路)を別々に設ける場合に比べて、PCIe接続の周辺回路の回路規模を小さくすることができ、また、低コストで作成することができる。
このように本実施の形態では、通常のコンフィグレーションライトリクエストパケットのR部分を変形して初期化設定パケット及び変更設定パケットを作成するため、具体的には、初期化設定パケット及び変更設定パケットのフォーマット部及びタイプ部が通常のコンフィグレーションライトリクエストパケットと同一であるため、パケット分配部16では、通常のコンフィグレーションライトリクエストパケットと同様に処理することができる。本実施の形態のパケット分配部16では、R=0の場合に通常のコンフィグレーションライトリクエストパケットと判断し、AE部分に1が指示されている場合に、通常のパケットではないと判断している。
また、通常のコンフィグレーションライトリクエストパケットのR部分を変形しているのみなので、通常のコンフィグレーションライトリクエストパケットによるコンフィグレーション空間への設定動作に影響を与えることがない。
一般に、PCIeでは、コンフィグレーションレジスタを設定しなければ、デバイスのアドレスマップが確定しない。すなわち、初期状態では、コンフィグレーションライトリクエストパケット以外のパケットが使用できない状態にある。本実施の形態では、コンフィグレーションライトリクエストパケットを使用して初期設定を行うため、デバイスのアドレスマップが確定していない初期状態であっても、デバイスに固有の識別アドレスを設定したり、PCIe・AHBアドレス変換部にデバイス固有のPCIeアドレス幅及びAHBオフセットアドレスを設定したりすることができる。これにより、複数のデバイスの初期化を共通の仕組みにより実現できるため、初期化を実現する装置(初期化回路)を各デバイス毎に設ける場合に比べて、情報処理装置の入出力端子を少なくすることができ、装置(チップ)の規模を小さくすることができる
10、50、60 情報処理装置
14 パケット作成部 (パケット生成手段)
16 パケット分配部
18、56、66 PCIe・AHBアドレス変換部 (アドレス変換手段)
18、18、56〜56 (第1のアドレス変換手段)
18、66〜66 (第2のアドレス変換手段)
20 デバイス (第1のデバイス)
22 デバイス (第2のデバイス)
24、54、64 ROM (記憶手段)
30、58、68 出力先切替部
32、33 ベースアドレスレジスタ
34 PCIe・AHPアドレス変換回路 (変換回路)
52 初期化設定パケット作成部 (パケット生成手段)
62 変更設定パケット作成部 (パケット生成手段)

Claims (6)

  1. データを送受信するバスのアドレス幅及びデバイスの内部メモリアドレスに関する情報を含むアドレス変換情報が格納されたベースアドレスレジスタと、前記ベースアドレスレジスタに格納されているアドレス変換情報に基づいて、入力されたパケットのPCI express規格のバスアドレスを、非PCI express規格のバスアドレスに変換する変換回路と、を有するアドレス変換手段と、
    デバイス固有の固有アドレスを有し、かつ、前記固有アドレスを認識していない、非PCI express規格のバスに接続された第1のデバイスの、前記固有アドレスを含むPCI express規格に基づく第1のコンフィグレーション情報が予め記憶手段に記憶されている場合に、前記第1のデバイスに前記固有アドレスを認識させるための前記固有アドレスを含む、アドレス設定用コンフィグレーションライトリクエストパケットを前記記憶手段に記憶されたコンフィグレーション情報に基づいて生成し、前記ベースアドレスレジスタを、アドレス幅及び内部メモリアドレスの少なくとも一方がデバイス固有の固有値である、非PCI express規格のバスに接続された第2のデバイスの前記固有値が格納されたベースアドレスレジスタに変更させるための変更情報を含む、PCI express規格に基づく第2のコンフィグレーション情報が予め記憶手段に記憶されている場合に、前記変更情報を含む変更設定用コンフィグレーションライトリクエストパケットを前記記憶手段に記憶されたコンフィグレーション情報に基づいて生成する、前記アドレス変換手段に出力するパケット生成手段と、
    を備えた情報処理装置。
  2. 前記アドレス設定用コンフィグレーションライトリクエストパケット及び前記変更設定用コンフィグレーションライトリクエストパケットは、ヘッダのフォーマット部及びタイプ部が、PCI express規格のコンフィグレーションライトリクエストパケットと同一形式である、請求項1に記載の情報処理装置。
  3. 前記コンフィグレーション情報が、前記第1のコンフィグレーション情報及び前記第2のコンフィグレーション情報の何れであるかを示す生成パケット種別情報を含んでおり、前記パケット生成手段は、前記生成パケット種別情報が前記第1のコンフィグレーション情報である場合は前記生成パケット種別情報を含む前記アドレス設定用コンフィグレーションライトリクエストパケットを生成し、前記生成パケット種別情報が前記第2のコンフィグレーション情報である場合は前記生成パケット種別情報を含む前記変更設定用コンフィグレーションライトリクエストパケットを生成する、請求項1または請求項2に記載の情報処理装置。
  4. 前記アドレス変換手段は、前記生成パケット種別情報に基づいて、入力されたパケットが前記アドレス設定用コンフィグレーションライトリクエストパケットである場合は、前記変換回路によるアドレスの変換を行わずに、入力された前記アドレス設定用コンフィグレーションライトリクエストパケットを前記第1のデバイスに出力する、請求項3に記載の情報処理装置。
  5. 前記アドレス変換手段は、前記生成パケット種別情報に基づいて、入力されたパケットが前記変更設定用コンフィグレーションライトリクエストパケットである場合は、前記ベースアドレスレジスタを前記固有値が格納されたベースアドレスレジスタに変更する、請求項3または請求項4に記載の情報処理装置。
  6. 前記アドレス変換手段は、入力されたパケットのアドレスを変換して前記第1のデバイスに出力する第1のアドレス変換手段と、入力されたパケットのアドレスを変換して前記第2のデバイスに出力する第2のアドレス変換手段と、を含み、
    前記パケット生成手段は、生成した前記アドレス設定用コンフィグレーションライトリクエストパケットを前記第1のアドレス変換手段に出力すると共に、生成した変更設定用コンフィグレーションライトリクエストパケットを前記第2のアドレス変換手段に出力する、請求項1から請求項5のいずれか1項に記載の情報処理装置。
JP2009175706A 2009-07-28 2009-07-28 情報処理装置 Active JP5374268B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009175706A JP5374268B2 (ja) 2009-07-28 2009-07-28 情報処理装置
US12/832,581 US8135873B2 (en) 2009-07-28 2010-07-08 Information processing device for performing information exchange between a PCI express bus and a non-PCI express bus interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009175706A JP5374268B2 (ja) 2009-07-28 2009-07-28 情報処理装置

Publications (2)

Publication Number Publication Date
JP2011028650A JP2011028650A (ja) 2011-02-10
JP5374268B2 true JP5374268B2 (ja) 2013-12-25

Family

ID=43528054

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009175706A Active JP5374268B2 (ja) 2009-07-28 2009-07-28 情報処理装置

Country Status (2)

Country Link
US (1) US8135873B2 (ja)
JP (1) JP5374268B2 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110080524A (ko) * 2010-01-06 2011-07-13 삼성전자주식회사 프로토콜 인터페이스 변환장치 및 방법
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US8615586B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Discovery of logical images at storage area network endpoints
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8832331B2 (en) 2011-08-29 2014-09-09 Ati Technologies Ulc Data modification for device communication channel packets
WO2014005261A1 (zh) * 2012-07-02 2014-01-09 杭州华为数字技术有限公司 存储扩展装置及服务器
US9390042B2 (en) * 2012-07-03 2016-07-12 Nvidia Corporation System and method for sending arbitrary packet types across a data connector
US9830289B2 (en) 2014-09-16 2017-11-28 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US9971397B2 (en) 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
KR102358177B1 (ko) 2015-12-24 2022-02-07 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
US11082043B2 (en) 2014-10-28 2021-08-03 SK Hynix Inc. Memory device
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
KR102260369B1 (ko) 2014-10-28 2021-06-03 에스케이하이닉스 주식회사 보정 회로 및 이를 포함하는 보정 장치
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
KR102515924B1 (ko) * 2016-04-19 2023-03-30 에스케이하이닉스 주식회사 미디어 컨트롤러 및 이를 포함한 데이터 저장 장치
US9747245B2 (en) * 2014-12-17 2017-08-29 Intel Corporation Method, apparatus and system for integrating devices in a root complex
US10042794B2 (en) 2015-06-12 2018-08-07 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US10085214B2 (en) 2016-01-27 2018-09-25 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US10572390B2 (en) 2016-02-29 2020-02-25 Apple Inc. Methods and apparatus for loading firmware on demand
US10198364B2 (en) * 2016-03-31 2019-02-05 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US10591976B2 (en) 2016-11-10 2020-03-17 Apple Inc. Methods and apparatus for providing peripheral sub-system stability
US10775871B2 (en) 2016-11-10 2020-09-15 Apple Inc. Methods and apparatus for providing individualized power control for peripheral sub-systems
US10346226B2 (en) 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US10331612B1 (en) 2018-01-09 2019-06-25 Apple Inc. Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
US10430352B1 (en) 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
US10585699B2 (en) 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
US10719376B2 (en) 2018-08-24 2020-07-21 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US10838450B2 (en) 2018-09-28 2020-11-17 Apple Inc. Methods and apparatus for synchronization of time between independently operable processors
US10789110B2 (en) 2018-09-28 2020-09-29 Apple Inc. Methods and apparatus for correcting out-of-order data transactions between processors
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11954540B2 (en) 2020-09-14 2024-04-09 Apple Inc. Methods and apparatus for thread-level execution in non-kernel space
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
CN114860343B (zh) * 2022-05-26 2024-03-26 苏州浪潮智能科技有限公司 加速卡速率调整方法、***、终端及存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2999089B2 (ja) * 1993-05-10 2000-01-17 株式会社日立製作所 通信制御装置の2重化システム
JP3698959B2 (ja) * 2000-06-09 2005-09-21 エヌイーシーコンピュータテクノ株式会社 情報処理装置
JP2002318779A (ja) * 2001-04-18 2002-10-31 Nec Computertechno Ltd デバイス装置とそのレジスタのアクセス方法
US7366882B2 (en) * 2001-05-10 2008-04-29 Zohair Sahraoui Address calculation unit for an object oriented processor having differentiation circuitry for selectively operating micro-instructions
US20030093604A1 (en) * 2001-11-14 2003-05-15 Lee Terry Ping-Chung Method of error isolation for shared PCI slots
JP2003263400A (ja) * 2002-03-08 2003-09-19 Fujitsu Ltd データ処理装置、データ処理システムおよびアクセス領域制御方法
US6799261B2 (en) * 2002-06-28 2004-09-28 Motorola, Inc. Memory interface with fractional addressing
US6931457B2 (en) * 2002-07-24 2005-08-16 Intel Corporation Method, system, and program for controlling multiple storage devices
JP4472646B2 (ja) * 2006-02-10 2010-06-02 エヌイーシーコンピュータテクノ株式会社 システム制御装置、システム制御方法及びシステム制御プログラム
JP4902570B2 (ja) 2007-04-10 2012-03-21 株式会社リコー 画像処理コントローラ及び画像処理装置
JP5108578B2 (ja) * 2007-05-14 2012-12-26 株式会社リコー 画像処理コントローラ及び画像形成装置
US7752360B2 (en) * 2007-05-16 2010-07-06 Nuova Systems, Inc. Method and system to map virtual PCIe I/O devices and resources to a standard I/O bus
JP5168541B2 (ja) 2007-09-14 2013-03-21 株式会社リコー データ転送装置

Also Published As

Publication number Publication date
US8135873B2 (en) 2012-03-13
JP2011028650A (ja) 2011-02-10
US20110029696A1 (en) 2011-02-03

Similar Documents

Publication Publication Date Title
JP5374268B2 (ja) 情報処理装置
JP4928732B2 (ja) データ転送システム及び電子機器
US8223745B2 (en) Adding packet routing information without ECRC recalculation
US7424566B2 (en) Method, system, and apparatus for dynamic buffer space allocation
US7356636B2 (en) Virtualized PCI switch
US7813362B2 (en) Communication apparatus, electronic apparatus, imaging apparatus
US7096308B2 (en) LPC transaction bridging across a PCI—express docking connection
US7945721B1 (en) Flexible control and/or status register configuration
US8291146B2 (en) System and method for accessing resources of a PCI express compliant device
US7752376B1 (en) Flexible configuration space
CN104641360A (zh) 对存储器及对等设备的双播PCIe入站写入
JP4564855B2 (ja) データ転送システム及び電子機器
JP2019164486A (ja) 情報処理システム、情報処理方法及びメモリシステム
US20160350250A1 (en) Input output data alignment
US20030065868A1 (en) Distributed peer-to-peer communication for interconnect busses of a computer system
US7660926B2 (en) Apparatus and method for a core for implementing a communications port
JP2007065847A (ja) 情報処理システム、プログラムおよびデータ転送方法
JP2007226494A (ja) データ転送システム
JP2005332316A (ja) データ分配装置、データ転送装置及び画像処理装置
JP2005332372A (ja) 画像処理装置及び画像形成装置
JP2005166028A (ja) データ転送システム、画像形成システム及びデータ転送方法
JP2007265108A (ja) バスブリッジ
JP2007062076A (ja) 情報処理システム、プログラムおよびデータ転送方法
TWI240859B (en) Error forwarding in an enhanced general input/output architecture and related methods
Nassar et al. Design and simulation of a pci express based embedded system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130618

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130815

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130920

R150 Certificate of patent or registration of utility model

Ref document number: 5374268

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150