このうちCPUは、近年マルチコア化が進み一つのCPUの中に12コアを有するCPUも売り出されています。この様なマルチコアCPUは、並列計算と呼ばれる手法で大規模な計算を分割化し、たくさんのCPUコアを用いて同時に行うことで計算を高速化させることが出来ます。 最近ではグラフィックカードに搭載されているGPUがより多数のコア数を持つことから、GPUも科学計算に用いられる様になりました。
パソコンのケースを開け中身を覗いたことのある人も中には居ると思いますが、 一般的なパソコンの中身を実際に覗いてみましょう。
パソコンの蓋を開けると中に大きな基盤が現れます。これはメインボード(マザーボード)と呼ばれ色々な機器をここに接続して用います。中央左上にある銀色の四角い部分は、CPUとそれを冷却する冷却装置(ヒートシンク)です。計算の際には、CPUは熱を発生します。このためこれを冷やして機器自体が熱によって破壊されない様にしなければなりません。 CPUの右隣の縦長の基盤群は、RAM所謂メモリーです。この部品は、一時記憶装置として計算や処理を行う際に必要な一時的な記憶を行います。右下のカバーに隠れた部分にHDD(ハードディスク)が格納されています。また、右上にはDVD/CD-Driveが装備されています。ご覧の通り、パソコンは、これらの機器を内部のケーブルでつなぎ合わせて情報をやり取りさせ、計算を行います。
CPUは0と1で表される機械語で書かれた命令を読み込み、RAMに記憶させたり、命令に応じて処理、演算を行います。命令の認識は、予め記録された命令文の型と比較し処理される。演算結果をメモリに出力します。全てのソフトウェアと演算は、0と1(2進数)の加減算とYes, No判断の機構として機械語に翻訳され、システムを動作させています。 このように、コンピュータの世界では、全てを0か1を用いて表し、計算も0と1で行います。コンピュータでこの0か1を判別するのには、高電圧か低電圧かという違いで区別されています。要するに、ONかOFFかを無数に組み合わせて計算や、ソフトウェアが動いています。例えば、足し算は10進数でと行えますが、2進数では、となります。また乗算は、例えば、2進数1101を10倍すると、一桁左にシフトして、11010とします。足し算や引き算、かけ算、割り算を全てこのようなルールに沿って行います(図の参照 9)。また、ソフトウェアを用いる際には、しばしば「Yes」か「No」の判断をしなければなりません。このときにも0と1を用いてその条件分けが行われます。例えば2つの条件が存在した場合どちらかを満たしていれば次の命令を実行するとしましょう。その判断を行う際には、論理和を用い、2つの条件のうちどちらかが満たされれば1とします(図の参照 9)。一方、2つの条件のうちどちらか一方を満たす場合に命令を実行する様なときには、論理積を用います。論理積では、両方の条件が満たされた時のみ1になります(図の参照 9)。0と1を使って色を表すには、 例えばRGB 白=[255 255 255],黒=[0 0 0],赤=[255 0 0],青=[0 0 255] 等と10進数で表せ、これを2進数で表せば良いことになります。
このように0か1で表される最小の単位を「1ビット」とよびます。また、よく耳にする1 バイト(byte)は 8bit を意味します。1Mバイトは10242=約100万バイトであり、8 x 10242 =約800万個の「0か1か」の情報を持つことになります。ちなみに、インターネット接続のためにプロバイダ契約する際等に、良く耳にする Mega bps. BPSはBit Per Second の略で、一秒間に送る事が出来るbit数を示します(ビットとバイトに注意)。
つぎにソフトウェアについて説明します。 ソフトウェアにはOSと呼ばれる基本ソフトとアプリケーションソフトと呼ばれる応用ソフトがあります。前者は、Windows 7やXP、Mac OSXや、Linux、iOSなどのようなハードウェアを制御しつつ、他のアプリケーションソフトを動かすソフトウェアです。このOSが無ければパソコンは動きません。