6

This question is related to a previous one that has been asked here before (How did AMD's 386 and 486 perform like Intel's newer generation?)

My question is-two fold:

  1. a) When AMD "reverse engineered" clones of the i386 (Am386) and i486 (Am486) what exactly was cloned? Was it just the microarchitecture alone, or did they literally get a copy of every transistor on the die? b) How exactly did AMD do the "clean room" reverse engineering? I'm not sure how that process would actually work!

  2. As per the previous question, AMD was known for launching versions of the cloned chips that operated at higher clock-speeds than Intel's own. A good example is the Am386 DX-40 which operated at 40MHz, when the best Intel 386 processor operated at 33 MHz. Wikipedia (note, not a good source) notes that it also had lower power consumption. How did AMD accomplish this? Was it just by shrinking the chip onto newer process nodes that Intel did not? Or did they make modifications to the chip to accomplish the higher clock speeds and lower power consumption? If yes, what modifications?

interested22
  • 169
  • 1
  • 4
    Just comments as I don't know enough about the specific situation (I'm sure Raffzahn will provide that) but: reverse engineering in this context means you look at what the device does (based on documentation, testing, etc.) and make something that does the same thing. Transistor level, possibly even microarchitecture is copying - that's a very different thing. As far as "clean room", here it refers to doing this without any prior knowledge of the inner workings - e.g., reproducing the instruction set without knowing the microcode. (Classic example is producing an IBM PC compatible BIOS – manassehkatz-Moving 2 Codidact Jan 09 '24 at 04:55
  • 1
    without using the actual code - code which was printed by IBM and also readily available by simply reading the BIOS ROM). – manassehkatz-Moving 2 Codidact Jan 09 '24 at 04:56
  • 1
    Wouldn't that mean that they need not even use the same microarchitecture? But I am operating under the assumption that AMD did in fact use the same microarchitecture. – interested22 Jan 09 '24 at 05:40
  • Quite possibly. Unfortunately, I don't know enough details to provide a full answer. I know that AMD did have some legal ability to produce certain Intel products (i.e., identical) and I know there were some products they did differently for legal and/or performance and/or other reasons. – manassehkatz-Moving 2 Codidact Jan 09 '24 at 05:55
  • Part 1 does feel quite like a close duplicate of the question already referenced, while part 2 may be_way_ too broad in asking fine details. – Raffzahn Jan 09 '24 at 09:21
  • 1
    @manassehkatz-Moving2Codidact oh what? So if you implement for example a risc-v compatible CPU (by looking at what it should do and by using extensive existing documentation), you're actually reverse-engineering it? – lvd Jan 09 '24 at 10:45
  • 3
    Yes. That's the very definition of 'reverse engineering' since it derives an implementation from observed behaviour, the reverse of having an implementation exhibit that behaviour. – dave Jan 09 '24 at 12:39
  • 6
    @lvd, yep. Engineering something is starting with requirements/specs and producing a final design. Reverse-engineering is starting with a final design, observing it and working back to precise requirements/specs. From those requirements/specs, you can design a new one that does the same. Those last two steps often get bundled together as reverse-engineering. – TonyM Jan 09 '24 at 13:14
  • @Raffzahn Is there a way you think I can modify part 2 (the part I am most interested in) to make it a better question? – interested22 Jan 09 '24 at 17:56
  • I don't know the details, but I thought there was some legacy agreement between the two companies that granted AMD access to Intel's microcode for a number of years. – Theodore Jan 09 '24 at 18:05
  • @interested22 Not really as it's asking for details wich are neither about history nor retrocomputing but fine details about chip design, so rather off topic on RC.SE. – Raffzahn Jan 10 '24 at 10:35

1 Answers1

1

They didn't clone it transistor by transistor, that would have violated Intel's IP.

AMD and Cyrix clones were basically functional clones, they clone the behaviour (as detailed in the technical specs). This was achieved by a strategy known as Clean Room Design.

However, most CPUs have unexpected behaviours that aren't properly documented (unofficial instructions, unofficial usage of flags, etc.). To maximize compatibility, they used several techniques of analysis:

  • Decapping of the original CPU. This means a physical microscopic analysis of the cloned Intel processor.
  • Logic analysis and brute force combination of opcodes and operands. They used to generate all possible instructions (including impossible/ilegal opcodes) with all type of operands and tracked how registers and flags were updated. Also, all the pins were tracked and analysed at the electrical level.

About your second question: based on the reverse engineering processes described above, AMD just made their own design so they had the chance to improve some aspects (i.e. clock frequency) but, frequently, those improvement were at the expense of other characteristics. For example, AMD CPUs used to be more powerful doing integer operations, while Intel processors remained the winners when it came to floating-point operations.

  • Do you have references that support these claims? I don't doubt you're correct, but it would be helpful if you could corroborate the assertions. – Toby Speight Feb 02 '24 at 20:55