hns - 日記自動生成システム - Version 2.19.9

先月 2010年12月 来月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2010年12月10日(金) 旧暦 [n年日記] [更新:"2010/12/10 17:24:12"]

#1 [無題] エピソード記憶は金物・紙物 ? CPU の設計方式と関係する ?

エピソード記憶という文字をつぶやいたら、いろいろ思い着いた。
人間の記憶にはエピソード記憶 (episodic memory) と論理記憶があると言われている。 これは金物(hardware) なのか紙物 (software)なのかなと考えたら、 では、人間の脳には金物と紙物という差があるのだろうか。 エピソード記憶を担う部分と論理記憶を担う部分では、 神経細胞の接続に違いがあるのか、ないのか。 少なくとも、それぞれを担っている脳の部位があると思っている。

どうもエピソード記憶が得意な人と、 論理記憶の方が得意な人がいるような気がしている。一番簡単な図式化は、 エピソード記憶(文科系)、論理記憶(理科系)ではないかと思っている。

ちなみにエピソード記憶とは、この前、こういうような出来事があった、 誰さんと誰さんがね、あるところで、... というようなこと。
論理記憶とは、例えば地球は丸くて、太陽の回りを回っていて、それは何故かと言うと 重力というものがあって、引張っていて、... というような記憶

(いま Wiki Pedia を見たら、エピソード記憶と意味記憶となっている、そちらが正しいか)

そこで話は変って CPU の話。最初の半導体 1 Chip CPU は 4004 かと思うが、これは全て random logic というか、構成は全て配線で作られていた。 機能は配線で実現されているということになる。(Wired Logic という方が正しいかな)。

Motorola で言えば 6809 まではこの配線による構成だった。 その配線というのは人間が手作業で図面を作る。 それも最初の頃は紙の上に配線図を書いて、 それを人間が手作業で半導体マスクに変換(書直し)する

ところが CPU の規模が大きくなると、 この配線による構成では配線図を書いてからマスクにするまでに作業量が大きく、 期待される時間内に作業が完了しない。また配線誤りが入るすきも多い。

そこで、マイクロプログラムと言う方法が考案される。 金物的にはなるべく単純な構成にしておき、 それにプログラムを 1 か 0 の並べた形で配置(書く)ようにして、 設計工程を短縮する試みだ。これも Motorola で言えば 68000 がそれで作られた。 プログラムというのは、フローチャート(流れ図)とも言う。 CPU の動作をレジスタ、ALU をどう、どの順でつなぐか、という流れ図で書いておき、 それをプログラムにして、後から 1 か 0 を置くだけで良いようにしておく。

Motorola で言えば、この方法は、ある意味で成功し、M68030 まではそれなりの成果 を上げる。この方法では、レジスタ構成や一つの命令で実行する動作を高度にすることで性能を稼ぐ。 CISC Complex Instruction Set Computer という訳だ。 また、性能を稼ぐには Pipeline というものも使う。一つの動作(命令)を完了するの に、何段階かの動作が必要で、それを一つ一つ順次に実行していては、時間がかかる。 そこで、これらを並列に、行う方法をとるようになった。簡単に言って、 少なくとも、命令の取得、解析、実行、という三段階があり、また実行にはメモリからの読出、 メモリへの書込もあるので、これで四段階になる。 これを工場のべルトコンべア方式のように、 各工程は、その段階が終ると、すぐ次の命令に取りかかるようにして、見かけ上の(結果的な) 実行時間を短くする (実のところ、マイクロプログラム方式とパイプライン方式は、設計する上で、直接には連動しない。 それぞれを独立に採用、不採用することが可能である)。

マイクロプログラムで実装する方式は結果的には大変良い性能のものが作れる。しかし大きな問題があった。 構想してから実際に出荷出来るようなものを 作るまでに大変時間がかかる。二三年とかあるいはそれ以上というような話だ。

では、この設計作業の多くをしめる部分は何かという分析から、じゃもっと簡単に作れば、 出来たものがずうっと高速に動作すれば、後はプログラム(紙物)側でがんばった方が、 世の中に早く形として出せるのでは、という話になって、 RISC Reduced Instruction Set Computer が作られる。SPARC は、この形で最初に成功した 商品だ。ここで「プログラムでがんばる」と書いたが、実際には 「(人間が書くプログラムを機械に読める形にする)コンパイラにがんばってもらう」 ということになる。

さてこのマイクロプログラム方式は性能の良いものが作れると書いたが、この方式の CPU は、実は実行時間がかかる。 命令を解析して、分類したりするのに、 内部の (マイクロプログラム ROM) を参照する訳だが、それには内部の一段階の時間(クロック) が必要で、それがいくつかあると、その分の時間が必要になる。 ROM も大きくなると、それなりに読出までの時間がかかるということだ。

ここで大切な話が一つあって CAD とか EDA というようなことだけれど、大昔に人間がやって いた配線図からマスク生成の作業は計算機がやってくれるようになって、 もし人間がやるならとても時間のかかる、最初の頃にやっていた配線による構成でも、 難なく実現してくれるようになったということがある。 それに加えて必要な機能も配線図でなく、プログラムのように記述することも可能になってきた。

(という訳で、話は続く)



最近の日記
2019年12月08日
pbulk for NetBSD 9.0_RC1
Tool dependency checkperms>=1.1: NOT found
2019年11月30日
NetBSD-9.0_RC1-amd64-install.img.gz
2019年11月25日
一回目の大根を漬けた
2019年11月08日
math/py-tables
2019年11月03日
(Wanderlust) problem reading mail メールが読めなくなって
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)