KR920005852B1 - 데이타 처리 시스템에 있어서 합성 디스크립터를 제공하는 장치 및 방법 - Google Patents

데이타 처리 시스템에 있어서 합성 디스크립터를 제공하는 장치 및 방법 Download PDF

Info

Publication number
KR920005852B1
KR920005852B1 KR1019830004861A KR830004861A KR920005852B1 KR 920005852 B1 KR920005852 B1 KR 920005852B1 KR 1019830004861 A KR1019830004861 A KR 1019830004861A KR 830004861 A KR830004861 A KR 830004861A KR 920005852 B1 KR920005852 B1 KR 920005852B1
Authority
KR
South Korea
Prior art keywords
descriptor
instruction
stack
execution
address
Prior art date
Application number
KR1019830004861A
Other languages
English (en)
Other versions
KR840006531A (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 KR840006531A publication Critical patent/KR840006531A/ko
Application granted granted Critical
Publication of KR920005852B1 publication Critical patent/KR920005852B1/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
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • 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/109Address translation for multiple virtual address spaces, e.g. segmentation

Abstract

내용 없음.

Description

데이타 처리 시스템에 있어서 합성 디스크립터를 제공하는 장치 및 방법
제1도는 데이타 처리 시스템의 블록도.
제2도는 본 발명의 VMSM 실행 장치를 구비한 중앙 처리 장치의 블록도.
제3도는 데이타 처리 장치의 메모리 장치에 기억된 통상적인 명령의 포맷을 도시한 도면.
제4a도는 통상의 기본 데코어 디스크립터 포맷을 도시한 도면.
제4b도는 통상의 가상 데코어 디스크립터 포맷을 도시한 도면.
제4c도는 통상의 멀틱스 데코어 디스크립터 포맷을 도시한 도면.
제4d도는 통상의 합성 데코어 디스크립터 포맷을 도시한 도면.
제5도는 본 발명의 VMSM 장치의 주요 구성 소자들의 블록도.
제6도는 상기 VMSM 장치의 구성 소자에 대한 개략 블록도.
제7a도는 상기 기본 데코어의 어드레스 지정 메카니즘의 부호 다이어그램.
제7b도는 상기 멀틱스 데코어의 어드레스 지정 메카니즘의 부호 다이어그램.
제7c도는 상기 가상 데코어의 어드레스 지정 메카니즘의 부호 다이어그램.
제7d도는 상기 합성 데코어의 어드레스 지정 메카니즘의 부호 다이어그램.
제8도는 디스크립터 스택의 위치를 나타내기 위해 유효 어드레스를 형성하는 장치의 부분 블록도.
* 도면의 주요 부분에 대한 부호의 설명
1 : 중앙 처리 장치 2 : 제어 인터페이스 장치
3 : 주메모리 장치 4 : 입/출력 멀티플렉서 장치
5 : 채널어댑터 장치 6 : 주변 시스템
12 : 중앙 장치 파이프 라인 구조부 14 : 명령 인출 장치
16 : 명령 캐쉬 18 : 명령 실행큐
20 : 오퍼랜드 캐쉬 47 : 콜렉터 제어 장치
48 : 마스터 세이프 기억 장치 50 : 기억 스택
51 : 주메모리 510 : VMSM 제어 장치
511 : 입력 버퍼 장치 512 : 디스크립터 인출 장치
513 : 디스크립터 재구성 장치 514 : 디스크립터 마스터 복사 장치
515 : 출력 버퍼 장치 802 : 디스크립터 스택
803 : ARn스택 810 : AQx스택
본 발명은 일반적으로 데이타 처리 시스템에 관한 것으로, 특히 다수의 오퍼레이팅 시스템의 제어하에서 데이타를 처리할 수 있는 데이타 처리 시스템에 관한 것이다. 통상적으로, 각 오퍼레이팅 시스템은 별개의 어드레스 지정 메카니즘뿐 아니라 그 오퍼레이팅 시스템의 데이타 필드와 연관된 별개의 어트리뷰트(attribute)를 갖는다. 이러한 어트리뷰트와 어드레스 지정 메카니즘 부분은 디스크립터(descriptor) 데이타 필드에 포함된다.
데이타 처리 시스템의 각 오퍼레이팅 시스템과 함께 분리 장치를 이용하는 것은 이미 알려진바 있다. 분리 장치는 각 오퍼레이팅 시스템이 어드레스 형식과 오퍼레이팅 시스템에 연관된 어트리뷰트를 처리할 수 있는 여러 방법중의 하나이다. 통상적으로, 각 오퍼레이팅 시스템은 어드레스 데이타 및 연관된 어트리뷰트를 제공하기 위한 별개의 디스크립터를 갖는다. 그 결과로, 오퍼레이팅 시스템의 프로그램들이 사용 가능한 장치에 기능을 발휘하도록 개선되었다 하더라도 가능한 대책이 엄격히 제한된다.
중요한 문제점은 디스크립터를 사용하는데서 비롯된다. 디스크립터는 중앙 처리 장치에 의한 명령어 실행에 연관된 데이타 그룹이다. 디스크립터는 통상적으로 어드레스 형식에 필요한 정보를 포함하며, 또한 데이타 신호 그룹에 대한 추가의 정보도 포함한다. 추가의 정보는 특정 오퍼레이팅 시스템에 대해 유일한 것일 수도 있고 또는 일반적인 것일 수도 있다. 예를들어, 멀틱스 오퍼레이팅 시스템에 있어서, 링 식별 번호는 사용자가 데이타를 액세스하는 것을 결정하여 멀틱스 오퍼레이팅 시스템에서 명령어가 실행될때마다 유지되어야 한다.
따라서, 오퍼레이팅 시스템의 각각에 전용화된 장치가 없이도 복수의 디스크립트 포맷을 이용할 수 있는 중앙 처리 장치가 요구되었다. 이러한 중앙 처리 장치는 추가의 수정으로써 복수의 오퍼레이팅 시스템에 의해 제어될 수가 있다.
따라서, 본 발명의 제1목적은 개선된 데이타 처리 시스템을 제공하는 데에 있다.
본 발명의 제2목적은 특정 디스크립터 포맷에 의해 제한되지 않는 데이타 처리 시스템을 제공하는데 있다.
본 발명의 제3목적은 중앙 처리 장치가 각 포맷으로 형성된 특수 장치를 사용하지 않고 복수의 오퍼레이팅 시스템에 연관된 포맷을 이용할 수 있도록 하는데 있다.
본 발명의 제4목적은 복수의 디스크립터 포맷의 데이타를 혼합 디스크립터 포맷으로 재배치하기 위한 장치를 제공하는데 있다.
본 발명의 전술한 목적들은 입출력 버퍼 장치, 제어 장치, 디스립터 재구성 장치, 디스크립터 인출 장치 및 디스크립터 마스터 복사 장치를 포함하는 VMSM 장치에 의한 본 발명에 따라 달성된다. 입출력 버퍼장치는 중앙 처리 장치내의 나머지 장치에 대한 동작과 함께 입출력 명령어 스트림의 동기화를 제공한다. 제어 장치는 VMSM 장치로 입력되는 DATA(DATUM)를 분석하고, 적절한 응답을 제공하도록 VMSM 장치내의 나머지 장치를 제어한다. 입력되는 DATUM이 실제 디스크립터의 어드레스를 지시하는 포인이면, VMSM 장치는 지시된 디스크립터를 검색하기 위해 디스크립터 인출 장치를 동작시킨다. 입력되는 명령어가 어드레스 지정 장치의 디스크립터 스택에 디스크립터를 재배치하는 명령이면, 디스크립터 마스터(디스크립터 스택의)복사 장치가 활성되고, 적절한 디스크립터가 디스크립터 마스터 복사 장치로부터 나와 적절한 디스크립터 스택 위치로 회수된다. 입력되는 명령어가 디스크립터이면, 제어 장치는 디스크립터 포맷을 판정하고 입력되는 디스크립터의 데이타를 합성 포맷으로 재배치하기 위해서 디스크립터 재구성 장치를 배열한다.
제1도를 참조하면, 중앙 처리 장치(1)는 정보 신호 그룹의 조작을 위한 데이타 처리 장치의 주요부이다.
이 중앙 처리 장치는 전체 장치를 시컨싱(sequencing)하기 위한 중앙 장치를 포함하며, 또한 캐쉬 장치와 명령 장치를 추가로 포함한다. 이 캐쉬 장치는 주 메모리 장치(3)으로부터 제어 인터페이스 장치(2)를 통해 명령 신호 그룹 및 데이타 신호 그룹을 얻는다. 명령 신호 그룹은 명령 캐쉬내에 유지되고 있고, 오퍼랜드 신호 그룹은 오퍼랜드 캐쉬내에 유지되며 그리고 페이징 정보는 페이징 버퍼내에 유지되어 있다. 명령 장치는 명령 스택내에 미리 인출된 명령 및 신호 그룹들을 기억한다. 이 명령은 현재의 명령어 스트림과 미리 인출한 대안의 스트림 혹은 배치 테이블(batch table)에 의해 예견되는 간접 워드를 나타낸다. 이러한 명령은 디코드되어 명령 스택용 명령어를 수용하는 파이프 라인에서 오퍼랜드나 브랜치 타겟 명령 어드레스를 생성한다. 파이프 라인의 최종단은 지정된 실행 장치들중 하나에 명령 및 오퍼랜드를 보낸다. 파이프 라인, 어드레스 가산기 및 명령어 스택은 또 다른 논리 실행 장치로도 생각할 수 있으며, 명령 어드레스 즉 상태에 관한 시츄에이션 뿐만 아니라 분류 명령 전송도 처리할 수 있다.
주메모리 장치(3)는 중앙 처리 장치에 의해 이용되는 정보 신호 그룹의 주요한 기억 장치를 중앙 처리 장치(1)에 제공한다. 정보 신호들은 제어 인터페이스 장치(2)의 제어하에서 주메모리 장치내로 입출력된다.
제어 인터페이스 장치(2)는 주메모리 장치(3), 입/출력 멀티플렉서(4) 및 중앙 처리 장치(1) 사이의 정보신호의 전송을 제어한다. 따라서, 제어 인터페이스 장치(2)는 제어 인터페이스 장치의 요구 신호에 우선 순위를 두고 입/출력 멀티플렉서 장치의 출력에 우선순위를 둔다. 제어 인터페이스 장치(2)는 이를 통해 전송되는 정보 신호를 위한 버퍼 장치를 제공한다. 이밖에도 제어 인터페이스 장치(2)는 워드가 주 메모리 장치에 기억되어 있는 조건하에서 시스템 인터럽트에 대한 큐와 기타 인터럽트 동작을 제어한다. 주메모리 장치(3)로 전송된 데이타에 대한 에러 검출 및 정정 처리는 제어 인터페이스 장치(2)에서 수행된다. 또한, 출력 인터페이스 장치는 블록 액세스 충돌이 계층 명령중에서 나타나지 않도록 하는 장치를 제공한다.
입/출력 멀티플렉서(4)는 데이타 처리 시스템의 요구를 만족시키는데 이용된다. 오퍼레이팅 시스템은 요구된 제어 워드를 제공하여 전송될 데이타를 위한 버퍼 영역을 할당한다. 제어 워드가 제공된 후에 오퍼레이팅 시스템은 연결 명령을 내보냄으로써 입/출력 동작을 개시한다. 제어 인터페이스 장치(2)는 연결 명령을 인식하여 연결 정보를 입/출력 멀티플렉서 제어기로 전송한다. 이 입/출력 멀티플렉서는 메일박스 어드레스를 기억하고, 어드레스 지정된 채널의 임시 기억 장치내의 연결 제어 워드로부터의 다른 적절한 정보를 기억하여 채널 어댑터 장치(5)내의 어드레스 지정된 채널로 연결 명령을 전송한다.
어드레스 지정된 채널은 채널 프로그램이 대기중임을 주변 장치에 알린다. 주변 장치에 알린후에는 채널 어댑터 장치(5)가 채널 메일 박스를 당기도록 입/출력 멀티플렉서에 요구한다. 이러한 요구에 응답하여, 입/출력 멀티플렉서는 채널 메일 박스의 첫번째 8워드를 임시 기억 장치로 로드한다. 그 다음에 채널 프로그램은 입/출력 멀티플렉서 "포인터를 앞으로 이동"하도록 요구한다.
이러한 요구에 응답하여 입/출력 멀티플렉서는 리스트 서비스를 수행하고, 명령 데이타 제어 워드(IDCW)를 채널 어댑터 장치(5)로 보낸다. 채널 프로그램의 첫번째 DCW는 IDCW로 되어야 한다. 채널 어댑터 장치는 IDCW를 주변 장치로 전송하고, 주변 서브 시스템으로부터의 요구에 따라 데이타 리스트 서비스를 요청한다. 채널 메일 박스로부터의 리스트 포인터 워드(LPW)를 사용하여, 입/출력 멀티플렉서가 다음의 DCW를 검색한다. 입/출력 멀티플렉서는 임시 기억 장치내에 DCW를 유지하고, 적절한 정보를 DCW로부터 채널 어댑터 장치(5)로 보낸다. DCW 정보와 함께 채널 어댑터 장치(5)는 채널 프로그램을 충족시키기 위해 필요한 데이타 서비스를 요청한다. 이 입출력 멀티플렉서(4)는 임시 기억 장치내에 현재의 DCW 및 PIW를 유지함으로써 데이타 서비스들을 실행하며, 추가의 DCW에 대한 소정의 요구된 리스트 서비스를 수행한다. 채널 프로그램이 충족된후, 이러한 채널은 상태 기억 서비스를 요청한다. 입/출력 멀티플렉서(4)는 채널 메일 박스내에 종료 상태 신호를 보내고 메일 박스를 메모리에 재기억시킨다. 상태 서비스의 완료후에 이 채널은 종료 인터럽트 서비스를 요청한다.
이러한 서비스를 수행할때, 이 입/출력 멀티플렉서(4)는 메일 박스 링크 워드를 인터로케이트 한다. 인터럽트 금지 비트가 "온"이면, 인터럽트는 보고되지 않는다. 인터럽트 금지 비트가 "오프"이면 이 인터럽트는 메일 박스 링크 워드에서 지정된 인터럽트 레벨을 이용하여 보고된다. 링크 워드가 계속 지정되면 입/출력 멀티플렉서는 채널에 대한 접지 지령을 생성한다.
채널 어댑터 장치(5)는 입/출력 멀티플렉서(4)와 주변 서브 시스템(6)간의 인터페이스를 제공한다. 입/출력 장치와 관련하여 기술된 동작이외에도, 채널 어댑터 인터페이스 장치는 논리 수행 변환, 즉 입/출력 멀티플렉서(4)에서의 CML 및 채널 어댑터 장치(5)에서의 TTL을 제공한다. 채널 어댑터 장치(4)는 주변 시스템(6)과 입/출력 처리기 사이에서 버퍼 장치로서 제공되어, 입/출력 멀티플렉서가 다수의 주변 시스템(6)에 정보를 효율적이며 비동기식으로 전달할 수 있게 한다.
주변 시스템(6)은 자기 테이프 장치, 디스크 기억 장치, 단말기 인터페이스등과 같은 통상의 서브 시스템중 하나일 수 있다. 주변 서브 시스템은 대용량 기억 장치로서 제공되며 데이타 처리 시스템의 외부와 통신이 가능하도록 제공된 것이다.
제2도를 참조하면, 대형 범용 디지탈 컴퓨터의 중앙 처리 장치(10)의 주요한 구성 소자 즉 서브 시스템이 예시되어 있다. 중앙 처리 장치(10)는 제1도의 중앙 처리 장치(1)일 수도 있다. 중앙 장치의 파이프 라인 구조부(12)는 중앙 처리 장치(10)의 모든 동작을 제어한다. 명령 인출 장치(14)는 명령 워드의 어드레스를 명령 캐쉬(16)에 공급 또는 전송한다. 명령 인출 장치(14)로부터 명령 캐쉬(16)에 의해 수신된 명령 어드레스에 따라, 명령 더블 워드가 캐쉬(16)에서 명령 인출 장치(14)로 전송되는데, 이 명령 인출 장치(14)는 명령 인출 장치(14)의 일부분이되는 명령 스택에 일련의 명령어들을 적재 또는 누산한다.
중앙 장치의 파이프 라인 구조부(12)는 명령 인출 장치(IFU)(14)의 명령 스택으로부터 프로그램 순서로 명령을 얻는데, 중앙 처리 장치(10)의 시스템 클록의 클록 주기당 하나의 명령을 얻는 것이 바람직하다. 중앙 장치의 파이프 라인 구조부(12)는 5단의 파이프 라인으로 구성되는데, 제1단에서는 제3도에 도시된 명령 워드(18)의 오퍼랜드 코드 즉 18 내지 27비트들이 디코드되고, 오퍼랜드 어드레스의 형성이 제3도에서 Y로 표시된 18비트, 즉 0 내지 17비트와, 비트 29, 그리고 태그로 표시된 6비트를 이용하여 개시된다. 제2단에서는, 어드레스 형성이 완료된다. 제3단 및 제4단에서는 오퍼랜드 캐쉬(20)의 디렉토리가 탐색되어 오퍼랜드가 오퍼랜드 캐쉬(20)에 위치 되었는지를 판정하고, 오퍼랜드가 캐쉬 데이타 기억 장치로부터 액세스되거나 얻어진다.
그러나, 오퍼랜드가 캐시내에 기억되어 있지 않으면, 오퍼랜드를 포함하는 8워드 블록이 주메모리(51)로부터 인출되고, 요구된 오퍼랜드를 분배기에 보낸후에 오퍼랜드 캐쉬에 기억된다. 제5단에 있어서, 분배기(22)는 중앙 실행 장치(CEU)(24), 가상 메모리 및 보안 관리자(VMSM)(26), 2진 연산 실행 장치(BINAU)(30) 또는 10진 문자 장치(DECCU)(32)와 같은 적절한 실행 장치로 각각의 명령어와 그 오퍼랜드를 분배하거나 디스패치한다. 이외에도, 상기 명령 및 이하에 기술되는 바와같은 다른 적절한 정보가 프로그램 순서로 명령 실행큐(18)로 전송된다.
각각의 실행 장치(24), (26), (28), (30)는 명령 및 오퍼랜드를 수신할 수 있으며, 이것들을 다른 실행 장치의 명령 및 오퍼랜드와는 독립적으로 처리할 수 있다. 각각의 실행 장치(24), (26), (28), (30)는 할당된 명령어 세트를 수행하기 위해 최적화 되어 있는 논리 회로를 포함한다.
본 발명의 양호한 실시예에 있어서, 중앙 실행 장치(24)는 간단한 로드, 가산, 감산등과 어떤 잡다한 명령 따위의 기본 컴퓨터 동작을 수행한다. 중앙 실행 장치(24)는 하나의 클록 주기내에 수신될때마다 각 명령을 실행한다는 점에서 4개의 실행 장치(24, 26, 28, 30)중에서는 유일한 것이다. 따라서, 중앙 실행 장치(24)는 제2도에 도시된 다른 실행 장치처럼 입력 스택이 제공되지 않는다. 가상 메모리 및 보안 관리자 장치(26)는 안전 오퍼레이팅 시스템용 가상 메모리, 보안 및 특정 명령에 관련된 명령을 실행한다.
이 장치는 또한 중앙 처리 장치에 제공된 각각의 디스크립터에 대한 합성 디스크립터를 제공한다. BINAU 실행 장치(28)는 승산, 제산과 같은 2진 연산 명령과 부동 소숫점 명령을 실행한다. 10진 문자 실행 장치(30)는 영숫자 명령, 10진 연산 명령 및 비트 스트링 명령을 실행한다. 실행 장치(26)에는 입력 스택(32)이 제공되어 있고, 실행 장치(28)에 입력 스택(34)이 제공되어 있고, 실행 장치(30)에는 두개의 입력스택(36)이 제공되어 있다. 입력 스택(32), (34) 및 (36)의 기능은 각 입력 스택의 연관 실행 장치에 의한 실행을 대기하는 명령의 연산 코드 및 오퍼랜드를 기억하는 것이다.
각 입력 스택(32), (34) 및 (36)은 16레벨을 갖는 선입 선출식 스택이며, 각 레벨은 더블 데이타 워드를 기억한다. 이외에도, 실행될 명령 워드의 연산 코드로부터 유도된 실행 코드가 오퍼랜드와 함께 입력 스택에 기억된다. 실행 장치(26), (28) 및 (30)의 입력 스택(32), (34) 및 (36)은 선입 선출식 스택이므로, 소정의 실행 장치에 인가된 각 연산 코드에 대해 요구된 제1연산 코드 및 오퍼랜드가 상기 장치에 의한 실행을 위해 입력 스택으로부터 판독된 제1연산 코드 및 오퍼랜드가 된다. 각각의 실행 장치에는 결과 스택도 마련되어 있다. 결과 스택(38)은 중앙 실행 장치(24)와 결합되어 있고, 결과 스택(40)은 VMSM 실행 장치(26)와 결합되어 있고, 결과 스택(42)은 2진 실행 장치(28)와 결합되어 있고, 그리고 결과 스택(44)은 DECCU 실행 장치(30)와 결합되어 있다.
본 발명의 양호한 실시예에 있어서, 결과 스택은 각기 16레벨을 갖는 통상의 선입 선출식 스택이다. 연산명령의 결과는 그것들이 실행되는 순서대로 스택에 기억된다. 결과 스택의 각 레벨은 더블 워드에 대한 부가 정보 뿐만 아니라 더블 워드도 기억할 수 있다. 실행중인 각 명령 워드의 연산 코드는, 다른 정보와 함께 양호한 실시예에서 16레벨의 통상적인 선입선출식 스택이 되는 실생 큐(18)에 적재되는 명령 실행큐 워드(IEQ)의 일부분이 된다.
성능의 관점에서 볼때 중앙 처리 장치(10)의 중요한 특징은 캐쉬 장치를 형성하는 오퍼랜드 캐쉬(20) 및 명령 캐쉬(16)에 존재하며, 주메모리(51)가 8개의 36비트 워드의 블록이 배치되어 있는 어드레스 공간을 갖는다는 것이다. 주메모리와 캐쉬들(20, 16)간에서의 모든 데이타 전송은 8개의 이러한 워드 또는 블록 단위로 이루어진다. 처리 장치(10)내에서의 데이타 이동 특히, 캐쉬 장치와 실행 장치간의 데이타 이동은 더블워드 즉 쌍으로 이루어진 단지 요청된 더블 워드만이 이동된다. 분배기(22)는 오퍼랜드를 캐쉬(20)에서 여러 실행 장치로 공급하며, AQ레지스터의 다수의 복사 및 중앙 장치의 파이프라인 구조부에 대한 한 세트 및, CUPS와 BINAU만 유지한다. 명령 인출 장치(14)는 5개의 단으로된 명령 인출 파이프 라인으로 이루어진다. 명령 인출 장치(14)는 이것의 명령 스택에서 미리 인출된 명령 및 데이타를 기억한다. 이 명령은 현재의 명령 스트림과 장치(14)의 전달/간접 예견표에 의해 예견된 하나 이상의 미리 인출된 대안의 스트림 혹은 간접 워드를 나타낸다. 명령 인출 장치는 명령을 중앙 파이프 라인 장치(12)에 공급한다. 중앙 장치의 파이프 라인 구조부(12)에서 명령들 즉, 중앙 장치의 파이프 라인 구조부(12)의 사이클이 I동안 디코드된다. 명령 인출 장치(14)는 이것에 의해 미리 인출한 명령의 연산코드를 검사하지는 않으나 만일 주어진 명령이 새로운 메모리 위치로 분기되거나 혹은 간접 어드레스 지정을 요구한 명령이면, 명령 카운터의 명령 카운트를 사용하여 전달 및 간접 예견표를 조사한다.
명령 인출 장치는 중앙 장치의 파이프 라인 구조부(12)에 실행될 명령을 공급한다. 이것은 전달기의 사용 및 새로운 명령 시퀀스를 예견하기 위한 전달 및 간접 예견표를 사용함으로써 성취되며, 이어서 명령 캐쉬 혹은 때때로 오퍼랜드 캐쉬로부터 새로운 명령 스트림 즉 명령 스택에 놓인 명령 혹은 간접 워드와 같은 워드 2개를 동시에 프리페치한다. 전달/간접 예견표가 각쌍의 이러한 명령이 성공적으로 전달되었다는 것을 가리키는 경우, 즉 명령이 실행되기 이전의 간접 사이클이 요청되는 경우에만 새로운 명령 시퀀스가 프리페치 명령 스택에 로딩된다. 이와같은 일이 발생할때 명령 인출 장치(14)는 전달 명령 혹은 간접 명령의 타겟워드를 인출하기 위해 현재의 명령 시퀀스를 전환시킨다. 그렇지 않으며, 명령 인출 장치는 순차적으로 명령들을 계속 인출하여 그것을 명령 스택내에 기억시킨다.
문제가 있는 명령이 실제로 실행될때 만일 예견된 전달 명령이 비전달 명령이 되도록 턴 아우트 되는 경우, 명령 인출 장치(14)의 명령 프리페치 파이프 라인은 연속적인 프리페칭을 위해 복귀한다. 프리페치된 전달 혹은 간접 타겟들은 인출된후 명령 인출 장치(14)의 명령 스택내에 기억되자마자 중앙 장치의 파이프 라인 구조부(12)에 의한 처리에 대해 이용될 수 있다. 따라서, 그것은 IFU(14)가 이 IFU(14)의 명령 스택내에 새로운 명령 스트림의 명령을 기억시키기 전에 완결되는 중앙 파이프 라인 구조부에 의해 전달 혹은 간접 명령의 실제 실행을 기다릴 필요가 없다. 이러한 방식으로, 전달 명령 및 간접 오퍼랜드를 가진 명령의 유효 실행 시간은 최소화된다.
명령 프리페치 파이프 라인은 중앙 파이프 라인 장치(12)의 5사이클과 유사한 방식의 5사이클로 동작한다. 차이점으로는 IFE(14)가 그것의 명령 스택내에 동시에 더블 워드 쌍을 놓음으로써 명령어를 배치하는 반면에 CUPS(12)는 중앙 실행 장치(24) 또는 실행 장치(26, 28, 30)의 입력 스택으로 그것들을 전진 시킴으로써 일시에 한 워드의 명령어를 배치한다는 것이다. 도 다른 차이점으로는 IFU(14)가 전달 혹은 간접 어드레스의 실행 여부를 판정하기 위해 그 전달/간접 예견표를 검사하는 반면에, 중앙 파이프 라인 장치 구조부는 IFU(14)의 전달/간접 예견표를 갱신한다는 것이다. IFU(14)의 명령 프리페치 파이프 라인의 제1사이클 즉 제1단계 동안은 중앙 처리 장치(10)의 명령 카운터가 2씩 증가된다. 제2사이클 동안은 명령쌍의 어드레스가 전달/간접 예견표 및 명령 오퍼랜드 캐쉬로 분배된다. 제3사이클 동안은 명령쌍의 전달/간접 예견표와 명령 캐쉬(16)가 액세스 된다.
명령 캐쉬 액세스는 더블 워드 세트(양호한 실시예에 있어서 4개와 이러한 더블 워드에 연관된 물리적인 시스템 메모리 위치를 표시하는 물리적인 페이지 어드레스로 구성된다. 제4사이클 동안은 소정의 명령쌍의 물리적인 페이지 어드레스가 캐쉬 액세스된 더블 워드의 각각의 페이지 어드레스와 비교된다. 일치하면, 이 일치와 관련된 더블 워드가 명령 더블 워드로서 선택된다. 일치하지 않으면, 오퍼랜드 캐쉬가 명령 더블 워드에 대해 탐색된다. 명령 더블 워드가 I캐쉬 및 O캐쉬 어느것에서도 발견되지 않는 경우에는 요구된 명령 더블 워드를 포함하는 8워드 블록이 주메모리(10)로부터 인출되어 명령 캐쉬내에 놓여진다.
전달/간접 예견표는 액세스되는 명령의 한쪽 혹은 양자가 비교/선택 혹은 4사이클 동안 전달/진행 명령이 되도록 예견되는지를 알아보기 위해 순서대로 액세스된다. 이 명령쌍은 현재의 명령 스트림의 디렉토리로부터 실제 페이지번호와 일치하는 4개의 캐쉬 레벨중 한 레벨로부터 선택된다. 캐쉬로부터 판독된 명령쌍은 명령 인출 레지스터에 저장되고, 실제 페이지 번호가 저장되고, 전달/간접 예견표로부터의 응답이 검사되어 명령의 어느 쪽이 전달/진행으로서 전달기/간접 예견표에 기록되고 있는지를 조사한다. 전달/간접 예견표로부터의 응답은 그것이 질의된 후 2사이클이 지난후에 도달한다.
실행 사이클 즉, 프리페치 명령 파이프 라인의 5사이클 동안에 명령쌍이 명령 스택내에 놓이므로 전달/간접 예견표가 명령의 어느 한쪽이 전달되는 것을 지시한다면, 명령 프리페치 파이프 라인은 새로운 명령 스트림으로부터 명령을 인출하기 위해 제공될 것이다. 현재의 명령 스트림으로부터 두개의 엑스트라 더블 워드쌍까지의 타이밍은 캐쉬로부터 판독될 것이다. 예견된 전달/진행이 계속되지 않도록 턴 아우트되는 경우에도, 엑스트라 더블 워드 쌍은 명령 스택에서 계속 이용가능한 상태이다. 명령 스택에 결합된 포인터는 중앙 명령 인출장치(12)가 정확한 시퀀스 즉 프로그램 순서로 명령 스택에서 명령을 독출하는 것을 가능하게 한다.
명령 스택은 명령 인출 장치(14)와 명령 실행 장치 즉, 중앙 장치의 파이프 라인 구조부(12)사이에서 명령 큐로서의 기능을 갖는다. 본 발명의 양호한 실시예에 있어서, 명령 스택은 15레벨의 깊이를 갖는다. 명령들 혹은 간접 워드가 명령 인출장치의 파이프 라인 구조부에 의해 명령 스택내에 놓여졌을때 이들은 실행될때까지 또는 실행되지 않을 것이라는 사실이 판정될때까지 남아 있는다.
프리페치 동안 전달/간접 예견표에서 발견된 히스토리(History)에 대한 간접 워드를 요청하는 명령 혹은 전달 명령의 경우에 있어서, 명령 스택 제어는 타겟 명령 혹은 간접 워드의 어드레스를 기억하는 명령 스택위치에 대한 포인터를 포함한다. 이 명령 스택은 순회 라운드 로빈 스택(cyclic round-robbin stack)이다. 여기에는 버퍼 명령 더블 워드 쌍에 사용된 16개의 엔트리가 제공되어 있다. 명령 및 간접 워드 혹은 오퍼랜드는 동시에 단일 워드의 중앙 장치(12)의 베이스 명령 레지스터를 통해 IFU(14)의 명령 스택으로부터 중앙 장치의 파이프 라인 구조부(12)까지 전달된다.
중앙 장치의 파이프 라인 구조부(12)도 5개의 상태 즉 5개 사이클을 갖는다. 제1사이클에서는 명령의 오퍼랜드 코드가 디코드 되어 오퍼랜드 어드레스 형성이 시작되고, 제2사이클에서는 오퍼랜드 어드레스가 완결되고, 제3사이클에서는 어드레스가 가상 메모리 어드레스 스페이스 표시에서 실제 물리적인 어드레스 스페이스 표시로 변환되어 다음 명령 세트가 다음 오퍼랜드 한 세트가 오퍼랜드 후보가 액세스되는 시스템 메모리 위치를 식별하는 물리적 페이지 번호와 함께 오퍼랜드 캐쉬로부터 액세스된다.
제4사이클중에는 물리적 어드레스의 오퍼랜드 페이지 번호는 액세스된 오퍼랜드 후보의 각각과 연합된 페이지 번호와 비교되고, 제5사이클중에는 제5단에 있어서, 선택된 오퍼랜드 및 실행 명령 코드가 명령 수행이 가능한 단일 실행 장치에 전송된다. 전송된 어떤 활동은 지정된 파이프 라인단을 가로질러 경사지게 되어 있다. IFU(14)의 전달/간접 예견표로서의 엔드리들은 중앙 파이프 라인 장치 구조부(12)에 있다. 중앙 파이프 라인 장치 구조부가 전달 구조부가 전달 명령을 실행할때마다 중앙 파이프 라인 장치 구조부(12)는 전달기/간접 예견표인 소정의 대응 엔트리를 변경시킨다. 예견된 전달이 비전달로 판정나면 TIP테이블내의 엔트리는 삭제된다. 오동작의 경우에 있어서, 예를들면 전달 명령의 타겟 어드레스가 수정되지만 연산코드가 전달기에 남아 있으면, 전달개/간접 예견표내의 점유 엔트리는 이 사실을 반영하도록 수정된다. 전달 수행이 미리 기록되어 있지 않은 경우에 있어서, 새로운 엔트리가 특정 명령을 생성하기 위한 명령 카운터에 따라 모두 4개의 레벨이 되도록 또 다른 엔트리가 놓이지 않은 TIP테이블내에 형성된다. 치환 알고리즘은 전달기/간접 예견표의 오류가 드물기 때문에 최근에 사용된 엔트리를 바꾸어 놓기 위해 필요한 복합회로를 부가하는 것에 있어서는 거의 이익이 없으므로 랜덤이다. 중앙 장치는 다른 방식으로 전달기/간접 예견표와 상호 작용한다. 연산 코드는 변경되었으나 전달기/간접 예견표는 전달을 예견할 수 있는 오동작의 경우에 있어서 중앙 파이프 라인 장치 구보부(12)는 명령이 먼저 디코드되는 명령 사이클에 있어서의 결과를 검출하게 된다.
간접 명령의 경우에는 중앙 파이프 라인 장치 구조부(12)가 이것들에 대한 전달기/간접 예견표로서 엔트리를 작성한다. 명령 실행 파이프 라인(12)은 데이타가 캐쉬 장치내에 없는 것과 기대할 수 없는 전달등의 경우에 기인한 어떤 인터럽션이 중앙 파이프라인 장치의 동작을 중지시키게될때 필요한 고레벨의 성능을 얻기 위한 중앙 처리 장치(10)에서의 기준 로울을 갖는다.
전달기/간접 예견표는 각각의 4개 엔트리의 1024세트로 분할되는 4096엔트리로 이루어진다. TIP테이블은 제1간섭 레벨에 대한 타겟 어드레스를 기록하고 또한 조건적인 그리고 비조건적인 전달기에 대한 타겟 어드레스를 예견하도록 제공된다. 연속적인 제1실행 동안, 예컨대 전달 명령 또는 간접워드를 요구하는 명령동안, 중앙 파이프 라인 구조부의 파이프 라인에서의 중단이 있게 되는 반면에, 타겟 어드레스가 형성되어 타겟이 캐쉬로부터 액세스된다. 제1실행에 있어서 정보가 캐쉬 장치내의 타겟 명령의 위치를 규정한 전달기/간접 예견 테이블에 제공된다. 전달 명령 혹은 간접 워드를 요구하는 명령의 후속 인출 동안에 프리페취 파이프 라인은 전달기/간접 예견표를 액세스하고 또한 대안 명령 스트림 또는 간접 워드를 인출하기 위하여 타겟 위치를 판정한다. 전달 또는 명령이 중앙 파이프 라인 장치의 1클록 주기만을 차지하는지 검사함으로써 변경되지 않은 프리페취 타겟 어드레스를 변경한다. 소정의 전달 명령의 연속 실행 동안 전달기가 예측대로 수행되지 않을때만 전달기/간접 예견표의 엔트리가 갱신된다. 전달기/간접 예견표는 하나의 간접 레벨에 대해서만 트랙을 유지한다. 간접 워드의 캐쉬 어드레스는 간접 워드가 변경되지 않았을때만 TIP테이블내에 놓인다.
캐쉬 장치는 두개의 분리 8K캐쉬 및 명령 캐쉬(16) 및 오퍼랜드 캐쉬(20)로 구성된다. 데이타는 8워드의 블록 기준으로 각각의 캐쉬내에 유지된다. 8개의 연속 36비트의 주메모리 워드로 이루어진 블록의 제1워드는 2진 표시법에 있어서 000의 어드레스를 갖는다. 블록이 이미 점유 캐쉬내에 있지 않으면, 블록내의 어떤 워드는 전체 블록이 주메모리로부터 판독되게 한다.
캐쉬내의 어떤 블록은 그것이 또 다른 블록으로 바뀌어 놓여질때까지 또는 그것이 캐쉬 클리어 명령에 의해 캐쉬에서 클리어될때까지 유지된다. 명령 캐쉬(16)는 변경되지 않은 명령 및 간접 워드의 블록을 유지하는 반면에 오퍼랜드 캐쉬는 오퍼랜드 블록, 변경된 명령 및 간접 워드를 유지한다. 오퍼랜드 데이타는 명령캐쉬로부터 인출될 수 없으며, 또한 명령 캐쉬내의 데이타도 변경시킬 수 있다. 그러나 오퍼랜드 캐쉬로부터 명령을 인출하는 것은 가능하지만 연산에 대한 정상 및 요구된 모우드는 명령 캐쉬로부터 명령을 인출하기 위한 것이다. 명령 캐쉬내에 포함된 블록이 기억 또는 데이타 인출 연산을 위해 참조되면, 이 블록은 명령 캐쉬로부터 클리어되고 다시 주메모리(51)에서 인출되어 오퍼랜드 캐쉬(20)내에 놓이게 된다. 요약하면, 오퍼랜드는 오퍼랜드 캐쉬로부터만 인출되어 오퍼랜드 캐쉬로만 기억된다. 명령이 어느 하나의 캐쉬로부터만 인출될 수 있지만 명령 캐쉬에 대해 선택 실행이 된다.
각각의 캐쉬는 8K 36비트 워드에 대해 동반한 기억 장치에 대한 4레벨의 연관 디렉토리를 갖는다. 각각의 캐쉬는 4개의 8워드 블록의 256행으로서 구성된다. 물리적인 메모리의 첫번째는 8워드는 캐쉬의 제1행, 즉 행0으로 맵핑된다.
제2행 즉, 행1상의 8에서 15까지의 워드 및 2,040에서 2,047워드는 마지막 행 즉, 행 255로 맵핑된다. 물리적인 메모리의 각각의 연속한 2K는 유사한 방식으로 캐쉬위로 맵핑된다. 따라서, 8워드 블록의 캐쉬행번호는 그것의 물리적인 메모리 어드레스로부터 알 수 있다. 4개의 레벨에 있어서, 각각의 행은 4개의 8워드 블록에 대한 스페이스를 갖기 때문에, 주어진 캐쉬 장치에 있어서의 특정행에 대한 레벨은 그것의 행에 있어서의 스페이스에 대한 내용이 있기 전에 채워지게 된다. 행내의 레벨이 채워진 후, 행내의 종래 블록은 가장 최근에 사용된 방식으로 대치된다. 따라서, 종래의 8개의 블록을 8워드의 입력 블록으로 대치하기 전에 동일한 행의 5비트가 요구된다. 명령의 8워드 블록이 오퍼랜드 캐쉬내에 있으면, 명령 인출장치(14)는 오퍼랜드 캐쉬로부터 동시에 더블 워드 쌍의 명령을 인출할 수 있으나 오퍼랜드 캐쉬로부터 그것들을 다시 이동시키지 않아도 된다. 일반적으로 명령 인출 장치(14)는 중앙 파이프 라인 장치 구조부(12)의 명령 실행 파이프 라인을 앞서지는 않으며 따라서 이러한 결점이 항상 나타나지도 않지만 이러한 상태는 양호한 명령이 부족한 경우에 중앙 파이프 라인 장치 구조부의 파이프 라인의 파괴를 초래하는 뒤떨어진 명령 인출 파이프 라인을 초래할 수 있다. 스토어에서 캐쉬까지 식별될때 캐쉬내의 스토어에 의해 수행이 높아진다.
모든 스토어 연산이 오퍼랜드 캐쉬로 수행되지만 주메모리(51)로 즉시 수행되지는 않으며, 스토어가 발생된 블록을 대치시키더라도 주메모리(51)(예를들면 제1도의 주메모리(8))로 그 블록을 기록하게 된다. 주메모리내에 기억된 블록이 이미 오퍼랜드 캐쉬내에 있거나 제어 정보가 이미 변경된 8워드 블록을 갖는 것을 가리킨다면, 그 스토어는 오퍼랜드 캐쉬로 완결되고 다른 동작이 전혀 이루어지지 않게 된다. 그러나, 이 블록이 오퍼랜드 캐쉬내에 있으나 아직 변경되지 않았다면, 중앙 처리 장치(10)는 이 블록이 변경된 블록과 연관된 인터베이스 장치(2)를 표시한다. 다음 제어 인터베이스 장치는 소정의 다른 중앙 처리 장치에 기록 표시를 보낸다. 다음 이러한 것들은 그것이 오퍼랜드 캐쉬 혹은 생각으로는 명령 캐쉬중 어느 하나를 가진 8워드 블록의 복사를 무효로 하여야 한다. 데이타 블록이 오퍼랜드 캐쉬에서 스토어 동작으로 되지 않을때 이 블록은 메모리로부터 인출된다. 중앙 처리 장치(10)는 이러한 인출이 블록을 변경할 목적으로 있는 제어 인터베이스 장치(2)로 지시하며, 이 처리기가 블록을 수용할때, 이 블록은 장치 사이의 어떤 추가의 통신없이 변경될 수 있다. 단지 판독 캐쉬 오동작은 중앙 파이프 라인 장치 구조부의 파이프 라인을 데이타에 대해 대기하도록 한다. 스토어 캐쉬 오동작에 있어서, 이 파이프 라인은 데이타에 대해 대기하지 않고 계속한다.
각각의 캐쉬는 이중의 디렉토리를 가짐으로써, 블록을 클리어하거나 시스템 메모리로 블록을 전송하도록 하는 시스템 요구 신호가 수신될때 처리기는 그 블록이 중앙 파이프 라인 장치(12)의 동작을 간섭하지 않고 있는가를 판정하기 위해 이중 캐쉬 디렉트리를 탐색할 수 있다.
요청된 블록이 찾아지면, 처리기는 동작을 개시한다. 그렇지 않으면 이중의 디렉토리는 요청에 응답하고 처리기는 지연되지 않는다.
중앙 장치의 파이프 라인 구조부(12)는 수신되는 각 명령의 연산 코드를 프로그램 순서에 따라 기억 장치의 명령 실행큐(18)로 전송된다. 16개의 명령 실행큐IEQ까지의 워드는 큐(18)내의 기억될 수 있다. 콜렉터 제어부(47)는 실행 장치(24), (26), (28) 및 (30)의 각각에 대한 결과 스택(38), (40), (42) 및 (44)에 위치하거나 기억된 결과치의 독출을 제어하는 각각의 IEQ워드의 연산 코드 이용함으로써, 적합한 프로그램의 순위 결과가 마스터 세이프 기억 장치 MSS(48) 혹은 기억 스택(50)중 어느 한쪽에 기억될 수 있다.
기억 스택(50)내에 기억되어 있는 결과치들은 메모리로의 오퍼랜드 기록용이 된다. 중앙 처리 장치(10)의 프로그램 어드레스 가능 레지스터를 변경하는 명령은 마스터 세이프 기억 장치(48)내에 기억되는 결과치를 생성함으로써, 인터럽트, 고장 또는 하드웨어 에러발생시에 중앙 처리 장치(10)의 프로그램 어드레스 가능 레지스터의 내용이 마스터 세이프 기억 장치(48)에서 이용 가능하게 된다. 현재의 이용도 및 모든 프로그램 어드레스 가능 레지스터의 유효 내용은 인터럽트를 취급하는 폴트 회수를 용이하게 한다. 중앙 처리 장치(10)가 서브 시스템이 되는 데이타 처리 시스템의 주메모리(51)는 명령 캐쉬(16)에 대한 명령과 오퍼랜드 캐쉬(20)에 대한 오퍼랜드를 제공한다. 주메모리(51)로의 모든 적재 또는 기록은 오퍼랜드 캐쉬(20)내에 기억된 데이타로 이루어진다. 따라서, 데이타가 명령 실행의 결과치로서 메모리내에 기록될때마다 필요한 데이타 즉 오퍼랜드는 프로그램 순서대로 기억 스택(50)내에 기억 스택(50)내에 기억되고 오퍼랜드 캐쉬(20)로 기록된다. 오퍼랜드 캐쉬(20)의 블록이 해제됨으로써 새로운 데이타가 블록내로 기록될때, 오퍼랜드 캐쉬 제어는 새로운 데이타가 블록내로 기록되기 전에 주메모리(51)로 기록된 캐쉬의 블록내에 있는 데이타를 갖게 된다.
중앙 파이프 라인 장치(12)는 처리 장치(10)의 모든 동작을 제어하며 여러실행 장치(24, 26, 28, 30)와 연관된 오퍼랜드 및 연산 코드 또는 명령을 전송하는 기능을 가지며 여기서, 각 오퍼랜드 코드의 실제 실행이 수행된다. 중앙 파이프 라인 장치(12)의 제어하에 명령 인출 장치(14)는 명령 캐쉬(16)로부터 우선 명령을 인출하고 장치(14)의 일부인 명령 스택내에 16개의 명령쌍을 로드한다. 중앙 파이프 라인 장치 구조부(12)는 명령 프리페취 장치의 명령 스택으로부터 명령을 얻는다. 중앙 파이프 라인 장치(12)는 일련의 오퍼랜드 어드레스 또는 오퍼랜드 캐쉬로부터의 5단의 시퀀스를 제공하고 동일한 실행 능력을 갖는 실행 장치(24, 26, 28, 30)중 어느 하나에 연산 코드 및 오퍼랜드를 전송한다. 중앙 파이프 라인 장치 구조부(12)는 페이징을 포함한 명령 디코드, 오퍼랜드 어드레스 형식, 이미 처리한 명령과 오퍼랜드 캐쉬의 연관 메로리의 탐색을 수행한다.
실행 장치(24), (26), (28) 및 (30)는 분배기(22)에 의해 여러 실행 장치로 분배되는 중앙 파이프 라인 장치(12) 및 오퍼랜드 캐쉬(20)로부터의 오퍼랜드를 수신한다. 명령의 실행은 일반적으로 현재 레지스터 내용을 기초로한 어떤 결과 형식 및 프로그램 가시 레지스터 혹은 메모리에 변화를 발생하는 입력 오퍼랜드를 포함한다.
중앙 처리 장치(10)는 하나 혹은 하나 이상의 서브 장치로 구성되는 4개의 실행 장치로 제공된다. 이러한 장치들은 부동 소숫점 및 승산과 제산 명령 BINAU(28), 10진 부호 장치 DECCU(30) 및 가상 메모리 및 보안 관리 장치 VMSM(26)를 수행하는 중앙 실행 장치(24), 2진 연산 장치이다. 각각의 실행장치(24), (26), (28) 및 (30)는 명령 및 오퍼랜드를 수신하여 다른 실행 장치의 명령 및 오퍼랜드와는 독립적으로 처리한다. 실행 장치(26) 및 (28)은 각각 입력 스택(32) 및 (34)를 가지며, 더블 워드를 홀딩할 수 있는 스택의 각 레벨을 지닌 16개의 레벨 선입 선출식 스택을 갖는다. 실행 장치(30)는 각각 하나의 더블 워드의 홀딩이 가능한 두개의 16레벨 선입 선출식 스택(36)을 갖는다.
양호한 실시예에 있어서의 더블 워드는 72비트에 패리티 비트를 합쳐서 이루어진다. 아울러, 각각의 실행장치는 연관된 명령 스택을 갖는다. 실행장치(26) 및 (28)는 실행을 대기시키는 16명령까지 홀드하고 반면에 실행장치(30)는 실행을 대기시키는 4명령까지 홀드한다. 실행장치에 수신되거나 할당되는 소정의 명령과 연관 오퍼랜드에 대한 결정은 각 명령의 연산 코드를 검사함으로써 중앙 파리프라인장치(12)에 의해 결정된다. 양호한 실시예에 사용된 특별한 방법은 통상의 테이블 조사 기술이다. 입력스택들(32, 34, 36)은 예를들어, 앞의 승산 실행 사이클 명령의 실행에 대한 완결에 대해 대기하지 않고 클록주기당 하나의 최대 비율에서 실행장치와 연관된 연산 코드들 및 오퍼랜드를 생성하도록 한다.
이러한 장치는 또한 중첩되는 다른 실행장치에서 명령의 실행을 허용한다. 각각의 명령 코드는 이것이 중앙 파이프 라인 장치(12)로부터 수신되는 순서대로 항상 실행된다. 몇개의 실행장치를 갖는 처리장치(10)의 시스템 구성은 주요 레지스터의 복사, 예컨대 A 및 Q가 유지되는 것을 요구한다. 처리를 시작할때, 특정 레지스터의 유효 복사는 어떤 실행장치들중 하나에 있을수도 있고 또한 처리장치(10)내의 어떤 몇개의 다른 레지스터 뱅크에 있을 수도 있다. 중앙 파이프라인 장치구조부(12)는 각각의 레지스터에 대한 유효 복사에 대한 기록을 유지하며, 후속 명령의 실행이 하나의 실행장치로부터 또다른 실행장치로 레지스터의 내용에 대한 복사를 전송하는 것을 요구할때를 인식한다. 그러나, 특정 레지스터의 내용에 대한 유효 복사를 유지하는 것은 파이프라인(12)의 길이에 의해 복잡하게 된다. 폴트(fault)의 발생이전에 즉시 각 어드레스 가능 레지스터의 내용을 결정하는 능력은 폴트로부터의 신속한 회수를 위한 요구 조건이 된다.
어떤 파이프라인 컴퓨터에 있어서, 어느 하나의 명령처리는 다른 실행단에서 몇개의 다른 명령의 처리와 중첩된다. 아울러, 중앙처리 장치(10)에서의 몇가지 명령은 동시에 다른 실행장치에서 실행될 수 있다. 그 결과로 동시에, 파이프 라인(12)의 레지스터 및 실행장치(24), (26), (28) 및 (30)는 몇가지 다른 명령 코드의 실행 및 처리로부터 초래되는 레지스터의 변화를 포함할 수 있다.
명령 프로그램 폴트, 명령처리 에러, 인터럽트가 발생될때 장치(38), (40), (42), (44), (70), (18), (47), (48) 및 (50)를 포함한 콜렉터 장치는 마지막 연속적으로 완료된 명려의 단부에서 중지되어야 한다. 폴트, 에러 또는 인터럽트 이전에 명령의 프로그램 순서로 실행의 결과로서, 모든 레지스터 변경이 완료되어야 하며, 어떤 프로그램 가시레지스터 변화 혹은 프로그램 순서 명령에 있어서 보다 늦은 실행의 결과로서 메모리로의 변경은 삭제되어야 한다. 수집기 장치는 폴트 및 에러 회수를 용이하게 하고 인터럽트를 처리하기 위해 프로그램 어드레스 가능 레지스터의 유효한 현재 복사를 제공한다. 중앙처리 장치(10)에 의해 처리되는 실행에 있어서, 모든 명령에 대한 적합한 프로그램 순서의 기록은 명령 실행큐(18)내에 유지되어 있다. 명령 실행큐(18)는 처리시 모든 명령에 대해 하나의 엔트리를 포함한다. 마스터 세이프 기억장치(48) 및 기억 스택(50)으로의 엔트리들은 순서적으로 되어 있음으로써, 적합한 프로그램 순서로, 예컨대, 명령이 중앙 파이프 라인 장치의 분배기(22)에 의해 명령 실행스택(18)에 기억되는 동일한 순서 혹은 시퀀스로 있어서 언로드된다. 명령 실행큐워드는 명령의 연산 코드를 포함하며 명령이 실행될때 또는 명령이 입력될때 명령의 결과에 있어서 실행결과 스택에 대한 테이블 조사 기법에 의해 식별된다.
이어서 실행된 각각의 명령 결과는 적절한 결과 스택으로부터 마스터 세이크 기억장치(48) 또는 기억 스택(50)으로 전송된다. 따라서, 수집기 장치에 있어서, 명령이 완료되고 각각의 결과들은 프로그램 순서대로 수신되어 정렬된다. 수집기 장치는 또한 모든 메모리 기억명령의 실제 실행을 수행한다. 마스터 세이프 기억장치(48)는 모든 프로그램가시 레지스터의 복사를 포함하므로 이것은 메모리내에 기록된 프로그램가시 레지스터의 내용을 얻기 위해서는 아주 편리하다. 기억 스택(50)을 거친 마스터 세이프 기억장치(48) 또는 실행장치의 결과 스택중 어느 하나로부터 나와 메모리내에 기록되는 데이터와 수집기 장치내의 기억 명령을 조정하는 것은 프로그램순서를 유지하며 그리고 기억 명령내에 수반되는 실행장치(24), (26), (28) 및 (30)에 대한 필요성을 방지한다. 따라서, 이러한 견지에 있어서, 수집기 장치는 기억 명령을 처리하기 위한 또다른 실행장치가 된다. 결과적으로, 간단한 기억들은 두개 혹은 그 이상의 클록 주기를 갖는 다른 명령의 실행과 중첩될 수 있다. 마스터 세이프 기억장치(48)에 기억된 정보를 필요하다고 생각되는 하드웨어명령을 다시 시험하기 위한 중앙처리장치(10)에서 비교적 용이하게 만들 수 있다.
제4a도, 4b도 4c도 및 4d도를 참조하면, 합성 데코어 스크립터와 다양한 오퍼레이팅 시스템에 의해 사용된 디스크립터들의 실시예가 도시되어 있다. 기본 데코어에 대한 디스크립터가 제4a도에 도시되어 있다. 이 디스크립터는 두개의 36비트 데이타 필드를 포함한다. 첫번째 데이타 필드에 있어서, 비트 0 내지 7은 베이스(base)번호를 나타내고 비트 9 내지 16까지는 바운드(bound)번호를 나타내며 나머지 비트들은 여기에서 별 상관이 없는 것이다. 두번째 데이타 필드에 있어서의 비트들 10 내지 17까지는 확장 번호이며, 나머지 비트위치들은 역시 이 설명과는 관계가 없는 것이다. 제4b도에 있어서는 두개의 36비트 필드를 포함하는 가상 데코어 디스크립터가 도시되어 있다. 첫번째 36비트에 있어서, 비트 0 내지 19까지는 바운드 번호를 나타내며 비트 20 내지 28까지는 플래그(flags)번호를 나타내고, 비트 29 내지 31까지는 작업공간 레지스터(WSR)이며 비트 32 내지 35까지는 디스크립터 유형이다. 두번째 36비트 필드에 있어서의 모든 비트들은 베이스 어드레스를 나타내기 위해 사용된다. 제4c도의 멀틱스데코어 디스크립터는 두개의 36비트 필드에 의해 표시된다. 하나의 필드에 있어서, 비트 0 내지 25까지는 페이지 테이블베이스 어드레스이며, 비트 26은 플래그 번호이며, 비트 27 내지 35까지는 링 액세스 정보를 가지며, 두번째 필드에 있어서, 비트 0 내지 7까지는 바운드 번호를 나타내며, 비트 30 내지 35까지는 플래그를 나타내며, 나머지 비트위치들은 관련이 없다. 제4d도에 있어서, VMSM장치에 의해 발생된 합성 데코어 디스크립터는 36비트 필드와 38비트 필드를 포함한다. 첫번째 필드에 있어서의 비트들 0 내지 19까지는 바운드 번호이며, 비트 20 내지 28까지는 플래그 번호이며, 비트 29 내지 31까지는 작업공간 레지스터이며 비트 32 내지 35까지는 디스크립터 식별의 유형이다. 이러한 두번째 필드에 있어서, 전체 38비트 필드는 베이스 어드레스에 대해 이용할 수 있다.
제5도를 참조하면, VMSM장치의 블록도가 도시되어 있다. 더블워드(2×40비트 36비트 PWS패리티)는 중앙장치 파이프 라인 구조부로부터 VMSM장치로 전송되어 입력버퍼장치(511) 및 디스크립터 인출장치(512)에 인가된다. 입력버퍼장치(511)는 중앙장치 파이프라인 구조부 및 VMSM장치의 실행속도와 VMSM장치의 동작을 동기화시키는 선입력선출식 스택(16)으로 이루어진다. 14비트 실행코드는 중앙장치 파이프라인 구조부로부터 VMSM장치로 전송되어 VMSM제어장치(510)에 인가된다. 이 실행코드는 VMSM제어장치(510)에 의해 분석된다. 일반적으로 오퍼랜드의 3가지 유형의 VMSM장치, 디스크립터 혹은 디스크립터 대포인터 혹은 디스크립터 위치 갱신 오퍼랜드에 의해 수신될 수 있으며, 이러한 유형의 오퍼랜드는 주어진 실행코드에 의해 독특하게 결정된다. 포인터 대 디스크립터가 확인되며, 제어장치(510)는 디스크립터 인출장치(512)에 통지한다.
제어장치로부터의 더블 워드 포인터와 신호에 따라, 디스크립터 인출장치는 판독 명령을 생성하고, VMSM장치의 포인터에 의해 참조되는 디스크립터를 얻기 위해 이러한 명령을 중앙장치 파이프라인 구조부로 전송한다. VMSM장치로 들어오는 더블워드가 디스크립터일때, 제어장치(510)는 그 포맷으로부터 오퍼레이팅 시스템에 디스크립터가 속하는지는 판정하기 위해 실행코드를 분석한다. 디스크립터가 속한 데코어가 판정되면, 제어장치(510)는 식별된 데코어에 의해 결정된 방식으로 디스크립터 재구성장치(513)에서 논리부를 조정한다. 그후에도 원래의 디스크립터가 합성 디스크립터 포맷으로 재형성되어 중앙장치의 파이프 라인 구조부(제8도를 참조)의 어드레스 지정장치로 직접 인가된다. 합성 디스크립터의 형성후에 이러한 제어장치(510)는 포맷화 되지 않은 즉, 데코어 의존 디스크립터를 발생하도록 하는 디스크립터 재구성장치((513)내의 논리를 조정한다. 포맷화 되지 않은 디스크립터의 이러한 발생은 상기 디스크립터와 연관된 프로그램 가시 데이타 포맷을 유지하도록 요구된다. 디스크립터 재구성장치(513)에 의해 발생된 이러한 포맷화 되지 않은 디스크립터가 이어서, 동시에 출력버퍼장치(515) 및 디스크립터 마스터 복사장치(514)에 인가된다. 출력버퍼장치(515)는 VMSM장치를 갖는 중앙처리 장치의 나머지 구성 소자의 비동기동작에 대해 제공하기 위한 선입선출식 스택을 포함한다. 다음, 포맷화 되지 않은 디스크립터가 데이타 처리시스템의 분배를 위해 수집기로 전송된다. 디스크립터 마스터 복사장치(514)는 VMSM의 디스크립터 재구성장치(513)에서 사용하기 위한 모든 프로그램 가시 디스크립터 레지스터의 국부적인 복사를 포함하는 내용-어드레스 가능 레지스터 뱅크이다. 디스크립터 스택의 위치 갱신이 확인되면, 각 디스크립터의 복사를 포함하는 디스크립터 마스터 복사장치(514)가 액세스되고, 이 요구된 디스크립터가 추출되어 디스크립터 재구성장치(513)에 인가된다.
제어장치(510)에는 갱신을 위한 요구신호가 통지되고, 디스크립터 재구성장치의 조합논리를 제공하게 된다. 디스크립터 마스터 복사장치(514)로부터 추출된 디스크립터는 먼저 합성디스크립터 포멧으로 재포맷되고, 중앙장치의 파이프 라인 구조부의 어드레스지정 장치(제8도를 참조)에 인가된다. 다음, 디스크립터 재구성장치(513)내의 논리가 조정되어 포맷화 되지 않은 디스크립터가 생성된다. 다음 이러한 디스크립터는 상술된 바와 같은 디스크립터 마스터 복사장치(514) 및 출력버퍼장치(515)에 인가된다. 갱신된 디스크립터는 수집기에 전송하기 위한 출력버퍼장치(515)에 전송될 것이다. 조합논리를 제어하는 것에 부가하여 제어장치(510)는 시간 구간 T1, T2및 T3에 의해 지시되는 바와 같은 VMSM장치의 파이프라인 동작의 시퀀싱을 위한 장치의 순서화, 스택 어드레스지정 및 적절한 스위치 위치를 제어한다.
제6도를 참조하면, 레지스터 스택(610)은 더블 워드 폭으로 되어 있고, 오퍼랜드를 홀드하기 위해 사용된 16깊이의 선입선출식(FIFO)스택이 중앙장치의 파이프라인 구조부에 의해 VMSM장치로 전송된다. 레지스터(611)는 가상 데코어에 대한 오퍼랜드의 SEGID(세그먼트 식별)부를 홀드하기 위해 사용된 레지스터이며 이는 또한 멀틱스 데코어로 오퍼랜드의 세그먼트 번호부를 홀드한다. 레지스터(612)는 디스크립터 재구성장치(513)로부터 중앙장치의 파이프라인 구조부로의 정보를 교대식 데이타 경로를 갖는다. 레지스터(613)는 SEGID 또는 세그먼트 번호를 해독하는데 사용되는 상수를 홀드한다. 스위치(614)는 데이타 스택(610)의 출력에 결합되어 있으며, 워드 정렬, 즉 상위 및 하위워드를 스위치한다. 스위치(615)는 VMSM장치가 중앙장치의 파이프 라인에 삽입되는 명령을 발생할때와 SEGID 또는 세그먼트 번호에 의해 특성화 되는 영역에 선택할때 사용된다. 레지스터(612)는 파이프라인으로 삽입되는 명령을 발생시키는 대체 방법일 수도 있다. 조합논리 블록(616)은 가상 데코어 SEGID영역이나 Multics 세그먼트 번호 영역을 해독하는 장치이며, 이 논리부는 요구된 세그먼트 디스크립터가 현재 VMSM 마스터 복사장치(514)내에 있는지 또는 디스크립터가 메모리로부터 인출되어야 하는지를 결정하는데 사용된다. 디스크립터 재구성장치(513)내의 레지스터(617)는 스택(610)의 출력인 입력 오퍼랜드를 홀드한다. 레지스터(618)는 디스크립터를 홀드하는데 사용되고 레지스터(618)의 입력은 원-오브-투 스위치인데, 그 스위치는 VMSM장치가 중앙장치 파이프라인 구조부에 의해 인출되어 데이타 스택(610)으로 로드되는 디스크립터를 선택하거나 혹은 SEGIDL 세그먼트 번호 영역이 VMSM 마스터 복사(514)에 있는 디스크립터를 참조하는 상황에서, 디스크립터가 디스크립터 스택(626)에서 액세스되도록 작동한다. 디스크립터 재구성장치(513)는 스위치(619), (620)와 연산논리 장치(621)를 구비한다.
3개의 구성소자들은 다양한 동작 시스템 디스크립터를 구성하고 합성 디스크립터 포맷으로 재구성된다. 레지스터(622)는 스위치(619)에 결합되어 있다. 합성 디스크립터가 연산 논리장치(621)에서 생성된 후, 이 디스크립터는 레지스터(624)에 저장된다. 이 레지스터(624)는 모든 합성 디스크립터를 홀드하고 또한 표준 데코어 종속 디스크립터도 홀드한다. VMSM장치가 디스크립터 레지스터를 수정할 명령들을 처리할때, VMSM장치가 데코어 종속 디스크립터 포맷을 합성 디스크립터로 변환시켜서 중앙장치의 파이프 라인 구조부 어드레스 하드웨어로 로드한다. 추가로 VMSM장치는 모든 내부 레지스터에서 데코어 종속 디스크립터를 그 포맷(즉, 형성되지 않은 포맷)으로 사용한다. 예를들면, 가상 데코어 디스크립터가 액세스되고 디스크립터가 합성 디스크립터로 변환될때, 합성 디스크립터만이 중앙장치의 파이프라인 구조부에 전송된다. 중앙 장치의 파이프라인 구조부에서 어드레스 지정 하드웨어만이 합성 디스크립터를 사용한다. 합성 디스크립터 또는 표준 디스크립터가 제공된 후, 디스크립터는 레지스터(624)에 저장된다. 레지스터(624)는 디스크립터가 사용할 수 있는 3개의 데이타 경로를 갖고 있다. 디스크립터가 합성 디스크립터이면, 이 디스크립터는 디스크립터 스택에 저장되기 위해 중앙장치의 파이프라인 구조부에 전송된다. 이 경로는 레지스터(624)에서 스위치(633)을 거쳐 중앙장치 파이프라인 구조부에 연결된 경로이다.
디스크립터의 다른 포맷은 표준 데코어 종속 포맷이며 이것은 2개의 다른 데이타 경로를 갖고 있다. 그중 제1경로에 속하는 스택(626)은 레지스터 화일 또는 레지스터 스택으로 되어 있고 80비트폭(즉 2워드)으로 구성되고 16개의 디스크립터를 갖추는데, 그 디스크립터는 상술한 방법으로 레지스터 화일에 저장되고 그 내용은 어드레스되어 후에 사용될 수 있다. 그 스택은 디스크립터 마스터 복사 장치(514)로 주지된 것이고 더블워드는 정렬 스위치(634)를 통해 전송된다. 이 스위치는 워드 정렬을 제공한다는 점에서 스위치(614)와 동일하다고 할 수 있는데, 즉 상위 워드가 하위 워드와 함께 스위치된다. 스위치(634)의 더블 워드 출력은 디스크립터 재구성장치(513)의 입력으로 제공된다. 이 경로는 가상 데코어 SEGID 또는 멀틱스 세그먼트 번호가 조합 논리 장치(616)에 의해 결정된 VMSM장치에 이미 저장되어 있는 디스크립터를 참조하는 경우에 사용된다. 이런 경우에, 디스크립터는 디스크립터 마스터 복사 스택(626)에서 출력되어 스위치(634)를 거쳐서 디스크립터 재구성 장치(513)에 있는 입력 레지스터(618)에 로드된다. 제2경로는 데코어 종속 디스크립터가 VMSM결과 스택(625)(제2도의 40번 참조)을 사용할때 이용된다. 시간과 실행장치에 따라 프로그램 가시(visible) 레지스터가 변하는 기계에서, 수집기는 프로그램 가시 레지스터에 대한 마스터 복사를 구비해서, 프로그램 개시 레지스터의 복사를 새롭게 하기 위해 그 결과를 알려주는데, 결과 스택(625)이 그러한 결과를 알려주기 위한 기구로 제공된다. 이 스택은 더블워드 폭과 16깊이를 가진 선입선출식 스택으로서 VMSM장치가 이 스택에 데이타를 로드하는 것을 제어하고 수집기가 이 데이타를 검색하는 것을 제어하는데 사용된다. VMSM장치는 그것이 결과를 발생했을때 그 결과를 저장하는데, 즉 레지스터(624)에 출력을 저장하고 그 결과 출력을 스택(625)에 로드한다.
수집기는 결과 판독을 제어하고 소정 명령이 처리될때 그 결과를 읽어낸다. 레지스터 스택(625)의 출력은 스위치(633)를 거쳐 수집기에 전송된다. VMSM으로부터 발생된 더블워드 폭의 데이타 출력은 중앙장치의 파이프 라인 구조부와 수집기에 전송된다. 스위치(633)는 소정의 데이타를 이러한 두개의 수신지로 다중화하는데 사용된다. 스위치(633)는 파이프 라인 구조부로 진행하는 디스크립터가 항상 우선 순위를 갖도록 정렬된다. 어떤 시간에서도 레지스터(7624)가 중앙장치의 파이프 라인 구조부에 전송될 합성 디스크립터를 갖고 있으므로, 스위치(633)는 그 레지스터의 내용을 중앙 장치 파이프 라인 구조부에 전송한다. 다른 상황에서, 즉 레지스터(624)가 합성 디스크립터를 갖고 있지 않을 때 스위치(633)는 결과스택(625)의 출력을 전송하기 위해 정렬된다. 출력 스위치(633)는 서로 다른 2개의 장치에 단일 데이타 출력을 전송할 수 있는 특정회로를 사용한다. 제어 논리 영역(510)에 있어서, VMSM장치는 모든 명령에 대해 14비트폭의 확장코드를 수신한다. 이는 명령을 처리하기 위해 실제 명령어 연산 코드를 VMSM에 대한 14비트 필드로 변환만하며, 이 입력은 실행코드로 선입 선출식 스택(627)에 전송된다. 이 스택은 VMSM장치가 실행코드를 저장하는데 사용하는 14비트 폭과 16깊이를 가진 스택이다. 이 스택을 선택한 이유는 파이프 라인이 모든 사이클에 있어서 1개의 새로운 명령에 대해 최대율로 새로운 명령들을 발생하기 때문이지만, VMSM장치는 일반적으로 이러한 명렬들을 처리하는데 더 오랜시간이 걸린다. 그러므로, 스택(627)은 중앙장치 파이프라인 구조부의 VMSM의 동작과 동기한다. 명령은 VMSM장치에 보내지고 VMSM장치는 정상적으로 명령을 처리한다. VMSM장치가 현재 명령의 실행을 완료할 때마다 스택이 검사된다. 추가 명령이 실행되면, 후속 실행 코드가 판독되어 레지스터(628)로 전송된다.
레지스터(628)는 14비트의 레지스터로서 VMSM명령 레지스터를 나타내며, VMSM장치가 계속 동작 할때 명령의 실행코드를 갖는다. 레지스터(628)에 결합된 스위치는 스택(627)이 비어 있는 경우에 VMSM장치가 명령을 즉시 실행하도록 하는 원-오브-투 스위치이다. 실행코드는 스택(627)과 레지스터(628)에 동시에 전송된다. VMSM장치는 유용할때 명령을 즉시 실행한다. 명령레지스터(628)는 데이타 스위치(629)에 결합되고 데이타 셀렉터는 다양한 제어 저장 어드레스에 대한 정보를 게이트하는데 사용된다. 스위치(629)의 출력은 레지스터에 전송되며, 이 레지스터는 8비트로 구성된 제어 저장 어드레스 레지스터이다. VMSM제어장치는 본질적으로 제어 저장 구동 프로세서이다. 레지스터(629)는 제어 저장 어드레스를 포함한다. 이 8비트의 어드레스 레지스터가 256깊이와 76비트폭을 가진 제어 저장(630)장치를 어드레스 지정한다. 제어 저장 비트들은 제어논리가 스위치를 제어하는데 사용되고, 입력버퍼 장치에 있는 연산논리 장치와 조합논리장치에 이용되고, 디스크립터 인출 장치와 재구성 장치에 이용된다. 이러한 제어신호들은 제어저장(630)장치에서 출력된다. 추가로 제어 저장 장치(630)는 제어 저장 어드레스 레지스터가 진행되어야 하는 후속 단계에 대한 정보를 명세화하는 9비트 영역을 갖추고 있다. 이 영역의 8비트는 후속 동작 어드레스용으로 사용된다. 다른 비트는 어드레스가 사용되었는지를 판별한다.
스위치(629)는 3개의 입력을 갖는데, 그중 하나는 명령 레지스터(628)에 저장된 실행코드를 게이트하고 다른 하나는 제어 저장 장치(630)에서 출력되는 8비트의 후속단 어드레스를 사용하고, 나머지 하나는 현재의 제어 저장 장치의 어드레스를 증가시키는데 이용된다. 제어 저장 스위치 및 레지스터(631)는 상술한 것과 동일한 것이며, 이것은 제어저장(632)의 후속상태 정보와 실행 코드 개시에 있어서 명령에 대한 실행 코드 개시를 선택하는 제3위치를 구비한다. 어드레스 지정도 동일하고, 후속 상태 정보를 나타내는 9비트 영역은 제어 저장 장치의 어드레스에 대해 후속상태를 지시하는 8비트와 후속 상태를 확인하는 1비트로 구성된다. 제어 저장 장치(632)의 출력은 출력버퍼 장치(515)와 디스크립터마스터 복사 장치(514)를 제어하고 또한 VMSM장치와 중앙장치 파이프 라인 구조부 사이의 인터페이스도 제어한다. 제어 저장 장치(632)는 256개의 위치와 32비트 폭을 갖고 있다. 이 정보는 출력버퍼장치(515)와 VMSM장치에 있는 디스크립터 마스터 복사장치(514)를 제어하는데 사용된다. 제어 저장의 어드레스 지정은 아래에서 상세히 기술될 것이다. VMSM장치에 입력되고 VMSM명령 레지스터(628)에 로드되는 14비트의 실행코드는 3개의 영역으로 분할된다. 나머지 비트들은 사용되고 있는 디스크립터를 참조하는 4비트영역 2개의 분할된다. 6개의 비트들은 VMSM장치가 명령을 실행할때 스위치(629)를 통해 전송된다. 스위치(629)는 모든 명령에 대한 초기 제어 저장 액세스에 제공되며, 이러한 경우의 제어저장 어드레스는 두개의 0이 더해진 6비트가 개시 8비트 어드레스를 제공하도록 마지막에 두개의 0으로 버퍼된 6비트 실행코드 값과 동일하다. 8비트 어드레스는 주어진 명령을 우선적으로 제어 저장 장치에 색인하는데 사용된다. 주어진 명령에 대한 제1위치가 액세스되면, 두가지의 가능성이 후속 어드레스에 존재한다.
제어 저장 장치가 시퀀스되는 경우에 카운터가 증가되고 또는 후속 상태 필드가 9비트 필드이면 전송이 필요한 어드레스를 지정할 수 있다. 이러한 메카니즘은 VMSM장치가 소정의 시퀀싱 성능을 제공하도록 하고 이러한 명령이 처리될때 여러 명령상태를 참조하기 위해 제어 저장 장치를 어드레스 지정한다. 스위치(631)도 동일한 기능으로 작동된다. VMSM이 유휴상태에 있을때(즉 명령을 처리하기 위해 대기중일 때), 제어 저장 장치는 위치 255에서 액세스된다. 이것은 레지스터(629), (631)가 225값을 갖고 있다는 것을 의미하고 그리고 그것은 2개의 제어 저장 장치에서 마지막 위치를 액세스 한다는 것을 의미한다. 이 위치는 NO OP위치가 된다. 명령이 VMSM에 입력되고 소정의 명령이 개시될때, 2개의 0(영)이 더해진 6비트 실행코드는 위치 255에서 명령의 개시 어드레스까지의 어드레스를 변경시키는데 사용된다. 제어 저장 장치를 통한 시퀀스가 레지스터(629)를 증가시킴으로써 수행되거나 혹은 어드레스를 변경시키는 제어 저장 장치에 포함된 후속 상태 정보를 이용함으로써 수행된다. VMSM장치가 명령을 완료했을 때, 그 명령에 대한 마지막 상태 엔트리는 위치 255로의 전송을 포함한다. 이 마지막 상태 위치가 액세스될때, 위치 255에 대한 전송은 완료되고 VMSM은 그 지점에서 다시 유휴상태에 있게 된다. 그러므로 VMSM장치는 저장 제어 구동장치이며 제어 저장 장치(630)에서 출력되는 제어신호들이 입력버퍼장치(511), 디스크립터 인출장치(512)와 디스크립터 재구성장치(513)를 제어하는 반면에 제어 저장 장치(632)에서 출력되는 제어 신호들은 디스크립터 마스터 복사 장치(514)와 출력 버퍼 장치(515)를 제어한다.
VMSM장치의 동작은 가상 데코어 로드 포인터 명령을 실행하는 것으로 설명된다. 로드 포인터 명령은 가상 데코어측에서 보면 기본 명령이며, 오퍼랜드는 디스크립터 레지스터에 간단하게 로드되는 세그먼트 디스크립터를 참조하는 포인터인다.
VMSM장치에서의 명령 실행은 중앙 장치 파이프라인이 포인터 레지스터를 로드하기 위해 VMSM장치에 14비트의 실행 코드를 보내는 것으로 시작된다. 이 14비트 실행코드는 중앙 파이프 라인의 제3사이클에서 VMSM장치로 들어가고 그 사이클 종료 부분에서 VMSM명령 레지스터(628)에 로드된다. 중앙장치 파이프 라인은 동시에 그 명령에 대한 1개 워드 오퍼랜드를 액세스한다. 중앙 파이프 라인의 제4사이클에 있어서 VMSM실행 레지스터(628)는 제어 저장 장치에 대한 개시 어드레스를 생성하고 이것은 스위치(629)를 통해 게이트된다. 6비트 실행코드는 로드 포인터 형태의 명령 수행을 지시한다. 2개의 0이 코드의 끝부분에 가산되고 그 코드가 중앙 파이프 라인의 종료 부분에서 레지스터(629)로 로드된다. 동시에, VMSM장치의 중앙 장치 파이프 라인에 의해 인출된 오퍼랜드가 분배기에서 출력되어 데이타 스택(610)에 로드된다. VMSM장치는 오퍼랜드의 SEGID영역을 재 이동시켜 레지스터(611)에 SEGID를 로드한다.
제5사이클의 종료 부분에서, 레지스터(629)는 제어 저장 어드레스 즉, 이 로드 포인터 명령에 대한 제어 저장 장치에서의 개시위치를 홀드하고, 데이타 스택(610)은 데이타 스택에 저장된 명령에 의해 사용된 오퍼랜드를 갖고 레지스터(611)는 데이타 스택에 저장된 12비트 영역의 가상 데코어 세그먼트 본체 영역을 갖는다. 다음 사이클에서, 오퍼랜드가 스택(610)에서 판독되고 정렬 스위치(614)를 통해 게이트되어 레지스터(617)에 로드된다. 또한 이 사이클에서 레지스터(611)에 저장된 SEGID영역은 레지스터(613)에 저장된 계수에 따라 조합 논리 장치(616)에 인가되고 그리고 SEGID의 디코드가 행해진다. 이 디코드는 SEGID영역이 메모리에서 인출된 디스크립터를 참조했는지 혹은 VMSM장치에 이미 사용된 디스크립터를 참조했는지를 판정한다. SEGID영역이 조합 논리장치(616)에 의해 판정될때, SEGID영역이 VMSM장치에 의해 인출된 디스크립터를 표시한다고 가정하면, 스위치(615)는 레지스터(611)에 포함된 SEGID영역을 선택하고 명령의 영역으로 형성한다.
제5사이클에서, 명령이 형성되어 중앙장치 파이프 라인으로 보내진다. 명령의 포맷(제3도 참조) VMSM장치의 디스크립터를 인출하기 위한 파이프라인을 알려주는 특수 OP코드를 사용한다. 스위치(615)의 출력은 이 명령에 대한 Y영역이다. 이 특수명령에 대한 OP코드는 조합 논리장치(616)에 의해 생성되고 명령의 비트들(18, 35)을 갖는다. VMSM장치는 36비트 명령을 발생시켜 그것을 중앙 장치 파이프라인에 전송한다. 이 명령은 어드레스 및 OP코드를 구비해서 중앙 장치 파이프라인이 이 어드레스를 이용하여 디스크립터를 인출하고 VMSM장치에 2개의 워드 디스크립터를 전송하도록 한다. 명령이 중앙장치 파이프라인에 전송되고, 파이프라인이 그에 따른 동작을 수행하고, 디스크립터가 메모리로부터 인출된 후에, 디스크립터는 분배기에서 VMSM데이타 스택(610)으로의 2워드 폭 인터페이스로 파이프 라인이 VMSM장치 대신에 인출동작을 수행하는 동안, VMSM장치는 이 디스크립터를 기다린다. 디스크립터가 도작했을 때, 중앙 파이프라인의 제5사이클에서, 디스크립터는 데이타 스택(610)으로 로드된다. 다음 사이클에서, 디스크립터는 데이타 스택(616)으로부터 추출되어 스위치(614)를 통해(간단한 형태의 디스크립터 로드의 경우에는 스위치에 의해 수행되는 데이타 재정렬이 없음), 레지스터(618)의 디스크립터 재구성장치(513)로 전송된다. 이 레지스터와 연관된 스위치는 데이타 스택(610)의 디스크립터를 선택하도록 세트된다. 다음 사이클에서, 레지스터(618)에 현재 존재하는 디스크립터가 합성 디스크립터를 형성하기 위해 스위치(620)를 통해 게이트된다.
연산 논리 장치(621)는 요구되는 조작을 무엇이든지 수행한다. 간단한 로드 포인터 형태의 명령에 있어서는, 연산 논리 장치는 그를 통해 스위치(620)의 내용을 전송한다. 합성 디스크립터는 가상 데코어 디스크립터와 유사한 합성 디스크립터를 갖춘 레지스터(624)로 로드된다. 다음 사이클에서, 레지스터(624)의 합성 디스크립터는 중앙장치의 파이프라인 구조부에 전송된다. 동시에 합성 디스크립터(624)는 포인터 레지스터가 로드되는 위치로 디스크립터 마스터 복사 스택에 로드된다. 예를들어 포인터 레지스터(7)가 로드되면, 레지스터(624)의 내용은 마스터 복사 스택(626)에 있는 포인터 레지스터(7)에 대해 지정된 위치로 로드된다. 레지스터(624)의 디스크립터는 결과 스택(625)에 로드된다. 합성 디스크립터가 3개의 동시 동작을 포함하는 경우에, 이러한 처리형태는 가상 데코어에 대해 유일한 것이다. 다른 데코어 즉 멀틱스 데코어 및 기본 데코어에 대해, 디스크립터가 생성되어 스위치(633)를 거쳐 중앙장치 파이프 라인 구조부에 전송된다. 다른 사이클에서, 데코어 종속 포맷이 생성되어 마스터 복사 레지스터(626)와 결과 스택(625)에 저장된다.
다시 가상 데코어에 있어서 예를들면, 이러한 동작들이 출력 버퍼 장치(515)와 디스크립터 마스터 복사(514)에서 수행되는 동안, 디스크립터 재구성장치(513)는 SEGID영역을 처리하는데, 이것은 VMSM장치가 로드 디스크립터 연산을 발생시키는 제2결과치가 된다. 제1결과는 디스크립터 자체이며, 제2결과는 SEGID이다. 이런 상황에서, SEGID데이타는 레지스터(617)내에 있어야 하며 이는 스위치(619)와 연산 논리 장치(621)를 통해 게이트된다. 다음 사이클에서, SEGID는 레지스터(624)에 포함되고 수집기가 SEGID의 자체 복사를 새롭게 할 수 있도록 결과 스택(625)에 로드된다. 상술한 제어 논리부(510)를 고찰하면, 제어 저장 장치의 제1위치는 VMSM장치가 중앙장치 파이프 라인 구조부의 디스크립터를 필요로 하는지 혹은 디스크립터가 유용한 것인지의 판단 여부가 완료됨과 동시에 액세스된다. 중앙 파이프 라인이 디스크립터를 인출함과 동시에, 제어 논리부는 그 디스크립터가 VMSM장치에 전송될때까지 대기한다.
디스크립터가 데이타 스택(610)에 도착되면, 제어논리부는 계속 진행되고 새로운 제어저장 위치를 액세스한다. 로드 포인터 명령이 완료될때, 제어 저장은 255상태(NO OP상태)에서 분기되고 다음 명령이 도착할때까지 255번지에서 루프(loop)될 것이다.
다음 제7a, 7b, 7c 및 7d도를 참조하면 기본 데코어, 멀틱스 데코어, 가상 데코어 및 합성 데코어의 어드레스 형식의 비교가 도시되어 있다. 각각의 데코어에 있어서, 중앙 어드레스를 얻기 위한 초기 어드레스 기능은 본 발명의 양호한 실시예에 대한 명령 워드로부터의 Y영역의 조합 및 명령 워드의 태그(tag)영역에 의해 결정된 레지스터와 명령워드의 Y영역에 대한 3개의 가장 중요한 비트에 의해 결정된 ARn 레지스터를 포함한 유효 어드레스로써 언급되어 있다. 다음 단계는 가상 어드레스로서 언급된 중간 어드레스를 제공하기 위한 것이다. 제7a도를 참조하면 가상 어드레스는 디스크립터의 확장필드로부터 얻어진 BER필드와 디스크립터의 베이스 필드로부터 얻어진 BAR필드(제4a도를 참조할것)로 유효 어드레스를 결합함으로써 형성된다. 제7b도를 참조하면 멀틱스 데코어 어드레스는 멀틱스 디스크립터 베이스필드(제4c도를 참조할 것)로부터 베이스 필드로서 유효 어드레스를 결합함에 의해 형성된다.
가상 어드레스는 페이지 번호 및 페이지 오프셋을 포함한다. 제7c도를 참조하면, 가상 어드레스는(디스크립터 베이스필드로부터)베이스필드를 유효 어드레스를 갖는 작업 공간 번호와 결합함으로서 가상 데코어내에 형성된 가장 어드레스는 유효 작업공간(EWS)필드, 페이지 번호 필드 및 워드 필드를 포함한다. 제7d도에 있어서, 합성 데코어 어드레스 형식에 대한 가상 어드레스는 디스크립터 베이스 필드로부터 얻어진 베이스 필드를 지닌 유효 어드레스와 작업 공간번호를 결합함으로써 얻어진다. 합성 데코어의 가상 어드레스는 유효작업 공간필드(EWS), 페이지 번호 필드 및 워드 번호 필드를 포함한다. 양호한 실시예에 있어서, 예시되지는 않았지만 멀틱스의 가상 어드레스는, 가상 및 합성 데코어는 실제 어드레스를 얻기 위해 모두 페이징된다. 기본 어드레스에 있어서, 가상 어드레스는 실제 어드레스와 동일하다. 아울러, 양호한 실시예에 있어서, 페이지 동작은 물리적인 어드레스, 예컨대, 메모리의 물리적 기억 장치의 어드레스 공간내의 어드레스를 얻기 위해 실제 어드레스로서 수행된다.
다음 제8도를 참조하면, 가상 어드레스 형식에 대한 구성소자의 개략 도면이 도시되어 있다. 명령 레지스터(818)는 어드레스 필드를 포함한다. Y어드레스 필드의 최고차 순위의 3비트가 VMSM에서 로드된 합성 디스크립터로서 이미 로드되는 16레벨 디스크립터 스택(802)과 8레벨 ARn 스택(803)을 어드레스하기 위해 사용된다. 명령 워드의 비트 29는 두개의 스택이 실제로 어드레스 지정되었는지를 판정하기 위해 게이트(802)를 제어한다. 유사하게, 태그영역으로 언급된 명령 워드의 비트 30 내지 35까지는 AQx(810)스택의 액세스를 제어한다. 비트 18 내지 27까지의 필드에 포함된 OP코드는 여러필드들이 어드레스를 형성하기 위해 어떻게 결합되는지를 결정한다. 이 도면은 VMSM장치가 디스크립터 마스터 복사스택(626)을 포함하기 위한 스택의 위치를 도시한다.
디스크립터가 주메모리 장치(3)로부터 추출되어 중앙처리 장치(1)로 전송될 때, 이 디스크립터는 VMSM장치에 의해 합성 디스크립터 포맷으로 재지정된다. 이러한 방법에 있어서, 어드레스 형식에 필요한 데이타는 필요시에 식별될 수 있다. 예를들면, 합성 포맷의 베이스 어드레스는 항상 동일한 위치에 있다. 따라서, 이 장치는 각각의 어드레스 지정법에 대해 필요하지는 않으나 합성 어드레스 지정 메카니즘은 모든 디스크립터 포맷을 사용하는 것이 가능하다. 이와 마찬가지로, 플래그가 합성 디스크립터에서 표준 위치를 발견할 수 있는 것처럼 다른 제어부가 디스크립터에서 정상적으로 발견되어, 이 합성 장치가 사용되는 데코어 종속장치로부터 구별될 수 있다.
전술한 설명은 양호한 실시예의 동작을 설명한 것이지 본 발명의 범위를 제한하는 것이 아니다. 본 발명의 범위는 첨부된 특허청구범위에 의해서만 제한된다. 상술한 바로부터, 이 기술에 숙련된 자가 본 발명의 진의 및 범위를 벗어나지 않는 한도내에서 여러 변화를 가할 수 있는 것은 명백하다.

Claims (3)

  1. 복수의 오퍼레이팅 시스템의 제어하에서 동작하며, 교체 불가능한 포맷을 갖는 디스크립터(제4a, 4b, 4c도)에 의해 제어되는 상기 각 오퍼레이팅 시스템에 의해 데이타를 처리하는 데이타 처리 시스템에서 상기 각 오퍼레이팅 시스템의 디스크립터 포멧(제4a, 4b, 4c도)과 호환성있는 디스크립터 포맷(제4d도)을 생성하기 위한 장치에 있어서, 상기 오퍼레이팅 시스템 디스크립터를 기억하는 입력 장치(511)와 ; 상기 오퍼레이팅 시스템 디스크립터와 명령을 수신하고, 상기 오퍼레이팅 시스템 디스크립터 각각에 대한 포맷을 결정하는 장치를 포함하는 제어장치(510)와 ; 상기 입력 장치(511)와 상기 제어장치(510)에 결합되어, 상기 제어 장치(510)로부터의 신호에 따라서 상기 오퍼레이팅 시스템 디스크립터를 상기 호환성 디스크립터 포맷을 갖는 디스크립터로 변경시키는 재구성 장치(513)를 구비하는 것을 특징으로 하는 호환성 디스크립터 포맷 생성장치.
  2. 제1항에 있어서, 데이타 처리 시스템의 어드레스 지정 메카니즘의 디스크립터 스택(802)에 놓인 디스크립터 복사본을 갖는 디스크립터 마스터 복사 장치(514)를 포함하는데, 이 디스크립터 복사본은 상기 디스크립터 스택(802)에서 디스크립터를 재배치하는데 이용되는 것을 특징으로 하는 호환성 디스크립터 포맷 생성장치.
  3. 데이타 처리 시스템에서 복수의 디스크립터 포맷(제4a, 4b, 4c도)과 호환성 있는 합성 디스크립터(제4d도)를 제공하는 방법에 있어서, 상기 데이타 처리 시스템의 중앙 처리장치(1)에 인가되는 디스크립터(제4a, 4b 또는 4c도)의 포맷을 결정하는 단계와 ; 상기 결정된 디스크립터 포맷(제4a, 4b 또는 4c도)을 근거로하여 상기 합성 디스크립터(제4d도)를 생성하기 위해 논리 소자들을 배열하는 단계와 ; 데이타 처리에 사용하기 위해 상기 합성 디스크립터(제4d도)를 상기 중앙 처리장치(1)에 인가하는 단계를 구비하는 것을 특징으로 하는 합성 디스크립터 제공방법.
KR1019830004861A 1982-10-14 1983-10-14 데이타 처리 시스템에 있어서 합성 디스크립터를 제공하는 장치 및 방법 KR920005852B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/434,345 US4597044A (en) 1982-10-14 1982-10-14 Apparatus and method for providing a composite descriptor in a data processing system
US434345 1982-10-14

Publications (2)

Publication Number Publication Date
KR840006531A KR840006531A (ko) 1984-11-30
KR920005852B1 true KR920005852B1 (ko) 1992-07-23

Family

ID=23723846

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019830004861A KR920005852B1 (ko) 1982-10-14 1983-10-14 데이타 처리 시스템에 있어서 합성 디스크립터를 제공하는 장치 및 방법

Country Status (7)

Country Link
US (1) US4597044A (ko)
EP (1) EP0107449B1 (ko)
JP (1) JPS59132044A (ko)
KR (1) KR920005852B1 (ko)
AU (1) AU571462B2 (ko)
CA (1) CA1205563A (ko)
DE (1) DE3380973D1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60500187A (ja) * 1982-12-30 1985-02-07 インタ−ナシヨナル・ビジネス・マシ−ンズ・コ−ポレ−シヨン データ処理システム
JPH0630075B2 (ja) * 1984-08-31 1994-04-20 株式会社日立製作所 キャッシュメモリを有するデータ処理装置
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
US5056003A (en) * 1985-06-17 1991-10-08 International Business Machines Corporation Distributed data management mechanism
US4747040A (en) * 1985-10-09 1988-05-24 American Telephone & Telegraph Company Dual operating system computer
US5101494A (en) * 1986-09-26 1992-03-31 Bull Hn Information Systems Inc. System for producing memory maps by interpreting a descriptor file which identifies and describes the data structures present in memory
US5265220A (en) * 1986-12-23 1993-11-23 Nec Corporation Address control device for effectively controlling an address storing operation even when a request is subsequently cancelled
JPS63317828A (ja) * 1987-06-19 1988-12-26 Fujitsu Ltd マイクロコ−ド読み出し制御方式
US5029105A (en) * 1987-08-18 1991-07-02 Hewlett-Packard Programmable pipeline for formatting RGB pixel data into fields of selected size
JPH0195347A (ja) * 1987-10-08 1989-04-13 Nec Corp アドレス変換方式
US5179703A (en) * 1987-11-17 1993-01-12 International Business Machines Corporation Dynamically adaptive environment for computer programs
GB8814630D0 (en) * 1987-11-17 1988-07-27 Ibm Dynamically adaptive environment for computer programs
US5214770A (en) * 1988-04-01 1993-05-25 Digital Equipment Corporation System for flushing instruction-cache only when instruction-cache address and data-cache address are matched and the execution of a return-from-exception-or-interrupt command
EP0365322A3 (en) * 1988-10-19 1991-11-27 Hewlett-Packard Company Method and apparatus for exception handling in pipeline processors having mismatched instruction pipeline depths
AU4414889A (en) * 1988-10-21 1990-05-14 A.C. Nielsen Company Software operating environment
US5051894A (en) * 1989-01-05 1991-09-24 Bull Hn Information Systems Inc. Apparatus and method for address translation of non-aligned double word virtual addresses
US5155831A (en) * 1989-04-24 1992-10-13 International Business Machines Corporation Data processing system with fast queue store interposed between store-through caches and a main memory
US5179662A (en) * 1989-08-31 1993-01-12 International Business Machines Corporation Optimized i/o buffers having the ability to increase or decrease in size to meet system requirements
GB2240861A (en) * 1990-02-09 1991-08-14 Hewlett Packard Co Apparatus and method for adapting computer program from one operating environment to another
US5548779A (en) * 1993-12-21 1996-08-20 Taligent System for providing system services for a device to a client using stack definition and stack description of a stack having top, intermediate, and bottom service objects
US5566346A (en) * 1993-12-21 1996-10-15 Taligent, Inc. System for constructing hardware device interface software systems independent of operating systems including capability of installing and removing interrupt handlers
US5590297A (en) * 1994-01-04 1996-12-31 Intel Corporation Address generation unit with segmented addresses in a mircroprocessor
US5842226A (en) * 1994-09-09 1998-11-24 International Business Machines Corporation Virtual memory management for a microkernel system with multiple operating systems
US5983025A (en) * 1995-06-07 1999-11-09 International Business Machines Corporation Computer system buffers for providing concurrency and avoid deadlock conditions between CPU accesses, local bus accesses, and memory accesses
US6237083B1 (en) 1998-02-13 2001-05-22 Advanced Micro Devices, Inc. Microprocessor including multiple register files mapped to the same logical storage and inhibiting sychronization between the register files responsive to inclusion of an instruction in an instruction sequence
JP2000322264A (ja) * 1999-05-12 2000-11-24 Mitsubishi Electric Corp 電子機器
CN100593952C (zh) * 2004-08-31 2010-03-10 松下电器产业株式会社 多路复用器及多路复用方法
US7756798B2 (en) * 2007-03-06 2010-07-13 Oracle International Corporation Extensible mechanism for detecting duplicate search items
US8271493B2 (en) * 2007-10-11 2012-09-18 Oracle International Corporation Extensible mechanism for grouping search results
KR101283469B1 (ko) * 2009-08-31 2013-07-12 한국전자통신연구원 프로세서 명령어의 메모리 액세스 방법 및 장치
US10540143B2 (en) * 2015-10-24 2020-01-21 Alan A. Jorgensen Apparatus for calculating and retaining a bound on error during floating point operations and methods thereof
US11023230B2 (en) * 2015-10-24 2021-06-01 Alan A. Jorgensen Apparatus for calculating and retaining a bound on error during floating-point operations and methods thereof
US9817662B2 (en) * 2015-10-24 2017-11-14 Alan A Jorgensen Apparatus for calculating and retaining a bound on error during floating point operations and methods thereof

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE758813A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Structures de programme pour la mise en oeuvre de systemes de traitement d'information, communes a des langages de programme de niveau plus eleve
US4135242A (en) * 1977-11-07 1979-01-16 Ncr Corporation Method and processor having bit-addressable scratch pad memory
JPS6013501B2 (ja) * 1978-09-18 1985-04-08 富士通株式会社 仮想計算機システムにおけるチヤネルアドレス制御方式
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
AU2015183A (en) * 1982-10-14 1984-04-19 Honeywell Information Systems Incorp. Data processing system

Also Published As

Publication number Publication date
JPS59132044A (ja) 1984-07-30
KR840006531A (ko) 1984-11-30
EP0107449A2 (en) 1984-05-02
DE3380973D1 (de) 1990-01-18
AU571462B2 (en) 1988-04-21
AU2015083A (en) 1984-04-19
EP0107449A3 (en) 1987-01-07
EP0107449B1 (en) 1989-12-13
US4597044A (en) 1986-06-24
CA1205563A (en) 1986-06-03

Similar Documents

Publication Publication Date Title
KR920005852B1 (ko) 데이타 처리 시스템에 있어서 합성 디스크립터를 제공하는 장치 및 방법
US4530052A (en) Apparatus and method for a data processing unit sharing a plurality of operating systems
EP0106667B1 (en) Central processing unit
EP0227892B1 (en) Updates to branch history table in a pipeline processing system
US4395757A (en) Process synchronization utilizing semaphores
KR100626858B1 (ko) 단일 적재 워드를 형성하기 위해서 별개의 저장 버퍼 엔트리들로부터의 개별 바이트들의 전송을 적재하는 저장 시스템
US5553305A (en) System for synchronizing execution by a processing element of threads within a process using a state indicator
US6336168B1 (en) System and method for merging multiple outstanding load miss instructions
US4077058A (en) Method and apparatus for executing an extended decor instruction
US5455924A (en) Apparatus and method for partial execution blocking of instructions following a data cache miss
EP0391517A2 (en) Method and apparatus for ordering and queueing multiple memory access requests
EP0394624B1 (en) Multiple sequence processor system
JPH0561663B2 (ko)
EP0614138A1 (en) A data processor with most recently allocated register bit
US20030074530A1 (en) Load/store unit with fast memory data access mechanism
US8793435B1 (en) Load miss result buffer with shared data lines
KR100618248B1 (ko) 실행 엔진으로부터 다중 데이터 소스까지 다중 로드 및 기억 요구를 지원하는 장치 및 방법
EP0888587A1 (en) A data cache configured to store stack data in a stack data storage
US4761731A (en) Look-ahead instruction fetch control for a cache memory
JPH02239331A (ja) データ処理システム及びその命令実行を促進する方法
JPH11506854A (ja) 命令読出を先に予測することにより、読出ミス待ち時間を低減するための装置および方法
JP4608100B2 (ja) 多重処理システムにおける改良結果処理方法
EP0107448A2 (en) Computer with multiple operating systems
EP0912929B1 (en) A data address prediction structure and a method for operating the same
JP2001505327A (ja) 1クロックサイクル内でデータをストアするよう構成されたデータメモリユニット、およびその動作方法

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
LAPS Lapse due to unpaid annual fee