KR20070078335A - On-chip memory controller in processor - Google Patents

On-chip memory controller in processor Download PDF

Info

Publication number
KR20070078335A
KR20070078335A KR1020060008567A KR20060008567A KR20070078335A KR 20070078335 A KR20070078335 A KR 20070078335A KR 1020060008567 A KR1020060008567 A KR 1020060008567A KR 20060008567 A KR20060008567 A KR 20060008567A KR 20070078335 A KR20070078335 A KR 20070078335A
Authority
KR
South Korea
Prior art keywords
memory
data
processor core
chip memory
chip
Prior art date
Application number
KR1020060008567A
Other languages
Korean (ko)
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 KR1020060008567A priority Critical patent/KR20070078335A/en
Publication of KR20070078335A publication Critical patent/KR20070078335A/en

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V3/00Globes; Bowls; Cover glasses
    • F21V3/04Globes; Bowls; Cover glasses characterised by materials, surface treatments or coatings
    • F21V3/06Globes; Bowls; Cover glasses characterised by materials, surface treatments or coatings characterised by the material
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F21LIGHTING
    • F21VFUNCTIONAL FEATURES OR DETAILS OF LIGHTING DEVICES OR SYSTEMS THEREOF; STRUCTURAL COMBINATIONS OF LIGHTING DEVICES WITH OTHER ARTICLES, NOT OTHERWISE PROVIDED FOR
    • F21V15/00Protecting lighting devices from damage
    • F21V15/01Housings, e.g. material or assembling of housing parts

Abstract

A device for controlling an on-chip memory in a processor is provided to perform a function for optimizing data allocation/use of a scratch pad memory by adding a data management function to an on-chip memory controller. A processor core(400) outputs management information of the scratch pad memory(401) to the on-chip memory controller(403) if necessary while performing a program. The scratch pad memory stores data required for the processor core. The on-chip memory controller stores the data to the scratch pad memory by determining the information required for the processor core and manages the data stored in the scratch pad memory. An input selector(402) selectively connects the processor core or a DMA(Direct Memory Access) part(403C) of the on-chip memory controller to the scratch pad memory. The on-chip memory controller includes a data management controller(403A), a DMC(Dummy Memory Cell) memory(403B), and the DMA part.

Description

프로세서에서의 온칩메모리 제어장치{ON-CHIP MEMORY CONTROLLER IN PROCESSOR}ON-CHIP MEMORY CONTROLLER IN PROCESSOR

도 1은 일반적인 내장형 프로세서의 블록도.1 is a block diagram of a typical embedded processor.

도 2는 종래 기술에 의한 온칩메모리 제어장치의 주변 블록도. 2 is a peripheral block diagram of an on-chip memory control apparatus according to the prior art.

도 3은 종래 기술에서 프로세서 코어가 스크래치패드 메모리로부터 필요한 데이터를 읽어오는 과정을 나타낸 제어 흐름도.3 is a control flowchart illustrating a process in which a processor core reads data required from a scratchpad memory in the related art.

도 4는 본 발명에 의한 프로세서에서의 온칩메모리 제어장치의 블록도.4 is a block diagram of an on-chip memory control apparatus in a processor according to the present invention.

***도면의 주요 부분에 대한 부호의 설명*** *** Description of the symbols for the main parts of the drawings ***

401 : 스크래치패드 메모리 302 : 입력 선택기401: scratchpad memory 302: input selector

403 : 온칩메모리 제어장치 403A : 데이터관리 제어부403: On-chip memory controller 403A: Data management controller

403B : 디엠씨용 메모리 403C : 디엠에이부403B: Memory for DM 403C: DM

본 발명은 프로세서에 적용되는 온칩메모리 제어장치에서 데이터 관리 기능을 수행할 수 있도록 한 기술에 관한 것으로, 특히 온칩메모리 제어장치로 하여금 스크래치패드 메모리에 대한 데이터 할당 및 사용을 최적화 하는 기능을 수행할 수 있도록 한 프로세서에서의 온칩메모리 제어장치에 관한 것이다. The present invention relates to a technique for performing a data management function in an on-chip memory control device applied to a processor, and in particular, to enable the on-chip memory control device to perform a function of optimizing data allocation and use for the scratchpad memory. To an on-chip memory controller in one processor.

최근 들어, 프로세서를 기반으로 한 내장형 시스템(embedded system)의 활용도가 높아져감에 따라 내장형 프로세서에게 요구되는 성능 또한 매우 다양해지고 있다. 실시간(real-time) 내장형 시스템에서는 프로세서가 안정적인 최악수행시간(Worst Case Execution Time)을 보장하는 것이 요구되고 있으며, 휴대용 내장형 시스템에서는 프로세서가 소모하는 전력을 최소화하는 것이 요구되고 있다.Recently, as the utilization of an embedded system based on a processor increases, the performance required of the embedded processor also increases. In real-time embedded systems, the processor is required to guarantee stable worst case execution time, while in portable embedded systems it is required to minimize the power consumed by the processor.

일반적으로, 캐쉬메모리(cache memory)를 사용하는 내장형 프로세서의 경우 상기 두 가지의 요구사항을 해결하는데 어려움이 있었다. 캐쉬메모리는 고유의 주소영역(address space)을 할당 받지 못한 온칩메모리(on-chip memory)로서 태그회로(tag check circuitry)를 통해 데이터의 존재 여부를 하드웨어적으로 확인한다. 따라서, 데이터의 저장, 변경 및 삭제를 사용자가 제어하지 못하므로 캐쉬 미스(cache miss) 현상이 빈번히 발생하여 최악수행시간을 줄이는데 큰 도움이 되지 못한다. 또한, 데이터의 존재 여부를 확인하는 태그회로가 부가적으로 필요하므로 메모리의 크기와 소모 에너지가 증가하여 휴대용 내장형 시스템에 큰 부담을 주기 때문이다. In general, in the case of an embedded processor using cache memory, it has been difficult to solve the above two requirements. The cache memory is an on-chip memory that has not been allocated its own address space. The cache memory checks the existence of data through a tag check circuitry. Therefore, because the user does not control the storage, change, and deletion of data, a cache miss occurs frequently and thus does not help to reduce the worst execution time. In addition, since a tag circuit for checking the existence of data is additionally required, the size and memory consumption of the memory are increased, which places a heavy burden on the portable embedded system.

이와 달이 스크래치패드메모리(SPM: Scratch-Pad Memory)는 자신만의 고유 주소영역을 할당받으므로 데이터의 적치 여부를 사용자 또는 프로그램에서 직접 확인하고 제어할 수 있다. 따라서, 상기 미스 현상이 발생하지 않아 매우 향상된 최악수행시간을 보장할 수 있으며, 태그회로를 필요로 하지 않으므로 캐쉬메모리에 비해 크기와 소모에너지를 대폭적으로 줄일 수 있다. 이와 같은 이유로 인하여 근래의 내장형 프로세서에서는 SPM을 내장하여 이러한 장점을 활용하고 있는 추세에 있다. This month, the Scratch-Pad Memory (SPM) is assigned its own unique address area so that data can be checked and controlled directly by a user or a program. Therefore, the miss phenomenon does not occur, thereby ensuring a very improved worst time, and since the tag circuit is not required, the size and energy consumption can be significantly reduced compared to the cache memory. For these reasons, recent embedded processors have been taking advantage of these advantages by embedding SPM.

도 1은 내장형 프로세서의 일반적인 구조를 나타낸 것으로 이에 도시한 바와 같이, 스크래치패드 메모리(101)를 내장한 프로세서 코어(100)의 온칩메모리 제어장치(102)는 프로세서 코어(100)와 외부장치 사이의 데이터 전송을 독립적으로 수행하는 DMA부로 구성된다. 상기 스크래치패드 메모리(101)와 외부메모리(104) 사이에 데이터 전송이 필요한 경우, 상기 DMA부는 상기 프로세서 코어(100)로부터 필요한 정보를 전달받은 후 그 프로세서 코어(100)와는 독립적으로 데이터 전송을 계획하고 제어하는 역할을 수행한다.FIG. 1 illustrates a general structure of an embedded processor. As shown in FIG. 1, an on-chip memory controller 102 of a processor core 100 having a scratchpad memory 101 is provided between a processor core 100 and an external device. It consists of a DMA unit which independently performs data transfer. When data transfer is required between the scratchpad memory 101 and the external memory 104, the DMA unit plans to transfer data independently of the processor core 100 after receiving necessary information from the processor core 100. And control.

한편, 종래 기술에 의하여 프로세서 코어가 스크래치패드 메모리로부터 필요한 데이터를 읽어오는 과정을 도 2 및 도 3을 참조하여 설명하면 다음과 같다.Meanwhile, a process of reading the necessary data from the scratchpad memory by the processor core according to the related art will be described with reference to FIGS. 2 and 3 as follows.

먼저, 프로세서는 프로세서 코어(200)에서 스크래치패드 메모리(201)에 필요한 데이터가 저장되어 있는지 확인한다.First, the processor checks whether data required for the scratchpad memory 201 is stored in the processor core 200.

상기 확인 결과 필요한 데이터가 상기 스크래치패드 메모리(201)에 저장되어 있는 것으로 판명되면, 상기 프로세서 코어(200)는 해당 데이터를 그 스크래치패드 메모리(201)로부터 바로 읽어온다.If it is determined that the required data is stored in the scratchpad memory 201, the processor core 200 reads the data directly from the scratchpad memory 201.

그러나, 상기 확인 결과 필요한 데이터가 상기 스크래치패드 메모리(201)에 저장되어 있지 않고 외부에 저장되어 있는 것으로 판명되면, 상기 프로세서 코어(200)는 해당 데이터를 가져오기 위해 그 스크래치패드 메모리(201)에 충분한 저장공간을 확보해 둔다.However, if the check result shows that the required data is not stored in the scratchpad memory 201 but is stored externally, the processor core 200 stores the scratchpad memory 201 in order to retrieve the data. Make sure you have enough storage space.

그런데, 이때 상기 스크래치패드 메모리(201)에 충분한 공간을 확보하는데 어려움이 있을 경우에는 그 스크래치패드 메모리(201)의 저장영역 중에서 이미 사용되 고 있는 영역의 일부를 삭제하여야 한다. 이와 같은 경우 어느 영역의 데이터를 삭제하는 것이 바람직한 것인지 분석한다.However, when it is difficult to secure enough space in the scratchpad memory 201, a part of the already used area of the scratchpad memory 201 should be deleted. In this case, it is analyzed which area of data is desirable to delete.

하지만, 상기 스크래치패드 메모리(201)에 충분한 저장공간이 확보되었으면, 상기 프로세서 코어(200)는 필요한 데이터를 그 스크래치패드 메모리(201)에 저장하기 위해 온칩메모리 제어장치(203)에게 데이터 전송에 필요한 정보를 전달한다.However, if sufficient storage space is secured in the scratchpad memory 201, the processor core 200 is required to transmit data to the on-chip memory controller 203 in order to store necessary data in the scratchpad memory 201. Communicate information

이에 따라, 상기 온칩메모리 제어장치(203)는 상기 스크래치패드 메모리(201)와 외부장치 사이의 데이터 전송을 계획하고 그에 따른 제어기능을 수행한다. 이에 의해 상기 스크래치패드 메모리(201)에 필요한 데이터가 모두 저장되었으면 상기 온칩메모리 제어장치(203)는 상기 프로세서 코어(200)에게 현재 데이터가 준비되었다는 사실을 통보한다.Accordingly, the on-chip memory control device 203 plans data transfer between the scratch pad memory 201 and an external device and performs a control function accordingly. As a result, when all necessary data is stored in the scratchpad memory 201, the on-chip memory controller 203 notifies the processor core 200 that the current data is ready.

그런데, 상기 설명에서와 같이 프로세서 코어(200)가 스크래치패드 메모리(201)에서 데이터를 읽어오는 경우, 비록 데이터 전송은 온칩메모리 제어장치(203)에서 독립적으로 이루어지지만 어떤 데이터를 어디에 전송할 것인지를 결정하는 것은 전적으로 프로세서 코어(200)에서 수행되는 프로그램에 의해 관리된다.However, when the processor core 200 reads data from the scratchpad memory 201 as described above, although the data transfer is performed independently by the on-chip memory controller 203, it is determined which data to transfer where. Is entirely managed by a program running on the processor core 200.

상기 프로그램이 사용하는 데이터의 종류 및 용량이 정적으로 정의되는 경우에는 컴파일 단계에서 스크래치패드 메모리(201)에 대한 할당을 결정할 수 있으므로 프로그램이 직접 사용하는 데이터를 관리할 필요가 없다. 그러나 대부분의 프로그램은 조건부수행(conditional-execution) 및 데이터의존수행(data-dependent execution) 특성을 가지고 있어 사용하는 데이터의 종류 및 용량이 동적으로 정의된다.If the type and capacity of the data used by the program are statically defined, the allocation to the scratchpad memory 201 may be determined in the compilation step, and thus it is not necessary to manage the data directly used by the program. However, most programs have conditional execution and data-dependent execution characteristics, and the type and capacity of data used are dynamically defined.

따라서, 이와 같은 경우 상기 스크래치패드 메모리(201)를 어떤 방식으로 사용할 것인지는 즉, 어떠한 데이터를 언제 스크래치패드 메모리(201)상의 어디에 저장할 것인지는 상기 프로그램이 수행됨에 따라 실시간으로 판단할 수 밖에 없다. 이에 따라 기존의 프로그램에 실시간으로 스크래치패드 메모리(201)를 관리하는 기능이 추가되어야 하므로 이로 인한 프로세서의 수행시간 및 코드 크기가 상당히 가중될 수 있다.Therefore, in such a case, it may be determined in real time as the program is executed to determine how to use the scratchpad memory 201, that is, when to store what data on the scratchpad memory 201. Accordingly, since the function of managing the scratchpad memory 201 in real time should be added to the existing program, the execution time and the code size of the processor may be considerably increased.

이와 같이 종래의 스크래치패드 메모리를 내장한 프로세서에 있어서는 프로세서 코어에서 수행되는 프로그램에 SPM을 관리하는 기능이 추가되므로 이에 의해 프로세서의 수행시간 및 코드 크기가 상당히 가중될 수 있다. 이와 같은 경우 본래 SPM을 사용한 의도와 달리 에너지 소모가 증가될 수 있고, 코드 크기가 증가할 경우 더 크고 높은 전송속도를 지원하는 외부메모리가 요구되므로, 이에 의해 제작비용 및 난이도가 증가되는 문제점이 있었다.As described above, in the processor having the conventional scratchpad memory, a function for managing the SPM is added to a program executed in the processor core, thereby significantly increasing the execution time and the code size of the processor. In this case, contrary to the intention of using the original SPM, energy consumption can be increased, and if the code size is increased, an external memory supporting a larger and higher transmission rate is required, thereby increasing the manufacturing cost and difficulty. .

따라서, 본 발명의 목적은 온칩메모리 제어장치에 데이터 관리 기능을 추가하여, 그로 하여금 스크래치패드 메모리에 대한 데이터 할당 및 사용을 최적화 하는 기능을 수행하도록 하는 장치를 제공함에 있다.Accordingly, it is an object of the present invention to provide an apparatus for adding a data management function to an on-chip memory control device so that it can perform a function of optimizing data allocation and use for the scratchpad memory.

상기와 같은 목적을 달성하기 위한 본 발명은, 해당 프로그램을 수행하면서 필요시 온칩메모리 제어장치에 스크래치패드 메모리의 관리정보를 출력하는 프로세서 코어와; 상기 프로세서 코어에서 필요로 하는 데이터를 저장하기 위한 스크래치패 드 메모리와; 상기 프로세서 코어에서 어떠한 데이터가 필요한지 판단하여 스크래치패드 메모리에 저장하고 관리하는 온칩메모리 제어장치로 구성함을 특징으로 한다.The present invention for achieving the above object, the processor core for outputting the management information of the scratch pad memory to the on-chip memory control device, if necessary; A scratchpad memory for storing data required by the processor core; It is characterized by comprising an on-chip memory control device for determining what data is required in the processor core to store and manage in the scratch pad memory.

이하, 첨부한 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 4는 본 발명에 의한 프로세서에서의 온칩메모리 제어장치의 일실시 구현예를 나타낸 블록도로서 이에 도시한 바와 같이, 해당 프로그램을 수행하면서 필요시 온칩메모리 제어장치(403)에 스크래치패드 메모리(401)의 관리정보를 출력하는 프로세서 코어(400)와; 상기 프로세서 코어(400)에서 필요로 하는 데이터를 저장하기 위한 스크래치패드 메모리(401)와; 상기 스크래치패드 메모리(401)에 상기 프로세서 코어(400)나 온칩메모리 제어장치(403)를 선택적으로 연결하기 위한 입력 선택기(402)와; 상기 프로세서 코어(400)에서 어떠한 데이터가 필요한지 판단하여 스크래치패드 메모리(401)에 저장하고 관리하기 위한 온칩메모리 제어장치(403)로 구성하였다.FIG. 4 is a block diagram showing an embodiment of an on-chip memory control apparatus in a processor according to the present invention. As shown in FIG. 4, a scratchpad memory 401 is provided to the on-chip memory control apparatus 403 as necessary while executing a corresponding program. A processor core 400 for outputting management information of the < RTI ID = 0.0 > A scratchpad memory (401) for storing data required by the processor core (400); An input selector (402) for selectively coupling the processor core (400) or on-chip memory controller (403) to the scratchpad memory (401); An on-chip memory controller 403 for determining what data is needed in the processor core 400, and storing and managing the scratch pad in the scratch pad memory 401 is included.

상기 온칩메모리 제어장치(403)는 상기 스크래치패드 메모리(401)에 데이터를 어떤 방식으로 할당할 것인지에 대해 실시간으로 판단하고, 그 판단 결과에 따라 그 스크래치패드 메모리(401)에 저장된 데이터를 관리하고 필요시 그 스크래치패드 메모리(401)와 외부 메모리 사이에 데이터 전송이 이루어지도록 디엠에이부(403C)를 동작시키는 데이터관리 제어부(403A)와; 상기 데이터관리 제어부(403A)가 상기 스크래치패드 메모리(401)에 데이터를 어떤 방식으로 할당할 것인지에 대한 판단을 내리는데 필요한 정보가 저장되는 디엠씨용 메모리(403B)와; 상기 스크래치패드 메모리(401)와 외부 메모리 사이의 데이터 전송을 담당하는 디엠에이부(403C)로 구성되었다.The on-chip memory controller 403 determines in real time how to allocate data to the scratchpad memory 401 and manages and stores the data stored in the scratchpad memory 401 according to the determination result. A data management control unit 403A for operating the DM unit 403C to perform data transfer between the scratch pad memory 401 and the external memory; A memory for memory (403B) for storing information necessary for the data management control unit (403A) to determine how to allocate data to the scratch pad memory (401); It is composed of a DM unit 403C in charge of data transfer between the scratchpad memory 401 and the external memory.

이와 같이 구성한 본 발명의 작용을 상세히 설명하면 다음과 같다.Referring to the operation of the present invention configured in this way in detail as follows.

먼저, 프로세서 코어(400)는 탑재된 프로그램을 수행하면서 필요시 데이터관리 제어부(403A)에 스크래치패드 메모리(401)를 관리하기 위해 필요한 정보를 전달한다. 이때, 전달되는 정보는 상기 프로그램의 수행 상태, 온칩메모리 관리 기법을 포함하지만, 이에 국한되는 것은 아니다. 또한, 상기 정보는 상세하게 또는 요약된 형태로 전달될 수 있으며 그 형태 또한 제약되지 않는다.First, the processor core 400 transmits information necessary for managing the scratchpad memory 401 to the data management controller 403A, if necessary, while executing the mounted program. In this case, the transmitted information includes, but is not limited to, an execution state of the program and an on-chip memory management technique. In addition, the information may be conveyed in detail or in a summarized form, without being limited thereto.

데이터관리 제어부(403A)는 스크래치패드 메모리(401)에 데이터를 어떤 방식으로 할당할 것인지에 대한 판단을 실시간으로 내리게 되는데, 이를 위해 필요한 경우 프로세서 코어(400)로부터 프로그램의 수행 상태(status)에 대한 정보를 전달받을 수 있다. 또한, 상기 데이터관리 제어부(403A)는 실시간으로 판단한 내용에 따라 상기 스크래치패드 메모리(401)에 저장된 데이터를 관리하고 필요한 경우 그 스크래치패드 메모리(401)와 외부 메모리 사이에 데이터 전송이 일어날 수 있도록 디엠에이부(403C)를 동작시킨다. The data management controller 403A makes a determination in real time about how to allocate data to the scratchpad memory 401 in real time. Information about the execution status of a program from the processor core 400 is required for this purpose. Can be delivered. In addition, the data management controller 403A manages the data stored in the scratchpad memory 401 according to the contents determined in real time, and if necessary, the data management control unit 403A can transmit data between the scratchpad memory 401 and the external memory. The A section 403C is operated.

다시 말해서, 상기 데이터관리 제어부(403A)는 상기 프로세서 코어(400)로부터 전달받은 정보를 이용하여 상기 스크래치패드 메모리(401)에 저장될 데이터의 종류와 시점을 자체적으로 판단하게 된다. 특히 상기 데이터관리 제어부(403A)는 이러한 판단을 위해 다양한 SPM 관리 기법을 적용할 수 있으며, 이를 위해 프로그램 가 능한 형태가 될 수 있다. 이와 같은 경우 상기 데이터관리 제어부(403A)의 구조는 마이크로콘트롤러, FSM(FSM: Finite State Machine)의 형태를 포함하며, 이에 국한되지 않는다.In other words, the data management controller 403A determines the type and timing of data to be stored in the scratchpad memory 401 by using the information received from the processor core 400. In particular, the data management controller 403A may apply various SPM management techniques for such determination, and may be a programmable form. In this case, the structure of the data management controller 403A may include a microcontroller or a finite state machine (FSM), but is not limited thereto.

또한, 상기 데이터관리 제어부(403A)는 상기 스크래치패드 메모리(401)를 관리하는데 필요한 경우, 그 스크래치패드 메모리(401), 디엠씨용 메모리(403B) 또는 외부 메모리를 이용할 수 있다. 이와 같은 경우 상기 스크래치패드 메모리(401), 데이터관리 제어부(403A) 또는 외부 메모리에 저장되는 데이터의 형태는 데이터관리 제어부(403A)의 구조 및 그 데이터관리 제어부(403A)에서 수행되는 프로그램에 따라 달라질 수 있다. In addition, the data management control unit 403A may use the scratch pad memory 401, the memory for the memory 403B, or an external memory when necessary to manage the scratch pad memory 401. In this case, the type of data stored in the scratchpad memory 401, the data management controller 403A, or the external memory may vary depending on the structure of the data management controller 403A and the program executed by the data management controller 403A. Can be.

또한, 상기 데이터관리 제어부(403A)는 상기 스크래치패드 메모리(401)를 관리하는 과정에서 외부 장치와 그 스크래치패드 메모리(401)가 데이터를 주고 받을 수 있도록 하기 위하여, 디엠에이부(403C)와 직접 통신할 수 있다. 이 때에 상기 디엠에이부(403C)와 데이터관리 제어부(403A) 사이의 통신 인터페이스는 특정한 형태로 국한되지 않는다.In addition, the data management controller 403A directly communicates with the DM unit 403C in order to allow the external device and the scratchpad memory 401 to exchange data in the process of managing the scratchpad memory 401. Can communicate. At this time, the communication interface between the DM unit 403C and the data management control unit 403A is not limited to a specific form.

상기 디엠씨용 메모리(403B)는 상기 데이터관리 제어부(403A)가 스크래치패드 메모리(401)를 관리하기 위해 필요한 데이터의 저장 장소로 사용된다. 즉, 상기 데이터관리 제어부(403A)가 스크래치패드 메모리(401)에 데이터를 어떤 방식으로 할당할 것인지에 대한 판단을 내리는데 필요한 정보를 저장하는 공간으로 사용된다. 이때, 데이터의 저장 용량과 형태 및 세부적인 사용 형태는 다양하게 정의될 수 있다.The memory 403B for the MC is used as a storage location for data necessary for the data management controller 403A to manage the scratchpad memory 401. That is, the data management control unit 403A is used as a space for storing information necessary for making a decision on how to allocate data to the scratch pad memory 401. At this time, the storage capacity and form of data and the detailed usage form may be defined in various ways.

디엠에이부(403C)는 외부장치와 스크래치패드 메모리(401) 사이에 데이터 전송이 프로세서 코어(400)와 독립적으로 이루어질 수 있도록 데이터전송을 관리하는 하드웨어 장치이다. 상기 디엠에이부(403C)는 다양한 데이터전송모드를 지원할 수 있으며, 상기 데이터관리 제어부(403A) 또는 프로세서 코어(400)와 데이터 전송의 상태에 대한 통신을 할 수 있다.The DM unit 403C is a hardware device that manages data transmission so that data transmission between the external device and the scratchpad memory 401 may be performed independently of the processor core 400. The DM unit 403C may support various data transmission modes, and may communicate with the data management controller 403A or the processor core 400 about the state of data transmission.

한편, 입력 선택기(402)는 상기 스크래치패드 메모리(401)에 상기 프로세서 코어(400)나 온칩메모리 제어장치(403)의 디엠에이부(403C)를 선택적으로 연결하기 위해 사용된 것이다. The input selector 402 is used to selectively connect the DRAM unit 403C of the processor core 400 or the on-chip memory controller 403 to the scratchpad memory 401.

이상에서 상세히 설명한 바와 같이 본 발명은, 프로세서 코어가 현재 수행상태만을 온칩메모리 제어장치 내의 데이터관리 제어부에 알려주면, 그 온칩메모리 제어장치가 자체적으로 프로세서 코어에서 어떠한 데이터가 필요한지 판단하여 스크래치패드 메모리에 저장하고 관리하도록 함으로써, 프로세서 코어가 별도로 스크래치패드 메모리를 관리할 필요가 없어 수행시간 및 코드 크기가 절감되는 효과가 있다.As described in detail above, in the present invention, when the processor core informs the data management control unit of the on-chip memory controller only of the current execution state, the on-chip memory controller determines whether any data is required from the processor core and not the scratch pad memory. By storing and managing, the processor core does not need to manage the scratchpad memory separately, thereby reducing execution time and code size.

또한, 본 발명에서 제안한 데이터관리 제어부는 소형 메모리를 사용할 수 있는 소형의 콘트롤러이므로 다양한 기법으로 스크래치패드 메모리를 관리할 수 있는 효과가 있다.In addition, since the data management controller proposed in the present invention is a small controller that can use a small memory, it is effective to manage the scratchpad memory by various techniques.

또한, 본 발명에서는 프로그램의 특성에 따라서 서로 다른 온칩메모리 관리 기법을 적용함으로써, 온칩메모리 사용을 최적화할 수 있는 효과가 있다.In addition, in the present invention, by using different on-chip memory management techniques according to the characteristics of the program, there is an effect that can optimize the use of on-chip memory.

Claims (7)

해당 프로그램을 수행하면서 필요시 온칩메모리 제어장치에 스크래치패드 메모리의 관리정보를 출력하는 프로세서 코어와;A processor core for outputting management information of the scratchpad memory to the on-chip memory controller when necessary, while executing the corresponding program; 상기 프로세서 코어에서 필요로 하는 데이터를 저장하기 위한 스크래치패드 메모리와;A scratchpad memory for storing data required by the processor core; 상기 프로세서 코어에서 어떠한 데이터가 필요한지 판단하여 해당 데이터를 상기 스크래치패드 메모리에 저장하고 관리하기 위한 온칩메모리 제어장치로 구성한 것을 특징으로 하는 프로세서에서의 온칩메모리 제어장치.And an on-chip memory control device configured to determine what data is needed in the processor core and to store and manage the data in the scratchpad memory. 제1항에 있어서, 상기 스크래치패드 메모리에 상기 프로세서 코어나 온칩메모리 제어장치 내의 디엠에이부를 선택적으로 연결하기 위한 입력 선택기를 더 포함하여 구성한 것을 특징으로 하는 프로세서에서의 온칩메모리 제어장치.The on-chip memory control device of claim 1, further comprising an input selector for selectively connecting a DRAM unit in the processor core or an on-chip memory control device to the scratchpad memory. 제1항에 있어서, 온칩메모리 제어장치는 The apparatus of claim 1, wherein the on-chip memory controller 상기 스크래치패드 메모리에서의 데이터 할당 및 관리를 담당하는 데이터관리 제어부와;A data management controller in charge of allocating and managing data in the scratchpad memory; 상기 데이터관리 제어부가 상기 스크래치패드 메모리에 데이터를 어떤 방식으로 할당할 것인지에 대한 판단을 내리는데 필요한 정보가 저장되는 디엠씨용 메모리와;A memory for a DM which stores information necessary for the data management controller to determine how to allocate data to the scratch pad memory; 상기 스크래치패드 메모리와 외부 메모리 사이의 데이터 전송을 담당하는 디엠에이부로 구성된 것을 특징으로 하는 프로세서에서의 온칩메모리 제어장치.An on-chip memory control device for a processor, characterized in that the DRAM unit which is responsible for data transfer between the scratch pad memory and the external memory. 제3항에 있어서, 데이터관리 제어부는 상기 스크래치패드 메모리와 외부 메모리 사이에 데이터 전송을 위해 상기 디엠에이부의 동작을 제어하도록 구성된 것을 특징으로 하는 프로세서에서의 온칩메모리 제어장치.The on-chip memory control apparatus of claim 3, wherein the data management controller is configured to control an operation of the DM unit for data transmission between the scratch pad memory and an external memory. 제3항에 있어서, 데이터관리 제어부는 마이크로콘트롤러 또는 FSM 중 어느 하나로 구현된 것을 특징으로 하는 프로세서에서의 온칩메모리 제어장치.The on-chip memory control device of claim 3, wherein the data management controller is implemented by any one of a microcontroller or an FSM. 제3항에 있어서, 데이터관리 제어부는 외부 장치와 상기 스크래치패드 메모리가 데이터를 주고 받을 수 있도록 하기 위해 상기 디엠에이부와 직접 통신할 수 있도록 구성된 것을 특징으로 하는 프로세서에서의 온칩메모리 제어장치.The on-chip memory control device of claim 3, wherein the data management controller is configured to communicate directly with the DM unit so that an external device and the scratchpad memory can exchange data. 제3항에 있어서, 디엠에이부는 다양한 데이터전송모드를 지원하거나, 상기 데이터관리 제어부 또는 프로세서 코어와 데이터 전송의 상태에 대한 통신을 수행하도록 구성된 것을 특징으로 하는 프로세서에서의 온칩메모리 제어장치.4. The on-chip memory control apparatus of claim 3, wherein the DM unit is configured to support various data transfer modes or to communicate with the data management controller or the processor core about the state of data transfer.
KR1020060008567A 2006-01-26 2006-01-26 On-chip memory controller in processor KR20070078335A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060008567A KR20070078335A (en) 2006-01-26 2006-01-26 On-chip memory controller in processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060008567A KR20070078335A (en) 2006-01-26 2006-01-26 On-chip memory controller in processor

Publications (1)

Publication Number Publication Date
KR20070078335A true KR20070078335A (en) 2007-07-31

Family

ID=38502691

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060008567A KR20070078335A (en) 2006-01-26 2006-01-26 On-chip memory controller in processor

Country Status (1)

Country Link
KR (1) KR20070078335A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100944532B1 (en) * 2009-03-23 2010-03-03 서울대학교산학협력단 Scratch pad memory system and dynamic memory management method thereof
KR20130067257A (en) 2010-04-28 2013-06-21 기븐 이미징 리미티드 System and method for displaying portions of in-vivo images

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100944532B1 (en) * 2009-03-23 2010-03-03 서울대학교산학협력단 Scratch pad memory system and dynamic memory management method thereof
KR20130067257A (en) 2010-04-28 2013-06-21 기븐 이미징 리미티드 System and method for displaying portions of in-vivo images

Similar Documents

Publication Publication Date Title
CN103034617B (en) For realizing buffer structure and the management method of the storage of reconfigurable system configuration information
US8843705B2 (en) Read and write aware cache with a read portion and a write portion of a tag and status array
CN100495361C (en) Method and system for maintenance of memory consistency
CN100489809C (en) Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor
US8566832B1 (en) Power optimization for multi-core devices having a shared memory manager
KR20210147976A (en) Systems and methods for scalable and coherent memory devices
KR101511972B1 (en) Methods and apparatus for efficient communication between caches in hierarchical caching design
US8954676B2 (en) Cache with scratch pad memory structure and processor including the cache
JP2013065150A (en) Cache memory device, processor, and information processor
CN102332290A (en) Apparatuses for managing and accessing flash memory module
CN105493053A (en) Cache partitioning in a multicore processor
KR20120012377A (en) Information processing apparatus and information processing method
KR20150076187A (en) Communication of message signalled interrupts
KR101472967B1 (en) Cache memory and method capable of write-back operation, and system having the same
CN103999063B (en) The Memory Sharing of processor
CN101566976A (en) Information processing apparatus, information processing method, and computer program
CN105094691A (en) Data manipulation methods and system, and devices
EP3274860B1 (en) A method, apparatus and system for optimizing cache memory transaction handling in a processor
CN115794682A (en) Cache replacement method and device, electronic equipment and storage medium
CN112988388A (en) Memory page management method and computing device
CN104298474A (en) External connection computing device acceleration method and device for implementing method on the basis of server side and external cache system
RU2484520C2 (en) Adaptive cache organisation for single-chip multiprocessors
KR20070078335A (en) On-chip memory controller in processor
CN100380347C (en) Semiconductor
CN104252423A (en) Consistency processing method and device based on multi-core processor

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination