ハイブリッド‐ほうしき〔‐ハウシキ〕【ハイブリッド方式】
ハイブリッド方式
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/02/10 20:03 UTC 版)
純粋なスタックマシンは、構造を持つデータオブジェクトの複数のフィールドにアクセスするのが不得意である。スタックマシンでは、オブジェクトのベースアドレスとフィールドのオフセットからアドレスを計算しなおして、ポインタをスタック上に置きなおす必要がある。一般的な対処方法としては、レジスタマシンの一部機能をスタックマシンに取り入れ、アドレス格納用にソフトウェアから見えるレジスタファイルを用意し、レジスタマシン風の命令でロードや単純なアドレス計算を行う。なお、レジスタファイルを汎用なものにするとスタックマシンである積極的な理由がなくなってしまう。 もう1つの一般的なハイブリッド方式として、レジスタマシンのアーキテクチャを出発点とし、スタックマシンでのプッシュおよびポップをエミュレートする操作を追加する方式がある。この方式をポピュラーなものにしたのは、DECのPDP-11ミニコンピュータである。これがVAXに受け継がれ、MC6800やMC68000といったマイクロプロセッサにも採用された。これにより初期のコンパイラでスタックを簡単に扱えるようになった。また、スタックインタプリタまたはスレッデッドコードを使って仮想機械を効率的にサポートする。ただし、これによってレジスタマシンのコードが純粋なスタックマシンほどコンパクトになるわけではない。このようなハイブリッド方式のマシンで、スタックマシンのように頻繁にプッシュやポップを行うと性能は悪くなる。スタック操作はプロシージャコールの際にのみ行う方がよく、当然ながらメモリ参照せずにレジスタのみで処理するのが最善である。 第2世代スタックマシンと呼ばれるものは、データスタックからメモリアドレッシングの処理を肩代わりするアドレスレジスタ群を備えている。例えば、MuP21は "A" というレジスタを持っており、もっと最近の GreenArrays のプロセッサは A と B という2つのレジスタを持っている。 x86ファミリは基本的にレジスタ指向の命令セットだが、初期は外付けされ、後には内蔵・一体化された、浮動小数点関係のx87命令と浮動小数点レジスタは、スタック(マシン)指向である。これも一種のハイブリッドと言えよう。これは初期(1980年代)に、命令空間やチップ面積を節約する必要があったためである。現代の64ビット化されたx86であるx64では、(互換のために従来のFPUも残されているが)通常使用されるSSEの浮動小数点関係の命令も全てレジスタ指向の命令(レジスタ指向のSIMD命令)となっている。
※この「ハイブリッド方式」の解説は、「スタックマシン」の解説の一部です。
「ハイブリッド方式」を含む「スタックマシン」の記事については、「スタックマシン」の概要を参照ください。
ハイブリッド方式
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/08 16:30 UTC 版)
「スペクトラム拡散」の記事における「ハイブリッド方式」の解説
ハイブリッド方式はDSを行い、さらにFHを行う方式。必要な演算処理量は増えるがDSの重なりを半分行った後でFHを行うと、処理利得が3dB向上する。処理利得は、拡散帯域幅/送信データの帯域幅で表される。
※この「ハイブリッド方式」の解説は、「スペクトラム拡散」の解説の一部です。
「ハイブリッド方式」を含む「スペクトラム拡散」の記事については、「スペクトラム拡散」の概要を参照ください。
- ハイブリッド方式のページへのリンク