@techreport{oai:ipsj.ixsq.nii.ac.jp:00107138, author = {伊東, 光希 and 川村, 一志 and 柳澤, 政生 and 戸川, 望 and 田宮, 豊 and Koki, Ito and Kazushi, Kawamura and Masao, Yanagisawa and Nozomu, Togawa and Yutaka, Tamiya}, issue = {39}, month = {Nov}, note = {TCP/IP オフロードエンジンのパケット解析や動画データエンコード・デコード回路のストリームデータ処理に見られるように,動的にフィールド位置が変わるデータから一部のデータを効率良く取り出す処理が必要となる.これは入出力となるレジスタを多数のマルチプレクサを用いて接続することによって実現されるが,入出力レジスタのバイト長が増大すると,必要となるマルチプレクサ数も増大し,いかにマルチプレクサ数を削減するかが大きな課題となる.マルチプレクサを用いて,M バイト長データを収めるレジスタの任意オフセットから連続した N バイトを読み出す回路をフィールドデータ抽出器と呼ぶ.本稿では,入出力レジスタの接続に仮想中間レジスタを設けることで,マルチプレクサ木の段数を変えずにマルチプレクサ数を削減する回路構成を提案する.また,マルチプレクサ数が最小となるような仮想中間レジスタサイズを定める手法も提案する.提案手法を論理合成して評価したところ,仮想中間レジスタを設ける前と比べてゲート数が最大 92%削減できることを確認した., As seen in packet analysis of TCP/IP offload engine and stream data processing of encoder/decoder for video data, it is often necessary to extract a part of data from data changed field dynamically , where we can use a field-data extractor. Particularly, an (M, N) field-data extractor reads out any consecutive AT bytes from an M-byte register by connecting its input/output using multiplexers. However, the number of required multiplexers increases too much as the input/output byte lengths increase. How to reduce the number of its required multiplexers is a major challenge. In this paper, we propose an efficient multiplexer-tree configuration method for an (M, N) field-data extractor. Our method is based on inserting a (N + B - 1)-byte virtual intermediate-register into a multiplexer tree and partitioning it into an upper tree and a lower tree. Then our method theoretically reduces the number of required multiplexers without increasing the multiplexer-tree depth. We also propose how to determine the size of the virtual intermediate-register that minimizes the number of required multiplexers. Experimental results show that our method reduces the required number of gates to implement a field-data extractor by up to 92% compared with the one using a naive multiplexer-tree configuration.}, title = {マルチプレクサ木分割によるフィールドデータ抽出器の構成手法}, year = {2014} }