JK-FFというのは,コンピュータの分野ではいわずと知れた
フリップフロップのことである.JKとは,女子高生でも
常考(常識的に考えて)でもない.一説によると,Jack knifeの略とも,
Jack Kilby氏(ノーベル物理学賞)の略とも言われているらしいが
正しくは定かではない.JackとKingがQueeenを取り合っている
(J,Kは入力,Qは出力)という説明は興味深い.
RS-FFのRSはReset Setの略である.
大抵の学生にFFは?と聞くと,ファイナルファンタジーがかえって
来るだろう.車好きなら前輪駆動か,音楽好きならフォルテシモか,
オーディオ好きなら早送りだろう.フィードフォワードとかだったら,
病院につれていきたくなるほどうれしい.
講義関係.
CPUの内部をより直感的にわからせるための資料として,CPUの内部構造写真を探して
みたが,ネットではどうもうまく見つけることができなかった.
やむをえず,自分で割ってみる.素材は15年ほど前のCPU.




かなづちで表面を叩くと簡単にわれてしまった.ダイ部分を壊さないようにするには,周囲をたたく,裏側を軽く割っておく,バールのようなもので叩くなど,ちょっとしたコツが必要である.もし講義時間に余裕があれば,怪我をしない範囲で,学生に割らせてみるのもよい.少なくとも印象には残るだろう.
アーキテクチャで教える内容を吟味中.
学校にくるとき
「バスに乗った人の集合」=A
「電車に乗った人の集合」=B
とする.
「バスと電車を両方使った人」,これはAかつBなのでA・B
「バス又は電車を使った人」,これはAまたはBなのでA+B
と表される.ここまでは簡単.
「バスと電車を両方使わなかった人」
否定文になると,日本語は難しくなる.この質問をすると,手を
挙げるのは,バスにも電車にも乗らなかった人だけだろう.
論理式で表すと!A・!Bであり,!(A・B)ではないので
ある.
では,A・Bではない人について質問するには,どう聞けばよいのか.
「バスと電車を両方使った人以外」とでもいうのだろうか.
ドモルガンの定理を使えば,!(A・B)=!A+!Bを導けるので,
「バスを使わなかった人,または電車を使わなかった人」
ということができるが...
ドモルガンの定理のうまい説明にはならないな.どこかに
講義で使えるコネタ集でもないかなと.
ピタゴラスイッチのようなソフト
よく作り込まれている.こんなソフトに力覚をつけたい.
Phun - 2D physics sandbox
計算機上で小数がどのように表されるのか.
ちなみに,座学では次のように教える
例)10進小数 -15.65を2進に直す
2進小数 1111.101001(以下1001循環)
正規化すると 1.11110{1001) x 2^3
仮数部 0.11110{1001}
指数部 127+3=130 130=10000010
浮動小数点数=符号1桁+指数8桁+仮数23桁
11000001011110100110011001100110
C 1 7 A 6 6 6 6
よって,16進標記で0xC1 7A 66 66となる.
確認プログラム
#include
union data_val{
float fdata;
unsigned char cdata[4];
}data_f;
void main(int argc, char **argv)
{
data_f.fdata=-15.65;
printf("%x %x %x %x \n",
data_f.cdata[0],
data_f.cdata[1],
data_f.cdata[2],
data_f.cdata[3]);
}
実行結果
66 66 7a c1
リトルエンディアンであることがわかった.ただそれだけ.
ガソリンの値段が一気に下がった.
課税のタイミングが,ガソリンスタンドのガソリン仕入れ時に
なるので,減税で一番気の毒なのは,ガソリンスタンドである.
本日,いつもの店で給油したら128円/リットルであった.
となりのセルフの店はまだ140円台だった.
どうでもよいことだが,普段よりも給油の量が多いような
気がした.いつもなら40リットル,多くて41リットルだが,
今日は42リットルを越えている.気のせいだと思うが,
気のせいでなくてもガソリンスタンドが気の毒である.