コールスタックとスタックフレームを使ったコンピュータとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > コールスタックとスタックフレームを使ったコンピュータの意味・解説 

コールスタックとスタックフレームを使ったコンピュータ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/02/10 20:03 UTC 版)

スタックマシン」の記事における「コールスタックとスタックフレームを使ったコンピュータ」の解説

詳細は「コールスタック」を参照 現代のほとんどのコンピュータ命令セット問わない)とほとんどのコンパイラは、メモリ上のコールスタック局所変数格納場所およびサブルーチンからの復帰のための情報格納使っている。サブルーチンコールのたびに「スタックフレーム」をコールスタック上に作り、そのサブルーチンから呼び出し側に復帰するまで対応するスタックフレーム維持されるコールスタック特別なアドレスレジスタなどを使ってハードウェア管理する場合もある。あるいは、コンパイラ呼出規約によって特定の汎用レジスタコールスタック理に使う場合もある。 一般にコンピュータは、大域変数その時点で実行中のプロシージャまたは関数局所変数への効率的アクセス手段提供する一般に呼び出し側のプロシージャまたは関数スタックフレーム遡ってアクセスする必要性はほとんどなく、ハードウェア直接そのような手段提供するともない必要ならばスタックフレーム内にあるフレームポインタで遡るともできるバロース B5000 ではハードウェアスタックフレーム遡る手段提供しているが、これは動的な入れ子構造ではなくプログラム静的入れ子構造変数スコープ)を辿るものであるその後このような機能ハードウェア実装した例はない。ニクラウス・ヴィルトCDC 6000 シリーズ向けにPascalコンパイラ開発した際、フレームポインタを配列格納して常に更新するよりも、コールスタック上のフレームポインタを遡ってたどった方が全体として高速ということ発見したこの方式だと、遡って参照することのないC言語などのプログラミング言語でも、余計なオーバーヘッド発生しないバロース B5000 では、タスクまたはスレッド入れ子サポートしている。あるタスクとそのタスク作ったタスクは、タスク作成時点スタックフレーム共有するが、作成した側の次のフレーム作成されタスク自身フレーム共有されない。そのため西部劇でよく見るようなサボテンのようなスタック構造になる。各タスク自身スタックフレーム保持するメモリセグメントを持つ。そのスタックベース作成した側のスタック途中リンクされている。一般的なフラットなアドレス空間を持つマシンでは、あるタスクスタックとそれを作成した側のスタック1つヒープ内の別々のヒープオブジェクトになる。 プログラミング言語によっては、外側スコープデータ環境が常に入れ子になっているわけではないそのような言語では、1つスタックスタックフレーム積んでいくのではなく別個のヒープオブジェクトとしてプロシージャの「アクティベーション・レコード」を編成するForthのような単純な言語では、局所変数パラメータの名前がなく、スタックフレームにはリターンアドレス以外に何も必要としない。そのため、リターンスタックにはフレーム存在せず、単にリターンアドレス格納される。リターンスタックとデータスタックは分離しており、プロシージャ呼び出し復帰高速行われる

※この「コールスタックとスタックフレームを使ったコンピュータ」の解説は、「スタックマシン」の解説の一部です。
「コールスタックとスタックフレームを使ったコンピュータ」を含む「スタックマシン」の記事については、「スタックマシン」の概要を参照ください。

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


このページでは「ウィキペディア小見出し辞書」からコールスタックとスタックフレームを使ったコンピュータを検索した結果を表示しています。
Weblioに収録されているすべての辞書からコールスタックとスタックフレームを使ったコンピュータを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からコールスタックとスタックフレームを使ったコンピュータを検索

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

辞書ショートカット

すべての辞書の索引

「コールスタックとスタックフレームを使ったコンピュータ」の関連用語

コールスタックとスタックフレームを使ったコンピュータのお隣キーワード
検索ランキング

   

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



コールスタックとスタックフレームを使ったコンピュータのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS