• ベストアンサー

メモリでのデータの処理についての質問です。

メモリでのデータの処理についての質問です。 メモリが4GBなどとある時に,実際にどの様に動いているかについてなのですが たとえば,メモリが4bit だとしたら,メモリは0000の4つを1か0で表すと思います。これは,たとえば Word を起動しました → 0001 Word で文章を打ちました → 0010 word に画像を挿入しました → 0100 のようになり,扱える処理が16通りあるみたいな感じですか? つまり,4GB は 2^32G 通り表せるということでしょうか?

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

  • ベストアンサー
回答No.1

>つまり,4GB は >2^32G 通り表せるということでしょうか? これはYESだが、(最後にGをつけちゃだめよ) >Word を起動しました → 0001 >Word で文章を打ちました → 0010 >word に画像を挿入しました → 0100 これはNO。 CPUには、「レジスタ」という一時メモリがあり、 計算のたびに使いますが、結果は「メモリ」に書いています。 一つの値を使って全体を制御しているわけではないです。 4GBはたしかに2^32だが、それは「番地」の話。 4GBの一番小さい単位は「バイト」で その「バイト」には、1ビットの「ビット」があり、 そっちがデータになります。 貴方が言ったのは、 「アドレス」の話で「データ」の話ではありません。 その「アドレス」から値を受け取り計算をした「データ」を また、どこかの「アドレス」に格納させるためのソフトが 「ソフトウエア」であり、制御しているのが「CPU」 =中央処理装置となります。

その他の回答 (3)

  • dragon-man
  • ベストアンサー率19% (2711/13692)
回答No.4

1Byteは8bitです。64bitWindowsでは1命令が8Byteで表現されています。 プログラム(OS、アプリ)はいずれもプログラムです。 プログラムは命令を実行順に羅列したものです。 プログラムは二次記憶(HDDなど)に書き込まれていて、実行する場合はメモリにコピーされます。(例えばWordの起動) CPUはメモリコピーされたプログラムの命令を実行する機能です。 CPUの中に命令を実行する命令カウンタというレジスタがあり、命令を書かれた順番に読み取って実行します。途中に分岐命令があるとそこへ飛び、実行を続けます。 Word を起動するのも、キーボードで打ち込まれた文字をメモリに書き写すのも、画像データをメモリに挿入(コピー)するのもプログラムです。 これがコンピュータ処理のすべてです。例外はありません。

  • JP002086
  • ベストアンサー率34% (1535/4403)
回答No.3

アプリ起動からメモリー領域の使用方法を理解してください。 時間的に順番とメモリーの使われ方を説明すると・・・・ 1.電源ON 2.BIOS起動→CPU;メモリ;ストレージのチェック 3.チェック終了後、起動ストレージからOS起動 4.OS使用分のメモリー領域を確保 5.アプリ起動 6.アプリが使用するメモリー領域を確保。不足分は内部ストレージに領域確保(メモリーのコントローラー経由で、OSからアプリに渡される。) CPUとメモリーの間には、必ずコントローラーが居ますので・・・ CPU⇔チップセット(メモリーコントローラー部分)⇔メモリー の流れの様にマザーボードに付けられたメモリーとやり取りを行います。 そうなると、メモリーを大量に積めば良いのでは?と思われがちですが、チップセットとCPUがセットになっていてCPUが管理できるメモリーの容量があります。 そのメモリーの規格や容量を制御しているのがコントローラーです。 コントローラーの性能や規格によって、搭載できるCPUやメモリーの規格と容量も変わってきます。 これらの環境が整って、アプリをインストールしてアプリを起動させるのですが、アプリ起動時にメモリー領域にアプリから要求された容量が足りない場合は(特にワーク領域)、ストレージ内に要求された領域を確保します。 アプリを起動し、画像等を入れた場合は人の目に認識させるため、ワーク領域に画面に表示するイメージを展開します(メモリーが多ければ、メモリー内に展開します)。 この一連の流れを、タスクマネージャの「タスク」で、どのタスクがCPUを利用しているのか?を観察しているとアプリだけで動作を終わらしている事は無いと言う事が判るかと思います。 まずは、「自分が、判らない部分はどこなのか? 何が判っていないのか?」を自分自身判る事から始めた方が良いですよ。

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

違います! メインメモリの中は CPUが読み込んで実行するための 「機械語」が詰まっています。 もちろん、 その機械語は WindowsのOSでもあるし WordやExcelなども アプリケーションの 中も機械語なのです。 当然、人間には 「機械語」だけでは わかりにくいし、 プログラミングしにくいので 「何がどのようにしたら 動くのか?」 を人間にもわかりやすいように したのがプログラミング言語の C言語、Python、などです。 (プログラミング言語は 無数にありますが) ま、CPU本体にも 「この数値を入れるとこうなる」 命令がいっぱい詰まっていて それがRAMに格納されていると イメージして問題ありませんよ。