KR20220117271A - 타임스탬프 카운터를 동기화하기 위한 방법 및 장치 - Google Patents

타임스탬프 카운터를 동기화하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20220117271A
KR20220117271A KR1020227023815A KR20227023815A KR20220117271A KR 20220117271 A KR20220117271 A KR 20220117271A KR 1020227023815 A KR1020227023815 A KR 1020227023815A KR 20227023815 A KR20227023815 A KR 20227023815A KR 20220117271 A KR20220117271 A KR 20220117271A
Authority
KR
South Korea
Prior art keywords
tsc
processor core
processor
tscs
synchronizing
Prior art date
Application number
KR1020227023815A
Other languages
English (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 어드밴스드 마이크로 디바이시즈, 인코포레이티드
Publication of KR20220117271A publication Critical patent/KR20220117271A/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/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/14Time supervision arrangements, e.g. real time clock
    • 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
    • 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/3243Power saving in microcontroller unit
    • 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)
  • Multi Processors (AREA)
  • Microcomputers (AREA)

Abstract

컴퓨터 시스템에서 프로세서 코어와 연관된 타임 스탬프 카운터(TSC)를 동기화하는 방법 및 장치는 프로세서 코어와 연관된 TSC를 TSC들의 계층의 적어도 하나의 다른 TSC와 동기화함으로써 프로세서 코어와 연관된 TSC를 초기화하는 단계를 포함한다. 하나 이상의 프로세서 코어들은 전원이 차단되어 있다. 하나 이상의 프로세서 코어들의 전원을 켤 때, 프로세서 코어와 연관된 TSC는 TSC들의 계층의 적어도 하나의 다른 TSC와 동기화된다.

Description

타임스탬프 카운터를 동기화하기 위한 방법 및 장치
관련 출원에 대한 상호 참조
본 출원은 2019년 12월 19일에 출원된 미국 정규 출원 번호 제16/721,886호의 이익을 주장하며, 그 내용은 본 명세서에 참조로 포함된다.
멀티코어 프로세서 시스템의 큰 과제 중 하나는 잠재적으로 상이한 주파수들에서 운영되는 모든 상이한 코어들에서 동기화된 타임 스탬프 카운터(TSC)를 유지하는 것이다. 코어들과 심지어 소켓들 사이의 거리가 멀어짐에 따라 이는 점점 더 어려운 문제가 된다. 또 다른 과제는 CC1, CC6 또는 기타 절전 상태(sleep state)와 같은 전원 관리 이벤트 중에 TSC를 동기화된 상태로 유지하는 것이다. 기존 설계에서, 코어당 로직은 클록 정지 또는 절전 상태에서 깨어날 때 새로운 TSC 값으로 재프로그래밍되어야 한다.
첨부 도면과 함께 예로서 주어진 다음의 설명으로부터 보다 상세한 이해를 얻을 수 있으며, 여기서:
도 1은 본 개시의 하나 이상의 피쳐들이 구현될 수 있는 예시적인 디바이스의 블록도이고;
도 2는 복수의 코어들을 포함하는 예시적인 프로세서의 개략도이고; 및
도 3은 타임 스탬프 카운터를 동기화하는 예시적인 방법의 흐름도이다.
방법 및 장치는 아래에서 더 자세히 확장되지만, 본 명세서에는 타임 스탬프 카운터(TSC) 및 컴퓨터 시스템의 중요한 양태로서 동기화의 사용에 대한 간략한 설명이 포함된다. 컴퓨터 시스템에서 글로벌 타임스탬프(GT) 개념을 사용하는 것이 유용할 때가 있다. GT는 전역 이벤트 완료 순서를 나타내는 데 사용될 수 있는 모든 프로세서 스레드(thread)들에 공통적으로 지속적으로 증가하는 값이다. 이 GT는 활동을 조정하고 올바른 순서를 나타내기 위해 별도의 프로세서 스레드에서 사용할 수 있다. 이 메커니즘은 분산 데이터베이스 시스템에서 다-단계 트랜잭션을 계속 처리할지 여부 또는 완료하려는 트랜잭션의 GT보다 최신 GT로 예약된 종속 트랜잭션 중 하나의 변경으로 인해 다-단계 트랜잭션을 다시 예약해야 하는지 여부를 결정하는 데 일반적으로 사용된다. 글로벌 타임스탬프 카운터(GTC)를 구현하는 데 사용할 수 있는 소프트웨어 메커니즘이 존재하지만, 이들은 일반적으로 공유 변수에 대한 세마포어 트랜잭션(semaphore transaction)을 포함하며 단일 공유 위치를 업데이트하려는 많은 프로세스의 통신 오버헤드 및 충돌 해결로 인해 매우 느린 경향이 있다. 대신 프로세서는 각 물리적 프로세서에 로컬인 타임 스탬프 카운터(TSC)를 구현하였고, 따라서 액세스가 빠르고 다른 모든 TSC와 동기화되어 전역적으로 모든 프로세스가 거의 동일한 시간에 동일한 값을 볼 수 있으므로 소프트웨어 GTC를 유지 관리하기 위한 오버헤드를 피할 수 있다. 이 메커니즘을 사용하려면 모든 로컬 TSC가 전원 관리 이벤트에 관계없이 항상 서로 동기화되어야 한다.
컴퓨터 시스템에서 프로세서 코어와 연관된 타임 스탬프 카운터(TSC)를 동기화하는 방법은 프로세서 코어와 연관된 TSC를 TSC들의 계층의 적어도 하나의 다른 TSC와 동기화함으로써 프로세서 코어와 연관된 TSC를 초기화하는 단계를 포함한다. 하나 이상의 프로세서 코어 전원이 차단되어 있다. 하나 이상의 프로세서 코어들의 전원을 켤 때, 프로세서 코어와 연관된 TSC는 TSC들의 계층의 적어도 하나의 다른 TSC와 동기화된다.
컴퓨터 시스템에서 타임 스탬프 카운터(TSC)들을 동기화하기 위한 장치는 복수의 프로세서 코어들을 포함하는 프로세서 다이, 복수의 프로세서 코어들의 프로세서 코어와 연관된 제1 TSC, 및 제1 TSC와 통신하는 TSC들의 계층의 제2 TSC를 포함한다. 제1 TSC는 제1 TSC와 제2 TSC를 동기화함으로써 초기화된다. 전원을 차단한 후 하나 이상의 프로세서 코어들의 전원을 켤 때, 프로세서 코어와 연관된 제1 TSC가 TSC들의 계층의 제2 TSC와 동기화된다.
컴퓨터 시스템에서 프로세서 코어와 연관된 타임 스탬프 카운터(TSC)를 동기화하기 위한 비일시적 컴퓨터 판독 가능 매체에는 명령어가 기록되어 있으며, 명령어는 프로세서에 의해 실행될 때 프로세서가 동작들을 수행하게 한다. 동작들은 프로세서 코어와 연관된 TSC를 TSC들의 계층의 적어도 하나의 다른 TSC와 동기화함으로써 프로세서 코어와 연관된 TSC를 초기화하는 단계, 하나 이상의 프로세서 코어의 전원을 차단하는 단계, 및 하나 이상의 프로세서 코어의 전원을 켤 때, 프로세서 코어와 연관된 TSC를 TSC들의 계층의 적어도 하나의 다른 TSC와 동기화하는 단계를 포함한다.
도 1은 본 개시의 하나 이상의 피쳐들이 구현될 수 있는 예시적인 디바이스(100)의 블록도이다. 디바이스(100)는, 예를 들어, 컴퓨터, 게임 디바이스, 핸드헬드 디바이스, 셋톱 박스, 텔레비전, 모바일 폰, 또는 태블릿 컴퓨터를 포함할 수 있다. 디바이스(100)는 프로세서(102), 메모리(104), 스토리지(106), 하나 이상의 입력 디바이스들(108), 및 하나 이상의 출력 디바이스들(110)을 포함한다. 디바이스(100)는 또한 선택적으로 입력 드라이버(112) 및 출력 드라이버(114)를 포함할 수 있다. 추가적으로, 디바이스(100)는 프로세서(102) 및 메모리(104)와 통신하고 외부 메모리(116)와 통신할 수 있는 메모리 제어기(115)를 포함한다. 디바이스(100)는 도 1에 도시되지 않은 추가 컴포넌트를 포함할 수 있다는 것이 이해된다.
다양한 대안에서, 프로세서(102)는 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 동일한 다이 상에 위치한 CPU 및 GPU, 또는 하나 이상의 프로세서 코어들을 포함하고, 여기서 각각의 프로세서 코어는 CPU 또는 GPU일 수 있다. 다양한 대안에서, 메모리(104)는 프로세서(102)와 동일한 다이(die)에 위치하거나 프로세서(102)와 별도로 위치한다. 메모리(104)는 휘발성 또는 비휘발성 메모리, 예를 들어 랜덤 액세스 메모리(RAM), 동적 RAM 또는 캐시를 포함한다.
스토리지(106)는 고정 또는 착탈식 스토리지, 예를 들어, 하드 디스크 드라이브, 솔리드 스테이트 드라이브, 광 디스크 또는 플래시 드라이브를 포함한다. 입력 디바이스들(108)은, 이에 제한되는 것은 아니지만, 키보드, 키패드, 터치스크린, 터치패드, 감지기, 마이크, 가속도계, 자이로스코프, 생체 인식 스캐너 또는 네트워크 연결(예: 무선 IEEE 802 신호의 송신 및/또는 수신을 위한 무선 근거리 통신망 카드)을 포함한다. 출력 디바이스들(110)은, 이에 제한되는 것은 아니지만, 디스플레이, 스피커, 프린터, 햅틱 피드백 장치, 하나 이상의 조명, 안테나 또는 네트워크 연결(예: 무선 IEEE 802 신호의 송신 및/또는 수신을 위한 무선 근거리 통신망 카드)을 포함한다.
입력 드라이버(112)는 프로세서(102) 및 입력 디바이스들(108)과 통신하고, 프로세서(102)가 입력 디바이스들(108)로부터 입력을 수신하도록 한다. 출력 드라이버(114)는 프로세서(102) 및 출력 디바이스들(110)과 통신하고, 프로세서(102)가 출력 디바이스들(110)로 출력을 발송하도록 한다. 입력 드라이버(112) 및 출력 드라이버(114)는 선택적 컴포넌트고, 입력 드라이버(112) 및 출력 드라이버(114)가 존재하지 않는 경우 디바이스(100)는 동일한 방식으로 동작할 것이라는 점에 유의한다.
외부 메모리(116)는 메모리(104)와 유사할 수 있고, 오프-칩(off-chip) 메모리의 형태로 상주할 수 있다. 추가적으로, 외부 메모리는 메모리 제어기(115)가 메모리(116)에 액세스하기 위해 네트워크 인터페이스를 통해 통신하는 서버에 상주하는 메모리일 수 있다.
도 2는 복수의 코어들을 포함하는 예시적인 프로세서의 개략도이다. 도 2에 도시된 예에서, 디바이스(100)의 프로세서(102)는 복수의 코어들(122)(1221, 1222, 1223, 1224, 1225, 및 1226로 지정됨)을 갖는 것으로 도시된다. 프로세서(102)는 TSC(123)의 계층(hierarchy)의 일부이고 마스터 TSC(123T)와 통신하는 TSC(1230)를 포함한다. 또한, 각각의 코어(122)는 각각 TSC(123)(1231, 1232, 1233, 1234, 1235, 1236으로 지정됨)를 포함한다. 위에서 언급된 바와 같이, 각 TSC(123)는 다른 모든 TSC들과 동기화된 상태로 유지된다.
본 명세서에 설명된 "TSC 업데이트 허용" 및 "TSC 오프셋 추가" 단계들은 순서대로 발생하는 것으로 설명되어 있지만; 단계들은 어느 순서로든 수행될 수 있다. TSC가 동기화되었음을 나타내기 전에 둘 모두 완료되어야 한다. 일부 실시예에서, 하나의 순서가 이용되고, 다른 실시예에서, 다른 순서가 이용된다. 순서의 선택은 "TSC 오프셋" 통신을 위한 로직에 따라 달라질 수 있다. "TSC 오프셋"이 송신되어야 하는 물리적 거리가 작은 경우, 이는 전용 와이어로 송신되므로 TSC 업데이트가 시작된 후 오프셋이 추가된다. "TSC 오프셋"을 송신해야 하는 물리적 거리가 클 경우, "TSC 오프셋"은 "TSC 업데이트" 신호를 사용할 수 있고 TSC에 직렬로 송신될 수 있다. 이 경우 TSC 업데이트는 첫 번째 TSC 업데이트 펄스가 발송되기 전에 "TSC 오프셋"이 송신될 수 있도록 충분한 수의 TSC 사이클들에서 보류된다.
도 3은 TSC(123)와 같은 타임 스탬프 카운터를 동기화하는 예시적인 방법(300)의 흐름도이다.
단계(310)에서, TSC는 재설정(초기화)된다. 이 시점에서, TSC 업데이트는 비활성화되고 TSC 오프셋 값이 다음 TSC 업데이트를 위해 저장된다(단계(320)). 따라서, 전력 관리 이벤트 동안, 코어(122)와 연관된 TSC(123)는 전력 공급 시에 동기화될 조건(condition)에 있다.
전원공급 사이클이 시작되면, TSC(123)에 대한 TSC 업데이트가 다시 한번 활성화된다(단계(330)). 이때, 저장된 오프셋 값이 카운터에 추가되어(단계(340)), TSC(123)가 동기화된다(단계(350)).
위의 방법(300)을 수행하기 위해 이러한 시퀀스(sequence)를 수행하는 TSC 카운터들의 계층이 존재한다. 최상위 레벨에서, 항상 켜져 있고 항상 TSC 클록(표시되지 않음)과 함께 증가하는 하나의 마스터 TSC 카운터(TSCT)가 존재한다. 다음 레벨 다운(예: 프로세서 다이(102) 상의 다이 레벨 TSC-TSC(1230))은 마스터 TSCT와 동기화하여 다이당 기준(reference)을 얻는다. 그로부터, 코어(122)와 연관된 각각의 TSC(123)는 다이 레벨 카운터로부터 그의 TSC 오프셋을 얻기 위해 다이 레벨 TSC와 동기화된다. 따라서, 트리(tree)(예: 코어들(122))의 각 분기(branch)는 개별적으로 전원이 차단될 수 있고 이 방법은 해당 분기의 모든 TSC들을 가장 높은 TSC에서 시작하여 아래쪽으로 진행하는 동기화 상태로 되돌리기 위해 필요한 만큼 반복된다.
제공된 방법은 범용 컴퓨터, 프로세서 또는 프로세서 코어에서 구현될 수 있다. 적합한 프로세서는 예로서 범용 프로세서, 목적 프로세서, 기존 프로세서, 디지털 신호 프로세서(DSP), 복수의 마이크로 프로세서들, DSP 코어와 관련된 하나 이상의 마이크로프로세서들, 제어기, 마이크로제어기, 주문형 집적 회로(ASIC), 필드 프로그래밍 가능 게이트 어레이(FPGA) 회로, 다른 유형의 집적 회로(IC) 및/또는 상태 머신을 포함한다. 이러한 프로세서는 처리된 하드웨어 설명 언어(HDL) 명령어 및 넷리스트(컴퓨터 판독 가능 매체에 저장될 수 있는 명령어)를 포함한 기타 중간 데이터의 결과를 사용하여 제조 프로세스를 구성함으로써 제조될 수 있다. 이러한 처리의 결과는 마스크워크(maskwork)일 수 있으며, 이는 이후 반도체 제조 프로세스에서 사용되어 본 개시의 피쳐를 구현하는 프로세서를 제조할 수 있다. 또한, 위에서 설명된 방법 및 장치는 PCIe 링크 및 포트를 제어 및 구성하는 콘텍스트에서 설명되지만, 방법 및 장치는 링크 폭이 협상되는 모든 상호연결 프로토콜에서 활용될 수 있다.
본 명세서에 제공된 방법 또는 순서도는 범용 컴퓨터 또는 프로세서에 의한 실행을 위해 비일시적 컴퓨터 판독 가능 저장 매체에 통합된 컴퓨터 프로그램, 소프트웨어 또는 펌웨어로 구현될 수 있다. 비일시적 컴퓨터 판독 가능 저장 매체의 예에는 판독 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 레지스터, 캐시 메모리, 반도체 메모리 장치, 자기 매체, 예를 들어 내부 하드 디스크 및 이동식 디스크, 광자기 매체 및 광 매체, 예를 들어 CD-ROM 디스크 및 디지털 다목적 디스크(DVD)가 포함된다. 예를 들어, 위에서 설명된 방법은 프로세서(102)에서 또는 컴퓨터 시스템(100)의 임의의 다른 프로세서에서 구현될 수 있다.

Claims (20)

  1. 컴퓨터 시스템(computer system)에서 제1 프로세서 코어(processor core)와 연관된 타임 스탬프 카운터(TSC)를 동기화하는 방법에 있어서,
    상기 프로세서 코어와 연관된 상기 TSC를 TSC들의 계층(hierarchy)의 적어도 하나의 다른 TSC와 동기화함으로써 상기 프로세서 코어와 연관된 상기 TSC를 초기화하는 단계;
    상기 제1 프로세서 코어를 포함하는 하나 이상의 프로세서 코어들의 전원을 차단하는 단계; 및
    상기 제1 프로세서 코어를 포함하는 상기 하나 이상의 프로세서 코어들의 전원을 켤 때, 상기 프로세서 코어와 연관된 상기 TSC를 상기 TSC들의 계층의 상기 적어도 하나의 다른 TSC와 동기화하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 제1 프로세서 코어의 전원을 차단할 때 상기 프로세서 코어와 연관된 상기 TSC에 대한 업데이트를 비활성화하는 단계를 더 포함하는, 방법.
  3. 제2항에 있어서, 상기 제1 프로세서 코어의 전원을 차단할 때 TSC 오프셋 값을 저장하는 단계를 더 포함하는, 방법.
  4. 제3항에 있어서, 상기 제1 프로세서 코어의 전원을 켤 때 상기 프로세서 코어와 연관된 상기 TSC에 대한 업데이트를 활성화하는 단계를 더 포함하는, 방법.
  5. 제4항에 있어서, 상기 프로세서 코어와 연관된 상기 TSC에 상기 TSC 오프셋 값을 추가하여 상기 제1 프로세서 코어의 전원을 켤 때 상기 프로세서 코어와 연관된 상기 TSC를 상기 TSC들의 계층의 상기 적어도 하나의 다른 TSC와 동기화하는 단계를 더 포함하는, 방법.
  6. 제5항에 있어서, 상기 TSC 오프셋 값이 추가될 때까지 상기 프로세서 코어와 연관된 상기 TSC에 대한 업데이트를 지연시키는 단계를 더 포함하는, 방법.
  7. 제1항에 있어서, 상기 TSC들의 계층의 상기 적어도 하나의 다른 TSC는 각각 복수의 프로세서 코어들과 연관된 복수의 TSC들과 통신하는 다이-레벨(die-level) TSC인, 방법.
  8. 제7항에 있어서, 상기 다이-레벨 TSC는 항상 전원이 켜져 있는 마스터 TSC와 통신하는, 방법.
  9. 제8항에 있어서, 상기 다이-레벨 TSC는 상기 마스터 TSC로부터 상기 TSC 오프셋을 수신하고, 상기 TSC 오프셋을 상기 복수의 코어들과 연관된 상기 TSC들에 통신하는, 방법.
  10. 컴퓨터 시스템에서 타임 스탬프 카운터(TSC)를 동기화하는 장치에 있어서,
    복수의 프로세서 코어들을 포함하는 프로세서 다이;
    상기 복수의 프로세서 코어들 중 제1 프로세서 코어와 연관된 제1 TSC; 및
    상기 제1 TSC와 통신하는 TSC들의 계층의 제2 TSC를 포함하고,
    상기 제1 TSC는 상기 제1 TSC를 상기 제2 TSC와 동기화함으로써 초기화되고;
    전원을 차단한 후, 상기 제1 프로세서 코어를 포함하는 상기 하나 이상의 프로세서 코어들의 전원을 켤 때, 상기 제1 프로세서 코어와 연관된 상기 제1 TSC를 상기 TSC들의 계층의 상기 제2 TSC와 동기화하는, 장치.
  11. 제10항에 있어서, 전원을 차단할 때 상기 제1 프로세서 코어와 연관된 상기 TSC에 대한 업데이트가 비활성화되는, 장치.
  12. 제11항에 있어서, 전원을 차단할 때 TSC 오프셋 값이 저장되는, 장치.
  13. 제12항에 있어서, 전원을 켤 때 상기 제1 프로세서 코어와 연관된 상기 TSC에 대한 업데이트가 활성화되는, 장치.
  14. 제13항에 있어서, 상기 제1 프로세서 코어와 연관된 상기 TSC에 상기 TSC 오프셋 값이 추가되어 전원을 켤 때 상기 제1 프로세서 코어와 연관된 상기 TSC를 상기 TSC들의 계층의 상기 적어도 하나의 다른 TSC와 동기화하는, 장치.
  15. 제14항에 있어서, 상기 TSC 오프셋 값이 추가될 때까지 상기 제1 프로세서 코어와 연관된 상기 TSC에 대한 업데이트가 지연되는, 장치.
  16. 제15항에 있어서, 상기 TSC들의 계층의 상기 제2 TSC는 상기 제1 TSC 및 각각 복수의 프로세서 코어들과 연관된 복수의 TSC들과 통신하는 다이-레벨 TSC인, 장치.
  17. 제16항에 있어서, 상기 다이 레벨 TSC와 통신하는 마스터 TSC를 더 포함하는, 장치.
  18. 제17항에 있어서, 상기 마스터 TSC는 항상 전원이 켜져 있는 상태에 있는, 장치.
  19. 제18항에 있어서, 상기 다이-레벨 TSC는 상기 마스터 TSC로부터 상기 TSC 오프셋을 수신하고, 상기 TSC 오프셋을 상기 제1 TSC 및 상기 복수의 코어들과 연관된 상기 TSC들에 통신하는, 장치.
  20. 컴퓨터 시스템에서 제1 프로세서 코어와 연관된 타임 스탬프 카운터(TSC)를 동기화하기 위한 비일시적 컴퓨터 판독 가능 매체로서, 상기 비일시적 컴퓨터 판독 가능 매체는 그에 기록된 명령어를 갖고, 상기 명령어는, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금:
    상기 제1 프로세서 코어와 연관된 상기 TSC를 TSC들의 계층의 적어도 하나의 다른 TSC와 동기화함으로써 상기 제1 프로세서 코어와 연관된 상기 TSC를 초기화하는 단계;
    상기 제1 프로세서 코어를 포함하는 하나 이상의 프로세서 코어들의 전원을 차단하는 단계; 및
    상기 제1 프로세서 코어를 포함하는 상기 하나 이상의 프로세서 코어들의 전원을 켤 때, 상기 제1 프로세서 코어와 연관된 상기 TSC를 상기 TSC들의 계층의 상기 적어도 하나의 다른 TSC와 동기화하는 단계를 포함하는 동작을 수행하게 하는, 비일시적 컴퓨터 판독 가능 매체.
KR1020227023815A 2019-12-19 2020-11-19 타임스탬프 카운터를 동기화하기 위한 방법 및 장치 KR20220117271A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/721,886 US11579650B2 (en) 2019-12-19 2019-12-19 Method and apparatus for synchronizing the time stamp counter
US16/721,886 2019-12-19
PCT/US2020/061370 WO2021126462A1 (en) 2019-12-19 2020-11-19 Method and apparatus for synchronizing the time stamp counter

Publications (1)

Publication Number Publication Date
KR20220117271A true KR20220117271A (ko) 2022-08-23

Family

ID=76438383

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227023815A KR20220117271A (ko) 2019-12-19 2020-11-19 타임스탬프 카운터를 동기화하기 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US11579650B2 (ko)
EP (1) EP4078333A4 (ko)
JP (1) JP2023507263A (ko)
KR (1) KR20220117271A (ko)
CN (1) CN114787744A (ko)
WO (1) WO2021126462A1 (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1282060C (zh) 2001-02-07 2006-10-25 高通股份有限公司 将时钟信号用于移动用户台的处理器以管理功耗的方法和设备
US6941482B2 (en) * 2002-09-10 2005-09-06 Finisar Corporation Systems and methods for synchronizing time stamps
US7089462B2 (en) 2003-04-17 2006-08-08 International Business Machines Corporation Early clock fault detection method and circuit for detecting clock faults in a multiprocessing system
US8146078B2 (en) 2004-10-29 2012-03-27 Intel Corporation Timer offsetting mechanism in a virtual machine environment
US7536597B2 (en) 2005-04-27 2009-05-19 Texas Instruments Incorporated Apparatus and method for controlling power, clock, and reset during test and debug procedures for a plurality of processor/cores
US7941684B2 (en) 2008-02-28 2011-05-10 Advanced Micro Devices, Inc. Synchronization of processor time stamp counters to master counter
US8700943B2 (en) * 2009-12-22 2014-04-15 Intel Corporation Controlling time stamp counter (TSC) offsets for mulitple cores and threads
US9483325B2 (en) * 2012-09-28 2016-11-01 Hewlett Packard Enterprise Development Lp Synchronizing timestamp counters
US20140189265A1 (en) * 2012-12-31 2014-07-03 Advanced Micro Devices, Inc. Atomic time counter synchronization
US9541949B2 (en) * 2014-09-22 2017-01-10 Intel Corporation Synchronization of domain counters
EP3677984B1 (en) * 2019-01-07 2022-08-10 ADVA Optical Networking SE Method of time delivery in a computing system and system thereof

Also Published As

Publication number Publication date
US11579650B2 (en) 2023-02-14
CN114787744A (zh) 2022-07-22
US20210191454A1 (en) 2021-06-24
EP4078333A1 (en) 2022-10-26
JP2023507263A (ja) 2023-02-22
WO2021126462A1 (en) 2021-06-24
EP4078333A4 (en) 2024-01-24

Similar Documents

Publication Publication Date Title
US10936533B2 (en) GPU remote communication with triggered operations
CN105027440B (zh) 用于高频时钟的低噪声计时的状态机
US20220222404A1 (en) Optimization of parameters for synthesis of a topology using a discriminant function module
EP3274853B1 (en) Direct memory access descriptor processing
US20160072491A1 (en) Automatic calibration circuits for operational calibration of critical-path time delays in adaptive clock distribution systems, and related methods and systems
US20210152266A1 (en) Communication apparatus, communication system, communication method, and computer readable medium
US10789911B2 (en) Phase locked multi-display synchronization
KR20170125881A (ko) 공유 셰이더 코어에서의 비동기 디스플레이 셰이더 기능 제공
WO2006123547A1 (ja) 情報処理装置、システム、方法およびプロセッサ
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
WO2017091963A1 (zh) 一种信息处理方法及装置
US20200065098A1 (en) Providing efficient handling of branch divergence in vectorizable loops by vector-processor-based devices
US8803900B2 (en) Synchronization with semaphores in a multi-engine GPU
KR20220117271A (ko) 타임스탬프 카운터를 동기화하기 위한 방법 및 장치
US11757608B2 (en) Communication apparatus, communication system, communication method, and computer readable medium
US10198261B2 (en) Flexible framework to support memory synchronization operations
CN108293040A (zh) 转送控制装置、车辆和转送控制方法
US10776139B2 (en) Simulation apparatus, simulation method, and computer readable medium
US20150195342A1 (en) Remote configuration of data processing devices in a cluster computing system
US20230145253A1 (en) Reducing latency in highly scalable hpc applications via accelerator-resident runtime management
KR102114342B1 (ko) 멀티미디어 시스템 및 이의 동작 방법
US20190004809A1 (en) Processor synthesis device, processor synthesis method, and computer readable medium
US10599470B1 (en) Cloud thread synchronization
US10761581B2 (en) Method and module for programmable power management, and system on chip
US20140281759A1 (en) Bus protocol checker, system on chip including the same, bus protocol checking method