[go: up one dir, main page]

KR900005897B1 - Microprocessor Systems and Their Memory Operations - Google Patents

Microprocessor Systems and Their Memory Operations Download PDF

Info

Publication number
KR900005897B1
KR900005897B1 KR1019850006490A KR850006490A KR900005897B1 KR 900005897 B1 KR900005897 B1 KR 900005897B1 KR 1019850006490 A KR1019850006490 A KR 1019850006490A KR 850006490 A KR850006490 A KR 850006490A KR 900005897 B1 KR900005897 B1 KR 900005897B1
Authority
KR
South Korea
Prior art keywords
page
memory
address
microprocessor
data
Prior art date
Legal status (The legal status 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 status listed.)
Expired
Application number
KR1019850006490A
Other languages
Korean (ko)
Other versions
KR870003427A (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 인텔 코포레이숀
Publication of KR870003427A publication Critical patent/KR870003427A/en
Application granted granted Critical
Publication of KR900005897B1 publication Critical patent/KR900005897B1/en
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/145Protection 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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]

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

The microprocessor system contains a segmenting mechanism to provide conversion of the virtual address into a second linear address, as well as providing testing and control of the data memory segment attributes. The microprocessor chip (10) is coupled to a main read/ write memory (13). The microprocessor is a 32 bit type and operates with a physical address of 32 bits that is generated by the management system that converts 48 bit virtual addresses using either a segmenting or paying method. The address translation unit (20) has separate modules for the two techniques with one unit having a segment descriptor register and the other a page descriptor cache memory (22).

Description

마이크로프로세서 시스템과 그 메모리 운용장치Microprocessor Systems and Their Memory Operations

제1도는 본 발명에 따른 마이크로프로세서의 전체적인 구성을 나타낸 블록다이아그램.1 is a block diagram showing the overall configuration of a microprocessor according to the present invention.

제2도는 제1도의 마이크로프로세서에 대한 분할메카니즘을 나타낸 블록다이아그램.2 is a block diagram showing the partitioning mechanism for the microprocessor of FIG.

제3도는 페이지필드를 페이지캐시메모리내에 적중시키거나 정합시키기 위해 맵핑하는 예를 나타낸 블록다이아그램.3 is a block diagram showing an example of mapping page fields to hit or match in page cache memory.

제4도는 제3도의 페이지캐시메모리내에 적중되지 않거나 정합되지 않는 페이지필드를 맵핑하는 예의 불록다이아그램을 나타낸 것으로, 이때 메인메모리내의 페이지디렉토리와 페이지테이블이 사용되는 것을 나타낸 도면.4 is a block diagram of an example of mapping page fields that are not hit or matched in the page cache memory of FIG. 3, wherein the page directory and page table in the main memory are used.

제5도는 페이지캐시메모리의 페이지디렉토리와 페이지테이블에 저장된 속성을 나타낸 다이아그램.5 is a diagram showing the attributes stored in the page directory and page table of the page cache memory.

제6도는 페이지캐패시메모리내에 포함된 기억내용에 대한 내용 번지지정가능메모리와 데이터기억장치의 구조를 나타낸 도면.Fig. 6 is a diagram showing the structure of a content address assignable memory and a data storage device for the stored contents contained in the page cache memory.

제7도는 제6도에 도시된 내용번지지정가능메모리의 개략적인 회로도.FIG. 7 is a schematic circuit diagram of a content addressable memory shown in FIG.

제8도는 제6도에 도시된 검출기에 관련된 개략적인 논리회로도이다.FIG. 8 is a schematic logic circuit diagram related to the detector shown in FIG.

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

10 : 마이크로프로세서 13 : 램(메인메모리)10: microprocessor 13: RAM (main memory)

13A : 페이지디렉토리 13b : 페이지테이블13A: Page Directory 13b: Page Table

14 : 버스인터페이스장치 16 : 명령디코드장치14 bus interface device 16 command decoding device

18 : 실행장치 20 : 번지번역장치18: execution device 20: address translation device

22 : 페이지장치 26 : 가산기22: page apparatus 26: adder

27 : 비교기 30 : 페이지필드맵핑블록27: comparator 30: page field mapping block

31 : 출력선31: output line

34 : CAM(Content addressable memory) ; 내용번지지정가능메모리34: Content addressable memory (CAM); Contents Addressable Memory

35 : 페이지데이터(기준)메모리 40,41,42 : 합산기35: page data (reference) memory 40, 41, 42: summer

46,47 : 앤드게이트 53 : 검출기46,47: AND gate 53: detector

55 : 멀티플렉서 56 : 보수발생 및 오버라이드회로55: multiplexer 56: maintenance and override circuit

57 : VUDW논리회로 75 : 제어논리회로57: VUDW logic circuit 75: control logic circuit

[산업상의 이용분야][Industrial use]

본 발명은 마이크로프로세서의 메모리운용에 관한 것으로, 특히 번지번역장치에 관련된 마이크로프로세서 시스템과 그 메모리운용장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to memory operations of microprocessors, and more particularly, to a microprocessor system and a memory operation apparatus related to a address translation apparatus.

[종래의 기술 및 문제점]Conventional Technology and Issues

종래 메모리운용방법에 대한 여러종류의 메카니즘이 널리 알려져 있었는 바, 그중 하나의 시스템에 의하면, 큰 번지(가상번지)는 그 보다 작은 실체번지로 번역되어질 수 있도록 되어 있고, 또 다른 하나의 시스템에 의하면, 뱅크스위칭을 이용하는 작은 번지로서 큰 번지공간을 억세스할 수 있도록 되어 있다. 본 발명은 가상번지가 작은 실체번지로 번역되는 전자의 기술에 관한 것으로, 여기서 큰 가상번지는 한정된 실체번지를 억세스하는데 이용된다.Various mechanisms for the conventional memory operation method are widely known. According to one system, a large address (virtual address) can be translated into a smaller entity address, and according to another system. In other words, as a small address using bank switching, a large address space can be accessed. The present invention relates to the former technique in which a virtual address is translated into a small entity address, where the large virtual address is used to access a limited entity address.

또한 메모리운용시스템의 여러 보호메카니즘에 대해서도 이미 잘 알려져 있는 바, 예컨대 어떤 시스템에서도 사용자가 오퍼레이팅시스템내로 기록하는 것을 방지하거나 오퍼레이팅시스템에서 외부포트로 독출하는 것을 방지할 수도 있도록 되어 있는 바, 따라서 후에 상세히 설명하겠지만, 본 발명은 데이터에 대한 "속성"을 2개의 레벨로 할당하는 주변제어장치의 일부와 같은 보호메카니즘을 제공하고자 하는 것이다.It is also well known for the various protection mechanisms of the memory management system, for example, it is possible to prevent the user from writing into the operating system or reading from the operating system to an external port in any system. As will be described in detail, the present invention seeks to provide a protective mechanism, such as part of a peripheral control device, which assigns "attributes" to data at two levels.

출원인에 의해 기출원된 가장 최근의 것이 미국 특허 제4,442,484호에 발표되어 있는 바, 상기 특허에는 인텔 286과 같이 상업적으로 이용할 수 있도록 마이크로프로세서를 구체화시킨 메모리운용방법과 보호메카니즘에 대해 기술되어 있다. 상기 마이크로프로세서는 정보와 속성(예컨대, 보호비트)을 한정하는 기본세그먼트번지를 포함하는 세그먼트화 디스크립터레지스터를 구비하고 있고, 세그먼트디스크립터테이블과 세그먼트디스크립터레지스터는 모두 구속레벨과 보호형태와 같은 여러 제어메카니즘을 결정하는 비트들을 구비하고 있으며, 이러한 제어메카니즘에 대한 기술적 내용이 미국 특허 제4,442,484호에 상세하게 기술되어 있다.The most recent application filed by the applicant is published in US Pat. No. 4,442,484, which describes a memory operating method and protection mechanism incorporating a microprocessor for commercial use such as Intel 286. The microprocessor has a segmentation descriptor register that includes a basic segment address that defines information and attributes (eg, protection bits). The segment descriptor table and the segment descriptor registers both have various control mechanisms such as constraint level and protection type. Bits for determining the number of bits, and the technical details of such a control mechanism are described in detail in US Pat. No. 4,442,484.

인텔 286에 대한 한가지 문제점은 세그먼트오프셋이 64K바이트로 한정된다는 것이다. 항상 유지하기가 쉽지 않은 세그먼트를 위해 실체메모리에서 일련의 장소가 요구되는 바, 다음에서 알 수 있는 바와같이 본 발명의 시스템에 대한 한가지 장점은 비록 세그먼트 오프셋이 실체번지공간만큼 크지만 본 발명은 인텔 286에 설치된 기존의 세그먼트화메카니즘과 양립성을 갖추고 있다는 것이다.One problem with the Intel 286 is that the segment offset is limited to 64K bytes. A series of locations in the physical memory is required for segments that are not always easy to maintain. As can be seen below, one advantage of the system of the present invention is that although the segment offset is as large as the physical address space, It is compatible with the existing segmentation mechanism installed in 286.

[발명의 목적][Purpose of invention]

본 발명은 상기한 점을 감안해서 발명된 것으로, 마이크로프로세서와 데이터메모리를 구비하고 있는 마이크로프로세서를 보다 개선하면서 상기 마이크로프로세서는 가상메모리번지를 제2메모리번지(선형번지 ; 실번지)로 번역하고, 데이터메모리세그먼트의 속성을 측정하여 제어하는 세그먼트화 메카니즘을 구비하고 페이지캐시메모리를 구비한 마이크로프로세서시스템을 제공함에 그 목적이 있다.The present invention has been invented in view of the above, and while further improving a microprocessor having a microprocessor and a data memory, the microprocessor translates a virtual memory address into a second memory address (linear address; actual address). It is an object of the present invention to provide a microprocessor system having a segmentation mechanism for measuring and controlling attributes of data memory segments and having a page cache memory.

또한, 본 발명은 데이터메모리에 페이지맵핑데이터, 특히 페이지디렉토리와 페이지테이블이 저장되어 있으면서 상기 페이지캐시메모리에서 확실적중이 이루어지지 않는 경우 페이지 정보필드는 페이지디렉토리와 페이지테이블을 억세스하고, 페이지캐시메모리나 페이지테이블의 출력은 1페이지에 대한 실체기준번지를 메모리내로 공급하며, 선형번지의 또 다른 필드는 상기 페이지내로 오프셋을 공급하고, 데이터메모리에 있는 페이지캐시메모리와 페이지맵핑데이터는 특정페이지에서 데이터의 속성을 나타내는 신호를 저장하며, 이러한 속성에는 해당 페이지가 이미 기록되어 다른 정보로 되었는가의 여부를 나타내는 독출보호와 기록보호를 구비하고 있고, 특히 세그먼트속성과 분리되어 구별되는 메모리에다 데이터에 대해 페이지레벨보호는 제어에 대한 제2층을 공급할 수 있도록 된 마이크로프로세서의 메모리운용장치를 제공함에 그 목적이 있다.Further, in the present invention, when page mapping data, particularly page directory and page table, are stored in the data memory and certain hits are not made in the page cache memory, the page information field accesses the page directory and the page table, and the page cache memory. The output of the page table feeds the entity reference address for one page into memory, another field of the linear address feeds the offset into the page, and the page cache memory and page mapping data in the data memory store data on a particular page. It stores a signal indicating the attribute of, which has read protection and write protection that indicate whether the page has already been written and has other information, and especially for data in memory separate from the segment attribute. Level protection To provide a memory management unit of the microprocessor to supply a second layer of the air it is an object.

[발명의 구성][Configuration of Invention]

상기 목적을 달성하기 위한 본 발명은, 가상번지를 실번지로 번역함과 더불어 속성에 따른 데이터를 제어하는 세그먼트화 메카니즘이 구비된 마이크로프로세서(10)와 램(13)으로 이루어진 마이크로프로세서시스템에 있어서, 상기 실번지의 페이지정보필드를 수신하기 위해 상기 마이크로프로세서(10)와 일체로 이루어지면서 소정 상태하에서 변위필드를 제공하도록 상기 실번지의 페이지정보필드를 비교하기 위한 페이지캐시메모리(22)를 구비하고, 상기 램(13)은 상기 페이지캐시메모리(22)의 소정상태가 접합되지 않았을 경우 페이지데이터로부터 속성필드를 선택하도록 실번지의 페이지정보필드에 따른 페이지맵핑데이터가 접속되어 있는 기억장치를 구비하며, 상기 마이크로프로세서시스템은 상기 램(13)을 위한 실번지를 제공하기 위해 변위필드와 속성필드중의 하나를 상기 가상번지의 오프셋필드에 결합시키기 위한 회로를 구비함으로서 상기 램(13)의 실번지화를 개선시킬 수 있도록 된 것을 특징으로 한다.In order to achieve the above object, the present invention provides a microprocessor system including a microprocessor (10) and a RAM (13) having a segmentation mechanism for translating a virtual address into a real address and controlling data according to attributes. And a page cache memory 22 for comparing the page information fields of the real addresses to provide a displacement field under a predetermined state while being integrated with the microprocessor 10 to receive the page information fields of the real addresses. The RAM 13 includes a storage device in which page mapping data according to the real page information field is connected to select an attribute field from page data when a predetermined state of the page cache memory 22 is not bonded. The microprocessor system includes a displacement field to provide a seal for the ram 13. By comprising a circuit for coupling one of the last name field of the offset field of the virtual address it is characterized in that the chamber so as to improve the address of the screen RAM 13.

[실시예]EXAMPLE

이하, 예시도면을 참조해서 본 발명에 따른 1실시예를 상세히 설명한다. 여기서 마이크로시스템, 특히 그중에서 메모리운용방법의 메카니즘은 다음과 같은 바, 아래에서는 본 발명의 완전한 이해를 돕기 위해 고유 비트수에 대해서는 숫자로서 상세하게 나타냈지만, 이러한 특정수가 아니라도 본 발명을 실시할 수 있고, 또한 설명이 중복을 피하기 위해 공지화된 구조는 도시하지 않았다.Hereinafter, an embodiment according to the present invention will be described in detail with reference to the accompanying drawings. Here, the mechanism of the microsystem, in particular the memory operation method, is as follows. In order to facilitate a full understanding of the present invention, the specific bits are shown in detail as numbers, but the present invention may be practiced without these specific numbers. It is also to be understood that the structure is well known in order to avoid duplication.

본 발명의 실시예에 따른 마이크로프로세서시스템에는 제1도에 나타낸 바와같은 마이크로프로세서(10)가 구비되어 있는 바, 상기 마이크로프로세서(10)는 단일 실리콘기판위에 CMOS처리법을 이용하여 제작된 것으로, CMOS로 제작된 것 뿐만 아니라, n-챈널, 바이폴라, SOS등과 같은 다른 기술로서도 실현시킬 수 있다.The microprocessor system according to the embodiment of the present invention is provided with a microprocessor 10 as shown in FIG. 1. The microprocessor 10 is manufactured by using a CMOS process on a single silicon substrate, and the CMOS Not only is it manufactured, but it can be realized with other technologies such as n-channel, bipolar, SOS, etc.

본 발명에 있어서 소정 어떠한 상태하에서는 메모리운용메카니즘에서 메인메모리에 저장된 테이블로 억세스할 필요가 있다. 제1도에 상기 시스템에서 메인메모리로서 기능을 갖춘 램(13)이 도시되어 있는데, 일반적으로 램은 다이내믹 메모리가 사용된다.Under certain conditions in the present invention, it is necessary to access a table stored in the main memory in a memory operation mechanism. FIG. 1 shows a RAM 13 functioning as a main memory in the system, in which a RAM is generally used as a dynamic memory.

제1도에 도시한 바와같이, 마이크로프로세서(10)는 32비트의 실번지(physical address)를 갖춘 것으로, 상기 마이크로프로세서(10) 자체가 32비트프로세서이고, 또 마이크로프로세서시스템의 다른 요소로는 제1도에는 도시되어 있지 않지만 일반적으로 드라이버와 수학적인 연산처리장치등이 사용된다. 또한, 본 발명에 따른 메모리운용장치에서는 세그먼트화와 페이징을 이용하게 되는데, 세그먼트는 페이지번역을 묘사하기 위해 사용된 페이지테이블을 분리하는 일련의 세그먼트디스크립터테이블에 의해 결정된다. 여기서 상기 2개의 메카니즘은 완전히 분리된 독립적인 것이다. 그리고 가상번지(virtual address)는 2개의 별도 맵핑메카니즘을 사용하는 2개의 서로 다른 스텝을 통해 실번지로 번역되고, 세그먼트화 기술은 제1번역단계에서 사용되며, 페이징기술은 제2번역단계에서 사용된다. 여기서 페이징번역은 인텔 286과 양립성이 있는 세그먼트화만의 1스텝번역을 위해 턴오프될 수 있다.As shown in FIG. 1, the microprocessor 10 has a 32-bit physical address, and the microprocessor 10 itself is a 32-bit processor. Although not shown in FIG. 1, a driver and a mathematical processing unit are generally used. In addition, the memory management apparatus according to the present invention utilizes segmentation and paging, wherein a segment is determined by a series of segment descriptor tables that separate a page table used to describe page translation. Wherein the two mechanisms are completely separate and independent. The virtual address is translated into a real address through two different steps using two separate mapping mechanisms, the segmentation technique is used in the first translation stage, and the paging technique is used in the second translation stage. do. Here paging translation can be turned off for one-step translation of segmentation only compatible with Intel 286.

세그먼트화(제1번역단계)는 48비트의 가상번지를 32비트의 선형(중간)번지로 번역하게 되는데, 48비트의 가상번지는 16비트 세그먼트셀렉터와 상기 세그먼트내의 32비트 오프셋으로 구성되어 있다.Segmentation (first translation step) translates a 48-bit virtual address into a 32-bit linear address, which consists of a 16-bit segment selector and a 32-bit offset within the segment.

상기 16비트 세그먼트셀렉터는 상기 세그먼트를 인지하여 세그먼트디스크립터테이블로부터 기록목록을 억세스하는데 이용되고, 상기 세그먼트의 기록목록은 세그먼트의 기준번지와 세그먼트의 크기(한도) 및 세그먼트의 각종 속성들을 포함하고 있다. 상기 번역단계에서는 32비트선형번지를 구하기 위해 세그먼트기준번지에다 가상번지의 32비트오프셋을 가산함과 동시에 가상번지에 있는 32비트오프셋은 세그먼트크기와 비교되며, 세그먼트속성에 대해 억세스형태가 체크된다. 그리고 32비트오프셋이 세그먼트크기의 밖에 있거나 억세스형태가 세그먼트속성에 의해 받아들여지지 않는다면, 번지처리가 이루어지지 않게 된다.The 16-bit segment selector is used to recognize the segment and access the record list from the segment descriptor table. The record list of the segment includes the segment reference address, the segment size (limit), and various attributes of the segment. In the translation step, the 32-bit offset of the virtual address is added to the segment reference address to obtain the 32-bit linear address, and the 32-bit offset in the virtual address is compared with the segment size, and the access type is checked for the segment attribute. If the 32-bit offset is outside the segment size or the access type is not accepted by the segment attribute, no address processing is performed.

한편, 페이징(제2번역단계)은 아래에 상세하게 기술한 처리과정에서와 같이 32비트선형번지를 2개 레벨의 페이징테이블을 사용하는 32비트 실번지로 번역한다.On the other hand, paging (second translation step) translates a 32-bit linear address into a 32-bit real address using two levels of paging tables as in the process described in detail below.

상기한 2단계는 완전히 독립된 것으로, 여기서 하나의 (큰) 세그먼트가 몇개의 페이지로 구성되거나, 하나의 페이지가 몇개의 (작은)세그먼트로 구성되는 것이 허용된다. 그리고, 세그먼트는 어떠한 경계면에서도 시작할 수 있으면서 임의의 크기일 수도 있는 것으로, 페이지경계면에서 시작하도록 한정되지 않으며, 페이지의 정확한 배수배가 되도록 구성할 수 있다. 이 경우 세그먼트가 임의 번지에서 시작되는 메모리보호구역을 분리적으로 기록하여 임의 크기로 되는 것을 허용할 수 있게 된다.The above two steps are completely independent, where one (large) segment is allowed to consist of several pages, or one page is allowed to consist of several (small) segments. The segment can be any size and can start at any boundary, and is not limited to start at the page boundary, and can be configured to be an exact multiple of the page. In this case, it is possible to separately record the memory protection area starting at an arbitrary address, allowing the segment to be arbitrarily sized.

세그먼트화에서는 각각 단일 보호속성과 소정의 크기를 갖는 다수의 작은 세그먼트를 하나의 단일 페이지속으로 한 그룹화할 수 있는데, 이러한 경우에 세그먼트화는 보호속성을 제공하고, 페이징은 가상메모리가 별도로 보호되어야만하는 한 그룹의 연관장치를 맵핑하는 편리한 방법을 제공하게 된다.In segmentation, multiple small segments, each with a single protection attribute and a predetermined size, can be grouped into one single page, in which case segmentation provides protection attributes and paging must be protected separately from virtual memory. It provides a convenient way to map a group of related devices.

실질적으로 메모리운용방법을 위해 매우 큰 세그먼트를 작은 단위로 분할하기 위해 페이징을 사용함으로써 다수의 페이지디스크립터를 사용할 것을 요구하기 보다는 분리적인 메모리 보호장치를 위한 단일 식별기호(세그먼트셀렉터)와 단일 디스크립터(세그먼트 디스크립터)가 구비되는 것이다. 여기서 세그먼트내에서 페이징은 큰 세그먼트를 실메모리에 근접시킬 필요없는 분할페이지에 맵핑시키는 것을 허용하는 부가적 맵핑레벨을 갖추고 있다.In practice, the use of paging to split very large segments into smaller units for memory operations requires the use of a single identifier (segment selector) and a single descriptor (segment) for separate memory protection rather than requiring the use of multiple page descriptors. Descriptor). Paging in segments here has an additional mapping level that allows mapping large segments to split pages that do not need to be in close proximity to real memory.

사실, 페이징은 큰 세그먼트가 맵핑되는 것을 허용함으로써 오직 소수페이지만이 디스크에 맵핑된 잔여세그먼트가 있는 실체메모리에 동시에 남게되는 것이다. 또한, 페이징은 다른 페이지가 기록되어질 수 있는 동안에 큰 세그먼트, 예컨대 큰 세그먼트의 소정페이지를 기록보호하가 위해 보조구조의 선명도를 지지하게 된다.In fact, paging allows large segments to be mapped so that only a few pages remain in real memory with the remaining segments mapped to disk. Paging also supports the clarity of the substructure for recording protection of large segments, such as certain pages of large segments, while other pages can be recorded.

그리고, 세그먼트화는 프로그래머에 의해 사용된 "자연적"장치, 즉 선형적으로 어드레스되는 임의 크기의 메모리를 작동시키는 매우 포괄적인 보호모델이고, 페이징은 프로세서시스템의 메인메모리와 디스크메모리에 역저장(백업)시키는 실체메모리를 운용하기에 가장 편리한 방법으로 되어 있는 바, 두가지 방법을 조합시킨 본 발명은 매우 융통성을 갖고 있으면서 강력한 메모리보호모델이다.And segmentation is a very comprehensive protection model that operates on "natural" devices used by programmers, that is, memory of any size that is linearly addressed, and paging is stored back in the main and disk memory of the processor system. The present invention, which is a combination of the two methods, is a very flexible and powerful memory protection model.

제1도에 도시된 바와같이 마이크로프로세서(10)는 버스인터페이스장치(14)를 구비하고 있는데, 상기 버스인터페이스장치(14)는 32비트 어드레스신호의 전송을 허용하여 32비트 데이터의 송입·송출을 할 수 있는 버퍼가 포함된 것으로, 내부버스(19)를 통해 신호를 교환할 수 있도록 되어 있고, 또 램(13)의 명령을 페치시키는 프리페치장치와, 명령디코드장치(16)에서 있는 명령장치와 신호를 주고받는 프리페치큐(pre-fetchqueue ; 프리페치 대기행렬)로 이루어져 있다. 여기서 상기 대기식 명령은 32비트레지스터화일을 포함하고 실행장치(18 ; 산술논리장치)에서 처리되는데, 상기 실행장치(18)도 디코드장치(16)와 같이 내부버스(19)를 통해 신호를 주고 받는다.As shown in FIG. 1, the microprocessor 10 includes a bus interface device 14. The bus interface device 14 transmits and sends 32-bit data by allowing a 32-bit address signal to be transmitted. It includes a buffer that can be used to exchange signals through the internal bus 19, and to fetch a command from the RAM 13, and a command device in the command decode device 16. It consists of a pre-fetchqueue (a prefetch queue) that sends and receives signals. Here, the queued command includes a 32-bit register file and is processed by an execution unit 18 (arithmetic logic unit), which executes a signal through an internal bus 19 like the decoding unit 16. Receive.

본 발명은 번지번역장치(20)주위에 중점을 둔 것으로, 상기 번지번역장치(20)는 두가지 기능, 즉 하나는 세그먼트디스크립터레지스터와 관련된 것이고, 다른 하나는 페이지디스크립터캐시메모리와 관련된 것이다. 세그먼트레지스터는 대부분 잘 알려진 것으로, 제2도에 상세히 설명되어 있다. 페이지캐시메모리, 페이지캐시메모리와 페이지디렉토리의 상호작용, 메인메모리(13)에 저장된 페이지테이블에 대해 본 발명의 주요부에 해당하는 제3도 내지 제7도에 의거 설명하면 다음과 같다.The present invention focuses on the address translation apparatus 20, wherein the address translation apparatus 20 relates to two functions, one related to the segment descriptor register, and the other related to the page descriptor cache memory. Segment registers are mostly well known and described in detail in FIG. The page cache memory, the interaction between the page cache memory and the page directory, and the page table stored in the main memory 13 will be described below with reference to FIGS. 3 to 7 corresponding to the main parts of the present invention.

제1도의 세그먼트화장치는 실행장치(18)로부터 가상번지를 인가받아 적절한 레지스터의 세그먼트화정보를 억세스하고, 상기 레지스터는 가상번지의 오프셋에 따라 라인(23)을 통해 페이지장치에 결합되도록 하는 세그먼트의 기본번지를 내포하고 있다.The segmentation apparatus of FIG. 1 receives a virtual address from the execution device 18 to access segmentation information of an appropriate register, and the register is coupled to the page apparatus via line 23 according to the offset of the virtual address. It contains a basic address.

제2도는 새로운 세그먼트를 위해 정보를 맵핑하는 세그먼트레지스터를 로드할 경우, 메인메모리에 있는 테이블을 억세스하는 예를 나타낸 것으로, 세그먼트필드는 메인메모리(13)에 있는 세그먼트디스크립터테이블의 인덱스를 구성하게 되고, 상기 테이블의 내용을 기준번지에다 부가적으로 세그먼트의 데이터에 관련되 속성을 공급한다. 기준번지와 오프셋은 비교기(27)에 의해 세그먼트 한계와 비교되고, 상기 비교기(27)의 출력은 불량신호를 제공한다. 한편, 마이크로프로세서(10)의 일부인 가산기(26)는 출력선(31)상으로 실번지를 출력시키기 위한 기준번지와 오프셋이 접속되고, 상기 실번지는 마이크로프로세서에서 실번지로 사용되거나 페이징장치에 의해 사용되는데, 이러한 것이 종래의 마이크로프로세서(인텔 286)에 의해 기록된 임의의 프로그램과 양립성을 갖게 되는 것이다.2 shows an example of accessing a table in main memory when loading a segment register that maps information for a new segment. The segment field constitutes an index of a segment descriptor table in main memory 13. In addition, the contents of the table are supplied to the reference address and additionally related to the data of the segment. The reference address and offset are compared by the comparator 27 to the segment limit, and the output of the comparator 27 provides a bad signal. On the other hand, the adder 26, which is a part of the microprocessor 10, is connected with a reference address and an offset for outputting the real address on the output line 31, and the real address is used as a real address in the microprocessor or used in a paging device. Which is compatible with any program recorded by a conventional microprocessor (Intel 286).

각종 특권레벨(privilege)과 같은 디스크립터의 세그먼트 속성에 대해 미국특허 제4,442,484호에 상세히 나타나 있다.Segment attributes of descriptors, such as various privilege levels, are described in detail in US Pat. No. 4,442,484.

한편, 제2도의 점선(28)좌측에 종래의 세그먼트화 메카니즘의 구종에 대해 도시되어 있고, 메인메모리에 저장된 페이지 디렉토리와 페이지테이블과, 이 페이지디렉토리 및 페이지테이블과 제1도에 나타난 페이지장치를 포함하는 페이지필드맵핑블록(30)과의 상호작용관계가 제3도 내지 제7도에 도시되어 있다.On the other hand, on the left side of the dotted line 28 in FIG. 2, a conventional segmentation mechanism is shown, and the page directory and page table stored in the main memory, the page directory and page table, and the page apparatus shown in FIG. An interaction relationship with the containing page field mapping block 30 is shown in FIGS. 3 to 7.

본 실시예의 세그먼트화 메카니즘에서는 새도우레지스터(shadow register)를 사용함으로써 페이징메카니즘으로서 수행되는 것과 같이 캐시메모리로서 개선시킬 수 있다.In the segmentation mechanism of this embodiment, by using a shadow register, the segmentation mechanism can be improved as a cache memory as performed as a paging mechanism.

제3도의 점선(22a)안에는 제1도에 나타낸 페이지장치(22)의 페이지디스크립터캐시메모리를 도시한 것으로, 상기 메모리는 두개의 어레이, 즉 기억내용에 대한 내용번지지정가능메모리(34; CAM)와 페이지데이터(기준)메모리(35)로 구성되어 있다. 여기서 상기 메모리(34)(35)는 스태틱메모리셀을 개선시킨 것으로, 그 구조는 제6도에 도시되어 있고, 단일 마스크특징을 갖춘 CAM(34)에서 사용된 특정회로는 제7도와 제8도에 도시되어 있다.The dotted line 22a in FIG. 3 shows the page descriptor cache memory of the page device 22 shown in FIG. 1. The memory includes two arrays, namely, addressable memory 34 (CAM) for the contents of the storage. And page data (reference) memory 35. Here, the memory 34, 35 is an improvement on the static memory cell, the structure of which is shown in FIG. 6, and the specific circuit used in the CAM 34 with a single mask feature is shown in FIG. Is shown.

그리고 제1도에 도시된 세그먼트장치(21)의 선형어드레스는 페이지장치(22)에 접속되어 있는데, 상기 선형어드레스는 2개의 필드, 즉 페이지정보필드(20비트)와 변위필드(12비트)로 구성된 것이며, 부가적으로 마이크로코드에 의해 공급되는 4비트의 페이지속성필드가 있다. 20비트의 페이지정보필드는 CAM(34)의 내용과 비교되어지며, 4개의 속성비트("dirth", "valid", "U/S", "W/R")는 적중되기전에 CAM(34)에 있는 속성비트와 정합되어야 한다(단, 마스킹으로 사용될 때는 예외로 한다).The linear address of the segment apparatus 21 shown in FIG. 1 is connected to the page apparatus 22. The linear address is composed of two fields, namely, a page information field (20 bits) and a displacement field (12 bits). In addition, there is a 4-bit page attribute field supplied by the microcode. The 20-bit page information field is compared with the contents of the CAM 34, and four attribute bits ("dirth", "valid", "U / S", "W / R") are read before the CAM 34 is hit. Must match the attribute bits in) (except when used as masking).

적중상태를 위해 페이지데이터메모리(35)는 제3도의 합산기(36)에 표시된 바와같이 선형번지의 12비트변위필드와 결합되는 20비트 기준워드를 공급하고, 메인메모리(13)의 4K바이트페이지프레임으로부터 합성실번지를 선택한다.For the hit state, the page data memory 35 supplies a 20-bit reference word combined with the 12-bit displacement field of the linear address, as indicated by the summer 36 of FIG. 3, and the 4K byte page of the main memory 13. Select the composite address from the frame.

제4도에 도시된 페이지디렉토리(13a)와 페이지테이블(13b)은 메인메모리(13)에 저장된다. 페이지디렉토리(13a)를 위한 기준번지는 제4도에 도시된 페이지디렉토리기준(38 ; page directory base)과 같은 마이크로프로세서에서 공급된다. 페이지정보필드의 10비트는 인덱스로서 제4도의 합산기(40)에 표시된 바와같이 (4의 계수만큼 곱해진 다음에) 페이지디렉토리(13a)내로 입력되고, 상기 페이지디렉토리(13a)는 32비트 워드를 제공하게 되며, 상기 워드중 20비트는 페이지테이블의 기준으로서 사용된다. 또 페이지정보필드의 다른 10비트는 또 다시 4라는 계수만큼 곱해진 다음에 인덱스로서 합산기(41)를 통해 페이지테이블(13b)내에 기억된다. 페이지테이블(13b)은 30비트워드를 제공하는 것으로, 그중에서 20비트는 실번지의 페이지기준번지인 바, 이러한 페이지기준번지는 합산기(42)에 의해 12비트의 변위필드와 합성된 후 32비트실번지로 된다.The page directory 13a and the page table 13b shown in FIG. 4 are stored in the main memory 13. The reference address for the page directory 13a is supplied from a microprocessor such as the page directory base (38) shown in FIG. 10 bits of the page information field are input into the page directory 13a (after multiplying by a factor of 4) as indicated by the summer 40 of FIG. 4, and the page directory 13a is a 32-bit word. 20 bits of the word are used as a reference for the page table. The other 10 bits of the page information field are again multiplied by a factor of 4, and then stored in the page table 13b through the summer 41 as an index. The page table 13b provides a 30-bit word, of which 20 bits are the page reference addresses of the actual addresses, which are combined with a 12-bit displacement field by the summer 42 and then 32. It is a bit thread address.

페이지디렉토리(13a)와, 페이지테이블(13b)의 12비트변위필드중 5비트는 특히 5개의 속성("dirty", "access", "U/S", "R/W", "Present")을 나타내기 위해 사용된다. 이러한 기능은 제5도를 참조해서 상세히 설명한다. 그리고 상기 변위필드의 잔여비트는 배당되지 않게 되는 것이다.In the page directory 13a and in the 12-bit displacement field of the page table 13b, five bits are particularly five attributes ("dirty", "access", "U / S", "R / W", "Present"). Used to indicate This function is described in detail with reference to FIG. The remaining bits of the displacement field are not allocated.

상기 페이지디렉토리(13a)와 페이지테이블(13b)에 저장되었던 속성데이터는 선형번지에 포함되어 있는 4비트의 속성정보에 따라 제어논리회로(75)에 입력되는데, 상기 제어논리회로(75)의 세부적인 사항에 대해서는 다음 도면들을 참조해서 상세히 설명한다.The attribute data stored in the page directory 13a and the page table 13b are input to the control logic circuit 75 according to the 4-bit attribute information included in the linear address. Details of the control logic circuit 75 are described. The matters will be described in detail with reference to the following drawings.

제5도에는 페이지디렉토리워드와 페이지테이블워드 및 CAM워드가 도시되어 있다. 페이지디렉토리워드중 4비트로 할당된 보호/제어속성데이터는 괄호(43)로 묶여져 기입되어 있고, 하나의 속성데이터가 더 부가된 5개의 보호/제어속성데이터는 페이지테이블워드용으로서 괄호(44)로 묶여져 표시되어 있으며, CAM워드용 보호/제어속성데이터는 괄호(45)로 묶여져 표시되어 있는데, 상기 속성데이터들은 다음과 같은 목적을 위해 사용되는 것이다.FIG. 5 shows a page directory word, a page table word, and a CAM word. The protection / control attribute data allocated to 4 bits of the page directory word is enclosed and written in parentheses 43. Five protection / control attribute data to which one attribute data is added are added in parentheses 44 for the page table word. The protection / control attribute data for CAM words is enclosed and displayed in parentheses 45, which are used for the following purposes.

1. 더티(DIRTY) ; 본 비트는 페이지가 기록되었는가의 여부를 나타내는 비트로서, 상기 비트는 한페이지가 한번 기록되어지면 변경된다. 상기 비트의 사용목적은 예컨대, 페이지가 완전히 비워지지 않았음을 오퍼레이팅시스템에 알리기 위한 것으로, 상기 비트의 저장위치는 페이지디렉토리(13a)가 아닌 페이지테이블(13b)과 CAM(34)이고, 페이지가 기록되어질 때 프로세서에 의해 페이지테이블(13b)에 세트되어진다.1. Dirty (DIRTY); This bit is a bit indicating whether or not a page has been written. The bit is changed once a page is written. The purpose of the use of the bits is to inform the operating system, for example, that the page has not been completely emptied. The storage location of the bits is the page table 13b and the CAM 34, not the page directory 13a. When written, it is set in the page table 13b by the processor.

2. 억세스드(ACCESSED) ; 본 비트는 페이지디렉토리(13a)와 페이지테이블(13b)에 저장(CAM에는 저장되지 않음)되는 것으로, 한 페이지가 억세스되었음을 알리기 위해 사용된다. 한 페이지가 한번 억세스되면, 상기 비트는 프로세서에 의해 메모리내로 억세스되는데, 더티비트(dirty bit)와는 달리 상기 비트는 기록중이거나 독출중인 경우 한 페이지의 억세스가 완료되었는가의 여부를 나타내기 위해 사용되는 것이다.2. ACCESSED; This bit is stored in the page directory 13a and the page table 13b (not stored in the CAM) and is used to indicate that one page has been accessed. Once a page is accessed, the bit is accessed by the processor into memory, which, unlike dirty bits, is used to indicate whether access to a page is complete when writing or reading. Will be.

3. 사용자/슈퍼바이저(U/S) ; 본 비트의 상태는 페이지의 내용이 사용자와 슈퍼바이저가 억세스할 수 있는 것인지(2진수 1) 또는 오직 슈퍼바이저만 억세스할 수 있는 것(2진수 0)인지를 나타내게 된다.3. User / Supervisor (U / S); The state of this bit indicates whether the contents of the page can be accessed by the user and the supervisor (binary 1) or only by the supervisor (binary 0).

4. R/W ; 본 독출/기록보호비트는 사용자프로그램에 의해 페이지를 기록시킬 때는 2진수 1이어야만 한다.4. R / W; This read / write protect bit must be binary 1 when the page is written by the user program.

5. 프레젠트(PRESENT) ; 페이지테이블(13b)에 있는 상기 비트는 관련페이지가 현재 실메모리에 있는가를 나타내는 것이고, 반면 페이지디렉토리(13a)에 있는 상기 비트는 관련 페이지테이블이 현재 실메모리에 있는가를 나타내는 것이다.5. PRESENT; The bit in page table 13b indicates whether the associated page is currently in real memory, while the bit in page directory 13a indicates whether the associated page table is currently in real memory.

6. 배리드(VALID) ; 오직 CAM(34)에만 저장되어 있는 상기 비트는 CAM(34)의 내용이 유효한가를 나타내기 위해 사용되는 것으로, 상기 비트는 초기치설정을 위해 초기상태로 세트된 다음에 유효한 CAM워드가 로드되어질 때 변경된다.6. VALID; The bits stored only in the CAM 34 are used to indicate that the contents of the CAM 34 are valid, which bits are set to an initial state for initial setting and then changed when a valid CAM word is loaded. do.

페이지디렉토리(13a)와 페이지테이블(13b)의 상기 5개 비트는 마이크로프로세서로 적절한 장애신호를 공급하도록 제어논리회로(75)에 접속되어 있다.The five bits of page directory 13a and page table 13b are connected to control logic circuit 75 to supply an appropriate fault signal to the microprocessor.

페이지디렉토리(13a)와 페이지테이블(13b)의 사용자/슈퍼바이저비트는 게이트(46)에 의해 앤드논리되어 제3도에 도시된 CAM(34)에 저장된 U/S 비트로 공급되는 것이고, 이와 마찬가지로, 페이지디렉토리(13a)와 페이지테이블(13b)의 독출/기록비트(R/W)는 게이트(47)에 의해 앤드논리되어 CAM(34)에 저장되는 R/W 비트로 제공되는 것이며, 페이지테이블(13b)의 더티비트로 CAM(34)에 저장되는 것으로, 상기 게이트(46)(47)는 제4도에 도시된 제어논리회로(75)의 일부분이다.The user / supervisor bits of the page directory 13a and the page table 13b are supplied by the gate 46 to the U / S bits stored in the CAM 34 shown in FIG. The read / write bits R / W of the page directory 13a and the page table 13b are provided as R / W bits stored by the gate 47 and stored in the CAM 34, and the page table 13b. Is stored in the CAM 34 as a dirty bit, and the gate 46 and 47 are part of the control logic circuit 75 shown in FIG.

CAM(34)에 저장된 속성데이터들은 자동적으로 테스트된 후, 번지의 일부분으로 처리되며, 마이크로코드로부터의 4비트에 대해 정합되는 것이다. 만일 선형번지가 R/W=0인 상태에서 "사용자"기록사이클이 페이지내에 발생되어지고 있음을 나타낸다면 유효페이지기준번지가 CAM(34)에 저장되었을 때 조차도 장애상태가 발생하게 된다.The attribute data stored in the CAM 34 are automatically tested and then processed as part of the address and matched for 4 bits from the microcode. If the linear address is R / W = 0, indicating that a "user" recording cycle is occurring in the page, a fault condition occurs even when the valid page reference address is stored in the CAM 34.

페이지디렉토리(13a)와 페이지테이블(13b)의 출력인 U/S비트를 논리앤드시킨 것은 "최악의 경우" 캐시메모리에 저장되어 있는 것을 확실하게 하기 위함이고, 이와 마찬가지로, R/W 비트를 앤드논리시킨 것은 캐시메모리에 대한 최악의 경우를 대비하기 위함이다.The logical end of the U / S bits that are the outputs of the page directory 13a and the page table 13b is to ensure that they are stored in the "worst case" cache memory. Similarly, the R / W bits The logic is to prepare for the worst case of cache memory.

제6도에 도시된 CAM(34)은 각각의 세트가 4개의 워드로 이루어진 8세트로 구성되어 있는데, 이러한 어레이의 정합을 위해 21비트(번지에 대한 17비트와 속성데이터에 대한 4비트)가 사용된다.The CAM 34 shown in FIG. 6 consists of eight sets of four sets of four words each, with 21 bits (17 bits for address and 4 bits for attribute data) for matching the array. Used.

여기서 각 세트에 있는 4개기억워드의 4개비교기라인은 검출기에 접속되어 있는 바, 예컨대, 제1세트의 4개워드에 대한 비교기라인이 검출기(53)에 접속되어 있다. 이와 마찬가지로 제2세트로부터 제8세트까지의 4개워드에 대한 비교기라인도 해당 검출기에 접속되어 있는 것이다. 상기 검출기는 비교기라인을 감지해서 상기 세트에 있는 어떠한 워드가 CAM어레이로의 입력(21비트)과 정합되는가를 결정한다. 각 검출기에는 상기 검출기에 결합된 20비트 페이지정보필드중 3비트의 상태에 따라 검출기중의 하나를 선택하도록 하드웨어적으로 연결되어 있고, 상기 페이지정보필드의 다른 17비트는 CAM어레이에 결합되어 있다.Here, four comparator lines of four memory words in each set are connected to the detector, for example, a comparator line for four words of the first set is connected to the detector 53. Similarly, a comparator line for four words from the second set to the eighth set is also connected to the corresponding detector. The detector senses the comparator lines to determine which words in the set match the input (21 bits) to the CAM array. Each detector is hardware connected to select one of the detectors according to the state of 3 bits of the 20 bit page information field coupled to the detector, and the other 17 bits of the page information field are coupled to the CAM array.

본 발명의 설명을 위한 8개의 검출기가 제6도에 도시되어 있는데, 검출기에 결합시키기 위한 4개라인의 한 세트를 선택하는 3비트가 오직 하나의 검출기에만 사용되며, 검출기는 제8도에 도시되어 있다.Eight detectors for illustration of the present invention are shown in FIG. 6, where three bits selecting one set of four lines for coupling to the detector are used for only one detector, and the detector is shown in FIG. It is.

캐시메모리의 데이터저장영역은 어레이(35a~35d)와 같이 4개의 어레이로 구성되어져 있다. 그리고 CAM(34)의 각 세트에 일치하는 데이터워드(기준번지)는 어레이(35a)에 있고, 제1세트의 제2워드에 적중되어 선택된 데이터워드는 어레이(35b)에 있는 것 등이다. 검출기를 선택하기 위해 사용되는 3개비트는 각 어레이에 있는 워드를 선택하는데에도 사용되는 것 등이다. 이와 같이 동시에 각 4개 어레이로부터 워드가 선택된다. 어레이에서 출력된 워드의 최종선택은 검출기의 4개 비교기라인에 의해 제어를 받는 멀티플렉서(55 ; MUX)에 의해 실행된다.The data storage area of the cache memory is composed of four arrays such as the arrays 35a to 35d. The data words (reference addresses) corresponding to each set of the CAM 34 are in the array 35a, the data words selected by hitting the second word in the first set are in the array 35b, and the like. The three bits used to select the detector are also used to select the words in each array. As such, words are selected from each of the four arrays at the same time. The final selection of the words output from the array is performed by the multiplexer 55 (MUX) controlled by the four comparator lines of the detector.

메모리캐시가 억세스되어질 때, 각각 저속처리단계인 정합처리단계는 21비트를 사용함으로써 시작되고, 다른 3개비트는 4개 라인을 갖는 하나의 세트를 즉각적으로 선택할 수 있어서 검출기가 비교기라인상의 전위강하를 감지하기 위한 준비상태가 된다.(후술하는 바와같이 모든 비교기(열)라인은 선택되지 않은 라인들이 방전되는 동안 충전된 채로 남아있는 선택(적중)된 라인을 미리 충전시킨다). 동시에 선택된 세트에서 출력된 4개워드는 어레이(35a~35d)내로 억세스된다.When the memory cache is accessed, each of the low-speed matching stages begins by using 21 bits, and the other three bits can instantly select one set of four lines so that the detector can drop the potential on the comparator line. (Compared below, all comparator (thermal) lines pre-charge selected (hit) lines that remain charged while the unselected lines are discharged.)). At the same time, four words output from the selected set are accessed into the arrays 35a to 35d.

그리고 정합이 이루어졌을 경우 검출기가 세트내에 있는 워드를 확인할 수 있다면, 상기 워드는 데이터워드의 선택에 따라 멀티플렉서(55)에 전송되는데, 이와같은 구조가 상기 캐시메모리의 억세스시간을 향상시킬 수 있도록 되는 것이다.If a match is found and the detector can identify the words in the set, the words are transmitted to the multiplexer 55 according to the selection of the data words, which can improve the access time of the cache memory. will be.

제7도는 CAM어레이에 접속된 21비트중 17비트가 보수발생 및 오버라이드회로(56)에 접속되고, 4개의 속성데이터비트가 VUDW논리회로(57)에 접속된 것을 나타낸 것으로, 제6도를 참조해서 설명한 것 중 검출기선택에 관련된 3비트는 제7도에 도시되어 있지 않다.FIG. 7 shows that 17 bits of the 21 bits connected to the CAM array are connected to the maintenance generation and override circuit 56, and four attribute data bits are connected to the VUDW logic circuit 57. See FIG. The three bits related to the detector selection among those described above are not shown in FIG.

상기 보수발생 및 오버라이드회로(56)는 해당 번지신호에 대한 상호보수신호를 발생시켜서 라인(59)(60)과 같은 CAM어레이의 병렬라인으로 상기 2개 보수신호를 접속시킨다. 이와 마찬가지로 VUDW논리회로(57)는 속성데이터비트에 대한 상호보수신호를 발생시켜서 상기 상호보수신호를 CAM어레이의 평행라인으로 접속시킨다. 상기 라인(59)(60)은 각각의 보수비트라인(즉 21쌍의 비트라인(BIT)과 비트라인(

Figure kpo00001
)을 위해 복수로 되어 있다.The complement generation and override circuit 56 generates a mutual complement signal for the address signal and connects the two complement signals to parallel lines of a CAM array such as lines 59 and 60. Similarly, the VUDW logic circuit 57 generates a mutual complement signal for the attribute data bits and connects the mutual complement signal to parallel lines of the CAM array. The lines 59 and 60 are each complementary bit line (that is, 21 pairs of bit lines BIT and bit lines).
Figure kpo00001
) For plural.

CAM어레이의 각 32개 열은 라인(68)(70)과 같이 한쌍의 병렬열라인으로 되어 있고, 보통 셀(67)과 같은 스태틱메모리셀은 비트라인(BIT)과 비트라인(

Figure kpo00002
)(행사)사이에 접속됨과 더불어 상기한 한쌍의 열라인(68)(70)과 관련된 것이다.Each of the 32 columns of the CAM array consists of a pair of parallel column lines, such as lines 68 and 70, and a static memory cell, such as a normal cell 67, has a bit line (BIT) and a bit line (
Figure kpo00002
In addition to being connected between the (event) and the pair of column lines 68 and 70 described above.

본 발명의 실시예에 따른 메모리셀은 P챈널트랜지스터를 사용하는 통상의 플립플롭스태틱셀로 구성되어 있다. 각 쌍의 열라인중의 한 라인(라인 (70))은 데이터가 상기 어레이내로 기록될 때 메모리셀이 비트라인(BIT)과 비트라인(

Figure kpo00003
)에 접속되도록 허용된다. 다른 방법으로는 메모리셀의 내용이 행라인의 데이터와 비교된 다음에 비교결과가 적중라인(68)에 접속된다. 상기한 비교는 각 셀에 관련된 것중의 하나인 비교기에 의해 실행되고, 상기 비교기는 n챈널트랜지스터로 구성된 것으로, 각 쌍의 비교기중 트랜지스터, 예컨대 트랜지스터(61)(62)는 메모리셀의 일단과 반대쪽 비트라인(
Figure kpo00004
)사이에 접속되어 있다.The memory cell according to the embodiment of the present invention is composed of a conventional flip-flop static cell using a P-channel transistor. One line (line 70) of each pair of column lines indicates that the memory cell has a bit line (BIT) and a bit line (data) when data is written into the array.
Figure kpo00003
Is allowed to access Alternatively, the contents of the memory cells are compared with the data in the row lines and then the comparison results are connected to the hit line 68. The comparison is performed by a comparator, which is one of those associated with each cell, and the comparator is composed of n channel transistors, in which transistors of each pair of comparators, for example, transistors 61 and 62 are opposite to one end of the memory cell. Bitline (
Figure kpo00004
) Is connected.

데이터가 메모리셀(67)에 저장되어 있으면서 비트라인(59 ; BIT)에 가장 가까운 셀의 노드를 하이상태로 가정하면, CAM(34)의 내용이 검색되어질 때 첫번째 적중라인(68)은 트랜지스터(69)를 통해 선충전되고, 그후 CAM(34)에 접속된 상기 신호는 행라인상에 입력된다. 처음에 라인(59)이 하이상태라고 가정하였으므로, 라인(60)이 로우상태이기 때문에 트랜지스터(62)는 동작되지 않게 되고, 또 트랜지스터(63)는 로우라인에 접속된 셀의 측면에 접속되어 있기 때문에 동작되지 않는다. 이러한 상태인 동안에 셀에서 정합되었음을 나타내는 라인(68)이 방전되지 않게 되고, 적중라인(68)은 열라인에 따라 발생하는 비교작용의 앤드조건을 공급하게 되며, 여기서 만일 셀에서 정합이 이루어지지 않는다면, 한개 또는 그 이상의 비교기가 적중라인을 방전시키게 된다.Assuming that the node of the cell closest to the bit line 59 (BIT) while data is stored in the memory cell 67 is high, the first hit line 68 is the transistor (when the contents of the CAM 34 are retrieved). Pre-charged via 69, and then the signal connected to CAM 34 is input on a row line. Since the line 59 is initially assumed to be high, the transistor 62 is not operated because the line 60 is low, and the transistor 63 is connected to the side of the cell connected to the low line. Because it does not work. While in this state, the line 68 indicating that the cell has been matched is not discharged, and the hit line 68 supplies an end condition of the comparison action occurring along the thermal line, where if the cell is not matched, One or more comparators will discharge the hit line.

한편, 상기 보수발생 및 오버라이드회로(56)와 VUDW논리회로(57)가 선충전되어 있는 동안 모든 행라인(비트라인(BIT)과 비트라인(

Figure kpo00005
))이 로우레벨로 되도록 오버라이드신호를 발생시키는데, 이러한 작용에 의해 비교동작이 시작되기 전에 비교기가 전하를 유출하는 것이 방지되게 된다.On the other hand, while the maintenance generation and override circuit 56 and the VUDW logic circuit 57 are precharged, all the row lines (bit line (BIT) and bit line (
Figure kpo00005
An override signal is generated such that)) becomes a low level, which prevents the comparator from draining charges before the comparison operation is started.

비교기가 "2진수 1"상태인 경우에 검색이 이루어지고, "2진수 0"상태인 경우에 무시되는 바, 예컨대, 만일 트랜지스터(64)의 게이트가 하이상태(라인(59)이 하이상태)라면, 트랜지스터(63)(64)가 상기한 비교동작을 제어하게 된다. 이와 마찬가지로, 만일 비트라인(60 ;

Figure kpo00006
)이 하이상태라면, 트랜지스터(61)(62)가 비교동작을 제어하게 된다. 이러한 비교기의 특성은 셀이 무시되는 것을 허용하는 것이다. 이와같이 한 워드가 CAM(34)에 접속되어질 때 비트라인(BIT)(
Figure kpo00007
)을 로우상태로 만듬으로써 정합과정에서 소정 비트들을 마스크시킬 수 있게 되는데, 이것은 셀의 내용이 행라인상의 정합되어짐을 나타나도록 한다. VUDW논리회로(57)는 위와 같은 특성을 이용한 것이다.The search is made when the comparator is in the " binary 1 " state and is ignored if the comparator is in the " binary 0 " state, for example, if the gate of the transistor 64 is high (line 59 is high). If so, the transistors 63 and 64 control the comparison operation described above. Similarly, if bit line 60;
Figure kpo00006
Is high, the transistors 61 and 62 control the comparison operation. The nature of this comparator is to allow the cell to be ignored. In this way, when a word is connected to the CAM 34, the bit line BIT (
Figure kpo00007
By lowering), it is possible to mask certain bits in the matching process, which indicates that the contents of the cell are matched on the row line. The VUDW logic circuit 57 utilizes the above characteristics.

상기한 VUDW논리회로(57)에 접속된 마이크로코드신호는 마이크로코드비트의 기능으로서 속성데이터비트중의 하나를 선택하기 위해 비트라인(BIT)(

Figure kpo00008
)을 로우상태로 만드는 역할을 한다. 그리하여 마이크로코드비트와 관련된 속성데이터가 무시되어진다. 이러한 특성이, 예컨대 슈퍼바이저리모드(supervisory mode)에서 U/S비트를 무시하기 위해 사용된다. 즉 슈퍼바이저리모드에서는 사용자데이터를 억세스할 수 있게 된다. 이와 마찬가지로 독출/기록비트는 독출중인 때나 슈퍼바이저리모드가 동작가능상태일 때 무시될 수 있다. 더티비트도 독출중일 때 무시된다. (상기 특성은 배리드비트에서 사용되지 않는다)The microcode signal connected to the above VUDW logic circuit 57 is a function of the microcode bits to select one of the attribute data bits.
Figure kpo00008
) To a low state. Thus, attribute data related to microcode bits are ignored. This property is used to ignore the U / S bits, for example in supervisory mode. In other words, the user data can be accessed in the supervisor mode. Similarly, the read / write bit can be ignored when being read or when the supervisory mode is enabled. Dirty bits are also ignored when reading. (The above properties are not used in buried bits)

속성데이터비트가 메인메모리에 저장되어진 때 상기 비트들은 억세스되거나 검색될 수 있게 되는데, 논리회로가 예컨대, U/S비트의 1상태나 0상태에 입각한 억세싱을 제어하는데 사용될 수 있다. 그러나 상기 캐시메모리는 분리논리를 사용하지 않는다. 비트라인(BIT)과 비트라인(

Figure kpo00009
)을 강제로 로우상태로 만드는 것은 속성데이터비트의 비트패턴이 정합되지 않을지라도 정합을 허가함으로써(또는 장애를 방지함으로써) 예비논리를 공급한다.When the attribute data bits are stored in the main memory, the bits can be accessed or retrieved, and a logic circuit can be used to control access based on the 1 state or 0 state of the U / S bit, for example. However, the cache memory does not use separation logic. Bitline (BIT) and bitline (
Figure kpo00009
Forcing low) supplies the preliminary logic by allowing the match (or by preventing a failure) even if the bit pattern of the attribute data bits does not match.

제6도에 도시된 검출기는 제8도에서 나타낸 바와같이 게이트(81~84)로 이루어진 다수의 노아게이트를 구비하고 있다. CAM(34)라인중에서 선택된 세트의 3개 적중라인은 게이트(81)에 접속되는데, 이와같은 것이 라인(A)(B)(C)으로 도시되어 있다. 상기 CAM(34)라인의 다른 조합은 각각의 다른 노아게이트에 접속된다. 예컨대 노아게이트(84)에는 적중라인(D)(A)(B)이 접속된다. 각 노아게이트의 출력은 낸드게이트(86)와 같은 NAND게이트에 입력된다. 노아게이트로 입력되지 않는 적중라인의 (A,B,C,D중 어느 하나)한 적중라인은 각 낸드게이트의 한 입력으로서 공급된다. 상기 적중라인은 선택되기 위한 세트기록목록의 비트라인이다. 예컨대, 게이트(86)는 적중라인(D)과 관련된 세트를 선택해야 한다. 즉, 노아게이트(81)인 경우에 적중라인(D)은 낸드게이트(86)에 접속된다. 이와 마찬가지로 낸드게이트(90)에 대해 게이트(84)의 출력에 부가된 적중라인(C)은 낸드게이트(90)에 입력된다. 독출이네이블신호는 이러한 논리회로의 출력이 기록을 위해 이네이블되는 것을 방지하도록 낸드게이트에 접속되어 있는 것이다. 라인(87)과 같은 낸드게이트의 출력은 제6도에 도시된 멀티플렉서(55)를 제어하기 위해 사용되는 것으로, 실질적으로 라인(81)상의 신호와 같은 낸드게이트의 출력신호는 P챈널트랜지스터를 통해 멀티플렉서를 제어하게 되는데, 이러한 목적을 위해 인버터(88)가 출력라인(89)상에 도시되어 있다.The detector shown in FIG. 6 has a number of noble gates consisting of gates 81-84 as shown in FIG. Three hit lines of the set selected from the CAM 34 lines are connected to the gate 81, as shown by lines A, B, and C. FIG. Different combinations of the CAM 34 lines are connected to each other noah gate. For example, the hit line D (A) (B) is connected to the noah gate 84. The output of each NOR gate is input to a NAND gate such as NAND gate 86. One hit line (any one of A, B, C, or D) of the hit line that is not input to the noah gate is supplied as one input of each NAND gate. The hit line is a bit line of the set record list to be selected. For example, gate 86 should select a set associated with hit line D. In other words, in the case of the NOR gate 81, the hit line D is connected to the NAND gate 86. Similarly, the hit line C added to the output of the gate 84 with respect to the NAND gate 90 is input to the NAND gate 90. The read enable signal is connected to the NAND gate to prevent the output of this logic circuit from being enabled for writing. The output of the NAND gate, such as line 87, is used to control the multiplexer 55 shown in FIG. 6, and substantially the output signal of the NAND gate, such as the signal on line 81, is passed through the P channel transistor. The multiplexer is controlled, for which purpose an inverter 88 is shown on the output line 89.

이러한 검출기의 장점은 멀티플렉서에 사용되어지는 선충전라인을 동작가능상태로 만들 수 있다는 점이다. 한편 스태틱배열이 사용될 수 있지만, 이것은 현격히 많은 전력을 필요로 한다. 제8도에 도시된 바와같은 배열에 있어 인버터들의 출력은 적중라인중의 하나에서 전압강하가 이루어질 때까지 같은 상태가 지속되고, 오직 하나의 적중라인에서 전압강하가 일어났을때 멀티플렉서가 올바른 워드를 선택하도록 하는 전압 강하가 발생하게 된다.The advantage of such a detector is that the precharge line used in the multiplexer can be made operational. While static arrays can be used, this requires a lot of power. In the arrangement as shown in FIG. 8, the outputs of the inverters remain the same until a voltage drop occurs on one of the hit lines, and only when the voltage drop occurs on one hit line, the multiplexer outputs the correct word. A voltage drop will occur that will cause the selection.

[발명의 효과][Effects of the Invention]

상기한 바와같이 본 발명에 의하면, 세그먼트화와 페이징을 위한 2개 레벨의 캐시메모리를 사용하는 단일 번지번역장치를 제공함으로써 독립데이터속성제어를 각 레벨로 공급할 수 있게 된다.As described above, according to the present invention, by providing a single address translation apparatus using two levels of cache memory for segmentation and paging, independent data attribute control can be supplied to each level.

Claims (25)

가상번지를 실번지로 번역함과 더불어 속성에 따른 데이터를 제어하는 세그먼트화메카니즘이 구비된 마이크로프로세서(10)와 램(13)으로 이루어진 마이크로프로세서시스템에 있어서, 상기 실번지의 페이지정보필드를 수신하기 위해 상기 마이크로프로세서(10)와 일체로 이루어지면서 소정 상태하에서 변위필드를 제공하도록 상기 실번지의 페이지정보필드를 비교하기 위한 페이지캐시메모리(22)를 구비하고, 상기 램(13)은 상기 페이지캐시메모리(22)의 소정 상태가 정합되지 않았을 경우 페이지데이터로부터 속성필드를 선택하도록 실번지의 페이지정보필드에 따른 페이지맵핑데이터가 접속되어 있는 기억장치를 구비하며, 상기 마이크로프로세서시스템은 상기 램(13)을 위한 실번지를 제공하기 위해 변위필드나 속성필드중 하나를 상기 가상 번지의 오프셋필드에 결합시키기 위한 회로를 구비하여 구성되어 상기 램(13)의 실번지화를 개선시킬 수 있도록 된 것을 특징으로 하는 마이크로프로세서시스템.A microprocessor system comprising a microprocessor 10 and a RAM 13 having a segmentation mechanism for translating a virtual address into a real address and controlling data according to attributes, for receiving a page information field of the real address. And a page cache memory 22 for comparing the page information field of the real address to provide a displacement field under a predetermined state while being integrated with the microprocessor 10, wherein the RAM 13 includes the page And a memory device in which the page mapping data according to the real page information field is connected to select an attribute field from the page data when a predetermined state of the cache memory 22 is not matched. 13) one of the displacement field or the attribute field to provide a real address for the virtual address. And a circuit for coupling to a preset field to improve the actual addressing of the RAM (13). 제1항에 있어서, 상기 페이지캐시메모리(22)와 페이지데이터를 위한 상기 기억장치가 메모리페이지의 속성정보를 포함하도록 된 것을 특징으로 하는 마이크로프로세서시스템.2. The microprocessor system according to claim 1, wherein said page cache memory (22) and said storage device for page data include attribute information of a memory page. 제2항에 있어서, 상기 페이지맵핑데이터를 위한 상기 기억장치가 적어도 하나 이상의 페이지디렉토리(13a)와 하나 이상의 페이지테이블(13b)을 포함하도록 된 것을 특징으로 하는 마이크로프로세서시스템.3. The microprocessor system of claim 2, wherein the storage for the page mapping data comprises at least one page directory (13a) and one or more page tables (13b). 제3항에 있어서, 상기 페이지디렉토리(13a)와 상기 페이지테이블(13b)에 상기 메모리페이지를 위한 속성데이터가 저장되어 있는 것을 특징으로 하는 마이크로프로세서시스템.4. The microprocessor system of claim 3, wherein attribute data for the memory page is stored in the page directory (13a) and the page table (13b). 제4항에 있어서, 적어도 상기 페이지디렉토리(13a)와 상기 페이지테이블(13b)에 저장된 상기 속성 데이터중의 일부가 상기 페이지캐시메모리(22)에 논리적으로 결합되어 저장된 것을 특징으로 하는 마이크로프로세서시스템.5. A microprocessor system according to claim 4, wherein at least some of the attribute data stored in the page directory (13a) and the page table (13b) are logically coupled to and stored in the page cache memory (22). 제1항에 있어서, 상기 마이크로프로세서(10)가 페이지디렉토리(13a)를 위한 페이지디렉토리기준번지를 제공하도록 된 것을 특징으로 하는 마이크로프로세서시스템.2. A microprocessor system according to claim 1, wherein the microprocessor (10) is adapted to provide a page directory reference address for the page directory (13a). 제1항에 있어서, 상기 페이지정보필드의 제1구역이 상기 페이지디렉토리(13a)의 위치에 따라 인덱스를 페이지디렉토리기준(38)내에 공급하도록 된 것을 특징으로 하는 마이크로프로세서시스템.2. A microprocessor system according to claim 1, wherein the first zone of the page information field is adapted to supply an index into the page directory reference (38) according to the position of the page directory (13a). 제7항에 있어서, 페이지테이블기준번지를 저장하는 상기 페이지디렉토리(13a)의 위치와 상기 페이지정보필드의 제2구역이 상기 페이지테이블(13b)내에 인덱스를 공급하도록 된 것을 특징으로 하는 마이크로프로세서시스템.8. The microprocessor system according to claim 7, wherein the position of the page directory 13a storing the page table reference address and the second area of the page information field supply the index in the page table 13b. . 제8항에 있어서, 상기 페이지테이블(13b)내의 위치가 상기 램(13)에 있는 페이지에 대한 기준번지를 공급하도록 된 것을 특징으로 하는 마이크로프로세서시스템.9. A microprocessor system according to claim 8, wherein a position in the page table (13b) is adapted to supply a reference address for a page in the RAM (13). 제2항에 있어서, 상기 페이지캐시메모리(22)가 내용번지지정가능메모리(34)와 페이지기준메모리(35)를 포함하면서 상기 내용번지지정가능메모리(34)의 출력이 상기 페이지기준메모리(35)로부터 상기 램(13)을 위한 페이지기준번지를 선택하도록 된 것을 특징으로 하는 마이크로프로세서시스템.3. The page reference memory (35) according to claim 2, wherein the page cache memory (22) includes a content addressable memory (34) and a page reference memory (35), and the output of the content addressable memory (34) is stored in the page reference memory (35). Microprocessor system for selecting the page reference address for the RAM (13). 제10항에 있어서, 상기 내용번지지정가능메모리(34)가 데이터메모리페이지의 속성데이터를 저장하도록 된 것을 특징으로 하는 마이크로프로세서시스템.11. The microprocessor system according to claim 10, wherein said content addressable memory (34) is arranged to store attribute data of a data memory page. 제11항에 있어서, 상기 내용번지지정가능메모리(34)가 비교기능을 수행하고 있는 동안에 적어도 하나의 속성을 선택적으로 마스킹하도록 된 수단을 포함하여 된 것을 특징으로 하는 마이크로프로세서시스템.12. The microprocessor system of claim 11, comprising means for selectively masking at least one attribute while said content addressable memory is performing a comparison function. 가상번지를 실번지로 번역함과 더불어 데이터메모리세그먼트의 속성을 검색하기 위한 세그먼트화 메카니즘을 갖추고 있는 마이크로프로세서(10)와, 이 마이크로프로세서(10)에 접속된 램(13)으로 구성되고, 상기 마이크로프로세서(10)가 상기 실번지의 페이지정보필드를 수신하기 위해 상기 마이크로프로세서(10)와 일체로 이루어지면서 소정 상태하에서 변위필드를 제공하도록 상기 실번지의 페이지정보필드를 비교하기 위한 페이지캐시메모리(22)를 구비하며, 상기 램(13)은 상기 페이지캐시메모리(22)의 소정 상태가 정합되지 않았을 경우 페이지데이터로부터 속성필드를 선택하도록 실번지의 페이지정보필드에 따른 페이지맵핑데이터가 접속되어 있는 기억장치를 구비하며, 상기 마이크로프로세서시스템은 상기 램(13)을 위한 실번지를 제공하기 위해 상기 변위필드나 속성필드 중 하나를 상기 가상번지의 오프셋필드에 결합시키기 위한 회로를 구비하여 구성되어 상기 램(13)의 실번지화를 개선시킬 수 있도록 된 것을 특징으로 하는 마이크로프로세서시스템.And a RAM 13 having a segmentation mechanism for translating the virtual address into a real address and retrieving the attributes of the data memory segment, and a RAM 13 connected to the microprocessor 10. Page cache memory for comparing the page information field of the real address so that the microprocessor 10 is integrated with the microprocessor 10 to receive the page information field of the real address and provides a displacement field under a predetermined state. (22), and the RAM (13) is connected with page mapping data according to the real page information field so as to select an attribute field from the page data when a predetermined state of the page cache memory (22) is not matched. And a microprocessor system to provide a real address for the RAM 13. Group is constituted by a circuit for coupling one of the displacement field or attribute field to the offset field of the virtual address, it characterized in that the microprocessor systems so as to improve the room screen address of the RAM 13. 제13항에 있어서, 상기 세그먼트화 메카니즘이 세그먼트의 기준을 제공하기 위해 마이크로프로세서(10)와 일체로 이루어진 세그먼트디스크립터레지스터(21)와, 상기 가상번지의 세그먼트필드에 의해 억세스되는 세그먼트디스크립터테이블(25)을 포함한 상기 램(13)으로 이루어진 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.14. The segment descriptor table (25) according to claim 13, wherein said segmentation mechanism is accessed by a segment descriptor register (21) integral with the microprocessor (10) to provide a segment reference, and by a segment field of said virtual address. Memory operating device of the microprocessor system, characterized in that consisting of the RAM (13) including. 제14항에 있어서, 상기 페이지데이터를 위한 페이지캐시메모리(22)와 상기 기억장치가 메모리페이지의 속성에 대한 정보를 포함하도록 된 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.15. The memory operating apparatus according to claim 14, wherein the page cache memory (22) for the page data and the storage device contain information on the attributes of the memory page. 제15항에 있어서, 상기 페이지맵핑데이터를 위한 기억장치가 페이지디렉토리(13a)와 페이지테이블(13b)을 포함하도록 된 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.16. The apparatus of claim 15, wherein the storage for the page mapping data comprises a page directory (13a) and a page table (13b). 제16항에 있어서, 각각의 페이지디렉토리(13a)와 페이지테이블(13b)이 상기 메모리페이지에 대한 속성데이터를 저장하도록 된 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.17. The apparatus of claim 16, wherein each page directory (13a) and page table (13b) are configured to store attribute data for the memory page. 제17항에 있어서, 적어도 페이지디렉토리(13a)와 페이지테이블(13b)에 저장된 속성데이터의 일부가 논리적으로 결합되어 상기 페이지캐시메모리(22)에 저장되도록 된 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.18. The memory operation of a microprocessor system according to claim 17, wherein at least part of the attribute data stored in the page directory (13a) and the page table (13b) are logically combined to be stored in the page cache memory (22). Device. 램(13)과 함께 동작하도록 마이크로프로세서(10)의 일부로서 형성된 번지번역장치(20)가 가상번지를 수신함과 더불어 세그먼트의 기준번지를 제공하기 위한 세그먼트디스크립터레지스터(21)를 구비하고, 상기 마이크로프로세서(10)가 상기 램(13)의 세그먼트기준번지를 제공하는 세그먼트디스크립터테이블(25)의 번지지정을 허용하도록 램(13)으로 번지를 제공함과 더불어 실번지를 제공하기 위해 상기 제2기준번지와 가상 번지의 일부를 채택하도록 작용하며, 소정의 제2상태하에서 변위필드를 공급하기 위해 상기 실번지의 페이지정보필드를 수신하여 그 내용과 비교하도록 된 페이지캐시메모리(22)를 구비하면서 상기 마이크로프로세서(10)가 상기 소정의 제2상태가 정합되지 않았을 경우 변위필드를 공급하기 위한 상기 램(13)의 페이지데이터테이블로 페이지정보필드를 제공하도록 작용하고, 상기 변위필드가 상기 램(13)을 위한 페이지기준번지를 공급함으로써 상기 램(13)의 실번지화를 개선시킬 수 있도록 된 것을 특징으로 하는 마이크로프로세서시스템.The address translation device 20 formed as part of the microprocessor 10 to operate with the RAM 13 includes a segment descriptor register 21 for receiving a virtual address and providing a reference address of the segment. The processor 10 provides the address to the RAM 13 to allow addressing of the segment descriptor table 25 that provides the segment reference address of the RAM 13 and the second reference address to provide a real address. And a page cache memory 22 adapted to receive and compare a page information field of the actual address to supply a displacement field under a second predetermined state, and to compare the contents with the contents. The processor 10 passes the page data table of the RAM 13 to supply the displacement field when the predetermined second state is not matched. Pieces of information, characterized in that the microprocessor system serves to provide a field, the field so that the displacement can be improved to address room screen of said ram (13) by supplying the page base address for the RAM 13. 제19항에 있어서, 상기 세그먼트디스크립터레지스터(21)가 세그먼트데이터의 속성을 저장하고, 상기 페이지캐시메모리(22)가 페이지데이터의 속성을 저장하도록 된 번지번역장치(20)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.20. The address descriptor of claim 19, wherein the segment descriptor register 21 is configured to store the attribute of the segment data, and the page cache memory 22 includes the address translation apparatus 20 configured to store the attribute of the page data. Microprocessor system. 제1신호를 수신함과 더불어 제1신호와 이 제1신호의 보수로 된 제2신호를 공급하는 보수발생 및 오버라이드회로(56)와, 상기 제1신호와 제2신호중 한 신호를 수신하기 위해 다수개의 병렬쌍으로 된 병렬라인(59)(60), 이 병렬라인(59)(60)사이에 연결되면서 상기 병렬라인(59)(60)에 수직인 열에 배열된 다수의 메모리셀(67), 비교기라인중 하나가 각 셀의 열에 관련된 다수의 열비교기라인, 각 평행선상의 메모리셀(67)과 비교기라인의 일단 사이에 접속되어 상기 메모리셀(67)에 저장된 2진상태정보와 상기 제1 및 제2신호를 비교하도록 된 다수개의 비교기(27) 및, 상기 병렬라인(59)(60)으로부터 상기 메모리셀(67)로 데이터를 로드시키기 위한 로드수단(70)으로 구성되면서 상기각 병렬라인(59)(60)이 소정의 2진상태로 유지될 경우 상기 비교기(27)가 동작불능상태로 됨과 더불어 적어도 상기 보수발생 및 오버라이드회로(56)중의 일부가 제1 및 제2신호에 대한 상기 소정의 2진상태를 공급함으로써 선택된 하나의 셀이 상기 비교작용을 무시할 수 있도록 된 내용번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.A complement generation and override circuit 56 for receiving a first signal and supplying a first signal and a second signal that is a complement of the first signal, and a plurality of signals for receiving one of the first and second signals. Parallel lines 59 and 60 of two parallel pairs, a plurality of memory cells 67 connected between the parallel lines 59 and 60 and arranged in a column perpendicular to the parallel lines 59 and 60; One of the comparator lines is connected between a plurality of column comparators lines associated with the columns of each cell, memory cells 67 on each parallel line and one end of the comparator lines, and binary state information stored in the memory cells 67 and the first and And a plurality of comparators 27 configured to compare second signals, and load means 70 for loading data from the parallel lines 59 and 60 to the memory cells 67. 59) 60 becomes inoperable when the comparator 27 remains in a predetermined binary state In addition, at least part of the maintenance and override circuit 56 supplies the predetermined binary state with respect to the first and second signals so that the selected cell can ignore the comparison operation. 34) microprocessor system comprising: a. 제21항에 있어서, 상기 열비교기라인이 선충전된 라인으로 된 번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.22. The microprocessor system of claim 21, wherein the thermal comparator line comprises a addressable memory (34) of precharged lines. 제22항에 있어서, 다수의 구역으로 이루어지면서 상기한 모든 구역내에서 데이터가 동시에 억세스되고, 각 구역중 어느 한 구역으로부터의 출력이 상기한 열라인을 통해 선택되는 내용번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.23. The content addressable memory (34) according to claim 22, wherein data is accessed simultaneously in all of the above-mentioned zones, consisting of a plurality of zones, and output from any one of each zone is selected through the above-described column line. Microprocessor system comprising a. 제23항에 있어서, 상기 병렬라인(59)(60)의 소정의 수에 대응해서 연결되면서 소정의 수의 라인중 어느 한 라인이 충전된 상태로 남아 있는가의 여부를 감지하는 검출기(53)를 구비한 내용번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.24. The detector 53 according to claim 23, further comprising a detector 53 connected to correspond to a predetermined number of the parallel lines 59 and 60 and detecting which one of a predetermined number of lines remains charged. And a content addressable memory (34) provided. 제24항에 있어서, 상기 검출기(53)에 의해 상기 구역중 어느 한 구역을 선택하도록 된 번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.25. The microprocessor system of claim 24, comprising a addressable memory (34) configured to select any one of the zones by the detector (53).
KR1019850006490A 1985-06-13 1985-09-05 Microprocessor Systems and Their Memory Operations Expired KR900005897B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US74438985A 1985-06-13 1985-06-13
US744389 1985-06-13
JP744389 1985-06-13

Publications (2)

Publication Number Publication Date
KR870003427A KR870003427A (en) 1987-04-17
KR900005897B1 true KR900005897B1 (en) 1990-08-13

Family

ID=24992533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019850006490A Expired KR900005897B1 (en) 1985-06-13 1985-09-05 Microprocessor Systems and Their Memory Operations

Country Status (8)

Country Link
JP (1) JPH0622000B2 (en)
KR (1) KR900005897B1 (en)
CN (1) CN1008839B (en)
DE (1) DE3618163C2 (en)
FR (1) FR2583540B1 (en)
GB (2) GB2176918B (en)
HK (1) HK53590A (en)
SG (1) SG34090G (en)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1988007721A1 (en) * 1987-04-02 1988-10-06 Unisys Corporation Associative address translator for computer memory systems
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5761413A (en) 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5251308A (en) * 1987-12-22 1993-10-05 Kendall Square Research Corporation Shared memory multiprocessor with data hiding and post-store
US5341483A (en) * 1987-12-22 1994-08-23 Kendall Square Research Corporation Dynamic hierarchial associative memory
CA2078315A1 (en) * 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
US5895489A (en) * 1991-10-16 1999-04-20 Intel Corporation Memory management system including an inclusion bit for maintaining cache coherency
GB2260629B (en) * 1991-10-16 1995-07-26 Intel Corp A segment descriptor cache for a microprocessor
CN1068687C (en) * 1993-01-20 2001-07-18 联华电子股份有限公司 Memory Dynamic Allocation Method for Recording Multi-segment Voices
EP0613090A1 (en) * 1993-02-26 1994-08-31 Siemens Nixdorf Informationssysteme Aktiengesellschaft Method for checking the admissibility of direct memory accesses in a data processing systems
US5548746A (en) * 1993-11-12 1996-08-20 International Business Machines Corporation Non-contiguous mapping of I/O addresses to use page protection of a process
US5590297A (en) * 1994-01-04 1996-12-31 Intel Corporation Address generation unit with segmented addresses in a mircroprocessor
US6622211B2 (en) * 2001-08-15 2003-09-16 Ip-First, L.L.C. Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty
KR100406924B1 (en) * 2001-10-12 2003-11-21 삼성전자주식회사 Content addressable memory cell
US7689485B2 (en) 2002-08-10 2010-03-30 Cisco Technology, Inc. Generating accounting data based on access control list entries
GB2396034B (en) 2002-11-18 2006-03-08 Advanced Risc Mach Ltd Technique for accessing memory in a data processing apparatus
US7149862B2 (en) 2002-11-18 2006-12-12 Arm Limited Access control in a data processing apparatus
GB2396930B (en) 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing access to a memory
JP4302641B2 (en) 2002-11-18 2009-07-29 エイアールエム リミテッド Controlling device access to memory
US7171539B2 (en) 2002-11-18 2007-01-30 Arm Limited Apparatus and method for controlling access to a memory
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
WO2005017754A1 (en) * 2003-07-29 2005-02-24 Cisco Technology, Inc. Force no-hit indications for cam entries based on policy maps
US20060090034A1 (en) * 2004-10-22 2006-04-27 Fujitsu Limited System and method for providing a way memoization in a processing environment
GB2448523B (en) * 2007-04-19 2009-06-17 Transitive Ltd Apparatus and method for handling exception signals in a computing system
US8799620B2 (en) 2007-06-01 2014-08-05 Intel Corporation Linear to physical address translation with support for page attributes
KR101671494B1 (en) 2010-10-08 2016-11-02 삼성전자주식회사 Multi Processor based on shared virtual memory and Method for generating address translation table
FR3065826B1 (en) * 2017-04-28 2024-03-15 Patrick Pirim AUTOMATED METHOD AND ASSOCIATED DEVICE CAPABLE OF STORING, RECALLING AND, IN A NON-VOLATILE MANNER, ASSOCIATIONS OF MESSAGES VERSUS LABELS AND VICE VERSA, WITH MAXIMUM LIKELIHOOD
KR102686380B1 (en) * 2018-12-20 2024-07-19 에스케이하이닉스 주식회사 Memory device, Memory system including the memory device and Method of operating the memory device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA784373A (en) * 1963-04-01 1968-04-30 W. Bremer John Content addressed memory system
GB1281387A (en) * 1969-11-22 1972-07-12 Ibm Associative store
US3761902A (en) * 1971-12-30 1973-09-25 Ibm Functional memory using multi-state associative cells
GB1457423A (en) * 1973-01-17 1976-12-01 Nat Res Dev Associative memories
GB1543736A (en) * 1976-06-21 1979-04-04 Nat Res Dev Associative processors
US4376297A (en) * 1978-04-10 1983-03-08 Signetics Corporation Virtual memory addressing device
GB1595740A (en) * 1978-05-25 1981-08-19 Fujitsu Ltd Data processing apparatus
US4377855A (en) * 1980-11-06 1983-03-22 National Semiconductor Corporation Content-addressable memory
GB2127994B (en) * 1982-09-29 1987-01-21 Apple Computer Memory management unit for digital computer
US4442482A (en) * 1982-09-30 1984-04-10 Venus Scientific Inc. Dual output H.V. rectifier power supply driven by common transformer winding
JPH0658646B2 (en) * 1982-12-30 1994-08-03 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション Virtual memory address translation mechanism with controlled data persistence

Also Published As

Publication number Publication date
HK53590A (en) 1990-07-27
GB2176920B (en) 1989-11-22
CN1008839B (en) 1990-07-18
JPH0622000B2 (en) 1994-03-23
DE3618163A1 (en) 1986-12-18
GB8519991D0 (en) 1985-09-18
GB2176918A (en) 1987-01-07
FR2583540A1 (en) 1986-12-19
SG34090G (en) 1990-08-03
KR870003427A (en) 1987-04-17
GB2176918B (en) 1989-11-01
DE3618163C2 (en) 1995-04-27
JPS61286946A (en) 1986-12-17
GB8612679D0 (en) 1986-07-02
CN85106711A (en) 1987-02-04
FR2583540B1 (en) 1991-09-06
GB2176920A (en) 1987-01-07

Similar Documents

Publication Publication Date Title
KR900005897B1 (en) Microprocessor Systems and Their Memory Operations
US5321836A (en) Virtual memory management method and apparatus utilizing separate and independent segmentation and paging mechanism
US5696925A (en) Memory management unit with address translation function
US5526504A (en) Variable page size translation lookaside buffer
KR920005280B1 (en) High speed cache system
US4589092A (en) Data buffer having separate lock bit storage array
US5053951A (en) Segment descriptor unit for performing static and dynamic address translation operations
US5568415A (en) Content addressable memory having a pair of memory cells storing don't care states for address translation
US5604879A (en) Single array address translator with segment and page invalidate ability and method of operation
US5317705A (en) Apparatus and method for TLB purge reduction in a multi-level machine system
US5173872A (en) Content addressable memory for microprocessor system
US4812969A (en) Address translation unit
US5414824A (en) Apparatus and method for accessing a split line in a high speed cache
EP0095033A2 (en) Set associative sector cache
JPH11161547A (en) Storage device for data processing device and method of accessing storage location
US5530824A (en) Address translation circuit
US6571316B1 (en) Cache memory array for multiple address spaces
US5956752A (en) Method and apparatus for accessing a cache using index prediction
US5712998A (en) Fast fully associative translation lookaside buffer with the ability to store and manage information pertaining to at least two different page sizes
JPH08227380A (en) Data-processing system
US5737569A (en) Multiport high speed memory having contention arbitration capability without standby delay
EP0284751B1 (en) Cache memory
US20060117129A1 (en) High speed DRAM cache architecture
US5530822A (en) Address translator and method of operation
US5732405A (en) Method and apparatus for performing a cache operation in a data processing system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19850905

A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 19851227

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 19850905

Comment text: Patent Application

PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 19891128

Patent event code: PE09021S01D

G160 Decision to publish patent application
PG1605 Publication of application before grant of patent

Comment text: Decision on Publication of Application

Patent event code: PG16051S01I

Patent event date: 19900712

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 19901105

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 19901201

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 19901201

End annual number: 3

Start annual number: 1

PR1001 Payment of annual fee

Payment date: 19930805

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 19940803

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 19950801

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 19960726

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 19970731

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 19980805

Start annual number: 9

End annual number: 9

PR1001 Payment of annual fee

Payment date: 19990805

Start annual number: 10

End annual number: 10

PR1001 Payment of annual fee

Payment date: 20000804

Start annual number: 11

End annual number: 11

PR1001 Payment of annual fee

Payment date: 20010802

Start annual number: 12

End annual number: 12

PR1001 Payment of annual fee

Payment date: 20020802

Start annual number: 13

End annual number: 13

PR1001 Payment of annual fee

Payment date: 20030801

Start annual number: 14

End annual number: 14

PR1001 Payment of annual fee

Payment date: 20040811

Start annual number: 15

End annual number: 15

FPAY Annual fee payment

Payment date: 20050808

Year of fee payment: 16

PR1001 Payment of annual fee

Payment date: 20050808

Start annual number: 16

End annual number: 16

EXPY Expiration of term
PC1801 Expiration of term