トークン・スレッディングとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > トークン・スレッディングの意味・解説 

トークン・スレッディング

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/16 19:11 UTC 版)

スレッデッドコード」の記事における「トークン・スレッディング」の解説

トークン・スレッデッドコードは8ビット12ビットインデックスリスト使用し、このインデックスはポインタテーブルのインデックスとなっている。トークン・スレッデッドコードはプログラマ特別に努力しなくても非常にコンパクトになる。トークン・スレッデッドコードは他のスレッデッドコード半分から4分の3大きさで、スレッデッドコード一般に普通にコンパイルされたコード4分の1から8分の1大きさである。ポインタテーブル内のポインタ直接場合と間接の場合がある。一部Forthコンパイラはトークン・スレッデッドコードを生成する一部Pascalコンパイラ生成するPコードをトークン・スレッデッドコードに分類する場合もあり、同様に.NET/Java/BASIC/一部のCコンパイラ使用するバイトコードもトークン・スレッディングだと言われることがあるバイトコード歴史的に8ビット命令コード使用しスタックに基づく仮想機械実行される典型的なインタプリタデコード&ディスパッチ・インタプリタと呼ばれ次のような形式である。 bytecode: top: pushA: pushB: add: 0 /*pushA*/ i = decode(vpc++) *sp++ = A *sp++ = B *sp++ = *--sp + *--sp 1 /*pushB*/ addr = table[i] jump top jump top jump top 2 /*add*/ jump *addr 仮想機械1バイト命令し使わない場合decode() は単に bytecode から1つフェッチするだけだが、1バイト命令基本として多バイト命令も持つ場合があり、そのときdecode() がさらに複雑になる1バイト命令コードデコードは非常に単純で、命令コードインデックスとしてジャンプテーブル参照するだけでよい。 各命令の行う操作演算は "push" や "add" などのように単純で、それらを実際に実行するコストよりもどれを実行するかを選択するオーバーヘッドの方が大きい。そのためこのようなインタプリタ単純に機械語コード実行するよりも遅いことが多い。しかし、命令処理内容がより複雑になれば、オーバーヘッド割合小さくなる

※この「トークン・スレッディング」の解説は、「スレッデッドコード」の解説の一部です。
「トークン・スレッディング」を含む「スレッデッドコード」の記事については、「スレッデッドコード」の概要を参照ください。

ウィキペディア小見出し辞書の「トークン・スレッディング」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「トークン・スレッディング」の関連用語

トークン・スレッディングのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



トークン・スレッディングのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのスレッデッドコード (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS