KR20090046841A - Power Management in Data Processing Devices with Masters and Slaves - Google Patents
Power Management in Data Processing Devices with Masters and Slaves Download PDFInfo
- Publication number
- KR20090046841A KR20090046841A KR1020097003290A KR20097003290A KR20090046841A KR 20090046841 A KR20090046841 A KR 20090046841A KR 1020097003290 A KR1020097003290 A KR 1020097003290A KR 20097003290 A KR20097003290 A KR 20097003290A KR 20090046841 A KR20090046841 A KR 20090046841A
- Authority
- KR
- South Korea
- Prior art keywords
- slave
- master
- unit
- transaction
- units
- 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.)
- Ceased
Links
- 238000012545 processing Methods 0.000 title claims abstract description 23
- 230000004044 response Effects 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims description 72
- 238000012546 transfer Methods 0.000 claims description 12
- 230000007704 transition Effects 0.000 claims description 6
- 238000003672 processing method Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000003111 delayed effect Effects 0.000 claims description 2
- 230000001404 mediated effect Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000010248 power generation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
인터커넥트(14)에 의해 접속되는 마스터 유닛(8,10)과 슬레이브 유닛(6, 18, 20)을 포함하는 집적회로 등의 장치(2)가 개시되어 있다. 트랜잭션으로 전달되는 통상의 데이터 신호(22) 및 어드레스 신호(24) 외에도, 다음 트랜잭션이 슬레이브 유닛에 전달될 때까지 시간 간격을 특정하는 사용 신호(26)가 전달된다. 로컬 슬레이브 전력 제어기(34)는 그러한 사용 신호(26)에 응답해서 저전력 모드로 전환하고, 우선적으로 수신되어야 하는 다음 트랜잭션에 응답하기 위한 적정 시간에 동작 모드로 되돌아간다.An apparatus 2, such as an integrated circuit, comprising a master unit 8, 10 and a slave unit 6, 18, 20 connected by an interconnect 14 is disclosed. In addition to the usual data signal 22 and address signal 24 delivered in a transaction, a usage signal 26 is also specified which specifies the time interval until the next transaction is delivered to the slave unit. The local slave power controller 34 switches to the low power mode in response to such usage signal 26 and returns to the mode of operation at the appropriate time to respond to the next transaction that must be received first.
인터커넥트, 마스터, 슬레이브, 트랜잭션, 데이터 처리장치 Interconnect, Master, Slave, Transaction, Data Processing Unit
Description
본 발명은 데이터 처리장치의 분야에 관한 것이다. 특히, 본 발명은 그러한 장치 내부의 전력 소모의 관리에 관한 것이다.The present invention relates to the field of data processing apparatus. In particular, the present invention relates to the management of power consumption inside such devices.
휴대전화 및 컴퓨터 등의 시스템 온 칩 집적회로 및 장치들의 전력 소모는 중요한 관심사다. 휴대할 수 없는 장치에 있어서도, 전력 소모를 줄이는 것은 중요한데, 왜냐하면 전력 소모를 줄이면 비용이 줄어들고, 냉각, 패키징(packaging) 및 발전 시설의 설계가 단순화되어, 신뢰성이 증가하기 때문이다.Power consumption of system-on-chip integrated circuits and devices such as mobile phones and computers is an important concern. Even for non-portable devices, reducing power consumption is important because reducing power consumption reduces costs, simplifies the design of cooling, packaging, and power generation facilities, increasing reliability.
공지의 전력 관리 방식은 2가지의 주 그룹으로 나뉜다. 우선 가장 일반적인 종류는, 예를 들면, 어떤 비활성의 기간 후에 표시를 오프하거나 CPU 클럭을 다운하는, 아이들 타임아웃(idle timeouts) 등의 휴리스틱(heuristic) 전력 관리 방식이다. 두 번째의 종류는, 스토캐스틱(stochastic) 또는 마르코브(markove) 모델을 이용해서, 예를 들면, 장치가 사용되지 않고 그것을 중지시키는 경우를 예측하려고 시도하는 방식이다. 이러한 종류의 방식은 작동 시스템 레벨에서 제어되는 적응형 주파수 및 전압 크기 조정(scaling)을 포함한다.Known power management schemes are divided into two main groups. First and foremost, the most common kind is a heuristic power management scheme, such as idle timeouts, for example, turning off the display after a period of inactivity or down the CPU clock. The second kind is by using a stochastic or markov model, for example, attempting to predict when the device is not in use and stopping it. This kind of approach involves adaptive frequency and voltage scaling controlled at the operating system level.
공지의 전력 관리 방식의 개론은, "A Survey of Design Techniques For System Level Dynamic Power Management" by Luca Benini et al, IEEE Transactions On Very Large Scale Integration(VLSI) Systems, Volume 8, No.3, June 2002에서 발견할 수 있다.An overview of known power management approaches is provided in "A Survey of Design Techniques For System Level Dynamic Power Management" by Luca Benini et al, IEEE Transactions On Very Large Scale Integration (VLSI) Systems,
상기의 모든 방식의 문제점은, 일부의 파워 딜레이 트레드 오프(power-delay trade off)를 유도하기 쉽다는 점, 즉 이들 방식은 전력을 절약하지만, 레이턴시(latency)를 증가시킨다는 점이다. 많은 처리 유닛들 및 주변장치들을 포함하는 시스템 온 칩 시스템에 있어서의 전력 관리가 특히 어렵다. 예를 들면, 메모리 등의 공유 주변장치는 특별한 시간 간격으로 특별한 처리기에 의해 사용되지만, 그 간격 동안 다른 처리기에 의해 낮은 레이턴시에서 요구될 수도 있다. AMBA 3 AXI 전력 관리 채널 및 IEEE 802.11 무선 프로토콜 등의 공지의 방식은, 그러한 시스템 전력 문제점을 해결하기 위해서 한 전력 관리자에 의존한다. 이들 집중화된 방식은 보다 큰 시스템에는 잘 스케일(scale)시키지 않는다. 메인 통신 버스에 어렵게 라우트(route)되는 전력 관리 신호화(signaling)의 통합은 추가의 오버헤드를 나타내어 어려움을 준다.The problem with all of the above schemes is that it is easy to induce some power-delay trade off, i.e. these schemes save power but increase latency. Power management is particularly difficult in system-on-chip systems that include many processing units and peripherals. For example, shared peripherals such as memory are used by special processors at special time intervals, but may be required at low latency by other processors during that interval. Known schemes, such as the AMBA 3 AXI power management channel and IEEE 802.11 wireless protocol, rely on one power manager to solve such system power problems. These centralized approaches do not scale well to larger systems. The integration of power management signaling, which is difficult to route to the main communication bus, presents additional overhead and challenges.
본 발명의 일 국면에 따른 데이터 처리장치는, Data processing apparatus according to an aspect of the present invention,
1개 이상의 마스터 유닛과,One or more master units,
1개 이상의 슬레이브 유닛과,One or more slave units,
상기 1개 이상의 마스터 유닛과 상기 1개 이상의 슬레이브 유닛 간의 배선 경로를 따라, 데이터 전송 트랜잭션들을 포함하는, 트랜잭션들을 라우트하도록 상기 1개 이상의 마스터 유닛과 상기 1개 이상의 슬레이브 유닛에 접속된 인터커넥트 를 구비하고,An interconnect connected to the at least one master unit and the at least one slave unit to route transactions, including data transfer transactions, along a wiring path between the at least one master unit and the at least one slave unit; ,
상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛이 수신하는 트랜잭션은, 다음 트랜잭션이 상기 1개 이상의 슬레이브 유닛 중의 상기 적어도 한 개의 슬레이브 유닛에 전해지는 경우를 나타내는 사용 예측(usage prediction)을 지정하는 1개 이상의 사용 신호를 포함하며,A transaction that is received by at least one slave unit of the one or more slave units is 1 that specifies usage prediction that indicates when a next transaction is passed to the at least one slave unit of the one or more slave units. Contains more than one usage signal,
상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛은, 상기 1개 이상의 사용 신호에 응답하여, 상기 1개 이상의 슬레이브 유닛 중의 상기 적어도 한 개의 슬레이브 유닛을, 상기 다음 트랜잭션이 수신될 것으로 예상되기 전의 기간에서 제1의 슬레이브 전력 상태로 전환하고, 상기 1개 이상의 슬레이브 유닛 중의 상기 적어도 한 개의 슬레이브 유닛을, 상기 다음 트랜잭션을 서비스하기 위한 적정 시간에 제2의 슬레이브 전력 상태로 전환하는 로컬 슬레이브 전력 제어기를 구비하고, 상기 제1의 슬레이브 전력 상태는 상기 제2의 슬레이브 전력 상태보다 더 낮은 전력 소모를 갖고, 상기 제1의 슬레이브 전력 상태는 상기 제2의 슬레이브 전력 상태보다 긴 응답 레이턴시(response latency)를 갖는다.At least one slave unit of the one or more slave units, in response to the one or more usage signals, selects the at least one slave unit of the one or more slave units before the next transaction is expected to be received. A local slave power controller which transitions to a first slave power state in the second slave power state and switches the at least one slave unit of the one or more slave units to a second slave power state at a suitable time for servicing the next transaction. Wherein the first slave power state has lower power consumption than the second slave power state, and wherein the first slave power state has a response latency longer than the second slave power state. Have
본 기술은 마이크로 아키텍처(micro-architectureal) 레벨에서 장치가 신호화(signaling)되도록 비활성화되는 기간을 거의 정확게 표시하는 것을 가능하게 함으로써 파워 딜레이 트레드 오프가 감소된 전력을 관리하려고 시도한다. 이것에 의해 복잡하고 부정확한 발견(heuristic) 및/또는 예측 모델에 대한 요구사항이 제거된다. 본 기술은, 전력 관리를 개개의 슬레이브 및 마스터에 위임한다. 그것은 관련된 복잡한 중앙 전력 제어기를 필요로 하지 않기 때문에 쉽게 스케일(scalable) 할 수 있다.The technique attempts to manage power with reduced power delay tread-off by making it possible to almost accurately indicate the period of time during which devices are deactivated to be signaled at the micro-architectureal level. This eliminates the need for complex and inaccurate heuristic and / or predictive models. This technique delegates power management to individual slaves and masters. It can be easily scaled because it does not require a complex central power controller involved.
바람직한 실시 예에 있어서, 좀더 일반적으로 사용신호들이 그들 자신의 라우팅/버스를 가질 수 있더라도, 전력 관리 신호들은 이행(implementation)과 확장성(scalability)을 완화하기 위한 다른 통신 신호들과 함께 라우트될 수 있다. 배선 경로는 함께 라우트된 다양한 신호들을 가진 결합된 버스 또는 그들 자신의 라우팅을 가진 여러 개의 분리 버스일 수도 있다. 표준 통신의 일부로서의 전력 관리 신호화를 포함하면 확장성에 도움이 된다.In a preferred embodiment, power management signals may be routed along with other communication signals to mitigate implementation and scalability, although more generally the usage signals may have their own routing / bus. have. The wiring path may be a combined bus with various signals routed together or several separate buses with their own routing. Including power management signaling as part of standard communications helps with scalability.
사용 신호들은 초기화되고 있는 트랜잭션과 그 트랜잭션을 위한 타겟과의 사이의 서로 다른 포인트에서 발생 및 변경(중재)될 수 있다. 마스터 유닛은, 슬레이브에 트랜잭션을 발행하기 위해 언제 옆에 있었는지를 정확하게 식별해서 그 트랜잭션과 함께 적절한 사용 신호들을 조직화할 수 있을 것이므로, 사용 신호들의 하나의 중요한 소스는, 트랜잭션을 발행하는 마스터 유닛이다. 사용 신호들을 삽입 또는 변경하기 위한 또 다른 적절한 포인트는, 인터커넥트의 레벨에 있을 것인데, 그것은, 예를 들면 인터커넥트 내에서 행해지는 중재 결정으로 인해, 전체로서 장치의 상태와 관련된 정보를 가질 것이고, 주어진 슬레이브의 사용이 그 트랜잭션을 초기화하는 마스터로 표시되는 것보다 긴 기간 동안 반복될 것 같지 않다는 것을 판정할 수도 있다.Usage signals may be generated and changed (mediated) at different points between the transaction being initialized and the target for that transaction. One important source of usage signals is the master unit issuing the transaction, because the master unit will be able to accurately identify when it was next to issue a transaction to the slave and organize appropriate usage signals with that transaction. . Another suitable point for inserting or changing usage signals would be at the level of the interconnect, which would have information relating to the state of the device as a whole, for example due to an arbitration decision made within the interconnect, It may be determined that the use of is unlikely to be repeated for a longer period of time than indicated by the master initiating the transaction.
바람직한 실시 예에 있어서의 인터커넥트는, 복수의 마스터 유닛으로부터의 각각의 트랜잭션이 사용 신호들 사이를 중재하는 기능을 제공하여, 목표 슬레이브 장치에 전달되는 중재된 사용 신호를 제공한다. 인터커넥트는, 어떤 사용 신호를 타겟 슬레이브 장치에 전달할 것인가를 결정할 때 현 트랜잭션과 관련된 정보뿐만 아니라 이전 사용 정보 및 슬레이브에 대한 이전의 트랜잭션을 고려한 위치에 있다.The interconnect in a preferred embodiment provides the ability for each transaction from a plurality of master units to mediate between usage signals, thereby providing an arbitrated usage signal that is delivered to the target slave device. The interconnect is in a position that considers previous usage information and previous transactions for the slave as well as information related to the current transaction in determining which usage signal to send to the target slave device.
슬레이브 유닛에 제공된 정교함(sophistication)의 레벨은 변할 수 있고, 바람직하게는 슬레이브 유닛은, 각각의 전력 소모와 응답 레이턴시를 갖는 복수의 저전력 상태를 가질 것이고, 전형적으로는 전력소모가 작을수록 응답 레이턴시가 더 커진다. 다음 트랜잭션이 도달할 것으로 예상되기 전의 간격에 의존해서, 슬레이브 유닛은 진입하기 위한 적절한 파워다운 모드를 선택할 수 있고, 예를 들면, 진입하는데 긴 기간이 걸리고, 다음 트랜잭션에 대한 간격이 짧을 때는 탈출하는데 긴 시간이 걸리는 딥 파워다운 모드에 진입하는 것은 가치가 없을 수도 있지만, 약간의 전력을 절약하기 위해 그 짧은 기간 동안 클럭을 간단히 정지시키는 것은 가치가 있을 수도 있다.The level of sophistication provided to the slave unit may vary, and preferably the slave unit will have a plurality of low power states with respective power consumption and response latency, and typically, the smaller the power consumption, the more the response latency will be. Gets bigger Depending on the interval before the next transaction is expected to arrive, the slave unit can select an appropriate power-down mode to enter, for example, it takes a long time to enter and exits when the interval for the next transaction is short. Entering a long time deep power-down mode may not be worthwhile, but simply stopping the clock for that short period of time to save some power may be worthwhile.
또한, 복수의 슬레이브 유닛에 의해 유리하게 공유될 수 있는 로컬 슬레이브 전력 제어기는 다음 트랜잭션에 대한 간격뿐만 아니라 슬레이브 유닛의 현재의 상태에 의존해서 저전력 상태를 선택할 수 있고, 예를 들면, 특별한 트랜잭션과 접속되어 있지 않은 어떤 다른 활동을 서비스하는 등, 관계있는 슬레이브 유닛과 관련된 어떤 다른 상태 변수(state variable)가 있을 수 있는데, 그것은, 슬레이브 유닛이 다음 트랜잭션에 대한 간격으로 표시된 특별한 저전력 모드로 파워다운할 수 없다는 것을 나타낸다.In addition, the local slave power controller, which can be advantageously shared by a plurality of slave units, can select a low power state depending on the current state of the slave unit as well as the interval for the next transaction, for example, to connect with a particular transaction. There may be some other state variable associated with the associated slave unit, such as servicing some other activity that is not scheduled, which could allow the slave unit to power down to a special low power mode indicated at intervals for the next transaction. Indicates no.
상기는 적절한 로컬 슬레이브 전력 제어기를 내장하고 있는 한 개의 슬레이 브 유닛만의 관점에서 설명되어서 유용하지만, 이 기술은, 다수의 슬레이브 유닛이 사용 신호들에 응답해서 각각의 로컬 슬레이브 전력 제어기를 포함하는 시스템에서 쉽게 스케일가능하고 유리하다는 것을 인식할 수 있을 것이다. 마찬가지로, 이 기술은 사용 신호들을 발생하기 위한 적절하게 구성된 다수의 마스터 유닛들을 내장하고 있는 시스템에 매우 적합하다.The above is useful because it is described in terms of only one slave unit incorporating a suitable local slave power controller, but this technique is a system in which multiple slave units include each local slave power controller in response to usage signals. It will be appreciated that it is readily scalable and advantageous at. Likewise, this technique is well suited for systems containing a large number of properly configured master units for generating usage signals.
바람직한 기술에 의하면, 상기 1개 이상의 마스터 유닛 중의 한 개의 마스터 유닛으로부터의 트랜잭션 수신시의 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛은, 상기 1개 이상의 마스터 유닛 중의 상기 한 개의 마스터 유닛에 수신통지(acknowledgement)를 발행하고, 상기 수신통지는 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛이 상기 1개 이상의 마스터 유닛 중의 한 개의 마스터 유닛에 대한 상기 트랜잭션을 완료하는 경우를 나타내는 1개 이상의 지연 예측 신호들을 포함하고,According to a preferred technique, at least one slave unit of the one or more slave units upon receiving a transaction from one master unit of the one or more master units is received by the one master unit of the one or more master units. One or more delays that issue an acknowledgment, wherein the receipt notification indicates when at least one slave unit of the one or more slave units completes the transaction for one master unit of the one or more master units; Includes prediction signals,
상기 1개 이상의 마스터 유닛 중의 한 개의 마스터 유닛은, 상기 1개 이상의 지연된 예측 신호에 응답하여, 상기 1개 이상의 마스터 유닛 중의 한 개의 마스터 유닛을, 상기 트랜잭션의 완료가 예상되기 전의 간격에서 제1의 마스터 전력 상태로 전환하고, 상기 1개 이상의 마스터 유닛 중의 한 개의 마스터 유닛을, 상기 트랜잭션의 완료를 위한 적절한 시간에 제2의 마스터 전력 상태로 전환하는 로컬 마스터 전력 제어기를 구비하고, 상기 제1의 마스터 전력 상태는 상기 제2의 마스터 전력 상태보다 더 낮은 전력 소모를 갖고, 상기 제1의 마스터 전력 상태는 상기 제2의 마스터 전력 상태보다 더 긴 응답 레이턴시를 갖는다.One master unit of the one or more master units may, in response to the one or more delayed prediction signals, select one master unit of the one or more master units in a first interval at an interval before the completion of the transaction is expected. A local master power controller for transitioning to a master power state and transitioning one of said one or more master units to a second master power state at an appropriate time for completion of said transaction; The master power state has a lower power consumption than the second master power state, and the first master power state has a longer response latency than the second master power state.
사용 신호들에 따른 슬레이브 유닛들의 지능적이고 결정론적인 파워다운은 마스터 유닛들로 역행하여 확장될 수 있다. 트랜잭션의 수신시 슬레이브 유닛(아마도 사용 신호 라인/접속을 재사용)으로부터 되돌아온 수신통지 신호는, 슬레이브 유닛이 트랜잭션을 완료할 수 있으려면 얼마나 시간이 더 걸리는지를 나타낼 수 있으므로, 마스터 유닛이 트랜잭션의 완료를 기다리는 동안 저전력 모드에 진입할 가능성, 예를 들면 예를 들면 메모리 페치(fetch)를 서비스할 때의 레이턴시에 진입할 가능성이 있다.Intelligent and deterministic power down of the slave units in accordance with the usage signals can be extended back to the master units. The receipt notification signal returned from the slave unit (possibly reusing the use signal line / connection) upon receipt of the transaction may indicate how long it takes for the slave unit to complete the transaction, so that the master unit may not complete the transaction. There is a possibility to enter a low power mode while waiting, for example to enter latency when servicing a memory fetch.
본 기술 및 사용 신호들은, 주어진 트랜잭션에 포함된 마스터와 슬레이브의 전력 모드를 제어하기 위해서 사용될 뿐만 아니라, 슬레이브와 마스터와의 사이의 경로에 있어서의 1개 이상의 중재 회로를 트리거시켜서 감소된 전력 소모 상태에 진입시키는 일을 할 수도 있다. 이것은 인터커넥트의 부분을 포함할 수도 있는데, 여기에서는 그 인터커넥트의 부분이 사용 신호들로 표시된 것과 같은 결정된 기간 동안 휴지 상태에 있을 것이라는 것이 알려져 있다. 이것은 한층 더 전력을 절약할 수 있다.The present technology and usage signals are not only used to control the power mode of the master and slave involved in a given transaction, but also reduce power consumption by triggering one or more arbitration circuits in the path between the slave and the master. You can also do something to get into. This may include a portion of the interconnect, where it is known that the portion of the interconnect will be idle for a determined period of time, such as indicated by usage signals. This can further save power.
사용 신호들은 다양한 서로 다른 방식으로 지연을 나타낼 수 있지만, 제공될 필요가 있는 사용신호들의 수와 표시될 수 있는 지연 범위와의 사이의 유용한 트레드 오프(trade off)는, 대수의 인코딩이 사용되는 곳에 있는 것이다. 표현 가능한 가장 낮은 비제로 값은, 사용가능한 가장 낮은 유효한 비활성 간격보다 작은 전위 파워다운 간격을 전달할 가치가 없으므로 통신될 수도 있는 슬레이브 중의 어느 것인가의 가장 낮은 유효한 비활성 간격에 대응하도록 선택될 수 있다.The signals used may represent a delay in a variety of different ways, but a useful trade off between the number of signals used to be provided and the delay range that can be indicated is where a large number of encodings are used. It is. The lowest non-zero representable value may be selected to correspond to the lowest valid inactive interval of any of the slaves that may be communicating since it is not worth delivering a potential power down interval less than the lowest valid inactive interval available.
다음 트랜잭션까지의 시간이 불명확한 경우, 이것은 사용 신호들에 의해서도 전달될 수 있고, 로컬 슬레이브 전력 제어기는 그것에 응답해서 원한다면 저전력 소모 모드로 전환할 수 있다. 슬레이브 유닛은 다음 트랜잭션을 위한 적절한 시간에 우선적으로 파워 업하는 것이 불가능하기 때문에 어떤 레이턴시가 그러한 불명확한 시간 간격과 관련이 있을 것이라는 것을 인식할 것이다.If the time until the next transaction is unclear, it can also be conveyed by the usage signals, and the local slave power controller can respond to it and switch to a low power consumption mode if desired. The slave unit will recognize that some latency will be associated with such an indeterminate time interval because it is impossible to preferentially power up at the appropriate time for the next transaction.
어느 사용신호를 주장할지를 사용 신호들의 소스가 선택할 수 있는 방식은 변할 수 있다. 한 형태의 실시 예에 있어서, 사용 지정 레지스터는 마스터 유닛과 관련되어 있어도 되고, 마스터 유닛에서 일어나는 트랜잭션과 관련해서 어느 사용 신호가 발생되어야 하는지를 지정하는 값으로 소프트웨어 제어 하에서 기록가능할 수도 있다. 이것에 의해 사용 신호들이 지정되는 방식으로 많은 유연성이 제공되지만, 그 대가로 어떤 소프트웨어 중재가 필요하게 된다. 그러한 사용 값의 소프트웨어 프로그래밍은 파워업시 또는 시스템 초기화시에 행해질 수 있다. The manner in which the source of use signals can select which use signal to claim may vary. In one form of embodiment, the usage designation register may be associated with the master unit or may be writable under software control to a value that specifies which usage signal should be generated in connection with a transaction occurring in the master unit. This provides a great deal of flexibility in the way the signals used are specified, but in return some software intervention is required. Software programming of such usage values can be done at power up or at system initialization.
선택적인 것으로서, 또는 사용 신호들을 지정하기 위한 레지스터의 사용 외에, 사용 신호값이 마스터로서 기능하고 트랜잭션을 초기화하는 프로세서에서 실행되는 프로그램 명령 내에서 인코딩될 수도 있다. 따라서, 프로그램에 의해 초기화되는 다음 트랜잭션이 발생할 때를 알고 있는 것으로, 각 트랜잭션은 컴파일러에 의해 자동적으로 소프트웨어가 기록되었던 시간에서 결정되었던 것과 관련된 그 자신의 사용신호를 가질 수 있다.As an alternative, or in addition to the use of a register to designate the usage signals, the usage signal value may be encoded in a program instruction executed in a processor that functions as a master and initiates a transaction. Thus, knowing when the next transaction initiated by the program occurs, each transaction can have its own usage signal associated with what was determined at the time the software was automatically written by the compiler.
또 다른 선택적인 것 또는 추가는, 스레드 액티비티(thread activity)와 같은 시스템의 파라미터를 모니터링하는 작동 시스템 프로그램이, 슬레이브에 발행되 고 있는 트랜잭션과 사용 값을 관련짓기 위한 적절한 프로그램 명령을 지정해서 이용하기 위해서 어떤 사용 값을 결정하는 곳에 있을 것이다. Another option or addition is to use an operating system program that monitors system parameters, such as thread activity, by specifying the appropriate program command to associate usage values with transactions being issued to the slave. In order to determine what value to use.
다음 트랜잭션에 대한 간격에 관한 정보를 전달하는 것뿐 아니라, 사용 신호들을 이용해서, 로컬 셧다운, 글로벌 셧다운, 로컬 슬립, 글로벌 슬립, 로컬 클록 정지, 글로벌 클럭 정지, 로컬 클럭 속도 지정, 글로벌 클럭 속도 지정, 낮은 동작 전압 모드, 낮은 리키지 모드, 웨이크업 및/또는 간격 확장 등의, 파워 커맨드들을 전달할 수도 있다. 사용 신호들은 이미 인터커넥트를 통해서 라우트되므로 시스템 주위의 파워 커맨드들을 전달하기 위한 편리한 전달수단(vehicle)을 제공한다.In addition to passing information about the interval for the next transaction, use signals to use local shutdown, global shutdown, local sleep, global sleep, local clock stop, global clock stop, local clock rate specification, global clock rate specification. Power commands, such as, low operating voltage mode, low leakage mode, wake up and / or interval extension, and the like. Usage signals are already routed through the interconnect, providing a convenient vehicle for delivering power commands around the system.
본 기술은 넓은 다양한 서로 다른 형태를 갖는 장치들에 적용될 수도 있다는 것을 알게 될 것이다. 이 기술은 특히 집적회로 또는 멀티칩 모듈 내에서의 사용에 매우 적합하지만, 복수의 접속된 집적회로를 지닌 인쇄회로기판에도 확장가능하고, 예를 들면, 특히 전력 부족 슬레이브는 오프 칩 메모리일 것이고, 상술한 사용 신호 기술을 이용하여 이것을 파워다운하는 것이 바람직할 것이다.It will be appreciated that the present technology may be applied to a wide variety of different shaped devices. This technique is particularly well suited for use in integrated circuits or multichip modules, but is also scalable to printed circuit boards having a plurality of connected integrated circuits, for example, a particularly low power slave would be off-chip memory, It would be desirable to power this down using the usage signal technique described above.
인터커넥트는 프로세서 코어와 캐시 메모리와의 사이와 같이, 한 개의 마스터 유닛과 한 개의 슬레이브 유닛 간의 전용 접속을 포함하는, 많은 형태를 지닐 수 있지만, 그 기술은 예를 들면 영국, 캠브리지의 ARM Limited에 의해 제공된 AXI 인터커넥트 시스템 등, 좀더 일반적인 포인트 투 포인트 접속을 제공하는 인터커넥트의 환경에서 확장가능하고 특히 적용가능하다.The interconnect can take many forms, including a dedicated connection between one master unit and one slave unit, such as between the processor core and the cache memory, but the technique can be used, for example, by ARM Limited, Cambridge, UK. It is scalable and particularly applicable in the context of interconnects that provide more general point-to-point connections, such as the provided AXI interconnect system.
또 다른 국면에서 보면, 본 발명은, 1개 이상의 마스터 유닛과, 1개 이상의 슬레이브 유닛과, 상기 1개 이상의 마스터 유닛과 상기 1개 이상의 슬레이브 유닛 간의 배선 경로를 따라, 데이터 전송 트랜잭션들을 포함하는, 트랜잭션들을 라우트하도록 상기 1개 이상의 마스터 유닛 및 상기 1개 이상의 슬레이브 유닛에 접속된 인터커넥트를 이용하여 데이터를 처리하는 방법을 제공하고, 상기 데이터 처리방법은, In another aspect, the invention includes data transfer transactions along a wiring path between at least one master unit, at least one slave unit, and at least one master unit and at least one slave unit, A method of processing data using an interconnect connected to said at least one master unit and said at least one slave unit to route transactions, said data processing method comprising:
상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛에 의해 수신된 트랜잭션 - 상기 트랜잭션은, 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛에 다음 트랜잭션이 전해지는 경우를 나타내는 사용 예측을 지정하는 1개의 이상의 사용 신호를 포함한다 -을 발생하는 단계와,A transaction received by at least one slave unit of the one or more slave units, wherein the transaction specifies one usage prediction that indicates when a next transaction is passed to at least one slave unit of the one or more slave units; Generating the above usage signal;
상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛의 로컬 슬레이브 전력 제어기를 이용하는 상기 1개 이상의 사용 신호들에 응답해서, 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛을, 상기 다음 트랜잭션이 수신될 것으로 예상되기 전의 간격에서 제1의 슬레이브 전력 상태로 전환하고, 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛을, 상기 다음 트랜잭션을 서비스하기 위한 적절한 시간에 제2의 슬레이브 전력 상태로 전환하는 단계 - 상기 제1의 슬레이브 전력 상태는 상기 제2의 슬레이브 전력 상태보다 더 낮은 전력 소모를 갖고, 상기 제1의 슬레이브 전력 상태는 상기 제2의 슬레이브 전력 상태보다 긴 응답 레이턴시를 갖고 - 를 포함한다.In response to the one or more usage signals using a local slave power controller of at least one of the one or more slave units, the next transaction may be received by the at least one slave unit of the one or more slave units. Transitioning to a first slave power state in an interval before it is expected, and transitioning at least one slave unit of the one or more slave units to a second slave power state at an appropriate time to service the next transaction. The first slave power state has a lower power consumption than the second slave power state, and the first slave power state has a response latency longer than the second slave power state.
또 다른 국면에서 보면, 본 발명에 따른 데이터 처리장치는,In another aspect, the data processing apparatus according to the present invention,
1개 이상의 마스터 유닛 수단과,One or more master unit means,
1개 이상의 슬레이브 유닛 수단과,One or more slave unit means,
상기 1개 이상의 마스터 유닛 수단과 상기 1개 이상의 슬레이브 유닛 수단 간의 배선 경로를 따라, 데이터 전송 트랜잭션들을 포함하는, 트랜잭션들을 라우트하도록 상기 1개 이상의 마스터 유닛 수단과 상기 1개 이상의 슬레이브 유닛 수단에 접속된 인터커넥트 수단을 구비하고,Connected to the one or more master unit means and the one or more slave unit means to route transactions, including data transfer transactions, along a wiring path between the one or more master unit means and the one or more slave unit means. With interconnect means,
상기 1개 이상의 슬레이브 유닛 수단 중의 적어도 한 개의 슬레이브 유닛 수단이 수신한 트랜잭션은, 다음 트랜잭션이 상기 1개 이상의 슬레이브 유닛 수단 중 적어도 한 개의 슬레이브 유닛 수단에 전달되는 경우를 나타내는 사용 예측을 지정하는 1개 이상의 사용 신호를 포함하고,The transaction received by at least one slave unit means of the one or more slave unit means is one that specifies usage prediction that indicates when a next transaction is delivered to at least one slave unit means of the one or more slave unit means. More than use signal,
상기 1개 이상의 슬레이브 유닛 수단 중의 적어도 한 개의 슬레이브 유닛 수단은, 상기 1개 이상의 사용 신호에 응답하여, 상기 1개 이상의 슬레이브 유닛 수단 중의 적어도 한 개의 슬레이브 유닛 수단을, 상기 다음 트랜잭션이 수신될 것으로 예상되기 전의 간격에서 제1의 슬레이브 전력 상태로 전환하고, 상기 1개 이상의 슬레이브 유닛 수단 중의 적어도 한 개의 슬레이브 유닛 수단을 상기 다음 트랜잭션을 서비스하기 위한 적정 시간에 제1의 슬레이브 전력 상태로 전환하는, 로컬 슬레이브 전력 제어기 수단을 구비하고, 상기 제1의 슬레이브 전력 상태는 상기 제2의 슬레이브 전력 상태보다 더 낮은 전력 소모를 갖고, 상기 제1의 슬레이브 전력 상태는 상기 제2의 슬레이브 전력 상태보다 긴 응답 레이턴시를 갖는다.At least one slave unit means of the one or more slave unit means, in response to the one or more usage signals, expects at least one slave unit means of the one or more slave unit means to receive the next transaction. Local to transition to a first slave power state in an interval before the transition, and to transition at least one slave unit means of the one or more slave unit means to a first slave power state at an appropriate time for servicing the next transaction. And slave power controller means, wherein the first slave power state has a lower power consumption than the second slave power state, and the first slave power state has a longer response latency than the second slave power state. Has
다른 국면에서 보면, 본 발명은, 1개 이상의 마스터 유닛과, 1개 이상의 슬레이브 유닛과, 상기 1개 이상의 마스터 유닛 및 상기 1개의 이상의 슬레이브 유닛 간의 배선 경로를 따라, 데이터 전송 트랜잭션들을 포함하는, 트랜잭션들을 라우트 하도록 상기 1개 이상의 마스터 유닛과 상기 1개 이상의 슬레이브 유닛에 접속된 인터커넥트를 구비하고, 상기 1개 이상의 슬레이브 유닛의 적어도 한 개의 슬레이브 유닛이 수신한 트랜잭션이 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛에 다음 트랜잭션을 전달하는 경우를 나타내는 사용 예측을 지정하는 1개의 이상의 사용 신호를 포함하는 장치 내부에 사용하는 슬레이브 유닛을 제공하고, 상기 슬레이브 유닛은, In another aspect, the present invention provides a transaction comprising data transfer transactions along a wiring path between at least one master unit, at least one slave unit, at least one master unit and at least one slave unit. An interconnect connected to said at least one master unit and said at least one slave unit to route traffic, wherein a transaction received by at least one slave unit of said at least one slave unit is at least one of said at least one slave unit; Providing a slave unit for use inside a device including one or more usage signals specifying usage prediction that indicates when to deliver the next transaction to the two slave units, wherein the slave unit comprises:
상기 1개 이상의 사용 신호에 응답해서, 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛을, 상기 다음 트랜잭션이 수신될 것으로 예상되기 전의 간격에서 제1의 슬레이브 전력 상태로 전환하고, 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛을, 상기 다음 트랜잭션을 서비스하기 위한 적정 시간에 제2의 슬레이브 전력 상태로 전환하는, 로컬 슬레이브 전력 제어기를 구비하고, 상기 제1의 슬레이브 전력 상태는 상기 제2의 슬레이브 전력 상태보다 더 낮은 전력 소모를 갖고, 상기 제1의 슬레이브 전력 상태는 상기 제2의 슬레이브 전력 상태보다 긴 응답 레이턴시를 갖는다.In response to the one or more usage signals, transitioning at least one slave unit of the one or more slave units to a first slave power state at an interval before the next transaction is expected to be received, And a local slave power controller for transitioning at least one slave unit of the slave units to a second slave power state at a suitable time for servicing the next transaction, wherein the first slave power state is selected from the second slave power state. It has a lower power consumption than the slave power state, and the first slave power state has a longer response latency than the second slave power state.
또 다른 국면에서 보면, 본 발명은, 1개 이상의 마스터 유닛과, 1개 이상의 슬레이브 유닛과, 상기 1개 이상의 마스터 유닛과 상기 1개의 이상의 슬레이브 유닛 간의 배선 경로를 따라, 데이터 전송 트랜잭션들을 포함하는, 트랜잭션들을 라우트하도록 상기 1개 이상의 마스터 유닛과 상기 1개 이상의 슬레이브 유닛에 접속된 인터커넥트를 구비하는 장치 내부에 사용하는 마스터 유닛을 제공하고, 상기 마스터 유닛은,In another aspect, the present invention includes data transfer transactions along a wiring path between at least one master unit, at least one slave unit, and at least one master unit and at least one slave unit, Providing a master unit for use within an apparatus having an interconnect connected to the at least one master unit and the at least one slave unit to route transactions, wherein the master unit comprises:
상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛에 의해 수신되고, 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛에 다음 트랜잭션을 전달하는 경우를 나타내는 사용 예측을 지정하는 1개의 이상의 사용 신호를 포함하는, 트랜잭션을 발생하도록 구성된 트랜잭션 발생기를 구비한다.One or more usage signals received by at least one slave unit of the one or more slave units and specifying usage prediction that indicates when to deliver a next transaction to at least one slave unit of the one or more slave units. And a transaction generator configured to generate a transaction.
또 다른 국면에서 보면, 본 발명은, 1개 이상의 마스터 유닛과, 1개 이상의 슬레이브 유닛과, 상기 1개 이상의 마스터 유닛과 상기 1개의 이상의 슬레이브 유닛 간의 배선 경로를 따라, 데이터 전송 트랜잭션들을 포함하는, 트랜잭션들을 라우트하도록 상기 1개 이상의 마스터 유닛과 상기 1개 이상의 슬레이브 유닛에 접속된 인터커넥트를 구비하는 장치 내부에 사용하는 인터커넥트를 제공하고, 상기 인터커넥트는,In another aspect, the present invention includes data transfer transactions along a wiring path between at least one master unit, at least one slave unit, and at least one master unit and at least one slave unit, Providing an interconnect for use inside a device having an interconnect connected to said at least one master unit and said at least one slave unit to route transactions, said interconnect comprising:
상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛에 의해 수신되고, 상기 1개 이상의 슬레이브 유닛 중의 적어도 한 개의 슬레이브 유닛에 다음 트랜잭션을 전달하는 경우를 나타내는 사용 예측을 지정하는 1개의 이상의 사용 신호를 포함하는, 트랜잭션을 전달하도록 구성된 신호 연결부를 포함한다.One or more usage signals received by at least one slave unit of the one or more slave units and specifying usage prediction that indicates when to deliver a next transaction to at least one slave unit of the one or more slave units. And a signal connection configured to carry the transaction.
본 발명의 실시 예들은 첨부도면을 참조하면서 이하의 예에 의해서 설명될 것이다.Embodiments of the present invention will be described by the following examples with reference to the accompanying drawings.
도 1은 전력 관리 기술을 이용하는 장치를 개략적으로 도시한 도면이다.1 is a schematic diagram of an apparatus utilizing power management techniques.
도 2는 마스터와 슬레이브 간의 트랜잭션과 관련하여 인터커넥트를 통해서 전달된 병렬 신호들을 개략적으로 도시한 도면이다.FIG. 2 is a diagram schematically illustrating parallel signals carried over an interconnect in connection with a transaction between a master and a slave.
도 3은 사용 신호들의 인코딩의 일례를 개략적으로 도시한 도면이다.3 is a diagram schematically illustrating an example of encoding of use signals.
도 4는 로컬 슬레이브 전력 제어기를 내장한 슬레이브 유닛을 개략적으로 도시한 도면이다.4 is a diagram schematically illustrating a slave unit incorporating a local slave power controller.
도 5는 로컬 슬레이브 전력 제어기를 개략적으로 도시한 도면이다.5 schematically illustrates a local slave power controller.
도 6은 로컬 슬레이브 전력 제어기의 동작을 개략적으로 나타낸 흐름도이다.6 is a flowchart schematically illustrating the operation of a local slave power controller.
도 7은 로컬 마스터 전력 제어기를 내장한 마스터 유닛을 개략적으로 도시한 도면이다.7 is a schematic view of a master unit incorporating a local master power controller.
도 8은 로컬 마스터 전력 제어기의 동작을 개략적으로 도시한 흐름도이다.8 is a flow chart schematically illustrating the operation of a local master power controller.
도 9는 사용 신호 중재 기능을 내장한 인터커넥트를 개략적으로 도시한 도면이다.9 is a schematic diagram illustrating an interconnect incorporating a usage signal arbitration function.
도 10은 사용 신호 중재를 개략적으로 도시한 흐름도이다.10 is a flowchart schematically illustrating use signal arbitration.
도 1은 집적회로(4)와 슬레이브 서브시스템(6)을 내장한 인쇄 회로 기판 형태의 장치(2)를 나타낸다. 집적회로(4)는 멀티 칩 모듈, 시스템 온 칩 집적회로 또는 표준 집적회로일 수 있다. 집적회로는 마스터 유닛(8), 마스터로서도 기능을 하는 프로세서 코어(10), 및 프로세서 코어(10)에 접속된 캐시 메모리(12)를 내장하고 있다. 캐시 메모리(12)는 프로세서 코어(10)에 대해서 슬레이브로서 기능을 하고, 인터커넥트(14)에 대해서는 마스터로서도 기능을 한다. 프로세서 코어(10)와 캐시 메모리(12)와의 사이에는, 후술하는 바와 같이 제시된 기술에 따라 사용(usage) 신호들을 전달하는 전용의 인터커넥트(16)가 있다. 인터커넥트(14)는 이 실시 예에 있어서는 공지의 AXI 기술에 따라 접속을 위한 중개 기능과 포인트 투 포인트(point-to-point) 접속성을 내장한 AXI 인터커넥트의 변형된 형태이다. 슬레이브 18, 20, 6 중의 하나와 같은, 슬레이브 유닛이 그것의 다음 트랜잭션을 수신할 때의 표시를 보내는 본 기술에 따라 사용 신호들을 제공함으로써 이 공지의 기능성을 능가하여 인터커넥트(14)가 확장된다. 슬레이브 서브시스템(6)은 인터커넥트(14)에 관한 슬레이브로서 작용하지만, 본질적으로는, 한층 더 신호 라우팅(routing)을 요구하고, 관계있는 트랜잭션(transaction)에 의존해서 사용되거나 혹은 사용되지 않는 한 개의 관련 기능 소자 이상을 갖는다. 슬레이브 서브시스템(6)은, 로컬 메모리가 특별한 트랜잭션을 서비스할 수 없을 때 요구되는 하드 디스크 드라이브 등, 어떤 로컬 메모리 및 추가적으로 어떤 높은 순위의 메모리를 가진 메모리 시스템일 수 있다.1 shows an
도 2는 인터커넥트(14)에 의해 전달된 트랜잭션의 신호 형성부를 개략적으로 나타낸다. 이들 신호는 데이터 신호(22), 어드레스 신호(24) 및 사용 신호(26)를 포함한다. 어드레스 신호(24) 및 데이터 신호(22)는 공지의 AXI 시스템과 프로토콜을 따를 수 있고, 이들 공지의 시스템 프로토콜에 따라 (개별적으로 또는 함께) 라우트 및 중재될 수도 있다. 사용 신호(26)는 이 트랜잭션에 추가되고, 동일한 라우팅 중재 및 지연에 영향을 받도록 동일 라우팅을 추종할 수 있다. 사용 신호(26)는 대안으로 그들 자신의 라우팅 및 중재를 개별적으로 가지고 있다. 사용 신호(26)는 이것이 공지된 경우, 그 마스터로부터 시작되어 그 목표 슬레이브 유닛에 전달되는 다음 트랜잭션이 발생하는 경우를 지정하는 정보를 전달한다. 이 정보는 적절한 파 워다운 모드로 그 자체를 파워다운하고, 우선적으로 바람직하지 않은 레이턴시(latency)를 초래하지 않고 그 다음 트랜잭션을 서비스하기 위한 적절한 시간에 그 자체를 파워 백업(back up)하도록 슬레이브에 의해 사용될 수 있다.2 schematically illustrates the signal formation of a transaction carried by
도 3은 예를 들면 3비트 사용 신호가 사용되는 인코딩의 일례를 개략적으로 도시한 것이다. 이 인코딩은 모두가 아니라 제1 및 제2의 값에 대하여 대수적이다. 제1의 값은 예측되지 않은 간격을 특정하고, 슬레이브가 활성 상태로 있어야 한다는 것을 나타낸다. 마지막 인코딩은 미결정 간격을 나타내고, 우선적인 파워업이 없는 슬립 모드를 개시하는 등, 다양한 다른 방식으로 슬레이브에 의해 해석될 수도 있다. 이들 극단적인 행위 사이에서는, 인코딩은 전형적인 AXI 인터커넥트 이행의 경우에, 4개의 클럭 사이클 등, 지지된 다수의 최소 파워다운 간격에 의하여 표현되는, 다음 트랜잭션에 대한 간격을 나타낸다. 이 가장 작은 간격보다 작은 입상(granularity)을 제공할 필요가 없다.3 schematically shows an example of encoding in which a 3-bit usage signal is used, for example. This encoding is algebraic for the first and second values but not all. The first value specifies an unexpected interval and indicates that the slave should be active. The last encoding may be interpreted by the slave in a variety of other ways, such as indicating an indeterminate interval, initiating a sleep mode with no preferential powerup. Among these extreme behaviors, encoding represents the interval for the next transaction, represented by a number of minimum supported power down intervals, such as four clock cycles, in the case of a typical AXI interconnect implementation. There is no need to provide granularity less than this smallest gap.
도 4는 슬레이브 유닛(28)을 개략적으로 도시한 것이다. 이것은 AXI 트랜잭션을 위해서 예상된 것과 같은 사실상 통상의 방식으로 그리고 슬레이브 유닛(28)에 의해 제공된 기능성에 따라 수신된 트랜잭션을 처리하는 다수의 기능 블록 30, 32를 내장하고 있다. 또한, 기능 블록(30)으로부터 전달된 상태 정보 및 사용 신호들에 응답하는 로컬 슬레이브 전력 제어기(34)를 설치하여, 얼마 동안 파워다운 모드에 진입해야 하는지와, 수신된 트랜잭션을 서비스한 이후에 복수의 파워다운 모드 중의 하나의 파워다운 모드에 진입하는 것이 적합한지 여부를 판정한다. 슬레이브 유닛(28)이 파워다운되면, 적절한 클럭 제어 신호 및/또는 전압 제어 신호들을 기능 블록 30, 32에 공급하여, 이 파워다운을 개시하고 다음에 우선적인 파워 업을 개시한다. 로컬 슬레이브 전력 제어기(34)는 또한 복수의 슬레이브 유닛에 의해 공유되어도 된다.4 schematically shows a slave unit 28. It incorporates a number of
도 5는 로컬 슬레이브 전력 제어기(34)를 보다 자세히 개략적으로 도시한 것이다. 사용 신호들은 슬레이브 유닛(28)의 현 상태의 1개 이상의 국면을 나타내는 상태 변수와 함께 전력 제어 로직(36)에 공급된다. 이들 신호를 결합해서 사용하여 파워다운 모드에 슬레이브 유닛(28)이 얼마만큼의 시간 동안 있어야 하는지를 판정한다. 이것에 따라, 적절한 타이머 값이 타이머(28)로 로드되고, 이 타이머는, 우선적인 웨이크업이 요구되어 전력 제어 로직(36)에 전달되는 웨이크업 신호를 발생할 때까지 시간의 경과(예를 들면 최소의 파워다운 간격의 단위로)를 카운트 다운한다. 적절한 파워다운 모드에 진입하기 위해서 전력 제어 로직(36)에 의해 생성된 클럭 제어 신호 및 전압 제어 신호는 다양한 다른 효과를 가질 수 있다. 클럭 신호는 다른 값으로 정지 또는 슬로우(slow)될 수 있다. 전압은 낮아지거나 오프될 수 있다. 시스템은 낮은 리키지 모드 또는 전력을 줄이기 위해 행해지는 일부 다른 전압 조작으로 둘 수 있다. 다양한 파워다운 모드가 알려져 있지만 어떤 것이든 사용될 수 있다.5 schematically illustrates the local
도 6은 전력 제어 로직(36)에 의해 행해지는 제어를 개략적으로 도시한 흐름도이다. 스텝 40에서, 시스템은 수신될 사용 신호들을 기다린다. 그러한 신호들이 수신되면, 스텝 42에서의 처리는 다음 트랜잭션 및 현재의 슬레이브 상태까지 간격의 길이에 의존해서 진입되어야 하는 파워다운 모드를 선택한다. 간격이 짧으면, 진입 및 탈출하는데 많은 시간이 걸리는, 딥 파워다운 모드에 진입하는 것은 가치가 없다. 마찬가지로, 슬레이브 유닛(28)의 현 상태는 표시된 간격과는 관계없이 진입되는 (그 상태 변수에 의해 신호화되는) 파워다운 모드에 제한이 있을 수 있다. 파워다운 모드가 선택되었을 경우, 웨이크업(wakeup) 시간이 결정될 수 있다. 서로 다른 파워다운 모드가 탈출하는데 서로 다른 많은 시간이 걸리기 때문에 웨이크업이 전에 또는 후에 발생할 것을 요구한다. 스텝 44에서, 타이머(38)는 필요한 웨이크업 포인트에 대한 간격으로 로드된다. 스텝 46은 스텝 40에서 검출되었던 사용 신호들과 함께 일어나는 현 트랜잭션이 완료되었는지 여부를 체크한다. 이 트랜잭션이 완료되었다면, 처리는 스텝 48로 진행되고, 스텝 48에서, 선택된 파워다운 모드에 적합한 클럭 및 전압을 제어하기 위한 신호가 발행되어 슬레이브 유닛이 파워다운 모드로 전환된다. 스텝 50은, 타이머가 필요한 웨이크업 포인트에 도달했는지 여부를 연속해서 체크한다. 웨이크업 포인트가 도달된 경우, 처리는 스텝 52로 진행되고, 스텝 52에서 웨이크업이 개시되고, 전력 제어 로직(36)은 적절한 클럭 제어 및 전압 제어 신호들을 발행해서 다음 트랜잭션에 응답할 수 있는 동작 모드로 슬레이브 유닛(28)을 이동시킨다. 전력 제어 로직(36)의 목적은, 수신될 다음 트랜잭션을 위한 적절한 시간에서만 다음 트랜잭션을 준비하도록 그 동작 모드로 슬레이브 유닛(28)을 이동시키는 것이다.6 is a flow diagram schematically illustrating the control performed by the
도 6에는 도시하지 않았지만, 슬레이브 유닛(28)은 사용 신호들을 이용해서 슬레이브 유닛(28)이 단지 수신된 트랜잭션을 완료할 수 있으려면 얼마나 시간이 더 걸릴지를 나타내는 초기 마스터에 수신통지를 반송할 수도 있다. 이 수신통지 신호를 마스터가 사용해서, 완료된 트랜잭션을 수신하기 위한 적절한 시간에 우선적으로 그 자체를 파워 업하는 마스터 유닛에 의해 만약 완료된 트랜잭션의 수신까지 적합하다면 그 자체를 파워다운한다.Although not shown in FIG. 6, the slave unit 28 may use the usage signals to send a receipt notification to the initial master indicating how much longer it will take for the slave unit 28 to complete a received transaction only. have. This receive notification signal is used by the master to power down itself if it is suitable for the reception of the completed transaction by the master unit, which first powers itself up at the appropriate time to receive the completed transaction.
도 7은 마스터 유닛(54)을 개략적으로 도시한 것이다. 마스터 유닛(54)은 사실상 공지의 방식으로 AXI 트랜잭션들과 같은 트랜잭션들을 발생하고, 프로그램가능하면 프로그램 명령에 응답하는 1개 이상의 기능 블록 56, 58을 내장하고 있다. 또한, 마스터 유닛(54) 내부에는 로컬 마스터 전력 제어기(60)가 설치되어 있다. 로컬 마스터 전력 제어기(60)는 인터벌 레지스터(interval register;62) 내에 저장된 1개 이상의 소프트웨어 기록가능한 간격값; 신호 라인(64) 상에 디코딩된 간격을 주는 프로그램 명령 내부의 필드로부터의 디코딩된 신호들; 및 마스터 유닛(54)으로부터 슬레이브 유닛으로 발송된 트랜잭션에 따라 어떤 사용 신호(68)를 발생할 것인가를 결정할 때, 마스터 유닛(54)의 현 상태를 특정하는 상태 가변 신호(66)에 응답한다. 사용 신호들은, 다음에 슬레이브에 대한 트랜잭션을 개시한다는 것을 마스터 유닛(54)이 예상하는 경우를 특정할 것이다. 이 표시된 사용 신호값은, 절대적으로 보증할 수 없지만, 예를 들어, 예상하지 않은 인터럽트의 발생으로 인해, 마스터 유닛(54) 자체 내의 마이크로 아키텍처 레벨에서 결정되므로, 비교적 정확하다고 하는 경향이 있다.7 schematically shows a
로컬 마스터 전력 제어기(60)는, 사용 신호 라인(68)을 통해서 슬레이브로부터 패스백(passed back)된 수신통지 신호에 응답해서, 파워다운 모드로부터의 진입 및 탈출을 정당화하는 기간 동안, 트랜잭션을 완료하지 않는다는 것을, 예를 들면 요청된 데이터를 복귀시키지 않는다는 것을 슬레이브가 나타낼 때 마스터 유닛(54)을 파워다운한다. 따라서, 로컬 마스터 전력 제어기는 기능 블록 56, 58에 전달되는 클럭 제어 신호와 전압 제어 신호를 발생해서 마스터(54) 내의 파워다운 모드에 진입한다.The local master power controller 60 completes the transaction for a period of time justifying entry and exit from the power down mode, in response to a receive notification signal passed back from the slave via the
도 8은, 로컬 마스터 전력 제어기(60)에 의해 행해지는 제어를 개략적으로 나타낸 것이다. 스텝 70에서의 처리는 발행될 필요가 있는 트랜잭션을 기다린다. 트랜잭션이 발행되면, 스텝 72에서는 레지스터(62) 내부의 인터벌 레지스터 값에 의해 지정된 가장 짧은 간격으로부터 그 트랜잭션을 수행하는 사용 신호들에서 특정되는 간격; 디코딩된 간격 신호 라인(64) 상의 어떤 프로그램 명령으로부터의 디코딩 간격; 및 상태 변수 신호 라인(66) 상의 상태 변수에 의해 특정되는 어떤 제약에 대한 의존성을 결정한다. 이 결정이 완료하면, 스텝 74는 트랜잭션과 함께 신호 라인(68) 상에 사용 신호들을 발행한다. 스텝 76은 슬레이브가 트랜잭션을 완료할 수 있으려면 얼마나 시간이 더 걸리는지를 나타내는 슬레이브로부터 패스백되는 수신통지 신호를 기다린다. 그러한 수신통지 신호가 수신되면, 처리가 스텝 78로 진행되고, 이 스텝 78에서는 특별한 마스터 유닛(54)에 의해 지지되는 복수의 파워다운 모드, 예를 들면, 클럭 정지, 클럭 둔화(slowing), 저전압, 낮은 리키지, 슬립, 파워다운, 데이터 리텐션(retention) 등으로부터 선택됨에 따라, 사용되는 파워다운 모드를 결정한다. 스텝 80에서, 사용되는 파워다운 모드와 관련된 필요한 웨이크업 시간에 대한 간격을 결정해서, 로컬 마스터 전력 제어기(60) 내부의 타이머로 로드한다. 스텝 82에서, 로컬 마스터 전력 제어기(60)는 마스터 유닛(54)을 파워다운 모드로 전환한다. 스텝 84에서, 로컬 마스터 전력 제어기(60)는 타이머가 웨이크업 포인트에 도달할 때까지 기다리고, 이 포인트에서, 시간 처리가 스텝 86으로 진행하고, 마스터 유닛(54)은 어떤 다른 방식으로 완료된 트랜잭션 또는 복귀되는 데이터를 위해서 적절한 시간에 그 동작 모드로 되돌아간다(switch back).8 schematically illustrates the control performed by the local master power controller 60. The process at
도 9는 본 기술에 따라 사용되는 인터커넥트 블록(14)을 개략적으로 도시한 것이다. 이 인터커넥트 블록(14)은 공지의 AXI 기술 또는 다른 기술에 따라 제어 정보뿐만 아니라 어드레스 및 데이터의 라우팅을 지지한다. 이들 공지의 기능을 지지하기 위해서 인터커넥트(14) 내에 포함된 소자들은 이 기술분야에서 잘 알려져 있으므로 여기에서는 더 설명하지 않는다. 그것의 통상의 소자들뿐 아니라 인터커넥트(14)는 마스터들과 슬레이브들 간의 인터커넥트(14)를 통과하는 사용 신호들을 중재하는 기능을 하는 인터커넥트 사용 신호 중재 블록(88)을 포함한다. 타이머(90)는 최소 파워다운 인터벌 스텝, 예를 들면 4클럭 사이클로 증가하는 타임 인덱스 값을 제공한다. 사용 신호가 트랜잭션과 관련해서 수신되면, 이들 마스터가 다음에 관련이 있는 특별한 슬레이브를 요구하는 경우를 나타내고 접속된 마스터와 관련이 있는 저장된 타임 인덱스 값이, 타겟 슬레이브 유닛의 현재 수신된 사용 신호로 표시된 것 전 혹은 후에 그러한 다음의 사용을 나타내는지 아닌지를 결정한다. 이들 저장된 타임 인덱스 값은 레지스터 92 및 94 내에 홀드된다. 저장된 다음 사용 요구사항이 현재 수신된 사용 신호들에 표시된 것 전에 있으면, 인터커넥트 사용 신호 중재 블록(88)은 사용 신호를 변경하고, 간격을 교체하여, 레지스터 92, 94 내의 저장된 다음 사용값 중의 하나로 표시된 것과 같은 짧은 간격으로 특정한 다. 현재의 수신된 사용 신호들로 나타낸 다음 사용이 저장된 것들 중의 어느 한 개보다 전에 있으면, 트랜잭션과 함께 변경되지 않은 채로 전해질 것이다.9 schematically illustrates an
본 예에서는, 다수의 마스터들 간의 중재가 인터커넥트(14) 내에서 행해진다는 것을 알 수 있을 것이다. 대체물로서, 특히 슬레이브 유닛이, 다수의 마스터로부터의 오버랩핑 트랜잭션을 다루기 위해 설치된 시스템을 가지고 있었고 또 이미 설계되어 있었던, 메모리 컨트롤러 등, 좀더 복잡한 형태였다면, 슬레이브 유닛 자체 내에서 중재를 행할 수 있다.In this example, it will be appreciated that mediation between multiple masters is done within
그 데이터 및 어드레스 라우팅 기능을 제공할 때의 인터커넥터(14)는 인터커넥터(14)를 통과하는 사용 신호들에 응답해서 선택적으로 파워 업 및 파워다운될 수 있는 다양한 서로 다른 부분들을 내장하고 있다. 인터커넥트 블록(14)은 어떤 기간 동안 특별한 경로가 요구되지 않을 것이므로 그 경로를 파워다운할 수 있다는 것과, 그것이 인터커넥트 블록의 외부에 있는 추가 부분들 또는 그 자체의 부분들인지 그리고 그것을 통과하는 사용 신호들에 응답하여 그들 자신의 로컬 전력 제어에 영향을 받지 않는지를, 사용신호들로부터 결정할 수 있다.
도 10은 인터커넥트 사용 신호 중재 블록(88)에 의해 행해지는 중재를 개략적으로 도시한 흐름도이다. 스텝 96에서, 인터커넥트 사용 신호 중재 블록(88)은 트랜잭션을 기다린다. 그러한 트랜잭션이 수신되면, 스텝 98에서는 수신된 트랜잭션에서 관련된 사용 신호들로부터 유도된 다음 사용 시간과, 레지스터 92, 94 내에 저장되는 것과 같은 이들 다른 마스터들로부터 이전에 수신된 트랜잭션을 위한 다른 마스터의 다음 사용 시간 인덱스를 비교한다. 스텝 100에서는 어떤 다른 마스터 가 다음 사용에 대해서 좀 더 짧은 간격을 나타냈는지 여부를 판정한다. 어떤 다른 마스터가 좀더 짧은 간격을 가지면, 처리는 스텝 102로 진행되고, 그 밖에는 이 스텝 102는 바이패스되고, 여기서 수신된 사용 신호들은, 인터커넥트 블록(14) 자체에 의해 부과되는 어떤 추가 지연에 응답하여, 그리고 인터커넥트 블록(14)이 감지하는 마스터 중의 어느 하나에 대하여 가장 짧은 간격을 나타내도록 변경된다. 인터커넥트 사용 신호 중재 블록(88)은 인터커넥트 블록(14)의 상태를 특정하는 상태 가변 신호들에 응답하여, 공지의 AXI 기술에 따라 동작하는 데이터 및 어드레스 라우팅 블록이 시스템 내부의 어떤 다른 소자에 특별한 패스웨이(pathway)를 할당했다는 등, 또 이것이 다음 트랜잭션이 사실상 관련된 슬레이브 유닛에 도달할 수 있을 때까지 상기의 모두에 관계없이 다른 시간 간격을 부과할 것이라는 등의 요인들을 나타낼 수 있다. 또 스텝 104에서는, 트랜잭션이 수신되는 마스터의 다음 사용 시간 인덱스가, 레지스터 92, 94 중의 적절한 한 개 내에서 갱신된다. 스텝 106에서, 중재된 사용 신호들은 타겟 슬레이브 유닛에 발행된다.10 is a flow diagram schematically illustrating the arbitration performed by the interconnect usage
다음 트랜잭션에 대한 시간 간격을 특정할 뿐만 아니라, 현재의 트랜잭션의 완료까지의 시간 간격을 나타내는 수신통지 신호들을 패스백(pass back)하기 위해 사용되는 사용신호들은, 편리하게 그리고 스케일가능하게 통상의 데이터 및 어드레스 라우팅 인프라스트럭처(infrastructure)에 대한 시스템 피기 백킹(piggy-backing)을 통해서 라우트되는 더 많은 표준 파워다운 명령들을 전달해도 된다. 로컬 슬레이브 전력 제어기, 로컬 마스터 전력 제어기 및 인터커넥트 블록 자체의 전력 제어기에 공급될 수 있는 파워다운 신호들의 예로서, 로컬 셧다운, 글로벌 셧다 운, 로컬 슬립, 글로벌 슬립, 로컬 클럭 정지, 글로벌 클럭 정지, 로컬 클럭 속도 지정, 글로벌 클럭 속도 지정, 저동작 전압 모드, 낮은 리키지 모드, 웨이크업 및 간격 확장(이것은 다음 트랜잭션 또는 트랜잭션의 완료까지 이미 지정된 시간 간격을 확장하는 명령이다)과 같은 명령들이 있다. In addition to specifying a time interval for the next transaction, the usage signals used to pass back receive notification signals representing the time interval until the completion of the current transaction are conveniently and scalable to normal data. And more standard power down instructions routed through system piggy-backing to the address routing infrastructure. Examples of power down signals that may be supplied to the local slave power controller, the local master power controller, and the power controller of the interconnect block itself include, for example, local shutdown, global shutdown, local sleep, global sleep, local clock stop, global clock stop, local. There are instructions such as clock rate specification, global clock rate specification, low operating voltage mode, low liquidity mode, wake up and interval extension (this is an instruction to extend the already specified time interval until the next transaction or completion of a transaction).
Claims (52)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020097003290A KR20090046841A (en) | 2009-02-18 | 2006-07-28 | Power Management in Data Processing Devices with Masters and Slaves |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020097003290A KR20090046841A (en) | 2009-02-18 | 2006-07-28 | Power Management in Data Processing Devices with Masters and Slaves |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20090046841A true KR20090046841A (en) | 2009-05-11 |
Family
ID=40856536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097003290A Ceased KR20090046841A (en) | 2009-02-18 | 2006-07-28 | Power Management in Data Processing Devices with Masters and Slaves |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20090046841A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140067071A (en) * | 2011-09-30 | 2014-06-03 | 인텔 코포레이션 | Constrained boot techniques in multi-core platforms |
US10007323B2 (en) | 2012-12-26 | 2018-06-26 | Intel Corporation | Platform power consumption reduction via power state switching |
-
2006
- 2006-07-28 KR KR1020097003290A patent/KR20090046841A/en not_active Ceased
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140067071A (en) * | 2011-09-30 | 2014-06-03 | 인텔 코포레이션 | Constrained boot techniques in multi-core platforms |
US9552039B2 (en) | 2011-09-30 | 2017-01-24 | Intel Corporation | Constrained boot techniques in multi-core platforms |
US10007323B2 (en) | 2012-12-26 | 2018-06-26 | Intel Corporation | Platform power consumption reduction via power state switching |
US10564705B2 (en) | 2012-12-26 | 2020-02-18 | Intel Corporation | Platform power consumption reduction via power state switching |
US11422615B2 (en) | 2012-12-26 | 2022-08-23 | Intel Corporation | Platform power consumption reduction via power state switching |
US11768533B2 (en) | 2012-12-26 | 2023-09-26 | Tahoe Research, Ltd. | Platform power consumption reduction via power state switching |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8291244B2 (en) | Power management in a data processing device having masters and slaves | |
US10585448B2 (en) | Low power autonomous peripheral management | |
US8438416B2 (en) | Function based dynamic power control | |
JP6197196B2 (en) | Power efficient processor architecture | |
KR100881774B1 (en) | Method and apparatus for providing deterministic power-on voltage in a system where the voltage level is controlled by a processor | |
JP4182801B2 (en) | Multi-processor system | |
US10732697B2 (en) | Voltage rail coupling sequencing based on upstream voltage rail coupling status | |
JP7098326B2 (en) | Methods and devices for controlling the power state of the link | |
CN101558366A (en) | Direct memory access controller | |
KR20040091705A (en) | Low power system and method for a data processing system | |
KR20150012235A (en) | Voltage regulator control system | |
CN116490839A (en) | Mechanism for performing distributed power management for multiple GPU systems | |
US10474592B2 (en) | Control of semiconductor devices | |
JP3665030B2 (en) | Bus control method and information processing apparatus | |
CN116225995B (en) | Bus system and chip | |
KR20090046841A (en) | Power Management in Data Processing Devices with Masters and Slaves | |
JP2002007316A (en) | Low power consumption computer system | |
US20190391943A1 (en) | Semiconductor device and bus generator | |
US8675444B2 (en) | Synchronized command throttling for multi-channel duty-cycle based memory power management | |
KR20060042176A (en) | Multi-Layer System and Clock Control Method | |
JPH1083343A (en) | Method for accessing memory | |
US11575457B2 (en) | Power-smart packet processing | |
JP3914404B2 (en) | Power saving interface device and power saving method | |
JP3980401B2 (en) | Memory access control system and memory access control method | |
KR20250025382A (en) | Domain clock and power activation control circuit and related method for reducing voltage droop |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20090218 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20110704 Comment text: Request for Examination of Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20130208 Patent event code: PE09021S01D |
|
E601 | Decision to refuse application | ||
PE0601 | Decision on rejection of patent |
Patent event date: 20130628 Comment text: Decision to Refuse Application Patent event code: PE06012S01D Patent event date: 20130208 Comment text: Notification of reason for refusal Patent event code: PE06011S01I |