KR20190070439A - 주기적 프로세스 처리 시스템 및 시스템 온 칩 - Google Patents

주기적 프로세스 처리 시스템 및 시스템 온 칩 Download PDF

Info

Publication number
KR20190070439A
KR20190070439A KR1020170170935A KR20170170935A KR20190070439A KR 20190070439 A KR20190070439 A KR 20190070439A KR 1020170170935 A KR1020170170935 A KR 1020170170935A KR 20170170935 A KR20170170935 A KR 20170170935A KR 20190070439 A KR20190070439 A KR 20190070439A
Authority
KR
South Korea
Prior art keywords
time
system processor
start time
tick signal
clock
Prior art date
Application number
KR1020170170935A
Other languages
English (en)
Other versions
KR102453689B1 (ko
Inventor
조동식
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020170170935A priority Critical patent/KR102453689B1/ko
Priority to US16/041,005 priority patent/US11237588B2/en
Priority to CN201811343565.4A priority patent/CN109918336A/zh
Priority to TW107141976A priority patent/TWI795475B/zh
Publication of KR20190070439A publication Critical patent/KR20190070439A/ko
Application granted granted Critical
Publication of KR102453689B1 publication Critical patent/KR102453689B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/223Execution 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Sources (AREA)
  • Electric Clocks (AREA)
  • Formation Of Insulating Films (AREA)
  • Internal Circuitry In Semiconductor Integrated Circuit Devices (AREA)
  • Crystals, And After-Treatments Of Crystals (AREA)

Abstract

주기적 프로세스 처리 시스템이 제공된다. 주기적 프로세스 처리 시스템은 제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서, 상기 제1 주기적 실시간 프로세스를 수행할 수 있는 제1 상태를 상기 시스템 프로세서에게 제공하는 웨이크업 로직 및 상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱(tick) 신호를 상기 웨이크업 로직에 공급하고, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 상기 시스템 프로세서에 공급하는 카운터를 포함할 수 있다.

Description

주기적 프로세스 처리 시스템 및 시스템 온 칩 {PERIODICAL PROCESS PERFORMING SYSTEM AND SYSTEM ON CHIP}
본 발명은 주기적 프로세스 처리 시스템 및 이를 포함하는 시스템 온 칩에 관한 것이다.
애플리케이션 프로세서(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는 몇몇 실시예에 따른 주기적 프로세스 처리 시스템에 있어서 클락 매니지먼트 유닛을 통해 시스템 프로세서에게 클락을 공급하는 방법의 일례를 설명하기 위한 도면이다.
도 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: 클락 매니지먼트 유닛

Claims (10)

  1. 제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서;
    상기 제1 주기적 실시간 프로세스를 수행할 수 있는 제1 상태를 상기 시스템 프로세서에게 제공하는 웨이크업 로직; 및
    상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱(tick) 신호를 상기 웨이크업 로직에 공급하고, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 상기 시스템 프로세서에 공급하는 카운터를 포함하는, 주기적 프로세스 처리 시스템.
  2. 제 1 항에 있어서,
    상기 제1 상태는,
    상기 시스템 프로세서에 파워 및 클락이 공급되는 상태인, 주기적 프로세스 처리 시스템.
  3. 제 1 항에 있어서,
    상기 시스템 프로세서에 파워를 공급하는 파워 매니지먼트 유닛; 및
    상기 시스템 프로세서에 클락을 공급하는 클락 매니지먼트 유닛을 더 포함하고,
    상기 웨이크업 로직은,
    상기 제1 틱 신호를 수신함에 따라, 상기 시스템 프로세서에 상기 파워 및 상기 클락이 제공되도록 상기 파워 매니지먼트 유닛 및 상기 클락 매니지먼트 유닛을 제어하는, 주기적 프로세스 처리 시스템.
  4. 제 1 항에 있어서,
    상기 시스템 프로세서는,
    상기 제1 주기적 실시간 프로세스가 할당됨에 따라 상기 제1 시작 시간, 상기 제2 시작 시간 및 상기 제1 시간을 상기 카운터에 설정하는, 주기적 프로세스 처리 시스템.
  5. 제 4 항에 있어서,
    상기 시스템 프로세서는,
    상기 제3 시작 시간을 상기 제1 시작 시간으로부터 제2 시간 이전으로 설정하는, 주기적 프로세스 처리 시스템.
  6. 제 5 항에 있어서,
    상기 제2 시간은,
    상기 시스템 프로세서가 상기 제2 틱 신호를 공급받은 후 상기 제1 주기적 실시간 프로세스의 수행 시까지 소요되는 시간에 대응하는, 주기적 프로세스 처리 시스템.
  7. 제 5 항에 있어서,
    상기 시스템 프로세서는,
    상기 제2 시작 시간을 상기 제3 시작 시간으로부터 상기 제2 시간과 다른 제3 시간 이전으로 설정하는, 주기적 프로세스 처리 시스템.
  8. 제 7 항에 있어서,
    상기 제3 시간은,
    상기 시스템 프로세서에 상기 제1 상태가 제공될 때까지 소요되는 시간에 대응하는, 주기적 프로세스 처리 시스템.
  9. 제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서;
    상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱 신호를 발생시키는 카운터;
    상기 시스템 프로세서에 파워를 공급하는 파워 매니지먼트 유닛;
    상기 시스템 프로세서에 클락을 공급하는 클락 매니지먼트 유닛; 및
    상기 제1 틱 신호를 수신함에 따라 상기 파워 매니지먼트 유닛 및 상기 클락 매니지먼트 유닛을 제어하여 상기 파워 및 상기 클락을 상기 시스템 프로세서에 공급시키는 웨이크업 로직을 포함하고,
    상기 카운터는,
    상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 발생시키고,
    상기 시스템 프로세서는,
    상기 제2 틱 신호를 수신함에 따라 상기 제1 주기적 실시간 프로세스의 수행을 시작하는, 주기적 프로세스 처리 시스템.
  10. 호스트로부터 주기적으로 수행되는 작업을 요청 받은 인터페이스;
    상기 요청 받은 작업과 관련된 제1 주기적 실시간 프로세스를 처리하는 주기적 프로세스 처리 시스템을 포함하고,
    상기 제1 주기적 실시간 프로세스는,
    제1 시작 시간부터 제1 시간 간격마다 수행이 시작되는 프로세스이고,
    상기 주기적 프로세스 처리 시스템은,
    상기 제1 주기적 실시간 프로세스가 할당된 시스템 프로세서;
    상기 제1 시작 시간보다 빠른 제2 시작 시간부터 상기 제1 시간 간격마다 제1 틱 신호를 발생시키고, 상기 제1 시작 시간 및 상기 제2 시작 시간 사이의 제3 시작 시간부터 상기 제1 시간 간격마다 제2 틱 신호를 발생시키는 카운터; 및
    상기 제1 틱 신호를 상기 카운터로부터 수신하여 상기 시스템 프로세서가 상기 제1 주기적 실시간 프로세스를 수행할 수 있는 제1 상태를 제공하는 웨이크업 로직을 포함하고,
    상기 시스템 프로세서는,
    상기 제1 주기적 실시간 프로세스가 할당된 때, 상기 카운터에 상기 제2 시작 시간, 상기 제3 시작 시간 및 상기 제1 시간을 설정하고,
    상기 제2 틱 신호를 상기 카운터로부터 수신한 때, 상기 제1 주기적 실시간 프로세스의 수행을 시작하는, 시스템 온 칩.
KR1020170170935A 2017-12-13 2017-12-13 주기적 프로세스 처리 시스템 및 시스템 온 칩 KR102453689B1 (ko)

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 CN109918336A (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 true KR20190070439A (ko) 2019-06-21
KR102453689B1 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) CN109918336A (ko)
TW (1) TWI795475B (ko)

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59914852D1 (de) 1998-03-10 2008-10-09 Nxp Bv System zum übertragen von daten
KR20050077950A (ko) 2004-01-30 2005-08-04 삼성전자주식회사 무선 내장 시스템에서 운영체계의 타이머를 보상하기 위한방법
US20050243059A1 (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
EP2101232A1 (en) 2006-10-24 2009-09-16 Triphase NV A reliable system for real-time process control
EP2116026B1 (en) * 2007-02-01 2011-12-21 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의 타임 틱 동기화 장치
CN102484540B (zh) 2009-09-21 2016-05-11 皇家飞利浦电子股份有限公司 具有双唤醒的异步传输
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 上海兆芯集成电路有限公司 均衡装置以及均衡方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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
US20190179363A1 (en) 2019-06-13
US11237588B2 (en) 2022-02-01
CN109918336A (zh) 2019-06-21
TWI795475B (zh) 2023-03-11
TW201928594A (zh) 2019-07-16
KR102453689B1 (ko) 2022-10-11

Similar Documents

Publication Publication Date Title
US7454632B2 (en) Reducing computing system power through idle synchronization
TWI527051B (zh) 記憶體控制器之調校、電力閘控與動態頻率改變
US8782456B2 (en) Dynamic and idle power reduction sequence using recombinant clock and power gating
TW201040701A (en) Power reduction in microcontrollers
KR102164099B1 (ko) 시스템 온 칩, 이의 작동 방법, 및 이를 포함하는 장치
US9880608B2 (en) Application processor for adjusting clock signal using hardware power management unit and devices including the same
CN106815155B (zh) 经由不同的时钟来访问数据
US9367286B2 (en) Crossing pipelined data between circuitry in different clock domains
EP3440531B1 (en) Enhanced dynamic clock and voltage scaling (dcvs) scheme
US11683149B2 (en) Precise time management using local time base
TWI470410B (zh) 電子系統及其電源管理方法
US10175716B2 (en) Technologies for low-power and high-accuracy timestamps
US7653822B2 (en) Entry into a low power mode upon application of power at a processing device
JP2016513322A (ja) アイドル状態の間の電源ユニットによる電力消費の制御
CN114174956A (zh) 用于从低功率模式唤醒的抢先唤醒电路
WO2015135468A1 (en) Systems and methods for messaging-based fine granularity system-on-a-chip power gating
US9780644B1 (en) Methods and apparatus for always on domain finite state machine shutdown using a clock source from a power managed domain
KR102453689B1 (ko) 주기적 프로세스 처리 시스템 및 시스템 온 칩
US11687115B2 (en) Precise time management for peripheral device using local time base
CN106569879B (zh) 唤醒外设的方法及移动终端
CN108227893B (zh) 串口控制器、微控制系统及微控制系统中的唤醒方法
KR20220059617A (ko) 멀티 코어 프로세서 전력 관리 장치 및 방법
KR20130109823A (ko) Rtc 모듈 및 이를 포함하는 컴퓨터 시스템

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