KR20120090298A - Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor - Google Patents

Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor Download PDF

Info

Publication number
KR20120090298A
KR20120090298A KR1020110010651A KR20110010651A KR20120090298A KR 20120090298 A KR20120090298 A KR 20120090298A KR 1020110010651 A KR1020110010651 A KR 1020110010651A KR 20110010651 A KR20110010651 A KR 20110010651A KR 20120090298 A KR20120090298 A KR 20120090298A
Authority
KR
South Korea
Prior art keywords
task
core
cores
aperiodic
cache memory
Prior art date
Application number
KR1020110010651A
Other languages
Korean (ko)
Other versions
KR101232561B1 (en
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 KR1020110010651A priority Critical patent/KR101232561B1/en
Publication of KR20120090298A publication Critical patent/KR20120090298A/en
Application granted granted Critical
Publication of KR101232561B1 publication Critical patent/KR101232561B1/en

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PURPOSE: A task scheduling/cache memory resizing device of an embedded multi core processor and a method thereof are provided to reduce energy/power consumption by periodically decentralizing a task to cores. CONSTITUTION: A task number recognizing unit(32) recognizes the number of non-periodic tasks. A comparing unit(34) compares the number of the non-periodic tasks with a critical value. A core controlling unit(36) controls the number of cores(10-16) for periodic task. The comparing unit includes a timer for calculating the number of non-periodic tasks.

Description

임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법{Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor}Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor}

본 발명은 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법에 관한 것으로, 보다 상세하게는 멀티 코어가 사용되는 임베디드 마이크로 프로세서에서 태스크를 스케쥴링하고 캐쉬 메모리를 리사이징하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for scheduling and cache memory resizing of an embedded multi-core processor, and more particularly, to an apparatus and method for scheduling a task and resizing cache memory in an embedded microprocessor using a multi-core.

마이크로 프로세서 설계시 중요하게 여겨지는 것들이 여러 가지가 있다. 특히, 에너지/전력 소모, 및 성능은 서로 상충되는 관계이다. 즉, 마이크로 프로세서의 성능 향상은 에너지/전력 소모의 증가라는 부정적인 결과를 초래한다. 마이크로 프로세서에서 소모되는 전력은 클럭 속도에 비례하여 증가하기 때문이다. 이와 같은 이유로 인해 마이크로 프로세서의 설계시 에너지/전력 소모는 성능과 함께 중요한 고려 요소가 되고 있다. There are many things that are important in microprocessor design. In particular, energy / power consumption and performance are in conflict with each other. In other words, improving the performance of microprocessors has the negative consequence of increased energy / power consumption. This is because the power consumed by the microprocessor increases in proportion to the clock speed. For this reason, energy / power consumption is an important consideration along with performance in the design of microprocessors.

특히, 디지털 정보화 기기에 내장되는 임베디드 프로세서(Embedded Processor)의 설계시 에너지/전력 소모가 상당히 중요한 요소이다. 왜냐하면, 보통 임베디드 프로세서는 모바일 기기 즉, 배터리로 동작하는 기기에 들어가는 경우가 많기 때문이다. 그리고, 성능 또한 중요하다. 에너지/전력 소모를 낮추기 위해 DVFS(Dynamic Voltage and Frequency Scaling)를 통해 전압과 클럭 주파수를 무한정 낮출 수 있지만, 그리하면 성능에 악영향을 미친다. 성능에 악영향을 주게 되면 주어진 태스크를 처리하기 힘들게 된다.In particular, energy / power consumption is an important factor when designing an embedded processor embedded in a digital information device. This is because embedded processors are often used in mobile devices, that is, battery powered devices. And performance is also important. Dynamic Voltage and Frequency Scaling (DVFS) can lower voltage and clock frequencies indefinitely to lower energy / power consumption, but this can adversely affect performance. Bad performance can make a given task difficult to process.

도 1은 종래의 로드 언밸런싱 태스크 스케쥴링 방법(참조 문헌; Hyeran Jeon, Woo Hyong Lee, and Sung Woo Chung, "Load Unbalancing Strategy for Multi-Core Embedded Processors", IEEE Transactions on Computers, vol. 59, no. 10)을 설명하기 위한 도면이다. 1 shows a conventional method for scheduling load unbalancing tasks (Hyeran Jeon, Woo Hyong Lee, and Sung Woo Chung, "Load Unbalancing Strategy for Multi-Core Embedded Processors", IEEE Transactions on Computers, vol. 59, no. It is a figure for demonstrating 10).

멀티 코어 프로세서(20)는 대략 4개 정도의 가용할 수 있는 코어(core)(제 1코어(10), 제 2코어(12), 제 3코어(14), 제 4코어(16))를 갖춘다. 제 1코어(10)에는 주기적인 태스크(periodic task)들이 할당된다. 나머지 세 개의 코어(제 2코어(12), 제 3코어(14), 제 4코어(16))에는 비주기적인 태스크(aperiodic task)들이 할당된다.The multi-core processor 20 uses approximately four available cores (the first core 10, the second core 12, the third core 14, and the fourth core 16). Equipped. Periodic tasks are assigned to the first core 10. The other three cores (second core 12, third core 14, and fourth core 16) are assigned aperiodic tasks.

통상적으로, 주기적인 태스크는 일정 시간 간격을 두고 주기적으로 실행되는 태스크이다. 주기적인 태스크는 QoS(Quality of Service)를 만족시키는 것을 중요하게 여긴다. 비주기적인 태스크는 사용자의 요청이 있을 때마다 실행되는 태스크이다. 비주기적인 태스크는 사용자 요청시 얼마나 빨리 반응하느냐를 중요하게 여긴다.Typically, a periodic task is a task that is executed periodically at regular time intervals. Periodic tasks are important to satisfy the Quality of Service (QoS). Aperiodic tasks are tasks that run whenever a user requests it. Aperiodic tasks are important to how quickly they respond to user requests.

도 1과 같은 로드 언밸런싱 태스크 스케쥴링 방법에 의하면 에너지 소모를 줄일 수 있다. According to the load unbalancing task scheduling method of FIG. 1, energy consumption may be reduced.

그러나, 도 1은 주기적인 태스크 및 비주기적인 태스크의 특성과 무관하게 일방적으로 제 1코어(10)에 주기적인 태스크들을 모아둔다. 이와 같이 하면, 많은 주기적인 태스크들이 하나의 코어(즉, 제 1코어(10))에만 몰려 있어서 전압 및 주파수를 낮출 수 있는 한계가 줄어든다. However, FIG. 1 unilaterally collects periodic tasks in the first core 10 regardless of the characteristics of the periodic task and the aperiodic task. In this way, many periodic tasks are concentrated on only one core (i.e., the first core 10), thereby reducing the limit of lowering the voltage and frequency.

본 발명은 상기한 종래의 문제점들을 해결하기 위해 제안된 것으로, 에너지/전력 소모를 줄이기 위해 주기적인 태스크 또는 비주기적인 태스크의 특성을 고려하여 멀티 코어 프로세서의 태스크를 효율적으로 스케쥴링하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법을 제공함에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been proposed to solve the above-described problems, and is an embedded multicore processor that efficiently schedules tasks of a multicore processor in consideration of characteristics of a periodic task or an aperiodic task to reduce energy / power consumption. An object of the present invention is to provide an apparatus and method for scheduling a task.

본 발명의 다른 목적은 성능 향상을 위해 주기적인 태스크 또는 비주기적인 태스크의 특성을 고려하여 캐쉬 메모리를 재구성하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide a cache memory resizing apparatus and method of an embedded multi-core processor that reconfigures a cache memory in consideration of characteristics of a periodic task or an aperiodic task to improve performance.

상기와 같은 목적을 달성하기 위하여 본 발명의 바람직한 실시양태에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치는, 비주기적 태스크의 전체 개수를 파악하는 태스크 개수 파악부; 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 비교부; 및 비교부의 비교결과에 따라 주기적 태스크를 담당하는 코어 및 비주기적 태스크를 담당하는 코어의 개수를 조정하는 코어 조정부;를 포함한다.In order to achieve the above object, the task scheduling apparatus of the embedded multi-core processor according to a preferred embodiment of the present invention, the task number grasping unit for grasping the total number of aperiodic tasks; A comparison unit for comparing whether the total number of aperiodic tasks is equal to or less than a threshold; And a core adjusting unit adjusting the number of cores in charge of the periodic task and cores in charge of the aperiodic task according to the comparison result of the comparing unit.

비교부는, 비주기적 태스크의 전체 개수가 임계값 이하로 유지되는 시간을 계수하는 타이머를 추가로 포함한다.The comparator further includes a timer that counts the time that the total number of aperiodic tasks remains below a threshold.

코어 조정부는, 비주기적 태스크의 전체 개수가 임계값 이하로 소정 시간 유지되면 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 주기적 태스크를 담당하는 코어의 개수를 하나 증가시킨다.If the total number of aperiodic tasks is maintained below a threshold for a predetermined time, the core coordinator decreases the number of cores in charge of the aperiodic task by one and increases the number of cores in charge of the periodic task by one.

코어 조정부는, 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때 바로 이전의 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시킨다.The core coordinator decreases one from the number of cores in charge of the immediately preceding aperiodic task when reducing the number of cores in charge of the aperiodic task.

코어 조정부는, 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당한다.
The core coordinator reallocates a periodic task or an aperiodic task corresponding to each adjusted core.

본 발명의 바람직한 실시양태에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법은, 태스크 개수 파악부가, 비주기적 태스크의 전체 개수를 파악하는 단계; 비교부가, 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 단계; 및 코어 조정부가, 비교결과에 따라 주기적 태스크를 담당하는 코어 및 비주기적 태스크를 담당하는 코어의 개수를 조정하는 단계;를 포함한다.Task scheduling method of an embedded multi-core processor according to a preferred embodiment of the present invention, the task count determining unit, the step of identifying the total number of aperiodic tasks; A comparing unit, comparing whether the total number of aperiodic tasks is equal to or less than a threshold; And adjusting, by the core adjusting unit, the number of cores in charge of the periodic task and cores in charge of the aperiodic task according to the comparison result.

비교 단계는, 비주기적 태스크의 전체 개수가 임계값 이하로 유지되는 시간을 계수하는 단계를 추가로 포함한다.The comparing step further includes counting the time that the total number of aperiodic tasks remains below the threshold.

코어 조정 단계는, 비주기적 태스크의 전체 개수가 임계값 이하로 소정 시간 유지되면 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 주기적 태스크를 담당하는 코어의 개수를 하나 증가시킨다.In the core adjustment step, if the total number of aperiodic tasks is maintained below a threshold for a predetermined time, the number of cores in charge of the aperiodic task is decreased by one, thereby increasing the number of cores in charge of the periodic task.

코어 조정 단계는, 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때 바로 이전의 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시킨다.The core coordination step reduces the number of cores responsible for the non-periodic task by one from the number of cores responsible for the immediately preceding aperiodic task.

코어 조정 단계는, 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당한다.
The core coordination step reallocates a periodic or aperiodic task corresponding to each adjusted core.

본 발명의 바람직한 실시양태에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치는, 주기적 태스크를 담당하는 코어의 캐쉬 미스율을 체크하는 캐쉬 미스율 체크부; 캐쉬 미스율이 임계치 이상이 되는지를 판단하는 판단부; 및 판단부의 판단결과에 따라 코어가 사용가능한 레벨2 캐쉬 메모리의 용량을 조정하는 캐쉬 메모리 용량 조정부;를 포함한다.A cache memory resizing apparatus of an embedded multi-core processor according to a preferred embodiment of the present invention includes a cache miss rate checker for checking a cache miss rate of a core in charge of a periodic task; A determination unit determining whether the cache miss rate is equal to or greater than a threshold; And a cache memory capacity adjusting unit configured to adjust the capacity of the level 2 cache memory available to the core according to the determination result of the determining unit.

캐쉬 미스율 체크부는 정해진 시간 주기로 코어의 캐쉬 미스율을 체크한다.The cache miss rate checker checks the cache miss rate of the core at a predetermined time period.

캐쉬 메모리 용량 조정부는 하기의 식에 따라 레벨2 캐쉬 메모리의 용량을 조정한다.The cache memory capacity adjusting unit adjusts the capacity of the level 2 cache memory according to the following equation.

주기적 태스크를 담당하는 코어가 할당받는 레벨2 캐쉬 메모리의 용량 = The amount of Level 2 cache memory allocated by the core responsible for the periodic task =

(고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a(Capacity of statically allocated level 2 cache memory x c / (c + d)) / a

(여기서, a는 주기적 태스크를 담당하는 코어의 개수이고, c는 주기적 태스크의 워킹 세트 크기의 합이고, d는 비주기적 태스크의 워킹 세트 크기의 합이다.)
(Where a is the number of cores responsible for the periodic task, c is the sum of the working set sizes of the periodic tasks, and d is the sum of the working set sizes of the non-periodic tasks.)

본 발명의 바람직한 실시양태에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 방법은, 캐쉬 미스율 체크부가, 주기적 태스크를 담당하는 코어의 캐쉬 미스율을 체크하는 단계; 판단부가, 캐쉬 미스율이 임계치 이상이 되는지를 판단하는 단계; 및 캐쉬 메모리 용량 조정부가, 판단결과에 따라 코어가 사용가능한 레벨2 캐쉬 메모리의 용량을 조정하는 단계;를 포함한다.A cache memory resizing method of an embedded multi-core processor according to a preferred embodiment of the present invention may include: checking a cache miss rate of a core in charge of a periodic task by a cache miss rate checker; Determining, by the determining unit, whether the cache miss rate is greater than or equal to a threshold; And adjusting, by the cache memory capacity adjusting unit, the capacity of the level 2 cache memory available to the core according to the determination result.

캐쉬 미스율 체크 단계는 정해진 시간 주기로 코어의 캐쉬 미스율을 체크한다.The cache miss rate checking step checks the cache miss rate of the core at a predetermined time period.

캐쉬 메모리 용량 조정 단계는 하기의 식에 따라 레벨2 캐쉬 메모리의 용량을 조정한다.The cache memory capacity adjusting step adjusts the capacity of the level 2 cache memory according to the following equation.

주기적 태스크를 담당하는 코어가 할당받는 레벨2 캐쉬 메모리의 용량 = The amount of Level 2 cache memory allocated by the core responsible for the periodic task =

(고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a(Capacity of statically allocated level 2 cache memory x c / (c + d)) / a

(여기서, a는 주기적 태스크를 담당하는 코어의 개수이고, c는 주기적 태스크의 워킹 세트 크기의 합이고, d는 비주기적 태스크의 워킹 세트 크기의 합이다.)(Where a is the number of cores responsible for the periodic task, c is the sum of the working set sizes of the periodic tasks, and d is the sum of the working set sizes of the non-periodic tasks.)

이러한 구성의 본 발명에 따르면, 임베디드 멀티 코어 프로세서상에서 에너지/전력 소모를 줄이고 성능을 향상시킬 수 있다. According to the present invention of such a configuration, it is possible to reduce energy / power consumption and improve performance on an embedded multi-core processor.

즉, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법은 주기적 태스크를 복수개의 코어에 분산시킨다. 그에 따라, 성능 요구(performance requirement) 조건에 영향을 주지 않는 범위내에서 주기적 태스크를 할당받은 두 개 또는 그 이상의 코어의 전압과 클럭 주파수를 낮출 수 있게 되어 에너지/전력의 소모를 획기적으로 줄일 수 있다.That is, the task scheduling apparatus and method of the embedded multi-core processor according to an embodiment of the present invention distributes a periodic task to a plurality of cores. As a result, it is possible to lower the voltage and clock frequency of two or more cores assigned periodic tasks without affecting performance requirement conditions, thereby dramatically reducing energy / power consumption. .

한편, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치 및 방법은 주기적 태스크들이 하나의 코어에 몰림으로써 발생할 수 있는 캐쉬 미스율의 영향을 최소화함으로써 성능을 향상시킨다. On the other hand, the cache memory resizing apparatus and method of the embedded multi-core processor according to an embodiment of the present invention improves performance by minimizing the effect of the cache miss rate that can occur when the periodic tasks are concentrated on one core.

도 1은 종래의 로드 언밸런싱 태스크 스케쥴링 방법을 설명하는 도면이다.
도 2는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치의 구성을 설명하는 블럭도이다.
도 3은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치에 의한 태스크 스케쥴링 결과의 일 예이다.
도 4는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치의 동작을 설명하는 플로우차트이다.
도 5는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 구성을 설명하는 블럭도이다.
도 6은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치에 의한 리사이징 결과의 일 예이다.
도 7은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 동작을 설명하는 플로우차트이다.
1 is a diagram illustrating a conventional load unbalancing task scheduling method.
2 is a block diagram illustrating a configuration of a task scheduling apparatus of an embedded multi-core processor according to an exemplary embodiment of the present invention.
3 is an example of a task scheduling result by the task scheduling apparatus of the embedded multi-core processor according to an embodiment of the present invention.
4 is a flowchart illustrating an operation of a task scheduling apparatus of an embedded multi-core processor according to an exemplary embodiment of the present invention.
5 is a block diagram illustrating a configuration of a cache memory resizing apparatus of an embedded multi-core processor according to an exemplary embodiment of the present invention.
6 is an example of a resizing result by the cache memory resizing apparatus of the embedded multi-core processor according to an exemplary embodiment of the present invention.
7 is a flowchart illustrating an operation of a cache memory resizing apparatus of an embedded multi-core processor according to an exemplary embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 및 캐쉬 메모리 리사이징 장치 및 방법에 대하여 설명하면 다음과 같다. 본 발명의 상세한 설명에 앞서, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니된다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
Hereinafter, an apparatus and method for task scheduling and cache memory resizing of an embedded multicore processor according to an exemplary embodiment of the present invention will be described with reference to the accompanying drawings. Prior to the detailed description of the present invention, terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary terms. Therefore, the embodiments described in this specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention and do not represent all the technical ideas of the present invention. Therefore, It is to be understood that equivalents and modifications are possible.

먼저, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법에 대해 설명한다.
First, a task scheduling apparatus and method of an embedded multi-core processor according to an embodiment of the present invention will be described.

도 2는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치의 구성을 설명하는 블럭도이고, 도 3은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치에 의한 태스크 스케쥴링 결과의 일 예이다.
2 is a block diagram illustrating a configuration of a task scheduling apparatus of an embedded multi-core processor according to an embodiment of the present invention, and FIG. 3 is a result of task scheduling by the task scheduling apparatus of an embedded multi-core processor according to an embodiment of the present invention. Is one example.

본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치(30)는 복수개의 코어(제 1코어(10), 제 2코어(12), 제 3코어(14), 제 4코어(16))를 구비한 멀티 코어 프로세서(20)와 연결된다. Task scheduling apparatus 30 of the embedded multi-core processor according to an embodiment of the present invention is a plurality of cores (first core 10, second core 12, third core 14, fourth core 16) It is connected to the multi-core processor 20 having a).

주로 제 1코어(10)에는 주기적 태스크가 할당되고 제 2 내지 제 4코어(12, 14, 16)에는 비주기적 태스크가 할당되겠으나, 비주기적 태스크의 개수가 적을 경우에는 본 발명의 실시예에 따른 태스크 스케쥴링 장치(30)에 의해 주기적 태스크를 할당받을 코어의 수가 증가된다.
Although a periodic task is assigned to the first core 10 and an aperiodic task is assigned to the second to fourth cores 12, 14, and 16, the number of aperiodic tasks is small. According to the task scheduling apparatus 30, the number of cores to which a periodic task is allocated is increased.

본 발명 실시예의 태스크 스케쥴링 장치(30)는 태스크 개수 파악부(32), 비교부(34), 및 코어 조정부(36)를 포함한다.
The task scheduling apparatus 30 according to the embodiment of the present invention includes a task count determining unit 32, a comparing unit 34, and a core adjusting unit 36.

태스크 개수 파악부(32)는 코어(제 1코어(10), 제 2코어(12), 제 3코어(14), 제 4코어(16))에 할당되어 있는 태스크중에서 비주기적 태스크의 전체 개수를 파악한다. 물론, 태스크 개수 파악부(32)는 이미 어느 코어에 비주기적 태스크가 할당되어 있는지를 알고 있기 때문에 모든 코어를 확인하지 않고서도 쉽게 파악할 수 있다.
The task count determining unit 32 includes the total number of aperiodic tasks among the tasks allocated to the cores (the first core 10, the second core 12, the third core 14, and the fourth core 16). Figure out. Of course, since the task count determining unit 32 already knows which cores are assigned to the aperiodic task, it can be easily identified without checking all the cores.

비교부(34)는 태스크 개수 파악부(32)에서 파악된 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교한다. 바람직하게, 비교부(34)는 비주기적 태스크의 전체 개수가 임계값 이하로 유지되는 시간을 계수하는 타이머(도시 생략)를 포함한다. 이는 비주기적 태스크의 개수가 일정 임계값 이하로 일정 시간(예컨대, 1분, 2분, 3분 등의 시간) 이상 유지될 경우에 비주기적 태스크를 담당하는 코어의 개수를 한 개씩 감소시키기 위함이다. 다시 말해서, 시간 계수가 없다면 비주기적 태스크의 전체 개수가 임계값 이하로 되는 순간마다 비주기적 태스크를 담당하는 코어의 개수를 한 개씩 감소시키는 동작이 행해진다. 이 경우, 불필요하게 너무 빈번한 변화가 발생되어 프로세서의 성능에 문제를 야기시킬 수 있다.
The comparison unit 34 compares whether the total number of aperiodic tasks identified by the task number determination unit 32 is equal to or less than a threshold value. Preferably, the comparison unit 34 includes a timer (not shown) for counting the time that the total number of aperiodic tasks is kept below the threshold. This is to reduce the number of cores in charge of the aperiodic task one by one when the number of aperiodic tasks is maintained below a certain threshold for a certain time (eg, 1 minute, 2 minutes, 3 minutes, etc.). . In other words, if there is no time coefficient, an operation of decreasing the number of cores in charge of the aperiodic task one by one is performed every time the total number of the aperiodic tasks becomes less than or equal to the threshold. In this case, unnecessarily too frequent changes may occur, causing problems in the performance of the processor.

코어 조정부(36)는 비교부(34)의 비교결과에 따라 주기적 태스크를 담당하는 코어 및 비주기적 태스크를 담당하는 코어의 개수를 조정한다. 즉, 코어 조정부(36)는 비주기적 태스크의 전체 개수가 임계값 이하로 소정 시간 유지되면 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 주기적 태스크를 담당하는 코어의 개수를 하나 증가시킨다. 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때, 코어 조정부(36)는 바로 이전의 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시킨다. 다시 말해서, 바로 이전에 비주기적 태스크를 담당하는 코어의 개수가 3개였다면 코어 조정부(36)는 그 코어의 개수를 2개로 감소시킨다. The core adjuster 36 adjusts the number of cores in charge of the periodic task and cores in charge of the aperiodic task according to the comparison result of the comparator 34. That is, if the total number of aperiodic tasks is maintained below a threshold for a predetermined time, the core adjusting unit 36 decreases the number of cores in charge of the aperiodic task by one and increases the number of cores in charge of the periodic task by one. When reducing the number of cores in charge of the aperiodic task by one, the core adjuster 36 reduces one from the number of cores in charge of the immediately preceding aperiodic task. In other words, if the number of cores responsible for the aperiodic task was three just before, the core adjusting unit 36 reduces the number of the cores to two.

그에 따라, 코어 조정부(36)는 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당한다. 이에 의해, 도 3에서와 같이 주기적 태스크를 담당하는 코어가 복수개로 된다.
Accordingly, the core adjuster 36 reassigns the periodic task or the non-periodic task corresponding to each adjusted core. As a result, as shown in FIG. 3, a plurality of cores in charge of the periodic task are provided.

이어, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치의 동작에 대해 도 4의 플로우차트를 참조하여 설명한다.Next, an operation of the task scheduling apparatus of the embedded multi-core processor according to an exemplary embodiment of the present invention will be described with reference to the flowchart of FIG. 4.

먼저, 멀티 코어 프로세서(임베디드 프로세서)(20) 안에 네 개의 코어(10, 12, 14, 16)가 있고, 주기적 태스크(periodic task)가 제 1 코어(10)에 몰려 있고, 비주기적 태스크(aperiodic task)는 제 2 내지 제 4코어(12, 14, 16)에 분산되어 있다고 가정한다.First, there are four cores 10, 12, 14, 16 in a multi-core processor (embedded processor) 20, periodic tasks are concentrated in the first core 10, and aperiodic tasks task) is assumed to be distributed to the second to fourth cores 12, 14 and 16.

태스크 개수 파악부(32)는 제 2 내지 제 4코어(12, 14, 16)에 분산되어 있는 비주기적 태스크의 전체 개수를 파악한 후 그 결과를 비교부(34)에게로 전송한다(S10).The task number determining unit 32 determines the total number of aperiodic tasks distributed in the second to fourth cores 12, 14, and 16, and transmits the result to the comparison unit 34 (S10).

비교부(34)는 입력받은 비주기적 태스크의 전체 개수와 미리 설정되어 있는 일정 임계값을 비교한다. 이 때, 비교부(34)는 비주기적 태스크의 개수가 일정 임계값 이하로 일정 시간(예컨대, 1분, 2분, 3분 등의 시간) 이상 유지되는지를 비교한다(S12). 비교부(34)는 비교결과 신호를 코어 조정부(36)에게로 전송한다.The comparison unit 34 compares the total number of input aperiodic tasks with a predetermined threshold value. At this time, the comparison unit 34 compares whether the number of aperiodic tasks is maintained for a predetermined time or more (for example, one minute, two minutes, three minutes, or more) below a predetermined threshold value (S12). The comparison unit 34 transmits the comparison result signal to the core adjustment unit 36.

만약, 비주기적 태스크의 전체 개수가 임계값 이하로 일정 시간 이상 유지되지 않으면(S14에서 "No") 코어 조정부(36)는 코어에 대한 조정없이 제 1 내지 제 4코어(10, 12, 14, 16)에 할당되어 있는 태스크들을 이전과 동일하게 유지시킨다.If the total number of aperiodic tasks is not maintained below a threshold for more than a predetermined time (“No” in S14), the core adjuster 36 may adjust the first to fourth cores 10, 12, 14, without adjustment to the core. Keep the tasks assigned in 16) the same as before.

반대로, 비주기적 태스크의 전체 개수가 임계값 이하로 일정 시간 이상 유지된다면(S14에서 "Yes") 코어 조정부(36)는 비주기적 태스크를 담당하는 코어의 개수를 한 개씩 감소시킨다. 이와 같이 하면 주기적 태스크를 담당하는 코어의 개수는 이전과 비교하여 상대적으로 늘어나게 된다(S16). 예를 들어, 코어 조정부(36)는 비주기적 태스크를 담당하는 코어를 제 3코어(14) 및 제 4코어(16)로 하고, 주기적 태스크를 담당하는 코어를 제 1코어(10) 및 제 2코어(12)로 조정한다. On the contrary, if the total number of aperiodic tasks is maintained below the threshold for more than a predetermined time (“Yes” in S14), the core adjusting unit 36 reduces the number of cores in charge of the aperiodic task one by one. In this way, the number of cores in charge of the periodic task is relatively increased in comparison with the previous (S16). For example, the core adjuster 36 sets the cores responsible for the aperiodic task as the third core 14 and the fourth core 16, and the cores responsible for the periodic task as the first core 10 and the second core. The core 12 is adjusted.

이후, 코어 조정부(36)는 이전에 제 1코어(10)에만 모여 있었던 주기적 태스크를 제 1코어(10) 및 제 2코어(12)에게로 분할하여 할당한다. 그리고, 코어 조정부(36)는 이전에 제 2 내지 제 4코어(12, 14, 16)에 분할되어 있던 비주기적 태스크들을 제 3코어(14) 및 제 4코어(16)에게로 재할당한다(S18).Thereafter, the core adjuster 36 divides and allocates the periodic task previously collected only in the first core 10 to the first core 10 and the second core 12. The core adjuster 36 reassigns the aperiodic tasks previously divided into the second to fourth cores 12, 14, and 16 to the third core 14 and the fourth core 16 ( S18).

이와 같은 태스크 스케쥴링은 비주기적 태스크의 전체 개수의 파악과 함께 반복적으로 행해진다.
Such task scheduling is performed repeatedly with the identification of the total number of aperiodic tasks.

한편, 비교부(34)에서의 임계값은 복수개로 설정될 수도 있다. 예를 들어, 제 1임계값, 제 2임계값(즉, 제 1임계값보다 적은 값임)과 같이 복수개로 설정할 수도 있다. 이와 같이 임계값을 복수개로 하게 되면 비주기적 태스크의 전체 개수는 우선 제 1임계값과 비교되어 일정 시간 이상 제 1임계값 이하를 유지하면 재차 제 2임계값과 비교된다. 이와 같이 임계값을 복수개로 하면 필요에 따라서는 비주기적 태스크를 담당하는 코어의 개수를 조정하는 시간을 줄일 수 있다. 즉, 비주기적 태스크의 전체개수가 제 2임계값 이하로 일정 시간 이상 유지될 경우에는 비주기적 태스크를 담당하는 코어의 개수를 2개 줄인다.
On the other hand, the threshold value in the comparison unit 34 may be set to a plurality. For example, a plurality of first threshold values and second threshold values (that is, less than the first threshold value) may be set. As described above, when a plurality of thresholds is provided, the total number of aperiodic tasks is first compared with the first threshold value, and when the first threshold value is kept below the first threshold value for a predetermined time, the second threshold value is compared again. In this way, when the threshold value is plural, the time for adjusting the number of cores in charge of the aperiodic task can be reduced as necessary. That is, if the total number of aperiodic tasks is maintained below the second threshold for a predetermined time or more, the number of cores responsible for the aperiodic task is reduced by two.

상술한 바와 같은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치는 주기적 태스크를 하나의 코어에 집중시키는 것보다 복수개의 코어에 분산시킨다. 이에 의해, 성능 요구(performance requirement) 조건에 영향을 주지 않는 범위내에서 주기적 태스크를 할당받은 두 개 또는 그 이상의 코어의 전압과 클럭 주파수를 낮출 수 있게 된다. 이 경우, 에너지/전력의 소모를 줄일 수 있다.
The task scheduling apparatus of the embedded multi-core processor according to the embodiment of the present invention as described above distributes periodic tasks to a plurality of cores rather than concentrating periodic tasks to one core. As a result, the voltage and clock frequencies of two or more cores assigned periodic tasks can be reduced within a range that does not affect performance requirement conditions. In this case, energy / power consumption can be reduced.

성능 요구 조건을 만족시키면서 클럭 주파수와 전압을 조절하는 방법을 정량적으로 정의하면 다음과 같다. A quantitative definition of how to adjust clock frequency and voltage while meeting performance requirements is as follows.

n개의 주기적 태스크와 m개의 비주기적 태스크가 있다고 가정한다. 기본적으로 설정되어 있는 코어들의 클럭 주파수는 a GHz, 공급 전압은 b V로 가정한다. Assume there are n periodic tasks and m aperiodic tasks. It is assumed that the clock frequency of the cores set by default is a GHz and the supply voltage is bV.

주기적 태스크를 담당하는 코어의 개수는 c개, 비주기적 태스크를 담당하는 코어의 개수는 d개이다. 따라서, 전체 코어의 개수는 c+d개이다. 기본적으로 설정된 클럭 주파수 및 공급 전압은 기본적으로 시스템의 성능 요구조건을 해치지 않는 상태라고 가정한다.The number of cores responsible for the periodic task is c, and the number of cores responsible for the aperiodic task is d. Therefore, the total number of cores is c + d. It is assumed that the clock frequency and supply voltage set by default do not harm the performance requirements of the system.

이와 같은 가정하에, d개의 코어에 분산되었던 비주기적 태스크들의 개수가 일정 임계값 이하(시스템 사용자가 정할 수 있음)로 일정시간 이상 유지되면 비주기적 태스크를 담당하는 코어의 개수를 한 개씩 줄인다. 이렇게 될 경우 주기적 태스크들을 담당하는 코어의 개수는 상대적으로 늘어나게 된다. 이와 같이 주기적 태스크들을 담당하는 코어의 개수가 늘어나게 되면 주기적 태스크들을 담당하는 각각의 코어에서 담당하게 될 주기적 태스크들의 개수는 n/c개가 된다.Under this assumption, if the number of aperiodic tasks distributed to d cores is kept below a certain threshold (which can be determined by the system user) for a predetermined time or more, the number of cores in charge of the aperiodic task is reduced by one. This increases the number of cores responsible for periodic tasks. As the number of cores in charge of the periodic tasks increases, the number of periodic tasks to be in charge of each core in charge of the periodic tasks becomes n / c.

이와 같이, 주기적 태스크를 담당하는 각각의 코어에서는 주기적 태스크들의 개수가 줄어들었으므로, 이에 비례하여 해당 코어(즉, 주기적 태스크를 담당하는 각각의 코어)의 클럭 주파수와 공급 전압을 각각 a/c, b/c로 낮출 수 있다. As described above, since the number of periodic tasks is reduced in each core in charge of the periodic task, the clock frequency and supply voltage of the corresponding core (ie, each core in charge of the periodic task) are a / c, can be lowered to b / c.

이 때, 얻을 수 있는 전력 소모량의 이득은, 종래의 로드 언밸런싱 태스크 스케쥴링 방식일 때에는 "a×b2×(c+d)"이고, 본 발명에서 제안하는 방식을 사용할 경우에는 "c×(a/c×b2/c2)+d×a×b2"이다. At this time, the gain of power consumption that can be obtained is "a x b 2 x (c + d)" in the conventional load unbalancing task scheduling method, and "c x ( a / c × b 2 / c 2 ) + d × a × b 2 ″.

따라서, 본 발명의 실시예의 따른 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치 및 방법에 의해 얻을 수 있는 전력 소모량의 이득은 "c×(a/c×b2/c2) - a×b2×c"이다. 위의 식은 전력 소모량(P)이 공급 전압(V)의 제곱과 클럭 주파수(f)에 비례한다(즉, P ∝V2f)는 점을 이용하였다.
Thus, the gain of the power consumption obtained by the task scheduling apparatus and method of the embedded multi-core processor according to the embodiment of the present invention "c × (a / c × b 2 / c 2) - a × b 2 × c" to be. The above equation takes advantage of the fact that the power consumption (P) is proportional to the square of the supply voltage (V) and the clock frequency f (ie, P ∝ V 2 f).

결국, 상술한 본 발명의 실시예의 임베디드 태스크 스케쥴링 장치 및 방법에 의하면, 주기적 태스크의 성능에 영향을 주지 않으면서 동시에 에너지/전력 소모를 줄이는 효과를 얻게 된다.
As a result, according to the embedded task scheduling apparatus and method of the embodiment of the present invention, an effect of reducing energy / power consumption is achieved while not affecting the performance of a periodic task.

이번에는, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치 및 방법에 대해 설명한다.
This time, the cache memory resizing apparatus and method of the embedded multi-core processor according to an embodiment of the present invention will be described.

도 5는 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 구성을 설명하는 블럭도이고, 도 6은 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치에 의한 리사이징 결과의 일 예이다.
5 is a block diagram illustrating a configuration of a cache memory resizing apparatus of an embedded multi-core processor according to an exemplary embodiment of the present invention, and FIG. 6 is a resizing of the cache memory resizing apparatus of an embedded multi-core processor according to an exemplary embodiment of the present invention. One example of the result.

본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치(40)는 복수개의 코어(제 1코어(10), 제 2코어(12), 제 3코어(14), 제 4코어(16))를 구비한 멀티 코어 프로세서(20)와 연결된다. 통상적으로, 메모리의 용량은 작지만 고속으로 동작할 수 있는 캐쉬인 레벨1(L1) 캐쉬 메모리가 각각의 코어(10, 12, 14, 16)에 내장된다. 레벨1 캐쉬 메모리(10a, 12a, 14a, 16a)와 외부 메모리 사이에서 프로세서(20)와는 다소 거리를 두고 떨어져 배치되어 있으나 대용량의 캐쉬인 레벨2(L2) 캐쉬 메모리는 복수의 코어(10, 12, 14, 16)가 공유하는 계층적 구조로 되어 있다. The cache memory resizing apparatus 40 of the embedded multi-core processor according to an embodiment of the present invention may include a plurality of cores (a first core 10, a second core 12, a third core 14, and a fourth core 16). It is connected to the multi-core processor 20 having a)). Typically, a Level 1 (L1) cache memory, which is a cache capable of operating at high speed but small in memory, is embedded in each core 10, 12, 14, 16. Although the level 1 cache memory 10a, 12a, 14a, 16a and the external memory are disposed at a distance from the processor 20, the large-level cache level 2 (L2) cache memory has a plurality of cores (10, 12). , 14 and 16 have a shared hierarchical structure.

비주기적 태스크의 개수가 많아서 주기적 태스크들을 위한 코어의 여유가 없는 경우 또는 주기적 태스크의 개수가 많아서 전압 및 클럭 주파수를 낮추기 힘들 경우에는 본 발명의 실시예에 따른 캐쉬 메모리 리사이징 장치(40)에 의해 캐쉬 메모리에 대한 리사이징을 실시한다.
When there is a large number of aperiodic tasks and there is no room for cores for periodic tasks, or when the number of periodic tasks is large and it is difficult to lower the voltage and clock frequency, the cache memory resizing apparatus 40 according to the embodiment of the present invention caches the cache. Resize the memory.

본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치(40)는 캐쉬 미스율 체크부(42), 판단부(44), 및 캐쉬 메모리 용량 조정부(46)를 포함한다.
The cache memory resizing apparatus 40 of the embedded multi-core processor according to an exemplary embodiment of the present invention includes a cache miss rate checker 42, a determiner 44, and a cache memory capacity adjuster 46.

캐쉬 미스율 체크부(42)는 주기적 태스크를 담당하는 코어(예컨대, 10)의 캐쉬 미스율을 체크한다. 바람직하게, 캐쉬 미스율 체크부(42)는 정해진 시간(예컨대, 10분, 20분 정도) 주기로 주기적 태스크를 담당하는 코어(예컨대, 10)의 캐쉬 미스율을 체크한다. 매초 또는 매분마다 레벨2 캐쉬 메모리에 대한 리사이징을 실시하는 것은 비효율적이기 때문이다.The cache miss rate check unit 42 checks the cache miss rate of the core (eg, 10) in charge of the periodic task. Preferably, the cache miss rate check unit 42 checks the cache miss rate of the core (eg, 10) that is responsible for the periodic task at a predetermined time (for example, about 10 minutes and about 20 minutes). This is because it is inefficient to resize the Level 2 cache memory every second or every minute.

제 1코어(10)에 많은 수의 주기적 태스크가 몰리게 되면 제 1코어(10)의 레벨1 캐쉬 메모리(10a)에서는 캐쉬 미스(cache miss)가 빈번하게 발생하게 된다. 따라서, 캐쉬 미스율 체크부(42)는 이와 같이 주기적 태스크를 담당하는 제 1코어(10)에서 빈번하게 발생되는 캐쉬 미스의 비율을 체크한다.
When a large number of periodic tasks are concentrated in the first core 10, cache misses frequently occur in the level 1 cache memory 10a of the first core 10. Accordingly, the cache miss rate checker 42 checks the rate of cache misses that are frequently generated in the first core 10 in charge of the periodic task.

판단부(44)는 캐쉬 미스율 체크부(40)에서 체크된 캐쉬 미스율이 임계치 이상이 되는지를 판단한다. 판단부(44)는 그 결과를 캐쉬 메모리 용량 조정부(46)에게로 전송한다.
The determination unit 44 determines whether the cache miss rate checked by the cache miss rate check unit 40 is equal to or greater than the threshold. The determination unit 44 transmits the result to the cache memory capacity adjusting unit 46.

캐쉬 메모리 용량 조정부(46)는 판단부(44)의 판단결과에 따라 해당 코어(즉, 주기적 태스크를 담당하는 코어)가 사용가능한 레벨2 캐쉬 메모리(52)의 용량을 조정한다.The cache memory capacity adjusting unit 46 adjusts the capacity of the level 2 cache memory 52 available to the corresponding core (that is, the core in charge of the periodic task) according to the determination result of the determining unit 44.

그에 따라, 캐쉬 메모리 용량 조정부(46)는 도 6에서와 같이 레벨2 캐쉬 메모리(50)에서 주기적 태스크를 담당하는 코어(10)의 레벨2 캐쉬 메모리(52)의 용량을 다른 코어용 레벨2 캐쉬 메모리(54, 56, 58)의 용량에 비해 더 크게 한다. Accordingly, the cache memory capacity controller 46 adjusts the capacity of the level 2 cache memory 52 of the core 10 that is responsible for the periodic task in the level 2 cache memory 50 as shown in FIG. 6. It is larger than the capacity of the memory 54, 56, 58.

이와 같이 하게 되면 예를 들어, 레벨1 캐쉬 메모리(10a)에서 미스처리된 데이터는 용량이 증가된 레벨2 캐쉬 메모리(52)에서 처리할 수 있게 된다. 제 1 내지 제 4코어(10, 12, 14, 16)에 공유되되 용량이 고정된 기존의 레벨2 캐쉬 메모리 구조와 비교하여 볼 때, 본 발명의 실시예의 캐쉬 메모리 리사이징 장치에 의하면 레벨2 캐쉬 메모리에서의 미스율을 최소화하여 성능저하를 줄이게 된다. 다시 말해서, 본 발명의 실시예의 캐쉬 메모리 리사이징 장치에 의하면 용량이 증가된 레벨2 캐쉬 메모리(52)가 레벨1 캐쉬 메모리(10a)에서 미스처리된 데이터를 대신 처리해 줄 수 있으므로, 시스템 전체적인 측면에서 보면 기존에 비해 성능저하를 줄이게 된다.
In this way, for example, data that is missed in the level 1 cache memory 10a may be processed in the level 2 cache memory 52 having increased capacity. Compared to the existing level 2 cache memory structure shared with the first to fourth cores 10, 12, 14, and 16, but with a fixed capacity, the level 2 cache memory according to the cache memory resizing apparatus of the embodiment of the present invention. This reduces the performance degradation by minimizing the miss rate at. In other words, according to the cache memory resizing apparatus of the embodiment of the present invention, since the increased level 2 cache memory 52 can process missed data in the level 1 cache memory 10a, the system-wide view It will reduce the performance degradation compared to the previous.

이어, 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 동작에 대해 도 7의 플로우차트를 참조하여 설명한다.Next, an operation of the cache memory resizing apparatus of the embedded multi-core processor according to an exemplary embodiment of the present invention will be described with reference to the flowchart of FIG. 7.

일단, 도 6에서와 같이 메모리의 용량은 작지만 고속으로 동작할 수 있는 캐쉬인 레벨1 캐쉬 메모리가 각각의 코어(10, 12, 14, 16)에 내장되는 것으로 가정한다. 도 6에서와 같이 레벨1 캐쉬 메모리(10a, 12a, 14a, 16a)와 외부 메모리 사이에서 프로세서(20)와는 다소 거리를 두고 떨어져 배치되어 있으나 대용량의 캐쉬인 레벨2 캐쉬 메모리는 복수의 코어(10, 12, 14, 16)가 공유하는 계층적 구조로 되어 있는 것으로 가정한다. 또한, 주기적 태스크들이 제 1코어(10)에만 할당되고, 비주기적 태스크들이 제 2 내지 제 4코어(12, 14, 16)에 분산되어 할당된 것으로 가정한다.First, as shown in FIG. 6, it is assumed that a level 1 cache memory, which is a cache having a small capacity but that can operate at high speed, is embedded in each core 10, 12, 14, and 16. As shown in FIG. 6, the level 1 cache memory 10a, 12a, 14a, 16a and the external memory are disposed at a distance from the processor 20, but the level 2 cache memory, which is a large cache, has a plurality of cores 10. (12, 14, 16) are assumed to have a shared hierarchical structure. In addition, it is assumed that periodic tasks are assigned only to the first core 10, and aperiodic tasks are distributed and allocated to the second to fourth cores 12, 14, and 16.

캐쉬 미스율 체크부(42)가 주기적 태스크를 담당하고 있는 제 1코어(10)의 레벨1 캐쉬 메모리(10a)에서의 캐쉬 미스율을 정해진 시간 주기로 체크한다(S20).The cache miss rate checker 42 checks the cache miss rate in the level 1 cache memory 10a of the first core 10 in charge of the periodic task at a predetermined time period (S20).

체크된 캐쉬 미스율은 판단부(44)에게로 전송되고, 판단부(44)는 입력된 캐쉬 미스율이 임계치 이상이 되는지를 판단한다(S22). The checked cache miss rate is transmitted to the determination unit 44, and the determination unit 44 determines whether the input cache miss rate is greater than or equal to the threshold (S22).

판단 결과, 체크된 캐쉬 미스율이 기준 캐쉬 미스율 미만이라면(S22에서 "No") 캐쉬 메모리 용량 조정부(46)는 레벨2 캐쉬 메모리(50)의 리사이징이 필요없는 것으로 판단하여 이전 상태를 유지한다.As a result of determination, if the checked cache miss rate is less than the reference cache miss rate (“No” in S22), the cache memory capacity adjusting unit 46 determines that the resizing of the level 2 cache memory 50 is not necessary and maintains the previous state.

반대로, 체크된 캐쉬 미스율이 기준 캐쉬 미스율 이상이면(S22에서 "Yes") 캐쉬 메모리 용량 조정부(46)는 레벨2 캐쉬 메모리(50)를 재구성한다(S24). 즉, 도 6에서와 같이 레벨2 캐쉬 메모리(50)에서 주기적 태스크를 담당하는 코어(10)의 레벨2 캐쉬 메모리(52)의 용량을 다른 코어용 레벨2 캐쉬 메모리(54, 56, 58)의 용량에 비해 더 크게 한다.
On the contrary, if the checked cache miss rate is equal to or greater than the reference cache miss rate (“Yes” in S22), the cache memory capacity adjusting unit 46 reconstructs the level 2 cache memory 50 (S24). That is, as shown in FIG. 6, the capacity of the level 2 cache memory 52 of the core 10 that is responsible for the periodic task in the level 2 cache memory 50 is changed to that of the other level 2 cache memories 54, 56, and 58. Larger than the capacity.

상술한 본 발명의 실시예에 따른 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치는 태스크가 많이 몰리는 제 1 코어(10)의 레벨2 캐쉬 메모리(52)의 용량을 다른 레벨2 캐쉬 메모리(54, 56, 58)의 용량에 비해 크도록 할당하여 레벨2 캐쉬 메모리(52)에서의 미스율을 최소화하여 성능저하를 줄인다.
In the cache memory resizing apparatus of the embedded multi-core processor according to the exemplary embodiment of the present invention, the level 2 cache memory 54, 56, By allocating larger than the capacity of 58), the miss rate in the level 2 cache memory 52 is minimized to reduce performance degradation.

비주기적 태스크는 주기적으로 실행되는 것이 아니라 한번 실행되고 마는 태스크들이어서 캐쉬 메모리에 데이터를 유지해야할 필요성이 적다. Aperiodic tasks are tasks that run once, not periodically, so there is less need to keep data in cache memory.

그에 따라, 상술한 본 발명의 실시예에 따른 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치에서는 비주기적 태스크들을 담당하는 코어가 가용할 수 있는 L2 캐쉬의 용량을 최소로 유지하였다. 이에 의해, 비주기적 태스크들을 담당하는 코어들이 레벨 2 캐쉬를 오염시키는 것을 최소화할 수 있다. Accordingly, in the cache memory resizing apparatus of the multi-core processor according to the embodiment of the present invention described above, the capacity of the L2 cache that is available to the core in charge of aperiodic tasks is kept to a minimum. This can minimize the cores responsible for aperiodic tasks from contaminating the level 2 cache.

이와 같이 하면 용량이 증가된 제 1코어용 레벨2 캐쉬 메모리(52)가 레벨1 캐쉬 메모리(10a)에서 미스처리된 데이터를 대신 처리해 줄 수 있으므로, 시스템 전체적인 측면에서 보면 기존에 비해 성능저하를 줄이게 된다.
In this case, the level 2 cache memory 52 for increased capacity can process the missed data in the level 1 cache memory 10a instead. Therefore, the performance of the system as a whole can be reduced. do.

여기서, 레벨2 캐쉬 메모리(50)의 용량을 정량적으로 정하기 위해서 다음과 같은 방법을 사용한다. Here, the following method is used to quantitatively determine the capacity of the level 2 cache memory 50.

주기적 태스크들의 워킹 세트(working set)의 크기를 운영체제에서 미리 알고 있다고 가정한다. 또한, 주기적 태스크들을 담당하는 코어의 개수를 "a"라고 가정하고, 비주기적 태스크들을 담당하는 코어의 개수를 "b"라고 가정한다. 주기적 태스크들의 워킹 세트의 합을 "c"라고 가정하고, 비주기적 태스크들의 워킹 세트 크기의 합을 "d"라고 가정한다.Assume that the operating system knows in advance the size of the working set of periodic tasks. In addition, it is assumed that the number of cores in charge of periodic tasks is "a", and the number of cores in charge of aperiodic tasks is "b". Assume that the sum of the working set of periodic tasks is "c" and the sum of the working set size of the non-periodic tasks is "d".

상술한 본 발명의 실시예에 따른 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치의 동작에 의하면, 주기적 태스크들을 담당하는 코어 한 개가 고정적으로 할당받는 레벨2 캐쉬 메모리의 용량은 "(고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a"으로 된다. 한편, 비주기적 태스크들을 담당하는 코어 한 개가 고정적으로 할당받는 레벨2 캐쉬 메모리의 용량은 "(고정적으로 할당할 전체 L2 캐쉬 메모리의 용량×d/(c+d))/b"로 된다. 이와 같은 레벨2 캐쉬 메모리의 용량 조정은 캐쉬 메모리 용량 조정부(46)에서 행해진다.According to the operation of the cache memory resizing apparatus of the multi-core processor according to the above-described embodiment of the present invention, the capacity of the level 2 cache memory to which one core in charge of periodic tasks is fixedly allocated is "(total level 2 to be fixedly allocated). The capacity of the cache memory x c / (c + d)) / a ". On the other hand, the capacity of the level 2 cache memory to which one core in charge of aperiodic tasks is fixedly allocated is "(capacity of all L2 cache memories to be fixedly allocated x d / (c + d)) / b". The capacity adjustment of the level 2 cache memory is performed by the cache memory capacity adjusting unit 46.

통상적으로, 레벨2 캐쉬 메모리는 본래 모든 영역이 공유되는 것이 일반적이지만, 상술한 본 발명의 실시예를 적용하게 되면 레벨2 캐쉬 메모리가 공유되는 것이 아니라 각 코어별로 고정된 크기를 사용하도록 할당된다. 즉, 도 6에서와 같이 공유되는 영역이 없어지게 된다. In general, the level 2 cache memory is generally all regions are shared, but when applying the above-described embodiment of the present invention, the level 2 cache memory is allocated to use a fixed size for each core rather than being shared. That is, as shown in FIG. 6, there is no shared area.

그러나, 공유되는 영역이 없을 경우, 레벨2 캐쉬 메모리가 가지는 장점이 없어지게 되므로, 설계에 유연성을 가미하여 공유되는 영역을 일정량 남겨 놓고 나머지 부분을 코어별로 할당되게 할 수도 있다. 다시 말해서, 도 6에서와 같이 공유되는 영역이 없을 수도 있고, 모든 부분이 공유될 수도 있다.
However, if there is no shared area, the advantage of the level 2 cache memory is eliminated. Therefore, the flexibility of the design may allow a certain amount of shared area to be left, and the remaining parts may be allocated for each core. In other words, there may be no shared area as in FIG. 6, and all parts may be shared.

상술한 바와 같은 본 발명의 실시예에 따른 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치는 비주기적 태스크가 많아서 주기적 태스크들을 위한 코어의 여유가 없는 경우 또는 주기적 태스크의 개수가 많아서 전압 및 클럭 주파수를 낮추기 힘든 경우에 적용함이 바람직하다. 그와 같은 경우에는 주기적 태스크들을 담당하는 코어에 레벨2 캐쉬 메모리의 용량을 보다 많이 할당해서 레벨2 캐쉬 메모리에서의 미스율(miss rate)을 최소화하여 성능저하를 줄인다.
The cache memory resizing apparatus of a multi-core processor according to an embodiment of the present invention as described above has a large number of aperiodic tasks, so that there is no room for cores for periodic tasks, or a large number of periodic tasks makes it difficult to lower the voltage and clock frequency. It is preferable to apply to. In such a case, the capacity of level 2 cache memory is allocated more to the core that is responsible for the periodic tasks, thereby minimizing the miss rate in the level 2 cache memory and reducing the performance degradation.

한편, 본 발명은 상술한 실시예로만 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위내에서 수정 및 변형하여 실시할 수 있고, 그러한 수정 및 변형이 가해진 기술사상 역시 이하의 특허청구범위에 속하는 것으로 보아야 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. You must see.

30 : 태스크 스케쥴링 장치 32 : 태스크 개수 파악부
34 : 비교부 36 : 코어 조정부
40 : 캐쉬 메모리 리사이징 장치 42 : 캐쉬 미스율 체크부
44 : 판단부 46 : 캐쉬 메모리 용량 조정부
30: task scheduling apparatus 32: task number grasping unit
34: comparison unit 36: core adjustment unit
40: cache memory resizing device 42: cache miss rate check unit
44: determination unit 46: cache memory capacity adjustment unit

Claims (16)

비주기적 태스크의 전체 개수를 파악하는 태스크 개수 파악부;
상기 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 비교부; 및
상기 비교부의 비교결과에 따라 주기적 태스크를 담당하는 코어 및 상기 비주기적 태스크를 담당하는 코어의 개수를 조정하는 코어 조정부;를 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
A task count determining unit for grasping the total number of aperiodic tasks;
A comparison unit for comparing whether the total number of the aperiodic tasks is equal to or less than a threshold value; And
And a core adjuster configured to adjust the number of cores in charge of the periodic task and the cores in charge of the non-periodic task according to the comparison result of the comparator.
청구항 1에 있어서,
상기 비교부는, 상기 비주기적 태스크의 전체 개수가 상기 임계값 이하로 유지되는 시간을 계수하는 타이머를 추가로 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
The method according to claim 1,
The comparing unit further includes a timer for counting the time that the total number of the aperiodic tasks is maintained below the threshold value.
청구항 2에 있어서,
상기 코어 조정부는, 상기 비주기적 태스크의 전체 개수가 상기 임계값 이하로 소정 시간 유지되면 상기 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 상기 주기적 태스크를 담당하는 코어의 개수를 하나 증가시키는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
The method according to claim 2,
If the total number of the aperiodic task is maintained below the threshold for a predetermined time, the core adjusting unit decreases the number of cores in charge of the aperiodic task by one to increase the number of cores in charge of the periodic task by one. Task scheduling apparatus for an embedded multi-core processor.
청구항 3에 있어서,
상기 코어 조정부는, 상기 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때 바로 이전의 상기 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시키는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
The method according to claim 3,
And reducing the number of cores in charge of the aperiodic task by one from the number of cores in charge of the aperiodic task immediately before the core coordinator.
청구항 1에 있어서,
상기 코어 조정부는, 상기 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 장치.
The method according to claim 1,
The core coordinator, the task scheduling apparatus of the embedded multi-core processor, characterized in that to reassign a periodic task or a non-periodic task corresponding to each of the adjusted core.
비주기적 태스크의 전체 개수를 파악하는 단계;
상기 비주기적 태스크의 전체 개수가 임계값 이하인지를 비교하는 단계; 및
상기 비교결과에 따라 주기적 태스크를 담당하는 코어 및 상기 비주기적 태스크를 담당하는 코어의 개수를 조정하는 단계;를 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
Determining a total number of aperiodic tasks;
Comparing whether the total number of the aperiodic tasks is less than or equal to a threshold; And
And adjusting the number of cores that are responsible for the periodic task and the cores that are responsible for the aperiodic task according to the comparison result.
청구항 6에 있어서,
상기 비교 단계는, 상기 비주기적 태스크의 전체 개수가 상기 임계값 이하로 유지되는 시간을 계수하는 단계를 추가로 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
The method of claim 6,
The comparing step further comprises the step of counting the time that the total number of the aperiodic tasks is maintained below the threshold value.
청구항 7에 있어서,
상기 코어 조정 단계는, 상기 비주기적 태스크의 전체 개수가 상기 임계값 이하로 소정 시간 유지되면 상기 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시켜 상기 주기적 태스크를 담당하는 코어의 개수를 하나 증가시키는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
The method of claim 7,
In the core adjusting step, if the total number of the aperiodic tasks is kept below the threshold for a predetermined time, the number of cores in charge of the aperiodic task is increased by one by reducing the number of cores in charge of the aperiodic task by one. Task scheduling method of an embedded multi-core processor, characterized in that.
청구항 8에 있어서,
상기 코어 조정 단계는, 상기 비주기적 태스크를 담당하는 코어의 개수를 하나 감소시킬 때 바로 이전의 상기 비주기적 태스크를 담당하는 코어의 개수에서 하나 감소시키는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
The method according to claim 8,
In the core adjusting step, when the number of cores in charge of the aperiodic task is decreased by one, the number of cores in charge of the aperiodic task is reduced by one. .
청구항 6에 있어서,
상기 코어 조정 단계는, 상기 조정된 각각의 코어에 그에 상응하는 주기적 태스크 또는 비주기적 태스크를 재할당하는 단계를 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 태스크 스케쥴링 방법.
The method of claim 6,
The core tuning step includes reassigning a periodic task or an aperiodic task corresponding to each of the adjusted cores.
주기적 태스크를 담당하는 코어의 캐쉬 미스율을 체크하는 캐쉬 미스율 체크부;
상기 캐쉬 미스율이 임계치 이상이 되는지를 판단하는 판단부; 및
상기 판단부의 판단결과에 따라 상기 코어가 사용가능한 레벨2 캐쉬 메모리의 용량을 조정하는 캐쉬 메모리 용량 조정부;를 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치.
A cache miss rate checker for checking a cache miss rate of a core in charge of a periodic task;
A determination unit determining whether the cache miss rate is equal to or greater than a threshold; And
And a cache memory capacity adjusting unit configured to adjust the capacity of the level 2 cache memory available to the core according to the determination result of the determining unit.
청구항 11에 있어서,
상기 캐쉬 미스율 체크부는 정해진 시간 주기로 상기 코어의 캐쉬 미스율을 체크하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치.
The method of claim 11,
And the cache miss rate checker checks a cache miss rate of the core at a predetermined time period.
청구항 11에 있어서,
상기 캐쉬 메모리 용량 조정부는 하기의 식에 따라 상기 레벨2 캐쉬 메모리의 용량을 조정하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 장치.
주기적 태스크를 담당하는 코어가 할당받는 레벨2 캐쉬 메모리의 용량 =
(고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a
(여기서, a는 주기적 태스크를 담당하는 코어의 개수이고, c는 주기적 태스크의 워킹 세트 크기의 합이고, d는 비주기적 태스크의 워킹 세트 크기의 합이다.)
The method of claim 11,
The cache memory capacity adjusting unit of the cache memory resizing apparatus of the embedded multi-core processor, characterized in that for adjusting the capacity of the level 2 cache memory according to the following equation.
The amount of Level 2 cache memory allocated by the core responsible for the periodic task =
(Capacity of statically allocated level 2 cache memory x c / (c + d)) / a
(Where a is the number of cores responsible for the periodic task, c is the sum of the working set sizes of the periodic tasks, and d is the sum of the working set sizes of the non-periodic tasks.)
주기적 태스크를 담당하는 코어의 캐쉬 미스율을 체크하는 단계;
상기 캐쉬 미스율이 임계치 이상이 되는지를 판단하는 단계; 및
상기 판단결과에 따라 상기 코어가 사용가능한 레벨2 캐쉬 메모리의 용량을 조정하는 단계;를 포함하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 방법.
Checking the cache miss rate of the core in charge of the periodic task;
Determining whether the cache miss rate is greater than or equal to a threshold; And
And adjusting the capacity of the level 2 cache memory available to the core according to the determination result.
청구항 14에 있어서,
상기 캐쉬 미스율 체크 단계는 정해진 시간 주기로 상기 코어의 캐쉬 미스율을 체크하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 방법.
The method according to claim 14,
The cache miss rate checking step may include: checking a cache miss rate of the core at a predetermined time period.
청구항 14에 있어서,
상기 캐쉬 메모리 용량 조정 단계는 하기의 식에 따라 상기 레벨2 캐쉬 메모리의 용량을 조정하는 것을 특징으로 하는 임베디드 멀티 코어 프로세서의 캐쉬 메모리 리사이징 방법.
주기적 태스크를 담당하는 코어가 할당받는 레벨2 캐쉬 메모리의 용량 =
(고정적으로 할당할 전체 레벨2 캐쉬 메모리의 용량×c/(c+d))/a
(여기서, a는 주기적 태스크를 담당하는 코어의 개수이고, c는 주기적 태스크의 워킹 세트 크기의 합이고, d는 비주기적 태스크의 워킹 세트 크기의 합이다.)
The method according to claim 14,
The cache memory capacity adjusting step may include adjusting the capacity of the level 2 cache memory according to the following equation.
The amount of Level 2 cache memory allocated by the core responsible for the periodic task =
(Capacity of statically allocated level 2 cache memory x c / (c + d)) / a
(Where a is the number of cores responsible for the periodic task, c is the sum of the working set sizes of the periodic tasks, and d is the sum of the working set sizes of the non-periodic tasks.)
KR1020110010651A 2011-02-07 2011-02-07 Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor KR101232561B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110010651A KR101232561B1 (en) 2011-02-07 2011-02-07 Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110010651A KR101232561B1 (en) 2011-02-07 2011-02-07 Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor

Publications (2)

Publication Number Publication Date
KR20120090298A true KR20120090298A (en) 2012-08-17
KR101232561B1 KR101232561B1 (en) 2013-02-12

Family

ID=46883398

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110010651A KR101232561B1 (en) 2011-02-07 2011-02-07 Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor

Country Status (1)

Country Link
KR (1) KR101232561B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150067433A (en) * 2013-12-10 2015-06-18 삼성전자주식회사 Multi-core cpu system for adjusting l2 cache character, method thereof, and devices having the same
WO2015163506A1 (en) * 2014-04-25 2015-10-29 전자부품연구원 Task allocation system and method for operation of graphic processing unit
US9696771B2 (en) 2012-12-17 2017-07-04 Samsung Electronics Co., Ltd. Methods and systems for operating multi-core processors

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347930B (en) * 2018-09-27 2021-04-27 视联动力信息技术股份有限公司 Task processing method and device

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000155713A (en) * 1998-11-24 2000-06-06 Sony Corp Cache size controller
US6567840B1 (en) * 1999-05-14 2003-05-20 Honeywell Inc. Task scheduling and message passing
KR100834408B1 (en) * 2006-09-14 2008-06-04 한국전자통신연구원 The system and the method of task assignment in the distributed processing system
US20100058086A1 (en) * 2008-08-28 2010-03-04 Industry Academic Cooperation Foundation, Hallym University Energy-efficient multi-core processor

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9696771B2 (en) 2012-12-17 2017-07-04 Samsung Electronics Co., Ltd. Methods and systems for operating multi-core processors
KR20150067433A (en) * 2013-12-10 2015-06-18 삼성전자주식회사 Multi-core cpu system for adjusting l2 cache character, method thereof, and devices having the same
WO2015163506A1 (en) * 2014-04-25 2015-10-29 전자부품연구원 Task allocation system and method for operation of graphic processing unit

Also Published As

Publication number Publication date
KR101232561B1 (en) 2013-02-12

Similar Documents

Publication Publication Date Title
US9292068B2 (en) Controlling a turbo mode frequency of a processor
US10509677B2 (en) Granular quality of service for computing resources
US9823673B2 (en) Energy efficiency aware thermal management in a multi-processor system on a chip based on monitored processing component current draw
US8769316B2 (en) Dynamically allocating a power budget over multiple domains of a processor
US9342374B2 (en) Method of scheduling threads for execution on multiple processors within an information handling system
CN109074331B (en) Power reduced memory subsystem with system cache and local resource management
US9208113B2 (en) Deferred inter-processor interrupts
US20110161978A1 (en) Job allocation method and apparatus for a multi-core system
US20120297216A1 (en) Dynamically selecting active polling or timed waits
KR101232561B1 (en) Apparatus and method for scheduling task and resizing cache memory of embedded multicore processor
US11455387B2 (en) Worker thread scheduling in trusted execution environment
US20170212581A1 (en) Systems and methods for providing power efficiency via memory latency control
CN106484527A (en) The method of operation CPU and the method operating the system with CPU
US10296074B2 (en) Fine-grained power optimization for heterogeneous parallel constructs
JP4448163B2 (en) Device management method for computer systems and processes
CN110795323A (en) Load statistical method, device, storage medium and electronic equipment
CN116964558A (en) Activity smoothing circuit and associated method for controlling rate of change of local processing activity in Integrated Circuit (IC)
US20160239441A1 (en) Systems and methods for providing kernel scheduling of volatile memory maintenance events
US10180712B2 (en) Apparatus and method for limiting power in symmetric multiprocessing system
US11144318B2 (en) Method and apparatus for application thread prioritization
US20190391846A1 (en) Semiconductor integrated circuit, cpu allocation method, and program
EP3436956B1 (en) Power-reducing memory subsystem having a system cache and local resource management
KR101856750B1 (en) Apparatus, method and computer readable recording medium for performing load balancing considering characteristic of turbo mode
CN107368363A (en) A kind of cycle management method and device
WO2021081813A1 (en) Multi-core processor and scheduling method therefor, device, and storage medium

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
FPAY Annual fee payment

Payment date: 20160201

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee