September 1st, 2021 ~ by admin

NEC’s Forgotten FPUs

NEC uPD70108C – V20 CPU – Late 1984

NEC had a cross license agreement with Intel dating back to April of 1976 that allowed each company to make/sell products based on each others patents.  This was particularly important in the 1970’s as having a viable ‘second source’ for your designs was considered critical for it to be viable in the market.  This was especially true for Intel, who wanted to get into the Japanese market. In 1979 NEC began to produce and sell the 8086 and 8088 processors.  NEC wasn’t going to succeed by just being a second source to Intel though, designing their own processors was of great importance.  While producing the 8086/8088 they also began working on their own version, which would be an enhanced 8086/8088 processor.

NEC V30 Die (courtesy Birdman) – 8086 with many enhancements

The result was the rather well known V20/V30 processors of 1984.  These were not just clones of the Intel MCS-86 (though determining this took several court cases and resulted in the Chip Act of 1984).  The V30 had some pretty big differences, notably, internally it had dual 16-bit busses, allowed data to be moved much more efficiently, as data could be moved into and out of a register at the same time (nearly).  It also increased the microinstruction word from 21 bits to 29 bits, added a hardware effective address generator, additional instruction pointers, and a hardware shift/loop counter.  Taking advantage of these features added some new instructions as well, 156 compared to the 8086’s base 133.  The V30/V20 were the beginning of a line of V-series processors.  NEC went on to make  ‘186/188 style processor (the V40/V50) as well as a series of microcontroller versions  (V25/V35 and others).  The V20/V30 were to be supported by a math coprocessor like the 8087 called the upd72091.  Very little info is available on the 72091 as it was cancelled very early on in its design, as by 1984-1985 it was already out of date.  Its replacement was to be a bit more powerful.

Design of the the upd72191 started likely at the same time the V30 was released, around 1984-85, with specifications released in 1986, and plans for chips by 1987.  This chip was in an advanced state of planning, such that many products, including motherboards (such as the Ampro Little Board PC) and industrial controllers designed with sockets for it.  Preliminary datasheets exist, but alas, no chips seem to be found.

LittleBoard PC (Ampro) with support for canceled upD72191 (V40 based)

The upd72191 was made in CMOS and is a bit like an enhanced 80C187 but with support for the V20/V30.  It is fully IEEE-754 compatible (the 8087 wasn’t as the standard wasn’t finished yet) and supports a similar instruction set as the 80C187 (and thus the 80387).  Unlike the 8087 it supports the full set of Exponential, Trig, Logarithmic, and Hyperbolic instructions.  The 8087 was somewhat limited in this, as it was already pushing the limits of what was possible on a single chip at thee time of its release.  The 72191 supports FSIN/FCOS which the 8087 doesn’t and many other functions (its full instruction set could not be found).  The 72191 has a mode pin that selects between interfacing between the V20/V30 and the V40/V50, (as these talked to coprocessors differently) so it was compatible with 4 distinct processors.  The 80C187 could only be used with the 80186 and the 8087 could only be used with the 8086/8088.

upD72191 FPU Block Diagram – 1986ish

Looking at the block diagram of the ‘191 we notice something else, its a dual bus design, much like the V30 processor.  Internally there are a pair of 74-bit busses for the mantissa (fraction) side and a pair of 16-bit busses for the exponent side.  This is a striking difference from that of the 8087 and the ‘187.  The 8087 has a single 16-bit bus for the exponent, and a 64-bit (68-bits into the shifter and ALU) for the mantissa.  There are 3 extra bits for enhanced accuracy, and a extra leading bit that is always 1 for floating point math, giving 64 bits of ‘data’.

The dual bus design makes sense as NEC did the same for the V-series.  Coupled with the right microcode, it can greatly enhance the speed of the FPU.   So why then is the bus expanded to 74-bits for the mantissa?   In the 80187 and 80387 this bus is still only 68-bits.  We look to the design of NECs follow on FPU for the answer.  The upd72291 (and its 32-bit bus 72691 version) are rather different beasts, made for the the V33/V53 x86 CPUs and V60/V70/V80 non x86-CPUs.  We’ll talk about them in more detail later, but they share the same 74-bit mantissa as the 72191, and in this case, the designers wrote a paper on its design.

The FPP [72691] is the only floating point processor that provides the power function xy.  This function (called FPOWER in the instruction set) is difficult to implement not only for its complex definition but also for sufficient accuracy. The equation Xy = e(y*logeX)
does not give good accuracy because the accuracy error of the log function is augmented by the exponential function.  The FPP solves this problem by providing a 74-bit data width for the mantissa data bus.

Being as the 72191 was canceled, the ‘291/691 would in fact have been the only FPU to support this in hardware, but it seems it was first implemented on the ‘191.  The solution only works well for larger (greater then 32) values of y, otherwise iterative multiplication is used, but where it can be used it greatly speeds up the calculation.

When the 72191 was canceled NEC thoughtfully provided a single chip solution called the upd9335C for allowing an 8087 to be interfaced to the V40/V50 processors which, like a 186, used a HOLD/HOLDACK bus release protocol instead of the 8086/8088s (and V20/V30s) REQUEST/GRANT.  For applications using a V20/V30, an 8087 could be used directly.

NEC upD70632R-20 20MHz V70 Processor

In 1989 NEC released the next of the V-series, the V60, V70 and later the V80 processors.  These were a departure from the previous in that they were no longer based on the x86 architecture, but rather a completely new ISA (though the V60 and V70 had a V20/V30 emulation mode).  These were full 32-bit designs, and were Japan’s first widely available 32-bit processors.  Of course with a new processor comes the need for a new FPU and NEC had not one, but 2 FPU options for these.  The upd72291 and upd72691 are based on the same design, but with some major feature differences.  The 72291 is designed to work with processors that have a 16-bit data bus such as the V60.  It also could be used with the older V33/V53 x86 designs.  Internally it has eight floating point registers and supports all your typical floating point functions as well as vector math functions.  The upd72691 is designed for 32-bit data paths, but adds a bit more…

NEC updD72291R-16 FPU

In addition to expanding the register set to 32 FP registers, the ‘691 also added a complete suite of matrix  math functions. The ‘691 was made on a 1.2u CMOS process and contained 433,000 transistors. (nearly 50,000 MORE then the V60 processor) Running at 20MHz it was capable of around 6.7MFLOP and supported 24 vector/matric instructions as well as 22 mathematical functions.  Like the 72191 it had a 74-bit mantissa datapath, but expanded the exponent path to 17-bits to support double extended precision number formats. It is a highly microcoded design using a 3072 word (43 bit word) microcode ROM, 20% for vector/matrix, 37% for arithmetic, and the rest for exceptions handling and other house keeping instructions. Interestingly, these microps themselves encode additional instructions that NEC call nano-ops, these controlled just the ALU operations of the instruction (the rest being bus control and sequencing).  These nano-ops were stored in a 256 word x 74-bit Nano ROM (only 120 words were used, the rest for potential expansion). This was the last of the line of NECs dedicated FPUs (excluding the few MIPS FPUs they made).  Its a bit ironic that it seems they canceled as many designs as they made.

…but perhaps they didn’t?

Read More »

Tags:
, , , , ,

Posted in:
CPU of the Day

December 11th, 2015 ~ by admin

Akatsuki: Dawn rises again at Venus

Akatsuki - Though by now its main antenna is probably brown or black from being baked by the sun

Akatsuki – Though by now its main antenna is probably brown or black from being baked by the sun – Powered by a NEC uPD55117B-018 16-bit processor.

Akatsuki, Japanese for Dawn, was launched in May of 2010 for a journey to the morning star, Venus, on a JAXA H-IIA rocket. The H-IIA flight computer runs on a space rated version of the NEC V70 32-bit processor, running the NEC RX616 RTOS.  A processor significantly faster than that of the interplanetary probe it was launching.

“it will have a short cruise to Venus, entering its long, elliptical orbit in December. Its mission should last several years. “

In space, things don’t always go as planned…

On December 7th Akatsuki entered orbit around Venus, December of 2015 rather than 2010.  Due to a valve in the fuel pressurization system not opening all the way the orbital insertion engine ran much too lean on its attempt to enter orbit, causing it to overheat and catastrophically fail.  This left the probe on a heliocentric orbit, moving away from Venus.  The Japanese Space Administration (JAXA) was not deterred, Akatsuki’s orbit would eventually meet up with Venus again, almost exactly 5 years later.  JAXA determined they could use the probes attitude control thrusters, which feed off the same fuel tank as the failed main thruster, to insert Akatsuki into a highly elliptical, yet still useful orbit.  Had the Attitude control system used a separate fuel system (which is actually the more common design method) this would not have been possible, as it would take a relatively large amount of fuel, fuel that was available on Akatsuki due to the main engine failing and being shut down before its burn was completed.  It should be noted that such a maneuver had never previously been even proposed, let alone attempted.  There was however another small problem…

Read More »

Tags:
, , ,

Posted in:
CPU of the Day

February 22nd, 2015 ~ by admin

NEC SX-ACE: Quad-core Vector Supercomputing

NEC SX-ACE Processor Prototype - 2013

NEC SX-ACE Processor Prototype – 2013

When Vector computing is mentioned, the first company that comes to mind is Cray.  Cray was the leading designer and builder of vector supercomputers since the 1970’s.  Vector computing is a bit different then general purpose computing.  Simply put, a vector computer is designed to perform an instruction on a large set of data at the same time.  Such vector support has been added to x86 (in the form of SSE) as well as the PowerPC architecture (AltiVec) but they were not originally designed as such. Cray however, is not the only such company.  In 1983 NEC announced the SX architecture.  The SX-1/2 operated at up to 1.3 GFLOPs and supported 256MB of RAM per processor.  By 2001 with the SX-5 and SX-6 performance had increased to 8 GFLOPS and supported 8GB of RAM per CPU.  For a short while Cray themselves marketed and sold NEC SX computers.  Each of the processors, from SX-1 to the SX-9 was a single core processor, but with the SX-ACE, that changed.

Read More »

Tags:
, ,

Posted in:
CPU of the Day

July 10th, 2014 ~ by admin

CPU of the Day: NEC 78C11 Sample and the 78K family

NEC uPD78C11 ES for Mask ROM

NEC uPD78C11 ES for Mask ROM

Most microcontrollers store the program they run in ROM, most of the time this ROM takes the form of a Mask ROM.  This means that its set at the factory when the die is being made, one layer (or more) of the die contains the ROM and the program is hardcoded into the device.  Development versions almost always exist that allow programs to be developed before the mass produced Mask ROM chip, but still the mask must be tested.

This is such an example from NEC.  It is a engineering sample of a uPD78C11 made in 1988.  the 78C11 (and many others in the 78k family) used a 64 pin QUIP (Quad Inline Package),  The 2 rows of staggered pins allowed for a 64 pin DIP in a much smaller foot print.  The only problem was these chips are extremely delicate.  They were designed to be soldered in and never removed.  The standard package was plastic, but for the sake of testing, these are ceramic (its a bid easier to place/bond the dies on small batches on a ceramic package)

The NEC 78k family was and continues to be very popular.  Its current version (the RL78) is made by Renesas, which was formed when Mitsubishi, Hitachi, and NEC joined their semiconductor businesses.  78K processors powered everything from word processors to washing machines and sewing machines.  Now they are also commonly found in automotive applications.

NEC uPD7811G - 1988

NEC uPD7811G – 1988

Like many modern microcontroller families the NEC 78k traces its lineage back to the 1970’s.  The family first appeared in 1980 as the uPD7801.  The 7801 was a microcomputer based on the NEC 780 which was NEC’s version of the Zilog Z80.  The 781x series released in 1982 expanded on the architecture by including an ADC, as well as a full 16-bit ALU (versus the 8-bit from the 780 and 780x) that even supported 16-bit multiply and divide.  The 16-bit ALU made it a simple task for NEC to again extend the architecture to a 16-bit version.  The instruction set was similar, though the naming was different then the Z80.  In 1985 NEC moved the 78k line to a CMOS process, reducing power requirements and increasing the max clock from 12 to 15MHz.

The inclusion of many peripherals made the 78k a popular choice for many embedded applications.  Its continued availability, and wide code base have allowed it to continue to thrive.  And once again, a ‘modern’ MCU is based on a design from the 1970’s.  Processor architectures rarely die, they just continue morphing.

October 16th, 2012 ~ by admin

Renesas: The Auto Bailout of the Semiconductor Industry

In 2003 Renesas Technology was formed as a joint company between Hitachi and Mitsubishi, combining their semiconductor operations.  In 2010 Renesas Electronics was created by the merger of NEC Electronics, and Renesas Technology.  This created the largest supplier of microcontrollers in the world, combining the product portfolios of NEC, Mitsubishi and Hitachi.  This allowed them to stop competing amongst themselves, and compete with Samsung, Infineon and other suppliers.

Renesas ended up with the following microcontroller families:

  • Hitachi: H8, H8S, H8SX, SuperH
  • Mitsubishi: M16, M32, R32, 720, 740
  • NEC: V850, 78K

In addition Renesas has developed it’s own designs including:

  • RX Series – a replacement for the Hitachi H8SX and Mitsubishi R32C designs.
  • RL78 Series – a replacement that combines the NEC 78k and Mitsubishi R8C devices
  • RH850 Series – successor to the NEC V850 for automotive use
  • R8C Series – Value derivative of the Mitsubishi M16C

Hitachi SH-3

One of the largest markets for these microcontrollers (and associated other parts) is the automotive industry, with today’s vehicles containing, on average, $350 in just IC’s per car.  $350 may not sound like much when a car costs $20,000, but the Average Sale Price (ASP) per component, is 33 cents, meaning there are, on average, over 1000 IC’s in a modern car, of which 50-100 are microcontrollers.  They do everything from run the stereo, to monitor and adjust engine parameters.  As more features (entertainment, navigation, stability control, etc) are added, the count goes up.

The market downturn in 2008-2009 hit the automotive industry, and is suppliers very hard.  With very small profit margins this hit Renesas very hard as well.  Combined with increasing competition from Samsung  Renesas has been driven into high levels of debt, and a distinct lack of profitability.

Read More »

September 25th, 2009 ~ by admin

(MMitsubishi + Hitachi = Renesas) + NEC = Renesas

Yah a bit of merger madness, NEC Electronics has merged with Renesas, further consolidating the Japanese microcontroller market. This will put the new company third in global IC sales, behind only Intel and Samsung.  It will be interesting to see which products survive the merger, as there will be some overlap.

What does this mean for CPU collectors? Just as happened when Mitsubishi and Hitachi merged, deprecated and eliminated devices will become increasingly hard to find data on.

Source: EE Times