1
\$\begingroup\$

I am new to Embedded domain and wanted to know what exactly is SOC(system on chip) means?

Is it like we different hardware component on CPU chip(like RAM on CPU chip) or on the same embedded board we have cpu chip manufactured by one company and rest of the component are manufactured some other company.

For example I have heard of TI soc's and Brodcom soc's both share the same cpu chip .

\$\endgroup\$
4
  • \$\begingroup\$ possible duplicate of What does the abbreviation IP in "System-on-Chip (SoC) infrastructure IP applications" stand for? \$\endgroup\$ Nov 18, 2013 at 19:41
  • \$\begingroup\$ @ChetanBhargava That's not a duplicate. That question is asking about "IP", and not about "SoC". \$\endgroup\$ Nov 18, 2013 at 19:45
  • \$\begingroup\$ Why would "on chip" mean "on the same board?" Is a board a chip? \$\endgroup\$
    – Kaz
    Nov 18, 2013 at 19:49
  • 2
    \$\begingroup\$ A Broadcom SoC and TI SoC would not share the same chip. They could share the same CPU core block: an area of the chip (block) representing the CPU. \$\endgroup\$
    – Kaz
    Nov 18, 2013 at 19:51

3 Answers 3

2
\$\begingroup\$

The term SoC has a bit of a marketing tinge to it.
System on chip (SoC) implies that a single chip contains silicon, which provides hardware support for a lot of functions. Previously, these functions would require multiple chips (a chip set).

Here's a menu of functionality, which can be found in SoC.
(Again, this is a menu. I'm not implying that everyone of these features has to be included to a chip to qualify as a SoC. Neither this menu is complete.)

  • Computing: CPU, DSP core, MPEG codec. Some of the recent SoC have multiple cores.
  • Memory: RAM, non volatile memory
  • Wired communication: USB slave (and master in some cases too), Ethernet MAC (and PHY in some cases too)
  • Wireless communication: Bluetooth, WiFi
  • Embedded buses: CAN, I2C, SPI
  • Analog capabilities: A/D, D/A
  • Even programmable logic fabric (similar to FPGA or CPLD) is included in the same chip in some cases
\$\endgroup\$
1
  • \$\begingroup\$ Thanks Nick for your answer, I have an embedded board say it raspberrypie ,is it right it have multiple soc's on to it, which form a complete chipeset. \$\endgroup\$ Nov 19, 2013 at 7:33
1
\$\begingroup\$

A system on a chip (SOC) means you have the core (processor), peripherals and often times memory all on a single die, packaged in a single chip.

Back in the day, engineers used a processor chip that had to be connected to extra chips for program memory, EEPROM, serial communications, A/D and almost anything that wasn't executing instructions from the instruction set of that processor's core. Now, SOC's are made with a plethora of add-ons, bringing a large amount of functionality onto a single chip.

The core that is listed on SOC's, for example ARM Cortex M0 vs ARM M4, is only the part that executes instructions. Manufacturers such as TI, ST Microelectronics, Analog Devices, Cypress, Freescale, NXP and others have licensed the core from ARM; they take the core, wrap their own set of peripherals around it, and call it an SOC.

It is worth mentioning that ARM is an independent company for those that don't know that.

\$\endgroup\$
1
  • \$\begingroup\$ So MCU = SOC... \$\endgroup\$
    – 71GA
    Sep 7, 2017 at 7:26
-4
\$\begingroup\$

The following is my personal view of the SOC terminology: the past, the present and the future.

Past:

Historically, as the name suggests, SOC referred to a complete system which was implemented on a single chip (a single die). The distinction was important because most of the systems had their functionality spread across multiple chips (e.g. CPU + North Bridge + South Bridge in PCs). I believe that the first devices incorporating SOCs were digital watches and calculators - the employment of SOCs allowed for reduced weight and wiring complexity which increased reliability of these portable devices.

There had never been a clear definition of what constitutes a "complete system". In some circumstances, "complete system" meant integration of particular logic functions on the same chip (CPU, graphics, IO, etc.). In other circumstances, "complete system" meant integrating analog and digital components on the same chip (wireless modem logic + antenna, time-keeping logic + display driver, etc.). In general, the term SOC referred to a chip which could provide a standalone functionality.

I don't have the numbers, but I think it won't be an underestimation saying that until after millenium SOCs were quite unimportant (on the global scale).

Today:

In order to comprehend the true significance of today's SOCs we must take a short trip to the pre-smartphone and pre-tablet era . Although it feels like it has been decades since then, it was 2007 when Apple introduced iPhone and changed the world.

In those days personal computing systems used to come in form factors of either desktops or laptops (netbook == small laptop :) ). There was a single manufacturer which had almost complete monopoly in design and manufacture of CPUs and chipsets for PCs - Intel.

enter image description here

The ability of Intel to both design and fabricate its products is unique (almost all other companies either R&D only or fabrication only oriented). This ability, and the fact that Intel had a monopoly, allowed Intel to do everything "in-house" and to adopt any methodology they wanted (methodology == the way to do things). The methodology they used is to develop a "tailor made" sub-blocks for each new CPU or chipset, and connect each of these blocks in a "tailored" manner (with the most appropriate interconnect for block's application and characteristics). While very time consuming, this "tailoring" provided the best specs for Intel processors and chipsets and made Intel what it is today.

Macworld 2007 and Steeve Jobs presents iPhone. While this device (and his successors) became much more than just a gadget (people talk of iGeneration), what is relevant to our discussion is the tremendous shifts which happened in semiconductors industry since then.

enter image description here

First of all, in just few years sales of smartphones and tablets (from different manufacturers, not only Apple's) have beaten the numbers of PCs. In fact, PCs sales are constantly dropping now. Unlike older cell phones, Palms, etc., smartphones and tablets are computers in the widest sense of the word.

Second, most companies which sell smartphones and tablets are "fabless" - they develop the gadgets, but they rely upon other companies to manufacture the chips for these gadgets.

Third, there is a single company which positioned itself as a developer of the best CPUs for portable devices (at least it was the case until Intel came out with BayTrail) - ARM. Surprisingly, ARM does not have fabs to manufacture their CPUs. Much more surprisingly, ARM does not cell its CPUs - it licenses the (RTL) code of the CPUs!

Let's take Apple as an example. In light of the above three points, if Apple wants to build a computer for its phones/tablets, it must do the following:

  1. Buy a license from ARM in order to be able to use the CPU
  2. Develop or buy additional required modules (memory, IO, graphics, ...) - these modules are usually referred to as IPs (Intellectual Property)
  3. Integrate the CPU code with IPs code. This requires establishing some kind of very smart and complex interconnect between these modules.
  4. Once the integration is done the whole system must be verified against the specs.
  5. The verified code of the system is iteratively converted into other representations (netlist, layout). Each iteration includes special verification.
  6. The system's description is sent to the fab (owned by other company) where it is converted into a chip.

Please note the following about the above steps:

  • Step 1 and 2 are the only steps which define the "features" of the system (what the system is capable of)
  • All other steps are "overhead"
  • The system comes from the fab as a single chip

Single chip containing CPU+memory+IO?! It is SOC...

Yes, it is SOC. However, the reasons why you call these chips SOCs started to change.

SOC is an arguable term today. However, in field of personal computing (PCs, smartphones, tablets, etc.) it became a notion of a methodology. It is no longer about what you do, but about how you do it!

Look at the flow I described above: steps 3,4,5 do not provide any functionality. These steps take a lot of time and effort, and they need to be performed independently for each system designed. These steps must be performed - there is no workaround (at least today). SOC methodology (today) is a set of rules and practices which standardize many aspects of system's development, integration, testing and conversion. The major points of SOC terminology are:

  • Define a standard interconnect between IPs (CPU is just another IP in this context) and require from all IP providers to make their IPs easily attachable
  • Define a standard protocols of power management for IPs
  • Define standards of quality and verification for both standalone IPs and the whole system
  • Many, many, many more

The purpose of SOC methodology is to reduce time and effort spent on steps 3,4,5 above, which will allow for faster time to market and reduced R&D costs. It will also leverage the quality of the systems.

However, this standardization of everything has its drawbacks. For example: Intel used to tailor interfaces in order to get the best performance. SOCs will have a shared interface which is too slow for some IPs, and, at the same time, too fast for other IPs. In the first case the "speed" of the IP may be limited by the interconnect, in the second case the bandwidth of the interconnect may be used ineffectively.

However, SOC methodology proved itself as being beneficial (in my opinion), therefore there is tremendous shift in this direction. Even Intel realized that they must shift to SOCs if they want to be competitive.

Future (present?):

The first revision of this answer got a negative attitude from the community. Well, it is indeed a terminology discussion. Furthermore, it is discussion about terminology which is evolving in front of our eyes. I tried to find some analogy from the past of semiconductors industry, and I though about this:

When integrated circuits were invented they they were called "integrated circuits". Then, when technology had advanced to the point where engineers could fit thousands of transistors on the same die, the term LSI was introduced. Later on, integrated circuits grew to VLSI formats. The trend could have been continuing until now (with something like Super-Puper-LSI), but at some point engineers realized that it doesn't matter anymore what size of a circuit is designed - all of them used the same methodology. Today, VLSI refers to a methodology: VLSI tools, VLSI processes, VLSI books, etc. I have never seen anything other than VLSI in job descriptions. Nothing prevents anyone from using VLSI tools for designing smaller than VLSI chips, but it doesn't matter - as long as you're using the same methodology, it is VLSI. It is for this reason that the term ULSI (ultra) was never adopted - it did not provide any additional useful information.

The term SOC undergoes exactly the same evolution - it transforms from some very unclear description of die's constitution into a general term referring to a methodology. There will be no more annoying questions like "if the CPU comes with graphics and IO on the same die, is it SOC?", "if my die does not contain analog, is it still SOC?", "if the system is complete, but the CPU should be provided externally, can I still call it SOC?", etc. No more questions like these. Instead, people will ask "do you have a common interconnect for all IPs?", "is your system scalable?", "are all IPs have centralized power management?", etc.

In my opinion, this future of SOC terminology is now.


For those who will blame me for reducing the discussion about SOCs to PC-esque systems - I did it for two and a half reasons:

  • I feel much more comfortable in this context
  • There are few hundreds of millions of devices shipped each year which fit into this category. It is in this area where the definition of SOC will be shaped.
  • (This is \$\frac{1}{2}\$ reason) In the nearest future, there will be no more non-SOC CPUs/uCs/DSPs etc. Therefore even in these areas the term SOC will not convey any additional information.
\$\endgroup\$
2
  • 3
    \$\begingroup\$ This is both incoherent, and wrong. The term SoC far predates 2007. This answer seems to think that "SoC" is a term specific to PC-esque computing platforms. \$\endgroup\$ Nov 18, 2013 at 23:21
  • \$\begingroup\$ @ConnorWolf, I edited the answer in accordance with your comments. I hope it is clearer now. \$\endgroup\$
    – Vasiliy
    Nov 22, 2013 at 0:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.