KR20150070179A - 캐시 계층 내 프로세서 구조적 상태 저장 방법 및 장치 - Google Patents

캐시 계층 내 프로세서 구조적 상태 저장 방법 및 장치 Download PDF

Info

Publication number
KR20150070179A
KR20150070179A KR1020157010040A KR20157010040A KR20150070179A KR 20150070179 A KR20150070179 A KR 20150070179A KR 1020157010040 A KR1020157010040 A KR 1020157010040A KR 20157010040 A KR20157010040 A KR 20157010040A KR 20150070179 A KR20150070179 A KR 20150070179A
Authority
KR
South Korea
Prior art keywords
cache
level
processor
processing unit
operable
Prior art date
Application number
KR1020157010040A
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 KR20150070179A publication Critical patent/KR20150070179A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

프로세서(105)는, 제 1 프로세싱 유닛(110, 115)과, 상기 제 1 프로세싱 유닛과 연관되고, 상기 제 1 프로세싱 유닛의 정상 작동 중 사용되는 상기 제 1 프로세싱 유닛에 의해 사용하기 위한 데이터를 저장하도록 작동가능한, 제 1 레벨 캐시(220)를 포함한다. 상기 제 1 프로세싱 유닛은 파워-다운 신호를 수신함에 응답하여 상기 제 1 레벨 캐시에 상기 제 1 프로세싱 유닛에 대한 제 1 구조적 상태 데이터(240, 250, 260)를 저장하도록 작동가능하다. 캐시 레벨(220, 230)의 계층을 포함하는 프로세서(105)로의 전력을 제어하기 위한 방법은, 파워-다운 신호의 수신에 응답하여 캐시 계층의 제 1 레벨(220)에 상기 프로세서의 제 1 프로세싱 유닛(110, 115)에 대한 제 1 구조적 상태 데이터(240, 250, 260)를 저장하는 단계와, 상기 캐시 계층의 제 1 레벨 및 제 1 프로세싱 유닛이 파워-다운되기 전에, 상기 캐시 계층의 제 1 하위 레벨(230)에 상기 제 1 구조적 상태 데이터를 포함하는 상기 제 1 레벨의 콘텐츠를 플러싱하는 단계를 포함한다.

Description

캐시 계층 내 프로세서 구조적 상태 저장 방법 및 장치{METHOD AND APPARATUS FOR SAVING PROCESSOR ARCHITECTURAL STATE IN CACHE HIERARCHY}
개시되는 발명은 일반적으로 복수의 파워 상태를 가진 전자 장치에 관한 것이고, 특히, 캐시 계층 내 프로세서의 구조적 상태를 저장하기 위한 방법 및 장치에 관한 것이다.
실리콘 프로세스 기술의 계속적인 진보 및 트랜지스터 크기의 감소로 인해, 정적 전력(누설)이 프로세서와 같은 집적 회로 소자의 전력 편성시 더 중요한 기여자가 되고 있다. 전력 소모를 감소시키려는 시도로, 일부 소자는 하나 이상의 감소 전력 상태에 진입하도록 장비되어 있다. 감소 전력 상태에서, 감소 클럭 주파수 및/또는 작동 전압이 소자에 이용될 수 있다.
시스템 전력을 절감하기 위해, CPU 코어는 이용되지 않을 때 파워-오프될 수 있다. 시스템이 나중에 이러한 CPU 코어의 이용을 요구할 때, 이러한 CPU 코어의 구조적 상태는 손실될 것이다. 그러나, CPU 코어가 파워-업되면, 소프트웨어 실행을 계속하도록 구조적 상태의 복원을 요구할 것이다. CPU 코어를 원래 상태로 되돌리고자 긴 부트 코드의 구동을 피하기 위해, CPU가 전력 오프 이전에 구조적 상태를 저장하고, 그 후 파워-업될 때 상태를 다시 복원하는 것이 일반적이다. CPU 코어는 CPU 코어 파워-다운 주기에 걸쳐 전력을 보유할 위치에 구조적 상태를 저장한다.
구조적 상태의 이러한 저장 및 복원 프로세스는 시스템에 있어서 시간 임계적이다. 파워-다운 상태로 진행되기 전에 낭비되는 시간은 코어가 파워-다운된 시간이다. 따라서, 긴 구조적 상태가 폐전력을 저장한다. 또한, 파워-업 시에 구조적 상태를 복원하면서 낭비되는 시간은 CPU 코어가 새 프로세스에 응답할 때의 대기시간에 추가되어, 시스템의 속도를 저하시킨다. 또한, 저전력 상태 간에 구조적 상태를 저장하는 메모리 위치는 안전해야만 한다. CPU 코어가 저전력 상태에 있을 때 하드웨어 또는 소프트웨어 실체가 이러한 구조적 상태를 악의적으로 손상시킬 수 있을 경우, CPU 코어는 손상 상태를 복원하고 보안 위협에 노출될 수 있다.
기존 CPU 코어는 구조적 상태를 다양한 위치에 저장하여 저전력 상태를 촉진시킬 수 있다. 예를 들어, CPU는 구조적 상태를 전용 SRAM 어레이에 또는 시스템 메모리(가령, DRAM)에 저장할 수 있다. 전용 SRAM은 빠른 저장 및 복원 시간 및 개선된 보안성을 가능케하지만, 전용 하드웨어를 요구하여 비용 증가로 이어진다. 시스템 메모리에 저장하는 것은 기존 인프러스트럭처를 이용하지만, 저장 및 복원 시간이 증가하고 보안성이 저하된다.
본 문서의 이 단락은 아래에서 설명 및/또는 청구되는 본 발명의 다양한 형태에 관련될 수 있는 당해 기술 분야의 다양한 형태를 소개하고자 한다. 본 단락은 개시되는 발명의 다양한 형태에 대한 이해를 돕기 위해 배경기술 정보를 제공한다. 본 문서의 본 단락의 기재는 이러한 관점에서 판단되어야 하며, 종래 기술의 시인으로 받아들여져서는 안된다. 개시되는 발명은 앞서 제시되는 문제점들 중 하나 이상을 극복하거나, 그 효과를 적어도 감소시키기는 것을 지향한다.
다음은 개시되는 발명의 일부 형태에 대한 기본적 이해를 제공하기 위해 개시되는 발명의 실시예들 중 일부 형태만의 개략적인 요약을 제시한다. 이러한 요약은 개시되는 발명의 철저한 개관이 아니다. 개시되는 발명의 핵심적 또는 중요 요소들을 식별하거나 개시되는 발명의 범위의 경계를 정하기 위함이 아니다. 그 순수한 목적은 나중에 논의되는 더 상세한 설명에 대한 머리말로, 단순화된 형태로 일부 개념을 제시하는 것이다.
일부 실시예는 제 1 프로세싱 유닛과, 상기 제 1 프로세싱 유닛과 연관되고, 상기 제 1 프로세싱 유닛의 정상 작동 중 사용되는 상기 제 1 프로세싱 유닛에 의해 사용하기 위한 데이터를 저장하도록 작동가능한, 제 1 레벨 캐시를 포함하는 프로세서를 포함한다. 상기 제 1 프로세싱 유닛은 파워-다운 신호를 수신함에 응답하여 상기 제 1 레벨 캐시에 상기 제 1 프로세싱 유닛에 대한 제 1 구조적 상태 데이터를 저장하도록 작동가능하다.
일부 실시예는 캐시 레벨의 계층을 포함하는 프로세서로의 전력을 제어하기 위한 방법을 포함한다. 이 방법은, 파워-다운 신호의 수신에 응답하여 캐시 계층의 제 1 레벨에 상기 프로세서의 제 1 프로세싱 유닛에 대한 제 1 구조적 상태 데이터를 저장하는 단계와, 상기 캐시 계층의 제 1 레벨 및 제 1 프로세싱 유닛이 파워-다운되기 전에, 상기 캐시 계층의 제 1 하위 레벨에 상기 제 1 구조적 상태 데이터를 포함하는 상기 제 1 레벨의 콘텐츠를 플러싱(flushing)하는 단계를 포함한다.
개시되는 발명은 이후 첨부 도면을 참조하여 설명될 것이고, 첨부 도면에서는 유사 도면부호들이 유사 요소들을 표시하며,
도 1은 일부 실시예에 따라 캐시 계층 내 구조적 프로세서 상태를 저장하도록 작동가능한 컴퓨터 시스템의 단순화된 블록도이고,
도 2는 일부 실시예에 따라 도 1의 시스템에 의해 구현되는 캐시 계층의 단순화된 도면이며,
도 3은 일부 실시예에 따라, 도 1의 시스템에 사용될 수 있는 명령어 및 데이터 캐시를 포함하는 레벨 1 캐시의 단순화된 도면이고,
도 4-8은 일부 실시예에 따라, 파워-다운 이벤트 중 프로세서 구조적 상태를 저장하기 위해 캐시 계층의 이용을 예시하며,
도 9는 일부 실시예에 따라, 도 1-3의 집적 회로 소자의 제조를 지시하도록 프로그래밍될 수 있는 컴퓨팅 장치의 단순화된 도면이다.
개시되는 발명이 다양한 변형 및 대안의 형태로 적용가능하지만, 구체적인 실시예들이 도면에서 예를 통해 도시되고, 여기서 세부적으로 설명된다. 그러나, 구체적 실시예들의 여기서의 설명은 발명을 개시되는 특정 형태로 제한하고자 함이 아니며, 그와는 반대로, 첨부 청구범위에 의해 규정되는 바와 같이 개시되는 발명의 사상 및 범위 내에 있는 모든 변형, 등가물, 및 대안들을 커버하고자 하는 것이다.
개시된 주제의 하나 이상의 특정 실시예들은 아래에서 기술될 것이다. 상기 개시된 주제는 여기에서 포함된 실시예들 및 설명들에 한정되지 않지만, 상기 실시예들의 부분들을 포함하는 일부분들 및 하기의 클레임들의 범위 내에서 실현되는 서로 다른 실시예들의 요소들의 조합들의 수정된 형식들을 포함한다. 임의의 엔지니어링 또는 디자인 프로젝트에서, 임의의 그와 같은 실제의 구현의 개발에서, 많은 구현-특정 결정들은, 일 구현으로부터 다른 것으로 변할 수 있는 시스템-관련 및 비지니스 관련 제한들을 준수하는 것과 같은 개발자들의 특정 목표들을 달성하기 위해 행해져야만 한다. 더욱이, 그와 개발 노력이 복잡할 수 있고 시간 소모적일 수 있지만, 그럼에도 불구하고, 본 발명의 이득을 갖는 당업자에 위한 설계, 제조, 제작의 일상적인 방식일 수 있다. 본 출원의 어느 것도, "결정적"이고 "필수적"인 것으로 명확하게 표시되지 않으면 개시된 주제에 대해 결정적 또는 필수적인 것으로 고려되지 않는다.
개시된 주제는 첨부된 도면들을 참조하여 이제 서술될 것이다. 여러 구조들, 시스템들 및 디바이스들은 통상의 기술자에게 잘 알려진 세부사항들에 개시된 주제를 모호하지 않게 하도록 단지 설명의 목적으로 도면들에서 개략적으로 도시된다. 그럼에도 불구하고, 첨부된 도면들은 개시된 주제의 도시된 예들을 서술하고 설명하도록 포함된다. 여기에서 사용된 단어들 및 구절들은 통상의 기술자에 의해 이러한 단어들 및 어구들의 이해와 일치하는 의미를 갖도록 이해되고 해석되어야만 한다. 단어 또는 어구의 어떤 특별한 정의, 즉, 통상의 기술자에 의해 이해되어지는 일반적이고 관례적인 의미와는 상이한 어떤 정의도 여기의 단어 또는 어구의 일정한 사용에 의해 시사되도록 의도되지 않는다. 용어 또는 어구가, 특별한 의미, 즉, 당업자에 의해 이해되는 것과 다른 의미를 갖도록 의도되도록 확장되도록, 특별한 정의는, 상기 용어 또는 어구의 특별한 정의를 직접 또는 모호하지 않게 제공하는 정의적인 방식으로 상기 명세서에서 명확하게 설명될 것이다.
동일한 참조 번호들이 여러 도면들을 통해 유사한 컴포넌트들에 대응하는 도면들을 지금 참조하여, 특히, 도 1을 참조하여, 개시된 주제는 APU(105)를 포함하는 컴퓨터 시스템(100)의 맥락에서 서술될 것이다. APU(105)는 하나 이상의 중앙 처리 유닛(CPU) 코어들(110) 및 그것들과 관련된 캐시들(112)(예를 들어, L1, L2 또는 다른 레벨 캐시 메모리들), 그래픽 프로세싱 유닛(GPU)(115) 및 그것들과 관련된 캐시들(117)(예를 들어, L1, L2, L3 또는 다른 레벨 캐시 메모리들), 캐시 제어기(119), 전력 과리 제어기(120), 노스 브리지(NB) 제어기(125)를 포함한다. 시스템(100)은 또한 사우스 브리지(SB)(130) 및 시스템 메모리(135)(예를 들어, DRAM)를 포함한다. 상기 NB 제어기(125)는 상기 사우스 브리지(130) 및 시스템 메모리(135)에 대한 인터페이스를 제공한다. 여기에서 개시되지 않은 코어들(110) 및/또는 하나 이상의 캐시 메모리들(112)의 특정 예시적인 측면들을 확장하기 위해, 그와 같은 예시적인 측면들은 당업자에 의해 이해되는 것과 같은 본 주제의 실시예들의 정신 및 범위를 한정하지 않도록 여러 실시예들에서 포함될 수 있거나 포함되지 않을 수 있다.
일부 실시예들에서, 컴퓨터 시스템(100)은 하나 이상의 주변 디바이스들(140), 입력 디바이스들(145), 출력 디바이스들(150), 및/또는 디스플레이 유닛들(155)과 인터페이스할 수 있다. 네트워크 인터페이스 회로(NIC)와 같은 통신 인터페이스(160)는 하나 이상의 통신 토폴로지들(유선, 무선, 광대역 등)을 사용하여 네트워크 접속들을 용이하게 하도록 사우스 브리지(130)에 접속될 수 있다. 여러 실시예들에서, 사우스 브리지(130)에 연결된 요소들은 컴퓨터 시스템(100)에 대해 내부 또는 외부에 있을 수 있고, 그리고 사우스 브리지(130)와 인터페이스하고 있는 것으로 도시된 것처럼 유선으로 접속되거나 또는 무선으로 접속될 수 있다. 디스플레이 유닛들(155)은 내부 또는 외부 모니터들, 텔레비전 스크린들, 휴대용 디스플레이들 등일 수 있다. 입력 디바이스들(145)은 키보드, 마우스, 트랙-볼, 스타일러스, 마우스 패드, 마우스 버튼, 조이스틱, 스캐너 등 중 임의의 것일 수 있다. 출력 디바이스들(150)은 모니터, 프린터, 플롯터, 복사기 또는 다른 출력 디바이스 중 임의의 것일 수 있다. 주변 디바이스들(140)은 컴퓨터와 결합될 수 있는 임의의 다른 디바이스: 대응하는 물리적 디지털 매체를 판독 그리고/또는 대응하는 물리적 디지털 매체에 기입할 수 있는 CD/DVD 드라이브, USB(universal serial bus) 디바이스, 집 드라이드, 외부 플로피 드라이브, 외부 하드 드라이브, 전화, 및/또는 광대역 모뎀, 라우터, 게이트웨이, 액세스 포인트 등일 수 있다. 여기에서 기술되지 않은 컴퓨터 시스템(100)의 특정 예시적인 측면들을 확장하도록, 그와 같은 예시적인 측면들은 당업자에 의해 이해되는 것과 같은 본 발명의 실시예들의 정신 및 범위를 제한하지 않고 여러 실시예들에 포함될 수 있거나 포함되지 않을 수 있다. 상기 시스템(100)의 동작은, 일반적으로, 시스템(100)의 여러 요소들과 인터페이스하는 소프트웨어를 포함하는 동작 시스템(165)에서 의해 제어된다. 여러 실시예들에서, 컴퓨터 시스템(100)은 개인용 컴퓨터, 랩톱 컴퓨터, 휴대용 컴퓨터, 테블릿 컴퓨터, 모바일 디바이스, 전화, PDA, 서버, 메인프레임, 작업용 단말기, 음악 재생기, 스마트 텔레비전 등일 수 있다.
전력 관리 제어기(120)는, 컴퓨터 시스템(100)의 지원을 위해 하나 이상의 기능들을 수행하도록 구성된 회로 또는 로직일 수 있다. 도 1에서 도시된 것처럼, 전력 관리 제어기(120)는 NB 제어기(125)에서 구현되고, 이 NB 제어기(125)는 NB 제어기(125)의 전체 기능의 기능들 중 하나로서 전력 관리 제어를 수행하도록 구성된 회로(또는 서브-회로)를 포함할 수 있다. 일부 실시예들에서, 사우스 브리지(130)는 시스템(100)의 여러 부분들에 전력을 제공하기 위해 복수의 전압 레일들(132)을 제어한다. 개별 전압 레일(132)은, 일부 요소들이 슬립 상태로 놓여지게 하는 반면, 다른 것들은 전력이 유지되도록 한다.
일부 실시예들에서, NB 제어기(125)에 의해 표시되는 회로는, 분포된 회로로서 구현되고, 상기 개별 회로의 각 부분들은 시스템(100)의 하나 이상의 요소들, 예를 들어, 프로세서 코어들(110)로 구현되지만, 개별 전압 레일들(132)을 동작시키는, 즉, 분포된 회로의 부분 또는 부분들로부터 기능적으로 코어들(110)의 섹션 또는 섹션들과는 서로 다른 전원을 사용한다. 그 결과, 개별 전압 레일들(132)은, 상기 프로세서 코어(110)의 나머지 또는 상기 시스템(100)의 다른 요소들이 감소된 전력 상태에 있을 때 조차도 기능을 수행하도록 상기 분포된 회로의 각 개별 부분은 그 기능을 수행하도록 할 수 있다. 이러한 전력 독립은, 도 1에 도시된 NB 제어기(125)에 의해 수행된 기능들 중 적어도 일부 또는 모든 것들을 수행하는 분포된 회로, 분포된 제어기 또는 분포된 제어 회로를 특징으로 하는 실시예들을 가능하게 한다. 일부 실시예들에서, 전력 관리 제어기(120)는 컴퓨터 시스템(100)에서 여러 프로세싱 유닛들(110, 115)의 전력 상태들을 제어한다.
서로 다른 소프트웨어 프로그램들의 명령어들은, 통상적으로, 상대적으로 크지만 느린 비휘발성 유닛(예를 들어, 내부 또는 외부 디스크 드라이브 유닛)에 저장된다. 사용자가 실행을 위해 프로그램들 중 하나를 선택할 때, 상기 선택된 프로그램의 명령어들은 상기 시스템 메모리(135)에 카피되고, 프로세서(105)는 상기 시스템 메모리(135)로부터 선택된 프로그램의 명령어들을 획득한다. 상기 데이터의 일부 부분들은 또한 하나 이상의 코어들(110)의 캐시 메모리들(112)에 로딩된다.
캐시(112, 117)는 정상 작동 중 비교적 빈번하게 사용될 것으로 예상되는 명령어 및/또는 데이터의 사본을 저장하는 소형의 고속 메모리(즉, 시스템 메모리(135) 대비)다. 코어(110) 및/또는 GPU(115)는 캐시 메모리 요소의 계층을 이용할 수 있다.
정상 작동 중 프로세싱 유닛(110, 115)에 의해 사용될 것으로 예상되는 명령어 또는 데이터는 캐시 컨트롤러(119)에 의해 비교적 크고 느린 시스템 메모리(135)로부터 캐시(112, 117) 내로 이동한다. 프로세싱 유닛(110, 115)이 시스템 메모리(135) 내 일 위치를 판독 또는 기록할 필요가 있을 때, 캐시 컨트롤러(119)는 요망 메모리 위치가 캐시(112, 117) 내에 포함되어 있는지 여부를 먼저 확인한다. 이 위치가 캐시(112, 117) 내에 포함될 경우(즉, 캐시 히트), 프로세싱 유닛(110, 115)은 캐시(112, 117) 내 사본에 대해 판독 또는 기록 작동을 수행할 수 있다. 이 위치가 캐시(112, 117) 내에 포함되어 있지 않을 경우(즉, 캐시 미스), 프로세싱 유닛(110, 115)은 시스템 메모리(135)에 저장된 정보에 액세스할 필요가 있고, 일부 경우에, 정보가 시스템 메모리(135) 캐시 컨트롤러(119)로부터 복제되어, 캐시(112, 117)에 추가될 수 있다. 캐시(112, 117)의 적절한 구조 및 작동은 캐시 메모리(112, 117)의 값에 가까운 값까지 시스템 메모리(135)의 대기시간 아래로 메모리 액세스의 대기시간을 감소시킬 수 있다.
이제 도 2를 살펴보면, 프로세서(105)에 의해 이용되는 캐시 계층을 예시하는 블록도가 도시된다. 예시되는 실시예에서, 프로세서(105)는 L1 캐시, L2 캐시, 키3 캐시로 알려진 3개의 레벨로 캐시를 나누는 계층 캐시를 이용한다. 코어(110)는 CPU 클러스터(200)로 그룹화된다. 각각의 코어(110)는 자체 L1 캐시(210)를 갖고, 각각의 클러스터(200)는 관련 L2 캐시(220)를 가지며, 클러스터(200)는 L3 캐시(230)를 공유한다. 시스템 메모리(135)는 L3 캐시(230)의 하류에 위치한다. 캐시 계층에서, 속도는 일반적으로 레벨에 따라 감소하지만, 크기는 일반적으로 증가한다. 예를 들어, L1 캐시(210)는 통상적으로 L2 캐시(220)보다 작고 빠른 메모리이고, L2 캐시는 L3 캐시(230)보다 작고 빠르다. 캐시 계층 내 가장 큰 레벨은 시스템 메모리(135)이며, 이는 역시 캐시 메모리(210, 220, 230)보다 느리다. 특정 코어(110)가 우선적으로 L1 캐시 내 필요한 메모리 위치를 파악하려 시도하고, 상위 레벨의 캐시 내 메모리 위치를 찾을 수 없을 때, 차례로 L2 캐시, L3 캐시, 최종적으로 시스템 메모리(135)를 살피도록 진행된다. 캐시 컨트롤러(119)는 모든 캐시 계층 레벨을 관리하는 중앙집중형 유닛일 수 있고, 또는 분산될 수 있다. 예를 들어, 각각의 캐시(210, 220, 230)는 자체 캐시 컨트롤러(119)를 가질 수 있고, 일부 레벨은 공통 캐시 컨트롤러(119)를 공유할 수 있다.
일부 실시예에서, L1 캐시는 도 3에 예시되는 바와 같이, 명령어 L1-I(300) 및 데이터 L1-D(310)를 저장하기 위한 별도의 L1 캐시로 추가로 나누어질 수 있다. L1-I 캐시(300)는 데이터보다 명령어에 더 자주 액세스를 요하는 실체 근처에 배치될 수 있고, L1-D 캐시(310)는 명령어보다 데이터에 더 빈번한 액세스를 요하는 실체에 가까이 배치될 수 있다. L2 캐시(220)는 통상적으로 L1-I 및 L1-D 캐시와 모두 연관되며, L3 캐시(230) 및 시스템 메모리(135)로부터 불러온 명령어 또는 데이터의 사본을 저장할 수 있다. 자주 사용되는 명령어는 L2 캐시로부터 L1-I 캐시(300)로 복제되고, 자주 사용되는 데이터는 L2 캐시로부터 L1-D 캐시(310)로 복제될 수 있다. L2 및 L3 캐시(220, 230)는 흔히 통합 캐시로 불린다.
일부 실시예에서, 전력 관리 컨트롤러(120)는 코어(110)의 전력 상태를 제어한다. 특정 코어(110)가 파워-다운 상태(가령, C6 상태)에 놓일 때, 코어(110)는 전력 관리 컨트롤러(120)로부터 파워-다운 신호에 따라, L1 캐시(220)에 그 구조적 상태를 저장한다. L1 캐시(220)가 L1-I 캐시(300) 및 L1-D 캐시(310)를 포함하는 실시예에서, L1-D 캐시(310)는 통상적으로 구조적 상태를 저장하는데 사용된다. 이러한 방식으로, 시스템(100)은 전력 이벤트에 대한 구조적 상태 저장/복원을 돕기 위해 캐시 계층을 이용한다. 코어(110)가 파워-다운될 때, 캐시 콘텐츠는 캐시 컨트롤러(119)에 의해 캐시 계층 내 다음 하위 레벨로 자동적으로 플러싱(flushing)된다. 예시되는 실시예에서, 각각의 코어는 그 구조적 상태의 저장을 위해 지정 메모리 위치를 가진다. 특정 코어(110)가 전력 복원 명령어 또는 신호를 수신할 때, 지정 메모리 위치에 기초하여 구조적 상태를 불러들인다. 지정 메모리 위치에 기초하여, 캐시 계층은 파워-다운 이벤트에 응답하여 데이터가 플러싱되어 내려간 최하위 레벨에 구조적 상태 데이터를 위치시킬 것이다. 파워-다운 이벤트가 L1 캐시(210)의 플러싱 이전에 전력 관리 컨트롤러(120)에 의해 취소될 경우, 구조적 상태를 이로부터 불러들일 수 있다.
도 4에 도시되는 바와 같이, 전력 관리 컨트롤러(120)는 저전력 상태로 옮길 것을 CPU3에 지시한다. CPU3는 L1 캐시(220)에 구조적 상태(240)(AST3)를 저장한다. CPU3가 파워-다운될 때, L1 캐시(220)는 도 5에 도시되는 바와 같이, 캐시 컨트롤러(119)에 의해 CPU 클러스터 1에 대한 L2 캐시(220)로 플러싱된다. CPU3의 파워-다운은 회색 음영으로 표시된다.
도 6에 도시되는 바와 같이, CPU2는 전력 관리 컨트롤러(120)에 의해 파워-다운될 것을 또한 지시받고, CPU2는 그 구조적 상태(250)(AST2)를 L1 캐시(220)에 저장한다. CPU2는 파워-다운되고 그 상태(250)는 캐시 컨트롤러(119)에 의해 L2 캐시(220)로 플러싱된다. CPU 클러스터 1 내 두 코어(110) 모두 파워-다운되기 때문에, 전체 클러스터가 파워-다운될 수 있고, 이는 도 7에 도시되는 바와 같이, L2 캐시(220)를 L3 캐시(230)로 플러싱시킨다.
CPU1이 전력 관리 컨트롤러(120)에 의해 파워-다운되는 경우, CPU1은 그 구조적 상태(260)(ASTATE1)를 L1 캐시(210)에 저장하고, 그 후 캐시 컨트롤러(119)는 도 8에 도시되는 바와 같이, L2 캐시(220)로 플러싱된다. 이러한 현 상태에서, CPU0만이 작동하고, 이는 단 하나의 실행 프로세스를 가진 CPU 시스템의 경우 흔한 시나리오다.
CPU1이 전력 복원 명령어 또는 신호를 수신하는 경우, 단지 CPU 클러스터 0 L2 캐시(220)로부터 그 구조적 상태를 인출하면 된다. CPU2 또는 CPU3가 파워-업되는 경우, L3 캐시(230)로부터 각자의 상태를 인출하면 된다. 코어(110)가 각자의 구조적 상태 데이터에 대해 지정 메모리 위치를 이용하기 때문에, 복원되는 코어(110)는 지정 위치로부터 데이터를 요청만 하면 된다. 캐시 컨트롤러(119)는 데이터가 위치하는 캐시 레벨의 위치를 자동적으로 찾을 것이다. 예를 들어, 구조적 상태 데이터가 L3 캐시(230)에 저장되면, 복원되는 코어(110)는 L2 캐시(210) 및 L2 캐시(220)에서 미스를 얻을 것이고, 궁극적으로 L3 캐시(230)에서 히트를 얻을 것이다. 캐시 계층 로직은 그 구조적 상태의 위치를 식별하여, 이를 복원되는 코어(110)에 전달할 것이다.
모든 코어(110)가 파워-다운되는 경우, L3 캐시(230)는 시스템 메모리(135)로 플러싱될 것이고, 전체 CPU 시스템이 파워-다운될 수 있다. 캐시 컨트롤러(119)는 높은 레벨의 캐시 계층에서의 미스에 이어 전력 복원 중 시스템 메모리(135) 내에서 구조적 상태 데이터를 찾아낼 것이다.
복수 레벨의 캐시 계층을 가진 프로세서 시스템의 경우에, 캐시 계층을 이용하여 구조적 상태를 저장하는 것은, 대기시간이 짧은 장점이 있고, 이는 구조적 상태 데이터가 전력 상태를 지원하는데 필요한 만큼만 캐시 계층 내에서 아래로 플러싱하기 때문이다. 이 기법은 기존 캐시 플러싱 인프러스트럭처를 또한 이용하여 데이터를 캐시에 저장할 수 있고, 이어서, 일 캐시로부터 다음 캐시로 데이터를 플러싱할 수 있으며, 따라서, 설계 복잡도가 낮다.
도 9는 본 발명의 일부 형태에서 이용될 수 있는 것과 같은, 컴퓨팅 장치(900)의 하드웨어 및 소프트웨어 구조의 선택된 부분의 단순화된 도면이다. 컴퓨팅 장치(900)는 버스 시스템(915)을 통해 스토리지(910)와 통신하는 프로세서(905)를 포함한다. 스토리지(910)는 하드 디스크 및/또는 랜덤 액세스 메모리(RAM) 및/또는 자기 디스크(920) 또는 광학 디스크(925)와 같은, 제거가능 스토리지를 포함할 수 있다. 스토리지(910)는 운영 체제(930), 사용자 인터페이스 소프트웨어(935), 및 애플리케이션(940)과 함께 또한 인코딩된다. 디스플레이(945)와 연계하여, 사용자 인터페이스 소프트웨어(935)는 사용자 인터페이스(950)를 구현한다. 사용자 인터페이스(950)는 키패드 또는 키보드(955), 마우스(960), 등과 같은 주변 입/출력 장치를 포함할 수 있다. 프로세서(905)는 운영 체제(930)의 제어 하에 구동되며, 이는 사실상 당 분야에 알려져 있는 운영 체제일 수 있다. 애플리케이션(940)은 운영 체제(930)의 구현예에 따라, 파워-업, 리셋, 사용자 상호작용, 등의 경우에 운영 체제(930)에 의해 호출된다. 애플리케이션(940)은, 호출될 때, 본 발명의 방법을 수행한다. 사용자는 사용자 인터페이스(950)를 통해 기존 방식으로 애플리케이션(940)을 호출할 수 있다. 독립형 시스템이 예시되지만, 시뮬레이션 애플리케이션(940)과 동일한 컴퓨팅 장치(900) 상에 데이터가 거주할 필요가 없다. 따라서, 본 발명의 일부 실시예는 분산형 스토리지 및/또는 프로세싱 기능을 가진 분산형 컴퓨팅 시스템 상에서 구현될 수 있다.
일부 실시예에서, 서로 다른 종류의 하드웨어 설명 언어(HDL)이 반도체 제품 및 소자 및/또는 다른 타입의 반도체 소자와 같이, 초대규모 집적 회로(VLSI 회로)를 설계 및 제조하는 프로세스에 사용될 수 있다. 일부 예의 HDL은 VHDL 및 베리로그/베리로그-XL 이지만, 나열되지 않은 다른 HDL 포맷도 사용될 수 있다. 일 실시예에서, HDL 코드(가령, 레지스터 트랜스퍼 레벨(RTL) 코드/데이터)를 이용하여 GDS 데이터, GDSII 데이터, 등을 발생시킬 수 있다. 예를 들어 GDSII 데이터는, 디스크립티브 파일 포맷이며, 여러 다른 실시예에서 반도체 제품 또는 소자의 3차원 모델을 나타내는데 사용될 수 있다. 이러한 모델은 반도체 제품 및/또는 소자를 생성하기 위해 반도체 제조 시설에 의해 사용될 수 있다. GDSII 데이터는 데이터베이스 또는 다른 프로그램 스토리지 구조로 저장될 수 있다. 이 데이터는 컴퓨터 판독가능 저장 장치(가령, 스토리지(910), 디스크(920, 925), 고상 스토리지, 등) 상에 또한 저장될 수 있다. 일 실시예에서, GDSII 데이터(또는 다른 유사 데이터)는 개시되는 실시예의 다양한 형태를 구체화할 수 있는 소자를 생성하기 위해 (가령, 마스크 작업의 이용을 통해) 제조 시설을 구성하도록 적응될 수 있다. 다시 말해서, 다양한 실시예에서, GDSII 데이터(또는 다른 유사 데이터)는 컴퓨팅 장치(900) 내로 프로그래밍될 수 있고, 애플리케이션(965)을 이용하여 프로세서(905)에 의해 실행될 수 있으며, 그 후, 전체적으로 또는 부분적으로 반도체 제조 시설의 작동을 제어하여, 반도체 제품 및 소자를 생성할 수 있다. 예를 들어, 일 실시예에서, 도 1-8에 도시되는 컴퓨터 시스템(100)의 실리콘 웨이퍼 함유 부분은 GDSII 데이터(또는 다른 유사 데이터)를 이용하여 생성될 수 있다.
앞서 개시된 특정 실시예는 개시되는 발명이 여기서의 설명의 장점을 가진, 당 업자에게 명백한, 다르지만 등가적인 방식으로, 변형 및 실시될 수 있기 때문에, 예시적인 사항에 불과하다. 더욱이, 아래 청구범위에서 설명되는 것과는 달리, 여기서 도시되는 구조 또는 설계의 세부사항에 대해 어떤 제한도 의도하지 않는다. 따라서, 앞서 개시된 특정 실시예들이 변경 또는 변형될 수 있고, 이러한 모든 변형예는 개시되는 발명의 사상 및 범위 내에 있다고 간주된다. 따라서, 여기서 추구하는 보호가 아래의 청구범위에서 제시되는 바에 따른다.

Claims (17)

  1. 제 1 프로세싱 유닛(110)과,
    상기 제 1 프로세싱 유닛과 연관되고, 상기 제 1 프로세싱 유닛의 정상 작동 중 사용되는 상기 제 1 프로세싱 유닛에 의해 사용하기 위한 데이터를 저장하도록 작동가능한, 제 1 레벨 캐시(220) - 상기 제 1 프로세싱 유닛은 파워-다운 신호를 수신함에 응답하여 상기 제 1 레벨 캐시에 상기 제 1 프로세싱 유닛에 대한 제 1 구조적 상태 데이터(240)를 저장하도록 작동가능함 - 를 포함하는
    프로세서.
  2. 제 1 항에 있어서,
    캐시 컨트롤러(120)와,
    제 2 레벨 캐시(230) - 상기 캐시 컨트롤러는 상기 프로세서가 상기 제 1 프로세싱 유닛 및 상기 제 1 레벨 캐시를 파워-다운시키기 전에 제 1 레벨 캐시의 콘텐츠를 제 2 레벨 캐시로 플러싱(flushing)하도록 작동가능하고, 상기 콘텐츠는 상기 제 1 구조적 상태 데이터를 포함함 - 를 더 포함하는
    프로세서.
  3. 제 2 항에 있어서,
    상기 제 1 프로세싱 유닛은 전력 복원 신호를 수신함에 응답하여 상기 제 2 레벨 캐시로부터 상기 제 1 구조적 상태 데이터를 불러들이도록 작동가능한
    프로세서.
  4. 제 3 항에 있어서,
    제 2 제 1 레벨 캐시(220)과 연관된 제 2 프로세싱 유닛(115)을 더 포함하며,
    상기 제 2 프로세싱 유닛은 상기 제 2 프로세싱 유닛에 대한 파워-다운 신호를 수신함에 응답하여 상기 제 2 제 1 레벨 캐시에 상기 제 2 프로세싱 유닛에 대한 제 2 구조적 상태 데이터(250)를 저장하도록 작동가능한
    프로세서.
  5. 제 4 항에 있어서,
    상기 캐시 컨트롤러는 상기 프로세서가 상기 제 2 프로세싱 유닛 및 상기 제 2 제 1 레벨 캐시를 파워-다운시키기 전에 상기 제 2 제 1 레벨 캐시의 콘텐츠를 상기 제 2 레벨 캐시로 플러싱하도록 작동가능한
    프로세서.
  6. 제 5 항에 있어서,
    제 3 레벨 캐시(230)을 더 포함하며,
    상기 캐시 컨트롤러는 상기 프로세서가 상기 제 1 및 제 2 프로세싱 유닛 및 상기 제 1 및 제 2 제 1 레벨 캐시를 파워-다운시키기 전에 상기 제 2 레벨 캐시의 콘텐츠를 상기 제 3 레벨 캐시로 플러싱하도록 작동가능하며, 상기 콘텐츠는 상기 제 1 및 제 2 구조적 상태 데이터를 포함하는
    프로세서.
  7. 복수의 프로세싱 유닛(110, 115)과,
    캐시 컨트롤러(120)와,
    상기 복수의 프로세싱 유닛에 연결되는 복수의 레벨(220, 230)을 포함하는 캐시 계층 - 상기 복수의 프로세싱 유닛은 각자의 파워-다운 신호를 수신함에 응답하여, 상기 캐시 계층의 제 1 레벨(220)에 각자의 구조적 상태 데이터(240, 250, 260)를 저장하도록 작동가능하고, 상기 캐시 컨트롤러는, 상기 프로세서가 상기 캐시 계층의 제 1 레벨 및 상기 캐시 계층의 제 1 레벨과 연관된 임의의 프로세싱 유닛을 파워-다운시키기 전에, 상기 캐시 계층의 제 1 하위 레벨(230)에 각자의 구조적 상태 데이터를 포함하는 제 1 레벨의 콘텐츠를 플러싱하도록 작동가능함 - 을 포함하는
    프로세서(105).
  8. 제 7 항에 있어서,
    상기 캐시 컨트롤러는 상기 프로세서가 상기 캐시 계층의 제 1 하위 레벨 및 상기 캐시 계층의 제 1 하위 레벨과 연관된 임의의 프로세싱 유닛을 파워-다운시키기 전에, 상기 캐시 계층의 제 2 하위 레벨(230)에 상기 제 1 하위 레벨의 콘텐츠를 플러싱하도록 작동가능한
    프로세서.
  9. 제 7 항에 있어서,
    상기 프로세서는, 상기 복수의 프로세싱 유닛 중 적어도 하나에 대한 전력을 복원하도록 작동가능하고, 상기 복원된 프로세싱 유닛은 상기 캐시 계층으로부터 연관된 구조적 상태 데이터를 불러들이도록 작동가능한
    프로세서.
  10. 제 7 항에 있어서,
    각각의 프로세싱 유닛은 각자의 구조적 상태 데이터를 저장하기 위한, 연관된 지정 메모리 위치를 갖고, 복원된 프로세싱 유닛은 상기 지정 메모리 위치에 기초하여 캐시 계층으로부터 연관된 구조적 상태 데이터를 불러들이도록 작동가능한
    프로세서.
  11. 프로세서(105)와, 상기 프로세서에 연결된 시스템 메모리(135)와, 전력 관리 컨트롤러(120)를 포함하는 컴퓨터 시스템(100)에 있어서,
    상기 프로세서는 복수의 프로세싱 유닛(110, 115)과, 상기 복수의 프로세싱 유닛에 연결된 복수의 캐시 메모리(220, 230)를 포함하고,
    복수의 캐시 레벨과, 상기 캐시 레벨 아래의 적어도 하나의 시스템 메모리 레벨을 포함하는 메모리 계층은 복수의 캐시 메모리 및 시스템 메모리에 의해 형성되며,
    상기 전력 관리 컨트롤러는 상기 복수의 프로세싱 유닛 중 제 1 프로세싱 유닛에 파워-다운 신호를 전송하도록 작동가능하고, 상기 제 1 프로세싱 유닛은 파워-다운 신호의 수신에 응답하여 상기 메모리 계층의 제 1 레벨(220)에 상기 제 1 프로세싱 유닛의 제 1 구조적 상태 데이터(230)를 저장하도록 작동가능한
    컴퓨터 시스템.
  12. 제 11 항에 있어서,
    상기 프로세서가 상기 제 1 프로세싱 유닛 및 상기 메모리 계층의 제 1 레벨을 파워-다운시키기 전에 상기 메모리 계층의 제 2 레벨(230)에 상기 메모리 계층의 제 1 레벨의 콘텐츠를 플러싱하도록 작동가능한 캐시 컨트롤러(120)를 더 포함하며,
    상기 콘텐츠는 제 1 구조적 상태 데이터를 포함하는
    컴퓨터 시스템.
  13. 제 12 항에 있어서,
    상기 캐시 컨트롤러는, 상기 프로세서가 상기 캐시 계층의 제 2 레벨 및 상기 캐시 계층의 제 1 레벨과 연관된 임의의 프로세싱 유닛을 파워-다운시키기 전에, 상기 캐시 계층의 제 3 하위 레벨(230)에 상기 메모리 계층의 제 2 레벨의 콘텐츠를 플러싱하도록 작동가능한
    컴퓨터 시스템.
  14. 캐시 레벨(220, 230)의 계층을 포함하는 프로세서(105)로의 전력을 제어하기 위한 방법에 있어서,
    파워-다운 신호의 수신에 응답하여 캐시 계층의 제 1 레벨(220)에 상기 프로세서의 제 1 프로세싱 유닛(110)에 대한 제 1 구조적 상태 데이터(240)를 저장하는 단계와,
    상기 캐시 계층의 제 1 레벨 및 제 1 프로세싱 유닛이 파워-다운되기 전에, 상기 캐시 계층의 제 1 하위 레벨(230)에 상기 제 1 구조적 상태 데이터를 포함하는 상기 제 1 레벨의 콘텐츠를 플러싱하는 단계를 포함하는
    전력 제어 방법.
  15. 제 14 항에 있어서,
    상기 캐시 계층의 제 1 하위 레벨을 파워-다운시키기 전에 상기 캐시 계층의 제 2 하위 레벨(230)로 상기 제 1 하위 레벨의 콘텐츠를 플러싱하는 단계를 더 포함하는
    전력 제어 방법.
  16. 제 15 항에 있어서,
    상기 제 1 프로세싱 유닛으로의 전력을 복원하는 단계와,
    상기 캐시 계층으로부터 상기 제 1 구조적 상태 데이터를 불러들이는 단계를 더 포함하는
    전력 제어 방법.
  17. 제 14 항에 있어서,
    상기 프로세서는 복수의 프로세싱 유닛(110, 115)을 포함하고,
    상기 캐시 계층의 특정 레벨과, 상기 캐시 계층의 특정 레벨과 연관된 임의의 프로세싱 유닛을 파워-다운시키기 전에, 상기 특정 레벨보다 낮은 레벨로 상기 캐시 계층의 특정 레벨의 콘텐츠를 플러싱하는 단계를 더 포함하는
    전력 제어 방법.
KR1020157010040A 2012-10-17 2013-10-16 캐시 계층 내 프로세서 구조적 상태 저장 방법 및 장치 KR20150070179A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/653,744 US20140108734A1 (en) 2012-10-17 2012-10-17 Method and apparatus for saving processor architectural state in cache hierarchy
US13/653,744 2012-10-17
PCT/US2013/065178 WO2014062764A1 (en) 2012-10-17 2013-10-16 Method and apparatus for saving processor architectural state in cache hierarchy

Publications (1)

Publication Number Publication Date
KR20150070179A true KR20150070179A (ko) 2015-06-24

Family

ID=49517688

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157010040A KR20150070179A (ko) 2012-10-17 2013-10-16 캐시 계층 내 프로세서 구조적 상태 저장 방법 및 장치

Country Status (7)

Country Link
US (1) US20140108734A1 (ko)
EP (1) EP2909714A1 (ko)
JP (1) JP2015536494A (ko)
KR (1) KR20150070179A (ko)
CN (1) CN104756071A (ko)
IN (1) IN2015DN03134A (ko)
WO (1) WO2014062764A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158693B2 (en) * 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US20140181830A1 (en) * 2012-12-26 2014-06-26 Mishali Naik Thread migration support for architectually different cores
US9367114B2 (en) 2013-03-11 2016-06-14 Intel Corporation Controlling operating voltage of a processor
US9262322B2 (en) * 2013-09-17 2016-02-16 Advanced Micro Devices, Inc. Method and apparatus for storing a processor architectural state in cache memory
US9891695B2 (en) * 2015-06-26 2018-02-13 Intel Corporation Flushing and restoring core memory content to external memory
US9946646B2 (en) * 2016-09-06 2018-04-17 Advanced Micro Devices, Inc. Systems and method for delayed cache utilization
US10387298B2 (en) * 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US10373285B2 (en) * 2017-04-09 2019-08-06 Intel Corporation Coarse grain coherency
US10325341B2 (en) 2017-04-21 2019-06-18 Intel Corporation Handling pipeline submissions across many compute units
US10970080B2 (en) 2018-02-08 2021-04-06 Marvell Asia Pte, Ltd. Systems and methods for programmable hardware architecture for machine learning
US10929760B1 (en) 2018-05-22 2021-02-23 Marvell Asia Pte, Ltd. Architecture for table-based mathematical operations for inference acceleration in machine learning
US10891136B1 (en) 2018-05-22 2021-01-12 Marvell Asia Pte, Ltd. Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction
US10997510B1 (en) 2018-05-22 2021-05-04 Marvell Asia Pte, Ltd. Architecture to support tanh and sigmoid operations for inference acceleration in machine learning
US10929779B1 (en) * 2018-05-22 2021-02-23 Marvell Asia Pte, Ltd. Architecture to support synchronization between core and inference engine for machine learning
US10929778B1 (en) 2018-05-22 2021-02-23 Marvell Asia Pte, Ltd. Address interleaving for machine learning
US11016801B1 (en) 2018-05-22 2021-05-25 Marvell Asia Pte, Ltd. Architecture to support color scheme-based synchronization for machine learning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860106A (en) * 1995-07-13 1999-01-12 Intel Corporation Method and apparatus for dynamically adjusting power/performance characteristics of a memory subsystem
US7412565B2 (en) * 2003-08-18 2008-08-12 Intel Corporation Memory optimization for a computer system having a hibernation mode
US7139909B2 (en) * 2003-10-16 2006-11-21 International Business Machines Corporation Technique for system initial program load or boot-up of electronic devices and systems
US7539819B1 (en) * 2005-10-31 2009-05-26 Sun Microsystems, Inc. Cache operations with hierarchy control
US7958312B2 (en) * 2005-11-15 2011-06-07 Oracle America, Inc. Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state
US7606976B2 (en) * 2006-10-27 2009-10-20 Advanced Micro Devices, Inc. Dynamically scalable cache architecture
US20100274972A1 (en) * 2008-11-24 2010-10-28 Boris Babayan Systems, methods, and apparatuses for parallel computing
US8117498B1 (en) * 2010-07-27 2012-02-14 Advanced Micro Devices, Inc. Mechanism for maintaining cache soft repairs across power state transitions
US8751745B2 (en) * 2010-08-11 2014-06-10 Advanced Micro Devices, Inc. Method for concurrent flush of L1 and L2 caches
US20130262780A1 (en) * 2012-03-30 2013-10-03 Srilatha Manne Apparatus and Method for Fast Cache Shutdown

Also Published As

Publication number Publication date
EP2909714A1 (en) 2015-08-26
WO2014062764A1 (en) 2014-04-24
JP2015536494A (ja) 2015-12-21
US20140108734A1 (en) 2014-04-17
IN2015DN03134A (ko) 2015-10-02
CN104756071A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
KR20150070179A (ko) 캐시 계층 내 프로세서 구조적 상태 저장 방법 및 장치
US9262322B2 (en) Method and apparatus for storing a processor architectural state in cache memory
US9383801B2 (en) Methods and apparatus related to processor sleep states
KR100988396B1 (ko) 프로세싱 코어들의 독립 전력 제어
US9471130B2 (en) Configuring idle states for entities in a computing device based on predictions of durations of idle periods
CN109154907B (zh) 在输入-输出存储器管理单元中使用多个存储器元件来执行虚拟地址到物理地址转译
US9256535B2 (en) Conditional notification mechanism
US9122612B2 (en) Eliminating fetch cancel for inclusive caches
CN109716307B (zh) 用于延迟的高速缓存利用的系统和方法
WO2017023467A1 (en) Method and apparatus for completing pending write requests to volatile memory prior to transitioning to self-refresh mode
US9146869B2 (en) State encoding for cache lines
JP2004280269A (ja) 情報処理装置、プログラム、記録媒体、及び制御回路
JP7385083B2 (ja) システムオンチップ(soc)のための強化された耐久性
US11989131B2 (en) Storage array invalidation maintenance
US20140244932A1 (en) Method and apparatus for caching and indexing victim pre-decode information
US9043628B2 (en) Power management of multiple compute units sharing a cache
US9244841B2 (en) Merging eviction and fill buffers for cache line transactions
US7519792B2 (en) Memory region access management
US20140250442A1 (en) Conditional Notification Mechanism
CN113272789A (zh) 由输入输出存储器管理单元进行的域标识符和装置标识符转译
US9411663B2 (en) Conditional notification mechanism
US20140181361A1 (en) Non-volatile hybrid memory
EP2915039B1 (en) Store replay policy
KR20220138324A (ko) 지속성 지원 방법 및 컴퓨팅 장치
Cheraukula et al. Design and Implementation of a Memory for Joint Improvement of Error Tolerance and Access Efficiency

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid