Skip to main content
SOC Canvas
A story about system on chip

August 19, 2024

Semiconductor designers use the term SOC design very easily, but even people at companies that develop semiconductor design solutions do not understand this term, so I will try to write it at my level of understanding.

SOC refers to a chip that integrates functions such as CPU and GPU into a single chip. So, can we call it an SOC with only a CPU and GPU? Or can the functions operate? A CPU cannot operate by itself. In order for the CPU to operate, power must be supplied, a clock must be supplied, a bus must be connected to enable memory access, and various system configurations must be made for the CPU to operate. However, if you are not an SOC specialist, this explanation will not make sense. So how should we understand SOC?

To help you understand intuitively, let’s use a city as an analogy. SOC design has many similarities to city design.
To build a city, you need buildings, but a city does not become a city just because buildings are gathered together. To form a city, you need a power system, a water supply and sewage system, roads, and other facilities. Only then can the buildings function as buildings.

If you think of the buildings in a city as CPUs or GPUs (IPs in the semiconductor industry) in SOCs, it is similar. In order for the IPs to function, infrastructure design is necessary. In the semiconductor industry, this infrastructure design is called SOC design. If we express it, it would be as shown in the figure below. A city does not become a city just by building buildings, and an SOC does not become a city just by building IPs. SOC design refers to the design of a system to enable IPs to operate smoothly. It can be seen as a similar concept to infrastructure design in a city.


시스템 온 칩(SOC)에 대한 기술을 개발하는 회사로서, SOC 설계를 이해하기 위한 글을 써보려고 합니다. 반도체 설계자들은 매우 쉽게 SOC설계라고 쓰는 이 용어를 반도체 설계 솔루션을 개발하는 회사의 인원들도 이해하지 못해서, 제가 이해하는 레벨에서 써보려고 합니다.

SOC는 CPU, GPU등의 기능이 1개의 칩으로 집적된 칩을 얘기합니다. 그러면, CPU와 GPU만 있으면 SOC라고 할 수 있을까요? 혹은 기능이 동작할 수 있을까요? CPU는 CPU 혼자서 동작할 수 없습니다. CPU동작을 위해서는 Power도 공급해줘야 하고, Clock도 공급해줘야 하고, Memory access를 할 수 있게 BUS도 연결해줘야 하고, CPU가 동작할 수 있는 다양한 시스템 구성을 해줘야 합니다. 하지만, SOC전공자가 아니면, 이러한 설명은 와닿지 않습니다. 그럼 SOC를 어떻게 이해해야 할까요?

직관적으로 이해를 돕기 위해서 도시에 비유를 해보겠습니다. SOC설계는 도시 설계와 유사한 점이 많습니다.
도시를 건설하기 위해서는 빌딩이 필요하지만, 빌딩이 모여있다고 도시가 되진 않습니다. 도시를 구성하기 위해서는 전력 시스템도 필요하고, 상하수도 시스템도 필요하고, 도로도 필요하고, 기타 제반 시설들이 있어야 합니다. 그래야 빌딩들이 빌딩으로써 기능할 수 있게 되는 것이죠.

도시의 빌딩은 SOC에서의 CPU나 GPU(반도체 업계에서는 IP)라고 생각하면 유사합니다. IP가 기능을 하기 위해서는 infrastructure설계가 필요한 것이죠. 반도체 업계에서는 이러한 infrastructure설계를 SOC설계라고 얘기를 합니다. 이를 표현하면 아래 그림과 같을 겁니다. 빌딩을 쌓는다고 도시가 되지 않고, IP를 쌓는다고 SOC가 되지 않습니다. SOC설계는 IP들이 원활하게 구동하게 하기 위한 시스템 설계를 의미합니다. 도시에서의 infra설계와 유사한 개념이라고 볼 수 있습니다.