WO2013032169A2 - 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서 - Google Patents

3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서 Download PDF

Info

Publication number
WO2013032169A2
WO2013032169A2 PCT/KR2012/006693 KR2012006693W WO2013032169A2 WO 2013032169 A2 WO2013032169 A2 WO 2013032169A2 KR 2012006693 W KR2012006693 W KR 2012006693W WO 2013032169 A2 WO2013032169 A2 WO 2013032169A2
Authority
WO
WIPO (PCT)
Prior art keywords
branch predictor
level
processor
temperature
core
Prior art date
Application number
PCT/KR2012/006693
Other languages
English (en)
French (fr)
Other versions
WO2013032169A3 (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 전남대학교산학협력단
Publication of WO2013032169A2 publication Critical patent/WO2013032169A2/ko
Publication of WO2013032169A3 publication Critical patent/WO2013032169A3/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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3844Speculative instruction execution using dynamic branch prediction, e.g. using branch history tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3842Speculative instruction execution
    • G06F9/3848Speculative instruction execution using hybrid branch prediction, e.g. selection between prediction techniques

Definitions

  • the present invention relates to a branch predictor arrangement method and a three-dimensional multicore processor of the three-dimensional multi-core processor, and more specifically, the branch predictor is classified by complexity and the branch predictor having a low complexity is arranged in a processor core having a high operating temperature.
  • the branch predictor placement method of the three-dimensional multicore processor and the three-dimensional multi-processor which can operate the branch predictor at a low temperature while minimizing the drop in accuracy of the branch predictor by placing a highly complex branch predictor in a processor core having a low operating temperature Relates to a core processor.
  • the performance of the processor may be improved by performing the branch prediction with high accuracy, but may cause problems in terms of temperature management.
  • 1 is a view showing the structure of a typical three-dimensional multicore processor.
  • a general three-dimensional multicore processor 10 includes a plurality of processor cores 11, 12, 13, and 14 stacked vertically with a die.
  • FIG. 2 also shows the processor unit arrangement of each processor core 11, 12, 13, 14, and the branch predictor is mounted in the 'Bpred' unit 11a.
  • the branch predictors of the 3D multicore processor 10 are arranged on a vertical line, the power density is increased so that when the high performance branch predictor with high complexity is mounted, the accuracy of branch prediction may be lowered due to a serious temperature increase. There is this.
  • the present inventors have studied the method of arranging the branch predictor of the three-dimensional multicore processor and the three-dimensional processor core that can greatly improve the performance by lowering the temperature of the three-dimensional multicore processor.
  • the branch predictor is differentially assigned to each processor core by complexity.
  • a technical configuration capable of performing branch prediction at low temperature has been completed.
  • an object of the present invention is to provide a branch predictor arrangement method and a three-dimensional processor core of a three-dimensional processor core that can perform the branch prediction at a low temperature to significantly improve the performance of the processor.
  • the present invention provides a method of arranging branch predictors of a three-dimensional multicore processor in which at least two processor cores are stacked to generate a plurality of branch predictor replacement levels by dividing branch predictors to be arranged by complexity.
  • the complexity is divided by the capacity of the branch predictor.
  • the branch predictor replacement table corresponds to a branch predictor replacement level having the lowest capacity at a section temperature having the highest temperature, and corresponds to a branch predictor replacement level in order of a section having the lowest temperature. To create it.
  • the branch predictor to be deployed is a combined branch predictor, and the branch predictor replacement level is five branch predictor replacement levels from the first level to the fifth level as shown in Table 1 below. Is generated.
  • the critical temperature is '90 °C '
  • the interval temperatures are the first interval temperature of more than' 100 °C '
  • the second interval temperature of more than '95 °C' and less than '100 °C' and '90 °C ' Divided into a third interval temperature less than '95 ° C.
  • the branch predictor placement table includes the first interval temperature and the fifth level, the second interval temperature and the fourth level, the third interval temperature, and the third interval temperature. Levels are created corresponding to each other.
  • the present invention is a three-dimensional quad-core processor fabricated by the method of arranging the branch predictor of the three-dimensional processor core, four processor cores stacked, the processor of the first layer (Layer) and the first layer of the processor cores A branch predictor of the fifth level is disposed in the core, the branch predictor of the fourth level is disposed in the processor core of the second layer, and the branch predictor of the first level is disposed in the processor core of the third layer. It further provides a three-dimensional quad-core processor.
  • the present invention is a three-dimensional quad-core processor fabricated by the branch predictor placement method of the three-dimensional processor core, four processor cores are stacked, the processor cores of the 0th layer and the first layer of the processor core A branch predictor of a fifth level is disposed, a branch predictor of the third level is disposed in a processor core of a second layer, and a branch predictor of the first level is disposed in a processor core of a third layer It also provides more dimensional quad-core processors.
  • the present invention is a three-dimensional quad-core processor fabricated by the branch predictor placement method of the three-dimensional processor core, four processor cores are stacked, the processor core of the 0th layer of the processor cores of the fifth level A branch predictor is disposed, a branch predictor of the fourth level is disposed in the processor core of the first layer, a branch predictor of the third level is disposed in the processor core of the second layer, and the processor core of the third layer is It further provides a three-dimensional quad-core processor, characterized in that the first level branch predictor is arranged.
  • the present invention also provides a three-dimensional multi-core processor manufactured by the branch predictor placement method of the three-dimensional multi-core processor.
  • the present invention has the following excellent effects.
  • a low complexity low branch predictor is arranged in a processor core having a high operating temperature and a processor core having a low operating temperature.
  • FIG. 1 is a view showing the structure of a typical three-dimensional multicore processor
  • FIG. 2 is a diagram illustrating an arrangement of processor units of a general processor core
  • FIG. 3 illustrates a branch predictor arrangement of a typical three-dimensional multicore processor
  • FIG. 4 is a flowchart of a method of arranging a 3D multicore processor according to an embodiment of the present invention
  • FIG. 5 is a diagram illustrating a three-dimensional quad-core processor manufactured by a method of arranging a three-dimensional multicore processor according to an embodiment of the present invention.
  • branch predictors 11a, 11b, 11c, and 11d disposed in each processor core of a general three-dimensional multi-core processor (10,3D quad-core processor) are arranged on the same vertical line. Branch predictor batch combination of branches.
  • the branch predictor batch combination includes a first batch combination (a) in which the same branch predictors having a first and first level of complexity are mounted on each processor core, and a branch of the processor core 11 of the second and zeroth layers.
  • the predictor 11a places a branch predictor having a second level of complexity, and the branch predictors 11b, 11c, and 11d of the processor cores 12, 13, and 14 of the first to third layers have a first level.
  • the general branch predictor batch combination does not differentially arrange the branch predictors according to the temperature, so the temperature is very high.
  • the second to fourth batch combinations (b, c, d) have branched predictors having the first and second levels of complexity, such arrangements do not prevent the temperature rise, and It can be seen as a batch for processing performance rather than a differential batch.
  • the conventional branch predictor batch combinations may have a high temperature of 90 degrees or more, thereby degrading the performance of the processor core.
  • the method of arranging branch predictors of a three-dimensional multicore processor may automatically replace the position of branch predictors by executing a function of a computer using a computer as a means.
  • the method of arranging branch predictors of a three-dimensional multicore processor first generates a plurality of branch predictor replacement levels, which are branch predictors to be replaced by classifying the branch predictors to be arranged by complexity. (S1000).
  • the complexity refers to the capacity of the branch predictor
  • the branch predictor replacement levels of five levels from the first level to the fifth level are as shown in Table 3 below. Can be generated.
  • the complexity of the branch predictor of the first level is the largest, and the complexity is the lowest in the order of the branch predictor of the fifth level.
  • the branch predictor replacement table is a table in which the operating temperature of the processor core is divided into constant temperature sections and the branch predictor replacement levels to be replaced in each section temperature correspond to each other.
  • the operating temperature may be the highest temperature of the processor core.
  • the section temperature is set to a first section temperature of '100 ° C.' or more, a second section temperature of '95 ° C. 'or more and less than' 100 ° C. 'and a third section temperature of '90 ° C. or more' or less than '95 ° C. '.
  • the branch predictor replacement table corresponds to the branch predictor replacement level of the fifth level having the lowest complexity and corresponds to the first interval temperature, and the branch predictor replacement level of the fourth level lower by one step to the second interval temperature.
  • the third interval temperature is generated by matching the branch predictor replacement level of the third level one step lower than the fourth level.
  • the lower section temperature corresponds to the branch predictor replacement level with higher capacity
  • the higher section temperature corresponds to the branch predictor replacement level with lower capacity
  • the critical temperature is set to '90 ° C 'and the section temperature is divided into three section temperatures as described above.
  • the 0th layer of the first batch combination a has a maximum temperature of '107.36 ° C' and a branch predictor having a first level of complexity so that the section corresponds to '107.36 ° C'.
  • the branch predictor of the first level determines that the complexity is greater than that of the replacement level.
  • the branch predictor complexity of the target processor core is greater than the complexity of the branch predictor replacement level corresponding to the operating temperature
  • the branch predictor is replaced with the branch predictor of the replacement level (S6000).
  • FIG. 5 illustrates a new batch combination (aa, bb, by replacing the branch predictors 11a, 11b, 11c, and 11d of the three-dimensional multicore processor shown in FIG. 3 using the branch predictor placement method according to an embodiment of the present invention.
  • the branch predictor arrangement of the three-dimensional multicore processor 100 having the branch predictors 111, 121, 131, 141 of cc, dd, ee).
  • the first batch combination a replaces the branch predictor of the 0th layer and the branch predictor of the first layer with a branch predictor of the fifth level, and the branch predictor of the second layer with a branch predictor of the fourth level. Is changed.
  • the second batch combination (b) is the same as the first batch combination (b), the branch predictor of the 0 layer and the branch predictor of the first layer are each replaced with a branch predictor of the fifth level, the second layer The branch predictor of is changed to replace the branch predictor of the fourth level.
  • first batch combination a and the second batch combination b are changed to substantially the same branch predictor batch combination.
  • the third batch combination c replaces the branch predictor of the 0th layer and the branch predictor of the first layer with a branch predictor of a fifth level, respectively, and the branch predictor of the second layer uses a branch predictor of a third level. It is changed by replacement.
  • the branch predictor of the 0th layer is replaced with the branch predictor of the fifth level
  • the branch predictor of the first layer is replaced with the branch predictor of the fourth level
  • the branch of the second layer The predictor is changed to replace the branch predictor of the third level.
  • the fifth batch combination (e) is replaced with the fourth predictor (d) by the branch predictor of the 0 th layer, and the branch predictor of the fifth layer is replaced by the branch predictor of the fifth layer.
  • the branch predictor is replaced with the branch predictor, and the branch predictor of the second layer is changed by replacing the branch predictor with the third level.
  • the third batch combination (d) and the fifth batch combination (e) have different batch combinations because the branch predictor levels of the third layer that are not replaced are different from each other.
  • the temperature management can be effectively performed by replacing the branch predictor of the layer with high heat generation with the branch predictor of low complexity, that is, the capacity of the 3D multicore processor can be greatly improved.
  • the branch predictor arrangement method and the three-dimensional multicore processor of the three-dimensional multicore processor of the present invention can be applied to any information communication device having a three-dimensional processor core in which a plurality of processor cores are stacked, such as a smartphone and a tablet PC. It is possible.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서에 관한 것으로, 보다 구체적으로는 분기예측기를 복잡도 별로 구분하여 높은 동작온도를 갖는 프로세서 코어에는 복잡도가 낮은 분기예측기를 배치하고, 낮은 동작온도를 갖는 프로세서 코어에는 복잡도가 높은 분기예측기를 배치함으로써 분기 예측기의 정확도 하락은 최소화하면서도 저 온도로 분기예측기를 동작하게 할 수 있는 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서에 관한 것이다.

Description

3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서
본 발명은 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서에 관한 것으로, 보다 구체적으로는 분기예측기를 복잡도 별로 구분하여 높은 동작온도를 갖는 프로세서 코어에는 복잡도가 낮은 분기예측기를 배치하고, 낮은 동작온도를 갖는 프로세서 코어에는 복잡도가 높은 분기예측기를 배치함으로써 분기 예측기의 정확도 하락은 최소화하면서도 저 온도로 분기예측기를 동작하게 할 수 있는 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서에 관한 것이다.
최근 고성능의 프로세서들은 명령어 수준의 병렬성을 최대한 높이기 위해 분기예측을 통한 추론적 수행(Speculative execution) 기법으로 명령어를 인출한다.
여기서 추론적 수행 기법의 효율성을 결정하는 가장 중요한 핵심 요소 중 하나는 분기 예측기의 정확도이다.
분기 예측기의 정확도가 높을수록 최소한의 분기예측 실패를 통해 높은 명령어 병렬성을 유지할 수 있으므로 프로세서의 성능 향상을 보장할 수 있고, 추가적인 전력 낭비를 방지할 수 있으므로 효율적인 제어를 수행할 수 있다.
한편, 분기예측기의 구조는 복잡해 질수록 높은 정확도의 분기예측을 수행하여 프로세서의 성능을 향상시킬 수 있으나 온도 관리 측면에 있어서는 문제점을 발생시킬 수 있다.
도 1은 일반적인 3차원 멀티코어 프로세서의 구조를 보여주는 도면이다.
도 1을 참조하면 일반적인 3차원 멀티코어 프로세서(10)는 복수 개의 프로세서 코어(11,12,13,14)가 수직으로 다이(die)로 적층되어 구성된다.
또한, 도 2는 각 프로세서 코어(11,12,13,14)의 프로세서 유닛 배치를 보여주는 것으로 분기 예측기는 'Bpred' 유닛(11a)에 탑재된다.
즉, 3차원 멀티코어 프로세서(10)의 분기 예측기들은 수직선상에 배치되므로 전력밀도가 매우 증가하여 복잡도가 높은 고성능의 분기 예측기가 탑재될 경우 심각한 온도 상승으로 오히려 분기예측의 정확도가 낮아질 수 있는 문제점이 있다.
본 발명자들은 3차원 멀티코어 프로세서의 온도를 낮춰 성능을 크게 향상시킬 수 있는 3차원 멀티코어 프로세서의 분기 예측기 배치방법 및 3차원 프로세서 코어를 연구 노력한 결과, 분기 예측기를 복잡도 별로 각 프로세서 코어에 차등배치 함으로써 저 온도로 분기 예측을 수행할 수 있는 기술적 구성을 개발하게 되어 본 발명을 완성하게 되었다.
따라서, 본 발명의 목적은 저 온도로 분기 예측을 수행하여 프로세서의 성능을 매우 향상시킬 수 있는 3차원 프로세서 코어의 분기 예측기 배치방법 및 3차원 프로세서 코어를 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 목적을 달성하기 위하여 본 발명은 적어도 두 개의 프로세서 코어가 적층되어 구성되는 3차원 멀티코어 프로세서의 분기 예측기 배치방법으로써, 배치할 분기 예측기를 복잡도 별로 구분하여, 복수 개의 분기 예측기 교체레벨을 생성하는 단계; 상기 프로세서 코어들의 분기 예측기 온도를 구간별로 구분하고, 각 구간 온도와 일정한 분기 예측기 교체레벨을 서로 대응시킨 분기 예측기 교체테이블을 생성하는 단계; 상기 각 프로세서 코어에 구비된 분기 예측기의 동작온도를 측정하는 단계; 및 동작온도가 임계온도 이상인 대상 프로세서 코어가 있을 경우, 상기 동작온도에 해당하는 분기 예측기 교체레벨을 검색하고, 검색된 분기 예측기 교체레벨의 복잡도가 상기 대상 프로세서 코어의 분기 예측기 레벨의 복잡도보다 낮을 경우, 상기 대상 프로세서 코어의 분기 예측기를 확인된 분기 예측기 교체레벨의 분기 예측기로 교체하여 배치하는 단계;를 포함하는 것을 특징으로 하는 3차원 멀티코어 프로세서의 분기 예측기 배치방법을 제공한다.
바람직한 실시예에 있어서, 상기 복잡도는 분기 예측기의 용량으로 구분된다.
바람직한 실시예에 있어서, 상기 분기 예측기 교체테이블은 온도가 가장 높은 구간 온도에 용량이 가장 적은 분기 예측기 교체레벨을 서로 대응시키고, 온도가 낮은 구간 온도 순으로 용량이 큰 순의 분기 예측기 교체레벨을 대응시켜 생성한다.
바람직한 실시예에 있어서, 상기 배치할 분기 예측기는 컴바인드 분기 예측기(Combined Branch Predictor)이고, 상기 분기 예측기 교체레벨은 아래의 표1과 같이 제1 레벨에서 제5 레벨까지의 다섯 개의 분기 예측기 교체레벨로 생성된다.
표 1
레벨 Bimodal Gshare Selector
제1레벨 4096Byte 4096Byte 4096Byte
제2레벨 2048Byte 2048Byte 2048Byte
제3레벨 1024Byte 1024Byte 1024Byte
제4레벨 512Byte 512Byte 512Byte
제5레벨 256Byte 256Byte 256Byte
바람직한 실시예에 있어서, 상기 임계 온도는 '90℃'이며, 상기 구간 온도들은 '100℃'이상인 제1 구간 온도, '95℃'이상 '100℃' 미만인 제2 구간 온도 및 '90℃'이상 '95℃' 미만인 제3 구간 온도로 구분되고, 상기 분기 예측기 배치 테이블은 상기 제1 구간 온도와 상기 제5 레벨, 상기 제2 구간 온도와 상기 제4 레벨, 상기 제3 구간 온도와 상기 제3 레벨이 각각 대응되어 생성된다.
또한, 본 발명은 상기 3차원 프로세서 코어의 분기 예측기 배치 방법으로 제작되고, 네 개의 프로세서 코어가 적층된 3차원 쿼드코어 프로세서로써, 상기 프로세서 코어들 중 제0 레이어(Layer)와 제1 레이어의 프로세서 코어에는 상기 제5 레벨의 분기 예측기가 배치되고, 제2 레이어의 프로세서 코어에는 상기 제4 레벨의 분기 예측기가 배치되고, 제3 레이어의 프로세서 코어에는 상기 제1 레벨의 분기 예측기가 배치된 것을 특징으로 하는 3차원 쿼드코어 프로세서를 더 제공한다.
또한, 본 발명은 상기 3차원 프로세서 코어의 분기 예측기 배치 방법으로 제작되고, 네 개의 프로세서 코어가 적층된 3차원 쿼드코어 프로세서로써, 상기 프로세서 코어들 중 제0 레이어와 제1 레이어의 프로세서 코어에는 상기 제5 레벨의 분기 예측기가 배치되고, 제2 레이어의 프로세서 코어에는 상기 제3 레벨의 분기 예측기가 배치되고, 제3 레이어의 프로세서 코어에는 상기 제1 레벨의 분기 예측기가 배치된 것을 특징으로 하는 3차원 쿼드코어 프로세서를 더 제공한다.
또한, 본 발명은 상기 3차원 프로세서 코어의 분기 예측기 배치 방법으로 제작되고, 네 개의 프로세서 코어가 적층된 3차원 쿼드코어 프로세서로써, 상기 프로세서 코어들 중 제0 레이어의 프로세서 코어에는 상기 제5 레벨의 분기 예측기가 배치되고, 제1 레이어의 프로세서 코어에는 상기 제4 레벨의 분기 예측기가 배치되고, 제2 레이어의 프로세서 코어에는 상기 제3 레벨의 분기 예측기가 배치되고, 제3 레이어의 프로세서 코어에는 상기 제1 레벨의 분기 예측기가 배치되는 것을 특징으로 하는 3차원 쿼드코어 프로세서를 더 제공한다.
또한, 본 발명은 상기 3차원 멀티코어 프로세서의 분기 예측기 배치 방법으로 제작된 3차원 멀티코어 프로세서를 더 제공한다.
본 발명은 다음과 같은 우수한 효과를 가진다.
먼저, 본 발명의 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서에 의하면 높은 동작온도를 갖는 프로세서 코어에는 발열량이 적은 복잡도가 낮은 분기예측기를 배치하고 낮은 동작온도를 갖는 프로세서 코어에는 발열량이 큰 복잡도가 높은 분기예측기를 배치하여 저온도로 동작하게 함으로써 분기예측의 정확도를 향상시키고 프로세서의 성능을 높일 수 있다.
도 1은 일반적인 3차원 멀티코어 프로세서의 구조를 보여주는 도면,
도 2는 일반적인 프로세서 코어의 프로세서 유닛의 배치를 보여주는 도면,
도 3은 일반적인 3차원 멀티코어 프로세서의 분기 예측기 배치를 보여주는 도면,
도 4는 본 발명의 일 실시예에 따른 3차원 멀티코어 프로세서의 배치방법의 흐름도,
도 5는 본 발명의 일 실시예에 따른 3차원 멀티코어 프로세서의 배치방법으로 제작된 3차원 쿼드코어 프로세서를 보여주는 도면이다.
<부호의 설명>
100:3차원 멀티코어 프로세서(3차원 쿼드코어 프로세서)
110,120,130,140:프로세서 코어
111,121,131,141:분기 예측기
본 발명에서 사용되는 용어는 가능한 현재 널리 사용되는 일반적인 용어를 선택하였으나, 특정한 경우는 출원인이 임의로 선정한 용어도 있는데 이 경우에는 단순한 용어의 명칭이 아닌 발명의 상세한 설명 부분에 기재되거나 사용된 의미를 고려하여 그 의미가 파악되어야 할 것이다.
이하, 첨부한 도면에 도시된 바람직한 실시예들을 참조하여 본 발명의 기술적 구성을 상세하게 설명한다.
그러나, 본 발명은 여기서 설명되는 실시예에 한정되지 않고 다른 형태로 구체화 될 수도 있다. 명세서 전체에 걸쳐 동일한 참조번호는 동일한 구성요소를 나타낸다.
도 3을 참조하면, 일반적인 3차원 멀티 코어 프로세서(10,3차원 쿼드코어 프로세서)의 각 프로세서 코어에 배치되는 분기 예측기들(11a,11b,11c,11d)은 서로 동일한 수직선상에 배치되고, 다섯 가지의 분기 예측기 배치조합으로 이루어진다.
또한, 상기 분기 예측기 배치조합은 첫 번째, 제1 레벨의 복잡도를 갖는 동일한 분기 예측기들이 각 프로세서 코어에 탑재되는 제1 배치조합(a), 두 번째, 제0 레이어의 프로세서 코어(11)의 분기 예측기(11a)는 제2 레벨의 복잡도를 갖는 분기 예측기를 배치하고, 제1 내지 제3 레이어의 프로세서 코어들(12,13,14)의 분기 예측기들(11b,11c,11d)은 제1 레벨의 복잡도를 갖는 분기 예측기를 배치한 제2 배치조합(b), 세 번째, 제0 및 제1 레이어의 프로세서 코어(11,12)에는 제2 레벨의 복잡도를 갖는 분기 예측기를 배치하고, 제2 및 제3 레이어의 프로세서 코어(13,14)에는 제1 레벨의 복잡도를 갖는 분기 예측기를 배치한 제3 배치조합(c), 네 번째, 제0 내지 제2 레이어의 프로세서 코어(11,12,13)에는 제2 레벨의 복잡도를 갖는 분기 예측기를 배치하고, 제3 레이어의 프로세서 코어(14)에는 제1 레벨의 복잡도를 갖는 분기 예측기를 배치한 제4 배치조합(d), 다섯 번째, 모든 레이어의 프로세서 코어(11,12,13,14)에 제2 레벨의 분기 예측기를 배치한 제5 배치조합(e)으로 이루어진다.
즉, 일반적인 분기 예측기 배치조합은 온도에 따라 분기 예측기를 차등배치하는 것이 아니므로 온도가 매우 상승하는 문제점이 있는 것이다.
또한, 제2 내지 제4의 배치조합(b,c,d)가 제1 및 제2 레벨의 복잡도를 갖는 분기 예측기가 차등배치되어 있기는 하나 이러한 배치로 온도 상승을 막을 수 없으며 온도관리를 위한 차등배치라기보다 처리 성능을 위한 배치로 볼 수 있다.
또한, 종래의 분기 예측기 배치조합들에 의한 프로세서 코어의 최고 온도는 아래의 표 2와 같다.
표 2
온도(℃) 제1배치조합(a) 제2배치조합(b) 제3배치조합(c) 제4배치조합(d) 제5배치조합(e)
제0 레이어 107.36 105.12 103.79 103.01 102.66
제1 레이어 103.68 102.35 100.66 99.72 99.3
제2 레이어 96.08 95.3 94.36 92.99 92.4
제3 레이어 83.9 83.51 83.05 82.43 81.46
상기 표 2에서도 알 수 있듯이 종래의 분기 예측기 배치조합들에서는 90도 이상의 고온이 발생하여 프로세서 코어의 성능을 하락시킬 수 있는 가능성이 있는 것이다.
이하에서는 본 발명의 일 실시예에 따른 3차원 멀티코어 프로세서의 분기 예측기 배치방법에 대해 상세히 설명하기로 한다.
또한, 본 발명의 일 실시예에 따른 3차원 멀티코어 프로세서의 분기 예측기 배치방법은 프로그램이 컴퓨터를 수단으로 기능시켜 각 단계를 수행함으로써 자동으로 분기 예측기의 배치를 교체할 수 있다.
그러나 사용자가 각 단계를 수작업으로 수행하여 분기 예측기의 배치를 교체할 수 있음은 물론이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 3차원 멀티코어 프로세서의 분기 예측기 배치방법은 먼저, 배치할 분기 예측기를 복잡도 별로 구분하여, 교체할 분기 예측기인 복수 개의 분기 예측기 교체레벨을 생성한다(S1000).
여기서 복잡도는 분기 예측기의 용량을 의미하며, 배치할 분기 예측기가 컴바인드 분기 예측기(Combined Branch Predictor)일 경우 아래의 표 3와 같이 제1 레벨에서 제5 레벨까지의 다섯 개의 레벨의 분기 예측기 교체레벨을 생성할 수 있다.
표 3
레벨 Bimodal Gshare Selector
제1 레벨 4096Byte 4096Byte 4096Byte
제2 레벨 2048Byte 2048Byte 2048Byte
제3 레벨 1024Byte 1024Byte 1024Byte
제4 레벨 512Byte 512Byte 512Byte
제5 레벨 256Byte 256Byte 256Byte
즉, 제1 레벨의 분기 예측기의 복잡도가 가장 크고, 제5 레벨의 분기 예측기 순으로 복잡도가 적다.
다음, 분기 예측기 교체테이블을 생성한다(S2000).
상기 분기 예측기 교체테이블은 프로세서 코어의 동작온도를 일정한 온도 구간으로 구분하고 각 구간 온도에 교체하고자하는 분기 예측기 교체레벨을 서로 대응시킨 테이블이다.
그러나, 상기 동작온도는 프로세서 코어의 최고 온도일 수 있다.
본 발명의 실시예에서는 상기 구간 온도를 '100℃'이상인 제1 구간 온도, '95℃'이상 '100℃' 미만인 제2 구간 온도 및 '90℃'이상 '95℃' 미만인 제3 구간 온도로 구분하였고, 상기 분기 예측기 교체테이블은 상기 제1 구간 온도에 복잡도가 가장 낮은 제5 레벨의 분기 예측기 교체레벨을 대응시키고, 상기 제2 구간 온도에는 한 단계 낮은 제4 레벨의 분기 예측기 교체 레벨을 대응시키고, 상기 제3 구간 온도에는 제4 레벨보다 한 단계 낮은 제3 레벨의 분기 예측기 교체 레벨을 대응시켜 생성하였다.
즉, 온도가 낮은 구간 온도일수록 용량이 큰 분기 예측기 교체레벨을 대응시키고 온도가 높은 구간 온도일수록 용량이 적은 분기 예측기 교체레벨을 대응시키는 것이다.
다음, 상기 각 프로세서 코어(11,12,13,14)의 동작온도가 임계온도 이상인지 판단한다(S4000).
본 발명에서는 임계온도를 '90℃'로 설정하였으며 구간 온도는 앞서 설명하였듯이 세 개의 구간 온도로 구분하였다.
다음, 상기 프로세서 코어들(11,12,13,14) 중 동작온도가 임계온도 이상인 대상 프로세서 코어가 존재할 경우, 대상 프로세서 코어의 분기 예측기 복잡도가 동작온도에 대응하는 분기 예측기 교체 레벨의 복잡도보다 큰지 확인한다(S5000).
예를 들어, 상기 표 2에서 제1배치조합(a)의 제0 레이어는 최고온도가 '107.36℃'이고, 제1 레벨의 복잡도를 갖는 분기 예측기가 탑재되어 있으므로 '107.36℃'에 해당하는 구간 온도인 제1 구간온도에 대응된 제5 레벨과 비교하여 제1 레벨의 분기 예측기는 교체 레벨의 분기 예측기보다 복잡도가 큰 것으로 판단한다.
다음, 상기 대상 프로세서 코어의 분기 예측기 복잡도가 동작온도에 대응하는 분기 예측기 교체 레벨의 복잡도보다 큰 경우 분기 예측기를 교체 레벨의 분기 예측기로 교체한다(S6000).
도 5는 본 발명의 일 실시예에 따른 분기 예측기 배치 방법을 이용하여 도 3에서 보인 3차원 멀티코어 프로세서의 분기 예측기(11a,11b,11c,11d)를 교체함으로써 새로운 배치조합(aa,bb,cc,dd,ee)의 분기 예측기(111,121,131,141,)를 갖는 3차원 멀티코어 프로세서(100)의 분기 예측기 배치조합을 보여주는 것이다.
상기 제1 배치조합(a)은 제0 레이어의 분기 예측기와 제1 레이어의 분기 예측기는 각각 제5 레벨의 분기예측기로 교체하고, 제2 레이어의 분기 예측기는 제4 레벨의 분기 예측기로 교체하여 변경된다.
또한, 상기 제2 배치조합(b)은 상기 제1 배치조합(b)과 동일하게 제0 레이어의 분기 예측기와 제1 레이어의 분기 예측기는 각각 제5 레벨의 분기예측기로 교체하고, 제2 레이어의 분기 예측기는 제4 레벨의 분기 예측기로 교체하여 변경된다.
즉, 상기 제1 배치조합(a)과 상기 제2 배치조합(b)은 실질적으로 동일한 분기 예측기 배치조합으로 변경된다.
또한, 상기 제3 배치조합(c)은 제0 레이어의 분기 예측기와 제1 레이어의 분기 예측기는 각각 제5 레벨의 분기예측기로 교체하고, 제2 레이어의 분기 예측기는 제3 레벨의 분기 예측기로 교체하여 변경된다.
또한, 상기 제4 배치조합(d)은 제0 레이어의 분기 예측기는 제5 레벨의 분기예측기로 교체되고, 제1 레이어의 분기 예측기는 제4 레벨의 분기 예측기로 교체되며, 제2 레이어의 분기예측기는 제3 레벨의 분기 예측기로 교체하여 변경된다.
또한, 상기 제5 배치조합(e)은 상기 제4 배치조합(d)과 동일하게 제0 레이어의 분기 예측기는 제5 레벨의 분기예측기로 교체되고, 제1 레이어의 분기 예측기는 제4 레벨의 분기 예측기로 교체되며, 제2 레이어의 분기예측기는 제3 레벨의 분기 예측기로 교체하여 변경된다.
그러나 상기 제3 배치조합(d)과 상기 제5 배치조합(e)은 교체되지 않은 제3 레이어의 분기 예측기 레벨이 서로 상이하므로 서로 다른 배치조합을 갖는다.
따라서, 발열이 심한 레이어의 분기예측기를 복잡도 즉, 용량이 적은 분기 예측기로 교체함으로써 온도관리를 효과적으로 수행할 수 있어 3차원 멀티코어 프로세서의 성능을 매우 향상시킬 수 있다.
이상에서 살펴본 바와 같이 본 발명은 바람직한 실시예를 들어 도시하고 설명하였으나, 상기한 실시예에 한정되지 아니하며 본 발명의 정신을 벗어나지 않는 범위 내에서 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변경과 수정이 가능할 것이다.
본 발명의 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서는 컴퓨터뿐만 아니라 스마트폰, 테블릿 PC와 같이 복수 개의 프로세서 코어가 적층되는 3차원 프로세서 코어를 갖는 정보통신기기라면 적용이 가능하다.

Claims (9)

  1. 적어도 두 개의 프로세서 코어가 적층되어 구성되는 3차원 멀티코어 프로세서의 분기 예측기 배치방법으로써,
    배치할 분기 예측기를 복잡도 별로 구분하여, 복수 개의 분기 예측기 교체레벨을 생성하는 단계;
    상기 프로세서 코어들의 분기 예측기 온도를 구간별로 구분하고, 각 구간 온도와 일정한 분기 예측기 교체레벨을 서로 대응시킨 분기 예측기 교체테이블을 생성하는 단계;
    상기 각 프로세서 코어에 구비된 분기 예측기의 동작온도를 측정하는 단계; 및
    동작온도가 임계온도 이상인 대상 프로세서 코어가 있을 경우, 상기 동작온도에 해당하는 분기 예측기 교체레벨을 검색하고,
    검색된 분기 예측기 교체레벨의 복잡도가 상기 대상 프로세서 코어의 분기 예측기 레벨의 복잡도보다 낮을 경우,
    상기 대상 프로세서 코어의 분기 예측기를 확인된 분기 예측기 교체레벨의 분기 예측기로 교체하여 배치하는 단계;를 포함하는 것을 특징으로 하는 3차원 멀티코어 프로세서의 분기 예측기 배치방법.
  2. 제 1 항에 있어서,
    상기 복잡도는 분기 예측기의 용량인 것을 특징으로 하는 3차원 멀티코어 프로세서의 분기 예측기 배치방법.
  3. 제 2 항에 있어서,
    상기 분기 예측기 교체테이블은 온도가 가장 높은 구간 온도에 용량이 가장 적은 분기 예측기 교체레벨을 서로 대응시키고, 온도가 높은 구간 온도에서 낮은 구간 온도 순으로 용량이 큰 순의 분기 예측기 교체레벨을 대응시켜 생성하는 것을 특징으로 하는 3차원 멀티코어 프로세서의 분기 예측기 배치방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 배치할 분기 예측기는 바이모달(Bimodal) 예측기, 지쉐어(Gshare) 예측기 및 선택기(Selector)로 구성되는 컴바인드 분기 예측기(Combined Branch Predictor)이고,
    상기 분기 예측기 교체레벨은 상기 컴바인드 분기 예측기의 각 구성요소가 4096[Byte]의 용량을 갖는 제1레벨, 2048[Byte]의 용량을 갖는 제2 레벨, 1024[Byte]의 용량을 갖는 제3 레벨, 512[Byte]의 용량을 갖는 제4 레벨, 256[Byte]의 용량을 갖는 제5 레벨의 다섯 개의 분기 예측기 교체레벨로 생성되는 것을 특징으로 하는 3차원 멀티코어 프로세서의 분기 예측기 배치방법.
  5. 제 4 항에 있어서,
    상기 임계 온도는 '90℃'이며, 상기 구간 온도들은 '100℃'이상인 제1 구간 온도, '95℃'이상 '100℃' 미만인 제2 구간 온도 및 '90℃'이상 '95℃' 미만인 제3 구간 온도로 구분되고,
    상기 분기 예측기 배치 테이블은 상기 제1 구간 온도와 상기 제5 레벨, 상기 제2 구간 온도와 상기 제4 레벨, 상기 제3 구간 온도와 상기 제3 레벨이 각각 대응되어 생성되는 것을 특징으로 하는 3차원 멀티코어 프로세서의 분기 예측기 배치방법.
  6. 제 4 항의 3차원 프로세서 코어의 분기 예측기 배치 방법으로 제작되고, 네 개의 프로세서 코어가 적층된 3차원 쿼드코어 프로세서로써,
    상기 프로세서 코어들 중 제0 레이어와 제1 레이어의 프로세서 코어에는 상기 제5 레벨의 분기 예측기가 배치되고, 제2 레이어의 프로세서 코어에는 상기 제4 레벨의 분기 예측기가 배치되고, 제3 레이어의 프로세서 코어에는 상기 제1 레벨의 분기 예측기가 배치된 것을 특징으로 하는 3차원 쿼드코어 프로세서.
  7. 제 4 항의 3차원 프로세서 코어의 분기 예측기 배치 방법으로 제작되고, 네 개의 프로세서 코어가 적층된 3차원 쿼드코어 프로세서로써,
    상기 프로세서 코어들 중 제0 레이어와 제1 레이어의 프로세서 코어에는 상기 제5 레벨의 분기 예측기가 배치되고, 제2 레이어의 프로세서 코어에는 상기 제3 레벨의 분기 예측기가 배치되고, 제3 레이어의 프로세서 코어에는 상기 제1 레벨의 분기 예측기가 배치된 것을 특징으로 하는 3차원 쿼드코어 프로세서.
  8. 제 4 항의 3차원 프로세서 코어의 분기 예측기 배치 방법으로 제작되고, 네 개의 프로세서 코어가 적층된 3차원 쿼드코어 프로세서로써,
    상기 프로세서 코어들 중 제0 레이어의 프로세서 코어에는 상기 제5 레벨의 분기 예측기가 배치되고, 제1 레이어의 프로세서 코어에는 상기 제4 레벨의 분기 예측기가 배치되고, 제2 레이어의 프로세서 코어에는 상기 제3 레벨의 분기 예측기가 배치되고, 제3 레이어의 프로세서 코어에는 상기 제1 레벨의 분기 예측기가 배치되는 것을 특징으로 하는 3차원 쿼드코어 프로세서.
  9. 제 5 항의 3차원 멀티코어 프로세서의 분기 예측기 배치방법으로 제작된 3차원 멀티코어 프로세서.
PCT/KR2012/006693 2011-08-31 2012-08-23 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서 WO2013032169A2 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0087625 2011-08-31
KR1020110087625A KR101294629B1 (ko) 2011-08-31 2011-08-31 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서

Publications (2)

Publication Number Publication Date
WO2013032169A2 true WO2013032169A2 (ko) 2013-03-07
WO2013032169A3 WO2013032169A3 (ko) 2013-04-25

Family

ID=47757021

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/006693 WO2013032169A2 (ko) 2011-08-31 2012-08-23 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서

Country Status (2)

Country Link
KR (1) KR101294629B1 (ko)
WO (1) WO2013032169A2 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080054409A (ko) * 2005-10-26 2008-06-17 인텔 코오퍼레이션 변화를 탐지하는 클러스터 아키텍처
US20100146249A1 (en) * 2008-12-05 2010-06-10 Intellectual Ventures Management, Llc Control-Flow Prediction Using Multiple Independent Predictors
KR20110075638A (ko) * 2009-12-28 2011-07-06 전남대학교산학협력단 저 전력 트레이스 캐쉬 및 명령어 세트 예측기를 구비한 프로세서 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080054409A (ko) * 2005-10-26 2008-06-17 인텔 코오퍼레이션 변화를 탐지하는 클러스터 아키텍처
US20100146249A1 (en) * 2008-12-05 2010-06-10 Intellectual Ventures Management, Llc Control-Flow Prediction Using Multiple Independent Predictors
KR20110075638A (ko) * 2009-12-28 2011-07-06 전남대학교산학협력단 저 전력 트레이스 캐쉬 및 명령어 세트 예측기를 구비한 프로세서 시스템

Also Published As

Publication number Publication date
KR20130024279A (ko) 2013-03-08
WO2013032169A3 (ko) 2013-04-25
KR101294629B1 (ko) 2013-08-08

Similar Documents

Publication Publication Date Title
WO2015194897A1 (ko) 방열 장치
US20040017655A1 (en) Method and rack for exchanging air with modular bricks in a computer system
WO2013187650A1 (ko) 터치 패널
WO2011043611A2 (en) Plate member for touch panel and method of manufacturing the same
WO2013137561A1 (ko) 단일 적층 구조를 갖는 개량된 접촉 위치 감지 패널
WO2011046389A2 (en) Touch panel and manufacturing method thereof
WO2014088266A1 (ko) 전원공급선이 설치된 측면플레이트가 구비된 컴퓨터 케이스
WO2012067444A2 (ko) 산화막이 형성된 도전성 필름 및 그 제조방법
WO2013032169A2 (ko) 3차원 멀티코어 프로세서의 분기예측기 배치방법 및 3차원 멀티코어 프로세서
WO2024117496A1 (ko) 전기추진선박으로 개조하기 위한 공간 최적화 설계 시스템
WO2013165188A1 (ko) 컴퓨팅 장치에서 수행되는 자원 모니터링 방법 및 컴퓨팅 장치
CN110888564B (zh) 触控单元、触控电极组、触控显示面板和装置
WO2015102352A1 (en) Memory management method and apparatus
WO2016155031A1 (zh) 触控面板及触控显示屏
WO2023167391A1 (ko) 노멀 맵을 하이트 맵으로 변환하는 전자 장치의 제어 방법
WO2015064827A1 (ko) 정전식 터치 패널을 통해 인식 가능한 터치 태그, 그 정보 인식 방법 및 이를 이용한 정보 제공 방법
WO2014051210A1 (ko) 전도체 패턴, 터치패널 모듈, 및 전자장치
WO2015023106A1 (en) Apparatus and method for processing image
WO2012030085A1 (en) Backlight unit and method for manufacturing the same
WO2015099390A1 (ko) 네트워크 맵을 이용한 빌딩 제어 방법 및 그 시스템
WO2015143939A1 (zh) 一种坐标系生成方法
WO2015080531A1 (en) Method and apparatus for controlling reconfigurable processor
CN1700141A (zh) 集成式多单机系统
WO2015186960A1 (en) Power connector device
WO2023243809A1 (ko) 전자 장치에서 메모리 운용 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12828660

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12828660

Country of ref document: EP

Kind code of ref document: A2