KR101835872B1 - 클록의 속도를 셋팅하기 위한 장치 및 방법 - Google Patents

클록의 속도를 셋팅하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR101835872B1
KR101835872B1 KR1020167027324A KR20167027324A KR101835872B1 KR 101835872 B1 KR101835872 B1 KR 101835872B1 KR 1020167027324 A KR1020167027324 A KR 1020167027324A KR 20167027324 A KR20167027324 A KR 20167027324A KR 101835872 B1 KR101835872 B1 KR 101835872B1
Authority
KR
South Korea
Prior art keywords
clock
requested
bandwidth requests
generalized
processor
Prior art date
Application number
KR1020167027324A
Other languages
English (en)
Other versions
KR20160140696A (ko
Inventor
론 케이다
미쉘 케이. 바텐부르크
Original Assignee
퀄컴 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 퀄컴 인코포레이티드 filed Critical 퀄컴 인코포레이티드
Publication of KR20160140696A publication Critical patent/KR20160140696A/ko
Application granted granted Critical
Publication of KR101835872B1 publication Critical patent/KR101835872B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

클록의 속도를 셋팅하기 위한 장치 및 방법이 기재된다. 컴퓨팅 디바이스는, 프로세서 및 프로세서의 스케줄러를 포함할 수도 있으며, 스케줄러는, 복수의 상이한 실행 환경들로부터 요청된 대역폭들에 대한 복수의 보트들을 수신하고; 요청된 대역폭들을 합산하며; 그리고 요청된 대역폭들의 합산에 기초하여 클록 속도를 셋팅하도록 구성될 수도 있다.

Description

클록의 속도를 셋팅하기 위한 장치 및 방법{APPARATUS AND METHOD TO SET THE SPEED OF A CLOCK}
[0001] 본 발명은 클록의 속도를 셋팅하기 위한 장치 및 방법에 관한 것이다.
[0002] 다수의 실행 환경(EE)들에 가상 소유권을 제공하는 하드웨어 환경에서, 많은 EE들은 커맨드 인터페이스(예를 들어, 하드웨어(HW) 커맨드 인터페이스)를 소유할 수도 있다. 각각의 EE는, 자신이 HW의 유일한 사용자라고 가정할 수도 있다. 동시적인 이벤트들/커맨드들이 다양한 EE들로부터 발생하면, EE들 각각은 성능 열화를 경험할 수도 있다.
[0003] 종래의 클록-보팅(clock-voting) 메커니즘들은 HW의 다수의 사용자들에 대해 사용되었다. 이러한 종래의 클록-보팅 메커니즘에서, HW의 상이한 EE 사용자들은, 특정한 클록 속도 상에서 그리고 그 속도에 대해 HW 클록을 턴 온하도록 보팅한다. 보트들의 어그리게이터는 가장 높은 보트(즉, 가장 많이 요청된 속도)를 선택한다. 종래에, 각각의 EE는 다른 EE들을 고려하지 않으면서 자신의 로컬 보팅을 관리한다. 불운하게도, 몇몇 EE들에 대해, 선택된 속도는 너무 낮을 수도 있고, 결과적인 열화의 양은 그 특정한 EE에 대해 관리가능하지 않을 수도 있다.
[0004] 본 발명의 양상들은 클록의 속도를 셋팅하기 위한 장치 및 방법에 관한 것이다. 컴퓨팅 디바이스는, 프로세서 및 프로세서의 스케줄러를 포함할 수도 있으며, 스케줄러는, 복수의 상이한 실행 환경들로부터 요청된 대역폭들에 대한 복수의 보트들을 수신하고; 요청된 대역폭들을 합산하며; 그리고 요청된 대역폭들의 합산에 기초하여 클록 속도를 셋팅하도록 구성될 수도 있다.
[0005] 도 1은, 본 발명의 양상들이 실시될 수도 있는 컴퓨팅 디바이스의 다이어그램이다.
[0006] 도 2는, 클록의 속도를 셋팅하기 위한 프로세서 및 스케줄러를 포함하는 컴퓨팅 환경의 일 예이다.
[0007] 도 3은 스케줄러의 클록 보팅 블록의 일 예이다.
[0008] 도 4는 데이터 소유자들로부터의 일반화된 클록 속도들에 대한 요청된 대역폭들을 이용하는 스케줄러의 일 예이다.
[0009] 도 5는 클록의 속도를 셋팅하기 위한 프로세스의 일 예를 도시한 흐름도이다.
[0010] 단어 "예시적인" 또는 "예"는 예, 예시, 또는 예증으로서 기능하는 것을 의미하도록 본 명세서에서 사용된다. "예시적인" 것 또는 "예"로서 본 명세서에 설명된 임의의 양상 또는 실시예는 다른 양상들 또는 실시예들에 비해 반드시 바람직하거나 유리한 것으로서 해석될 필요는 없다.
[0011] 본 명세서에서 사용된 바와 같이, 용어 "컴퓨팅 시스템 또는 디바이스"는, 랩탑 및 데스크탑 컴퓨터들, 태블릿들, 스마트폰들, 텔레비젼들, 홈 기기들, 셀룰러 전화기들, 개인용 텔레비젼 디바이스들, 개인 휴대 정보 단말(PDA)들, 팜-탑 컴퓨터들, 무선 전자 메일 수신기들, 멀티미디어 인터넷 가능한 셀룰러 전화기들, 글로벌 포지셔닝 시스템(GPS) 수신기들, 무선 게이밍 제어기들, 차량들(예를 들어, 자동차들) 내의 수신기들, 인터액티브(interactive) 게임 디바이스들, 노트북들, 스마트북들, 넷북들, 모바일 텔레비젼 디바이스들, 또는 임의의 데이터 프로세싱 장치를 포함하지만 이에 제한되지는 않는 임의의 형태의 프로그래밍가능 컴퓨터 디바이스를 지칭한다.
[0012] 이후에 상세히 설명될 바와 같이 본 발명의 양상들이 실시될 수도 있는 클록의 속도를 셋팅하기 위해 이용될 수도 있는 예시적인 컴퓨팅 디바이스(100)가 도 1에 도시된다. 컴퓨팅 디바이스(100)는, 버스(105)를 통해 전기적으로 커플링될 수 있는(또는 그렇지 않으면, 적절할 때에 통신할 수도 있는) 하드웨어 엘리먼트들을 포함하는 것으로 도시된다. 하드웨어 엘리먼트들은, 하나 또는 그 초과의 범용 프로세서들 및/또는 (디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들, 암호화프로세서들 등과 같은) 하나 또는 그 초과의 특수-목적 프로세서들을 제한없이 포함하는 하나 또는 그 초과의 프로세서들(110); 하나 또는 그 초과의 입력 디바이스들(115)(예를 들어, 키보드, 키패드, 터치스크린, 마우스 등); 및 디스플레이 디바이스(121)를 적어도 포함하고, 스피커, 프린터 등을 제한없이 더 포함할 수 있는 하나 또는 그 초과의 출력 디바이스들(120)을 포함할 수도 있다.
[0013] 컴퓨팅 디바이스(100)는, 로컬 및/또는 네트워크 액세스가능한 저장부를 제한없이 포함할 수 있고 그리고/또는 디스크 드라이브, 드라이브 어레이, 광학 저장 디바이스, 랜덤 액세스 메모리("RAM") 및/또는 판독-전용 메모리("ROM")와 같은 고체-상태 저장 디바이스를 제한없이 포함할 수 있는 하나 또는 그 초과의 비-일시적인 저장 디바이스들(125)을 더 포함(그리고/또는 그들과 통신)할 수도 있으며, 이들은 프로그래밍가능하거나, 플래시-업데이트가능하는 등일 수 있다. 그러한 저장 디바이스들은, 다양한 파일 시스템들, 데이터베이스 구조들 등을 제한없이 포함하는 임의의 적절한 데이터 저장부들을 구현하도록 구성될 수도 있다.
[0014] 컴퓨팅 디바이스(100)는 또한, 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, (블루투스 디바이스, 802.11 디바이스, Wi-Fi 디바이스, WiMax 디바이스, 셀룰러 통신 디바이스 등과 같은) 무선 통신 디바이스 및/또는 칩셋 등을 제한없이 포함할 수 있는 통신 서브시스템(130)을 포함할 수도 있다. 통신 서브시스템(130)은, 데이터가 본 명세서에 설명된 네트워크, 다른 컴퓨터 시스템들, 및/또는 임의의 다른 디바이스들과 교환되게 할 수도 있다. 많은 실시예들에서, 컴퓨팅 디바이스(100)는, 위에서 설명된 바와 같이, RAM 또는 ROM 디바이스를 포함할 수 있는 작동 메모리(135)를 더 포함할 것이다. 추가적으로, 컴퓨팅 디바이스(100)는 애플리케이션들을 구현하기 위하여, 자신을 통과했던 메모리 참조들을 갖는 컴퓨터 하드웨어 유닛인 시스템 메모리 관리 유닛(SMMU)을 포함할 수도 있고, 가상 메모리 어드레스들의 물리 어드레스들로의 변환을 수행하기 위해 사용될 수도 있다. 컴퓨팅 디바이스(100)는 또한, 운영 시스템(140), 애플리케이션들(145), 디바이스 드라이버들, 실행가능한 라이브러리들, 및/또는 다른 코드를 포함하여 작동 메모리(135) 내에 현재 로케이팅된 것으로 도시된 소프트웨어 엘리먼트들을 포함할 수도 있다.
[0015] 단지 예로서, 아래에서 논의되는 방법(들)에 대해 설명된 하나 또는 그 초과의 절차들은, 컴퓨팅 디바이스(및/또는 컴퓨팅 디바이스 내의 프로세서)에 의해 실행가능한 코드 및/또는 명령들로서 구현될 수도 있으며; 일 양상에서, 그 후, 그러한 코드 및/또는 명령들은, 본 발명의 실시예들에 따른 설명된 방법들에 따라 하나 또는 그 초과의 동작들을 수행하도록 범용 컴퓨터(예를 들어, 컴퓨팅 디바이스)를 구성 및/또는 적응하는데 사용될 수 있다. 하나의 특정한 예로서, 더 상세히 아래에서 설명될 바와 같이, 프로세서(110)는 클록의 속도를 셋팅하기 위해 본 발명의 실시예들을 구현할 수도 있다. 이들 명령들 및/또는 코드의 세트는 비-일시적인 컴퓨터-판독가능 저장 매체 상에 저장될 수도 있다. 몇몇 경우들에서, 저장 매체는, 컴퓨팅 디바이스(100)와 같은 컴퓨터 디바이스 내에 포함될 수도 있다. 다른 실시예들에서, 저장 매체는, 저장 매체가 명령들/코드가 저장된 범용 컴퓨터를 프로그래밍, 구성 및/또는 적응시키는데 사용될 수 있도록, 컴퓨터 시스템과는 별개이거나 (예를 들어, 컴팩트 디스크와 같은 착탈형 매체), 그리고/또는 설치 패키지로 제공될 수도 있다. 이들 명령들은, 컴퓨터화된 컴퓨팅 디바이스(100)에 의해 실행가능한 실행가능 코드의 형태를 취할 수도 있고, 그리고/또는 (예를 들어, 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등을 사용하는) 컴퓨팅 디바이스(100) 상의 컴파일 및/또는 설치 시에, 그 후에 실행가능 코드의 형태를 취하는 소스 및/또는 설치가능한 코드의 형태를 취할 수도 있다.
[0016] 도 2를 참조하면, 본 발명의 양상들이 실시될 수도 있는 클록의 속도를 셋팅하기 위한 암호화프로세서와 같은 프로세서(220)를 포함하는 컴퓨팅 디바이스(100)에 의해 구현가능한 컴퓨팅 환경(200)의 일 예가 이후에 설명될 것이다. 더 상세히 아래에서 설명될 바와 같이, 클록의 속도를 셋팅하기 위한 암호화프로세서(220)의 사용은, 클록의 속도를 셋팅하기 위해 이용될 수도 있고, 임의의 타입의 프로세서가 클록의 속도를 셋팅하기 위해 본 발명의 실시예들을 구현하는데 이용될 수도 있는 프로세서의 단지 일 예이다.
[0017] 이러한 예로 계속하면, 암호화프로세서(220)는, 키들의 사용을 통한 정보의 계산 집약적인 인코딩 및 디코딩을 수행할 수도 있다. 암호화프로세서(220)는, 확장된 언어에 기초하여 CPU(또는 다른 프로세서)에 대한 정보의 계산 집약적인 인코딩 및 디코딩을 수행하는 코-프로세서일 수도 있거나, 정보의 인코딩 및 디코딩을 위하여 전용 소프트웨어 드라이버에 의해 구동되는 하드웨어의 별개의 부분(예를 들어, 가속도 프로세서)인 암호화엔진일 수도 있다. 이러한 예에서, 암호화프로세서(220)는 암호화엔진이며, 이후에 설명되는 예들은 암호화엔진에 의한 구현의 맥락에 있을 것이다. 그러나, 당업자들에게 명백할 바와 같이, 이들 동일한 구현들은 코-프로세서에 의해 유사하게 수행될 수도 있다. 이러한 예시적인 구현에서, 데이터를 암호화 및 암호해독하기 위해 키들을 제어하는 다양한 실행 환경 키 소유자들(EE1-EEN)(202, 204, 206)은, 다양한 환경 데이터 소유자들(EE1-EEN)(210, 212, 214)과 협력하여 동작한다. 키들을 이용하는 실행 환경들은, 컴퓨팅 디바이스에 의한 입력 및 출력을 위해 데이터를 보안적으로 통신할 수도 있다. 특히, 데이터는 암호화프로세서(220)의 키 테이블(224)에 저장된 키들을 통해 암호화 및 암호해독될 수도 있다. 일 예로서, EE 데이터 소유자들(210, 212, 214)에 할당된 키 테이블(224)로부터의 키들은, 계류중인 커맨드들(예를 들어, 암호화 또는 암호해독)을 구현하기 위해 그들 각각의 커맨드 채널들에 송신될 수도 있다. 부가적으로 또는 대안적으로, 키 테이블에 저장된 키들은, 데이터의 암호화 또는 암호해독에서의 사용을 위해 암호화라이브러리(239)에 송신될 수도 있다. 임의의 이벤트에서, 암호화프로세서(220)에 의해 수행되는 데이터를 암호화 또는 암호해독하기 위한 커맨드 채널들(230, 232, 234)을 통한 EE 데이터 소유자들(210, 212, 214)로부터의 커맨드들은, 암호화 또는 암호해독된 데이터가 SMMU(133)를 통해 입력 도메인들(240) 또는 출력 도메인들(250)로 제공될 수도 있도록 수행된다.
[0018] 더 상세히 이후에 설명될 바와 같이, 일 실시예에서, 암호화프로세서(220)의 스케줄러(236)는, 복수의 상이한 실행 환경들(예를 들어, EE 데이터 소유자들(210, 212, 214))로부터 요청된 대역폭들(BW 요청들)에 대한 복수의 보트들을 수신하고; 스케줄러(236)의 클록 보팅 블록(237)에서 요청된 대역폭들을 합산하며; 그리고, 예를 들어, 클록 보트(238)로 지칭되는 요청된 대역폭들의 합산에 기초하여 클록(241)의 속도(예를 들어, 클록 속도)를 셋팅하도록 구성된다. 이에 기초하여, EE 데이터 소유자들(210, 212, 214)로부터의 암호화/암호해독 커맨드들은 속도의 총 합산에서 수행된다. 예를 들어, EE 데이터 소유자들(210, 212, 214)로부터의 (예를 들어, 100Mhz, 100Mhz, 및 200Mhz에 대한) 3개의 EE 대역폭 요청 보트들이 존재하면, 스케줄러(236)는, 400Mhz(즉, 총 합산)가 되도록 클록(241)의 속도를 스케줄링한다. 이러한 방식으로, 모든 EE 데이터 소유자들(210, 212, 214)의 평균 성능은 이벤트들의 관리되지 않는 동시성으로 인해 변경될 필요는 없다. 클록 보팅 블록(237)에서 요청된 대역폭 요청들을 합산하는 것은 이용될 수도 있는 기능의 타입의 일 예일 뿐이며, 따라서, 클록(241)을 조정하는데 이용되는 모든 사용자들에 의해 요청된 활동의 요구를 고려하는 임의의 타입의 기능이 이용될 수도 있음을 인식해야 한다.
[0019] 하나의 예시적인 구현에서, 입력 도메인들(240)은, 오디오 데이터(242), 고레벨 운영 시스템 데이터(HLOS)(244), 및 비디오 데이터(246)를 포함하는 반면, 유사하게, 예시적인 출력 도메인들(250)은 오디오 데이터(252), 고레벨 운영 시스템 데이터(HLOS)(254), 및 비디오 데이터(256)를 포함한다. 이들은 단지 예시적인 도메인들이며, 많은 상이한 타입들의 도메인들(예를 들어, 회사, 모뎀 등)이 이용될 수도 있음을 인식해야 한다. 또한, 많은 상이한 타입들의 실행 환경들이 이용될 수도 있으며, 이전에-설명된 것들은 단지 예들일 뿐이다. 하나의 특정한 예에서, 실행 환경 1은 비디오 데이터에 대한 것일 수도 있고, EE1 키 소유자(202) 및 EE1 데이터 소유자 1(210)를 포함할 수도 있다. 데이터 소유자(201)에 대한 입력 비디오 데이터(246)는 EE1 키 소유자와 연관된 키 테이블(224) 내의 키를 이용하여 암호화프로세서(220)에 의해 암호해독될 필요가 있을 수도 있어서, 그것은 출력 도메인(256)에서 디스플레이될 수도 있다. 이러한 예로 계속하면, 비디오 실행 환경(예를 들어, EE1 키 소유자(202) 및 EE1 데이터 소유자(210))은, 비디오 데이터(256)가 디스플레이를 위해 출력 도메인(250)으로 출력될 수 있도록, 암호화된 비디오 데이터(246)가 비디오 실행 환경에 대한 키 테이블(224)의 연관된 키를 이용하여 암호화프로세서(220)에 의해 암호해독되는 것을 요청할 수도 있다. 커맨드 채널 1(230)은, 키 테이블(224)의 키 및/또는 암호화라이브러리(239)를 이용하여 구현된 암호해독 커맨드를 포함할 수도 있다.
[0020] 또한, 암호화프로세서(220)의 스케줄러(236)는, 복수의 상이한 실행 환경들(예를 들어, EE 데이터 소유자들(210, 212, 214))로부터 요청된 대역폭들(BW 요청들)(예를 들어, [100Mhz, 100Mhz, 및 200Mhz])에 대한 복수의 보트들을 수신하고; 클록 보팅 블록(237)에서 요청된 대역폭들을 합산하며; 그리고, 예를 들어, 클록 보트(238)로 지칭되는 요청된 대역폭들의 합산(예를 들어, 400Mhz)에 기초하여 클록(241)의 속도(예를 들어, 클록 속도)를 셋팅하기 위해 이용될 수도 있다. 이에 기초하여, EE 데이터 소유자들(210, 212, 214)로부터의 암호화/암호해독 커맨드들은 속도의 총 합산에서 수행된다. 따라서, 예로서, 비디오 실행 환경(예를 들어, EE1 키 소유자(202) 및 EE1 데이터 소유자(210))은, 비디오 데이터(256)가 디스플레이를 위해 출력 도메인(250)으로 출력될 수 있도록 400Mhz의 클록 레이트로 암호화프로세서(220)에 의해 암호해독된 암호화된 비디오 데이터(246)를 가질 수도 있는 반면, 다른 실행 환경들(예를 들어, EE2 키 소유자(202)/EE2 데이터 소유자(210)(예를 들어, 오디오) 및 EEN 키 소유자(206)/EEN 데이터 소유자(214)(예를 들어, HLOS))은, 관련된 데이터가 출력 도메인(250)으로 출력될 수 있도록 400Mhz의 클록 레이트로 암호화프로세서(220)에 의해 암호해독된 암호화 데이터를 유사하게 가질 수도 있다.
[0021] 이것은 (데이터를 암호화 또는 암호해독하는데 사용될 수도 있는) 암호화프로세서의 동작의 단지 일 예일 뿐이며, 많은 상이한 타입들의 실행 환경들, 데이터의 타입들, 도메인들의 타입들 등이 암호화프로세서 또는 임의의 타입의 프로세서와 함께 이용될 수도 있음을 인식해야 한다. 추가적으로, 클록의 속도를 셋팅하기 위한 암호화프로세서의 사용은, 클록의 속도를 셋팅하는데 이용될 수도 있는 프로세서(220)의 단지 일 예일 뿐이며, 임의의 타입의 프로세서가 클록의 속도를 셋팅하기 위해 본 발명의 실시예들을 구현하는데 이용될 수도 있음을 인식해야 한다.
[0022] 도 3을 부가적으로 참조하면, 스케줄러(236)의 클록 보팅 블록(237)의 일 예가 설명된다. 시작하기 위해, 일 실시예에서, 스케줄러(236)가 임의의 공평한-공유 알고리즘을 사용하여 동작할 수도 있음을 인식해야 한다. 하나의 그러한 예는 라운드-로빈 방식이며, 여기서, 각각의 EE 데이터 소유자(예를 들어, 210, 212, 214)에 대한 커맨드 채널(예를 들어, 230, 232, 234)로부터의 각각의 커맨드에 대해, 스케줄러는 서비스되는 현재의 커맨드에 대해 중단하고, 그 후, 다음의 서비스를 서빙한다. 예를 들어, 일단 현재의 커맨드에 대한 한도(quota)(예를 들어, 32KB)에 도달하면, 임의의 계류중인 커맨드가 셋팅되는 경우, 다음의 계류중인 커맨드가 서비스된다. 이러한 방식으로, 모든 각각의 커맨드 채널은 프로세서의 성능의 100% 내지 1/N 사이에서 수신하며, 여기서, N은 계류중인 상태에 있는 포트들/커맨드 채널들의 수이다. 이러한 방식으로, 궁핍(starvation)이 방지되고, 커맨드 채널들에 대한 공평성이 제공될 수도 있다. 도 3에 도시된 바와 같이, 스케줄러의 클록 보팅 블록(237)은, 복수의 상이한 실행 환경 데이터 소유자들(예를 들어, 210, 212, 및 214)로부터 복수의 대역폭 요청들(예를 들어, 대역폭 요청들 1-N(310, 312, 및 314))을 수신할 수도 있으며, 합산 기능(320)을 이용함으로써, 총 대역폭 요청[예를 들어, TOTAL_BW_REQ=∑(BW_REQi)]을 계산하기 위해, 요청된 대역폭 요청을 합산할 수도 있다.
[0023] 추가적으로, 일 실시예에서, 클록은 레벨링된 속도들(330)을 포함할 수도 있으므로, 대역폭 요청들의 합산(TOTAL_BW_REQ 332)에 기초하여, 스케줄러(236)의 클록 보팅 블록(237)은 다음의 가장 높은 레벨링된 속도를 선택하도록 구성된다. 일 예로서, 도 3에 도시된 바와 같이, 대역폭은, 특정한 레벨들(예를 들어, 레벨0 - 0Mhz, 레벨1 - 200Mhz, 레벨2 - 400Mhz, 레벨3 - 600Mhz 등)로 사전 정의될 수도 있다. 이러한 예에서, 100Mhz, 100Mhz, 및 150Mhz 각각에 대한 대역폭 요청에 대한 3개의 EE 데이터 소유자 보트들이 존재하면, 클록 보팅 블록(237)은, 총 대역폭 요청(332)을 350MHz로서 계산하고, 대역폭의 다음의 가장 높은 레벨(340), 즉 레벨2 - 400Mhz를 선택한다. 따라서, 클록(241)의 속도에 대한 다음의 가장 높은 레벨링된 속도(예를 들어, 400Mhz)가 선택된다. 실시예들에서, 스케줄러(236)가 하드웨어 또는 소프트웨어로 구현될 수도 있음을 인식해야 한다. 또한, 다시, 클록 보팅 블록(237)에서 요청된 대역폭 요청들을 합산하는 것은 이용될 수도 있는 기능의 타입의 일 예일 뿐이며, 따라서, 클록(241)을 조정하는데 이용되는 모든 사용자들에 의해 요청된 활동의 요구를 고려하는 임의의 타입의 기능이 이용될 수도 있음을 인식해야 한다.
[0024] 도 4를 부가적으로 참조하면, EE 데이터 소유자들로부터의 일반화된 클록 속도들에 대한 요청된 대역폭들을 이용하는 스케줄러(236)의 일 예가 설명된다. 이러한 실시예에서, 각각의 EE 데이터 소유자(예를 들어, 210, 212, 214)는, 일반화된 클록 속도(예를 들어, 낮음, 중간, 또는 높음)에 대한 그들 각각의 커맨드 채널(예를 들어, 230, 232, 234)을 통해 대역폭 요청 또는 보트를 스케줄러(236)에 송신한다. 수신된 요청된 일반화된 클록 속도들(예를 들어, 낮음, 중간, 또는 높음)에 기초하여, 스케줄러(236)는, 클록(241)에 대한 (예를 들어, 클록 보트로서 서빙하는) 다음의 가장 높은 레벨의 일반화된 클록 속도를 선택할 수도 있다. 따라서, 수신된 요청된 일반화된 클록 속도들(예를 들어, 낮음, 중간, 또는 높음)에 기초하여, 스케줄러(236)는 결합된 보트들로부터 다음의 레벨의 클록 속도들을 선택할 수도 있다. 도 4의 테이블(400)은 상이한 예들을 제공한다. 일 예로서, EE1(410)=낮음, EE2(412)=낮음, 그리고 EE3(414)=낮음이면, 스케줄러(236)는, 중간으로 셋팅되도록 클록(241)의 속도에 대한 클록 레이트(416)에 대한 클록 보트를 셋팅한다. 다른 예로서, EE1(410)=낮음, EE2(412)=낮음, 그리고 EE3(414)=중간이면, 스케줄러(236)는, 높음으로 셋팅되도록 클록(241)의 속도에 대한 클록 레이트(416)에 대한 클록 보트를 셋팅한다. 또 다른 예로서, EE1(410)=낮음, EE2(412)=중간, EE3(414)=높음이면, 스케줄러(236)는, 높음으로 셋팅되도록 클록(241)의 속도에 대한 클록 레이트(416)에 대한 클록 보트를 셋팅한다.
[0025] 이전에 설명된 바와 같이, 클록의 속도(예를 들어, 클록 속도)를 셋팅하기 위해 스케줄러(236)의 이전에 설명된 기능을 구현하는 프로세서(220)는, 인코딩 및 디코딩을 구현하기 위한 암호화프로세서, 또는 스케줄러(236)에 의해 셋팅된 클록의 속도로 프로세서의 기능들을 구현하기 위한 임의의 다른 타입의 프로세서일 수도 있다. 따라서, 임의의 타입의 프로세서에 대한 스케줄러(236)는, 복수의 상이한 실행 환경들(예를 들어, EE 데이터 소유자들(210, 212, 214))로부터 요청된 대역폭들(BW 요청들)에 대한 복수의 보트들을 수신하고; 스케줄러(236)의 클록 보팅 블록(237)에서 요청된 대역폭들을 합산하며; 그리고, 예를 들어, 클록 보트(238)로 지칭되는 요청된 대역폭들의 합산에 기초하여 클록(241)의 속도를 셋팅하도록 구성될 수도 있다. 이에 기초하여, EE 데이터 소유자들(210, 212, 214)로부터의 임의의 타입의 커맨드들은 임의의 타입의 프로세서에 대해 이전에 상세히 설명된 바와 같이, 속도의 총 합산으로 수행될 수도 있다.
[0026] 도 5를 부가적으로 참조하면, 도 5는 본 발명의 일 실시예에 따른, 클록의 속도를 셋팅하기 위한 방법 프로세스(500)의 일 예를 도시한 흐름도이다. 블록(502)에서, 복수의 상이한 실행 환경들로부터의 요청된 대역폭들(BW 요청들)에 대한 복수의 보트들이 수신된다. 다음으로, 블록(504)에서, 요청된 대역폭들이 합산된다. 블록(506)에서, 클록 속도는 요청된 대역폭들의 합산에 기초하여 셋팅된다. 이에 기초하여, 임의의 타입의 EE 데이터 소유자들로부터의 임의의 타입의 커맨드들은 임의의 타입의 프로세서에 대해 이전에 상세히 설명된 바와 같이, 속도의 총 합산으로 수행될 수도 있다.
[0027] 이전에 설명된 본 발명의 양상들은 이전에 설명된 바와 같이, 디바이스(예를 들어, 컴퓨팅 디바이스(100))의 프로세서들(220)(예를 들어, 범용 프로세서, 암호화프로세서, 또는 임의의 타입의 프로세서)에 의한 명령들의 실행과 함께 구현될 수도 있다. 특히, 프로세서들을 포함하지만 이에 제한되지는 않는 디바이스들의 회로는, 본 발명의 실시예들에 따른 방법들 또는 프로세스들(예를 들어, 도 3-5의 프로세스들 및 기능들)을 실행하기 위해 프로그램의 제어, 루틴, 또는 명령들의 실행 하에서 동작할 수도 있다. 예를 들어, 그러한 프로그램은, (예를 들어, 메모리 및/또는 다른 위치들에 저장된) 펌웨어 또는 소프트웨어로 구현될 수도 있으며, 디바이스들의 프로세서들 및/또는 다른 회로에 의해 구현될 수도 있다. 추가적으로, 용어들 프로세서, 마이크로프로세서, 회로, 제어기 등이 로직, 커맨드들, 명령들, 소프트웨어, 펌웨어, 기능 등을 실행할 수 있는 임의의 타입의 로직 또는 회로를 지칭함을 인식해야 한다.
[0028] 디바이스들이 모바일 또는 무선 디바이스일인 경우, 그들은, 임의의 적절한 무선 통신 기술에 기초하거나 또는 그렇지 않으면 그 기술을 지원하는 무선 네트워크를 통하여 하나 또는 그 초과의 무선 통신 링크들을 통해 통신할 수도 있음을 인식해야 한다. 예를 들어, 몇몇 양상들에서, 무선 디바이스 및 다른 디바이스들은 무선 네트워크를 포함하는 네트워크와 연관될 수도 있다. 몇몇 양상들에서, 네트워크는, 신체 영역 네트워크 또는 개인 영역 네트워크(예를 들어, 울트라-광대역 네트워크)를 포함할 수도 있다. 몇몇 양상들에서, 네트워크는, 로컬 영역 네트워크 또는 광역 네트워크를 포함할 수도 있다. 무선 디바이스는, 예를 들어, 3G, LTE, 어드밴스드 LTE, 4G, CDMA, TDMA, OFDM, OFDMA, WiMAX, 및 Wi-Fi와 같은 다양한 무선 통신 기술들, 프로토콜들, 또는 표준들 중 하나 또는 그 초과를 지원하거나 그렇지 않으면 사용할 수도 있다. 유사하게, 무선 디바이스는, 다양한 대응하는 변조 또는 멀티플렉싱 방식들 중 하나 또는 그 초과를 지원하거나 그렇지 않으면 사용할 수도 있다. 따라서, 무선 디바이스는, 위의 또는 다른 무선 통신 기술들을 사용하여 하나 또는 그 초과의 무선 통신 링크들을 통해 설정 및 통신하기 위한 적절한 컴포넌트들(예를 들어, 에어 인터페이스들)을 포함할 수도 있다. 예를 들어, 디바이스는, 무선 매체를 통한 통신을 용이하게 하는 다양한 컴포넌트들(예를 들어, 신호 생성기들 및 신호 프로세서들)을 포함할 수도 있는 연관된 송신기 및 수신기 컴포넌트들(예를 들어, 송신기 및 수신기)을 갖는 무선 트랜시버를 포함할 수도 있다. 따라서, 잘 알려진 바와 같이, 모바일 무선 디바이스는, 다른 모바일 디바이스들, 셀 폰들, 다른 유선 및 무선 컴퓨터들, 인터넷 웹-사이트들 등과 무선으로 통신할 수도 있다.
[0029] 본 명세서의 교시들은 다양한 장치들(예를 들어, 디바이스들)에 포함(예를 들어, 그 장치들 내에서 구현 또는 그 장치들에 의해 수행)될 수도 있다. 예를 들어, 본 명세서에 교시된 하나 또는 그 초과의 양상들은, 폰(예를 들어, 셀룰러 폰), 개인 휴대 정보 단말("PDA"), 태블릿, 모바일 컴퓨터, 랩탑 컴퓨터, 엔터테인먼트 디바이스(예를 들어, 뮤직 또는 비디오 디바이스), 헤드셋(예를 들어, 헤드폰들, 이어피스들 등), 의료용 디바이스(예를 들어, 바이오메틱(biometric) 센서, 심박수 모니터, 계보기, EKG 디바이스 등), 사용자 I/O 디바이스, 컴퓨터, 유선 컴퓨터, 고정된 컴퓨터, 데스크탑 컴퓨터, 서버, 판매-시점관리(point of sale) 디바이스, 셋탑 박스, 또는 임의의 다른 적절한 디바이스로 포함될 수도 있다. 이들 디바이스들은 상이한 전력 및 데이터 요건들을 가질 수도 있다.
[0030] 몇몇 양상들에서, 무선 디바이스는, 통신 시스템을 위한 액세스 디바이스(예를 들어, Wi-Fi 액세스 포인트)를 포함할 수도 있다. 그러한 액세스 디바이스는, 예를 들어, 유선 또는 무선 통신 링크를 통해 다른 네트워크(예를 들어, 인터넷 또는 셀룰러 네트워크와 같은 광역 네트워크)로의 접속을 제공할 수도 있다. 따라서, 액세스 디바이스는, 다른 디바이스(예를 들어, WiFi 스테이션)가 다른 네트워크 또는 몇몇 다른 기능에 액세스할 수 있게 할 수도 있다.
[0031] 당업자들은, 정보 및 신호들이 다양한 상이한 기법들 및 기술들 중 임의의 기법 및 기술을 사용하여 표현될 수도 있음을 이해할 것이다. 예를 들어, 상기 설명 전반에 걸쳐 참조될 수도 있는 데이터, 명령들, 커맨드들, 정보, 신호들, 비트들, 심볼들, 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 자기 입자들, 광학 필드들 또는 광학 입자들, 또는 이들의 임의의 결합에 의해 표현될 수도 있다.
[0032] 당업자들은, 본 명세서에 기재된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수도 있음을 추가적으로 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호교환가능성을 명확히 예시하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 그들의 기능 관점들에서 일반적으로 상술되었다. 그러한 기능이 하드웨어로 구현되는지 또는 소프트웨어로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 부과된 설계 제약들에 의존한다. 당업자들은 설명된 기능을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수도 있지만, 그러한 구현 결정들이 본 발명의 범위를 벗어나게 하는 것으로서 해석되지는 않아야 한다.
[0033] 본 명세서에 기재된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 및 회로들은 범용 프로세서, 디지털 신호 프로세서(DSP), 주문형 집적회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA) 또는 다른 프로그래밍가능 로직 디바이스, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합으로 구현 또는 수행될 수도 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로제어기, 또는 상태 머신일 수도 있다. 또한, 프로세서는 컴퓨팅 디바이스들의 결합, 예를 들어 DSP와 마이크로프로세서의 결합, 복수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그 초과의 마이크로프로세서들, 또는 임의의 다른 그러한 구성으로서 구현될 수도 있다.
[0034] 본 명세서에 기재된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 결합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈형 디스크, CD-ROM, 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고, 저장 매체에 정보를 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서 및 저장 매체는 ASIC에 상주할 수도 있다. ASIC는 사용자 단말에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 사용자 단말에서 개별 컴포넌트들로서 상주할 수도 있다.
[0035] 하나 또는 그 초과의 예시적인 실시예들에서, 설명된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 결합으로 구현될 수도 있다. 컴퓨터 프로그램 물건으로서 소프트웨어로 구현되면, 기능들은 컴퓨터 판독가능 매체 상에 하나 또는 그 초과의 명령들 또는 코드로서 저장되거나 이들을 통해 송신될 수도 있다. 컴퓨터 판독가능 매체들은, 일 장소에서 다른 장소로의 컴퓨터 프로그램의 전달을 용이하게 하는 임의의 매체들을 포함한 통신 매체들 및 컴퓨터 저장 매체들 둘 모두를 포함한다. 저장 매체들은 컴퓨터에 의해 액세스될 수 있는 임의의 이용가능한 매체들일 수도 있다. 제한이 아닌 예로서, 그러한 컴퓨터-판독가능 매체들은 RAM, ROM, EEPROM, CD-ROM 또는 다른 광학 디스크 저장부, 자기 디스크 저장부 또는 다른 자기 저장 디바이스들, 또는 명령들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 반송(carry) 또는 저장하는데 사용될 수 있고, 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 접속수단(connection)이 컴퓨터-판독가능 매체로 적절히 지칭된다. 예를 들어, 소프트웨어가 동축 케이블, 광섬유 케이블, 연선(twisted pair), 디지털 가입자 라인(DSL), 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들을 사용하여 웹 사이트, 서버, 또는 다른 원격 소스로부터 송신되면, 동축 케이블, 광섬유 케이블, 연선, DSL, 또는 (적외선, 라디오, 및 마이크로파와 같은) 무선 기술들이 매체의 정의에 포함된다. 본 명세서에서 사용된 바와 같이, 디스크(disk) 및 디스크(disc)는 컴팩트 디스크(disc)(CD), 레이저 디스크(disc), 광학 디스크(disc), 디지털 다기능 디스크(digital versatile disc)(DVD), 플로피 디스크(disk) 및 블루-레이 디스크(disc)를 포함하며, 여기서 디스크(disk)들은 일반적으로 데이터를 자기적으로 재생하지만, 디스크(disc)들은 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기한 것들의 결합들이 또한 컴퓨터-판독가능 매체들의 범위 내에 포함되어야 한다.
[0036] 기재된 실시예의 이전 설명은 당업자가 본 발명을 사용하거나 또는 실시할 수 있도록 제공된다. 이들 실시예들에 대한 다양한 변형들은 당업자들에게 용이하게 명백할 것이며, 본 명세서에서 정의된 일반적인 원리들은 본 발명의 사상 또는 범위를 벗어나지 않으면서 다른 실시예들에 적용될 수도 있다. 따라서, 본 발명은 본 명세서에 설명된 실시예들로 제한되도록 의도되는 것이 아니라, 본 명세서에 기재된 원리들 및 신규한 특성들과 일치하는 가장 넓은 범위에 부합할 것이다.

Claims (25)

  1. 프로세서에 의해 수행되는, 클록 속도를 셋팅하기 위한 방법으로서,
    복수의 상이한 실행 환경 데이터 소유자들로부터, 요청된 대역폭들에 대한 복수의 보트(vote)들을 수신하는 단계;
    요청된 대역폭 요청들을 합산하는 단계;
    상기 요청된 대역폭 요청들의 합산에 기초하여 암호화프로세서(cryptoprocessor)의 클록 속도를 셋팅하는 단계;
    적어도 하나의 실행 환경 데이터 소유자로부터, 데이터를 암호화 또는 암호해독하기 위한 커맨드를 수신하는 단계; 및
    적어도 하나의 키를 사용하여 상기 데이터를 암호화 또는 암호해독하는 단계를 포함하고,
    상기 암호화 또는 암호해독은 상기 클록 속도로 상기 암호화프로세서에 의해 수행되는, 클록 속도를 셋팅하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 클록은 레벨링된(leveled) 속도들을 포함하는, 클록 속도를 셋팅하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 요청된 대역폭 요청들의 합산에 기초하여, 상기 요청된 대역폭 요청들의 합산을 커버(cover)할 수 있는 가장 낮은 레벨링된 속도를 상기 클록 속도로서 선택하는 단계를 더 포함하는, 클록 속도를 셋팅하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 요청된 대역폭 요청들 각각은 일반화된 클록 속도에 대한 것인, 클록 속도를 셋팅하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 일반화된 클록 속도들은, 낮음, 중간, 또는 높음 중 적어도 하나의 레벨들을 포함하는, 클록 속도를 셋팅하기 위한 방법.
  6. 제 5 항에 있어서,
    요청된 일반화된 클록 속도들에 기초하여, 상기 요청된 일반화된 클록 속도들을 커버할 수 있는 가장 낮은 레벨의 일반화된 클록 속도를 상기 클록 속도로서 선택하는 단계를 더 포함하는, 클록 속도를 셋팅하기 위한 방법.
  7. 코드를 포함하는 비-일시적인 컴퓨터-판독가능 저장 매체로서,
    상기 코드는, 프로세서에 의해 실행될 경우 상기 프로세서로 하여금,
    복수의 상이한 실행 환경 데이터 소유자들로부터, 요청된 대역폭들에 대한 복수의 보트들을 수신하게 하고;
    요청된 대역폭 요청들을 합산하게 하고;
    상기 요청된 대역폭 요청들의 합산에 기초하여 암호화프로세서의 클록 속도를 셋팅하게 하고;
    적어도 하나의 실행 환경 데이터 소유자로부터, 데이터를 암호화 또는 암호해독하기 위한 커맨드를 수신하게 하고; 그리고
    적어도 하나의 키를 사용하여 상기 데이터를 암호화 또는 암호해독하게 하고,
    상기 암호화 또는 암호해독은 상기 클록 속도로 상기 암호화프로세서에 의해 수행되는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  8. 제 7 항에 있어서,
    상기 클록은 레벨링된 속도들을 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  9. 제 8 항에 있어서,
    상기 요청된 대역폭 요청들의 합산에 기초하여, 상기 요청된 대역폭 요청들의 합산을 커버할 수 있는 가장 낮은 레벨링된 속도를 상기 클록 속도로서 선택하기 위한 코드를 더 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  10. 제 7 항에 있어서,
    상기 요청된 대역폭 요청들 각각은 일반화된 클록 속도에 대한 것인, 비-일시적인 컴퓨터-판독가능 저장 매체.
  11. 제 10 항에 있어서,
    상기 일반화된 클록 속도들은, 낮음, 중간, 또는 높음 중 적어도 하나의 레벨들을 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  12. 제 11 항에 있어서,
    요청된 일반화된 클록 속도들에 기초하여, 상기 요청된 일반화된 클록 속도들을 커버할 수 있는 가장 낮은 레벨의 일반화된 클록 속도를 상기 클록 속도로서 선택하기 위한 코드를 더 포함하는, 비-일시적인 컴퓨터-판독가능 저장 매체.
  13. 컴퓨팅 디바이스로서,
    프로세서; 및
    상기 프로세서의 스케줄러를 포함하고,
    상기 스케줄러는,
    복수의 상이한 실행 환경 데이터 소유자들로부터, 요청된 대역폭들에 대한 복수의 보트들을 수신하고;
    요청된 대역폭 요청들을 합산하고;
    상기 요청된 대역폭 요청들의 합산에 기초하여 암호화프로세서의 클록 속도를 셋팅하고;
    적어도 하나의 실행 환경 데이터 소유자로부터, 데이터를 암호화 또는 암호해독하기 위한 커맨드를 수신하고; 그리고
    적어도 하나의 키를 사용하여 상기 데이터를 암호화 또는 암호해독하도록 구성되고,
    상기 암호화 또는 암호해독은 상기 클록 속도로 상기 암호화프로세서에 의해 수행되는, 컴퓨팅 디바이스.
  14. 제 13 항에 있어서,
    상기 클록은 레벨링된 속도들을 포함하는, 컴퓨팅 디바이스.
  15. 제 14 항에 있어서,
    상기 스케줄러는, 상기 요청된 대역폭 요청들의 합산에 기초하여, 상기 요청된 대역폭 요청들의 합산을 커버할 수 있는 가장 낮은 레벨링된 속도를 상기 클록 속도로서 선택하도록 구성되는, 컴퓨팅 디바이스.
  16. 제 13 항에 있어서,
    상기 요청된 대역폭 요청들 각각은 일반화된 클록 속도에 대한 것인, 컴퓨팅 디바이스.
  17. 제 16 항에 있어서,
    상기 일반화된 클록 속도들은, 낮음, 중간, 또는 높음 중 적어도 하나의 레벨들을 포함하는, 컴퓨팅 디바이스.
  18. 제 17 항에 있어서,
    상기 스케줄러는, 요청된 일반화된 클록 속도들에 기초하여, 상기 요청된 일반화된 클록 속도들을 커버할 수 있는 가장 낮은 레벨의 일반화된 클록 속도를 상기 클록 속도로서 선택하도록 구성되는, 컴퓨팅 디바이스.
  19. 컴퓨팅 디바이스로서,
    복수의 상이한 실행 환경 데이터 소유자들로부터, 요청된 대역폭들에 대한 복수의 보트들을 수신하기 위한 수단;
    요청된 대역폭 요청들을 합산하기 위한 수단;
    상기 요청된 대역폭 요청들의 합산에 기초하여 암호화프로세서의 클록 속도를 셋팅하기 위한 수단;
    적어도 하나의 실행 환경 데이터 소유자로부터, 데이터를 암호화 또는 암호해독하기 위한 커맨드를 수신하기 위한 수단; 및
    적어도 하나의 키를 사용하여 상기 데이터를 암호화 또는 암호해독하기 위한 수단을 포함하고,
    상기 암호화 또는 암호해독은 상기 클록 속도로 상기 암호화프로세서에 의해 수행되는, 컴퓨팅 디바이스.
  20. 제 19 항에 있어서,
    상기 클록은 레벨링된 속도들을 포함하는, 컴퓨팅 디바이스.
  21. 제 20 항에 있어서,
    상기 요청된 대역폭 요청들의 합산에 기초하여, 상기 요청된 대역폭 요청들의 합산을 커버할 수 있는 가장 낮은 레벨링된 속도를 상기 클록 속도로서 선택하기 위한 수단을 더 포함하는, 컴퓨팅 디바이스.
  22. 제 19 항에 있어서,
    상기 요청된 대역폭 요청들 각각은 일반화된 클록 속도에 대한 것인, 컴퓨팅 디바이스.
  23. 제 22 항에 있어서,
    상기 일반화된 클록 속도들은, 낮음, 중간, 또는 높음 중 적어도 하나의 레벨들을 포함하는, 컴퓨팅 디바이스.
  24. 제 23 항에 있어서,
    요청된 일반화된 클록 속도들에 기초하여, 상기 요청된 일반화된 클록 속도들을 커버할 수 있는 가장 낮은 레벨의 일반화된 클록 속도를 상기 클록 속도로서 선택하기 위한 수단을 더 포함하는, 컴퓨팅 디바이스.
  25. 삭제
KR1020167027324A 2014-04-03 2015-03-27 클록의 속도를 셋팅하기 위한 장치 및 방법 KR101835872B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/244,626 2014-04-03
US14/244,626 US9547331B2 (en) 2014-04-03 2014-04-03 Apparatus and method to set the speed of a clock
PCT/US2015/023123 WO2015153372A1 (en) 2014-04-03 2015-03-27 Apparatus and method to set the speed of a clock

Publications (2)

Publication Number Publication Date
KR20160140696A KR20160140696A (ko) 2016-12-07
KR101835872B1 true KR101835872B1 (ko) 2018-03-07

Family

ID=52823875

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167027324A KR101835872B1 (ko) 2014-04-03 2015-03-27 클록의 속도를 셋팅하기 위한 장치 및 방법

Country Status (6)

Country Link
US (1) US9547331B2 (ko)
EP (1) EP3126930A1 (ko)
JP (1) JP6194430B2 (ko)
KR (1) KR101835872B1 (ko)
CN (1) CN106104413B (ko)
WO (1) WO2015153372A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256275B2 (en) * 2010-09-01 2016-02-09 Apple Inc. Media playback power management devices and methods
US9778871B1 (en) * 2016-03-27 2017-10-03 Qualcomm Incorporated Power-reducing memory subsystem having a system cache and local resource management

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020830A1 (en) * 2002-10-09 2006-01-26 Roberts David K Localisation of image tampering
US20090319759A1 (en) * 2008-06-19 2009-12-24 Rothman Michael A Seamless frequency sequestering

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7248585B2 (en) 2001-10-22 2007-07-24 Sun Microsystems, Inc. Method and apparatus for a packet classifier
JP4033066B2 (ja) * 2003-05-07 2008-01-16 ソニー株式会社 周波数制御装置、情報処理装置、周波数制御方法及びプログラム
US7640446B1 (en) 2003-09-29 2009-12-29 Marvell International Ltd. System-on-chip power reduction through dynamic clock frequency
US7330988B2 (en) 2004-06-30 2008-02-12 Sun Microsystems, Inc. Method and apparatus for power throttling in a multi-thread processor
US7721127B2 (en) 2006-03-28 2010-05-18 Mips Technologies, Inc. Multithreaded dynamic voltage-frequency scaling microprocessor
US8250394B2 (en) * 2006-03-31 2012-08-21 Stmicroelectronics International N.V. Varying the number of generated clock signals and selecting a clock signal in response to a change in memory fill level
US7886131B1 (en) 2006-08-14 2011-02-08 Marvell International Ltd. Multithread processor with thread based throttling
US20080147357A1 (en) 2006-12-15 2008-06-19 Iintrinisyc Software International System and method of assessing performance of a processor
JP4839328B2 (ja) * 2008-01-21 2011-12-21 株式会社日立製作所 サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム
KR101622195B1 (ko) 2009-11-05 2016-05-18 삼성전자주식회사 동적 버스 클럭을 제어하기 위한 장치 및 방법
US8250395B2 (en) 2009-11-12 2012-08-21 International Business Machines Corporation Dynamic voltage and frequency scaling (DVFS) control for simultaneous multi-threading (SMT) processors
US8782653B2 (en) 2010-03-26 2014-07-15 Virtualmetrix, Inc. Fine grain performance resource management of computer systems
US8539132B2 (en) * 2011-05-16 2013-09-17 Qualcomm Innovation Center, Inc. Method and system for dynamically managing a bus of a portable computing device
US8862918B2 (en) 2011-07-01 2014-10-14 Intel Corporation Efficient frequency boost operation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060020830A1 (en) * 2002-10-09 2006-01-26 Roberts David K Localisation of image tampering
US20090319759A1 (en) * 2008-06-19 2009-12-24 Rothman Michael A Seamless frequency sequestering

Also Published As

Publication number Publication date
CN106104413A (zh) 2016-11-09
EP3126930A1 (en) 2017-02-08
CN106104413B (zh) 2018-05-04
JP2017515211A (ja) 2017-06-08
KR20160140696A (ko) 2016-12-07
WO2015153372A1 (en) 2015-10-08
US9547331B2 (en) 2017-01-17
US20150286242A1 (en) 2015-10-08
JP6194430B2 (ja) 2017-09-06

Similar Documents

Publication Publication Date Title
US10091000B2 (en) Techniques for distributing secret shares
EP2798636B1 (en) Multi-stream-multipoint-jack audio streaming
US11397820B2 (en) Method and apparatus for processing data, computer device and storage medium
US10104342B2 (en) Techniques for secure provisioning of a digital content protection scheme
KR101835872B1 (ko) 클록의 속도를 셋팅하기 위한 장치 및 방법
US11722295B2 (en) Methods, apparatus, and articles of manufacture to securely audit communications
JP2017506778A (ja) コンピューティングデバイスによるアプリケーションの使用の認証
CN108985109A (zh) 一种数据存储方法及装置
JP2018517921A (ja) ファイルセグメントを並列に解読するための装置および方法
EP3155821B1 (en) Video content tracking
CN108111501B (zh) 作弊流量的控制方法、装置和计算机设备
US9342331B2 (en) Secure virtualized mobile cellular device
US10147093B2 (en) System and method for cash flow verification by third party platform
WO2019157062A1 (en) System and method for decentralized data storage
EP3120492B1 (en) Protection against key tampering

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right