KR101429969B1 - 데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트들을 구성하는 방법 - Google Patents
데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트들을 구성하는 방법 Download PDFInfo
- Publication number
- KR101429969B1 KR101429969B1 KR1020127032413A KR20127032413A KR101429969B1 KR 101429969 B1 KR101429969 B1 KR 101429969B1 KR 1020127032413 A KR1020127032413 A KR 1020127032413A KR 20127032413 A KR20127032413 A KR 20127032413A KR 101429969 B1 KR101429969 B1 KR 101429969B1
- Authority
- KR
- South Korea
- Prior art keywords
- physical address
- surrogate
- accessing agent
- memory accessing
- memory
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 30
- 238000004891 communication Methods 0.000 claims description 5
- 239000003795 chemical substances by application Substances 0.000 description 78
- 238000010586 diagram Methods 0.000 description 14
- 230000001131 transforming effect Effects 0.000 description 6
- 230000001934 delay Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/35—Indirect addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Executing Machine-Instructions (AREA)
- Bus Control (AREA)
- Storage Device Security (AREA)
Abstract
데이터 값을 변환하고 저장하기 위한 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하는 방법이 설명된다. 일 실시예에서, 변환될 데이터 값을 특정하는 제 1 오퍼랜드 및 그 데이터 값을 저장할 써로게이트 메모리 액세싱 에이전트 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령이 수신된다. 데이터 값은 제 1 물리적 어드레스로 변환될 수 있다. 가상 어드레스는 제 2 물리적 어드레스로 변환될 수 있다. 제 1 물리적 어드레스는 제 2 물리적 어드레스에 기초하여 써로게이트 메모리 액세싱 에이전트 레지스터 내에 저장된다.
Description
본 명세서에 개시된 발명의 개념들의 실시예들은 일반적으로 데이터 프로세싱 시스템들의 분야에 관한 것이다. 더욱 구체적으로, 본 명세서에 개시된 발명의 개념들의 실시예들은 써로게이트 메모리 액세싱 에이전트(surrogate memory accessing agent)들을 구성하기 위해 데이터 값들을 변환 및 저장하기 위한 명령들을 이용하는 것에 관한 것이다.
데이터 프로세싱 시스템들은 명령을 프로세싱하기 위해 서로 상호작용하는 다양한 컴포넌트들을 포함할 수 있다. 일 컴포넌트는 물리적 메모리 내에 저장된 값들을 관리할 수 있는 써로게이트 메모리 액세싱 에이전트일 수 있다. 써로게이트 메모리 액세싱 에이전트의 일례는 다이렉트 메모리 액세스(DMA) 채널이다. 써로게이트 메모리 액세싱 에이전트는, 예를 들어, 메모리 내에 저장된 값에 대한 계산을 수행하기 위해, 메모리에 액세스하거나 또는 그 값이 물리적 메모리 내의 제 2 위치로 카피되거나 또는 이동하도록 야기함으로써 물리적 메모리 내에서 값의 위치를 변화시키기 위해 이용될 수 있다. 예를 들어, 써로게이트 메모리 액세싱 에이전트는 2개의 레지스터들을 포함할 수 있다. 하나의 레지스터는 이동되거나 또는 카피될 메모리 값의 메모리 위치의 물리적 어드레스인 데이터 값을 저장할 수 있다. 다른 레지스터는, 메모리 값이 이동되거나 또는 카피되는 메모리 위치의 물리적 어드레스인 데이터 값을 저장할 수 있다. 후속하여, 예를 들어, 레지스터들이 데이터 값들로 채워질 때, 써로게이트 메모리 액세싱 에이전트는 물리적 메모리 위치 내의 메모리 값이 이동되거나 또는 카피되도록 야기하기 위해 레지스터들로부터 데이터 값들을 제공할 수 있다.
써로게이트 메모리 액세싱 에이전트들은, 예를 들어, 액세스될 메모리 내의 위치의 물리적 어드레스인 데이터 값을 써로게이트 메모리 액세싱 에이전트의 레지스터 내에 저장함으로써, 프로세서에 의해 실행된 소프트웨어에 의해 구성된다. 데이터 값으로 표현된 물리적 어드레스는, 프리빌리지 모드(privileged mode)에서 동작하고 그리고 STORE 명령을 실행하는 프로세서로부터 써로게이트 메모리 액세싱 에이전트에 의해 수신된다. STORE 명령은 레지스터의 특정된 어드레스에 의해 식별된 레지스터 내에 저장될 데이터 값으로 표현된 물리적 어드레스를 특정한다. 프로세서는 물리적 어드레스에 액세스하고, 이를 획득하고, 이를 기록하기 위해 프리빌리지 모드에서 동작한다. 논-프리빌리지 모드에서 동작하는 프로세서는 물리적 어드레스들의 무결성을 보호하기 위해 물리적 어드레스들에 대한 액세스를 갖지 않는다.
프로세서가 논-프리빌리지 모드에서 동작하는 경우, 프로세서는 먼저 논-프리빌리지 프로세스의 실행을 보류하고 프리빌리지 모드로 전환한다. 일단, 프리빌리지 모드에 있으면, 프로세서는, 데이터 값으로 표현된, 액세스될 메모리 내의 위치의 물리적 어드레스를 결정한다. 물리적 어드레스를 나타내는 데이터 값은 써로게이트 메모리 액세싱 에이전트의 레지스터 내에 저장된다.
실행을 보류하는 것은 프로세싱 및 소모 전력에 있어서 비능률성들을 도입할 수 있다. 이에 따라, 프로세싱 딜레이들과, 전력 소모를 감소시키고 그리고/또는 다르게는 더욱 효율적인 프로세싱을 제공할 수 있는 써로게이트 메모리 액세싱 에이전트들을 구성하기 위한 시스템들 및 프로세스들이 바람직하다. 또한, 물리적 어드레스들이 논-프리빌리지 모드들에서의 동작들에 노출되는 것을 보호하지만, 프로세서가 프리빌리지 모드에서 동작하도록 요구하지 않고 써로게이트 메모리 액세싱 에이전트들을 구성하는 것이 바람직하다.
실시예에서, 변환될 데이터 값을 특정하는 제 1 오퍼랜드 및 그 데이터 값이 저장될 써로게이트 메모리 액세싱 에이전트 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령이 수신된다. 데이터 값은 제 1 물리적 어드레스로 변환될 수 있다. 가상 어드레스는 제 2 물리적 어드레스로 변환될 수 있다. 제 1 물리적 어드레스는 제 2 물리적 어드레스에 기초하여 써로게이트 메모리 액세싱 에이전트 레지스터에 저장된다.
이러한 예시적인 실시예는, 본원에 개시된 발명의 개념들을 제한하거나 또는 한정하는 것이 아니라, 본원의 이해를 돕기 위한 예시들을 제공하기 위한 것으로 언급된다. 본원의 개시물의 다른 양상들, 이점들, 및 특징들은 이하의 섹션들: 도면의 간단한 설명, 상세한 설명, 및 청구항들을 포함하는 전체 출원서의 리뷰 이후에 명백해질 것이다.
본원에 개시된 본 발명의 개념들의 이러한 그리고 다른 특징들, 양상들, 및 이점들은, 첨부된 도면들을 참조하여 이하의 상세한 설명이 판독될 때, 더 잘 이해된다.
도 1은, 특정 실시예들에 따라서 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 데이터 프로세싱 시스템의 일례를 예시하는 일반적인 도면이다.
도 2는, 특정 실시예들에 따라서 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 예시적인 데이터 액세싱 시스템을 예시하는 일반적인 도면이다.
도 3은 특정 실시예들에 따라서 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 예시적인 프로세스를 예시하는 플로우차트이다.
도 4는 특정 실시예들에 따라서 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 제 2 예시적인 데이터 프로세싱 시스템의 일반적인 도면이다.
도 5는 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 휴대용 통신 디바이스를 예시하는 일반적인 도면이다.
도 6은 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 셀룰러 전화기를 예시하는 일반적인 도면이다.
도 7은 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 무선 인터넷 프로토콜 전화기를 예시하는 일반적인 도면이다.
도 8은 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 휴대용 디지털 어시스턴트를 예시하는 일반적인 도면이다.
도 9는 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 오디오 파일 플레이어를 예시하는 일반적인 도면이다.
도 1은, 특정 실시예들에 따라서 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 데이터 프로세싱 시스템의 일례를 예시하는 일반적인 도면이다.
도 2는, 특정 실시예들에 따라서 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 예시적인 데이터 액세싱 시스템을 예시하는 일반적인 도면이다.
도 3은 특정 실시예들에 따라서 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 예시적인 프로세스를 예시하는 플로우차트이다.
도 4는 특정 실시예들에 따라서 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 제 2 예시적인 데이터 프로세싱 시스템의 일반적인 도면이다.
도 5는 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 휴대용 통신 디바이스를 예시하는 일반적인 도면이다.
도 6은 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 셀룰러 전화기를 예시하는 일반적인 도면이다.
도 7은 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 무선 인터넷 프로토콜 전화기를 예시하는 일반적인 도면이다.
도 8은 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 휴대용 디지털 어시스턴트를 예시하는 일반적인 도면이다.
도 9는 특정 실시예들에 따라서 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛을 포함할 수 있는 예시적인 오디오 파일 플레이어를 예시하는 일반적인 도면이다.
설명의 목적들을 위한 상세한 설명 전반에, 본원에 개시된 발명의 개념들의 철저한 이해를 제공하기 위해 다양하고 구체적인 세부사항들이 설명된다. 그러나, 본원에 개시된 발명의 개념들이 이러한 구체적인 세부사항들 중 몇몇은 없이도 실행될 수 있다는 것이 당업자에게는 명백할 것이다. 다른 예시들에서, 잘-알려진 구조들 및 디바이스들은 여기에 개시된 발명의 개념들의 기초 원리들이 모호해지는 것을 회피하기 위해 블록도 형태로 도시된다.
본원에 개시된 발명의 개념들의 실시예들은 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서에 의해 프로세싱될 수 있는 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 데이터 프로세싱 시스템들에 관한 것이다. 명령은 써로게이트 메모리 액세싱 에이전트를 구성하기 위해 데이터 값들을 변환하고 저장하기 위한 명령일 수 있다. 써로게이트 메모리 액세싱 에이전트는, 하나 또는 둘 이상의 데이터 값들이 써로게이트 메모리 액세싱 에이전트 내의 저장을 위해 제공될 때, 구성될 수 있다. 써로게이트 메모리 액세싱 에이전트는, 임의의 컴포넌트 또는, 다른 컴포넌트 대신에 직접 물리적 메모리에 액세싱할 수 있는 프로세스, 예컨대 프로세서일 수 있다. 써로게이트 메모리 액세싱 에이전트의 예시는, 제 1 물리적 메모리 위치로부터 제 2 물리적 메모리 위치로 메모리 값들을 이동시키거나 또는 카피할 수 있고, 또는 계산 또는 다른 목적을 수행하기 위해 메모리 값에 액세스할 수 있는 다이렉트 메모리 액세스(DMA) 채널이다. 써로게이트 메모리 액세싱 에이전트는, 액세스할 메모리 값의 위치를 특정하는 데이터 값을 각각 저장할 수 있는 하나 또는 둘 이상의 레지스터들을 포함할 수 있다.
명령은 프로세스로부터 수신될 수 있고, 그리고 써로게이트 메모리 액세싱 에이전트를 구성하도록 이용될 수 있다. 명령은, 변환될 가상 어드레스를 나타내는 데이터 값을 특정하는 하나의 오퍼랜드 및 써로게이트 메모리 액세싱 에이전트의 레지스터의 위치에 대응하는 가상 어드레스를 특정하는 다른 오퍼랜드를 포함할 수 있다. 논-프리빌리지 또는 프리빌리지 모드에서 동작하는 프로세서는, 레지스터의 위치에 대응하는 가상 어드레스가 변환 룩어사이드 버퍼(TLB; translation lookaside buffer)를 포함하는 메모리 관리 유닛(MMU)과 같은 MMU에 의해 레지스터의 물리적 어드레스로 변환되게 하는 명령을 프로세싱할 수 있다. 프로세서 유닛은, 데이터 값으로 표현된 가상 어드레스가 MMU에 의해 데이터 값으로 표현된 물리적 어드레스로 변환되도록 야기할 수 있다. 데이터 값으로 표현된 물리적 어드레스는 레지스터의 물리적 어드레스에 의해 식별된 레지스터 내에 저장될 수 있다.
몇몇 실시예들에서, 써로게이트 메모리 액세싱 에이전트는, 메모리 값에 대한 계산 또는 이와 다른 것을 수행하기 위한 것과 같이, 데이터 값으로 표현된 물리적 어드레스에서 메모리 값에 액세스하기 위해, 저장된 데이터 값을 이용할 수 있다. 일 실시예에서, 써로게이트 메모리 액세싱 에이전트는 2개의 레지스터들을 포함한다. 2개의 레지스터들 각각은, 특정 실시예들에 따라서 명령들을 이용하여 구성될 수 있다. 데이터 값이 2개의 레지스터들 각각에 저장된 후, 써로게이트 메모리 액세싱 에이전트는 물리적 메모리 내의 메모리 값이 저장된 데이터 값들을 이용하여 이동되거나 또는 카피되도록 야기할 수 있다. 예를 들어, 제 1 레지스터 내의 데이터 값은 카피되거나 또는 이동될 메모리 값의 물리적 어드레스일 수 있고, 제 2 레지스터 내의 데이터 값은 메모리 값이 카피되거나 또는 이동되는 메모리 위치의 물리적 어드레스일 수 있다.
데이터 값들을 변환하고 저장하기 위한 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트들을 구성하는 것은, 프로세싱 속도를 증가시킬 수 있고, 딜레이들을 감소시킬 수 있고, 전력 소모를 감소시킬 수 있으며, 그리고/또는 다르게는 더욱 효율적인 프로세싱을 제공할 수 있다. 도 1은 데이터 값들을 변환 및 저장하기 위한 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하는 일 실시예의 일반적인 도면을 도시한다. 소프트웨어 프로그램과 같은 프로세스(100)는 프로세서 유닛(102)과 통신하고, 감시-레벨(supervisory-level) 프로세스 대신에 사용자에 의해 제어가능한 하나 또는 둘 이상의 사용자-레벨 소프트웨어 프로세스들일 수 있으며, 이는 사용자가 직접 조종하는 어떠한 능력도 제한하지 않는다. 프로세스(100)는, TLB(110)를 갖는 MMU(108)와 같은 MMU(108)에 의해 변환가능한 가상 어드레스들을, 써로게이트 메모리 액세싱 에이전트(112) 내에 저장을 위해 물리적 어드레스들로 식별하는 명령을 제공할 수 있다. 도 1에 도시된 실시예에서, 써로게이트 메모리 액세싱 에이전트(112)는 MMU(108)로부터 별도의 컴포넌트이다.
프로세스(100)는 프로세서 유닛(102)에 명령을 제공하도록 구성될 수 있다. 이 명령은, 써로게이트 메모리 액세싱 에이전트(112)의 레지스터 내에 저장될 데이터 값으로 표현된 제 1 가상 어드레스를 특정하는 제 1 오퍼랜드 및 레지스터의 위치와 연관된 제 2 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함할 수 있다. 프로세서 유닛(102)은, 제 2 가상 어드레스가 어드레스 레지스터(104)에서 MMU(108)로 제공되도록 그리고 제 1 가상 어드레스가 데이터 레지스터(106)에서 MMU(108)로 제공되도록 야기하는 명령을 이용할 수 있다. 이 명령에 따르면, 프로세서 유닛(102)은, TLB(110)가 제 1 가상 어드레스를 레지스터 내에 저장될 데이터 값으로 표현된 제 1 물리적 어드레스로 변환하고, 제 2 가상 어드레스를 레지스터의 위치에 대응하는 제 2 물리적 어드레스로 변환하도록 야기할 수 있다. 제 2 물리적 어드레스는 써로게이트 메모리 액세싱 에이전트(112)의 레지스터 내에 제 1 물리적 어드레스를 저장하기 위해 이용될 수 있다.
써로게이트 메모리 액세싱 에이전트(112)는 후속 프로세싱을 위해 프로세서 유닛(102)에 의해 액세스된 데이터를 저장하기 위한 메모리 디바이스일 수 있는 메모리(114)에 액세스할 수 있다. 메모리(114)는 메모리(114) 내의 서로 다른 물리적 어드레스들에 저장된 메모리 값들을 포함한다. 메모리 값들이 저장될 수 있는 메모리(114) 내의 위치들의 물리적 어드레스들은 PA1, PA2, 및 PAn으로 표현된다. 써로게이트 메모리 액세싱 에이전트(112)는 메모리(114) 내의 위치에 액세스하기 위해 제 1 물리적 어드레스를 나타내는 데이터 값을 이용할 수 있다.
일 예시에서, 메모리 값은 PA1에 대응하는 위치에 있는 메모리(114)에 저장될 수 있으며, 상기 PA1은 PA2에 대응하는 위치로 이동될 필요가 있다. 써로게이트 메모리 액세싱 에이전트(112)는, PA1에 대응하는 물리적 어드레스를 나타내는 데이터 값이 제 1 레지스터 내에 저장되고 PA2에 대응하는 물리적 어드레스를 나타내는 데이터 값이 제 2 레지스터 내에 저장되도록, 적어도 2개의 레지스터들을 포함할 수 있다. 제 1 레지스터 내의 데이터 값은 이동될 또는 카피될 메모리 값의 위치(PA1)를 식별하기 위해 이용될 수 있고, 제 2 레지스터 내의 데이터 값은 메모리 값이 이동될 위치(PA2)를 식별하기 위해 이용될 수 있다. 따라서, 메모리 값은 논-프리빌리지 또는 프리빌리지 모드에서 동작하고 프로세싱 비효율성들을 회피하는 프로세서에 의해 프로세싱된 데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여 PA1에서 PA2로 이동될 수 있다.
데이터 값들을 변환 및 저장하기 위한 다양한 명령들은 써로게이트 메모리 액세싱 에이전트들을 구성하도록 이용될 수 있다. 도 2는 프로세서(100)에 의해 제공된 명령(202)을 이용하여 써로게이트 메모리 액세싱 에이전트(112)를 구성하기 위한 데이터 프로세싱 시스템의 실시예의 일반적인 도면이다. 명령(202)은 2개의 오퍼랜드들: (a) 변환될 가상 어드레스(VA)를 나타내는 데이터 값을 특정함(204); 및 (b) 변환된 데이터 값이 저장될 레지스터의 위치에 대응하는 가상 어드레스(VA)를 특정함(206)을 포함할 수 있다. 가상 어드레스들은 프로세스(100)에 의해 특정될 수 있다. 몇몇 실시예들에서, 명령(202)은 가상 어드레스들 대신에 프로세서 유닛(102) 내에 가상 어드레스들의 위치를 특정하는 오퍼랜드를 포함한다.
프로세서 유닛(102)은 명령 저장소(208) 내에 명령(202)을 저장하도록 구성될 수 있다. 명령 저장소(208)는, 추후의 이용, 프로세싱 또는 액세스를 위해 명령(202)이 저장된 컴퓨터-판독가능 매체일 수 있다. 명령(202)은 임의의 적절한 프로그래밍 코드를 이용하여 표현될 수 있다. 예를 들어, 제 1 오퍼랜드는 물리적 어드레스로 변환될 가상 어드레스를 나타내는 데이터 값을 특정하기 위한 코드일 수 있고, 제 2 오퍼랜드는 데이터 값으로 표현된 물리적 어드레스를 저장할 써로게이트 메모리 액세싱 에이전트 레지스터의 위치와 연관된 가상 어드레스를 특정하는 코드일 수 있다.
프로세서 유닛(102)은 명령 저장소(208)에 액세스함으로써 수신시에 또는 그 이후에 명령(202)을 프로세싱할 수 있다. 프로세서 유닛(102)은, 데이터 값이 저장될 레지스터의 위치를 특정하는 가상 어드레스를 제공함으로써 그리고 제 2 가상 어드레스를 나타내는 데이터 값을 제공함으로써 명령(202)을 프로세싱할 수 있다. 레지스터의 가상 어드레스는 써로게이트 메모리 액세싱 에이전트(112) 내의 레지스터에 대응할 수 있다. 명령(202)에 기초하여, 프로세서 유닛(102)은 레지스터의 위치를 특정하는 가상 어드레스 및 데이터 값으로 표현된 가상 어드레스가 MMU, 예를 들어, TLB(210)를 포함하는 MMU에 의해 변환되도록 야기할 수 있다.
TLB(210)는 레지스터의 위치를 특정하는 가상 어드레스를 레지스터의 물리적어드레스(PA)로 변환할 수 있다. 예를 들어, TLB(210)는 레지스터의 위치를 특정하는 가상 어드레스와 연관된 물리적 어드레스를 결정하기 위한 룩업 테이블을 포함할 수 있다. 또한, TLB(210)는 데이터 값으로 표현된 가상 어드레스를 데이터 값으로 표현된 물리적 어드레스(PA)로 변환한다. TLB(210)는 변환된 물리적 어드레스들을 써로게이트 메모리 액세싱 에이전트(112)에 제공할 수 있다.
써로게이트 메모리 액세싱 에이전트(112)는 데이터 값들을 저장하기 위한 하나 또는 둘 이상의 레지스터들을 포함할 수 있다. 도 2에 도시된 실시예에서, 써로게이트 메모리 액세싱 에이전트(112)는 2개의 레지스터들: 레지스터 1(212) 및 레지스터 2(214)를 포함한다. 레지스터의 물리적 어드레스는 데이터 값을 저장할 써로게이트 메모리 액세싱 에이전트(112)의 레지스터를 식별하는데 이용될 수 있다. 예를 들어, 레지스터의 물리적 어드레스는 레지스터 1(212)의 물리적 어드레스일 수 있다. 레지스터의 물리적 어드레스를 이용하는 레지스터 1(212)을 식별한 후, 물리적 어드레스를 나타내는 데이터 값은 레지스터 1(212)에 저장된다.
몇몇 실시예들에서, 프로세서 유닛(102)은, 서로 다른 가상 어드레스들이 변환을 위해 특정되고 그리고 레지스터 2(214)에 저장을 위해 이용하는 제 2 명령을 수신할 수 있다. 예를 들어, 레지스터 2(214)에 대응하는 위치에 연관된 가상 어드레스가 식별될 수 있다. 제 1 명령(202)에서와는 상이한, 변환될 다른 가상 어드레스를 나타내는 데이터 값이 특정될 수 있다. 프로세서 유닛(102)은, 일반적으로 앞서 설명된 프로세스 및 컴포넌트들에 따라서, 제 2 명령을 프로세싱할 수 있고, 제 2 명령에 의해 식별된 데이터 값으로 표현된 물리적 어드레스를 레지스터 2(214)에 저장되도록 야기할 수 있다. 써로게이트 메모리 액세싱 에이전트(112)는 메모리(114)에 액세스하기 위해 레지스터 1(212) 및 레지스터 2(214)에 저장된 데이터 값들을 이용할 수 있다.
메모리(114)는, 데이터가 프로세싱을 위해 저장 및 액세스되는 물리적 메모리일 수 있다. 도 2에 도시된 메모리(114)는 PA1의 물리적 어드레스를 갖는 위치에 저장된 메모리 값을 포함하고, 공개된 PA2의 물리적 어드레스를 갖는 제 2 위치(즉, 메모리 값은 그 위치에 저장되지 않음)를 포함한다. 메모리(114)는 예시적인 목적들을 위해 제공된다. 다른 메모리 디바이스들은, 그 값들이 저장되거나 또는 저장될 수 있는 물리적 어드레스들과 연관된 추가적인 메모리 위치들을 포함할 수 있다.
다양한 실시예들에 따른 명령들은, 하나 또는 둘 이상의 레지스터들에서 물리적 어드레스를 나타내는 변환된 데이터 값을 저장함으로써 써로게이트 메모리 액세싱 에이전트들을 구성하도록 이용될 수 있다. 도 3은 데이터 값을 변환하고 저장하기 위한 명령을 이용하여 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 방법을 예시한다. 도 3의 흐름도는 도 2에 예시된 컴포넌트들 및 명령들을 참조하여 설명된다. 그러나, 다른 구현들도 가능하다.
이 방법은, 변환될 가상 어드레스를 나타내는 데이터 값을 특정하고 변환된 데이터 값을 저장하기 위해 레지스터의 가상 어드레스를 특정하는 명령을 프로세서 유닛(102)이 수신할 때 블록(302)에서 시작한다. 이 명령은 프로세스, 예컨대 사용자 모드에서 동작하는 소프트웨어로부터 수신될 수 있다. 레지스터의 가상 어드레스를 특정하는 오퍼랜드는 써로게이트 메모리 액세싱 에이전트(112)의 레지스터 1(212)의 물리적 어드레스에 대응하는 가상 어드레스를 포함할 수 있다. 프로세서 유닛(102)은 그 명령을 프로세싱하도록 구성된다. 예를 들어, 프로세서 유닛(102)은 명령 저장소(208)와 같은 컴퓨터-판독가능 매체 내에 명령을 저장할 수 있고, 그 명령에 의해 특정된 동작들을 수행할 수 있다.
블록(304)에서, 프로세서 유닛(102)은 가상 어드레스들이 TLB(210)에 의해 물리적 어드레스들로 변환되도록 야기한다. 프로세서 유닛(102)은 레지스터 1(212)에 대응하는 위치의 가상 어드레스 및 다른 가상 어드레스를 나타내는 데이터 값을 TLB(210)에 제공할 수 있고, TLB(210)가 그 가상 어드레스들을 변환시키도록 야기할 수 있다. TLB(210)는, 가상 어드레스들과 연관된 물리적 어드레스들을 결정하기 위한 룩업 테이블 또는 다른 메커니즘을 포함할 수 있다. 예를 들어, TLB(210)는 레지스터 1(212)에 대응하는 위치의 가상 어드레스와 연관된 물리적 어드레스를 결정하기 위해 룩업 테이블을 이용할 수 있다. TLB(210)의 출력은 레지스터 1(212)의 물리적 어드레스일 수 있고 레지스터 1(212)에 저장될 데이터 값으로 표현된 다른 물리적 어드레스일 수 있다. 데이터 값으로 표현된 물리적 어드레스는 써로게이트 메모리 액세싱 에이전트에 의해 액세스될 메모리 내의 위치에 대응할 수 있다.
블록(306)에서, 프로세서 유닛(102)은 레지스터 1(212)의 물리적 어드레스를 이용하여 물리적 어드레스를 나타내는 데이터 값을 레지스터 1(212)에 기록한다. 예를 들어, 레지스터 1(212)의 물리적 어드레스는 데이터 값이 기록되는 위치를 식별하고, 프로세서 유닛은 물리적 어드레스를 나타내는 데이터 값을 프로세스(100)에 의해 제공된 가상 어드레스로부터 자신의 물리적 어드레스에 의해 레지스터 1(212)의 식별에 기초하여 레지스터 1(212)로 변환되게 야기할 수 있다.
블록(308)에서, 써로게이트 메모리 액세싱 에이전트(112)는 액세스하는 메모리 값의 메모리(114)내의 위치를 식별하기 위해 물리적 어드레스를 나타내고 레지스터 1(212)에 저장된 데이터 값을 이용할 수 있다. 몇몇 실시예들에서, 메모리 값에 대한 계산을 수행하거나 또는 메모리 값을 이용할 목적들을 위해 메모리 값들이 액세스될 수 있다. 예를 들어, 레지스터 1(212) 내에 데이터 값으로 표현된 물리적 어드레스는 계산 또는 다른 목적들을 위해 액세스될 메모리 값의 위치로서 그 물리적 어드레스를 식별하는 메모리(114)의 PA1에 대응할 수 있다.
도 3에 도시된 방법은 데이터 값을 변환하고 저장하기 위한 명령을 이용하여 써로게이트 메모리 액세싱 에이전트의 레지스터를 구성하는 것에 관한 것이다. 그러나, 추가적인 레지스터들은 제 2 명령을 이용하는 유사한 방식으로, 또는 다른 방법을 통해서 명령을 이용하는 유사한 방식으로 구성될 수 있고, 써로게이트 메모리 액세싱 에이전트는 예컨대 메모리 값들을 이동시키거나 또는 카피하는 목적들을 위해, 메모리 내 메모리 값들에 액세스하기 위해 자신의 레지스터들에 저장된 1개 초과의 데이터 값을 이용할 수 있다.
몇몇 실시예들에 따라서 써로게이트 메모리 액세싱 에이전트들을 구성하기 위한 프로세싱 시스템들은 데이터 값들을 변환하고 저장하기 위한 명령들, 또는 다른 유형들의 명령들을 이용하도록 적응(adapt)될 수 있다. 도 4는 데이터 값들을 변환시키거나 저장하기 위한 명령들, 또는 다른 유형들의 명령들, 예를 들어, 논-프리빌리지 모드에서 동작하는 프로세서들에 의해 프로세싱될 수 없는 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트(112)를 구성할 수 있는 프로세싱 시스템의 제 2 실시예의 일반적인 도면이다.
명령(404)은 프로세스(402)에 의해 제공된다. 프로세스(402)는 가상 어드레스들을 특정하는 명령을 제공할 수 있는 사용자-모드 프로세스 또는 가상 어드레스 또는 물리적 어드레스들을 특정하는 명령을 제공할 수 있는 감시-레벨 프로세스일 수 있다. 도 1 내지 도 3을 참조하여 예를 들어 설명된 바와 같이, 명령(404)이 가상 어드레스들을 특정하는 경우, 명령(404)은 변환될 데이터 값으로 표현된 가상 어드레스를 특정하는 하나의 오퍼랜드 및 변환된 데이터 값을 저장할 써로게이트 메모리 액세싱 에이전트(112)의 레지스터의 위치와 연관된 제 2 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함할 수 있다.
다른 실시예들에서, 명령(404)은, 데이터 값을 저장할 써로게이트 메모리 액세싱 에이전트(112)의 레지스터의 위치와 연관된 가상 어드레스 및 물리적 어드레스를 나타내는 데이터 값을 포함하는 물리적 어드레스들을 특정하는 감시-레벨 프로세스에서 제공된다. 명령(404)이 데이터 값으로 표현된 물리적 어드레스를 특정할 때, 프로세서 유닛(102)은 물리적 어드레스를 나타내는 데이터 값을 입력으로서 멀티플렉서(MUX; 406)에 제공할 수 있다. 프로세서 유닛(102)은 가상 어드레스가 MMU(예를 들어, TLB(210)를 포함하는 MMU)에 의해 변환되도록 야기할 수 있다. TLB(210)의 출력은 프로세서 유닛(102)에 의해 제공된 데이터 값을 저장할 레지스터와 연관된 물리적 어드레스일 수 있다.
MUX(406)는 프로세서 유닛(102)으로부터 수신된 입력 또는 TLB(210)로부터 수신된 입력을 써로게이트 메모리 액세싱 에이전트(112)에 공급할지 여부를 결정하도록 구성될 수 있다. 프로세서 유닛(102)은 실행중인 명령의 유형에 기초하여 셀렉터(selector)로서 MUX(406)에 출력을 또한 제공할 수 있다. 이 명령이 물리적 어드레스를 나타내는 데이터 값을 특정하는 경우, 프로세서 유닛(102)은 셀렉터를 출력하여 MUX(406)로 하여금 프로세서 유닛(102)으로부터 데이터 값을 제공하도록 야기한다. 명령이 가상 어드레스를 나타내는 데이터 값을 특정하는 경우, TLB(210)는 그 값을 변환하고, 프로세서 유닛(102)은 그 변환된 값을 MUX(406)로 하여금 TLB(210)로부터 써로게이트 메모리 액세싱 에이전트(112)로 제공하도록 야기한다.
도 4에 도시된 실시예에서, 써로게이트 메모리 액세싱 에이전트(112)는 하나 또는 둘 이상의 명령들을 통해서 MUX(406)로부터 수신된 레지스터 1(212) 및/또는 레지스터 2(214) 내에 데이터 값들을 저장할 수 있다. 써로게이트 메모리 액세싱 에이전트(112)는, 하나 또는 둘 이상의 레지스터들(212, 214)이 데이터 값들을 포함하는 경우, 메모리(114)에 액세스할 수 있다. 예를 들어, 레지스터 1(212)에 저장된 데이터 값은, 메모리(114) 내의 메모리 값이 이동되거나 또는 카피되는 위치로서 물리적 어드레스 PA1에 대응하는 메모리 위치를 식별하는데 이용될 수 있다. 레지스터 1(212)에 저장된 데이터 값은, 메모리 값이 이동되거나 또는 카피되는 위치로서 물리적 어드레스 PA2에 대응하는 메모리 위치를 식별하는데 이용될 수 있다. 써로게이트 메모리 액세싱 에이전트(112)는 데이터 값들을 이용하여 메모리 값이 식별된 위치로 이동되거나 또는 카피되도록 야기할 수 있다.
앞서 언급된 특징들을 포함하는 예시적인
디바이스들
데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트들을 구성할 수 있는 프로세서 유닛들이 디지털 신호 프로세서들과 같은 임의의 유형의 프로세서에 포함될 수 있다. 도 5 내지 도 9의 일반적인 도면들은 데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트들을 구성하기 위한 프로세서 유닛들을 통합할 수 있는 예시적인 디바이스들을 예시한다.
도 5는 휴대용 통신 디바이스(500)의 예시적인 실시예를 예시하는 도면이다. 도 5의 일반적인 도면에 예시된 바와 같이, 휴대용 통신 디바이스는 디지털 신호 프로세서(DSP; 504)를 포함하는 온-칩 시스템(502)을 포함한다. 또한, 도 5의 일반적인 도면은 DSP(504) 및 디스플레이(508)에 커플링된 디스플레이 컨트롤러(506)를 나타낸다. 또한, 입력 디바이스(510)는 DSP(504)에 커플링된다. 도시된 바와 같이, 메모리(512)는 DSP(504)에 커플링된다. 추가적으로, 코더/디코더(CODEC; 514)는 DSP(504)에 커플링될 수 있다. 스피커(516) 및 마이크로폰(518)은 CODEC(514)에 커플링될 수 있다.
도 5의 일반적인 도면은 디지털 신호 프로세서(504) 및 무선 안테나(522)에 커플링된 무선 컨트롤러(520)를 추가로 예시한다. 특정 실시예에서, 전원 공급장치(524)는 온-칩 시스템(502)에 커플링된다. 디스플레이(508), 입력 디바이스(510), 스피커(516), 마이크로폰(518), 무선 안테나(522), 및 전원 공급장치(524)는 온-칩 시스템(502)의 외부에 있을 수 있다. 그러나, 각각은 온-칩 시스템(502)의 컴포넌트에 커플링될 수 있다.
특정 실시예에서, DSP(504)는, 프로세싱 딜레이들과 전력 소모를 감소시키고, 그리고/또는 다르게는 더욱 효율적인 프로세싱을 제공하기 위해 데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여, DMA 채널과 같은 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛(562)을 포함하고, 그 예시들은 도 1, 도 2 또는 도 4를 참조하여 설명된다. 예를 들어, 프로세서 유닛(562)은, 써로게이트 메모리 액세싱 에이전트의 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 1 오퍼랜드, 및 물리적 어드레스로 변환되고 레지스터에 저장될 데이터 값으로 표현된 제 2 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령을 프로세싱하도록 구성될 수 있다.
도 6은 셀룰러 전화기(600)의 예시적인 실시예를 예시하는 도면이다. 도시된 바와 같이, 셀룰러 전화기(600)는 함께 커플링된 디지털 베이스밴드 프로세서(604) 및 아날로그 베이스밴드 프로세서(606)를 포함하는 온-칩 시스템(602)을 포함한다. 특정 실시예에서, 디지털 베이스밴드 프로세서(604)는 디지털 신호 프로세서이다. 도 6의 일반적인 도면에 예시된 바와 같이, 디스플레이 컨트롤러(608) 및 터치스크린 컨트롤러(610)는 디지털 베이스밴드 프로세서(604)에 커플링된다. 결과적으로, 온-칩 시스템(602)의 외부에 있는 터치스크린 디스플레이(612)는 디스플레이 컨트롤러(608) 및 터치스크린 컨트롤러(610)에 커플링된다.
또한, 도 6의 일반적인 도면은, 비디오 인코더(614), 예를 들어, PAL(phase alternating line) 인코더, SEC AM(sequential couleur a memoire) 인코더, 또는 NTSC(national television system(s) committee) 인코더가 디지털 베이스밴드 프로세서(604)에 커플링되는 것을 예시한다. 또한, 비디오 증폭기(616)는 비디오 인코더(614) 및 터치스크린 디스플레이(612)에 커플링된다. 또한, 비디오 포트(618)는 비디오 증폭기(616)에 커플링된다. USB(universal serial bus) 컨트롤러(620)는 디지털 베이스밴드 프로세서(604)에 커플링된다. 또한, USB 포트(622)는 USB 컨트롤러(620)에 커플링된다. 메모리(624) 및 가입자 아이덴티티 모듈(SIM; subscriber identity module) 카드(626)는 또한 디지털 베이스밴드 프로세서(604)에 커플링될 수 있다. 추가로, 도 6의 일반적인 도면에 도시된 바와 같이, 디지털 카메라(628)는 디지털 베이스밴드 프로세서(604)에 커플링될 수 있다. 예시적인 실시예에서, 디지털 카메라(628)는 CCD(charge-coupled device) 카메라 또는 CMOS(complementary metal-oxide semiconductor) 카메라이다.
도 6의 일반적인 도면에 추가적으로 예시된 바와 같이, 스테레오 오디오 CODEC(630)은 아날로그 베이스밴드 프로세서(606)에 커플링될 수 있다. 추가로, 오디오 증폭기(632)는 스테레오 오디오 CODEC(630)에 커플링될 수 있다. 예시적인 실시예에서, 제 1 스테레오 스피커(634) 및 제 2 스테레오 스피커(636)는 오디오 증폭기(632)에 커플링된다. 또한, 마이크로폰 증폭기(638)가 스테레오 오디오 CODEC(630)에 커플링될 수 있다. 추가적으로, 마이크로폰(640)은 마이크로폰 증폭기(638)에 커플링될 수 있다. 특정 실시예에서, 주파수 변조(FM) 라디오 튜너(642)는 스테레오 오디오 CODEC(630)에 커플링될 수 있다. FM 안테나(644)는 FM 라디오 튜너(642)에 커플링될 수 있다. 추가로, 스테레오 헤드폰들(646)은 스테레오 오디오 CODEC(630)에 커플링될 수 있다.
도 6의 일반적인 도면은 아날로그 베이스밴드 프로세서(606)에 커플링될 수 있는 라디오 주파수(RF) 트랜시버(648)를 추가로 예시한다. RF 스위치(650)는 RF 트랜시버(648) 및 RF 안테나(652)에 커플링될 수 있다. 키패드(654)는 아날로그 베이스밴드 프로세서(606)에 커플링될 수 있다. 또한, 마이크로폰(656)을 갖는 모노 헤드셋은 아날로그 베이스밴드 프로세서(606)에 커플링될 수 있다. 추가로, 진동기 디바이스(658)가 아날로그 베이스밴드 프로세서(606)에 커플링될 수 있다. 또한, 도 6의 일반적인 도면은 온-칩 시스템(602)에 커플링될 수 있는 전원 공급장치(660)를 도시한다. 특정 실시예에서, 전원 공급장치(660)는 셀룰러 전화기(600)의 다양한 컴포넌트들에 전력을 제공하는 직류 전류(DC) 전원 공급장치이다. 추가로, 특정 실시예에서, 전원 공급장치는 교류 전류(AC) 전원에 커플링된 DC 변압기에 대한 교류 전류(AC)로부터 도출된 DC 전원 공급장치 또는 재충전가능한 DC 배터리이다.
도 6의 일반적인 도면에 도시된 바와 같이, 터치스크린 디스플레이(612), 비디오 포트(618), USB 포트(622), 카메라(628), 제 1 스테레오 스피커(634), 제 2 스테레오 스피커(636), 마이크로폰(640), FM 안테나(644), 스테레오 헤드폰들(646), RF 스위치(650), RF 안테나(652), 키패드(654), 마이크로폰을 갖는 모노 헤드셋(656), 진동기(658), 및 전원 공급장치(660)는 온-칩 시스템(602)의 외부에 있을 수 있다. 특정 실시예에서, DSP(604)는, 프로세싱 딜레이들과 전력 소모를 감소시키기 위해 그리고/또는 다르게는 더욱 효율적인 프로세싱을 제공하기 위해 데이터 값들을 변환 및 저장하기 위한 명령을 이용하는 써로게이트 메모리 액세싱 에이전트, 예를 들어, DMA 채널을 구성할 수 있는 프로세서 유닛(662)을 포함하고, 그 예시들은 도 1, 도 2 또는 도 4를 참조하여 설명된다. 예를 들어, 프로세서 유닛(662)은, 써로게이트 메모리 액세싱 에이전트의 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 1 오퍼랜드, 및 물리적 어드레스로 변환되고 레지스터 내에 저장될 데이터 값으로 표현된 제 2 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령을 프로세싱하도록 구성될 수 있다.
도 7은 무선 인터넷 프로토콜(IP) 텔레폰(700)의 예시적인 실시예를 예시하는 도면이다. 도시된 바와 같이, 무선 IP 텔레폰(700)은 디지털 신호 프로세서(DSP; 704)를 포함하는 온-칩 시스템(702)을 포함한다. 디스플레이 컨트롤러(706)는 DSP(704)에 커플링될 수 있고, 디스플레이(708)는 디스플레이 컨트롤러(706)에 커플링된다. 예시적인 실시예에서, 디스플레이(708)는 액정 디스플레이(LCD)이다. 추가로, 도 7은 키패드(710)가 DSP(704)에 커플링될 수 있다는 것을 나타낸다.
플래시 메모리(712)는 DSP(704)에 커플링될 수 있다. 또한, SDRAM(714; synchronous dynamic random access memory), SRAM(716; static random access memory), 및 EEPROM(718; electrically erasable programmable read only memory)은 DSP(704)에 커플링될 수 있다. 도 7의 일반적인 도면은 또한, LED(720)가 DSP(704)에 커플링될 수 있다는 것을 도시한다. 추가적으로, 특정 실시예에서, 보이스 CODEC(722)는 DSP(704)에 커플링될 수 있다. 증폭기(724)는 보이스 CODEC(722)에 커플링될 수 있고, 모노 스피커(726)는 증폭기(724)에 커플링될 수 있다. 도 7의 일반적인 도면은 보이스 CODEC(722)에 커플링된 모노 헤드셋(728)을 추가로 예시한다. 특정 실시예에서, 모노 헤드셋(728)은 마이크로폰을 포함한다.
무선 로컬 영역 네트워크(WLAN) 베이스밴드 프로세서(730)는 DSP(704)에 커플링될 수 있다. RF 트랜시버(732)는 WLAN 베이스밴드 프로세서(730)에 커플링될 수 있고, RF 안테나(734)는 RF 트랜시버(732)에 커플링될 수 있다. 특정 실시예에서, 블루투스 컨트롤러(736)는 DSP(704)에 또한 커플링될 수 있고, 블루투스 안테나(738)는 컨트롤러(736)에 커플링될 수 있다. 도 7의 일반적인 도면은, USB 포트(740)가 DSP(704)에 또한 커플링될 수 있다는 것을 나타낸다. 추가로, 전원 공급장치(742)는 온-칩 시스템(702)에 커플링되고 무선 IP 전화기(700)의 다양한 컴포넌트들에 전력을 제공한다.
도 7의 일반적인 도면에 표시된 바와 같이, 디스플레이(708), 키패드(710), LED(720), 모노 스피커(726), 모노 헤드셋(728), RF 안테나(734), 블루투스 안테나(738), USB 포트(740), 및 전원 공급장치(742)는 온-칩 시스템(702)의 외부에 있을 수 있고 온-칩 시스템(702)의 하나 또는 둘 이상의 컴포넌트들에 커플링될 수 있다. 특정 실시예에서, DSP(704)는, 프로세싱 딜레이들과 전력 소모를 감소시키기 위해, 그리고/또는 다르게는 더욱 효율적인 프로세싱을 제공하기 위해 데이터 값들을 변환 및 저장하기 위한 명령을 이용하여 써로게이트 메모리 액세싱 에이전트, 예를 들어, DMA 채널을 구성할 수 있는 프로세서 유닛(762)을 포함하고, 이들의 예시들은 도 1, 도 2 또는 도 4를 참조하여 설명된다. 예를 들어, 프로세서 유닛(762)은 써로게이트 메모리 액세싱 에이전트의 레지스터의 위치와 연관된 가상 어드레스를 특정하는 하나의 오퍼랜드, 및 물리적 어드레스로 변환되고 레지스터 내에 저장될 데이터 값으로 표현된 제 2 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령을 프로세싱하도록 구성될 수 있다.
도 8은 개인용 휴대정보 단말기(PDA; 800)의 예시적인 실시예를 예시하는 도면이다. 도시된 바와 같이, PDA(800)는 디지털 신호 프로세서(DSP)(804)를 포함하는 온-칩 시스템(802)을 포함한다. 터치스크린 컨트롤러(806) 및 디스플레이 컨트롤러(808)는 DSP(804)에 커플링된다. 추가로, 터치스크린 디스플레이(810)는 터치스크린 컨트롤러(806) 및 디스플레이 컨트롤러(808)에 커플링된다. 도 8의 일반적인 도면은 또한, 키패드(812)가 DSP(804)에 커플링될 수 있다는 것을 나타낸다.
특정 실시예에서, 스테레오 오디오 CODEC(826)은 DSP(804)에 커플링될 수 있다. 제 1 스테레오 증폭기(828)는 스테레오 오디오 CODEC(826)에 커플링될 수 있고, 제 1 스테레오 스피커(830)는 제 1 스테레오 증폭기(828)에 커플링될 수 있다. 추가적으로, 마이크로폰 증폭기(832)는 스테레오 오디오 CODEC(826)에 커플링될 수 있고, 마이크로폰(834)은 마이크로폰 증폭기(832)에 커플링될 수 있다. 추가로, 도 8의 일반적인 도면은, 스테레오 오디오 CODEC(826)에 커플링될 수 있는 제 2 스테레오 증폭기(836) 그리고 제 2 스테레오 증폭기(836)에 커플링될 수 있는 제 2 스테레오 스피커(838)를 도시한다. 특정 실시예에서, 스테레오 헤드폰들(840)은 또한 스테레오 오디오 CODEC(826)에 커플링될 수 있다.
도 8의 일반적인 도면은 또한, DSP(804)에 커플링될 수 있는 802.11 컨트롤러(842) 및 802.11 컨트롤러(842)에 커플링될 수 있는 802.11 안테나(844)를 예시한다. 추가로, 블루투스 컨트롤러(846)는 DSP(804)에 커플링될 수 있고, 블루투스 안테나(848)는 블루투스 컨트롤러(846)에 커플링될 수 있다. USB 컨트롤러(850)는 DSP(804)에 커플링될 수 있고, USB 포트(852)는 USB 컨트롤러(850)에 커플링될 수 있다. 추가적으로, 스마트 카드(854), 예를 들어, 멀티미디어 카드(MMC) 또는 보안 디지털 카드(SD)가 DSP(804)에 커플링될 수 있다. 추가로, 전원 공급장치(856)는 온-칩 시스템(802)에 커플링될 수 있고, PDA(800)의 다양한 컴포넌트들에 전력을 제공할 수 있다.
도 8의 일반적인 도면에 도시된 바와 같이, 디스플레이(810), 키패드(812), IrDA 포트(822), 디지털 카메라(824), 제 1 스테레오 스피커(830), 마이크로폰(834), 제 2 스테레오 스피커(838), 스테레오 헤드폰들(840), 802.11 안테나(844), 블루투스 안테나(848), USB 포트(852), 및 전원 공급장치(856)가 온-칩 시스템(802)의 외부에 있을 수 있고 온-칩 시스템(802) 상의 하나 또는 둘 이상의 컴포넌트들에 커플링될 수 있다. 특정 실시예에서, DSP(804)는, 프로세싱 딜레이들 및 전력 소모를 감소시키고, 및/또는 더욱 효율적인 프로세싱을 제공하기 위해 데이터 값들을 변환 및 저장하기 위한 명령을 이용하여 DMA 채널과 같은 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛(862)을 포함하고, 이들의 예시들은 도 1, 도 2 또는 도 4를 참조하여 설명된다. 예를 들어, 프로세서 유닛(862)은, 써로게이트 메모리 액세싱 에이전트의 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 1 오퍼랜드, 및 물리적 어드레스로 변환되고 레지스터 내에 저장될 데이터 값으로 표현된 제 2 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령을 프로세싱하도록 구성될 수 있다.
도 9는 오디오 파일 플레이어(예를 들어, MP3 플레이어)(900)의 예시적인 실시예를 예시하는 도면이다. 도시된 바와 같이, 오디오 파일 플레이어(900)는 디지털 신호 프로세서(DSP; 904)를 포함하는 온-칩 시스템(902)을 포함한다. 디스플레이 컨트롤러(906)는 DSP(904)에 커플링될 수 있고, 디스플레이(908)는 디스플레이 컨트롤러(906)에 커플링된다. 예시적인 실시예에서, 디스플레이(908)는 LCD(liquid crystal display)이다. 키패드(910)는 DSP(904)에 커플링될 수 있다.
도 9의 일반적인 도면에 추가로 도시된 바와 같이, 플래시 메모리(912) 및 ROM(914; read only memory)은 DSP(904)에 커플링될 수 있다. 추가적으로, 특정 실시예에서, 오디오 CODEC(916)은 DSP(904)에 커플링될 수 있다. 증폭기(918)는 오디오 CODEC(916)에 커플링될 수 있고, 모노 스피커(920)는 증폭기(918)에 커플링될 수 있다. 추가로, 도 9의 일반적인 도면은, 마이크로폰 입력(922) 및 스테레오 입력(924)이 오디오 CODEC(916)에 또한 커플링될 수 있다는 것을 나타낸다. 특정 실시예에서, 스테레오 헤드폰들(926)은 오디오 CODEC(916)에 또한 커플링될 수 있다.
USB 포트(928) 및 스마트 카드(930)는 DSP(904)에 커플링될 수 있다. 추가적으로, 전원 공급장치(932)는 온-칩 시스템(902)에 커플링될 수 있고, 오디오 파일 플레이어(900)의 다양한 컴포넌트들에 전력을 제공할 수 있다.
도 9의 일반적인 도면에 나타난 바와 같이, 디스플레이(908), 키패드(910), 모노 스피커(920), 마이크로폰 입력(922), 스테레오 입력(924), 스테레오 헤드폰들(926), USB 포트(928), 및 전원 공급장치(932)는 온-칩 시스템(902)의 외부에 있고, 온-칩 시스템(902) 상에 하나 또는 둘 이상의 컴포넌트들에 커플링된다. 특정 실시예에서, DSP(904)는, 프로세싱 딜레이들, 전력 소모를 감소시키고, 그리고/또는 다르게는 더욱 효율적인 프로세싱을 제공하기 위해 데이터 값들을 변환 및 제정하기 위한 명령을 이용하여 DMA 채널과 같은 써로게이트 메모리 액세싱 에이전트를 구성할 수 있는 프로세서 유닛(962)을 포함하고, 이들의 예시들은 도 1, 도 2 또는 도 4를 참조하여 설명된다. 예를 들어, 프로세서 유닛(962)은, 써로게이트 메모리 액세싱 에이전트의 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 1 오퍼랜드, 및 물리적 어드레스로 변환되고 레지스터 내에 저장될 데이터 값으로 표현된 제 2 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령을 프로세싱하도록 구성될 수 있다.
본원에 개시된 발명의 개념들의 실시예들의 전술한 설명은, 예시 및 설명의 목적으로만 제공되었으며, 본원에 개시된 발명의 개념들을 개시된 것과 정확한 형태로 제한하거나 또는 포괄되게 의도되는 것은 아니다. 본원에 개시된 발명의 개념들의 사상 및 범위로부터 벗어나지 않는 수많은 변환들 및 적응들이 당업자에게는 명백하다.
Claims (21)
- 써로게이트 메모리 액세싱 에이전트(surrogate memory accessing agent)를 구성하기 위한 방법으로서,
변환될 데이터 값을 특정하는 제 1 오퍼랜드 및 상기 데이터 값이 저장될 써로게이트 메모리 액세싱 에이전트 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령을 수신하는 단계;
상기 데이터 값이 제 1 물리적 어드레스로 변환되도록 야기하는 단계;
상기 가상 어드레스가 제 2 물리적 어드레스로 변환되도록 야기하는 단계; 및
상기 제 2 물리적 어드레스에 기초하여 상기 써로게이트 메모리 액세싱 에이전트 레지스터 내에 상기 제 1 물리적 어드레스를 저장하는 단계를 포함하고,
상기 데이터 값이 변환되도록 야기하는 단계 및 상기 가상 어드레스가 변환되도록 야기하는 단계는, 프로세서 외부에 있는 메모리 관리 유닛에 의해 수행되는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 방법. - 제 1 항에 있어서,
변환될 제 2 데이터 값을 특정하는 제 3 오퍼랜드 및 상기 제 2 데이터 값이 저장될 제 2 써로게이트 메모리 액세싱 에이전트 레지스터의 위치와 연관된 제 2 가상 어드레스를 특정하는 제 4 오퍼랜드를 포함하는 제 2 명령을 수신하는 단계;
상기 제 2 데이터 값이 제 3 물리적 어드레스로 변환되도록 야기하는 단계;
상기 제 2 가상 어드레스가 제 4 물리적 어드레스로 변환되도록 야기하는 단계;
상기 제 4 물리적 어드레스에 기초하여 상기 제 2 써로게이트 메모리 액세싱 에이전트 레지스터 내에 상기 제 3 물리적 어드레스를 저장하는 단계;
이동될 메모리 값의 위치를 상기 제 1 물리적 어드레스를 이용하여 식별하는 단계; 및
상기 메모리 값이 상기 제 3 물리적 어드레스를 이용하여 제 2 위치로 이동되도록 야기하는 단계를 더 포함하는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 방법. - 제 1 항에 있어서,
상기 변환될 데이터 값을 특정하는 제 1 오퍼랜드는, 상기 데이터 값으로 표현된 제 2 가상 어드레스의 식별(identification)을 포함하는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 방법. - 제 1 항에 있어서,
상기 제 2 물리적 어드레스는 상기 써로게이트 메모리 액세싱 에이전트 레지스터의 물리적 어드레스인,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 방법. - 제 1 항에 있어서,
물리적 메모리 위치에 저장된 메모리 값을 관리하기 위해 상기 제 1 물리적 어드레스를 이용하는 단계를 더 포함하는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 방법. - 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템으로서,
프로세스로부터 수신된 명령을 프로세싱하도록 구성된 프로세서 유닛 ― 상기 명령은, 변환될 데이터 값을 특정하는 제 1 오퍼랜드 및 상기 데이터 값을 저장할 써로게이트 메모리 액세싱 에이전트 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함함 ― ; 및
상기 프로세서 유닛에 커플링되고, 상기 데이터 값을 제 1 물리적 어드레스로 변환하고 상기 가상 어드레스를 제 2 물리적 어드레스로 변환하도록 구성된, 메모리 관리 유닛을 포함하고,
상기 프로세서 유닛은, 상기 제 2 물리적 어드레스에 기초하여 상기 써로게이트 메모리 액세싱 에이전트 레지스터 내에 상기 제 1 물리적 어드레스를 저장하도록 구성되고, 상기 메모리 관리 유닛은 상기 프로세서 유닛 외부에 있는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 6 항에 있어서,
상기 프로세서 유닛은 논-프리빌리지 모드에서 상기 명령을 프로세싱하도록 구성된,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 6 항에 있어서,
상기 프로세싱 시스템은 휴대용 통신 디바이스 내에 배치되는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 6 항에 있어서,
물리적 메모리 위치에 저장된 메모리 값을 관리하기 위해 상기 제 1 물리적 어드레스를 이용하도록 구성된 써로게이트 메모리 액세싱 에이전트를 더 포함하는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 9 항에 있어서,
써로게이트 메모리 액세싱 에이전트는 다이렉트 메모리 액세스(DMA; direct memory access) 채널인,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 6 항에 있어서,
상기 제 2 물리적 어드레스는 상기 써로게이트 메모리 액세싱 에이전트 레지스터의 물리적 어드레스인,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템으로서,
프로세서의 외부에 있고, 명령에 의해 특정된 가상 어드레스를 레지스터의 위치에 대응하는 제 1 물리적 어드레스로 변환하고, 상기 명령에 의해 특정된 데이터 값을 제 2 물리적 어드레스로 변환하도록 구성된, 메모리 관리 유닛; 및
상기 메모리 관리 유닛에 커플링되고, 상기 레지스터를 포함하는 써로게이트 메모리 액세싱 에이전트 ― 상기 레지스터는, 상기 제 1 물리적 어드레스를 이용하여 상기 제 2 물리적 어드레스를 저장하도록 구성됨 ― 를 포함하는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 12 항에 있어서,
상기 메모리 관리 유닛은, 제 2 명령에 의해 특정된 제 2 데이터 값을 제 3 물리적 어드레스로 변환하도록 구성되고, 상기 제 2 명령에 의해 특정된 제 2 가상 어드레스를 제 4 물리적 어드레스로 변환하도록 구성되며 ― 상기 제 4 물리적 어드레스는 상기 제 4 물리적 어드레스를 이용하여 상기 제 3 물리적 어드레스를 저장하도도록 구성된 제 2 레지스터의 위치를 식별함 ―, 그리고
상기 써로게이트 메모리 액세싱 에이전트는 상기 제 2 레지스터를 포함하는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 13 항에 있어서,
상기 써로게이트 메모리 액세싱 에이전트는, 이동될 메모리 값의 위치를 상기 제 1 물리적 어드레스를 이용하여 식별하고, 상기 메모리 값이 상기 제 3 물리적 어드레스를 이용하여 제 2 위치로 이동되게 야기하도록 구성되는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 12 항에 있어서,
상기 프로세싱 시스템은 휴대용 통신 디바이스 내에 배치되는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 12 항에 있어서,
상기 써로게이트 메모리 액세싱 에이전트는 물리적 메모리 위치에 저장된 메모리 값에 액세스하기 위해 상기 제 1 물리적 어드레스를 이용하도록 구성되는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 12 항에 있어서,
상기 써로게이트 메모리 액세싱 에이전트는 다이렉트 메모리 액세스(DMA) 채널인,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 제 12 항에 있어서,
상기 제 1 물리적 어드레스는 상기 써로게이트 메모리 액세싱 에이전트 레지스터의 물리적 어드레스인,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 프로세싱 시스템. - 프로그램 코드가 저장된 컴퓨터-판독가능 매체로서,
프로세서 외부의 메모리 관리 유닛에 의해 실행될 때, 상기 메모리 관리 유닛으로 하여금:
변환될 데이터 값을 특정하는 제 1 오퍼랜드 및 상기 데이터 값이 저장될 써로게이트 메모리 액세싱 에이전트 레지스터(surrogate memory accessing agent register)의 위치와 연관된 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령을 수신하고;
상기 데이터 값이 제 1 물리적 어드레스로 변환되도록 야기하고;
상기 가상 어드레스가 제 2 물리적 어드레스로 변환되도록 야기하고; 그리고
상기 제 2 물리적 어드레스에 기초하여 상기 써로게이트 메모리 액세싱 에이전트 레지스터 내에 상기 제 1 물리적 어드레스를 저장하게 하는, 컴퓨터-판독가능 매체. - 제 19 항에 있어서,
상기 프로세서는 논-프리빌리지 모드에서 동작하는, 컴퓨터-판독가능 매체. - 써로게이트 메모리 액세싱 에이전트를 구성하기 위한 장치로서,
변환될 데이터 값을 특정하는 제 1 오퍼랜드 및 상기 데이터 값이 저장될 써로게이트 메모리 액세싱 에이전트 레지스터의 위치와 연관된 가상 어드레스를 특정하는 제 2 오퍼랜드를 포함하는 명령을 수신하기 위한 수단;
상기 데이터 값이 제 1 물리적 어드레스로 변환되도록 야기하도록 구성되고 그리고 상기 가상 어드레스가 제 2 물리적 어드레스로 변환되도록 야기하도록 구성된 메모리 관리 유닛; 및
상기 제 2 물리적 어드레스에 기초하여 상기 써로게이트 메모리 액세싱 에이전트 레지스터 내에 상기 제 1 물리적 어드레스를 저장하기 위한 수단을 포함하고,
상기 메모리 관리 유닛은 프로세서 외부에 있는,
써로게이트 메모리 액세싱 에이전트를 구성하기 위한 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/777,324 US8924685B2 (en) | 2010-05-11 | 2010-05-11 | Configuring surrogate memory accessing agents using non-priviledged processes |
US12/777,324 | 2010-05-11 | ||
PCT/US2011/034095 WO2011142967A1 (en) | 2010-05-11 | 2011-04-27 | Configuring surrogate memory accessing agents using instructions for translating and storing data values |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130018323A KR20130018323A (ko) | 2013-02-20 |
KR101429969B1 true KR101429969B1 (ko) | 2014-08-14 |
Family
ID=44121064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127032413A KR101429969B1 (ko) | 2010-05-11 | 2011-04-27 | 데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트들을 구성하는 방법 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8924685B2 (ko) |
EP (1) | EP2569695B1 (ko) |
JP (2) | JP5685643B2 (ko) |
KR (1) | KR101429969B1 (ko) |
CN (2) | CN102884506B (ko) |
BR (1) | BR112012028622B1 (ko) |
TW (1) | TWI448893B (ko) |
WO (1) | WO2011142967A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9542333B2 (en) * | 2014-12-04 | 2017-01-10 | Qualcomm Incorporated | Systems and methods for providing improved latency in a non-uniform memory architecture |
US20160246712A1 (en) * | 2015-02-25 | 2016-08-25 | HGST Netherlands B.V. | Indirection data structures implemented as reconfigurable hardware |
US10725689B2 (en) * | 2015-08-31 | 2020-07-28 | Hewlett Packard Enterprise Development Lp | Physical memory region backup of a volatile memory to a non-volatile memory |
CN114385529A (zh) * | 2020-10-16 | 2022-04-22 | 瑞昱半导体股份有限公司 | 直接记忆体存取控制器、使用其之电子装置以及操作其的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05216809A (ja) * | 1992-02-06 | 1993-08-27 | Nec Corp | Dma転送方式 |
US20080222383A1 (en) | 2007-03-09 | 2008-09-11 | Spracklen Lawrence A | Efficient On-Chip Accelerator Interfaces to Reduce Software Overhead |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3219826B2 (ja) * | 1992-02-21 | 2001-10-15 | 日本電気株式会社 | 情報処理装置 |
JPH05250260A (ja) * | 1992-03-04 | 1993-09-28 | Toshiba Corp | 物理アドレス読出し機能を持つ仮想記憶制御方式の情報処理装置 |
US5765022A (en) * | 1995-09-29 | 1998-06-09 | International Business Machines Corporation | System for transferring data from a source device to a target device in which the address of data movement engine is determined |
US6470437B1 (en) * | 1999-12-17 | 2002-10-22 | Hewlett-Packard Company | Updating and invalidating store data and removing stale cache lines in a prevalidated tag cache design |
US6681346B2 (en) * | 2000-05-11 | 2004-01-20 | Goodrich Corporation | Digital processing system including a DMA controller operating in the virtual address domain and a method for operating the same |
US6662289B1 (en) * | 2001-05-15 | 2003-12-09 | Hewlett-Packard Development Company, Lp. | Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems |
US7200691B2 (en) * | 2003-12-22 | 2007-04-03 | National Instruments Corp. | System and method for efficient DMA transfer and buffering of captured data events from a nondeterministic data bus |
EP1619589B1 (fr) * | 2004-07-23 | 2007-12-26 | Stmicroelectronics SA | Procédé de programmation d'un contrôleur de DMA dans un système sur puce et système sur puce associé |
CN100377117C (zh) | 2005-07-14 | 2008-03-26 | 中国科学院计算技术研究所 | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 |
JP2007087177A (ja) | 2005-09-22 | 2007-04-05 | Canon Inc | 情報処理装置 |
JP2008102850A (ja) * | 2006-10-20 | 2008-05-01 | Toshiba Corp | 情報処理装置及び情報処理方法 |
CN101556565B (zh) | 2009-01-22 | 2010-09-29 | 杭州中天微系统有限公司 | 嵌入式处理器的片上高性能dma |
US8166276B2 (en) * | 2009-02-27 | 2012-04-24 | Advanced Micro Devices, Inc. | Translate and verify instruction for a processor |
-
2010
- 2010-05-11 US US12/777,324 patent/US8924685B2/en active Active
-
2011
- 2011-04-27 CN CN201180023081.1A patent/CN102884506B/zh active Active
- 2011-04-27 CN CN201510062160.3A patent/CN104598398B/zh active Active
- 2011-04-27 KR KR1020127032413A patent/KR101429969B1/ko active IP Right Grant
- 2011-04-27 WO PCT/US2011/034095 patent/WO2011142967A1/en active Application Filing
- 2011-04-27 JP JP2013510119A patent/JP5685643B2/ja active Active
- 2011-04-27 BR BR112012028622-6A patent/BR112012028622B1/pt active IP Right Grant
- 2011-04-27 EP EP11722646.4A patent/EP2569695B1/en active Active
- 2011-05-11 TW TW100116570A patent/TWI448893B/zh active
-
2014
- 2014-11-14 JP JP2014231747A patent/JP2015043235A/ja active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05216809A (ja) * | 1992-02-06 | 1993-08-27 | Nec Corp | Dma転送方式 |
US20080222383A1 (en) | 2007-03-09 | 2008-09-11 | Spracklen Lawrence A | Efficient On-Chip Accelerator Interfaces to Reduce Software Overhead |
Also Published As
Publication number | Publication date |
---|---|
CN102884506B (zh) | 2015-04-15 |
TWI448893B (zh) | 2014-08-11 |
JP5685643B2 (ja) | 2015-03-18 |
US8924685B2 (en) | 2014-12-30 |
EP2569695A1 (en) | 2013-03-20 |
CN104598398A (zh) | 2015-05-06 |
WO2011142967A1 (en) | 2011-11-17 |
TW201209583A (en) | 2012-03-01 |
CN102884506A (zh) | 2013-01-16 |
CN104598398B (zh) | 2017-10-31 |
EP2569695B1 (en) | 2017-10-25 |
BR112012028622B1 (pt) | 2020-10-13 |
JP2013530452A (ja) | 2013-07-25 |
BR112012028622A2 (pt) | 2018-05-15 |
US20110283083A1 (en) | 2011-11-17 |
KR20130018323A (ko) | 2013-02-20 |
JP2015043235A (ja) | 2015-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9239799B2 (en) | Memory management unit directed access to system interfaces | |
RU2409837C2 (ru) | Система и способ подсчета начальных нулевых разрядов и подсчета начальных единичных разрядов в цифровом процессоре сигналов | |
KR101812727B1 (ko) | 다수의 하이퍼바이저들을 실행하는 시스템들 및 방법들 | |
EP2591420B1 (en) | System and method to manage a translation lookaside buffer | |
CN116244067B (zh) | 虚拟内存管理方法和电子设备 | |
KR101429969B1 (ko) | 데이터 값들을 변환 및 저장하기 위한 명령들을 이용하여 써로게이트 메모리 액세싱 에이전트들을 구성하는 방법 | |
WO2015138949A1 (en) | Systems and methods for supporting demand paging for subsystems in a portable computing environment with restricted memory resources | |
US8117420B2 (en) | Buffer management structure with selective flush | |
JP6386099B2 (ja) | 圧縮支援のための方法、装置、コンピュータプログラム及び記憶媒体 | |
WO2017014914A1 (en) | Address translation and data pre-fetch in a cache memory system | |
WO2019196634A1 (zh) | 数据处理方法及装置 | |
KR101226412B1 (ko) | 미디어 데이터의 다수의 스트림을 결합하는 시스템, 방법 또는 장치 | |
KR101239272B1 (ko) | 하드웨어 프리페치 어드레스 및 산술 연산 값을 계산하기 위한 듀얼 함수 가산기 | |
AU2014200057A1 (en) | Apparatus and method of converting address and data of memory in a terminal | |
WO2022042245A1 (zh) | 确定物理地址的方法及芯片系统 | |
US9135036B2 (en) | Method and system for reducing communication during video processing utilizing merge buffering | |
WO2018077219A1 (zh) | 内存管理方法及系统 | |
JP2008134893A (ja) | 集積回路装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170629 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180628 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190624 Year of fee payment: 6 |