スキップしてメイン コンテンツに移動

投稿

ラベル(PC)が付いた投稿を表示しています

4ビットマイコンで素数を求めてみた

最近、 大人の科学マガジン で 4ビットマイコン(GMC-4) が付いていると聞いて早速購入してみたのだが、ここまで面白いものだとは思わなかった。本物のコンピュータが付いて2,500円というのもの非常にリーズナブルだ。自分は純粋に楽しめたが、教育用に使うのも良さそうだ。雑誌自体はかなり薄い作りだが、内容はとても興味深いものだった。コンピュータの歴史から、ハードの仕組み、インタビュー、4ビットマイコンの説明など。読んでいるだけでワクワクする。 付録の4ビットマイコンにはGMC-4という名前が付いているが、これはGakken Micro Computerの略なんだそうだ。メモリはかなり貧弱で、プログラムメモリで00~4F番地まで、データメモリで50~5F番地までしかない。しかも、それぞれの番地は4ビットしか情報量を持たない。つまり1バイトを8ビットとすると、プログラムメモリで40バイト、データメモリで8バイトしかない。また、レジスタは補助レジスタをあわせて8種類あるが、同時に扱えるレジスタはAレジスタとYレジスタしかない。しかし、これだけの制約があると逆に挑戦してやろうと思ってしまうから不思議だ。 そこで、今回は素数を求めるプログラムを作ってみることにした。最初に考えた方法は、求めた素数をメモリに保存し、その素数を使って新たな素数を求めていくものだった。しかし、当然のように除算命令などないし、メモリが貧弱のため、求めた素数を取り置くのも難しい。そこで、求めた素数は使わずに、素数候補の数値を奇数で割っていき、その奇数が素数候補となるまで割り切れなければ素数とした。ここでは「割る」と書いたが、プログラム上では素数候補から奇数を引いていき、0になれば割り切れるとしている。このようにして求めた素数は数字LEDにそれぞれ一秒間表示される。今回は3~15(F)までの素数を求めた。それほど難しいプログラムであるわけでもないのに、数字LEDに3, 5, 7, b(11), d(13)と順次表示されるのを確認したときには妙に嬉しくなった。 久々のハンドアセンブルであったが、非常に楽しいものだった。当時もこのようにして夢中になったことを思い出した。もっとも、今回の4ビットマイコンは当時のZ80と比べてもかなり貧弱な環境だったが。素数を求めるプログラムもプログラムメモリ領域ぎり...

Evernoteを使わないと人生損する

Evernote を使っていないと人生を損していると思う。もちろん独断と偏見だけど。それにしても、もっと早くからこのようなサービスがあることを知っていればなぁ、と思ってしまう。それほどまでに個人的には画期的なアプリケーションであり、サービスであったのだ。 少し前にあるウェブサイトでEvernoteのことを知り、すぐにインストールした。しかし、イマイチその便利さが分からずしばらく放置していた。まず、どのように使えばいいか分からない。画像やPDFファイルなどを貼り付けることができるノートのようなものと云うことは分かったのだが、どこが便利なのか。普通にノートを取れば済む事ではないかと思ってしまったのだ。 それで、Evernoteはしばらく使っていなかった。ところで、自分は仕事用のノートを持っており、ミーティングやセミナー、仕事の進捗、ちょっとしたメモをこれに書いていた。ある日、以前行った仕事の手順を知るためにそのノートを見返してみたのだが、すぐに該当する箇所を見つけることができなかった。この時間の浪費はひどく損だ。特に仕事関係のメモは高い頻度で見返すことが多く、仕事の効率にも響く。そこで、Evernoteを思い出した。Evernoteならタグでグループ分けもでき、ソートや検索もお手の物だ。これは使わない手はないと、ここで初めて気が付いた。 それからしばらく使ってみたのだが、これがとても良い。まず、入力したメモやデータがオンラインストレージと同期されるので、どのPCからも同じノートを読むことができる。もちろん、オンラインでデータを扱うことに対しセキュリティが気になるようならローカルデータとして扱うこともできる。この場合、入力したPCでしか閲覧できないが。 また、普段PCを使って仕事しているので、仕事の進捗など一々ノートを取り出して開いてペンで書き込むという行為はそれだけで効率が落ちるのだ。EvernoteであればPCから離れることもない。さらに、仕事のデータ、例えば数値計算のグラフなどを画像のまま貼り付けることができるのも凄く便利だ。 自分は仕事柄、論文を読むことが多く、ほとんどの場合PDFで保存されているのだが、その管理が今までは非常に大変であった。ファイル名やフォルダでの分類に気を使って管理していたのだが、これだと手間が掛かり、ファイル数が多いとあ...

ファイルの管理ってそんなに大変?

たまにPCに入っているファイルを探し出すのが大変だと聞くことがある。また、OSの機能としてファイルの検索機能について大きく取り沙汰されることがある。それだけ、ファイル検索については世間で関心が持たれているのだろう。 しかし、個人的にはその感覚がよく分らない。PCの個人フォルダには10万件近いファイルを入れているが、ファイルを探し出すのに困ったことはほとんどない。逆に何でファイルを探し出すだけのことにそんなに苦労するかが分らない。 新しいPCを購入した時にまず行うのがディレクトリ(フォルダ)の作成だ。ホームディレクトリには必ず以下の7つのディレクトリを作成することにしている。そして、このディレクトリ以外はいかなるファイルも恒常的には置かないことにする。ただし、Windowsの設定ファイル(隠しファイル属性)やUnixのドット(.)ファイルなどはこの限りではないが。また、researchというディレクトリがあるが、私の場合、仕事=研究なのでこのようになっている。 bin data develop document network research temp それぞれのディレクトリは複数のサブディレクトリを持つ。それぞれをさらに分類するわけである。その分類の方法は該当するファイルの性質による。大抵はプロジェクト毎だとか、ジャンル毎で分けるが、日付が重要なものであれば日付で分ける。こうして分けておけば、取得したいファイルが何かさえ知っていれば迷うことはないと思う。もし、どうしても二つもしくは複数にまたがるような種類のファイルになってしまう場合は、コピーして同じファイルを持ったり、リンクを張ったりして、複数のファイルを持つことにしている。これで、どちらか一方で検索しても探し出せるわけだ。 また、Windowsでのフォルダ管理は別途ユーティリティを入れないと扱いづらいので、私は FileVisor を使って管理している。基本的にはエクスプローラと同じような感じであるが、様々なところで使いやすくなっている。特に、ファイルの中身検索やクイックアクセス、ファイルのアーカイブなどが便利だ。たとえば、多数のファイル群で構成されるプログラムコードの中から指定の変数などを探す場合、そのディレクトリ内から簡単に探し出すことができる。また、フォルダがある程度の深さの階層になっ...

Willcomが新しいモバイルコミュニケーションマシンを開発

メモ。Intelのモバイル機器向けCPU、Atomを搭載したWindows Vistaマシンになるそうだ。2008年6月提供予定。 新しいモバイルコミュニケーションマシンの開発について OSやCPUはなんでも良いので、とにかくサクサク動くものが欲しい。Vistaってところが不安だが…。いくら機能が充実していてもモッサリ動作では紙と鉛筆にすら劣ると思う。

HDDからSSDへ

最近、HDD(Hard Disk Drive)の代わりにSSD(Solid State Drive)を搭載したPCの話題を耳にする。SSDはハードディスクの代わりにフラッシュメモリを使っていて、耐衝撃や静音性に優れている。いいこと尽くめのようだが、これまでは、寿命や速度、それに容量や価格などに問題があり、HDDに代わるものとはなっていなかった。 しかし、ここに来て、寿命や速度がかなり改善され、さらに大容量化と低価格化が進んで、今年度中には250GBが台頭し、2~3年中にはHDDと置き換わるかもしれないとの予測が出てきている。 個人的には静かで衝撃に強く、しかも低電力で動作するSSDには大いに期待している。

遅いPCはいらない

仕事なりプライベートなりでPCはよく使う。しかし、最近特に動作の遅いことにイライラすることが多い。前に比べて自分が短気になったとかそういうことじゃないと思う。以前からも動作が遅いときにはイライラすることは普通にあったし。そういえば自分が子供のころはクソゲーの条件で最初に挙げられていたのが「動作が遅い」だったな。その当時から、とにかく動作が遅いだけですべてを台無しにすると思っていた。 まず、いつまでもHDDをカリカリ読み込んでいる時点で終わっていると思う。CPUだけ速くてもだめだ。これからのPCはこれを何とかしないと将来に期待が持てない。すべてオンメモリにするとか。それに肥大化したアプリケーションを何とかしないと。中間言語を使うソフトウェアもひどい。JITコンパイラも最悪だ。Javaと聞いただけで背筋が寒くなる。とにかくどれもこれも初期化に時間がかかるのだ。 また、起動や終了もひどい。自分の使っているノートPCを起動してすべてのスタートアップを読み込んでHDDが静かになるまで(ここが重要!)5分かかり、シャットダウンが完了するまでに2分半かかった。いい加減にして欲しい。つけて消すだけで7分半ですよ。飯が食い終わります。 とにかく、これがサクサクスイスイ動くのなら、今の10倍以上の速さで仕事をこなせると思う。そんな素敵なPCでないかな。少々値が張っても絶対買うと思う。 そういえばこの記事を書いていて一つ気が付いたことがある。CUI、いわゆるコマンドラインでのプログラムにイライラすることはほとんどない。それはプログラムに時間がかかったとしても、それを待っている間にほかの事ができるからだ。実行する前のコマンドライン入力自体で待たされることがないからだ。一方、GUIだとまず画面が表示されるまでに待たされる。その間、何もできない。この違いは決定的だ。 一つのプログラムだけ利用するならばGUIでも問題ない。しかし、PCは一つのプログラムだけで使うものではない。複数の様々なプログラムを同時に利用するのだ。

diNovo Edgeキーボード

diNovo Edge™ キーボード(DN-1000)が日本でも8月10日に出るらしい。充電式Bluetoothワイアレスキーボードだ。ガラスのような質感で外観もスタイリッシュでよい感じ。パナソニックのLet's noteでお馴染みのぐるぐるスクロールも搭載している。価格は24,800円と、現在、自宅でも職場でもメインで使っている HHKB Professional とほぼ同じ値段。 リビングにTV兼用のPCを購入したのでそこで使いたいが、子供たちも利用するのでちょっと考えてしまうなぁ。すぐに壊されてしまいそうだ…。

Assassin's Creed

Assassin's Creed はかなり良さそう。剣戟アクションを扱ったFPS(Shootingじゃないけど)みたいなもので、物理エンジンを利用した表現は特筆すべき。 Dark Messiah of Might and Magic よりも凄いらしい。期待大。