CPUとは計算機である。計算機では計算した結果をメモリにおいておくことで液晶がその数字を読み取って表示してくれる。PCはなんで計算することで画面に絵が出るのかというと、計算結果をテレビ用メモリに蓄えることで絵が出せる。テレビ用メモリとはキャンバスみたいなもので、テレビはこのキャンバス状のメモリを参照して絵を出す。この時に絵を出すのはテレビだが、どんな絵をキャンバスに書くかはプログラマがCPUに与えた命令による。CPUはテレビが読めるよう絵を数値に変換する計算を行ってくれる。
単純、複雑といった違いのあるCPUの種類。
(ReduceのR / ComplexのC)
出力といえばプリンタ出力、ファイル出力、ディスプレイ出力など、内部で作られたデータを外部に出すこと。アプリで作られた計算結果をファイルに出力する、出力された画像データをディスプレイに出力(表示)する、年賀状データをプリンタに出力する。ゲームなんかの画面は、ユーザーの入力に応じた画面を計算して作り、それをVRAMに乗っけてテレビに出力するわけである。
CPUが持つ最小の記憶領域。メモリからレジスタに値をのっけてCPUで加工する。加工すると言っても掛け算とか足し算のような簡単な加工で、加工された値もまた別のレジスタに乗っけられる。レジスタの数は多くても20~30程度。
イメージとしてはメモリ内での複雑な計算を1つ1つカッコを外して順にレジスタに載せて加工し加工された値をまたメモリに戻してくることを繰り返して複雑な計算を実現する。そのメモリに蓄えられた複雑な計算結果をファイルやディスプレイに出力する。
レジスタへの値を書き込む前に値を読みに行ってしまったり、別々の命令が同一のハードウェアを同時に使おうとして衝突することなどで起こる、待機やフリーズのこと。
もともと固定の機能しかなかったシェーダーが、プログラミング可能になってあるていど自由に機能を作れるようになったことからプログラマブルシェーダーと呼ばれるようになる。要は最初から与えられた機能のみでプログラム出来ない古いシェーダーが固定機能シェーダー、HLSLやCGを用いてシェーダーのプログラムを書けるのがプログラマブルシェーダー
GPGPUの最初のGPは[General-Purpose Processing]の略で「一般用途に使うGPU」といったところか。プログラマブルになったシェーダーがあまりにプログラマブルなのでグラフィックの計算以外の仕事もさせられるようにしようというコンセプトで開発されているGPU。
シェーダーのプログラムを描くための言語の1つ。マイクロソフトが開発した「HLSL(ハイレベルシェーダー言語)」とOpenGLで使われるGLSLと(機能的には)類似の物である。文法がNVIDIAのCg(C for Graphics)言語に非常によく似ている。
ヘルツっていわれても「電波とかなんかの単位」くらいに思ってたけど調べてみると意外と簡単な単位で「1秒間に行われる同じ行動の数」と言える。3回なら3Hz。60回なら60Hz。1日に3回ご飯を食べると3Hzかというとそうではない。「1秒間に」3回ご飯を食べれば3Hzとなる。ディスプレイのリフレッシュレートが60Hz。1秒間に60回も画面を描き直すということ。秒間60コマで表示するTVモニタは60Hzと表現する。
15KHzというのは「1秒間に15000回の仕事ができる」ということ。モニターがなんの仕事をするかというと、320x240の解像度のモニターだとすると横1ライン分(320ピクセル)を15000ライン描けるということ。1秒に15000ラインということは1フレーム(1/60秒)あたり250ライン描くことになる。縦幅が画面解像度より少し大きい計算になるが、つまり1秒間に320ピクセルx250の画面を60回描ける。
31Khzだと640x480の解像度を持つモニターで640x516ドットを60回描ける。なんでピッタリ480じゃなくて516かというと、1ラインずつ上から下まで480ライン描いた後、36ライン分の時間を使って一番上まで戻るからである。15KHzモニターで240ではなく250なのもそういう理由。
一般的に古いアナログモニターの解像度とリフレッシュレートは以下である。
コンピューターの電源を入れてからOSを起動して利用可能になるまで自動的に実行される処理のことで、ブートシーケンスと似ている。
その他 | インテル | AMD | 対応ハード | 備考 | |
1970 | 8080 | Apple II | |||
モトローラMC6800 | |||||
モス6502 | ファミコン、PCエンジン(HuC6280) | 6800派生 | |||
ザイログ Z80 | MZ,MSX | 8080互換、大ヒット | |||
μPD780C | PC66,PC88 | Z80互換 | |||
モトローラMC6809 | FM-7,8,77,11 | DRUAGA、魔界村など | |||
8086 | PC98E,F,M | 16bit、x86のご先祖 | |||
80186(V30) | PC98U,VM,ワンダースワン | 8086互換 | |||
モトローラMC68000 | NEOGEO,x68000,メガドライブ、macintosh | 32bit | |||
ARM | |||||
1990 | モス65816 | スーパーファミコン | 6802派生(8/16bit両対応) | ||
ASCII R800 | MSX turboR | Z80互換、16bit,RISCライク | |||
80286 | PC98VX | ||||
1980 | 80386 | PC98RA,RX | |||
x68030,machintosh | |||||
MIPS R3000 | PlayStation | ||||
i486 | |||||
1990 | Pentium | Windows95 | RISC/CISCの折衷 | ||
Pentium Pro | |||||
ARM6 | |||||
ARM7 | DS | ||||
K6 | |||||
Pentium II | Windows98 | ||||
K6-2 | |||||
Celeron | ローエンド向けCPU | ||||
Pentium III | Windows2000 | SSE追加 | |||
Athlon | |||||
2000 | Sony EE | PlayStation2 | 128bit,MIPS | ||
Pentium 4 | SSE2,WindowsXP | ||||
Athlon64 x2 | |||||
R4000 | PSP | ||||
2006 | Core | WindowsVista | SSE2 | ||
PhenomII(K10) | |||||
Sony Cell | PlayStation3 | Power系 | |||
ARM Cortex-A8 | iPhone4 | ||||
2010 | Core(Sandy Bridge) | Windows7 | Core(第2世代)64bit | ||
ARM Cortex-A9 | PSVita,iPad2,iPhone4S | ||||
ARM Cortex-A15 | 32bitARM | ||||
Core(Ivy Bridge) | Windows8 | Core(第3世代) |