[go: up one dir, main page]

KR900005897B1 - 마이크로프로세서 시스템과 그 메모리 운용장치 - Google Patents

마이크로프로세서 시스템과 그 메모리 운용장치 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
English (en)
Other versions
KR870003427A (ko
Inventor
에이치.크로우포드 존
에스.라이스 폴
Original Assignee
인텔 코포레이숀
에프.토마스 듄랩, 쥬니어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이숀, 에프.토마스 듄랩, 쥬니어 filed Critical 인텔 코포레이숀
Publication of KR870003427A publication Critical patent/KR870003427A/ko
Application granted granted Critical
Publication of KR900005897B1 publication Critical patent/KR900005897B1/ko
Expired legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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; 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]

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

내용 없음.

Description

마이크로프로세서 시스템과 그 메모리 운용장치
제1도는 본 발명에 따른 마이크로프로세서의 전체적인 구성을 나타낸 블록다이아그램.
제2도는 제1도의 마이크로프로세서에 대한 분할메카니즘을 나타낸 블록다이아그램.
제3도는 페이지필드를 페이지캐시메모리내에 적중시키거나 정합시키기 위해 맵핑하는 예를 나타낸 블록다이아그램.
제4도는 제3도의 페이지캐시메모리내에 적중되지 않거나 정합되지 않는 페이지필드를 맵핑하는 예의 불록다이아그램을 나타낸 것으로, 이때 메인메모리내의 페이지디렉토리와 페이지테이블이 사용되는 것을 나타낸 도면.
제5도는 페이지캐시메모리의 페이지디렉토리와 페이지테이블에 저장된 속성을 나타낸 다이아그램.
제6도는 페이지캐패시메모리내에 포함된 기억내용에 대한 내용 번지지정가능메모리와 데이터기억장치의 구조를 나타낸 도면.
제7도는 제6도에 도시된 내용번지지정가능메모리의 개략적인 회로도.
제8도는 제6도에 도시된 검출기에 관련된 개략적인 논리회로도이다.
* 도면의 주요부분에 대한 부호의 설명
10 : 마이크로프로세서 13 : 램(메인메모리)
13A : 페이지디렉토리 13b : 페이지테이블
14 : 버스인터페이스장치 16 : 명령디코드장치
18 : 실행장치 20 : 번지번역장치
22 : 페이지장치 26 : 가산기
27 : 비교기 30 : 페이지필드맵핑블록
31 : 출력선
34 : CAM(Content addressable memory) ; 내용번지지정가능메모리
35 : 페이지데이터(기준)메모리 40,41,42 : 합산기
46,47 : 앤드게이트 53 : 검출기
55 : 멀티플렉서 56 : 보수발생 및 오버라이드회로
57 : VUDW논리회로 75 : 제어논리회로
[산업상의 이용분야]
본 발명은 마이크로프로세서의 메모리운용에 관한 것으로, 특히 번지번역장치에 관련된 마이크로프로세서 시스템과 그 메모리운용장치에 관한 것이다.
[종래의 기술 및 문제점]
종래 메모리운용방법에 대한 여러종류의 메카니즘이 널리 알려져 있었는 바, 그중 하나의 시스템에 의하면, 큰 번지(가상번지)는 그 보다 작은 실체번지로 번역되어질 수 있도록 되어 있고, 또 다른 하나의 시스템에 의하면, 뱅크스위칭을 이용하는 작은 번지로서 큰 번지공간을 억세스할 수 있도록 되어 있다. 본 발명은 가상번지가 작은 실체번지로 번역되는 전자의 기술에 관한 것으로, 여기서 큰 가상번지는 한정된 실체번지를 억세스하는데 이용된다.
또한 메모리운용시스템의 여러 보호메카니즘에 대해서도 이미 잘 알려져 있는 바, 예컨대 어떤 시스템에서도 사용자가 오퍼레이팅시스템내로 기록하는 것을 방지하거나 오퍼레이팅시스템에서 외부포트로 독출하는 것을 방지할 수도 있도록 되어 있는 바, 따라서 후에 상세히 설명하겠지만, 본 발명은 데이터에 대한 "속성"을 2개의 레벨로 할당하는 주변제어장치의 일부와 같은 보호메카니즘을 제공하고자 하는 것이다.
출원인에 의해 기출원된 가장 최근의 것이 미국 특허 제4,442,484호에 발표되어 있는 바, 상기 특허에는 인텔 286과 같이 상업적으로 이용할 수 있도록 마이크로프로세서를 구체화시킨 메모리운용방법과 보호메카니즘에 대해 기술되어 있다. 상기 마이크로프로세서는 정보와 속성(예컨대, 보호비트)을 한정하는 기본세그먼트번지를 포함하는 세그먼트화 디스크립터레지스터를 구비하고 있고, 세그먼트디스크립터테이블과 세그먼트디스크립터레지스터는 모두 구속레벨과 보호형태와 같은 여러 제어메카니즘을 결정하는 비트들을 구비하고 있으며, 이러한 제어메카니즘에 대한 기술적 내용이 미국 특허 제4,442,484호에 상세하게 기술되어 있다.
인텔 286에 대한 한가지 문제점은 세그먼트오프셋이 64K바이트로 한정된다는 것이다. 항상 유지하기가 쉽지 않은 세그먼트를 위해 실체메모리에서 일련의 장소가 요구되는 바, 다음에서 알 수 있는 바와같이 본 발명의 시스템에 대한 한가지 장점은 비록 세그먼트 오프셋이 실체번지공간만큼 크지만 본 발명은 인텔 286에 설치된 기존의 세그먼트화메카니즘과 양립성을 갖추고 있다는 것이다.
[발명의 목적]
본 발명은 상기한 점을 감안해서 발명된 것으로, 마이크로프로세서와 데이터메모리를 구비하고 있는 마이크로프로세서를 보다 개선하면서 상기 마이크로프로세서는 가상메모리번지를 제2메모리번지(선형번지 ; 실번지)로 번역하고, 데이터메모리세그먼트의 속성을 측정하여 제어하는 세그먼트화 메카니즘을 구비하고 페이지캐시메모리를 구비한 마이크로프로세서시스템을 제공함에 그 목적이 있다.
또한, 본 발명은 데이터메모리에 페이지맵핑데이터, 특히 페이지디렉토리와 페이지테이블이 저장되어 있으면서 상기 페이지캐시메모리에서 확실적중이 이루어지지 않는 경우 페이지 정보필드는 페이지디렉토리와 페이지테이블을 억세스하고, 페이지캐시메모리나 페이지테이블의 출력은 1페이지에 대한 실체기준번지를 메모리내로 공급하며, 선형번지의 또 다른 필드는 상기 페이지내로 오프셋을 공급하고, 데이터메모리에 있는 페이지캐시메모리와 페이지맵핑데이터는 특정페이지에서 데이터의 속성을 나타내는 신호를 저장하며, 이러한 속성에는 해당 페이지가 이미 기록되어 다른 정보로 되었는가의 여부를 나타내는 독출보호와 기록보호를 구비하고 있고, 특히 세그먼트속성과 분리되어 구별되는 메모리에다 데이터에 대해 페이지레벨보호는 제어에 대한 제2층을 공급할 수 있도록 된 마이크로프로세서의 메모리운용장치를 제공함에 그 목적이 있다.
[발명의 구성]
상기 목적을 달성하기 위한 본 발명은, 가상번지를 실번지로 번역함과 더불어 속성에 따른 데이터를 제어하는 세그먼트화 메카니즘이 구비된 마이크로프로세서(10)와 램(13)으로 이루어진 마이크로프로세서시스템에 있어서, 상기 실번지의 페이지정보필드를 수신하기 위해 상기 마이크로프로세서(10)와 일체로 이루어지면서 소정 상태하에서 변위필드를 제공하도록 상기 실번지의 페이지정보필드를 비교하기 위한 페이지캐시메모리(22)를 구비하고, 상기 램(13)은 상기 페이지캐시메모리(22)의 소정상태가 접합되지 않았을 경우 페이지데이터로부터 속성필드를 선택하도록 실번지의 페이지정보필드에 따른 페이지맵핑데이터가 접속되어 있는 기억장치를 구비하며, 상기 마이크로프로세서시스템은 상기 램(13)을 위한 실번지를 제공하기 위해 변위필드와 속성필드중의 하나를 상기 가상번지의 오프셋필드에 결합시키기 위한 회로를 구비함으로서 상기 램(13)의 실번지화를 개선시킬 수 있도록 된 것을 특징으로 한다.
[실시예]
이하, 예시도면을 참조해서 본 발명에 따른 1실시예를 상세히 설명한다. 여기서 마이크로시스템, 특히 그중에서 메모리운용방법의 메카니즘은 다음과 같은 바, 아래에서는 본 발명의 완전한 이해를 돕기 위해 고유 비트수에 대해서는 숫자로서 상세하게 나타냈지만, 이러한 특정수가 아니라도 본 발명을 실시할 수 있고, 또한 설명이 중복을 피하기 위해 공지화된 구조는 도시하지 않았다.
본 발명의 실시예에 따른 마이크로프로세서시스템에는 제1도에 나타낸 바와같은 마이크로프로세서(10)가 구비되어 있는 바, 상기 마이크로프로세서(10)는 단일 실리콘기판위에 CMOS처리법을 이용하여 제작된 것으로, CMOS로 제작된 것 뿐만 아니라, n-챈널, 바이폴라, SOS등과 같은 다른 기술로서도 실현시킬 수 있다.
본 발명에 있어서 소정 어떠한 상태하에서는 메모리운용메카니즘에서 메인메모리에 저장된 테이블로 억세스할 필요가 있다. 제1도에 상기 시스템에서 메인메모리로서 기능을 갖춘 램(13)이 도시되어 있는데, 일반적으로 램은 다이내믹 메모리가 사용된다.
제1도에 도시한 바와같이, 마이크로프로세서(10)는 32비트의 실번지(physical address)를 갖춘 것으로, 상기 마이크로프로세서(10) 자체가 32비트프로세서이고, 또 마이크로프로세서시스템의 다른 요소로는 제1도에는 도시되어 있지 않지만 일반적으로 드라이버와 수학적인 연산처리장치등이 사용된다. 또한, 본 발명에 따른 메모리운용장치에서는 세그먼트화와 페이징을 이용하게 되는데, 세그먼트는 페이지번역을 묘사하기 위해 사용된 페이지테이블을 분리하는 일련의 세그먼트디스크립터테이블에 의해 결정된다. 여기서 상기 2개의 메카니즘은 완전히 분리된 독립적인 것이다. 그리고 가상번지(virtual address)는 2개의 별도 맵핑메카니즘을 사용하는 2개의 서로 다른 스텝을 통해 실번지로 번역되고, 세그먼트화 기술은 제1번역단계에서 사용되며, 페이징기술은 제2번역단계에서 사용된다. 여기서 페이징번역은 인텔 286과 양립성이 있는 세그먼트화만의 1스텝번역을 위해 턴오프될 수 있다.
세그먼트화(제1번역단계)는 48비트의 가상번지를 32비트의 선형(중간)번지로 번역하게 되는데, 48비트의 가상번지는 16비트 세그먼트셀렉터와 상기 세그먼트내의 32비트 오프셋으로 구성되어 있다.
상기 16비트 세그먼트셀렉터는 상기 세그먼트를 인지하여 세그먼트디스크립터테이블로부터 기록목록을 억세스하는데 이용되고, 상기 세그먼트의 기록목록은 세그먼트의 기준번지와 세그먼트의 크기(한도) 및 세그먼트의 각종 속성들을 포함하고 있다. 상기 번역단계에서는 32비트선형번지를 구하기 위해 세그먼트기준번지에다 가상번지의 32비트오프셋을 가산함과 동시에 가상번지에 있는 32비트오프셋은 세그먼트크기와 비교되며, 세그먼트속성에 대해 억세스형태가 체크된다. 그리고 32비트오프셋이 세그먼트크기의 밖에 있거나 억세스형태가 세그먼트속성에 의해 받아들여지지 않는다면, 번지처리가 이루어지지 않게 된다.
한편, 페이징(제2번역단계)은 아래에 상세하게 기술한 처리과정에서와 같이 32비트선형번지를 2개 레벨의 페이징테이블을 사용하는 32비트 실번지로 번역한다.
상기한 2단계는 완전히 독립된 것으로, 여기서 하나의 (큰) 세그먼트가 몇개의 페이지로 구성되거나, 하나의 페이지가 몇개의 (작은)세그먼트로 구성되는 것이 허용된다. 그리고, 세그먼트는 어떠한 경계면에서도 시작할 수 있으면서 임의의 크기일 수도 있는 것으로, 페이지경계면에서 시작하도록 한정되지 않으며, 페이지의 정확한 배수배가 되도록 구성할 수 있다. 이 경우 세그먼트가 임의 번지에서 시작되는 메모리보호구역을 분리적으로 기록하여 임의 크기로 되는 것을 허용할 수 있게 된다.
세그먼트화에서는 각각 단일 보호속성과 소정의 크기를 갖는 다수의 작은 세그먼트를 하나의 단일 페이지속으로 한 그룹화할 수 있는데, 이러한 경우에 세그먼트화는 보호속성을 제공하고, 페이징은 가상메모리가 별도로 보호되어야만하는 한 그룹의 연관장치를 맵핑하는 편리한 방법을 제공하게 된다.
실질적으로 메모리운용방법을 위해 매우 큰 세그먼트를 작은 단위로 분할하기 위해 페이징을 사용함으로써 다수의 페이지디스크립터를 사용할 것을 요구하기 보다는 분리적인 메모리 보호장치를 위한 단일 식별기호(세그먼트셀렉터)와 단일 디스크립터(세그먼트 디스크립터)가 구비되는 것이다. 여기서 세그먼트내에서 페이징은 큰 세그먼트를 실메모리에 근접시킬 필요없는 분할페이지에 맵핑시키는 것을 허용하는 부가적 맵핑레벨을 갖추고 있다.
사실, 페이징은 큰 세그먼트가 맵핑되는 것을 허용함으로써 오직 소수페이지만이 디스크에 맵핑된 잔여세그먼트가 있는 실체메모리에 동시에 남게되는 것이다. 또한, 페이징은 다른 페이지가 기록되어질 수 있는 동안에 큰 세그먼트, 예컨대 큰 세그먼트의 소정페이지를 기록보호하가 위해 보조구조의 선명도를 지지하게 된다.
그리고, 세그먼트화는 프로그래머에 의해 사용된 "자연적"장치, 즉 선형적으로 어드레스되는 임의 크기의 메모리를 작동시키는 매우 포괄적인 보호모델이고, 페이징은 프로세서시스템의 메인메모리와 디스크메모리에 역저장(백업)시키는 실체메모리를 운용하기에 가장 편리한 방법으로 되어 있는 바, 두가지 방법을 조합시킨 본 발명은 매우 융통성을 갖고 있으면서 강력한 메모리보호모델이다.
제1도에 도시된 바와같이 마이크로프로세서(10)는 버스인터페이스장치(14)를 구비하고 있는데, 상기 버스인터페이스장치(14)는 32비트 어드레스신호의 전송을 허용하여 32비트 데이터의 송입·송출을 할 수 있는 버퍼가 포함된 것으로, 내부버스(19)를 통해 신호를 교환할 수 있도록 되어 있고, 또 램(13)의 명령을 페치시키는 프리페치장치와, 명령디코드장치(16)에서 있는 명령장치와 신호를 주고받는 프리페치큐(pre-fetchqueue ; 프리페치 대기행렬)로 이루어져 있다. 여기서 상기 대기식 명령은 32비트레지스터화일을 포함하고 실행장치(18 ; 산술논리장치)에서 처리되는데, 상기 실행장치(18)도 디코드장치(16)와 같이 내부버스(19)를 통해 신호를 주고 받는다.
본 발명은 번지번역장치(20)주위에 중점을 둔 것으로, 상기 번지번역장치(20)는 두가지 기능, 즉 하나는 세그먼트디스크립터레지스터와 관련된 것이고, 다른 하나는 페이지디스크립터캐시메모리와 관련된 것이다. 세그먼트레지스터는 대부분 잘 알려진 것으로, 제2도에 상세히 설명되어 있다. 페이지캐시메모리, 페이지캐시메모리와 페이지디렉토리의 상호작용, 메인메모리(13)에 저장된 페이지테이블에 대해 본 발명의 주요부에 해당하는 제3도 내지 제7도에 의거 설명하면 다음과 같다.
제1도의 세그먼트화장치는 실행장치(18)로부터 가상번지를 인가받아 적절한 레지스터의 세그먼트화정보를 억세스하고, 상기 레지스터는 가상번지의 오프셋에 따라 라인(23)을 통해 페이지장치에 결합되도록 하는 세그먼트의 기본번지를 내포하고 있다.
제2도는 새로운 세그먼트를 위해 정보를 맵핑하는 세그먼트레지스터를 로드할 경우, 메인메모리에 있는 테이블을 억세스하는 예를 나타낸 것으로, 세그먼트필드는 메인메모리(13)에 있는 세그먼트디스크립터테이블의 인덱스를 구성하게 되고, 상기 테이블의 내용을 기준번지에다 부가적으로 세그먼트의 데이터에 관련되 속성을 공급한다. 기준번지와 오프셋은 비교기(27)에 의해 세그먼트 한계와 비교되고, 상기 비교기(27)의 출력은 불량신호를 제공한다. 한편, 마이크로프로세서(10)의 일부인 가산기(26)는 출력선(31)상으로 실번지를 출력시키기 위한 기준번지와 오프셋이 접속되고, 상기 실번지는 마이크로프로세서에서 실번지로 사용되거나 페이징장치에 의해 사용되는데, 이러한 것이 종래의 마이크로프로세서(인텔 286)에 의해 기록된 임의의 프로그램과 양립성을 갖게 되는 것이다.
각종 특권레벨(privilege)과 같은 디스크립터의 세그먼트 속성에 대해 미국특허 제4,442,484호에 상세히 나타나 있다.
한편, 제2도의 점선(28)좌측에 종래의 세그먼트화 메카니즘의 구종에 대해 도시되어 있고, 메인메모리에 저장된 페이지 디렉토리와 페이지테이블과, 이 페이지디렉토리 및 페이지테이블과 제1도에 나타난 페이지장치를 포함하는 페이지필드맵핑블록(30)과의 상호작용관계가 제3도 내지 제7도에 도시되어 있다.
본 실시예의 세그먼트화 메카니즘에서는 새도우레지스터(shadow register)를 사용함으로써 페이징메카니즘으로서 수행되는 것과 같이 캐시메모리로서 개선시킬 수 있다.
제3도의 점선(22a)안에는 제1도에 나타낸 페이지장치(22)의 페이지디스크립터캐시메모리를 도시한 것으로, 상기 메모리는 두개의 어레이, 즉 기억내용에 대한 내용번지지정가능메모리(34; CAM)와 페이지데이터(기준)메모리(35)로 구성되어 있다. 여기서 상기 메모리(34)(35)는 스태틱메모리셀을 개선시킨 것으로, 그 구조는 제6도에 도시되어 있고, 단일 마스크특징을 갖춘 CAM(34)에서 사용된 특정회로는 제7도와 제8도에 도시되어 있다.
그리고 제1도에 도시된 세그먼트장치(21)의 선형어드레스는 페이지장치(22)에 접속되어 있는데, 상기 선형어드레스는 2개의 필드, 즉 페이지정보필드(20비트)와 변위필드(12비트)로 구성된 것이며, 부가적으로 마이크로코드에 의해 공급되는 4비트의 페이지속성필드가 있다. 20비트의 페이지정보필드는 CAM(34)의 내용과 비교되어지며, 4개의 속성비트("dirth", "valid", "U/S", "W/R")는 적중되기전에 CAM(34)에 있는 속성비트와 정합되어야 한다(단, 마스킹으로 사용될 때는 예외로 한다).
적중상태를 위해 페이지데이터메모리(35)는 제3도의 합산기(36)에 표시된 바와같이 선형번지의 12비트변위필드와 결합되는 20비트 기준워드를 공급하고, 메인메모리(13)의 4K바이트페이지프레임으로부터 합성실번지를 선택한다.
제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비트실번지로 된다.
페이지디렉토리(13a)와, 페이지테이블(13b)의 12비트변위필드중 5비트는 특히 5개의 속성("dirty", "access", "U/S", "R/W", "Present")을 나타내기 위해 사용된다. 이러한 기능은 제5도를 참조해서 상세히 설명한다. 그리고 상기 변위필드의 잔여비트는 배당되지 않게 되는 것이다.
상기 페이지디렉토리(13a)와 페이지테이블(13b)에 저장되었던 속성데이터는 선형번지에 포함되어 있는 4비트의 속성정보에 따라 제어논리회로(75)에 입력되는데, 상기 제어논리회로(75)의 세부적인 사항에 대해서는 다음 도면들을 참조해서 상세히 설명한다.
제5도에는 페이지디렉토리워드와 페이지테이블워드 및 CAM워드가 도시되어 있다. 페이지디렉토리워드중 4비트로 할당된 보호/제어속성데이터는 괄호(43)로 묶여져 기입되어 있고, 하나의 속성데이터가 더 부가된 5개의 보호/제어속성데이터는 페이지테이블워드용으로서 괄호(44)로 묶여져 표시되어 있으며, CAM워드용 보호/제어속성데이터는 괄호(45)로 묶여져 표시되어 있는데, 상기 속성데이터들은 다음과 같은 목적을 위해 사용되는 것이다.
1. 더티(DIRTY) ; 본 비트는 페이지가 기록되었는가의 여부를 나타내는 비트로서, 상기 비트는 한페이지가 한번 기록되어지면 변경된다. 상기 비트의 사용목적은 예컨대, 페이지가 완전히 비워지지 않았음을 오퍼레이팅시스템에 알리기 위한 것으로, 상기 비트의 저장위치는 페이지디렉토리(13a)가 아닌 페이지테이블(13b)과 CAM(34)이고, 페이지가 기록되어질 때 프로세서에 의해 페이지테이블(13b)에 세트되어진다.
2. 억세스드(ACCESSED) ; 본 비트는 페이지디렉토리(13a)와 페이지테이블(13b)에 저장(CAM에는 저장되지 않음)되는 것으로, 한 페이지가 억세스되었음을 알리기 위해 사용된다. 한 페이지가 한번 억세스되면, 상기 비트는 프로세서에 의해 메모리내로 억세스되는데, 더티비트(dirty bit)와는 달리 상기 비트는 기록중이거나 독출중인 경우 한 페이지의 억세스가 완료되었는가의 여부를 나타내기 위해 사용되는 것이다.
3. 사용자/슈퍼바이저(U/S) ; 본 비트의 상태는 페이지의 내용이 사용자와 슈퍼바이저가 억세스할 수 있는 것인지(2진수 1) 또는 오직 슈퍼바이저만 억세스할 수 있는 것(2진수 0)인지를 나타내게 된다.
4. R/W ; 본 독출/기록보호비트는 사용자프로그램에 의해 페이지를 기록시킬 때는 2진수 1이어야만 한다.
5. 프레젠트(PRESENT) ; 페이지테이블(13b)에 있는 상기 비트는 관련페이지가 현재 실메모리에 있는가를 나타내는 것이고, 반면 페이지디렉토리(13a)에 있는 상기 비트는 관련 페이지테이블이 현재 실메모리에 있는가를 나타내는 것이다.
6. 배리드(VALID) ; 오직 CAM(34)에만 저장되어 있는 상기 비트는 CAM(34)의 내용이 유효한가를 나타내기 위해 사용되는 것으로, 상기 비트는 초기치설정을 위해 초기상태로 세트된 다음에 유효한 CAM워드가 로드되어질 때 변경된다.
페이지디렉토리(13a)와 페이지테이블(13b)의 상기 5개 비트는 마이크로프로세서로 적절한 장애신호를 공급하도록 제어논리회로(75)에 접속되어 있다.
페이지디렉토리(13a)와 페이지테이블(13b)의 사용자/슈퍼바이저비트는 게이트(46)에 의해 앤드논리되어 제3도에 도시된 CAM(34)에 저장된 U/S 비트로 공급되는 것이고, 이와 마찬가지로, 페이지디렉토리(13a)와 페이지테이블(13b)의 독출/기록비트(R/W)는 게이트(47)에 의해 앤드논리되어 CAM(34)에 저장되는 R/W 비트로 제공되는 것이며, 페이지테이블(13b)의 더티비트로 CAM(34)에 저장되는 것으로, 상기 게이트(46)(47)는 제4도에 도시된 제어논리회로(75)의 일부분이다.
CAM(34)에 저장된 속성데이터들은 자동적으로 테스트된 후, 번지의 일부분으로 처리되며, 마이크로코드로부터의 4비트에 대해 정합되는 것이다. 만일 선형번지가 R/W=0인 상태에서 "사용자"기록사이클이 페이지내에 발생되어지고 있음을 나타낸다면 유효페이지기준번지가 CAM(34)에 저장되었을 때 조차도 장애상태가 발생하게 된다.
페이지디렉토리(13a)와 페이지테이블(13b)의 출력인 U/S비트를 논리앤드시킨 것은 "최악의 경우" 캐시메모리에 저장되어 있는 것을 확실하게 하기 위함이고, 이와 마찬가지로, R/W 비트를 앤드논리시킨 것은 캐시메모리에 대한 최악의 경우를 대비하기 위함이다.
제6도에 도시된 CAM(34)은 각각의 세트가 4개의 워드로 이루어진 8세트로 구성되어 있는데, 이러한 어레이의 정합을 위해 21비트(번지에 대한 17비트와 속성데이터에 대한 4비트)가 사용된다.
여기서 각 세트에 있는 4개기억워드의 4개비교기라인은 검출기에 접속되어 있는 바, 예컨대, 제1세트의 4개워드에 대한 비교기라인이 검출기(53)에 접속되어 있다. 이와 마찬가지로 제2세트로부터 제8세트까지의 4개워드에 대한 비교기라인도 해당 검출기에 접속되어 있는 것이다. 상기 검출기는 비교기라인을 감지해서 상기 세트에 있는 어떠한 워드가 CAM어레이로의 입력(21비트)과 정합되는가를 결정한다. 각 검출기에는 상기 검출기에 결합된 20비트 페이지정보필드중 3비트의 상태에 따라 검출기중의 하나를 선택하도록 하드웨어적으로 연결되어 있고, 상기 페이지정보필드의 다른 17비트는 CAM어레이에 결합되어 있다.
본 발명의 설명을 위한 8개의 검출기가 제6도에 도시되어 있는데, 검출기에 결합시키기 위한 4개라인의 한 세트를 선택하는 3비트가 오직 하나의 검출기에만 사용되며, 검출기는 제8도에 도시되어 있다.
캐시메모리의 데이터저장영역은 어레이(35a~35d)와 같이 4개의 어레이로 구성되어져 있다. 그리고 CAM(34)의 각 세트에 일치하는 데이터워드(기준번지)는 어레이(35a)에 있고, 제1세트의 제2워드에 적중되어 선택된 데이터워드는 어레이(35b)에 있는 것 등이다. 검출기를 선택하기 위해 사용되는 3개비트는 각 어레이에 있는 워드를 선택하는데에도 사용되는 것 등이다. 이와 같이 동시에 각 4개 어레이로부터 워드가 선택된다. 어레이에서 출력된 워드의 최종선택은 검출기의 4개 비교기라인에 의해 제어를 받는 멀티플렉서(55 ; MUX)에 의해 실행된다.
메모리캐시가 억세스되어질 때, 각각 저속처리단계인 정합처리단계는 21비트를 사용함으로써 시작되고, 다른 3개비트는 4개 라인을 갖는 하나의 세트를 즉각적으로 선택할 수 있어서 검출기가 비교기라인상의 전위강하를 감지하기 위한 준비상태가 된다.(후술하는 바와같이 모든 비교기(열)라인은 선택되지 않은 라인들이 방전되는 동안 충전된 채로 남아있는 선택(적중)된 라인을 미리 충전시킨다). 동시에 선택된 세트에서 출력된 4개워드는 어레이(35a~35d)내로 억세스된다.
그리고 정합이 이루어졌을 경우 검출기가 세트내에 있는 워드를 확인할 수 있다면, 상기 워드는 데이터워드의 선택에 따라 멀티플렉서(55)에 전송되는데, 이와같은 구조가 상기 캐시메모리의 억세스시간을 향상시킬 수 있도록 되는 것이다.
제7도는 CAM어레이에 접속된 21비트중 17비트가 보수발생 및 오버라이드회로(56)에 접속되고, 4개의 속성데이터비트가 VUDW논리회로(57)에 접속된 것을 나타낸 것으로, 제6도를 참조해서 설명한 것 중 검출기선택에 관련된 3비트는 제7도에 도시되어 있지 않다.
상기 보수발생 및 오버라이드회로(56)는 해당 번지신호에 대한 상호보수신호를 발생시켜서 라인(59)(60)과 같은 CAM어레이의 병렬라인으로 상기 2개 보수신호를 접속시킨다. 이와 마찬가지로 VUDW논리회로(57)는 속성데이터비트에 대한 상호보수신호를 발생시켜서 상기 상호보수신호를 CAM어레이의 평행라인으로 접속시킨다. 상기 라인(59)(60)은 각각의 보수비트라인(즉 21쌍의 비트라인(BIT)과 비트라인(
Figure kpo00001
)을 위해 복수로 되어 있다.
CAM어레이의 각 32개 열은 라인(68)(70)과 같이 한쌍의 병렬열라인으로 되어 있고, 보통 셀(67)과 같은 스태틱메모리셀은 비트라인(BIT)과 비트라인(
Figure kpo00002
)(행사)사이에 접속됨과 더불어 상기한 한쌍의 열라인(68)(70)과 관련된 것이다.
본 발명의 실시예에 따른 메모리셀은 P챈널트랜지스터를 사용하는 통상의 플립플롭스태틱셀로 구성되어 있다. 각 쌍의 열라인중의 한 라인(라인 (70))은 데이터가 상기 어레이내로 기록될 때 메모리셀이 비트라인(BIT)과 비트라인(
Figure kpo00003
)에 접속되도록 허용된다. 다른 방법으로는 메모리셀의 내용이 행라인의 데이터와 비교된 다음에 비교결과가 적중라인(68)에 접속된다. 상기한 비교는 각 셀에 관련된 것중의 하나인 비교기에 의해 실행되고, 상기 비교기는 n챈널트랜지스터로 구성된 것으로, 각 쌍의 비교기중 트랜지스터, 예컨대 트랜지스터(61)(62)는 메모리셀의 일단과 반대쪽 비트라인(
Figure kpo00004
)사이에 접속되어 있다.
데이터가 메모리셀(67)에 저장되어 있으면서 비트라인(59 ; BIT)에 가장 가까운 셀의 노드를 하이상태로 가정하면, CAM(34)의 내용이 검색되어질 때 첫번째 적중라인(68)은 트랜지스터(69)를 통해 선충전되고, 그후 CAM(34)에 접속된 상기 신호는 행라인상에 입력된다. 처음에 라인(59)이 하이상태라고 가정하였으므로, 라인(60)이 로우상태이기 때문에 트랜지스터(62)는 동작되지 않게 되고, 또 트랜지스터(63)는 로우라인에 접속된 셀의 측면에 접속되어 있기 때문에 동작되지 않는다. 이러한 상태인 동안에 셀에서 정합되었음을 나타내는 라인(68)이 방전되지 않게 되고, 적중라인(68)은 열라인에 따라 발생하는 비교작용의 앤드조건을 공급하게 되며, 여기서 만일 셀에서 정합이 이루어지지 않는다면, 한개 또는 그 이상의 비교기가 적중라인을 방전시키게 된다.
한편, 상기 보수발생 및 오버라이드회로(56)와 VUDW논리회로(57)가 선충전되어 있는 동안 모든 행라인(비트라인(BIT)과 비트라인(
Figure kpo00005
))이 로우레벨로 되도록 오버라이드신호를 발생시키는데, 이러한 작용에 의해 비교동작이 시작되기 전에 비교기가 전하를 유출하는 것이 방지되게 된다.
비교기가 "2진수 1"상태인 경우에 검색이 이루어지고, "2진수 0"상태인 경우에 무시되는 바, 예컨대, 만일 트랜지스터(64)의 게이트가 하이상태(라인(59)이 하이상태)라면, 트랜지스터(63)(64)가 상기한 비교동작을 제어하게 된다. 이와 마찬가지로, 만일 비트라인(60 ;
Figure kpo00006
)이 하이상태라면, 트랜지스터(61)(62)가 비교동작을 제어하게 된다. 이러한 비교기의 특성은 셀이 무시되는 것을 허용하는 것이다. 이와같이 한 워드가 CAM(34)에 접속되어질 때 비트라인(BIT)(
Figure kpo00007
)을 로우상태로 만듬으로써 정합과정에서 소정 비트들을 마스크시킬 수 있게 되는데, 이것은 셀의 내용이 행라인상의 정합되어짐을 나타나도록 한다. VUDW논리회로(57)는 위와 같은 특성을 이용한 것이다.
상기한 VUDW논리회로(57)에 접속된 마이크로코드신호는 마이크로코드비트의 기능으로서 속성데이터비트중의 하나를 선택하기 위해 비트라인(BIT)(
Figure kpo00008
)을 로우상태로 만드는 역할을 한다. 그리하여 마이크로코드비트와 관련된 속성데이터가 무시되어진다. 이러한 특성이, 예컨대 슈퍼바이저리모드(supervisory mode)에서 U/S비트를 무시하기 위해 사용된다. 즉 슈퍼바이저리모드에서는 사용자데이터를 억세스할 수 있게 된다. 이와 마찬가지로 독출/기록비트는 독출중인 때나 슈퍼바이저리모드가 동작가능상태일 때 무시될 수 있다. 더티비트도 독출중일 때 무시된다. (상기 특성은 배리드비트에서 사용되지 않는다)
속성데이터비트가 메인메모리에 저장되어진 때 상기 비트들은 억세스되거나 검색될 수 있게 되는데, 논리회로가 예컨대, U/S비트의 1상태나 0상태에 입각한 억세싱을 제어하는데 사용될 수 있다. 그러나 상기 캐시메모리는 분리논리를 사용하지 않는다. 비트라인(BIT)과 비트라인(
Figure kpo00009
)을 강제로 로우상태로 만드는 것은 속성데이터비트의 비트패턴이 정합되지 않을지라도 정합을 허가함으로써(또는 장애를 방지함으로써) 예비논리를 공급한다.
제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)상에 도시되어 있다.
이러한 검출기의 장점은 멀티플렉서에 사용되어지는 선충전라인을 동작가능상태로 만들 수 있다는 점이다. 한편 스태틱배열이 사용될 수 있지만, 이것은 현격히 많은 전력을 필요로 한다. 제8도에 도시된 바와같은 배열에 있어 인버터들의 출력은 적중라인중의 하나에서 전압강하가 이루어질 때까지 같은 상태가 지속되고, 오직 하나의 적중라인에서 전압강하가 일어났을때 멀티플렉서가 올바른 워드를 선택하도록 하는 전압 강하가 발생하게 된다.
[발명의 효과]
상기한 바와같이 본 발명에 의하면, 세그먼트화와 페이징을 위한 2개 레벨의 캐시메모리를 사용하는 단일 번지번역장치를 제공함으로써 독립데이터속성제어를 각 레벨로 공급할 수 있게 된다.

Claims (25)

  1. 가상번지를 실번지로 번역함과 더불어 속성에 따른 데이터를 제어하는 세그먼트화메카니즘이 구비된 마이크로프로세서(10)와 램(13)으로 이루어진 마이크로프로세서시스템에 있어서, 상기 실번지의 페이지정보필드를 수신하기 위해 상기 마이크로프로세서(10)와 일체로 이루어지면서 소정 상태하에서 변위필드를 제공하도록 상기 실번지의 페이지정보필드를 비교하기 위한 페이지캐시메모리(22)를 구비하고, 상기 램(13)은 상기 페이지캐시메모리(22)의 소정 상태가 정합되지 않았을 경우 페이지데이터로부터 속성필드를 선택하도록 실번지의 페이지정보필드에 따른 페이지맵핑데이터가 접속되어 있는 기억장치를 구비하며, 상기 마이크로프로세서시스템은 상기 램(13)을 위한 실번지를 제공하기 위해 변위필드나 속성필드중 하나를 상기 가상 번지의 오프셋필드에 결합시키기 위한 회로를 구비하여 구성되어 상기 램(13)의 실번지화를 개선시킬 수 있도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  2. 제1항에 있어서, 상기 페이지캐시메모리(22)와 페이지데이터를 위한 상기 기억장치가 메모리페이지의 속성정보를 포함하도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  3. 제2항에 있어서, 상기 페이지맵핑데이터를 위한 상기 기억장치가 적어도 하나 이상의 페이지디렉토리(13a)와 하나 이상의 페이지테이블(13b)을 포함하도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  4. 제3항에 있어서, 상기 페이지디렉토리(13a)와 상기 페이지테이블(13b)에 상기 메모리페이지를 위한 속성데이터가 저장되어 있는 것을 특징으로 하는 마이크로프로세서시스템.
  5. 제4항에 있어서, 적어도 상기 페이지디렉토리(13a)와 상기 페이지테이블(13b)에 저장된 상기 속성 데이터중의 일부가 상기 페이지캐시메모리(22)에 논리적으로 결합되어 저장된 것을 특징으로 하는 마이크로프로세서시스템.
  6. 제1항에 있어서, 상기 마이크로프로세서(10)가 페이지디렉토리(13a)를 위한 페이지디렉토리기준번지를 제공하도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  7. 제1항에 있어서, 상기 페이지정보필드의 제1구역이 상기 페이지디렉토리(13a)의 위치에 따라 인덱스를 페이지디렉토리기준(38)내에 공급하도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  8. 제7항에 있어서, 페이지테이블기준번지를 저장하는 상기 페이지디렉토리(13a)의 위치와 상기 페이지정보필드의 제2구역이 상기 페이지테이블(13b)내에 인덱스를 공급하도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  9. 제8항에 있어서, 상기 페이지테이블(13b)내의 위치가 상기 램(13)에 있는 페이지에 대한 기준번지를 공급하도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  10. 제2항에 있어서, 상기 페이지캐시메모리(22)가 내용번지지정가능메모리(34)와 페이지기준메모리(35)를 포함하면서 상기 내용번지지정가능메모리(34)의 출력이 상기 페이지기준메모리(35)로부터 상기 램(13)을 위한 페이지기준번지를 선택하도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  11. 제10항에 있어서, 상기 내용번지지정가능메모리(34)가 데이터메모리페이지의 속성데이터를 저장하도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  12. 제11항에 있어서, 상기 내용번지지정가능메모리(34)가 비교기능을 수행하고 있는 동안에 적어도 하나의 속성을 선택적으로 마스킹하도록 된 수단을 포함하여 된 것을 특징으로 하는 마이크로프로세서시스템.
  13. 가상번지를 실번지로 번역함과 더불어 데이터메모리세그먼트의 속성을 검색하기 위한 세그먼트화 메카니즘을 갖추고 있는 마이크로프로세서(10)와, 이 마이크로프로세서(10)에 접속된 램(13)으로 구성되고, 상기 마이크로프로세서(10)가 상기 실번지의 페이지정보필드를 수신하기 위해 상기 마이크로프로세서(10)와 일체로 이루어지면서 소정 상태하에서 변위필드를 제공하도록 상기 실번지의 페이지정보필드를 비교하기 위한 페이지캐시메모리(22)를 구비하며, 상기 램(13)은 상기 페이지캐시메모리(22)의 소정 상태가 정합되지 않았을 경우 페이지데이터로부터 속성필드를 선택하도록 실번지의 페이지정보필드에 따른 페이지맵핑데이터가 접속되어 있는 기억장치를 구비하며, 상기 마이크로프로세서시스템은 상기 램(13)을 위한 실번지를 제공하기 위해 상기 변위필드나 속성필드 중 하나를 상기 가상번지의 오프셋필드에 결합시키기 위한 회로를 구비하여 구성되어 상기 램(13)의 실번지화를 개선시킬 수 있도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  14. 제13항에 있어서, 상기 세그먼트화 메카니즘이 세그먼트의 기준을 제공하기 위해 마이크로프로세서(10)와 일체로 이루어진 세그먼트디스크립터레지스터(21)와, 상기 가상번지의 세그먼트필드에 의해 억세스되는 세그먼트디스크립터테이블(25)을 포함한 상기 램(13)으로 이루어진 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.
  15. 제14항에 있어서, 상기 페이지데이터를 위한 페이지캐시메모리(22)와 상기 기억장치가 메모리페이지의 속성에 대한 정보를 포함하도록 된 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.
  16. 제15항에 있어서, 상기 페이지맵핑데이터를 위한 기억장치가 페이지디렉토리(13a)와 페이지테이블(13b)을 포함하도록 된 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.
  17. 제16항에 있어서, 각각의 페이지디렉토리(13a)와 페이지테이블(13b)이 상기 메모리페이지에 대한 속성데이터를 저장하도록 된 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.
  18. 제17항에 있어서, 적어도 페이지디렉토리(13a)와 페이지테이블(13b)에 저장된 속성데이터의 일부가 논리적으로 결합되어 상기 페이지캐시메모리(22)에 저장되도록 된 것을 특징으로 하는 마이크로프로세서시스템의 메모리운용장치.
  19. 램(13)과 함께 동작하도록 마이크로프로세서(10)의 일부로서 형성된 번지번역장치(20)가 가상번지를 수신함과 더불어 세그먼트의 기준번지를 제공하기 위한 세그먼트디스크립터레지스터(21)를 구비하고, 상기 마이크로프로세서(10)가 상기 램(13)의 세그먼트기준번지를 제공하는 세그먼트디스크립터테이블(25)의 번지지정을 허용하도록 램(13)으로 번지를 제공함과 더불어 실번지를 제공하기 위해 상기 제2기준번지와 가상 번지의 일부를 채택하도록 작용하며, 소정의 제2상태하에서 변위필드를 공급하기 위해 상기 실번지의 페이지정보필드를 수신하여 그 내용과 비교하도록 된 페이지캐시메모리(22)를 구비하면서 상기 마이크로프로세서(10)가 상기 소정의 제2상태가 정합되지 않았을 경우 변위필드를 공급하기 위한 상기 램(13)의 페이지데이터테이블로 페이지정보필드를 제공하도록 작용하고, 상기 변위필드가 상기 램(13)을 위한 페이지기준번지를 공급함으로써 상기 램(13)의 실번지화를 개선시킬 수 있도록 된 것을 특징으로 하는 마이크로프로세서시스템.
  20. 제19항에 있어서, 상기 세그먼트디스크립터레지스터(21)가 세그먼트데이터의 속성을 저장하고, 상기 페이지캐시메모리(22)가 페이지데이터의 속성을 저장하도록 된 번지번역장치(20)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.
  21. 제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)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.
  22. 제21항에 있어서, 상기 열비교기라인이 선충전된 라인으로 된 번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.
  23. 제22항에 있어서, 다수의 구역으로 이루어지면서 상기한 모든 구역내에서 데이터가 동시에 억세스되고, 각 구역중 어느 한 구역으로부터의 출력이 상기한 열라인을 통해 선택되는 내용번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.
  24. 제23항에 있어서, 상기 병렬라인(59)(60)의 소정의 수에 대응해서 연결되면서 소정의 수의 라인중 어느 한 라인이 충전된 상태로 남아 있는가의 여부를 감지하는 검출기(53)를 구비한 내용번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.
  25. 제24항에 있어서, 상기 검출기(53)에 의해 상기 구역중 어느 한 구역을 선택하도록 된 번지지정가능메모리(34)를 구비하여 구성된 것을 특징으로 하는 마이크로프로세서시스템.
KR1019850006490A 1985-06-13 1985-09-05 마이크로프로세서 시스템과 그 메모리 운용장치 Expired KR900005897B1 (ko)

Applications Claiming Priority (3)

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

Publications (2)

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

Family

ID=24992533

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019850006490A Expired KR900005897B1 (ko) 1985-06-13 1985-09-05 마이크로프로세서 시스템과 그 메모리 운용장치

Country Status (8)

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

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
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
US5055999A (en) 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5226039A (en) * 1987-12-22 1993-07-06 Kendall Square Research Corporation Packet routing switch
US5761413A (en) 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
CA2078315A1 (en) * 1991-09-20 1993-03-21 Christopher L. Reeve Parallel processing apparatus and method for utilizing tiling
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
US5313647A (en) * 1991-09-20 1994-05-17 Kendall Square Research Corporation Digital data processor with improved checkpointing and forking
GB2260629B (en) * 1991-10-16 1995-07-26 Intel Corp A segment descriptor cache for a microprocessor
US5895489A (en) * 1991-10-16 1999-04-20 Intel Corporation Memory management system including an inclusion bit for maintaining cache coherency
CN1068687C (zh) * 1993-01-20 2001-07-18 联华电子股份有限公司 存录多段语音的存储器动态分配方法
EP0613090A1 (de) * 1993-02-26 1994-08-31 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren zur Prüfung der Zulässigkeit von direkten Speicherzugriffen in Datenverarbeitungsanlagen
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 (ko) * 2001-10-12 2003-11-21 삼성전자주식회사 내용 주소화 메모리 셀
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
JP4302641B2 (ja) 2002-11-18 2009-07-29 エイアールエム リミテッド デバイスによるメモリへのアクセスの制御
US7171539B2 (en) 2002-11-18 2007-01-30 Arm Limited Apparatus and method for controlling access to a memory
GB2396930B (en) 2002-11-18 2005-09-07 Advanced Risc Mach Ltd Apparatus and method for managing 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 (ko) 2010-10-08 2016-11-02 삼성전자주식회사 공유 가상 메모리를 이용한 멀티 프로세서 및 주소 변환 테이블 생성 방법
FR3065826B1 (fr) * 2017-04-28 2024-03-15 Patrick Pirim Procede et dispositif associe automatises aptes a memoriser, rappeler et, de maniere non volatile des associations de messages versus labels et vice versa, avec un maximum de vraisemblance
KR102686380B1 (ko) * 2018-12-20 2024-07-19 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법

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
USRE37305E1 (en) * 1982-12-30 2001-07-31 International Business Machines Corporation Virtual memory address translation mechanism with controlled data persistence

Also Published As

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

Similar Documents

Publication Publication Date Title
KR900005897B1 (ko) 마이크로프로세서 시스템과 그 메모리 운용장치
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
US4493026A (en) Set associative sector cache
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
US6493812B1 (en) Apparatus and method for virtual address aliasing and multiple page size support in a computer system having a prevalidated cache
CA1092719A (en) Synonym control means for multiple virtual storage systems
US5604879A (en) Single array address translator with segment and page invalidate ability and method of operation
US5265227A (en) Parallel protection checking in an address translation look-aside buffer
US5173872A (en) Content addressable memory for microprocessor system
US5155825A (en) Page address translation cache replacement algorithm with improved testability
US5414824A (en) Apparatus and method for accessing a split line in a high speed cache
US6874077B2 (en) Parallel distributed function translation lookaside buffer
US6026476A (en) Fast fully associative translation lookaside buffer
JPH11161547A (ja) データ処理装置用記憶装置、および記憶場所にアクセスする方法
US5442571A (en) Method and apparatus for cache miss reduction by simulating cache associativity
KR870006471A (ko) 고속 캐쉬 시스템
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 (ja) データ処理システム
US5737569A (en) Multiport high speed memory having contention arbitration capability without standby delay

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