13

Looking at https://upload.wikimedia.org/wikipedia/commons/c/c1/Commodore-64-1541-Floppy-Drive-04.jpg I started thinking the following:

There are too many chips in that drive. It is crying out for a cost-reduced version. (The price of the 1541, was one of the short list of complaints people had about the Commodore 64.)

The 1541 actually contains a 6502 CPU.

But that CPU is only about 3500 transistors. By the mid-80s, at least as far as chip area goes, it would have been easy to merge it into another chip. In this case also legally no problem for Commodore, as they owned MOS Technology.

Now that I think about it, I don't remember CPU cores ever being merged into other chips, not in those days. It happens nowadays, of course, but I don't remember hearing about it happening in the 80s.

Was any CPU core ever merged into another chip, in the 8-bit era?

11
  • 9
    What you got in those days were single-chip microcontrollers, which contained a CPU core and peripherals. Intel 8048 and 8051 are examples of this. The instruction set architectures were different from other processors, e.g. Intel 8080. Motorola did produce 6800 ISA based microcontrollers. I can't seem to find any 650(0/2) based microcontrollers. I would suppose that this microprocessor was used because the designers had experience with it. I once did an internship at a computer company, and they had built (in the 70's) their own HDD controllers based upon 8048.
    – chthon
    Feb 7 at 16:03
  • 4
    It's called a micro-controller and present almost as long as the micro-processor. Also, the1541 was a main profit item for Commodore, with no competition. There was no reason for Commodore to lower that price in any way. Anyone who already bought a low priced C64 had to bite the bullet and buy a 1541 to the sound of money drained.
    – Raffzahn
    Feb 7 at 18:08
  • 4
    @Raffzahn Maybe, but just because you're going to charge a high price, doesn't mean you don't want to cut manufacturing cost. You can keep the difference as profit! Look at the profit Apple made on their floppy drives.
    – rwallace
    Feb 7 at 19:42
  • 3
    Sharp LR35902 in Gameboy? Seems to be cpu + ppu + apu
    – Selvin
    Feb 7 at 19:49
  • 5
    @rwallace Sure, but Apple is a different case, here reduction was gained by a clever design. Not needing components (like another CPU) is he lowest cost possible. Reducing components comes next. Both need good engineering. In contrast, creating new components needs that engineering plus chip development plus need to spend production time on those new components (while no others can be made) plus making any error even more costly. Al of that only with noticeable up front investment. Not what Commodore under Tramiel was known for, while after Tramiel the C64 was just continued. Amiga it was.
    – Raffzahn
    Feb 7 at 20:19

11 Answers 11

26

The answer is, yes, and before the 1980s.

For example, Nintendo released the NES in 1983, and the Ricoh 2A03/2A07 microprocessors integrated an unlicensed MOS Technology 6502 core derivative with a programmable sound generator which also contained a simple DMA system.

And the MOS 6510 itself is a 6502 CPU integrated with an I/O port. I don't know the exact release date but it was already used on C64, released in 1982.

The Motorola 6800 was also integrated with memory and sold as 6802, in 1977. The 6801 integrated 6846 so it had ROM, IO, and timers, released in 1977 or 1978.

Intel also released their first microcontroller series, the MCS-48, in 1976.

It appears the first ever microcontroller was TI TMS1000, introduced in 1974.

1
  • 3
    Not to forget all the 6500 variations Mitsubishi build all the years.
    – Raffzahn
    Feb 7 at 21:36
20

Was any CPU core ever merged into another chip

Arguably, that is the definition of a microcontroller. From Wikipedia:

A microcontroller (MC, UC, or μC) or microcontroller unit (MCU) is a small computer on a single integrated circuit. A microcontroller contains one or more CPUs (processor cores) along with memory and programmable input/output peripherals.

A typical example on the Intel side is the 8051:

  • 8-bit CPU
  • ROM
  • RAM
  • I/O ports
  • UART
  • Timers

As to why Commodore didn't use something similar (not an Intel product, of course) for the 1541 is anyone's guess. Presumably a balance of development time (using existing chips is going to make for much faster development than designing, fabricating and testing a new chip) vs. cost of components.

3
  • 3
    The 8048 was conceptually similar, but came out earlier, and was used as the basis for the Magnavox Odyssey2 video game system (most games ran a mixture of code that was stored on cartridge and code that was in the CPU's ROM).
    – supercat
    Feb 7 at 16:12
  • 2
    I'd add that Commodore may have not merged them to prevent failure rates in one chip only affect the one chip, rather than both chips, when fabricating them. If one chip failed testing before manufacturing, or during manufacturing, they could attempt to swap out the failing chip, and keep the rest of the chips on board. Feb 8 at 5:20
  • The predecessors of the 1541 (2040, 3040, 4040, 8050, etc) even had two cpus. Feb 8 at 17:24
11

There were real microcontrollers based on the 6502: the Rockwell R6501Q and R6511Q from 1982 for example.

Picture of R6511Q

also

Better picture

This is a real SOC that was commercialized in the early 1980s. The German magazin c't had a terminal project in their first edition from December 1983 free archived copy page 41 that used it to process the communication, the keyboard matrix and the CRT controller.

Rockwell used their 6502 kernel then for years in their modem chipsets that they licenced to OEM. These kernels were beefed up and I've seen versions that clocked the 6502 at 70Mhz for the V34bis modems.

R6511Q Schema

3
  • 3
    That chip looks heavily abused ;)
    – tofro
    Feb 9 at 12:29
  • @tofro Here's a cleaner one: commons.wikimedia.org/wiki/File:R6511.jpg
    – Theodore
    Feb 19 at 20:53
  • Out of curiosity, was that chip used in the Star Gemini 10x printer? I used to have one but it died with a shorted power supply (fuse blew, and replacement fuse blew immediately; unit was junked in the early 1990s).
    – supercat
    Feb 20 at 15:43
10

The CSG 4510 was a CSG 65CE02 with two 6526 CIA I/O port controllers and a custom MMU to expand the address space to 20 bits (1 megabyte). It was used in the unreleased Commodore 65 and the unreleased cost-reduced version of the Commodore CDTV.

1
5

The 6570 was used in the original Amiga 1000 keyboard and is an example of a chip using the 6502 CPU core with additional embedded circuitry to function as a dedicated keyboard interface and controller. Minor revisions were made to the 6570 which were used in the Amiga 500, 2000, and 3000 keyboards. Further revisions and different packages wound up being used in other later machines, such as the 6571 in the Amiga 600.

2
  • Apparently this is pretty much the same as the 6500/1. Feb 8 at 17:30
  • The Amiga range is definitely no longer in the "8-bit era", though.
    – jcaron
    Feb 9 at 10:41
4

Besides microcontrollers such as 8048, 6805, ... one of the earliest cases of CPUs integrated with ROM, RAM and peripherals such as keyboard, display output was ... pocket calculators.

Single-chip calculators as Texas TMS1802NC (1971), or the programmable HP-65 (1973), BASIC programmable Sharp PC with 8bits CPU(1982)...

In the 70's pocket calculators (and quartz watches) drove innovation in semiconductors integration and low power a bit like smartphones nowadays.

1
  • 2
    Actually, the TMS1802NC may not count - many do not consider it and other TMS0100 series chips as microcontrollers, because it was a fixed-function chip that cannot be used for other purposes than calculators, because it was only running the code inside it makes it a calculator chip.
    – Justme
    Feb 7 at 21:38
3

Just have a look into the other beige box: The 6510 used in the Commodore 64 is "somewhat" of a microcontroller, as it added 6 bits of GPIO to the 6502.

So, it actually was done, even by Commodore/MOS, but on a much smaller scale than you seem to assume.

2

I don't know if you'd still consider the mid-1990s PcW16 to be part of the "8-bit era", but it incorporates a Z80-compatible processor into its main ASIC. From the technical spec:

The Anne ASIC is built using NEC's CB-C7 FT, 0.8µm CMOS, triple layer metal, cell-based technology. An NZ70008H macrocell is built using full-custom technology, and the remaining silicon area is filled with a "sea" of transistors which are connected together by custom metal layers, much like a modern gate array.

Anne uses a C37 master, providing approximately 85,000 grids (NEC's unit of silicon area), of which the NZ70008H macrocell uses a little over 40,000, leaving around 45,000 grids (equivalent to around 45000 MOS transistors) for custom logic. Almost 24,000 grids are used for custom logic, yielding a utilisation factor of 54%, which is quite low for triple-layer metal.

The Anne ASIC is packaged in a 100 pin, 20 x 14mm rectangular Plastic Quad Flat package (PQFP) with 0.65mm lead pitch, and all 100 pins are used. The full NEC part number is uPD96123GF-002-3BA.

2

To throw in some extra examples:

  • the Atari Lynx’s Mikey is a 65c02 core that also drives the LCD, provides timers and audio, and does some limited degree of power management;
  • the Game Boy uses a single custom SoC, the Sharp LR35902, as already mentioned in comments elsewhere; and
  • the Game Gear originally used a discrete Z80 but integrated the entire system into a single ASIC after its first revision.

Of course, all three are late 8-bit systems with a strong motivation towards power efficiency and size reduction.

2

One of the earliest microcontrollers were General Instruments PIC family (1976): https://en.wikipedia.org/wiki/PIC_microcontrollers, whose derivatives are still manufactured today (by Microchip).

Another historical example is Fairchild F8 family (1975), which is really optimised for reduced chip count. according to Wikipedia "...historically it represents the first purpose-designed 8-bit microcontroller": https://en.wikipedia.org/wiki/Fairchild_F8.

Fairchild F8 chipset is purposely built for control applications, and is not derived from 8bits microprocessors like 8080 or 6502. It has no address bus, extension ROMs have integrated digital IOs, ...

1

Your thoughts regarding merging a CPU core together with a peripheral is in theory right. the 6510 from the c64 is already such a result, it merges an IO-port together with a 6502 cpu. but not all 8 bit because there where not enough pins in that standard package.

  1. regarding cost, you have to consider the different cost components. the manufacturing of one chip in mass production is very cheap. but the development costs are very high. when you sell such a chip on the open market, you have to make a different calculation where you add a fraction of the development cost, marketing cost etc. to get to a price point. if you want to use the chip in your own company, you can make a different calculation. you don't need to add marketing costs or maybe you don't add development costs. so, using this chip - that you already have - in your own product is cheaper.
  2. development of such an integrated chip is expensive - or better was expensive. today you add some things in a VHDL code and push a button and you get the computer generated layout of the transistor for making the masks for the semiconductor process. back in the day they drew the transisitor BY HAND!!! there was a crazy amount of work involved to create the masks. the question is, how many of these chips need to be produced that the development costs are coming back. making new masks for new chips is very very expensive. producing them is cheap. a modern solution is a microcontroller! a modern microcontroller (which the 8051 is not) has the program flash and the ram onboard. that means to use the ram and program flash you don't need any external pin of the package. you only need two pins for GND and +5V to have the power to run the chip and any other pin can be used for accessing the hardware around. to develop a new 1541 disk drive, you would use a modern microcontroller. you could even use one in a DIP-package from microchip to access the peripheral chip that controls the read-write head and the stepper motors. and the interface to the c64. the downside would be, that you could not upload a new program that is running in the cpu cure which some speed loaders or copy protection code did at that time. but using a microcontroller to make such a disc drive with an analog frontend that accesses the read/write head and a stepper motor controller chip would be easy.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .