>From owner-simulators Fri Sep 29 13:45:52 1995 Received: from meitner.cs.washington.edu (meitner.cs.washington.edu [128.95.2.104]) by june.cs.washington.edu (8.6.12/7.2ju) with ESMTP id NAA07215; Fri, 29 Sep 1995 13:45:51 -0700 Received: from localhost (localhost [127.0.0.1]) by meitner.cs.washington.edu (8.6.12/7.2ws+) with SMTP id NAA24140; Fri, 29 Sep 1995 13:45:48 -0700 Message-Id: <199509292045.NAA24140@meitner.cs.washington.edu> To: rtcg@cs, simulators@cs Subject: [von Neumann 45], [Stern 81] First Draft of a Report on the EDVAC Date: Fri, 29 Sep 1995 13:45:47 PDT From: " pardo@cs.washington.edu" X-Message-Id: simulators@cs.washington.edu, message #1995-09-001 X-Unsubscribe: e-mail `majordomo@cs.washington.edu', body `unsubscribe simulators' X-URL: `http://www.cs.washington.edu/homes/pardo/sim.d/mail.d/index.html' %A Nancy Stern %T From ENIAC to UNIVAC \- An Appraisal of the Eckert-Mauchly Computers %I Digital Press %D 1981 %A John von Neumann %T First Draft of a Report on the EDVAC %I University of Pennsylvania %D 30 June 1945 %O Appears in [Stern:81], pp. 177-246 %X Build a computer starting from fairly basic principles. (pp. 218-219) ``We shall fix the size of such a number at 30 binary digits [[bits -Pardo]] ... To this must be added one unit for its sign ... and it is advisable to add a further unit in lieu of a symbol which characterizes it as a number (to distinguish it from an order ...'' I.e., a code/data tag bit. It's not clear to Pardo that the distinguishing bit is used. (pg. 237) ... discusion of control transfer instructions ... ``[A] transfer might provide [that control] should return to its connection to the [memory location] that fillows upon the one containing the transfer order [or that control] should continue with that [transfer location] and accept order from there on in thatural temporal sequence. It is conventient to call a transfer of the first type a _transient_ one and one of the second type a _permanent_ one. It is clear that permanent transfers are frewquently needed ... it seems very doubtful whether [transient transfers] are ever needed in true orders [and] can always be expressed by two permanent transfer orders.'' In short, the EXECUTE instruction! (pg. 240) Description of instruction encodings; notes the ``code/data'' bit. (pg. 242) ``immediate'' operands. (pg 244) Notes that ``code/data'' bit again. (pg. 243) Instruction words are 31 usable bits but only about 13 are used (instructions with immediate operands occupy two words). It might be possible to e.g., pack two instruction pser word but doing so should be avoided if it ... would slow overall execution ... and would save only the part of memory used for instructions, which is typically small compared to the data portion. Packing should only be done if it simplifies the logical structure of the code. [[RISC predates the first working programmable-store computer! -Pardo]]