周辺機器 そして、周辺機器も搭載されている。 アナログ/デジタル変換は、電圧を読んで比較するというやり方で行う。逆にデジタル/アナログ変換はコードを電圧に変換するというやり方で行う。 時間を計測するデバイスがある。波形を変調するものもある。例えばシリアル通信やUSBのように通信する周辺機器もある。 そして、どんなマイクロコントローラにも、チップ上にプロセッサとともに10もの異なる周辺機器が搭載されている。
ワードサイズ プロセッサはワードサイズにより組織化される。よく用いられるのは8ビットのものだ。これが意味するところは、各々の命令が使用するメモリの位置が8ビットだという事だ。 8ビット、16ビット、32ビット、64ビットのものがあるが、今や典型的なデスクトップコンピュータは64ビットだ。大きなワードサイズになれば、ひとつの命令で多くのことができるようになる。 君たちはパッケージ上にもっとピンが必要になったり、データ保存用のメモリセルが必要になることがあるだろう。8ビットプロセッサは接続したり、よりコンパクトなメモリを用いてより小さなパッケージにすることができる。しかし、それでも僕たちはかなりの事をプログラミングして実行することができる。 みんなよく勘違いしているんだけれども、8ビットプロセッサで64ビットのオペレーションをすることができるって思ってる人、いるよね。 でも、プロセッサ上でソフトウェアを実行しているとき、プロセッサ上でサイクルを回している。
処理速度 そして、これは僕が良く言っている事なんだけれども、1ドルコンピュータはバージョンによって実行速度が異なる。 例えば、20MHzのプロセッサと人間の比較をしてみよう。人間はミリ秒よりも高速にモノゴトを実行することはできない。つまり、キロヘルツの処理速度だ。だから、1ミリ秒という、その僅かな時間は、君たちがひとつの操作を実行することができる時間よりも短い時間なんだ。 一方で、1ドルプロセッサは同じ時間で10,000もの命令を実行することができる。それは人間に換算すると多くの時間に相当する。 君たちは、(プロセッサを用いて)あらゆる種類の事を実行することができる。たとえ、それがハードウェアで直接的には可能ではないとしても、ソフトウェアによってそれは可能になるんだ。 また、ライブラリを用いたとき、8ビットプロセッサで実に多くのことができるということに、君たちは驚く事になるだろう。
(つづく) 講義の目次は 【和訳版】FabAcademy 2016 からご覧ください。 ※この記事は FabAcademy 2016 におけるニール・ガーシェンフェルド教授(MIT)による講義動画をもとに作成しました。正確な訳ではないので間違っていたら指摘いただけるとありがたいです。