5 ms·
Intel vs. NEC: The Case of the V20's Microcode
- FirmwareBurner 3y agoA few years ago I reed a comment on HN mentioning that NEC at the time had a product capable of reverse engineering the microcode of any CPU and that the tech was later sold off to another company who was into the business of emulation. Not sure how much truth there could be in this or if it's just a good sounding tech legend based on this lawsuit but if anyone has any details on this story that would be great.
- PaulHoule 3y agoI think Ken Shirriff has a product that can reverse engineer the microcode of any CPU from that time period.
- Stratoscope 3y agoRighto! It is called KaaS: Ken as a Service.
- timw4mail 3y agoI wonder what this would mean in regards to any Soviet clones. Those probably would have just copied the microcode though.
- kjs3 3y agoDepends on the clones. Some things they straight up copied, some things they 'reverse engineered' and produced a functional not exact copy. For example, they couldn't straight copy something that they didn't have the process to fabricate. We sometimes forget/ignore the fact the Soviets had very, very good engineers even if the system they were embedded in limited their achievement. For amusement: https://micro.magnet.fsu.edu/creatures/pages/russians.html https://micro.magnet.fsu.edu/creatures/pages/russians.html
- mananaysiempre 3y ago> "СВАКС... Когда вы забатите довольно воровать настоящий лучший" [...] is Cyrillic using Russian words for the phrase: "[C]VAX - when you care enough to steal the very best". That is... an accurate description of this string, yes. That is to say, it translates each English word with what could be a good translation in some context (except for one misspelling). The resulting sentence, though, is completely incoherent and impossible to understand if you can’t back-translate to English. (The alleged translation here was obviously done by some who didn’t know the language. As a side note, however, it’s also a fairly hard phrase to translate: slogans often are, because you don’t have as much surrounding text to reshape around any syntactical awkwardness; but this one specifically as well, because Russian lacks a good counterpart of the phrase “care enough to”, unless you can round it off to “need to”. And what do you know, I just checked both Google Translate and DeepL, and they both produce passable Russian meaning the wrong thing. ChatGPT 3.5 produces a plausible if imprecise try, then a marginally ungrammatical one once asked for more precision, and gives its usual slippery vacillations when asked if the translation is precise.) > Apparently this quotation was gleaned from a sign on a purloined VAX 780 used by the Soviet military So I doubt this part, unless the authors only had an English translation of the Russian original at them.
- kjs3 3y agoThe chip, and the engraving, are from 1987. Clearly, this will be a complete surprise to you, but in 1987 we didn't have google translate and chatgpt to think for us.
- mananaysiempre 3y agoI mean, given that both of those produced nice-sounding but wrong translations, that doesn’t count for much, does it? To borrow a saying, the correct tool to translate things into Russian is a Russian speaker (native or otherwise). But I didn’t actually mean to criticise, really. It’s just funny. (Not nearly as hilarious, say, the Russian passport in The Bourne Identity, but still pretty funny.)
- orbital-decay 3y agoDepends. Some CPUs were just ISA-compatible independent designs, such as the K1801VM1 popular in home computers, which used PDP-11 ISA; there never were any single-chip designs using that ISA to copy from. Some CPUs were clones modified to fit weaker domestic manufacturing capabilities, like KR580VM80A which had a revised design of the i8080. Some CPUs were almost literal reverse-engineered clones, including the copied microcode, for example K1810VM86 (8086).
- rasz 3y agoExplains existence of NEC V33 "instruction decode done by hardwired logic rather than a microprogrammed control store"
- EvanAnderson 3y agoReading the NEC V20/V30 user manual[0] is like viewing a document from some bizarro world where stuff is almost like things in our world. The register naming is close, the instructions are all there but with different names, and there are a few more instructions (I can see PUSHA and POPA in there-- two instructions I loved on my 286). I've got an old V20-based NEC laptop (the PC-1702, arguably an Ultrabook in its day) and I really should dig it out and try the 8080 emulation out. It doesn't look like it'd be too difficult to execute short 8080 routines. (Getting CP/M up and going looks like more work than would be reasonable for fun.) [0] https://www.ceibo.com/eng/datasheets/NEC-V20-V30-Users-Manual.pdf https://www.ceibo.com/eng/datasheets/NEC-V20-V30-Users-Manua...
- adrian_b 3y agoNEC V20/V30 implemented the entire 80186/80188 instruction set, hence the PUSHA and POPA that you have seen. Intel 80186 had been launched in 1982, simultaneously with 80286, i.e. 2 years before NEC V20/V30, so NEC had ample time to update their instruction set. NEC V20/V30 also implemented a mode when it directly executed Intel 8080 instructions, presumably to be able to execute some old CP/M applications.
- balou23 3y agoGoogling for NEC PC-1702 leads back to this post... did you misspell the model, or is just that obscure?
- EvanAnderson 3y agoI missed a hyphen (NEC PC-17-02) but it's also a bit of an obscure machine, too: http://old.chuma.org/ultralite/index.shtml http://old.chuma.org/ultralite/index.shtml I also mis-remembered the CPU. It's a V30, apparently. I carried mine in high school for note taking. It was a very nice little machine, albeit quirky. With no built-in mass storage aside from the "silicon disk" (2MB SRAM-based battery-backed SSD) using it was an exercise in using lightweight software.
- EvanAnderson 3y ago
- ngcc_hk 3y agoactually this is done at least for S/360 as it is no way to have one architecture for so different hardware. Hence, microcode is common idea when you have different hardware but same ISA I think in those days.
- klelatti 3y agoAuthor here. Just wanted to share one point I've been pondering after writing the article. The legal action over the V20 started when NEC sued Intel, not the other way around. I wonder if Intel held off suing NEC first as they felt that their legal case was weak - the two microcode programs were very different after all. Only during discovery would it have become clear that members of the NEC team who had seen the 8088 code had also worked on the V20. In the end a four year court case was probably a good outcome for Intel and starting the case possibly a mistake by NEC.