# 78K

78K is the trademark name of 16- and 8-bit microcontroller family$^{:23-4–23-5}$$^{:78}$ manufactured by Renesas Electronics, originally developed by NEC$^{:229}$ started in 1986.$^{:7,line2}$ The basis of 78K Family is an accumulator-based register-bank CISC architecture. 78K is a single-chip microcontroller, which usually integrates; program ROM, data RAM, serial interfaces, timers, I/O ports, an A/D converter, an interrupt controller, and a CPU core, on one die.$^{:412}$
Its application area is mainly simple mechanical system controls and man-machine interfaces.
Regarding software development tools, C compilers and macro-assemblers are available.$^{:99}$ As for development tool hardware, full probing-pod type and debug port type in-circuit emulators, and flash ROM programmers$^{:22–24}$ are available.
Historically, the family has 11 series with 9 instruction set architectures. As of 2018, 3 instruction set architectures, those are 8-bit 78K0, 8-bit 78K0S, and 16-/8-bit 78K0R, are still promoted for customers' new designs. But in most of cases, migration to RL78 Family, which is a successor of 78K0R and almost binary level compatible with 78K0R,$^{:20}$ is recommended.

## Variants
### 78K0 Series

78K0 Series [de; jp] (also known as 78K/0) is a long-running 8-bit single chip microcontroller, which is the basis of 78K0S [jp] and 78K0R Series. It contains 8× 8-bit registers ×4 banks. For 16-bit calculating instructions, it performs ALU operation twice. Each instructions are performed serially without instruction pipelining. It has 16-bit 64K Byte address space. Some variants of 78K0 have affordable and compact type 8-bit R-2R D/A converter, which does not have monotonicity because it is not trimmed for adjustment nor followed by operational amplifier.
In its earlier stage, the Program Memory was one-time PROM (OTP), UV-EPROM, or mask ROM. But with the times, it became flash memory.

### 78K0S Series

78K0S Series (also known as 78K/0S) is a low-end version of 78K0. It has 8× 8-bit registers, but without any banks. In addition, some instructions, such as multiplication and division, are removed from 78K0 instruction set architecture.

### 78K0R Series

78K0R Series is a 16-bit single-chip microcontroller with 3-stage instruction pipelining. Its instruction set is similar to 78K0 and covers 16- and 8-bit operations. It has 20-bit 1M Byte address space. 75 instructions out of 80 are identical with that of RL78 Family; its successor.$^{:20}$

### 178K0 Series

178K0 Series (also known as 178K/0) is a successor of NEC's 17K Family 4-bit microcontroller for DTS (Digital Tuning Systems) and remote controls. It integrates 17K family's peripheral functions with the 78K0 8-bit CPU core on a chip.

### 178K0S Series

178K0S Series (also known as 178K/0S) is also a successor of 17K Family with the 78K0S CPU core.

### 78K4 Series

78K4 Series (also known as 78K/4) is a 16-bit single-chip microcontroller with 16 and 8-bit operations. It has 16× 8-bit registers ×4 banks, which can be also used for 8× 16-bit registers ×4 banks. Some of these registers can be also used as 24-bit extension for addressing modes. It has 24-bit 16M Byte address space. It has microcode-based operations named Macro Service with interrupt functions.$^{:§23.8,560–593}$

### 78K7 Series

78K7 Series (also known as 78K/7) is a 32-bit single-chip microcontroller with 32, 16 and 8 bit operations. It has 8× 32-bit registers ×16 banks, which can be also used for 16× 16-bit registers ×16 banks and 16× 8-bit registers ×16 banks. It has microcode-based operations named Macro Service with interrupt functions. It has 24-bit 16M Byte linear address space. It is used for some Quantum Fireball products,$^{:Photo2}$ but shortly replaced with V850 Family 32-bit RISC microcontrollers.

### 78K6 Series

78K6 Series (also known as 78K/6) is a 16-bit single-chip microcontroller. Its life-time was short, and less variants.

### 78K1 Series

78K1 Series (also known as 78K/1) is an 8-bit single-chip microcontroller. It has 8× 8-bit registers ×4 banks. 78K1 series is targeted for servo controls of videocassette recorders. μPD78148 sub-series integrates 2 operational amplifiers.

### 78K3 Series

78K3 Series (also known as 78K/3) is a 16-bit single-chip microcontroller with 16 and 8 bit operations. It has 16× 8-bit ×8 banks, which can be also used for 8× 16-bit registers ×8 banks. Its address space is 16-bit 64K Byte. It is developed as high-end series of 78K Family. It has microcode-based operations named Macro Service with interrupt functions.$^{:§13.4,261–280}$
This series is used for hard disk drives, especially Quantum Fireball Series. μPD78364 sub-series is used for inverter compressor controls. It is also used for traction control systems of some cars.

### 78K2 Series

78K2 Series (also known as 78K/2) is an 8-bit single-chip microcontroller. It has 8× 8-bit registers ×4 banks. It is developed as general purpose series of 78K Family.

## Predecessors
### 87AD Family

87AD Family$^{:229}$ is an 8-bit single-chip microcontroller. It has 8× 8-bit registers ×4 banks. Its instruction set architecture became the basis of 78K.

### 17K Family

17K Family$^{:229}$ is a 4-bit single-chip microcontroller, especially dedicated for DTS (Digital Tuning Systems) and remote controls. It has 2 plane of 128× 4-bit register files, and sophisticated fully orthogonal instruction set. This instruction set is completely different from that of 78K Family.

## Table list of 78K Family

| Series | ALU | Registers | Instructions | Pipeline | Remark | Documents |
| RL78-S3 | 16-bit | 8× 8-bit ×4 banks | 81 (75+6) | 3-stage | Successor of 78K0R | $^{:8}$ |
| RL78-S2 | 16-bit | 8× 8-bit ×4 banks | 75 | 3-stage | Successor of 78K0R | $^{:8}$ |
| RL78-S1 | 8-bit | 8× 8-bit (no bank) | 74 (75-1) | 3-stage | Successor of 78K0R | $^{:8}$ |
| 78K0R | 16-bit | 8× 8-bit ×4 banks | 80 (75+5) | 3-stage | Extended 78K/0 | $^{:18}$ |
| 78K0S | 8-bit | 8× 8-bit (no bank) | 47 | none | Simplified 78K/0 | |
| 78K0 | 8-bit | 8× 8-bit ×4 banks | 48 | none | Basic 78K/0 core | |
| 178K0S | 8-bit | 8× 8-bit | 47 | none | 78K/0S for DTS; $^{DigitalTuningSystem}$ | |
| 178K0 | 8-bit | 8× 8-bit ×4 banks | 48 | none | 78K/0 for DTS | |
| 78K4 | 16-bit | 16× 8-bit ×4 banks | 113 | none | Macro service available | $^{:24,128}$ |
| 78K7 | 32-bit | 16× 16-bit ×16 banks | | none | Macro service available | |
| 78K6 | 16-bit | | | | Macro service available | |
| 78K1 | 8-bit | 8× 8-bit ×4 banks | 64 | none | For VCR servo controls | $^{:3,39}$ |
| 78K3 | 16-bit | 16× 8-bit ×8 banks | 113–115 | none | Macro service available | $^{:3–28,45}$ |
| 78K2 | 8-bit | 8× 8-bit ×4 banks | 65 | none | General purpose | $^{:16,50}$ |
| 87AD | 8-bit | 8× 8-bit ×2 banks | CMOS: 159 NMOS: 158 | none | Predecessor of 78K | $^{:21,39}$ |
| (17K) | 4-bit | 128× 4-bit ×2 banks | 47 | none | Predecessor of 178K | |