KR100941977B1 - Embeded system and method of page relocation for the same - Google Patents
Embeded system and method of page relocation for the same Download PDFInfo
- Publication number
- KR100941977B1 KR100941977B1 KR1020070106829A KR20070106829A KR100941977B1 KR 100941977 B1 KR100941977 B1 KR 100941977B1 KR 1020070106829 A KR1020070106829 A KR 1020070106829A KR 20070106829 A KR20070106829 A KR 20070106829A KR 100941977 B1 KR100941977 B1 KR 100941977B1
- Authority
- KR
- South Korea
- Prior art keywords
- page
- memory
- valid
- physical
- logical
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
본 발명은 메모리에서 발생하는 누설전류를 최소화할 수 있는 임베디드 시스템 및 그를 위한 페이지 재배치 방법을 제공하는데 그 목적이 있다. 메모리는 다수의 물리적 메모리 뱅크로 분리된다. 프로세서 관점에서의 메모리는 다수의 논리적 메모리 페이지로 분리되는데 각각의 메모리 페이지가 물리적으로 위치하는 메모리 뱅크는 데이터 재배치 회로에 의하여 결정된다. 프로세서는 메모리에서 데이터를 읽어올 때 데이터 재배치 회로를 참조하여 물리적 메모리 뱅크를 액세스하게 된다. 초기에 모든 메모리 뱅크는 비활성화(turn-off) 되어 누설전류가 제거된다. 프로세서로부터 데이터 저장 요구가 있게 되면 데이터 재배치 회로는 해당 메모리 뱅크를 활성화(turn-on) 시키고, 프로세서에서 데이터 무효화(invalidation) 요구가 있게 되면 해당 메모리 뱅크에 속하는 모든 메모리 페이지가 무효화 되었을 때 해당 메모리 뱅크를 비활성화한다. 비활성화된 메모리 뱅크는 전원이 차단되어 누설전류를 감소시킨다. 본 발명에서 제안된 회로는 프로세서 동작 중에도 전원이 차단되는 메모리 뱅크의 수를 최대화하여 누설전류를 최소화한다.It is an object of the present invention to provide an embedded system and page relocation method therefor capable of minimizing leakage current generated in a memory. The memory is divided into multiple physical memory banks. From the processor's point of view, memory is divided into a number of logical memory pages, where the memory bank in which each memory page is physically located is determined by the data relocation circuit. When the processor reads data from the memory, it refers to the data relocation circuit to access the physical memory bank. Initially, all memory banks are turned off to eliminate leakage current. The data relocation circuitry turns on the memory bank when there is a request to store data from the processor, and when the memory invalidation request is made by the processor, all memory pages belonging to the memory bank are invalidated. Deactivate. Inactive memory banks are powered down to reduce leakage currents. The circuit proposed in the present invention minimizes leakage current by maximizing the number of memory banks that are powered off even during processor operation.
임베디드 시스템, 메모리, 누설전류, 뱅크, 페이지 재배치 Embedded Systems, Memory, Leakage Current, Banks, Page Relocation
Description
본 발명은 반도체 설계 기술에 관한 것으로, 특히 프로세서와 메모리로 구성된 임베디드 시스템에 관한 것이며, 더 자세히는 임베디드 시스템 내의 메모리 페이지 재배치 기술에 관한 것이다.TECHNICAL FIELD The present invention relates to semiconductor design technology, and more particularly, to an embedded system consisting of a processor and a memory, and more particularly, to a memory page rearrangement technology in an embedded system.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT전략기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다.[과제관리번호: 2006-S-048-01, 과제명: 오디오 비디오 신호처리용 임베디드 DSP 플랫폼(Platform)]The present invention is derived from a study conducted as part of the IT Strategic Technology Development Project of the Ministry of Information and Communication and the Institute of Information and Telecommunications Research and Development. Platform]
정보기술(IT) 산업의 발전과 더불어 휴대용으로 소지할 수 있는 제품이 급격하게 늘어나게 되었다. 이러한 휴대용 제품은 배터리로 구동되기 때문에 한정된 배터리 용량 내에서 동작시간을 최대로 늘이기 위해서 제품을 구성하는 반도체 칩들의 전력 소모를 최소화하는 기술이 제품의 생산성을 결정짓는 요소가 되었다. With the development of the information technology (IT) industry, portable products have rapidly increased. Since these portable products are battery-powered, technology that minimizes power consumption of the semiconductor chips constituting the product has become a determining factor in product productivity in order to maximize operating time within a limited battery capacity.
반도체 칩의 전력소모는 두 가지의 요소로 나뉘어볼 수 있다. 첫째, 동적 전 력소모는 반도체 내의 트랜지스터 및 메탈라인에 존재하는 커패시터 성분에 의하여 발생되는 전력소모이다. 이 커패시터 성분은 매 클럭 사이클마다 전하가 채워졌다가 비워지는 동작을 반복하게 되는데 전하의 흐름은 전류이므로 전력을 소모하는 중요한 요소가 된다. 둘째, 누설전력이다. 누설전력은 반도체 공정이 발전할수록 전체 전력소모에서 차지하는 비중이 커지게 된다. 이는 공정이 발전할수록 트랜지스터의 게이트산화막 두께(Gate oxide thickness)가 얇아지게 되고, 이처럼 게이트산화막의 두께가 얇아지면 고전압을 견딜 수 없기 때문에 반도체 회로의 동작 전압을 낮추게 되고, 낮아진 동작 전압은 문턱전압(Threshold voltage)에 가까워지면서 트랜지스터가 완전히 켜지거나 꺼지지 않아서 문턱전압 이하에서 발생하는 전류(Sub-threshold current)의 양이 급격히 증가하게 되기 때문이다.The power consumption of semiconductor chips can be divided into two factors. First, dynamic power dissipation is power dissipation generated by capacitors present in transistors and metal lines in semiconductors. This capacitor component is charged and emptied every clock cycle. Since the charge flow is current, it is an important component of power consumption. Second is leakage power. As the semiconductor process develops, the leakage power becomes a big part of the total power consumption. This is because as the process progresses, the gate oxide thickness of the transistor becomes thinner, and as the gate oxide film becomes thinner, the operation voltage of the semiconductor circuit is lowered because the gate oxide thickness cannot withstand the high voltage, and the lower operation voltage is the threshold voltage. This is because as the voltage approaches the voltage, the transistor does not turn on or off completely and the amount of sub-threshold current that occurs below the threshold voltage increases rapidly.
일반적으로 널리 쓰이는 전류억제 방법, 즉, 프로세서의 클럭을 차단하거나, 게이트의 갯수를 줄이는 방법 또는 회로 내에서 발생하는 신호 천이의 횟수를 줄이는 방법 등은 동적 전력 소모를 위한 방법으로 누설전류에는 전혀 영향이 없다. 누설전류를 차단하는 가장 대표적인 방법은 회로의 전원 자체를 차단하는 것이다. Commonly used current suppression methods, such as blocking the processor clock, reducing the number of gates, or reducing the number of signal transitions occurring in a circuit, are dynamic power consumption methods that have no effect on leakage current. There is no The most common way to cut off the leakage current is to cut off the power to the circuit itself.
회로의 전원을 차단(cut-off) 하게 되면 전원이 차단된 회로는 동작을 전혀 하지 않을 뿐만 아니라, 플립플롭(Flip-flop) 또는 메모리와 같은 회로의 경우 미리 기억된 데이터를 잃어버리게 된다는 단점이 있다. 또, 임베디드 시스템 전체가 파워다운모드(power down mode)로 동작할 경우에는 전체의 전원을 차단하면 되지만, 시스템 전체가 아예 동작하지 않는 경우는 드물기 때문에 일부분만의 전원을 차단하는 방법이 제안되고 있다. 전원을 차단하기 위한 트랜지스터 단계에서의 방 법으로는 가변 문턱전압 회로(variable threshold circuit), 이중 문턱전압 트랜지스터(Dual-Threshold transistor), 다중 문턱전압 트랜지스터(Multi-threshold transistor) 및 파워 게이팅 구조(power gating structure) 등의 방법이 있다.When the circuit is cut off, the circuit that is cut off does not operate at all, and in the case of a circuit such as flip-flop or memory, the previously memorized data is lost. have. In addition, when the entire embedded system operates in a power down mode, the entire power supply may be cut off. However, since the entire system does not operate at all, a method of shutting down only a part of the power has been proposed. . Transistor-level methods for turning off the power include a variable threshold circuit, a dual-threshold transistor, a multi-threshold transistor, and a power gating structure. gating structure).
누설전류를 효율적으로 차단하기 위해서는 이러한 새로운 형태의 트랜지스터 회로를 사용하는 것보다, 시스템을 분할하여 분할된 회로들의 전원을 동적으로 제어하는 방법이 효율적이다. 특히, 최근의 멀티미디어 기반의 임베디드 시스템에는 대용량의 메모리가 집적되면서 메모리의 게이트 수가 로직 게이트 수에 비해서 큰 비중을 차지하고 있기 때문에 메모리에서 발생하는 누설전류를 감소시키는 것이 전체 전력을 감소시키는데 결정적인 영향을 미치게 된다.Rather than using this new type of transistor circuit to efficiently block leakage current, it is more efficient to divide the system and dynamically control the power of the divided circuits. In particular, in recent multimedia-based embedded systems, since a large amount of memory is integrated and the number of gates of the memory occupies a large proportion of the number of logic gates, reducing the leakage current generated in the memory has a decisive effect on reducing the total power. do.
본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위하여 제안된 것으로, 메모리에서 발생하는 누설전류를 최소화할 수 있는 임베디드 시스템 및 그를 위한 페이지 재배치 방법을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems of the prior art, and an object thereof is to provide an embedded system and a page rearrangement method thereof capable of minimizing leakage current generated in a memory.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. It will also be appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.
상기의 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따르면, 프로세서; 상기 프로세서로부터 논리적 어드레스를 입력받아 유효 페이지가 특정 뱅크로 집중되어 배치되도록 물리적 어드레스로 매핑하고, 해당 뱅크의 유효 페이지 존재 여부에 따라 뱅크 전원제어신호를 생성하기 위한 데이터 재분배 회로; 상기 데이터 재분배 회로로부터 출력된 물리적 어드레스에 의해 어드레싱되는 다수의 메모리 뱅크와, 상기 뱅크 전원제어신호에 응답하여 각 메모리 뱅크에 전원전압을 선택적으로 인가하기 위한 다수의 스위칭 수단을 포함하는 메모리를 구비하는 임베디드 시스템이 제공된다.According to an aspect of the present invention for achieving the above technical problem, a processor; A data redistribution circuit configured to receive a logical address from the processor and map a valid page to a physical address so that the valid pages are concentrated and arranged in a specific bank, and generate a bank power control signal according to whether a valid page exists in the corresponding bank; And a memory including a plurality of memory banks addressed by physical addresses output from the data redistribution circuit, and a plurality of switching means for selectively applying a power supply voltage to each memory bank in response to the bank power control signal. Embedded systems are provided.
여기서, 상기 데이터 재분배 회로는, 하기 페이지 변환부 및 하기 페이지 유 효 플래그부를 참조하여 물리적 페이지 어드레스를 생성하기 위한 페이지 배치부; 상기 페이지 배치부로부터 논리적 페이지 어드레스를 입력받아 그에 대응하는 물리적 페이지 어드레스 또는 새롭게 매핑된 물리적 페이지 어드레스를 출력하기 위한 상기 페이지 변환부; 상기 프로세서로부터 전달된 페이지 정보에 따라 각 페이지의 유효 플래그를 할당하기 위한 상기 페이지 유효 플래그부; 및 상기 페이지 변환부와 상기 페이지 유효 플래그부를 참조하여 상기 뱅크 전원제어신호를 생성하기 위한 전원제어부를 구비하는 것이 바람직하다.Here, the data redistribution circuit may include a page arrangement unit for generating a physical page address with reference to a page conversion unit and a page valid flag unit below; The page converter for receiving a logical page address from the page layout unit and outputting a corresponding physical page address or a newly mapped physical page address; The page valid flag unit for allocating a valid flag of each page according to the page information transmitted from the processor; And a power control section for generating the bank power control signal with reference to the page conversion section and the page valid flag section.
또한, 본 발명의 다른 측면에 따르면, 프로세서와 메모리를 구비하는 임베디드 시스템을 위한 페이지 재배치 방법에 있어서, 상기 프로세서로부터 요청된 논리적 페이지가 유효한지를 확인하는 단계; 확인 결과, 해당 논리적 페이지가 무효함에 따라 유효 페이지의 수가 최대이며 적어도 하나 이상의 무효 페이지를 포함하는 뱅크를 찾는 단계; 무효한 페이지 번호를 대응하는 물리적 페이지 번호 저장소에 기입하는 단계; 무효한 페이지에 대응하는 유효 플래그를 온 상태로 설정하는 단계; 및 결과 페이지 번호를 출력하는 단계를 포함하는 임베디드 시스템을 위한 페이지 재배치 방법이 제공된다.According to another aspect of the present invention, a page relocation method for an embedded system having a processor and a memory, the method comprising: checking whether a logical page requested from the processor is valid; As a result of the checking, finding a bank having a maximum number of valid pages and including at least one invalid page as the corresponding logical page is invalid; Writing an invalid page number into a corresponding physical page number store; Setting a valid flag corresponding to an invalid page to an on state; And outputting a result page number.
또한, 상기 요청된 논리적 페이지가 유효한지를 확인하는 단계 이후에, 확인 결과, 상기 요청된 논리적 페이지가 유효함에 따라 논리적 페이지 어드레스에 대응하는 물리적 페이지 어드레스를 출력하는 단계를 더 포함할 수 있다.The method may further include outputting a physical page address corresponding to the logical page address as a result of the checking as a result of the checking as to whether the requested logical page is valid.
반도체 공정기술의 발전에 따라서 90nm 이하의 공정에서는 문턱전압 이하에서 발생하는 누설전류가 전체 시스템이 소모하는 전력의 대부분을 차지하게 되었 다. 특히, 프로세서와 메모리로 구성된 임베디드 시스템에서 전체 게이트 수에 대한 메모리의 게이트가 차지하는 비중이 늘어나면서 메모리 영역에서의 누설전류가 전체 전력소모에 있어서 핵심적인 부분이다. 본 발명에서는 메모리를 다수의 메모리 뱅크로 분할하고 각각의 메모리 뱅크에 누설전류를 차단하기 위한 회로를 장착하여, 시스템 동작 중에 사용되지 않는 메모리 뱅크의 누설전류를 동적으로 차단함으로써 전력 소모를 줄이는 방법을 제안한다. 특히, 프로세서에서 사용되는 데이터를 데이터 재배치 회로(Data Relocating Circuit)를 이용하여 재배치함으로써 동적으로 누설전류를 제어하는 방식을 제안한다.With the development of semiconductor process technology, in the process below 90nm, the leakage current occurring below the threshold voltage occupies most of the power consumed by the entire system. In particular, in embedded systems consisting of a processor and a memory, the gate portion of the memory to the total number of gates increases, so leakage current in the memory area is a key part of the total power consumption. In the present invention, a method for reducing power consumption by dividing a memory into a plurality of memory banks and mounting a circuit for blocking leakage current in each memory bank to dynamically cut off leakage current of a memory bank that is not used during system operation. Suggest. In particular, a method of dynamically controlling leakage current by relocating data used in a processor using a data relocating circuit is proposed.
메모리는 다수의 물리적 메모리 뱅크로 분리된다. 프로세서 관점에서의 메모리는 다수의 논리적 메모리 페이지로 분리되는데 각각의 메모리 페이지가 물리적으로 위치하는 메모리 뱅크는 데이터 재배치 회로에 의하여 결정된다. 프로세서는 메모리에서 데이터를 읽어올 때 데이터 재배치 회로를 참조하여 물리적 메모리 뱅크를 액세스하게 된다. 초기에 모든 메모리 뱅크는 비활성화(turn-off) 되어 누설전류가 제거된다. 프로세서로부터 데이터 저장 요구가 있게 되면 데이터 재배치 회로는 해당 메모리 뱅크를 활성화(turn-on) 시키고, 프로세서에서 데이터 무효화(invalidation) 요구가 있게 되면 해당 메모리 뱅크에 속하는 모든 메모리 페이지가 무효화 되었을 때 해당 메모리 뱅크를 비활성화한다. 비활성화된 메모리 뱅크는 전원이 차단되어 누설전류를 감소시킨다. 본 발명에서 제안된 회로는 프로세서 동작 중에도 전원이 차단되는 메모리 뱅크의 수를 최대화하여 누설전류를 최소화한다.The memory is divided into multiple physical memory banks. From the processor's point of view, memory is divided into a number of logical memory pages, where the memory bank in which each memory page is physically located is determined by the data relocation circuit. When the processor reads data from the memory, it refers to the data relocation circuit to access the physical memory bank. Initially, all memory banks are turned off to eliminate leakage current. The data relocation circuitry turns on the memory bank when there is a request to store data from the processor, and when the memory invalidation request is made by the processor, all memory pages belonging to the memory bank are invalidated. Deactivate. Inactive memory banks are powered down to reduce leakage currents. The circuit proposed in the present invention minimizes leakage current by maximizing the number of memory banks that are powered off even during processor operation.
전술한 본 발명에 따라 데이터 재배치 회로를 이용하면 프로세서와 메모리로 구성된 임베디드 시스템의 동작 중에도 메모리 뱅크의 전원을 차단하여 누설전류를 최소화할 수 있다.Using the data rearrangement circuit according to the present invention described above can minimize the leakage current by shutting off the power of the memory bank even during the operation of the embedded system including the processor and the memory.
이하, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자가 본 발명을 보다 용이하게 실시할 수 있도록 하기 위하여 본 발명의 바람직한 실시예를 소개하기로 한다.Hereinafter, preferred embodiments of the present invention will be introduced in order to enable those skilled in the art to more easily carry out the present invention.
도 1은 본 발명의 일 실시예에 따른 임베디드 시스템의 블럭 다이어그램이다.1 is a block diagram of an embedded system according to an embodiment of the present invention.
도 1을 참조하면, 본 실시예에 따른 임베디드 시스템은 프로세서(10)와, 데이터 재배치 회로(20)와, 메모리(100)를 구비한다.Referring to FIG. 1, an embedded system according to the present embodiment includes a
프로세서(예컨대, DSP Core)(10)는 매 클럭 사이클마다 메모리(100)를 대상으로 데이터를 읽거나 쓰는 동작을 행한다. 특히 DSP의 경우, 매 클럭 사이클마다 수 개의 데이터를 동시에 읽거나 쓰는 동작을 행한다. 도 1에 도시된 임베디드 시스템에서 프로세서(10)로부터 출력되는 논리적 메모리 어드레스(11)는 16비트이다. 논리적 메모리 어드레스(11)는 데이터 재배치 회로(20)에 입력된다.The processor (eg, DSP core) 10 performs an operation of reading or writing data to the
데이터 재배치 회로(20)는 논리적 메모리 어드레스(11)를 물리적 메모리 어드레스(29)로 변환한다. 논리적 메모리 어드레스(11)는 프로세서(10)에서 수행되는 프로그램의 관점에서 보이는 어드레스인 반면, 물리적 메모리 어드레스(29)는 실제 메모리를 액세스하기 위한 어드레스이다. 논리적 메모리 어드레스(11)는 논리적 페이지 어드레스(21)와 오프셋 어드레스(22)로 분리된다. 메모리 관리를 위하여 전체 메모리를 일정 단위로 구분하는데 각각의 구분 영역을 페이지(Page)라고 한다. 도 1의 경우, 논리적 페이지 어드레스(21)가 6비트이므로 전체 16비트 메모리 어드레스 영역 내에 64개의 물리적 페이지가 존재한다. 또한, 메모리(100)는 복수의 메모리 뱅크들(56, 57, …, 58)로 분할되어 있다. 도 1의 경우, 8개의 메모리 뱅크가 존재한다. 그러므로, 한 개의 메모리 뱅크는 13 비트의 물리적 오프셋 어드레스(55)를 가지게 된다. 또한, 한 개의 메모리 뱅크는 8 개의 물리적 페이지를 포함한다.The
데이터 재배치 회로(20) 내의 페이지 변환기(Page Translator)(26)는 페이지 유효 플래그부(Page valid flag)(27)를 참조하여 물리적 페이지 어드레스(28)를 생성한다.The
도 2는 페이지 배치기(23)의 동작 흐름도이다.2 is an operation flowchart of the
도 2를 참조하면, 우선 페이지 배치기(23)는 논리적 페이지 어드레스(21)가 입력되면 해당 논리적 페이지가 현재 유효(valid)한지 버스(25)를 통해 페이지 유효 플래그부(27)를 참조한다(200). 논리적 페이지가 유효하다는 것은 해당 논리적 페이지가 지시하는 물리적 메모리 영역이 현재 메모리 뱅크에 존재함을 의미한다.Referring to FIG. 2, first, when a
해당 논리적 페이지가 유효(valid)한지를 확인하여(210), 그 결과 해당 논리적 페이지가 유효(valid)한 경우에는 페이지 배치기(23)는 페이지 변환기(26)에 논리적 페이지 어드레스(24)를 전달한다. 페이지 변환기(26)는 요청된 논리적 페이지 어드레스(21)가 지시하는 물리적 페이지 어드레스(28)를 내부의 페이지 변환 저장소(entry)에 미리 저장하고 있으며, 페이지 배치기(23)가 논리적 페이지 어드레스(24)를 전달하면 그에 해당하는 물리적 페이지 어드레스(28)를 출력한다(220).Check if the logical page is valid (210), and as a result, if the logical page is valid, the
한편, 확인 결과 해당 논리적 페이지가 유효하지 아니(invalid)하면, 페이지 배치기(23)는 페이지 변환기(26)를 참조하여 새로운 물리적 페이지 어드레스를 해당 논리적 페이지 어드레스(21)에서 매핑(mapping)한다(230, 240, 250, 260).On the other hand, if the corresponding logical page is invalid as a result of the check, the
이 과정을 좀 더 자세히 살펴보자.Let's take a closer look at this process.
페이지 변환기(26)를 참조하면 각 메모리 뱅크들 별로 현재 유효(valid)한 물리적 페이지의 수를 계산할 수 있다. 임의의 메모리 뱅크 i를 B i 로 표현하고, B i 내의 j 번째 물리적 페이지를 P,j (B i )로 표현한다. B i 의 유효한 물리적 페이지 수는 |P,j (B i )|로 표현한다. 페이지 배치기(23)는 |P,j (B i )|가 최대이면서 유효하지 않은 물리적 페이지가 1개 이상 존재하는 메모리 뱅크 I를 찾아내고, B I 에서 유효하지 않은 물리적 페이지 중 임의의 물리적 페이지 J를 찾아낸다(230). 즉, 최대 개수의 유효한 물리적 페이지를 포함한 메모리 뱅크 내의 유효하지 않은 물리적 페이지를 찾아낸다.Referring to the
페이지 배치기(23)는 유효하지 않은 물리적 페이지 J를 논리적 페이지 어드레스(21)에 해당하는 페이지 변환기(24) 내 저장소(entry)에 기입한다(240).The
또한, 페이지 유효 플래그부(27)의 유효하지 않은 물리적 페이지 J의 유효 플래그를 '1'로 변경하고(250), 페이지 변환기(26)를 통해 물리적 페이지 어드레스가 출력되도록 한다(260).In addition, the valid flag of the invalid physical page J of the page
한편, 페이지 변환기(26)로부터 출력된 물리적 페이지 어드레스(28)는 프로세서(10)에서 출력된 논리적 메모리 어드레스(11) 중 논리적 페이지 어드레스(21)를 제외한 오프셋 어드레스(22)와 연결(concatenation)되어 물리적 메모리 어드레스(29)를 생성한다.Meanwhile, the
데이터 재배치 회로(20)에 의하여 변환된 물리적 메모리 어드레스(29)는 메모리(100)로 입력된다. 메모리(100)는 복수의 메모리 뱅크들(56, 57, …, 58)로 나뉘어져 있다. 물리적 메모리 어드레스(29)의 비트들 중 상위 비트 일부는 뱅크 선택 어드레스(50)이고, 나머지 비트는 물리적 오프셋 어드레스(55)이다. 도 1의 경우 뱅크선택 어드레스(50)는 3비트, 물리적 오프셋 어드레스(55)는 13비트이다. 뱅크 선택 어드레스(50)는 뱅크 선택기(51)에 의해서 디코딩되어 뱅크 선택 신호(Bank enable)(52, 53, …, 54)를 생성한다. 각각의 뱅크의 선택 신호(52, 53, …, 54)는 매 클럭 사이클마다 최대 1개의 신호만 활성화된다. 물리적 오프셋 어드레스(55)는 모든 메모리 뱅크(56, 57, …, 58)로 입력된다. 뱅크 선택 신호(52, 53, …, 54)에 의하여 선택된 메모리 뱅크(56, 57, …, 58)는 프로세서(10)가 요구한 데이터를 저장하거나 출력한다.The physical memory address 29 converted by the
데이터 재배치 회로(20) 내의 전원제어기(60)는 메모리 뱅크 전원 제어 신호(61, 62, …, 63)를 출력한다. 전원제어기(60)는 페이지 변환기(26)와 페이지 유효 플래그부(27)를 참조하여 각각의 메모리 뱅크(56, 57, …, 58) 내에 최소 한 개의 유효한 논리적 페이지가 있다면 해당 메모리 뱅크의 메모리 뱅크 전원제어신 호(61, 62, …, 63)를 '0'으로 할당한다. 메모리 뱅크 전원제어신호(61, 62, …, 63)가 '0'이 되면 전원제어 트랜지스터(64, 65, …, 66)는 턴온되어 해당 메모리 뱅크에 전원을 공급하게 된다. 각 메모리 뱅크 내에 유효한 논리적 페이지가 없다면 전원제어기(60)는 해당 메모리 뱅크의 전원제어신호를 '1'로 할당한다. 메모리 뱅크 전원 제어 신호가 '1' 이 되면 전원제어 트랜지스터(64, 65, …, 66)는 턴오프되어 해당 메모리 뱅크의 전원이 차단된다. 메모리 뱅크(56, 57, …, 58)의 전원이 차단되는 것은 곧 누설전류가 차단됨을 의미한다.The
프로세서(10)는 특정 논리적 페이지가 프로그램 동작 중에 더 이상 필요가 없을 때 페이지 무효화 신호(80)를 페이지 유효 플래그부(27)로 출력하여 해당 논리적 페이지를 무효화시킨다. 이 방법을 통해서 메모리(100) 내에는 현재 프로세서 동작을 위해서 필요한 물리적 페이지들만이 유효 플래그가 '1'이 되어서 전원을 공급받을 수 있도록 한다.The
한편, 프로세서(10)가 파워다운모드(Power down mode)가 되면 모든 메모리 뱅크(56, 57, …, 58)가 동작에 필요하지 않기 때문에 전원제어기(60)는 모든 메모리 뱅크(56, 57, …, 58)의 전원을 차단한다.On the other hand, when the
도 3은 페이지 변환기(26) 및 페이지 유효 플래그부(27)의 내용 예제를 나타내고 있다. 각 저장소는 일렬로 배치되어 있으며 일렬로 배치된 각 저장소를 가리키는 어드레스는 논리적 페이지 어드레스(201)가 된다. 논리적 페이지 어드레스(201)가 가리키는 각 저장소에는 매핑된 물리적 메모리 뱅크의 번호(202), 물리적 메모리 뱅크 내의 물리적 페이지 번호(203)가 있다. 페이지 유효 플래그부(27)에는 각 저장소에 해당하는 유효 플래그(204)가 있다. 유효 플래그(204)가 '1'인 경우의 저장소만 실제로 프로세서(10)가 현재 필요로 하는 물리적 페이지를 나타낸다.3 shows an example of the contents of the
데이터 재배치 회로(20)가 없는 일반적인 프로세서(10)와 메모리(100)로 구성된 임베디드 시스템에서는 논리적 메모리 어드레스(11)과 물리적 메모리 어드레스(29)가 동일한 값을 가진다. 또한, 프로그램 수행 중 필요한 메모리들은 분산되어 복수의 메모리 뱅크에 속하게 되며, 모든 메모리 뱅크(56, 57, …, 58)는 전원을 공급받아야만 정상적인 동작을 수행할 수 있다. 프로세서(10)의 동작 중에는 전원을 공급받는 메모리 뱅크는 데이터의 필요성 여부에 상관없이 누설전류를 발생시킨다.In an embedded system composed of a
본 발명에서와 같은 데이터 재배치 회로(20)를 사용하면 프로세서(10)가 메모리 페이지를 요구할 때 논리적인 메모리 페이지가 실제로 물리적 메모리 페이지로 매핑된다. 매핑시에는 데이터 재배치 회로(20)가 현재 가장 많은 논리적 메모리 페이지가 존재하는 물리적 메모리 뱅크(56, 57, …, 58)에 해당 논리적 메모리 페이지를 위치시키기 때문에, 현재 프로그램 수행 중에 필요한 논리적 메모리 페이지의 집합은 최대한 같은 메모리 뱅크(56, 57, …, 58)에 위치하게 된다. 도 2에 표시된 페이지 배치 알고리즘은 실제로 필요한 데이터를 가지고 있는 물리적인 메모리 뱅크의 수가 최소가 되도록 할 수 있다. 즉, 프로세서(10)가 인식하는 논리적인 메모리 페이지는 규칙성이 없어서 전체 메모리 영역에 분산되어 있는 반면, 이 논리적 메모리 페이지들을 최소의 물리적 메모리 뱅크에 집합하여 위치시킴으로써, 전원을 공급받아야 하는 메모리 뱅크의 수를 최소화할 수 있다. 유효한 데이터를 가지는 메모리 뱅크의 수가 최소가 되면 프로세서(10)가 동작 중에 필요한 메모리 페이지가 존재하지 않는 메모리 뱅크의 수 또한 최소가 되고, 그 외의 프로세서(10)의 동작에 필요하지 않은 메모리 페이지가 존재하는 메모리 뱅크들의 전원은 차단되기 때문에 누설전류를 발생시키지 않는다.Using
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical idea of the present invention has been described in detail according to the above preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.
도 1은 본 발명의 일 실시예에 따른 임베디드 시스템의 블럭 다이어그램이다.1 is a block diagram of an embedded system according to an embodiment of the present invention.
도 2는 페이지 배치기의 동작 흐름도이다.2 is an operation flowchart of a page layoutr.
도 3은 페이지 변환기 및 페이지 유효 플래그부의 내용 예제를 나타낸 도면이다.3 is a diagram showing an example of contents of a page converter and a page valid flag unit.
* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
10: 프로세서10: processor
20: 데이터 재분배 회로20: data redistribution circuit
100: 메모리100: memory
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/949,879 US7900018B2 (en) | 2006-12-05 | 2007-12-04 | Embedded system and page relocation method therefor |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20060122489 | 2006-12-05 | ||
KR1020060122489 | 2006-12-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080052366A KR20080052366A (en) | 2008-06-11 |
KR100941977B1 true KR100941977B1 (en) | 2010-02-12 |
Family
ID=39807187
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070106829A KR100941977B1 (en) | 2006-12-05 | 2007-10-23 | Embeded system and method of page relocation for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100941977B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020061364A (en) * | 2001-01-16 | 2002-07-24 | 주식회사 하이닉스반도체 | Multi-bank semiconductor memory apparatus |
KR20040044420A (en) * | 1998-04-10 | 2004-05-28 | 가부시키가이샤 히타치세이사쿠쇼 | Semiconductor device |
JP2005196343A (en) * | 2004-01-05 | 2005-07-21 | Mitsubishi Electric Corp | Memory management device, memory management method and program |
-
2007
- 2007-10-23 KR KR1020070106829A patent/KR100941977B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040044420A (en) * | 1998-04-10 | 2004-05-28 | 가부시키가이샤 히타치세이사쿠쇼 | Semiconductor device |
KR20020061364A (en) * | 2001-01-16 | 2002-07-24 | 주식회사 하이닉스반도체 | Multi-bank semiconductor memory apparatus |
JP2005196343A (en) * | 2004-01-05 | 2005-07-21 | Mitsubishi Electric Corp | Memory management device, memory management method and program |
Also Published As
Publication number | Publication date |
---|---|
KR20080052366A (en) | 2008-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804350B (en) | Memory access method and computer system | |
US20210406170A1 (en) | Flash-Based Coprocessor | |
US5946716A (en) | Sectored virtual memory management system and translation look-aside buffer (TLB) for the same | |
JP3715714B2 (en) | Low power memory system | |
KR101182597B1 (en) | Configurable ready/busy control | |
US10031854B2 (en) | Memory system | |
KR20130048206A (en) | Hierarchical translation tables control | |
US7900018B2 (en) | Embedded system and page relocation method therefor | |
US9317448B2 (en) | Methods and apparatus related to data processors and caches incorporated in data processors | |
US10997082B2 (en) | Memory system, computing system, and methods thereof for cache invalidation with dummy address space | |
US8364889B2 (en) | Dynamic row-width memory | |
KR950015083A (en) | A data processing system, and a method for providing memory access control | |
JPH08101797A (en) | Translation lookaside buffer | |
US20090158076A1 (en) | Technique to implement clock-gating | |
JP2015060571A (en) | Cache memory system and processor system | |
US20040221117A1 (en) | Logic and method for reading data from cache | |
JP2930071B2 (en) | Information processing device and processor | |
US8250300B2 (en) | Cache memory system and method with improved mapping flexibility | |
KR970067364A (en) | Multimode Cache Memory | |
KR20020010922A (en) | Status bits for cache memory | |
KR100941977B1 (en) | Embeded system and method of page relocation for the same | |
US10831667B2 (en) | Asymmetric memory tag access and design | |
JP2003131945A (en) | Cache memory device | |
US5699315A (en) | Data processing with energy-efficient, multi-divided module memory architectures | |
CN110543430A (en) | storage device using MRAM |
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: 20130204 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140123 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20150126 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20160127 Year of fee payment: 7 |