Renaming embedded systems
For many years the industry has had separate terms for computers that sit on the desktop and those that are contained in another product and whose purpose was inherently built into that device, either through its single dedicated program or by the additional hardware that was associated with it. That term was an embedded system. Wikipedia defines it this way “a computer system with a dedicated function within a larger mechanical or electrical system, often with real-time computing constraints. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs.”
Those definitions have clearly become outdated and if we look at a typical chip being created today, it is neither an embedded system nor a desktop computer - it is both. So, is there a need for a new term, or should the old terms just be left to wither. Maybe we should consider their differences and similarities.
Perhaps the distinction should be based on processing capabilities? Desktop computers tend to be homogeneous with all of the cores being identical and sharing a single contiguous memory space. But this is not strictly true. Those computers also contain very sophisticated graphics processors which have their own dedicated memory, as well as sharing some with the main processors. There are an increasing number of applications that are using those graphics processors as special purpose accelerators, although I doubt that function would be shared with the display function they perform today. Conversely, the processing cores in something such as a smart phone are heterogeneous in nature. Some of this is because certain cores are dedicated to specific functions and those perhaps should still be considered to be embedded systems within the context of the larger system. If we consider the general purpose processing cores, these tend to have more conformity and share a single contiguous memory space. In fact, I would say that both desktops and embedded systems are converging in this respect and so this will not be an area of differentiation in the future.
Perhaps a better distinction comes from communications. Your PC is probably tethered to the rest of the world through an Ethernet cable. This enables it to talk to a variety of things either locally or remotely through a router and modem. It is also possible that the PC may be acting as a WiFi master, although it is a lot more common for this functionality to be provided by the router these days. Compare this to the smart phone. It can form connections based on a 3G or 4G radio, WiFi, Bluetooth or through hard wired connections. In many cases the communication are made in an ad-hoc manner. For example, when in the home, WiFi may be the preferred method it uses to send and receive messages or access the Internet. When you get into your car, it may connect to the car’s infotainment system and navigation systems through Bluetooth and make its radio connection available to functions in the car.
As we start to think about the Internet of Things, it is this ability to form ad-hoc connections and to share information that becomes important and perhaps becomes the biggest distinction between the new connectivity oriented devices and the fixed communications devices.
Can you think of other ways in which they should be defined, or indeed terms for these types of systems?
Brian Bailey – keeping you covered
If you liked this feature, and would like to see a weekly or bi-weekly collection of related features delivered directly to your inbox, sign up for the IC Design newsletter.