KR860000838B1 - 데이타 처리시스템 - Google Patents

데이타 처리시스템 Download PDF

Info

Publication number
KR860000838B1
KR860000838B1 KR1019800003775A KR800003775A KR860000838B1 KR 860000838 B1 KR860000838 B1 KR 860000838B1 KR 1019800003775 A KR1019800003775 A KR 1019800003775A KR 800003775 A KR800003775 A KR 800003775A KR 860000838 B1 KR860000838 B1 KR 860000838B1
Authority
KR
South Korea
Prior art keywords
capability
register
pointer
bit
memory
Prior art date
Application number
KR1019800003775A
Other languages
English (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 플레세이 오우버시이스 리미티드
Application granted granted Critical
Publication of KR860000838B1 publication Critical patent/KR860000838B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Executing Machine-Instructions (AREA)
  • Train Traffic Observation, Control, And Security (AREA)
  • Soundproofing, Sound Blocking, And Sound Damping (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Complex Calculations (AREA)
  • Control By Computers (AREA)
  • Hardware Redundancy (AREA)
  • Communication Control (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Abstract

내용 없음.

Description

데이타 처리시스템
제1도는 본 발명의 한 실시형태를 이용한 전형적인 다중 처리장치 블록 다이아그램.
제2도는 본 발명의 실시형태에 사용하기 적합한 전형적인 처리장치의 블록 다이아그램.
제3도는 처리장치 내의 레지스터 파일에 수용되어 있는 범용 레지스터.
제4도는 처리장치 내의 특수 목적 레지스터와 인디케이터 레지스터.
제5도는 캐퍼빌리티 포인터 형식의 테이블.
제6도는 로우드 캐퍼빌리티 레지스터 명령의 흐름도.
제7도는 전형적인 시스템 캐퍼빌리티 테이블 엔트리.
제8도는 캐퍼빌리티 레지스터를 로우드 하도록 수행되는 동작의 흐름도.
제9도는 기억 캐퍼빌리티 명령의 흐름도.
본 발명의 소위 캐퍼빌리티 레지스터(capability register)를 이용한 형태의 메모리 보호시스템이 결합된 데이타 처리시스템에 관한 것으로, 특히 고도의 캐퍼빌리티 레지스터 로우딩 장치를 제공하는데 있다.
캐퍼빌리티 레지스터 구조는 다중 처리시 분할 데이타 처리 시스템에 있어서 각 프로세스에 안전환경을 조성하는데 사용된다. 캐퍼빌리티 레지스터의 작동이 영국특허 제1,329,721호 및 제1,410,631호에 기술되어 있다. 이 시스템에서 각 프로세스는 그 자신의 명령과 데이타를 갖는 메모리 블럭으로 할당되어 있다.
각 블럭은 베이스와 리미트 어드레스에 의하여, 그리고 각 블럭으로 액세스 할 수 있게 된 액세스 코드(Access code)에 의하여 그 크기와 위치가 정하여진다. 프로세스란 기억장치의 이들 각 영역에 액세스 할 수 있는 캐퍼빌리티를 갖는 것을 의미한다.
현재 사용중의 갑이 하드웨어 캐퍼빌리티 레지스터에 수용되고 모든 기억액세스는 위반을 체크한다.
시스템기억블록의 베이스 및 리미티 어드레스는 캐퍼빌리티에 의하여 정하여진 고속액세스 메모리의 블럭에 수용된 시스템 캐퍼빌리티 테이블(System Capability Table)에 보존된다. 각 프로세스는 캐퍼빌리티 포인터를 포함하는 다른 메모리블럭으로 할당된다. 이들의 각 블럭은 시스템 캐퍼빌리티 테이블에서 베이스/리미티 엔트리를 선택하는 액세스 코드와 오프세트(offset)값을 포함한다. 또한 이들 캐퍼빌리티 블럭은 그 베이스/리미트 어드레스가 시스템 캐퍼빌리티 테이블에 보존된 캐퍼빌리티들에 의하여 정하여진다.
따라서 여러 프로세스들이 공통된 기억영역에 액세스될 수 있으나 각각은 상이한 액세스 권리가 부여될 수 있다. 캐퍼빌리티는 지정된 데이타 구조가 설치될 수 있도록 한다. 각 프로세스는 적어도 하나의 캐퍼빌리티 블럭을 포함하고 이 프로세스에 대한 모든 다른 블럭으로 부터의 프로세스 캐퍼빌리티 블럭이 직접 액세스될 수 있거나 다른 캐퍼빌리티 블럭에 의하여 액세스될 수 있다. 이 구조에 대한 어떠한 시도된 위반은 고정처리 루우틴이 인터럽트 되게 한다.
캐퍼빌리티의 사용으로 제공된 보호는 모든 메모리와 입출력 장치를 병렬기억버스에 의하여 처리장치에 연결함으로서 주변장치의 동작에 까지 미치게 된다. 프로세스가 대응하는 기억버스 어드레스에 액세스 하는 캐퍼빌리티를 갖지 않는한 액세스가 이루어지지 않는다.
영국특허 제1,410,631호에 있어서, 캐퍼빌리티의 개념은 캐퍼빌리티 레지스터에 로우드 될 때에 트랩(trap)이 일어나는 "패시브(passive)" 캐퍼빌리티의 개념을 도입하므로서 할당가능한 주변장치와 보조 기억화일과 같은 다른 자원까지 확장되는 것이었다.
본 발명의 목적은 캐퍼빌리티의 적응성을 개량하여 캐퍼빌리티 레지스터가 결합된 데이타처리 시스템의 동작을 향상시킬 수 있도록 한 것이다.
본 발명에 따라서, 로우드 캐퍼빌리티 명령의 제어하에 시스템 캐퍼빌리티 테이블을 참조하는 캐퍼빌리티 포인터 블럭을 사용하여 베이스, 리미트 및 액세스정보가 로우드되는 캐퍼빌리티 레지스터를 포함하는 데이타처리장치가 제공되는 바, 그 특징은 범용 캐퍼빌리티 레지스터에 로우드 캐퍼빌리티 명령에 의하여 캐퍼빌리티 포인터가 로우드되는 포인터 레지스터가 구비되어 있고 각 범용 캐퍼빌리티 레지스터는 해당포인터 레지스터가 로우드될 때는 세트되는 "로우드 온 유즈(load on use)"인 디케이터를 포함하고, 데이타처리장치는 상기 캐퍼빌리티 레지스터에 베이스, 리미트 및 액세스정보를 자동적으로 로우드 하도록 구성되어 있다.
이러한 특징은 로우드 캐퍼빌리티 명령 자체가 매우 고속인 점을 의미한다. 비록 블럭 내의 정보, 예를 들어 이와 같은 경우 레지스터에서 레지스터로 또는 기억 장치에서 기억장치로 캐퍼빌리티 명령의 대부분을 나타내는 전송이 이루어지는 정보에 대하여 최초 참조가 이루어질 때까지 이 명령의 부가적인 작업이 지연된다 하더라도 최종적인 해결이 요구되지 않을뿐만 아니라 본 발명에 의하여 제공된 기술을 사용하여 수행되지 않는다.
또한 본 발명은 "전파허가"비트라는 개념을 캐퍼빌리티 포인터의 액세스코드에 도입한다. 이는 원시 포인터(source pointer)와 싱크 포인터(sink pointer)의 전파 허가비트가 세트되지 않는한 상기 포인트가 일측프로세스에서 타측 프로세스로 이동되는 것을 방지하도록 한다. 만약 전파허가 액세스비트가 한 포인트에서 세트되지 않으면 이 포인터는 프로세스 특유의 국부 세그먼트에만 기억되고 공통액세스 세그먼트에는 기억되지 않는다.
또한 본 발명은 액세스 축소의 개념을 로우드 캐퍼빌리티 명령에 도입하였다. 이는 캐퍼빌리티 포인터가 포인터에 로우드되도록 하고 연속하여 축소된 액세스 권리를 가지고 관련된 캐퍼빌리티 레지스터에 로우드될 수 있도록 한다. 이는 포인터가 로우드 될 때에 포인터의 선택된 액세스 비트를 마스크할 "로우드 캐퍼빌리티 마스크(load capability masked)" 명령에 의하여 수행된다.
본 발명을 첨부도면에 의거하여 보다 상세히 설명하면 다음과 같다.
제1도에서 모듈과 데이타처리 시스템을 (ⅰ) 다수의 처리장치 CPU1와 CPU2, (ⅱ) 다수의 기억모듈 STA, STB 및 STC와, (ⅲ) PE로 보인 바와 같이 집합적인 일군의 주변장치를 포함한다. 각 기억모듈과 각 주변장치에는 액세스장치 SAUA, SAUB, SAUC 및 PAUN이 구비되어 있다.
각 처리장치에는 별도의 통신로, 즉 버스가 구비되어 있다(각 처리장치 CPU1와 CPU2에 대하여 CB1 및 CB2). 각 버스는 모든 액세스장치(SAUA, SAUB, SAUC 및 PAUN)의 분리된 포트(port)에서 끝나 있다.
모든 액세스장치는 코드화된 어드레스 정보가 이들의 입력포트 상에서 끝나있는 버스에 인가될 때에 이을 통하여 분배되어 있으며 모든 어드레스 조작은 캐퍼빌리티 레지스터 보호시스템상에 기초를 둔다.
제2도에서 보인 각 처리장치 CPU는 A데이타 파일 ADF와 B데이타 파일 BDF를 포함하고 이들 각 파일은 A와 B캐퍼빌리티 레지스터 파일 ACF와 BCF와 함께 32개의 기억장소를 포함한다. 이 캐퍼빌리티 레지스터는 영국 특허명세서 제1,329,721호에 기술된 형태의 정보 보호장치를 제공하는데 사용된다. 데이타 파일 ADF와 BDF는 복제된 레지스터 장치를 제공하고 각각은 8개의 범용 레지스터를 포함한다.
레지스터의 종류
네 종류의 레지스터, 즉 데이타레지스터, 캐퍼빌리티포인터 레지스터, 캐퍼빌리티 레지스터와 인디케이터레지스터가 있다. 처음 3 종류의 레지스터는 범용레지스터이고 모든 프로금램에 직접 엑세스 가능한 것들이다. 나머지 하나는 특수목적 레지스터이고 특수 기능에 사용되며 적당한 캐퍼빌리티를 갖는 프로그램에만 엑세스 가능한 것이다. 완전한 레지스터 구조가 제3도 및 제4도에 도시되어 있다.
범용데이타 레지스터[D(0)-D(7)]
8개의 범용데이타 레지스터가 있으며, 각각은 24비트 길이이고 D(0)-D(7)으로 표시되어 있으며 모든 데이타 조작이 수행된다. 이들중 7개의 레지스터 D(1)-D(7)는 기억어드레스의 형성중에 어드레스 수정기로서 사용될 수도 있다. 레지스터 D(0)는 마스크 레지스터(Mask resister)이고 기억모듈에 대한 워어드(word)의 출입이 행하여질 때에 요구된 비트를 지정하는데 사용할 수 있다.
범용캐퍼빌리티[C(0)-C(7)]와 포인터[P(0)-(7)]레지스터
캐퍼빌리티 포이터는 P(0)-P(7)로 표시된 8개의 범용 캐퍼빌리티 포인터 레지스터에 로우드된다. 이들 캐퍼빌리티 포인터 레지스터 중의 하나가 어드레스 구성에 지정될 때에 해당 캐퍼빌리티 레지스터 C(0)-C(7)는 만액 이것이 사전에 행하여지지 않았다면 로우드될 것이다. 캐퍼빌리티 레지스터가 로우드될 때에 이는 기억블럭에 대한 베이스 어드레스, 리미트 어드레스와 액세스권을 포함할 것이다.
캐퍼빌리티 레지스터 C(7)는 처리장치에 의하여 현재의 프로그램 블럭의 캐퍼빌리티를 수용도토록 사용되므로서 C(7)에 새로운 캐퍼빌리티를 로우드하는 어떠한 명령은 로우드된 캐퍼빌리티에 의하여 정의된 블럭으로 제어전송을 행하게 한다. 명령이 프로그램 블럭으로 부터 판독될 때마다 처리장치는 C(7)가 그1차 액세스 필드에 세트된 수행 데이타 비트(BXECUTE DAYA bit)를 갖는가 하는 점과 명령어드레스가 캐퍼빌리티의 베이스와 리미트 어드레스 사이에 있는가하는 점을 체크한다. 만약 캐퍼빌리티가 세트된 수행데이타 비트를 갖지 않는 C(7)에 로우드되는 경우 연속사용에 있어서 고장 인터럽트가 일어난다.
또한 만약 명령어드레스가 베이스와 리미트의 범위밖에 있는 경우에도 고장 인터럽트가 발생된다. 캐퍼빌리티(6)는 영역 캐퍼빌리티 포인터 블럭(Domain Capability pointer Block)을 참조토록 사용된다.
특수목적 데이타 레지스터
특수목적 데이타 레지스터는 다음과 같다.
1. 명령어드레스 레지스터(IAR)
이 레지스터는 범용 캐퍼빌리티 레지스터 C(7)에 의하여 지정된 프로그램 블럭 내에 현재 수행중인 명령의 절대 어드레스를 포함한다.
2. 감시 타이머 레지스터(WTR)
이 레지스터는 100μsec마다 감분된다. 만약 0에 이르면 고장 인터럽트가 일어난다. 따라서 각 프로세스가 수행되는 모든 시간이 측정된다.
3. 인터럽트 허용 레지스터(IR)
이 레지스터는 프로그램트랩이 허용될 때에 세트되는 단일비트, 비트 6을 포함한다.
4. 프로세스 덤프-스택 푸쉬다운 레지스터(DSPPR)
이 레지스터는 프로세스 덤프-스택의 커렌트 탑(current top)을 형성하는 절대 어드레스 포인터를 포함한다(즉, 이는 덤핑이 행하여지는 영역에서 최초 어를 지시한다).
5. 고장인디케이터 덤프 레지스터
최초 고장인터럽트에 이어 이 레지스터는 고장 인터럽트레지스터의 상태를 포함한다.
6. 레벨번호 레지스터(INR)와 국부 기억스택포인터 레지스터(LSPR)
이 레지스터의 두 부분으로 나누어져 있다. 최상위 8비트는 프로세스의 커렌트 링크 레벨번호를 포함한다. 이 레지스터의 최하위 16비트는 국부기억스택의 커렌트잡을 형성하는 상대어드레스 포인터[C(L)의 베이스에 대하여 상대적인]을 포함한다.(즉, 이는 합당될 수 있는 영역에서 제1어를 지시한다).
7. 국부 캐퍼빌리티카운트(LCCR)와 국부 기억클리어카운트 레지스터(LSCCH)
이 레지스터는 두 부분으로 나누어져 있다. 최상위 8 비트는 커렌트 링크 레벨에서 만들어진 국부 캐퍼빌리티수의 계산치를 포함한다. 이 레지스터의 최하위 16비트는 국부 기억카운트를 포함한다.
8. 데이타레지스터 D(A)와 D(B)
이들 레지스터는 처리장치에 의하여 사용되지 않으나 '내부 모우드'를 이용하여 데이터 명령에 의해 액세스될 수 있다.
특수목적 캐퍼빌리티 레지스터
제어정보에 액세스하도록 처리장치에 의하여 사용되는 8개의 특수목적 캐퍼빌리티 레지스터가 있다. 이들은 특별한 로우드명령이 없는한 '내부모우드'에서 어드레스 지정능력을 갖는 프로그램에 의하여 판독되고 변경할 수 있다.
1. 캐퍼빌리티 레지스터 C(D)
이 레지스터의 활동프로세스의 처리장치 덤프스택을 위한 베이스/리미트 어드레스와 액세스코드를 포함한다.
2. 캐퍼빌리티 레지스터 C(I)
이 레지스터는 그 제1어가 시간 간격 타이머값을 포함하는 기억블럭을 형성한다. 이는 경과된 절대시간을 측정하고 처리장치에 의하여 100μsec마다 감분된다. 0에 이르렀을 때에 정상 인터럽트가 일어난다.
3. 캐퍼빌리티 레지스터 C(C1)
이 레지스터는 시스템 캐퍼빌리티 테이블의 제1부분을 포함하는 기억블럭을 형성한다.
4. 캐퍼빌리티 레지스터 C(C2)
이 레지스터는 시스템 캐퍼빌리티 테이블의 제2부분을 포함하는 기억블럭을 형성한다.
5. 캐퍼빌리티 레지스터C(N)
이 레지스터는 그 제1어가 정상 인터럽트 프로세스에 대한 엔트리가 허용되는 캐퍼빌리티 포인터를 포함하는 기억블럭을 형성한다.
6. 캐퍼빌리티 레지스터
이 레지스터는 고장인터럽트를 취급시 처리장치에 의하여 사용되는 4개의 기억워어드 블럭을 형성한다.
베이어어의 취상위 12비트는 고장시켄스 중에 증분되고 나머지 레지스터는 파우어-업(power-up)에 이어서 처리장치에 의하여 프레세트된다.
7. 캐퍼빌리티 레지스터 C(L)
이 레지스터는 커렌트 프로세스의 국부기억스택을 위한 기억블럭을 형성한다.
8. 캐퍼빌리티 레지스터 C(P)
이 레지스터는 기억모듈에 액세스할 때에 프로그래머 인터페이스에 의하여 사용된다.
인디케이터 레지스터
4개의 인디케이터 레지스터가 있다. 즉 1차 인디케이터(PIR 제2도 및 제4도), (FIR, 레스트 레지스터 TR 및 이력레지스터 HR이 있다. 이들은 처리장치 내의 여러 생태를 나타낸다. 이들은 내부모우드에만 액세스할 수 있다.
테스트 레지스터(TR)
이 레지스터는 고장 검출기구를 테스트하기 위한 제어기능을 갖는다.
이력 레지스터(HR)
16개의 26비트 레지스터 군중에서 하나의 레지스터가 4비트 어드레스 카운터에 의하여 일시에 어드레스 지정이 가능하다. 이들은 고장조사로우틴시에 사용하기 위한 퍼스트-인(First-in)/퍼스트 아웃(first-out)의 순환열로 구성된다.
상기 레지스터를 제2도에서 도시된 비트 멀티플랙서 BM, 데이타 인 레지스터 MDIN, 메모리 어드레스 레지스터 MAR, 데이타 아웃 레지스터 MDOR 및 A와 B 캐퍼빌리티 체크비교기 ACC와 BCC 모두는 캐퍼빌리티 레지스터에서 정보를 처리하는 명령의 수행에 있어서 처리 장치의 동작을 참조하여 이후 상세히 설명될 것이다.
캐퍼빌리티 형식
캐퍼빌리티 포인터는 24비트값을 갖는다. 이는 캐퍼빌리티 형식, 액세스 및 동일성의 3가지 항목의 정보로 구성된다. 기본적인 형식과 액세스정보는 최상위 9 비트에 수용되는 반면에 캐퍼빌리티 동일성은 시스템 캐퍼빌리티 테이블의 기준에 대하여 최하위 15비트에 수용된다. 일반형식 분류는 형식식별비트 15와 23을 이용하여 시스템기억, 시스템 자원화 패시브 캐퍼빌리티를 식별한다. 주 액세스 필드는 비트 16-22이고 그 비트 22는 모든 캐퍼빌리티 형식에 대하여 공통이고 전파허가 비트로서 취급된다. 다른 6개의 주 액세스 비트의 해석은 캐퍼빌리티 형식에 따라서 좌우된다.
시스템 기억형식(식별 비트 23=1, 비트 15=0)은 시스템 캐퍼빌리티 테이블을 통하여 어드레스가 지정된 기억세그먼트를 위한 캐퍼빌리티를 의미한다. 시스템 캐퍼빌리티 테이블은 두 부분으로 나누어져 있으며 사용될 부분은 비트 14에 의하여 선택된다. 만약 이 비트가 0인 경우 C(C1)이 선택되고 그밖의 C(C2)가 사용된다.
시스템 캐퍼빌리티 테이블에 있어서 엔트리의 형식이 제5도에 도시되어 있다. 베이스 어드레스는 24비트이고 상부의 8비트는 모듈번호를 지정한다. 리미트 어드레스는 16비트이고 모듈번호에 연결되어 있다.
규정된 블럭은 "베이스"로 부터 "모듈번호/리미트" 까지의 범위에서 절대 기억어드레스를 갖는다. 합계검사어에 의하여 하드웨어가 패리티체크에 관계없이 베이스/리미트값을 유효하게 하는 방법이 제공된다.
합계검사=베이스+리미트, 9비트 우로 순환된다.
캐퍼빌리티 블럭 내 캐퍼빌리티 포인터의 형식이 제5도에 도시되어 있다. 오프세트는 14포인트이고, 테이블의 베이스어드레스에 대하여 시스템 캐퍼빌리티 테이블내 엔트리의 합계검사어르 표시한다.
액세스 필드(비트 16-22)는 다음과 같이 7비트이다.
1. 비트 22-전파허가비트
2. 비트 19-21-캐퍼빌리티 액세스 비트 판독, 기록 및 입력캐퍼빌리티
3. 비트 16-18-데이타 액세스 비트 판독, 기록 및 수행데이타
만약 비트가 "1"로 세프되는 경우 이는 상기 형태의 액세스를 수행하는 캐퍼빌리티를 가짐을 의미한다. 처리장치 내의 캐퍼빌리티 레지스터에 기억될 때의 베이스 어드레스는 제1워어드에 기억되고 주 액세스비트는 리미트 어드레스와 함께 제2워어드에 기억된다. 해당 캐퍼빌리티 포인터 레지스터는 기억장치로부터의 복사를 포함한다.
시스템 자원형식 RC(식별 비트 23=0,비트=0)는 시스템자원 캐퍼빌리티, 즉 시스템 자원형태 식별과 함께 암시된 입력액세스를 갖는 캐퍼빌리티를 식별한다. 이와 같은 경우 포인터의 비트 0-14는 SCT오프세트와 SCT셀렉터를 형성하고 시스템 캐퍼빌리티 테이블 엔트리는 시스템기억 캐퍼빌리티에 관한 것이다.
액세스 필드(비트 16-22)는 다음과 같다.
1. 비트 22-전파허가비트
2. 비트 16-22-자원형태필드(제로형은 허가되지 않음)
캐퍼빌리티 레지스터에 기억되었을 때에 이 캐퍼빌리티 형태는 제2워어드의 최대유효 8비트가 통상적으로 세트되는 기억엑세스를 갖는 것을 제외하고 시스템기억 캐퍼빌리티에 관한 것이다.
패시브형 PC(식별비트 23=1, 비트 15=1)는 시스템 기억을 식별하지 않는 하드웨어 캐퍼빌리티를 기술한다.
패시브 캐퍼빌리티는 하드웨어 확장으로 캐퍼빌리티 "형"을 확장하기 위한 잠재 능력을 제공한다. 현재에는 국부 기억패시브 캐퍼빌리티가 단 하나의 형만을 정의한다. 비트 14는 제로로 설정하므로서 모든 다른 것으로 부터 이 형의 패시브 캐퍼빌리티를 식별하는데 사용된다.
국부 기억패시비 캐퍼빌리티 PC(LS)는 이들 캐퍼빌리티 전파 액세스가 허용되지 않으므로 프로세스 국부기억 C(L) 내 기억의 서브-블럭을 식별한다, 오프세트 필드 비트 0-13는 커렌트 프로세스 덤프스택의 오프세트를 포함한다. 이 경우에 덤프스택 엔트리는 베이스와 리미트 엔트리가 프로세스 작업 스택베이스에 대한 것을 제외하고 SCT 엔프리와 유사한다. 캐퍼빌리티 레지스터 내에 기억되었을 때에 기억 서브-블럭의 절대베이스와 리미트는 포인터의 주요 액세스 비트와 함께 제1의 두 워어드 내에 수용되는 반면에 캐퍼빌리티 포인터 레지스터는 기억장치로 부터 포인터의 복사를 포함한다.
다른 패시브형을 위한 캐퍼빌리티의 제1두 워어드의 엔트리는 지정되지 않는다.
데이타 DV는 비트 22와 23이 제로인 때에 캐퍼빌리티 포인터 내에 기억된다. 캐퍼빌리티의 시스템자원형태를 사용치 않는 시스템을 위하여 이는 22비트 데이타값인 반면에 이 형을 이용한 시스템에 대하여 데이타 값은 16비트로 제한된다.
캐퍼빌리티 레지스터내에 스용된 정보를 처리하는 여러 명령의 수행에 있어서 제2도에서 보인 처리장치의 수행이 고려된다. 처리장치에 의하여 수행된 여러가지 동작은 도시되지 않았으나 본 발명의 기술 분야에 숙련된 자이면 용이하게 이해할 수 있는 마이크로-프로그램 제어장치에 의하여 제어되며, 이는 제6도-제9도의 흐름도로 정하여진 요구된 동작은 예를 들어 각 흐름도의 단계를 의하여 요구된 제어신호를 발하는 프로그램 된 판독 전용 메모리를 사용함을 이해할 수 있을 것이다. 다음의 설명에 있어서 CPU의 레지스터로 부터 레지스터로의 전송이 다양하게 행하여지는 바, 설명을 간단히 하기 위하여 기호 ":="가 사용되었다. 이 기호는 "-이 된다"라고 읽혀져야 하는 바, ALU:=MDIN은 연산장치(ALU)가 레지스터 MDIN 내의 데이타에 수용된 데이타를 허용하게 된다라고 해석되어야 한다.
최초의 명령은 "로우드 캐퍼빌리티(캐퍼빌리티를 로우드하라)"명령이고 이 명령의 흐름도가 제6도에 도시되어 있다.
로우드 캐퍼빌리티 명령
제6도의 최상단에 명령어 LCIW가 표시되어 있으며, 이는 제2도의 명령 레지스터 버퍼 IBL에 제공되며 마이크로프로그램 제어장치(도시하지 않았음)에 의하여 해독된다. 기능코드LC(x)는 캐퍼빌리티(X)가 M값에 의하여 지정된 범용 데이타레지스터의 내용으로 수정된 A값으로 정하여진 블럭 내 오프세트 어드레스에서 C(y)로 정하여진 블럭 내에 기억된 포인터에 의하여 정하여진 캐퍼빌리티로 로우드된다. 마이크로-프로그램 제어장치에 의한 명령어의 수리는 명령어가 명령레지스터 IREG로 입력된 후 로우드 캐퍼빌리티 명령 시켄스가 수행되도록 한다. 이후의 스텝은 마이크로-프로그램제어하에 자동적으로 수행된다.
스텝 LOSI-기억 어드레스의 형성
이 스텝에서, 명령에 내의 C(y)로 규정된 캐퍼빌리티 레지스터가 B스택 내에서 선택되고 베이스값이 캐퍼빌리티 멀티플랙서 CAP MUX를 지나 연산장치 ALU의 B 입력으로 보내어진다. 명령레지스터 ILEG로부터의 A값은 은명령멀테플랙서 IMUX를 지나 요구된 어드레스 수정이 없는(즉, M=O인) 연산장치 ALU의 "A"입력으로 보내어진다. 그리고 연산 장치는 가산연산을 행하고 그 결과가 기억 어드레스 레지스터 MAR로 보내어지며 기억판독조작이 요구될 것이다. 전형적으로 상기 시켄스는 다음과 같은 간단한 형태로 정의될 수 있다.
ALUb:=C(y)베이스 ALUa:=IREG(A값) ALU가산
MAR:=ALU 기억판독 ⓐMAR
스텝 LCS2-기억장치로 부터 포인터를 판독
이 스텝에서 스텝 LCS1에서 판독된 데이타는 제2도의 리드 BII에 의하여 제1도에서 CBI로 보인 바와 같은 처리장치버스를 지나 기억장치로 부터 입력리지스터 MDIN 에 보내어진다.
스텝 LSC3-포인터를 P(x)에 기록
이 스텝에서 A와 B파일 내에 있는 요구된 포인터 레지스터는 C(x)로 정하여진 값에 따라서 마이크로 프로그램 제어장치에 의하여 선택되고 MDIN 내의 데이타는 다음의 전형적인 시터스를 이용하여 이들 레지스터 내에 기록될 것이다.
ALUa:=MDIN AP(x):=ALU BP(x):=ALU
이 스텝중에 만약 로우드 캐퍼빌리티 명령코드가 액세스코드가 마스크되도록 요구함을 정의하는 경우 범용데이타 레지스터 D(0) 내의 마스크는 선택된 엑세스 비트를 마스크하는데 사용되고 로우드된 포인터의 액세스를 감소시킨다. 이 마스크는 "로우드 캐퍼빌리티 마스크" 명령의 수행전에 D(0)에 로우드 된다.
스텝 LCS4-C(x)를 LOAD ON USE에 세트
이 스텝에서 마이크로-프로그램 제어장치는 이후에 관련 블럭에 대한 참조가 요그될 때에 새롭게 로우드된 포인터레 지스터를 이요하여 캐퍼빌리티 레지스터의 연속된 로우딩을 위하여 캐퍼빌리티레지스터 C(X)에 로우드온 유즈인디케이터가 세트되도록 한다.
로우드 캐퍼빌리티 명령을 위한 동작이 완료되면 명령이 특별한 캐퍼빌리티 레지스터 C(X)를 선택하는 캐퍼빌리티 지정코드를 가질때까지 캐퍼빌리티 레지스터C(X)는 그"로우드온 유즈"인디케이터가 세트된 상태로 남아있도록 할 것이다. 이 세트된 상태에서 로우드온유즈 인디케이터의 탐지는 캐퍼빌리티의 리미트코드가 ACC 또는 BCC에 제공될때에 행하여질 것이며 로우드 세트신호 LSA 또는 LSB는 마이크로-프로그램 제어장치가 자동적으로 제8도에서 보인 시켄스를 실행토록할 것이다.
자동로우드 캐퍼빌리티 레지스터 시켄스
"로우드 온유즈"인디케이터가 세트된 상태에서 탐지될때에 스텝 CRLS1는 해당 포인터 P(x)가 레스트되는 위치로 입력된다.
스텝 CRLS1-P(x)D3-15=0인가
이 스텝에서 포인터의 액세스코드(그 로우드 온유즈 인디케이터가 세트된 캐퍼빌리티 레지스터가 결합된)가 포인터가 데이타값이 관한 것인가를 확인하도록 레스트된다. 만약 이러한 레스트가 행하여지는 경우 문제의 캐퍼빌리티 레지스터 [즉, C(X)]는 공백이 될것이며, 데이타값 포인터가 로우드온 유즈되지 않으므로 고장이 발생된다.
스텝 CRLS2-P(x)A=SSC
이 스텝에서 포인터 레지스터P(x)의 액세스코드는 비트 15가 제로이고 비트 23이 포인터가 시스템기억캐퍼빌리티에 관한 것임을 나타내는 것인가를 확인토록 레스트된다. 전형적으로 마이크로-프로그램 제어장치는 선택된 포인터 레지스터의 레지스터의 액세스코드를 직접 조사하거나 포인터의 내용이 선택되고 연산조건신호 ALU CS를 이용한 레스트를 위하여 연산장치 ALU를 통과한다.
만약 액세스코드가 시스템기억 캐퍼빌리티 이외의 것을 지정하는 경우 스텝 CRLS10 및 11이 수행된다. 만약 이것이 패시브 자원국부기억 캐퍼빌리티 또는 시스템자원 캐퍼빌리티인 경우 스텝 CRLS12, 13, 14 및 15가 수행된다. 만약 액세스코드가 시스템기억 캐퍼빌리티를 지정하는 경우 스텝 CRLS3-9가 캐퍼빌리티레지스터 C(X)에 베이스 리미트 및 형식코드값을 로우드하도록 수행될 것이다.
베이스와 리미트값은 기억블럭의 시스템 캐퍼빌리티테이블내에 수송된다.
시스템 캐퍼빌리티 테이블은 합계검사어 S. C, 베이스어 및 리미트어로 구성되는 3개워어드 엔트리(제7도 SCTE)를 포함한다. 베이스어는 지정블럭의 제1위치에 24비트 절대어드레스를 포함한다.
리미트어의 최하위 16비트는 리미트 오프세트를 포함하며 이와함께 베이스어의 최상의 8비트는 저정블록의 최종위치에 24비트절대 어드레스이다. 합계검사는 24비트의 검사어를 포함하며 리미트어의 최하위 16비트에 24비트 베이스어를 가산하여 얻어지며(오우버 플로우는 무시한다)그 결과를 9비트만큼 우로 순환되게하여 형성된다. 리미트어의 비트 23는 가베이지(GARBAGE)비트이고 비트 22는 프리센스(PRESENCE)비트이다.
시스템 캐퍼빌리티 테이블엔트리의 형식이 제7도에 도시되어 있다.
가베이지(GARBAGE)비트는 3개어 시스템 캐퍼빌리티테이블 엔트리를 판독할때에 리세트되는 것이 확인될때마나 처리장치에 의하여 세트된다. 프리센스(PRESENCE)비트가 세트될때에 3개어 시스템 캐퍼빌리티테이블 엔트라가 요구된 캐퍼빌리티 레지스터를 로우드하도록 사용되나 리세트될때에 앤트리가 "트랩(SRAPPED)"되고 처리장치는 엔트리를 해독하지 않는다.
스텝 CRLS3-SCT에 엑세스, S. C판독
이 스텝에서 요구된 시스템 캐퍼빌리티 테이블엔트리 SCTE의 합계검사값이 다음 마이크로-프로그램제어장치 시켄스를 이용한 처리장치에서 레지스터D(X)로 판독된다.
ALUa : =P(x)O값 ALUb : =C(c)베이스 ALU가산
MAR : =ALU 기억판독 ◎MAR MDIN : =BII
ALUa : =MDIN D(x) : =ALU
스텝 CRLS4-SCT 어드레스를 증분, 베이스를 판독
이 스텝에서 선택된 엔트리의 다음(즉, 베이스값)워어드가 다음시켄스를 이용하여 처리장치로 판독된다.
MAR : =MAR+1 기억판독 MDIN : =BII
ALUa : =MDIN AC(x) 베이스 : =ALU BC(x) 베이스 : =ALU
스텝 CRLS5-SCT 어드레스를 증분, 리미트를 판독
이 스텝에서 리미트값이 다음 시켄스를 이용하여 처리장치로 판독된다.
MAR : =MAR+1 기억판독 ◎MAR MDIN : BII
MLUa : =MDIN AC(x) 리미트 : =ALU BC(x) 리미트 : =ALU
스텝 CRLS6-C(x)리미트 22=0인가?
이 스텝에서 SCT 엔티리 리미트어의 프리센스비트(비트 22)가 베이스 및 리미트값에 의하여 정하여진 기억블럭이 기억모듈내에 있는가 또는 있지않는가를 확인하도록 레스트된다.
만약 비트 22가 리세트되는 경우 트랩(TRAP)이 보조기억 장치로부터 주기억장치로 블럭을 옮기도록 기억조작 루우틴에 입력되도록 시행된다.
스텝 CRLS7-S-C값을 검사
이 스텝에서, 범용레지스터D(x)의 하나에 스텝에서 판독된 합계검사값이 C(x)에 로우드된 값에 대하여 검사된다. 이 동작은 캐퍼빌리티 형식의 서두에서 이미 기술되었다.
스텝 CRLS-S. C OK인가?
스텝 CRLS7에서 수행된 계산결과가 이 스텝내에서 0에 대하여 검사되고 만약 제로가 아니면 C(x)로 로우드된 데이타가 합계검사 코드에 대하여 검사되지 않을때에 고장이 발생된다. 만약 캐퍼빌리티 레지스터가 정확히 로우드된 경우 스텝 CRLS9이 수행된다.
스텝 CRLS9-GB를 1로 세트
이 스텝에서 액세스된 시스템 캐퍼빌리티 테이블 엔트리내의 가베이지비트(리미트어의 비트 23)이 1의 상태에 세트된다. 다음시켄스가 마이크로-프로그램 제어장치의 지시에 따라서 수행된다.
기억판독 ◎MAR MDIN : =BII ALUa : =MDIN
비트 23을 1에 세트 기억기록 ◎MAR
상기 서켄스는 기억모듈로 수행되어 SCT 엔트리에 액세스하는 다른 처리장치가 없는 반면에 갸베이지비트가 수정된다.
이는 캐퍼빌리티 레지스터에 시스템기억 캐퍼빌리티를 로우드 하기위한 시켄스를 완료한다. 만약 로우드될 캐퍼빌리티가 자원캐퍼빌리티였다면 스텝 CRLS13, 14, 15, 7, 8 및 9가 수행된다. 이들 스텝사이와 로우드된 캐퍼빌리티레지스터의 다른점은 스텝 CRLS15에 "엔터(ENTER)"되도록 세트되는 것이다.
이와같이, 로우드 캐퍼빌리티 명령은 이 명령내에 지정된 캐퍼빌리티 레지스터가 캐퍼빌리치 포인터(액세스 코드 및 SCT 오프세트값)로 로우드되게하고 시스템 캐퍼빌리티테이블 엔트리는 이 레지스터가 먼저 이후에 사용될때에 지정된 캐퍼빌리티 레지스터로 로우드될 것이다. 지정된 캐퍼빌리티 레지스터는 캐퍼빌리티 포인터가 로우드될때에 "로우드 온유즈"로 세트된다. 이러한 방식은 레지스터가 실제로 사용될때가지 캐퍼빌리티 레지스터를 로우드업(load up)하도록 요구된 "타임패널티(time penalty)"를 지연시키는 로우드 캐퍼빌리티 명령에 의하여 소비된 시간을 감소시키는 값을 갖는다. 어떤 상황에 있어서는 로우드 캐퍼빌리티 명령만이 수행되어 캐퍼빌리티 포인터가 구조중의 캐퍼빌리티 블럭내에 기억될때에 "타임패널티"가 결코 일어나지 않는다. 제9도를 인용한 다음 설명은 캐퍼빌리티 포인터의 기억장치에서 수행된 동작에 관한 것이다.
기억캐퍼빌리티 명령
제9도의 상측부에서 명령어 SCIW가 이 명령을 위하여 도시되어 있다. 기능코드(SC)는 캐퍼빌리 티레지스터C(x)와 결합된 포인터 레지스터의 캐퍼빌리티 포인터가 코드로 지정된 수정레지스터의 내용에 의하여 수정된값 A에 의하여 정하여진 오프세트 어드레스에서 캐퍼빌리티 레지스터(Cy)의 세그먼트 기술자에 의하여 정하여진 기억블럭에 복사됨을 의미한다.
스텝 SCS1-P(x)A=SSC 또는 RC인가?
이 스텝에서, 기억될 캐퍼빌리티 포인터의 액세스코드는 이것이 (a)시스템기억 캐퍼빌리티(SSC)인가, 또는 (b) 시스템자원 캐퍼빌리티(RC)인가를 확인토록 체크된다.
만약 그렇지 않은경우 이는 국부기억 캐퍼빌리티인가를 확인토록 체크될 것이며, 이는 스텝 SCS8 및 9에서 수행된다. 이러한 동작은 P(x)로부터 연산장치로 포인터를 보내고 ALU CS 신호를 테스트하므로서 행하여진다.
스텝 SCS2-P(x)22=1?
이 스텝에서, 전파허가비트는 선택된 포인터가 복사되었는가(즉, 잔파되었는가)를 확인토록 레스트된다. 만약 이 비트가 제로인 경우 고정신호가 발생된다. 전형적으로 이 테스트는 연산장치 조건신호 CS를 이용하여 스텝 SCS1에서 수행되는 시간에 행하여진다.
스텝 SCS3-C(x)=LOU
이 스텝에서, "로우드 온 유즈"표시(LOU)는 명령어가 테스트되는 C(x)값에 의하여 정하여진 해당 캐퍼빌리티 레지스터에 수용된다. 이는 로우드 캐퍼빌리티 명령이 수행될때에 로우드온유즈 인디케이터가 세트되고 실제 캐퍼빌리티 레지스터가 "세그먼트"액세스를 위하여 상기 레지스터를 이용토록 요구될때에만 로우드됨을 의미한다. 만약 실제 캐퍼빌리티 레지스터 C(x)가 로우드되지 않으면 스텝 SCS5가 수행되는 반면에 LOU인디케이터가 리세트되면 스텝 SCS4가 수행될 것이다.
스텝 SCS4-P(x)를 기록하여 기억
이 스텝에서 다음 작동이 P(x)내 포인터를 명령어 SCIW에 의하여 정하여진 기억위치에 기록하도록 수행된다.
ALUa : =IREG(A값) ALUb : =C(y)베이스 ALU가산
MAR : =ALU P(x) : ALUa ALU : MDOR
MAR 어드레스에서 MDOR 기억기록
만약 "로우드 온유즈" 인티케이터가 세트되면 스텝 SCS5가 수행된다.
스텝 SCS5-리미트를판독
이 스텝에서 리미트값(SCT 엔트리의 제3어)이 시스템 캐퍼빌리티 테이블로부터 판독되어 이 엔트리를 위한 가베이지 비트가 스텝 SCS6에서 테스트될수 있다.
스텝 SCS6-GB=1인가?
이는 가베이지 비트가 엔트리의 액세스마다 세트됨을 의마한다. 이 비트는 더이상 사용되지 않는 세그먼트의 형성을 돕도록 사용된다.
전형적으로 이 시스템은 영국특허출원 제75-41139호에 기술된 방식의 기능을 갖는 "가베이지 콜렉션(garbage collection)" 구조물 포함한다. 만약 가베이지 비트가 세트되면(GB=1), SCT 엔트리의 기술자는 최근에 액세스된 것이며 스텝 SCS4이 캐퍼빌리티 포인터를 기억토록 수행될 수 있다. 그러나 GB=0이면 스텝 SCS7는 가베이지 비트가 세트되도록 수행된다(스텝 SCS4의 수행전에).
이와같이 기억캐퍼빌리티 명령은 명령수행시간을 보존하는 실제캐퍼빌리티가 로우드되지 않고 캐퍼빌리티 레지스터 타임패널티가 감소되지 않고 이동되는 것이다.

Claims (1)

  1. 로우드 캐퍼빌리티 레지스터의 명령의 스텝의 제어의 의하여 자원세그먼트에 대한 베이스, 리미트 및 액세스 정보가 로우드되는 캐퍼빌리티 레지스터를 갖는 처리장치 모듈을 포함하는 데이타처리 장치로서, 상기 명령은 모듈의 프로세스 수행에 특유한 캐퍼빌리티 포인터블럭을 조작아형 시스템의 모든 프로세스에 공통인 시스템 캐퍼빌리티 테이블을 참조하는 것에 있어서, 각 범용캐퍼빌리티 레지스터가 처리장치 모듈에서의 프로세스 수행을 위하여 캐퍼빌리티 포인터블럭으로부터 유도된 로우드 캐퍼빌리티 명령에 의하여캐퍼빌리티 포인티가 로우드되는 포인터 레지스터를 구비하고, 각 범용 캐퍼빌리티 레지스터는 해당 포인터 레지스터가 로우드될때에 세트되는 로우드온유즈 인디케이터를 포함하며, 처리장치 모듈은 상기 캐퍼빌리티 레지스터가 로우드온유즈 인디케이터가 세트되도록 사용될때에 캐퍼빌리티 레지스터에 베이스, 리미트 및 액세스 정보를 자동적으로 로우딩하기 위한 수단을 포함함을 특징으로 하는 데이타 처리장치.
KR1019800003775A 1979-09-29 1980-09-29 데이타 처리시스템 KR860000838B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB7933857A GB2059652B (en) 1979-09-29 1979-09-29 Memory protection system using capability registers
GB79-33857 1979-09-29

Publications (1)

Publication Number Publication Date
KR860000838B1 true KR860000838B1 (ko) 1986-07-02

Family

ID=10508177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019800003775A KR860000838B1 (ko) 1979-09-29 1980-09-29 데이타 처리시스템

Country Status (18)

Country Link
US (1) US4408274A (ko)
EP (1) EP0026590B1 (ko)
JP (1) JPS5657155A (ko)
KR (1) KR860000838B1 (ko)
AT (1) ATE3339T1 (ko)
AU (1) AU540594B2 (ko)
CA (1) CA1162655A (ko)
DE (1) DE3063150D1 (ko)
DK (1) DK409080A (ko)
ES (1) ES8106811A1 (ko)
GB (1) GB2059652B (ko)
HK (1) HK76884A (ko)
IE (1) IE50161B1 (ko)
NO (1) NO155830B (ko)
NZ (1) NZ195063A (ko)
PT (1) PT71825B (ko)
SG (1) SG43684G (ko)
ZA (1) ZA805537B (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4500952A (en) * 1980-05-23 1985-02-19 International Business Machines Corporation Mechanism for control of address translation by a program using a plurality of translation tables
US4528624A (en) * 1981-03-25 1985-07-09 International Business Machines Corporation Method and apparatus for allocating memory space based upon free space in diverse memory devices
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
GB8308149D0 (en) * 1983-03-24 1983-05-05 Int Computers Ltd Computer system
US4891749A (en) * 1983-03-28 1990-01-02 International Business Machines Corporation Multiprocessor storage serialization apparatus
JPS60110056A (ja) * 1983-10-31 1985-06-15 Nec Corp デ−タ処理システムにおけるメモリのアドレス生成を動的に変更する方法
JPH0782458B2 (ja) * 1985-09-06 1995-09-06 株式会社日立製作所 データ処理装置
US4800524A (en) * 1985-12-20 1989-01-24 Analog Devices, Inc. Modulo address generator
US4831517A (en) * 1986-10-10 1989-05-16 International Business Machines Corporation Branch and return on address instruction and methods and apparatus for implementing same in a digital data processing system
US5175828A (en) * 1989-02-13 1992-12-29 Hewlett-Packard Company Method and apparatus for dynamically linking subprogram to main program using tabled procedure name comparison
US4941175A (en) * 1989-02-24 1990-07-10 International Business Machines Corporation Tamper-resistant method for authorizing access to data between a host and a predetermined number of attached workstations
US5075842A (en) * 1989-12-22 1991-12-24 Intel Corporation Disabling tag bit recognition and allowing privileged operations to occur in an object-oriented memory protection mechanism
EP0555382B1 (en) * 1990-11-02 1996-03-27 Analog Devices, Inc. Address generator for circular buffer
US5623621A (en) * 1990-11-02 1997-04-22 Analog Devices, Inc. Apparatus for generating target addresses within a circular buffer including a register for storing position and size of the circular buffer
IE910553A1 (en) * 1991-02-19 1992-08-26 Tolsys Ltd Improvements in and relating to stable memory circuits
ES2128393T3 (es) 1992-05-15 1999-05-16 Addison M Fischer Metodo y aparato para sistemas de ordenador con estructuras de datos de informacion para programas de autorizacion.
US5412717A (en) * 1992-05-15 1995-05-02 Fischer; Addison M. Computer system security method and apparatus having program authorization information data structures
US5467473A (en) * 1993-01-08 1995-11-14 International Business Machines Corporation Out of order instruction load and store comparison
US5513337A (en) * 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
US5845331A (en) * 1994-09-28 1998-12-01 Massachusetts Institute Of Technology Memory system including guarded pointers
US6104873A (en) * 1998-02-03 2000-08-15 International Business Machines Corporation Use of language instructions and functions across multiple processing sub-environments
US5995752A (en) * 1998-02-03 1999-11-30 International Business Machines Corporation Use of language instructions and functions across multiple processing sub-environments
US6976158B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Repeat instruction with interrupt
US6985986B2 (en) 2001-06-01 2006-01-10 Microchip Technology Incorporated Variable cycle interrupt disabling
US6934728B2 (en) 2001-06-01 2005-08-23 Microchip Technology Incorporated Euclidean distance instructions
US6975679B2 (en) 2001-06-01 2005-12-13 Microchip Technology Incorporated Configuration fuses for setting PWM options
US6952711B2 (en) 2001-06-01 2005-10-04 Microchip Technology Incorporated Maximally negative signed fractional number multiplication
US7003543B2 (en) 2001-06-01 2006-02-21 Microchip Technology Incorporated Sticky z bit
US7007172B2 (en) 2001-06-01 2006-02-28 Microchip Technology Incorporated Modified Harvard architecture processor having data memory space mapped to program memory space with erroneous execution protection
US6937084B2 (en) 2001-06-01 2005-08-30 Microchip Technology Incorporated Processor with dual-deadtime pulse width modulation generator
US7020788B2 (en) 2001-06-01 2006-03-28 Microchip Technology Incorporated Reduced power option
US7467178B2 (en) 2001-06-01 2008-12-16 Microchip Technology Incorporated Dual mode arithmetic saturation processing
US20020184566A1 (en) 2001-06-01 2002-12-05 Michael Catherwood Register pointer trap
US7953773B2 (en) * 2005-07-15 2011-05-31 Oracle International Corporation System and method for deterministic garbage collection in a virtual machine environment
US8364910B2 (en) * 2007-03-08 2013-01-29 Daniel Shawcross Wilkerson Hard object: hardware protection for software objects
US9934166B2 (en) 2010-12-10 2018-04-03 Daniel Shawcross Wilkerson Hard object: constraining control flow and providing lightweight kernel crossings
US9569612B2 (en) 2013-03-14 2017-02-14 Daniel Shawcross Wilkerson Hard object: lightweight hardware enforcement of encapsulation, unforgeability, and transactionality
GB2564130B (en) 2017-07-04 2020-10-07 Advanced Risc Mach Ltd An apparatus and method for controlling execution of instructions
US10642752B2 (en) * 2017-07-28 2020-05-05 Intel Corporation Auxiliary processor resources
GB2592069B (en) * 2020-02-17 2022-04-27 Advanced Risc Mach Ltd Address calculating instruction

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1329721A (en) * 1970-05-26 1973-09-12 Plessey Co Ltd Data processing devices
JPS5040738B1 (ko) * 1970-06-11 1975-12-26
GB1344474A (en) * 1971-03-04 1974-01-23 Plessey Co Ltd Fault detection and handling arrangements for use in data proces sing systems
GB1410631A (en) * 1972-01-26 1975-10-22 Plessey Co Ltd Data processing system interrupt arrangements
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
GB1548401A (en) * 1975-10-08 1979-07-11 Plessey Co Ltd Data processing memory space allocation and deallocation arrangements
US4104721A (en) * 1976-12-30 1978-08-01 International Business Machines Corporation Hierarchical security mechanism for dynamically assigning security levels to object programs
DE2837241C2 (de) * 1978-08-25 1982-05-06 Siemens AG, 1000 Berlin und 8000 München Einrichtung zum Sichern von Daten gegen unberechtigten Zugriff

Also Published As

Publication number Publication date
CA1162655A (en) 1984-02-21
GB2059652B (en) 1983-08-24
JPS5657155A (en) 1981-05-19
NZ195063A (en) 1984-09-28
NO155830B (no) 1987-02-23
IE802026L (en) 1981-03-29
PT71825A (en) 1980-10-01
ES495454A0 (es) 1981-09-01
EP0026590B1 (en) 1983-05-11
US4408274A (en) 1983-10-04
EP0026590A2 (en) 1981-04-08
ES8106811A1 (es) 1981-09-01
AU6215480A (en) 1981-05-21
HK76884A (en) 1984-10-19
IE50161B1 (en) 1986-02-19
SG43684G (en) 1985-09-13
ATE3339T1 (de) 1983-05-15
ZA805537B (en) 1981-09-30
DE3063150D1 (en) 1983-06-16
DK409080A (da) 1981-03-30
GB2059652A (en) 1981-04-23
EP0026590A3 (en) 1981-08-05
NO802760L (no) 1981-03-30
PT71825B (en) 1981-06-30
AU540594B2 (en) 1984-11-29

Similar Documents

Publication Publication Date Title
KR860000838B1 (ko) 데이타 처리시스템
US4486831A (en) Multi-programming data processing system process suspension
US5043878A (en) System with real-time checking of privilege levels and the system's state to allow access to internal resources of the system
KR940003325B1 (ko) 가상 입력/출력 지령의 변환장치 및 방법
US5335334A (en) Data processing apparatus having a real memory region with a corresponding fixed memory protection key value and method for allocating memories therefor
US4434464A (en) Memory protection system for effecting alteration of protection information without intervention of control program
US7467271B2 (en) Operating system permitting limited access to a system page
JPS6022377B2 (ja) アドレス制御方式
US4866599A (en) Call instruction, return instruction and trap procedure for ring crossing architecture
EP0472487A2 (en) Apparatus and method for controlling access to data using domains
EP0327707A2 (en) Nonhierarchical program authorization mechanism
JPS6248258B2 (ko)
US4383297A (en) Data processing system including internal register addressing arrangements
AU592349B2 (en) Call instruction for ring crossing architecture
US4991083A (en) Method and system for extending address space for vector processing
JPS6257044A (ja) データ処理装置
EP0297891B1 (en) Apparatus and method for main memory unit protection using access and fault logic signals
GB1585960A (en) Information flow security mechanisms for data processing systems
KR910002557B1 (ko) 기억보호장치
JP2533931B2 (ja) 動的割当て領域のデ―タ内容保護方式
JPH03113548A (ja) 拡張メモリ制御装置
JPH059815B2 (ko)
JPH0412861B2 (ko)
JPH0471050A (ja) スタック領域保護回路
JPS58139396A (ja) メモリ保護方法

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right