
There's No Such Thing as a General-purpose Processor (2014) - anfilt
https://queue.acm.org/detail.cfm?id=2687011
======
metaphor
> If you remove the ability to run an operating system from a processor that
> is considered general purpose, then the result is usually described as a
> microcontroller.

I respectfully beg to differ. A microcontroller is distinctive in its
integration of onboard peripherals; the processor is a primitive element of a
microcontroller.

~~~
tyingq
I've also heard lack of an MMU and/or FPU as the difference. Though you can
run ucLinux, freertos, etc on some of those.

I don't think there's any real definitive measure for microcontroller vs
microprocessor.

------
horsawlarway
I'm not really sure I understand the author's point. I also disagree with his
definition of general-purpose.

My car is a general purpose transportation device. Does that mean it is an
all-purpose transportation device? Of course not.

It solves almost all of the problems I have related to transportation, though.
But there are times I explicitly want to pick a different mode of
transportation:

1\. I need to cross an ocean: Choose a plane/boat

2\. I need to go where there are no roads: Choose legs

3\. I need to haul significant quantities: Train/Truck

4\. I need to prioritize speed: plane

5\. I need to prioritize attention: choose a subway/bus

Does this mean the car is the best form of transportation? Also no. But it's
still very much a generalized means of transportation _within our current
context_. It handles a user's daily and most consistent needs.

This is also true of our current processors.

The author's definition of "General-purpose" appears to be impossible, which
makes his title both true and useless.

------
patrickg_zill
The Singer System 10 was a somewhat-successful early 1970s computer without an
operating system - it ran from firmware. Yet it seems that it was a general
purpose processor (as limited as it was). Had either 13 or 16 instructions in
its CPU set. see
[http://www.fano.co.uk/history/sys10b.html](http://www.fano.co.uk/history/sys10b.html)

There is ProjectOberon
[http://www.projectoberon.com/](http://www.projectoberon.com/) which has an
FPGA based CPU (which requires only money to turn it into a real CPU), using
20 instructions.

The PIC32MZ micro-controller runs a MIPS32 core at 200Mhz, with MMU and FPU.
This core or an earlier one like it, was used on the SGI Iris Indigo
workstations back in the day ...

------
snaky
> For example, most modern processors lack the ability to cleanly express the
> memory model found in Multics, with fine-grained sharing and transparent
> virtualized access to memory-mapped I/O devices.

------
eutectic
General-purpose does not mean all-purpose.

------
jmount
"On the design of display processors" has some great observations on the
evolution of specialized/general processors
[http://cva.stanford.edu/classes/cs99s/papers/myer-
sutherland...](http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland-
design-of-display-processors.pdf)

------
infinity0
The article completely misses the point of the idea of "general purpose".

"General purpose" means _I_ can do what _I_ want with it, as opposed to the
manufacturer lets me do what _they_ want me to do with it.

------
notatcomputer68
Makes sense to think of it as a general purpose processor when speed is
growing quickly enough compared to gains of using a specialized design that
using one device for everything is the most economical. Now that that has come
to an end the model is breaking down and we need to consider the details more
carefully.

------
sufiyan
The very talk of space division multiplexing rather than time division
multiplexing just sent a shiver down my spine.

Caches are going to get super thrashed in those situations and just cleaning
and reloading for the next application will destroy performance.

~~~
tonysdg
To play devil's advocate, that's because the cache of a modern processor is
highly optimized for TDM, not SDM. Perhaps a redesigned cache hierarchy could
resolve this problem (at the expense of awful TDM performance).

