KR930009667B1 - 세그먼트 디스크립터 유닛 - Google Patents

세그먼트 디스크립터 유닛 Download PDF

Info

Publication number
KR930009667B1
KR930009667B1 KR1019870015023A KR870015023A KR930009667B1 KR 930009667 B1 KR930009667 B1 KR 930009667B1 KR 1019870015023 A KR1019870015023 A KR 1019870015023A KR 870015023 A KR870015023 A KR 870015023A KR 930009667 B1 KR930009667 B1 KR 930009667B1
Authority
KR
South Korea
Prior art keywords
bit
segment
segment descriptor
word
ram
Prior art date
Application number
KR1019870015023A
Other languages
English (en)
Other versions
KR880008160A (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 KR880008160A publication Critical patent/KR880008160A/ko
Application granted granted Critical
Publication of KR930009667B1 publication Critical patent/KR930009667B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Storage Device Security (AREA)

Abstract

내용 없음.

Description

세그먼트 디스크립터 유닛
제 1 도는 본 발명의 세그먼트 디스크립터 유닛을 나타내는 블럭 구성도.
제 2 도는 제 1 도에 대한 세그먼트 디스크립터 유닛의 메모리부를 나타내는 블럭 구성도.
제 3a 도 내지 3g 도는 제 2 도에 대한 메모리부의 다른 부분의 상세도.
제 4a 도 및 4b 도는 제 2 도의 메모리부에 대한 매핑과 내용을 나타내는 도면.
제 5 도는 제 1 도의 세그먼트 디스크립터 유닛의 동작을 설명하는 흐름선도.
제 6a 도 내지 6e 도는 제 1 도의 세그먼트 디스크립터 유닛의 동작을 설명하는 제어워드 포맷과 가상 어드레스 포맷을 도시하는 도면.
* 도면의 주요부분에 대한 부호의 설명
10 : 세그먼트 디스크립터 유닛(SDU)
12 : 메모리부 12-1 : RAM
12-3 : 내용 주소화 메모리(CAM)
12-5 : 버퍼 회로 12-7 : 데코더 회로
14 : 안전검사 비교회로 16 : 가산기
18 : VAR 레지스터 20 : 내부 버스
30 : 마이크로 프로그램 제어 유닛
본 발명은 기억 장치에 관한 것으로, 특히 세그먼트 디스크립터 정보를 처리하는데 사용되는 기억 장치에 관한 것이다.
오늘날, 수많은 시스템은 페이징의 조합 및 세그먼테이션 특성을 이용하는데, 이 시스템중에서 널리 사용되는 것이 MULTICS 시스템이다. 이 시스템은 세그먼트가 메모리내에 상주하는 경우 이 세그먼트의 페이지 테이블을 가르키는 정보를 각각 포함하는 세그먼트 디스크립터 워드와, 세그먼트 크기와, 액세스 제어정보를 갖는 디스크립터 필드를 이용한다. 세그먼트 디스크립터 워드용 비트수는 비교적 큰편인데, 시스템 메모리 용량이 크거나 정교하고 안전제어를 요하는 곳에 사용된다. 상기 MULTICS 시스템에 대한 추가정보는 1972년에 저작권이 있는 Elliott I. Organick의 "MULTICS 구조의 검사" 원문에 인용되어 있다.
세그먼트 디스크립터 워드를 기억 및 액세스 하기 위해서, 상기 시스템은 필요한 비트 위치수를 갖는 기억 장소 또는 기억 레지스터의 군을 사용하곤 하는데, 이것은 소정의 기억 레지스터 폭을 제공하도록 다수쌍의 RAM 칩을 사용해야 한다. 대부분의 시스템에 상기의 시도가 적합하지만 너무 많은 공간을 필요로하고 초대규모 집적 회로(VLSI)칩 기술을 이용한 시스템의 전력 소모가 너무 많다. 또한 세그먼트 디스크립터 워드를 이용하기 위해서는 추가 정보를 기억하여야 한다. 따라서 공간 및 전력 소모의 증가에 의해 RAM 기억 장치 요소가 증가하게 된다.
그러므로, 본 발명의 기본 목적은 초대규모 집적 회로를 제조하기 용이하고 최소의 공간을 요하는 세그먼트 디스크립터 기억 장치를 제공하는 것이며 또다른 목적은 최소의 전력을 소모하는 세그먼트 디스크립터 기억 장치를 제공하는 것이다. 본 발명의 목적은 본 발명의 양호한 실시예에 의해 달성되어지는데, 본 발명의 실시예는 최소의 칩 영역내에서 저전력의 마이크로 프로그램 제어 아래 동적 및 정적 어드레스 번역 동작을 수행하도록 상호 접속된 분할램(RAM), 내용 주소화 메모리(content addressa-ble memory ; CAM) 및 데코더 회로를 구비한 세그먼트 디스크립터 유닛(SDU)을 포함한다. 상기 내용 주소화 메모리(이하, CAM이라함)는 다수의 엔트리를 기억하도록 배열되어 있는데, 상기 엔트리는 대응하는 다수의 세그먼트 디스크립터와 관련된 세그먼트 수 및 유효 정보를 포함하고 있다.
상기 RAM은 세그먼트 디스크립터 워드(이하, SDW라함) 및 작업 데이타를 기억하도록 할당된 위치를 갖고 있다. 각각의 SDW는 논리적으로 분할되어 있거나 기능적으로 두개의 필드로 구분되어 지는데, 그것은 정적 어드레스 번역 동작을 실행하는데 필요한 모든 비트를 포함하는 정적 번역 워드(이하, STW라함)필드와 시스템 안전을 입증하는데 필요한 모든 비트를 포함하는 액세스 제어워드(이하, ACW라함)필드로 이루어져 있다. 상기 각 STW 및 ACW의 비트들은 상기 SDW 위치의 교호 비트 위치내에 기억된다. 각쌍의 RAM 비트 위치는 공동 판독/기록 증폭기와 멀티플렉서 회로에 연결되어 있다.
상이한 어드레스 번역 기능을 상술하도록 코드화된 마이크로 명령어 명령의 제어하에서, 상기 DAM에 의해 선택된 STW 및 ACW 필드가 각 어드레스 번역 동작의 필수 단계를 실행하도록 상이한 간격으로 RAM으로부터 독출된다. 양호한 실시예의 경우에 있어서, 각 64비트 세그먼트 디스크립터 워드는 한꺼번에 32비트씩 상기 세그먼트 디스크립터 유닛(이하, SDU라함)에 기록된다. 제1마이크로 명령어 명령에 의해 형성된 동적 어드레스 동작중에, 페이지 디스크립터 정보는 메모리에서 독출되는 반면, 상기 SDU는 병렬로 독출되도록 설정되며, CAM의 히트 출력에 의해 상술된 상기 세그먼트 디스크립터의 ACW 필드 및 가상 어드레스부의 디코드를 번역하게 된다. 이것은 상기 SDU 내에 포함된 안전 비교 회로로 하여금 시스템 안전 요건의 순응성을 입증하도록 한다. 정적 어드레스 번역 동작이 제2마이크로 명령어 명령에 의해 형성되는 경우에 있어서, 상기 SDU는 CAM의 히트 출력에 의해 상술된 세그먼트 디스크립터의 STW 필드를 독출하도록 설정되고 상기 가상 어드레스부의 디코드를 번역한다.
제1 및 제2마이크로 명령어 명령에 의해 발생된 입력 신호는 어드레스 번역 동작의 기능이 이 명령에 의해 상술되고 실행될때에 상기 RAM 부분이 액세스되도록 결정하는데 이용된다. 상기 STW 필드는 주메모리 또는 캐시메모리로부터 세그먼트 디스크립터를 인출하는테 필요한 번역 어드레스의 구성을 위하여 가산기로 전송된다. 또다른 마이크로 명령어 명령은 실행된 번역 기능과 관련된 정보의 기억을 가능하도록 하는 동일한 RAM의 또다른 영역내의 작업 레지스터 위치로 액세스하도록 한다.
실행되는 기능을 기초로 하여 상기 세그먼트 디스크립터 워드를 분할하므로써 본 발명의 배치는 데이타경로 멀티플렉서 및 스위치의 필요성을 제거시켜 주는데, 그 이유는 상기 안전 장치 또는 가산기로 전송하기 위해 RAM으로부터 독출된 정보 워드의 폭이 상기 장치에 의해 처리되는 정보의 폭과 일치하기 때문이다. 또한, 상기 가산기 및 안전 비교 회로로 하여금 RAM, 칩금속화, 상호 접속 및 공간 조건에 근접하여 설정되도록 한다. 상기 구성으로서 칩영역과 소비 전력을 줄일 수 있는 판독/기록 증폭기 수를 1/2로 감소할 수 있다. 아울러, 본 발명은 마이크로 명령어 명령을 사용하지 않고서 단일 RAM 내에 포함된 모든 레지스터의 내용에 액세스하도록 할 수 있다.
본 발명의 구성 및 동작 방법에 대한 신규의 특성은 첨부한 도면에 의해서 명확히 이해할 수 있으며, 도면은 도시한 기술을 목적으로 할 뿐 본 발명을 제한하기 위한 것은 아니다.
제 1 도는 본 발명의 지침에 따라 제조된 SDU의 바람직한 실시예를 나타내는 블록 다이아그램으로서, 상기 SDU(10)는 메모리부(12), 가산기(16), 안전 검사 비교 회로(14) 및 가상 어드레스 레지스터(18)를 구비하는데, 각 소자(12-18)는 도시된 바와같이 내부 버스(20)에 연결된다. 상기 SDU(10)는 마이크로 프로그램 유닛(30)의 제어하에 동작하며, CPU의 가상 메모리관리 유닛(이하, VMMU라함)의 다른 부분과 공유되어 있다. 즉, 각 마이크로 명령어 명령은 다수의 부분으로 분할되어 있는데, 상기 부분은 SDU(10) 및 CPU의 다른 부분으로 배분된다. 도시된 바와같이, SDU (10)는 신호 VRDRO-15에 대응하는 16비트 마이크로 명령어 워드를 수신하며, 이 신호는 도시되지는 않았지만 회로에 의해 디코드되고 입력으로 인가된다. 이와같은 배치를 갖는 실시예는 Richard P.Kelly 등에 의한 관련 특허 출원에 기재되어 있다. 본 발명의 목적을 위하여 유닛(30)은 SDU(10)의 일부분으로 고려될 수 있다.
상기 메모리부(12)는 28×32 RAM(12-1), CAM(12-3), 복수의 버퍼 회로(12-5) 및 데코더 회로(12-7)를 포함하는데, RAM(12-1)의 상이한 부분은 마이크로 프로그램 제어 신호 및/또는 VAR 레지스터(18)에서 수신된 가상 어드레스 신호의 조합에 의해서 어드레스 된다.
상기 28×32비트 RAM(12-1)의 위치는 세그먼트 디스크립터 워드 엔트리를 기억하며, 세그먼트 디스크립터 워드 엔트리는 8×32비트 STW, 8×32비트 ACW, 4×32비트 세그먼트 페이지 테이블워드 상위 32비트 디스크립터 세그먼트 베이스 레지스터(이하, DSBR이라함), 하위 32비트 DSBR 및 6×32비트 작업 레지스터 워드를 포함하고 있다. 상기 8×11비트 CAM(12-3)의 위치는 8×10비트 세그먼트 번호 워드 및 8×1비트 CAM 유효 비트를 기억한다.
상기 SDU(10)의 동작은 (1) VAR 레지스터(18)에서 수신된 가상 세그먼트 번호를 이용한 CAM(12-1)의 질의 및 요구 세그먼트 존재를 나타내는 히트 발생 검색 단계와 ; (2) 상기 세그먼트 번호에 미스가 발생할때 상기 VMMU의 또다른 부분을 시그날링하는 단계와 ; (3) 무효 세그먼트에 대한 상기 CAM 무효비트를 클리어링하는 단계와 ; (4) 히트 시그날에 응답하는 CAM 엔트리를 확인하는 단계와 ; (5) 필요한 RAM(12-1)의 작업 레지스터 내용을 기억하는 단계와 ; (6) 세그먼트 디스크립터를 설정하는데 필요한 RAM 내의 페이지 테이블 엔트리를 기억하는 단계와 ; (7) RAM(12-1)에 엔트리가 기억될때 DSBR에 의해 지정된 페이지 테이블을 설정하는 단계를 포함한다.
본 명세서에 기술되는 바와같이, 상기 가상 어드레스는 다수의 필드로 분할되어 있는데, 상기 필드는 2비트 세그먼트번호 필드 Sx, 8비트 세그먼트 번호 필드 Sy, 제1의 8비트 워드 번호 필드 ix와 제2의 8비트워드 번호 필드 iy를 구비하고 있다. 상기 필드 ix는 세그먼트 디스크립터에 관련된 페이지 오프셋 값에 대응하는 반면 필드 iY는 세그먼트 디스크립터에 관련된 워드 오프셋 값이다.
상기 CAM(12-3)은 데이타 입력으로서 인가된 112비트 필드를 생성하는 유효 비트를 갖는 Sx 및 Sy 필드를 연결하므로써 질문을 받는다. CAM(12-3)의 8개 워드 엔트리가 주사되어 동일한 비교일 경우에는 CAM(12-3)은 8개의 히트 라인 중의 하나를 상위로 강제한다.
제 1 도에 도시된 바와같이, 상기 8개의 히트 라인은 버퍼 회로(12-5)의 대응하는 8개 스테이지에 입력으로서 인가된다. 상기 버퍼 회로(12-5)는 RAM(12-1)을 CAM(12-3)으로부터 분리하고 RAM(12-1)을 액세스 하는데 사용되는 히트 라인 신호의 구동력을 증가시킨다.
상기 8개의 히트 라인 신호는 ACW 또는 STW를 포함하는 RAM(12-1)부에 인가된 서브 어드레스로서 작용하는데, ACW 및 STW의 선택은 활성 기능 또는 동작이 실행될때 마이크로 프로그램 제어 유닛(30)하에 이루어진다. 예컨대, 동적 어드레스 번역 동작이 실행되는 반면, 상기 페이지 디스크립터 워드를 기억하는 VMMU부가 액세스될 경우에 있어서, 본 발명의 배치는 액세스 권리가 안전 검사 회로(14) (예컨대, 링 브래킷 및 액세스(판독, 기록, 실행, 게이트)), 크기(예컨대, 세그먼트, 게이트)에 의해 점검되도록 ACW의 액세싱을 가능하게 한다. 또한, 부재 페이지 디스크립터에 대한 어드레스를 생성하도록 이 어드레스가 설정되는 시간동안, 상기 페이지 테이블로부터 또 다른 페이지를 얻도록 STW에 대한 액세스를 허용한다.
그러므로, 상기 배치는 마이크로 프로그램 제어 유닛(30)의 하나의 완전한 동작 사이클내에서 필요한 모든 점검을 구비하는 가상 어드레스의 완결에 의해서 물리적 어드레스 번역이 가능하도록 한다.
상기 어드레스 번역의 부분으로서 특정의 작동 레지스터의 내용을 액세스 하기에 필요하며, 이것은 BI(20) 또는 VAR(18)의 신호를 사용한 서브 어드레스를 발생하도록 상기 데코더 회로(12-7)를 설정하므로써 마이크로 프로그램 제어하에 행하여진다. 상기 선택 소오스(즉, BI(20) 또는 VAR(18))의 3비트 신호에 응답하여 발생된 6비트 서브 어드레스는 6×32비트 작동 레지스터 위치중의 하나 또는 6×32비트 디스크립터 세그먼트 레지스터 위치중의 하나를 선택하는데 사용하는데, 실행된 특정 동작의 기능은 마이크로 프로그램 제어 유닛(30)에 의해서 형성된다.
이 배치로 인해 상이한 RAM의 액세스가 필요없고 신규의 어드레스를 발생하는데 필요하도록 상기 ALU의 입력을 제공한다. 결과적으로 이것은 소정의 정적 번역 어드레스를 발생하고 필요한 액세스 점검을 하도록 소수의 마이크로 명령에 의해 동작된 CAM과 데코더에 의한 간단한 제어를 형성한다.
상기 구성을 이용하므로서 SDU(10)의 상이한 소자에 대한 배치는 효율을 극대화 한다. 즉, 상기 RAM(1-1)과 가산기(16)의 소자들은 칩 영역과 전력 소비를 극소화하도록 열(column)로 구성되어 있다. 이러한 구성의 다양한 양상들이 제 2 도, 제 3a 도 및 제 4b 도에 예시된다.
제 2 도는 본 발명에 따른 메모리부(12)의 상세 계통도를 나타내는데, RAM부(12)는 한쌍의 RAM(12-1,12-1b)을 포함하여, 각각의 RAM은 14×32비트셀 컬럼, 16멀티플렉서 회로(12-12), 16판독/기록 증폭회로(12-14) 및 32 선충전 회로(12-16)로 구성된 원소배열(12-10)을 포함하며, 각각의 RAM은 14 입력버퍼 회로(12→5)의 컬럼에 의해서 CAM(12-3)과 데코더(12-7)로부터 분리된다.
개개의 제1버퍼 회로군(6∼13)은 CAM(12-3)으로부터 입력 히트 신호(HIT0∼HIT7)을 수신하고, 제2버퍼 회로군(0∼5)은 블럭(12-7)의 데코더 회로(12-7a, 12-7b)중의 하나로부터 디코드 신호(DEC0∼DEC5)를 수신한다. 각 버퍼 회로의 컬럼은 유닛(30)에 의해 발생된 입력 제어 신호(V79EQ7D)의 상태를 기억하는 버퍼 회로(12-50)를 아울러 포함한다. 두개의 입력 버퍼 회로군은 통상의 설계에 의해서 고려되어야 한다. 상기 입력 버퍼 회로군은 논리 레벨 입력 신호를 고레벨의 보상 출력 신호로 변환하도록 동작한다. 또한, 상기 버퍼 회로군은 통상의 설계로서 도시되지는 않았지만 중앙 타이밍 소오스로부터 기록 보호 신호(WRTPROT)를 수신하고, 상기 신호는 RAM(12-1)이 선충전될때 시간 간격 T1 동안 RAM(12-1)에 입력 신호의 인가를 억제한다.
상기 보상 출력 신호 OUT 및
Figure kpo00001
는 각각 제1 및 제2버퍼 회로(12-5)군에 게이트 출력으로서 인가되며, 상기 버퍼 회로(12-5)와 선충전 회로(12-16)는 상기 중앙 타이밍 소오스로부터 타이밍 신호 T11을 수신하고, 상기 타이밍 신호는 판독/기록 증폭 회로(12-14)에 인가된 타이밍 신호(
Figure kpo00002
및 T12)를 제공한다. 마이크로 프로그램 제어 유닛(30)의 제어하에 발생된 제어 신호(SAT,
Figure kpo00003
Figure kpo00004
)는 도시된 바와같이 멀티플렉서 회로(12-12) 및 판독/기록 증폭 회로(12-14)에 인가된다. 상기 RAM의 셀들은 통상적인 설계에 따라 타이밍 신호 T11에 대응한 선충전 회로(12-16)에 의해 선충전되며, 상기 정보는 RAM 셀에서 판독되고 판독/기입 증폭 회로(12-14)(이하, R/W 증폭 회로라함)를 경유하여 RAM 셀에 기록된다.
각 RAM의 개개의 R/W 증폭 회로(12-14)는 도시된 바와같이, 상이한 비트셀의 컬럼쌍에 의해 공유되는데, 마이크로 프로그램 제어 유닛(30)의 신호 SAT 및
Figure kpo00005
는 본 명세서에 설명된 바와같이 멀티플렉서회로(12-12)에 의해서 상기 R/W 증폭 회로(12-14)에 인가될 내용을 갖는 비트셀 쌍을 확립한다.
제 2 도에 도시된 바와같이, 각각의 데코더 회로(12-7a, 12-7b)는 유닛(30)이나 VAR(18)중의 하나로부터 한 세트의 3입력 신호를 수신한다. 이 신호들은 마이크로 프로그램 제어 유닛(즉, 비트 7-9="110" 또는 6)으로 수신된 VRDR 비트(7-9)를 디코딩하므로써 발생된 제어 신호(VRDR79EQ6)의 기능으로서 블록(12-17)의 입력 버퍼 회로 및 멀티플렉서를 경유해 인가된다. 상기 CAM(12-3)은 8×11 메모리 어레이(12-30), 복수의 입력 버퍼 회로(12-32) 및 복수의 출력 버퍼 회로(12-34)를 포함하는데, 상기 입력 버퍼 회로(12-32)는 가상 어드레스 신호(BV00∼BV09 및 VAR(18)로부터의 유효 제어 비트 신호(WRT04)를 수신하고, 유효 제어 비트 신호(WRTOA)의 상태는 도시되어 있지는 않지만 대체 회로에 의해 형성된다. 상기 어드레스 신호들이 CAM(12-3)에 기록될때 유효 비트는 세트되고, 상기 비트는 어드레스 워드가 변경될때 통상의 방식에 의해 갱신된다. 상기 CAM(12-3)은 상기 메모리셀 어레이(12-30)의 수직행 또는 열에 기억된 8개의 전체 세그먼트 디스크립터 워드와 입력 버퍼 회로(12-32)에 인가된 가상 어드레스를 동시에 비교하게끔 동작한다. 동일한 비교일 경우, 비교를 검출하는 셀의 수직행은 수직행의 모든 셀과 공동으로 접속된 히트 라인을 미리 결정된 상태가 되도록 한다. CAM(12-3)은 상기 동시 비교의 결과를 히트라인(HIT0∼HIT7)에 인가한다. 이 신호들은 각기 버퍼 회로(12-5a, 12-5b)를 경유하여 대응하는 RAM메모리 어레이(12-10a, 12-10b)의 수평셀 행에 입력되어서 교대로 인가된다.
상기 출력 버퍼 회로(12-34)는 신호(HIT0∼HIT7)의 상태에 대응하는, 비교 결과를 대체로 회로에 인가하고, CAM(12-3)의 어드레스 내용은 워드 라인 세트에 인가된 대체 회로에 의해 발생된 신호(SDWL0∼SDWL7)의 상태에 따라서 변경되거나 기록된다. 본 발명의 목적을 위하여, 대체 회로는 통상적인 설계를 고려해야 하는데, 상기 캠(12-3)은 개개의 8개 워드 라인을 연속적으로 소정의 상태가 되도록하므로써 8개 세그먼트 디스크립터 어드레스 워드를 기억하게끔 초기화될 수 있다. 상기 CAM (12-3)은 2세트의 히트 라인을 제공한다는 사실에 유의해야 하는데, 수평 방향으로 연장되어 있는 제1세트는 RAM(12-1a, 12-1b)에 접속되어 있고, 수직 방향으로 연장되어 있는 제2세트는 CAM(12-3)상에 위치하는 상기 대체 회로에 접속되어 있다. 이것은 각 CAM 셀을 통해 직교 방향으로 다수의 라인을 경유하므로써 달성된다. 이 배치는 상기 히트 라인 및 워드 라인으로 하여금 상기 VMMU 칩의 다른부에 접속하기 위하여 소정의 방향내에 설정되도록 한다. 상기 결과는 공유 면적을 축소하고 효율 및 성능을 증진시킨다. 상기 CAM 셀의 구현에 따른 추가 정보는 Thomas h. Joycl 등의 관련 특허 출원에 인용되어 있다. 제 3a 도는비트 위치 Q0 내지 Q15에 대한 상기 메모리부(12), 비교 회로(14) 및 가산기(16)의 상세 계통도를 나타내는데, 상기 메모리셀 배열(12-10), 멀티플렉서 회로(12-12), R/W 증폭 회로(12-4) 및 가산기(16)의 스테이지는 도시된 것처럼 컬럼 또는 슬라이스내에 배열되어 있다. 버스 BI(20)와 가산기 스테이지의 필요한 입력 신호의 접속이 도시되어 있는데, 양호한 실시예의 배열은 비교 회로(14)와 가산기(16) 스테이지의 부분을 번갈아 대체하므로써 칩공간 요소를 최소화하는 것이다. 잔연 비트 위치(Q16∼Q31)는 제 4b 도에 따라 유사하게 배열된다.
제 3b 도 내지 3f 도는 제 3a 도 및 4b 도의 비트 위치(Q0∼Q31)를 형성하는 회로의 구성에 대한 상세도를 나타내는데, 특히 제 3b 도는 제1의 4비트 위치(Q0∼Q3)의 구성을 나타낸다. 도시한 바와같이, 이 부분은 증폭기와 트랜지스터 회로를 포함하고 있는테, 이것들은 유닛(30)으로부터 마이크로 명령어 명령 신호BICTL1 및 BICTL2의 제어 아래 각각의 R/W 증폭 회로에서 버스 BI(20)에 신호를 전송한다.
제 3c 도는 비트 위치(Q4∼Q13)에 대한 제1의 10 가산기 스테이지(A0∼A9)의 구성을 나타내는 반면, 제 3d 도는 비트 위치(Q14∼Q31)에 대한 가산기 스테이지(A10∼A27)의 구성을 나타낸다. 도면에 도시된 바와같이, 각 가산기 스테이지(10-27)는 한쌍의 오퍼랜드 A 및 B에 대한 합계와 캐리 전달 신호를 발생시키는 반면, 각 가산기 스테이지(0∼9)는 단일 오퍼랜드 A에 대한 합계와 캐리 전달 신호를 발생시킨다. 그러므로, 제 3c 도의 반가산기 회로는 제 3d 도의 전가산기 회로에 대한 단순 설명을 나타낸다.
제 3d 도의 대표적인 전가산기 스테이지(A10)의 상세도에서는 보강모드 MOSFETS(16-1000, 16-10002 및 16-1030)으로 구성된 캐리 전달부와, NOR, AND, EXNOR 및 EXOR 게이트와 배타적 논리합으로서 상호접속된 MOSFETS(16-1032∼16-1046)으로 구성된 논리부와, 인버터 회로(16-1020과 16-1022) 및 MOSFETS(16-1004 및 16-1006)을 포함하는 합계부로서 이루어져 있다. 상기 스테이지에 의해 발생된 합계 비트(A10 또는 S10)은 각각 제어 신호 BICTL1과 BICTL2의 기능으로서 트리스테이트 버퍼 회로(16-1016 과 16-1014)를 경유하여 상기 버스 BI에 인가된다. 제어 신호 CTLB는 선택 B 오퍼랜드 값을 버스 BI로 전송하는데 사용되고, MOSFETS(16-1054∼16-1058)로 구성된 5 : 1 멀티플렉서 회로는 유닛(30)에서 디코드된 마이크로 명령어 명령 신호(VRDR(0)∼VRDR(4))의 제어하에 소정의 B 오퍼랜드 값을 선택하기 위하여 사용된다. 상기 선택 B 오퍼랜드 값은 인버터 회로(16-1050과 16-1052) 및 MOSFET(16-1012)를 경유하여 상기 전가산기 스테이지 및 버스 BI에 인가된다.
제 3c 도는 인버터 회로(16-220, 16-222)와 MOSFETS(16-204 및 16-206)으로 구성된 배타적 논리합부와 MOSFETS(16-200 및 16-202)로 구성된 캐리 전달부를 포함하는 대표적인 가산기 스테이지(A0)를 나타낸다. 상기 합계 비트(A0 또는 S0)는 명령 신호(BICTL1과 BICTL2)의 기능으로서 트리스테이트 버퍼 회로(16-216과 16-214)를 경유하여 버스 BI에 인가된다. MOSFET(16-210)에 인가된 제어 신호(CTLADD)는 합계 신호 SO를 전송하는데 사용되는 반면, MOSFET(16-212)에 인가된 제어 신호(CTLB)는 제로 B 오퍼랜드 값을 버스 BI에 전송한다.
제 3e 도는 제 4b 도에 도시된 것같이 R/W 증폭 회로의 반대편으로 연장된 마지막 2 가산기 스테이지(A28과 A29)의 구성을 나타낸다. 각각의 반가산기 스테이지는 5 : 1 멀티플렉서 회로에 의해 선택된 단일 B 오퍼랜드에 대한 합계와 캐리 신호를 발생한다. 도시된 바와같이, 대표적인 가산기 스테이지(A28)의 상세도는 B 오퍼랜드 값의 선택을 위하여 제 3g 도 반가산기 스테이지와 유사한 멀티플렉서 회로가 추가된 제 3c 도의 반가산기 스테이지와 유사하게 구성되어 있다. 즉, 상기 가산기 스테이지는 보강 모드 MOSFETS(16-2800과 16-2802)으로 구성된 캐리 전달부와 인버터 회로(16-2820과 16-2822) 및 MOSFETS(16-2804 와 16-2806)으로 구성된 배타적 논리합부를 포함하고 있다. MOSFET(16-2813)에 인가된 제어 신호CTLADD에 응답하여, 상기 합계 비트(B28)는 명령 신호(BICTL2)의 기능으로서 트리스테이트 버퍼 회로(16-2814)를 경유하여 버스 BI에 인가되고, MOSFET(16-2812)에 인가된 제어 신호(CTLB)는 인버터회로(16-2852와 16-2850) 및 MOSFET(16-2812)를 경유하여 버스 BI에 인가되는 MOSFETS(16-2854∼16-2858)에 의해 선택된 B 오퍼랜드(B28)를 전달하는데 이용된다. 제 3f 도는 안전 검사 회로(14)의 비트 비교부의 구성을 나타내는테, 제 4b 도에 도시된 바와같이, 비트 비교부의 제1 및 제2군 가산기 스테이지(A2∼A11)과 (A18∼A27)간에 교체된다. 비트 비교부의 제1군(C0∼C9)은 SDRAM(12-1a)으로부터 A 오퍼랜드 신호(SS0∼SS9)와 VAR 레지스터(18)로부터 B 오퍼랜드 신호(iX(12)∼iX(21))를 수신한다. 도시되지 않은 비트 비교부(C0∼C9)의 제2군은 SDRAM(12-1b)에서 A 오퍼랜드 신호(GS0∼GS9)와 VAR 레지스터(18)로부터 B 오퍼랜드 신호(Iy(22)∼Iy(31))를 수신한다. 각 비트 비교부는 한쌍의 A와 B 오퍼랜드의 비교 결과를 나타내는 캐리 전달 신호를 발생시킨다.
제 3f 도의 대표적인 비트 비교부(C0)의 상세도에는 보강 모드 MOSFETS (16-230∼16-234)로 구성된 캐리 전달부와 MOSFETS(16-236∼16-246)로 구성된 조합 논리부를 포함하고 있는데, 비교부(C9)를 제의한 각 비교부는 상기 비교부로부터 캐리-인 신호(예컨대, CYIN(1))를 수신한다. 상기 B 오퍼랜드 값 iX(12)는 인버터 회로(16-248)를 경유하여 비교부에 인가된다.
상기 요구 레지스터와 더불어 유사하게 구성된 비교 회로는 다양한 링 검사 동작을 실행하는테 이용된다고 가정할 수도 있다. 본 발명의 목적을 위하여, 다양한 가산기(16)의 스테이지 및 안전 검사 회로(14)부를 구성하는데 이용된 특정 회로는 설계상 종래 기술로 고려될 수도 있다.
제 3g 도는 각기 멀티플렉서 회로 세트중 하나(12-12)와 판독/기록 증폭 회로중 하나(12-14)의 상세도를 나타내는데, 상기 멀티플렉서 회로는 두쌍의 보강 MOSFETS(12-120, 12-122 및 12-124, 12-126)을 포함하고, 각 쌍은 상이한 RAM 셀에 접속되어 상이한 보상 제어 신호(SAT 및
Figure kpo00006
)중의 하나에 의해서인에이블 된다.
도시한 바와같이, 각 판독/기록 증폭 회로는 1쌍의 선충전 MOSFETS(12-140 및 12-142) 및, MOSFETS(12-145∼12-148)로 구성된 기록 증폭 회로를 포함한다. 상기 증폭 회로는 직렬로 연결된 인버터 회로(12-150, 12-152) 및 MOSFETS(12-154, 12-156)로 구성된 D-래치 회로와, MOSFETS(12-160∼12-164)를 구비한 트리스테이트 버퍼 회로를 추가로 포함한다. 각 사이클 동작 시간(T1) 동안, MOSFET(12-140, 12-142)를 선충전하고, MOSFET와 함께 결합된 RAM 비트 라인을 선충전 한다.
상기 D-래치 회로는 타이밍 신호 T2에 의해 형성되는 판독 사이클 동작중에 인에이블 된다. 즉, 상기증폭 회로(12-14)는 유닛(30)에 의해 발생된 제어 신호
Figure kpo00007
의 기능으로서 판독 또는 기록되도록 설정된다. 상기 제어 신호가 2진 "1" 또는 "하이"일때, 제어 신호는 트리스테이트 상태내에 기록 증폭회로를 위치하게끔 한쌍의 MOSFETS(12-170,12-172)를 설정한다. 근본적으로 제어 신호는 상기 증폭회로에서 제거된다. 따라서, 제어 신호는 한쌍의 인버터 회로(12-174,12-176)에 의해 증폭 회로의 입력부에 인가된 신호는 BI(20)로부터 영향을 받지 않는다. D형 래치 회로에 기억된 데이타 신호는 유닛(30)의 제어 신호(BICTL1)가 2진 "1" 또는 "하이"일때 BI(20)에서 독출되며 또한 한쌍의 보상 출력 신호(OUT와
Figure kpo00008
)는 가산기(16)의 대응 스테이지에 인가된다. 제어 신호(SAT)의 상태는 상기 STW RAM 셀 비트위치 또는 ACW RAM 셀 비트 위치로부터 정보의 선택을 결정한다. 신호(SAT)가 2진 "1" 또는 "하이"일때, 상기 STW RAM 비트 위치의 내용은 가산기(16) 스테이지에 입력으로서 인가된다. 시간 T2 이후
Figure kpo00009
가 2진 "1"일 경우 상기 RAM으로부터 판독된 정보의 내용은 또다른 완전 사이클 동작을 위하여 래치 트랜지스터내에 기억된 상태로 남아 있다. 이것은 신호
Figure kpo00010
가 내용을 유지하기 위하여 MOSET(12-154)를설정하므로써 발생한다.
전술한 바와같이, 제 2 도의 RAM(12-1a, 12-1b)은 2가지 형태의 정보를 기억하도록 기능적으로 계통화되어 있는데, 하나의 섹션에서는 상기 ACW/STW 정보를 기억하는 한편, 나머지 다른 섹션에서는 작동레지스터 징보를 기억한다. 상기 STW /ACW 8워드는 히트에 응답하여 캠(12-3)에 의해 액세스하도록 선택되거나 액세스 된다. 상기 작동 레지스터 정보는 CAM 선택과는 무관한 마이크로 프로그램 제어 유닛의 마이크로 명령 신호에 응답하여 데코더(12-7)에 선택된다.
제 4a 도 및 4b 도는 RAM(12-1a,12-1b)의 할당 및 계통에 대한 상세도를 나타낸다. 제 4a 도와 관련하여, 6개 작동 레지스터 위치(1-5)는 어드레스(0-5)에 할당되고, 마이크로 프로그램 제어 유닛(30)에 의해서 어드레스 된다. 다음 두위치(7,8)는 각기 디스크립터 세그먼트 베이스 레지스터(DSBR)상위 및 하위에 대응하고, 아울러 제어 유닛(30)에 의해서 어드레스 된다.
상기 DSBR은 처리 장치의 어드레스 모드와 현재 처리 어드레스 공간을 형성한다. 만약 제1의 DSBR 2워드가 0(zero)이라면, CPU는 절대 어드레싱 모드내에 존재하며, 처리 어드레스 공간은 물리적 메모리내에 기억된 것으로 제한된다. 만약, 상기 제1의 DSBR 2 워드가 0보다 크다면, 상기 CPU는 번역 어드레스 모드내에 존재하고 처리 어드레스 공간은 DSBR에 의해 지정된 디스크립터 세그먼트 테이블(DSPT)에 의해 한정된다. 상기 디스크립터 세그먼트 페이지 테이블 위치(17-20)는 가상 어드레스의 상위 비트 및/또는 제어 유닛(30)에 의해서 어드레스 된다.
상기 세그먼트 디스크립터는 세그먼트 테이블내에 기억되고 각 64비트의 1000개의 엔트리에 이를때까지 수용할 수 있다. 처리가 개시될때, 상기 작동 시스템은 요구 시스템과 유저 세그먼트의 스크립터를 상기 프로세서에 할당한다. 프로세스의 수행동안, 가능한 한 소형의 테이블을 유지하기 위하여 부수적인 세그먼트는 세그먼트 테이블에 필요만큼 추가된다. 최근에 사용된 8 세그먼트 디스크립터는 RAM(12-1a,12-1b)에 기억된다. 특히, 디스크립터의 비트들은 기능을 기초로 하여 분할되고, STW 및 ACW 위치에 기억된다. 상기 STW 위치(9-16)는 제어 유닛(30)과 세그먼트 CAM "히트"에 의해서 제어된다. 제 4b 도는 RAM(12-1a, 12-1b)의 상이한 위치에 대한 상이한 비트 위치내에 기억된 정보 형태의 상세도를 나타낼 뿐 아니라, 가산기(16), 안전 비교 회로(14) 및 단순하고 성능 및 밀도를 증대한 RAM 셀에 대한 비트 슬라이스 계통도를 나타낸다. 도면에 도시된 바와같이, 상기 디스크립터 세그먼트 베이스 레지스터 상위(DSBRU)부는 아래의 것들을 포함한다.
(1) 비트(0 또는 NS)는 신규의 스택 인디케이터인데, 만약 이 비트가 "1"로 세트된다면 신규의 호출 및 복귀 명령이 허용되고 트랩들은 프레임으로 하여금 신규의 스택의 적절한 스택 세그먼트내에서 획득/포기되도록 한다. 반면, 이 비트가 "0"으로 세트된다면 신규의 호출 및 복귀 명령은 허용되지 않고 트랩은 트랩세이브 영역을 이용하여 처리되어진다.
(2) 비트(1 또는 NI)는 신규의 I/O 인디케이터인데, 이 비트가 "1"로 세트되면 I/O의 시스템행은 신규의 I/O 처리를 필요로 한다.
(3) 비트(4-23 또는 PGFO-19)는 상기 디스크립터 세그먼트 테이블(DSPT)의 3-비트 물리적 어드레스의 고 순위 20비트에 대응하는 페이지 프레임 번호값을 확정한다.
(4) 비트(24-31 또는 OFSO-7)은 상기 디스크립터 세그먼트 테이블의 30비트 물리적 어드레스의 중간순위 8비트에 대응하는 오프셋을 확정한다(30비트 물리적 어드레스의 잔여 저순위 2비트는 0으로 세트된다).
상기 DSBRL은 하기와 같이 이루어진다.
(1) 비트(2-9 또는 SBO-7)는 스택베이스 값을 확정한다. 이 8비트 필드와 2비트 현행링은 신규의 스택 기능을 이용할때 현행 스택 세그먼트의 세그먼트수를 확정한다.
(2) 비트(24-31 또는 PSO-9)는 프로세스 또는 세그먼트 디스크립터 테이블 크기를 확정하고, 이 필드는 최대 유효 세그먼트수를 나타내는 10비트 크기값을 포함한다. 만약 가상 어드레스의 세그먼트수가 프로세스 또는 세그먼트 디스크립터 테이블 크기보다 크다면 세그먼트 결함이 보고된다.
디스크립터 세그먼트 페이지 테이블(DSPT)엔트리는 하기와 같이 이루어진다.
(1) 비트(0)는 유효 인디케이터이며, 만약, 유효 비트가 "1"로 세트되면 디스크립터는 유효하고 잔여 비트는 상기 세그먼트 디스크립터 테이블의 페이지 프레임수를 지정한다.
(2) 비트(1-2 또는 V,M)이 사용되고 각각의 인디케이터를 변화시킨다, 이 엔트리 때문에 사용되고 변경된 것은 이것으로 세트되어야 한다.
(3) 비트(4-23 또는 PGFO-19)는 상기 세그먼트 디스크립터 테이블의 물리적 어드레스의 상위 20비트에 대응하는 페이지 프레임수 값을 확정한다.
(4) 비트(24-31 또는 MBZO-7)은 0으로 세트되고 상기 세그먼트 디스크립터 테이블의 물리적 어드레스의 하위 8비트에 대응한다(30비트 물리적 어드레스의 잔여 저순위 2비트는 0으로 세트된다).
정적 번역 워드(STW)는 하기와 같이 이루어진다.
(1) 비트(0 또는 V)는 유효 인디케이터이며, 만약, 유효 비트가 1로 세트되면 세그먼트 디스크립터는 유효하고, 상기 세그먼트 디스크립터의 잔여 비트는 가상/물리적 어드레스 번역과 적절한 액세스 기록 점검을 실행하는데 사용된다. 그러나, 유효 비트가 0으로 세트된다면, 세그먼트 디스크립터는 무효로 되어 세그먼트 결함이 보고된다.
(2) 비트(1 또는 PR)는 특권 인디케이터인데, 만약, "1"로 세트된다면 특권 명령어의 실행은 링이 "0"일 경우에만 허용되고, 만약 "0"으로 세트된다면, 특권 명령어의 실행은 허용되지 않고 특권 명령어 결함이 보고된다.
(3) 비트(4-23 또는 PGFO-9)은 페이지 프레임수를 확정하고 상기 페이지 디스크립터 테이블의 30비트 물리적 어드레스의 상위 20비트 혹은 상기 메모리내의 세그먼트의 개시에 대응된다.
(4) 비트(24-31 또는 OFO-7)은 물리적 어드레스의 중앙 8비트를 포함하는 오프셋 값을 확정하고, 만약 상기 세그먼트가 페이지 되지 않는다면, 이 필드는 이용되지 않고 "0"이 된다. 만일 세그먼트가 페이지 된다면, 상기 세그먼트는 페이지수와 더불어 세그먼트 페이지 테이블의 개시를 상술한다(30비트 물리적 어드레스의 잔여 저순위 2비트는 0으로 세트된다).
ACW는 하기와 같이 이루어져 있다.
(1) 비트(0 또는 P)는 페이지 인디케이터이다. 만약, 1로 세트되면 세그먼트는 페이지된다. 페이지 프레임수와 오프세트 필드는 페이지 테이블의 개시를 한정한다. 만약, 0으로 세트되면 세그먼트는 페이지 되지 않는다. 페이지 프레임 수는 주기억 장치내에의 비 페이지 세그먼트의 개시를 확정한다. 비 페이지 세그먼트는 페이지 경계상에서 시작하고 종료해야 하며 인접 페이지 프레임으로 구성된다.
(2) 비트(1 또는 E)는 실행 허용 인디케이터이다. 명령 인출은 이러한 인디케이터가 실행 허용 인디케이터일 경우와 이런 처리가 R1과 동일하거나 R1 보다 큰 링에서 실행하고, R2와 동일하거나 R2 보다 적은링에서 실행하는 경우에만 이러한 세그먼트로부터 허용된다. 실행 허용 인디케이터가 온상태 일때와 판독허용 인디케이터가 오프상태일때, 세그먼트는 "실행 전용" 절차 세그먼트로 처리된다. 실행 전용 절차 처리세그먼트는 랙(lack) 또는 판독 허용에도 불구하고 그자체 내부에 참조 데이타로 허용된다. 그러나 판독허용은 다른 세그먼트내의 모든 다른 절차들을 취소한다. 만약, 허용을 갖지않는 세그먼트내의 명령을 실행한다면 그후 액세스 결함이 보고된다.
(3) 비트(2-3 또는 R1)은 이러한 세그먼트(O-R1)를 위한 판독/기록 브래킷의 최소 특권링수를 상술한다. O-R1(기록 브래킷)으로부터 링수로 진행하는 절차는 이러한 세그먼트를 판독하거나 실행할 수 있다.
(4) 비트(4-5 또는 R2)는 이 세그먼트(R1-R2)의 판독/실행 브래킷의 최소 특권링수를 상술한다. 즉, R1-R2로부터 링수로 진행하는 절차는 이 세그먼트를 판독하거나 실행할 수 있다.
(5) 비트(6-15 혹은 SSO-9)는 페이지내의 세그먼트의 크기를 확정하는 세그먼트 크기 필드인데, 만약, 세그먼트가 페이지된다면, 상기 크기는 페이지 테이블 크기를 확정하며, 상기 가상 어드레스가 세그먼트 크기보다 크다면 세그먼트 결함이 보고된다.
(6) 비트(16 또는 C)는 호환성 인디케이터인데, 만약, "1"로 세트된다면 상기 실행 브래킷은 종래의 액세스 제어 구현의 동작을 가장하도록 링 0에서 R2로 연장되고 "0"으로 세트되면 실행 브래킷은 R1에서 R2로 연장된다.
(7) 비트(17 또는 G)는 케이트 인디케이터인데, 세트된다면 상기 세그먼트는 게이트 세그먼트이다.
(8) 비트(18 또는 R)는 판독 허용 인디케이터인데, 다른 세그먼트에 의해서 이 세그먼트로의 데이타 인출은 이 비트가 온상태이거나 프로세스가 R2에 대한 동일하거나 더큰 특권링으로 수행될 경우에만 허용된다. 이런 시도가 판독허용을 위반한다면 액세스 결함이 보고된다.
(9) 비트(19 또는 W)는 기록 허용 인디케이터인데, 이 세그먼트로의 데이타 기억은 이 비트가 온상태이거나 상기 프레임가 R1에 대한 동일하거나, 더큰 특권링으로 수행될 경우에만 허용된다.
만약, 기록 허용을 위반하려는 시도가 이루어지면, 액세스 결함이 보고된다.
(10) 비트(20-21 또는 R3)는 이 세그먼트(R2-R3)의 호출 브래킷의 최소 특권링수를 상술한다.
(11) 비트(22-31 또는 GSO-9)는 게이트 크기 필드인데, 만약 게이트 인디케이터가 "1"로 세트된다면 게이트 크기 필드는 세그먼트의 게이트부내의 워드수를 상술하고, 이 필드는 호출 명령 동안에 이용된다.
상기 언급한 바와같이, 제 1 도의 SDU(10)에 의해 실행된 상이한 동작은 마이크로 프로그램 제어 유닛(30)의 제어하에 존재한다. 이러한 동작들은 제 6a 도 내지 제6c 도의 상이한 마이크로 명령어에 의해 확정된다. 제 6a 도에 도시한 마이크로 명령어 워드의 제1형태는 정적 어드레스 번역(SAT) 동작을 확정한다. 도시한 바와같이, 이런 마이크로 명령어 워드의 좌측 두 비트 위치(0,1)에는 0이 세트된다. 명령어 워드는 다른 필드는 본 발명에 특별히 중요한 것은 아니다. 그러나 비트 위치(6-9)는 SDU(10)의 동작을 제어하는데 이용된 정보를 포함한다는 것을 유념해야 한다. 예컨대, 비트 위치(6)은 비트 위치(7-9)가 000 내지 111값을 가질 수 있는 논리 어드레스를 기억하는 반면 기록 비트를 기억한다. 8진수 논리 어드레스가 000값을 가질때 DSBR의 상위 32비트는 어드레스 된다. 또한 8진수 논리 어드레스가 001의 값을 가질때 DSBR의 하위 32비트는 어드레스 된다. 기록 비트(6)의 상태는 정보가 위치로부터 판독 또는 기록되는지의 여부를 확정한다.
010 내지 101의 8진수 어드레스 값은 디스크립터 세그먼트 페이지 테이블 엔트리 3(DSPT0)∼3(DSPT3)의 어드레스 값을 명백하게 허용한다. 110의 8진수 논리 어드레스 값은 제 6d 도에 도시한 바와같이 가상 어드레스 영역 Sx의 상위 두비트에 대응하는 서브 어드레스를 통해 4DSPT 위치중 임의의 1개 DSPT의 어드레싱을 상술한다. 111의 8진수 논리 어드레스 값은 세그먼트 CAM "히트"(SCH)를 사용하는 STW의 액세스를 가능하게 한다. 이것은 부재 페이지 디스크립터 경우에 다른 페이지를 인출하기 위해 페이지 테이블엔트리를 얻도록 가상 어드레스를 번역하는데에 STW를 사용하는 정적 어드레스 번역(SAT) 동작에 의해 실행된 주기능이다.
SDU(10)의 동작을 제어하기 위해 사용된 마이크로 명령어 워드의 제2형태는 제 6b 도에 도시된 보조 필드 즉 MS2이다. 이러한 마이크로 명령어 워드의 좌측 두비트 위치(01)에는 1이 세트된다. 비트 위치(6-9)는 제 6a 도의 마이크로 명령어 워드가 행한 바와같이 동일한 정보를 제공한다. 이 마이크로 명령어 워드는 SDU(10)내의 상이한 RAM 위치가 액세스되도록 8진수 논리 어드레스 비트(7-9)를 재번역한다. 더욱 구체적으로 말하자면, 8진수 논리 어드레스가 000 내지 101값을 가질때 작동 레지스터 위치(WR0∼WR5)가 액세스된다. 111의 8진수 논리 어드레스 값은 SCH를 사용하는 ACW의 액세스를 가능하게 한다.
SDU(10)의 동작을 제어하기 위해 사용된 제 6c 도의 마이크로 명령어 워드의 제3형태는 동적 어드레스번역(DAT)동작을 상술하는데 사용된 마이크로 명령어이다. 좌측 두비트 어드레스(01)는 "1"로 세트된다. 이것은 서브 어드레스로서 세그먼트 CAM"히트"를 사용하는 SDU RAM(12-1)내의 ACW 위치에 액세스하는 것을 의미한다. DAT 마이크로 명령어 워드의 다른 필드는 본 발명을 이해하는데 적절하지 않지만 제어 번역(예, CAM 부재 허용), 액세스 검사(예, 판독 및 기록등 허용) 및, 링 체킹 동작에 사용된다.
VAR 레지스터(18)속으로 가상 어드레스를 적재하기 위해 사용된 제 6d 도의 마이크로 명령어 워드의 제4형태는 보조 필드 즉 MSC1이다. 이런 마이크로 명령어 워드의 좌측 두비트 위치(01)는 "10"으로 세트된다. 비트 위치(12-14)는 VAR 레지스터(18)의 적재를 다음과 같이 제어한다. 8진수 값이 "0"일때 내용은 동일하게 유지되고, 값이 "1"일때 값 "10"은 1씩 VAR 내용을 감소시키는 반면 버스(BI)로부터 VAR 레지스터를 적재한다. 8진수값은 "11"은 1씩 VAR 내용을 증가시키고, "100"은 VAR 레지스터를 제로로 소거시키며, 값 "101"은 VAR 레지스터를 적재한다. 8진수값 "110" 및 "111"은 각각 내용을 2씩 감소 및 증가시킨다. 마이크로 명령어 워드의 다른 필드는 본 발명에 중요하지 않다. 상술한 바와같이 단일 SDU RAM(12-1)내의 상이한 모든 레지스터에 액세스에 필요한 많은 상이한 동작을 실행하는데 소수의 마이크로 명령어만이 필요하다는 것을 알 수 있다.
[동작 설명]
제 5 도의 흐름선도를 참조하여 이하에 SDU(10)외 동작을 설명하기로 한다. 제 5 도는 정상 판독 메모리시퀀스를 나타낸다. 도시된 바와같이, 이 시퀀스는 박스(500∼504)로 지정된 동작들을 수행한다. 이들은 VAR 레지스터(18)를 적재하는 단계, 가상 어드레스를 물리 어드레스로 변환하는 단계, 액세스 검사를 수행하는 단계, 캐시로부터 수신된 데이타를 적재하는 단계 및, VAR(18)에 그 데이타를 적재하는 단계를 포함한다. 보다 상세히 설명하자면, 제 6e 도의 포맷을 갖는 가상 어드레스는 제 6d 도에 도시된 MSCI 마이크로명령어로 포맷된 제1마이크로 명령어 워드의 제어하에 버스(BI)로부터 VAR 레지스터(18)내로 적재된다. 이 어드레스는 SDU(10)는 물론 도시되지 않은 페이지 디스크립터 유닛(PDU)에 인가된다. PDU는 SDU동작과 병행하여 20비트 가상 어드레스를 20비트 물리 어드레스로의 페이지 번역을 수행한다.
PDU의 동작은 본 발명의 범위에 속하지 않기 때문에, 여기서는 더이상 설명하지 않겠다. 그러나, 보다상세한 정보를 위해서는, "High Speed High Density Dyna-mic Addres Translator"라는 명칭의 관련 특허출원을 참조하기 바란다.
제 5 도로부터 알 수 있는 바와같이, 제 6c 도의 DAT 마이크로 명령어로서 포맷된 제2마이크로 명령어워드의 제어하에, 블록(502)의 동작이 수행된다. 가상 어드레스의 세그먼트 번호는 CMA(12-3)에 인가된다. 일치된 비교의 경우에, SDU의 8개의 히트 신호중 하나는 2진 '1'로 된다. 물리 어드레스가 캐시로 전달되고, 캐시 판독 동작중인 것으로 가정하면, SDU(10)는 필요한 액세스 검사를 수행한다. 즉, DAT 마이크로 명령어 워드에 의해서 SDU RAM(12-1)은 히트 신호(SCH)로 서브 어드레스된 ACW 부분을 액세스하게 된다. SDU RAM(12-1)의 ACW 부분은 VMMU의 안전 검사 비교기 회로(14)에 의해 이용되어, DAT 마이크로 명령어 워드 6c의 제어하에, 링선택, 액세스 검사 및 링감축을 수행하게 한다.
링 선택은 현재 링 레지스터(RNG) 및 유효링 레지스터(REF)의 내용들과, RNG값을 형성하기 위한 가상 어드레스(VA)내의 링번호(RN)의 값과 함께 ACW의 R1,R2 및 R3값들을 이용하여 안전 검사 회로(14)내에 포함된 링검사 논리 회로에 의해 수행된다. DAT 마이크로 명령어 링 발생 제어 필드 비트(12-24)의 제어하에, 다음과 같이 안정성이 감시된다.
안전 검사 회로(14)는 ACW 비트 위치(1∼5) 및 비트 위치(16)을 이용하여 실행 허용 및 링 브레킷 검사를 수행한다. 예를들어, 비교 회로(14)에 의해 제 6e 도의 필드(RN)가 ACW 필드 R2(비트 4-5)보다 큰것으로 결정된 경우, 또는 ACW 필드 R1(비트 2-3)이 RN보다 크고, ACW 호환성 비트(16)가 온상태가 아니거나 실행 허용 인디케이터 비트(18)가 온이 아니며, 마이크로 명령어 워드 비트(6-8)가 8진수 1 또는 4와 동일한 경우에는, 액세스 결함이 보고된다.
ACW 비트 위치(4-5) 및 ACW 비트 위치(18)는 회로(14)에 의해 이용되어 판독 허용 및 링 브래킷 검사를 수행한다. 예를들어, 회로(14)에 의해 RN 및 REF값보다 크게 정의된 REFF값이 ACW 필드 R2(비트 4-5)보다 크거나, 판독 허용 인디케이터 비트(18)가 온상태가 아니고 마이크로 명령어 워드 비트(6-8)가 8진수 2 또는 7과 동일한 것으로 검출될 경우, 액세스 결함이 보고된다.
또한, 회로(14)는 ACW 비트 위치(2-3) 및 비트 위치(19)를 이용하여 기록 허용 및 링브래킷 검사를 수행한다. 예를들어, 회로(14)에 의해 FEFF가 ACW 필드 R1(비트 2-3)보다 크거나, 기록 허용 인디케이터 비트(19)가 온상태가 아니고 마이크로 명령어 워드 비트(6-8)가 8진수 4 또는 7과 동일한 것으로 검출될 경우, 액세스 결함이 보고된다.
안전 검사 회로(14)는 ACW 비트 위치(2-5,20-21) 및 비트 위치(17)를 이용하여 게이트 허용 및 링브래킷 검사를 수행한다. 예를들어, 회로(14)에 의해 필드(R1)가 REF보다 크고, 마이크로 명령어 워드 비트(6-8)가 8진수 5와 동일한 것으로 검출될 경우, 게이트 결함이 보고된다. 마지막으로 회로(14)는 ACW비트 위치(6-15)를 이용하여 세그먼트 크기 검사를 수행한다. 예를들어, 회로(14)에 의해 가상 어드레스의중간 비트(12-21)가 세그먼트 크기 비트(6-15)보다 큰 것으로 검출된 경우, 크기 결함이 보고된다.
액세스 검사의 완료시, 또 다른 마이크로 명령어 워드의 제어하에, 캐시로 부터 수신된 물리 어드레스에 의해 규정된 데이타는 적절한 CPU 레지스터내로 적재되고, 다음의 가상 어드레스는 VAR 레지스터(18)내로 적재된다. MSC1 및 DAT 마이크로 명령어 워드의 루프가 반복적으로 액세스되는 블럭(520) 및 (504)의 동작 시퀀스는 히트가 검출되는 한 계속된다. 디스크립터 부재 상태가 검출되면, 제어 유닛(30)의 제어하에 SDU(10)는 부재 세그먼트 디스크립터를 호출하는데 필요한 블럭(506∼530)으로 지정된 동작 시퀀스를 수행하게 된다. 페이지 디스크립터 부재의 발생은 또한 시퀀스 루프를 인터럽트하고, 캐시 또는 메모리내에 기억된 페이지 테이블로부터 부재 페이지 디스크립터를 호출하도록 블럭(506∼530)에 도시된 것과 마찬가지의 동작 시퀀스가 수행되게 한다. PDU의 동작은 그것이 SDU(10)로부터 액세스된 정보를 활용하는 정도까지만 설명하기로 한다.
보다 구체적으로, 제 6e 도의 포맷을 갖는 가상 어드레스의 세그먼트 번호는 CAM(12-3)에 인가된다. 일치 비교의 부재시, 8개의 히트 신호는 모두 2진수 0으로 남아있고, 그에 따라 부재 상태의 CAM(12-3)에 의해 검출된다(모든 '0'이 검출됨). 요구된 데이타가 캐시로부터 호출되지 않게 됨을 지시하는 에러가 있었던 것으로 가정되기 때문에, 마이크로 프로그램 제어 유닛(30)은 MSC2 마이크로 명령어 워드를 경유해, 실행중이었던 단계를 취소 또는 소거하는 소거 동작을 수행한다. 다음이 제어 유닛은 부재 취급 루틴의 제1위치로 순환한다.
블럭(508)으로 지시된 바와같이, 수행되는 제1동작은 부재 상태를 소거하는 것이다. 이것은 에러 상태들은 물론 다른 스테이터스 정보를 기억하는데 사용하는 신드롬 레지스터내의 적절한 비트 위치를 리세트시키는 SAT 마이크로 명령어 워드의 제어하에 이루어진다. 또한, 또 다른 MSC2 마이크로 명령어 워드의 제어하에, 기록 동작에 관련하는 정보가 일시적인 소위 스타레지스터내에 기억된다. 이 정보는 특정의 동작이 기록 동작으로 판명되면 시스템이 기록 동작을 갱신할 수 있게 한다.
블럭(506, 508 및 510)의 하우스키핑 동작의 완료시, SDU(10)는 부재 세그먼트 디스크립터 시퀀스내의 제1단계를 시작한다. 블럭(512)으로부터 알 수 있는 바와같이, SDU(10)는, 마이크로 프로그램 제어 유닛(30)으로부터 또 다른 SAT 마이크로 명령어 워드의 제어하에, STW의 어드레스를 발생시키고 CAM(12-3)에 기록한다. 요구된 어드레스를 발생시키기 위하여, SDU RAM(12-1)의 4DSPT 워드 위치중의 적절한 하나가 SAT 마이크로 명령어 워드에 응답하여 액세스된다. SAT 마이크로 명령어 워드의 비트(7-9)에 의해 규정된 DSPT 위치의 내용은 RAM(12-1)으로부터 가산기(16)로 독출된다.
다음 사이클 동안, 블럭(514)에 지시된 바와같이, 추가의 SAT 마이크로 명령어 워드의 제어하에, DSPT 워드가 부재에 대해 검사된다. 즉, DSPT 워드내에 부재가 존재하고 있는지(즉, DSU RAM(12-1)내에 존재하고 있지 않음)의 여부를 결정하기 위하여 적절한 비트(즉, 비트 0)가 시험된다. 만약 부재가 있으면, 마이크로 프로그램 제어 유닛(30)은 DSPT 부재를 고정하는데 사용된 서브 루틴 FIX DSPT를 분기시킨다. 이것은 SDU(10)의 사용을 포함하고, 특히 메모리로부터 다음 페이지를 인출하기 위한 어드레스를 발생하도록 DSBR 위드에 대한 액세스를 포함한다.
히트가 있었다고 가정하면, 블럭(516)에 도시된 바와같이, 다음 사이클동안, VAR 레지스터(18)내의 가상 어드레스의 일부와 DSPT 워드의 조합으로서 발생된 어드레스는 또다른 MSC2 마이크로 명령어 위드의 제어하에 캐시로부터 SDW를 액세스하는데 사용된다. SDW는 가상 어드레스 세그먼트 번호와 관련된 세그먼트 테이블내의 엔트리들중의 하나이다.
요구된 값은 버스 BI(20)를 거쳐 SDU(10)내로 전달되고, STW에 대응하는 세그먼트 디스크립터 워드의 전반부는 SDU RAM(12-1)에 기록된다. 보다 구체적으로 2진 "1"로 설정된 기록 레지스터 비트(6)와 "111"로 설정된 어드레스 비트(7-9)를 갖는 SAT 마이크로 명령어 워드는 STW값이 세그먼트 CAM 히트에 의해 확정된 SDU RAM(12-1)의 8개의 STW 위치중 하나로 기입되도록 한다. 즉, 이 시퀀스는 세그먼트 CAM 부재 때문에 초기에 입력되었다. VAR(18)의 가상 어드레스 내용은 캐리로부터 세그먼트 디스크립터 워드가 수신되기 전에 세그먼트 CAM(12-5)내로 기록되었다. 이때, 세그먼트 디스크립터 워드의 STW 비트는 세그먼트 CAM 히트에 의해 지적된 RAM 위치내로 기록되었다. STW 마이크로 명령어 워드는 RAM(12-1a) 및 (12-1b)의 STW 비트 위치에 대해서만 제 2 도의 멀티플렉서 회로(12-12)로 하여금 R/W 증폭기(12-14)로부터의 신호를 인가하게 하는 신호 SAT를 발생한다. SAT 마이크로 명령어 워드의 비트 위치(6)의 상태는 신호 SWRTRAMR를 2진 '0'으로 되게 하고, 제 3g 도의 R/W 증폭기(12-14)로 하여금 각 STW 비트 위치로 상보 신호를 인가하도록 한다.
블럭(520)에 지시된 바와같이, 어드레스의 후반부(즉, 캐시내에 기억된 세그먼트 디스크립터의 제2더블워드 어드레스)가 발생되는 시간동안, SDU(10)는, 다음의 SAT 마이크로 명령어 워드의 제어하에, 세그먼트 디스크립터 워드의 최좌측 비트(비트0)의 상태를 검사하여, 그것이 유효 세그먼트 디스크립터인지를 결정한다. 그것이 무효임을 나타내는 2진 "1"이 아닌 경우에는, 마이크로 프로그램 제어 유닛(30)은 블럭(520)으로 지시된 바와같이 세그먼트 디스크립터 고장 루틴(SD-FIT)으로 분기시킨다. 이 루틴은 고장 취급을 위해 요구된 바와같이 SDU 작동 레지스터 위치내에 정보를 기억시킨다.
세그먼트 디스크립터가 유효한 것으로 가정하면, 블럭(522)에 지시된 바와같이 MSC2 마이크로 명령어워드의 제어하에 또다른 판독 동작이 수행된다. 이때, ACW가 호출되어 SDU RAM(12-1)내로 기록된다. 즉, 블럭(524)에 지시된 바와같이, 이 동작은 최좌측의 2비트가 "11"이고, 기록 레지스터 비트(6)가 2진 "1"이며, 비트(7-9)가 "111"인 MS2 마이크로 명령어 워드에 의해 수행된다. 그결과, ACW는 비트(7-9)및, 블럭(524)으로 지시된 바와같은 세그먼트 CAM 히트에 의해 상술된 위치내로 기록된다. 즉, 이때, 신호 SAT는 2진 "0"이다. 이것은 멀티플렉서 회로(12-12)로 하여금 ACW 비트 위치에 대해서만 신호를 인가하게 한다. 비트 위치(6)의 상태는 다시 신호 SWR TRAMR을 2진 "0"이 되게 해서, 각 R/W 증폭기로 하여금 각 ACW 비트 위치에 상보 신호를 인가하게 하다.
블럭(526)으로부터 알 수 있는 바와같이, 블럭(528)의 갱신 동작뿐아니라 시퀀스로 이행하기 전에 또다른 MSC2 마이크로 명령어 워드의 제어하에 추가로 소거 단계가 수행된다. SDU(10)는 판독 동작을 수행중이었기 때문에, 이 동작 결과 가상 어드레스가 캐시 판독을 위한 물리 어드레스로 변환되어, 블럭(530)에 지시된 바와같이 캐시 판독 동작과 병행하여 액세스 검사를 수행하도록 한다.
다음에, 이 시퀀스는 원래의 루프로 복귀한다. 부재 정보가 재배치 되었기 때문에, 히트가 발생될 것이고, 수신된 데이타는 변역된 다음 가상 어드레스와 함께 VAR 레지스터(18)를 따라 적재된다. 전술한 바와같이, SDU(10)는 세그먼트 또는 페이지 디스크립터 부재가 발생할때까지는 이 루프내에 남아있게 된다. 부재 페이지 디스크립터의 경우, 페이지 세그먼트에 대한 시퀀스의 일부로서 페이지 테이블 워드(PTW)엔트리 어드레스가 발생되어야 한다. 즉, ACW는 세그먼트가 페이지 되었는지의 여부를 지시하는 비트를 포함한다. 이 비트의 상태에 따라서, SDU(10)는 페이지 및 비페이지 세그먼트에 대한 동작을 수행한다. 이 동작은 기록 레지스터 비트(6)가 2진 "0"이고 비트(7-9)가 "111"인 SAT 마이크로 명령어 워드에 응답하여 이루어진다. 이것은 SDW의 STW 비트가 SDU RAM(12-1)으로부터 독출될 수 있도록 한다. STW는 기본 어드레스 및 캐시내에 기억된 페이지 테이블내의 PTW의 오프셋을 포함한다. VAR 레지스터(18)내의 가상 어드레스 비트는 특정 페이지 테이블 엔트리를 지시하는데 사용된다. 이 정보를 이용하여, 결과적인 어드레스가 가산기(16)내에서 계산되고, 캐시로부터 PTW를 인출하는데 사용될 STAR 레지스터내에 기억된다. 비페이지 세그먼트의 경우, 상이한 SAT 마이크로 명령어 워드의 제어하에, 가산기(16)는 캐시를 액세스하지 않고 STW 비트로부터 페이지 디스크립터 어드레스를 발생시킨다. 그래서, ACW 기억수단은 페이지 및 비페이지 세그먼트를 포함하는 어드레스 번역 동작을 수행함에 있어서 가산기에 유연성을 제공한다.
상술한 바로부터, 본 발명에 따른 SDU(10)의 계통은 극소수의 마이크로 명령어 명령의 제어하에 단일 RAM내의 복수의 상이한 유형의 레지스터 위치를 액세스함으로써 다양한 동작을 수행할 수 있게 됨을 이해할 수 있을 것이다.
당분야에 통상의 지식을 가진자라면 본 발명의 양호한 실시예에 대해 여러가지로 변경할 수도 있을 것이다. 예를들어, 워드 크기, 위치의 수, 정보 및 제어의 유형을 원하는대로 변경시킬 수 있을 것이다.
본 발명의 가장 양호한 형태에 대해 이제까지 개시 및 설명되었으나, 본 발명의 사상에서 벗어남이 없이 첨부된 특허청구의 범위에 의해 한정되는 한도내에서 각종의 변형이 가능할 것이다.

Claims (11)

  1. 수신된 각 워드에 대한 번역 동작을 수행하는 세그먼트 디스그립터 유닛(10)에 있어서, 다수의 기억장소를 갖는데, 각각의 기억 장소는 다수의 비트 위치를 가지며 상기 다수의 기억 장소중 첫번째 기억 장소의 제1 및 제2비트 위치군은 각각 제1 및 제2형태의 번역 동작중에만 액세스 가능한 상이한 유형의 디스크립터 정보를 기억하도록 소정의 방식으로 서로 연관되게 배치되어 있는 단일 랜덤 액세스 메모리(RAM)(12-1)와 ; 상응하는 수의 세그먼트 디스크립터 워드를 번역하는데에 요구되는 정보를 기억하기 위한 다수의 기억 장소, 및 상기 랜덤 액세스 메모리(RAM)에 접속되어 번역될 상기 각각의 세그먼트 디스크립터 워드와 상기 다수의 기억 장소에 기억된 상기 정보를 비교한 결과를 나타내는 히트 신호를 발생하기 위한 다수의 출력을 갖는 내용 주소화 메모리(CAM)(12-3)와 ; 상기 랜덤 액세스 메모리(RAM) 및 상기 내용주소화 메모리(CAM)에 결합되고, 다수의 상이한 형태의 마이크로 명령어 워드(제 6a-6e 도)를 기억하기 위한 다수의 기억 장소를 갖는 제어 스토어를 구비하며, 번역할 상기 각 워드의 수신에 응답하여 제1장치(14)로 하여금 제1형태의 번역 동작을 수행하도록 하는 제1신호군을 발생시키기 위해 상기 다수의 상이한 형태의 마이크로 명령어 워드중 제1형태의 마이크로 명령어 워드를 독출하고, 부재 상태를 나타내는 상기 히트 신호에 응답하여 제2장치(16)로 하여금 상이한 동작 사이클중 상기 제1형태의 번역 동작과 동시에 상기 수신된 워드에 대한 제2형태의 번역 동작을 완료하도록 하기 위하여 부재 데이타를 액세스하도록 상기 제2비트 위치군에 기억된 상기 정보로부터 어드레스를 발생하게 하는 제2신호군을 발생시키기 위해 상기 다수의 상이한 형태의 마이크로 명령어 워드중 제2형태의 마이크로 명령어 워드를 독출하는 마이크로프로그램 제어 유닛(30)을 포함하는 것을 특징으로 하는 세그먼트 디스크립터 유닛(10).
  2. 제 1 항에 있어서, 상기 세그먼트 디스크립터 유닛은 상기 랜덤 액세스 메모리 및 상기 마이크로 프로그램 제어 유닛에 접속된 데코더 수단(12-7)을 추가로 구비하는데, 상기 데코더 수단은 상기 마이크로 프로그램 제어 유닛으로부터 전달된 제3신호군에 의해 조정되어 상기 제1형태 및 제2형태의 번역 동작을 실행하는 동안 사용될 작동 레지스터 정보를 기억하는데에 사용되는 상기 RAM의 상기 다수의 기억 장소중 두번째 기억 장소의 지정된 하나를 액세스하는 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  3. 제 2 항에 있어서, 상기 세그먼트 디스크립터 유닛은 번역해야할 각 워드를 기억하기 위한 레지스터(18)를 추가로 구비하는데, 상기 레지스터(18)는 상기 데코더 수단에 접속되고, 상기 데코더 수단은 상기 레지스터의 신호 및 상기 제2신호군에 의해 조정되어 상기 다수의 기억 장소중 세번째 기억 장소의 지정된 하나를 액세스하여 어드레스 신호를 발생시킴으로써 상기 첫번째 기억 장소의 상기 제2비트 위치군에 기억될 정보를 인출함으로 인해 상기 내용 주소화 메모로(CAM)가 부재 상태를 나타내는 히트 신호를 발생시키는 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  4. 제 1 항에 있어서, 상기 제1장치(14)는 상기 제1비트 위치군에 기억된 상기 정보의 상태에 의거하여 메모리 액세스를 검증하는 안전 검사 회로인 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  5. 제 1 항에 있어서, 상기 제2장치(16)는 상기 제2비트 위치군에 기억된 정보로부터 어드레스 신호를 발생하여 상기 수신워드의 번역을 완료하는데에 필요한 부재 데이터를 액세스하는 가산기인 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  6. 제 1 항에 있어서, 상기 세그먼트 디스크립터 유닛은 VLSI 칩 구조물로 이루어져 있고, 상기 랜덤액세스 메모리(RAM)의 제1비트 위치군 및 제2비트 위치군은 교호적으로 배치됨으로써, 상기 제1장치 및 제2장치에 의해 상기 제1형태 및 제2형태의 번역 동작을 수행하는데 필요한 정보만이 상기 제1신호군 및 제2신호군에 의해 확정된 상기 상이한 동작 사이클동안 액세스 가능하므로써 상기 장치들에 의해 동작중인 정보의 비트수에 따른 칩공간의 크기를 감소시키는 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  7. 제 6 항에 있어서, 상기 제1장치는 다수의 비교기부(SS0-9)를 구비하고, 상기 제2장치는 다수의 가산기 스테이지(A0-11)를 구비하며, 상기 각각의 가산기 스테이지는 상겨 비교부사이에 배치되므로써 칩공간을 최소화시키는 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  8. 제 6 항에 있어서, 상기 랜덤 액세스 메모리(RAM)는 다수의 판독/기록 증폭기 회로(12-14) 및 다수의 멀티플렉서 회로(12-12)를 구비하고, 상기 각각의 다수의 회로들은 상기 제1비트 위치군의 수에 있어서 동일하고, 상기 증폭기 회로 및 상기 멀티플렉서 회로는 상기 제1 및 제2랜덤 액세스 메모리 비트위치군으로부더 대응쌍의 비트 위치와 정렬된 컬럼에 배열되고, 상기 멀티플렉서 회로는 상기 마이크로 프로그램 제어 수단에 접속되고, 상기 멀티플렉서 회로는 상기 제어 수단으로부터의 신호에 응답하여 랜덤 액세스 메모리의 판독 또는 기록 동작 사이클동안 상기 판독/기록 증폭기 회로중 대응하는 하나에, 상기 비트위치쌍으로부터 어떠한 비트 위치가 접속될 것인가를 선택하는 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  9. 제 1 항에 있어서, 상기 랜덤 액세스 메모리(RAM)는 한쌍의 부분(12-1a, 12-1b)으로 동일하게 분할되고, 상기 각각 부분은 행과 열로 배열된 다수의 비트위치와 다수의 워드선을 가지며 각각의 워드선은 상이한 행의 비트 위치에 접속되고 상기 비트선쌍은 상이한 열의 비트셀에 접속되고, 상기 각 첫번째 행의 교호상태로 배치된 제 1 및 제2비트 위치는 제1 및 제2의 상이한 형태의 어드레스 번역 동작에 관한 정보를 기억하고, 상기 RAM의 각 부분의 상기 두번째 행의 상기 제1비트 위치군에 기억된 상기 정보는 상기내용 주소화 메모리(CAM)에 기억되지 않음에 따라 상기 히트 신호에 의해 지시된 세그먼트 디스크립터 정보를 인출하는 어드레스를 구비하는 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  10. 제 1 항에 있어서, 상기 두번째 행의 상기 제2비트 위치군은 상기 제1 및 제2번역 동작중에 사용가능한 작동 레지스터 기억 장소로서 이용할 수 있는 것을 특징으로 하는 세그먼트 디스크립터 유닛.
  11. 제 1 항에 있어서, 상기 랜덤 액세스 메모리(RAM)는 세그먼트 디스크립터(SDW)를 기억하고 각각의 세그먼트 디스크립터는 액세스 제어 부분(ACW)과 정적 번역 부분(STW)의 두개 부분을 구비하는데, 상기 액세스 제어 부분은 상기 제1비트 위치군에 기억되며, 상기 정적 번역 부분은 상기 제 2비트 위치군에 기억되는 것을 특징으로 하는 세그먼트 디스크립터 유닛.
KR1019870015023A 1986-12-23 1987-12-23 세그먼트 디스크립터 유닛 KR930009667B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US94731586A 1986-12-23 1986-12-23
US947,315 1986-12-23
US947315 1986-12-23

Publications (2)

Publication Number Publication Date
KR880008160A KR880008160A (ko) 1988-08-30
KR930009667B1 true KR930009667B1 (ko) 1993-10-08

Family

ID=25485945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019870015023A KR930009667B1 (ko) 1986-12-23 1987-12-23 세그먼트 디스크립터 유닛

Country Status (11)

Country Link
EP (1) EP0272670A3 (ko)
JP (1) JPH07120316B2 (ko)
KR (1) KR930009667B1 (ko)
CN (1) CN1009771B (ko)
AU (1) AU603167B2 (ko)
CA (1) CA1286422C (ko)
DK (1) DK685987A (ko)
FI (1) FI93586C (ko)
MX (1) MX168306B (ko)
NO (1) NO173116C (ko)
YU (1) YU236587A (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4819165A (en) * 1987-03-27 1989-04-04 Tandem Computers Incorporated System for performing group relative addressing
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
US5479628A (en) * 1993-10-12 1995-12-26 Wang Laboratories, Inc. Virtual address translation hardware assist circuit and method
US5530824A (en) * 1994-04-04 1996-06-25 Motorola, Inc. Address translation circuit
US6754784B1 (en) * 2000-02-01 2004-06-22 Cirrus Logic, Inc. Methods and circuits for securing encached information

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4520441A (en) * 1980-12-15 1985-05-28 Hitachi, Ltd. Data processing system
US4538241A (en) * 1983-07-14 1985-08-27 Burroughs Corporation Address translation buffer

Also Published As

Publication number Publication date
KR880008160A (ko) 1988-08-30
NO875391L (no) 1988-06-24
MX168306B (es) 1993-05-17
DK685987A (da) 1988-06-24
FI93586B (fi) 1995-01-13
DK685987D0 (da) 1987-12-23
AU8260987A (en) 1988-06-23
JPS63213046A (ja) 1988-09-05
CN87108389A (zh) 1988-07-06
NO875391D0 (no) 1987-12-22
FI875615A0 (fi) 1987-12-21
NO173116B (no) 1993-07-19
YU236587A (en) 1990-12-31
CA1286422C (en) 1991-07-16
FI93586C (fi) 1995-04-25
NO173116C (no) 1993-10-27
EP0272670A2 (en) 1988-06-29
FI875615A (fi) 1988-06-24
JPH07120316B2 (ja) 1995-12-20
AU603167B2 (en) 1990-11-08
CN1009771B (zh) 1990-09-26
EP0272670A3 (en) 1990-05-16

Similar Documents

Publication Publication Date Title
US5053951A (en) Segment descriptor unit for performing static and dynamic address translation operations
JP3936378B2 (ja) アドレス変換装置
US5070502A (en) Defect tolerant set associative cache
US7337352B2 (en) Cache entry error-connecting code (ECC) based at least on cache entry data and memory address
KR100884351B1 (ko) 타입 비트들을 이용한, 레벨 2 캐시에서의 ecc 및프리디코드 비트들의 저장 추적
US7089398B2 (en) Address translation using a page size tag
KR900005897B1 (ko) 마이크로프로세서 시스템과 그 메모리 운용장치
EP0507209A2 (en) A data processor with concurrent independent static and dynamic masking of operand information
JPS604494B2 (ja) キヤツシユ記憶システム
US6023746A (en) Dual associative-cache directories allowing simultaneous read operation using two buses with multiplexors, address tags, memory block control signals, single clock cycle operation and error correction
US5500950A (en) Data processor with speculative data transfer and address-free retry
EP0507208A2 (en) A data processing system with combined static and dynamic masking of information in an operand
EP0321793B1 (en) Apparatus for forcing a reload from main memory upon cache memory error
JPH0581935B2 (ko)
JPH0345407B2 (ko)
WO2013095525A1 (en) Content-aware caches for reliability
US9323527B2 (en) Performance of emerging applications in a virtualized environment using transient instruction streams
US6085288A (en) Dual cache directories with respective queue independently executing its content and allowing staggered write operations
US5867511A (en) Method for high-speed recoverable directory access
JPH07120312B2 (ja) バッファメモリ制御装置
KR100297914B1 (ko) 스누핑장치를위한다중캐쉬디렉토리
KR930009667B1 (ko) 세그먼트 디스크립터 유닛
US20020087825A1 (en) Error detection in cache tag array using valid vector
US6643742B1 (en) Method and system for efficient cache memory updating with a least recently used (LRU) protocol
US3990051A (en) Memory steering in a data processing system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 19991005

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee