KR19980085088A - Virtual memory system and its processing method - Google Patents

Virtual memory system and its processing method Download PDF

Info

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
Application number
KR1019970021048A
Other languages
Korean (ko)
Other versions
KR100237744B1 (en
Inventor
김한흥
Original Assignee
김경환
현대전자산업 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김경환, 현대전자산업 주식회사 filed Critical 김경환
Priority to KR1019970021048A priority Critical patent/KR100237744B1/en
Publication of KR19980085088A publication Critical patent/KR19980085088A/en
Application granted granted Critical
Publication of KR100237744B1 publication Critical patent/KR100237744B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address 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

가상 메모리 시스템 및 그 프로세싱 방법.Virtual memory system and processing method thereof.

본 발명은 가상 메모리 시스템에 관한 것으로서, 보다 구체적으로 가상 어드레스의 페이지 번호를 분류하여 물리적 어드레스를 억세스하기 위한 가상 메모리 시스템 및 그 프로세싱 방법에 관한 것이다.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)

디코딩된 인에이블 신호에 의해 원하는 데이터를 억세스하여 출력하는 캐쉬 메모리와, 선택 제어신호에 의해 상기 캐쉬 메모리로부터 전달된 데이터를 선택하여 출력하는 데이터 선택기와, 데이터 처리 속도를 빠르게 하기 위하여 전달된 데이터를 일시저장한 후 출력하는 변환 색인 버퍼를 구비한 가상 메모리 시스템에 있어서,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, and a data selector for speeding up data processing. In the virtual memory system having a translation index buffer for temporarily storing and outputting, 가상 어드레스의 페이지 번호를 페이지 디렉토리 번호, 페이지 테이블 번호 및 페이지 오프셋으로 분류하기 위한 페이지 번호 분류수단;Page number sorting 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 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; And 상기 변환 색인 버퍼로부터 전달되는 물리적 어드레스를 저장하기 위한 물리적 어드레스 태그를 구비한 가상 메모리 시스템.And a physical address tag for storing a physical address carried from the translation lookaside buffer. 제 1 항에 있어서,The method of claim 1, 상기 페이지 번호 분류수단은The page number classification means 중앙처리장치에 내장되는 것을 특징으로 하는 가상 메모리 시스템.Virtual memory system, characterized in that embedded in the central processing unit. 제 1 항에 있어서,The method of claim 1, 상기 페이지 번호 판별수단은The page number determining means 일입력단으로 입력된 상기 페이지 디렉토리 태그의 출력신호와 타입력단으로 입력된 상기 비교기의 출력신호를 논리앤드하기 위한 앤드게이트를 구비하는 것을 특징으로 하는 가상 메모리 시스템.And an AND gate for logic and outputting the output signal of the page directory tag input to one input terminal and the output signal of the comparator input to a type force stage. 제 1 항에 있어서,The method of claim 1, 상기 인에이블 판별수단은The enable determination means 일입력단으로 입력된 상기 페이지 디렉토리 태그의 출력신호와 타입력단으로 입력된 상기 비교기의 출력신호를 논리낸드하기 위한 낸드게이트를 구비하는 것을 특징으로 하는 가상 메모리 시스템.And a NAND gate configured to logically NAND an output signal of the page directory tag input to one input terminal and an output signal of the comparator input to a type force stage. 가상 어드레스의 페이지 번호를 페이지 디렉토리 번호, 페이지 테이블 번호 및 페이지 오프셋으로 분류하여 분류된 결과를 전달하는 단계;Classifying the page number of the virtual address into a page directory number, a page table number, and a page offset to deliver a classified result; 페이지 번호 분류수단으로부터 전달된 상기 페이지 디렉토리 번호와 이미 저장된 페이지 디렉토리 번호가 일치하는지를 비교하여 비교결과를 출력하는 단계;Outputting a comparison result by comparing the page directory number transmitted from the page number classification means with a previously stored page directory number; 페이지 번호 분류수단으로부터 전달된 엔트리를 선택하기 위해 디코딩된 소정의 비트값인 페이지 오프셋에 의해 이미 저장된 페이지 테이블 번호를 전달하는 단계;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; 상기 페이지 번호 분류 수단 및 페이지 테이블 태그로부터 각각 전달된 상기 페이지 테이블 번호들이 일치하는지를 비교하여 비교결과를 전달하는 단계;Comparing the page table numbers delivered from the page number classification means and the page table tag with each other and delivering a comparison result; 페이지 디렉토리 태그 및 비교기로부터 각각 전달된 상기 신호들에 의하여 페이지 디렉토리 번호 및 페이지 테이블 번호가 각각 페이지 디렉토리 태그 및 페이지 테이블 태그에 존재하는지를 판별하여 판별결과를 출력하는 단계;Determining whether a page directory number and a page table number exist in the page directory tag and the page table tag by the signals transmitted from the page directory tag and the comparator, respectively, and output a determination result; 상기 페이지 디렉토리 태그 및 페이지 태그로부터 각각 전달된 상기 신호에 의해 변환 색인 버퍼를 인에이블시킬 것인지를 판별하여 판별결과를 출력하는 단계;Determining whether to enable a conversion index buffer by the signals transmitted from the page directory tag and the page tag, respectively, and outputting a determination result; 상기 변환 색인 버퍼로부터 전달되는 데이터를 저장하는 단계;Storing data transferred from the translation lookaside buffer; 상기 페이지 번호 분류수단으로부터 전달된 페이지 오프셋에 의해 이미 저장하고 있는 데이터를 억세스하는 단계; 및Accessing data already stored by the page offset transferred from the page number sorting means; And 상기 페이지 번호 판별수단으로부터 전달된 상기 신호에 의해 캐쉬 메모리로부터 전달된 데이터를 선택하여 출력하는 단계를 구비한 가상 메모리 시스템의 프로세싱 방법.And selecting and outputting the data transferred from the cache memory by the signal transmitted from the page number determining means.
KR1019970021048A 1997-05-27 1997-05-27 Virtual memory system and processing method KR100237744B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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