IBM 604

The IBM 604 Electronic Calculating Punch was an electronic unit record machine that could perform multiple calculations, including division. It was introduced by IBM Corporation in 1948.[1][2] It could read a punched card from a deck, do some calculations based on the wiring of its plugboard, and punch results on the same card. A separate IBM 521 Card Read/Punch processed the cards and had its own plugboard which selected the columns to be read and those to be punched.[3] Considerable expectations for the future of the business rested on the 604, upon which a corresponding amount of planning talent had been invested. Some 5,000 were built.[4]

IBM 604 Electronic Calculator at NEMO national science museum in Amsterdam. Note plugboard control panel used to program the 604, at bottom.

Most of the circuitry was based on modifications of circuit designs used in the earlier 603 Electronic Multiplier and was packaged in small replaceable pluggable units, each typically containing one miniature vacuum tube. A limited number of standardized circuit designs were used, which made the product more easily manufactured and serviced.[5] The calculation unit contained 1,250 tubes.[6] Clock speed was increased from the 603's rate of 35kHz to 50 kHz. The 604 performed fixed point addition, subtraction, multiplication and division using BCD arithmetic.

Initial versions supported 40 program steps, and this was soon expanded to 60. Processing was still locked to the reader/punch cycle time, thus program execution had to complete within the time between a punched card leaving the read station and entering the punch station.

The 604 and a modified version, the 605, were used as components of the Card Programmed Electronic Calculators (CPC and CPC II). The 604 was also a component of the Test Assembly, a precursor to IBM's early computers. The circuit module design and packaging was also used for the IBM 650, a popular early computer.

An all-transistor version of the 604 was built and demonstrated in October 1954. Although it used about 2000 transistors[7] as opposed to 1250 tubes in the original, it occupied only half the volume, and used only 5% as much power. This was only an experimental machine, but its technology was used to build the IBM 608, which shipped in December 1957, and was the first solid-state computing product to be commercialized.[8]

An IBM 604 is preserved at the American Computer Museum and another at the University of Amsterdam Computer Museum.

Photos

gollark: I can write some code for this if desisred.
gollark: Surely you can just pull a particular tag of the container.
gollark: I can come up with a thing to transmit ubqmachine™ details to osmarks.net or whatever which people can embed in their code.
gollark: It's an x86-64 system using debian or something.
gollark: > `import hashlib`Hashlib is still important!> `for entry, ubq323 in {**globals(), **__builtins__, **sys.__dict__, **locals(), CONSTANT: Entry()}.items():`Iterate over a bunch of things. I think only the builtins and globals are actually used.The stuff under here using `blake2s` stuff is actually written to be ridiculously unportable, to hinder analysis. This caused issues when trying to run it, so I had to hackily patch in the `/local` thing a few minutes before the deadline.> `for PyObject in gc.get_objects():`When I found out that you could iterate over all objects ever, this had to be incorporated somehow. This actually just looks for some random `os` function, and when it finds it loads the obfuscated code.> `F, G, H, I = typing(lookup[7]), typing(lookup[8]), __import__("functools"), lambda h, i, *a: F(G(h, i))`This is just a convoluted way to define `enumerate(range))` in one nice function.> `print(len(lookup), lookup[3], typing(lookup[3])) #`This is what actually loads the obfuscated stuff. I think.> `class int(typing(lookup[0])):`Here we subclass `complex`. `complex` is used for 2D coordinates within the thing, so I added some helper methods, such as `__iter__`, allowing unpacking of complex numbers into real and imaginary parts, `abs`, which generates a complex number a+ai, and `ℝ`, which provvides the floored real parts of two things.> `class Mаtrix:`This is where the magic happens. It actually uses unicode homoglyphs again, for purposes.> `self = typing("dab7d4733079c8be454e64192ce9d20a91571da25fc443249fc0be859b227e5d")`> `rows = gc`I forgot what exactly the `typing` call is looking up, but these aren't used for anything but making the fake type annotations work.> `def __init__(rows: self, self: rows):`This slightly nonidiomatic function simply initializes the matrix's internals from the 2D array used for inputs.> `if 1 > (typing(lookup[1]) in dir(self)):`A convoluted way to get whether something has `__iter__` or not.

See also

References

  1. IBM Archive: 1948
  2. Research, United States Office of Naval (1953). A survey of automatic digital computers. Office of Naval Research, Dept. of the Navy. p. 47.
  3. IBM 604 Electronic Calculating Punch Manual of Operation 1948, 1954, International Business Machines Corporation, Form 22-5279-10
  4. Charles J. Bashe, Lyle R. Johnson, John H. Palmer, and Emerson W. Pugh, IBM's Early Computers, MIT Press, 1986, ISBN 0-262-02225-7, p. 61
  5. Pluggable Support for Electron Tube and Circuit US patent 2637763, filed July 9, 1948, issued May 5, 1953, Ralph L. Palmer
  6. Weik, Martin H. (March 1961). A Third Survey of Domestic Electronic Digital Computing Systems: IBM 604 Section. Ballistic Research Laboratories (BRL). Report No. 1115. Contains about 4 pages of IBM 604 survey detail: applications, customers, specifications, and costs.
  7. . 195411.pdf. "FORUM: All-Transistor Computer". Computers and Automation. 3 (9): 28–29. Nov 1954. Archived from the original on 2018-08-01. Retrieved 2018-05-29.CS1 maint: others (link)
  8. Pugh, Emerson W.; Johnson, Lyle R.; Palmer, John H. (1991). IBM's 360 and Early 370 Systems. MIT Press. pp. 34. ISBN 9780262161237. ibm 604 1954 ibm 608 1957.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.