KR102550886B1 - System on chip and operating method thereof - Google Patents
System on chip and operating method thereof Download PDFInfo
- Publication number
- KR102550886B1 KR102550886B1 KR1020180087692A KR20180087692A KR102550886B1 KR 102550886 B1 KR102550886 B1 KR 102550886B1 KR 1020180087692 A KR1020180087692 A KR 1020180087692A KR 20180087692 A KR20180087692 A KR 20180087692A KR 102550886 B1 KR102550886 B1 KR 102550886B1
- Authority
- KR
- South Korea
- Prior art keywords
- processors
- debugging
- chip
- information
- information extraction
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Abstract
본 발명의 실시 형태에 따른 시스템 온 칩은, 교착 상태(Deadlock)에서 수신한 정보 추출 커맨드에 응답하여 디버깅 정보를 저장하며, 적어도 일부가 서로 다른 아키텍처를 갖는 복수의 프로세서들, 상기 복수의 프로세서들에 연결되는 시스템 버스(bus), 및 상기 교착 상태가 발생하면, 상기 복수의 프로세서들 각각의 아키텍처에 따라 상기 복수의 프로세서들 중 적어도 일부에 대해 상기 정보 추출 커맨드를 다르게 생성하는 SoC(System on Chip) 매니저를 포함한다.A system on a chip according to an embodiment of the present invention stores debugging information in response to an information extraction command received in a deadlock state, and includes a plurality of processors, at least some of which have architectures different from each other, and the plurality of processors. A system on chip (SoC) that generates the information extraction command differently for at least some of the plurality of processors according to a system bus connected to the ) includes the manager.
Description
본 발명은 시스템 온 칩 및 그 동작 방법에 관한 것이다.The present invention relates to a system on a chip and a method of operating the same.
최근 들어 시스템 온 칩의 적용 분야가 점점 넓어지고 있다. 시스템 온 칩은 다양한 기능을 갖춘 복잡한 시스템을 하나의 칩으로 구현한 것으로서, 하나의 시스템 온 칩 내부에는 하나 이상의 프로세서가 포함될 수 있다. 시스템 온 칩에 포함되는 복수의 프로세서들은 서로 필요한 데이터를 주고받으며 동작할 수 있는데, 이 과정에서 의도치 않은 교착 상태(Deadlock)가 발생할 수 있다. 교착 상태가 발생할 경우, 개발자 또는 사용자가 교착 상태의 원인 등을 파악할 수 있도록, 시스템 온 칩에 포함되는 프로세서들로부터 디버깅에 필요한 디버깅 정보를 확보하는 기능이 시스템 온 칩에 구현될 수 있다.In recent years, the application fields of system-on-a-chip are gradually widening. A system-on-chip implements a complex system with various functions in a single chip, and one or more processors may be included in one system-on-chip. A plurality of processors included in the system-on-chip may operate by exchanging necessary data with each other, and in this process, an unintended deadlock may occur. When a deadlock occurs, a function of obtaining debugging information necessary for debugging from processors included in the system-on-chip may be implemented in the system-on-chip so that a developer or a user can determine the cause of the deadlock.
본 발명의 기술적 사상이 이루고자 하는 과제 중 하나는, 서로 다른 아키텍처(architecture)에 따라 설계된 복수의 프로세서들을 탑재한 시스템 온 칩에 대하여, 교착 상태 발생시 복수의 프로세서들 각각의 아키텍처를 고려하여 디버깅 정보를 추출 및/또는 저장할 수 있는 시스템 온 칩 및 그 동작 방법을 제공하고자 하는 데에 있다.One of the problems to be achieved by the technical idea of the present invention is to generate debugging information in consideration of the architecture of each of the plurality of processors when a deadlock occurs in a system-on-a-chip equipped with a plurality of processors designed according to different architectures. It is to provide a system-on-a-chip capable of extracting and/or storing and a method of operating the same.
본 발명의 일 실시예에 따른 시스템 온 칩은, 교착 상태(Deadlock)에 진입하면 정보 추출 커맨드에 응답하여 디버깅 정보를 저장하며, 적어도 일부가 서로 다른 아키텍처를 갖는 복수의 프로세서들, 상기 복수의 프로세서들에 연결되는 시스템 버스(bus), 및 상기 교착 상태가 발생하면, 상기 복수의 프로세서들 각각의 아키텍처에 따라 상기 복수의 프로세서들 중 적어도 일부에 대해 상기 정보 추출 커맨드를 다르게 생성하는 SoC(System on Chip) 매니저를 포함한다.A system-on-a-chip according to an embodiment of the present invention stores debugging information in response to an information extraction command when entering a deadlock state, and includes a plurality of processors, at least some of which have different architectures, and the plurality of processors. a system bus connected to the .s, and when the deadlock occurs, SoC (System on SoC) differently generating the information extraction command for at least some of the plurality of processors according to the architecture of each of the plurality of processors. Chip) manager.
본 발명의 일 실시예에 따른 시스템 온 칩은, 제1 인터페이스와 제2 인터페이스, 및 중앙 처리 유닛을 각각 포함하는 복수의 프로세서들, 상기 제1 인터페이스에 연결되는 시스템 버스, 상기 제2 인터페이스에 연결되는 디버깅 마스터, 및 상기 시스템 버스를 통해 상기 복수의 프로세서들과 연결되며, 상기 복수의 프로세서들에서 발생하는 교착 상태를 감지하는 SoC 컨트롤러를 포함하고, 상기 디버깅 마스터는, 상기 교착 상태가 발생하면 상기 SoC 컨트롤러의 명령에 응답하여 상기 복수의 프로세서들 각각의 아키텍처에 기초하여 생성된 정보 추출 커맨드를 상기 복수의 프로세서들에 전송한다.A system-on-a-chip according to an embodiment of the present invention includes a plurality of processors each including a first interface, a second interface, and a central processing unit, a system bus connected to the first interface, and connected to the second interface. a debugging master, and an SoC controller connected to the plurality of processors through the system bus and detecting a deadlock occurring in the plurality of processors, wherein the debugging master, when the deadlock occurs, An information extraction command generated based on the architecture of each of the plurality of processors is transmitted to the plurality of processors in response to a command of the SoC controller.
본 발명의 일 실시예에 따른 시스템 온 칩은, 제1 아키텍처에 따라 설계된 제1 프로세서, 상기 제1 아키텍처와 다른 제2 아키텍처에 따라 설계된 제2 프로세서, 상기 제1 및 제2 프로세서들 중 적어도 하나에서 발생하는 교착 상태를 감지하는 SoC 컨트롤러, 및 상기 제1 및 제2 프로세서들 각각의 슬레이브 인터페이스와 연결되며, 상기 교착 상태가 발생하면 상기 제1 및 제2 프로세서들이 리셋되기 전에 상기 슬레이브 인터페이스를 통해 상기 제1 및 제2 프로세서들에 정보 추출 커맨드를 전송하여 디버깅 정보를 확보하는 디버깅 마스터를 포함하며, 상기 제1 및 제2 프로세서들 각각은, 상기 정보 추출 커맨드에 응답하여 서로 다른 방법으로 상기 디버깅 정보를 저장한다.A system-on-chip according to an embodiment of the present invention includes a first processor designed according to a first architecture, a second processor designed according to a second architecture different from the first architecture, and at least one of the first and second processors. It is connected to an SoC controller that detects a deadlock that occurs in and a slave interface of each of the first and second processors, and when the deadlock occurs, through the slave interface before the first and second processors are reset. and a debugging master that secures debugging information by transmitting an information extraction command to the first and second processors, wherein each of the first and second processors performs the debugging in a different way in response to the information extraction command. save the information
본 발명의 일 실시예에 따르면, 다양한 아키텍처에 따라 설계된 복수의 프로세서들을 탑재한 시스템 온 칩이 교착 상태에 진입할 경우, 시스템 온 칩이 재부팅되기 전에 프로세서들 각각의 아키텍처에 기초하여 프로세서들 중 적어도 일부가 디버깅 정보를 저장 및/또는 출력하도록 제어할 수 있다. 따라서, 시스템 온 칩에서 교착 상태를 발생시킨 프로세서들의 디버깅 정보를 이용하여 디버깅을 수행함으로써, 교착 상태의 원인을 정확히 파악할 수 있으며, 디버깅 작업의 효율을 개선할 수 있다.According to an embodiment of the present invention, when a system-on-a-chip equipped with a plurality of processors designed according to various architectures enters a deadlock state, before the system-on-chip is rebooted, at least one of the processors based on the architecture of each of the processors Some may be controlled to store and/or output debugging information. Therefore, by performing debugging using the debugging information of the processors that caused the deadlock in the system-on-chip, the cause of the deadlock can be accurately identified and the efficiency of debugging work can be improved.
본 발명의 다양하면서도 유익한 장점과 효과는 상술한 내용에 한정되지 않으며, 본 발명의 구체적인 실시 형태를 설명하는 과정에서 보다 쉽게 이해될 수 있을 것이다.Various advantageous advantages and effects of the present invention are not limited to the above description, and will be more easily understood in the process of describing specific embodiments of the present invention.
도 1은 본 발명의 일 실시예에 따른 시스템 온 칩을 간단하게 나타낸 블록도이다.
도 2 및 도 3은 본 발명의 일 실시예에 따른 시스템 온 칩에 포함되는 프로세서를 간단하게 나타낸 블록도들이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 시스템 온 칩의 동작을 설명하기 위해 제공되는 도면들이다.
도 6은 본 발명의 일 실시예에 따른 시스템 온 칩을 간단하게 나타낸 블록도이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 시스템 온 칩의 동작을 설명하기 위해 제공되는 도면들이다.
도 9 및 도 10은 본 발명의 일 실시예에 따른 시스템 온 칩의 동작을 설명하기 위해 제공되는 도면들이다.
도 11 내지 도 14는 본 발명의 일 실시예에 따른 시스템 온 칩의 동작을 설명하기 위해 제공되는 흐름도들이다.
도 15는 본 발명의 일 실시예에 따른 시스템 온 칩을 포함하는 전자 기기를 간단하게 나타낸 블록도이다.
도 16은 본 발명의 일 실시예에 따른 시스템 온 칩을 포함하는 자율 주행 차량을 간단하게 나타낸 블록도이다.1 is a schematic block diagram of a system on a chip according to an embodiment of the present invention.
2 and 3 are block diagrams simply illustrating a processor included in a system-on-chip according to an embodiment of the present invention.
4 and 5 are diagrams provided to explain the operation of the system on chip according to an embodiment of the present invention.
6 is a simplified block diagram of a system on a chip according to an embodiment of the present invention.
7 and 8 are diagrams provided to explain the operation of the system on chip according to an embodiment of the present invention.
9 and 10 are diagrams provided to explain the operation of the system on chip according to an embodiment of the present invention.
11 to 14 are flowcharts provided to explain the operation of the system on chip according to an embodiment of the present invention.
15 is a block diagram simply illustrating an electronic device including a system on a chip according to an embodiment of the present invention.
16 is a simplified block diagram of an autonomous vehicle including a system on a chip according to an embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 다음과 같이 설명한다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 시스템 온 칩을 간단하게 나타낸 블록도이다.1 is a schematic block diagram of a system on a chip according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 시스템 온 칩(10)은 복수의 프로세서들(11-13), 그래픽 처리 유닛(GPU, 14), 디지털 신호 처리 유닛(DSP, 15), SoC(System on Chip) 매니저(16), 및 메모리 컨트롤러(17) 등을 구성 요소들(11-17)로서 포함할 수 있다. 구성 요소들(11-17)은 시스템 버스(18)를 통해 데이터를 주고 받으며 동작할 수 있다. 시스템 버스(18)는 구성 요소들(11-17)과 연결되는 복수의 인터페이스들을 포함하며, 일례로 마스터 인터페이스와 슬레이브 인터페이스를 포함할 수 있다.Referring to FIG. 1 , a system on a
일례로, SoC 매니저(16)는 시스템 온 칩(10)의 동작 전반을 제어할 수 있으며, 전원 관리 로직, 클럭 관리 로직 등을 포함할 수 있다. 메모리 컨트롤러(18)는 시스템 온 칩(10)의 외부에 마련되는 휘발성 메모리 또는 비휘발성 메모리 등과 데이터 및 제어 커맨드를 주고받기 위한 로직을 포함할 수 있다. 그래픽 처리 유닛(14)은 시스템 온 칩(10)과 연결되는 디스플레이 장치 등에 표시하고자 하는 이미지 데이터를 처리할 수 있다.For example, the SoC
시스템 온 칩(10)은 전자 기기, 자율 주행 차량 등의 다양한 제품에 탑재될 수 있으며, 전자 기기, 자율 주행 차량 등의 동작을 제어하는 데에 필요한 연산을 수행할 수 있다. 일례로 시스템 온 칩(10)에 포함되는 복수의 프로세서들(11-13)이 상기 연산을 수행할 수 있으며, 필요한 경우 복수의 프로세서들(11-13)은 시스템 버스(19)를 통해 다른 구성 요소들(11-18)과 데이터를 주고받을 수 있다.The system on
시스템 온 칩(10)이 교착 상태(Deadlock)에 진입하면, 시스템 온 칩(10)은 교착 상태의 발생 원인, 교착 상태를 일으킨 소스 코드 등을 분석하기 위한 정보를 디버깅 정보로서 개발자 또는 사용자에게 제공할 수 있다. 일 실시예에서, 복수의 구성 요소들(11-17)은 서로 다른 아키텍처에 따라 설계 및 구현될 수 있으며, 따라서 교착 상태 발생시 디버깅 정보를 저장하기 위해 실행되어야 하는 프로세스가 복수의 구성 요소들(11-17)마다 서로 다를 수 있다.When the system on
일례로, 제1 프로세서(11)는 내부의 디버깅 리소스(Debugging Resource)에 상태 정보를 소정의 주기마다 스스로 저장할 수 있다. 따라서, 교착 상태가 발생할 때 제1 프로세서(11) 내부의 디버깅 리소스에 저장된 상태 정보 중 일부를 디버깅 정보로 읽어와서 저장하는 동작만으로, 제1 프로세서(11)에 대한 디버깅 정보를 확보할 수 있다. 반면, 제2 프로세서(12) 및 제3 프로세서(13)의 경우 제1 프로세서(11)와 달리 디버깅 리소스에 스스로 상태 정보를 저장하는 기능을 제공하지 않을 수 있다. 따라서 시스템 온 칩(10)이 교착 상태에 진입하면, 시스템 온 칩(10) 전체, 또는 제2 프로세서(12) 및 제3 프로세서(13)가 선택적으로 재부팅(reboot)되기 이전에 제2 프로세서(12) 및 제3 프로세서(13)로부터 디버깅 정보를 추출하여 저장하는 동작이 실행될 수 있다. For example, the
본 발명의 일 실시예에서는, SoC 매니저(16)가 디버깅 정보를 저장하기 위한 정보 추출 커맨드를 생성하고, 상기 정보 추출 커맨드를 제2 프로세서(12) 및 제3 프로세서(13)에 전달할 수 있다. SoC 매니저(16)는 제2 프로세서(12)와 제3 프로세서(13) 각각의 아키텍처를 고려하여, 상기 정보 추출 커맨드를 생성할 수 있다. 상기 정보 추출 커맨드에 응답하여, 제2 프로세서(12) 및 제3 프로세서(13)는 교착 상태가 발생한 시점 및 그 전후의 상태 정보를 디버깅 정보로 출력 및/또는 저장할 수 있다. In one embodiment of the present invention, the
예를 들어, 연산을 담당하는 중앙 처리 유닛, 및 상기 중앙 처리 유닛으로부터 상태 정보를 획득할 수 있는 서브 컴포넌트가 제2 프로세서(12)에 포함될 경우, SoC 매니저(16)는 상기 서브 컴포넌트를 활성화시킴으로써 제2 프로세서(12)의 디버깅 정보를 추출 및/또는 저장할 수 있다. 또한 일례로, SoC 매니저(16)는 제3 프로세서(13)를 디버깅 모드로 전환시킬 수 있으며, 제3 프로세서(13)에 소정의 명령어(instruction)를 포함하는 정보 추출 커맨드를 전송할 수 있다. 정보 추출 커맨드에 포함된 상기 명령어에 응답하여, 제3 프로세서(13)에 포함된 중앙 처리 유닛의 상태 정보가 디버깅 정보로서 추출 및/또는 저장될 수 있다. 일례로, 디버깅 정보는 제1 내지 제3 프로세서들(11-13)과 다른 별도의 저장 공간에 저장될 수 있다. 상기 저장 공간은, 시스템 온 칩(10) 전체, 또는 제1 내지 제3 프로세서들(11-13) 중 적어도 일부의 선택적인 재부팅에도 불구하고 리셋되지 않는 저장 공간일 수 있으며, 비휘발성 메모리 등으로 구현될 수 있다.For example, when the
한편, 시스템 온 칩(10)에서 발생하는 교착 상태는 시스템 버스(18)의 오류를 동반할 수 있다. 따라서, SoC 매니저(16)는 시스템 버스(18)와 다른 별도의 경로를 통해, 디버깅 정보를 저장하기 위한 정보 추출 커맨드를 구성 요소들(11-17) 중 적어도 일부에 전송할 수 있다. 일례로, 시스템 버스(18)를 논리적으로 파티션 분할하여 제1 버스와 제2 버스를 정의하고 제2 버스는 일반 동작 모드에서는 비활성화되며 교착 상태가 발생한 경우에만 활성화시켜 이용할 수 있다. 또는 시스템 버스(18)와 물리적으로 분리되는 디버깅 버스를 마련하여 교착 상태에서 이용할 수도 있다.Meanwhile, a deadlock that occurs in the system on
도 2 및 도 3은 본 발명의 일 실시예에 따른 시스템 온 칩에 포함되는 프로세서를 간단하게 나타낸 블록도들이다.2 and 3 are block diagrams simply illustrating a processor included in a system-on-chip according to an embodiment of the present invention.
먼저 도 2를 참조하면, 도 2에 도시한 일 실시예에 따른 시스템 온 칩(20)은 프로세서(21)와 시스템 버스(25), 및 SoC 매니저(26)를 포함할 수 있다. SoC 매니저(26)는 교착 상태 발생 여부를 감지하는 SoC 컨트롤러(27)와, 교착 상태 발생시 디버깅 정보를 확보하기 위해 정보 추출 커맨드를 프로세서(21)에 전달하는 디버깅 마스터(28) 등을 포함할 수 있다. Referring first to FIG. 2 , the system on
프로세서(21)는 연산 처리를 담당하는 적어도 하나의 중앙 처리 유닛(22)을 가질 수 있다. 중앙 처리 유닛(22)은 시스템 온 칩(20)의 다른 구성 요소들과 데이터를 주고받기 위한 제1 인터페이스(23) 및 제2 인터페이스(24)를 가질 수 있다. 일례로, 중앙 처리 유닛(22)은 제1 인터페이스(23)와 시스템 버스(25)를 통해 SoC 컨트롤러(27)와 데이터를 주고받을 수 있으며, 제2 인터페이스(24)와 시스템 버스(25)를 통해 디버깅 마스터(28)와 데이터를 주고 받을 수 있다. 제1 인터페이스(23)는 마스터 인터페이스일 수 있고, 제2 인터페이스(24)는 슬레이브 인터페이스일 수 있다. 즉, 제2 인터페이스(24)를 통해 프로세서(21)와 디버깅 마스터(28)가 데이터를 주고받을 때, 프로세서(21)는 디버깅 마스터(28)에 대한 슬레이브 장치로 동작할 수 있다. 일 실시예에서, 중앙 처리 유닛(22)은 소프트웨어를 구성하는 복수의 명령어들 및 데이터를 처리하는 코어를 둘 이상 포함할 수 있다.The
일반적인 동작에서 중앙 처리 유닛(22)은 시스템 버스(25)를 통해 SoC 컨트롤러(27) 및 그 외에 다른 시스템 온 칩(20)의 구성 요소들과 데이터를 주고 받을 수 있다. 즉, 중앙 처리 유닛(22)은 제1 인터페이스(23)와 시스템 버스(25)를 통해 SoC 컨트롤러(27)를 비롯한 GPU, DSP, 내부 메모리, 메모리 컨트롤러 등의 다른 구성 요소들과 데이터를 주고받을 수 있다.In normal operation, the
시스템 온 칩(20)이 교착 상태에 진입하면, 프로세서(21)뿐만 아니라 시스템 온 칩(20)에 포함되는 구성 요소들 대부분이 동작을 멈추고 반응하지 않을 수 있다. 따라서 시스템 온 칩(20)이 교착 상태에 진입했을 때 어떤 명령어가 실행 중이었고 어떤 데이터에 접근 중이었는지 등을 판단하기 어려울 수 있다. 또한 교착 상태를 해소하기 위해 시스템 온 칩(20)을 재부팅하면, 구성 요소들이 모두 리셋되기 때문에 교착 상태를 유발한 명령어, 데이터 및/또는 코드 등을 파악하기가 어려울 수 있다. 상기와 같은 상황으로 인해, 교착 상태를 일으킨 원인을 제거하기 위한 디버깅 작업의 효율이 저하될 수 있다.When the system-on-
본 발명에서는, 교착 상태를 감지하는 SoC 컨트롤러(27)의 명령에 의해 디버깅 마스터(28)가 프로세서(21)의 디버깅 정보를 추출할 수 있다. 디버깅 마스터(28)는 일반적인 동작 모드에서 이용되지 않는 제2 인터페이스(24)를 통해 중앙 처리 유닛(22)에 디버깅 정보를 확보하기 위한 정보 추출 커맨드를 전달할 수 있다. 일례로, 디버깅 마스터(28)는 프로세서(21)의 아키텍처에 맞는 적절한 정보 추출 커맨드를 중앙 처리 유닛(22)에 전달할 수 있다. 시스템 버스(25)는 논리적으로 파티션 분할되는 제1 버스와 제2 버스를 가질 수 있으며, 상기 정보 추출 커맨드는 일반적인 동작 모드에서는 이용되지 않는 제2 버스에 의해 전달될 수 있다. In the present invention, the debugging
일례로, 디버깅 마스터(28)는 교착 상태 발생 시 프로세서(21)의 상태를 나타내는 정보를, 디버깅 정보로서 강제 출력하도록 제어하는 명령어를 정보 추출 커맨드에 포함시켜 프로세서(21)에 전달할 수 있다. 상기 명령어에 의해 프로세서(21)가 출력하는 디버깅 정보는, 디버깅 마스터(28) 또는 SoC 컨트롤러(27) 등에 의해 시스템 온 칩(20)이 재부팅되는 동안 리셋되지 않는 소정의 저장 공간에 저장될 수 있다. For example, the debugging
다른 실시예들에서 디버깅 마스터(28)가 전송하는 정보 추출 커맨드에 의해, 프로세서(21) 내에 포함되며 중앙 처리 유닛(22)과는 다른 서브-컴포넌트(Sub-Component)가 활성화될 수 있다. 상기 서브-컴포넌트는 중앙 처리 유닛(22)으로부터 디버깅 정보를 추출하거나, 또는 중앙 처리 유닛(22)이 스스로 디버깅 정보를 특정 저장 공간에 저장하도록 제어할 수도 있다. 상기 실시예들에서 알 수 있듯이, 디버깅 마스터(28)는 프로세서(21)의 아키텍처를 고려하여 디버깅 정보를 확보하는 데에 적절한 명령어를 선택하고, 이를 정보 추출 커맨드에 포함시켜 프로세서(21)에 전달할 수 있다. 디버깅 마스터(28)는 정보 추출 커맨드를 직접 생성하거나, 또는 SoC 컨트롤러(27)로부터 수신하여 전달할 수 있다. 한편 디버깅 마스터(28)는, 외부의 디버깅 툴, 예를 들어 JTAG 디버깅 툴과 연동되어 동작할 수 있다.In other embodiments, a sub-component included in the
다음으로 도 3을 참조하면, 본 발명의 일 실시예에 따른 시스템 온 칩(30)은 프로세서(31), 시스템 버스(36) 및 SoC 컨트롤러(37) 등을 포함할 수 있다. 도 3에 도시한 일 실시예에서는, 디버깅 마스터(36)가 중앙 처리 유닛(32)과 시스템 버스(38) 사이에 구현될 수 있다. 도 3에 도시한 일 실시예에서는 디버깅 마스터(36)가 프로세서(31) 내부에 포함되는 것으로 도시하였으나, 이와 달리 시스템 버스(36)와 프로세서(31) 사이에 별도의 구성 요소로 마련될 수도 있다. 시스템 온 칩(30)이 시스템 버스(36)와 구분되는 별도의 디버깅 버스를 갖는 경우, 디버깅 마스터(35)는 디버깅 버스와 프로세서(31) 사이에 연결될 수 있다. 디버깅 마스터(35)는 슬레이브 인터페이스인 제2 인터페이스(34)를 통해 중앙 처리 유닛(32)과 데이터를 주고받을 수 있다.Referring next to FIG. 3 , the system on
도 3에 도시한 일 실시예에 따른 시스템 온 칩(30)이 교착 상태에 진입하면, SoC 컨트롤러(37)는 시스템 버스(36)를 통해 디버깅 마스터(35)로 디버깅 정보를 확보하라는 명령어를 전송할 수 있다. 교착 상태에서는 시스템 버스(36)의 동작 역시 중단될 수 있으므로, 도 3에 도시한 일 실시예에서는 시스템 버스(36)가 제1 버스 및 제2 버스로 파티션 분할될 수 있으며, 제1 버스는 일반적인 동작에서만, 제2 버스는 교착 상태 발생시에만 이용될 수 있다. SoC 컨트롤러(37)는 제2 버스를 통해 디버깅 마스터(35)에 디버깅 정보를 확보하기 위한 명령어를 전달할 수 있다. 또는, 앞서 설명한 바와 같이 시스템 버스(36)와 논리적으로 구분되는 별도의 디버깅 버스를 통해, SoC 컨트롤러(37)가 디버깅 마스터(35)에 디버깅 정보를 확보하기 위한 명령어를 전달할 수도 있다.When the system-on-
디버깅 마스터(35)는 제2 인터페이스(34)를 통해 중앙 처리 유닛(32)에 접근할 수 있다. 디버깅 마스터(35)는 중앙 처리 유닛(32)으로부터 디버깅 정보를 강제로 추출하여 저장하거나, 중앙 처리 유닛(32)이 디버깅 정보를 스스로 저장하도록 제어할 수 있다. 디버깅 정보는, 시스템 온 칩(30) 또는 프로세서(31)가 재부팅되는 동안 리셋되지 않는 저장 공간에 저장될 수 있다. 일례로 디버깅 정보는 프로세서(31) 내부의 저장 공간, 또는 시스템 온 칩(30)에 포함되며 프로세서(31)와는 다른 구성 요소의 저장 공간에 저장될 수 있다.The debugging
도 4 및 도 5는 본 발명의 일 실시예에 따른 시스템 온 칩의 동작을 설명하기 위해 제공되는 도면들이다.4 and 5 are diagrams provided to explain the operation of the system on chip according to an embodiment of the present invention.
도 4 및 도 5를 참조하면, 본 발명의 일 실시예에 따른 시스템 온 칩(100)은 복수의 프로세서들(110-130), 그래픽 처리 유닛(140), 디지털 신호 처리 유닛(150), SoC 매니저(160), 메모리 컨트롤러(170) 및 시스템 버스(180) 등을 구성 요소들로 포함할 수 있다. SoC 매니저(160)는 SoC 컨트롤러(161) 및 디버깅 마스터(162)를 포함할 수 있다.4 and 5, a system on
시스템 온 칩(100) 내에 포함되는 구성 요소들은, 시스템 온 칩(100)으로 구현, 제공하고자 하는 기능에 따라 다양하게 추가 또는 변경될 수 있다. 일례로, 도 4 및 도 5에 도시한 구성 요소들 외에, 비디오/오디오 코덱 처리를 담당하는 로직과, 시스템 온 칩(100)에 연결되는 다양한 센서들이 수집한 정보를 처리하는 로직 등이 더 포함될 수 있다.Components included in the system on a
도 4 및 도 5에 도시한 바와 같이, 복수의 프로세서들(110-130)은 서로 다른 아키텍처를 가질 수 있다. 일례로, 제1 프로세서(110)는 제1 중앙 처리 유닛(111)과 디버깅 리소스(112)를 포함할 수 있으며, 제1 중앙 처리 유닛(111)의 상태 정보가 소정의 주기마다 디버깅 리소스(112)에 저장될 수 있다. 시스템 온 칩(100)이 교착 상태에 진입하는 경우, 디버깅 마스터(162)가 제1 프로세서(110)의 디버깅 리소스(112)에 접근하여 디버깅 리소스(112)에 저장된 상태 정보들 중에서, 교착 상태가 발생한 시점 부근에 저장된 상태 정보를 디버깅 정보로 마킹하거나 읽어오는 것으로, 제1 프로세서(110)의 디버깅 정보를 확보할 수 있다.As shown in FIGS. 4 and 5 , the plurality of processors 110 - 130 may have different architectures. For example, the
제1 프로세서(110)와 달리, 제2 프로세서(120)와 제3 프로세서(130)는 디버깅 정보로 활용할 수 있는 상태 정보를 자동으로 저장하는 기능을 제공하지 않을 수 있다. 따라서, 시스템 온 칩(100)이 교착 상태에 진입하면, 디버깅 마스터(162)가 SoC 컨트롤러(161)로부터의 명령에 응답하여, 제2 프로세서(120)와 제3 프로세서(130) 각각으로부터 디버깅 정보를 확보할 수 있다.Unlike the
먼저 도 4를 참조하면, 시스템 온 칩(100)이 교착 상태에 진입함으로써 복수의 프로세서들(110-130)과 그래픽 처리 유닛(140), 디지털 신호 처리 유닛(150), 및 메모리 컨트롤러(170) 등의 동작이 중단될 수 있다. 교착 상태에서는, 시스템 버스(180) 역시 정상적으로 동작하지 않을 수 있다.First, referring to FIG. 4 , when the system on
교착 상태는 SoC 컨트롤러(161)에 의해 감지될 수 있다. 일례로, 복수의 프로세서들(110-130), 그래픽 처리 유닛(140), 디지털 신호 처리 유닛(150), 메모리 컨트롤러(170) 중 적어도 하나는 내부에 카운터 회로를 포함할 수 있으며, SoC 컨트롤러(161)는 일정한 주기마다 카운터 회로로부터 신호를 수신할 수 있다. 따라서, 상기 주기가 경과하였음에도 불구하고 카운터 회로로부터 신호를 수신하지 못하면, SoC 컨트롤러(161)는 시스템 온 칩(100)이 교착 상태에 진입한 것으로 판단할 수 있다. 또는, 카운터 회로로부터의 신호 수신 여부와 관계없이 미리 정의된 특정 상황이 발생하거나, 오동작 발생을 알려주는 인터럽트가 검출되는 경우에 시스템 온 칩(100)이 교착 상태에 진입한 것으로 판단할 수도 있다.A deadlock may be detected by the
시스템 온 칩(100)이 교착 상태에 진입한 것으로 판단되면, 디버깅 마스터(162)는 SoC 컨트롤러(161)의 명령에 응답하여, 디버깅 정보를 확보하기 위한 정보 추출 커맨드를 시스템 온 칩(100)의 구성 요소들 중 적어도 하나에 전달할 수 있다. 도 5에 도시한 일 실시예에서는 디버깅 마스터(162)가 복수의 프로세서들(110-130)에 정보 추출 커맨드를 전송하는 것을 가정하였으나, 그래픽 처리 유닛(140), 디지털 신호 처리 유닛(150), 및 메모리 컨트롤러(170) 등에도 디버깅 정보를 확보하기 위한 정보 추출 커맨드가 전송될 수 있다.When it is determined that the system on
정보 추출 커맨드는 복수의 프로세서들(110-130)의 아키텍처에 따라 결정되는 다양한 명령어들을 포함할 수 있다. 일례로, 제1 프로세서(110)에 입력되는 정보 추출 커맨드에 의해, 디버깅 리소스(112)에 저장된 상태 정보들 중 적어도 일부가, 제1 프로세서(110)의 디버깅 정보로서 선택되어 따로 저장될 수 있다. 또한, 제2 프로세서(120)에 입력되는 정보 추출 커맨드에 의해, 서브-컴포넌트(122)가 활성화되어 제2 중앙 처리 유닛(121)으로부터 디버깅 정보를 추출하고 저장할 수 있다. 다른 일 실시예에서는, 디버깅 마스터(160)가 입력하는 정보 추출 커맨드에 의해, 제2 프로세서(120)가 강제로 디버깅 정보를 출력하도록 제어될 수도 있다. 제2 프로세서(120)가 강제 출력한 디버깅 정보는, 디버깅 마스터(160)에 의해 시스템 온 칩(100) 내부의 미리 지정된 저장 공간에 저장될 수 있다. 앞서 설명한 바와 같이, 디버깅 마스터(160)는 시스템 온 칩(100)의 재부팅에 의해 리셋되지 않는 저장 공간에 디버깅 정보를 저장할 수 있다.The information extraction command may include various commands determined according to the architecture of the plurality of
한편, 제3 프로세서(130)의 제3 중앙 처리 유닛(131)은 디버깅 마스터(160)로부터 수신한 정보 추출 커맨드에 포함된 소정의 명령어(instruction)를 실행함으로써 디버깅 정보를 추출하여 내부의 레지스터에 저장할 수 있다. 디버깅 정보는 시스템 온 칩(100)의 재부팅에 의해 리셋되지 않는 저장 공간에 저장될 수 있다. 일례로 디버깅 정보를 저장하는 상기 저장 공간은, 제3 중앙 처리 유닛(131)의 외부에 존재하는 저장 공간일 수 있다.Meanwhile, the third
정리하면, 복수의 프로세서들(110-130) 각각은 서로 다른 아키텍처를 가질 수 있으며, 시스템 온 칩(100)이 교착 상태에 진입한 경우 디버깅 정보를 추출하여 저장하기 위한 방법 역시 복수의 프로세서들(110-130) 간에 서로 다르게 적용될 수 있다. 본 발명의 일 실시예에서는, SoC 컨트롤러(161) 및/또는 디버깅 마스터(162)가 복수의 프로세서들(110-130) 각각의 아키텍처를 인식하여 복수의 프로세서들(110-130) 각각에 맞는 적절한 디버깅 정보 추출 및 저장 방법을 선택할 수 있다. SoC 컨트롤러(161) 및/또는 디버깅 마스터(162)는, 아키텍처에 기초하여 선택한 디버깅 정보 추출 및 저장 방법을 참조하여 생성한 정보 추출 커맨드를, 복수의 프로세서들(110-130)에 전달할 수 있다. 따라서, 복수의 프로세서들(110-130) 각각이 최적화된 방법을 이용하여 디버깅 정보를 저장할 수 있으며, 시스템 온 칩(100)이 재부팅된 이후 개발자 또는 사용자가 디버깅 정보를 이용하여 교착 상태를 발생시킨 원인을 효율적으로 분석할 수 있다.In summary, each of the plurality of
도 6은 본 발명의 일 실시예에 따른 시스템 온 칩을 간단하게 나타낸 블록도이다.6 is a schematic block diagram of a system on a chip according to an embodiment of the present invention.
도 6을 참조하면, 본 발명의 일 실시예에 따른 시스템 온 칩(200)은 복수의 프로세서들(210-230), 그래픽 처리 유닛(240), 디지털 신호 처리 유닛(250), SoC 매니저(260), 및 메모리 컨트롤러(270) 등을 구성 요소들(210-270)로서 포함할 수 있다. 구성 요소들(210-270)은 시스템 버스(280)를 통해 서로 통신하며 동작할 수 있다. SoC 매니저(260)는 SoC 컨트롤러(261) 및 디버깅 마스터(262)를 포함할 수 있다.Referring to FIG. 6 , a system on
도 6에 도시한 일 실시예에는 시스템 버스(280) 외에 디버깅 버스(290)가 시스템 온 칩(200)에 더 포함될 수 있다. 디버깅 버스(290)는 시스템 버스(290)와 물리적으로 구분되는 버스일 수 있으며, 일반적인 동작 모드에서는 비활성화 상태를 유지할 수 있다. 일 실시예에서 디버깅 버스(290)는 시스템 온 칩(200)이 교착 상태에 진입한 경우에, SoC 매니저(260)에 의해 활성화될 수 있다. 이하, 도 7 및 도 8을 참조하여, 시스템 온 칩(200)의 동작을 더욱 자세히 설명하기로 한다.In the embodiment shown in FIG. 6 , a
도 7 및 도 8은 본 발명의 일 실시예에 따른 시스템 온 칩의 동작을 설명하기 위해 제공되는 도면들이다.7 and 8 are diagrams provided to explain the operation of the system on chip according to an embodiment of the present invention.
도 7 및 도 8을 참조하면, 복수의 프로세서들(210-230)은 서로 다른 아키텍처를 가질 수 있다. 일례로, 제1 프로세서(210)는 제1 CPU(211)와 디버깅 리소스(212)를 포함할 수 있으며, 제1 CPU(211)는 일정한 주기마다 및/또는 교착 상태가 발생할 때의 상태 정보를 디버깅 정보로서 디버깅 리소스(212)에 저장할 수 있다. 따라서, 시스템 온 칩(200)이 교착 상태에 진입한 경우, 제1 프로세서(210)의 디버깅 정보는 시스템 온 칩(200)이 재부팅되기 전에 디버깅 리소스(212)로부터 추출되어 소정의 저장 공간에 저장될 수 있다. 시스템 온 칩(200)의 재부팅이 완료되면, 상기 저장 공간에 저장된 디버깅 정보는 사용자 또는 개발자에게 제공될 수 있다. 즉, 제1 프로세서(210)에서는 디버깅 리소스(212)에 저장된 상태 정보들 중 일부를 선택하여 따로 저장하는 것만으로, 디버깅 정보를 확보할 수 있다.Referring to FIGS. 7 and 8 , the plurality of
제2 프로세서(220)와 제3 프로세서(230)는 제1 프로세서(210)와 달리 디버깅에 필요한 디버깅 정보를 자동으로 저장하는 기능을 제공하지 않을 수 있다. 따라서, 시스템 온 칩(200)이 교착 상태에 진입하면, 디버깅 마스터(262)가 SoC 컨트롤러(261)로부터의 명령에 응답하거나 또는 디버깅 마스터(262)가 스스로 판단하여, 제2 프로세서(220)와 제3 프로세서(230) 각각으로부터 디버깅 정보를 확보할 수 있다.Unlike the
먼저 도 7을 참조하면, 시스템 온 칩(100)이 교착 상태에 진입함으로써 복수의 프로세서들(210-230)은 물론, 그래픽 처리 유닛(240), 디지털 신호 처리 유닛(250), 및 메모리 컨트롤러(270) 등의 동작이 중단될 수 있다. 교착 상태에서는, 시스템 버스(280) 역시 동작이 중단될 수 있다.Referring first to FIG. 7 , when the system on
SoC 컨트롤러(261)는 디버깅 정보를 확보하기 위한 정보 추출 커맨드를 생성하여 디버깅 마스터(262)에 전달할 수 있다. 또는, 다른 일 실시예에서 SoC 컨트롤러(261)가 디버깅 정보를 확보하기 위한 명령만을 디버깅 마스터(262)에 전달하고, 디버깅 마스터(262)가 정보 추출 커맨드를 생성할 수도 있다. 즉, 본 발명의 일 실시예에서, SoC 컨트롤러(261)와 디버깅 마스터(262) 중 적어도 하나에 의해, 정보 추출 커맨드가 생성될 수 있다.The
디버깅 마스터(262)는 디버깅 버스(290)를 통해 복수의 프로세서들(210-230)에 정보 추출 커맨드를 입력할 수 있다. 디버깅 버스(290)는 시스템 온 칩(200)이 교착 상태에 진입한 이후 활성화될 수 있다. 한편, 도 7 및 도 8에 도시한 일 실시예와 달리, 정보 추출 커맨드는 그래픽 처리 유닛(240), 디지털 신호 처리 유닛(250), 및 메모리 컨트롤러(270) 등의 다른 구성 요소들에도 입력될 수 있다. 정보 추출 커맨드를 입력할 구성 요소들의 종류와 개수는, SoC 컨트롤러(261)에 의해 결정될 수 있다.The
복수의 프로세서들(210-230)은 서로 다른 아키텍처를 가지며, 따라서 복수의 프로세서들(210-230) 각각에 입력되는 정보 추출 커맨드는 서로 다른 명령어들을 포함할 수 있다. 일례로, 제1 프로세서(210)에 입력되는 정보 추출 커맨드는, 디버깅 리소스(212)에 저장된 상태 정보들 중에서 디버깅 정보를 선택하고, 선택한 디버깅 정보를 별도의 저장 공간에 기록하는 명령어를 포함할 수 있다. The plurality of
제2 프로세서(220)는 제1 프로세서(210)와 달리 디버깅 리소스(212)를 포함하지 않을 수 있다. 제2 프로세서(220)에 입력되는 정보 추출 커맨드는, 제2 중앙 처리 유닛(221)이 디버깅 정보를 출력하도록 강제하는 명령어를 포함하거나, 또는 서브-컴포넌트(222)를 활성화시켜 제2 중앙 처리 유닛(221)으로부터 디버깅 정보를 추출하도록 제어하는 명령어를 포함할 수 있다. 제3 프로세서(230)에 입력되는 정보 추출 커맨드는 제3 중앙 처리 유닛(231)에 의해 처리되어 제3 중앙 처리 유닛(231)이 디버깅 정보를 소정의 저장 공간에 기록하도록 제어하는 명령어들을 포함할 수 있다. 즉, 상기 예시한 바와 같이, 본 발명에서는 복수의 프로세서들(210-230) 각각의 아키텍처에 의해 결정되는 명령어들을 갖는 서로 다른 정보 추출 커맨드들이, 복수의 프로세서들(210-230)에 입력될 수 있다.Unlike the
도 9 및 도 10은 본 발명의 일 실시예에 따른 시스템 온 칩의 동작을 설명하기 위해 제공되는 도면들이다.9 and 10 are diagrams provided to explain the operation of the system on chip according to an embodiment of the present invention.
먼저 도 9를 참조하면, 도 9에 도시한 일 실시예에 따른 시스템 온 칩(300)에서는 복수의 프로세서들(310-330) 각각이 디버깅 마스터(313, 323, 333)를 포함할 수 있다. 시스템 온 칩(300)이 교착 상태에 진입하면, SoC 컨트롤러(360)는 복수의 프로세서들(310-330) 각각에 정보 추출 커맨드를 입력할 수 있다. 정보 추출 커맨드는, 프로세서들(310-330)이 교착 상태에 진입했을 때의 상태 정보에 대응하는 디버깅 정보를 저장 및/또는 추출하기 위한 명령어들을 포함할 수 있다. 교착 상태에서는 시스템 버스(380)가 정상적으로 동작하지 않을 수 있으므로, 시스템 온 칩(300)은 시스템 버스(380)를 파티션 분할하고 그 일부를 교착 상태에서만 동작하는 디버그 전용 버스로 할당할 수 있다.Referring first to FIG. 9 , in the system on
제1 프로세서(310)의 디버깅 마스터(313)가 정보 추출 커맨드를 입력받으면, 디버깅 마스터(313)는 주기적으로, 및/또는 제1 프로세서(310)가 교착 상태에 진입했을 때 디버깅 리소스(312)에 저장된 상태 정보를 디버깅 정보로 마킹할 수 있다. 디버깅 마스터(313)는 마킹한 디버깅 정보를, 시스템 온 칩(300)의 재부팅과 함께 리셋되지 않는 저장 공간에 저장해둘 수 있다. 제2 프로세서(320)의 디버깅 마스터(323)는 정보 추출 커맨드에 응답하여, 서브 컴포넌트(322)를 활성화시킬 수 있다. 활성화된 서브 컴포넌트(322)는 제2 중앙 처리 유닛(321)으로부터 디버깅 정보를 전달받아 저장할 수 있다. 또는, 디버깅 마스터(323)가 정보 추출 커맨드에 응답하여 직접 제2 중앙 처리 유닛(321)에 접근함으로써, 제2 중앙 처리 유닛(321)이 디버깅 정보를 출력하도록 강제할 수 있다. 제3 프로세서(330)의 디버깅 마스터(333)는 정보 추출 커맨드를 입력받으면, 제3 중앙 처리 유닛(331)이 디버깅 정보를 추출하도록 제어하는 명령어를 제3 중앙 처리 유닛(331)에 전달할 수 있다. 상기와 같은 과정들을 통해 추출된 디버깅 정보는, 시스템 온 칩(300)의 재부팅에 의해 리셋되지 않는 저장 공간에 저장되며, 시스템 온 칩(300)이 재부팅된 이후 디버깅 작업에 활용될 수 있다.When the
도 10에 도시한 일 실시예에 따른 시스템 온 칩(400)의 동작은 도 9에 도시한 일 실시예에 따른 시스템 온 칩(300)의 동작과 유사할 수 있다. 다만, 도 10에 도시한 일 실시예에서는 디버깅 버스(490)가 시스템 버스(480)와 물리적으로 분리되는 별도의 버스로 마련될 수 있다. 디버깅 버스(490)는 일반적인 동작에서는 활성화되지 않을 수 있으며, 시스템 온 칩(400)이 교착 상태에 진입한 경우 등과 같이, SoC 컨트롤러(460)에 의해 활성화 명령이 전달되는 경우에만 활성화될 수 있다. 시스템 온 칩(400)이 교착 상태에 진입하면, SoC 컨트롤러(460)는 디버깅 버스(490)를 통해 복수의 프로세서들(410-430) 각각에 포함된 디버깅 마스터(413, 423, 433)에 정보 추출 커맨드를 입력할 수 있다. 디버깅 마스터(413, 423, 433)는 정보 추출 커맨드에 포함된 명령어를 이용하여, 제1 내지 제3 중앙 처리 유닛들(311, 321, 331) 각각으로부터 디버깅 정보를 확보할 수 있다.An operation of the system on a
도 11 내지 도 14는 본 발명의 일 실시예에 따른 시스템 온 칩의 동작을 설명하기 위해 제공되는 흐름도들이다.11 to 14 are flowcharts provided to explain the operation of the system on chip according to an embodiment of the present invention.
먼저 도 11을 참조하면, 본 발명의 일 실시예에 따른 시스템 온 칩의 동작은, 교착 상태를 감지하는 것으로 시작할 수 있다(S10). 교착 상태는 시스템 온 칩에 포함된 SoC 컨트롤러 등에 의해 감지될 수 있다. 일례로 시스템 온 칩에 포함되는 복수의 구성 요소들은 내부에 카운터 회로를 포함할 수 있으며, 카운터 회로는 소정의 주기마다 SoC 컨트롤러에 신호를 전송할 수 있다. SoC 컨트롤러는 상기 주기가 경과하였음에도 불구하고 카운터 회로로부터 신호를 수신하지 못할 때, 교착 상태가 발생한 것으로 판단할 수 있다. 또한, 시스템 온 칩에 포함되는 구성 요소들 각각이, 이상 동작을 감지하여 인터럽트를 생성한 경우에도 교착 상태가 발생한 것으로 인식할 수 있다.Referring first to FIG. 11 , an operation of the system on a chip according to an embodiment of the present invention may start by detecting a deadlock (S10). A deadlock can be detected by a SoC controller or the like included in a system-on-a-chip. For example, a plurality of components included in the system-on-chip may include a counter circuit therein, and the counter circuit may transmit a signal to the SoC controller at predetermined intervals. When the SoC controller does not receive a signal from the counter circuit even though the period has elapsed, it may be determined that a deadlock has occurred. In addition, even when each of the components included in the system-on-chip detects an abnormal operation and generates an interrupt, it may be recognized that a deadlock has occurred.
교착 상태가 감지되면, SoC 컨트롤러는 복수의 프로세서들 각각의 아키텍처에 맞는 커맨드를 전송할 수 있다(S20). 일 실시예에서 상기 커맨드는 시스템 온 칩이 교착 상태에 진입했을 때 복수의 프로세서들 각각의 상태를 나타내는 디버깅 정보를 추출하기 위한 명령어들을 포함하는 정보 추출 커맨드일 수 있다. 실시예들에 따라, 정보 추출 커맨드는 SoC 컨트롤러 및 디버깅 마스터를 통해 프로세서들에 전송될 수 있으며, 프로세서들을 제외한 나머지 구성 요소들에도 정보 추출 커맨드가 전송될 수 있다.When deadlock is detected, the SoC controller may transmit a command suitable for each architecture of a plurality of processors (S20). In one embodiment, the command may be an information extraction command including instructions for extracting debugging information indicating a state of each of a plurality of processors when a system-on-chip enters a deadlock state. According to embodiments, the information extraction command may be transmitted to processors through the SoC controller and the debugging master, and the information extraction command may also be transmitted to components other than the processors.
정보 추출 커맨드를 수신한 프로세서들은, 그에 응답하여 디버깅 정보를 저장 및/또는 출력할 수 있다(S30). 앞서 설명한 바와 같이, 프로세서들 각각이 디버깅 정보를 저장 및/또는 출력하는 방법은 프로세서들 각각의 아키텍처에 따라 결정될 수 있다. 일례로, 서브 컴포넌트를 포함하는 프로세서의 경우 정보 추출 커맨드에 응답하여 서브 컴포넌트가 활성화될 수 있다. 활성화된 서브 컴포넌트는 프로세서에 포함된 CPU로부터 디버깅 정보를 추출하고 이를 소정의 저장 공간에 저장할 수 있다. 서브 컴포넌트를 포함하지 않는 프로세서의 경우, 정보 추출 커맨드에 포함된 명령어를 CPU가 실행하여 디버깅 정보를 스스로 저장 공간에 저장할 수 있다. 상기 저장 공간은 시스템 온 칩이 재부팅되는 경우에도 리셋되지 않는 영역일 수 있다.Processors receiving the information extraction command may store and/or output debugging information in response thereto (S30). As described above, a method of storing and/or outputting debugging information by each of the processors may be determined according to the architecture of each of the processors. For example, in the case of a processor including subcomponents, the subcomponents may be activated in response to an information extraction command. The activated subcomponent may extract debugging information from the CPU included in the processor and store it in a predetermined storage space. In the case of a processor not including a subcomponent, the CPU may execute a command included in the information extraction command to store debugging information in a storage space by itself. The storage space may be an area that is not reset even when the system on chip is rebooted.
디버깅 정보가 디버깅 마스터에 의해 상기 영역에 저장되면, 시스템 온 칩이 재부팅될 수 있다(S40). 다만, 실시예들에 따라, 교착 상태에 진입한 일부 구성 요소들만 재부팅될 수도 있다. 시스템 온 칩이 복수의 프로세서들을 포함하고 복수의 프로세서들을 그룹화하여 관리하는 경우, 그룹 단위로 재부팅이 실행될 수도 있다.When the debugging information is stored in the area by the debugging master, the system on chip may be rebooted (S40). However, according to embodiments, only some components that have entered deadlock may be rebooted. When a system on a chip includes a plurality of processors and groups and manages the plurality of processors, rebooting may be performed in units of groups.
재부팅이 완료되면, 시스템 온 칩은 S30 단계에서 저장한 디버깅 정보를 개발자 또는 사용자에게 제공하며, 개발자 또는 사용자는 디버깅 정보를 이용하여 디버깅 작업을 진행할 수 있다(S50). 따라서, 시스템 온 칩의 교착 상태를 유발한 명령어를 빠르게 파악할 수 있으므로, 개발자 또는 사용자의 디버깅 작업 효율을 개선할 수 있다.When the rebooting is completed, the system-on-chip provides the debugging information stored in step S30 to the developer or user, and the developer or user can proceed with debugging using the debugging information (S50). Accordingly, since it is possible to quickly identify an instruction causing system-on-chip deadlock, it is possible to improve debugging work efficiency of a developer or user.
도 12는 도 11의 S30 단계가 제1 아키텍처를 갖는 프로세서에서 실행되는 실시예를 더욱 자세히 설명하기 위한 흐름도일 수 있다. 정보 추출 커맨드를 수신한 프로세서는, 디버깅 리소스에 접근할 수 있다(S31). 디버깅 리소스는 프로세서에 포함되는 중앙 처리 유닛, 또는 코어 등이 소정의 주기 또는 교착 상태 발생 시에 상태 정보를 기록하는 공간일 수 있다. 정보 추출 커맨드를 수신하면, 프로세서는 교착 상태 발생시에 디버깅 리소스에 저장된 상태 정보를 검색할 수 있다(S32). 일례로, 교착 상태 발생 시점 부근의 상태 정보가 S32 단계에서 검색될 수 있다.FIG. 12 may be a flowchart for explaining in detail an embodiment in which step S30 of FIG. 11 is executed in a processor having a first architecture. The processor receiving the information extraction command may access debugging resources (S31). The debugging resource may be a space in which a central processing unit or a core included in a processor records state information at a predetermined period or when a deadlock occurs. Upon receiving the information extraction command, the processor may search state information stored in the debugging resource when a deadlock occurs (S32). For example, state information around the deadlock occurrence point may be retrieved in step S32.
프로세서는 검색한 상태 정보를 디버깅 정보로서 저장할 수 있다(S33). 앞서 설명한 바와 같이, 디버깅 정보는 시스템 온 칩의 재부팅과 관계없이, 리셋되지 않는 저장 공간에 기록될 수 있다.The processor may store the retrieved state information as debugging information (S33). As described above, debugging information may be recorded in a storage space that is not reset regardless of system-on-chip rebooting.
도 13은 도 11의 S30 단계가 제2 아키텍처를 갖는 프로세서에서 실행되는 실시예를 더욱 자세히 설명하기 위한 흐름도일 수 있다. 제2 아키텍처는 앞서 도 12를 참조하여 설명한 제1 아키텍처와 다를 수 있다. FIG. 13 may be a flowchart for explaining in detail an embodiment in which step S30 of FIG. 11 is executed in a processor having a second architecture. The second architecture may be different from the first architecture described above with reference to FIG. 12 .
도 12에 도시한 일 실시예에서는, 정보 추출 커맨드에 의해 프로세서에 포함된 서브 컴포넌트가 활성화될 수 있다(S34). S34 단계에서 활성화되는 서브 컴포넌트는, 교착 상태에 진입한 프로세서의 중앙 처리 유닛(CPU) 또는 코어 등에 접근하여 특정 정보를 추출하는 로직일 수 있다. 즉, 활성화된 서브 컴포넌트는 중앙 처리 유닛(CPU)으로부터 디버깅 정보를 추출하여 저장할 수 있다(S35). 디버깅 정보는 시스템 온 칩의 재부팅과 관계없이, 리셋되지 않는 저장 공간에 기록될 수 있다.In the embodiment shown in FIG. 12, a subcomponent included in the processor may be activated by an information extraction command (S34). The subcomponent activated in step S34 may be a logic that extracts specific information by accessing a central processing unit (CPU) or core of a processor that has entered a deadlock state. That is, the activated subcomponent may extract and store debugging information from the central processing unit (CPU) (S35). Debugging information can be written to a storage space that is not reset regardless of system-on-chip rebooting.
도 14는 도 11의 S30 단계가 제3 아키텍처를 갖는 프로세서에서 실행되는 실시예를 더욱 자세히 설명하기 위한 흐름도일 수 있다. 제3 아키텍처는 앞서 도 11 및 도 12를 참조하여 설명한 제1 아키텍처 및 제2 아키텍처와 다를 수 있다.FIG. 14 may be a flowchart for explaining in detail an embodiment in which step S30 of FIG. 11 is executed in a processor having a third architecture. The third architecture may be different from the first architecture and the second architecture previously described with reference to FIGS. 11 and 12 .
도 14에 도시한 일 실시예에서는, 정보 추출 커맨드에 포함된 소정의 명령어가 실행될 수 있다(S36). 일례로 상기 명령어는 디버깅 마스터 또는 프로세서에 의해 정보 추출 커맨드로부터 실행될 수 있다. 상기 명령어가 실행되면, 프로세서의 중앙 처리 유닛 또는 코어 등으로부터 디버깅 정보가 추출되어 프로세서의 내부 레지스터에 저장될 수 있다(S37). 동시에, 상기 디버깅 정보는 프로세서 외부의 저장 공간에 기록될 수 있다(S38). 도 12 및 도 13을 참조하여 설명한 바와 마찬가지로, 디버깅 정보는 시스템 온 칩의 재부팅에 의해 리셋되지 않는 저장 공간에 기록될 수 있다.In the embodiment shown in FIG. 14, a predetermined command included in the information extraction command may be executed (S36). For example, the command may be executed from an information extraction command by a debugging master or processor. When the command is executed, debugging information may be extracted from the central processing unit or core of the processor and stored in an internal register of the processor (S37). At the same time, the debugging information may be recorded in a storage space outside the processor (S38). As described with reference to FIGS. 12 and 13 , debugging information may be recorded in a storage space that is not reset by system-on-chip rebooting.
도 1 내지 도 14를 참조하여 설명한 실시예들은, 시스템 온 칩이 교착 상태에 진입한 경우는 물론, 개발자 또는 사용자가 개발 및/또는 유지, 보수 목적으로 디버깅 정보를 필요로 하는 경우에도 적용될 수 있다. 즉, 시스템 온 칩이 교착 상태에 진입하지 않은 경우에도, 디버깅 정보를 필요로 하는 개발자 또는 사용자가 정보 추출 커맨드를 출력하도록 SoC 컨트롤러를 제어하면, 복수의 프로세서들을 포함하는 구성 요소들이 정보 추출 커맨드를 입력받아 디버깅 정보를 저장할 수 있다. 개발자 또는 사용자는 저장된 상기 디버깅 정보를 이용하여, 교착 상태 진입 여부와 관계없이 디버깅 작업을 진행할 수도 있다.The embodiments described with reference to FIGS. 1 to 14 can be applied not only when the system on chip enters a deadlock state, but also when a developer or user needs debugging information for development and/or maintenance. . That is, even if the system-on-chip does not enter a deadlock state, if a developer or a user who needs debugging information controls the SoC controller to output an information extraction command, components including a plurality of processors may issue an information extraction command. You can receive input and save debugging information. A developer or a user may use the stored debugging information to perform a debugging operation regardless of whether or not a deadlock is entered.
도 15는 본 발명의 일 실시예에 따른 시스템 온 칩을 포함하는 전자 기기를 간단하게 나타낸 블록도이다.15 is a block diagram simply illustrating an electronic device including a system on a chip according to an embodiment of the present invention.
도 15에 도시한 실시예에 따른 컴퓨터 장치(1000)는 이미지 센서(1010), 디스플레이(1020), 메모리(1030), 시스템 온 칩(1040), 및 포트(1050) 등을 포함할 수 있다. 이외에 컴퓨터 장치(1000)는 유무선 통신 장치, 전원 장치 등을 더 포함할 수 있다. 도 15에 도시된 구성 요소 가운데, 포트(1050)는 컴퓨터 장치(1000)가 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하기 위해 제공되는 장치일 수 있다. 컴퓨터 장치(1000)는 일반적인 데스크톱 컴퓨터나 랩톱 컴퓨터 외에 스마트폰, 태블릿 PC, 스마트 웨어러블 기기 등을 모두 포괄하는 개념일 수 있다.A
시스템 온 칩(1040)는 특정 연산이나 명령어 및 태스크 등을 수행할 수 있다. 시스템 온 칩(1040)은 버스(1060)를 통해 이미지 센서(1010), 디스플레이(1020), 메모리 장치(1030)는 물론, 포트(1050)에 연결된 다른 장치들과 통신할 수 있다. 시스템 온 칩(1040)은 서로 다른 아키텍처에 따라 설계되는 복수의 프로세서들을 포함할 수 있으며, 교착 상태에 진입할 경우 도 1 내지 도 14를 참조하여 설명한 다양한 실시예들에 따라 디버깅 정보를 확보할 수 있다.The system-on-a-chip 1040 may perform specific operations, commands, and tasks. System-on-a-chip 1040 may communicate with
메모리(1030)는 컴퓨터 장치(1000)의 동작에 필요한 데이터, 또는 멀티미디어 데이터 등을 저장하는 저장 매체일 수 있다. 메모리(1030)는 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리나, 또는 플래시 메모리 등과 같은 비휘발성 메모리를 포함할 수 있다. 또한 메모리(1030)는 저장장치로서 솔리드 스테이트 드라이브(SSD), 하드 디스크 드라이브(HDD), 및 광학 드라이브(ODD) 중 적어도 하나를 포함할 수도 있다. 입출력 장치(1020)는 사용자에게 제공되는 키보드, 마우스, 터치스크린 등과 같은 입력 장치 및 디스플레이, 오디오 출력부 등과 같은 출력 장치를 포함할 수 있다. The memory 1030 may be a storage medium that stores data necessary for the operation of the
이미지 센서(1010)는 패키지 기판에 실장되어 버스(1060) 또는 다른 통신 수단에 의해 프로세서(1040)와 연결될 수 있다. 이미지 센서(1010)는 도 1 내지 도 14를 참조하여 설명한 다양한 실시예들에 따른 형태로 컴퓨터 장치(1000)에 채용될 수 있다.The
도 16은 본 발명의 일 실시예에 따른 시스템 온 칩을 포함하는 자율 주행 차량을 간단하게 나타낸 블록도이다.16 is a simplified block diagram of an autonomous vehicle including a system on a chip according to an embodiment of the present invention.
도 16을 참조하면, 자율 주행 차량(1100)은 시스템 온 칩(1110), 비전 센서(1120), 차체 제어 모듈(Body Control Module, 1130), 메모리(1140), 및 통신 모듈(1150) 등을 포함할 수 있다. 시스템 온 칩(1110)은 서로 다른 아키텍처에 따라 설계되는 복수의 프로세서들을 포함할 수 있으며, 교착 상태에 진입할 경우 도 1 내지 도 14를 참조하여 설명한 다양한 실시예들에 따라 디버깅 정보를 확보할 수 있다. Referring to FIG. 16 , an
시스템 온 칩(1110)은 비전 센서(1120), 차체 제어 모듈(1130), 메모리(1140), 및 통신 모듈(1150)을 제어하여 자율 주행 차량(1100)의 자율 주행 기능을 제공할 수 있다. 일례로 시스템 온 칩(1110)은 비전 센서(1120)가 수집한 차량 주변의 시각 정보와, 통신 모듈(1150)을 통해 수신한 교통 정보 등을 이용하여 주행 환경을 판단하고, 주행 환경에 기초하여 차량의 구동계와 함께 차체 제어 모듈(1130)을 제어할 수 있다. The system on
본 발명은 상술한 실시형태 및 첨부된 도면에 의해 한정되는 것이 아니며 첨부된 청구범위에 의해 한정하고자 한다. 따라서, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 당 기술분야의 통상의 지식을 가진 자에 의해 다양한 형태의 치환, 변형 및 변경이 가능할 것이며, 이 또한 본 발명의 범위에 속한다고 할 것이다.The present invention is not limited by the above-described embodiments and accompanying drawings, but is intended to be limited by the appended claims. Therefore, various forms of substitution, modification, and change will be possible by those skilled in the art within the scope of the technical spirit of the present invention described in the claims, which also falls within the scope of the present invention. something to do.
10, 20, 30, 100, 200, 300, 400: 시스템 온 칩
11, 12, 13, 21, 31, 110, 120, 130, 210, 220, 230, 310, 320, 330, 410, 420, 430: 프로세서
16, 26, 160, 260: SoC 매니저
27, 37, 161, 261, 360, 460: SoC 컨트롤러
28, 35, 162, 262, 313, 323, 333, 413, 423, 433: 디버깅 마스터10, 20, 30, 100, 200, 300, 400: System on a Chip
11, 12, 13, 21, 31, 110, 120, 130, 210, 220, 230, 310, 320, 330, 410, 420, 430: Processor
16, 26, 160, 260: SoC manager
27, 37, 161, 261, 360, 460: SoC controller
28, 35, 162, 262, 313, 323, 333, 413, 423, 433: Debugging Master
Claims (10)
상기 복수의 프로세서들에 연결되는 시스템 버스(bus); 및
상기 교착 상태가 발생하면, 상기 복수의 프로세서들 각각의 아키텍처에 따라 상기 복수의 프로세서들 중 적어도 일부에 대해 상기 정보 추출 커맨드를 다르게 생성하는 SoC(System on Chip) 매니저; 를 포함하며,
상기 SoC 매니저는 상기 교착 상태가 발생하면 상기 복수의 프로세서들 각각에 대한 마스터 장치로 동작하며, 상기 복수의 프로세서들 각각에서 상기 SoC 매니저와 연결되고 슬레이브 인터페이스로 동작하는 인터페이스를 통해 상기 정보 추출 커맨드를 상기 복수의 프로세서들에 전송하는 시스템 온 칩.
A plurality of processors that store debugging information in response to an information extraction command received in a deadlock state, and at least some of the processors have different architectures;
a system bus connected to the plurality of processors; and
a System on Chip (SoC) manager configured to differently generate the information extraction command for at least some of the plurality of processors according to the architecture of each of the plurality of processors when the deadlock occurs; Including,
When the deadlock occurs, the SoC manager operates as a master device for each of the plurality of processors, and executes the information extraction command through an interface connected to the SoC manager and operating as a slave interface in each of the plurality of processors. A system on a chip that transmits to the plurality of processors.
상기 SoC 매니저는, 상기 복수의 프로세서들 각각이 상기 정보 추출 커맨드에 응답하여 상기 디버깅 정보를 저장하면, 상기 복수의 프로세서들 및 상기 시스템 버스를 리셋하는 시스템 온 칩.
According to claim 1,
wherein the SoC manager resets the plurality of processors and the system bus when each of the plurality of processors stores the debugging information in response to the information extraction command.
상기 시스템 버스와 서로 물리적으로 분리되거나, 파티션 분할에 의해 서로 논리적으로 분리되는 디버깅 버스; 를 더 포함하는 시스템 온 칩.
According to claim 1,
a debugging bus physically separated from the system bus or logically separated from each other by partitioning; A system on a chip further comprising a.
상기 SoC 매니저는, 상기 교착 상태가 감지되면 상기 디버깅 버스를 통해 상기 복수의 프로세서들 각각에 상기 정보 추출 커맨드를 전송하는 시스템 온 칩.
According to claim 3,
wherein the SoC manager transmits the information extraction command to each of the plurality of processors through the debugging bus when the deadlock is detected.
상기 SoC 매니저는, 상기 교착 상태를 감지하는 SoC 컨트롤러, 및 상기 정보 추출 커맨드를 상기 복수의 프로세서들에 전송하는 디버깅 마스터를 포함하는 시스템 온 칩.
According to claim 1,
The SoC manager includes a SoC controller that detects the deadlock state, and a debugging master that transmits the information extraction command to the plurality of processors.
상기 복수의 프로세서들 각각은, 상기 정보 추출 커맨드에 응답하여 상기 디버깅 정보를 저장하는 디버깅 마스터를 포함하는 시스템 온 칩.
According to claim 1,
Each of the plurality of processors includes a debugging master configured to store the debugging information in response to the information extraction command.
상기 제1 인터페이스에 연결되는 시스템 버스;
상기 제2 인터페이스에 연결되는 디버깅 마스터; 및
상기 시스템 버스를 통해 상기 복수의 프로세서들과 연결되며, 상기 복수의 프로세서들에서 발생하는 교착 상태를 감지하는 SoC 컨트롤러; 를 포함하고,
상기 디버깅 마스터는, 상기 교착 상태가 발생하면 상기 SoC 컨트롤러의 명령에 응답하여 상기 복수의 프로세서들 각각의 아키텍처에 기초하여 생성된 정보 추출 커맨드를 상기 복수의 프로세서들에 전송하며,
상기 제2 인터페이스는 상기 디버깅 마스터에 대한 슬레이브 인터페이스로 동작하는 시스템 온 칩.
a plurality of processors each including a first interface, a second interface, and a central processing unit;
a system bus connected to the first interface;
a debugging master connected to the second interface; and
an SoC controller connected to the plurality of processors through the system bus and detecting a deadlock state occurring in the plurality of processors; including,
The debugging master transmits an information extraction command generated based on the architecture of each of the plurality of processors to the plurality of processors in response to a command of the SoC controller when the deadlock occurs,
The second interface operates as a slave interface for the debugging master.
상기 제1 아키텍처와 다른 제2 아키텍처에 따라 설계된 제2 프로세서;
상기 제1 및 제2 프로세서들 중 적어도 하나에서 발생하는 교착 상태를 감지하는 SoC 컨트롤러; 및
상기 제1 및 제2 프로세서들 각각의 슬레이브 인터페이스와 연결되며, 상기 교착 상태가 발생하면 상기 제1 및 제2 프로세서들이 리셋되기 전에 상기 슬레이브 인터페이스를 통해 상기 제1 및 제2 프로세서들에 정보 추출 커맨드를 전송하여 디버깅 정보를 확보하는 디버깅 마스터; 를 포함하며,
상기 제1 및 제2 프로세서들 각각은, 상기 정보 추출 커맨드에 응답하여 서로 다른 방법으로 상기 디버깅 정보를 저장하는 시스템 온 칩.
a first processor designed according to the first architecture;
a second processor designed according to a second architecture different from the first architecture;
an SoC controller detecting a deadlock state occurring in at least one of the first and second processors; and
It is connected to a slave interface of each of the first and second processors, and when the deadlock occurs, an information extraction command to the first and second processors through the slave interface before the first and second processors are reset. Debugging master to obtain debugging information by sending; Including,
Each of the first and second processors stores the debugging information in different ways in response to the information extraction command.
교착 상태를 감지하는 단계;
상기 복수의 프로세서들 각각의 아키텍처에 기초하여 정보 추출 커맨드를 생성하는 단계;
상기 복수의 프로세서들 각각에서 슬레이브 인터페이스로 동작하는 인터페이스를 통해 상기 정보 추출 커맨드를 상기 복수의 프로세서들 각각에 전송하는 단계;
상기 정보 추출 커맨드에 응답하여 상기 복수의 프로세서들 각각이 출력하는 디버깅 정보를, 재부팅에 의해 리셋되지 않는 저장 공간에 저장하는 단계; 및
시스템 온 칩을 재부팅하는 단계; 를 포함하는 시스템 온 칩의 동작 방법.
A method of operating a system on a chip including a plurality of processors having different architectures,
deadlock detection;
generating an information extraction command based on an architecture of each of the plurality of processors;
transmitting the information extraction command to each of the plurality of processors through an interface operating as a slave interface in each of the plurality of processors;
storing debugging information output by each of the plurality of processors in a storage space that is not reset by rebooting in response to the information extraction command; and
rebooting the system on chip; A method of operating a system-on-a-chip comprising a.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/214,978 US10962593B2 (en) | 2018-04-03 | 2018-12-10 | System on chip and operating method thereof |
CN201910228208.1A CN110347639A (en) | 2018-04-03 | 2019-03-25 | System on chip and its operating method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180038758 | 2018-04-03 | ||
KR20180038758 | 2018-04-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190116029A KR20190116029A (en) | 2019-10-14 |
KR102550886B1 true KR102550886B1 (en) | 2023-07-05 |
Family
ID=68171870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180087692A KR102550886B1 (en) | 2018-04-03 | 2018-07-27 | System on chip and operating method thereof |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102550886B1 (en) |
CN (1) | CN110347639A (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113138918B (en) * | 2021-04-16 | 2023-12-01 | Oppo广东移动通信有限公司 | Debugging method applied to terminal with multiple systems, terminal and storage medium |
WO2024080395A1 (en) * | 2022-10-12 | 2024-04-18 | 엘지전자 주식회사 | Recovery device and method for resolving system deadlock |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332909A1 (en) * | 2009-06-30 | 2010-12-30 | Texas Instruments Incorporated | Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems |
JP2011022714A (en) | 2009-07-14 | 2011-02-03 | Canon Inc | Data processing apparatus |
US8769495B1 (en) * | 2005-09-30 | 2014-07-01 | Sony Computer Entertainment Inc. | Systems and methods for debugging in a multiprocessor environment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10271185A (en) * | 1997-03-27 | 1998-10-09 | Toshiba Corp | Communication system and its fault management system |
US8443175B2 (en) * | 2009-07-10 | 2013-05-14 | Via Technologies, Inc. | Microprocessor with first processor for debugging second processor |
CN101710300B (en) * | 2009-11-03 | 2011-11-02 | 龙芯中科技术有限公司 | Device and system for realizing debuggability of multicore processor EJTAG |
JP5575947B2 (en) * | 2013-04-04 | 2014-08-20 | ルネサスエレクトロニクス株式会社 | Multiprocessor device |
US10025741B2 (en) * | 2016-01-13 | 2018-07-17 | Samsung Electronics Co., Ltd. | System-on-chip, mobile terminal, and method for operating the system-on-chip |
-
2018
- 2018-07-27 KR KR1020180087692A patent/KR102550886B1/en active IP Right Grant
-
2019
- 2019-03-25 CN CN201910228208.1A patent/CN110347639A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769495B1 (en) * | 2005-09-30 | 2014-07-01 | Sony Computer Entertainment Inc. | Systems and methods for debugging in a multiprocessor environment |
US20100332909A1 (en) * | 2009-06-30 | 2010-12-30 | Texas Instruments Incorporated | Circuits, systems, apparatus and processes for monitoring activity in multi-processing systems |
JP2011022714A (en) | 2009-07-14 | 2011-02-03 | Canon Inc | Data processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
KR20190116029A (en) | 2019-10-14 |
CN110347639A (en) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9778844B2 (en) | Installation of operating system on host computer using virtual storage of BMC | |
US9158628B2 (en) | Bios failover update with service processor having direct serial peripheral interface (SPI) access | |
US9680712B2 (en) | Hardware management and control of computer components through physical layout diagrams | |
US9529410B2 (en) | Service processor (SP) initiated data transaction with BIOS utilizing power off commands | |
JP4678396B2 (en) | Computer and method for monitoring virtual machine monitor, and virtual machine monitor monitor program | |
KR101813480B1 (en) | Hardware-based inter-device resource sharing | |
US9806959B2 (en) | Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface | |
KR102550886B1 (en) | System on chip and operating method thereof | |
KR20160125137A (en) | Application processor and system on chip | |
US9749189B2 (en) | Generating graphical diagram of physical layout of computer platforms | |
US10962593B2 (en) | System on chip and operating method thereof | |
EP2869189A1 (en) | Boot up of a multiprocessor computer | |
KR100621095B1 (en) | Booting-system and booting-method for initializing peripherals | |
JP6319326B2 (en) | Information processing apparatus diagnosis method, information processing apparatus diagnosis program, and information processing apparatus | |
EP2639692A2 (en) | Memory dump program, information processing apparatus, and memory dump method | |
JP2014182676A (en) | Log collection device, arithmetic unit, and log collection method | |
US10425545B2 (en) | Printing apparatus and method for controlling the same | |
TWI793774B (en) | Method and apparatus and computer program product for debugging solid state disk devices | |
JP2015130023A (en) | Information recording device, information processor, information recording method and information recording program | |
CN114328345B (en) | Control information processing method, device and computer readable storage medium | |
US11900150B2 (en) | Methods and systems for collection of system management interrupt data | |
RU180783U1 (en) | Electronic computer | |
CN114327972A (en) | Data processing method and device based on solid state disk | |
JP2013196241A (en) | Information processor and log acquisition method | |
JP2016062529A (en) | Information processing device, control method of information processing device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |