KR19980085088A - Virtual memory system and its processing method - Google Patents
Virtual memory system and its processing method Download PDFInfo
- Publication number
- KR19980085088A KR19980085088A KR1019970021048A KR19970021048A KR19980085088A KR 19980085088 A KR19980085088 A KR 19980085088A KR 1019970021048 A KR1019970021048 A KR 1019970021048A KR 19970021048 A KR19970021048 A KR 19970021048A KR 19980085088 A KR19980085088 A KR 19980085088A
- Authority
- KR
- South Korea
- Prior art keywords
- page
- tag
- directory
- page table
- transmitted
- Prior art date
Links
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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
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)
Abstract
본 발명은 가상 어드레스의 페이지 번호를 분류하여 물리적 어드레스를 억세스하기 위한 가상 메모리 시스템에 관한 것으로서, 가상 어드레스의 페이지 번호를 페이지 디렉토리 번호, 페이지 테이블 번호 및 페이지 오프셋으로 분류하기 위한 페이지 번호 분류수단과, 페이지 번호 분류수단 및 페이지 테이블 태그로부터 각각 전달된 페이지 테이블 번호들이 일치하는지를 비교하기 위한 비교기와, 페이지 디렉토리 태그 및 비교기로부터 각각 전달된 신호들에 의해 페이지 디렉토리 번호 및 페이지 테이블 번호가 각각 페이지 디렉토리 태그 및 페이지 테이블 태그에 존재하는지를 판별하기 위한 페이지 번호 판별수단과, 페이지 디렉토리 태그 및 비교기로부터 각각 전달된 신호에 의해 변환 색인 버퍼를 인에이블시킬 것인지를 판별하기 위한 인에이블 판별수단과, 변환 색인 버퍼로부터 전달되는 물리적 어드레스를 저장하기 위한 물리적 어드레스 태그와, 페이지 번호 판별수단으로부터 전달된 신호에 의해 캐쉬 메모리로부터 전달된 데이터를 선택하여 출력하기 위한 데이터 선택기를 포함한다.The present invention relates to a virtual memory system for classifying a page number of a virtual address to access a physical address, comprising: page number classification means for classifying a page number of a virtual address into a page directory number, a page table number, and a page offset; A page directory number and a page table number are respectively determined by the comparator for comparing whether the page table numbers transmitted from the page number classification means and the page table tag match, and the signals transmitted from the page directory tag and the comparator, respectively. Page number determining means for determining whether a page table tag exists, and enabling to determine whether to enable the conversion index buffer by signals transmitted from the page directory tag and the comparator, respectively. Determination means, converting a data selector for selecting and outputting the data transferred from the cache memory by a signal transmitted from the physical address tag and the page number determination means for storing the physical address transmitted from the buffer index.
Description
본 발명은 가상 메모리 시스템에 관한 것으로서, 보다 구체적으로 가상 어드레스의 페이지 번호를 분류하여 물리적 어드레스를 억세스하기 위한 가상 메모리 시스템 및 그 프로세싱 방법에 관한 것이다.The present invention relates to a virtual memory system, and more particularly, to a virtual memory system and a processing method thereof for classifying page numbers of virtual addresses to access a physical address.
일반적으로, 가상 메모리 시스템에서 메모리에 데이터를 쓰거나 읽어내기 위해서는 먼저 가상 어드레스를 만든 다음, 이 어드레스를 원하는 데이터가 있는 메모리의 물리적 주소로 변환하여 사용하였다.In general, in order to write or read data in a memory in a virtual memory system, a virtual address is first created, and then the address is converted into a physical address of a memory having desired data.
그리고, 메모리 억세스에 소요되는 시간이 가상 메모리 시스템의 성능을 좌우하는 주 요인으로 대두되면서 데이터를 처리하는 CPU가 데이터를 억세스하는 시간을 줄이기 위하여 가상 캐쉬 메모리를 사용하였다.In addition, as the time required for memory access becomes a major factor that determines the performance of the virtual memory system, the virtual cache memory is used to reduce the time for the data processing CPU to access the data.
다시말하면, 캐쉬 메모리를 억세스하는 방법도 이전에는 물리적 주소를 사용하다가 주소 변환에 소요되는 시간을 줄이기 위해 가상 어드레스를 사용하였다.In other words, the method of accessing cache memory previously used a virtual address to reduce the time required for address translation while using a physical address.
도 1을 참조하여 종래의 가상 메모리 시스템은, 내부버스를 통해 전달된 가상 어드레스를 저장하는 태그 메모리(10)와, 억세스할 데이터를 저장하는 캐쉬 메모리(20)와, 가상 어드레스에 의해 디코딩되어 태그 메모리(10) 및 캐쉬 메모리(20)의 태그 엔트리(11) 및 캐쉬 엔트리(22)를 각각 선택하여 인에이블시키기 위한 디코딩신호를 전달하는 디코더(30)와, 내부로부터 전달된 가상 어드레스와 태그 메모리(10)의 태그 엔트리(11)로부터 전달된 가상 어드레스를 비교하여 비교 결과를 출력하기 위한 비교기(40)와, 비교기(40)로부터 전달된 신호에 의해 캐쉬 메모리(20)의 캐쉬 엔트리(21)로부터 전달된 억세스할 데이터를 출력하기 위한 데이터 선택기(50)를 포함한다.Referring to FIG. 1, a conventional virtual memory system includes a tag memory 10 storing a virtual address transferred through an internal bus, a cache memory 20 storing data to be accessed, and a tag decoded by a virtual address. A decoder 30 which transmits a decoding signal for selecting and enabling the tag entry 11 and the cache entry 22 of the memory 10 and the cache memory 20, respectively, and a virtual address and tag memory transferred from the inside. The comparator 40 for comparing the virtual addresses delivered from the tag entry 11 of 10 and outputting a comparison result, and the cache entry 21 of the cache memory 20 by a signal transmitted from the comparator 40. And a data selector 50 for outputting data to be accessed from.
상기와 같은 구조를 갖는 종래의 가상 메모리 시스템의 동작을 설명하면 다음과 같다.Referring to the operation of the conventional virtual memory system having the above structure is as follows.
버스를 통해 비교기(40)로 전달되는 가상 어드레스의 소정의 비트들은 버스를 통해 디코더(30)로 전달되어 디코더(30)를 디코딩시키며, 이어 디코더(30)는 태그 메모리(10) 및 캐쉬 메모리(20)의 태그 엔트리(11) 및 캐쉬 엔트리(22)를 각각 선택하여 인에이블시키기 위한 디코딩신호를 전달한다.Predetermined bits of the virtual address passed through the bus to the comparator 40 are passed through the bus to the decoder 30 to decode the decoder 30, which then decodes the tag memory 10 and the cache memory ( Each of the tag entry 11 and the cache entry 22 of 20 is selected and delivered with a decoding signal for enabling.
이렇게, 인에이블된 태그 메모리(10)는 태그 엔트리(11)를 통해 저장되어 있는 가상 어드레스의 페이지번호를 비교기(40)로 전달하며, 이어 비교기(40)는 내부버스로부터 전달된 가상 어드레스의 페이지번호(page number)와 태그 메모리(10)로부터 전달된 가상 어드레스의 페이지번호가 동일한지를 비교하고, 비교결과 동일하면 일치신호(HIT SIGNAL)를 데이터 선택기(50)로 전달하고, 동일하지 않으면 불일치신호(MISS SIGNAL)를 데이터 선택기(50)로 전달한다.In this way, the enabled tag memory 10 transmits the page number of the virtual address stored through the tag entry 11 to the comparator 40, and the comparator 40 then transfers the page of the virtual address transferred from the internal bus. If the page number is equal to the page number of the virtual address transmitted from the tag memory 10, and if the comparison result is the same, the signal HIT SIGNAL is transmitted to the data selector 50. (MISS SIGNAL) is passed to the data selector 50.
데이터 선택기(50)는 비교기(40)로부터 일치신호가 전달되면, 캐쉬 메모리(20)의 캐쉬 엔트리(21)로부터 버스를 통해 전달된 데이터를 선택하여 출력한다.When the match signal is transmitted from the comparator 40, the data selector 50 selects and outputs data transmitted through the bus from the cache entry 21 of the cache memory 20.
한편, 데이터 선택기(50)는 비교기(40)로부터 불일치신호가 전달되면, 캐쉬 메모리(20)의 데이터를 출력시키지 않고, 도 1에는 도시되지 않은 통로를 통하여 외부 메모리에 데이터를 요청하게 된다.On the other hand, when the inconsistency signal is transmitted from the comparator 40, the data selector 50 requests data from the external memory through a path not shown in FIG. 1 without outputting the data of the cache memory 20.
그러나, 상기와 같은 종래의 가상 메모리 시스템에서, 가상 어드레스의 페이지 번호들을 비교하고 비교결과에 의해 물리적 어드레스를 억세스하므로써, 비교적 시간이 오래 걸리는 문제점이 존재하였다.However, in the conventional virtual memory system as described above, there is a problem in that it takes a relatively long time by comparing the page numbers of the virtual addresses and accessing the physical addresses by the comparison result.
따라서, 본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 가상 어드레스의 페이지번호를 페이지 디렉토리 번호와 페이지 테이블 번호로 분류하여 가상 어드레스의 페이지 번호들을 비교하고 비교결과에 의해 물리적 어드레스를 억세스하여 억세스 시간을 줄일 수 있는 가상 메모리 시스템을 제공하는데 그 목적이 있다.Accordingly, the present invention is to solve the above problems, the page number of the virtual address is classified into the page directory number and the page table number to compare the page numbers of the virtual address and access the physical address by the comparison result to access time The purpose is to provide a virtual memory system that can reduce the number of times.
도 1은 종래의 가상 메모리 시스템의 블록도.1 is a block diagram of a conventional virtual memory system.
도 2는 본 발명의 실시예에 따른 가상 메모리 시스템의 블록도.2 is a block diagram of a virtual memory system in accordance with an embodiment of the present invention.
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
100: 페이지 번호 분류수단 110: 페이지 테이블 태그100: page number classification means 110: page table tag
120: 페이지 디렉토리 태그 130: 비교기120: page directory tag 130: comparator
140: 페이지 번호 판별수단 150: 변환 색인 버퍼140: page number determination means 150: conversion index buffer
160: 인에이블 판별수단 170: 물리적 어드레스 태그160: enable determination means 170: physical address tag
180: 캐쉬 메모리 190: 데이터 선택기180: cache memory 190: data selector
200: 주메모리200: main memory
이와 같은 목적을 달성하기 위한 본 발명은, 디코딩된 인에이블 신호에 의해 원하는 데이터를 억세스하여 출력하는 캐쉬 메모리와, 선택 제어신호에 의해 상기 캐쉬 메모리로부터 전달된 데이터를 선택하여 출력하는 데이터 선택기와, 데이터 처리 속도를 빠르게 하기 위하여 전달된 데이터를 일시저장한 후 출력하는 변환 색인 버퍼를 구비한 가상 메모리 시스템에 있어서, 가상 어드레스의 페이지 번호를 페이지 디렉토리 번호, 페이지 테이블 번호 및 페이지 오프셋으로 분류하기 위한 페이지 번호 분류수단;In order to achieve the above object, the present invention provides a cache memory for accessing and outputting desired data by a decoded enable signal, a data selector for selecting and outputting data transferred from the cache memory by a selection control signal; In a virtual memory system having a translation index buffer that temporarily stores and outputs transmitted data to speed up data processing, a page for classifying a page number of a virtual address into a page directory number, a page table number, and a page offset. Number classification means;
상기 페이지 번호 분류수단으로부터 전달된 상기 페이지 디렉토리 번호와 이미 저장된 페이지 디렉토리 번호가 일치하는지를 비교하여 비교결과를 출력하기 위한 페이지 디렉토리 태그; 상기 페이지 번호 분류수단으로부터 전달된 엔트리를 선택하기 위해 디코딩된 소정의 비트값인 페이지 오프셋에 의해 이미 저장된 페이지 테이블 번호를 전달하기 위한 페이지 테이블 태그; 상기 페이지 번호 분류수단 및 상기 페이지 테이블 태그로부터 각각 전달된 상기 페이지 테이블 번호들이 일치하는지를 비교하기 위한 비교기; 상기 페이지 디렉토리 태그 및 상기 비교기로부터 각각 전달된 상기 신호들에 의하여 페이지 디렉토리 번호 및 페이지 테이블 번호가 각각 상기 페이지 디렉토리 태그 및 상기 페이지 테이블 태그에 존재하는지를 판별하기 위한 페이지 번호 판별수단; 상기 페이지 디렉토리 태그 및 상기 페이지 테이블 태그로부터 각각 전달된 상기 신호에 의해 상기 변환 색인 버퍼를 인에이블시킬 것인지를 판별하기 위한 인에이블 판별수단; 상기 변환 색인 버퍼로부터 전달되는 물리적 어드레스를 저장하기 위한 물리적 어드레스 태그를 포함한다.A page directory tag for comparing a page directory number transmitted from the page number classification means with a previously stored page directory number and outputting a comparison result; A page table tag for conveying a page table number already stored by a page offset which is a predetermined bit value decoded to select an entry transferred from the page number sorting means; A comparator for comparing whether the page table numbers transmitted from the page number sorting means and the page table tag respectively match; Page number determination means for determining whether a page directory number and a page table number exist in the page directory tag and the page table tag, respectively, by the signals transmitted from the page directory tag and the comparator; Enable determining means for determining whether to enable the translation index buffer by the signals transmitted from the page directory tag and the page table tag, respectively; A physical address tag for storing the physical address carried from the translation index buffer.
이하, 도 2를 참조하여 본 발명의 바람직한 실시예를 설명한다.Hereinafter, a preferred embodiment of the present invention will be described with reference to FIG. 2.
도 2를 참조하면, 본 발명의 가상 메모리 시스템은, 가상 어드레스의 페이지 번호를 페이지 디렉토리 번호, 페이지 테이블 번호 및 페이지 오프셋으로 분류하기 위한 페이지 번호 분류수단(100)과, 페이지 번호 분류수단(100) 및 페이지 테이블 태그(110)로부터 각각 전달된 페이지 테이블 번호들이 일치하는지를 비교하기 위한 비교기(130)와, 페이지 번호 분류수단(100)으로부터 전달된 페이지 디렉토리 번호 및 페이지 테이블 번호에 따라 페이지 디렉토리 태그(120) 및 비교기(130)로부터 각각 전달된 신호들에 의해 페이지 디렉토리 번호 및 페이지 테이블 번호가 각각 페이지 디렉토리 태그 및 페이지 테이블 태그에 존재하는지를 판별하기 위한 페이지 번호 판별수단(140)과, 페이지 디렉토리 태그(120) 및 비교기(140)로부터 각각 전달된 신호에 의해 변환 색인 버퍼(150)를 인에이블시킬 것인지를 판별하기 위한 인에이블 판별수단(160)과, 변환 색인 버퍼(150)로부터 전달되는 물리적 어드레스를 저장하기 위한 물리적 어드레스 태그(170)와, 페이지 번호 판별수단(150)으로부터 전달된 신호에 의해 캐쉬 메모리(180)로부터 전달된 데이터를 선택하여 출력하기 위한 데이터 선택기(190)를 포함한다.Referring to FIG. 2, the virtual memory system of the present invention includes a page number sorting means 100 for classifying a page number of a virtual address into a page directory number, a page table number, and a page offset, and a page number sorting means 100. And a comparator 130 for comparing whether the page table numbers transmitted from the page table tag 110 match, and the page directory tag 120 according to the page directory number and the page table number transmitted from the page number sorting means 100. And page number discrimination means 140 for determining whether the page directory number and the page table number exist in the page directory tag and the page table tag by the signals transmitted from the comparator 130 and the comparator 130, respectively. And the conversion index by the signal transmitted from the comparator 140, respectively Enable determination means 160 for determining whether to enable the fur 150, a physical address tag 170 for storing a physical address transferred from the translation index buffer 150, and a page number determination means ( And a data selector 190 for selecting and outputting data transmitted from the cache memory 180 by the signal transmitted from the 150.
페이지 번호 분류수단(100)은 CPU에 내장된다.The page number sorting means 100 is built in the CPU.
페이지 번호 판별수단(140)은 일입력단으로 입력된 페이지 디렉토리 태그(120)의 출력신호와 타입력단으로 입력된 비교기(130)의 출력신호를 논리앤드하기 위한 앤드게이트(AG)를 구비한다.The page number discrimination unit 140 includes an AND gate AG for logic and outputting the output signal of the page directory tag 120 input to one input terminal and the output signal of the comparator 130 input to the type force stage.
인에이블 판별수단(160)은 일입력단으로 입력된 페이지 디렉토리 태그(120)의 출력신호와 타입력단으로 입력된 비교기(130)의 출력신호를 논리낸드하기 위한 낸드게이트(NG)를 구비한다.The enable determination unit 160 includes a NAND gate NG for logical NAND output signal of the page directory tag 120 input to one input terminal and output signal of the comparator 130 input to the type force stage.
상기와 같은 구조를 갖는 본 발명의 가상 메모리 시스템의 동작을 설명하면 다음과 같다.Referring to the operation of the virtual memory system of the present invention having the above structure is as follows.
페이지 번호 분류수단(100)은 전달된 가상 어드레스의 페이지 번호를 페이지 디렉토리 번호, 페이지 테이블 번호 및 페이지 오프셋으로 분류한 후, 페이지 디렉토리 번호는 페이지 디렉토리 태그(120)와 변환 색인 버퍼(150)로 전달하고, 페이지 테이블 번호는 비교기(130)와 변환 색인 버퍼(150)로 전달하고, 또한 페이지 오프셋은 페이지 테이블 태그(110), 캐쉬 메모리(180) 및 물리적 어드레스 태그(170)로 전달한다.The page number classification means 100 classifies the page number of the delivered virtual address into a page directory number, a page table number and a page offset, and then transfers the page directory number to the page directory tag 120 and the translation index buffer 150. The page table number is transmitted to the comparator 130 and the translation index buffer 150, and the page offset is transmitted to the page table tag 110, the cache memory 180, and the physical address tag 170.
페이지 디렉토리 태그(120)는 전달된 페이지 디렉토리 번호가 이미 저장된 페이지 디렉토리 번호와 일치하면, 일치신호(HIT SIGNAL)를 페이지 번호 판별수단(140) 및 인에이블 판별수단(160)으로 각각 전달하고, 일치하지 않으면, 불일치신호(MISS SIGNAL)을 전달한다.The page directory tag 120 transmits a match signal (HIT SIGNAL) to the page number determining unit 140 and the enable determining unit 160, respectively, if the transmitted page directory number matches the page directory number already stored. If not, it transmits a mismatch signal.
페이지 테이블 태그(110)는 전달된 페이지 오프셋에 의해 엔트리(110-1)에 저장된 페이지 테이블 번호를 비교기(130)로 전달한다.The page table tag 110 transmits the page table number stored in the entry 110-1 to the comparator 130 by the delivered page offset.
비교기(130)는 페이지 분류수단(100)으로부터 전달된 페이지 테이블 번호와 페이지 테이블 태그(110)의 엔트리(110-1)로부터 전달된 페이지 테이블 번호가 일치하면, 일치신호(HIT SIGNAL)를 페이지 번호 판별수단(140) 및 인에이블 판별수단(160)으로 각각 전달하고, 일치하지 않으면, 불일치신호(MISS SIGNAL)을 전달한다.When the page table number transmitted from the page sorting means 100 and the page table number transmitted from the entry 110-1 of the page table tag 110 coincide with each other, the comparator 130 sets a match signal (HIT SIGNAL) to the page number. The signal is transmitted to the determination means 140 and the enable determination means 160, and if not matched, the mismatch signal MISS SIGNAL is transmitted.
페이지 번호 판별수단(140)의 앤드게이트(AG)는 일입력단으로 전달된 페이지 디렉토리 태그(120)의 출력신호와 타입력단으로 전달된 비교기(130)의 출력신호를 논리앤드하여 논리앤드된 논리값을 데이터 선택기(190)로 출력한다. 이때, 페이지 번호 판별수단(140)은 모든 입력단으로 일치신호가 입력될 경우에만 페이지 디렉토리 번호 및 페이지 테이블 번호가 각각 페이지 디렉토리 태그(120) 및 페이지 테이블 태그(110)에 존재한다고 판단하고, 데이터 선택기(190)를 인에이블시키기 위한 일치신호를 출력하고, 그 이외의 경우에는 데이터 선택기(190)를 디스에이블시키기 위한 불일치신호를 출력한다.The AND gate AG of the page number determining unit 140 logic-ends the output signal of the page directory tag 120 transmitted to one input terminal and the output signal of the comparator 130 transferred to the type force stage. Is output to the data selector 190. In this case, the page number determining unit 140 determines that the page directory number and the page table number exist in the page directory tag 120 and the page table tag 110 only when the coincidence signal is input to all input terminals. A coincidence signal for enabling 190 is output; otherwise, a mismatch signal for disabling data selector 190 is output.
인에이블 판별수단(140)은 낸드게이트(NG)는 일입력단으로 전달된 페이지 디렉토리 태그(120)의 출력신호와 타입력단으로 전달된 비교기(130)의 출력신호를 논리낸드하여 논리낸드된 논리값을 변환 색인 버퍼(150)로 출력한다. 이때, 인에이블 판별수단(140)은 어떠한 입력단으로 불일치신호가 입력될 경우에, 즉 페이지 디렉토리 번호 및 페이지 테이블 번호가 각각 페이지 디렉토리 태그(120) 또는 페이지 테이블 태그(110)에 존재한지 않는다고 판단하고, 변환 색인 버퍼(150)를 인에이블시키기 위한 인에이블신호를 출력하고, 그 이외의 경우에는 데이터 선택기(190)를 디스에이블시키기 위한 디스에이블신호를 출력한다.The enable determination unit 140 logics the NAND gate NG to NAND gate NG by outputting the output signal of the page directory tag 120 transmitted to one input terminal and the output signal of the comparator 130 transferred to the type force stage. Is output to the conversion index buffer 150. At this time, the enable determination unit 140 determines that a discrepancy signal is input to any input terminal, that is, the page directory number and the page table number are not present in the page directory tag 120 or the page table tag 110, respectively. The enable signal for enabling the conversion index buffer 150 is output. Otherwise, the disable signal for disabling the data selector 190 is output.
변환 색인 버퍼(150)는 인에이블 판별수단(160)으로부터 인에이블 신호가 입력되면, 인에이블되어 페이지 번호 분류수단(100)으로부터 전달된 가상 어드레스의 페이지 디렉토리 번호 및 페이지 테이블 번호들을 주메모리(200)를 억세스하기 위한 물리적 어드레스로 변환시키고 변환된 물리적 어드레스를 물리적 어드레스 태그(170)의 엔트리(170-1)에 저장시키고, 또는 변환 색인 버퍼(150)는 인에이블 판별수단(160)로부터 디스에이블신호가 입력되더라도 입력된 신호에 관계없이 동작될 수도 있다.When the enable signal is input from the enable determining means 160, the translation index buffer 150 enables the page directory number and the page table numbers of the virtual addresses transmitted from the page number classification means 100 to the main memory 200. ) Is converted into a physical address for access and the translated physical address is stored in the entry 170-1 of the physical address tag 170, or the translation index buffer 150 is disabled from the enable determination means 160. Even if a signal is input, it may be operated regardless of the input signal.
상기와 같은 과정에 의하여 물리적 어드레스 태그(170)의 엔트리(170-1)에 물리적 어드레스가 저장되며, 멀티프로세스 시스템 등의 코히어런시 프로트콜에 따른 외부 스누핑(snooping)을 처리할 수 있도록 한다.By the above process, the physical address is stored in the entry 170-1 of the physical address tag 170, and the external snooping according to the coherency protocol such as the multiprocess system can be processed. .
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명이 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능함이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiment and the accompanying drawings, and various substitutions, modifications, and changes are possible within the scope of the present invention without departing from the technical idea. It will be evident to those who have knowledge of.
이상에서 설명한 바와 같이 본 발명의 가상 메모리 시스템은, 캐쉬 히트 비율을 높이기 위해서는 캐쉬 크기를 크게해야 하는데 이때 페이지 번호 태그도 비례적으로 커지는 단점을 극복하기 위하여 적은 수의 페이지 디렉토리 태그 엔트리 수를 둘수 있으므로 대용량의 캐쉬 설계에 효과적이며, 캐쉬 플러쉬 및 캐쉬 무효시에 페이지 디렉토리 태그 부분만을 무효화시킴으로써 이들 동작의 지연시간 및 전력을 감소시킬 수 있으고, 가상 페이지 번호를 사용하는 가상 캐쉬의 경우 캐쉬 오류시 물리적 어드레스를 구하는 변환 색인 버퍼의 동작을 제어하는 캐쉬 오류신호를 빠른 페이지 디렉토리 태그에서의 오류신호를 이용함으로써 오류시 변환 색인 버퍼의 동작을 빠르게 제어할 수 있으며, 가상 어드레스의 페이지번호를 페이지 디렉토리 번호와 페이지 테이블 번호로 분류하여 가상 어드레스의 페이지 번호들을 비교하고 비교결과에 의해 물리적 어드레스를 억세스하여 억세스 시간을 줄일 수 있고, 또한 물리적 어드레스의 억세스시 전력의 효율을 향상시킬 수 있는 효과를 제공한다.As described above, the virtual memory system of the present invention needs to increase the cache size in order to increase the cache hit ratio. However, in order to overcome the disadvantage that the page number tag is proportionally large, a small number of page directory tag entries may be provided. Effective for large-capacity cache designs, reducing the latency and power of these operations by invalidating only the page directory tag portion during cache flush and cache invalidation, and in the case of virtual caches using virtual page numbers, By using the error signal in the fast page directory tag as a cache error signal that controls the operation of the translation index buffer for obtaining an address, it is possible to quickly control the operation of the translation index buffer in error. pay Classified table number to be compared, and the page number of the virtual address and reduce the access time for access to a physical address by the comparison result, and also provides an effect to improve the efficiency of the access when the power of the physical address.
Claims (5)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970021048A KR100237744B1 (en) | 1997-05-27 | 1997-05-27 | Virtual memory system and processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970021048A KR100237744B1 (en) | 1997-05-27 | 1997-05-27 | Virtual memory system and processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980085088A true KR19980085088A (en) | 1998-12-05 |
KR100237744B1 KR100237744B1 (en) | 2000-01-15 |
Family
ID=19507362
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970021048A KR100237744B1 (en) | 1997-05-27 | 1997-05-27 | Virtual memory system and processing method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100237744B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990070788A (en) * | 1998-02-24 | 1999-09-15 | 윤종용 | How to Prevent Arising of Virtual Cache Memory |
KR20000041291A (en) * | 1998-12-22 | 2000-07-15 | 김영환 | Method for managing data of visiting mobile subscribers in mobile communication system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107506313B (en) * | 2017-08-04 | 2021-06-25 | 致象尔微电子科技(上海)有限公司 | Method for managing and searching memory page frame attribute |
-
1997
- 1997-05-27 KR KR1019970021048A patent/KR100237744B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990070788A (en) * | 1998-02-24 | 1999-09-15 | 윤종용 | How to Prevent Arising of Virtual Cache Memory |
KR20000041291A (en) * | 1998-12-22 | 2000-07-15 | 김영환 | Method for managing data of visiting mobile subscribers in mobile communication system |
Also Published As
Publication number | Publication date |
---|---|
KR100237744B1 (en) | 2000-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR920005280B1 (en) | High speed cache system | |
US6356990B1 (en) | Set-associative cache memory having a built-in set prediction array | |
US5210842A (en) | Data processor having instruction varied set associative cache boundary accessing | |
US6272597B1 (en) | Dual-ported, pipelined, two level cache system | |
US4602368A (en) | Dual validity bit arrays | |
EP0381323B1 (en) | Method and apparatus for increasing the data storage rate of a computer system | |
US6874077B2 (en) | Parallel distributed function translation lookaside buffer | |
US8775740B2 (en) | System and method for high performance, power efficient store buffer forwarding | |
US6535959B1 (en) | Circuit and method for reducing power consumption in an instruction cache | |
KR920005292B1 (en) | Microprocessor having cache memory | |
JPH08101797A (en) | Translation lookaside buffer | |
JPH06222996A (en) | High-speed virtual physical address conversion as well as method and system for collation of cache tag | |
CN101213526A (en) | Preventing multiple translation lookaside buffer accesses for a same page in memory | |
US5638537A (en) | Cache system with access mode determination for prioritizing accesses to cache memory | |
US6044447A (en) | Method and apparatus for communicating translation command information in a multithreaded environment | |
JPH08221324A (en) | Access to cache memory | |
US6385696B1 (en) | Embedded cache with way size bigger than page size | |
US5854943A (en) | Speed efficient cache output selector circuitry based on tag compare and data organization | |
EP0332908B1 (en) | Cache memory having pseudo virtual addressing | |
KR100237744B1 (en) | Virtual memory system and processing method | |
US5960456A (en) | Method and apparatus for providing a readable and writable cache tag memory | |
US20040008552A1 (en) | Cache memory and control method thereof | |
JPH10111832A (en) | Memory system | |
JPH02110646A (en) | Pre-readout device for memory | |
KR20040047398A (en) | Method for data access using cache memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050923 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |