KR880000341B1 - 중앙처리장치의 버스 소오싱 및 시프터 제어 - Google Patents

중앙처리장치의 버스 소오싱 및 시프터 제어 Download PDF

Info

Publication number
KR880000341B1
KR880000341B1 KR8205435A KR820005435A KR880000341B1 KR 880000341 B1 KR880000341 B1 KR 880000341B1 KR 8205435 A KR8205435 A KR 8205435A KR 820005435 A KR820005435 A KR 820005435A KR 880000341 B1 KR880000341 B1 KR 880000341B1
Authority
KR
South Korea
Prior art keywords
signals
shift
bus
register
signal
Prior art date
Application number
KR8205435A
Other languages
English (en)
Other versions
KR840003082A (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 KR840003082A publication Critical patent/KR840003082A/ko
Application granted granted Critical
Publication of KR880000341B1 publication Critical patent/KR880000341B1/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/22Microcontrol or microprogram arrangements
    • 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/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Complex Calculations (AREA)

Abstract

내용 없음.

Description

중앙처리장치의 버스 소오싱 및 시프터 제어
제 1도는 본 발명의 장치가 포함되어 있는 시스템의 일반적인 블록 다이아 그램.
제 2도는 본 발명의 중앙처리장치의 상세한 블록 다이아 그램.
제 3도는 본 발명의 중앙처리장치의 연산논리장치에의 연결의 상세도.
제 4도는 본 발명의 중앙처리장치에 포함된 제어 기억장소의 합성에 대한 상세도.
제 5도는 시프트장치의 논리블록다이아그램.
제 6도는 시프트거리제어논리(22-12)의 논리다이아그램.
제 7도는 시프트엔드(end)논리(22-8)의 논리다이아그램.
제 8도는 시프터 멀티플렉서(919)의 논리다이아그램.
제 9도는 Q시프터 멀티플렉서(56)의 논리 다이아그램.
제 10도는 시프터 멀티플렉서(19)에 가해진 입력 제어 선택 신호에 대한 출력 시프트 신호를 도해한 도포.
본 발명은 일반적으로 데이타 처리 시스템에 관한 것이며 특히 중앙처리장치에 있어서의 시프트 명령 실행에 관한 것이다.
요즈음의 많은 데이타 처리시스템은 제어되는 페어 웨어 인 중앙처리장치를 포함하고 있다. 또한 중앙처리장치에 의해 실행되는 많은 산술 연산은 중앙처리장치로 고안된 마이크로 프로세서에 의해 실행된다. 비트가 동시에 1비트 시프트되는 마이크로 프로세서에 의해 시프트 하기 위한 필요 조건은 상당한 퍼엄웨어 제어와 함께 다수의 시프트 사이클을 필요로 했다. 또한, 내부 중앙처리장치 신호 버스들에 관하여 시프팅 및 바이트 교환 하드웨어의 기억장소로 인하여, 애드레스(번지)형성의 프로세스는 많은 서엄웨어 사이클을 필요로 했다. "마이크로 프로그램된 데이타 프로세싱 시스템에 있어서의 다중길이 번지 형성드(Multipl Length Address Formation Micro programmed Data Processing"이란 명칭을 가진 미합중국 특허 제4,206,503호는 전형적인 것이다.
따라서, 본 발명의 목적은 증가된 시스템 효율을 가진 중앙처리장치를 제공하는 것이다.
본 발명의 또 하나의 목적은 산술 명령 실행동안 오페란드를 시프트하기 위한 개량된 장치를 가진 중앙처리장치를 제공하는 것이다.
본 발명의 더욱 또 다른 목적은 애드레스 준비를 위한 개량된 장치를 가진 중앙처리장치를 제공하는 것이다.
본 발명의 여전히 또 다른 목적은 바이트 시프트 및 쌍을 이루게 하기 위한 개량된 장치를 가진 중앙처리장치를 제공하는 것이다.
데이타 처리 시스템은 오페란드 및 명령을 스토어하기 위한 메모리 부시스템과, 명령실행에 의한 오페란드를 조작하기 위한 중앙처리장치(CUP)를 포함하고 있다.
CUP는 CUP 연산을 제어하는 퍼엄웨어 신호를 발행하기 위한 제어 스토어와 램 버스(R bus)에 가해진 신호를 발생하는 제1랜덤 액서스 메모리(DRAM) 및 제2랜덤 액서스 메모리(BRAM)을 포함하고 있다. 연산논리장치(DALU)는 제1선택기에 가해진 신호를 발생하도록 R bus 및 제2데이타 버스(I BUS)로 부터의 신호를 수신한다.
R bus신호들은 또한 R bus 신호나 DALU 신호를 선택하며 신호를 아우터 버스(O bus)에 인가하는 제1선택기에 가해진다.
또한 메모리 부시스템 오페란드 애드레스를 스토어한 Y레지스터와 메모리 부시스템 명령 애드레스를 스토어 하는 P레지스터에 애드레스 신호를 O bus에 인가하는 제2선택기에 가해지는 신호를 발생한다.
기록버스(W bus)는 오페란드를 BRAM에 전송하고, 오페란드를 메모리 부시스템에 전송하기 위하여 기록 데이타 레지스터에 전송하고, 애드레스 조종을 위하여 제2연산논리장치(BALU)에 전송한다. O bus 및 W bus는 0 또는 1이나 2또는 4-비트 위치를 왼쪽이나 오른쪽으로 자리 이동하는 24 O bus 신호를 수신하고 자리 이동된 O bus신호를 W bus에 전송하는 제1시프터에 의해 결합된다.
제2시프터는 Q레지스터내에 기억을 위해 16 O bus 신호를 수신한다. Q레지스터로 부터의 16 출력신호는 제2시프터에 인가되어 1이나 2 또는 4-비트 위치를 왼쪽이나 오른쪽으로 자리이동되고 Q레지스터에 도로 기억된다.
제1시프터는 24 8대1 멀티플렉서들(MUX 19-8에서 MUX 19-31까지)을 포함한다. 제2시프터는 16 8대1멀티플렉서들(MUX 56-16에서 MUX 56-31까지)을 포함한다. 제1 및 제2시프터는 제2시프터의 MUX 56-16엔드과 제1시프터의 MUX 19-31엔드를 결합하고 시프트 엔드 이팩트 논리에 의해 제2시프터의 MUX 56-31엔드에제 1시프터의 MUX 19-16엔드를 결합시키는 것에 의하여 32-비트 시프터(MUX 19-16에서 MUX 56-31까지)를 형성하도록 결합될 수 있다. 자리 이동된 비트 위치들의 수는 8개의 입력단자중의 하나를 선택하도록 제1 및 제2시프터 멀티플렉서에 가해지는 선택신호를 발생하는 시프트 거리제어 논리에 의해 발생된다. 선택된 일정 입력단자는 시프트 거리 0 또는 1이나 2 또는 4-비트 위치 및 시프트 방향, 즉 왼쪽 또는 오른쪽을 결정한다.
오우픈 시프트 동안,시프트엔드 이펙트는 마지막 비트가 자리이동된 각 비트위치에 2진 ZERO 비트를 위치설정한다. 예를 들면, 4의 개방우측 시프트는 W bus 비트위치(16에서 19까지)에서의 W bus에 위치한 4 이진 ZERO 비트를 가져온다. 순환우측 시프터는 제 1시프터의 MUX 19-16엔드로 자리이동한다. 유사하게, 순환 좌측 시프트에서 제 1시프터의 MUX 19-16엔드의 비트 시프트 아을은 제 2시프터의 MUX 56-31엔드로 자리이동한다. 양쪽 순환 및 개방 시프트에 있어서, 시프트 엔드 이펙트 논리는 제 1시프터의 MUX 19-31엔드와 제 2시프터의 MUX 56-16엔드사이에 비트들을 전송한다.
제1시프터는 P 또는 Y레지스터로 부터의 애드레스 신호들을 좌측으로 1비트 위치 자리이동한다. 또한 그것은 MUX 19-8에 MUX 19-15까지로부터 확장된 부호와 함께 엔드 MUX 19-16에서 MUX 19-31까지의 16-비트시프터로서 작용한다.
또한 제1시프터는 최좌측 위치의 부호비트를 포함한 24-비트 오페란드상의 우측 시프트를 실행한다. 멀티 프렉서는 자리 이동된 부호 비트의 좌측으로 각 멀티플렉서 위치에서의 부호를 되풀이 하도록 신호를 포함한다.
또한 제1시프터는 한 바이트 위치에서 다른 바이트위치로 바이트들을 자리이동하기 위한 신호를 포함하고, 또한 그것들을 전송하기 위한 신호를 포함하고 있다. 게다가, 제1시프터는 메모리 부시스템 애드레스를 발생하도록 기본 애드레스에 더하지는 O bus로 부터의 인데스(색인)값을 수신한다. 인덱스 값은 애드레스 되는 오페란드의 타잎에 의존하는 많은 비트위치들을 제1시프터에 의해 시프트된다. 1-비트 2진수나 4-비트 10진수 도는 8-비트 반어 오페란드들은 제2시프터를 통하여 우측으로 각각 4와 2및 1-비트 위치를 시프트된다. 이들 비트들은 XB레지스터에 기억되고, 메모리 웨어드에서의 16비트의 1과 10진수 워어드에서의 10진수 4의 1과 워어드에서 2바이트의 1을 식별하는데 사용된다.
이상과 같은 기능의 본 발명의 첨부된 도면에 따라 상세히 설명하면 다음과 같다.
제1도는 본 발명의 장치가 포함하는 시스템 구조의 일반적인 블럭 다이아그램이며, 여기에는 CUP가 포함될 수 있다. 이러한 시스템은 중앙처리장치(CUP-100)와 과학적 명령처리기(SIP)(101)와 상업적 명령처리기(CIP)(102)를 포함하는 선택적인 프로세서들은 특별한 응용에서 CUP(100)의 범위를 확장하기 위해 사용될 수 있다. 또한 시스템은 CaChe/MMu(캐쉬 메모리/메모리 관리장치)(103), 전기적인 시스템 버스(105), 메모리 모듈(주 메모리)(106), 입출력장치(108)에 연결된 입출력(I/O) 제어장치(107), 다선통신제어기 및 처리기(MLCP)(109)등을 포함할 수 있다.
시스템은 또한 상기 시스템의 일부 또는 전부를 포함하는 제2중앙부 시스템(110)이 있는 멀티프로세서를 포함한다.
중앙 부시스템 프러세서들은 국부버스(9)에 의해 서로 연결되며, 메모리 관리장치(CaChe/MMu)(103)의 기능은 프로세서들에 의해서 현재 사용되고 있는 주메모리(106)에 의해 시스템의 나머지에 연결된다. 중앙 부분시스템에서 메모리 관리장치(103)를 위한 완충저장 기능을 제공하는 것이며, 주 메모리 주소의 변환을 제공하는 것이다. 국부버스(9)의 기능은 3개의 프러세서와 CaChe/MMu(103)사이를 서로 연결시킨다.
제1도에서 보는 바와 같이, CUP(100)와 다른 2개의 프로세서 사이에 각각의 인터페이스가 있다. 또한 각 프로세서에서 부터 CaChe/MMu 엔 인터페이스가 있다. 국부버스(9)는 시공유된다. 즉, 모든 3개의 프로세서와 CaChe/MMu에 의해 공유된다. 더욱 CaChe/MMu(103)은 시스템버스(105)에 의해 나머지 시스템 주로 메모리(106)에, 그리고 조절기(107)를 통해 I/O 디바이스(108)에 인터페이스를 제공한다.
제2도의 CUP 블럭다이아그램을 보면, 특히 여러가지 전기적인 버스들과 기능적인 장치 그리고 그들 상호관계를 살펴보면 다음과 같다. CUP의 주요소자들은 점선내에 나타나 있다. 첫변째 소자는 국보버스 인터페이스(10)이다. 여기에는 데이타 버퍼(31) 둥근로빈 절차저장 버퍼(36), 여러가지 절차/데이타 워어드 그리고 소오스 버스(33)와 다른 장치들에 연결된 애드레스 다중기(MUX)등이 포함된다. 첫번째 소자(10)는 시스템 버스(105)로 부터 데이타를 수신하기 위해 사용된다.
두번째 소자(16)는 연산소자이다. 여기에는 DRAM(11)과 BRAM(12)이라고 불리는 2개의 레지스터군(RAM) 그리고 RAM 혹은 R버스(13)를 포함하는 여러개의 장치가 있다. 또한 이것은 BRAM(12)과 다른장치들이 연결되어 있는 입력 혹은 내부 버스(I BUS)를 포함한다. 이것은 또한 DALU(15), 즉 DRAM(11)을 구동시키기 위해 연결된 연산논리장치를 포함한다.
CPU의 3번째 소자는 외부버스(17)와 기록(W) 버스(84), 그리고 이들에 연결되어 있는 시프터(19-1)(19-2)와 이들을 구동하는 셀렉터 등을 포함한다. 셀렉터는 DALU/R 버스 셀렉터(20)와 Y레지스터/P레지스터(YP) 셀렉터(21)를 포함한다.
네번째 소자(27)는 CPU의 애드레스 부분이다. 이것은 절차 애드레스 레지스터(P)(23)와 데이타 레지스터(Y)(24)를 포함한다. 또한 이것은 애드레스 다중기(25)와 사전 명령 인출 애드레서 레지스터(26)를 포함한다. 그리고 기록 레지스터(W)(28)와 기록 대이타 셀렉터(WS)(29)를 포함한다. CPU의 이부분은 국부버스(9)에 데이타를 전달해 주기 위해 사용된다.
디바이스(30)은 CPU의 검사논리이다. 검사논리는 제7도에 나타나 있는데 8 : 1의 다중기들을 포함한다. 이들은 최소한 2개의 8 : 1 다중기들을 구동하고, 8 : 1 다중기들은 브랜칭을 조정하기 위해 사용되는 1 혹은 0으로 불리는 단독 2진 신호를 발생한다. 검사신호(1 혹은 0)들은 제5도에 나타난 바와 같이 제어 저장뱅크(80, 81)에 포함된 PROM에 연결된다.
다음 애드레스 발생기(44)는 F레지스터(38)와 F버스(37)에 연결된다. 다음 애드레스 발생기는 CPU에 사용하기 위한 애드레스를 발생하는데 사용된다.
국부버스 데이타 입력영역인 소자(10)의 기능은 국부버스(9)에 의해 CaChe/ MMu(103) 혹은 다른 장치들로 부터 돌아오는 데이타를 수신하고, 만약 부트스트랩절차 명령실행이 요구된다면 부트스트랩 PROM으로 부터 데이타를 선택하고, 그리고 그러한 데이터를 적절한 데이타 버퍼로 보내는 것이다. 만약 명령 인출이 요구된다면, 예를들어 데이타는 기능 레지스터에 놓여진다. 더욱이 첫번째 데이타 버퍼(31)는 16 혹은 32비트 데이타를 국부버스(19)로 부터 수신한다. 데이타 버퍼(31)의 출력은 L버스(32)에 연결된다. L는 한쌍의 셀렉터(DA.DW)(34, 35)를 사용하여 소오스 버스(33)을 구동하고, 4워어드 절차 버퍼(36)를 구동하기 위해 사용된다. 비절차 데이타는 데이타 셀렉터로 부터 구동된 소오스 데이타(33)을 통해 L버스(32)로 부터 CPU로 들어간다.
절차 데이타는 절차 버퍼(36)로 부터 오는 다른 셀렉터(PW, PW)(39, 40)을 통해서 CPU로 들어간다. 절차 버퍼는 명령실행되어야 할 절차의 다음 2개 혹은 3개 워어드를 포함하여야 하는 책임이 있다. 그래서 2워어드들이 필요할 때는, 그들을 인출하는데 시간을 소비할 필요가 없는 것이다. 절차 버퍼가 CPU에 의해 서 비워지면 자동적으로 국부버스(9)를 통해서 CaChe/ MMu(103)으로 부터 다시 저장된다.
F버스(37)는 F레지스터, 즉, FOP, FM, FN 그리고 Link라고 쓰는 4개의 영역에 대한 정보를 게이팅하기 위해 사용되는 특별한 버스이다. F레지스터는 CPU의 첫변째 명령 레지스터이다. F버스(37)의 기능은 F레지스터(38)로 부터 데이타를 가져화서 여러가지 소오스들로 부터 와 F레지스터에 데이타를 제공하는 것이다. 또한 F레지스터(38)의 FN 위치나 LINK위치로 소자(AS)(42)로 부터 데이타나 정수들을 저장할 수 있는 다중기(43)가 있다.
역시 데이타 입력영역인 소자(10)에서, 부트스트랩 PROM들은 만약 부트스트랩 모드로 동작된다면 메모리로 부터 명령대신에, 명령들을 제공하기 위해 사용될 수 있다.
A, B, C 그리고 D 위치를 갖는 기억장치(절차기억)(36)은 둥근로빈 4-워어드 절차저장이다. 이것은 2워어드 절차에 대한 공간, 즉, 최소한 반이 비어 있을 때 마다 자동적으로 CaChe/ MMu로 부터 국부버스(9)를 통해서 메모리리이드절차를 시작한다. 돌아오는 데이타는 이 둥근로빈스토어에 가능한 다음 2개의 기억장소로 들어 간다. CPU가 CPU 처리소자안에서 사용하기 위해 절차 기억장치(36)의 내용을 소오스 버스(33)로 방출함으로서, 혹은 절차저장도 명령의 일부이기 때문에 F레지스터(38)로 보내므로서 절차들을 사용하면, 실질적으로 둥근로빈스토어에서 커서(cursor)를 나타내는 두개의 포인터(3601, 36-2)는 디바이스(36)에 포함된 컨덕터의 사용으로 가능한 다음 위치로 진행된다. 따라서 계속적으로 4개위치들이 디바이스(36)의 출력으로 나갈수가 있다. 왼쪽커서 혹은 포인터(36-2)는 인출해야 할 절차의 다음 워어드를 지시한다. 오른쪽 커서(36-1)는 그 뒤를 이어지는 워어드를 나타낸다. 때때로 절차의 한단어가 사용되는데 이 경우에는 왼쪽 커서에 의해 지시된 단어가 정보를 발생하기 위해 사용될 것이며, PW 다중기(40)를 통과한다. 때때로 절차의 5워어드에 대한 요구조건이 있다(즉 큰 애드레스 형태(LAF)를 끄집어 낼때). 그러면 왼쪽과 오른쪽 커서의 양자에 의해 지시된 워어드들은 절차 셀렉터의 PA 다중기(39)에서 결합된다.
그러므로, 소자(10)는 데이타 셀렉터(34, 35)이든지 혹은 절차 셀렉터(39, 40)에 의해 소오스(버스(33)를 통해 CPU로 데이타를 가져오든지 혹은 절차버퍼(둥근 로빈 절차저장소)(36)와 F 버스(37)에 의해 직접적으로 명령(F)레지스터(38)로 데이타를 가져오는데 관계되는 소자이다. 대바이스(F')(76)는 보조의 애드레스 정보나 음절 등으로 부터 선택된 비트를 간직한다. 애드레스 음절은 실제적으로 16-비트 데이타 서룰의 일부분이다. 서술어에서 어떤 미트들은 다음의 해석을 위해 계속 유지되어야만 한다. CIP 서술어에서 오페란드 사이즈 비트와 K레지스터 서술어에서 부호가 표시된 비트대 부호가 표시안 된 비트들이 유지되어야 한다. 이러한 F'레지스터(76) 5번째 비트에서 유지된다.
두번째 소자(16)는 연산논리장치(DALU)(15), 다수의 비.프로그램머 비지블 워크 레지스터를 더해서, 모든 프로그래머 비지블 레지스터를 포함하는 BRAM(12)와 DRAM(11)을 포함한다. 이러한 데이타 저장소자들은 다음과 같이 구성된다. RAM 버스(13)을 구동시킬 수 있는 두개소오스중의 하나이 DRAM(11)은 32 위치들을 갖는데, 각각은 24비트 크기를 갖는다. 이러한 위치들은 7개의 소위 D레지스터, 32비트 크기인 7개의 소위 K레지스터중의 2개, 다수 개의 내부포인터, 그리고 7개의 소위 M레지스터들을 갖는다. 16워어드를 포함하는 BRAM(12)는 다수개의 여러가지 형태의 프로그래머 비지블과 프로그래머 인비지블 포인터를 포함해서 7개의 기본 레지스터를 포함한다.
제3도는 RAM, 버스 및 , DALU(15) 사이의 관계를 좀더 자세히 보여주고 있다. DRAM(11)과 BRAM(12)은 각각 RAM 버스(13)에 소오스가 될 수 있다. BRAM( 12)은 실제로 2중구조로 된다.
즉 CPU에는 두개의 병열 BRAM(60, 61)이 있다. BRAM(12)의 두개의 소자는 동일하게 로오드된다. R 버스(13)을 구동하거나 R버스(13)에 데이타를 절달하는 이런 소자중의 하나가 소자(60)이다. I버스가(14)를 구동하는 다른 소자는 BRAM 소자(61)이다. 두개의 동일한 BRAM에서 중요한 관점은 시스템 속도가 증가하는 것이다.
R 버스(13)는 BRAM(60)이나 DRAM(11)에 의해서 구동될 수 있다. 또한 다른 소오스들은 I버스(14)을 구동한다. DALU(15)는 DALU의 입출력이 CPU의 다른곳에 사용되는 DRAM에 재 사이클될 때 I버스와 R버스를 사용한다.
소자(16)은 주요 관심사인 2개의 버스를 포함한다. 소위 I버스(14)는 프로세서내에 있는 원입력의 주소오스이다. 즉 메모리로 부터 데이타는 Q레지스터(50)의 출력이 드라이버(54)와 BRAM(12)의 출력을 거쳐서 들어올 때 이 버스속으로 들어온다. 두번째 버스 즉 R 혹은 BAM 버스는 두개의 다른 RAM BRAM(12)과 DRAM(11)의 출력이 결합되는 점이다. 이러한 두개의 버스 출력은 DALU(15)의 입력이며, 이것은(11)으로 되돌아 가거나 혹은 0버스(17)에 다음의 처리를 위해 보내질 수 있는 데이타를 발생한다.
I버스와 RAM 버스는 둘다 "배트 래치"(BL)라고 하는 하드웨어 소자를 사용한다. BL은 버스 위로 신호를 연결시키기 위하여 입출력단자가 함께 묶어 있는 게이트이다. 이 배트 래치는 구동소오스가 타이밍이나 시이퀀신을 위해 버스의 기능을 죽인후 버스 신호 조절을 대신하기 위해 사용된다. 이러한 일이 발생할 때, 배트 래치는 구동소오스가 있을 때 있었던 준위와 똑같은 준위의 신호를 배트 래치가 턴오프될 때까지 유지한다. 배트 래치는 버스신호가 미리 정해진 0전위와 같은 준위로 될 때 턴오프된다.
RAM 버스(13)는 중앙처리장치와 제어반(30)사이의 데이타 전용을 위한 인터페이스이며, 16개의 양방향 신호선을 통해 연결된다. 메모리 데이타는 데이타 래치(DL)(51)로 불리는 구동단을 통해서 I버스(14)에 연결된다. 데이타 래치들은 부호연장래치(52)(SE)라고 불리는 두번째 일련의 래치들에 의해 병열로 된다. 이러한 SE 래치 들은 이들이 24-비트 버스에 단지 16-비트 양을 제공할 때 데이타 래치를 부호나 혹은 0확장하기 위해 사용된다. 유사하게, SE논리(52)는 현재 명령의 7비트를 취해서, 그것을 브랜치 사용을 위해 24비트까지 부호확장하고 명령워어드의 오른쪽 부분으로 부터 각각 변위와 오페란드를 얻는 명령을 평가하기 위해 사용된다.
또한 소위 선택/변경 논리(53)라고 불리는 BRAM(12)과 DRAM(11) 논리는 관련이 되며, 이것은 개개의 레지스터 선택을 제어하기 위해 명명에 여러 구연란을 사용하여, DRAM과 BRAM을 8개의 레지스터 블럭내에 번지 지정되도록 한다.
또한 정수발생기(KON)(70)는 주 ALU영역인 소자(16)에 포함되며, I버스(14)에는 또 다른 소오스가 된다. 즉, 장치의 제어하에 연산논리 장치에 사용하기 위해 I버스위에 24-비트 정수를 발생하도록 사용될 수 있는 소오스이다.
그러므로, 소자(16)는 CPU에서 주연산 작용영역이다. 즉, 이것은 오페란드 조작과 관련이 있으며, BRAM(12)에 되돌아 가거나 혹은 국부버스(9)에 출력되도록 여러가지 애드레스와 데이타 레지스터에 보내지도록 하기 위해, 0버스(17)에 보내지는 오페란드, 혹은 DRAM(11)으로 입력되는 오페란드를 발생한 것에 목적이 있다.
소자(22)는 주로 외부(0) 버스(17)와 기록(W) 버스(84)라고 하는 CPU 부분과 관계가있다. 0버스(17)는 여러가지 데이타 경로들이 모여진 버스이다. 즉, Y레지스터(24), P레지스터(23), DALU(15)의 출력과 RAM 버스(13)들이다. W버스(84)는 오페란드를 BRAM(12)에, 기록데이타 레지스터에, 그리고 주로 애드레스 조작을 하는 ALU 인 BALU(55)에 전달하기 위해 사용되는 버스이다.
0버스(17)와 W버스(84) 사이에 0버스(17) 오페란드위에서 양방향으로 1, 2 혹은 4비트의 시프트를 할 수 있는 24개의 다중 시프터들이 있다. 더욱이 Q레지스터(50)로 오페란다를 로오드하기 위해 사용되는 16개의 다중 시프터(56)가 있다.
0버스(17)에 소오스가 되는 4개의 다른 형태의 오페란드중 2개는 DALU(15)와 RAM 버스(13)에서 시작하며, 0버스(17)에 연결된 2 : 1 다중기(20)를 통해 선택된다. 0버스(17)을 위한 다른 2개의 소오스는 데이타 애드레스 레지스터인 Y레지스터(24)와 절차 애드레스(9) 레지스터(23)이다. 이러한 2개 장치들의 출력은 0버스(17)위에 소오스가 되고 2 : 1 다중기(U/P 셀렉터(21)에 의해 연결된다. 또한 0버스(17)에 연결되는 것은 I레지스터(57)와 중앙처리 부시스템에 대한 지시 레지스터가 있다. 0버스(17)의 내용은 CPU에서 더 처리를 하기위해 W버스(84)에 직접적으로 전달되던지 혹은 쉬프트된다. 그들은 또한 직접적으로 Q레지스터(50)에 로오드되므로서 Q레지스터는 이중으로 정교한 시프트 동작에 사용될 수 있다.
CPU 내에 일어나는 모든 시프트는 0버스(17)와 W버스(84)사이에서 오페란드의 조작으로 발생한다. 24개 시프터(19)는 24-비트 오페란드를 제어저장 워어드에 제어하에 왼쪽 혹은 오른쪽으로 시프트 시키기 위해 사용된다. 그들은 1, 2 혹은 4비트 위치만큼 자리이동 시킬 수 있고, 직접 오페란드를 전달하든지, 서로 변화된 오페란드의 2개의 오른쪽 바이트로 오페란드를 전달할 수도 있다. 이러한 시프터들의 작용은 제어저장 워어드에 있는 특별난에 의해 제어된다. CPU의 이 부분은 24-비트 오페란드 시프트를 위해 사용된다. 32-비트(이중 레지스터) 오페란드가 시프트 되면, 오른쪽 오페란드는 0버스(17)를 통해 Q레지스터(50)에 로오드되고, 다음 W버스 시프터(19)뿐만 아니라 16개의 Q레지스터(56)에서 자리이동이 실행된다. 그러므로 레지스터 내용은 W버스(84)로 시프트되고 있는 24-비트 오페란드의 오른쪽 끝에서 16비트 확장으로 취급된다. 이러한 2개의 시프터의 끝을 함께 연결시킴으로서 40비트 시프트를 만들 수 있다. 이러한 이중 레지스터 시프트에서, 주요 오페란드는 Q레지스터(50)로 돌아가는 16비트이며, 0버스(17)의 오른쪽 2개의 바이트에 전달되는 16비트이다. 반면 W버스(84)의 왼쪽 8비트 데이타는 보통 무시된다.
소자(75)는 어떤 조건에서 구동단(95)을 거쳐 W버스(84)로 방출하는데 필요한 CPU에서 상태비트의 집합을 나타낸다. W버스(84)는 2개의 소오스를 갖는데, 주요한 것은 0버스(17)로 부터 시프터(19)이다. 이 시프터(19)는 버스(88)에 입력으로 사용될 수 없으며, 대신 상태비트(S/Z)는 연속적인 분석을 위해 W버스(84)위에 놓일 수 있다.
앞에서 설명한 바 없는 레지스터(50)와 관련된 하드웨어중의 하나는 XB레지스터(58)와 여기에 연결된 부호 해석기(59)이다. XB레지스터(58)는 인덱스 시프팅 동작동안에 부분워어드오페란드를 위해 오른쪽으로 시프트되는 비트들을 잡아두기 위해 사용되며, 애드레스에서 인덱스 비트가 단독 워어드 비트의 오른쪽으로 이동하기 때문에 잃어버린 인덱스 비트들을 잡아두기 위해 사용된다. XB레지스터(58)는 반-워어드버트에 대한 한 비트, 디지트 시프트에 대한 2개비트, 그리고 비트 크기의 오페란드 시프트에 대한 4개 비트를 잡아 둔다. XB레지스터(58) 내용은 결과적으로 반-워어드 오페란드를 다룰 때, 디지트 오페란드에 대한 상업적 명령 처리에 보내질 매개변수를 발생할 때, 왼쪽 대 오른쪽 반을 선택을 직접적으로 제어하기 위해 사용되며, 비트 오페란드에 작용할 때는 부호 해석기(59)와 연관되어 15개 0과 1개의 1도 구성된 마스크를 발생하기 위해 사용된다. 즉, 비트 오페란드에는 한 워어드가 리이드되고, 한 마스크는 워어드에서 선택된 비트를 클리어 시키거나 세트시키기 위해 사용된다. 그 다음 워어드는 메모리속으로 다시 라이트된다. 마스크는 부호 해석기(59)로 부터 발생되며, Q레지스터(50)에 입력이 된다. 즉, Q레지스터 속으로 저장될 수 있는 항목들 중의 하나가 XB레지스터(58)의 내용으로 부터 발생된 부호 해석기 마스크이다.
CPU에서 4번째 주요한 소자는 소자(27)이다. 이것은 국부버스(9)로 보내기 위해 그리고 국부버스를 거쳐서 CPU(102), SIP(101)혹은 CaChe/ MMu(103), 나아가서 메모리나 혹은 입출력(I/O) 장치(108)까지 전송될 오페란드, 명령, 그리고 애드레스를 발생하는 일을 한다. 이 중요 소자는 대략 3 영역으로 나누어 진다. 첫번째가 라이트 데이트 레지스터(W)(28) 와 라이트 셀렉터(WS)(29)이다. 레지스터(28)는 부분적으로 저장능력을 갖는 32비트 페지스터이다. 즉 왼쪽반이나 오른쪽반은 한상 구동단(74)을 통해 W버스(84)의 16비트로 부터 로오드된다. 왼쪽반은 라이트 셀렉터(29)로 부터 오는 데이타가 기록된다. 이 라이트 셀렉터(29)는 16개 입력으로 W버스(84)의 오른쪽반의 16비트나, 혹은 부호나 0확장을 덧붙여 W버스의 왼쪽 8비트를 사용한다. W버스는 국부버스(9)에 연결된 어떤 다른디바이스에 데이타를 기록하기 위해 W레지스터(28)에 데이타를 보내는 주요 경로이다.
국부버스 출력 인터페이스(27)에서 다음 영역은 명령구동단(71)이다. 명령구동단(71)은 CPU에 의해 지방버스 위로 모든 전송을 수행하는 일련의 명령라인들을 구도하며, CaChe/ MMu(103)에 메모리 기준 사이클, 입출력(I/O) 기준 사이클 혹은 CaChe/ MMu에나 국부버스 처리 장치중의 하나에 지방버스기준 사이클을 지시한다. 명령라인들로 전달되는 정보는 제어저장 혹은 제4도에 나타난 페엄워에(FW) 워어드 F와 FK 구역란으로 부터 온다.
소자(27)의 3번째 부분은 2개의 주요 애드레스 레지스터들을 포함한다. 즉 비절차적 메모리 애드레스들과 국부버스와 시스템 버스위에 다른 장치로 가는 애드레스들을 위한 Y레지스터(24)와 P레지스터(프로그램 카운터)(23), 그리고 산전명령인출 레지스터(26)이다.
P카운터(23)는 퍼엄웨어가 사용한 마지막 워어드를 추적하며 그 워어드는 둥근로빈 버퍼(36)로 부터 위해서 다음 동작을 위해 CPU(100)에 입력된다. 사전 명령인출 레지스트(26)는 메모리로부터 다음에 추출될 워어드를 추전한다. 즉, P와 PF레지스터는 메모리 애드레스에서 둥근로빈 버퍼가 얼마나 가득찼느냐 그리고 중앙 처리시스템이 버퍼로 부터 데이타를 얼마나 최근에 꺼냈느냐에 따라 1∼4워어드 만큼 차이가 날 수 있다. 만약, 중앙처리시스켐이 버퍼로 부터 모든 데이타를 꺼냈다면, CaChe/ MMu(103)가 요구에 따라 새로운 데이타에 응답하고, 다시 버퍼(36)를 채우는데 유한한 양의 시간이 소요된다. 그러한 환경하에서, 사전명령인출 레지스터(26)와 P카운터의 애드레스 혹은 레지스터(23)는 근접하게 되던지 혹은 애드레스 내용이 갈아질 것이다. 버퍼(36)가 채워지고 CPU(100)가 최근에 데이타를 취하지 않았다면, P레지스터는 사전 명령인출 레지스터에 공간이 생기자 마자 메모리로 부터 보내질 다음 워어드를 가리키는 사전 명령인출 레지스터로 부터 취해진 마지막 워어드를 가리키고 있기 때문에 사전 명령인출 레지스터보다 2∼4 워어드 뒤질 것이다.
P레지스터(23)의 내용은 결코 메모리 애드레스 소오스로서 국부버스(9)에 받아지지 않는다. 실제적인 애드레스 다중기(25)를 거쳐 국부버스로 갈 수 있는 데이타에 대한 2개의 소오스는 모든 비절차 추출에 사용되는 Y레지스터(24)와 뒤이은 퍼엄웨어 단계에 사용되는 워어드를 요구하고, 메모리로 가도록 하기 위해 사전 명령인출 논리에 의해 자동적으로 사용되는 사전명령인출 레지스터이다.
디바이스(23, 24, 26)위의 화살표들은 증분능력이 있음을 나타내고 있다. 즉, P레지스터는 사전명령인출버퍼(36)의 밖으로 꺼낸 워어드의 수에 따라 한번에 1또는 2개의 워어드 만큼 증가할 수 있다. 즉, 사전명령인출(36)버퍼로 부터 한 워어드를 꺼내면 P레지스터는 1만큼 증가한다. 사전명령인출버퍼(36)로 부터 2개의 워어드를 꺼내면 P레지스터는 2만클 증가한다. 사전 명령인출 레지스터(26)는 사전 명령인출 은 항상 한쌍의 워어드로 수행되기 때문에 항상 그만큼씩 증가한다. Y레지스터는 현재 사용하거나 앞으로 사용하기 위해서 퍼엄웨어 제어하에 1 또는 2 만큼 증가할 수 있다. 퍼엄웨어 워어드에는 이러한 증분과 국부버스에 여러가지 사이클 요구를 제어할 수 있는 버스제어난이 있다.
W레지스터(28)에 입력들은 여러가지 방법으로 수행되는 2개의 16비트 데이타 경로이다. 만약 24비트 애드레스를 기록하려면 구동단(74)은 W버스의 오른쪽 16비트가 W레지스터의 오른쪽 16비트로 전달되도로 턴언된다. 다중기(29)는 W버스의 왼쪽 8비트와 8개의 0들이 W레지스터(28)의 왼쪽반으로 방출되도록 조건이 성립된다. 이것은 결국 메모리에 기업시키기 위해 레지스터 속에 2개 워어드, 24비트 애드레스를 로오드한다.
만약 메모리에 한개의 워어드를 기억시키려면 W레지스터의 오른쪽반은 중지되어 변하지 않는다. 다중기(29)은 W버스의 오른쪽 16비트가 클럭이 들어는 W레지스터의 왼쪽 16비트로 이동하도록 조건이 된다. 하나의 워어드에 대해서 W레지스터의 왼쪽반은 메모리에 기억되는 데이타이다.
앞으로 설명되는 논리는 CaChe/ MMu(103) CIP(102) 혹은 SIP(101)과 같은 다른곳에서 부터 데이타를 받고 요구하기 위해, 시스템에 포함된 2개의 ALU를 거쳐 여러가지 레지스터에 내부적으로 데이타를 저장하고 데이타에 작용하기 위해, 그리고 계속적으로 번경되어 국부버스에 보내진 다음 다시 CPU 내부에서 계산되고 국부버스를 제어하기 위해 사용된 곳의 주소를 갖는 디바이스중의 하나로 보내지는 새로운 오페란드를 만들기 위해 사용된다. 이러한 작용의 모두가 CPU에 포함된 제어저장소(80, 81)에 워어드당 96비트씩 2,048워어드로 저장되는 제어 퍼엄웨어의 제어하에 수행된다.
제어저장소(80, 81)는 다수의 개개의 구역란으로 분리되어 있고, 각각은 CPU의 내적 수행중 어떤점을 제어한다. 제4도는 퍼엄웨어 워어드와 여러가지 주요난을 나타내고 있다. 이들난중의 첫번째는 제어저장소의 비트(0∼7)에 해당하는 국부버스(LB)난이다. LB난은 국부버스(9)로 부터 여러가지 사이클을 요구하는 일과 응답에 관련된다. 또한 사전 명령인출 레지스터(26)나 Y레지스터(24)를 통해서 실제의 애드레스를 방출하는 책임이 있다. 그리고 Y와 P레지스터의 여러가지 증분을 제어한다. 국부버스난은 둥근로빈절차 버퍼(36)로 부터 데이타를 연속적으로 판독하는 일을 제어하고, 다음메 I버스(14)가 사용할 수 있도록 소오스버스(33)위에 데이타 및 절차 다중기(34, 35, 39, 40) 각각을 구동하는 일을 제어한다.
다음난, 즉 제어저장소의 비트(8∼9)에 해당하는 클럭(CK)난은 CPU클록 속도를 제어하기 위해 사용된다. 즉 CPU에서 연속하는 클럭펄스들간의 간격을 조절한다. 각 퍼엄웨어 단계는 CPU에 따라 적당히 클럭속도를 활당한다. 본 발명의 시스템에서는, 연속하는 클럭펄스들 사이에 4가지 가능한 간격이 있다. 96 나노초, 105 나노초, 130 나노초 혹은 170 나노초이다. 이러한 간격들은 그때그때의 퍼엄웨어 단계에 따라 CK난에 의해 제어된다.
다음난은 제어저장소의 비트(10∼15)에 해당하는 TC난이다. 이것은 6비트난이며, 퍼엄웨어 시퀀스의 제어와 검사를 위해 CPU 내에서 64가지의 가능한 논리기능중의 하나를 선택한다.
다음난은 비트(17∼19)에 해당하는 BR난이다. 이것은 검사조건의 결과로 얻어진 행위형태를 제어하기 위해 사용된다. 즉, 어떠한 형태으 브랜치가 발생하며, 브랜치는 간단히 2개의 퍼엄웨어단계 사이를 선택할 것이며, 퍼엄웨어 단계와 소위 제어 저장 스프래터(splather)사이를 선택할 것인지의 행위형태, (1개이상의 논리 소자들의 상태에 근거하여 많은 제어저장 다음 애드레스들 중의 하나를 발생, 여기서 다음 애드레스는 F레지스터(38) 내용중의 어떤 기능에 의해 조정된다. )
관심의 다음난은 비트(21)에 해당하는 TC난으로 극검사 난이다. 이것은 검사조건이 진실인지 거짓인지 결정하기 위해 검사조건이 검사될 지 안될지를 조정한다.
비트(22∼31)에 해당하는 NA난은 모든 브랜치들에 의해 선택된 2개의 애드레스중에 최소한 한개를 발생시키기 위해 사용되는 10비트난이다. 다른 애드레스는 똑같은 NA난으로 부터 오든지 혹은 앞에서 언급한 제어저장 스프래터들로 부터 온다.
다음난은 비트(32∼39)에 해당하는 난으로 F라고 불리는 4-비트 부분과 FK라고 불리는 두번째 4-비트부분으로 나뉘어진 F레지스터 제어난이다. F 와 FK난들은 F레지스터 와 F버스의 영역에서 여러가지 소자들을 로오딩하고 스트로빙하는 일을 제어하는데 사용된다. 즉, F' 와 AS' 디바이스와 F레지스터(38)의 일부, 그리고 다중기(43)의 스트로빙하는 것을 제어하기 위해 사용된다. 이러한 디바이스들이 로오드되고, 로오딩하기 위해 이들이 갖는 소오스들은 모두가 F와 FK난 들에 의해 제어된다.
다음난은 비트(40∼47)에 해당하는 K난(즉 정수)이며 I버스(14)를 구동하기 위해 사용된다. 이것은 I버스에 허용되는 모든 정수에 대해 오른쪽 8비트를 제공하는 8비트난이다. 정수의 왼쪽 16비트는 앞으로 설명될 I버스에 의해 제어된다. K난은 직접적으로 KOW디바이스(70)에 관계된다.
다음난은 비트(48∼63)로 주로 DRAM(11)과 BRAM(12)의 제어와 애드레스 지정하는데 관계된다. 2-비트난(DW)는 DRAM속으로 라이트하는 일을 제어하기 위해 사용되는데, 첫번째 1비트는 DRAM의 가장 왼쪽 8비트속으로의 라이트 작용을 제어하고 다른 1비트는 두번째 가장 오른쪽 16비트 속으로 기록 작용을 제어하게 된다. 다음 비트, 즉 비트 50(BW)는의 양쪽 부분을 라이트 작용을 제어하기 위해 사용된다. 다음난(DS)는 5비트길이로써 DRAM(11)에서 32개 레지스터중 1개를 선택하는 일을 한다. 비트 56과 57인 DM난은 DRAM 과 관련된 선택/변경란이며, 직접적으로 DRAM을 선택할 수 있던지 혹은 DRAM 애드레스 지정을 제한하기위한 F레지스터(38)의 3가지의 다른 기능중 어느것을 선택할 수 있다.
다음난은 비트(60∼63)로 BRAM에서 16개의 레지스터중 1개를 선택하기 위해 사용되는 B선택난(BS)이다. 비트 58과 59로 구성된 2비트난은 BRAM 애드레스 지정을 위한 선택/변경난(BM)이다. 이것은 독립적인 선택과 변경기능들이과 DRAM 양쪽에 지정될 수 있도록 분리되어 있다는 사실을 제외하고는 BRAM 애드레스 지정하기 위한 것과 유사하게 수행한다.
다음난은 7비트길이 (비트65∼71)인 GP난이며, 여러가지 제어기능과 여러가지 쌍안전 플립플롭의 클럭작용과 같은 프로세서내에 수많은 일반적인 목적의 마이크로 작용들을 제어하기 위해 사용된다. 또한 CPU로 부터 제어 판넬(90)에 출입을 제어하고, 제어반에 데이타를 입출력시키며, 여러가지 그곳에 있는 플립플롭들을 제어하기 위해 사용된다.
다음난은 비트 72와 73인 RB난으로 R버스(13)위로 데이타를 소오스하는 것을 제어하기 위해 사용되는데, 1비트는 BRAM을 제외하고, 다른 1비트는 DRAM을 제어한다.
비트(74∼79)인 BA난은 Y레지스터(24)를 구동시킬 수 있고, 입력으로 I버스와 W버스를 갖는 연산논리 장치(BALU)(55)의 기능을 제어하기 위한 것이다. 이러한 6비트는 다음과 같이 사용된다. BALU에 자리올림 인잭트로써 1비트, 논리/연산 제어를 위해 1비트는 특별한 기능을 선택하기 위해 쓰인다.
다음난은 비트(80∼83)인 IB난이며, 데이타 소오스가 I버스(14)를 인에이블 시키는 것을 제어하기 위해 사용된다. 이난은 데이타 래치들과 보호확장 F레지스터를 인에이블 시킬수 있거나 혹은 I버스에 여러가지 조합으로 정수 혹은 BRAM을 선택할 수 있다.
다음난은 비트(84∼89)인 SH난으로 앞에서 설명한 시프터와 W버스 소오스동작을 제어하기 위해 사용된다.
6비트는 어느 레지스터가 W버스를 인에이블 시키며, Q레지스터를 로오드 하는지 안하는지, 그리고 시프터가 오페란드가 지나감에 따라 어느 방향으로 천이 시키는지에 대한 많은 양의 자동 제어를 시스템으로 하여금 가능하게 한다.
마지막난은 비트(90∼95)로써 DA난이며, DALU(15)에 대한 기능제어이며, 6비트는 BA난에서 기능돌과 유사한 기능을 갖는다. 즉 1비트는 자리올림 인젝트, 1비트는 논리대연산 선택, 다른 4비트는 특별한 기능을 선택하는 것이다.
CPU에 대한 제어저장소는 실제로 2개의 제어저장소가 있다. 즉 상하뱅크(80, 81)이다. 상부뱅크는 다음 애드레스 발생기(44)에 의해 애드레스 지정되며, 하부뱅크는 그 당시 현재 제어저장 워어드의 내용 일부에 의해서 직접적으로 애드레스 지정된다. 좀더 일반적인 형태의 브랜치 경우에서, 둘 다 다음 애드레스이 기본소오스로서 제어저장워어드의 NA난을 사용하고, 상하뱅크로 가는 2개의 애드레스가 전혀 동일하도록 약간의 방법으로 제어저장 워어드를 변경한다. 다른 브랜치의 경우에는, 즉 PROM 발생기 스프래터와 다음 애드레스 사이를 선택하는 브랜치들에서는, 하부뱅크는 현재 제어저장워어드로 부터 변경되지 않은 다음 애드레스난을 수신하는 반면 상부뱅크는 현재 저어저장워어드로 부터 스프래터 애드레스를 받는다. 제어저장은 이와같은 방법으로 분리되어 있어 시스템은 2개의 가능한 다음 애드레스 제어저장워어드에 대한 동시출입을 할 수 있으며, 제어 레지스터(82)에서 데이타를 틀럭하기 바로전에, 현재 제어저장 단계의 거의 끝까지, 어느 애드레스를 사용하게 할 것인가의 결정을 연기시킬 수 있다. 제어저장의 상세한 것은 앞으로 설명될 것이다.
CPU와 퍼엄웨어가 다음과 같은 어떤 대표적인 중앙처리작용을 수행하기 위해 상호작용하는 방법을 이제 설명한다. 즉, (a) 메모리로부터 워어드를 판독하고(b)메모리로부터 또 워어드를 판독하기 위해 다음 애드레스를 계산하고, (c) 메모리 속으로 워어드를 기록하고, (d) 동작들이 전적으로 CPU에 내부적으로 어떤 형태의 반복적인 알고리즘을 수행하는 작용이다.
주어진 경우들의 대표적이며, 주요 동작들은 설명될 것이다. 제어저장 단계 동안에 메모리로 부터 워어드를 판독하는 경우에는, 제어저장워어드는 BRAM(12)으로부터 워어드의 실제적인 메모리 애드레스를 RB, BS 와 BM난을 거쳐 RAM버스(13)위로 인에이블할 것이다. SH난은 그 다음 0버스와 W버스소오스를 제어해서 셀렉터(20)를 통해 RAM버스가 0버스(7)로 인에이블되도록 한다. 그리고 다음에 그대로 시프터(19)를 거쳐 W버스(84)위로 보낸다. W보스는 이것의 입력이 직접적으로 출력에 인에이블되도록 BA난에 의해 제어되는 것으로 BALL(55)에의 입력이 된다. 동시에 LB난은 Y레지스터(24)가 로오드되게 하고, 그래서 Y레지스터로 애드레스가 전달되게 한다.
다음 퍼엄웨어 단게에서, LB난은, 메모리 요구가 필요하다는 것과 국부 버스에 제공된 애드레스는 이러한 요구를 하기위해 사용되어야 한다는 것을 나타내는 국부버스로 요구신호가 가도록 한다. 명령라인(71)은 F와 FK난(제2도에 박스(72)로 나타냄)에 의해서 메모리 판독요구가 필요하다는 것을 알리도록 한다. 애드레스 다중기(25)는 24개의 애드레스라인들을 통해서 국부버스위로 Y레지스터의 내용을 보내도록 한다. 국부버스 위의 모든 활동을 제어하고 감독한 CaChe/ MMu 메모리는 이 요구를 인지한다. 반면 CPU는 다음 퍼엄웨어 단계로 진행한다. 다음 퍼엄웨어 단계에서, 국부버스난은 스톨(stall)을 지정하므로서 CPU는 국부버스 사이클의 끝이, 데이타가 CaChe/ MMu로 부터 국부버스를 거쳐 CPU데이타 버퍼속으로 돌아오는 것을 발견할 때까지 이 퍼엄웨어 단계를 떠나지 말아야 한다는 것을 알린다. 이 리턴 사이클이 발견되자마자 스톨을 끝아고 CPU는 이 판독사이클의 4번째 단계로 들어간다.
4번째 단계는 데이타 버퍼에 있는 데이타를 사용하고 그것을 CPU에 사용하기 위해 I버스 위로 소오스하는 LB난을 퍼엄웨어가 지정하는 단계이다. LB난은 그러므로 길이가 16비트인 한 워어드나 혹은 길이가 24비트인 한 애드레스가 소오스 버스 위에 필요한 가에 따라서 DA 구동단(34)이나 혹은 DW 구동단(35)을 인에이블시킨다. 다음, I버스난은 모두 24비트이든지 아니면 16비트인데 부호까지 확장해서 24비트인 소오스 버스는 버스위로 인에이블된다. I버스에서, 데이타 버퍼로 부터 돌려 받고 있는 16비트 워어드가 있다고 가정하면, DA난은 DALU를 인에이블시켜서 I버스를 판독하도록 할 것이다. 그리고 DW, D셀렉터 및 DM난들 DRAM에 있는 32개 레지스터중 어느 한개로 기록하고 애드레스 지정하도록 제어된다. 이렇게 되면 이 제어 시퀀스의 4번째 단계를 끝내게 된다. 즉 첫번째가 Y레지스터를 로오드하고, 두번째는 판독 요구를 하고, 3번째는 되돌아 오는 데이타를 기다리고, 4번째는 그 데이타를 취해서 CPU에 있는 레지스터들중의 하나로 보낸다.
시스템에서의 수행될 수 있는 작용의 두번째 대표적인 시퀀스는 메모리로 부터 추출한 오페란드를 데이타 레지스터중의 하나에 더하며, 더한 후에 데이타 레지스터로 돌려보내며, 기록 데이타 버퍼녹에 입력시켜 결국 메모리속에 기억되독록 하는 등의 연산동작에서 오페란드의 조작을 하는 것이다. 이 동작시퀀스는 앞의 동작에서 언급했던 스톨작용후에 시작한다. 이 단계는 데이타를, 워어드 오페란드의 경우는 워어드를, L버스와 데이타 다중기(35)를 거쳐 데이타버퍼로 부터 소오스버스로 인에이블 하는 단계이다. 그 다음, I버스난은 부호확장장치(52)를 거쳐 부호확장된, 소오스버스와 데이타 래치(51)가 I버스 위로 인에이블 되도록 한다.
동시에, R버스 제어난은 특별한 데이타 레지스터가 DRAM(11) 으로 부터 R버스(13)로 인에이블시킨다. DA난 즉 DALU제어난은 DALU가 R버스(13)위의 24비트에 더해지도록 한다. 이 논리(15)는 출력으로서 합을 나타내는 24비트를 갖는다. D W비트는 DALU의 출력이 DRAM(11)혹으로 기록되도록 지지한다.
동시에, DALU출력은 SH난을 거쳐 W버스로 인에이블 될 것이다. 이난은 셀렉터(20)가 0버스로 인에이블 되도록 지시한다. 그리고 그 목적을 위해 R 버스 출력대신에 DALU출력을 선택하도록 한다. 역시 동시에, 시프터(19-1)은 0버스 내용이 변경없이 W버스(84)로 통과되도록 한다. DW(35)를 소오스 버스(33)에 지정한 똑같은 LB 난은 역시 W버스가 셀렉터(29)를 거쳐 W레지스터(28)의 왼쪽반으로 인에이블 되도록 지정될 것이다. 이것은 모두 한개의 퍼엄웨어 단계에서 발생한다. 이것은 덧샘작용이기 때문에 덧샘으로 부터 생기는 오우버플로우는 검사논리(30)에 의해 검사된다.
다음 애드레스 논리는 만약 오페란드가 즉시 메모리로 기억시켜야 한다면 가야할 특별한 곳을 지시하는 한개의 애드레스를 발생한다. 하부뱅크에 있는 다른 애드레스는 I레지스터(57)에서 우우버플로우 지시기를 세트시키는 다음 단계를 취하기 위해 발생된다. 만약 오우버플로우가 없다면, I레지스터(57)는 자동적으로 클리어 된다. 3번째 작용은 오페란드를 메모리에 기록하는 일이다. 이것은 3개의 퍼엄웨어 단계를 거쳐 수행된다. 처음은 오페란드가 기억될 애드레스가 Y레지스터(24)로 로오드되는 단계이다. 두변째 W레지스터(28)에 오페란드를 놓는 단계이다. 3번째는 LB난으로 하여금 메모리 라이트를 지정하는 국부버스요구가, CaChe/ MMu 가 수신해서 수행하도록, 국부버스에 애드레스 지정되도록 하는 단계이다.
Y레지스터(24)에 로오드하는 첫번째 단계는 아마도 BRAM에 있는 16개 장소중의 하나로 부터 애드레스를 얻는다. 이것은 I버스가 BRAM의 출력을 살피도록 I버스난의 조건을 만들어 주므로서 수행된다. B선택난은 16개의 BRAM레지스터중 이 목적을 위해 어느것이 애드레스 지정되는가를 지시한다. BA난에 의해서 제어되는 BALU(55)는 I버스의 24비트 내용을 그의 출력으로 통과하도록 조건이 만들어진다. LB난은 Y레지스터에 로오드되도록 지정된 난이다. Y레지스터의 입력은 BALU의 출력이므로, 이것은 선택된 BRAM의 내용을 Y레지스터로 전달한다. 다음 제어 저장단계는 원점으로 부터, 원점이 어디인지 간에, 이 경우 예를 들어 32개의 DRAM 위치중의 하나로 부터 오페란드를 가져온다. DS난은 32개의 DRAM 위치중의 어느것을 인에이블 시킬것인가를 선택한다. RB난은 DRAM을 R버스위로 인에이블 시킨다. SH난은 RAM 버스가 셀렉터(20)를 거쳐 0버스로, 0버스가 시프터(19)를 거쳐 W버스로 자리옮김이 발생하지 않고 선택되도록 한다. LB난은 W레지스터 왼쪽반에 로오드 되도록 지정한다. 이것은 W레지스터의 왼쪽반에 W버스의 오른쪽 2/3가 인에이블 되도록 W셀렉터(29)에 조건을 만들어 주므로서 수행된다. 그리고 W레지스터는 그의 왼쪽반을 로오드하도록 인에이블된다.
마지막으로 3번째 퍼엄웨어 단계가 수해된다. 이 퍼엄웨어 단계에는, 단지 필수적인 동작은 LB난이 국부버스난은 메모리에 국부버스라이트를 지정한다. 이것은 이것이 메모리 라이트동작이라는 것을 CaChe/ MMu 에 알리도록 하기위해 국부버스로 가는 명령라인들로서 F와 FK비트를 사용한다. 애드레스는 실제적인 애드레스 렐렉터(25)를 거쳐 Y레지스터(24)로 부터 국부버스에 인에이블된다. 데이타는 W레지스터(28)로부터 인에이블된다. 모든 국부버스를 중재하는 CaChe/ MMu는 이것을 메모리 라이트 사이클로 인지하고, 애드레스를 취하고, 애드레스를 맵(map)하고, 애드레스를 데이타에 의해 수반된 메모리로 보낸다. 그리고 이것은 모메리 라이트 작용이라는 것을 시스템에 알린다.
CPU가 수행하는 대표적인 동작중에 4번째 시퀀스는 이중정밀 오페란드가 왼쪽이나 오른쪽으로 다수개의 비트만큼 자리옮김을 하는 것이다. BRAM에 오페란드가 두개 있다고 가정하면, 첫번째 퍼엄웨어 단계는 이러한 두개의 오페란드경의 오른쪽을 Q레지스터로 전달하는 동작의 초기설정을 하는 것이다. 이 단계는 다음과 같이 진행한다. BS난은 BRAM(12)에 이 오페란드를 포함하는 16개의 위치중 하나를 애드레스 지정하도록 조건이 만들어진다. RAM 버스를 제어하는 R버스난은 DRAM 출력대신에 BRAM출력을 취하도록 조건이 된다. SH난은 R버스를 0버스에 인에이블하고, R버스로부터 입력을 선택함으로서, R버스를 셀렉터(20)를 거쳐 0버스에 전달하도록 조건이 되며, 또한 Q레지스터와 W버스가 둘다 0버스의 내용을 받록 지정하며, 그것을 로오드 하도록 Q레지스터에 클럭을 가한다. 이것은 BRAM에 애드레스 지정된 오페란드가 Q레지스터로 전달되도록 한다.
다음 단계는 자리 옮김이 실제로 수행되는 단계다. 이 단계에는, BRAM에 2번째 오페란드를 포함하는 2개의 레지스터중의 한개가 B선태난에 의해 애드레스 지정되며 BRAM은 RB난을 거쳐 RAM버스(13)위로 인에이블된다. RAM버스는 그다음 셀렉터(20)를 거쳐 0버스에 인에이블된다. SH난은 얼마나 많은 비트에 대해자리 옮김이수행되며, 어느 방향으로 수행되는가에 따라 임의의 값을 취한다. SH난은 1, 2혹은 4비트의 오른쪽 혹은 왼쪽으로 자리옮김을 선택할 수 있다. 이러한 경우의 어느 것이나, Q레지스터(50)는 0버스(17)의 확장으로 즉 32비트오페란드로서 연결된 것으로 생각된다. 실제로, 이것은 40비트 오페란드이다. 그러나 0버스의 왼쪽 8비트는 무시된다. 이 32비트는 오페란드는 특별한 SH난에 의해 지시된데로 왼쪽 또는 오른쪽으로 자리옮김이 된다. 오른쪽 16비트 Q레지스터(50)에 돌아가며 무시된 8비트와 함께 16왼쪽 비트는 W버스(84)에 전달된다. 이것은 자리옮김 거리에 걸쳐 배타적인 제어를 갖는 SH난에 의해 제어된다.
0버스(17)로부터 W버스(84)로, Q레지스터로부터 Q레지스터뒤로 자리옮김하는 오페란드인 SH난은 Q레지스터가 자리옮겨진 오페란드를 재 로오드하도록 하며, 반면 동시에 BW난은 W버스가 애드레스 지정된 BRAM위치로 기록되도록 한다. 그러므로, Q와 B레지스터의 내용이 자리 옮김을 해서 B와 Q레지스터로 되돌아 온다. 이 자리옮김과 연관된 특별한 목적 결과들은 CPU에 있는 제어플립플롭의 기능이다. 실제의 자리옮김이 수행된 이 형태의 단계는 여러가지 조합으로 다수번 수행된다. 즉 만약 5비트만큼 왼쪽으로 자리옮김은 원한다면, 1비트 왼쪽으로 자리옮김이 된 단계가 4비트 왼쪽으로 자리옮김이 된 단계뒤를 잇게 된다. 예를 들어 3만큼 오른쪽으로 자리옮김을 하려면 그만큼 오른쪽으로 자리옮김을 하고 다음에 1만큼 자리옮김을 한다.
마지막 자리옮김이 수행된 후, 즉 오페란든가 올바르게 애드레스 지정된 BRAM 위치와 Q레지스터에 배열된 후, 최종단계는 가지옮김을 하지 않고 대신에 Q레지스터 내용을 원래 로오드 되었던 BRAM 위치로 되돌리는 것이다. 이 작용은 다음과 같이 수행된다. I버스난은 I버스가 Q레지스터에 의해 구동되도록 지정한다. DALU(15)는 변경되지 않고 I버스를 통과하도록 DA난에 의해 제어된다. SH난은 DALU가 셀렉터(20)에 의해 변경되지 않고 0버스(17)로, 다시 변경되지 않고 시프터(19)에 의해 W버스(84)로 인에이블되도록 선택된다. BW비트(50)는 다음 W버스로부터 BRAM을 로오딩하는 조건에 세트되며, BS(B선택)비트는 BRAM에 있는 16위치 중의 어느것이 자리 옮김이 된 오페란드를 수신할 것인가를 지정한다. 이것은 모두 다수의 단계, 예를들어 3 혹은 4의 단게를 거쳐 일어난다. 한 단계는 Q레지스터를 로오드해서 40비트 오페란드를 만드는데 사용되고 한 두단계는 그 오페란드를 자리옮김을 1자삭 원하는대로 수행하는데 사용되고 그 다음 한단계는 Q레지스터 내용(오른쪽 16비트)을 BRAM에 돌려서 동작을 마치게 하는 데 사용된다.
CPU(100)은 CaChe/ MMu (103)으로 부터 명령과 16비트 혹은 24비트 오로페란드를 받아서 그 오페란드를 조작함으로서 명령을 수행하는 마이크로 프로그램된 24비트 프로세서이다. 이 규격은 마이크로 프로그램 제어하에 오페란드와 메모리 애드레스를 그들이 여러가지 소오스들로 부터 R버스(13)와 0버스(17)를 거쳐 W버스(84)로 전달됨에 따라 재배열하는 장치를 설명한다. 오페란드와 메모리 야드레스들의 배열을 위한 장치는 제4도의 96비트 마이크로 워어드 중에서 비트(84-89)인 SH난이다.
제5도로 참조하여 보면, 오페란드와 애드레스는 CPU(100)내의 여러 소오스로 부터 W버스상에 전달된다. 제2도의 DRAM(11) 및 BRAM(12)의 출력은 R버스(13)에 걸쳐서 전달되고 24신호 R버스(08-31+로서 멀티플렉서(MUX's)(20-2 및 20-4)의 입력단자에 가해진다. 본 명세서를 더 잘 이해하기 위하여, 플러스 부허 xxxxx+를 가진 신호는 신호가 높을 때 논리 ONE에 있다. 마이너스부호 xxxxx-를 가진신호는 신호가 낮을때 논리 ONE에 있다. 신호 DALU 08-31+인 DALU(15)의 출력은 시프트 거리제어논리(22-12)로 부터 MUX's(20-2 및 20-4)의 입력단자에 가해진다. 신호 CRSHFO+는 제어 스토어(80)의 제어 스토어 워어드의 비트(84)의 스테이트를 가리키고, R버스(13)이나 DALU(15) 신호를 선택하도록 MUX's(20-2 및 20-4)에 가해진다. 시프트 엔드 논리(22-12)로 부터의 신호 SSTOOB는 MUX(20-2)를 인에이블시키고, 신호 SSOBLF-는 MUX(20-4)를 인에이블 시킨다. 신호 OBSS 08-31-인 MUX's(20-2 및 20-4)의 출력은 배선- OR 단자(17-2)를 통하여 0버스(17)에 가해진다. 신호 SSOBLF-는 QREG 28-31-신호들이 신호 OBQR 12-15로서 MUX(20-6)을 통해 0버스(17)에 위치할 때 24-비트 나 32-비트 산술시프트 조작동안 MUX(20-4)를 무능하게 한다. 0버스 12- 15-의 신호를 국부 ZERO로 하는 2진 ONE 비트는 단자 1에 가해지고, 신호 FSHIN1+는 단자 0이나 1을 선택하고 신호 OBQREN-는 MUX(20-6)을 인에이블 시킨다. 이 시프트 엔드 조작은 아래에 기술 되었다.
P레지스터(23)신호, PCTR 08-31+ 및 Y레지스터(24)신호, YCTR 08-31+는 각각 MUX's(21)의 단자 0과 1에 가해진다. MUX's(21)의 출력, 신호 OBYP 08-31-, 은 배선-OR'의 단자(17-2)를 통해 0버스(17)에 가해진다. 제어스토어(80)시프트 비트 84신호 CRSHFO+는 시프트 엔드논리(22-8)로 부터의 신호 YPTOO
B에 의해 인에이블된 MUX's(21)의 단자 0이나 1을 선택한다.
I레지스터(57)로 부터 드라이버(20-8 및 20-10)에 가해진 표시문자 신호는 0버스(17)신호 OBUS 24-31-로 나타난다.
I레지스터(57)는 로우드되고, 이들 신호들은 소프트웨어 브랜치들을 개시하도록 소프트 웨어에 의해 테스트된다. 드라이버들(20-8 및 20-10)은 시프트 엔드 논리(22-8)로 부터의 신호 RITOOB에 의해 인에이블 된다.
신호 OVFF 24-로 나타난 신호 RIOVFF+는 오우버플로우 표시문자이다. 신호 OCYF 26-로 나타난 신호 RICRYF+는 자리올림 표시문자이다. 신호 OBTF 27-로 나타난 신호 RIBITF+는 비트 테스트의 결과를 나타내는 비트작용 표시문자이다. 신호 OAKF 28-로 나타난 신호 RIACKF+는 입출력인지 표시문자이다. 신호 OCTR 29-로 나타난 신호 RIGTRF+는 보다 더 큰 표시문자이다. 신호 OLSF 30-로 나타난 신호 RILESF+는 보다 더 작은 표시문자이다. 신호 OSNF 31-로 나타난 신호 RISNEF+는 불일치 부호표시문자이다. 신호 ZGND 25-는 국부 ZERO에 있다.
0버스(17)는 MUX's(21)이 P레지스터(23)나 Y레지스터(24)에 기억된 애드레스를 선택할 때 애드레스 비트를 시프터(19)에 전달한다. 0버스(17)는 MUX's(20-2 및 20-4)가 DAUL(15)나 R버스(13)로 부터의 데이타를 선택할 때 24비트를 함유한 워어드나 16비트를 함유한 워어드를 시프터(19)에 전달한다. 시프터(19)에 의해 수신된 데이타 워어드는 신호 OBUS 08-31인 24데이타비트를 함유한다.
신호 CDRSD1+와 CDBSD2+ 및 CDMSDO+는 신호 OBUS 08-23-를 0이나 1 또는 2나 4-비트 위치씩 좌측이나 우측으로 자리이동하도록 시프트 거리제어논리(22-12)로 부터의 시프터(19)에 가해진다. 신호 CDBSD1+와 CDBSD2+ 및 CDRSDO+는 신호 OBUS 24-31-를 0이나 1 또는 2나 4비트 위치씩 좌측이나 우측으로 자리이동하도록 시프터(19)에 가해진다.
시프터(19)출력신호 WBSH 08-31+는 신호 WBSH 08-31+로 배선 -OR's(81-1)을 통해 W버스(84)에 가해진다.
Q레지스터(50)로 부터의 신호 QREG 16-31-는 Q시프터 MUX's(56)에 가해진다. 신호 CDQSDO+와 CDQSDO1+ 및 CDQSDO2+는 신호 QREG 16-31-를 0이나 1 또는 2나 4-비트 위치씩 좌측이나 우측으로 자리이동하도록 시프트 거리제어논리 22-12로 부터의 Q시프터 MUX's(456)에 가해진다.
Q시프터 MUX's(56)의 출력신호는 Q레지스터(50)내에 기억된다. Q레지스터(50) 출력신호 QREG 16-81-는 드라이버(54)를 경유해 1버스(14)상에 전달된다.
OBUS 16-31-신호는, 전형적인 이중 정밀도의 산술 명령의 실행동안 Q레지스터(50)내에 저장을 위하여 Q시프터 MUX's(56)에 가해진다. 그리고 나선 다음 제어스토어(80) 사이클때 32-비트 오페란드는 시프터 MUX's(19) 및 Q시프터 MUX's(5
6)을 통해 자리이동될 수 있다. 좌측으로의 자리이동 동안, 시프트 엔드논리(22-8)는 신호 OBUS 32-33-를 발생하는 것에 의하여 Q레지스터(50)로부터 시프터 MUX's(
19)로 신호 QREG(16-17-)를 자리이동한다. 신호 QREG(18-19-)는 좌측으로의 자리이동 동안 직접 시프터 MUX's(19)에 가해진다. 순환성의 좌측 자리이동 신호 동안, 시프트 엔드 논리(22-8)는 신호 QLSH 32-35-로서 Q레지스터 MUX's(56)로 신호 OBUS(16-19-)를 자리이동한다. 우측 자리이동 동안, 하나 이상의 신호 O UBS 24- 31-는 시프트 거리제어논리(22-12)로 부터의 신호 CDQSD 0-2+가 1이나 2 또는 4-비트 우측 자리 이동을 가리킬 때 Q시프터 MUX's(56)에 의해 신택된다.
XB레지스터(58)는 Q스프터 MUX's(56)로 부터 Q MUX 16-19-신호를 수신한다. 애드레스 형성동안, 예를들면, 제2도의 B RAM(12)에 저장된 애드레스 워어드는 DRAM(11)에 저장된 인덱스 워어드에 더해지고 그 합은 Y 레지스터(24)에 저장된다. 오페란드 사이즈에 의존하여, 인데그 값은 애드레스 워어드와 일련하여 자리이동된다. 만약 우측으로 시프트된다면, 애드레스 워 어드의 우측단을 시프트 오프된 인덱스 나머지는 XB레지스터(58)에 저장된다. 4출력신호 XBREG 0-3-는 결과적으로 부호 해석기(59)에 디코우드도고 신호 HEXD 16- 31-을 경우해 Q레지스터(50) 및 Q시프터MUX's(56)에 저장된다. XB레지스터(58)는 제어스토어(80)의 GP 구역란, 제4도로부터의 제어신호 XBLOCK+에 의해 인에이블 된다.
신호 SZTOWB+는 시트터 MUX's(19)를 인에이블하도록 제어스토어(80) 비트 SH 96, 87 및 89에 의해 시프트 엔드논리(22-8)로 부터 발생된다.
제6도에 관하여, 시프트 거리 제어논리(22-12)는 제어 스토어(80)로 부터의 6개의 신호 CSSHFO+CSSHF5+를 수진하는데, 그것은 각각 시프트 비트 84-89, 제4도를 가리킨다. 신호 CSSHFO+∼CSSHF5+는 CPU(100)로 부터의 클럭신호 M CLOCK+의상승시에 각각 6개의플롭(22-14 22-19)의 세팅을 조절한다.
시프트 레프트(좌측) 플롭(22-20)은 국부 ONE에서의 신호 CSDSMO+ 및 C
DSMI+가 AND 게이트(22-28)에 가해질 때 클럭신호 MCLOCK-의 상승으로 시프트 레프트 작요을 가리키도록 세트된다. 이것은 시프트레프트 플롭(22-20)을 세팅하는 국부 ONE에 시프트 레프트 엔에이블 신호 SHLFTE+를 강요한다. 시프트 레프트 플롭은 신호 SHLFTF+나 CSDSM1+국부 ZERO에 있을 때나 클럭 신호MCLOCK+의 상승으로 리세트된다.
제5도의 시프터 MUX's(19)는 3섹션(8-비트 위치 8∼15를 포함한 L섹션과 8-비트위치 16∼23을 포함한 M섹션과, 8-비트위치 24-31을 포함한 R섹션)으로 나누어진다.
신호 CDBSD1+와 CDBSD2+및 CDMSD0+는 시프터 MUX's(19)의 L 및 M섹션에서 시프팅(자리이동)을 제어하고, 신호 CDBSD1+와 CDBSD2+ 및 CDRSD0+는 시프터 MUX's(19)에 R섹션에서 시프팅을 제어한다. 이들 신호들은 드라이버(22-46)에 의해서나 드라이버(22-48)에 의해서 시프터 MUX's(19)에 의해서 시프터 MUX's(19)에 가해진다. 드라이버(22-48)는 시프팅이 퍼엄웨어 워어드로 부터 제어될때 논리 ONE에서 게이트(22-40) 출력신호 SHFDIR-에 의해 선택된다. 즉, 하나이상의 논리 ONE에서의 신호 CRSHF2-논리 ZERO에서 CRSHF3+나 논리 ZERO에서의 CRSHF4+경우에, 출력은 플롭(22-16), (22-17) 및 (22-18)에서 각각 신호를 보낸다.
신호 CDBSD2+는 플립(22-19)가 세트될 때 드라이버(22-48)에 가해진 신호 CRSHF5+에 의해 발생된다.
신호CDBSD1+는 AND 게이트(22-38)에 가해진 신호 CRSHF2+ 및 CDSH
F4+가 논리 ONE에 있을때 발생된다. NOR/AND 게이트(22-30)의 출력인 신호 CDSHF4+는 부우리인 표현식에 응하여 논리 ONE에 있다 : CDSHF4 + =(SHFLFT
-+CRSHF4-)(SHFLFT++CRSHF4++CRSHF5++(CRSHF4-+CRSHF5-)
논리 ONE에서의 신호 CDMSD0+는 다음과 같이 발생된다. 논리 ONE에서 NOR 게이트(22-32)에 가해진 신호 CRSHF3+나 SHFLFT+는 논리 ZERO에 신호 CDSHF3-를 강요한다. 인버터(22-36)는 논리 ONE에 신호 CDMSD0+를 ONE에서 신호 CDSHF3+를 발생한다.
논리 ONE에서의 신호 CDRSD0+는 다음과 같이 발생한다. NOR 게이트(22-34)에 가해진 논리 ZERO에서의 신호 CDSHF3-나 CRSHF2+는 논리 ONE에서 신호 CDSH 23+를 발생한다. 이것은 드라이버(22-48)의 출력인 신호 CDRSD0+를 ONE에 강요한다.
드라이버(22-42) 및 (22-44)는 Q시프터 MUX's(56) 제어신호 CDQSD0+와 CDQSD1+ 및 CDQSD2+를 발생한다. 드라이버(22-44)는 논리 ONE 에 신호 SH
FDIR-에 의해 인에이블된다. 논리 ONE에서의 신호 CDSHF3+는 논리 ONE에 신호 CDQD0+를 강요한다. 논리 ONE에서의 신호 CRSHFT5+는 논리 ONE에 신호 CDQS
D2+를 강요한다. 논리 ONE에서의 신호 CRSHF5+는 논리 ONE에 신호 CDQSD2+를 강요한다.
F'레지스터(76)로 부터의 신호에 의해 애드레스된 프로그래머블 리이드 온리 메모리(도시되지 않음)로 부터의 신호 ODSIZ1+와 ODSIZ2+ 및 ODSIZ4+는 논리 Z
ero에서의 신호 SHFDIR-에 의해 인에이블된 드라이브(22-42) 및 (22-46)에 가해진다. 이들 신호는 Q시프터 MUX'S(56)에 가해진 드라이버(22-44)로 부터의 제어신호 CDQSD2+와 CDQSD1+ 및 CDQSD0+를 각각 발생하고 드라이버(22-46)로 부터 시프터 MUX'S(19)에 가해진 신호 CDBSD2+와 CDBSD1+와 CDMSD0+및 CDSIZ4+를 각각 발생한다. 신호 ODSIZI+ 와 ODSIZ2+ 및 CDSIZ4+는 CPU(100)에 의해 처리되는 오페란드의 형을 나타내는 2진수를 가리킨다. 비트 오페란드를 처리하는 명령은 001의 2진 코우드를 초래하는데, 즉, 신호 ODSIZ1+은 논리 ONE에 있고, 신호 ODSIZ2+ 및 ODSIZ4+는 논리 ZERO에 있다. 디지트 오페란드(4비트)를 처리하는 명령은 010의 2진 코우드를 초래한다.
반어 오페란드(8비트)에 대해, 2진 코우드는 011이고 전어 오페란드(16비트)에 대해, 2진 코우드는 100이고 이중어 오페란드(32비트)에 대해, 2진 코우드는 101이고, 4중어 오페란드(64비트)에 대해, 2중 코우드는 110이다.
이들 신호 ODSIZ1+∼ODSIZ4+의 사용은 아래에 기술되었다. 신호 CRSHF0
+가 MUX'S(20-2) 및 MUX'S(21)의 선택 단자에 가해진다는 것을 유의하라. 신호 ODSIZ1+와 ODSIZ2+ 및 DSIZ4+의 발생 및 기능은 상호 연관되어 있으며 "확장정수 명령의 마이크로 프로그램제어"라는 타이틀로 미합중국 특허청에 특허 출원된 출원번호 325, 442호에 기술되어 있다.
제7도에 관하여, 시프트 엔드 논리(22-8)는 그것들이 오른쪽으로 자리이동될때 오페란드나 애드레스 워어드의 왼쪽 끝에 데이타 버트나 애드레스 비트의 대체를 제어하고 시프트 엔드 논리(22-8) 제어신호 FSHIN1+ 및 FSHIN2+의 기능으로서 그것들이 왼쪽으로 자리이동될 때 오페란드나 애드레스 워어드의 오른쪽 끝에 비트의 대체를 제어한다. 또한 시프트 엔드 논리(22-8)의 시프터 MUX'S(19)와 Q시프터 MUX
'S(56)사이의 데이타나 애드레스비티의 시프팅을 제어한다.
시프트 엔드 논리(22-8)에 의해 제어되는 시프트 4가지 형이 있다. 24-비트 산술 32-비트 산술 32-비트 순환 및 32-비트 개방, 24-비트 산술 시프트는 0버스(17) 및 W버스(84) 사이에서 일어난다. 신호0버스 08-31-에 의해 나타난 24비트는 자리이동 되고 신호 W버스 08-31+에 의해 나타난 24-비트로서 나타난다.
우측산술 시프트를 가정하여 보자. 맨 왼쪽 비트 O BUS 08-는 +부호에 대해 2진수 ONE와 -부호에 대해 2진수 인 부호 비트라고 생각할 수 있다. 오페란드나 애드레스 워어드가 오른쪽으로 자리이동 될 때, 부호비트는 부호비트가 자리 이동된 각 비트위치에서 되풀이 된다. 예를들어, 1001…의 좌단을 가지는 음의부호를 가지는 긴 오페란드 24비트를 가정하면, 2비트의 우측자리이동은 W버스(84)상에서 111001…의 오페란드를 가져온다. 맨 우측의 2비트들은 잃게 된다. 좌측 산술자리이동 동안, 부호비트는 잃게 되고 2진수 ZERO 비트가 오페란드의 우단에 채워진다.
우순환 시프트동안, 오페란드의 우단을 비우는 비트들은 오페란드의 좌단에 비트를 대체하는데 사용된다. 좌순환 시프트 동안, 오페란드의 좌단을 비우는 비트들은 오페란드의 우단에서 빈자리로 비트 위치에 저장된다.
32-비트 시프트 동작동안, 16비트는 Q레지스터(50)에 저장되고, 32-비트 오페란드의 나머지 16비트가 시프터 MUX'S(19)의 M 및 R 부분을 통하여 통과하는 같은 사이클 동안 Q시프터 MUX'S(56)를 통과한다. 우측시프트동안, 2진 비트는 시프터 MUX's(19)의 좌우단으로 부터 시프터 MUX'S(56)의 좌단까지 통과한다. 유사하게, 좌측 시프터시, 2진 비트는 Q시프터 MUX'S(56)의 좌단으로 부터 시프터 MUX'S(19)의 유단까지 통과한다.
신호 F SHIN1+ 및 F SHIN2+는 인버어터(22-82) 및 (22-80)에 의해 각각 역전된 제4도의 GP 구역란의 제어 스토어(80) 비트에 의해 발생되고 신호 F SHIN1+ 및 F HIN2-로서 부호 해석지(22-84)의 입력에 가해진다. 부호해석기(22-84)출력신호 CDOPEN-와 CDCIRC-와 CDAR 32- 및 CDAR 24-는 제5도의 드라이버(20-8) 및 (20-10)에 가해진소프투웨어 가시 표시문자신호의 발생을 제어하도록 I레지스터(57)에 가해진다. 논리 ZERO에서의 신호 F SHIN1- 및 논리 ONE에서의 신호 F SHIN2-는 좌 또는 우 순환시프트를 가리키는 신호 CDCIRC-를 선택한다. 논리 ONE에서 신호 CDCIRC-는 NAND 게이트(22-92)와 (22-94) 및 (22-96)이 각각 0버스(17)신호 O BUS 17-와 O BUS 18- 및 O BUS 19-에응답하도록 결정한다. 또한 논리 ONE에서의 신호 FSHIN2와 논리 ONE에서의 신호 FSHIN2+는 NOR/AND 게이트(22-76)와 NANO게이프(22-78)가 신호 SHENDQ+를 경유해 신호 QLSH 32를 발생하도록 신호 OBUS 16-에 응답하게 결정한다. Q시프터 MUX'S(56)의 비트위치(16)으로 부터 시프터 MUX'S(19)의 비트위치(31)까지의 좌측으로의 자리이동은 1-비트 및 2-비트씩 왼쪽으로 자리이동하는 동안 신호 QREG16- 및 QREG17-로 부터의 신호 O BUS32-및 OBVUS33를 발생하도록 NAND 게이트(22-64)및 (22-66)에 가해진다. 신호 QRLDEN에 의해 결정된다. 4-비트씩 좌측 자리이동에 대해, 신호 QREG18- 및 QREG 19-는 각각 시프터 MUX'S(19)의 비트위치(30) 및 (31)에 직접 가해진다. 신호 QREG16- 및 QREG17-는 단지 퍼엄웨어가 24-비트 좌측 시프트 동작동안 1-비트나 2-비트씩 왼쪽으로의 자기 이동을 요하고 4-비트씩의 좌측시프트는 요하지 않기 때문에 인에이블되지 않은 Q레지스터(50)로 24-비트 좌측 시프트동안 시프트 MUX'S (19)의 비트위치(30) 및 (31)로 이진수 ZERO'S를 강요하도록 NAND 게이트(22-64) 및 (22-66)에 의해 제어된다.
신호 QRLDEN는 NOR/AND 게이트(22-60)와 신 QRLDEN+ 및 인버어버(22-62)를 경유해 퍼엄웨어신호 CRSHF 1와 CCRSGF 2 및 CRSHF 5로부터 발생된다. NAND 게이트(22-98)에 가해진 CPU(100)로 부터의 신호 QRLDEN+ 및 클럭신호 MCX 000-는 Q 시프트 MUX'S(56)의 출력으로 Q레지스터(50)를 로우드하기 위하여 로우딩 신호 QRLOAD-를 발생한다.
우순환 시프트나 길이가 32비트인 우측 개방 시프트를 위해 논리 ONE에서의 신호 CRSHF1+ 및 FSHIN2+는 MUX(20-6)을 인에이블하는 신호 OBQREN-를 발생하도록 NAND 게이트(22-88)에 가해진다. 순환 시프트동안 논리 ZERO에서의 신호 FSHIN1+는 신호 OBQR12-15와 배선 OR(17-2) 및 OBUS12-15-를 경유해 0버스(17)에 신호 QREG 28-31-를 전송한다. 만약 신호 FSHIN1+가 우측개방 시프트 동안 논리 ONE에 있다면, 신호 OBUS12-15-는 국부 ZERO'S에 강요된다.
그러므로, 우순환 시프트동안, Q시프터 MUX'S(56)의 비트위치(31)가 시프트 아울되는 비트는 신호 WBUS16+로 시작하는 W버스(84)에 나타난다. 예를들면, 2-비트 우순환 시프트동안, Q시프터 MUX'S(56)의 위치(30) 및 (31)에서 2진 비트는 시프터 MUX'S(19)의 비트위치(14) 및 (15)에 전송되고, 신호 WBUS16+ 및 WBUS17+에 시프트된다. 2-비트 우측 개방 시프트동안, 2진 ZERO'S는 신호 WBUS16+ 및 WBUS+를 2진수 ZERO에 강요하도록 시프터 MUX'S(19)를 통해 자리이동한다.
MUX'S(20-2)는 NOR 게이트(22-68)로부터의 신호 SSTOOB에 의해 인에이블되고, MUX'S(21)는 NAND 게이트(22-70)로부터의 신호 YPTOOB에 의해 인에이블된다. NAND 게이트(22-72)는 드라이버(20-8) 및 (20-10)을 인에이블하도록 신호 RITOOB-를 발생한다.
제8도에 관하여, 24개의 멀티프렉서들, MUX19-8∼19-31은 제5도의 시프터 MUX'S(19)를 구성한다. 이들 멀티플랙서들은 W버스(84)에 0버스(17)를 결합시킨다. MUX(19-8)∼MUX(19-31)는 0버스(17)신호 OBUS08-31-를 수신하고, 제10도에서 보여준것과 같이 선택 신호 CDBSDI+와 CDBSD2+와 CDMSDO+와 CDRSD 및 CDRSDO+에 의해 명기된 바와같이 좌측 또는 우측으로 신호들을 0이나 1 또는 2나 4-비트 위치씩 자리이동한다. 선택신호 CDBSD2+ 및 CDBSO1+는 MUX(19-8)∼MUX(19-31)의 선택단자 1 및 2에 각각 가해진다. 선택신호 CDMSDO+는 MUX(19-23)의 선택단자 4에 가해지고, 선택신호 CDRSDO +는 MUX(19-24)∼MUX(19-31)의 선택단자 4에 가해진다.
선택신호 CDBSD2+및CDBSD1+ 이논리 ZERO에 있을때, 시프터 MUX'S(19)는 교환이나 쌍이나 일직선형으로 있다. 제10도를 참조하면, "L"은 비트위치 08∼15에 있 관한 것이고, "M"은 비트위치 16∼23에 관한 것이고, "R"은 비트위치 24∼31에 관한 것이다.(왼쪽, 오른쪽 및 중간).
제10도의 라인 h에 보여준 것과 같이, 교환형에 있어서, 신호 CDMSDO+ 및 CDRSDO+가 논리 ZERO에 있을때, 신호 OBUS 24-31-는 각각 MUX(19-8)∼(19-15)의 단자 0에 가해지고, 또한 각각 MUX(19-16)∼(19-23)의 단자 0에 가해진다.
신호 OBUS 08-15는 각각 MUX(19-24)∼MUX(19-31)에 가해진다. 이들 신호들은 MUX(19-8)∼MUX(19-31)을 통하여 W버스(84)신호 WBUS 08-31+(RRM→LMR)까지 통과한다.
제10도의 라인 i에 보여준 것과 같이, 선택신호 CDMSDO+가 논리 ZERO에 있고 선택신호 CDRSDO+가 논리 ONE에 있을때, 신호 OBUSD24-31-는 각각 MUX(19-8)∼MUX(19-15)의 단자 0에 그리고 각각 MUX(19-16)∼MUX(19-23)의 단자 0에 가해지고, 또한 각각 MUX(19-24)∼MUX(19-31)의 단자 4에 가해지며, RRR로서 W버스(84)에 나타난다. 이것은 CPU(100)가 반어 오페란드상에 명령을 실행할때 바이트조작하게 한다.
0버스(17)신호 OBUS 08-는, +부호를 가리키는 2진수 ZERO와-부호를 가리키는 2진수 ONE인, 부호비트를 가리킨다. 부호 비트신호 OBUS 08-는 MUX(19-8)의 단자 1, 2, 3 및 4에 : MUX(19-9)의 단자 1, 2 및 3 : (19-10)의 단자 1 및 2에, MUX(19-11)의 단자 1에 : MUX(19-12)의 단자1에 가해진다. MUX(19-8)∼MUX(19-12)의 단자 5, 6또는 7이 작용하기 있기 때문에 좌측 시프트는 상실된 부호 비트를 가져온다. 단자5는 0버스(17)신호 OBUS 09-∼OBUS 13-를 W버스(84)신호 WBUS 08+∼WBUS 12+에 각각 전송하는 것에 의하여 1-비트씩 왼쪽으로 자리이동하는 동안 작용 한다. 단자 6은 신호 OBUS 10-∼OBUS 14-를 W버스(84)신호 WBUS 08+∼WBUS 12+에 각각 전송하는 것에 의하여 2-비트씩 왼쪽으로 자리이동하는 동안 작용한다. 단자 7은 신호 OBUS 12-∼OBUS 16-를 각각 W버스(84)신호 WBUS 08+∼WBUS 12+에 전송 하는 것에 의하여 4-비트씩 왼쪽으로 자리이동하는 동안 작용한다.
1이나 2 또는 4-비트 위치의 우측시프트동안 부호 자리이동된 비트위치의 수동안 반복된다. 1-비트 우측 시프트동안, 단자 3은 MUX(19-8)과 MUX(19-9)를 통하여 부호비트 신호 OBUS 08-를 전송하고 MUX(19-10)∼MUX(19-12)를 통하여 신호 OBUS 09-∼OBUS 11-를 전송하도록 작용한다.
2-비트 우측 시프트동안, 단자2는 MUX(19-8)∼MUX(19-10)을 통하여 신호 OBUS 08-와 각각 MUX(19-11)및 MUX(19-12)를 통하여 신호 OBUS 09- 및 OBUS 10-인 부호비트를 전송하도록 작용한다. 4-비트 우측 시프트동안, 단자 1은 MUX(19-8)∼MUX(19-12)를 통하여 부호 비트신호 08-를 전송하고 MUX(19-13)을 통하여 신호 OBUS 09-를 전송하도록 작용한다.
4-비트 우측개방 시프트동안, 제10도의 라인 a에서와 같이, MUX(19-8)∼(19-31)의 단자1은 작용하고 있고, 신호 OBUS 09-∼OBUS 27-는 MUX(19-13)∼MUX(19-31)에 의해 W버스(84)신호 WBUS 13+WBUS 31+에 자리이동된다. 부호 비트 신호 OBUS 08-는 신호 WBUS 08+WBUS 12+에 전송된다. 신호 OBUS 12-∼OBUS 15-가 논리 ONE 입력단자 1을 선택하는 MUX(20-6)에 의해 논리 ZERO에 강요되기 때문에, 신호 WBUS 16+∼WBUS 19+는 논리 ZERO로 강요된다. 신 OBUS 28-∼OBUS 31-는 상실하게 된다.
4-비트 좌측 개방 시프트동안, 제10도의 라인 g에서와 같이, MUX(19-8)∼MUX(19-31)의 단자 7은 작용하고 있다. 신호 OBUS 12-∼신호 OBUS 31-는 MUX(19-8)∼MUX(19-27)에 의해 W버스(84)신호 WBUS 08+WBUS 27+에 자리이동된다. 신호 OBUS 08-∼OBUS 12-는 상실된다. 각각 MUX(19-28)∼MUX(19-31)의 단자 7에 가해진 신호 OBUS 32-와 OBUS 33-와 QREG 18-및 QREG 19-는 논리 ZERO에 있고 그리하여 신호 WBUS 28+∼WBUS 31+를 논리 ZERO에 강요한다. 좌측개방 시프트동안 논리 ONE일때, 제7도에서, NAND게이트(22-65) 및 (22
-66)에의 입력인 신호 QRLDEN은 신호 OBUS 32-및 OBUS 33-를 논리 ZERO에 강요한다. 또한, 논리 ONE에서 NAND 게이트(22-98)의 출력인, 신호 QRLOAD-는 Q레지스트(50)의 로우딩을 방지하고, 출력신호 QREG 18-및 QREG 19-를 논리 ON
E에 강요한다.
제10도에서, 라인 f 및 e에서와 같이, 2-비트 및 1-비트 좌측 개방시프트는 4-비트 좌측개방시프트와 유사한 방법으로 작용한다. 2-비트 좌측 개방 시프트동안, MUX(19-8)∼MUX(19-31)의 단자6은 작용하고 있고, 1-비트 좌측개방시프트 동안단자 5는 작용하고 있다. 유사하게, 2-비트 및 1-비트 우측 개방 시프트동안, 제10도의 라인 b 및 c에서와 같이, 각각 MUX(19-8)∼MUX(19-31)의 단자 2 및 3은 작용한다.
제9도에 관하여, Q시프터 MUX'S(56)은 16개의 멀티플랙서들, MUX(56-16)∼MUX(56-31)을 포함하고 있다. Q레지스터(50)및 Q시프터 MUX'S(56)는 우측시프트 작용의 명령 실행동안 시프터 MUX'S(19)의 16-비트 확장이다.
시프트 선택 제어 신호들 CDQSD +2와 CDQSD1+ 및 CDQSD0+은 시프트 거리 제어논리(22-12)에서 발생되고, 각각 MUX(46-16)∼MUX(56-31)의 1과 2 및 4선택단자에 가해진다. 제6도로부터, 신호CDQSD2+ 및 CDMSD2+가 기능적으로 동일하고, 신호 CDQSD1+ 및 CDBSD1+는 기능적으로 동일하지 않다.
논리 ZERO에서 신호 CDQSD2+와 CDQSD1+ 및 CDQSD0+는, 애드레스 발생작용동안 신호 QMUX16-∼QMUX 31-을 경유하여 Q레지스터(50)로 들어가는 신호 HEXD 16-31-인, 제5도의 부호 해석기(59)의 출력을 로우딩하기 위하여 MUX(5
6-16)∼MUX(56-31)의 단자 0을 선택한다.
국부 ZERO에서의 신호 CDQSD 2+ 및 CDQSD1+와 국부 ONE에서의 신호 C
DQSD0+는 0버스(17)를 로우드하도록 MUX(56-19)∼MUX(56-31)의 단자4를 선택한다. 신호 OBUS 16-∼0BUS 31-는 Q레지스터(50)에 직접 로우드한다.
MUX(19-8)∼MUX(19-31)에서와 같이, 제어신호 CDQSD2+와 CDQSD1
+ 및 CDQSD0+는 4-비트우측시프트를 위해 MUX(56-16)∼MUX(56-31)의 단자 1을 선택하고, 2-비트 우측 시프트를 위해 단자 2를, 1-비트 우측 시프트를 위해 단자 3을, 1-비트좌측 시프트를 위해 단자 5를, 2-비트 좌측 시프트를 위해 단자 5을, 4-비트 좌측시프트를 위해 단자 7을 선택한다.
32-비트 우측 개방이나 순환시프트 작용동안, 시프트 MUX'S(19)의 우단은 Q시프터 MUX'S(56)의 좌단에 결합된다. 신호 OBUS 28-와 OBUS 29-와 OBUS 30- 및 OBUS 31-는 4-비트 우측시프트 작용을 위해 각각 MUX(56-16)∼MUX(56-19)의 단자 1에 가해진다. 이것은 각각 Q레지스터(50) 입력신호 Q REG 16-∼QREG 19-에 나타나는 신호 OBUS 28-∼OBUS31-을 가져온다.
신호 OBUS 30- 및 OBUS 31-는 2-비트우측시프트 작용을 위해 MUX(56-16) 및 MUX(56-17)의 단자 2에 가해지고, 신호 OBUS 31-는 1-비트 우측 시프트 작용을 위해 MUX(56-16)의 단자 3에 가해진다.
31-비트 개방, 산술 또는 순환 좌측 시프트 작용동안, 신호 OBUS 32-와 OBU
S 33-와 QREF 18- 및 Q REF 19-는 4-비트 좌측 시프트 작용을 위해 각각 MUX(
19-28)∼MUX(19-31)의 단자7에 가해진다. 상기한 바와같이, 제7도를 참조하여 보면, 신호 QRLDEN-는 Q레지스터(50)가 인에이블 될 때 각각 신호 QREF 16- 및 QREF 17-로 부터의 신호 OBUS 32- 및 OBUS 33-를 발생하도록 NAND 게이트(22-64) 및 (22-66)을 인에블 시킨다. 이것은 신호 QREG 16-∼QREG 19-를 W버스(84)신호WBUS28+∼WBUS31+에 위치 설정한다. 유사하게, 신호 OBUS 32- 및 OBUS 33-는 2-비트 좌측시프트 작용을 위해 MUX(19-30) 및 MUX(19-31)의 단자6에 가해지고, 신호 OBUS 32-는 1-비트 좌측 시프트 작용을 위해 MUX(19-31)의 단자5에 가해진다.
32-비트 시프트 작용동안, 신호 QLSH 32-와 QLSH 33-와 QLSH34- 및 QLSH 35-는 4-비트 좌측 시프트를 위해 MUX(56-28)∼MUX(56-31)의 단자7에 가해진다. 제7도를 참조하여 보면, DALU(15)로부터의 신호 OBUS 16-나 신호 DALU 08+는 신호 QLSH 32-를 발생한다. 논리 ONE에서 신호 MISCIA+는 신호 QUOBIT-를 발생하도록 확장 OR 게이트에 가하진다. 신호 QUOBIT-는 1-비트 좌측 시프트 작용동안 MUX(56-31)의 단자 5에 신호 QLSH 32-로서 가해지도록 곱 또는 분할명령 실행동안 작용한다. 신호 QUOBIT-는 몫을 전개할 때 감산 결과의 부호나 부분적인 부호를 가리킨다. 신호 FSHIN 2-및 FSHIN 2+는 신호 OBUS 16-나 QUOBIT-를 선택하도록 NOR/AND게이트(22-76)를 제어한다. 논리 ZERO에서 출력신호 SHENDQ-는 신호 QLSH 32-를 발생하도록 NAND게이트(22-78)을 인에이블 시킨다. NAND게이트(22-92)와 (22-94) 및 (22-96)은 각각 신호 OBUS 17-와 OBUS 18-및 OBUS 19-로 부터의 신호 QLSH 33-와 QLSH 34-및 QLSH 35-를 발생하도록 부호해석기(22-84)로 부터의 신호 CDCIRC에 의해 인에이블된다. 이것은 4-비트 순환 좌측 시프트동안 신호 QMUX28-∼QMUX31-를 경유해 Q레지스터(50)로 신호 QMUX 28-∼QMUX 31-를 전송한다. 유사하게, 신호 QLSH 32 및 QLSH 33-는 2-비트 순환 좌측 시프트 작용을 위해 MUX(56-30)및 MUX(56-31)의 단자 6에 가해지고, 신호 QLSH 32-는 1-비트 순환좌측 시프트 작용을 우해 MUX(56-31)의 단자 5에 가해진다.
소프트 웨어 가시 표시문자를 함유한 I레지스터(57)의 내용은 드라이버(20-8)및 (20-10)을 경유해 0버스(17)신호 OBUS 24-∼OBUS 31-에 가해지고, MUX(19-15)∼MUX(19-23)의 단자 0에 가해지고, W버스(84)신호 WBUS 16+∼WBUS 31+에 이중으로된 전송을 위해 MUX(19-24)∼MUX(19-31)의 단자0에 가해진다. 신호 WBUS 08+∼WBUS 15+는 이동작에 대해서는 중요하지 않다.
32-비트 순환우측 시프트 동작을 위해서, 논리 ZERO에서의 MUX(20-6)에 가해진 신호 FSHIN 1+및 OBQREN-와 함께, 신호 QREG 28-∼QREG 31-는 배선 OR'S(17-2)및 신호 OBQR 12-15-를 경유해 각각 0버스(17)신호 OBUS 12-∼OBUS 15-에 제5도의 MUX(20-6)를 통해 가해진다. 1-비트 순환우측시프트를 위해, 신호 QREG 31-는 신호 OBUS 15-와 MUX(19-16)의 단자 3을 경유해 W버스(84)신호 WBUS 16+에 가해진다. 2-비트 순환 우측 시프트를 위해, 신호 QREG 30-및 QREG 31-는 W버스(84) 신호 WBUS 16+및 WBUS 17+에 전송을 위해 MUX(19-16)및 MUX(19-17)의 단자 2에 가해지는 신호 OBUS 14-및 OBUS 15-를 발생한다. 4-비트 순환 우측 시프트를 위해, 신호 QREG 28-∼QREG 31-는 W버스(84)신호 WBUS 16+∼WBUS 19+로의 전송을 위해 MUX(19-16)∼MUX(19-19)의 단자1에 가해지는 신호 OBUS 12-OBUS 15-를 발생시킨다.
32-비트 우측 개방 시프트를 위해, 논리 ONE에서 신호 FSHIN1+는 MUX(20
-6)의 단자 1을 선택한다. 단자 1에 가해진 높은 신호들은 논리 ZERO에 OBUS 12-∼OBUS 15'-를 강요하고, 그리하여 각각 1이나 2 또는 4-비트 우측 개방 시프트를 위해 논리 ZERO에 MUX(19-16)의 단자 3과 MUX(19-16)및 MUX(19-17)의 단자 2와 MUX(19-16)∼MUX(19-19)의 단자 1을 강요한다.
제7도의 NAND 게이트(22-8)이 출력인 신호 OBQREN-는 신호 CRSHF 1+및 FSHIN 2+에 의해 논리 ZERO로 강요되고, 그리하여 MUX(20-6)을 인에이블시킨다.
이것이 신호 SSOBLF-를 논리 ONE으로 강요하는 것에 의해 MUX(20-4)를 무능하게 한다.
P레지스터(23) 신호 PCTR 08-31+및 YCTR 08-31+신호 YPTOOB-에 의해 인에이블되는 16개의 MUX'S 21의 단자 0및 1에 각각 가해진다. 신호 YPTOOB-는 NAND 게이트(22-70)에 가해진 시프트 신호 CRSHF2-와 CRSHF 3+및 CRSHF 4-에 의해 발생된다. 시프트 신호 CRSHF 0+는 MUX'S 21의 0단자나 1단자를 선택한다. 출력신호 OBYP 08-31-는 배선 OR(17-2)및 0버스(17)를 경유하여 시프터 MUX'S(19)에 가해진다. 그 신호들은 자기이동없이 W버스(84)에 전송되거나 제1도의 메가버스(105)상의 데이타 만큼 전송된 애드레스와 P레지스터(23)이나 Y레지스터(24)로 부터의 내부 애드레스 신호를 일련으로 하기 위하여 좌측으로 1비트 위치 자리이동된다.
시프터 MUX'S(19)및 Q시프터 MUX'S(56)은 메모리 (106)에 저장된 오페란드의 애드레스 기억장소의 전개에 사용된다. 그 애드레스는 BRAM(12)에 기억저장된 기본 애드레스로 비교되는 DRAM(11)에 기억저장된 인덱스 값을 가산하는 것에 의해, 그리고 Y레지스터(24)에서의 결과를 저장하는 것에 의해 전개 된다. 인덱스 값은 시프터 MUX'S(19 )의 비트 31위치의 우측으로 (오페란드가 길이가 있어 1워어드 이상인 경우) 또는 좌측으로(오페란드가 길이에 있어 1워어드 미만인 경우) 일련하여 있는 워어드 애드레스 2진 점과 함께 R버스(13)에 나타난다. 만약 오페란드가 비트들로 구성되어 있다면, 제10도에 보여준 바와같이, 인덱스 값은 우측으로 4비트 위치를 자리이동되어야 한다. 만약 오페란드 4비트 숫자나 8비트반어로 구성되어있다면, 인덱스 값은 오른쪽으로 각각 2 또는 1비트 위치를 자리이동되어야 한다. 시프트 이웃된 인덱스 값 비트는 선택된 숫자나 반어의 오페란드내에 위치를 가리킨다.
이중어 또는 4중어(4워어드)에 대해 인덱스 값은 각각 좌로 1비트 위치 또는 좌로 2비트 위치를 자리이동되어야 하고, 1제로 비트 또는 2제로 비트는 인덱스 값의 맨 우측 위치로 강요된다.
한보기고, 오페란드가 비트들로 구성되어 있다고 가정하여 보자. 퍼엄웨어는 인덱스 값의 비교된 시프트를 가리킨다. 드라이버(22-42) 및 드라이버(22-46)에 가해진 신호 ODSIZ 4+와 ODSIZ 2+및 ODSIZ1+는 논리 ONE으로 선택회로 신호 CDBS
D 2+및 CDQSD 2+를 강요하고 논리 ZERO로 선택신호 CDRSD 0+와 CDQSD 0+와 CDBSD 1+ CDQSD 1+및 CDMSD 0+을 강요하고, 그리하여 MUX(19-8)∼MUX(19-31)및 MUX(56-16)∼MUX(56-31)의 단자 1을 선택한다. 이것은 Y레지스터(24)에 기억 장치를 위해 W버스(84)상에서 인덱스 값 신호 OBUS 08-∼OBUS 27-를 자리이동하고, 제5도의 XB 레지스터(58)에 기억저장을 위해 MUX(56-16)∼MUX(56-19)를 통하여 신호 OBUS 28-∼OBUS 31-를 자리이동한다.
XB 레지스터(58)는 제어스토어(80)로 부터의 신호 XBCLOK+에 의해 인에이블되고 제1퍼어 웨어 사이클에 신호 QMUX 16-∼QMUX 19-를 저장한다. 신호 XBL
OCK+는 제4도의 제어 스토어 비트 GP(61)및 GP(71)로 부터 발생된다.
또한, 신호 XBREG 0+∼XBREG 3+는 제2퍼엄웨어 사이클상의 4대 16부호 해석기(59)에 가해진다. 그 출력신호 HEXD 16-31은 MUX(56-16)∼MUX(56-31)의 단자 0을 경유해 Q레지스터(50)에 저장되고, 따라서 제3 퍼엄웨어 사이클에서, I버스(14)에 보내어 진다. 이 결과의 마스크는 소프트웨어가 애드레스된 워어드의 특정한 인덱스-선택된 비트를 선택하고 조작하게 한다.
4디지트의 한 워어드를 함유한 오페란드는 2비트 위치의 시프트를 발생한다. 신호 OBUS 30-및 OBUS 31-은 XB레지스터(58)에 저장을 위해 MUX(56-16)및 MUX(46-17)의 단자 2에 가해진다. 부호 해석기(59)는 오페란드 워어드에서 한 디지트를 선택하는 Q레지스터(50)에 저장을 위해 4개의 신호들중의 하나를 발생한다. 유하사게, 2개의 반워어드 들중의 한 워어드를 함유한 오페란드는 1비트 위치의 우측 시프트를 발생하고, 반어를 선택한 두 신호들 중의 하나를 발생하는 부호 해석기 (59)를 가져온다. 전 워어드에 대한 인덱스 값은 시프트 되지 않고, 이중 워어드는 1비트 위치좌로 시프트되고 4중 워어드는 2비트 위치 좌로 자리이동 된다는 것을 제10도로 유의하자. 좌로 시프트 하는 것은 2진 ZERO 비트가 1비트 좌측 시프트를 MUX(19-31)단자 5신호 OBUS 32-와 MUX(19-30)및 MUX(19-31)신호 OBUS 32-및 OBUS 33-의 단자 6을 경유해 인덱스값의 우단에 자리이동되는 것을 초래한다.
MUX(19-08)∼MUX(19-31)은 74S 251회로이고, MUX(56-16)∼(56-31)은 74S 151회로이다.
74S 251회로는 인에이블 단자 F에 가해진 신호 SZTOWB+에 의해 무능하게 될 때 고임피던스 출력을 갖는다. 74S 151 회로는, 논리 ZERO인, 접진신호에 의해 인에이블된다. Q레지스터(50)는 74S374회로이다. MUX'S(20-2, 21-4)는 74S 25
8회로이고, MUX(20-6)는 74S 257회로이다.
드라이버(20-8)및 (20-10)은 74S 240회로이다. 드라이버(22-42와 22-44와 22-46 및 22-48)은 74S 241회로이다. 플롭(2-14)∼(22-20)은 74S 74회로이다.
본 발명의 양호한 실시예를 보여주고 기술하였기 때문에, 당 기술분야에서 숙련된 자는 많은 변화 및 변경이 본 발명을 유효하게 만들어질 수 있고 여전히 청구된 발명의 범위내에 있다는 것을 깨달을 것이다. 이와같이 상기에 가리켜진 많은 소자들은 청구된 발명의 요지내에 있고 같은 결과를 제공하는 다른 소자에 의해 변경되고 교체될 수 있다.

Claims (12)

  1. 메모리 부시스템으로 부터의 명령신호 및 오페란드 신호를 수신하고 명령신호에 따라 오페란드 신호로 시프팅 동작을 실행하기 위한 중앙처리장치로서, 중앙처리장치가 다수의 제어 신호를 발생하기 위하여 명령신호에 응답하는 제어스토어와 : 다수의 시프트 제어 신호들을 발생하기 위하여 처음의 다수의 제어 신호에 응답하는 기억저장 장치를 포함한 시프트 거리 제어 장치와 : 오페란드 신호들이 시프팅 동작 동안 시프트 되는 비트위치의 수를 나타내는 다수의 시프트 신호를 발생하기 위하여 다수의 시프트 제어 신호들에 신호들에 응답하는 논리 장치와 : 메모리 부시스템으로 부터 수신된 오페란드 신호를 스토어 하기 위하고, 오페란드 신호를 나타내는 다수의 제1버스 신호들을 발생하고 제1버스에 오페란드 신호를 전송하기 위하여 다수의 시프트 제어 신호에 응답하는 셀렉터(선택장치)와 : 상기 제1버스에 결합되고 제1오페란드 워어드를 나타내는 다수의 제1버스 신호들을 수신하고 제1오페란드 워어드를 나타내는 다수의 멀티플렉서 신호들을 발생하기 위하여 제1스테이트로 다수의 시프트 신호들에 응답하는 시프팅 장치와: 제 1사이클 동작동안 다수의 레지스터 신호들을 발생하고 다수의 멀티 플렉서 신호들을 스토어 하기 위하여 다수의 시프트 제어 신호에 응답하는 레지스터 장치외 :
    제2오페란드 워어드를 나타내는 다수의 제1버스의 제1엔드 신호와 다수의 제어 신호들의 제2엔드 신호를 수신하기 위하고, 다수의 제어 신호들이 순환 시프트를 가리킬 때 제1엔드 신호들을 나타내는 제1시프트 엔드 신호들과 제2엔드 신호를 나타내는 제2시프트 엔드 엔드 신호들을 발생하기 위하고, 제2다수의 제어 신호들이 개방 시프트를 가리킬때 2진의 ZERO에서 제1 및 제2시프트 엔드 신호들을 발생하기 위하고 시프트형을 지시하는 제2다수의 제어 신호들에 응답하는 시프트 엔드장치 : 로 구성하고
    시프팅 장치가 제2오페란드 워어드를 나타내는 다수의 제1버스 신호들과 제1오페란드 워어드를 나타내는 다수의 레지스터 신호들을 수신하고, 제2사이틀 동작동안 제2스테이트에서의 다수의 시프트 신호에 의해 명기된 비트위치의 수에 의해 레지스터 신호들로부터 자리이동된 다수의 멀티 플렉서 신호를 발생하고, 제1버스 신호들로부터 자리 이동된 다수의 제2버스 신호들을 발생하고, 제2버스에 제2오페란드 워어드를 전송하기 위하여 제2스테이트에서 다수의 시프 신호에 응답하며 :
    상기 시프팅 장치가 다수의 멀티플렉서 신호들을 발생하도록 제1시프트 엔드 신호들을 시프트하기 위하여 응답하고, 제2 사이클 동작 동안 다수의 제2버스 신호들을 발생하기 위하여 제2 시프트 엔드 신호들을 시프트하도록 응답하여, 2점에서, 상기 다수의 제2버스 신호와 다수의 멀티플렉서 신호들이 제2스테이트에서 다수의 시프트 신호들에 의해 명기된 비트위치의 수에 의해 다수의 레지스터 신호들과 다수의 제1버스 신호들로부터 자리이동되는 특징이 있는 중앙처리장치의 버스 소오싱 및 시프트 제어.
  2. 제1항에 있어서, 시프트 거리 제어 장치가 좌측 시프트 동작을 지시하는 좌측 시프트 신호를 포함한 다수의 시프트 제어 신호들을 발생하기 위하여 제1다수의 제어 신호들에 응답하는 다수의 플롭들을 포함하고 있는 기억장치와 :제1및 제2 다수의 시프트 신호들을 포함한 다수의 시프트 신호들을 발생하기 위하여 다수의 시프트 제어 신호들에 응답하는 논리 장치로 구성하고 있는 특징을 지닌 중앙처리장치의 버스 소오싱 및 시프트 제어.
  3. 제2항에 있어서, 시프팅 장치가 제2 사이클 동작동안 제2스테이트에서 제1다수의 시프트 신호에 의해 명기된 비트 위치들의 수를 자리이동된 다수의 멀티플렉서 신호들을 발생하기 위하여 제2 스테이트에서 제1다수의 시프트 신호들에 응답하고, 다수의 멀티플렉서 신호들을 수신하고, 제1 사이클동작 동안 다수의 멀티 플렉서 신호들을 발생하기 위하여 제1 스테이트에서 제1 다수의 시프트 신호들에 응답하고, 제1 오페란드워어드를 나타내는 다수의 제1버스 신호들을 수신하기 위한 제1 시프팅 장치와 제2 사이클 동작 동안 제2다수의 시프트 신호들에 의해 명기된 비트 위치들의 수를 자리이동된 다수의 제2버스 신호들을 발생하기 위하여 제 2 다수의 시프트 신호들에 응답하고 제2 오페란드워어드를 나타내는 다수의 제1버스 신호들을 수신하며, 2점에 있어 제2스테이트에서 제1다수의 시프트 신호들과 제2다수의 시프트 신호들이 동일한 시프트거리를 지정하는 제2 시프팅 장치로 구성하고 있는 특징을 지닌 중앙처리장치의 버스 소오싱 및 시프트제어.
  4. 제3항에 있어서, 제1시프팅 장치가 다수의 제1멀티 플렉서들로 구성하고, 각각이 다수의 멀티플렉서신호들 중의 하나를 발생하고, 각각의 다수의 제1입력단자들 중의 하나를 선택 하기 위하여 제1다수의 시프트 신호들에 응답하는 다수의 제1입력 선택단자들을 가지며, 상기 다수의 제1버스 신호들이 다수의 제1버스 신호들로부터 0비트 위치를 자리 이동된 다수의 멀티 플렉서 신호들을 발생하기 위하여 다수의 제1플렉서들의 각각 다수의 입력단자들중 미리 설정된 하나에 결합되어 있는 특징을 가진 중앙 처리장치의 버스 소오싱 및 시프터 제어.
  5. 제4항에 있어서, 다수의 제1플렉서들의 각각이 제1 다수의 시프트 신호들에 의해 지정된 바와 같이 1이나 2 또는 4비트 위치를 자리이동된 다수의 멀티플렉서 신호들을 발생시키기 위하여 다수의 제1입력단자들 중의 하나를 선택하도록 제1다수의 시프트 신호들에 응답하고, 다수의 제1입력단자들에 결합된 다수의 레지스터 신호들을 가지는 특징을 가진 중앙처리장치의 버스 소오싱 및 시프트 제어.
  6. 제5항에 있어서, 제2시프팅 장치가 다수의 제2멀티 플렉서들로 구성하고, 각각이 다수의 제2버스 신호들중의 하나를 발생하고, 각각이 다수의제2 입력단자들 중의 하나를 선택하기 위하여 제2다수의 시프트 신호들에 응답하는 다수의 제2입력선택 단자들을 가지고, 다수의 제1버스 신호들이 제2다수의 시프트 신호들에 의해 지정된 바와 같이 0이나 1 또는 2나 4비트 위치를 왼쪽이나 오른쪽으로 자리이동된 다수의 제2버스 신호들을 발생하기 위하여 다수의 제2입력단자들중의 하나를 선택하도록 제2다수의 시프트 신호들에 응답하고 다수의 제2입력단자들에 결합도어 있는 특징을 지닌 중앙처리장치의 버스 소오싱 및 시프트 제어.
  7. 제6항에 있어서, 다수의 제2멀티 플렉서들이 8개의 제2멀티 플렉서들의 좌측 그룹과 중간 그룹 및 우측그룹을 포함하고 있는데, 제2다수의 시프트 신호들은 좌측 및 중간 그룹의 제2 입력선택 단자에 가해진 제3다수의 시프트 신호들과 제2멀티 플렉서들의 우측 그룹에 가해진 제4다수의 시프트 신호들을 포함하고 있으며, 제2입력 선택단자에 가해진 제1스테이트에서의 제3 및 제4다수의 시프트 신호들은 다수의 제2버스신호들을 발생하도록 다수의 제1버스 신호들의 우측 그룹을 결합한 좌측 그룹과 중간그룹 및 우측그룹의 다수의 제2입력단자들을 선택하고 그점에 있어 다수의 제1버스 신호들의 우측 그룹이 세번 되풀이 되고, 제2스테이트에서 제3 및 제4시프트 신호들이 다수의제2입력단자들을 선택하고 그점에 있어 다수의 제1버스 신호들의 중간그룹은 제2멀티플렉서들의 우측그룹에 의해 선택되고 다수의 제1버스 신호들의 우측 그룹이 제2멀티플렉서들의 중간 및 좌측그룹에 의해 선택되어 바이트 교환 및 이중화 동작을 실행하기 위해 다수의 제2버스 신호들을 발생시키는 특징을 지닌 중앙 처리 장치의 버서 소오싱 및 시프트 제어.
  8. 제7항에 있어서, 시프트 엔드 장치가 개방 시프트를 지시하는 제2스테이트에서의 개방 시프트 신호와 순환시프트를 지시하는 제1스테이트에서의 순환 시프트 신호를 발생하기 위하여 제2다수의 제어 신호에 응답하는 부호해석기와 제1엔드 시프트 신호들을 발생하기 위하여 다수의 제1버스 신호들의 중간 그룹의 좌측 엔드 신호들로부터의 순환 시프트 신호와 제1 시프트 엔드 신호에 응답하고, 다수의 제1멀티플렉스와 결합하고 그점에 있어서 2진 ZERO'S는 순환시프트 신호가 제2스테이트에 있을때 레지스터 장치의 우측 엔드로 강요되고 다수의 제1버스 신호들의 중간 그룹의 좌측 엔드신호들은 순환 시프트 신호가 제1스테이트에 있고 다수의 제1시프트 신호가 좌측 시프트를 지사할 때 레지스터 장치의 우측 엔드로 강요되는 다수의 AND게이트로 구성하고 있는 특징을 지닌 중앙처리장치의 버스소오싱 및 시프터 제어.
  9. 제8항에 있어서, 시프트 엔드장치가 순환 우측 시프트 동안 다수의 제2멀티 플렉서들의 중간 그룹으로 시프팅하기 위하여 다수의 제1버스 신호들의 좌측 그룹에 결합된 제2엔드 시프트 신호들을 발생하고 레지스터 장치의 우측엔드로부터의 제2엔드 신호들을 수신하도록 다수의 시프트 제어신호들과 제1스테이트에서의 제2다수의 제어신호들에 응답하고, 개방 우측 시프트 동안 다수의 제2멀티플렉서들의 중간 그룹으로 2진 ZERO신호들을 시프팅하기 위하여 2진 ONE에서의 제2엔드 시프트 신호들을 발생하도록 제2스테이트에서의 제2다수의 제어신호들에 응답하는 제3멀티플렉서로 구성하고 있는 특징을 지닌 중앙처리장치의 버스 소오싱 및 스프트 제어.
  10. 제9항에 있어서, 인덱스 값을 나타내는 제1버스 신호들을 수신하는 제1시프터 장치가 다수의 인덱스 값 신호들을 발생하고 미리 설정된 수의 비트위치들에 의해 우측으로 자리이동되는 제1버스 신호들을 나타내는 다수의 멀티프렉서들은 수신하기 위한 인덱스 값 레지스터와 상기 레지스터 장치에의 기억을 위해 메모리 부시스템에 저장된 오페란드 신호들의 좌측 부분의 위치를 지시하는 다수의 부호해석기 신호들중의 하나를 발생하기 위하여 인덱스 값 신호들에 응답하는 부호해석기로 구성하는 특징을 지닌 중앙처리장치의 버스 소오싱 및 시프터 제어.
  11. 제10항에 있어서, 비트 위치들의 미리 설정된 수는 비트오페란드에 대해 4이고, 디지트 오페란드에대해 2이고, 반워어드 오페란드에 대해 1인 특징을 지닌 중앙처리 장치의 버스 소오싱 및 시프트 제어.
  12. 제11항에 있어서, 부호해석기가 비트 오페란드에 대해 16개의 부호해석기 신호들중 하나를, 그리고 디지트 오페란드에 대해 4개의 부호해석기 신호들중의 하나를, 반워어드 오페란드에 대해 2부호 해석기 신호들중의 하나를 발생하는 특징을 지닌 중앙처리장치의 버스 소오싱 및 시프트 제어.
KR8205435A 1981-12-01 1982-12-01 중앙처리장치의 버스 소오싱 및 시프터 제어 KR880000341B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US326260 1981-12-01
US06/326,260 US4451883A (en) 1981-12-01 1981-12-01 Bus sourcing and shifter control of a central processing unit
US82-326260 1981-12-01

Publications (2)

Publication Number Publication Date
KR840003082A KR840003082A (ko) 1984-08-13
KR880000341B1 true KR880000341B1 (ko) 1988-03-20

Family

ID=23271478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR8205435A KR880000341B1 (ko) 1981-12-01 1982-12-01 중앙처리장치의 버스 소오싱 및 시프터 제어

Country Status (7)

Country Link
US (1) US4451883A (ko)
EP (1) EP0081336B1 (ko)
JP (1) JPS58105345A (ko)
KR (1) KR880000341B1 (ko)
AU (1) AU546038B2 (ko)
CA (1) CA1182579A (ko)
DE (1) DE3275770D1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577282A (en) 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
US4586131A (en) * 1982-02-22 1986-04-29 Texas Instruments Incorporated Microcomputer having data move circuits for within-memory shift of data words
US4942547A (en) * 1985-04-11 1990-07-17 Honeywell Bull, Inc. Multiprocessors on a single semiconductor chip
JPH0751366B2 (ja) * 1985-06-27 1995-06-05 キヤノン株式会社 出力制御方法
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
US5129090A (en) * 1988-05-26 1992-07-07 Ibm Corporation System bus preempt for 80386 when running in an 80386/82385 microcomputer system with arbitration
US6738793B2 (en) * 1994-12-01 2004-05-18 Intel Corporation Processor capable of executing packed shift operations
ZA9510127B (en) * 1994-12-01 1996-06-06 Intel Corp Novel processor having shift operations
US6308189B1 (en) 1998-06-03 2001-10-23 International Business Machines Corporation Apparatus for partial logical shifts and method therefor

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB799705A (en) * 1953-11-20 1958-08-13 Nat Res Dev Improvements in or relating to electronic digital computing machines
US3643221A (en) * 1970-04-16 1972-02-15 Ibm Channel buffer for data processing system
JPS5246466B2 (ko) * 1972-04-17 1977-11-25
US4205372A (en) * 1974-09-25 1980-05-27 Data General Corporation Central processing unit employing microprogrammable control for use in a data processing system
US4149263A (en) * 1977-06-20 1979-04-10 Motorola, Inc. Programmable multi-bit shifter
US4206503A (en) * 1978-01-10 1980-06-03 Honeywell Information Systems Inc. Multiple length address formation in a microprogrammed data processing system
US4189768A (en) * 1978-03-16 1980-02-19 International Business Machines Corporation Operand fetch control improvement
US4219874A (en) * 1978-03-17 1980-08-26 Gusev Valery Data processing device for variable length multibyte data fields
US4258419A (en) * 1978-12-29 1981-03-24 Bell Telephone Laboratories, Incorporated Data processing apparatus providing variable operand width operation
US4268909A (en) * 1979-01-02 1981-05-19 Honeywell Information Systems Inc. Numeric data fetch - alignment of data including scale factor difference

Also Published As

Publication number Publication date
EP0081336A2 (en) 1983-06-15
CA1182579A (en) 1985-02-12
AU9083782A (en) 1983-06-09
JPS58105345A (ja) 1983-06-23
US4451883A (en) 1984-05-29
EP0081336A3 (en) 1983-09-07
DE3275770D1 (en) 1987-04-23
EP0081336B1 (en) 1987-03-18
AU546038B2 (en) 1985-08-08
JPH0219492B2 (ko) 1990-05-02
KR840003082A (ko) 1984-08-13

Similar Documents

Publication Publication Date Title
US4841476A (en) Extended floating point operations supporting emulation of source instruction execution
US4197578A (en) Microprogram controlled data processing system
US4524416A (en) Stack mechanism with the ability to dynamically alter the size of a stack in a data processing system
KR100208889B1 (ko) 병렬처리장치 및 병렬처리방법
US4338661A (en) Conditional branch unit for microprogrammed data processor
US4587632A (en) Lookahead stack oriented computer
US4229801A (en) Floating point processor having concurrent exponent/mantissa operation
US4228498A (en) Multibus processor for increasing execution speed using a pipeline effect
US4348724A (en) Address pairing apparatus for a control store of a data processing system
US4305124A (en) Pipelined computer
EP0080901B1 (en) Data processing apparatus
US3953833A (en) Microprogrammable computer having a dual function secondary storage element
JPH035835A (ja) マイクロプロセッサ
EP0126247B1 (en) Computer system
KR880000341B1 (ko) 중앙처리장치의 버스 소오싱 및 시프터 제어
US4360869A (en) Control store organization for a data processing system
US6516410B1 (en) Method and apparatus for manipulation of MMX registers for use during computer boot-up procedures
US5034879A (en) Programmable data path width in a programmable unit having plural levels of subinstruction sets
US4309753A (en) Apparatus and method for next address generation in a data processing system
EP0378816A2 (en) Production line method and apparatus for instruction execution
US4975837A (en) Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets
US4348723A (en) Control store test selection logic for a data processing system
US3942156A (en) Indirect arithmetic control
EP0305752B1 (en) Programmable data path width in a programmable unit having plural levels of subinstruction sets
US5377335A (en) Multiple alternate path pipelined microsequencer and method for controlling a computer