2021-11-07 · 1분
スタックフレームとは?
スタックフレームとは何か — パラメータ・戻りアドレス・ローカル変数を保持する関数ごとのスタック領域 — と、関数プロローグ(push rbp; mov rbp, rsp)とエピローグ(pop rbp; ret)がそれをどう構築・破棄するか。
2022-01-13 · 2분
この記事は公開から2年以上経過しています。

Accumulator(アキュムレータ AC)
- データを一時保存するレジスタである。記憶装置から読み込んだデータとアキュムレータに積まれていたデータが指定された演算を行った後、その結果値を再びアキュムレータに積む。アキュムレータの内容を全部消して 0 にでき、左または右へ何桁かずつ動かすこともできる。アキュムレータのビット数は、CPU が一度に処理できるデータビット数である word の長さと等しい。
データの一時保存、AC := AC の現在値 + メモリから読み込んだ値
Program Counter(プログラムカウンタ PC): address of next instruction to execute.
- 次に実行される命令のアドレスを持つレジスタ。PC 値は word のサイズに応じて 1 または命令長(バイト数)ずつ増加し、記憶装置に格納された命令を連続して実行する。ただし分岐命令が実行される場合は、その目的地アドレスに更新される。
次に実行される命令アドレス、インターラプト、cpu 命令処理順序
Instruction Register(命令レジスタ IR)
- 現在実行中の命令を記憶しているレジスタ
Memory Address Register(記憶装置アドレスレジスタ MAR): address of instruction or data.
- 次に実行される命令を取り出すため、現在 PC(プログラムカウンタ)に入っている内容(アドレス)がシステムアドレスバスへ出力される前に一時的に保存されるアドレスレジスタ
アドレスバス、PC -> MAR
Memory Buffer Register(記憶装置バッファレジスタ MBR): contents of a specific memory address.
(データバス)、MAR の実際のコンテンツ(data、instruction)、memory と cpu のインターフェイス
Status Register(状態レジスタ PSR): execution information
- プログラムが実行される瞬間ごとに、プログラムの実行状態とプロセッサ状態を表す
Data Register(データレジスタ DR)
- 関数演算に必要なデータを保存する。
Address Register(アドレスレジスタ AR)
- アドレスや有効アドレスを計算するのに必要なアドレスの一部を保存する。
● 基準アドレスレジスタ
● インデックスレジスタ
● スタックポインタレジスタ
ユーザー可視レジスタ:DR、AR
ユーザー不可視レジスタ:AC、PC、IR、MAR、MBR
原文(韓国語): tistory — 2022-01-13 公開、当ブログへ移行。この翻訳は AI の協力で作成されました。
…