1

The CPU I am most familiar with is the Z80 which was first released in 1976. The most complicated mathematical single instructions it has are integer ADD, SUB and closely related instructions, such as adding with carry.

As such, it doesn't even have multiplication or division or any on-chip support for floating-point numbers. I realise that there might be some special-purpose computers built with "advanced" maths from the same era but I'd like to know what the first mass-produced CPU was that had at least multiplication on it.

  • 2
    What is "mass produced"? 1k? 10k? 100k? – user40980 Feb 18 '16 at 3:11
  • @MichaelT In the '70s, maybe 1000. Today, maybe >1000000? Whatever was considered normal for mass production at the time. If fewer than 10 were made, then it's not mass-produced. There's no hard-limit. Common sense will have to prevail here. – CJ Dennis Feb 18 '16 at 3:26
  • 1
    @CJDennis: while theres no such thing as common sense in general, there is definitely no common sense in discussing early IC features. – whatsisname Feb 18 '16 at 4:58
  • Is this about microprocessors or CPU's in general. If it is the latter IBM was making computers with multiplication in the 1950's. The Motorola 6809 had hardware multiply in 1978'ish. – dbasnett Feb 19 '16 at 12:50
1

The PDP/8E from 1970 had an optional module to implement some additional microcode that included the instructions:

7501 - MQA or Multiplier Quotient with Accumulator

7421 - MQL Multiplier Quotient Load

Note that these were microcode rather than silicon on chip. As described in Group Three Microcoded Instructions :

On all models of PDP-8 prior to the PDP-8/E, the group three instructions were only implemented if the EAE option was present. If this option is absent on such machines, all group three instructions become no-ops.

On the PDP-8/E and following models, CLA, MQA and MQL instructions are implemented in the standard CPU, while the other operations are implemented in the optional EAE. Portable code should avoid relying on the availability of any of these instructions.

The CODE field and the SCA bit only function if the EAE is present; these should be zero unless specific EAE instructions are intended. These are documented elsewhere.

Note that warning that this wasn't for portable code. And while I don't have the actual specs in front of me, they appear to be little itty bitty hard coded programs running in cache than actual instructions.


The IMP-16 from 1973 had a multiply instruction as documented in section 7.4.3 of IMP-16 Programming and Assembler Manual

7.4.3 Multiply (MPY) - Extended Instruction Set

The multiply instruction automatically uses the first (AC0) and second (AC1) working registers. It is the programmers responsibility to store data from these registers before coding a multiply instruction.

The unsigned integer is the second working register (AC1) is multiplied by the positive integer in the effective address. The high-order part of the 32-bit result is stored in AC0 and the low-order part is stored in AC-1.

  • I recall the PDP-11 had a 2 operand register or memory MUL instruction, i.e. the real deal. I used to use it. I looked it up just now for confirmation. I think the first little pdp-11 was about 1970. PDP-8 is from 1960's. Don't know if the oldest version had multiply. (one bit serial ALU woo hoo!) I think IBM, Burroughs had multiply long before. Could we call mainframes mass produced? PDP-8 and PDP-11 definitely qualify. – joshp Feb 18 '16 at 6:30
  • @joshp and thats why this is an awkward post and I have two answers there. The first PDP8 line didn't have it... it was an optional add on until the PDP8/E. And even then, it wasn't done in silicon. And when you start going earlier than that, you start getting questions about vacuum tubes and was a huge mainframe that had CPUs the size of milk crates (or larger) and hand soldered "oops, need to fix that" on the boards something that was mass produced? Hackers by Levy talks about rewriting the PDP1 with different lines and fusing a couple of diodes. Mass produced gets fuzzy back then. – user40980 Feb 19 '16 at 0:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.