徹底 解説 第 9回 内藤 竜治 トランザクション層の概要 今回は,トランザクション層の概要とトランザクション層パケット(TLP)の構成について説明する.トランザク ション層では,TLPを使用して,メモリのリードやライト,イベント通知などのトランザクション処理を行う. (編集部) ④(オプションで)エンド・ツー・エンドでのデータ整 今回から数回にわたってトランザクション層の設計を行 合性をチェックする います.トランザクション層の目的は TLP(トランザク ション層パケット)と呼ばれるパケットをやりとりして, という動作を行います.いわば,従来の PCI でサポートさ メモリのリードやライト,イベント通知などのトランザク れていたような,メモリやコンフィグレーション空間への ションを処理することです. アクセスと互換性のある動作を提供します. これらはユーザから見えるデータのやりとりですが,こ ● トランザクションとは のほかにもトランザクション層にはフロー・コントロール PCI Express では,トランザクションという単位でデー や電源管理,QoS(Quality of Service)など,ユーザからは タの転送します.これは,リクエスタ(要求を出す側)とコ 見えない地味な機能もあります. ンプリータ(完了させる側)との間で転送される一連のパ ケットのやりとりのことです. PCI Express では,3 種類のアドレス空間(メモリ空間, 1.トランザクション層の概要 I/O 空間,コンフィグレーション空間)とメッセージ空間 図 1 に示すように,トランザクション層は PCI Express が定義されています.そして,それぞれの空間に対してト のアーキテクチャの最上位に位置づけられています.トラ ランザクション(メモリ,I/O,コンフィグレーション,お ンザクション層は,ソフトウェア層(あるいはデバイス・ よびメッセージ)が定義されています(表 1) .メモリや I/O, コアと呼ばれる)から指令を受けて TLP を生成し,データ コンフィグレーション空間へのアクセスには,リードとラ リンク層を介して相手に送ります.つまり, イトが,メッセージにはベース・ライン注 1 というトランザ ①デバイス・コアからの要求に従って TLP を生成する クションが定義されています. 表 1 では,メモリ・ライトとメッセージ・トランザク ②何らかのリクエスト TLP を受信したら,解読して,デ バイス・コアに要求を伝える ③コンプリーション TLP を受信したら,ペイロードや ステータスを取り出して,デバイス・コアに伝える 注 1 :ベース・ラインという用語には適切な訳が見つからないので,このま ま用いた. 表 1 PCI Express のトランザクションの種類 ソフトウェア層 対象となるアドレス空間 トランザクション層 メモリ PCI Expressの 3階層 データリンク層 I/O 物理層 コンフィグレーション 図 1 トランザクション層の位置 Dec. 2009 メッセージ (ベンダ定義を含む) トランザクションのタイプ リード NonPosted ライト Posted リード NonPosted ライト NonPosted リード NonPosted ライト NonPosted ベース・ライン Posted (ベンダ定義を含む) 基本的な用途 メモリ空間へのデータ転送 I/O 空間へのデータ転送 デバイスのコンフィグレーションと セットアップ イベント発生の通知と 汎用的なメッセージ伝達 KEYWORD ――トランザクション層,TLP(トランザクション層パケット),コンプリーション,ECRC, トランザクション記述子,メモリ・リクエスト,I/O リクエスト,コンフィグレーション・リクエスト 159
© Copyright 2024 Paperzz