KR102453689B1 - 주기적 프로세스 처리 시스템 및 시스템 온 칩 - Google Patents
주기적 프로세스 처리 시스템 및 시스템 온 칩 Download PDFInfo
- Publication number
- KR102453689B1 KR102453689B1 KR1020170170935A KR20170170935A KR102453689B1 KR 102453689 B1 KR102453689 B1 KR 102453689B1 KR 1020170170935 A KR1020170170935 A KR 1020170170935A KR 20170170935 A KR20170170935 A KR 20170170935A KR 102453689 B1 KR102453689 B1 KR 102453689B1
- Authority
- KR
- South Korea
- Prior art keywords
- time
- system processor
- start time
- tick signal
- clock
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/223—Execution means for microinstructions irrespective of the microinstruction function, e.g. decoding of microinstructions and nanoinstructions; timing of microinstructions; programmable logic arrays; delays and fan-out problems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/28—Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
- Formation Of Insulating Films (AREA)
- Internal Circuitry In Semiconductor Integrated Circuit Devices (AREA)
- Crystals, And After-Treatments Of Crystals (AREA)
- Electric Clocks (AREA)
Abstract
주기적 프로세스 처리 시스템이 제공된다. 주기적 프로세스 처리 시스템은 제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서, 상기 제1 주기적 실시간 프로세스를 수행할 수 있는 제1 상태를 상기 시스템 프로세서에게 제공하는 웨이크업 로직 및 상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱(tick) 신호를 상기 웨이크업 로직에 공급하고, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 상기 시스템 프로세서에 공급하는 카운터를 포함할 수 있다.
Description
본 발명은 주기적 프로세스 처리 시스템 및 이를 포함하는 시스템 온 칩에 관한 것이다.
애플리케이션 프로세서(Application Processor; AP)와 같은 시스템 프로세서는 파워 소모를 줄이기 위해 저전력 모드로 부분적으로 파워를 끄거나 클락을 멈추고 있는 경우가 많다. 따라서, 애플리케이션 프로세서가 프로세스를 수행하기 위해서는 파워 및 클락을 공급받아야 하는 경우가 존재한다.
정확하게 정해진 주기에 수행되어야 하는 주기적 실시간 프로세스를 처리하는 실시간 프로세서는 애플리케이션 프로세서와 같은 시스템 프로세서 외부에 존재하기 때문에 항상 켜져 있었다. 따라서, 실시간 프로세서에게 별도의 틱 신호를 제공할 필요가 없었다.
하지만, 최근 실시간 프로세서가 애플리케이션 프로세서에 내장되었다. 애플리케이션 프로세서와 같은 시스템 프로세서는 저전력 모드와 같이 클락 또는 파워를 공급받고 있지 않을 수 있다. 따라서, 애플리케이션 프로세서와 같은 시스템 프로세서가 정해진 주기에 정확하게 수행되어야 하는 프로세스를 수행하기 위해서는 이를 수행하기 위한 준비 과정(예를 들어, 파워 및 클락을 제공받는 과정)이 필요할 수 있다. 이 경우, 준비 과정에 소요되는 시간이 특정되어 있지 않기 때문에 정해진 주기에 정확하게 수행되어야 하는 프로세스를 애플리케이션 프로세서와 같은 시스템 프로세서가 처리하기 어렵다는 문제가 있다. 따라서, 시스템 프로세서에 포함된 주기적 실시간 프로세스가 정확하게 스케쥴될 수 있도록 틱 신호를 이용할 필요성이 대두되고 있다.
본 발명이 해결하고자 하는 기술적 과제는 정해진 주기에 정확히 수행되어야 하는 프로세스를 처리하는 주기적 프로세스 처리 시스템을 제공하는 것이다.
본 발명이 해결하고자 하는 기술적 과제는 복수의 틱 신호를 활용하여 주기적 실시간 프로세스가 정확하게 스케쥴 될 수 있도록 하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 주기적 프로세스 처리 시스템은 제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서, 상기 제1 주기적 실시간 프로세스를 수행할 수 있는 제1 상태를 상기 시스템 프로세서에게 제공하는 웨이크업 로직 및 상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱(tick) 신호를 상기 웨이크업 로직에 공급하고, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 상기 시스템 프로세서에 공급하는 카운터를 포함할 수 있다.
몇몇 실시예에서, 주기적 프로세스 처리 시스템은 제1 시간 간격마다 수행이 시작되는 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서, 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱 신호를 발생시키는 카운터, 상기 시스템 프로세서에 파워를 공급하는 파워 매니지먼트 유닛, 상기 시스템 프로세서에 클락을 공급하는 클락 매니지먼트 유닛 및 상기 제1 틱 신호를 수신함에 따라 상기 파워 매니지먼트 유닛 및 상기 클락 매니지먼트 유닛을 제어하여 상기 파워 및 상기 클락을 상기 시스템 프로세서에 공급시키는 웨이크업 로직을 포함하고, 상기 카운터는, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 생성시키고, 상기 시스템 프로세서는, 상기 제2 틱 신호를 수신함에 따라 상기 제1 주기적 실시간 프로세스의 수행을 시작할 수 있다.
몇몇 실시예에서, 시스템 온 칩은 호스트로부터 주기적으로 수행되는 작업을 요청 받은 인터페이스, 상기 요청 받은 작업과 관련된 제1 주기적 실시간 프로세스를 처리하는 주기적 프로세스 처리 시스템을 포함하고, 상기 제1 주기적 실시간 프로세스는, 제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 프로세스이고, 상기 주기적 프로세스 처리 시스템은, 상기 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서, 상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱 신호를 발생시키고, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 발생시키는 카운터 및 상기 제1 틱 신호를 상기 카운터로부터 수신하여 상기 시스템 프로세서가 상기 제1 주기적 실시간 프로세스를 수행할 수 있는 제1 상태를 제공하는 웨이크업 로직을 포함하고, 상기 시스템 프로세서는, 상기 제1 주기적 실시간 프로세스가 할당된 때, 상기 카운터에 상기 제2 시작 시간, 상기 제3 시작 시간 및 상기 제1 시간 간격을 설정하고, 상기 제2 틱 신호를 상기 카운터로부터 수신한 때, 상기 제1 주기적 실시간 프로세스의 수행을 시작할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
도 1은 주기적 프로세스 처리 시스템을 포함하는 시스템 온 칩의 일례를 설명하기 위한 블록도이다.
도 2는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 흐름도이다.
도 3은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템이 처리하는 주기적 프로세스의 일례를 설명하기 위한 도면이다.
도 4는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 틱 신호의 시작 시간을 생성하는 방법의 일례를 설명하기 위한 도면이다.
도 5는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 도면이다.
도 6은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 도면이다.
도 7은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 도면이다.
도 8은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 틱 신호를 생성하는 방법의 일례를 설명하기 위한 타이밍도이다.
도 9는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 클락 매니지먼트 유닛을 통해 시스템 프로세서에게 클락을 공급하는 방법의 일례를 설명하기 위한 도면이다.
도 2는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 흐름도이다.
도 3은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템이 처리하는 주기적 프로세스의 일례를 설명하기 위한 도면이다.
도 4는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 틱 신호의 시작 시간을 생성하는 방법의 일례를 설명하기 위한 도면이다.
도 5는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 도면이다.
도 6은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 도면이다.
도 7은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 도면이다.
도 8은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 틱 신호를 생성하는 방법의 일례를 설명하기 위한 타이밍도이다.
도 9는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 클락 매니지먼트 유닛을 통해 시스템 프로세서에게 클락을 공급하는 방법의 일례를 설명하기 위한 도면이다.
도 1은 주기적 프로세스 처리 시스템을 포함하는 시스템 온 칩의 일례를 설명하기 위한 블록도이다.
도 1을 참조하면, 시스템 온 칩(System On Chip, 1)은 인터페이스(10) 및 주기적 프로세스 처리 시스템(20)을 포함할 수 있다. 다만, 상술한 구성요소들은, 시스템 온 칩(1)을 구현하는데 있어서 필수적인 것은 아니어서, 시스템 온 칩(1)은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
시스템 온 칩(1)은 모바일 컴퓨팅 장치에 포함되는 시스템 온 칩일 수 있다. 여기서, 모바일 컴퓨팅 장치는 이동 전화기, 스마트 폰(smart phone), EDA(enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP(portable multimedia player), PND(personal navigation device 또는 portable navigation device), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(Internet of Things; IOT) 장치, 만물 인터넷(Internet of Everything; IOE) 장치 또는 e-book일 수 있다.
인터페이스(10)는 호스트와 데이터, 작업 요청 등을 주고 받을 수 있다. 예를 들어, 인터페이스(10)는 호스트로부터 작업 요청을 수신할 수 있다.
인터페이스(10)는 PATA 버스(parallel AT attachment bus), SATA 버스(serial AT attachment bus), SCSI, USB, PCIe 등을 통해 호스트와 연결될 수 있다.
인터페이스(10)가 호스트로부터 주기적으로 수행되는 작업을 요청 받은 경우, 주기적 프로세스 처리 시스템(20)이 주기적 실시간 프로세스를 처리할 수 있다.
여기서, 주기적 실시간 프로세스라 함은, 정해진 주기에 정확하게 수행된 후 기 설정된 시간 동안에만 처리되는 프로세스로 주어진 시간부터 더 일찍 시작해서도 안되고 더 늦게 시작해서도 안되는 프로세스이다. 이하 주기적 실시간 프로세스는 주기적 프로세스라고 명한다.
주기적 프로세스 처리 시스템(20)은 카운터(21), 시스템 프로세서(22), 웨이크업 로직(23), 파워 매니지먼트 유닛(24) 및 클락 매니지먼트 유닛(25)을 포함할 수 있다. 다만, 상술한 구성요소들은, 주기적 프로세스 처리 시스템(20)을 구현하는데 있어서 필수적인 것은 아니어서, 주기적 프로세스 처리 시스템(20)은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
카운터(21)는 시간을 카운트할 수 있다. 예를 들어, 카운터(21)는 오실레이터로부터 클락을 수신하고, 수신된 클락의 토글링(toggling)의 회수, 수신된 클락의 라이징 엣지(rising edge)의 회수 또는 수신된 클락의 폴링 엣지(falling edge)의 회수를 카운트하여 시간을 카운트할 수 있다.
카운터(21)는 기 설정된 시간 간격으로 틱(tick) 신호를 생성할 수 있다. 예를 들어, 카운터(21)는 제1 틱 신호를 제1 시작 시간부터 제1 시간 간격으로 생성할 수 있다.
카운터(21)는 시작 시간이 다른 복수의 틱 신호를 생성할 수도 있다. 예를 들어, 카운터(21)는 제1 시작 시간부터 제1 시간 간격으로 제1 틱 신호를 생성할 수 있고, 제2 시작 시간부터 제2 시간 간격으로 제2 틱 신호를 생성할 수 있다.
카운터(21)는 시작 시간이 다른 복수의 틱 신호를 웨이크업 로직(23) 또는 시스템 프로세서(22) 각각에 공급할 수 있다. 예를 들어, 카운터(21)는 제1 시작 시간부터 제1 시간 간격으로 생성된 제1 틱 신호를 웨이크업 로직(23)에 공급할 수 있고, 제2 시작 시간부터 제2 시간 간격으로 생성된 제2 틱 신호를 시스템 프로세서(22)에 공급할 수 있다.
웨이크업 로직(23)은 카운터(21)로부터 제1 틱 신호를 수신함에 따라 시스템 프로세서(22)가 주기적 프로세스를 처리할 수 있는 상태를 만들 수 있다.
시스템 프로세서(22)는 카운터(21)로부터 제2 틱 신호를 수신함에 따라, 주기적 프로세스를 처리할 수 있다.
시스템 프로세서(22)가 주기적 프로세스를 처리하기 위해서는 시스템 프로세서(22)에 파워 및 클락이 공급되고 있어야 한다.
시스템 프로세서(22)가 주기적 프로세스를 처리하기 위해서는 시스템 프로세서(22)가 제2 틱 신호를 수신하기 전에 웨이크업 로직(23)이 제1 틱 신호를 먼저 수신하여야 한다. 웨이크업 로직(23)이 제1 틱 신호를 수신해야 시스템 프로세서(22)가 주기적 프로세스를 처리할 수 있는 상태로 변하기 때문이다.
그리고, 제2 틱 신호는, 시스템 프로세서(22)가 주기적 프로세스를 처리할 수 있는 상태로 변한 후에 시스템 프로세서(22)에 공급되어야 한다. 따라서, 시스템 프로세서(22)에 주기적 프로세스가 할당된 경우, 시스템 프로세서(22)는 제1 틱 신호의 제1 시작 시간, 제2 틱 신호의 제2 시작 시간 및 제1 틱 신호와 제2 틱 신호의 발생 주기와 관련된 시간을 카운터(21)에 설정할 수 있다.
시스템 프로세서(22)는 주기적 프로세스 처리 시스템의 전반적인 동작을 제어하도록 구현될 수 있다. 또한, 시스템 프로세서(22)는 주기적 프로세스 처리 시스템에서 수행되는 다양한 프로세스들의 수행 및 데이터를 처리할 수 있다. 시스템 프로세서(22)는 주기적 프로세스 처리 시스템을 구동하기위한 운영 체제(Operating System; OS), 애플리케이션(Application) 및 데이터베이스 매니저를 구동할 수 있다.
시스템 프로세서(22)는 CPU(Central Processing Unit), 코프로세서(co-processor), APU(Arithmetic Processing Unit), GPU(Graphic Processing Unit), DSP(Digital Signal Processor), AP(Application Processor) 및 CP(Communication Processor) 등 일 수 있다.
웨이크업 로직(23)은 시스템 프로세서(22)가 프로세스를 처리할 수 있는 상태를 제공할 수 있다. 여기서, 시스템 프로세서(22)가 프로세스를 처리할 수 있는 상태는 시스템 프로세서(22)에 클락 및 파워가 공급되는 상태일 수 있다.
파워 매니지먼트 유닛(24)은 시스템 프로세서(22)에 공급되는 파워를 관리할 수 있다. 예를 들어, 파워 매니지먼트 유닛(24)은 웨이크업 로직(23)의 제어에 따라 시스템 프로세서(22)에 파워를 공급할 수 있다.
클락 매니지먼트 유닛(25)은 시스템 프로세서(22)에 공급되는 클락을 관리할 수 있다. 예를 들어, 클락 매니지먼트 유닛(25)은 웨이크업 로직(23)의 제어에 따라 위상 고정 루프(Phase Locked Loop; PLL) 회로, 지연 동기 루프(Delay Locked Loop; DLL) 회로 등을 통해 클락을 생성하여 시스템 프로세서(22)에 클락을 공급할 수 있다. 클락을 시스템 프로세서(22)에 공급하는 방법은 도 9를 참조하여 좀더 자세히 후술한다.
도 2는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기 위한 흐름도이다. 도 3은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템이 처리하는 주기적 프로세스의 일례를 설명하기 위한 도면이다. 도 4는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 틱 신호의 시작 시간을 생성하는 방법의 일례를 설명하기 위한 도면이다. 도 5 내지 도 7은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 주기적 프로세스를 처리하는 방법의 일례를 설명하기위한 도면이다.
도 2를 참조하면, 시스템 프로세서(도 1의 22)에 주기적 프로세스가 할당될 수 있다(S210).
도 3을 참조하면, 주기적 프로세스는 제1 시작 시간(t0)부터 제1 시간(tp) 간격마다 정확하게 수행되고 기 설정된 시간(td)이 경과한 때 처리가 완료되는 프로세스일 수 있다. 여기서, 기 설정된 시간(td)은 제1 시간(tp)보다 짧을 수 있다.
예를 들어, 최초로 수행되는 주기적 프로세스(31)는 제1 시작 시간(t0)에 시작해서 기 설정된 시간(td)이 경과한 때 처리가 완료될 수 있다.
두번째로 수행되는 주기적 프로세스(32)는 제1 시작 시간(t0)으로부터 제1 시간(tp)이 경과된 시간(t0+tp)에 시작해서 기 설정된 시간(td)이 경과한 때 처리가 완료될 수 있다.
세번째로 수행되는 주기적 프로세스(33)는 제3 시간(t0+tp)으로부터 제1 시간(tp)이 경과된 시간(t0+2tp)에 시작해서 기 설정된 시간(td)이 경과한 때 처리가 완료될 수 있다.
도 3에는 세번째로 수행되는 주기적 프로세스(33)까지만 도시되어 있지만, 세번째로 수행되는 주기적 프로세스(33) 이후에도 제1 시간(tp) 간격으로 계속해서 프로세스의 수행이 시작될 수 있다.
도 2를 다시 참조하면, 시스템 프로세서(도 1의 22)는, 주기적 프로세스가 할당된 때, 카운터(도 1의 21)에 제1 틱 신호 및 제2 틱 신호 각각의 시작 시간을 설정할 수 있다(S220). 여기서, 제1 틱 신호의 시작 시간은 주기적 프로세스가 최초로 시작되는 제1 시작 시간보다 빠를 수 있고, 제2 틱 신호의 시작 시간은 제1 틱 신호의 시작 시간과 제1 시작 시간 사이에 존재할 수 있다.
예를 들어, 도 4를 참조하면, 시스템 프로세서(도 1의 22)는 주기적 프로세스가 할당된 때, 제1 틱 신호의 제2 시작 시간(ta) 및 제2 틱 신호의 제3 시작 시간(tb)을 카운터(도 1의 21)에 설정할 수 있다. 여기서, 제1 틱 신호는 웨이크업 로직(도 1의 23)에 공급되는 신호이고, 제2 틱 신호는 시스템 프로세서(22)에 공급되는 신호일 수 있다.
또한, 시스템 프로세서(도 1의 22)는 제1 틱 신호가 발생하는 시간 간격 및 제2 틱 신호가 발생하는 시간 간격을 카운터(도 1의 21)에 설정할 수 있다. 제1 틱 신호가 발생하는 시간 간격 및 제2 틱 신호가 발생하는 시간 간격은 주기적 프로세스의 수행이 시작되는 시간 간격과 동일할 수 있다.
제2 틱 신호의 제3 시작 시간(tb)은 최초로 수행되는 주기적 프로세스(31)의 제1 시작 시간(t0)보다 제2 시간(t1)만큼 빠를 수 있다. 여기서, 제2 시간(t1)은 시스템 프로세서(도 1의 22)가 제2 틱 신호를 공급받은 후 주기적 프로세스를 수행할 때까지 소요되는 시간에 대응할 수 있다. 다만, 이에 한정되는 것은 아니고, 제2 시간(t1)은 시스템 프로세서(도 1의 22)가 제2 틱 신호를 공급받은 후 주기적 프로세스를 수행할 때까지 소요되는 시간보다 길 수도 있다.
시스템 프로세서(도 1의 22)에 클락 및 파워가 공급되고 있는 상태에서 제2 틱 신호를 수신함에 따라 주기적 프로세스를 수행하는 경우, 제2 시간(t2)은 변하지 않고 결정적일 수 있다. 따라서, 주기적 프로세스를 정확한 주기에 시작할 수 있도록 하기 위해서는, 클락 및 파워가 공급되고 있는 상태가 제2 틱 신호가 공급되기 전에 시스템 프로세서에게 제공되고 있어야한다. 즉, 제2 틱 신호가 시스템 프로세서에게 공급되기 전 제1 틱 신호가 웨이크업 로직에 공급되어야 한다. 따라서, 제1 틱 신호에 대해서는 이하 좀더 자세히 설명한다.
제1 틱 신호의 제2 시작 시간(ta)은 제2 틱 신호의 제3 시작 시간(tb)보다 제3 시간(t2)만큼 빠를 수 있다. 여기서, 제3 시간(t2)은 웨이크업 로직(도 1의 23)이 제1 틱 신호를 공급받은 후 시스템 프로세서(도 1의 22)에게 주기적 프로세스를 수행할 수 있는 상태를 제공할 때까지 소요되는 시간에 대응할 수 있다. 다만, 이에 한정되는 것은 아니고, 제3 시간(t2)은 웨이크업 로직(도 1의 23)이 제1 틱 신호를 공급받은 후 시스템 프로세서(도 1의 22)에게 주기적 프로세스를 수행할 수 있는 상태를 제공할 때까지 소요되는 시간보다 길 수도 있다.
제2 시간(t1)의 길이는 제3 시간(t2)의 길이와 다를 수 있다. 다만, 이에 한정되는 것은 아니고, 제2 시간(t1)의 길이는 제3 시간(t2)의 길이에 대응할 수도 있다.
도 2를 다시 참조하면, 단계(S220)에서 제1 틱 신호 및 제2 틱 신호 각각의 시작 시간이 설정된 경우, 카운터는 기 설정된 시간 간격으로 제1 틱 신호 및 제2 틱 신호를 발생시킬 수 있다. 한편, 웨이크업 로직(도 1의 23)은 제1 틱 신호가 발생했는지 여부를 인식할 수 있다(S230).
예를 들어, 도 5를 참조하면, 시스템 프로세서(22)에 주기적 프로세스(30)가 할당된 때, 시스템 프로세서(22)는 카운터(21)에 제1 틱 신호(41)의 생성과 관련된 제1 시작 시간 및 제1 틱 신호(41)의 발생 주기와 관련된 시간을 카운터(21)에 설정할 수 있다. 이 경우, 카운터(21)는 제1 틱 신호(41)를 제1 시작 시간부터 기 설정된 시간 간격마다 발생시킬 수 있다.
웨이크업 로직(23)은 카운터(21)가 발생시킨 제1 틱 신호(41)를 주기적으로 수신할 수 있다. 웨이크업 로직(23)은 카운터(21)로부터 제1 틱 신호(41)를 수신한 때 제1 틱 신호가 발생했다고 인식할 수 있다.
도 2를 다시 참조하면, 웨이크업 로직(도 1의 23)은, 제1 틱 신호가 발생하지 않았다고 인식한 경우(S230, N), 제1 틱 신호가 발생했는지 여부를 계속해서 확인할 수 있다.
한편, 웨이크업 로직(도 1의 23)은, 제1 틱 신호가 발생했다고 인식한 경우(S230, Y), 주기적 프로세스를 수행할 수 있는 제1 상태를 시스템 프로세서(도 1의 22)에게 제공할 수 있다(S240).
도 6을 참조하면, 웨이크업 로직(23)은 제1 틱 신호를 수신함에 따라, 파워(PW) 및 클락(Clk)이 시스템 프로세서(22)에 제공되도록 파워 매니지먼트 유닛(24) 및 클락 매니지먼트 유닛(25)을 제어할 수 있다. 시스템 프로세서(22)에 파워(PW) 및 클락(Clk)이 제공되고 있는 상태가 시스템 프로세서(22)가 주기적 프로세스를 수행할 수 있는 제1 상태일 수 있다.
일예로, 시스템 프로세서(22)가 파워(PW) 및 클락(Clk)을 공급받지 않고 있는 상태에서 웨이크업 로직(23)이 제1 틱 신호를 수신할 수 있다. 이 경우, 웨이크업 로직(23)은 파워(PW) 및 클락(Clk)이 시스템 프로세서(22)에게 공급되도록 파워 매니지먼트 유닛(24) 및 클락 매니지먼트 유닛(25)을 제어할 수 있다.
다른 일례로, 시스템 프로세서(22)가 파워(PW)를 공급받고 있지만 클락(Clk)을 공급받지 않고 있는 상태에서 웨이크업 로직(23)이 제1 틱 신호를 수신할 수 있다. 이 경우, 웨이크업 로직(23)은 파워(PW) 및 클락(Clk)이 시스템 프로세서에게 공급되도록 파워 매니지먼트 유닛(24) 및 클락 매니지먼트 유닛(25)을 제어할 수 있다. 다만, 시스템 프로세서(22)에 파워(PW)가 공급되고 있었기 때문에, 웨이크업 로직(23)은 파워(PW)의 공급이 유지될 수 있도록 파워 매니지먼트 유닛(24)을 제어할 수 있고, 클락(Clk)이 시스템 프로세서(22)에게 추가로 공급되도록 클락 매니지먼트 유닛(25)을 제어할 수 있다.
또 다른 일례로, 시스템 프로세서(22)가 파워(PW) 및 클락(Clk)을 공급받고 있는 상태에서 웨이크업 로직(23)이 제1 틱 신호를 수신한 경우, 웨이크업 로직(23)은 시스템 프로세서에 대한 파워(PW) 및 클락(Clk)의 공급이 유지되도록 파워 매니지먼트 유닛(24) 및 클락 매니지먼트 유닛(25)을 제어할 수 있다.
다시 도 4를 참조하면, 제3 시간(t2)은 파워 및 클락이 시스템 프로세서(22)에게 공급되지 않는 상태에서 파워 및 클락이 시스템 프로세서(22)에게 공급되는 상태로 변할 때 소요되는 시간에 대응할 수 있다.
다만 이에 한정되는 것은 아니고, 제3 시간(t2)은 파워 및 클락이 시스템 프로세서(22)에게 공급되지 않는 상태에서 파워 및 클락이 시스템 프로세서(22)에게 공급되는 상태로 변할 때 소요되는 시간보다 길 수도 있다.
도 2를 다시 참조하면, 시스템 프로세서(도 1의 22)는 제2 틱 신호가 발생했는지 여부를 인식할 수 있다(S250). 시스템 프로세서(도 1의 22)는 제2 틱 신호가 발생하지 않았다고 인식한 경우(S250, N), 제2 틱 신호가 발생했는지 여부를 계속해서 확인할 수 있다.
한편, 시스템 프로세서(도 1의 22)는 제2 틱 신호가 발생하였다고 인식한 경우(S250, Y), 주기적 프로세스를 수행할 수 있다(S260). 시스템 프로세서(도 1의 22)는 주기적 프로세스를 수행할 수 있는 상태에서 제2 틱 신호를 수신할 수 있다.
예를 들어, 도 7을 참조하면, 시스템 프로세서(22)는 제2 틱 신호(42)를 수신한 때, 제2 틱 신호(42)가 발생하였다고 인식할 수 있다.
시스템 프로세서(22)는 주기적 프로세스(30)를 수행할 수 있는 상태에서 제2 틱 신호를 수신하였기 때문에 별도의 준비 과정(예를 들어, 파워 및 클락을 공급 받는 과정)을 거치지 않고 바로 주기적 프로세스의 처리를 진행할 수 있다.
시스템 프로세서(22)는 제2 틱 신호(42)를 수신하자 마자 바로 주기적 프로세스(30)를 수행하는 것이 가장 이상적이다. 하지만, 시스템 프로세서(22)가 제2 틱 신호(42)를 수신함과 동시에 바로 주기적 프로세스(30)를 수행하는 것이 실질적으로 불가능하다. 따라서, 시스템 프로세서(22)는 제2 틱 신호(42)를 수신한 후 일정 시간이 경과된 때 주기적 프로세스(30)의 수행을 시작할 수 있다. 여기서, 상기 일정 시간은 결정적일 수 있다. 따라서, 시스템 프로세서(22)는 주기적 프로세스가 할당된 때, 상기 일정 시간에 기초하여 제2 틱 신호의 제2 시작 시간을 산출하여 카운터(21)에 설정할 수 있다. 그리고, 카운터(21)는 제2 시작 시간으로부터 기 설정된 시간 간격으로 제2 틱 신호를 생성할 수 있다.
한편, 도 2를 다시 참조하면, 주기적 프로세스는 기 설정된 시간 간격으로 계속해서 수행되는 프로세스이기 때문에 주기적 프로세스 처리 시스템은 단계들(S230~S260)을 반복적으로 수행할 수 있다.
도 8은 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 틱 신호를 생성하는 방법의 일례를 설명하기 위한 타이밍도이다.
도 8을 참조하면, 시스템 프로세서에 제1 시작 시간(t0)부터 제1 시간(tp) 간격마다 수행이 시작되는 주기적 프로세스(31, 32, 33, ...)가 할당될 수 있다. 이 경우, 시스템 프로세서는 카운터에 제1 틱 신호(41)의 제2 시작 시간(ta), 제2 틱 신호(42)의 제3 시작 시간(tb) 및 제1 틱 신호(41)와 제2 틱 신호(42) 각각이 발생하는 주기와 관련된 시간을 카운터에 설정할 수 있다. 여기서, 제1 틱 신호(41)와 제2 틱 신호(42) 각각이 발생하는 주기와 관련된 시간은 제1 시간(tp)에 대응할 수 있다.
시스템 프로세서는 최초로 실행되는 주기적 프로세스(31)의 제1 시작 시간(t0)으로부터 제2 시간(t1) 이전으로 제3 시작 시간(tb)을 카운터에 설정할 수 있다. 여기서, 제2 시간(t1)은, 시스템 프로세서가 제2 틱 신호(42)를 공급받은 후 주기적 프로세스의 수행 시까지 소요되는 시간에 대응할 수 있다. 다만, 이에 한정되는 것은 아니고, 제2 시간은, 시스템 프로세서가 제2 틱 신호(42)를 공급받은 후 주기적 프로세스의 수행 시까지 소요되는 시간보다 길 수도 있다.
카운터는 제3 시작 시간(tb)부터 제1 시간(tp) 간격으로 제2 틱 신호(42)를 생성할 수 있다. 예를 들어, 카운터는 제3 시작 시간(tb), 제3 시작 시간(tb)으로부터 제1 시간(tp)이 경과된 시간(tb+tp), 제3 시작 시간(tb)으로부터 제1 시간(tp)의 2배가 경과된 시간(tb+2tp) 각각에 제2 틱 신호(42)를 생성할 수 있다.
시스템 프로세서는 제3 시작 시간(tb)으로부터 제2 시간(t1)과 다른 제3 시간(t2) 이전으로 제2 시작 시간(ta)을 카운터에 설정할 수 있다. 여기서, 제3 시간(t2)은, 시스템 프로세서에 파워 및 클락이 제공되는데 소요되는 시간에 대응할 수 있다. 다만, 이에 한정되는 것은 아니고, 제2 시간은, 시스템 프로세서에 파워 및 클락이 제공되는데 소요되는 시간보다 길 수도 있다.
카운터는 제2 시작 시간(ta)부터 제1 시간(tp) 간격으로 제1 틱 신호(41)를 생성할 수 있다. 예를 들어, 카운터는 제2 시작 시간(ta), 제2 시작 시간(ta)으로부터 제1 시간(tp)이 경과된 시간(ta+tp), 제2 시작 시간(ta)으로부터 제1 시간(tp)의 2배가 경과된 시간(ta+2tp) 각각에 제1 틱 신호(41)를 생성할 수 있다.
카운터는 제1 틱 신호(41)를 생성한 때, 웨이크업 로직에게 제1 틱 신호(41)를 공급할 수 있다. 웨이크업 로직은 제1 틱 신호(41)를 수신함에 따라 주기적 프로세스를 수행할 수 있는 제1 상태를 시스템 프로세서에게 제공할 수 있다.
일례로, 웨이크업 로직에 포함된 클락 매니지먼트 유닛 및 파워 매니지먼트 유닛은 제2 시작 시간(ta)에 제1 틱 신호(41)를 수신함에 따라 클락 및 파워가 시스템 프로세서에 공급되는 제1 상태를 만들 수 있다. 이 경우, 제3 시작 시간(tb)에 클락 및 파워가 시스템 프로세서에 공급될 수 있다.
다른 일례로, 웨이크업 로직에 포함된 클락 매니지먼트 유닛 및 파워 매니지먼트 유닛은 제2 시작 시간(ta)으로부터 제1 시간(tp)이 경과된 시간(ta+tp)에 제1 틱 신호(41)를 수신할 수 있다. 상기 시간(ta+tp)에는 파워만 시스템 프로세서에 공급되고 있고 클락이 공급되고 있지 않다. 따라서, 파워 매니지먼트 유닛은 시스템 프로세서에 파워가 계속 공급되도록 할 수 있고, 클락 매니지먼트 유닛은 시스템 프로세서에 클락을 추가로 공급하도록 할 수 있다. 이 경우, 제3 시작 시간(tb)으로부터 제1 시간(tp)이 경과된 시간(tb+tp)에 클락이 시스템 프로세서에 추가로 공급될 수 있다.
또 다른 일례로, 웨이크업 로직에 포함된 클락 매니지먼트 유닛 및 파워 매니지먼트 유닛은 제2 시작 시간(ta)으로부터 제1 시간(tp)의 2배가 경과된 시간(ta+2tp)이 경과된 시간(ta+tp)에 제1 틱 신호(41)를 수신할 수 있다. 상기 시간(ta+2tp)에는 파워 및 클락이 시스템 프로세서에 공급되고 있다. 따라서, 파워 매니지먼트 유닛 및 클락 매니지먼트 유닛은 시스템 프로세서에 파워 및 클락이 계속 공급되도록 할 수 있다.
결과적으로, 웨이크업 로직은 제2 시작 시간(ta), 제2 시작 시간(ta)으로부터 제1 시간(tp)이 경과된 시간(ta+tp), 제2 시작 시간(ta)으로부터 제1 시간(tp)의 2배가 경과된 시간(ta+2tp) 각각에 클락 및 파워를 시스템 프로세서에게 공급하기 시작하여 시스템 프로세서가 주기적 프로세스를 수행할 수 있는 제1 상태를 만들 수 있다.
한편, 시스템 프로세서가 주기적 프로세스를 수행할 수 있는 제1 상태가 된 경우, 시스템 프로세서는 카운터로부터 제2 틱 신호(42)를 수신할 수 있다. 시스템 프로세서는 제2 틱 신호(42)를 수신함에 따라 제2 시간(t1)이 경과된 시점에 주기적 프로세스(31, 32, 33, ...)의 수행을 시작할 수 있다.
예를 들어, 시스템 프로세서는 제3 시작 시간(tb), 제3 시작 시간(tb)으로부터 제1 시간(tp)이 경과된 시간(tb+tp), 제3 시작 시간(tb)으로부터 제1 시간(tp)의 2배가 경과된 시간(tb+2tp) 각각에 제2 틱 신호(42)를 수신할 수 있다. 따라서, 제1 시작 시간(t0), 제1 시작 시간(t0)으로부터 제1 시간(tp)이 경과된 시간(t0+tp) 및 제1 시작 시간(t0)으로부터 제1 시간(tp)의 2배가 경과된 시간(t0+2tp) 각각에 주기적 프로세스의 수행이 시작될 수 있다.
만약, 제1 틱 신호(41)가 없이 제2 틱 신호(42)만을 이용하여 주기적 프로세스를 수행하는 경우 실제로 프로세스가 수행되는 시간이 다양해질 수 있다.
일례로, 시스템 프로세서에 파워 및 클락이 공급되지 않은 상태에서 시스템 프로세서가 제2 틱 신호(42)를 수신한 경우, 시스템 프로세서는 파워 및 클락을 공급받은 후 주기적 프로세스를 수행할 수 있다. 즉, 파워 및 클락을 공급 받는데 소요되는 시간이 추가로 경과해야 주기적 프로세스의 수행을 시작할 수 있다.
다른 일례로, 시스템 프로세서에 파워만 공급되고 있고 클락이 공급되지 않은 상태에서 시스템 프로세서가 제2 틱 신호(42)를 수신한 경우, 시스템 프로세서는 클락을 공급받은 후 주기적 프로세스를 수행할 수 있다. 즉, 클락을 공급 받는데 소요되는 시간이 추가로 경과해야 주기적 프로세스의 수행을 시작할 수 있다.
즉, 제1 틱 신호(41)가 없이 제2 틱 신호(42)만을 이용하는 경우, 시스템 프로세서는 정확히 정해진 시점에 주기적 프로세스의 수행 시작이 어렵다는 문제가 발생하게 된다.
하지만, 상술한 몇몇 실시예들에 따르면 주기적 프로세스 처리 시스템은 제2 틱 신호를 수신하기 전에 미리 시스템 프로세서에게 파워 및 클락을 공급 시키기 때문에 정확한 시점에 주기적 프로세스를 실행할 수 있다는 효과가 발생하게 된다.
도 9는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 클락 매니지먼트 유닛을 통해 시스템 프로세서에게 클락을 공급하는 방법의 일례를 설명하기 위한 도면이다.
도 9를 참조하면, 웨이크업 로직(23)은 제1 틱 신호를 수신함에 따라 인에이블 신호(EN)를 클락 매니지먼트 유닛(25)에게 전송할 수 있다.
클락 매니지먼트 유닛(25)은 오실레이터(51)를 통해 제1 클락(CLK_I)을 공급받고 있을 수 있다.
클락 매니지먼트 유닛(25)은 인에이블 신호(EN)를 수신함에 따라 제1 클락(CLK_I)을 이용하여 시스템 프로세서에 공급되는 제2 클락(CLK_O)을 생성할 수 있다.
예를 들어, 클락 매니지먼트 유닛(25)은 위상 고정 루프(Phase Locked Loop; PLL) 회로, 지연 동기 루프(Delay Locked Loop; DLL) 회로 등으로 구성되어 인에이블 신호(EN)를 수신함에 따라 제2 클락(CLK_O)을 생성하고 제2 클락(CLK_O)을 시스템 프로세서에 공급할 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였으나, 본 발명은 상기 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 제조될 수 있으며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.
1: 시스템 온 칩
10: 인터페이스
20: 주기적 프로세스 처리 시스템
21: 카운터
22: 시스템 프로세서
23: 웨이크업 로직
24: 파워 매니지먼트 유닛
25: 클락 매니지먼트 유닛
10: 인터페이스
20: 주기적 프로세스 처리 시스템
21: 카운터
22: 시스템 프로세서
23: 웨이크업 로직
24: 파워 매니지먼트 유닛
25: 클락 매니지먼트 유닛
Claims (10)
- 제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서;
상기 제1 주기적 실시간 프로세스를 수행할 수 있는 제1 상태를 상기 시스템 프로세서에게 제공하는 웨이크업 로직; 및
상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱(tick) 신호를 상기 웨이크업 로직에 공급하고, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 상기 시스템 프로세서에 공급하는 카운터를 포함하되,
상기 시스템 프로세서는 상기 제2 틱 신호와, 상기 제1 틱 신호에 응답하여 생성된 클락에 기초하여 상기 제1 주기적 실시간 프로세스의 수행을 시작하는, 주기적 프로세스 처리 시스템. - 제 1 항에 있어서,
상기 제1 상태는,
상기 시스템 프로세서에 파워 및 상기 클락이 공급되는 상태인, 주기적 프로세스 처리 시스템. - 제 1 항에 있어서,
상기 시스템 프로세서에 파워를 공급하는 파워 매니지먼트 유닛; 및
상기 시스템 프로세서에 상기 클락을 공급하는 클락 매니지먼트 유닛을 더 포함하고,
상기 웨이크업 로직은,
상기 제1 틱 신호를 수신함에 따라, 상기 시스템 프로세서에 상기 파워 및 상기 클락이 제공되도록 상기 파워 매니지먼트 유닛 및 상기 클락 매니지먼트 유닛을 제어하는, 주기적 프로세스 처리 시스템. - 제 1 항에 있어서,
상기 시스템 프로세서는,
상기 제1 주기적 실시간 프로세스가 할당됨에 따라 상기 제1 시작 시간, 상기 제2 시작 시간 및 상기 제1 시간을 상기 카운터에 설정하는, 주기적 프로세스 처리 시스템. - 제 4 항에 있어서,
상기 시스템 프로세서는,
상기 제3 시작 시간을 상기 제1 시작 시간으로부터 제2 시간 이전으로 설정하는, 주기적 프로세스 처리 시스템. - 제 5 항에 있어서,
상기 제2 시간은,
상기 시스템 프로세서가 상기 제2 틱 신호를 공급받은 후 상기 제1 주기적 실시간 프로세스의 수행 시까지 소요되는 시간에 대응하는, 주기적 프로세스 처리 시스템. - 제 5 항에 있어서,
상기 시스템 프로세서는,
상기 제2 시작 시간을 상기 제3 시작 시간으로부터 상기 제2 시간과 다른 제3 시간 이전으로 설정하는, 주기적 프로세스 처리 시스템. - 제 7 항에 있어서,
상기 제3 시간은,
상기 시스템 프로세서에 상기 제1 상태가 제공될 때가지 소요되는 시간에 대응하는, 주기적 프로세스 처리 시스템. - 제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서;
상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱 신호를 발생시키는 카운터;
상기 시스템 프로세서에 파워를 공급하는 파워 매니지먼트 유닛;
상기 시스템 프로세서에 클락을 공급하는 클락 매니지먼트 유닛; 및
상기 제1 틱 신호를 수신함에 따라 상기 파워 매니지먼트 유닛 및 상기 클락 매니지먼트 유닛을 제어하여 상기 파워 및 상기 클락을 상기 시스템 프로세서에 공급시키는 웨이크업 로직을 포함하고,
상기 카운터는,
상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 발생시키고,
상기 시스템 프로세서는,
상기 제2 틱 신호와, 상기 클락 매니지먼트 유닛으로부터 상기 클락을 수신함에 따라 상기 제1 주기적 실시간 프로세스의 수행을 시작하는, 주기적 프로세스 처리 시스템. - 호스트로부터 주기적으로 수행되는 작업을 요청 받은 인터페이스;
상기 요청 받은 작업과 관련된 제1 주기적 실시간 프로세스를 처리하는 주기적 프로세스 처리 시스템을 포함하고,
상기 제1 주기적 실시간 프로세스는,
제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 프로세스이고,
상기 주기적 프로세스 처리 시스템은,
상기 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서;
상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱 신호를 발생시키고, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 발생시키는 카운터; 및
상기 제1 틱 신호를 상기 카운터로부터 수신하여 상기 시스템 프로세서가 상기 제1 주기적 실시간 프로세스를 수행할 수 있는 제1 상태를 제공하는 웨이크업 로직을 포함하고,
상기 시스템 프로세서는,
상기 제1 주기적 실시간 프로세스가 할당된 때, 상기 카운터에 상기 제2 시작 시간, 상기 제3 시작 시간 및 상기 제1 시간을 설정하고,
상기 제2 틱 신호를 상기 카운터로부터 수신하고, 상기 제1 틱신호에 응답하여 생성된 클락을 수신한 때, 상기 제1 주기적 실시간 프로세스의 수행을 시작하는, 시스템 온 칩.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170170935A KR102453689B1 (ko) | 2017-12-13 | 2017-12-13 | 주기적 프로세스 처리 시스템 및 시스템 온 칩 |
US16/041,005 US11237588B2 (en) | 2017-12-13 | 2018-07-20 | Periodic process performing system and system on chip |
CN201811343565.4A CN109918336B (zh) | 2017-12-13 | 2018-11-13 | 周期性处理执行系统和片上系统 |
TW107141976A TWI795475B (zh) | 2017-12-13 | 2018-11-26 | 週期行程執行系統以及系統晶片裝置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170170935A KR102453689B1 (ko) | 2017-12-13 | 2017-12-13 | 주기적 프로세스 처리 시스템 및 시스템 온 칩 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190070439A KR20190070439A (ko) | 2019-06-21 |
KR102453689B1 true KR102453689B1 (ko) | 2022-10-11 |
Family
ID=66696807
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170170935A KR102453689B1 (ko) | 2017-12-13 | 2017-12-13 | 주기적 프로세스 처리 시스템 및 시스템 온 칩 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11237588B2 (ko) |
KR (1) | KR102453689B1 (ko) |
CN (1) | CN109918336B (ko) |
TW (1) | TWI795475B (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220122186A (ko) | 2021-02-26 | 2022-09-02 | 삼성전자주식회사 | 전력 관리 집적 회로 및 이를 포함하는 전자 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221187A1 (en) * | 2003-02-06 | 2004-11-04 | Stmicroelectronics S.A. | Microprocessor comprising operating modes with low current consumption |
US20070005995A1 (en) * | 2005-06-30 | 2007-01-04 | Kardach James P | Power management system for computing platform |
US20130111092A1 (en) * | 2011-10-28 | 2013-05-02 | Daniel S. Heller | System and method for adjusting power usage to reduce interrupt latency |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4046776B2 (ja) | 1998-03-10 | 2008-02-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | データ伝送システム |
KR20050077950A (ko) | 2004-01-30 | 2005-08-04 | 삼성전자주식회사 | 무선 내장 시스템에서 운영체계의 타이머를 보상하기 위한방법 |
US20050243058A1 (en) * | 2004-03-16 | 2005-11-03 | Morris Martin G | High-reliability computer interface for wireless input devices |
US7463872B2 (en) | 2005-02-24 | 2008-12-09 | Research In Motion Limited | Methods and apparatus for controlling a gain state of a wireless receiver operating in an idle mode |
CN100448310C (zh) * | 2005-04-06 | 2008-12-31 | 大唐移动通信设备有限公司 | 移动终端的待机处理方法以及装置 |
US20060256907A1 (en) * | 2005-05-13 | 2006-11-16 | Freescale Semiconductor Inc. | Real time clock |
EP1916578A1 (en) | 2006-10-24 | 2008-04-30 | Triphase NV | A system for real-time process control |
WO2008093278A1 (en) * | 2007-02-01 | 2008-08-07 | Nxp B.V. | Control of awake time in mobile device |
KR101459140B1 (ko) * | 2007-12-26 | 2014-11-07 | 엘지전자 주식회사 | 전원관리 제어 장치 및 방법 |
KR101018465B1 (ko) | 2009-04-06 | 2011-03-02 | 주식회사 포스코아이씨티 | 안전등급 plc의 타임 틱 동기화 장치 |
WO2011033430A1 (en) | 2009-09-21 | 2011-03-24 | Koninklijke Philips Electronics N.V. | Asynchronous transmission with double wake up |
US8774050B2 (en) | 2010-11-09 | 2014-07-08 | Cisco Technology, Inc. | Dynamic wake-up time adjustment based on designated paths through a computer network |
JP5555200B2 (ja) | 2011-04-14 | 2014-07-23 | レノボ・シンガポール・プライベート・リミテッド | タッチ・パネルを備える電子機器をウェイク・アップする方法および電子機器 |
US10009842B2 (en) | 2011-06-09 | 2018-06-26 | Thomson Licensing | Method for exiting a low-consumption standby mode, and associated device |
US8775838B2 (en) * | 2012-02-01 | 2014-07-08 | Texas Instruments Incorporated | Limiting the number of unexpected wakeups in a computer system implementing a power-saving preemptive wakeup method from historical data |
US9317105B2 (en) | 2013-01-09 | 2016-04-19 | Htc Corporation | Method for performing application wake-up management for a portable device by classifying one application wake-up event of a plurality of application wake-up events as a triggering event for the other application wake-up events |
TWI482012B (zh) | 2013-07-01 | 2015-04-21 | Wistron Corp | 電腦及其喚醒方法 |
US9448617B2 (en) * | 2014-03-11 | 2016-09-20 | Futurewei Technologies, Inc. | Systems and methods for messaging-based fine granularity system-on-a-chip power gating |
US9958933B2 (en) * | 2015-06-04 | 2018-05-01 | Apple Inc. | Opportunistic waking of an application processor |
KR102392113B1 (ko) | 2016-01-20 | 2022-04-29 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 음성 명령 처리 방법 |
CN107423135B (zh) * | 2017-08-07 | 2020-05-12 | 上海兆芯集成电路有限公司 | 均衡装置以及均衡方法 |
-
2017
- 2017-12-13 KR KR1020170170935A patent/KR102453689B1/ko active IP Right Grant
-
2018
- 2018-07-20 US US16/041,005 patent/US11237588B2/en active Active
- 2018-11-13 CN CN201811343565.4A patent/CN109918336B/zh active Active
- 2018-11-26 TW TW107141976A patent/TWI795475B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040221187A1 (en) * | 2003-02-06 | 2004-11-04 | Stmicroelectronics S.A. | Microprocessor comprising operating modes with low current consumption |
US20070005995A1 (en) * | 2005-06-30 | 2007-01-04 | Kardach James P | Power management system for computing platform |
US20130111092A1 (en) * | 2011-10-28 | 2013-05-02 | Daniel S. Heller | System and method for adjusting power usage to reduce interrupt latency |
Also Published As
Publication number | Publication date |
---|---|
TWI795475B (zh) | 2023-03-11 |
US20190179363A1 (en) | 2019-06-13 |
CN109918336A (zh) | 2019-06-21 |
KR20190070439A (ko) | 2019-06-21 |
TW201928594A (zh) | 2019-07-16 |
CN109918336B (zh) | 2024-08-13 |
US11237588B2 (en) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI527051B (zh) | 記憶體控制器之調校、電力閘控與動態頻率改變 | |
JP4660591B2 (ja) | アイドル同期による計算システム電力の低減 | |
US7529956B2 (en) | Granular reduction in power consumption | |
CN105388989B (zh) | 利用硬件电源管理单元调节时钟信号的应用处理器及装置 | |
KR102164099B1 (ko) | 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치 | |
US20070005995A1 (en) | Power management system for computing platform | |
TW201040701A (en) | Power reduction in microcontrollers | |
EP3440531B1 (en) | Enhanced dynamic clock and voltage scaling (dcvs) scheme | |
KR100380196B1 (ko) | 버스 상에 액티비티가 존재하지 않는 동안에 버스 클럭을정지시키기 위한 방법 및 장치 | |
US8527803B2 (en) | System and method for multiple backplane time synchronization | |
US20200166985A1 (en) | Multi-tiered low power states | |
US9477293B2 (en) | Embedded controller for power-saving and method thereof | |
CN111512266A (zh) | 用于低功率状态转换的握手协议的系统、装置和方法 | |
US10725525B2 (en) | Method of operating system-on-chip, system-on-chip performing the same and electronic system including the same | |
CN114174956B (zh) | 用于从低功率模式唤醒的抢先唤醒电路 | |
TWI470410B (zh) | 電子系統及其電源管理方法 | |
JP2016513322A (ja) | アイドル状態の間の電源ユニットによる電力消費の制御 | |
JP2023508659A (ja) | ロングアイドル状態のシステム及び方法 | |
US10175716B2 (en) | Technologies for low-power and high-accuracy timestamps | |
KR102453689B1 (ko) | 주기적 프로세스 처리 시스템 및 시스템 온 칩 | |
US20150186157A1 (en) | Techniques for workload scalability-based processor performance state control | |
CN106569879B (zh) | 唤醒外设的方法及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |