This is a follow-on from my late 1960s calculator discussion.
It covers the progression from discrete transistor technology, through SSI, MSI and ultimately LSI devices - specifically those used by Hewlett Packard in the very early 1970s.
HP had released a transistor based programmable, scientific desktop calculator back in 1968 the HP9100A.
The HP 9100A is well documented in the September 1968 issue of the HP Journal
http://hparchive.com/Journals/HPJ-1968-09.pdfWhilst other manufacturers were engaged in producing basic 4 function calculators, HP focussed on a different market, a machine that could be used for scientific and engineering calculations.
The HP 9100A was the first scientific calculator, in modern parlance, capable of calculating trigonometric, logarithmic and exponential functions, and in calculator terms it was fast performing an add in 2mS and a Sin, Cos or Tan in 280mS.
The HP 9100A was a very expensive desktop machine, around $5000 in 1968, when a PDP-8 sold for less than $20,000.
It used Reverse Polish Notation (RPN) and was a stack based machine.
Wikipedia covers it here:
https://en.wikipedia.org/wiki/Hewlett-Packard_9100ABill Hewlett was inspired by the 9100A project and challenged the engineers to come up with a 9100A equivalent that fitted into an engineer's shirt pocket.
http://codex99.com/design/the-hp35.htmlThis challenge had to wait until November 1970, when LSI had progressed to the point where a cpu could fit onto a chip or two, and low voltage logic and small ROMs were becoming commercially available.
The lead engineer, Dave Cochran from HP contacted Fairchild to discuss modifying one of their 4 function chip sets, but Fairchild were not interested. However Fairchild put them in contact with their customer, Sweda - the cash register company, and it was this Sweda bit serial design that formed the original basis of the HP pocket calculator series.
After cpu modifications were simulated by computer (an HP first) the modified logic design was passed over to Mostek for implementation in MOS as a two chip set: Arithmetic and Registers and Control and Timing. The mask programmed ROMs were handled separately by AMI.
The cpu was a bit serial design, specifically designed to handle floating point BCD arithmetic. It was a Harvard architecture receiving 10-bit wide instructions from ROM. Internally it worked with 56 bit wide registers (14 digits) which included 10 digit mantissa, 2 digit exponent and a digit for each of the mantissa sign and the exponent sign.
Internally there were 7, 56 bit wide registers, A and B were general purpose, C held the results to display and a 4 level push down stack was formed from 4 registers X,Y, Z and T.
Not all register to register moves were implemented, for simplicity, only certain permutations were possible.
The HP 35 program was contained in three, 256 x 10-bit ROMs. These were addressed serially using an 8-bit serial address bus. This was similar to page addressing, and extra logic was required to "page-select" which ROM was currently being addressed. This scheme allowed for up to 8 ROMs (or RAMs) to be addressed.
Later calculator models would retain the same processor, keyboard and display circuitry, but would be customised for various market functions by changing the number and contents of the ROM. Eventually a 1024 x 10-bit ROM became available, but it still retained the same basic ROM addressing structure. Sending only 8 serial bits to address a ROM is faster than sending a full 10 or 11 bits.
Not only were ROMs addressed on a serial address bus, but the 10-bit data was returned on a serial instruction bus. The HP 35 was clocked at 200KHz (800kHz divided by 4 to produce a 2 phase clock and internal timing signals) but this was sufficiently fast that all trig, log or exponential functions could be calculated in under 500mS. Whilst this serial addressing and arithmetic would be slow by contemporary minicomputer standards, it was sufficient for the calculator application.
The internal serial bus was created to keep inter-chip signals to a minimum. The HP engineers envisioned a series of peripherals, such as printer or card reader that could also be connected to the cpu using the serial bus. This serial bus is effectively an early cousin of the now-ubiquitous SPI serial communications standard.
The HP 35 and it's successors became popular with engineers and this has led to an interest in the reverse engineering and simulation of its workings. ROMs have been de-capped and their contents explored using examination under the microscope.
A lot of details of the trig functions and reverse engineering of the HP 35 operation can be found here:
http://home.citycable.ch/pierrefleur/Ja ... 20Saga.htmSo far, I have not found any specific data on the HP 35 cpu, but as it was used across a range of calculators, it crops up in an early patent (filed in 1972) for a business calculator.
Fortunately there is significant detail in this patent, including block schematics, timing charts, instruction sets and even a ROM dump.
This patent (US 3863060) can be found on Google Patents here
https://patents.google.com/patent/US3863060A/enand as an easier pdf here:
https://www.keesvandersanden.nl/calcula ... 863060.pdf