KR100455116B1 - How to Access Memory in an Embedded System - Google Patents
How to Access Memory in an Embedded System Download PDFInfo
- Publication number
- KR100455116B1 KR100455116B1 KR1019970054372A KR19970054372A KR100455116B1 KR 100455116 B1 KR100455116 B1 KR 100455116B1 KR 1019970054372 A KR1019970054372 A KR 1019970054372A KR 19970054372 A KR19970054372 A KR 19970054372A KR 100455116 B1 KR100455116 B1 KR 100455116B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- cache table
- secondary cache
- units
- area
- Prior art date
Links
Images
Classifications
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
본 발명은 내장 시스템의 메모리 액세스 방법에 관한 것으로 특히, 씨피유(CPU)와 디엠에이(DMA)가 동시에 액세스할 수 있는 영역에 대해서만 선택적으로 2차 캐쉬 테이블에 캐시 불가능으로 설정함으로써 디엠에이(DMA)의 메모리 공유를 허용하면서도 캐쉬를 사용할 수 있어 메모리의 손실을 최소화함과 동시에 시스템의 성능을 향상시키도록 창안한 것이다. 이러한 본 발명은 1MB 단위로 메모리 관리를 위한 1차 캐쉬 테이블이 작성된 메모리 영역에서 캐쉬 또는 접근 권한을 구분할 필요가 있는 메모리 영역을 판단하는 단계와, 상기에서 판단한 메모리의 영역을 소정 단위로 분할하는 단계와, 상기에서 소정 단위로 분할된 메모리 영역에 대하여 4KB 단위로 메모리 관리를 위한 2차 캐쉬 테이블을 작성하는 단계와, 상기에서 2차 캐쉬 테이블이 작성된 메모리 영역중 디엠에이의 액세스 가능 영역을 판단하는 단계와, 상기에서 디엠에이의 액세스 가능 영역에 대해서만 2차 캐쉬 테이블에 캐쉬 불가능을 설정하는 단계를 수행함을 특징으로 한다.The present invention relates to a memory access method of an embedded system, and in particular, by selectively disabling the secondary cache table in the secondary cache table only for a region that can be simultaneously accessed by CPU and DMA. It is designed to improve system performance while minimizing memory loss by allowing cache sharing while allowing memory sharing. The present invention comprises the steps of determining the memory area that needs to distinguish the cache or access rights in the memory area in which the primary cache table for memory management in 1MB units, and dividing the area of the memory determined in the predetermined unit And creating a secondary cache table for memory management in units of 4 KB with respect to the memory regions divided into predetermined units, and determining an accessible region of the DM among the memory regions in which the secondary cache table is created. And setting the non-cacheable in the secondary cache table only for the accessible region of the DM.
Description
본 발명은 내장(Embedded) 시스템에 관한 것으로 특히, 내장 시스템의 메모리 액세스 방법에 관한 것이다.The present invention relates to an embedded system, and more particularly, to a memory access method of an embedded system.
최근 발표되는 RISC 타입의 씨피유(CPU)는 대부분 가상 메모리와 메모리 캐쉬(cache)를 수행할 수 있도록 메모리 관리 장치(MMU)를 구비하고 있다.Most recently announced RISC type CPUs include a memory management unit (MMU) to perform virtual memory and memory cache.
그러나, 내장 시스템에서는 씨피유(CPU) 이외에 다른 장치(DMA 콘트롤러,ECP 콘트롤러)도 메모리를 액세스할 수 있어야 하므로 씨피유(CPU)에 대한 캐쉬(cache)만을 지원하는 기존의 메모리 관리 장치(MMU)를 구비한 시스템을 그대로 사용할 수 없었다.However, in an embedded system, other devices (DMA controllers, ECP controllers) must be able to access the memory in addition to the CPU, and thus, there is an existing memory management unit (MMU) that supports only the cache for the CPU. One system could not be used as is.
또한, 메모리 캐쉬를 수행할 경우 30∼40% 의 성능을 기대할 수 있음에도 대개 메모리 관리 장치(MMU)를 사용하지 않을 뿐더러 상용화된 실시간 운영 시스템(OS)을 구비한 내장 시스템에서는 경비가 크다는 이유로 메모리 관리 장치(MMU)를 지원하지 않고 있다.In addition, even if memory caching is expected to achieve 30 to 40% performance, memory management is not usually used, and memory management is more expensive in embedded systems equipped with commercially available real-time operating systems (OS). The device (MMU) is not supported.
범용 디엠에이(DMA)를 구비한 시스템에서 디엠이에(DMA)는 씨피유(CPU)와는 독립적으로 특정 메모리를 액세스한다.In a system with a general purpose DMA, the DMA accesses a particular memory independently of the CPU.
따라서, 씨피유(CPU)의 캐시 메모리에 읽혀져 있던 실제 메모리의 내용이 디엠이에(DMA)에 의해 갱신되는 경우가 발생할 수 있다.Therefore, a case where the contents of the actual memory read in the cache memory of the CPU may be updated by the DMA.
즉, 도1 의 예시도에 도시된 바와 같이 디엠에이(DMA)에 의해 메인 메모리에 저장된 값(X=100)이 'X=50'으로 갱신될 수 있다.That is, as shown in the exemplary diagram of FIG. 1, the value (X = 100) stored in the main memory by the DMA may be updated to 'X = 50'.
이러한 문제점은 전형적으로 스누피(snoopy) 캐쉬 콘트롤러나 메모리 모니터와 같은 하드웨어를 구비하여 해결할 수 있다.This problem is typically solved with hardware such as a snoopy cache controller or a memory monitor.
그러나, 하드웨어의 비용을 줄여야 하는 내장(Embedded) 시스템에서는 적절한 해결책이 되지 못한다.However, in an embedded system where the cost of hardware has to be reduced, it is not a suitable solution.
이러한 문제를 소프트웨어적으로 해결하려면 디엠에이(DMA)와 씨피유(CPU)가 동시에 접근할 수 있는 메모리 영역은 캐시를 하지 못하도록 설정하여야 하며 이를 위하여 기존의 ARM7 CPU에 메모리 캐쉬와 라이트 버퍼를 사용할 수 있도록 메모리관리 장치(MMU)를 부가한 ARM710a CPU 를 개발하였다.In order to solve this problem in software, memory areas that can be accessed by both DMA and CPU can be cached so that the memory cache and write buffer can be used for the existing ARM7 CPU. We developed ARM710a CPU with memory management unit (MMU).
ARM710a CPU 에서 메모리 관리 장치(MMU)를 사용하는 일반적인 방법은 32비트의 어드레스 공간(4GB)를 1MB 씩의 단위로 나누어 캐쉬 여부, 라이트 버퍼의 사용 여부 및 접근 권한을 설정하는 것이다.A common way to use a memory management unit (MMU) in an ARM710a CPU is to divide the 32-bit address space (4GB) into 1MB increments to configure whether to cache, write buffers, and access rights.
즉, ARM710a 씨피유(CPU)는 1MB 의 단위로 메모리를 관리할 수 있는 도2 에 도시된 바와 같은 1차 캐쉬 테이블과 4KB 단위로 메모리를 관리할 수 있는 도3 에 도시된 바와 같은 2차 캐쉬 테이블을 사용하여 메모리에 대한 캐쉬 가능 여부 및 라이트 버퍼 사용 여부를 설정한다.That is, the ARM710a CPU may have a primary cache table as shown in FIG. 2 that can manage memory in units of 1 MB, and a secondary cache table as shown in FIG. 3 that can manage memory in units of 4 KB. Use to set whether to cache the memory and to use the write buffer.
상기에서 1차 캐쉬 테이블의 크기는 16KB 이고 2차 캐쉬 테이블의 크기는 1MB 당 1KB 이므로 전체 주소 영역에 대하여 2차 캐쉬 테이블을 설정하면 4MB 의 메모리를 필요로 한다.Since the size of the primary cache table is 16KB and the size of the secondary cache table is 1KB per 1MB, setting the secondary cache table for the entire address area requires 4MB of memory.
따라서, ARM710a 씨피유(CPU)에서 캐쉬를 사용할 때에는 도2 에 도시된 바와 같이 1차 캐쉬 테이블만을 사용하는 것이 일반적이다.Therefore, when using the cache in the ARM710a CPU (CPU) it is common to use only the primary cache table as shown in FIG.
그러나, 일반적으로 내장(Embedded)시스템은 대개 전체 메모리가 1~2MB 로 제한되며 이 경우 전체 메모리에 대하여 같은 사용 여부와 접근 권한을 설정할 수 밖에 없으므로 디엠에이(DMA)를 사용할 때는 캐쉬를 전혀 사용하지 못하는 문제점이 있다.In general, however, the embedded system is usually limited to 1 ~ 2MB of total memory. In this case, the cache cannot be used at all when using DMA. There is a problem.
따라서, 본 발명은 종래의 문제점을 개선하기 위하여 씨피유(CPU)와 디엠에이(DMA)가 동시에 액세스할 수 있는 영역에 대해서만 선택적으로 2차 캐쉬 테이블에 캐시 불가능으로 설정함으로써 디엠에이(DMA)의 메모리 공유를 허용하면서도 캐쉬를 사용할 수 있어 메모리의 손실을 최소화함과 동시에 시스템의 성능을 향상시키도록 창안한 내장 시스템의 메모리 액세스 방법을 제공함에 목적이 있다.Therefore, in order to improve the conventional problem, the present invention selectively sets a non-cacheable value in a secondary cache table only for a region that can be accessed by CPU and DMA simultaneously. Its purpose is to provide a memory access method of the built-in system, which allows the sharing while allowing the cache to be used, thereby minimizing the loss of memory and improving the performance of the system.
도1은 종래의 메모리 값 갱신을 보인 예시도.1 is an exemplary view showing a conventional memory value update.
도2는 일반적인 1차 캐쉬 테이블의 구성을 보인 예시도.Figure 2 is an exemplary view showing the configuration of a general primary cache table.
도3은 일반적인 2차 캐쉬 테이블의 구성을 보인 예시도.Figure 3 is an exemplary view showing the configuration of a general secondary cache table.
도4는 본 발명에서 캐쉬 테이블의 구성을 보인 예시도.Figure 4 is an exemplary view showing the configuration of the cache table in the present invention.
도5는 본 발명에서 1차 캐쉬 테이블의 포맷을 보인 예시도.Figure 5 is an exemplary view showing the format of the primary cache table in the present invention.
도6은 본 발명에서 2차 캐쉬 테이블의 포맷을 보인 예시도.Figure 6 is an exemplary view showing the format of the secondary cache table in the present invention.
* 도면의 주요부분에 대한 부호 설명 *Explanation of symbols on the main parts of the drawings
201 : 1차 캐쉬 테이블 202 : 2차 캐쉬 테이블201: primary cache table 202: secondary cache table
본 발명은 상기의 목적을 달성하기 위하여 1MB 단위로 메모리 관리를 위한 1차 캐쉬 테이블과 4KB 단위로 메모리 관리를 위한 2차 캐쉬 테이블을 작성하여 메모리를 액세스하는 방법에 있어서, 1차 캐쉬 테이블이 작성된 메모리 영역에서 캐쉬 또는 접근 권한을 구분할 필요가 있는 메모리 영역을 판단하는 단계와, 상기에서 판단한 메모리의 영역을 소정 단위로 분할하는 단계와, 상기에서 소정 단위로 분할된 메모리 영역에 대하여 2차 캐쉬 테이블을 작성하는 단계와, 상기에서 2차 캐쉬 테이블이 작성된 메모리 영역중 디엠에이의 액세스 가능 영역을 판단하는 단계와, 상기에서 디엠에이의 액세스 가능 영역에 대해서만 2차 캐쉬 테이블에 캐쉬 불가능을 설정하는 단계를 수행함을 특징으로 한다.The present invention provides a method of accessing memory by creating a primary cache table for memory management in units of 1 MB and a secondary cache table for memory management in units of 4 KB in order to achieve the above object. Determining a memory area in which a cache or access authority needs to be distinguished from the memory area; dividing the memory area determined by the predetermined unit; and a secondary cache table for the memory area divided by the predetermined unit. Determining the accessible region of the DM in the memory region in which the secondary cache table is created, and setting the non-cacheable in the secondary cache table only for the accessible region of the DM. Characterized in that performing.
본 발명의 제1 특징은 하드웨어를 사용함이 없이 순수하게 소프트웨어만으로 메모리 관리를 실행하는 것이다.A first feature of the present invention is to perform memory management purely in software without using hardware.
본 발명의 제2 특징은 2차 캐쉬 테이블을 사용함에 있어서 실제로 사용하는 메모리에 대해서만 테이블을 유지하여 메모리의 낭비를 최소화하는 것이다.A second feature of the present invention is to minimize waste of memory by maintaining the table only for the memory actually used in using the secondary cache table.
본 발명의 제3 특징은 디엠에이(DMA)와 씨피유(CPU)의 메모리 공유를 허용하고 그 공유 영역은 캐쉬를 디스에이블함으로써 모듈간의 복잡도와 상호연관관계를 줄이도록 하는 것이다.A third aspect of the present invention is to allow memory sharing between the DMA and the CPU, and the sharing area disables the cache to reduce the complexity and correlation between modules.
본 발명의 제4 특징은 실시간 운영 시스템에 영향을 줄 수 있는 부분을 제거하여 실시간 운영 시스템(OS)과 독립적으로 동작하도록 하는 것이다.A fourth aspect of the present invention is to remove parts that may affect the real-time operating system to operate independently of the real-time operating system (OS).
이하, 본 발명을 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the drawings.
도4 는 본 발명의 실시예를 위한 캐쉬 테이블의 구성을 보인 예시도로서 이에 도시한 바와 같이, 1MB 단위로 분할된 메모리 영역에 대한 2차 캐쉬 테이블의 주소 또는 실제 메모리 주소를 1차 캐쉬 테이블(201)에 기록하고 상기 1차 캐쉬 테이블(201)의 목록(201-1~201-4)중 캐쉬 또는 접근 권한을 구분할 필요가 있는 영역에 대한 테이블 목록(201-1)에 대해 4KB 단위로 분할된 메모리 영역에 대한 실제 메모리 주소를 2차 캐쉬 테이블(202)에 작성하며 상기에서 4KB 단위로 분할된 메모리 영역중 캐쉬 또는 접근 권한이 주어지는 영역에 대한 상기 2차 캐쉬 테이블(202)의 목록(202-3,202-5)에 캐쉬 불가능을 설정하고 캐쉬 또는 접근 권한이 주어지지 않는 영역에 대한 상기 2차 캐쉬 테이블(202)의 목록(202-1,202-2,202-4,202-6)에 캐쉬 가능을 설정하여 메모리 영역을 액세스하도록 구성한다.FIG. 4 is a diagram illustrating a configuration of a cache table for an embodiment of the present invention. As shown in FIG. 4, an address of a secondary cache table or an actual memory address for a memory area partitioned in units of 1 MB may be stored in a primary cache table ( 201) and divides the table list 201-1 into areas of the primary cache table 201 that need to distinguish cache or access authority among the lists 201-1 to 201-4 in units of 4 KB. A list 202 of the secondary cache table 202 for the memory area partitioned in the 4KB unit in which the actual memory address of the allocated memory area is given and the cache or access right is given. -3,202-5) to disable caching and cacheable to the list 202-1, 202-2, 202-4, 202-6 of the secondary cache table 202 for areas where no cache or access rights are granted. To access the zone Configure.
이와같이 구성한 본 발명의 실시예에 대한 동작 및 작용 효과를 설명하면 다음과 같다.Referring to the operation and effect of the embodiment of the present invention configured as described above are as follows.
먼저, 본 발명은 메모리를 1MB 단위로 분할하여 그 분할된 영역에 대한 2차 캐쉬 테이블의 주소 또는 실제 메모리 주소를 1차 캐쉬 테이블(201)의 목록(201-1~201-4)에 기록하는데, 상기 목록(201-1)에는 캐쉬 또는 접근 권한이 주어지는 영역을 액세스하기 위하여 2차 캐쉬 테이블(202)의 주소를 기록하고 상기 목록(201-2∼201-4)에는 캐쉬 또는 접근 권한이 주어지지 않는 영역을 액세스하기 위한 실제메모리 주소를 기록한다.First, the present invention divides the memory into units of 1MB and records the address or the actual memory address of the secondary cache table for the partitioned area in the list 201-1 to 201-4 of the primary cache table 201. In the list 201-1, the address of the secondary cache table 202 is recorded to access an area to which a cache or access right is given, and the list 201-2 to 201-4 is given a cache or access right. Record the actual memory address for accessing unclaimed areas.
이 후, 캐쉬 또는 접근 권한이 주어지는 영역은 4KB 단위로 분할하며 그 분할된 영역에 대한 실제 메모리 주소는 2차 캐쉬 테이블(202)에 기록한다.Thereafter, the region to which the cache or the access right is given is divided into 4 KB units, and the actual memory address of the divided region is recorded in the secondary cache table 202.
만일, 실제로 메모리 영역을 구분하여 관리할 필요가 있는 부분이 '1MB'라면 2차 캐쉬 테이블(202)의 크기는 '1KB'에 해당하는 메모리만이 사용된다.If the portion of the memory area that needs to be managed separately is '1MB', only the memory corresponding to the size of the secondary cache table 202 is '1KB' is used.
이때, 2차 캐쉬 테이블(202)의 목록(202-1∼202-6)에는 디엠에이(DMA)의 접근 가능 여부에 따라 캐쉬 가능 또는 캐쉬 불가능을 설정할 수 있는데, 상기 목록(202-1,202-2,202-4,202-6)에는 디엠에이(DMA)에 의해 액세스가 불가능한 영역의 실제 주소와 캐쉬 가능이 기록되며 상기 목록(202-3,202-5)에는 디엠에이(DMA)에 의해 액세스가 가능한 영역의 실제 주소와 캐쉬 불가능이 기록된다.In this case, in the lists 202-1 to 202-6 of the secondary cache table 202, cacheable or non-cacheable may be set according to whether the DMA is accessible. The lists 202-1, 202-2, and 202 may be set. -4,202-6 records the real addresses and cacheables of areas that are inaccessible by DMAs, and lists 202-3 and 202-5 list the real addresses of areas that are inaccessible by DMAs. And uncacheable are logged.
이에 따라, 디엠에이(DMA)에 의한 액세스가 불가능한 영역은 캐쉬와 라이트 버퍼를 사용하여 액세스함으로써 메모리의 성능을 향상시킬 수 있다.As a result, the memory that is not accessible by the DMA can be accessed by using a cache and a write buffer.
즉, 본 발명은 도4 의 예시도에 도시한 바와 같이, 메모리 영역을 분할하여 캐쉬 또는 접근 권한을 구분할 필요가 있는 영역에 대해서만 2차 캐쉬 테이블(202)을 유지하고 그 외의 부분은 1차 캐쉬 테이블(201)에서 직접 실제 메모리를 매핑하는 것이다.That is, the present invention maintains the secondary cache table 202 only for the regions where the memory or the access rights need to be divided by dividing the memory region, as shown in the exemplary diagram of FIG. It is to map the real memory directly in the table 201.
만일, 디램(DRAM)의 주소가 '0x00000000'부터 '0x00100000'까지의 '1MB'이고 이중 처음 '512KB'만을 캐쉬 가능하도록 설정하려면 다음과 같이 테이블을 설정하면 된다.If the address of DRAM is '1MB' from '0x00000000' to '0x00100000' and only the first '512KB' is cacheable, the table can be set as follows.
먼저, 1차 캐쉬 테이블(201)과 2차 캐쉬 테이블(202)의 시작 주소를 아래와같이 설정한다.First, start addresses of the primary cache table 201 and the secondary cache table 202 are set as follows.
1차 캐쉬 테이블의 시작 주소 : 0x60000000 (ROM)Starting address of the primary cache table: 0x60000000 (ROM)
2차 캐쉬 테이블의 시작 주소 : 0x60004000 (1차 캐쉬 테이블 바로 다음)Starting address of secondary cache table: 0x60004000 (just after the primary cache table)
이 후, 도5 와 같은 포맷의 1차 캐쉬 테이블(201)에 전체 주소 공간에 대한 캐쉬 여부를 설정하며, 그 예는 아래와 같다.Thereafter, whether to cache the entire address space is set in the primary cache table 201 having the format as shown in FIG. 5, and an example thereof is as follows.
0x60000000 : 0x60004011 ; 2차 캐쉬 테이블 참조 - 처음 1MB0x60000000: 0x60004011; See Secondary Cache Table-First 1 MB
0x60000004 : 0x0010001e ; 참조 불가능 영역 - 실제 메모리 없음0x60000004: 0x0010001e; Unreferenceable Area-No Physical Memory
0x60000008 : 0X0020001e ; 참조 불가능 영역 - 실제 메모리 없음0x60000008: 0X0020001e; Unreferenceable Area-No Physical Memory
마지막으로 도6 과 같은 포맷의 2차 캐쉬 테이블(202)에 세부 분할이 필요한 주소 공간에 대한 캐쉬 여부를 설정하며 그 예는 아래와 같다.Finally, whether or not to cache an address space requiring detailed partitioning is set in the secondary cache table 202 having the format as shown in FIG. 6.
0x60000400 : 0x0000000e ; 캐쉬 가능, 버퍼 사용 가능 - 처음 4KB0x60000400: 0x0000000e; Cacheable, buffers available-first 4KB
0x60000404 : 0x00001002 ; 캐쉬 불가능, 버퍼 사용 불가능 - 다음 4KB0x60000404: 0x00001002; Uncacheable, buffer not available-next 4KB
따라서, 상기와 같이 1,2차 캐쉬 테이블(201)(202)를 설정한 후 시스템을 초기화할 때 메모리 관리 장치(MMU)를 인에이블시키면 실시간 운영 시스템(OS)에서 별도의 조작이 없어도 캐쉬를 선택적으로 사용할 수 있다.Therefore, if the memory management unit (MMU) is enabled when initializing the system after setting the primary and secondary cache tables 201 and 202 as described above, the cache may be removed without any separate operation in the real-time operating system (OS). Optionally available.
상기에서 상세히 설명한 바와 같이 본 발명은 메모리 캐쉬를 선택적으로 수행할 수 있으므로 내장 시스템에 별도의 하드웨어 구비를 위한 추가 비용 발생을 제거하고 메모리의 손실을 최소화하여 시스템의 성능을 향상시키는 효과가 있다.As described in detail above, the present invention can selectively perform the memory cache, thereby eliminating the additional cost of having additional hardware in the embedded system and minimizing the loss of memory, thereby improving the performance of the system.
또한, 본 발명을 시스템의 초기화 루틴에 적용하면 실시간 운영 시스템(OS)의 종류에 상관없이 캐쉬와 라이트 버퍼를 사용할 수 있으므로써 융통성있는 시스템 개발을 꾀할 수 있는 효과가 있다.In addition, if the present invention is applied to the initialization routine of the system, the cache and the write buffer can be used regardless of the type of the real-time operating system (OS), so that the system development can be made flexible.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970054372A KR100455116B1 (en) | 1997-10-23 | 1997-10-23 | How to Access Memory in an Embedded System |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970054372A KR100455116B1 (en) | 1997-10-23 | 1997-10-23 | How to Access Memory in an Embedded System |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990033115A KR19990033115A (en) | 1999-05-15 |
KR100455116B1 true KR100455116B1 (en) | 2004-12-30 |
Family
ID=49382055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970054372A KR100455116B1 (en) | 1997-10-23 | 1997-10-23 | How to Access Memory in an Embedded System |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100455116B1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
KR950009444A (en) * | 1993-09-20 | 1995-04-24 | 윌리암 티. 엘리스 | Cache Consistency Method and Cache Consistency Data Processing System |
JPH08101783A (en) * | 1994-09-30 | 1996-04-16 | Kubota Corp | File system |
KR200163540Y1 (en) * | 1995-12-27 | 2000-01-15 | 서평원 | Arbitrating circuit for accessing sram |
-
1997
- 1997-10-23 KR KR1019970054372A patent/KR100455116B1/en not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4972338A (en) * | 1985-06-13 | 1990-11-20 | Intel Corporation | Memory management for microprocessor system |
KR950009444A (en) * | 1993-09-20 | 1995-04-24 | 윌리암 티. 엘리스 | Cache Consistency Method and Cache Consistency Data Processing System |
JPH08101783A (en) * | 1994-09-30 | 1996-04-16 | Kubota Corp | File system |
KR200163540Y1 (en) * | 1995-12-27 | 2000-01-15 | 서평원 | Arbitrating circuit for accessing sram |
Also Published As
Publication number | Publication date |
---|---|
KR19990033115A (en) | 1999-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4772795B2 (en) | Address translation performance improvement using a translation table that covers a large address capacity | |
EP3662378B1 (en) | Address translation cache | |
US8352694B2 (en) | Method of controlling memory access | |
US4669043A (en) | Memory access controller | |
US8190839B2 (en) | Using domains for physical address management in a multiprocessor system | |
US8176282B2 (en) | Multi-domain management of a cache in a processor system | |
US6260131B1 (en) | Method and apparatus for TLB memory ordering | |
US5404489A (en) | System and method for minimizing cache interruptions by inhibiting snoop cycles if access is to an exclusive page | |
KR101563659B1 (en) | Extended page size using aggregated small pages | |
US6981072B2 (en) | Memory management in multiprocessor system | |
KR20070070121A (en) | Unified memory and controller | |
US10664400B2 (en) | Address translation cache partitioning | |
US5933848A (en) | System for managing the caching of data of a mass storage within a portion of a system memory | |
JPH0816479A (en) | Memory-address space management | |
JP2018511120A (en) | Cache maintenance instruction | |
US6952761B2 (en) | Bus interface selection by page table attributes | |
US5954812A (en) | Apparatus for caching system management memory in a computer having a system management mode employing address translation | |
US6748512B2 (en) | Method and apparatus for mapping address space of integrated programmable devices within host system memory | |
US20220327062A1 (en) | Translation lookaside buffer invalidation | |
KR100455116B1 (en) | How to Access Memory in an Embedded System | |
US8555013B1 (en) | Method and system for memory protection by processor carrier based access control | |
JPS6184755A (en) | Data processing system | |
CN115934243A (en) | System and method for controlling access to a physical address space | |
CA2029628A1 (en) | Translation look aside buffer with parallel exception checking and update bypass | |
US20220382577A1 (en) | Hardware Virtual Machine for Controlling Access to Physical Memory Space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20070918 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |