KR102157326B1 - Computing apparutus, method for scaling memory bandwidth thereof and memory bandwidth scaler - Google Patents
Computing apparutus, method for scaling memory bandwidth thereof and memory bandwidth scaler Download PDFInfo
- Publication number
- KR102157326B1 KR102157326B1 KR1020130134908A KR20130134908A KR102157326B1 KR 102157326 B1 KR102157326 B1 KR 102157326B1 KR 1020130134908 A KR1020130134908 A KR 1020130134908A KR 20130134908 A KR20130134908 A KR 20130134908A KR 102157326 B1 KR102157326 B1 KR 102157326B1
- Authority
- KR
- South Korea
- Prior art keywords
- bandwidth
- input
- dynamic situation
- processor
- output terminals
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
프로세서의 동적인 상황에 따라 외부 메모리에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리의 대역폭을 동적으로 조정하는 방법에 관련된다. 일 양상에 따른 메모리 대역폭 조정 방법은, 프로세서의 동적 상황을 나타내는 동적상황정보를 수집하는 단계 및 동적상황정보에 기초하여 프로세서의 상기 동적 상황을 판단하고, 동적 상황에 따라 다수의 입출력 단자의 적어도 일부를 입출력 단자마다 활성화 또는 비활성화시킴으로써 다수의 입출력 단자를 통한 대역폭을 동적으로 조정하는 단계를 포함한다. It relates to a method of dynamically adjusting a bandwidth of an external memory by activating or deactivating each of a plurality of input/output terminals provided in an external memory according to a dynamic situation of a processor. A method for adjusting a memory bandwidth according to an aspect includes the steps of collecting dynamic situation information indicating a dynamic situation of a processor, and determining the dynamic situation of the processor based on the dynamic situation information, and at least part of a plurality of input/output terminals according to the dynamic situation. And dynamically adjusting the bandwidth through the plurality of input/output terminals by activating or deactivating for each input/output terminal.
Description
컴퓨팅 장치, 컴퓨팅 장치의 메모리 대역폭 조정 방법 및 메모리 대역폭 조정기에 관련된다. 보다 상세하게는, 프로세서의 동적인 상황에 따라 외부 메모리(off-chip)에 구비된 다수의 입출력(I/O) 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리의 대역폭을 동적으로 조정하는 컴퓨팅 장치, 컴퓨팅 장치의 메모리 대역폭 조정 방법 및 메모리 대역폭 조정기에 관련된다.A computing device, a method of adjusting a memory bandwidth of a computing device, and a memory bandwidth adjuster. More specifically, a computing device that dynamically adjusts the bandwidth of an external memory by activating or deactivating each of a plurality of input/output (I/O) terminals provided in an external memory (off-chip) according to the dynamic situation of the processor, computing It relates to a method of adjusting a memory bandwidth of a device and a memory bandwidth adjuster.
컴퓨팅 장치에서 영상 처리, 음성 처리 및 3차원(3D) 그래픽스와 같은 대량의 데이터 처리가 필요한 응용 프로그램을 실행하기 위해서는, 프로세서와 더불어 외부 메모리가 필요하다. 이러한 컴퓨팅 장치가 사용하는 외부 메모리의 대역폭의 증가는 메모리 입출력 전력의 증가를 가져오므로, 컴퓨팅 장치의 소모 전력을 증가시킨다. In order to execute an application program requiring a large amount of data processing such as image processing, audio processing, and 3D graphics in a computing device, an external memory is required in addition to a processor. The increase in the bandwidth of the external memory used by the computing device increases the input/output power of the memory, thereby increasing the power consumption of the computing device.
프로세서의 동적인 상황에 따라 외부 메모리에 구비된 다수의 입출력단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리의 대역폭을 동적으로 조정하는 컴퓨팅 장치, 컴퓨팅 장치의 메모리 대역폭 조정 방법 및 메모리 대역폭 조정기를 제공하는 것을 목적으로 한다.An object of the present invention is to provide a computing device that dynamically adjusts the bandwidth of an external memory by activating or deactivating a plurality of input/output terminals provided in the external memory according to the dynamic situation of the processor, a memory bandwidth adjustment method of the computing device, and a memory bandwidth adjuster. To do.
일 측면에 따른 메모리 대역폭 조정 방법은, 프로세서의 동적 상황을 나타내는 동적상황정보를 수집하는 단계; 및 상기 동적상황정보에 기초하여 상기 프로세서의 상기 동적 상황을 판단하고, 상기 동적 상황에 따라 상기 다수의 입출력 단자의 적어도 일부를 입출력 단자마다 활성화 또는 비활성화시킴으로써 상기 다수의 입출력 단자를 통한 대역폭을 동적으로 조정하는 단계;를 포함한다. A method for adjusting a memory bandwidth according to an aspect includes the steps of: collecting dynamic situation information indicating a dynamic situation of a processor; And determining the dynamic situation of the processor based on the dynamic situation information, and activating or deactivating at least a part of the plurality of input/output terminals for each input/output terminal according to the dynamic situation, thereby dynamically adjusting the bandwidth through the plurality of input/output terminals. It includes; adjusting step.
다른 측면에 따른 메모리 대역폭 조정기는, 프로세서의 동적 상황을 나타내는 동적상황정보 수집부; 및 상기 동적상황정보에 기초하여 상기 프로세서의 상기 동적 상황을 판단하고, 상기 동적 상황에 따라 상기 다수의 입출력 단자의 적어도 일부를 입출력 단자마다 활성화 또는 비활성화시킴으로써 상기 다수의 입출력 단자를 통한 대역폭을 동적으로 조정하는 포트 개폐부;를 포함한다. A memory bandwidth adjuster according to another aspect includes: a dynamic situation information collection unit indicating a dynamic situation of a processor; And determining the dynamic situation of the processor based on the dynamic situation information, and activating or deactivating at least a part of the plurality of input/output terminals for each input/output terminal according to the dynamic situation, thereby dynamically adjusting the bandwidth through the plurality of input/output terminals. It includes; a port opening and closing part to adjust.
또 다른 측면에 따른 메모리 대역폭 조정 방법은, 프로세서의 동적 상황을 판단하는 단계; 및 상기 동적 상황에 기초하여 상기 프로세서와 메모리 사이의 대역폭을 전압 또는 주파수 변경 없이 조정하는 단계;를 포함한다. A method of adjusting a memory bandwidth according to another aspect includes determining a dynamic state of a processor; And adjusting the bandwidth between the processor and the memory without changing the voltage or frequency based on the dynamic situation.
프로세서의 동적인 상황을 고려하여 입출력 단자 수준에서 외부 메모리의 대역폭을 조정함으로써, 응용 프로그램의 작업부하에 따라 요구되는 메모리 대역폭에 맞추어 외부 메모리의 대역폭을 동적으로 조정할 수 있다.By adjusting the bandwidth of the external memory at the input/output terminal level in consideration of the dynamic situation of the processor, the bandwidth of the external memory can be dynamically adjusted according to the memory bandwidth required according to the workload of the application program.
이를 통해, 높은 대역폭을 가지는 외부 메모리에서 소비되는 누설 에너지(leakage energy)를 줄일 수 있어, 응용 프로그램 실행에 따른 전력소모를 감소시킬 수 있다.Through this, it is possible to reduce leakage energy consumed in an external memory having a high bandwidth, thereby reducing power consumption due to execution of an application program.
도 1은 프로세서, 외부 메모리 및 메모리 대역폭 조정기를 포함하는 컴퓨팅 장치를 예시한 도면이다.
도 2는 컴퓨팅 장치의 메모리 대역폭 조정 방법을 예시한 흐름도이다.
도 3a 내지 도 3c는 도 2의 메모리 대역폭 조정 방법의 대역폭 조정 단계를 더욱 자세히 나타낸 흐름도이다.
도 4는 컴퓨팅 장치의 메모리 대역폭 조정 방법을 예시한 다른 흐름도이다.
도 5은 메모리 대역폭 조정기를 예시한 도면이다.
도 6은 메모리 대역폭 조정기를 예시한 다른 도면이다.1 is a diagram illustrating a computing device including a processor, an external memory, and a memory bandwidth adjuster.
2 is a flowchart illustrating a method of adjusting a memory bandwidth of a computing device.
3A to 3C are flowcharts illustrating in more detail steps of adjusting the bandwidth of the method of adjusting the memory bandwidth of FIG. 2.
4 is another flowchart illustrating a method of adjusting a memory bandwidth of a computing device.
5 is a diagram illustrating a memory bandwidth adjuster.
6 is another diagram illustrating a memory bandwidth adjuster.
이하, 첨부된 도면을 참조하여 실시를 위한 구체적인 예를 상세히 설명한다.Hereinafter, a specific example for implementation will be described in detail with reference to the accompanying drawings.
도 1은 프로세서, 외부 메모리 및 메모리 대역폭 조정기를 포함하는 컴퓨팅 장치를 예시한 도면이다.1 is a diagram illustrating a computing device including a processor, an external memory, and a memory bandwidth adjuster.
도 1을 참조하면, 컴퓨팅 장치(100)는 프로세서(10), 외부 메모리(30), 메모리 대역폭 조정기(50)를 포함한다. 일 실시예에 따른 컴퓨팅 장치(100)는 영상 처리, 음성 처리 및 3차원 그래픽스와 같은 대량의 데이터 처리가 필요한 응용 프로그램을 실행하는 장치일 수 있다. 예를 들면, 컴퓨팅 장치(100)는 비디오 신호처리 장치, 음성 신호처리 장치 또는 고속 컴퓨터 중 하나일 수 있다. 또는, 컴퓨팅 장치(100)는 프로세서(10), 외부 메모리(30) 및 메모리 대역폭 조정기(50)를 포함하는 단일칩 시스템(SoC: System on Chip)으로 구현될 수 있다. Referring to FIG. 1, the
프로세서(10)는 외부 메모리(30) 액세스를 지원하며, 외부 메모리(30)로부터 전송된 데이터를 처리할 수 있다. 일 실시예에 따른 프로세서(10)는 영상 처리, 음성 처리 및 3차원 그래픽스와 같은 대량의 데이터를 처리하기 위한 연산처리장치일 수 있다. 예를 들면, 프로세서(10)는 중앙처리장치(CPU:central processing unit), 그래픽처리장치(GPU:graphic processing unit), 디지털신호처리장치(DSP:digital signal processor) 중 어느 하나일 수 있다. 이러한 프로세서(10)는 내부에서 발생되는 다양한 이벤트에 관한 정보를 다양한 방식으로 외부에 제공할 수 있다. 예를 들면, 프로세서(10)는 특정 이벤트의 발생 시점에 특정 레지스터의 값을 조절하는 방식으로 이벤트에 관한 정보를 외부에 제공할 수 있다. 이러한 프로세세에 의해 제공된 이벤트 정보는 프로세서(10)의 동적인 상황을 나타내는 동적상황정보로 사용될 수 있다.The
외부 메모리(30)는 컴퓨팅 장치(100)의 운영 및 동작에 필요한 다양한 프로그램 및 데이터 등을 저장하는 Off-chip 메모리로, 프로세서(10)와의 데이터 전송을 위한 다수의 입출력 단자를 구비할 수 있다. 여기서, 입출력 단자는 데이터 전송을 위한 입출력 포트, 입출력 핀 등을 의미한다. 이러한 외부 메모리(30)는 입출력 단자가 활성화된 상태에서만 데이터를 프로세서(10)에 전송할 수 있다. 일 실시예에 따른 외부 메모리(30)는 프로세서(10)를 효과적으로 지원하기 위하여 높은 메모리 대역폭을 가지는 기억장치일 수 있다. 예를 들면, 외부 메모리(30)는 3차원 적층 디램(3D stacking DRAM)일 수 있다.The
메모리 대역폭 조정기(50)는 프로세서(10)의 동적 상황에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 프로세서 전압 또는 주파수 조정없이 외부 메모리(30)의 대역폭을 동적으로 조정할 수 있다. 이러한 메모리 대역폭 조정기(50)에 대하여는 도 5 및 도 6을 참조하여 이하에서 상세히 설명하도록 한다.The memory bandwidth adjuster 50 dynamically adjusts the bandwidth of the
이와 같은 컴퓨팅 장치(100)는 입출력 단자 수준에서 외부 메모리(30)의 대역폭을 조정함으로써, 메모리 대역폭을 미세하게 조절할 수 있다. 또한, 컴퓨팅 장치(100)는 프로세서의 동적인 상황을 고려하여 외부 메모리(30)의 대역폭을 조정함으로써, 응용 프로그램의 작업부하에 따라 요구되는 메모리 대역폭에 맞추어 외부 메모리(30)의 대역폭을 동적으로 조정할 수 있다. 이를 통해, 높은 대역폭을 가지는 외부 메모리(30)에서 소비되는 누설 에너지를 줄일 수 있어, 응용 프로그램 실행에 따른 전력소모를 감소시킬 수 있다.The
도 2는 컴퓨팅 장치의 메모리 대역폭 조정 방법을 예시한 흐름도이다. 도 2를 참조하면, 메모리 대역폭 조정 방법은 동적상황정보 수집 단계(210), 대역폭 조정 단계(230)를 포함한다.2 is a flowchart illustrating a method of adjusting a memory bandwidth of a computing device. Referring to FIG. 2, the memory bandwidth adjustment method includes a dynamic context
동적상황정보 수집 단계(210)는 프로세서(10)의 동작 또는 상태를나타내는 동적상황정보를 수집한다. 예컨대, 동적상황정보는 프로세서(10)에서 발생하는 특정 이벤트에 관한 정보이거나, 또는 프로세서(10)가 처리하는 특정 이벤트에 관한 정보일 수 있다. 특정 이벤트에 관한 정보는 프로세서(10)에 의하여 제공된다. 다른 예로서, 동적상황정보는 프로세서(10)의 캐쉬 실패율(cache miss rate)에 대한 정보일 수 있다. 또 다른 예로서, 동적상황정보는 프로세서(10)가 처리하는 사이클 당 명령어 수(IPC: instructions per cycle)에 대한 정보일 수 있다. 또 다른 예로서, 동적상황정보는 프로세서(10)의 버퍼 메모리 접근에 대한 정보일 수 있다.The dynamic context
일 실시예에 따른 동적상황정보 수집 단계(210)는 프로세서(10)의 특정 레지스터 값을 읽어 동적상황정보를 수집할 수 있다. 다른 실시예에 따른 동적상황정보 수집 단계(210)는 바이오스(BIOS:basic input output system)나 운영체제(OS:operating system)에 미리 구현된 수단을 통해 동적상황정보를 수집할 수 있다. 또 다른 실시예에 따른 동적상황정보 수집 단계(210)는 별도로 구비된 장치를 통해 동적상황정보를 수집할 수 있다.The dynamic context
대역폭 조정 단계(230)는 수집된 동적상황정보에 기초하여 외부 메모리(30)에 구비된 다수의 입출력 단자 중 적어도 일부를 활성화 또는 비활성화시킴으로써 외부 메모리(30)의 대역폭을 조정할 수 있다. 도 2의 실시예에서 입출력 단자를 활성화한다는 것은, 입출력 단자(I/O terminal)를 연결(switch on)하는 것을 의미할 수 있으며. 또한, 입출력 단자를 비활성화한다는 것은, 입출력 단자를 개방(switch off)하는 것을 의미할 수 있다. 입출력 단자(I/O terminal)는 입출력 포트(I/O port) 또는 단순히 포트(port)라고도 표현할 수 있다. The
도 2의 실시예에서, 수집된 동적상황정보를 분석한 결과, 더욱 넓은 대역폭이 필요하다고 판단될 수 있다. 이 경우, 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 마찬가지로, 수집된 동적상황정보를 분석한 결과, 더욱 좁은 대역폭으로도 충분하다고 판단될 수 있다. 이 경우, 다수의 입출력 단자 중 활성화되어 있는 입출력 단자의 적어도 일부를 비활성화하면, 신규로 비활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 축소된다. In the embodiment of FIG. 2, as a result of analyzing the collected dynamic situation information, it may be determined that a wider bandwidth is required. In this case, when at least some of the inactive input/output terminals among the plurality of input/output terminals are activated, the bandwidth is extended by a degree corresponding to the newly activated input/output terminal. Similarly, as a result of analyzing the collected dynamic situation information, it can be determined that a narrower bandwidth is sufficient. In this case, if at least some of the activated input/output terminals among the plurality of input/output terminals are deactivated, the bandwidth is reduced by a degree corresponding to the newly deactivated input/output terminals.
대역폭을 조정하기 위하여 주파수만, 또는 전압 및 주파수를 함께, 변동시키는 기법도 존재한다. 그러나, 저전압으로 구동되는 회로의 경우, 전압의 스윙(swing) 폭이 좁다. 따라서, 대역폭 조절 범위가 작으며, 대역폭을 미세조정하는 것이 곤란하다. 따라서, 주파수만, 또는 전압 및 주파수를, 변동시켜서 대역폭을 조정하는 기법에 따르면 대역폭을 조정할 수 있는 단계의 수가 수 개로 한정되는 것이 일반적이다.In order to adjust the bandwidth, there is also a technique of varying the frequency alone or the voltage and frequency together. However, in the case of a circuit driven by a low voltage, the swing width of the voltage is narrow. Therefore, the bandwidth adjustment range is small, and it is difficult to fine-tune the bandwidth. Therefore, according to the technique of adjusting the bandwidth by varying only the frequency or voltage and frequency, it is common that the number of steps capable of adjusting the bandwidth is limited to several.
반면, 도 2의 실시예에서는, 복수의 입출력 단자를 핀(pin) 단위로 개폐함으로써, 대역폭의 확장과 축소를 미세하게 조절할 수 있는 특징이 있다. 예컨대, 다수의 입출력 단자를 구비하고 있는 현존하는 3D 적층 D램의 경우, 최소 대역폭에서 최대 대역폭 사이의 대역폭 단계의 수는 수천 개가 된다. 나아가, 도 2의 실시예에서와 같이 복수의 입출력 단자를 핀 단위로 개폐함으로써 대역폭을 조정하는 기법은, 대역폭을 조정하기 위하여 전압을 조정하는 기법에 비하여 간단한 논리회로를 통하여 구현할 수 있다. 이미 구현되어 있는 3-스테이트 핀(tri-state pin)을 이용할 수 있기 때문이다. On the other hand, in the embodiment of FIG. 2, by opening and closing a plurality of input/output terminals in units of pins, it is possible to finely control the expansion and reduction of a bandwidth. For example, in the case of an existing 3D stacked DRAM having multiple input/output terminals, the number of bandwidth steps between the minimum bandwidth and the maximum bandwidth is thousands. Further, as in the embodiment of FIG. 2, a technique of adjusting the bandwidth by opening and closing a plurality of input/output terminals in units of pins can be implemented through a simple logic circuit compared to a technique of adjusting a voltage to adjust the bandwidth. This is because the already implemented tri-state pin can be used.
도 3a는 도 2의 메모리 대역폭 조정 방법의 대역폭 조정 단계의 일례를 더욱 자세히 나타낸 흐름도이다.3A is a flowchart illustrating an example of a bandwidth adjustment step of the method of FIG. 2 in more detail.
도 3a를 참조하면, 대역폭 조정 단계(230)는 수집된 동적상황정보에 기초하여 프로세서(10)의 동적성능의 변화를 판단할 수 있다(231a). 그리고, 대역폭 조정 단계(230)는 판단된 결과에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리(30)의 대역폭을 조정할 수 있다(233a).Referring to FIG. 3A, the
단계(231a)에서, 수집된 동적상황정보를 분석한 결과, 프로세서(10)의 동적성능 변화에 따라 더욱 넓은 대역폭이 필요하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233a)에서 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 대역폭 확장을 통하여 입출력 단자에서 발생하는 병목현상이 개선되어, 전반적인 처리 성능을 향상시킬 수 있다. In
마찬가지로, 단계(231a)에서, 수집된 동적상황정보를 분석한 결과, 프로세서(10)의 동적성능 변화에 따라 더욱 좁은 대역폭으로도 충분하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233a)에서 다수의 입출력 단자 중 활성화되어 있는 입출력 단자의 적어도 일부를 비활성화하면, 신규로 비활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 축소된다. 대역폭 축소를 통하여 입출력 단자에서 소비되는 전력을 절감함으로써, 전반적인 전력효율을 향상시킬 수 있다. Likewise, as a result of analyzing the collected dynamic situation information in
도 3b는 도 2의 메모리 대역폭 조정 방법의 대역폭 조정 단계의 다른 예를 더욱 자세히 나타낸 흐름도이다.3B is a flowchart illustrating another example of a bandwidth adjustment step of the memory bandwidth adjustment method of FIG. 2 in more detail.
도 3b를 참조하면, 대역폭 조정 단계(230)는 수집된 캐쉬 실패율과 미리 설정된 한계값(threshold)을 비교함으로써 외부 메모리(30)로 인한 데이터 대기 시간 증가에 따른 프로세서(10)의 동적성능의 변화를 판단할 수 있다(231b). 그리고, 대역폭 조정 단계(230)는 판단된 결과에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리(30)의 대역폭을 조정할 수 있다(233a). 단계(231b)에서, 수집된 캐쉬 실패율과 한계값을 비교한 결과, 프로세서(10)의 동적성능 변화에 따라 더욱 넓은 대역폭이 필요하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233b)에서 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 대역폭 확장을 통하여 입출력 단자에서 발생하는 병목현상이 개선되어, 전반적인 처리 성능을 향상시킬 수 있다. Referring to FIG. 3B, the
예컨대, 캐쉬 실패율이 한계값보다 높으면 외부 메모리(30)로부터의 데이터 대기 시간이 증가하였음을 의미한다. 데이터 대기 시간이 증가하면, 프로세서(10)의 동적성능은 하락한다. 따라서, 캐쉬 실패율이 한계값보다 높으면 프로세서(10)의 동적성능이 감소한 것으로 판단하여, 비활성화되어 있는 입출력 단자들 중 적어도 일부를 신규로 활성화시킴으로써, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭을 증가시킬 수 있다.For example, if the cache failure rate is higher than the threshold value, it means that the waiting time for data from the
다른 예를 들면, 대역폭 조정 단계(230)는 최근 연속적으로 수집된 일정한 횟수의 캐쉬 실패율과 미리 설정된 한계값을 비교할 수 있다. 만약 캐쉬 실패율이 한계값보다 높은 것으로 판단되는 횟수가 일정한 횟수 이상이라면, 프로세서(10)의 동적성능이 감소한 것으로 판단할 수 있다. 예컨대, 최근 수집된 5번의 캐쉬 실패율 중 3번 이상이 한계값보다 높은 경우, 프로세서(10)의 동적성능이 감소한 것으로 판단할 수 있다. 다수의 캐쉬 실패율과 한계값을 비교하여 프로세서(10)의 동적성능의 변화를 판단하는 경우, 단일의 캐쉬 실패율과 한계값을 비교하는 것보다 프로세서(10)의 동적성능의 변화를 더욱 정확하게 판단할 수 있다.For another example, the
마찬가지로, 단계(231b)에서, 수집된 캐쉬 실패율과 한계값을 비교한 결과, 프로세서(10)의 동적성능 변화에 따라 더욱 좁은 대역폭으로도 충분하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233b)에서 다수의 입출력 단자 중 활성화되어 있는 입출력 단자의 적어도 일부를 비활성화하면, 신규로 비활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 축소된다. 대역폭 축소를 통하여 입출력 단자에서 소비되는 전력을 절감함으로써, 전반적인 전력효율을 향상시킬 수 있다. Likewise, in step 231b, as a result of comparing the collected cache failure rate and the threshold value, it may be determined that a narrower bandwidth is sufficient according to the dynamic performance change of the
도 3c는 도 2의 메모리 대역폭 조정 방법의 대역폭 조정 단계의 또 다른 예를 더욱 자세히 나타낸 흐름도이다.3C is a detailed flowchart illustrating another example of a bandwidth adjustment step of the memory bandwidth adjustment method of FIG. 2.
도 3c를 참조하면, 대역폭 조정 단계(230)는 미리 설정된 기준에 따라 일정한 구간 동안 수집된 사이클 당 명령어에 대한 평균값을 계산하고 계산된 평균값의 변화를 감지하여 프로세서의 병렬적 동작 성능 변화에 따른 프로세서(10)의 동적성능의 변화를 판단할 수 있다. 그리고, 대역폭 조정 단계(230)는 판단된 결과에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리의 대역폭을 동적으로 조정할 수 있다(233c).Referring to FIG. 3C, the
단계(231c)에서, 수집된 사이클 당 명령어(IPC)가 변화함에 따라, 프로세서(10)의 동적성능 이 저하되어, 더욱 넓은 대역폭이 필요하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233b)에서 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 대역폭 확장을 통하여 입출력 단자에서 발생하는 병목현상이 개선되어, 전반적인 처리 성능을 향상시킬 수 있다. In step 231c, as the collected instruction per cycle (IPC) changes, the dynamic performance of the
예를 들어, 수집된 사이클 당 명령어에 기초하여 미리 설정된 기준에 따라 일정한 구간의 사이클 당 명령어에 대한 평균값을 계산하고 계산된 사이클 당 명령어의 평균값의 감소가 감지되면 프로세서(10)의 동적성능이 감소한 것으로 판단할 수 있다. (231c) 예컨대, 최근 수집된 5번의 사이클 당 명령어에 대한 평균값이 직전 평균값보다 감소하면 프로세서(10)의 동적성능이 감소한 것으로 판단할 수 있다. 또는, 최근 수집된 5번의 사이클 당 명령어에 대한 평균값이 미리 설정된 기준 IPC값보다 작아지는 경우, 프로세서(10)의 동적 성능이 감소한 것으로 판단할 수 있다. 프로세서(10)의 동적성능이 감소한 것으로 판단된 경우, 입출력 단자의 전원을 더 활성화시킴으로써 외부 메모리(30)의 대역폭을 증가시킬 수 있다. 대역폭 조정 단계(233c)에서 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 대역폭 확장을 통하여 입출력 단자에서 발생하는 병목현상이 개선되어, 전반적인 처리 성능을 향상시킬 수 있다.For example, based on the collected instruction per cycle, the average value of the instruction per cycle of a certain interval is calculated according to a preset criterion, and when a decrease in the average value of the calculated instruction per cycle is detected, the dynamic performance of the
마찬가지로, 단계(231c)에서, 사이클 당 명령어의 평균값이 상승하였음을 기초로, 프로세서(10)의 동적성능이 향상되었다고 판단할 수 있다. 이에 따라, 프로세서(10)의 동적성능과 전력소비의 트레이드오프를 고려하여, 더욱 좁은 대역폭을 사용하는 것으로도 충분하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233c)에서 다수의 입출력 단자 중 활성화되어 있는 입출력 단자의 적어도 일부를 비활성화할 수 있다. 신규로 비활성화된 입출력 단자에 해당하는 정도만큼 대역폭은 축소된다. 대역폭 축소를 통하여 입출력 단자에서 소비되는 전력을 절감함으로써, 전반적인 전력효율을 향상시킬 수 있다. Likewise, in step 231c, it may be determined that the dynamic performance of the
도 3d는 도 2의 메모리 대역폭 조정 방법의 대역폭 조정 단계의 또 다른 예를 더욱 자세히 나타낸 흐름도이다. 대역폭 조정 단계(230)는 수집된 둘 이상의 동적상황정보에 기초하여 프로세서(10)의 동적성능변화를 판단하고, 판단된 결과에 따라 외부 메모리(30)의 대역폭을 조정할 수 있다. 예컨대, 도 3d에서는 캐쉬 실패율 및 사이클 당 명령어 등 두 가지의 동적상황정보에 기초하여 프로세서(10)의 동적성능변화를 판단한다.FIG. 3D is a flowchart illustrating still another example of a bandwidth adjustment step of the memory bandwidth adjustment method of FIG. 2 in more detail. The
도 3d를 참조하면, 대역폭 조정 단계(230)는 수집된 캐쉬 실패율과 미리 설정된 한계값(threshold)을 비교함으로써 외부 메모리(30)로 인한 데이터 대기 시간 증가에 따른 프로세서(10)의 동적성능의 변화를 판단할 수 있다(231bd). 이와 함께, 단계(231cd)에서, 수집된 사이클 당 명령어(IPC)가 변화함에 따라, 프로세서(10)의 동적성능의 변화를 판단할 수 있다. Referring to FIG. 3D, the
단계(232)에서는, 단계(231bd) 및 단계(231cd)에서의 판단 결과에 기초하여, 대역폭을 확장하여야 하는지, 축소하여야 하는지, 또는 대역폭을 조정하지 않아도 될 것인지를 판단한다. In
예컨대, 단계(232)에서 대역폭을 확장하여야 한다고 판단된 경우, 대역폭 조정 단계(233d)에서 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 대역폭 확장을 통하여 입출력 단자에서 발생하는 병목현상이 개선되어, 전반적인 처리 성능을 향상시킬 수 있다. For example, if it is determined in
마찬가지로, 단계(232)에서 대역폭을 축소하여야 한다고 판단된 경우, 대역폭 조정 단계(233d)에서 다수의 입출력 단자 중 활성화되어 있는 입출력 단자의 적어도 일부를 비활성화할 수 있다. 신규로 비활성화된 입출력 단자에 해당하는 정도만큼 대역폭은 축소된다. 대역폭 축소를 통하여 입출력 단자에서 소비되는 전력을 절감함으로써, 전반적인 전력효율을 향상시킬 수 있다. Likewise, when it is determined in
또한, 단계(232)에서 대역폭을 조정하지 않은 채 현재의 대역폭을 유지하여야 한다고 판단된 경우, 대역폭은 확장되거나 축소되지 않고, 현재의 대역폭이 유지된다(234d). In addition, when it is determined in
도 4는 컴퓨팅 장치의 메모리 대역폭 조정 방법을 예시한 다른 흐름도이다.4 is another flowchart illustrating a method of adjusting a memory bandwidth of a computing device.
도 4를 참조하면, 메모리 대역폭 조정 방법은 동적상황정보 수집 단계(210), 대역폭 조정 단계(230), 대역폭 디폴트 환원 단계(250)를 포함한다. 동적상황정보 수집 단계(210), 대역폭 조정 단계(230)는 도 2 및 도 3a 내지 3d를 참조하여 상술한 내용과 동일하므로, 이하에서는 대역폭 디폴트 환원 단계(250)에 대하여만 상세히 설명하도록 한다.Referring to FIG. 4, the memory bandwidth adjustment method includes a dynamic context
대역폭 디폴트 환원 단계(250)는 수집된 동적상황정보에 기초한 외부 메모리의 대역폭 조정에도 프로세서의 동적성능의 변화가 없는 경우, 외부 메모리의 대역폭을 디폴트 대역폭으로 환원할 수 있다. 다시 말하면, 프로세스(10)의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단되는 경우, 외부 메모리(30)의 대역폭을 디폴트 대역폭으로 환원한다. 예를 들면, 수집된 캐시 실패율에 기초한 메모리 대역폭 조정으로 대역폭이 최대 대역폭에 도달했음에도 이후 수집된 캐쉬 실패율이 한계값보다 계속하여 높은 상태로 유지될 수 있다. 이 경우, 대역폭 디폴트 환원 단계(250)에서 수집된 캐쉬 실패율에 기초하여 판단된 프로세스의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단하여 외부 메모리(30)의 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다. 프로세스의 동적성능의 변화와 관계 없이 확장된 대역폭을 디폴트 대역폭으로 환원함으로써, 확장된 대역폭에 따라 발생하는 소비전력을 절감할 수 있다. 그 결과, 전반적인 전력효율이 향상된다. The bandwidth
다른 예를 들면, 수집된 사이클 당 명령어에 기초한 외부 메모리(30)의 메모리 대역폭 조정으로 대역폭이 최대 대역폭에 도달했음에도 이후 계산된 사이클 당 명령어의 평균값이 계속하여 감소할 수 있다. 이 경우, 수집된 사이클 당 명령어에 기초하여 판단된 프로세스의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단하여 외부 메모리(30)의 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다.For another example, even though the bandwidth has reached the maximum bandwidth by adjusting the memory bandwidth of the
한편, 일 실시 예에 따른 메모리 대역폭 조정 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the method for adjusting a memory bandwidth according to an exemplary embodiment may be implemented as a computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices storing data that can be read by a computer system.
도 5은 메모리 대역폭 조정기를 예시한 도면이다. 5 is a diagram illustrating a memory bandwidth adjuster.
도 5를 참조하면, 메모리 대역폭 조정기(50)는 동적상황정보 수집부(51), 포트 개폐부(53)를 포함한다.Referring to FIG. 5, the
동적상황정보 수집부(51)는 프로세서(10)의 동적 상황을 나타내는 적어도 하나의 동적상황정보를 수집한다. 이때, 동적상황정보 수집부(51)는 바이오스나 운영체제에 미리 구현된 수단일 수 있으나, 동적상황정보의 수집을 위하여 별도로 구현된 장치일 수 있다. 예를 들면, 동적상황정보는 프로세서(10)에 의해 제공되는 프로세서의 특정 이벤트에 관한 정보일 수 있다. 다른 예를 들면, 동적상황정보는 캐쉬 실패율 또는 사이클 당 명령어 중 적어도 하나일 수 있다.The dynamic situation
포트 개폐부(53)는 수집된 동적상황정보에 기초하여 외부 메모리(30)에 구비된 다수의 입출력 단자 중 적어도 일부를 활성화 또는 비활성화시킴으로써 외부 메모리(30)의 대역폭을 조정할 수 있다. 활성화 또는 비활성화는 입출력 단자마다 각각 수행할 수 있다. 예를 들면, 포트 개폐부(53)는 메모리 인터페이스 상에서 입출력 단자를 개방(switch off)함으로써 그 입출력 단자를 비활성화시킬 수 있다. 또한, 입출력 단자를 연결(switch on)함으로써 그 입출력 단자를 활성화시킬 수 있다. The port opening/
일 실시예에 따른 포트 개폐부(53)는 수집된 캐쉬 실패율과 미리 설정된 한계값을 비교함으로써 프로세서(10)의 동적성능의 변화를 판단할 수 있다. 예컨대, 캐쉬 실패율이 높은 경우, 데이터 대기 시간이 증가하게 되므로, 프로세서(10)의 동적성능이 저하된 것으로 판단할 수 있다. 마찬가지로, 캐쉬 실패율이 낮은 경우, 데이터 대기 시간이 짧아지므로, 프로세서(10)의 동적성능이 향상된 것으로 판단할 수 있다. 포트 개폐부(53)는 판단된 결과에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리(30)의 대역폭을 조정할 수 있다.The port opening/
다른 실시예에 따른 포트 개폐부(53)는 사이클 당 명령어의 평균값에 기초하여미리 프로세서(10)의 동적성능의 변화를 판단할 수 있다. 예컨대, 설정된 기준에 따라 일정한 구간 동안 수집된 사이클 당 명령어에 대한 평균값을 계산하고 계산된 평균값의 변화를 감지할 수 있다. 그리고, 포트 개폐부(53)는 판단된 결과에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리의 대역폭을 동적으로 조정할 수 있다.The port opening/
또 다른 실시예에 따른 포트 개폐부(53)는 수집된 둘 이상의 동적상황정보(캐쉬 미스율, 사이클 당 명령어 등)에 기초하여 프로세서(10)의 동적성능변화를 판단하고, 판단된 결과에 따라 외부 메모리(30)의 대역폭을 조정할 수 있다. The port opening/
이와 같은 메모리 대역폭 조정기(50)는 입출력 단자 수준에서 외부 메모리(30)의 대역폭을 조정함으로써, 메모리 대역폭을 미세하게 조절할 수 있다. 또한, 메모리 대역폭 조정기(50)는 프로세서의 동적인 상황을 고려하여 외부 메모리(30)의 대역폭을 조정함으로써, 응용 프로그램의 작업부하에 따라 요구되는 메모리 대역폭에 맞추어 외부 메모리(30)의 대역폭을 동적으로 조정할 수 있다. 이를 통해, 높은 대역폭을 가지는 외부 메모리(30)에서 소비되는 누설 에너지를 줄일 수 있어, 응용 프로그램 실행에 따른 전력소모를 감소시킬 수 있다.The
도 6은 메모리 대역폭 조정기를 예시한 다른 도면이다.6 is another diagram illustrating a memory bandwidth adjuster.
도 6을 참조하면, 메모리 대역폭 조정기(50)는 동적상황정보 수집부(51), 포트 개폐부(53), 대역폭 디폴트 환원부(55)를 포함한다. 동적상황정보 수집부(51), 메모리 포트 개폐부(53)는 도 5을 참조하여 상술한 내용과 동일하므로, 이하에서는 대역폭 디폴트 환원부(55)에 대하여만 상세히 설명하도록 한다.Referring to FIG. 6, the
대역폭 디폴트 환원부(55)는 수집된 동적상황정보에 기초한 외부 메모리의 대역폭 조정에도 프로세서의 동적성능의 변화가 없는 경우, 외부 메모리의 대역폭을 디폴트 대역폭으로 환원할 수 있다. 다시 말하면, 대역폭 디폴트 환원부(55)는 수집된 동적상황정보에 기초하여 판단된 프로세스(10)의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단되는 경우, 외부 메모리(30)의 대역폭을 디폴트 대역폭으로 환원한다.The bandwidth
예를 들면, 대역폭 디폴트 환원부(55)는 수집된 캐시 실패율에 기초한 메모리 대역폭 조정으로 대역폭이 최대 대역폭에 도달했음에도 이후 수집된 캐쉬 실패율이 한계값보다 계속하여 높은 경우, 수집된 캐쉬 실패율에 기초하여 판단된 프로세스의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단하여 외부 메모리(30)의 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다.For example, the bandwidth
다른 예를 들면, 대역폭 디폴트 환원부(55)는 수집된 사이클 당 명령어에 기초한 외부 메모리(30)의 메모리 대역폭 조정으로 대역폭이 최대 대역폭에 도달했음에도 이후 계산된 사이클 당 명령어의 평균값이 계속하여 감소하는 경우, 수집된 사이클 당 명령어에 기초하여 판단된 프로세스의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단하여 외부 메모리(30)의 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다.For another example, the bandwidth
대역폭 디폴트 환원부(55)는 포트 개폐부(53)를 통하여 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다.The bandwidth
전술한 실시 예들은 기술적 사상을 예시적으로 설명하기 위한 것으로 권리범위가 이러한 특정 실시 예에 한정되지 아니할 것이다.The above-described embodiments are for illustrative purposes only and the scope of rights is not limited to these specific embodiments.
Claims (31)
상기 동적상황정보에 기초하여 상기 프로세서의 상기 동적 상황을 판단하고, 상기 판단된 동적 상황에 기초하여, 다수의 입출력 단자의 적어도 일부를 입출력 단자마다 활성화 또는 비활성화시킴으로써 상기 다수의 입출력 단자를 통한 대역폭을 동적으로 조정하는 단계;를 포함하고,
상기 다수의 입출력 단자는 상기 프로세서와 연결된 메모리에 대한 입출력 단자인 메모리 대역폭 조정 방법.Collecting dynamic situation information indicating a dynamic situation of the processor; And
The dynamic situation of the processor is determined based on the dynamic situation information, and at least a part of the plurality of input/output terminals is activated or deactivated for each input/output terminal based on the determined dynamic situation, thereby reducing the bandwidth through the plurality of input/output terminals. Including; dynamically adjusting
The plurality of input/output terminals are input/output terminals for a memory connected to the processor.
상기 대역폭을 동적으로 조정하는 단계는,
상기 동적 상황에 따라 상기 대역폭을 확장하여야 하는 경우, 상기 다수의 입출력 단자 중 비활성화 상태인 입출력 단자 중 적어도 일부를 신규로 활성화하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.The method of claim 1,
The step of dynamically adjusting the bandwidth,
If the bandwidth needs to be expanded according to the dynamic situation, newly activating at least some of the inactive input/output terminals among the plurality of input/output terminals.
상기 대역폭을 동적으로 조정하는 단계는,
상기 동적 상황에 따라 상기 대역폭을 축소하여야 하는 경우, 상기 다수의 입출력 단자 중 활성화 상태인 입출력 단자 중 적어도 일부를 신규로 비활성화하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.The method of claim 1,
The step of dynamically adjusting the bandwidth,
If the bandwidth needs to be reduced according to the dynamic situation, the step of newly deactivating at least some of the active input/output terminals among the plurality of input/output terminals.
상기 동적상황정보는 캐쉬 실패율 및 상기 프로세서가 처리하는 사이클 당 명령어 수 중 적어도 하나인, 메모리 대역폭 조정 방법.The method of claim 1,
The dynamic context information is at least one of a cache failure rate and a number of instructions per cycle processed by the processor.
상기 대역폭을 동적으로 조정하는 단계 후에,
상기 프로세서의 상기 동적 상황과 조정된 대역폭 간의 관련성이 없는 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.The method of claim 1,
After the step of dynamically adjusting the bandwidth,
If there is no relationship between the dynamic situation of the processor and the adjusted bandwidth, reducing the adjusted bandwidth to a default bandwidth; memory bandwidth adjustment method comprising a.
상기 환원하는 단계에서,
대역폭이 조정된 후의 동적상황정보에 기초하여, 상기 관련성의 존부를 판단하는 메모리 대역폭 조정 방법. The method of claim 10,
In the reducing step,
A memory bandwidth adjustment method for determining the presence or absence of the relationship based on dynamic situation information after the bandwidth is adjusted.
상기 대역폭을 동적으로 조정하는 단계 후에,
상기 대역폭이 최대 대역폭으로 조정되었는데도 상기 동적 상황이 개선되지 않은 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.The method of claim 1,
After the step of dynamically adjusting the bandwidth,
If the dynamic situation is not improved even though the bandwidth is adjusted to the maximum bandwidth, reducing the adjusted bandwidth to a default bandwidth; the memory bandwidth adjustment method further comprising.
상기 동적상황정보에 기초하여 상기 프로세서의 상기 동적 상황을 판단하고, 상기 판단된 동적 상황에 따라 다수의 입출력 단자의 적어도 일부를 입출력 단자마다 활성화 또는 비활성화시킴으로써 상기 다수의 입출력 단자를 통한 대역폭을 동적으로 조정하는 포트 개폐부;를 포함하고,
상기 대역폭은 상기 프로세서와 메모리 사이에 대한 것인 메모리 대역폭 조정기.A dynamic situation information collection unit indicating a dynamic situation of the processor; And
The dynamic situation of the processor is determined based on the dynamic situation information, and at least some of the plurality of input/output terminals are activated or deactivated for each input/output terminal according to the determined dynamic situation, thereby dynamically adjusting the bandwidth through the plurality of input/output terminals. Includes; a port opening and closing portion to adjust,
The bandwidth is between the processor and the memory.
상기 포트 개폐부는,
상기 동적 상황에 따라 상기 대역폭을 확장하여야 하는 경우, 상기 다수의 입출력 단자 중 비활성화 상태인 입출력 단자 중 적어도 일부를 신규로 활성화하는 메모리 대역폭 조정기.The method of claim 13,
The port opening and closing part,
When the bandwidth needs to be expanded according to the dynamic situation, a memory bandwidth adjuster newly activating at least some of the inactive input/output terminals among the plurality of input/output terminals.
상기 포트 개폐부는,
상기 동적 상황에 따라 상기 대역폭을 축소하여야 하는 경우, 상기 다수의 입출력 단자 중 활성화 상태인 입출력 단자 중 적어도 일부를 신규로 비활성화하는 메모리 대역폭 조정기.The method of claim 13,
The port opening and closing part,
When the bandwidth needs to be reduced according to the dynamic situation, a memory bandwidth adjuster that newly deactivates at least some of the active input/output terminals among the plurality of input/output terminals.
상기 동적상황정보는 캐쉬 실패율 및 상기 프로세서가 처리하는 사이클 당 명령어 수 중 적어도 하나인, 메모리 대역폭 조정기.The method of claim 13,
The dynamic context information is at least one of a cache failure rate and a number of instructions per cycle processed by the processor.
상기 대역폭을 동적으로 조정한 후, 상기 프로세서의 상기 동적 상황과 조정된 대역폭 간의 관련성이 없는 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 대역폭 디폴트 환원부;를 더 포함하는 메모리 대역폭 조정기.The method of claim 13,
After dynamically adjusting the bandwidth, if there is no relationship between the dynamic situation of the processor and the adjusted bandwidth, a bandwidth default reduction unit for reducing the adjusted bandwidth to a default bandwidth; memory bandwidth adjuster further comprising a.
상기 대역폭 디폴트 환원부는, 대역폭이 조정된 후의 동적상황정보에 기초하여, 상기 관련성의 존부를 판단하는 메모리 대역폭 조정기. The method of claim 22,
The bandwidth default reduction unit is a memory bandwidth adjuster that determines whether or not the association exists based on dynamic situation information after the bandwidth is adjusted.
상기 대역폭 디폴트 환원부는, 상기 대역폭이 최대 대역폭으로 조정되었는데도 상기 동적 상황이 개선되지 않은 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 메모리 대역폭 조정기.The method of claim 22,
The bandwidth default reduction unit, when the dynamic situation is not improved even though the bandwidth is adjusted to the maximum bandwidth, a memory bandwidth adjuster for reducing the adjusted bandwidth to a default bandwidth.
상기 동적 상황에 기초하여 상기 프로세서와 메모리 사이의 대역폭을 전압 또는 주파수 변경 없이 조정하는 단계;를 포함하는 메모리 대역폭 조정 방법.Determining a dynamic situation of the processor; And
Adjusting the bandwidth between the processor and the memory without changing a voltage or frequency based on the dynamic situation.
상기 조정하는 단계는,
상기 동적 상황에 기초하여 상기 대역폭을 확장하는 경우, 상기 다수의 입출력 단자 중 비활성화 상태인 입출력 단자 중 적어도 일부를 신규로 활성화하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.The method of claim 25,
The adjusting step,
When extending the bandwidth based on the dynamic situation, newly activating at least some of the inactive input/output terminals among the plurality of input/output terminals.
상기 조정하는 단계는,
상기 동적 상황에 기초하여 상기 대역폭을 축소하는 경우, 상기 다수의 입출력 단자 중 활성화 상태인 입출력 단자 중 적어도 일부를 신규로 비활성화하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.The method of claim 25,
The adjusting step,
If the bandwidth is reduced based on the dynamic situation, the step of newly deactivating at least some of the active input/output terminals among the plurality of input/output terminals.
상기 동적 상황은 상기 프로세서의 캐쉬 실패율 및 상기 프로세서가 처리하는 사이클 당 명령어 수 중 적어도 하나인, 메모리 대역폭 조정 방법.The method of claim 25,
The dynamic situation is at least one of a cache failure rate of the processor and a number of instructions per cycle processed by the processor.
상기 조정하는 단계 후에,
상기 프로세서의 상기 동적 상황과 조정된 대역폭 간의 관련성이 없는 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.The method of claim 25,
After the step of adjusting,
If there is no relationship between the dynamic situation of the processor and the adjusted bandwidth, reducing the adjusted bandwidth to a default bandwidth; memory bandwidth adjustment method comprising a.
상기 환원하는 단계에서,
대역폭이 조정된 후의 동적 상황에 기초하여, 상기 관련성의 존부를 판단하는, 메모리 대역폭 조정 방법.The method of claim 30,
In the reducing step,
The memory bandwidth adjustment method of determining the presence or absence of the association based on a dynamic situation after the bandwidth is adjusted.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/263,309 US9588570B2 (en) | 2013-04-30 | 2014-04-28 | Apparatus and method for adjusting bandwidth |
EP14166449.0A EP2800007B1 (en) | 2013-04-30 | 2014-04-29 | Apparatus and method for adjusting memory bandwidth |
CN201410181509.0A CN104133789B (en) | 2013-04-30 | 2014-04-30 | Device and method for adjusting bandwidth |
JP2014094104A JP6395432B2 (en) | 2013-04-30 | 2014-04-30 | Bandwidth adjustment apparatus and method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361817420P | 2013-04-30 | 2013-04-30 | |
US61/817,420 | 2013-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140130004A KR20140130004A (en) | 2014-11-07 |
KR102157326B1 true KR102157326B1 (en) | 2020-09-17 |
Family
ID=52455157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130134908A Active KR102157326B1 (en) | 2013-04-30 | 2013-11-07 | Computing apparutus, method for scaling memory bandwidth thereof and memory bandwidth scaler |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102157326B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283339A1 (en) * | 2004-06-18 | 2005-12-22 | Ichiki Homma | Performance analyzing method using hardware |
US20100080132A1 (en) * | 2008-09-30 | 2010-04-01 | Sadagopan Srinivasan | Dynamic configuration of potential links between processing elements |
US20120233477A1 (en) * | 2011-03-11 | 2012-09-13 | Youfeng Wu | Dynamic core selection for heterogeneous multi-core systems |
-
2013
- 2013-11-07 KR KR1020130134908A patent/KR102157326B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050283339A1 (en) * | 2004-06-18 | 2005-12-22 | Ichiki Homma | Performance analyzing method using hardware |
US20100080132A1 (en) * | 2008-09-30 | 2010-04-01 | Sadagopan Srinivasan | Dynamic configuration of potential links between processing elements |
US20120233477A1 (en) * | 2011-03-11 | 2012-09-13 | Youfeng Wu | Dynamic core selection for heterogeneous multi-core systems |
Also Published As
Publication number | Publication date |
---|---|
KR20140130004A (en) | 2014-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI564793B (en) | Migrating threads between asymmetric cores in a multiple core processor | |
JP4937260B2 (en) | Increased workload performance of one or more cores of multiple core processors | |
AU2012379690B2 (en) | Scheduling tasks among processor cores | |
US20110213950A1 (en) | System and Method for Power Optimization | |
US20130086395A1 (en) | Multi-Core Microprocessor Reliability Optimization | |
US20120331275A1 (en) | System and method for power optimization | |
US20110213947A1 (en) | System and Method for Power Optimization | |
KR20130048786A (en) | Coordinating device and application break events for platform power saving | |
JP6395432B2 (en) | Bandwidth adjustment apparatus and method | |
CN105786402A (en) | Method and apparatus for dynamically adjusting speed of memory device | |
TW201314433A (en) | Server system and power managing method data thereof | |
US20090006696A1 (en) | Computer system, processor device, and method for controlling computer system | |
CN112433596B (en) | Link width adjustment method, device, device and storage medium | |
CN101419497B (en) | Data transmission rate adjustment method and computer system | |
US8635486B2 (en) | Apparatus and method of controlling a processor clock frequency | |
US9514084B2 (en) | Power saving based on clock management claim of priority | |
JP2024525376A (en) | System and method for controlling current supply in a multiprocessor core system via instruction per cycle reduction - Patents.com | |
JP2024516072A (en) | Dynamic Program Suspend Disable for Random Write SSD Workloads | |
KR102157326B1 (en) | Computing apparutus, method for scaling memory bandwidth thereof and memory bandwidth scaler | |
US20140115408A1 (en) | Maximum frequency and minimum voltage discovery | |
US12277020B2 (en) | Default boost mode state for devices | |
JP5928272B2 (en) | Semiconductor integrated circuit and compiler | |
EP2775395B1 (en) | Integrated circuit, electronic device and instruction scheduling method | |
CN119292450B (en) | Electronic apparatus and control method | |
WO2016144368A1 (en) | Frequency of a clock signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20131107 |
|
PG1501 | Laying open of application | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20181101 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20131107 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20200116 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20200701 |
|
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20200911 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20200914 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20240823 Start annual number: 5 End annual number: 5 |