• ベストアンサー

CPUとRAMとROMの関係。

パソコン初心者です。入門書に、CPUとRAMとHDDの関係が次のように述べられていました。    (3)C P U       ↑   ↓    (2)R A M(4)    (1)↑   ↓(5)       H D D (1)HDDがRAMにデータを渡す。 (2)データは一旦RAMに記録される。 (3)CPUはRAMに記憶されたデータを基に処理する。 (4)RAMはCPUの処理結果を記録する。 (5)HDDはRAMからデータを受け取る。 CPUとROMもデータのやり取りをしていると思います。それでは、この時のCPUとROMの関係はどのようなのでしょうか。CPUとHDDの関係と同様に、間にRAMが入っているのでしょうか。それとも、CPUとROMは直接データのやり取りをしているのでしょうか。 過去の質問検索では、同種の質問がなかったようなので質問しました。よろしくお願いします。

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

  • ベストアンサー
  • mayuyuri
  • ベストアンサー率38% (108/282)
回答No.8

質問の趣旨から少し外れますが、昔話をいたします。 たぶん質問者さんがお読みになった本の著者が説明を省いたであろうことです。 1980年代初頭に、パソコンが個人で買える価格になり始めた頃、 HDDはもちろんフロッピーディスクドライブも個人で買うことができないぐらいに高価でした。 ですので当時は、アプリケーションプログラム(ソフト)を磁気テープ(個人ユースでは音楽用カセットテープ)に記憶させていました。 まさに外部記憶装置です。 パソコンを使用するときは、その都度テープから数分~数十分かけてソフトをRAMにロード(転送)していました。 そして、そのソフトはRAM上で動作するのです。 処理の途中でテープにアクセスすることはできません。 (処理後のデータを記録することはしましたが、今のHDDのように 自由自在にアクセスすることはできません) ROMは、電源投入直後にCPUが処理すべき内容を記録したり、 また、最小限必要な命令群(いまでいうOSの役割に似ています)が記録されています、 例えば、テープからソフトを読み出すコマンドの処理手順やディスプレイに文字を表示する処理手順はROMに書かれていないとどうにもなりませんよね。 現在では、ROMの役割が薄れ、BIOS部分ぐらいにしか使われなくなっています。大昔のパソコンでROMに書かれていた内容の多くがHDDに移されています。  これは、外部記憶装置(今はパソコンに内蔵されていますが)がHDDで高速なので 電源投入の都度、HDDからOSをロードしても短時間で済むためです。また、ROMにするにはOSやソフトがあまりに巨大化しているのも理由の一つです。 また、CPUが管理可能な最大メモリーサイズと言う制限事項があります。これはRAMとROMの容量を足した合計容量に制限があるわけで、HDDがある現在では多用途に使うパソコンにおいて、ROMをほとんど無くしてすべてRAMにしたほうが都合が良いのです。 さて、ご質問の件ですが CPUから見た場合、ROMもRAMも同じように見えます。 ROMの場合はデータの書き込みが禁止されているだけです。

pcshoshinnsha
質問者

お礼

めちゃめちゃ納得がいきました!! なぜ「外部」と呼ぶのか疑問に思っていたのがわかりました。そもそも、ROMの存在意義について疑問に思っていた(HDDに移しちゃえばいいのにと思っていた)のもスッキリしました。なぜ、ROMよりもRAMが幅をきかせてきているのかもわかりました。 大変勉強になりました。ありがとうございました。

その他の回答 (9)

  • i-q
  • ベストアンサー率28% (972/3408)
回答No.10

補足: >>あれ、OSってHDDの中にあるんじゃないんですか? はいHDDに全部入っていますが、でも処理する度にHDDから読み込んでいたのでは遅すぎるので、メモリにOSを書き込むのです。起動するとBIOSはHDDのブートセクタにアクセスし>ブートファイルがOSをメモリ上に書き込んで>その後はメモリ上のOSが起動に必要なドライバや設定をHDDからメモリに読み込み起動します(細かいことは知りませんが起動するまでに何十ものステップを経ているそうです)。HDDにOSは入っていますが、それはただのデータと一緒でメモリ上に読み込まれて、始めて動き出します。

pcshoshinnsha
質問者

お礼

ありがとうございます。よくわかりました。まずは司令官のような存在であるOSをRAMに読み込むんですねー。今まで無意識のうちに、RAMに読み込むものはデータだけで、プログラムファイルは読み込まないものと思っていました。だけど、プログラムファイルもデータなんですよね。無意識の勘違いが解けてすっきりしました。丁寧に質問に答えてくださり、ありがとうございました。

  • JMPFAR
  • ベストアンサー率14% (21/143)
回答No.9

HDD⇔CPU⇔RAM、ROMと言う関係だと思って下さい。入門書は嘘です。CPUはROMのプログラムにもとづいてHDDの内容をRAMに書いて、このRAMをその後読んでプログラムを実行します。 HDD→RAMと言うDMA、CPUを介さないデータの転送も有りますがこれはどうでも良い事です。 HDDの無い機器ではROMのプログラムをそのまま実行します。パチンコの裏ROMと言うのはこれです。 ROMは1702、RAMは2102からのつき合いです。

pcshoshinnsha
質問者

お礼

貴重な情報をありがとうございます。 ROM1702、RAM2102、知りませんでした。どちらも1970年代に作られたものみたいですね。RAM2102→2キロビット!!最初見た時、2キロバイトかー、めちゃめちゃ少ないなぁ、と思っていたのですが、よく見たら単位はビット!!!ちょっと、信じられません・・・・

  • heyboy
  • ベストアンサー率21% (1852/8729)
回答No.7

大昔のパソコンは 大きさの決まった中に RAMとROMが存在し、一部のRAMの部分を 切り替え容量を得るような方式がありましたが、 (ROMはハードウエアの情報やBASIC言語など が入っていましたが) 今ではROMはハードウエア情報を 入れている物として扱われ メモリーの一部としては扱われていません。 しかしながら、そのハードウエア情報さえも 不活性メモリーで記憶させているのが 今では普通になりROM自体が存在しなつつあるようです。 (マザーボードのBIOSやDVDドライブや一部のモデムなどに あるファームウエアがその存在になります。) すでにROMは存在しないと考えた方が 普通かと思われますね。

pcshoshinnsha
質問者

お礼

僕の頭の中で  メモリ=RAM+ROM となっていました。 不活性メモリについては、ちょっとよくわからないのですが、要は RAMが従来のROMの役割も果たすようになって来た  →ROMは段々存在しなくなっている   +一方で複雑化したRAMを統御するメモリコントロールが登場してきた。 と考えればいいんですね。 勉強になりました。ありがとうございました。

  • i-q
  • ベストアンサー率28% (972/3408)
回答No.6

RAM→メモリ ROM→BIOS と表現した方がいいですよ。RAMとはメモリも含め、読み書きできる媒体のことです。HDDもRAMの一種で、CD-ROM等”ROM”は読むだけで記録は出来ない媒体のことです。 http://e-words.jp/w/ROM.html さて処理したいデータや動かしたいアプリはHDDから高速なメモリに読み込み、さらに今使う部分だけをCPU内のさらに高速なキャッシュ(でも容量は小さい)に読み込みCPUはキャッシュとやり取りして最終的に処理します。メモリからキャッシュに届くまでCPUは何もできません。さらにデータがHDDにある場合はCPUにとって途方もない間、待機していなくてはならないので、パソコンにはたくさんのメモリがあるほうがスムーズに動きます。(今のパソコンは最初から充分にメモリがありますが) さてそんなメモリは、OSが管理していますし、今動いているOS自体もメモリ上にあります。そんな中アプリケーションに好き勝手書き換えられたら大変ですし、処理中のデータを結果が出る前に勝手に書き換えてしまったら、処理結果は狂ってしまいます。そうならないようにOSは管理し、さらにOS(Win2000以降やNT系OS)は自分の領域をメモリ上に確保し、OSの許可なしにアプリケーションに触れないようにしています。

pcshoshinnsha
質問者

お礼

なるほどー。僕の頭の中では  内部記憶装置=メモリ=RAM+ROM  外部記憶装置=HDD+FD+DVD+・・・ という風に整理されていました。一般的にはメモリ=RAMだけど、メモリ=ROMと混同されるのを恐れて、RAMとROMという記述をしました。でも、ROMという表現も内部記憶装置か外部記憶装置かでややこしいですね。  キャッシュ。どっかで聞いたことのある単語のような気もしますが、詳しくはここで初めてしりました。  OSはメモリ上にあるんですか。。。あれ、OSってHDDの中にあるんじゃないんですか?「中にある」の、意味がちがうのかな。メモリ上にOSの情報の為の領域(アドレス領域でしたっけ?)が割り振られているという意味でしょうか?

  • lanif
  • ベストアンサー率62% (170/273)
回答No.5

補足です。 「ROM」の事ですがこれは、記憶媒体(CD-ROMなどのメディア)と部品などのチップとの違いです。 前者は既に理解されているようなので省略しますがHDDなどと同じですね。 後者は部品ですので 一般的には「半導体」や「メモリ」の事になります。 部品の「名称」で考えれば半導体(ICやトランジスタ)などの仕組みですし、 http://e-words.jp/w/E38388E383A9E383B3E382B8E382B9E382BF.html 部品の「働き」で考えれば情報を蓄積する動作になると思います。 http://e-words.jp/w/E383A1E383A2E383AAE383A2E382B8E383A5E383BCE383AB.html もちろん部品同士が情報を伝達しあって動作している以上、 いろいろな部品に情報が蓄えられて処理されます。 その中でも働きとしての「記憶領域」は一番メジャーなところでは「メモリー(モジュール)」と呼ばれる部品の働きですね。 因みに「OS上の記憶領域」に関しては、 最初の考えはあっているとおもいますが、 「同列の概念は「BIOS上の記憶領域(=ROMチップ)」と表現…」に関しては 記憶領域は当然BIOSによって制御されている「部品」ですので 「BIOS上」が指す意味がこの制御されている制御下の部品としてならば正しくなりますが、 ANS1.に書かれている「BIOSが記述されているROMチップのこと」の場合だと間違いになります。 このANS1.でのROMは「BIOS自体を記録しているROM」を言っていますからね。この場合は、通常の処理には使いませんよね。 ※もちろんBIOSを読み出して動くのがPCなので起動している以上は 使っているとも言えなくもないですが…。 但し、ABS1.の回答の説明は微妙に違う説明を書かれているようですが…。 http://e-words.jp/w/BIOS.html

参考URL:
http://e-words.jp/w/ROM.html
pcshoshinnsha
質問者

お礼

なるほどー。集積回路の各部品はそれぞれに情報を蓄積している→その中でも特に情報が蓄積されている部品がメモリなわけですね。今まで、RAM、ROMは超小型で特殊なDVD、CDやHDDのようなものがマザーボードに貼り付いてる、マザーボードで必要な情報はすべてそこに蓄積されている、というイメージを持っていましたが、改めました。 ありがとうございました。

回答No.4

>CPUとHDDの関係と同様に、間にRAMが入っているのでしょうか。それとも、CPUとROMは直接データのやり取りをしているのでしょうか。 こういっちゃなんだけど パソコンの場合 CPUとRAMも直接やりとりしていると言うよりは チップセットのメモリコントローラーを経由して やりとりしているですよね。 Athlon64はCPU内部にメモリコントローラーを 内蔵しているので直接やりとりしているといえばいるけど

参考URL:
http://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%A2%E3%83%AA%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E3%83%BC
pcshoshinnsha
質問者

お礼

ありがとうございます。複雑化したRAMを統括するLSI、メモリコントローラー、始めて知りました。たぶん、僕の読んでる本の発行年が1998年と古い為に記述されていなかったのだと思います。勉強になりました。

  • 0KG00
  • ベストアンサー率36% (334/913)
回答No.3

RAMもROMも主記憶装置ですから、CPUが直接にデータをやり取りをするという意味では一緒です。ちなみにHDDは補助記憶装置ですね。 実際には、CPUで操作するにはRAMの方が都合がよいのでRAMに読み込まれる方が多いですね。 なお、ご存知かと思いますがこの場合にいうROMとはCD-ROMやDVD-ROMの事ではありません。ICチップのROMの事です。CD-ROMなどは名前こそROMですが記録媒体としての形ですから、OS上の記憶領域(RAM上に確保されている)に読み込まれます。扱いとしてはHDDと同じですね。

pcshoshinnsha
質問者

お礼

あ、主記憶装置(内部記憶装置)としてのROMの場合はCPUと直接データのやり取りをするという理解でいいんでしょうか? 重ねて質問で恐縮ですが→ROMには内部記憶装置としてのものと、外部記憶装置としてのもの(CD-ROM等)があって、後者の場合HDDと同じ扱いになるのはわかります。しかし、0KG00さんのおっしゃる「OS上の記憶領域」という表現がよく理解できません。これは、OSとOSに乗っかっているアプリケーションソフトが作動するために必要な情報、あるいはこれらによって作成された情報等が記録される場所、という意味でしょうか。そして、これと同列の概念は「BIOS上の記憶領域(=ROMチップ)」と表現することになるのでしょうか?

  • lanif
  • ベストアンサー率62% (170/273)
回答No.2

各部の機能を簡単にご説明すると、 まずCPUが動作の命令を司ります。 次にHDDやROMはその記録を保管や書き込まれる場所。 そしてRAM(メモリー)は一旦情報を電気的に保存する場所って考えて下さい。 RAMの働きは「一旦情報を保存」ですから「ROMから読み込んだ情報」を当然ですが一時保存しています。 因みに電気的に一時保存ですので電源を消すことで情報は失われます。 そこでHDDなどの記録可能な媒体に保存しておくことで再度読み込む際にはそこからって事になります。 ただし機械的に書き込む媒体に比べ、RAMは電気的な情報で記憶していますので瞬時に情報を再利用できます。 結果としてHDDがROMに変わっただけでRAMが間に入って情報の一時保存をする事に変わりはありません。 というよりも「必ず情報のやりとり」にはRAMが関係しますね。 更にCPU内部にRAMと同じ仕組みを組み込むことで最短距離で情報をやり取りすれば高速に処理が行なえる事になります。

参考URL:
http://e-words.jp/w/RAM.html
pcshoshinnsha
質問者

お礼

なるほどー。どんな処理の場合でも必ずRAMを通してデータのやり取りがされるということですか。 CPU内部にRAMと同じ仕組みを組み込む・・・高速に処理が行える。とは知りませんでした。 勉強になりました。ありがとうございました。

  • char2nd
  • ベストアンサー率34% (2685/7757)
回答No.1

 質問者さんの意図しているROMとは、何のことでしょうか? 1.CD-ROMなどのリムーバルメディアに記録されているプログラム/データのこと。 2.BIOSが記述されているROMチップのこと。  上記1の場合は、HDDと基本的には同じ扱いです。データの追記や消去などが出来ないだけです。  2の場合は、OSの動作には直接関与しません。PCの起動時に作動し、基本的なシステムの設定をするだけです。プログラムの動作などはOSが管理します。 http://www.atmarkit.co.jp/icd/root/86/5785786.html

pcshoshinnsha
質問者

お礼

ありがとうございます。すみません、言葉足らずでした。僕の頭の中にあったのはROMチップのことです。この場合、PCが起動した時に、CPUとROMの間でデータのやり取りはされていないのでしょうか?

関連するQ&A

  • 内部記憶装置のROMの存在意義。

    PC初心者です。基本的なことで恐縮なのですが、入門者用の本を読んでいて疑問が生じたので質問します。 PCの構造の章で記憶装置についての記述がありました。それによると、記憶装置は内部記憶装置と外部記憶装置に分かれ、前者にはRAMとROM、後者には内臓ハードディスクやフロッピーディスクがあるとのことでした。 そして、RAMについては、一般的に「メモリ」と呼ばれ、書き込んだり消したりできるホワイトボードのようなもので、外部記憶装置の情報をいったんここに記録して、CPUがここに記録された情報を元に処理する、と説明されていました。 一方でROMについては、読むだけで書き込むことのできない辞書のようなもの、と説明されていました。 これらの説明を読んでROMの存在意義がわかりません。読むだけで書き込むことができないのは不便です。なぜ、そういう不便な所に情報を記憶させておく必要があるのでしょうか。なぜ、ハードディスクに記録しないのでしょうか? そこで、自分なりに仮説を立てました。この本は古い(発行1998年)のでROMが存在したのは昔の話でなないだろうか?昔はハードディスクの容量が小さかったのでROMが必要だったに違いない←多分、ROMのほうがハードディスクよりも書き込みできない分たくさんの情報を記録できるのだろう。 この仮説は間違っているでしょうか?ROMにはどのような存在意義があるのですか?また、あるとすれば具体的にどのような情報が記録されているのでしょうか? 長文で恐縮ですがよろしくお願いします。

  • スマートフォン ROM・RAMの能力の差?

    ドコモのスマートフォン シャープ SH-01Dを使用しています。 (CPU:1.0、ROM:4GB、RAM:1GB)とSDカード16GBを追加付けています。 3年にもなりますし、サクサクと動きません。 この度、買い替えを検討をしています。 ソニーのXperia Z3かソニーのXperia Z3 コンパクトかなと思っています。 Xperia Z3は大きいなと思っており コンパクトがいいのかなと思うのですが 内蔵メモリがROM:3GB、RAM:32GBとROM:2GB、RAM:16GBの 能力の差が気になります。 CPUは一緒なのですが、内蔵メモリの違いで動きの差が出ますか? iPhoneも画面が大きくなりましたし スマートフォンは画面が5インチ以上が主流なのでしょうか? よろしくお願いします。

  • PDAのROMとRAMの働きの違い

    こんばんは PDAの購入を検討しています。候補はデルのX51とX51Vの二つでどちらにしようか迷っています。ここで、この二つの機種はRAMは両方とも64MBで同じなのですが、フラッシュROMが128MBと256MBと異なっています。 また、両方ともSDカードとCFカードの二種類のカードスロットがついています。 私の理解では、ROMはデータ保存用なので容量の小さい方(即ち128MBであるX51)を選んでも、1GB等大きな容量のメモリーカードを外付けすればROMの容量の差は大した問題ではなくなる(つまり、ROM容量の差は大容量のSD(またはCF)カードが補完してくれる)と考えていますが、この理解で正しいでしょうか?(もし、RAMの容量が違った場合は、処理速度が違ってくるので大きいRAMの方を選ぶべきでしょうが) なお、両者ともOSはWM5.0です よろしくお願いします。

  • CPUの動作手順(シーケンス)

    電源が投入されてから、ソフトが動作するまでの動作がいまいち分かりません。使用部品は、CPU・RESET IC・ROM・RAM・EEPROM・A/Dコンバータ・増幅回路です。 1.RESET ICにより安定した電源(Vcc)がCPUに供給される(?) 2.ROMにデータを読みに行く(?) ということなのでしょうか? 非常に困っています。宜しくお願い致します。

  • CPUの載った基盤設計!

    今は簡単なザイリンクスを中心とした簡単な基板なら設計できるんですが・・・ 会社でCPUの載った回路を理解しなくてはならなくなってしまいました。 その回路図を見るとCPUやらROMやらRAMやらが複雑に繋がっています(一つのピンから2箇所に繋接続されてたり)・・・何がなんだか分かりません。僕自身のレベルはROMって?という感じです。プログラムの知識も無く・・・(涙) そこで、CPUのどのピンとROMのどのピンを繋げばいいのかとか、CPU、ROM、RAMの信号のやり取りの説明などが載っている参考書(基礎!)もしくはサイトなどを教えていただければと思います。 基板設計の巨匠の皆様どうぞよろしくお願します。 目標は基板設計!

  • パソコンのRAM 、HDD、SSDの関係

    パソコンの能力について質問させていただきます。例えば、RAM 2GB でHDDが64GBのパソコンがあったとします。このパソコンのRAMを4 GB にして、HDDを64GBのままとした場合と、RAMを 2GB のままとし、HDDをSSDにして128GBとした場合とでは、どちらが立ち上がり、及び処理能力が高くなるでしょうか? まとめると、「RAM 4GB でHDDが64GB」 か「 RAM 2GB でSSD128GB」か、ということです。よろしくお願いいたします。

  • i-Ramのようにメモリを仮想ドライブとして使う方法を教えて下さい

    i-RAMのようにハードを利用せず、単純に装着しているメモリの一部を仮想メモリとして利用する方法を教えて下さい。 毎回、利用するデータをHDDから読み込んで処理>データをHDDに戻してまた再計算という処理を繰り返すのでHDDの読み取り時間が無駄に思えます。 メモリを2GB積んでいるので1GBを仮想ドライブ(例えば、D)として使う方法を教えて下さい。

  • RAM不足か調べるには

    Windows2000 SP4 CPU P(4) 2.53GHz RAM 1GB 自作機(ショップで組み立て)です。 インストールしているアプリは連記しませんが結構多いです。 主に使用しているのはグラフィック関係でしてフォトレ「PhotoShop」、DTP「G.CREW」、ビューワ「ACDSee」等のメモリを消費するアプリを同時に起動しています。 今までRAMを1GBで問題なかったのですが、一眼レフデジカメD70を購入し扱う画像が大きくなった性か処理や動作が遅くなった気がします。 そこでお聞きしたいのですが、メモリ不足でRAMの増量が必要か否かを調べる方法とか、調べるための専用ソフトとかは存在するのでしょうか? 教えてください。 また漠然とした質問で恐縮ですが、私の環境ではどれくらいのRAMがベターなのでしょうか?

  • RAMについて

    XP Home Edition SP2 1.66GHz 224MB RAM です。 サポートページやネットで調べても、どうしても分からなかったので、質問させていただきます。 ソフトをインストールしようとしたところ、 "インストールするには最低でも384MBのRAMが必要です。RAMを増やしてからインストールし直して下さい。" と表示されました。 サポートページにて、 "コンピュータに○○MBのRAMしか装着されていなくても、プログラムはコンピュータのハードドライブにある○GBの仮想メモリにアクセスできる" と書いてあったので、仮想メモリを増やしたのですが、やはりインストールはできませんでした。 この場合、RAMを増設するしかないのでしょうか? 私は初心者なのでとても出来そうにないです… 仮想メモリは関係ないのでしょうか? そもそも、RAMと物理メモリは同種と考えて宜しいのでしょうか。 (ネットで検索してもイマイチわかりませんでした…) HDの空き容量はそれなりにあります。 どなたか分かるようでしたらご返答よろしくお願いします。

  • DVD-RAMをディスク・クローズするソフトウェア

    データの長期保存のため(DVD-Rメディアよりも物理的に安定し、再現性に優れていると思われる)DVD-RAMメディアを利用しようと思っています。ただし、DVD-RAMメディアに記録した後、ディスク・クローズ処理(=ファイナライゼイション)を行なわないと、DVD-RAMメディアの再生時に自動的に信号等が記録され、将来読み込みができなくなる恐れがあると知りました。 そこで、DVD-RAMメディアに必要なデータを書き込んだ後、手軽にディスク・クローズ処理できるソフトウェアをご存知でしたら、ご紹介ください。