メモリ
固定幅のセルが連続して並んでいる
各セルは、ワード、ロケーションとも呼ばれる
各ワードはユニークなアドレスを持つ
8bits, 16, 24, 32 or 64bits
コンピュータによってはワードアドレスの代わりにバイトアドレスを使用するものもある
CPUにとってはランダムアクセス可能な巨大なバイトの配列のようなもの
CPUが実行するプログラム、そのプログラムが読み書きするデータはどちらもメモリに入っている
もう少し厳密に言えばメモリの中のスタック上にプログラムがある(?)
CPUがスタックから命令を取るためにはメモリにアクセスする必要がある
そしてこの操作は頻繁におこるので、一回が遅いとめっちゃ遅くなる
これは実際結構速いがもっと早くするためにCPUの内部の記憶領域であるレジスタにデータを保存する スタックポインタとかもレジスタ上にある
加算するときは2つの値はレジスタ上にあり、その結果もレジスタに入れる
現在実行中の命令のアドレスを保持している
格納されるもの
データ項目
データメモリへ
変数、配列、オブジェクトなどのデータをバイナリ化したものが入ってる
プログラミング命令
命令メモリへ
コマンドをバイナリ化したものが入ってる
ここから命令をフェッチして、その命令をデコード(解読)して、実行する
メモリの分布を視覚化できる
参考
jsのメモリ
良さそうなシリーズ