KR20180050849A - 전자 장치 및 메모리 액세스 방법 - Google Patents

전자 장치 및 메모리 액세스 방법 Download PDF

Info

Publication number
KR20180050849A
KR20180050849A KR1020160147379A KR20160147379A KR20180050849A KR 20180050849 A KR20180050849 A KR 20180050849A KR 1020160147379 A KR1020160147379 A KR 1020160147379A KR 20160147379 A KR20160147379 A KR 20160147379A KR 20180050849 A KR20180050849 A KR 20180050849A
Authority
KR
South Korea
Prior art keywords
memory
address
virtual
virtual memory
columns
Prior art date
Application number
KR1020160147379A
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 삼성전자주식회사
Priority to KR1020160147379A priority Critical patent/KR20180050849A/ko
Priority to US15/667,190 priority patent/US20180129603A1/en
Publication of KR20180050849A publication Critical patent/KR20180050849A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1045Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache
    • G06F12/1063Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] associated with a data cache the data cache being concurrently virtually addressed
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)

Abstract

전자 장치가 개시된다. 본 전자 장치는 기설정된 크기의 데이터 비트로 구성되는 복수의 메모리 열과 복수의 메모리 열 각각에 대한 가상 메모리 주소를 나타내는 복수의 태그를 포함하는 휘발성 메모리, 및 가상 메모리 주소로 동작하며, 가상 메모리 주소로 휘발성 메모리를 액세스하는 프로세서 코어를 포함한다.

Description

전자 장치 및 메모리 액세스 방법{ELECTRONIC APPARATUS AND METHOD FOR ACCESS MEMORY}
본 개시는 전자 장치 및 메모리 액세스 방법에 관한 것으로, 보다 상세하게는 주소 변환 테이블의 이용 없이 가상 메모리 주소로 메모리를 액세스할 수 있는 전자 장치 및 메모리 액세스 방법에 관한 것이다.
전자 장치는 운용체제의 구동을 위한 휘발성 메모리가 구비된다. 휘발성 메모리에 데이터를 읽고 쓰기 위해서는 물리 주소를 이용하는데, 물리 주소 공간만으로는 메인 메모리의 크기보다 용량이 큰 프로그램은 메모리에 적재할 수 없으므로, 용량이 큰 프로그램의 실행이 불가능하다.
그러나 프로그램은 프로세서에서 순차적으로 실행이 되므로, 프로세서가 필요로 하는 프로그램의 코드는 한 시점에 일부만 메모리에 존재하면 충분하다. 이러한 점에서, 상술한 제약을 극복하기 위하여 가상주소를 사용하는 시스템이 널리 사용되고 있다.
가상주소를 사용하는 시스템에서는 메모리를 액세스하기 위해서 가상주소를 물리주소로 변환하는 작업이 필요한데, 기존에는 가상주소와 물리주소가 매핑된 변환 테이블을 이용하여 상술한 변환 작업을 수행하였다.
그러나 이러한 변환 테이블은 메모리에 저장되는바, 즉 실제 메모리 공간을 차지하기 때문에 메모리 오버헤드가 발생하며, 특히 주소 변환 때마다 변환 테이블 워킹을 위한 메모리 액세스가 필요한 문제점이 있었다.
따라서, 본 개시의 목적은 주소 변환 테이블의 이용 없이 가상 메모리 주소로 메모리를 액세스할 수 있는 전자 장치 및 메모리 액세스 방법을 제공하는 데 있다.
이상과 같은 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 기설정된 크기의 데이터 비트로 구성되는 복수의 메모리 열과 상기 복수의 메모리 열 각각에 대한 가상 메모리 주소를 나타내는 복수의 태그를 포함하는 휘발성 메모리, 및 가상 메모리 주소로 동작하며, 가상 메모리 주소로 상기 휘발성 메모리를 액세스하는 프로세서 코어를 포함한다.
이 경우, 상기 휘발성 메모리는 가상 메모리 주소를 수신하면 상기 수신된 가상 메모리 주소를 갖는 태그를 검색하고, 상기 검색된 태그에 대응되는 메모리 열의 데이터 값을 읽거나 상기 메모리 열에 새로운 데이터 값을 기록할 수 있다.
한편, 상기 휘발성 메모리는 연속 배치된 메모리 열이 연속된 가상 메모리 주소를 갖도록, 상기 연속 배치된 메모리 열에 대응되는 복수의 태그에 상기 연속된 가상 메모리 주소를 저장할 수 있다.
한편, 상기 프로세서 코어는 상기 전자 장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 기능 코어, 상기 기능 코어가 요청한 가상 메모리 주소를 이용하여 상기 휘발성 메모리로 접근을 수행하는 DMA, 및 상기 복수의 메모리 열 각각에 가상 메모리 주소를 할당하고, 상기 복수의 메모리 열 각각에 할당된 가상 메모리 주소를 상기 복수의 메모리 열 각각에 대응되는 복수의 태그에 저장하는 메모리 관리 장치를 포함할 수 있다.
이 경우, 상기 메모리 관리 장치는 연속 배치된 메모리 열이 연속된 가상 메모리 주소를 갖도록, 상기 연속 배치된 메모리 열에 대응되는 복수의 태그에 상기 연속된 가상 메모리 주소를 저장할 수 있다.
한편, 상기 메모리 관리 장치는 상기 메모리 열의 개수에 대응되는 제1 가상 메모리 주소 또는 상기 메모리 열의 개수보다 큰 제2 가상 메모리 주소를 선택적으로 상기 복수의 메모리 열 각각에 할당할 수 있다.
이 경우, 상기 제2 가상 메모리 주소는, 보안 데이터를 저장하기 위한 주소일 수 있다.
한편, 상기 복수의 메모리 열은 DRAM일 수 있다.
한편, 상기 휘발성 메모리는 복수개 구비되며, 상기 프로세서 코어는 복수의 휘발성 메모리 중 가상 메모리 주소에 대응되는 휘발성 메모리로 접근을 수행할 수 있다.
한편, 본 전자 장치는 가상 메모리 주소로 동작하며, 가상 메모리 주소로 상기 휘발성 메모리를 액세스하는 I/O 로직을 더 포함할 수 있다.
한편, 본 개시의 일 실시 예에 따른 메모리 액세스 방법은 기설정된 크기의 데이터 비트로 구성되는 복수의 메모리 열과 상기 복수의 메모리 열 각각에 대한 가상 메모리 주소를 나타내는 복수의 태그를 포함하는 휘발성 메모리에 대한 액세스를 가상 메모리 주소로 요청받는 단계, 상기 복수의 태그 중 상기 요청된 가상 메모리 주소에 대응되는 태그를 검색하는 단계, 및 상기 검색된 태그에 연결된 메모리 열로 접근을 수행하는 단계를 포함한다.
이 경우, 본 메모리 액세스 방법은 상기 메모리 열에 접근하여 데이터 값을 읽고, 읽어진 데이터 값을 출력하는 단계를 더 포함할 수 있다.
한편, 본 메모리 액세스 방법은 상기 메모리 열에 접근하여 수신된 데이터 값을 기록하는 단계를 더 포함할 수 있다.
한편, 본 메모리 액세스 방법은 상기 복수의 메모리 열 각각에 할당된 가상 메모리 주소를 상기 복수의 메모리 열 각각에 대응되는 복수의 태그에 저장하는 단계를 더 포함할 수 있다.
한편, 본 메모리 액세스 방법은 연속 배치된 메모리 열이 연속된 가상 메모리 주소를 갖도록, 상기 연속 배치된 메모리 열에 대응되는 복수의 태그에 상기 연속된 가상 메모리 주소를 저장하는 단계를 더 포함할 수 있다.
한편, 상기 가상 메모리 주소를 저장하는 단계는, 상기 메모리 열의 개수에 대응되는 제1 가상 메모리 주소 또는 상기 메모리 열의 개수보다 큰 제2 가상 메모리 주소를 선택적으로 상기 복수의 메모리 열 각각에 할당할 수 있다.
이 경우, 상기 제2 가상 메모리 주소는 보안 데이터를 저장하기 위한 주소일 수 있다.
한편, 상기 요청받는 단계는 DMA(Direct Memory Access)를 통해 상기 휘발성 메모리에 대한 액세스를 요청받을 수 있다.
한편, 본 개시의 메모리 액세스 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서, 상기 메모리 액세스 방법은, 기설정된 크기의 데이터 비트로 구성되는 복수의 메모리 열과 상기 복수의 메모리 열 각각에 대한 가상 메모리 주소를 나타내는 복수의 태그를 포함하는 휘발성 메모리에 대한 액세스를 가상 메모리 주소로 요청받는 단계, 상기 복수의 태그 중 상기 요청된 가상 메모리 주소에 대응되는 태그를 검색하는 단계, 및, 상기 검색된 태그에 연결된 메모리 열로 접근을 수행하는 단계를 포함한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 간략한 구성을 나타내는 블럭도,
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 나타내는 블럭도,
도 3은 도 1의 프로세서 코어의 구체적인 동작을 설명하기 위한 도면,
도 4는 본 개시의 일 실시 예에 따른 휘발성 메모리의 구성을 설명하기 위한 도면,
도 5는 제1 실시 예에 따른 태그 영역과 실제 주소 영역 간의 관계를 설명하는 도면,
도 6은 제2 실시 예에 따른 태그 영역과 실제 주소 영역 간의 관계를 설명하는 도면,
도 7은 메모리의 데이터를 독취할 때의 동작을 설명하기 위한 타이밍도,
도 8은 태그 영역을 가변하기 위한 동작을 설명하기 위한 타이밍도,
도 9는 본 개시의 일 실시 예에 따른 메모리 액세스 방법을 설명하기 위한 흐름도, 그리고,
도 10은 본 개시의 일 실시 예에 따른 동적 주소 매핑 방법을 설명하기 위한 흐름도이다.
본 실시예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다." 또는 "구성되다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
실시예에 있어서 ‘모듈’ 혹은 ‘부’는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 ‘모듈’ 혹은 복수의 ‘부’는 특정한 하드웨어로 구현될 필요가 있는 ‘모듈’ 혹은 ‘부’를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
이하에서, 첨부된 도면을 이용하여 본 개시에 대하여 구체적으로 설명한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 간략한 구성을 나타내는 블럭도이다.
도 1을 참조하면, 전자 장치(100)는 휘발성 메모리(110)와 프로세서 코어(120)로 구성된다.
휘발성 메모리(110)는 전자 장치(100)의 기능 수행에 필요한 데이터를 저장한다. 그리고 휘발성 메모리(110)는 기설정된 크기의 데이터 비트로 구성되는 복수의 메모리 열과 복수의 메모리 열 각각에 대한 가상 메모리 주소를 나타내는 복수의 태그를 포함한다.
그리고 휘발성 메모리(110)는 가상 메모리 주소를 수신하면 수신된 가상 메모리 주소를 갖는 태그를 검색하고, 검색된 태그에 대응되는 메모리 열의 데이터 값을 읽거나, 검색된 태그에 대응되는 메모리 열에 새로운 데이터 값을 기록할 수 있다. 이러한 휘발성 메모리(110)의 구체적인 구성에 대해서는 도 4를 참조하여 후술한다.
프로세서 코어(120)는 전자 장치(100) 내의 각 구성에 대한 제어를 수행한다. 구체적으로, 프로세서 코어(120)는 가상 메모리 주소로 동작하며, 휘발성 메모리(110)에 데이터를 기록하거나, 휘발성 메모리(110)에 기록된 데이터를 읽을 때 가상 메모리 주소로 액세스를 수행한다.
그리고 프로세서 코어(120)는 휘발성 메모리(110) 내의 복수의 태그에 가상 메모리 주소를 저장할 수 있다. 구체적으로, 프로세서 코어(120)는 휘발성 메모리(110)를 구성하는 복수의 메모리 열 각각에 가상 메모리 주소를 할당할 수 있다. 이러한 할당 동작은 초기 할당시뿐만 아니라 새로운 작업에 대응하여 동적으로 수행될 수 있다.
그리고 프로세서 코어(120)는 메모리 열의 개수에 대응되는 제1 가상 메모리 주소 또는 메모리 열의 개수보다 큰 수의 제2 가상 메모리 주소를 선택적으로 복수의 메모리 열 각각에 할당할 수 있다.
예를 들어, 프로세서 코어(120)는 일반 데이터가 저장될 메모리 열에는 제1 가상 메모리 주소를 할당하고, 보안 데이터가 저장된 메모리 열에는 제2 가상 메모리 주소를 할당할 수 있다. 또는 프로세서 코어(120)는 일반 데이터가 저장된 메모리 열에는 제1 가상 메모리 주소를 할당하고, 대용량 데이터가 저장될 메모리 열에는 제2 가상 메모리주소를 할당할 수 있다. 또는 프로세서 코어(120)는 주기적으로 제1 시점까지는 제1 가상 메모리 주소를 할당하고, 제1 시점 이후에 새로운 메모리 할당 시에는 제2 가상 메모리 주소를 할당할 수 있다.
그리고 프로세서 코어(120)는 복수의 메모리 열 각각에 할당된 가상 메모리 주소를 복수의 메모리 열 각각에 대응되는 복수의 태그에 저장할 수 있다.
그리고 프로세서 코어(120)는 복수의 메모리 열 중 연속 배치된 일부 열이 연속된 가상 메모리 주소를 갖도록, 즉, 메모리 압축을 위하여, 연속 배치된 메모리 열에 대응되는 복수의 태그에 연속된 가상 메모리 주소를 저장할 수 있다. 이와 같은 메모리 압축은 기설정된 주기 단위로 수행될 수 있으며, 메모리의 단편화가 기설정된 이상 발생한 경우에 수행될 수도 있다.
이상에서는 전자 장치(100)의 간략한 구성만을 설명하였으나, 전자 장치(100)는 도 2에 도시된 바와 같은 구성을 추가 포함할 수 있다. 전자 장치(100)의 구체적인 구성에 대해서는 도 2를 참조하여 이하에서 설명한다.
도 2는 본 개시의 일 실시 예에 따른 전자 장치의 구체적인 구성을 나타내는 블럭도이다.
도 2를 참조하면, 본 실시 예에 따른 전자 장치(100)는 디스플레이 장치일 수 있으며, 프로세서(130, 또는 제어부), 방송 수신부(140), 신호 분리부(145), A/V 처리부(150), 오디오 출력부(155), 영상 신호 생성부(160), 저장부(165), 통신부(170), 조작부(175), 센서부(180) 및 디스플레이(190)를 포함할 수 있다.
프로세서(130, 또는 제어부)는 전자 장치(100)의 전반적인 동작을 제어한다. 구체적으로, 프로세서(130)는 조작부(175)를 통하여 입력받은 제어 명령에 따른 영상이 표시되도록 전자 장치(100)의 각 내부의 구성을 제어할 수 있다.
이러한 프로세서(130)는 휘발성 메모리(110), 프로세서 코어(120), 롬(131), GPU(Graphic Processing Unit)(133) 및 버스를 포함할 수 있다. 휘발성 메모리(110), 프로세서 코어(120), 롬(131), GPU(Graphic Processing Unit)(133) 등은 버스를 통해 서로 연결될 수 있다.
프로세서 코어(120)는 CPU일 수 있다. 프로세서 코어(120)의 구체적인 동작은 도 1과 관련하여 설명하였는바, 중복 설명은 생략한다.
롬(ROM)(131)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 프로세서 코어(120)는 롬(131)에 저장된 명령에 따라 저장부(165)에 저장된 운영체제(O/S)를 휘발성 메모리(110)에 복사하고, 운영체제를 실행시켜 시스템을 부팅시킨다.
그리고 프로세서 코어(120)는 부팅이 완료되면, 저장부(165)에 저장된 각종 프로그램을 휘발성 메모리(110)에 복사하고, 휘발성 메모리(110)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다.
GPU(132)는 전자 장치(100)의 부팅이 완료되면, 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성할 수 있다. 구체적으로, GPU(132)는 전자 장치(100)가 제2 동작 모드로 동작하는 경우, 배경 영상에 기설정된 오브젝트를 포함하는 화면을 생성할 수 있다. 또한, GPU(132)는 표시된 오브젝트에 대응되는 그림자 오브젝트 및/또는 전자 장치(100)의 프레임에 대응되는 그림자 오브젝트를 포함하는 화면을 생성할 수 있다.
이러한, GPU 구성은 영상 신호 생성부(160)와 같은 별도의 구성으로 구성될 수 있으며, 프로세서(130) 내의 CPU와 결합된 SoC와 같은 구성으로 구현될 수도 있다.
그리고 GPU(132)는 휘발성 메모리(110)의 메모리 영역을 이용하여 동작할 수 있다. 이때, GPU(132)는 가상 메모리 주소를 이용하여 휘발성 메모리(110)에 대한 액세스를 수행할 수 있다.
한편, 프로세서 코어 이외에 휘발성 메모리(110)를 이용하는 장치를 I/O 로직으로 지칭할 수 있으며, 상술한 GPU뿐만 아니라 영상 처리 DSP, 화상 코덱, 마이컴 등이 I/O 로직일 수 있다.
방송 수신부(140)는 방송국 또는 위성으로부터 유선 또는 무선으로 방송을 수신하여 복조한다. 구체적으로, 방송 수신부(140)는 안테나 또는 케이블을 통하여 전송 스트림을 수신하고 복조하여 디지털 전송 스트림 신호를 출력할 수 있다.
신호 분리부(145)는 방송 수신부(140)에서 제공된 전송 스트림 신호를 영상 신호, 오디오 신호, 부가정보 신호로 분리한다. 그리고 신호 분리부(145)는 영상 신호 및 오디오 신호를 A/V 처리부(150)로 전송한다.
A/V 처리부(150)는 방송 수신부(140) 및 저장부(165)로부터 입력된 영상 신호 및 오디오 신호에 대해 비디오 디코딩, 비디오 스케일링, 오디오 디코딩 등의 신호처리를 수행한다. 그리고 A/V 처리부(150)는 영상 신호를 영상 신호 제공부(160)로 출력하고, 오디오 신호를 오디오 출력부(155)로 출력한다.
반면, 수신된 영상 및 오디오 신호를 저장부(165)에 저장하는 경우, A/V 처리부(150)는 영상과 오디오를 압축된 형태로 저장부(165)에 출력할 수 있다.
오디오 출력부(155)는 A/V 처리부(150)에서 출력되는 오디오 신호를 사운드로 변환하여 스피커(미도시)를 통해 출력시키거나, 외부 출력단자(미도시)를 통해 연결된 외부기기로 출력한다.
영상 신호 제공부(160)는 사용자에게 제공하기 위한 GUI(Graphic User Interface)를 생성한다. 그리고 영상 신호 제공부(160)는 생성된 GUI를 A/V 처리부(150)에서 출력된 영상에 부가한다. 그리고 영상 신호 제공부(160)는 GUI가 부가된 영상에 대응되는 영상 신호를 디스플레이(190)에 제공한다. 이에 따라, 디스플레이(190)는 전자 장치(100)에서 제공하는 각종 정보 및 영상 신호 제공부(160)에서 전달된 영상을 표시한다.
그리고 영상 신호 제공부(160)는 A/V 처리부(150)에서 출력된 영상과 GPU(132)에서 생성한 영상을 결합하여 출력할 수 있다. 구체적으로, 영상 신호 제공부(160)는 배경 이미지를 하나의 레이어로 입력받고, A/V 처리부(150)에서 생성된 영상을 다른 레이어로 입력받고, 두 레이어 중 하나를 출력하거나 두 레이어를 합성(또는 머징)하여 디스플레이(190)에 제공할 수 있다.
그리고 영상 신호 제공부(160)는 영상 신호에 대응되는 밝기 정보 추출하고, 추출된 밝기 정보에 대응되는 하나의 디밍 신호를 생성할 수 있다.
그리고 저장부(165)는 영상 컨텐츠를 저장할 수 있다. 구체적으로, 저장부(165)는 A/V 처리부(150)로부터 영상과 오디오가 압축된 영상 컨텐츠를 제공받아 저장할 수 있으며, 프로세서(130)의 제어에 따라 저장된 영상 컨텐츠를 A/V 처리부(150)에 출력할 수 있다. 한편, 저장부(165)는 하드디스크, 비휘발성 메모리, 휘발성 메모리 등으로 구현될 수 있다.
통신부(170)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행하는 구성이다. 통신부(1700)는 와이파이칩(331), 블루투스 칩(332)을 포함할 수 있다. 프로세서(130)는 통신부(170)를 이용하여 각종 외부 기기와 통신을 수행할 수 있다. 구체적으로, 통신부(170)는 전자 장치(100)를 제어할 수 있는 제어 단말장치(예를 들어, 리모컨)로부터 제어 명령을 수신할 수 있다.
그 밖에, 도 2에 도시하지는 않았으나, 실시 예에 따라서는, 통신부(170)는 USB 커넥터가 연결될 수 있는 USB 포트나, 헤드셋, 마우스, LAN 등과 같은 다양한 외부 단자와 연결하기 위한 다양한 외부 입력 포트, DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 DMB 칩 등을 더 포함할 수 있음은 물론이다.
조작부(175)는 터치 스크린, 터치패드, 키 버튼, 키패드 등으로 구현되어, 전자 장치(100)의 사용자 조작을 제공한다. 본 실시 예에서는 전자 장치(100)에 구비된 조작부(175)를 통하여 제어 명령을 입력받는 예를 설명하였지만, 조작부(175)는 외부 제어 장치(예를 들어, 리모컨)로부터 사용자 조작을 입력받을 수도 있다.
센서부(180)는 전자 장치의 주변 환경을 감지한다. 구체적으로, 센서부(180)는 디스플레이 장치가 위치하는 주변의 밝기 상태를 감지하거나, 전자 장치 앞에 사용자가 위치하는지를 감지할 수도 있다.
디스플레이(190)는 전자 장치(100)에서 제공하는 각종 정보를 표시한다. 구체적으로, 디스플레이(190)는 전자 장치(100)가 제공하는 각종 기능을 선택받기 위한 사용자 인터페이스 창 또는 영상 신호 생성부(160)에서 제공된 영상을 표시할 수 있다. 이러한 디스플레이(190)는 LCD, CRT, OLED 등과 같은 모니터일 수 있으며, 후술할 조작부(175)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다.
이상과 같이 본 실시 예에 따른 전자 장치(100)는 프로세서 코어는 가상 메모리 주소만으로 휘발성 메모리의 액세스가 가능한바, 프로세서 코어 측에서 가상 메모리 주소를 물리 메모리 주소로 변환하는 작업이 불필요하며 그에 따라 주소 변환에 필요한 변환 테이블도 불필요하다. 따라서, 본 실시 예에 따른 전자 장치(100)는 변환 테이블을 휘발성 메모리에 저장할 필요가 없는 바, 휘발성 메모리의 저장 공간이 확장되는 효과가 있다. 또한, 프로세서 코어에서 주소 변환을 수행하지 않는바, 주소 변환에 필요한 메모리 액세스가 필요 없게 되어 메모리 오버헤드를 경감할 수 있다.
도 1 및 도 2를 설명함에 있어서, 메모리 압축 동작이 프로세서 코어(120) 측에서 수행하는 것으로 설명하였지만, 휘발성 메모리에 제어 로직을 추가 구비하여 휘발성 메모리 자체에서 메모리 압축 동작을 수행할 수도 있다.
또한, 도 1 및 도 2를 설명함에 있어서, 전자 장치(100)에 하나의 휘발성 메모리가 포함되는 것으로 설명하였지만, 구현시에는 전자 장치(100) 내에서는 복수의 휘발성 메모리가 포함될 수도 있다.
도 3은 도 1의 프로세서 코어의 구체적인 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 프로세서 코어(120)는 DMA(121), 주소 관리 장치(122), 기능 코어(123)로 구성된다.
DMA(121)는 휘발성 메모리(110)와 데이터를 주고받는다. 구체적으로, DMA(121)는 기능 코어(123)가 요청한 가상 메모리 주소를 이용하여 휘발성 메모리(110)로 접근을 수행할 수 있다.
주소관리장치(122)는 휘발성 메모리(110) 내의 복수의 메모리 열 각각에 가상 메모리 주소를 할당하고, 복수의 메모리 열 각각에 할당된 가상 메모리 주소를 복수의 메모리 열 각각에 대응되는 복수의 태그에 저장한다. 이러한 할당 동작은 초기 할당시 뿐만 아니라 새로운 작업에 대응하여 동적으로 수행될 수 있다.
그리고 주소관리장치(122)는 메모리 열의 개수에 대응되는 제1 가상 메모리 주소 또는 메모리 열의 개수보다 큰 수의 제2 가상 메모리 주소를 선택적으로 복수의 메모리 열 각각에 할당할 수 있다.
예를 들어, 주소관리장치(122)는 일반 데이터가 저장될 메모리 열에는 제1 가상 메모리 주소를 할당하고, 보안 데이터가 저장된 메모리 열에는 제2 가상 메모리 주소를 할당할 수 있다. 또는 주소관리장치(122)는 일반 데이터가 저장된 메모리 열에는 제1 가상 메모리 주소를 할당하고, 대용량 데이터가 저장될 메모리 열에는 제2 가상 메모리주소를 할당할 수 있다. 또는 주소관리장치(122)는 주기적으로 제1 시점까지는 제1 가상 메모리 주소를 할당하고, 제1 시점 이후에 새로운 메모리 할당 시에는 제2 가상 메모리 주소를 할당할 수 있다.
그리고 주소관리장치(122)는 복수의 메모리 열 각각에 할당된 가상 메모리 주소를 복수의 메모리 열 각각에 대응되는 복수의 태그에 저장할 수 있다.
그리고 주소관리장치(122)는 복수의 메모리 열 중 연속 배치된 일부 열이 연속된 가상 메모리 주소를 갖도록, 즉, 메모리 압축을 위하여, 연속 배치된 메모리 열에 대응되는 복수의 태그에 연속된 가상 메모리 주소를 저장할 수 있다. 이와 같은 메모리 압축은 기설정된 주기 단위로 수행될 수 있으며, 메모리의 단편화가 기설정된 이상 발생한 경우에 수행될 수도 있다.
기능 코어(123)는 전자 장치(100)가 지원하는 기능 중 적어도 하나의 특별한 기능을 제어하는 프로세서 코어로, 휘발성 메모리(110)에 저장된 데이터를 가공, 처리하는 역할을 수행한다. 구체적으로, 본 실시 예에 따른 기능 코어(123)는 가상 메모리 주소를 기반으로 동작한다. 따라서, 기능 코어(123)는 가상 메모리 주소로 동작하며, 휘발성 메모리(110)에 데이터를 기록하거나, 휘발성 메모리(110)에 기록된 데이터를 읽을 때 가상 메모리 주소로 액세스를 수행한다.
도 4는 본 개시의 일 실시 예에 따른 휘발성 메모리의 구성을 설명하기 위한 도면이다.
도 4를 참조하면, 휘발성 메모리(110)는 복수의 태그(111), 복수의 메모리 열(112), 출력단(113)로 구성될 수 있다.
복수의 메모리 열(112)은 기설정된 크기의 데이터 비트가 열 단위로 배치된다. 이러한 복수의 메모리 열(112)은 DRAM일 수 있다.
복수의 태그(111) 각각은 복수의 메모리 열에 연결되며, 메모리 열 각각에 대한 가상 메모리 주소를 저장한다.
한편, 구현시에 본 개시에 따른 휘발성 메모리(110)는 연상 메모리(associative memory)(또는 CAM, contents address memory)로 구현될 수 있다. 예를 들어, 연상 메모리를 구성하는 각 열 중 일부 비트는 태그가 저장되는 영역으로 이용하여, 나머지 비트는 상술한 메모리 열로 이용할 수 있다. 또는 연상 메모리와 DRAM을 결합하는 형태로도 구현할 수 있다.
출력단(113)은 메모리 열에 기록된 데이터를 출력하는 출력단으로 버퍼로 구성될 수 있다.
한편, 도 4를 설명함에 있어서, 휘발성 메모리가 하나의 구성으로 구현되는 것으로 설명하였지만, 일반적으로 휘발성 메모리는 뱅크(또는 랭크) 단위로 형성되는 경우가 있는바, 상술한 바와 같은 휘발성 메모리는 복수개로 구성될 수 있다. 예를 들어, 복수의 휘발성 메모리 각각이 복수의 뱅크로 구성될 수 있으며, 하나의 뱅크가 복수의 휘발성 메모리로 구성될 수 있으며, 복수의 뱅크 각각이 복수의 휘발성 메모리로 구성되는 형태 등 다양한 형태로 구현될 수 있다.
한편, 복수의 뱅크는 개별적으로 액세스 될 수 있는바, 하나의 뱅크를 구성하는 복수의 휘발성 메모리의 복수의 태그는 하나의 단위로 관리될 수 있다. 예를 들어, 하나의 휘발성 메모리가 1024개의 열을 갖는 갖고 하나의 뱅크가 4개의 휘발성 메모리로 구성된되는 경우, 하나의 뱅크는 0~4095의 물리 주소를 가질 수 있다.
도 5는 제1 실시 예에 따른 태그 영역과 실제 주소 영역 간의 관계를 설명하는 도면이다.
도 5를 참조하면, 복수의 메모리 열 각각에는 물리 주소 하나와 가상 주소 하나가 매핑된다. 여기서 물리 주소는 메모리 열을 실제 주소이고, 가상 주소는 해당 메모리 열에 저장된 데이터에 부여된 가상 주소로, 가상 주소는 태그에 저장된다.
한편, 이상에서는 하나의 메모리 열에 대해서 하나의 가상 주소만이 부여되는 것으로 설명하였지만, 구현시에는 하나의 메모리 열에 대해서는 두 개의 가상 주소가 부여될 수 있다. 이에 대해서는 도 6을 참조하여 후술한다.
도 6은 제2 실시 예에 따른 태그 영역과 실제 주소 영역 간의 관계를 설명하는 도면이다.
도 6을 참조하면, 하나의 물리 주소에 대해서 두 종류의 가상 주소가 매핑되어 있는 것을 확인할 수 있다. 그러나 태그에는 두 종류의 가상 주소 중 하나만 저장된다.
이와 같이 두 종류의 가상 주소를 이용함으로써, 데이터 열에 저장된 데이터가 보안 데이터인지를 나타내거나, 기설정된 시점 이후에 저장된 데이터인지 등의 식별이 가능하다.
도 7은 메모리의 데이터를 독취할 때의 동작을 설명하기 위한 타이밍도이다.
도 7을 참조하면, ACT(Row activation)이 가상 주소(ROW)와 함께 전송되고, COLw(Column Write) 구간에 col 주소가 입력된 후 row array에 데이터가 입력된다. 이와 같은 동작은 주소에 물리 주소가 아닌 가상 주소가 이용된다는 점을 제외하고 기존의 메모리 독취 방식과 동일하다.
도 8은 태그 영역을 가변하기 위한 동작을 설명하기 위한 타이밍도이다.
도 8을 참조하면, ACT(Row activation)이 물리 주소(ROW)와 함께 전송되고, 이후 연속적으로 ACT(Row activation)와 가상 주소가 전송된다. 이에 따라 앞서 보내진 물리 주소에 대응되는 태그에 후속으로 보내진 가상 주소가 기록된다.
도 9는 본 개시의 일 실시 예에 따른 메모리 액세스 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 먼저, 휘발성 메모리에 대한 액세스를 가상 메모리 주소로 요청받는다(S910). 구체적으로, 휘발성 메모리는 기능 I/O로부터 DMA 방식으로 액세스 요청을 받거나 프로세서 코어로부터 액세스 요청을 받을 수 있다.
그리고 복수의 태그 중 요청된 가상 메모리 주소에 대응되는 태그를 검색한다(S920).
그리고 검색된 태그에 연결된 메모리 열로 접근을 수행한다(S930). 구체적으로, 메모리 열에 접근하여 데이터 값을 읽고, 읽어진 데이터 값을 출력하거나, 메모리 열에 접근하여 수신된 데이터 값을 기록할 수 있다.
이상과 같이 본 실시 예에 따른 메모리 액세스 방법은, 프로세서 코어에서 가상 메모리 주소만으로 휘발성 메모리의 액세스가 가능한바, 프로세서 코어 측에서 가상 메모리 주소를 물리 메모리 주소로 변환하는 작업이 불필요하며 그에 따라 주소 변환에 필요한 변환 테이블도 불필요하다. 따라서, 본 실시 예에 따른 메모리 액세스 방법은 변환 테이블을 휘발성 메모리에 저장할 필요가 없는 바, 휘발성 메모리의 저장 공간이 확장되는 효과가 있다. 또한, 본 실시 예에 따른 메모리 액세스 방법은 프로세서 코어에서 주소 변환을 수행하지 않는바, 주소 변환에 필요한 메모리 액세스가 필요 없게 되어 메모리 오버헤드를 경감할 수 있다. 도 9와 같은 디스플레이 방법은 도 1 또는 도 2의 구성을 가지는 전자 장치상에서 실행될 수 있으며, 그 밖의 구성을 가지는 전자 장치 장치 상에서도 실행될 수 있다.
한편, 상술한 다양한 실시 예에 따른 메모리 액세스 방법은 프로그램으로 구현되어 전자 장치에 제공될 수 있다. 특히, 메모리 액세스 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
도 10은 본 개시의 일 실시 예에 따른 동적 주소 매핑 방법을 설명하기 위한 흐름도이다.
도 10을 참조하면, 먼저, 복수의 메모리 열 각각에 할당된 가상 메모리 주소를 복수의 메모리 열 각각에 대응되는 복수의 태그에 저장한다. 이때, 메모리 열의 개수에 대응되는 제1 가상 메모리 주소 또는 메모리 열의 개수보다 큰 제2 가상 메모리 주소를 선택적으로 복수의 메모리 열 각각에 할당하여 복수의 태그에 저장할 수도 있다.
이와 같이 복수의 태그에 가상 메모리 주소를 저장한 이후에 태그 주소 갱신이 필요한지를 판단한다(S1010). 구체적으로, 메모리 압축이 필요한지를 판단하고, 이러한 판단 여부는 일반적으로 널리 알려진 기술인바 구체적인 설명은 생략한다. 다만, 이러한 판단은 프로세서 코어 측에서 수행될 수 있을 뿐만 아니라 휘발성 메모리 측에서도 수행될 수 있다.
태그 주소 갱신이 필요하면(S1010-Y), 연속 배치된 메모리 열이 연속된 가상 메모리 주소를 갖도록, 연속 배치된 메모리 열에 대응되는 복수의 태그에 연속된 가상 메모리 주소를 저장한다(S1020).
이상과 같이 본 실시 예에 따른 동적 주소 매핑 방법은, 휘발성 메모리 내의 태그에 저장된 가상 메모리 주소만을 변경하여 동작 주소 매핑이 가능한바 주소 변환을 위한 접근 속도가 낮아지는 효과가 있다. 도 10과 같은 동적 주소 매핑 방법은 도 1 또는 도 2의 구성을 가지는 전자 장치상에서 실행될 수 있으며, 그 밖의 구성을 가지는 전자 장치 상에서도 실행될 수 있다.
한편, 상술한 다양한 실시 예에 따른 동적 주소 매핑 방법은 프로그램으로 구현되어 전자 장치에 제공될 수 있다. 특히, 동적 주소 매핑 방법을 포함하는 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안 될 것이다.
100: 전자 장치 110: 휘발성 메모리
120: 프로세서 코어 130: 프로세서
140: 방송 수신부 145: 신호 분리부
150: A/V 처리부 155: 오디오 출력부
160: 영상 신호 생성부 165: 저장부
170: 통신부 175: 조작부
180: 센서부

Claims (19)

  1. 전자 장치에 있어서,
    기설정된 크기의 데이터 비트로 구성되는 복수의 메모리 열과 상기 복수의 메모리 열 각각에 대한 가상 메모리 주소를 나타내는 복수의 태그를 포함하는 휘발성 메모리; 및
    가상 메모리 주소로 동작하며, 가상 메모리 주소로 상기 휘발성 메모리를 액세스하는 프로세서 코어;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 휘발성 메모리는,
    가상 메모리 주소를 수신하면 상기 수신된 가상 메모리 주소를 갖는 태그를 검색하고, 상기 검색된 태그에 대응되는 메모리 열의 데이터 값을 읽거나 상기 메모리 열에 새로운 데이터 값을 기록하는 전자 장치.
  3. 제1항에 있어서,
    상기 휘발성 메모리는,
    연속 배치된 메모리 열이 연속된 가상 메모리 주소를 갖도록, 상기 연속 배치된 메모리 열에 대응되는 복수의 태그에 상기 연속된 가상 메모리 주소를 저장하는 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서 코어는,
    상기 전자 장치가 수행하는 기능 중 적어도 하나의 기능을 제어하는 기능 코어;
    상기 기능 코어가 요청한 가상 메모리 주소를 이용하여 상기 휘발성 메모리로 접근을 수행하는 DMA; 및
    상기 복수의 메모리 열 각각에 가상 메모리 주소를 할당하고, 상기 복수의 메모리 열 각각에 할당된 가상 메모리 주소를 상기 복수의 메모리 열 각각에 대응되는 복수의 태그에 저장하는 메모리 관리 장치;를 포함하는 전자 장치.
  5. 제4항에 있어서,
    상기 메모리 관리 장치는,
    연속 배치된 메모리 열이 연속된 가상 메모리 주소를 갖도록, 상기 연속 배치된 메모리 열에 대응되는 복수의 태그에 상기 연속된 가상 메모리 주소를 저장하는 전자 장치.
  6. 제4항에 있어서,
    상기 메모리 관리 장치는,
    상기 메모리 열의 개수에 대응되는 제1 가상 메모리 주소 또는 상기 메모리 열의 개수보다 큰 제2 가상 메모리 주소를 선택적으로 상기 복수의 메모리 열 각각에 할당하는 전자 장치.
  7. 제6항에 있어서,
    상기 제2 가상 메모리 주소는,
    보안 데이터를 저장하기 위한 주소인 전자 장치.
  8. 제1항에 있어서,
    상기 복수의 메모리 열은 DRAM인 전자 장치.
  9. 제1항에 있어서,
    상기 휘발성 메모리는 복수개 구비되며,
    상기 프로세서 코어는,
    복수의 휘발성 메모리 중 가상 메모리 주소에 대응되는 휘발성 메모리로 접근을 수행하는 전자 장치.
  10. 제1항에 있어서,
    가상 메모리 주소로 동작하며, 가상 메모리 주소로 상기 휘발성 메모리를 액세스하는 I/O 로직;을 더 포함하는 전자 장치.
  11. 메모리 액세스 방법에 있어서,
    기설정된 크기의 데이터 비트로 구성되는 복수의 메모리 열과 상기 복수의 메모리 열 각각에 대한 가상 메모리 주소를 나타내는 복수의 태그를 포함하는 휘발성 메모리에 대한 액세스를 가상 메모리 주소로 요청받는 단계;
    상기 복수의 태그 중 상기 요청된 가상 메모리 주소에 대응되는 태그를 검색하는 단계; 및
    상기 검색된 태그에 연결된 메모리 열로 접근을 수행하는 단계;를 포함하는 메모리 액세스 방법.
  12. 제11항에 있어서,
    상기 메모리 열에 접근하여 데이터 값을 읽고, 읽어진 데이터 값을 출력하는 단계;를 더 포함하는 메모리 액세스 방법.
  13. 제11항에 있어서,
    상기 메모리 열에 접근하여 수신된 데이터 값을 기록하는 단계;를 더 포함하는 메모리 액세스 방법.
  14. 제11항에 있어서,
    상기 복수의 메모리 열 각각에 할당된 가상 메모리 주소를 상기 복수의 메모리 열 각각에 대응되는 복수의 태그에 저장하는 단계;를 더 포함하는 메모리 액세스 방법.
  15. 제11항에 있어서,
    연속 배치된 메모리 열이 연속된 가상 메모리 주소를 갖도록, 상기 연속 배치된 메모리 열에 대응되는 복수의 태그에 상기 연속된 가상 메모리 주소를 저장하는 단계;를 더 포함하는 메모리 액세스 방법.
  16. 제14항에 있어서,
    상기 가상 메모리 주소를 저장하는 단계는,
    상기 메모리 열의 개수에 대응되는 제1 가상 메모리 주소 또는 상기 메모리 열의 개수보다 큰 제2 가상 메모리 주소를 선택적으로 상기 복수의 메모리 열 각각에 할당하는 메모리 액세스 방법.
  17. 제16항에 있어서,
    상기 제2 가상 메모리 주소는,
    보안 데이터를 저장하기 위한 주소인 메모리 액세스 방법.
  18. 제11항에 있어서,
    상기 요청받는 단계는,
    DMA(Direct Memory Access)를 통해 상기 휘발성 메모리에 대한 액세스를 요청받는 메모리 액세스 방법.
  19. 메모리 액세스 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서,
    상기 메모리 액세스 방법은,
    기설정된 크기의 데이터 비트로 구성되는 복수의 메모리 열과 상기 복수의 메모리 열 각각에 대한 가상 메모리 주소를 나타내는 복수의 태그를 포함하는 휘발성 메모리에 대한 액세스를 가상 메모리 주소로 요청받는 단계;
    상기 복수의 태그 중 상기 요청된 가상 메모리 주소에 대응되는 태그를 검색하는 단계; 및
    상기 검색된 태그에 연결된 메모리 열로 접근을 수행하는 단계;를 포함하는 컴퓨터 판독가능 기록매체.
KR1020160147379A 2016-11-07 2016-11-07 전자 장치 및 메모리 액세스 방법 KR20180050849A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160147379A KR20180050849A (ko) 2016-11-07 2016-11-07 전자 장치 및 메모리 액세스 방법
US15/667,190 US20180129603A1 (en) 2016-11-07 2017-08-02 Electronic device and method for accessing memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160147379A KR20180050849A (ko) 2016-11-07 2016-11-07 전자 장치 및 메모리 액세스 방법

Publications (1)

Publication Number Publication Date
KR20180050849A true KR20180050849A (ko) 2018-05-16

Family

ID=62064637

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160147379A KR20180050849A (ko) 2016-11-07 2016-11-07 전자 장치 및 메모리 액세스 방법

Country Status (2)

Country Link
US (1) US20180129603A1 (ko)
KR (1) KR20180050849A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200354889A1 (en) * 2019-05-08 2020-11-12 Sanko Tekstil Isletmeleri San. Ve Tic. A.S. Method for changing the colour of a textile, fabric and garment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199151B1 (en) * 1998-06-05 2001-03-06 Intel Corporation Apparatus and method for storing a device row indicator for use in a subsequent page-miss memory cycle
US6226730B1 (en) * 1998-06-05 2001-05-01 Intel Corporation Achieving page hit memory cycles on a virtual address reference
CA2414861A1 (en) * 2002-12-20 2004-06-20 Cognos Incorporated Structure and method for sharing large databases
US7278008B1 (en) * 2004-01-30 2007-10-02 Nvidia Corporation Virtual address translation system with caching of variable-range translation clusters
US7254691B1 (en) * 2005-03-04 2007-08-07 Xilinx, Inc. Queuing and aligning data
US7802055B2 (en) * 2006-04-19 2010-09-21 Qualcomm Incorporated Virtually-tagged instruction cache with physically-tagged behavior
US7913055B2 (en) * 2006-11-04 2011-03-22 Virident Systems Inc. Seamless application access to hybrid main memory
US9558121B2 (en) * 2012-12-28 2017-01-31 Intel Corporation Two-level cache locking mechanism
US20140281366A1 (en) * 2013-03-15 2014-09-18 Cognitive Electronics, Inc. Address translation in a system using memory striping
US10007435B2 (en) * 2015-05-21 2018-06-26 Micron Technology, Inc. Translation lookaside buffer in memory

Also Published As

Publication number Publication date
US20180129603A1 (en) 2018-05-10

Similar Documents

Publication Publication Date Title
US20170177497A1 (en) Compressed caching of a logical-to-physical address table for nand-type flash memory
US20210349642A1 (en) Channel Optimized Storage Modules
EP3289465B1 (en) Systems and methods for optimizing memory power consumption in a heterogeneous system memory
US11061608B2 (en) Memory controller and memory system having the same
CN101589374B (zh) 用于在处理器中设置高速缓存策略的方法和设备
US9317312B2 (en) Computer and memory management method
US20210081118A1 (en) Memory addressing methods and associated controller, memory device and host
US11468119B2 (en) Memory system and method of operating the same
JP6674460B2 (ja) 不均一メモリアーキテクチャにおける改善されたレイテンシのためのシステムおよび方法
CN115481054A (zh) 数据处理方法、装置及系统、系统级soc芯片及计算机设备
CN102903332A (zh) 一种led显示屏的异步控制方法和异步控制卡
KR20180050849A (ko) 전자 장치 및 메모리 액세스 방법
US10852950B2 (en) Computer system, memory management method, and non-transitory computer readable medium
JP6676052B2 (ja) 不均一メモリアーキテクチャにおける改善されたレイテンシを可能にするためのシステムおよび方法
EP2453360B1 (en) Method and apparatus for translating memory access address
US20030182490A1 (en) Method and system for maximizing DRAM memory bandwidth
CN112395217A (zh) 管理存储器分配的方法、系统、制品和装置
CN110309075B (zh) 存储器控制器以及具有存储器控制器的存储器系统
US20120166718A1 (en) Flash Storage Device and Data Writing Method Thereof
US10032516B2 (en) Duo content addressable memory (CAM) using a single CAM
CN108351789B (zh) 电子装置及其启动方法
US11372756B2 (en) Memory pool management
JP4250250B2 (ja) メモリ管理装置
US20230168822A1 (en) Memory management method and semiconductor device adjusting size of contiguous memory allocation area
US20240152272A1 (en) Electronic apparatus and control method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal