[go: up one dir, main page]

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 PDF

Info

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
Application number
KR1020130134908A
Other languages
Korean (ko)
Other versions
KR20140130004A (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 US14/263,309 priority Critical patent/US9588570B2/en
Priority to EP14166449.0A priority patent/EP2800007B1/en
Priority to CN201410181509.0A priority patent/CN104133789B/en
Priority to JP2014094104A priority patent/JP6395432B2/en
Publication of KR20140130004A publication Critical patent/KR20140130004A/en
Application granted granted Critical
Publication of KR102157326B1 publication Critical patent/KR102157326B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling 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

컴퓨팅 장치, 컴퓨팅 장치의 메모리 대역폭 조정 방법 및 메모리 대역폭 조정기{COMPUTING APPARUTUS, METHOD FOR SCALING MEMORY BANDWIDTH THEREOF AND MEMORY BANDWIDTH SCALER}A computing device, a method of adjusting the memory bandwidth of a computing device, and a memory bandwidth adjuster TECHNICAL FIELD [COMPUTING APPARUTUS, METHOD FOR SCALING MEMORY BANDWIDTH THEREOF AND MEMORY BANDWIDTH SCALER}

컴퓨팅 장치, 컴퓨팅 장치의 메모리 대역폭 조정 방법 및 메모리 대역폭 조정기에 관련된다. 보다 상세하게는, 프로세서의 동적인 상황에 따라 외부 메모리(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 computing device 100 includes a processor 10, an external memory 30, and a memory bandwidth adjuster 50. The computing device 100 according to an exemplary embodiment may be a device that executes an application program requiring a large amount of data processing such as image processing, audio processing, and 3D graphics. For example, the computing device 100 may be one of a video signal processing device, an audio signal processing device, or a high-speed computer. Alternatively, the computing device 100 may be implemented as a single-chip system (SoC) including a processor 10, an external memory 30, and a memory bandwidth adjuster 50.

프로세서(10)는 외부 메모리(30) 액세스를 지원하며, 외부 메모리(30)로부터 전송된 데이터를 처리할 수 있다. 일 실시예에 따른 프로세서(10)는 영상 처리, 음성 처리 및 3차원 그래픽스와 같은 대량의 데이터를 처리하기 위한 연산처리장치일 수 있다. 예를 들면, 프로세서(10)는 중앙처리장치(CPU:central processing unit), 그래픽처리장치(GPU:graphic processing unit), 디지털신호처리장치(DSP:digital signal processor) 중 어느 하나일 수 있다. 이러한 프로세서(10)는 내부에서 발생되는 다양한 이벤트에 관한 정보를 다양한 방식으로 외부에 제공할 수 있다. 예를 들면, 프로세서(10)는 특정 이벤트의 발생 시점에 특정 레지스터의 값을 조절하는 방식으로 이벤트에 관한 정보를 외부에 제공할 수 있다. 이러한 프로세세에 의해 제공된 이벤트 정보는 프로세서(10)의 동적인 상황을 나타내는 동적상황정보로 사용될 수 있다.The processor 10 supports access to the external memory 30 and may process data transmitted from the external memory 30. The processor 10 according to an embodiment may be an operation processing device for processing a large amount of data such as image processing, audio processing, and 3D graphics. For example, the processor 10 may be any one of a central processing unit (CPU), a graphic processing unit (GPU), and a digital signal processor (DSP). The processor 10 may provide information on various events occurring internally to the outside in various ways. For example, the processor 10 may provide information about an event to the outside in a manner that adjusts a value of a specific register at the time when a specific event occurs. Event information provided by such a process may be used as dynamic situation information indicating a dynamic situation of the processor 10.

외부 메모리(30)는 컴퓨팅 장치(100)의 운영 및 동작에 필요한 다양한 프로그램 및 데이터 등을 저장하는 Off-chip 메모리로, 프로세서(10)와의 데이터 전송을 위한 다수의 입출력 단자를 구비할 수 있다. 여기서, 입출력 단자는 데이터 전송을 위한 입출력 포트, 입출력 핀 등을 의미한다. 이러한 외부 메모리(30)는 입출력 단자가 활성화된 상태에서만 데이터를 프로세서(10)에 전송할 수 있다. 일 실시예에 따른 외부 메모리(30)는 프로세서(10)를 효과적으로 지원하기 위하여 높은 메모리 대역폭을 가지는 기억장치일 수 있다. 예를 들면, 외부 메모리(30)는 3차원 적층 디램(3D stacking DRAM)일 수 있다.The external memory 30 is an off-chip memory that stores various programs and data necessary for operation and operation of the computing device 100 and may include a plurality of input/output terminals for data transmission with the processor 10. Here, the input/output terminal means an input/output port for data transmission, an input/output pin, and the like. The external memory 30 can transmit data to the processor 10 only when the input/output terminal is activated. The external memory 30 according to an exemplary embodiment may be a memory device having a high memory bandwidth to effectively support the processor 10. For example, the external memory 30 may be a 3D stacking DRAM.

메모리 대역폭 조정기(50)는 프로세서(10)의 동적 상황에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 프로세서 전압 또는 주파수 조정없이 외부 메모리(30)의 대역폭을 동적으로 조정할 수 있다. 이러한 메모리 대역폭 조정기(50)에 대하여는 도 5 및 도 6을 참조하여 이하에서 상세히 설명하도록 한다.The memory bandwidth adjuster 50 dynamically adjusts the bandwidth of the external memory 30 without adjusting the processor voltage or frequency by activating or deactivating each of a plurality of input/output terminals provided in the external memory 30 according to the dynamic situation of the processor 10. Can be adjusted. The memory bandwidth adjuster 50 will be described in detail below with reference to FIGS. 5 and 6.

이와 같은 컴퓨팅 장치(100)는 입출력 단자 수준에서 외부 메모리(30)의 대역폭을 조정함으로써, 메모리 대역폭을 미세하게 조절할 수 있다. 또한, 컴퓨팅 장치(100)는 프로세서의 동적인 상황을 고려하여 외부 메모리(30)의 대역폭을 조정함으로써, 응용 프로그램의 작업부하에 따라 요구되는 메모리 대역폭에 맞추어 외부 메모리(30)의 대역폭을 동적으로 조정할 수 있다. 이를 통해, 높은 대역폭을 가지는 외부 메모리(30)에서 소비되는 누설 에너지를 줄일 수 있어, 응용 프로그램 실행에 따른 전력소모를 감소시킬 수 있다.The computing device 100 may finely adjust the memory bandwidth by adjusting the bandwidth of the external memory 30 at the input/output terminal level. In addition, by adjusting the bandwidth of the external memory 30 in consideration of the dynamic situation of the processor, the computing device 100 dynamically adjusts the bandwidth of the external memory 30 according to the memory bandwidth required according to the workload of the application program. Can be adjusted. Through this, it is possible to reduce the leakage energy consumed in the external memory 30 having a high bandwidth, it is possible to reduce power consumption according to the execution of the application program.

도 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 information collection step 210 and a bandwidth adjustment step 230.

동적상황정보 수집 단계(210)는 프로세서(10)의 동작 또는 상태를나타내는 동적상황정보를 수집한다. 예컨대, 동적상황정보는 프로세서(10)에서 발생하는 특정 이벤트에 관한 정보이거나, 또는 프로세서(10)가 처리하는 특정 이벤트에 관한 정보일 수 있다. 특정 이벤트에 관한 정보는 프로세서(10)에 의하여 제공된다. 다른 예로서, 동적상황정보는 프로세서(10)의 캐쉬 실패율(cache miss rate)에 대한 정보일 수 있다. 또 다른 예로서, 동적상황정보는 프로세서(10)가 처리하는 사이클 당 명령어 수(IPC: instructions per cycle)에 대한 정보일 수 있다. 또 다른 예로서, 동적상황정보는 프로세서(10)의 버퍼 메모리 접근에 대한 정보일 수 있다.The dynamic context information collection step 210 collects dynamic context information indicating an operation or state of the processor 10. For example, the dynamic context information may be information about a specific event occurring in the processor 10 or information about a specific event processed by the processor 10. Information about a specific event is provided by the processor 10. As another example, the dynamic context information may be information on a cache miss rate of the processor 10. As another example, the dynamic context information may be information on the number of instructions per cycle (IPC) processed by the processor 10. As another example, the dynamic context information may be information on access to a buffer memory of the processor 10.

일 실시예에 따른 동적상황정보 수집 단계(210)는 프로세서(10)의 특정 레지스터 값을 읽어 동적상황정보를 수집할 수 있다. 다른 실시예에 따른 동적상황정보 수집 단계(210)는 바이오스(BIOS:basic input output system)나 운영체제(OS:operating system)에 미리 구현된 수단을 통해 동적상황정보를 수집할 수 있다. 또 다른 실시예에 따른 동적상황정보 수집 단계(210)는 별도로 구비된 장치를 통해 동적상황정보를 수집할 수 있다.The dynamic context information collecting step 210 according to an embodiment may collect dynamic context information by reading a specific register value of the processor 10. The dynamic context information collection step 210 according to another embodiment may collect dynamic context information through a means previously implemented in a BIOS (basic input output system) or an operating system (OS). The dynamic context information collection step 210 according to another embodiment may collect dynamic context information through a separately provided device.

대역폭 조정 단계(230)는 수집된 동적상황정보에 기초하여 외부 메모리(30)에 구비된 다수의 입출력 단자 중 적어도 일부를 활성화 또는 비활성화시킴으로써 외부 메모리(30)의 대역폭을 조정할 수 있다. 도 2의 실시예에서 입출력 단자를 활성화한다는 것은, 입출력 단자(I/O terminal)를 연결(switch on)하는 것을 의미할 수 있으며. 또한, 입출력 단자를 비활성화한다는 것은, 입출력 단자를 개방(switch off)하는 것을 의미할 수 있다. 입출력 단자(I/O terminal)는 입출력 포트(I/O port) 또는 단순히 포트(port)라고도 표현할 수 있다. The bandwidth adjustment step 230 may adjust the bandwidth of the external memory 30 by activating or deactivating at least some of the plurality of input/output terminals provided in the external memory 30 based on the collected dynamic situation information. In the embodiment of FIG. 2, activating an input/output terminal may mean connecting an input/output terminal (I/O terminal) to (switch on). In addition, deactivating the input/output terminal may mean opening the input/output terminal (switch off). The I/O terminal can also be expressed as an I/O port or simply a port.

도 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 bandwidth adjustment step 230 may determine a change in dynamic performance of the processor 10 based on the collected dynamic situation information (231a). In addition, the bandwidth adjustment step 230 may adjust the bandwidth of the external memory 30 by activating or deactivating each of the input/output terminals provided in the external memory 30 according to the determined result (233a).

단계(231a)에서, 수집된 동적상황정보를 분석한 결과, 프로세서(10)의 동적성능 변화에 따라 더욱 넓은 대역폭이 필요하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233a)에서 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 대역폭 확장을 통하여 입출력 단자에서 발생하는 병목현상이 개선되어, 전반적인 처리 성능을 향상시킬 수 있다. In step 231a, as a result of analyzing the collected dynamic situation information, it may be determined that a wider bandwidth is required according to a change in dynamic performance of the processor 10. In this case, when at least some of the inactive input/output terminals among the plurality of input/output terminals are activated in the bandwidth adjustment step 233a, the bandwidth is extended by a degree corresponding to the newly activated input/output terminal. The bottleneck occurring at the input/output terminal is improved through bandwidth expansion, and the overall processing performance can be improved.

마찬가지로, 단계(231a)에서, 수집된 동적상황정보를 분석한 결과, 프로세서(10)의 동적성능 변화에 따라 더욱 좁은 대역폭으로도 충분하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233a)에서 다수의 입출력 단자 중 활성화되어 있는 입출력 단자의 적어도 일부를 비활성화하면, 신규로 비활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 축소된다. 대역폭 축소를 통하여 입출력 단자에서 소비되는 전력을 절감함으로써, 전반적인 전력효율을 향상시킬 수 있다. Likewise, as a result of analyzing the collected dynamic situation information in step 231a, it may be determined that a narrower bandwidth is sufficient according to a change in dynamic performance of the processor 10. In this case, if at least some of the activated input/output terminals among the plurality of input/output terminals are deactivated in the bandwidth adjustment step 233a, the bandwidth is reduced by a degree corresponding to the newly deactivated input/output terminals. By reducing the power consumed in the input/output terminal through the reduction of the bandwidth, it is possible to improve the overall power efficiency.

도 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 bandwidth adjustment step 230 compares the collected cache failure rate with a preset threshold to change the dynamic performance of the processor 10 according to the increase in data waiting time due to the external memory 30. Can be determined (231b). In addition, the bandwidth adjustment step 230 may adjust the bandwidth of the external memory 30 by activating or deactivating each of the input/output terminals provided in the external memory 30 according to the determined result (233a). In step 231b, as a result of comparing the collected cache failure rate and the threshold value, it may be determined that a wider bandwidth is required according to the dynamic performance change of the processor 10. In this case, when at least some of the inactive input/output terminals among the plurality of input/output terminals are activated in the bandwidth adjustment step 233b, the bandwidth is extended by a degree corresponding to the newly activated input/output terminals. The bottleneck occurring at the input/output terminal is improved through bandwidth expansion, and the overall processing performance can be improved.

예컨대, 캐쉬 실패율이 한계값보다 높으면 외부 메모리(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 external memory 30 is increased. When the data waiting time increases, the dynamic performance of the processor 10 decreases. Therefore, if the cache failure rate is higher than the threshold value, it is determined that the dynamic performance of the processor 10 is reduced, and by newly activating at least some of the inactive input/output terminals, the bandwidth is increased by the amount corresponding to the newly activated input/output terminals. Can increase.

다른 예를 들면, 대역폭 조정 단계(230)는 최근 연속적으로 수집된 일정한 횟수의 캐쉬 실패율과 미리 설정된 한계값을 비교할 수 있다. 만약 캐쉬 실패율이 한계값보다 높은 것으로 판단되는 횟수가 일정한 횟수 이상이라면, 프로세서(10)의 동적성능이 감소한 것으로 판단할 수 있다. 예컨대, 최근 수집된 5번의 캐쉬 실패율 중 3번 이상이 한계값보다 높은 경우, 프로세서(10)의 동적성능이 감소한 것으로 판단할 수 있다. 다수의 캐쉬 실패율과 한계값을 비교하여 프로세서(10)의 동적성능의 변화를 판단하는 경우, 단일의 캐쉬 실패율과 한계값을 비교하는 것보다 프로세서(10)의 동적성능의 변화를 더욱 정확하게 판단할 수 있다.For another example, the bandwidth adjustment step 230 may compare a cache failure rate of a predetermined number of recently continuously collected and a preset limit value. If the number of times it is determined that the cache failure rate is higher than the threshold value is more than a certain number, it may be determined that the dynamic performance of the processor 10 has decreased. For example, if three or more of the recently collected five cache failure rates are higher than the threshold value, it may be determined that the dynamic performance of the processor 10 has decreased. When determining the change in the dynamic performance of the processor 10 by comparing a plurality of cache failure rates and the threshold value, it is possible to more accurately determine the change in the dynamic performance of the processor 10 than comparing a single cache failure rate and the threshold value. I can.

마찬가지로, 단계(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 processor 10. In this case, if at least some of the activated input/output terminals among the plurality of input/output terminals are deactivated in the bandwidth adjustment step 233b, the bandwidth is reduced by a degree corresponding to the newly deactivated input/output terminals. By reducing the power consumed in the input/output terminal through the reduction of the bandwidth, it is possible to improve the overall power efficiency.

도 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 bandwidth adjustment step 230 calculates an average value for instructions per cycle collected over a certain period according to a preset criterion, detects a change in the calculated average value, and detects a change in the parallel operation performance of the processor. (10) It is possible to judge the change in dynamic performance. In addition, in the bandwidth adjustment step 230, the bandwidth of the external memory may be dynamically adjusted by activating or deactivating each of the input/output terminals provided in the external memory 30 according to the determined result (233c).

단계(231c)에서, 수집된 사이클 당 명령어(IPC)가 변화함에 따라, 프로세서(10)의 동적성능 이 저하되어, 더욱 넓은 대역폭이 필요하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233b)에서 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 대역폭 확장을 통하여 입출력 단자에서 발생하는 병목현상이 개선되어, 전반적인 처리 성능을 향상시킬 수 있다. In step 231c, as the collected instruction per cycle (IPC) changes, the dynamic performance of the processor 10 deteriorates, and 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 in the bandwidth adjustment step 233b, the bandwidth is extended by a degree corresponding to the newly activated input/output terminals. The bottleneck occurring at the input/output terminal is improved through bandwidth expansion, and the overall processing performance can be improved.

예를 들어, 수집된 사이클 당 명령어에 기초하여 미리 설정된 기준에 따라 일정한 구간의 사이클 당 명령어에 대한 평균값을 계산하고 계산된 사이클 당 명령어의 평균값의 감소가 감지되면 프로세서(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 processor 10 is reduced. It can be judged as. (231c) For example, if the average value of the recently collected 5 instructions per cycle decreases from the previous average value, it may be determined that the dynamic performance of the processor 10 has decreased. Alternatively, when the average value of the recently collected instructions per cycle of five times becomes smaller than the preset reference IPC value, it may be determined that the dynamic performance of the processor 10 has decreased. When it is determined that the dynamic performance of the processor 10 has decreased, the bandwidth of the external memory 30 may be increased by further activating the power of the input/output terminal. In the bandwidth adjustment step 233c, 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. The bottleneck occurring at the input/output terminal is improved through bandwidth expansion, and the overall processing performance can be improved.

마찬가지로, 단계(231c)에서, 사이클 당 명령어의 평균값이 상승하였음을 기초로, 프로세서(10)의 동적성능이 향상되었다고 판단할 수 있다. 이에 따라, 프로세서(10)의 동적성능과 전력소비의 트레이드오프를 고려하여, 더욱 좁은 대역폭을 사용하는 것으로도 충분하다고 판단될 수 있다. 이 경우, 대역폭 조정 단계(233c)에서 다수의 입출력 단자 중 활성화되어 있는 입출력 단자의 적어도 일부를 비활성화할 수 있다. 신규로 비활성화된 입출력 단자에 해당하는 정도만큼 대역폭은 축소된다. 대역폭 축소를 통하여 입출력 단자에서 소비되는 전력을 절감함으로써, 전반적인 전력효율을 향상시킬 수 있다. Likewise, in step 231c, it may be determined that the dynamic performance of the processor 10 is improved based on the increase in the average value of the instruction per cycle. Accordingly, in consideration of the tradeoff between dynamic performance and power consumption of the processor 10, it may be determined that it is sufficient to use a narrower bandwidth. In this case, at least a part of the active input/output terminals among the plurality of input/output terminals may be deactivated in the bandwidth adjustment step 233c. The bandwidth is reduced by the amount corresponding to the newly deactivated input/output terminal. By reducing the power consumed in the input/output terminal through the reduction of the bandwidth, it is possible to improve the overall power efficiency.

도 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 bandwidth adjustment step 230 may determine a dynamic performance change of the processor 10 based on the collected two or more dynamic situation information, and adjust the bandwidth of the external memory 30 according to the determined result. For example, in FIG. 3D, a change in dynamic performance of the processor 10 is determined based on two types of dynamic situation information such as a cache failure rate and an instruction per cycle.

도 3d를 참조하면, 대역폭 조정 단계(230)는 수집된 캐쉬 실패율과 미리 설정된 한계값(threshold)을 비교함으로써 외부 메모리(30)로 인한 데이터 대기 시간 증가에 따른 프로세서(10)의 동적성능의 변화를 판단할 수 있다(231bd). 이와 함께, 단계(231cd)에서, 수집된 사이클 당 명령어(IPC)가 변화함에 따라, 프로세서(10)의 동적성능의 변화를 판단할 수 있다. Referring to FIG. 3D, the bandwidth adjustment step 230 compares the collected cache failure rate with a preset threshold to change the dynamic performance of the processor 10 according to the increase in data waiting time due to the external memory 30. Can be determined (231bd). In addition, in step 231cd, as the collected instruction per cycle (IPC) changes, it is possible to determine a change in dynamic performance of the processor 10.

단계(232)에서는, 단계(231bd) 및 단계(231cd)에서의 판단 결과에 기초하여, 대역폭을 확장하여야 하는지, 축소하여야 하는지, 또는 대역폭을 조정하지 않아도 될 것인지를 판단한다. In step 232, based on the determination results in steps 231bd and 231cd, it is determined whether the bandwidth should be expanded or reduced, or whether the bandwidth should not be adjusted.

예컨대, 단계(232)에서 대역폭을 확장하여야 한다고 판단된 경우, 대역폭 조정 단계(233d)에서 다수의 입출력 단자 중 비활성화되어 있는 입출력 단자의 적어도 일부를 활성화하면, 신규로 활성화된 입출력 단자에 해당하는 정도만큼 대역폭이 확장된다. 대역폭 확장을 통하여 입출력 단자에서 발생하는 병목현상이 개선되어, 전반적인 처리 성능을 향상시킬 수 있다. For example, if it is determined in step 232 that the bandwidth should be extended, when at least some of the inactive input/output terminals among the plurality of input/output terminals are activated in the bandwidth adjustment step 233d, the degree corresponding to the newly activated input/output terminal The bandwidth is extended as much. The bottleneck occurring at the input/output terminal is improved through bandwidth expansion, and the overall processing performance can be improved.

마찬가지로, 단계(232)에서 대역폭을 축소하여야 한다고 판단된 경우, 대역폭 조정 단계(233d)에서 다수의 입출력 단자 중 활성화되어 있는 입출력 단자의 적어도 일부를 비활성화할 수 있다. 신규로 비활성화된 입출력 단자에 해당하는 정도만큼 대역폭은 축소된다. 대역폭 축소를 통하여 입출력 단자에서 소비되는 전력을 절감함으로써, 전반적인 전력효율을 향상시킬 수 있다. Likewise, when it is determined in step 232 that the bandwidth should be reduced, at least a part of the active input/output terminals among the plurality of input/output terminals may be deactivated in the bandwidth adjustment step 233d. The bandwidth is reduced by the amount corresponding to the newly deactivated input/output terminal. By reducing the power consumed in the input/output terminal through the reduction of the bandwidth, it is possible to improve the overall power efficiency.

또한, 단계(232)에서 대역폭을 조정하지 않은 채 현재의 대역폭을 유지하여야 한다고 판단된 경우, 대역폭은 확장되거나 축소되지 않고, 현재의 대역폭이 유지된다(234d). In addition, when it is determined in step 232 that the current bandwidth should be maintained without adjusting the bandwidth, the bandwidth is not expanded or reduced, and the current bandwidth is maintained (234d).

도 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 information collection step 210, a bandwidth adjustment step 230, and a bandwidth default reduction step 250. Since the dynamic context information collection step 210 and the bandwidth adjustment step 230 are the same as those described above with reference to FIGS. 2 and 3A to 3D, only the bandwidth default reduction step 250 will be described in detail below.

대역폭 디폴트 환원 단계(250)는 수집된 동적상황정보에 기초한 외부 메모리의 대역폭 조정에도 프로세서의 동적성능의 변화가 없는 경우, 외부 메모리의 대역폭을 디폴트 대역폭으로 환원할 수 있다. 다시 말하면, 프로세스(10)의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단되는 경우, 외부 메모리(30)의 대역폭을 디폴트 대역폭으로 환원한다. 예를 들면, 수집된 캐시 실패율에 기초한 메모리 대역폭 조정으로 대역폭이 최대 대역폭에 도달했음에도 이후 수집된 캐쉬 실패율이 한계값보다 계속하여 높은 상태로 유지될 수 있다. 이 경우, 대역폭 디폴트 환원 단계(250)에서 수집된 캐쉬 실패율에 기초하여 판단된 프로세스의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단하여 외부 메모리(30)의 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다. 프로세스의 동적성능의 변화와 관계 없이 확장된 대역폭을 디폴트 대역폭으로 환원함으로써, 확장된 대역폭에 따라 발생하는 소비전력을 절감할 수 있다. 그 결과, 전반적인 전력효율이 향상된다. The bandwidth default reduction step 250 may reduce the bandwidth of the external memory to the default bandwidth when there is no change in the dynamic performance of the processor even when the bandwidth of the external memory is adjusted based on the collected dynamic situation information. In other words, when it is determined that the change in the dynamic performance of the process 10 is not related to the memory bandwidth, the bandwidth of the external memory 30 is reduced to the default bandwidth. For example, even though the bandwidth reaches the maximum bandwidth by adjusting the memory bandwidth based on the collected cache failure rate, the cache failure rate collected afterwards may be kept higher than the threshold value. In this case, it is determined that the change in the dynamic performance of the process determined based on the cache failure rate collected in the bandwidth default reduction step 250 is not related to the memory bandwidth, and the memory bandwidth of the external memory 30 can be reduced to the default bandwidth. have. By reducing the extended bandwidth to the default bandwidth irrespective of the change in the dynamic performance of the process, power consumption caused by the extended bandwidth can be reduced. As a result, overall power efficiency is improved.

다른 예를 들면, 수집된 사이클 당 명령어에 기초한 외부 메모리(30)의 메모리 대역폭 조정으로 대역폭이 최대 대역폭에 도달했음에도 이후 계산된 사이클 당 명령어의 평균값이 계속하여 감소할 수 있다. 이 경우, 수집된 사이클 당 명령어에 기초하여 판단된 프로세스의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단하여 외부 메모리(30)의 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다.For another example, even though the bandwidth has reached the maximum bandwidth by adjusting the memory bandwidth of the external memory 30 based on the collected instructions per cycle, the average value of instructions per cycle calculated thereafter may continue to decrease. In this case, it is determined that the change in the dynamic performance of the process determined based on the collected instructions per cycle is not related to the memory bandwidth, and thus the memory bandwidth of the external memory 30 may be reduced to the default bandwidth.

한편, 일 실시 예에 따른 메모리 대역폭 조정 방법은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.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 memory bandwidth adjuster 50 includes a dynamic situation information collection unit 51 and a port opening/closing unit 53.

동적상황정보 수집부(51)는 프로세서(10)의 동적 상황을 나타내는 적어도 하나의 동적상황정보를 수집한다. 이때, 동적상황정보 수집부(51)는 바이오스나 운영체제에 미리 구현된 수단일 수 있으나, 동적상황정보의 수집을 위하여 별도로 구현된 장치일 수 있다. 예를 들면, 동적상황정보는 프로세서(10)에 의해 제공되는 프로세서의 특정 이벤트에 관한 정보일 수 있다. 다른 예를 들면, 동적상황정보는 캐쉬 실패율 또는 사이클 당 명령어 중 적어도 하나일 수 있다.The dynamic situation information collection unit 51 collects at least one dynamic situation information representing a dynamic situation of the processor 10. In this case, the dynamic context information collection unit 51 may be a means implemented in advance in a BIOS or an operating system, but may be a separately implemented device for collecting dynamic context information. For example, the dynamic context information may be information about a specific event of the processor provided by the processor 10. For another example, the dynamic context information may be at least one of a cache failure rate or an instruction per cycle.

포트 개폐부(53)는 수집된 동적상황정보에 기초하여 외부 메모리(30)에 구비된 다수의 입출력 단자 중 적어도 일부를 활성화 또는 비활성화시킴으로써 외부 메모리(30)의 대역폭을 조정할 수 있다. 활성화 또는 비활성화는 입출력 단자마다 각각 수행할 수 있다. 예를 들면, 포트 개폐부(53)는 메모리 인터페이스 상에서 입출력 단자를 개방(switch off)함으로써 그 입출력 단자를 비활성화시킬 수 있다. 또한, 입출력 단자를 연결(switch on)함으로써 그 입출력 단자를 활성화시킬 수 있다. The port opening/closing unit 53 may adjust the bandwidth of the external memory 30 by activating or deactivating at least some of the plurality of input/output terminals provided in the external memory 30 based on the collected dynamic situation information. Activation or deactivation can be performed for each input/output terminal. For example, the port opening/closing unit 53 can disable the input/output terminal by switching off the input/output terminal on the memory interface. Also, by switching on the input/output terminals, the input/output terminals can be activated.

일 실시예에 따른 포트 개폐부(53)는 수집된 캐쉬 실패율과 미리 설정된 한계값을 비교함으로써 프로세서(10)의 동적성능의 변화를 판단할 수 있다. 예컨대, 캐쉬 실패율이 높은 경우, 데이터 대기 시간이 증가하게 되므로, 프로세서(10)의 동적성능이 저하된 것으로 판단할 수 있다. 마찬가지로, 캐쉬 실패율이 낮은 경우, 데이터 대기 시간이 짧아지므로, 프로세서(10)의 동적성능이 향상된 것으로 판단할 수 있다. 포트 개폐부(53)는 판단된 결과에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리(30)의 대역폭을 조정할 수 있다.The port opening/closing unit 53 according to an embodiment may determine a change in dynamic performance of the processor 10 by comparing the collected cache failure rate with a preset limit value. For example, when the cache failure rate is high, since the data waiting time increases, it may be determined that the dynamic performance of the processor 10 is deteriorated. Likewise, when the cache failure rate is low, the data waiting time is shortened, so it can be determined that the dynamic performance of the processor 10 is improved. The port opening/closing unit 53 may adjust the bandwidth of the external memory 30 by activating or deactivating, respectively, a plurality of input/output terminals provided in the external memory 30 according to the determined result.

다른 실시예에 따른 포트 개폐부(53)는 사이클 당 명령어의 평균값에 기초하여미리 프로세서(10)의 동적성능의 변화를 판단할 수 있다. 예컨대, 설정된 기준에 따라 일정한 구간 동안 수집된 사이클 당 명령어에 대한 평균값을 계산하고 계산된 평균값의 변화를 감지할 수 있다. 그리고, 포트 개폐부(53)는 판단된 결과에 따라 외부 메모리(30)에 구비된 다수의 입출력 단자를 각각 활성화 또는 비활성화시킴으로써 외부 메모리의 대역폭을 동적으로 조정할 수 있다.The port opening/closing unit 53 according to another exemplary embodiment may determine a change in dynamic performance of the processor 10 in advance based on an average value of instructions per cycle. For example, according to a set criterion, an average value for commands per cycle collected during a certain period may be calculated and a change in the calculated average value may be detected. Further, the port opening/closing unit 53 may dynamically adjust the bandwidth of the external memory by activating or deactivating each of the input/output terminals provided in the external memory 30 according to the determined result.

또 다른 실시예에 따른 포트 개폐부(53)는 수집된 둘 이상의 동적상황정보(캐쉬 미스율, 사이클 당 명령어 등)에 기초하여 프로세서(10)의 동적성능변화를 판단하고, 판단된 결과에 따라 외부 메모리(30)의 대역폭을 조정할 수 있다. The port opening/closing unit 53 according to another embodiment determines the dynamic performance change of the processor 10 based on the collected two or more dynamic situation information (cache miss rate, instruction per cycle, etc.), and the external memory according to the determined result. You can adjust the bandwidth of 30.

이와 같은 메모리 대역폭 조정기(50)는 입출력 단자 수준에서 외부 메모리(30)의 대역폭을 조정함으로써, 메모리 대역폭을 미세하게 조절할 수 있다. 또한, 메모리 대역폭 조정기(50)는 프로세서의 동적인 상황을 고려하여 외부 메모리(30)의 대역폭을 조정함으로써, 응용 프로그램의 작업부하에 따라 요구되는 메모리 대역폭에 맞추어 외부 메모리(30)의 대역폭을 동적으로 조정할 수 있다. 이를 통해, 높은 대역폭을 가지는 외부 메모리(30)에서 소비되는 누설 에너지를 줄일 수 있어, 응용 프로그램 실행에 따른 전력소모를 감소시킬 수 있다.The memory bandwidth adjuster 50 may finely adjust the memory bandwidth by adjusting the bandwidth of the external memory 30 at the input/output terminal level. In addition, the memory bandwidth adjuster 50 adjusts the bandwidth of the external memory 30 in consideration of the dynamic situation of the processor, so that the bandwidth of the external memory 30 is dynamically adjusted according to the memory bandwidth required according to the workload of the application program. Can be adjusted with Through this, it is possible to reduce the leakage energy consumed in the external memory 30 having a high bandwidth, it is possible to reduce power consumption according to the execution of the application program.

도 6은 메모리 대역폭 조정기를 예시한 다른 도면이다.6 is another diagram illustrating a memory bandwidth adjuster.

도 6을 참조하면, 메모리 대역폭 조정기(50)는 동적상황정보 수집부(51), 포트 개폐부(53), 대역폭 디폴트 환원부(55)를 포함한다. 동적상황정보 수집부(51), 메모리 포트 개폐부(53)는 도 5을 참조하여 상술한 내용과 동일하므로, 이하에서는 대역폭 디폴트 환원부(55)에 대하여만 상세히 설명하도록 한다.Referring to FIG. 6, the memory bandwidth adjuster 50 includes a dynamic situation information collection unit 51, a port opening/closing unit 53, and a bandwidth default reduction unit 55. Since the dynamic situation information collection unit 51 and the memory port opening/closing unit 53 are the same as those described above with reference to FIG. 5, only the bandwidth default reduction unit 55 will be described in detail below.

대역폭 디폴트 환원부(55)는 수집된 동적상황정보에 기초한 외부 메모리의 대역폭 조정에도 프로세서의 동적성능의 변화가 없는 경우, 외부 메모리의 대역폭을 디폴트 대역폭으로 환원할 수 있다. 다시 말하면, 대역폭 디폴트 환원부(55)는 수집된 동적상황정보에 기초하여 판단된 프로세스(10)의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단되는 경우, 외부 메모리(30)의 대역폭을 디폴트 대역폭으로 환원한다.The bandwidth default reduction unit 55 may reduce the bandwidth of the external memory to the default bandwidth when there is no change in the dynamic performance of the processor even though the bandwidth of the external memory is adjusted based on the collected dynamic situation information. In other words, when it is determined that the change in the dynamic performance of the process 10 determined based on the collected dynamic situation information is not related to the memory bandwidth, the bandwidth default reduction unit 55 defaults the bandwidth of the external memory 30. It is reduced to bandwidth.

예를 들면, 대역폭 디폴트 환원부(55)는 수집된 캐시 실패율에 기초한 메모리 대역폭 조정으로 대역폭이 최대 대역폭에 도달했음에도 이후 수집된 캐쉬 실패율이 한계값보다 계속하여 높은 경우, 수집된 캐쉬 실패율에 기초하여 판단된 프로세스의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단하여 외부 메모리(30)의 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다.For example, the bandwidth default reduction unit 55 adjusts the memory bandwidth based on the collected cache failure rate, and if the collected cache failure rate continues to be higher than the limit value even though the bandwidth reaches the maximum bandwidth, based on the collected cache failure rate. It is determined that the determined change in the dynamic performance of the process is not related to the memory bandwidth, and the memory bandwidth of the external memory 30 may be reduced to the default bandwidth.

다른 예를 들면, 대역폭 디폴트 환원부(55)는 수집된 사이클 당 명령어에 기초한 외부 메모리(30)의 메모리 대역폭 조정으로 대역폭이 최대 대역폭에 도달했음에도 이후 계산된 사이클 당 명령어의 평균값이 계속하여 감소하는 경우, 수집된 사이클 당 명령어에 기초하여 판단된 프로세스의 동적성능의 변화가 메모리 대역폭과 관계없는 것으로 판단하여 외부 메모리(30)의 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다.For another example, the bandwidth default reduction unit 55 adjusts the memory bandwidth of the external memory 30 based on the collected instructions per cycle, so that even though the bandwidth reaches the maximum bandwidth, the average value of instructions per cycle calculated afterwards continues to decrease. In this case, it is determined that the change in the dynamic performance of the process determined based on the collected instructions per cycle is not related to the memory bandwidth, and thus the memory bandwidth of the external memory 30 may be reduced to the default bandwidth.

대역폭 디폴트 환원부(55)는 포트 개폐부(53)를 통하여 메모리 대역폭을 디폴트 대역폭으로 환원할 수 있다.The bandwidth default reduction unit 55 may reduce the memory bandwidth to the default bandwidth through the port opening/closing unit 53.

전술한 실시 예들은 기술적 사상을 예시적으로 설명하기 위한 것으로 권리범위가 이러한 특정 실시 예에 한정되지 아니할 것이다.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.
제1항에 있어서,
상기 대역폭을 동적으로 조정하는 단계는,
상기 동적 상황에 따라 상기 대역폭을 확장하여야 하는 경우, 상기 다수의 입출력 단자 중 비활성화 상태인 입출력 단자 중 적어도 일부를 신규로 활성화하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.
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.
제1항에 있어서,
상기 대역폭을 동적으로 조정하는 단계는,
상기 동적 상황에 따라 상기 대역폭을 축소하여야 하는 경우, 상기 다수의 입출력 단자 중 활성화 상태인 입출력 단자 중 적어도 일부를 신규로 비활성화하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.
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.
제1항에 있어서,
상기 동적상황정보는 캐쉬 실패율 및 상기 프로세서가 처리하는 사이클 당 명령어 수 중 적어도 하나인, 메모리 대역폭 조정 방법.
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.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제1항에 있어서,
상기 대역폭을 동적으로 조정하는 단계 후에,
상기 프로세서의 상기 동적 상황과 조정된 대역폭 간의 관련성이 없는 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.
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.
제10항에 있어서,
상기 환원하는 단계에서,
대역폭이 조정된 후의 동적상황정보에 기초하여, 상기 관련성의 존부를 판단하는 메모리 대역폭 조정 방법.
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.
제1항에 있어서,
상기 대역폭을 동적으로 조정하는 단계 후에,
상기 대역폭이 최대 대역폭으로 조정되었는데도 상기 동적 상황이 개선되지 않은 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.
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.
제 13항에 있어서,
상기 포트 개폐부는,
상기 동적 상황에 따라 상기 대역폭을 확장하여야 하는 경우, 상기 다수의 입출력 단자 중 비활성화 상태인 입출력 단자 중 적어도 일부를 신규로 활성화하는 메모리 대역폭 조정기.
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.
제13항에 있어서,
상기 포트 개폐부는,
상기 동적 상황에 따라 상기 대역폭을 축소하여야 하는 경우, 상기 다수의 입출력 단자 중 활성화 상태인 입출력 단자 중 적어도 일부를 신규로 비활성화하는 메모리 대역폭 조정기.
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.
제13항에 있어서,
상기 동적상황정보는 캐쉬 실패율 및 상기 프로세서가 처리하는 사이클 당 명령어 수 중 적어도 하나인, 메모리 대역폭 조정기.
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.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 제13항에 있어서,
상기 대역폭을 동적으로 조정한 후, 상기 프로세서의 상기 동적 상황과 조정된 대역폭 간의 관련성이 없는 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 대역폭 디폴트 환원부;를 더 포함하는 메모리 대역폭 조정기.
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.
제22항에 있어서,
상기 대역폭 디폴트 환원부는, 대역폭이 조정된 후의 동적상황정보에 기초하여, 상기 관련성의 존부를 판단하는 메모리 대역폭 조정기.
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.
제22항에 있어서,
상기 대역폭 디폴트 환원부는, 상기 대역폭이 최대 대역폭으로 조정되었는데도 상기 동적 상황이 개선되지 않은 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 메모리 대역폭 조정기.
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.
제25항에 있어서,
상기 조정하는 단계는,
상기 동적 상황에 기초하여 상기 대역폭을 확장하는 경우, 상기 다수의 입출력 단자 중 비활성화 상태인 입출력 단자 중 적어도 일부를 신규로 활성화하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.
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.
제25항에 있어서,
상기 조정하는 단계는,
상기 동적 상황에 기초하여 상기 대역폭을 축소하는 경우, 상기 다수의 입출력 단자 중 활성화 상태인 입출력 단자 중 적어도 일부를 신규로 비활성화하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.
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.
제25항에 있어서,
상기 동적 상황은 상기 프로세서의 캐쉬 실패율 및 상기 프로세서가 처리하는 사이클 당 명령어 수 중 적어도 하나인, 메모리 대역폭 조정 방법.
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.
삭제delete 제25항에 있어서,
상기 조정하는 단계 후에,
상기 프로세서의 상기 동적 상황과 조정된 대역폭 간의 관련성이 없는 경우, 상기 조정된 대역폭을 디폴트 대역폭으로 환원하는 단계;를 더 포함하는 메모리 대역폭 조정 방법.
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.
제30항에 있어서,
상기 환원하는 단계에서,
대역폭이 조정된 후의 동적 상황에 기초하여, 상기 관련성의 존부를 판단하는, 메모리 대역폭 조정 방법.
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.
KR1020130134908A 2013-04-30 2013-11-07 Computing apparutus, method for scaling memory bandwidth thereof and memory bandwidth scaler Active KR102157326B1 (en)

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)

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

Patent Citations (3)

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