• 追加された行はこの色です。
  • 削除された行はこの色です。
  • 用語(ハード) へ行く。

**センサー [#ac5ab086]
#areaedit
・加速度センサ(ACCELEROMETER)
 スマホを前後左右上下に移動させたときの平面移動中の加速度を検出できる。スマホの中にビー玉が1つ転がっていてそれの瞬間移動速度をxyzであらわすような感じ。
 スマホを前後左右上下に移動させたときの加速度を検出できる。スマホの中にビー玉が1つ転がっていてそれの瞬間移動速度をxyzであらわすような感じ。加速度なのでおいてあるスマホは基本加速度ゼロが返ってきそうだけど微妙に数値が返ってくるのを深読みすると怖い。

・ジャイロスコープ(GYROSCOPE )
 角速度を検出するセンサー。スマホの回転速度を検出できる。ガンコンとかWiiリモコン的なやつ。回転速度をxyzであらわす。

地磁気センサ(MAGNETIC_FIELD)
・電磁波の強さを測定するセンサーというと難しいが、南北の磁気強度を検出する身近なものといえばコンパス。つまり方位を検出できる。

・傾きセンサ(ORIENTATION)
傾きセンサーでは, ヨー(Y回転)、ピッチ(X回転)、ロール(Z回転)の3つを使った姿勢が角度で取得できる。このうちヨーは方位角(Azimuth)として扱われるが、Androidでは地磁気センサの使用が推奨されており傾きセンサーは非推奨となってる。
#areaedit(end)

**CPU [#v9a0f455]
#areaedit
CPUとは計算機である。計算機では計算した結果をメモリにおいておくことで液晶がその数字を読み取って表示してくれる。PCはなんで計算することで画面に絵が出るのかというと、計算結果をテレビ用メモリに蓄えることで絵が出せる。テレビ用メモリとはキャンバスみたいなもので、テレビはこのキャンバス状のメモリを参照して絵を出す。この時に絵を出すのはテレビだが、どんな絵をキャンバスに書くかはプログラマがCPUに与えた命令による。CPUはテレビが読めるよう絵を数値に変換する計算を行ってくれる。
#areaedit(end)


***RISC / CISC [#mf6e4e68]
#areaedit
単純、複雑といった違いのあるCPUの種類。
(ReduceのR / ComplexのC)

-''シンプルな構造に回帰、高速性を確保するRISC''
RISCプロセッサは回路を単純化して速度を稼ごうというアーキテクチャ
ARM(Androidマシーンなど)、SH1~5(サターンのCPUがSH-2)、POWERPC(mac)など。
MIPSはRISCアーキテクチャの1種

#br

-''現状の複雑だが高機能なCISC''
対して従来のCPUはCISC(シスク)と呼ばれる。
x86、x64、MC68000など。現行のインテル系や、680x0がCISC。
#areaedit(end)

***出力 [#t22b83b3]
#areaedit
出力といえばプリンタ出力、ファイル出力、ディスプレイ出力など、内部で作られたデータを外部に出すこと。アプリで作られた計算結果をファイルに出力する、出力された画像データをディスプレイに出力(表示)する、年賀状データをプリンタに出力する。ゲームなんかの画面は、ユーザーの入力に応じた画面を計算して作り、それをVRAMに乗っけてテレビに出力するわけである。
#areaedit(end)

***レジスタ [#v4f8cd29]
#areaedit
CPUが持つ最小の記憶領域。メモリからレジスタに値をのっけてCPUで加工する。加工すると言っても掛け算とか足し算のような簡単な加工で、加工された値もまた別のレジスタに乗っけられる。レジスタの数は多くても20~30程度。
イメージとしてはメモリ内での複雑な計算を1つ1つカッコを外して順にレジスタに載せて加工し加工された値をまたメモリに戻してくることを繰り返して複雑な計算を実現する。そのメモリに蓄えられた複雑な計算結果をファイルやディスプレイに出力する。

#areaedit(end)

***ストール [#ba6e34f5]
#areaedit
レジスタへの値を書き込む前に値を読みに行ってしまったり、別々の命令が同一のハードウェアを同時に使おうとして衝突することなどで起こる、待機やフリーズのこと。
#areaedit(end)

**GPU [#if0b9981]
#areaedit

#areaedit(end)

***固定機能シェーダー / プログラマブルシェーダー [#bbac9548]
#areaedit
もともと固定の機能しかなかったシェーダーが、プログラミング可能になってあるていど自由に機能を作れるようになったことからプログラマブルシェーダーと呼ばれるようになる。要は最初から与えられた機能のみでプログラム出来ない古いシェーダーが固定機能シェーダー、HLSLやCGを用いてシェーダーのプログラムを書けるのがプログラマブルシェーダー
#areaedit(end)


***GPGPU [#e49cc8ea]
#areaedit
GPGPUの最初のGPは[General-Purpose Processing]の略で「一般用途に使うGPU」といったところか。プログラマブルになったシェーダーがあまりにプログラマブルなのでグラフィックの計算以外の仕事もさせられるようにしようというコンセプトで開発されているGPU。
#areaedit(end)


***HLSL / CG [#c2bc76d4]
#areaedit
シェーダーのプログラムを描くための言語の1つ。マイクロソフトが開発した「HLSL(ハイレベルシェーダー言語)」とOpenGLで使われるGLSLと(機能的には)類似の物である。文法がNVIDIAのCg(C for Graphics)言語に非常によく似ている。
#areaedit(end)

***ヘルツとかリフレッシュレートとか [#c985b3ce]
#areaedit
ヘルツっていわれても「電波とかなんかの単位」くらいに思ってたけど調べてみると意外と簡単な単位で「1秒間に行われる同じ行動の数」と言える。3回なら3Hz。60回なら60Hz。1日に3回ご飯を食べると3Hzかというとそうではない。「1秒間に」3回ご飯を食べれば3Hzとなる。ディスプレイのリフレッシュレートが60Hz。1秒間に60回も画面を描き直すということ。秒間60コマで表示するTVモニタは60Hzと表現する。
#areaedit(end)


***15KHzモニター、31KHzモニターってどういうことか [#ua55015d]
#areaedit
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なのもそういう理由。

一般的に古いアナログモニターの解像度とリフレッシュレートは以下である。
-RGBケーブル接続・・・15Khzモニター(320x240) リフレッシュレート60Hz
-VGAケーブル接続・・・31Khzモニター(640x480) リフレッシュレート60Hz
#areaedit(end)

***ブートストラップ [#k9ec87b7]
コンピューターの電源を入れてからOSを起動して利用可能になるまで自動的に実行される処理のことで、ブートシーケンスと似ている。


***ざっくりとしたCPU年表 [#kdf065e0]
#areaedit
||その他|インテル|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世代)|
#areaedit(end)