The 8051 core is a processor architecture originally introduced by Intel in 1980. The original 8051 has become outdated in the interim, and has been improved by many manufacturers in hundreds of variants (derivatives). The original 8051 was a mask-programmable microcontroller. There was also a ROM-less version which was called 8031. For processing a command in the original 8051 cores, as least 12 pulses were needed. This is a clear indicator of a CISC command set.
Modern 8051 versions have been improved to the extent that a traditional command can be processed in only one pulse cycle. Program and data memories are logically separated in this core. As standard, only code from the program memory can be processed, and not from the data memory, but ways have also been found here to get round this. The architecture tends to be less well-suited for C-compilers. At that time, most programming was still done in Assembler; C had indeed been invented, but was not yet something a developer would focus on. Despite that, nowadays there are of course several C- compilers for simpler programming.
The core has performed well for years, and is still being used in many applications today, and that is going to continue, because there are plenty of programmers who can make use of an extensive software library. In the past, almost every semiconductor manufacturer had a microcontroller with an 8051 core in the range, but that is no longer the case. Many have already left the market, or have simply raised their prices.
There are a few exceptions, however, and they still have state of the art 8051 products in the line card, at very aggressive prices. The peripheral elements included are of the very latest format, and thanks to the range of different manufacturers it is possible to fulfil almost every requirement.