78K

From Wikipedia, the free encyclopedia
(Redirected from NEC 78K)
Jump to navigation Jump to search
78K Family microcontrollers
General information
Launched1986; 40 years ago (1986)
Discontinuedcurrent
Common manufacturer
  • Renesas Electronics
    (formerly NEC)
Performance
Max. CPU clock rate32 kHz to 24 MHz
Data width16/8
Address width20(24)/16
Architecture and classification
ApplicationEmbedded
Instruction set78K Family
Physical specifications
Cores
  • 1
Products, models, variants
Variant
  • 78K0R, 78K0S, 78K0,
    78K4, 78K6, 78K3,
    78K7,
    78K1, 78K2
History
Predecessors87AD Family,
17K Family
SuccessorRL78 Family
File:Minicube 78K0.jpg
78K0/KX1+ board with in-circuit emulator; MINICUBE
File:78K0S Do-It.jpg
78K0S/KA1+ Do It board
File:78K0R Cool-It.jpg
78K0R/KG3 Cool It board with in-circuit emulator; IECUBE (formerly, MINICUBE2)

78K is the trademark name of 16- and 8-bit microcontroller family[1]: 23-4–23-5 [2]: 78  manufactured by Renesas Electronics, originally developed by NEC[3][4]: 229  started in 1986.[5]: 7, line 2  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.[6][7]: 412 

Its application area is mainly simple mechanical system controls and man-machine interfaces.[8][9][10]

Regarding software development tools, C compilers and macro-assemblers are available.[11]: 99  As for development tool hardware, full probing-pod type and debug port type in-circuit emulators,[12][13] and flash ROM programmers[14]: 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.[14] But in most of cases, migration to RL78 Family,[15] which is a successor of 78K0R and almost binary level compatible with 78K0R,[16]: 20  is recommended.[17]

Variants

[edit | edit source]

78K0 Series

[edit | edit source]

78K0 Series (de; jp) (also known as 78K/0) is a long-running 8-bit single chip microcontroller,[18] 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.[19] 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.[20] But with the times, it became flash memory.[21][22]

78K0S Series

[edit | edit source]

78K0S Series (also known as 78K/0S) is a low-end version of 78K0.[23][24][25] 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.[26]

78K0R Series

[edit | edit source]

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

178K0 Series

[edit | edit source]

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.[30] It integrates 17K family's peripheral functions with the 78K0 8-bit CPU core on a chip.[31]

178K0S Series

[edit | edit source]

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

78K4 Series

[edit | edit source]

78K4 Series (also known as 78K/4) is a 16-bit single-chip microcontroller with 16 and 8-bit operations.[33][34][35][36] 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.[37] It has 24-bit 16M Byte address space. It has microcode-based operations named Macro Service with interrupt functions.[38]: §23.8, 560–593 

78K7 Series

[edit | edit source]

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,[39]: Photo 2  but shortly replaced with V850 Family 32-bit RISC microcontrollers.

78K6 Series

[edit | edit source]

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

78K1 Series

[edit | edit source]

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.[40]

78K3 Series

[edit | edit source]

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.[41]: §13.4, 261–280 

This series is used for hard disk drives, especially Quantum Fireball Series.[42] μPD78364 sub-series is used for inverter compressor controls.[43] It is also used for traction control systems of some cars.

78K2 Series

[edit | edit source]

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.[44]

Predecessors

[edit | edit source]

87AD Family

[edit | edit source]

87AD Family[4]: 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.[45]

17K Family

[edit | edit source]

17K Family[4]: 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.[30]

Table list of 78K Family

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

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Archived: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  19. ^ a b c Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  20. ^ Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  22. ^ Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  25. ^ a b c Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  26. ^ Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  28. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  29. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  30. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  31. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  32. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  37. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  38. ^ Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  39. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  40. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  41. ^ Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  42. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  43. ^ Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  44. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  45. ^ a b Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  46. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  47. ^ Renesas official: Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]