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

데이타 처리 시스템 Download PDF

Info

Publication number
KR850000622B1
KR850000622B1 KR1019800003776A KR800003776A KR850000622B1 KR 850000622 B1 KR850000622 B1 KR 850000622B1 KR 1019800003776 A KR1019800003776 A KR 1019800003776A KR 800003776 A KR800003776 A KR 800003776A KR 850000622 B1 KR850000622 B1 KR 850000622B1
Authority
KR
South Korea
Prior art keywords
address
register
bit
capability
data
Prior art date
Application number
KR1019800003776A
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 KR850000622B1 publication Critical patent/KR850000622B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/3013Organisation of register space, e.g. banked or distributed register file according to data content, e.g. floating-point registers, address registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Abstract

내용 없음.

Description

데이타 처리 시스템
제1도는 본 발명의 전형적인 데이타 처리 시스템을 구성하는 블럭다이아그램.
제2도는 본 발명에 적합한 처리장치를 구성하는 블럭다이아그램.
제3도는 본 발명에 사용될 버스 인터페이스 유니트를 구성하는 블럭다이아그램.
제4도는 CPU내에 있는 특수목적 데이타와 캐퍼빌리티레지스터.
제5도는 전형적 내부모드 어드레스 비트할당을 도표형식으로 보여주는 도면.
제6도는 내부 레지스터의 로우딩을 수행하는 작동형태를 보인 흐름도.
본 발명은 데이타처리시스템에 관한 것으로, 특히 이러한 시스템의 중앙처리장치(CPU)에 있어서 내부레지스터의 어드레스에 관한 것이다.
영국특허 제1,394,431호에 있어서는 각 CPU가 포괄적인 단일 어드레스시스템을 이용한 기억위치와 주변장치에 수용된 정보에 액세스할 수 있는 각각의 버스를 구비하는 멀티프로세서시스템이 기술되어 있다. 이러한 구성에 있어서는 각 어드레스가 모듈(즉, 기억 모듈 또는 주변장치)을 지정하는 모듈번호 및 모듈내의 요구된 위치를 정하는데 이용되는 오프세트 어드레스로 구성된다.
본 발명의 목적은 어드레스 시스템을 확장하여 통상 어드레스 명령을 이용하므로서 내부 레지스터에 액서스할 수 있도록 하는데 그 목적이 있다.
본 발명에 따라서 제공된 데이타처리 시스템은 하나 이상의 처리장치, 다수의 기억모듈 및 다수의 주변장치를 포함하는 형태이고, 각 기억모듈과 각 주변장치를 구비하며, 각 처리장치는 각 액세스장치의 각포트에 연결된 그 자신의 독특한 데이타 통신로를 구비하고, 각 액세스장치는 주변장치의 시스템 동일성으로 조건이 주어지고, 각 액세스장치는 동일 어드레스 식별장치를 포함하고 처리장치는 주변장치로 액세스하거나 기억모듈위치 선정이 그 자신의 통신로에 연장된 처리장치에 의하여 수행되고, 어드레스는 적어도 두 필드로 구성되며, 제1필드는 요구된 기억모듈 또는 주변장치의 시스템 동일성을 정하고 제2필드는 요구된 기억모듈 또는 주변장치내에서 위치를 정하며, 각 처리장치는 처리장치의 시스템 동일성으로 조건부가 주어진 버스인터페이스 장치를 포함하고, 버스인터페이스 장치는 처리장치의 시스템동일성을 정하는 필드를 포함한 어드레스의 존재에 따라 활동되는 동일어드레스 식별기구를 포함하며, 상기 어드레스의 나머지부분은 처리장치의 내부 레지스터중의 하나를 선택토록 사용된다.
또한 본 발명 특징에 따른 나머지 어드레스는 선택된 내부레지스터의 비트 패턴(bit pattern) 또는 단일 비트를 선택하는데 이용된다. 이러한 구성으로 처리장치의 내부 레지스터는 특수 목적 명령대신에 내부레지스터에 액세스하도록 LOAD, STORE 및 MOVE와 같은 범용 기계명령어의 사용이 기억모듈의 위치에서 동일한 방법으로 액세스된다.
이러한 구성은 보호장치가 처리장치의 내부 레지스터에 수용된 정보를 보호하도록 확장될 수 있으므로 데이타처리 시스템이 정보보호시스템(예를들어 소위 캐퍼빌리티 레지스터를 이용한)과 결합될 때에 특히 중요하다.
본 발명을 첨부도면에 의거하여 보다 상세히 설명하면 다음과 같다.
제1도는 모듈러 데이타처리장치를 보인 것으로, 이는 (i) 다수의 처리장치 CPU1 및 CPU2, (ii) 다수의 기억모듈 STA, STB 및 STC와, (iii) 일련의 주변장치(PE)로 구성된다. 각 기억 모듈과 주변장치에는 액세스장치 SAUA, SAUB, SAUC 및 PAUN이 구비되어 있다. 각 처리장치에는 별도의 통신로, 즉 버스(처리장치 CPU1 및 CPU2에 대하여 CB1 및 CB2)가 구비되어 있다. 각 버스는 모든 액세스장치(SAUA, SAUB, SAUB, SAUC 및 PAUN)의 별도의 포트에서 끝나 있다. 모든 액세스장치는 입력포트에서 끝난버스에 가하여지는 코드화된 어드레스정보의 식별기능을 갖는다.
제2도에서, 각 처리장치 CPU는 A데이타 파일 ADF와 B 데이타 파일 BDF를 포함하고 이들 각각은 32개의 기억위치와, A와 B 캐퍼빌리티 레지스터 파일 ACF와 BCF를 포함한다. 이 캐퍼빌리티 레지스터는 영국 특허명세서 제1,329721호에 기술된 형태의 정보보호 기능을 갖도록 사용된다.
데이타파일 ADF와 BDF는 이중레지스터 구성을 제공하며 이들 각각은 D(0)-D(7)로 표시되는 8개의 범용 데이타 레지스터를 포함하고 여기에서 모든 데이타처리가 수행되며, 제4도에서 보인 바와 같이 내부모드에 액세스 가능한 다수의 특수목적 데이타 레지스터가 제공된다. 캐퍼빌리티 레지스터 파일ACF와 BCF은 이중 레지스터 구성을 제공하고 이들 각각은 다수의 범용 캐퍼빌리티 레지스터와 다수의 특수목적 캐퍼빌리티 레지스터를 포함한다.
C(0)-C(7)로 표시된 범용 캐퍼빌리티 레지스터는 베이스 어드레스, 리미트 어드레스와 기억장치의한 기억블럭 또는 일련의 주변장치 레지스터를 나타내는 액세스권 코오드로 구성된 기술자(記述子)에 의하여 로우드된다. 캐퍼빌리티 레지스터 파일 ACF와 BCF는 베이스부(ACB와 BCB) 및 액세스/리미트부(ACA/L 및 BCA/L)로 구분된다. 특수목적 캐퍼빌리티 레지스터는 내부모드에 어드레스 지정 캐퍼빌리티를 갖는 프로그램에 의하여서만 판독되고 변경된다.
[특수목적 데이타 레지스터]
특수목적 데이타 레지스터는 다음과 같다. 이미 언급된 바와 같이 이들은 '내부모드'에 액세스될 수 있다.
1. 명령어드레스레지스터(IAR)
이 레지스터는 범용캐퍼빌리티레지스터 C(7)로 지정된 프로그램블럭내에 현재 명령의 절대어드레스를 포함한다. 이는 CALL, RETURN 및 LOAD CAPABILITY C(7) 명령에 의하여 갱신되고 CHANGE PROCESS(프로세스변경) 명령에 의하여 변경된다.
2. 감시 타이머 레지스터(WTR)
이 레지스터는 CHANGE PROCESS 명령으로 변경되고, 종전의 값이 중단된 프로세스의 프로세스덤프-스택에 보존되며, 새로운 값이 실행중에 있는 프로세스의 프로세스덤프-스택으로부터 로우드된다. 이는 100μsec마다 감분된다. 만약 이것이 제로에 이르면 고장인터럽트의 원인이 된다. 따라서 이는 각 프로세스가 실행되는 전체 시간을 측정한다.
3. 인터럽트허용레지스터(IR)
이 레지스터는 단일비트, 비트 6을 포함하고 프로그램트랩이 허용될 때에 세트된다.
4. 프로세스 덤프-스택 푸쉬다운 레지스터(PDSPR)
이 레지스터는 프로세스 덤프-스택의 커렌트 탑(current top)을 정하는 절대 어드레스 포인터를 포함한다(즉, 이는 덤핑유효영역에서 제1워어드를 지시한다). 이는 CALL RETURN 명령에 의하여 갱신되고 CHANGE PROCESS 명령에 의하여 변경된다.
5. 고장인디케이터 덤프레지스터(FIDR)
최초 고장인터럽트에 이어 이 레지스터는 고장인 디케이터 레지스터의 상태를 기억한다.
6. 레벨번호 레지스터(LNR)
이 레지스터는 두 부분으로 나누어져 있다. 최상위 8비트는 프로세스의 커렌트 링크 레벨번호를 포함한다. 이는 CALL 및 RETURN 명령에 의하여 갱신되고 CHANGE PROCESS 명령으로 변경된다. 레지스터의 최하위 16비트는 상대 어드레스 포인터를 포함한다.
7. 국부 캐퍼빌리티 카우트와 국부기억장치 클리어카운트 레지스터(LCCR)
이 레지스터는 두 부분으로 나누어져 있다. 최상위 8비트는 커렌트 링크 레벨에서 생성된 국부캐퍼빌리티번호의 카운트를 포함한다. 이 레지스터의 최하위 16비트는 국부기억장치 클리어카운트를 포함한다.
8. 데이타 레지스터 D(A) D(B)
이들 레지스터는 어떠한 프로세서의 기능으로도 사용되지 않고 '내부모드'를 이용한 데이타 명령에 의하여서만 액세스될 수 있다. 모든 특수목적 데이타레지스터는 인터럼트 허용 레지스터를 제외하고 24 비트길이이다. 이들 모두는 '내부모드'를 이용한 데이타 명령에 의하여 액세스 될수 있고 또한 특수 명령에 의하여 액세스된다.
[특수목적 캐퍼빌리티 레지스터]
8개의 특수목적 캐퍼빌리티 레지스터가 있으며 프로세서에 의하여 제어정보에 액세스하도록 사용된다. 이들은 특수로오드정보가 제공되지 않으므로 '내부모드'의 어드레스지정 캐퍼빌리티를 갖는 프로그램에 의하여 판독되고 갱신된다.
1. 캐퍼빌리티 레지스터 C (D)
이 레지스터는 활동프로세스의 프로세서 덤프-스택을 위한 베이스/리미트 어드레스와 액세스코드를 포함한다. 이는 CHANGE PROCESS 명령에 의하여 변경된다.
2.캐퍼빌리티 레지스터 C (I)
이 레지스터는 기억블럭을 정하고 그 최초워어드는 인터벌 타이머값을 갖는다. 이는경 과된 절대시간을 측정하고 프로세서에 의하여 100μsec 마다 감분된다. 제로에 이르면 정상인터럼트가 일어난다.
3. 캐퍼빌리티 레지스터 C (C 1)
이 레지스터는 시스템 캐퍼빌리티 테이블의 최소부분을 포함하는 기억블럭을 정한다.
4. 캐퍼빌리티 레지스터 C (C 2)
이 레지스터는 시스템 캐퍼빌리티 테이블의 제2부분을 갖는 기억블럭을 정한다.
5. 캐퍼빌리티 레지스터 C(N)
이 레지스터는 기억블럭을 정하고 그 최초 워어드는 정상인터럽트 프로세스에 대한 엔트리를 허용하는 캐퍼빌리티 포인터를 갖는다.
6. 캐퍼빌리티 레지스터 C(S)
이 레지스터는 고장인터럽트를 처리할 때에 프로세스에 의하여 사용되는 4개의 워어드 기억블럭을 정한다. 베이스 워어드의 12 최상위 비트는 고장시켄스중에 증분된다. 나머지 레지스터는 파우어-업(power-up)후 프로세스에 의하여 프리세트된다.
7. 캐퍼빌리티 레지스터 C(L)
이 레지스터는 커렌트 프로세스의 국부기억스택을 위한 기억블럭을 정한다. 이는 CHANGE PROCESS 명령에 의하여 변경된다.
8. 캐퍼빌리티 레지스터 C(P)
이 레지스터는 기억블럭에 액세스할 때에 프로그래머 인터페이스에 의하여 이용된다.
[인디케이터레지스터]
네개의 인디케이터레지스터, 즉 기본인디케이터레지스터(PIR 제2도 및 제4도), 고장인디케이터레지스터 FIR, 테스트 레지스터 TR, 그리고 이력칼 레지스터 HR이 있다. 이들은 프로세스의 여러조건을 표시하고 내부모드에만 액세스 가능한 것이다. 기본인디케이터레지스터의 내용은 CHANGE PROCESS 명령에 의하여 변경되고, 종전의 값이 일시 정지된 프로세스의 프로세스 덤프-스택에 보존되고 새로운 값이 활동프로세스의 프로세스 덤프-스택에 로우드된다.
[기본인디케이터 레지스터(PIR)]
이 기본인디케이터는 8비트 길이이다. 비트 0-2는 연산표시기이고, EQUAL TO ZERO(제로와 같음)(비트 0) LESS THAN ZERO(제로보다 작음)(비트 1), OVERFLOW(오우버플로우)(비트 2)를 나타낸다. 이들은 과반수 명령으로 세트되거나 클리어된다. 비트 4와 5는 제어인디케이터이다.
데이타 패리티 인디케이터(DATA PARITY INDICATOR)(비트 6)는 이를 세트하는 기억모드명령에 의하여 병렬버스로부터 판독된 최종 데이타어의 패리티 비트와 동일하게 세트된다. 비트 7은 제1시행인디케이터(FIRST ATTEMPT Indicator)이다. 이는 고장인터럽트에 의하여 세트되고 연속된 고장에 대한 프로세스의 응답을 제어한다. 비트 8은 인터럽트금지 인디케이터(INHIBTT INTERRUPTS Indicator)이다. 이는 세트될때에 일어나는 타이머 인터럽트를 금지한다.
[고장인디케이터 레지스터(FIR)]
이 고장인디케이터 레지스터는 24비트의 길이이다. 어느 비트는 내부모드 액세스에 의하여 세트될 수 있고 어느 비트는 클리어될 수 있다. 하기 사건으로 세트될 때에는 인터페이스 고장금지(INTERFACE FAULTS INHIBIT)가 기본인디케이터 레지스터에 세트될 때 프로세스/기억장치인터페이스 고장을 제외하고는 고장인터럽트가 일어난다. 비트 0, 5, 9-11 및 14는 프로세스/기억장치 고장을 나타낸다.
1. 버스커럽트(BUS CORRUPT)(비트 0)는 병렬버스로부터의 입력라인이 기억액세스후 400μsec 이내에 논리 "0"으로 복귀되지 않는 경우 세트된다. 이 비트는 인터페이스 고장금지가 세트될 때에만 세트된다. 즉 이는 인터럽트되지 않는다.
2. 슬레이브 타임아웃(SLAVE TIMEOUT)(비트 5)는 기억모듈이 어드레스 또는 데이타가 기억장치 액세스중 모듈에 의하여 허용되지 않음을 알게 될때에 세트된다.
3. 기억장치인터페이스 타임아웃(STORE INTERFACE TIMEOUT)(비트 9)는 기억모듈이 50μsec내에 응답치 않는 경우 세트된다.
4. 패리티비교고장(PARITY COMPARISON FAULT)(비트 10)은 순방향 워어드(즉, '어드레스' 또는 '어드레사/데이타'의 기억모듈에 의하여 발생되고 CPU에 복귀된 패리티가 프로세서에 의하여 발생된 것과 동일하지 않을 때에 세트된다.
5. 판독데이타 패리티고장(READ DATA PARITY FAULT)(비트 11)은 기억모듈로부터 판독된 '데이타/어드레스' 패리티가 기억모듈로부터 어드레스와 데이타의 프로세스에서 발생된 것과 동일하지 않을 때에 세트된다.
6. 제어코드무효(INVALID CONTROL CODE)(비트 14)는 기억모듈이 CPU/기억모듈 전송중에 무효제어코드를 수신하였을 때에 세트된다. 비트 2는 인터럽트 타임아웃 인디케이터이다. 이는 인터럽트 혀용레지스터가 제로로 감분된 인터벌 타이머 워어드에 이어 300ms 동안 액세스되지 않거나 이 상태가 고장인터럽트후 30ms 동안 일어나지 않는 경우 세트된다.
비트 6-8 및 18은 캐퍼빌리티 고장을 나티낸다.
1. 캐퍼빌리티 비교고장(CAPABILITY COMPARISON FAULT)(비트 6)는 실행 액세스에 의하여 사용된 이중베이스어드레스, 리미트 어드레스 또는 캐퍼빌리티 레지스터내의 액세코드가 동일하지 않은 것으로 판명되었을 때에 세트된다.
2. 캐퍼빌리티 합계검사고장(CAPABILITY SUMCHECK FAULT)(비트 7)은 캐퍼빌리티 레지스터가 로우드될 때에 9비트만큼 좌로 순환된 합계검사어가 베이스와 리미트값의 합계와 같지 않은 경우 세트된다.
3. 캐퍼빌리티 베이스/리미트 바이올레이션(CAPABILITY BASE/LIMIT VIOLATION)(비트 8)은 어드레스가 사용된 캐퍼빌리티의 베이스와 리미트에 의하여 지정된 범위밖에 있음이 판명될 때에 세트된다.
4. 액세스 필드 바이올레이션(ACCESS FIELD VIOLATION)(비트 8)은 전송이 잘못된 경우(예를들어 캐퍼빌리티가 액세스코드에 세트된 기록데이타를 갖지 않는 블럭에 대하여 데이타기억동작을 시도하는 경우) 세트된다.
5. 캐퍼빌리티 포인터 고장(CAPABILITY POINTER FAULT)(비트 1) T. B. D.
비트 12는 동작무효(INVALID OPERATION)인디케이터이다. 이는 동작무효가 있는 경우 언제든지 세트된다. 이들은 제3부에서 상세히 기술되어 있다.
비트 13는 전원이상(POWER FAILURF)인디케이터이다. 이는 전원이 초과되는 경우 세트된다. 비트 15는 트랩고장(TRAP FAULT)인디케이터이다. 이는 인터럽트금지(INHIBIT INTERRUPIT)가 세트되는 동안 프로그램 트랩이 일어나는 경우 세트된다.
비트 16과 19는 하드웨어 고장을 표시한다. 하드웨어고장 1과 하드웨어고장 2는 내부 하드웨어 체크가 실패한 경우 세트된다. 이들은 캐퍼빌리티 조작과 기억모듈의 액세스에 관련된 이들 회로의 동작을 체그하므로서 캐퍼빌리티 구조를 침해하는 하드웨어의 개연성을 최소화한다.
비트 17은 감시 타이머 제로(WATCHDOG TIMER ZERO) 인디케이터이다. 이는 감시 타이머 레지스터가 제로에 이르는 경우 세트된다. 비트 20-23는 고장 또는 트랩이 일어날때에 사용된 캐퍼빌리티 레지스터의 8진 어드레스에 대하여 세트된다. 비트 3과 4는 "내부모드"를 이용한 데이타명령에 의하여서만 세트/리세트될 수 있다.
[테스트레지스터(TR)]
이 레지스터는 고장검출기구를 시험하기 위한 제어장치를 포함한다.
[이력레지스터(HR)]
4비트 어드레스 카운터에 의하여 일련의 16×26 비트 레지스터중의 한 레지스터가 일시에 어드레스 될 수 있다. 이들은 퍼스트-인(First-In)/퍼스트-아웃/(First-Out) 순환열을 구성한다.
상기 레지스터의 사용과 함께, 비트멀티플랙서 BM, 연산장치 ALU, 명령레지스터 IREG, 메모리 어드레스 레지스터 MAR, 데이타 인레지스터 MDIN 및 데이타 아웃레지스터 MDOR, 그리고 A 및 B 캐퍼빌리티 검사비교기 ACC 및 BCC 모두가 제2도에 도시되어 있으며 소위 내부모드에 있어서 프로세스의 동작을 참조하여 이후 상세히 설명될 것이다.
[내부모드 동작의 개요]
프로세스 내부의 레지스터는 프로세서 버스인터페이스 BIF로 프로그램된 모듈 어드레스로 할당된다(제3도).
이 모듈 어드레스가 어드레스 구성내에 지정되어 있을 때에 버스인터페이스 유니트의 프로세서내부모듈은 어드레스를 식별하고 나머지 어드레스어가 내부 레지스터의 하나에 액세스 되도록 사용된다. 이와같이 하므로서 내부 레지스터는 주기억장치내 위치의 액세스에 동일한 방법으로 액세스되고 이들은 범용명령세트를 사용한다.
주기억장치내 한 위치로의 액세스는 주기억모듈을 지정하는 모듈어드레스와 주기억모듈내의 워어드를 지정하는 위치오프세트로 나누어진 명령으로부터 유도된 어드레스 구성을 이용한다. 내부 레지스터 모듈이 지정되고 나머지 어드레스 구성은 레지스터 오프세트 어드레스 및 일부 레지스터에 대하여 비트 위치 어드레스를 지정한다. 비트위치 어드레스는 이산적인 기능을 갖는 개개의 비트를 포함하는 이들 레지스터에 대하여서만 사용된다. 모듈어드레스와 레지스터 오프세트 어드레스는 하나의 레지스터만이 지정되게 하는 반면에 비트 위치 어드레스 내의 각 비트는 레지스터내의 비트에 일치하고 다수의 비트가 지정되도록 한다.
비트위치 어드레스는 레지스터에서 동작이 수행될 때에 사용되는 마스크를 선택한다. 만약 이 비트위치 어드레스가 제로이면 레지스터내의 모든 비트는 액세스될 수 있는 반면에 어떤 비트가 비트 위치 어드레스에서 세트되는경우 레지스터 내의 해당 비트만이 액세스된다. 단일 비트가 기록을 위해 비트위치어드레스에 지정되면 정하여진 마스크가 명령으로 지정된 데이타 패턴에서논 리적동작을 수행한다. 이 논리적의 결과와 지정된 레지스터의 내용이 배타적 논리화 동작에 사용되며 그 결과는 레지스터의 본래 내용을 중복 기재한다. 판독동작을 위하여 정하여진 마스크는 지정된 레지스터의 내용에서 논리적동작을 수행하도록 사용된다. 다수의 비트가 비트위치어드레스에서 세트되는 경우 각각의 비트에 의하여 정하여진 마스크는 논리화동작으로 상호 조합되어 복합마스크를 만든다.
마스크를 형성하기 위하여 비트위치어드레스를 사용하므로서, 연속어드레스에서 관련된 비이트를 그룹화할 수 있는 잇점이 있다. 통상 활성캐퍼빌리티는 기억블럭의 베이스와 리미트어드레스를 정한다. 만약 캐퍼빌리티 레지스터의 모듈번호 비트(베이스어드레스의 상부 8개 비트)가 모두 1일때에 이 레지스터는 어드레스구성에서 지정되고 제2오퍼랜드어드레스의 최하위 12비트는 프로세서내레지스터를 지정할때 해석된다. 따라서 이 모듈번호를 이용하는 기억모듈은 없다.
제5도에서 보인 바와같이 레지스터 또는 일련의 레지스터에 대한 어드레스의 비트 5-11에서 하나의 비트가 세트되고, 비트 1-4는 비트 5 또는 6이 세트될 때에 16데이타 또는 캐퍼빌리티 레지스터중의 하나를 지정한다. 만약 비트 6이 캐퍼빌리티 레지스터에 대하여 세트되는 경우 리세트될때에 비트 0가 베이스를 선택하고 세트될 때에 액세스/리미트를 선택한다. 만약 비트 5가 세트된 경우 비트 0가 리세트되어 데이타레지스터를 선택하다. 비트 0가 세트되어 포인터레지스터를 선택한다. 비트 9와 비트0가 세트되는 경우 데스트 레지스터가 선택된다.
기본인디케이터레지스터가 선택될 때에 액세스는 어드레스내 비트 0-4의 사용으로 제어비트를 지정토록 한정될 것이다. 어드레스비트에 대한 레지스터내 비트의 할당은 테이블 3에 주어진다. 만약 모든 비트가 0인 경우 완전한 레지스터가 액세스된다. 캐퍼빌리티 기술자는 기본인디케이터레지스터의 경우와 같이 내부모드의 모든 레지스터, 일련의 이들 레지스터, 단일레지스터 또는 단일비트를 정의한다. 내부모드 캐퍼빌리티를 지정하는 명령에 대하여 다음의 제한이 부여된다.
1. LOAD DATA, LOAD DATA MASKED, STORE DATA MASKED, MOVE WORD 및 MOVE BYTE 명령만이 허용된다. 이 이외에는 고장인터럽트(무효동작)가 일어난다.
2. 캐퍼빌리티 레지스터[C(S)의 레이스는 제외]만이 판독된다. 이들은 항상 캐퍼빌리티조작명령에 의하여서 로우드된다. STORE DATA 또는 STORE DATA MASKED 명령은 변경되지 않고 고장이 발생되지 않는다.
3. 특수목적 캐퍼빌리티 레지스터 C (S)는 12개의 가변 비트를 갖는다(베이스의 최상위 비트). 모든 비트가 판독된다.
4. 비트 5-11중 하나이상의 비트가 세트되는 경우 유효명령이 액세스되지 않는다.
내부모드에서 장치가 작동하고 로오드 데이타명령의 수행에 있어서 이 동작이 수행되는 것이 이후 상세히 설명된다. 제6도는 "로우드" 명령에 대한 흐름도와 기본 명령어 IW를 보인 것이다. 이 명령어는(i)어드레스, (ii)오프세트 어드레스가 명령에 대한 데이타 소오스를 제공하도록 사용되는 블럭을 형성하는 캐퍼빌리티 레지스터 C(N), (iii) 어드레스 수식자(M)로서 사용될 데이타레지스터, (iv)로우드될 데이타를 수신하는데 사용될 데이타 레지스터 D(N), (v)로우드명령을 정하는 기능코드(FC)와, (vi) 기억모드플래그(S)를 정의하는 6개의 필드로 구성된다.
다음의 설명은 제6도의 흐름도에서 스텝별로 구획되어 있으며 각 스텝에서 프로세서의 작동이 정의될 것이다.
[스텝 Si-프로그램 블럭으로부터 판독 입력]
이 스텝에서 프로세서는 수행되는 프로그램에 있어서 다음 명령의 어드레스를 구성토록 C(7)캐퍼빌리티 레지스터와 명령어드레스 레지스터를 사용한다. 이와같이 형성된 어드레스는 어드레스레지스터 MAR(제2도)에 인가되고 캐퍼빌리티 코드 비교기 ACC와 ACC는 액세스가 허용될 수 있는지의 여부를 검사한다. 만약 가능한 경우 어드레스는 아이웨이 BIO를 통하여 버스인터페이스 BIF(제3도)로 보내어진다. 이 어드레스는 버스시켄스와 제어회로 BS & C를 지나 버스 드라이버와 종단회로 BD & T를 이용하여 프로세서 출력버스 CBO로 보내어진다. 결국 커렌트프로그램블럭을 수용하는 기억모듈은 다음 명령어(즉, 로우드명령)에 응답하고, 이 워어드는 입력버스(CBI)를 지나 버스인터페이스 BIF에 공급된다. 이 워어드는 상태정보(status information)와 함께 선 DBIN과 SI을 통하여 버스리시버 및 종단회로 BR & T에 의하여 입력데이타 멀티플랙서 IDM과 버스고장인디케이터 BFI에 보내어진다. 클럭 CLK의 제어하에 입력되는 명령어는 선 BII를 통하여 제2도에서 보인 명령버퍼 IBL로 보내어진다.
기능코드 FC (제6도참조)는 처리장치의 마이크로프로그램장치(도시하지 않았음)에 액세스하도록 사용되는 반면에 어드레스오프세트정보 "어드레스"는 명령레지스터 IREG에 세트된다. 또한 다른 필드의 명령어는 명령의 동작을 제어하기 위한 마이크로프로그램 장치의이조건 주어지도록 하는데 사용된다.
[스텝 S2-요구된 어드레스의 형성(FORM)]
이 스텝에서 마이크로프로그램장치는 IREG의 어드레스오프세트가 입력멀티플랙서 IMUX와 비트조작자 BM를 통하여 연산장치 ALU의 "A"포트로 보내어지는 동안 명령어의 C(N)에 의하여 형성된 캐퍼빌리티 레지스터의 베이스 어드레스가 베이스파일 BCB로부터 캐퍼빌리티 멀티플랙서 CAPMUX를 넘어 ALU의 'B'포트로 보내어진다. 그리고 ALU는 어드레스레지스터 MAR에 그 결과가 가산되어자 리잡도록조건이 주어진다. 이미 언급된 바와 같이 내부모드는 모두 "1"의 값을 갖는 사용된 캐퍼빌리티레지스터의 모듈어드레스에 의하여 정하여진다. 따라서 비교기 BCC에 의하여 수행된 캐퍼빌리티 바운드 검사(capability bounds check)가 수행된 후에 요구된 어드레스가 버스시켄스와 제어회로 BS & C에 보내어질 것이며, 여기에서 내부모드 어드레스가 검출되고 어드레스정보가 내무모드신호 IDM의 영향하에서 입력데이타멀티플랙서 IDM에 의하여 역순환될 것이다. 버스시켄스와 제어회로는 모듈어드레스가 모두 "1"일때에 IM신호를 발하도록 배열된 검출기를 포함한다. 또한 내부모드신호 I M는 마이크로 프로그램장치(도시하지 않았음)에 보내져 다음 상기 장치가 데이타전송시켄스를 수행토록 한다. 이 시켄스에서, 기호 ":="는 "-이되다"라고 표시된다.
Figure kpo00001
이와 같이 하므로서 스텝 S2에서 발생된 어드레스의 어드레스오 프세트부분은 연산장치조건신호 ALUCS를 이용하여 마이크로프로 그램장치로 보내어진다. 이 정보는 요구된 "레지스터"를 정하도록 사용되고 이 정보의 할당이 제5도에 도시되어 있다.
[스텝 S3-형성된 어드레스에서의 판독]
마이크로프로그램 장치는 요구된 레지스터 또는 비트, 또는 데이타화일이나 캐퍼빌리티레지스터의 선택된 비트가 연산장치 ALU로 보내어지고 다음 시켄스를 이용한 명령에 의하여 정하여지는 데이타 레지스터 D(N)에 보내어지도록 한다.
Figure kpo00002
[스텝 S4-D(N)에 판독데이타입력]
이 스텝에서 입력버스 BII의 데이타는 입력레지스터 MDIN에 공급되고 ALU를 통하여 A 및 B데이타 파일 ADF와 BDF내의 데이타 레지스터를 정의하는 D(N)에 공급된다.
이와 같이 상기 기술된 실시형태는 어드레스기억위치에 대한 동일한 처리방법으로 다수의 내부 CPU레지스터 또는 비트나 이들 바이트의 어드레스지정을 위한 구성을 제공한다. 이는 특수목적레지스터 액세스명령을 가질 필요가 없으므로 특히 유리하다. 또한 캐퍼빌리티레지스터에 구성된 기억장치보호시스텝은 내부모드 모듈어 드레스에 결합된 캐퍼빌리티 기술자가 내부레지스터의 모두 또는 그 부분집합을 형성하므로서 내부 레지스터에 확장될 수 있다.

Claims (1)

  1. 다수의 처리장치(CPU1, CPU2), 다수의 기억모듈(STA, STB, STC)과 다수의 주변장치(PE)를 포함하는 형태의 데이타처리시스텝으로서, 각 기억모듈(STA, STA, STC)과 각 주변장치 (PE)가 액세스장치(SAUA, SAUB, SAUC, PAUN)을 구비하고, 각 처리장치(CPU1, CPU2)가 각 액세스장치(SAUA, SAUB, SAUC, PAUN)의 각 포트에 연결된 자신의 데이타 통로(CB1, CB2)를 구비하며, 각 액세스장치SAUA, SAUB, SAUC, PAUN)은 장치의 스텝동일성으로 조건이 주어지고 각 액세스장치(SAUA, SAUB, SAUC, PAUN)은 동일 어드레스식별장치를 포함하며, 처리장치(CPU1, CPU2)는 주변장치(PE)에 액세스하거나 기억모듈(STA, STB, STC)의 위치선정이 그 자신의 통로(CB1, CB2)에 연장된 처리장치(CPU1, CPU2)에 의하여 수행되고, 어드레스는 요구된 기억모듈(STA, STB, STC) 또는 주변장치(PE)의 시스템 동일성을 정의하는 제1어드레스필드와 요구된 모듈 또는 주변장치내에 위치를 정의하는 제2어드레스필드의 적어도 두 어드레스필드로 구성된 것에 있어서, 각 처리장치(CPU1, CPU2)는 처리장치(CPU1, CPU2)의 시스템 동일성의 코드로 조건이 주어진 버스인터페이스 장치(BIF)를 포함하며, 버스인터페이스장치(BIF)는 처리장치(CPU1, CPU2)의 시스템동일성을 정의하는 제1필드와, 처리장치(CPU1 'CPU2)의 내부레지스터중의 하나를 선택토록 사용되는 어드레스의 제2필드를 포함하는 어드레스의 존재에 따라 활동되는 동일어드레스식별장치(BS & C)를 포함함을 특징으로 하는 데이타 처리 시스템.
KR1019800003776A 1979-09-29 1980-09-29 데이타 처리 시스템 KR850000622B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB79/33858 1979-09-29
GB7933858A GB2062912B (en) 1979-09-29 1979-09-29 Data processing system including internal register addressing arrangements

Publications (1)

Publication Number Publication Date
KR850000622B1 true KR850000622B1 (ko) 1985-05-01

Family

ID=10508178

Family Applications (1)

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

Country Status (18)

Country Link
US (1) US4383297A (ko)
EP (1) EP0026587B1 (ko)
JP (1) JPS5657157A (ko)
KR (1) KR850000622B1 (ko)
AT (1) ATE10401T1 (ko)
AU (1) AU542123B2 (ko)
CA (1) CA1159574A (ko)
DE (1) DE3069674D1 (ko)
DK (1) DK409180A (ko)
ES (1) ES495455A0 (ko)
GB (1) GB2062912B (ko)
HK (1) HK77184A (ko)
IE (1) IE50247B1 (ko)
NO (1) NO153509C (ko)
NZ (1) NZ195064A (ko)
PT (1) PT71826B (ko)
SG (1) SG43784G (ko)
ZA (1) ZA805538B (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4521858A (en) * 1980-05-20 1985-06-04 Technology Marketing, Inc. Flexible addressing and sequencing system for operand memory and control store using dedicated micro-address registers loaded solely from alu
SE430199B (sv) * 1982-02-12 1983-10-24 Ellemtel Utvecklings Ab Sett och anordning for att ge identitet at och utpeka en av ett antal funktionsenheter
JPS58146941A (ja) * 1982-02-26 1983-09-01 Hitachi Ltd マイクロプログラム制御デ−タ処理装置
US4523299A (en) * 1982-09-21 1985-06-11 Xerox Corporation Message transmitting system for reproduction machines and copiers
US4814982A (en) * 1984-12-24 1989-03-21 General Electric Company Reconfigurable, multiprocessor system with protected, multiple, memories
JPS61150059A (ja) * 1984-12-24 1986-07-08 Sony Corp デ−タ処理装置
US4984151A (en) * 1985-03-01 1991-01-08 Advanced Micro Devices, Inc. Flexible, next-address generation microprogram sequencer
JPS61213952A (ja) * 1985-03-19 1986-09-22 Jeol Ltd 2次アドレス・ラツチ方式
JPS61213951A (ja) * 1985-03-19 1986-09-22 Jeol Ltd デ−タ転送方式
US4821179A (en) * 1985-08-08 1989-04-11 American Telephone And Telegraph Company Communication system configuration detection apparatus and method
US5170474A (en) * 1986-08-27 1992-12-08 Hitachi, Ltd. Method of searching a queue in response to a search instruction
US5404464A (en) * 1993-02-11 1995-04-04 Ast Research, Inc. Bus control system and method that selectively generate an early address strobe
FR2775089B1 (fr) * 1998-02-18 2000-04-14 Sgs Thomson Microelectronics Circuit integre comportant une banque de registres partiellement utilisee
US6339808B1 (en) * 1999-01-04 2002-01-15 Advanced Micro Devices, Inc. Address space conversion to retain software compatibility in new architectures
US7694004B2 (en) * 2001-03-30 2010-04-06 Intel Corporation Bit-granular writes of control registers
US7076517B2 (en) * 2001-09-20 2006-07-11 Microchip Technology Incorporated Serial communication device with dynamic filter allocation
US20040153583A1 (en) * 2001-09-20 2004-08-05 Bartling James E. Serial communication device with dynamic allocation of acceptance masks using serial implementation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1590660A (ko) * 1968-08-02 1970-04-20
US3614741A (en) * 1970-03-23 1971-10-19 Digital Equipment Corp Data processing system with instruction addresses identifying one of a plurality of registers including the program counter
GB1394431A (en) * 1971-06-24 1975-05-14 Plessey Co Ltd Multiprocessor data processing system
US3854126A (en) * 1972-10-10 1974-12-10 Digital Equipment Corp Circuit for converting virtual addresses into physical addresses
GB1461245A (en) * 1973-01-28 1977-01-13 Hawker Siddeley Dynamics Ltd Reliability of random access memory systems
GB1474385A (en) * 1973-12-14 1977-05-25 Int Computers Ltd Multiprocessor data processing systems
FR2299677A2 (fr) * 1975-01-29 1976-08-27 Honeywell Bull Soc Ind Dispositif pour l'echange selectif d'informations
CA1087746A (en) * 1976-04-29 1980-10-14 Jack R. Duke Method and apparatus for effecting inter-bus communications in a multi-bus data processing system
US4117536A (en) * 1976-12-27 1978-09-26 International Business Machines Corporation Instruction processing control apparatus
US4194241A (en) * 1977-07-08 1980-03-18 Xerox Corporation Bit manipulation circuitry in a microprocessor

Also Published As

Publication number Publication date
GB2062912A (en) 1981-05-28
HK77184A (en) 1984-10-19
GB2062912B (en) 1983-09-14
EP0026587B1 (en) 1984-11-21
JPS5657157A (en) 1981-05-19
ES8106059A1 (es) 1981-07-01
CA1159574A (en) 1983-12-27
ZA805538B (en) 1981-09-30
NO802761L (no) 1981-03-30
ES495455A0 (es) 1981-07-01
NO153509B (no) 1985-12-23
DK409180A (da) 1981-03-30
EP0026587A3 (en) 1982-05-26
DE3069674D1 (en) 1985-01-03
NO153509C (no) 1986-05-14
ATE10401T1 (de) 1984-12-15
PT71826A (en) 1980-10-01
EP0026587A2 (en) 1981-04-08
IE802027L (en) 1981-03-29
IE50247B1 (en) 1986-03-05
SG43784G (en) 1985-09-13
NZ195064A (en) 1983-06-17
US4383297A (en) 1983-05-10
AU542123B2 (en) 1985-02-07
PT71826B (en) 1981-06-30
AU6241980A (en) 1981-04-02

Similar Documents

Publication Publication Date Title
KR850000622B1 (ko) 데이타 처리 시스템
EP0026590B1 (en) Improved memory protection system using capability registers
US4124891A (en) Memory access system
US4412281A (en) Distributed signal processing system
US4486831A (en) Multi-programming data processing system process suspension
US4075686A (en) Input/output cache system including bypass capability
US4017839A (en) Input/output multiplexer security system
US4041462A (en) Data processing system featuring subroutine linkage operations using hardware controlled stacks
US4206503A (en) Multiple length address formation in a microprogrammed data processing system
US4779187A (en) Method and operating system for executing programs in a multi-mode microprocessor
US5043878A (en) System with real-time checking of privilege levels and the system's state to allow access to internal resources of the system
US4091455A (en) Input/output maintenance access apparatus
US4825358A (en) Method and operating system for executing programs in a multi-mode microprocessor
US4031517A (en) Emulation of target system interrupts through the use of counters
US4000487A (en) Steering code generating apparatus for use in an input/output processing system
US4103329A (en) Data processing system with improved bit field handling
US5148544A (en) Apparatus and method for control of asynchronous program interrupt events in a data processing system
US4084225A (en) Virtual address translator
US4090239A (en) Interval timer for use in an input/output system
US3803559A (en) Memory protection system
US4084227A (en) Virtual address translator
US4866599A (en) Call instruction, return instruction and trap procedure for ring crossing architecture
EP0443557B1 (en) Interrupt controller capable of realizing interrupt nesting function
EP0518479B1 (en) Processing system and method including memory selection
KR102658600B1 (ko) 디바이스를 디버깅할 때 메타데이터에 액세스하기 위한 장치 및 방법