レジスタとメモリとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > レジスタとメモリの意味・解説 

レジスタとメモリ

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/04/02 07:04 UTC 版)

SECDマシン」の記事における「レジスタとメモリ」の解説

SECDマシンはスタックベースであり、関数組み込み関数ユーザー定義関数)はスタックから引数取り出す一方命令オペランド命令形式含まれている。 他の内部データ構造同様にスタックリストとなっている。Sレジスタはそのリスト先頭指している。リスト構造であるため、このスタック連続したメモリブロックである必要がなく、リスト用のセル空いていればスタック伸ばすことができる。全てのセル使用されている場合でも、ガベージコレクション空きメモリが見つかる可能性がある。 Cレジスタ評価実行)すべきコードリスト先頭指している。その命令実行したら、Cはリスト上の次の命令を指す。これはちょう通常のCPU命令ポインタ同じだが、コード自体リスト構造であるため、次の命令メモリ連続した位置にあることは滅多にない現在の変数環境はEレジスタによって管理される。Eはリストのリスト指している。ここで、各リスト環境レベル表しており、現在の関数の引数はそのリスト先頭にある。現在の環境では束縛されていないがそれを取り囲む関数では束縛されている変数は、その次のリストにある。 Dレジスタの指すダンプとは、他のレジスタ内容一時的に保管するのに使われ例え関数呼び出しの際などに使われる。これは、いわゆるコールスタック役目果たしている。 SECDマシンメモリ構成多く関数型言語インタプリタと同様である。多数メモリセル存在し、1個のセルには「アトム」を保持するか、空または空でないリストを表す。後者場合セルには2つポインタ存在し1つめのポインタリスト先頭セル指し2つめのポインタリスト残り部分を指す。これらは慣習的に car と cdr名づけられている。セルには様々な型の値が保持できるが、これをタグ(tag)で識別するアトムの値にも整数型文字列型などがあるが、これらもタグ識別される1、2、3 という数を持つリストは "(1 2 3)" と表記され内部では以下のように表現される: アドレス タグ 内容integer場合は値、list場合car と cdr) 9 [ integer | 2 ] 8 [ integer | 3 ] 7 [ list | 8 | 0 ] 6 [ list | 9 | 7 ] ... 2 [ list | 1 | 6 ] 1 [ integer | 1 ] 0 [ nil ] ここで、3番から5番メモリセルリストには属していない。リスト使用するセルメモリ全体から無作為に選択されるセル 2 はリスト先頭であり、先頭要素保持するセル 1 とリスト残り保持するセル 6 を指している。セル 6 は 2 を保持するセルセル 7 を指しセル 7 は 3 を保持するリストとなっている。リスト最後尾では空リストを表すセル 0 を cdr指している。SECDマシンでは、セル 0 は空リストを常に表しており、空リストを表すためにタグの値を別途用意する要はない(単にセル 0 を指せばよい)。 なお、cdrリストを指すというのは説明簡単にするための言い方であって、必ずしもそのような制限があるわけではないcarcdrアトムあるよう形式も可能で、これを "(1 . 2)" などと表記する

※この「レジスタとメモリ」の解説は、「SECDマシン」の解説の一部です。
「レジスタとメモリ」を含む「SECDマシン」の記事については、「SECDマシン」の概要を参照ください。

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



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

辞書ショートカット

すべての辞書の索引

「レジスタとメモリ」の関連用語

レジスタとメモリのお隣キーワード
検索ランキング

   

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



レジスタとメモリのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS