• ベストアンサー

レジスタとメモリについて

私、大学生一年でパソコンを詳しくなりたいと思ってます。 ・レジスタって何故必要なんでしょうか? ・またレジスタとメモリってどう違うのですか? ・またレジスタとメモリって似ている所あるのでしょうか? どなたか教えていただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • you-m
  • ベストアンサー率58% (190/327)
回答No.4

めちゃめちゃ噛み砕いて説明するとこんな感じですかね。 そもそも、一言にメモリっていっても、いろいろあります。 1.いわゆる主記憶(メインメモリ) 2.2次キャッシュとか3次キャッシュとかのキャッシュメモリ 3.補助記憶装置で使われるフラッシュメモリやEPROM、EEPROM等 4.いわゆるレジスタ 一般にメモリといえば、大抵1.をさすわけですが、レジスタもまたメモリの一種なのです。(実際のコンピュータにおいては、CPUという部品を構成する一部になっっていますが。) 違いは、他の方もかかれていますが役割です。まあ、素材が違うとか大きさ(容量も物理的なサイズも)が違うとか、そういう違いもありますけど。 役割の違いをたとえ話にすると、こんな感じですかね。 メインメモリというのは、よーするにテーブルです。そこで様々な作業をする為に、必要なものを棚とか倉庫(これはHDDに相当するかな)から道具や材料(プログラムやデータ)持ってきて広げるわけですが、広さには限度がありますから、テーブルの広さ以上のものは置けないわけです。一度にたくさんのものを広げる(たくさんのプログラムを実行する、大きなあるいはたくさんのデータを扱う)為には、テーブル自体の面積を広げる(メモリを増設する)しかありません。 しかし、そうはいってもテーブルは簡単に広くなりませんので、あまり使わないものを作業していない間、床に置いておくことにします。それが必要になったら別の使わないものを床に追い出して、またテーブルの上におきます。これが仮想メモリの考え方です。 作業をするに当たって、当然テーブルの中でも、自分の手の届く範囲に、今やっている作業に関係するものをまとめて置いておく方が作業効率がいいでしょう。なので、「関係しそうなもの」をテーブルの中でも自分の近くに予めまとめて置きます。これがキャッシュメモリの考え方です。 そして、実際に一つ一つの作業を行う為に、手に必要なものをもちます。道具と材料かもしれませんし、箸と食べ物の皿かもしれません。この「手」に相当するのがレジスタというわけです。 実際のレジスタは、手のように万能ではありません(そもそも自分では動かない単なる置き場ですし)から、役割別にいくつかの種類があります。しかし、CPU(頭)が本当の意味で作業時に直接的に触りにいける(コントロールできる)領域は、基本的にここだけです。あらゆるデータは、レジスタに一旦格納されてはじめて処理対象となることができます。レジスタは単なるメモリですが、他のメモリとの大きな違いは、まさにそこになります。逆に必要性という意味では、レジスタを手(正確には手に相当する場所)に例えたことで、わかっていただけるかと。 まとめるとこんな感じで。 ・レジスタがなぜ必要なのか→CPUはレジスタに置かれたデータしか処理対象にできない。 ・レジスタとメモリの違い→意味的な違いは、必要性に見られる特徴が大きな違い。 ・レジスタとメモリの似ているところ。→どちらもメモリ(データを記憶する場所)には違いない。 この説明は、何もわからない人向けにめちゃめちゃ噛み砕いている上に、細かく知っていると、あまり正しいとは思えない表現をしているところもあります。 先に回答している諸氏や、各種CPUに詳しい方の中には、我慢ならんと思われる方もいらっしゃるかもしれませんが、私の私見では導入段階の理解なんて、この程度で十分だと思われます。 つながりがなんとなく分かれば、その先に出てくる様々な専門用語もおいおい理解できるようになってくると思います。 ご理解の一助になれれば幸いです。

noname#229062
質問者

お礼

なるほど、詳しく教えていただきありがとうございます。

その他の回答 (4)

回答No.5

レジスタは「そろばん」みたいなものです。 一時的にしか記憶できません。 メモリは「ノート」みたいなものです。 しかし、そのノートは閉じると消えてしまいます。 HDDは「閉じても消えないノート」です。

  • sego
  • ベストアンサー率29% (371/1269)
回答No.3

レジスターとは、CPUなどで、数値を一時記憶するための、記憶回路で、高速で数が多くありません。メモリーは、長く記憶するためで速度より価格と量が重視される保存用のメモリーです。高速なCPU内部メモリと低速な外部メモリーの速度差を埋めるための仲立ちのようなメモリがキャッシューメモリーです。 1+2=○を計算するとき これを記憶しているところをメモリに置き これを計算するためのプログラムもメモリー上におきます。 計算するとき、計算をする回路(レジスターの高機能版)をアキュムレータと呼びますが、1をアキュムレータに2をレジスター1に記憶します。そしてアキュムレータ値とレジスター1を加算回路に通すと、アキュムレータが加算されて3になります。それを先ほどのメモリーの答えの位置に書き込みます。(パソコン用のCPUではこのようなやり方を行いませんが参考として) レジスターとメモリーの定義は 大よそCPU内部にあるメモリをレジスターとよびます。ただしパソコンなどの高機能CPUでは、コアーブロックの内部に入っているものを指し、コアブロック周辺にはいって入る周りのメモリをキャッシュメモリーと呼んでいます。 パソコンの場合レジスターとメモリは構造がかなり違いますが構造の違いによる呼び名の違いではありません。役割の違いです。

noname#229062
質問者

補足

レジスターとメモリーの似ている所ってどんな所なんですか?

  • ftomo100
  • ベストアンサー率41% (297/723)
回答No.2

レジスタはパソコンの中でもCPUの心臓部ですね。 突き詰めればパソコン=コンピュータは、どこまで行っても「計算機」なんです。自動計算機。記憶されたプログラムにしたがって計算をし、その結果を表示しているに過ぎないのです。 その計算に必要なのが「レジスタ」で、計算機そのものをあらわします。ソロバンでいうと玉ですね。 メモリは、その計算結果を保持するのに使用します。いうなれば、紙(と鉛筆)。 レジスタは、個数が決まっているのです。ですから、いくつもの数を合わせた計算をする場合や、いくつもの結果が必要な場合などには、メモリからレジスタに保存してレジスタで計算してその結果をメモリに保存します。 レジスタにも本当はいくつも種類がありますが、CPUによっても違ったりしますので省略します。 http://ja.wikipedia.org/wiki/%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF_(CPU)

noname#229062
質問者

補足

計算をするためにレジスタが必要って事ですか?

  • wsws
  • ベストアンサー率9% (256/2568)
回答No.1

メモリからレジスタに来て処理します。 マシン語 機械語 他で検索してください。

関連するQ&A