page_title: IBM 604
hierarchical_section_title: IBM 604
caption_attribution_description: This programmable electronic calculator uses some 1400 electron tubes; its weight is more than 600 kilograms. Instead of using a keyboard and screen, input and output was by means of punched cards. The punched card machine (almost the same size as the 604 itself) is not shown here. The 604 was IBM's 2nd step into the realm of electronic calculators, and at the time had many innovative features. But it differs in so many ways from modern calculators (speed, size, ease of use, reliability, price...) that you can hardly compare them. Visit my blog at &lt;a href="http://ideonexus.com"&gt;ideonexus.com&lt;/a&gt; for science news and speculation.
context_page_description: 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. 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.
  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.
  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. The calculation unit contained 1,250 tubes.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.
context_section_description: 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.  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.
  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. 
  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. The calculation unit contained 1,250 tubes.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 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.
  An IBM 604 is preserved at the American Computer Museum and another at the University of Amsterdam Computer Museum.
caption: IBM 604 Electronic Calculator at NEMO national science museum in Amsterdam. Note plugboard control panel used to program the 604, at bottom.
exif: {"Image ImageWidth": "2048", "Image ImageLength": "3072", "Image BitsPerSample": "[8, 8, 8]", "Image PhotometricInterpretation": "2", "Image Make": "Canon", "Image Model": "Canon EOS DIGITAL REBEL", "Image Orientation": "Horizontal (normal)", "Image SamplesPerPixel": "3", "Image XResolution": "180", "Image YResolution": "180", "Image ResolutionUnit": "Pixels/Inch", "Image Software": "Adobe Photoshop Elements 14.0 (Windows)", "Image DateTime": "2016:01:09 21:48:06", "Image YCbCrPositioning": "Centered", "Image ExifOffset": "308", "Thumbnail Compression": "JPEG (old-style)", "Thumbnail XResolution": "72", "Thumbnail YResolution": "72", "Thumbnail ResolutionUnit": "Pixels/Inch", "Thumbnail JPEGInterchangeFormat": "1210", "Thumbnail JPEGInterchangeFormatLength": "7328", "EXIF ExposureTime": "3/5", "EXIF FNumber": "28/5", "EXIF ISOSpeedRatings": "400", "EXIF ExifVersion": "0221", "EXIF DateTimeOriginal": "1980:01:01 00:11:04", "EXIF DateTimeDigitized": "1980:01:01 00:11:04", "EXIF ComponentsConfiguration": "YCbCr", "EXIF CompressedBitsPerPixel": "3", "EXIF ShutterSpeedValue": "24149/32768", "EXIF ApertureValue": "162885/32768", "EXIF ExposureBiasValue": "0", "EXIF MaxApertureValue": "118447/32768", "EXIF MeteringMode": "Pattern", "EXIF Flash": "Flash did not fire, compulsory flash mode", "EXIF FocalLength": "18", "EXIF FlashPixVersion": "0100", "EXIF ColorSpace": "sRGB", "EXIF ExifImageWidth": "2048", "EXIF ExifImageLength": "3072", "Interoperability InteroperabilityIndex": "R98", "Interoperability InteroperabilityVersion": "[48, 49, 48, 48]", "Interoperability RelatedImageWidth": "3072", "Interoperability RelatedImageLength": "2048", "EXIF InteroperabilityOffset": "1060", "EXIF FocalPlaneXResolution": "768000/223", "EXIF FocalPlaneYResolution": "409600/119", "EXIF FocalPlaneResolutionUnit": "2", "EXIF SensingMethod": "One-chip color area", "EXIF FileSource": "Digital Camera", "EXIF CustomRendered": "Normal", "EXIF ExposureMode": "Auto Exposure", "EXIF WhiteBalance": "Auto", "EXIF SceneCaptureType": "Landscape"}