Missing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate TagMissing Alternate Tag

PCCAA9

PCCAA8

Tuesday, 16 November 2010, 7:35:47 pm
「ステート」→「状態」

「それに関わる一組の関連」→「プロセスに関わる一連の関係」????

以上nqthm コメント完了です。

Tuesday, 16 November 2010, 7:20:29 pm
「メッセージを無期限に遅らせることができること(メモリー)、あるメッセージを他のメッセージへ変換すること(プロセッシング)」の「メモリー」は「記憶」に、「プロセッシング」は「処理」にした方が直接的だと思います。

「検索する名前がもう無いとなったときにターミネートします。」→「いかなる形においても名前が存在しなくなったときに終了します」

「そのような言語すべてがこれらたった二つの概念から簡単に導き出されるにもかかわらず、興味あることをすぐに行うためにいくつかの名前は先天的に意味を持っています。」→「そのような言語の全ては、たった二つの概念から簡単に導きだすことができますが、興味あることをすぐに行えるように、2、3の名前についてはあらかじめ意味を持たせています。」

「ひとつ以上が活動している時に座標やそれらのパスを「コントロール」する簡単な方法を持つべきである。」→「ひとつ以上のオブジェクトが動作している時に、各パスを調整したり「制御」する簡潔な方法を持つべきである」

「他のオブジェクトの言い方で」→「他のオブジェクトを使って」

以上nqthm


Tuesday, 16 November 2010, 6:56:40 pm
「ファイルとユーザー変数の概念を」って「ファイルの概念にユーザー変数を」だと思うんですが、具体的にどういう意味なんでしょうね。ちょっとわかりません。
「割り込みを許す多重コントロールパスの評価器」も不勉強でわかりませんでした。
「ユーザーたちの中の一人でも」は「ユーザーの誰もが」の方が近い気がする。
「すべての人へのすべてのもの」は「全ての人に対してあらゆることを」かな。
「ひとつの言葉」より「単一の言語」かな。
以上nqthm



Tuesday, 16 November 2010, 12:52:25 pm
projected priceのくだりは、「いずれ$15以下になると見込まれている」という意味ですかね? -- nqthm
「端末より以上」というのは「端末以上のもの」かな。-- nqthm
「命令密度/ビット」は「ビットあたりの命令の密度」の方が伝わるかな。 -- nqthm
「仮想アドレスのファイルデバイス」は「仮想アドレス空間のファイルデバイス」ですね。 -- nqthm

Since ~20 ICs is the current estimate of the number of chips needed in the DynaBook, we can be [page 9]reasonable sure that the electronics part of the device will package quite nicely.

DynaBookに必要となるICの数は現在の見積でせいぜい20個ほどなので、当然このデバイスの電子部品はとてもきれいにパッケージ化されるでしょう。

The processor is envisioned as being implemented as 1, or at most 2, LSI chips. Such devices already exist for less than $100 with a projected price of less than $15. They typically contain the equivalent of several thousand transistors; have registers for a program counter, arithmetic operations, an instruction return stack, etc.; and even may use a carry-lookahead arithmetic unit. A standalone "smart terminal" that uses one of these chips for a processor (and includes memory, a keyboard, a display and two cassettes) is now on the market for about $6000 (Datapoint 2200). -> Intel 4004!

そのプロセッサーは1個か多くても2個のLSIチップで実装されると予想できます。そのようなデバイスはもうすでに100ドル以下であって、いずれ15ドル以下になると見込まれています。それらの典型的なものは数千個のトランジスタと同等なものを含み、プログラムカウンタや数値演算や命令復帰スタックなどのためのレジスタを持っています。さらにキャリー先読み演算ユニットも使えるでしょう。
そんなチップのひとつをプロセッサーに使った(そしてメモリ、キーボード、ディスプレイ、2つのカセットがついた)スタンドアローンの「スマート端末」が6000ドルほどで市場に出ています(Datapoint 2200)。

Wikipedia: Datapoint 2200

Since the DynaBook is an attempt to be much more than a terminal, for much less cost, a great deal of careful thought needs to be expended on the processor-memory design. We would obviously like to maximize the use of expensive core replacement RAM; this can be done by:

1. Efficiently encoding the operators for maximum instruction density/bit.
2. Encoding the basic logical data element (the ordered set) to minimize space requirements.
3. Removing any systems routines from the RAM (including the interpreter) so that all of the space can be utilized by the user.
4. Mapping the virtual address space onto the file device, so that the RAM serves as a cache for the most recently used portions of memory. (Doubting Thomases, who feel that this would be worthless on a tape machine, are advised to consult the LINC literature (17,18) for a description of a similar scheme which has been successfully used for years by thousands of users.)
5. Eliminating the need for a resident "system" per se by merging the concept of files with user variables, by permitting the user to converse directly with the interpreter, and by using the multiple control path evaluator to allow interrupts, etc., to be handled within the system (7,8)

DynaBookはコストをおさえつつ端末以上のものであることを計画しているので、プロセッサー・メモリー設計にたくさんの注意深い思考を費やす必要があります。私たちは次のようにして、中心的で高価な部品であるRAMの利用を最大限にしたいと思っています。

1. ビット当たりの命令の密度を最大にするような演算子の効果的な符号化。

2. 基本的な論理データ要素(順序集合)が必要とするメモリ空間を最小にする符号化。

3. いかなるシステムルーチンもRAMから取り除く(インタープリタも含む)。これですべてのメモリ空間をユーザーが利用できる。

4. 仮想アドレス空間のファイルデバイスへのマッピング。これでRAMは最も新しく利用されたメモリ断片のキャッシュとして働く。(テープマシンではこれは役に立たないと思った疑り深い人は、LINCの文献(17,18)を調べると良いです。そこには同様の仕組みが何千人ものユーザーによって何年も使われるという成功を収めたことが載っています。)

5. 常駐する「システム」それ自体の必要性の排除。ファイルとユーザー変数の概念を融合することや、ユーザーがインタープリタと直接会話することを許可することや、割り込みを許す多重コントロールパスの評価器の利用などで成される。これらはシステムの内部で取り扱われるべきことである(7,8)。

"The though of the Middle Ages was not limited, but perhaps its vocabulary was."
-Williams

『中世の人々の思考には限界は無かった、
おそらく語彙にそれがあったのだろう』 - Williams

In what fashion should any one of a potentially wide variety of users communicate with himself through his machine? A language containing features that supply "all things to all people" is clearly not possible. Neither is an "extensible language" in the usual sense. With these two tempting sinkholes removed from consideration (by definition, as it were), what remains is a chance to present to a user a very simpleminded language (Which reveals the true state of programming semantics) that, nonetheless, is capable of a wide variety of expression. Well, just what is it that computers have over other message systems? For one thing, they can delay a message indefinitely (memory), they can transduce the message into other messages (processing), and they can represent transductions themselves as messages (procedures).

いったいどんな方法をとれば、広く多様な可能性のあるユーザーたちの中の一人でも自分のマシンを通して彼自身と意思疎通するのでしょうか?「すべての人に対してあらゆることを」を与えられる特徴を持つひとつの言葉というのは、明らかに不可能です。普通の意味で「拡張可能な言語」もだめです。これら二つの魅力的な落とし穴をを考えから外して(いってみれば当然です)、残ったものはユーザーにとても単純で飾りのない(本当のプログラミングの動作を明らかにする)言語をもたらすチャンスです。そのような言語は、単純にも関わらず、幅広い表現が可能です。さて、コンピューターの何が他のメッセージシステムの上を行くのでしょうか?一つは、メッセージを無期限に遅らせることができること(メモリー)、あるメッセージを他のメッセージへ変換すること(プロセッシング)、そして変換自体をメッセージとして表現できること(プロシージャ)です。

The use of this language is essentially divided into two activities: 1. giving names to objects and classes (memory association), and 2. retrieving objects and classes by supplying the name under which they had been previously stored. A process consists of these (activities) and is terminated when there are no longer any names under scrutiny. Although all of such a language can be easily derived from just these two notions, a few names would have an a priori meaning in order to allow interesting things to be done right away.

この言語を使うことは、本質的に異なる二つの活動に分かれます。1. オブジェクトやクラスへ名前をつける(メモリーの関連付け)。2. 以前に保存した時の名前を与えてオブジェクトやクラスを取り出す。プロセスはこれら(活動)によって構成され、調査される名前がもう無くなったときに停止します。そのような言語の全ては、たった二つの概念から簡単に導きだすことができますが、興味あることをすぐに行えるように、2、3の名前についてはあらかじめ意味を持たせています。

The following principles should be used in the design of the DynaBook language.

1. We need a uniform notion as to what objects are, how they may be referred to, and how they can manipulate other objects.
2. If each object can have its own control path, then there must be a concise way to coordinate and "control" these paths when more than one is active.
3. The evaluation of a control path should follow simple rules which show how objects are passed messages and return results.
4. Every object in a system should be redefinable in terms of other objects.

次にあげる原則がDynaBook言語のデザインに使われるでしょう。

1. 何のオブジェクトなのか、それらがどのように参照されるのか、他のオブジェクトをどのように取り扱うのかについての統一的な概念が必要である。

2. それぞれのオブジェクトが自分の制御パスを持つなら、ひとつ以上のオブジェクトが動作している時に、各パスを調整したり「制御」する簡潔な方法があるべきである。

3. コントロールパスの評価は、オブジェクト同士がどうやってメッセージを送り、結果を得るのかを示す単純な法則に従うべきである。

4. システム内のすべてのオブジェクトは他のオブジェクトを使って再定義出来るべきである。


The basic idea is to exploit the duality between functions and tables (or processes and memory). English has nouns which refer to "objects", and verbs which refer to "actors" and "relators". This is a Newtonian epistemology. Modern physics and philosophy tend towards the idea that both "objects" and "actors" are just different aspects of the notion of process. A process has state (a set of relations having only to do with it) which changes as time (defined as interactions with other objects) passes. Using this view "data" is a process which changes "slowly", "function" is a process which changes more rapidly. Each process has the logical attributes of a complete "micro" computer: they can have inputs, give back outputs, act as a memory on file system, perform computations, be interrupted, etc. Since a "computer" can simulate all other computers (modulo time and space), having the notion of a process in a language allows useful idea such as arrays, records, recursive procedures, etc., to be added to the the repertoire at any time.

基本的アイデアは関数とテーブル(もしくはプロセスとメモリー)の間の二重性をうまく利用するというものです。英語には名詞があり、それは「オブジェクト」に関連し、動詞があり、それは「アクター」や「話し手」に関連します。これはニュートン的認識論です。現代の物理学や哲学では、「オブジェクト」も「アクター」も単にプロセスの概念の異なる側面であるというアイデアに向かいつつあります。プロセスは状態(それに関わる一組の関連[having to do with it の訳に自信なし])を持ち、これは時間(他のオブジェクトとの相互作用として定義される)とともに変化します。この観点から見ると、「データ」とは変化の「遅い」プロセスであり、「関数」とは変化のより速いプロセスということになります。それぞれのプロセスはひとつの完全な「マイクロ」コンピューターとしての論理的な性質を持っています。つまり、インプットをとり、アウトプットを返し、ファイルシステム上のメモリーを演じ、演算を行い、割り込みを受けるなどが出来ます。「コンピューター」は他のすべてのコンピューターを(時間と空間の係数により)シミュレートできるので、言語がプロセスの概念を持っていれば、配列やレコードや再帰的手続きなどの有用なアイデアをいつでもレパートリーに加えることが出来ます。

The techniques for evaluating such a language directly by hardware are well known and are within reach of a single chip processor. (7)

このような言語をハードウェアにより直接実行する技術はよく知られていて、シングルチッププロセッサーに収まります。(7)

The notion of multiple control paths allows the separate notions of "files", "operating system", "monitor", etc., to be replaced by the single idea that the user is also a process (and thus has state which consists of variables and bindings, etc.). When he leaves the machine, his [page 10]process is passivated until the next time he rejoins his DynaBook.

多重コントロールパスの概念は「ファイル」「オペレーションシステム」「モニター」という分割された概念を、ユーザーさえもプロセスのひとつである(だから変数や結びつけられたものによって構成された状態を持つなど)という単一のアイデアによって置きかえることを許します。ユーザーがマシンを離れると、彼のプロセスは次に彼のDynaBookに再び入る時まで不活性化されます。

PCCAA10

Links to this Page