KR930011686B1 - 짧은 명령실행시간과 작은 점유면적을 갖는 가변 워드길이 명령시스템용 데이타 처리장치 - Google Patents

짧은 명령실행시간과 작은 점유면적을 갖는 가변 워드길이 명령시스템용 데이타 처리장치 Download PDF

Info

Publication number
KR930011686B1
KR930011686B1 KR1019900010705A KR900010705A KR930011686B1 KR 930011686 B1 KR930011686 B1 KR 930011686B1 KR 1019900010705 A KR1019900010705 A KR 1019900010705A KR 900010705 A KR900010705 A KR 900010705A KR 930011686 B1 KR930011686 B1 KR 930011686B1
Authority
KR
South Korea
Prior art keywords
command
bit string
memory
unit
bit
Prior art date
Application number
KR1019900010705A
Other languages
English (en)
Other versions
KR910003488A (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 KR910003488A publication Critical patent/KR910003488A/ko
Application granted granted Critical
Publication of KR930011686B1 publication Critical patent/KR930011686B1/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
    • 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/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • G06F9/30152Determining start or end of instruction; determining instruction length
    • 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/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3816Instruction alignment, e.g. cache line crossing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)

Abstract

내용 없음.

Description

짧은 명령실행시간과 작은 점유면적을 갖는 가변 워드길이 명령시스템용 데이타 처리장치
제1도는 관련기술에 의한 데이타 처리장치의 일예의 일부를 나타내는 개통도.
제2도는 제1도에 보인 데이타 처리장치내의 메모리셀을 나타내는 회로도.
제3도는 본 발명에 의한 데이타 처리장치의 원리를 나타내는 개통도.
제4도는 본발명에 의한 전체 테이타 처리장치의 일예를 나타내는 개통도.
제5도는 본 발명의 의한 데이타 처리장치의 일실시예의 일부를 나타내는 개통도.
제6도는 제5도에 보인 데이타 처리장치내의 메모리셀을 나타내는 회로도.
제7a 및 7b도는 본 발명에서 사용되는 가변길이 명령의 예들을 설명하는 다이아그램.
제8도는 본 발명에 의한 데이타 처리장치내의 명령버퍼 전송회로 및 명령 디코더를 나타내는 개통도.
제9a~9d도는 제8도에 보인 전송회로에서 각종 회전 처리들을 설명하는 다이아그램.
제10도는 제8도에 보인 전송회로의 예를 나타내는 회로도.
제11도는 본 발명에 의한 데이타 처리장치에서의 선택동작의 일예를 나타내는 다이아그램.
제12도는 본 발명에 의한 데이타 처리장치에서의 파이프라인 처리동작을 설명하는 다이아그램.
본 발명은 데이타 처리장치(마이크로 프로세싱 유니트)에 관한 것으로 특히 가변길이 명령 사양으로 파이프라인 처리를 행하는 데이타 처리장치에 관한 것이다.
종래의 일반적인 데이타 처리장치에서는 메모리셀로 부터 비트라인으로 데이타를 독출할 때 각 비트라인이 대부하용량을 갖고 있기 때문에 상당한 시간이 소요되었다.
그러므로, 단시간에 명령 디코더내로 다음 명령 선두 이하의 명령열을 전송하는 것이 불가능하므로 지연 시간이 커서 명령처리속도를 고속화할 수 없었다.
상술한 점을 고려하여 메모리셀로 부터 데이타를 독출하는데 걸리는 시간을 줄일 수 있는 데이타 처리장치를 연구해 왔으며, 그에 따라 관련기술을 제안해 왔다. 그러한 메모리셀로 부터 데이타를 독출하는데 걸리는 시간을 줄일 수 있는 데이타 처리장치는 메모리 관리유니트, 명령버퍼(명령버퍼 메모리)및 명령 디코더로 구성된다. 이 데이타 처리장치에는 명령버퍼내의 각각의 단일 메모리셀 마다 2워드라인(제1 및 제2워드라인)들이 구비되어 있어 데이타는 대응 비트라인들로 독출된다.
제1워드라인은 제1판독포인터(read pointer)에 접속되어 있고, 제2워드라인은 제2판독포인터에 접속되어 있으며, 제1및 제2판독포인터에 의해 지정된 명령 비트열은 상기 비트라인들로 독출된다. 상기 관련 기술에 의한 데이타 처리장치에서는 명령 디코더로부터 출력된 명령길이 통지신호를 수신후, 그다음 명령선두 이하의 명령 비트열을 기억하는 메모리셀들만을 특정한다. 또한, 특정된 메모리셀로부터 비트라인으로 데이타가 독출 래치되어 명령 디코더로 전송된다.
상술한 바와 같이, 종래의 일반적인 데이타 처리장치에서는 각 비트라인의 부하용량이 아주 커서 명령처리속도를 줄일 수 없다. 한편, 관련된 종래기술에 의한 데이타 처리장치에서는 2비트라인과 2워드라인을 필요로 하며 그에 더하여 각 워드라인에 트랜지스터를 접속해야 하므로 대규모 집적화, 소형화, 저코스트화가 실현될 수 없었다.
그밖에도 종래의 데이타 처리장치에서는, 고속동작을 실현하기 위해 파이프라인 처리를 사용한 바 있으며, 최근에는 이 파이프라인 처리를 TRON(실시간 동작시스템 뉴클리우스)구성을 사용하는 32-비트 마이크로프로세싱 유니트와 같은 모놀리딕 마이크로 프로세서에서도 사용하고 있다. 파이프라인 처리에서는 하나의 명령처리를 여러처리(여러 파이프라인 스테이지)로 나누어 복수의 파이프라인 스테이지를 병렬로 행함으로서 고속처리를 실현할 수 있다.
그럼에도 불구하고, 파이프라인 처리를 사용하는 가변길이 명령시스템에서는 명령을 해독하기 전에는 명령의 길이를 알 수 없고 그다음 명령의 시작점을 판별할 수 없었다. 즉, 명령해독 후에만 그다음 명령의 시작점을 판별할 수 있으므로 명령처리시간이 명령을 해독하여 명령길이(명령어 길이)를 판별한 후 그다음 명령을 독출하는데 걸리는 시간에 따라 결정된다. 예를 들어 한 파이프라인 스테이지의 처리시간이 짧다할지라도 그다음 명령해독(또는 처리)의 시작이 여전히 느려서 명령처리속도를 줄일 수 없었다. 그러므로, 명령길이의 판별을 위한 천이속도를 고속화하고(또는 천이시간 단축)또한 그다음 명령의 독출시간을 고속화하는 것이 강하게 요구되고 있다. 또한 그러한 장치를 한 반도체 몸체내에 형성하는 모놀리딕 마이크로 프로세서에서는 제조 비용 및 소비전력을 줄이는 한편, 생산성을 향상시키는 위해 칩 사이즈를 최소화하는 것이 요망되고 있다.
본 발명의 목적은 파이프라인 처리에서 고속명령처리를 하는 데이타 처리장치를 제공하는데 있으며, 또한 본 발명의 또다른 목적은 명령버퍼내에서 메모리셀을 구성하는 트랜지스터의 수와 배선량을 줄여서 대규모 집접화, 소형화 및 저코스트화를 실현하는데 있다.
본 발명에 의하면, 복수의 로우를 갖되, 각 로우가 복수의 비트열 단위를 기억하는 명령버퍼 메모리와, 상기 로우들 중 하나를 지정하는 판독포인터와, 상기 비트열 단위를 공급받는 명령 디코더와, 상기 로우들중 하나로부터 바로 앞에서 독출된 비트열 단위를 기억하기 위해 상기 명령버퍼 메모리에 접속되는 래치회로와, 그리고 명령의 선두 비트열 단위와 그다음의 비트열 단위를 공급하도록 명령버퍼 메모리의 출력 또는 래치유니트의 출력을 선택하는 선택유니트를 포함하는 가변길이 명령을 실행하기 위한 데이타 처리장치가 제공된다.
명령버퍼 메모리내의 각각의 로우들은 복수의 블록으로 나눌 수 있으며, 각 블록들은 복수의 메모리셀을 포함하고, 래치유니트는 복수의 래치회로를 포함하고, 선택회로는 복수의 선택회로를 포함할 수도 있으며, 또한 각 선택회로 그룹을 명령버퍼 메모리의 출력과 래치유니트의 출력의 조합데이타로 부터 선택된 데이타를 출력시키도록 제한될 수도 있다. 상기 로우들 중 한 로우내의 메모리셀들 각각은 독출동작을 위해 한 게이트 트랜지스터와 한 비트라인을 통해 한 워드라인에 접속될 수도 있다.
선택유니트에 의해 선택된 비트열 단위는 전송회로를 통해 명령 디코더로 전송될 수도 있다. 전송회로는 비트열 단위의 순서를 처음순서로 변경시키기 위해 명령 비트열을 구성하는 복수의 비트열 단위를 회전시킬수도 있다. 데이타 처리장치는 파이프라인 처리를 사용하는 가변길이 명령 시스템용으로 사용될 수도 있다.
본 발명에 의하면, 메모리 관리유니트, 상기 메모리 관리유니트에 접속되는 명령버퍼 메모리, 상기 명령버퍼 메모리로 부터 전송되는 명령 비트열을 해독하여 상기 명령 비트열내에 포함된 명령의 길이를 판별후, 명령길이 통지신호를 출력시키기 위해 명령버퍼 메모리에 접속되는 명령 디코더를 포함하며, 상기 명령버퍼 메모리는 명령 비트열을 기억하는 메모리부, 바로 앞단에서 전송된 명령 비트열을 일시적으로 유지하는 래치회로, 상기 명령 디코더로 전송된 명령 비트열을 구성하는 각각의 비트열 단위가 명령으로서 유효인지를 나타내는 단위 밸리디티 플래그(unit validity flag)를 출력시키는 밸리디티 제어부, 상기 명령 디코더로 전송된 명령 비트열이 기억된 메모리부내에서 메모리위치를 지정하는 판독포인터 제어부, 상기 판독포인터 제어부에 의해 지정된 메모리위치로부터 단위 밸리디티 플래그의 수에 상당하는 단위길이만큼 이동하여 얻어진 또다른 메모리위치를 지정하기 위한 판독포인터, 시작점인 판독포인터에 의해 지정된 메모리위치에 의해 상기 메모리부내의 복수의 메모리셀로부터 복수의 비트라인으로 사전에 독출되는 제1명령 비트열과 상기 명령 디코더로부터 출력된 명령길이 통지신호에 의해 래치회로내에 일시적으로 유지되는 제2명령 비트열 사이에서 다음 명령으로부터 순차로 연속하는 다음 명령 비트열을 선택하는 선택회로를 포함하는 데이타 처리장치가 제공된다.
여기서, 명령버퍼 메모리는 각각 1/2워드을 구성하는 복수의 블록으로 나눌 수 있으며, 각 블록은 복수의 메모리셀, 하나의 래치회로 및 하나의 선택회로를 각각 포함할 수 있고, 한 로우내의 각 메모리셀은 독출동작을 위해 한 게이트 트랜지스터와 한 비트라인을 통해 한 워드라인에 접속될 수도 있다. 명령버퍼 메모리로 부터 출력된 명령 비트열은 전송회로를 통해 명령 디코더로 전송될 수도 있다. 전송회로는 비트열 단위를 처음순서로 변경하기 위해 명령 비트열을 구성하는 복수의 비트열 단위를 회전시킬 수도 있다. 상기 데이타 처리장치는 파이프라인 처리를 사용하는 가변길이 명령시스템용으로 사용될 수도 있다.
또한, 본 발명에 의하면, 명령 비트열을 해독하여 상기 명령 비트열에 포함된 명령의 길이를 판별한 후, 명령길이 통지신호를 출력시키는 명령 디코더와, 명령 비트열을 명령 디코더로 전송하기 위해 명령 디코더에 접속되는 명령버퍼 메모리를 포함하며, 상기 명령버퍼 메모리는 명령 비트열을 기억하는 메모리 유니트와, 바로 앞단에서 전송된 명령 비트열을 일시적으로 유지하는 래치회로와, 상기 명령 디코더로 전송된 명령 비트열을 구성하는 각 비트열 단위가 명령으로서 유효인지를 나타내는 단위 밸리디티 플래그를 출력시키는 밸리디티 제어유니트와, 상기 명령 디코더로 전송된 명령 비트열이 기억된 메모리부내의 메모리위치를 지정하는 판독포인터 제어유니트와, 상기 판독포인터 제어유니트에 의해 지정된 메모리 위치로부터 단위 밸리디티 플리그의 수에 상당하는 단위길이만큼 이동시켜 얻은 또다른 메모리위치를 지정하는 판독포인터와, 시작점인 판독포인터에 의해 지정된 메모리위치에 의해 상기 메모리부내의 복수의 메모리셀로 부터 복수의 비트라인으로 사전에 독출되는 제1명령 비트열과, 상기 명령 디크도로 부터 출력된 명령길이 통지신호에 의해 래치회로내에 일시적으로 유지되는 제2명령 비트열 사이에서 다음 명령으로부터 순차로 연속하는 다음 명령 비트열을 선택하는 선택회로를 포함하는 데이타 처리장치가 제공된다.
또한, 본 발명에 의하면 명령을 인출, 해독 및 실행하는 명령제어유니트와, 오퍼랜드 어드레스를 연산하여 오퍼랜드 동작을 실행하는 명령실행유니트와 메모리 관리유니트와, 칩버스를 통하여 외부 I/O, 외부 메모리 및 데이타 처리장치 중 어느것에 데이타를 전송하기 위한 버스제어유니트를 포함하며, 상기 명령 제어 유니트는 명령 비트열을 해독하여 상기 명령 비트열 내에 포함된 명령의 길이를 판별한 후 명령길이 통지 신호를 출력시키는 명령 디코더와, 복수의 로우를 갖되, 각 로우가 복수의 비트열 단위를 기억하는 명령버퍼 메모리와, 상기 로우들 중 하나를 지정하는 판독포인터와, 상기 로우들 중 하나로 부터 바라 앞단에서 독출된 비트열 단위를 기억하기 위해 명령버퍼 메모리에 접속되는 래치유니트와, 상기 명령의 선두 비트열 단위와 그 이하의 비트열 단위를 공급하도록 명령버퍼 메모리의 출력 또는 래치유니트의 출력을 선택하는 선택유니트를 한 반도체 몸체내에 형성하여 되는 모놀리딕 마이크로프로세서가 제공된다.
그밖에 본 발명에 의하면, 명령버퍼 메모리로 부터 명령 디코더로 가변길이 명령을 공급하는 데이타 처리 방법이 제공되며 상기 데이타 처리방법은 명령버퍼 메모리로 부터 바로 앞단에서 독출된 제1명령 비트열을 일시적으로 유지하는 단계와, 판독포인터에 의해 지정된 메모리위치에서 명령버퍼 메모리로 부터 제2명령 비트열을 독출하는 단계와, 제1및 제2명령 비트열중에서 명령 비트열을 선택하는 단계를 포함한다.
우선, 제1및 제2도를 참조하여 관련기술에 의한 데이타 처리장치를 설명한다.
파이프라인 처리를 사용하는 가변길이 명령 시스템에 대한 일반 데이타 처리장치에서는 메모리셀로 부터 비트라인으로 데이타를 독출할시에 비트라인들 각각이 대부하용량을 갖고 있고, 또한 그 비트라인에서의 신호레벨을 즉각적으로 변동시킬 수 없으므로 상당한 시간이 소요된다. 그러므로 다음 명령열을 단시간에 명령 디코더로 전송시킬 수 없어 명령처리속도를 줄일 수 없다.
상기점을 고려하여 메모리셀로부터 데이타를 독출하는 시간을 감소시킬 수 있는 데이타 처리장치를 계속 연구해 왔으며 또한 관련기술을 제안한 바 있다.
제1도는 관련기술에 의한 종래의 데이타 처리장치의 일예의 일부를 나타내는 개통도이다. 제1도에 보인바와 같이 데이타 처리장치(마이크로 프로세싱 유니트)는 메모리 관리유니트(101), 명령버퍼(1B), 명령 디코더(109)로 구성된다. 이 데이타 처리장치에서는 명령 데이타가 메모리 관리유니트(101)로 부터 전송회로(102)을 통해 명령버퍼(1B)로 공급되고 또한 명령 비트열은 명령버퍼(1B)로 부터 전송회로(109)을 통해 명령 디코더(109)로 전송된다.
제2도는 제1도에 보인 데이타 처리장치내의 메모리셀을 나타내는 회로도이다. 제1 및 2도에 나타낸 바와 같이 독출처리용 제1워드라인(WL1)과 제2워드라인(WL2)의 2워드라인은 명령버퍼(1B)내의 메모리셀등(a11~amn)(제2도에는 단하나의 메모리셀(a11)만 도시함)에 각각 접속되며 또한 메모리셀(a11)로 부터 독출된 데이타는 독출처리용 2비트라인(BL1,BL2)을 통행 전송된다.
제2도에서는 워드라인(WL0)과 2비트라인(BL0)만이 기입처리용으로 사용된다.
제1도에 보인 바와 같이, 제1워드라인(WL1)은 제1판독포인터(104)에 접속되며 또한 제2워드라인(WL2)는 제2판독포인터(105)에 접속된다. 제1및 제2판독포인터(104,105)에 의해 지정된 명령 비트열은 비트라인(BL1,BL2)로 독출되고 비트라인(BL1,BL2)으로 독출된 명령 데이타는 선택회로(106)에 의해 선택되어 전송회로(108)로 이송된다.
즉, 제1도에 보인 데이타 처리장치의 명령버퍼(1B)에서는 명령 디코더(109)로부터 출력된 명령길이 통지신호를 수신후 다음 명령의 시작(그다음 명령의 선두) 이하의 명령 비트열을 기억하는 메모리셀(a11~amn)만을 지정하고, 지정된 메모리(a11~amn)로부터 비트라인(BL1,BL2)으로 데이타가 독출된 후 래치되어 명령 디코더(109)로 그 데이타를 전송한다.
상술한 바와 같이, 제1및 제2도에 보인 데이타 처리장치에서는 독출처리용으로 2비트라인(BL1,BL2) 및 2워드라인(WL1,WL2)가 워드라인(WL1,WL2) 각각에 접속되는 트랜지스터가 필요하므로 대규모 집적화, 소형화, 저가실현이 불가능한다.
이하에 첨부도면을 참조하여 본 발명의 양호한 실시예들을 상세히 설명하면 다음과 같다.
제3도는 본 발명에 의한 데이타 처리장치의 원리를 나타내는 개통도이다.
제3도에 보인 바와 같이, 데이타 처리장치는 메모리 관리유니트(1), 메모리 관리유니트(1)로부터 독출된 명령 비트열을 기억하는 메모리(N)를 포함하는 명령버퍼(명령버퍼 메모리)(IB), 단일 명령 또는 복수의 명령들을 포함하는 명령 비트열을 해독하는 명령 디코더(9)로 구성된다.
명령버퍼(IB)는 또한 래치회로(7), 밸리디티 제어부(3), 판독포인터 제어부(4), 판독포인터(5) 및 선택회로(6)를 포함한다. 래치회로(7)는 파이프라인 처리시에 바로 앞단에서 전송된 명령 비트열을 일시적으로 유지한다. 밸리디티 제어부(3)는 각 단위의 비트열이 명령으로서 유효 비트열인지를 나타내는 밸리디티 플래그를 출력한다. 명령 디코더(9)로 전송된 명령 비트열은 복수단위의 비트열로 구성된다. 판독포인터 제어부(4)는 명령 디코더(9)로 전송될 명령 비트열이 기억된 메모리 위치를 지정한다. 판독포인터(5)는 판독포인터 제어부(4)에 의해 지정된 메모리위치로부터 밸리디티 플래그의 비트열 단위수에 상당하는 단위길이만큼 이동시켜 얻은 메모리 위치를 지정한다.
선택회로(6)은 복수의 비트라인(BL)으로 독출된 명령 비트열과 래치회로(7)내에 임시 기억된 명령 비트열을 선택하여 다음 명령으로부터 순차적으로 연속하는 다음 명령비트열의 선두를 명령 디코더로 출력한다. 복수의 비트라인(BL)으로 독출된 명령비트열의 선두는 판독포인터(5)로 지정되며, 또한 래치회로(7)내에 임시기억된 명령 비트 열은 명령 디코더(9)로부터 출력된 명령길이 통지신호에 따라 독출된다.
상술한 바와 같이, 가변길이의 명령시스템을 사용하는 본 발명에 의한 데이타 처리장치는 파이프 라인처리의 명령 디코드단으로부터 그 다음 기코드단으로 고속천이를 실현하는 한편, 데이타 처리장치 전체의 처리속도를 개선할 수 있다. 그밖에 본 발명에 의한 데이타 처리장치에서는 트랜지스터와 배선의 수를 줄일 수 있으므로 대규모 집접화, 소형화 및 저가화를 실현할 수 있다.
제4도는 본 발명에 의한 전체데이타 처리장치의 일예를 나타내는 개통도이다. 제4도에 보인 바와 같이, 단일 반도체 몸체내에 형성되는 모놀리딕, 마이크로프로세서인 데이타 처리장치(M)는 명령 제어 유니트(41), 명령실행유니트(42), 메모리 관리유니트(43(1)) 및 버스제어유니트(44)로 구성된다.
명령을 인출, 해독 및 실행, 제어하는데 사용되는 명령제어 유니트(41)는 명령 버퍼(411)(1B), 명령 디코더(412)(9), 파이프라인 제어부(413) 및 마이크로프로그램(414)으로 구성된다. 명령 큐(queue)인 명령버퍼(411)는 가변길이의 명령을 효율적으로 처리하기 위해 사용된다. 명령 선취동작은 명령 큐(명령 버퍼)(411)가 빈버퍼영역을 갖지않을 때까지 연속적으로 수행된다. 이 명령 선취 동작은 명령 실행없이 독립하여 수행된다. 또한, 필요한 명령이 명령버퍼(1B))(명령큐411)에 기억되면 외부메모리(메인 메모리)의 억세스는 수행되지 않는다. 명령 디코더(412)(9))에서는 명령 포오멧, 명령타입 및 어드레싱 모드를 분석하고, 파이프라인처리 제어용 정보, 오퍼랜드 어드레스 연산 및 마이크로프로그램 시작을 출력시킨다. 파이프아인제어부(413)에서는 하나의 명령을 한 기계사이클내에서 독립된 5단계(5단계 파이프라인 처리)로 나누어 연속적으로 실행된다. 판독전용 메모리로 구성된 마이크로프로그램(414)은 후술되는 연산부(423)로 상세한 제어정보를 출력시킨다.
오퍼랜드 어드레스를 연산하여 오퍼랜드 동작을 행하는데 사용되는 명령실행 유니트(42)는 어드래스 생성부(421), 레지스터 파일(422) 및 연산부(423)로 구성된다. 어드레스 생성부(421)에서는 어드레싱모드에 따라 어드레스 연산을 행하여 생성된 어드레스를 메모리관리유니트(43(1))으로 전송한다. 기본 연산을 행하는 연산부(423)는 비트 필드 조작명령, 다중 구분연산명령 및 10진 연산 선행명령에 대한 전용회로들을 갖고 있으므로 이들 명령에 대한 오퍼랜드처리를 효율적으로 실행할 수 있다. 레지스터파일(422)은 일반 레지스터, 워크레지스터 및 스태크 포인터를을 포함한다.
메모리 관리유니트(43(1))는 명령 억세스 제어부(431)와 오퍼랜드 억세스 제어부(432)로 구성된다. 명령억세스제어부(431)는 명령 캐시(cache)메모리, TLB(translation look-aside buffer ; 우선 변환 참조 버퍼) 및 메모리 보호기능을 포함한다. 마찬가지로 오퍼랜드 억세스 제어부(432)도 명령 캐시 메모리, TiB및 메모리 보호기능을 포함한다. 명령 억세스 제어부(431)와 오퍼랜드 억세스 제어부(432)는 명령실행 유니트(42)로부터 출력된 제어신호에 따라 개별적으로 동작하다. 기입명령실행데이타의 처리는 스토어-스루방식(store-through method)을 사용하여 행해진다. 칩 버스를 사용할때에는 어드레스와 데이타가 축적 버퍼내에 기억되어서야 비로서 데이타가 출력될 수 있다. 기입 어드레스로 나타낸 영역이 명령 캐시내에 기억되어 있는 경우, 그 명령 캐시내의 영역에 해당하는 엔트리(entry)는 외부 메모리로 기입시에 무효화된다.
칩버스를 통하여 외부 I/O, 외부 메모리 및 데이타 처리장치 어느하나에 데이타를 전송하는 버스 제어 유니트(44)는 어드레스 제어부(441), 어드레스 모니터 제어, 블록 억세스부(442) 및 데이타 전송부(443)로 구성된다. 버스제어유니트(44)는 1블록(예, 16바이트의 데이타)을 고속으로 캐시메모리로 전송하는 블록 억세스기능과, 칩버스상의 기입어드레스를 모니터하여 캐시메모리와 외부 메모리의 내용을 일치시키는 어드레스 모니터링 기능을 갖는다.
본 발명은 모놀리딕 마이크로 프로세서(데이타처리장치)(M)내에서 주로 명령 제어 유니트(41)의 명령 버퍼(1B)(412)에 관계된다.
제5도는 본 발명에 의한 데이타 처리장치의 일실시예의 일부를 나타내며, 특히 가변길이의 명령시스템을 사용하는 파이프라인처리를 수행하는 모놀리딕 마이크로 프로세서의 데이타 처리장치를 나타내는 개통도이다. 제5도에 보인 바와 같이, 데이타 처리장치(모놀리딕 마이크로프로세서)는 메모리 관리유니트(1), 명령버퍼(1B), 명령 디코더(9), 전송회로(2,8)로 구성된다. 또한 명령 버퍼(1B)는 래치회로(7), 밸리디티제어부(3), 판독 포인터 제어부(4), 판독포인터(5) 및 선택회로(6)으로 구성된다.
데이타 처리장치에서 명령비트열(명령 데이타)은 메모리관리유니트(1)로부터 명령 버퍼(1B)로 전송회로(2)를 통해 공급되고 또한 명령 버퍼(1B)로 전송되는 명령 비트 열의 밸리디티가 밸리디티 제어부(3)로 통지된다. 밸리디티 제어부(3)는 명령버퍼(1B)(메모리 N1~Nm)내에 기억된 데이타의 밸리디티 정보를 유지하고, 또한 판독포인터 제어부(4)로 부터 정보를 수신한다. 또한 밸리디티 제어부(3)는 얼마나 많은 밸리디티 플래그들이 명령 버퍼(1B)로 전송되는 명령 비트 열을 추종하는지를 판독 포인터(5)와 명령디코더(9)로 통지한다. 판독 포인터 제어부(4)는 전송 명령 비트 열이 기억된 메모리 위치를 지정하는 판독 포인터(5)를 제어하고 또한 명령 디코더(9)로부터 명령길이 통지신호를 수신하여 갱신한다.
판독 포인터(5)는 데이타를 비트라인(BL)으로 독출하기 위한 메모리 셀들을 지정하여 지정된 메모리 셀들과 밸리디티 플래그의 번호로 갱신한다. 선택회로(6)은 비트라인(BL) 사의 데이타와 판독 포인터(4)의 상태와 명령 길이 통지신호에 따라 래치회로(7)내에 일시적으로 유지된 또 다른 데이타를 선택하고 또한 1블록의 데이타를 전송회로(8)를 통해 명령 디코더(9)로 전송시키는데 사용된다.
래치회로(7)는 바로앞단에서 명령 디코더(9)로 전송되는 데이타를 임시로 유지시킴으로서 비로서 선택회로(6)는 선택동작을 시작한다. 래치회로(7)내에 유지된 데이타는 매 단계(파이프라인 단계)마다 갱신된다.
전송회로(8)는 명령 버퍼(1B)내의 출력 명령 비트열을 명령 디코더(9)로 전송한다. 명령 디코더(9)는 소정의 명령 비트 열을 디코드하여 명령길이를 판별한 다음, 판별된 명령길이에 해당하는 명령길이 통지신호를 출력한다. 이 명령길이 통지신호는 판독 포인터제어부(4), 선택회로(6) 및 전송회로(8)로 공급된다.
상술한 바와 같이, 제5도에 보인 데이타 처리장치에서는 명령 디코더(9)로 전송직전에 명령비트 열(종전 명령 비트 열)의 선두로부터 시작하여 그다음 단계에서의 명령 디코더의 명령 해독이 필요한 명령비트 열의 범위가 제한되어 있다. 이것을 이용하여 바로전의(바로앞의 선행하는) 명령비트열은 래치회로(7)내에 일시적으로 유지된다. 그다음, 새로운 명령비트열이 판독 포인터(5)에 의해 지정된 위치로부터 비트라인(BL)으로 독출되므로 지연시간을 줄일 수 있다. 즉, 제5도에 보인 데이타 처리장치에서는 명령길이 통지신호가 수신될때와 그다음 명령 비트 열이 선택되어 명령디코더(9)로 공급될때 사이의 지연을 줄일 수 있다.
제6도는 제5도에 보인 데이타 처리장치내의 메모리 셀을 나타내는 회로도이며, 제6도에 보인 바와 같이, 명령 버퍼(1B)내의 메모리 셀(a11~amn)(예 a11) 각각에는 단일 워드라인(WL)각각이 접속되어 있으며, 데이타는 그 워드라인(WL)에 해당하는 단일 비트라인(BL)으로 독출된다.
제2도와 제6도를 비교하면, 관련기술의 제2도에 보인 메모리 셀(a11)은 독출동작용 2비트 라인(BL1,BL2)과 2워드라인(WL1,WL2)이 필요하고 또한 워드라인(WL1,WL2)마다 각각 익스클루시브게이트 트랜지스터들을 필요로 한다.
이와 대조적으로, 본 발명의 제6도에 보인 메모리 셀(a11)은 독출동작용으로 단하나의 비트라인(BL)과 워드라인(WL)만을 필요로 하고 또한 하나의 워드라인(WL)에 대해 단하나의 트랜지스터만을 필요로 한다. 제2도와 6도에 보인 2메모리 셀틀(a11)은 마찬가지로 기입 동작용 2비트라인(BL0)과 하나의 워드라인(WL0)을 필요로 한다. 상술한 바와 같이, 본 발명에 의한 메모리 셀(A11)내에서는 메모리 셀들내의 트랜지스터들과 배선들의 수를 파이프라인 처리시에 명령처리속도를 줄이지 않고서는 줄일 수 없다. 결과적으로 본 발명에 의한 데이타처리장치에서는 파이프라인 처리에 있어 고속 명령 처리를 실현시킬 수 있으며, 명령 버퍼내의 메모리 셀들을 구성하는 트랜지스터들과 배선들의 수를 줄일 수 있으므로 대규모 집적화, 소형화 및 저가화를 실현시킬 수 있다.
구체적으로, 예를 들어 명령 디코더(9)에 전송되는 명령 비트 열이 64비트로 구성되고 또한 명령버퍼(1B)의 메모리용량이 64비트×8워드일 경우에 메모리 셀들내의 트랜지스터와 배선의 수에 관하여 제6도에 보인 데이타 처리장치는 제2도에 보인 장치보다 적은 64비트라인, 8워드라인 및 1024(2트랜지스터×64비트×8워드=1024) 트랜지스터들을 갖는다. 즉, 상술한 경우에, 본 발명에 의한 데이타 처리장치 보다 64비트라인, 8워드라인 및 1024트랜지스터 만큼 줄일 수 있다.
본 실시예의 데이타 처리장치는 래치회로(예를 들어 6트랜지스터로 구성됨)(7), 밸리디티 제어부(3) 및 여러 접속배선들을 필요로 한다. 그러나, 본 실시예의 상술한 소요회로들로 인한 트랜지스터들과 배선들의 증가수는 관련된 종래기술의 데이타처리장치보다 본 실시예에 의해 감소된 트랜지스터(예 : 1024트랜지스터)와 배선(예 : 64비트라인과 8워드라인)의 수보다 훨씬 더 작다. 즉, 본 실시에의 데이타처리장치는 트랜지스터와 배선들의 수를 훨씬 많이 감소시킬 수 있으므로 대규모 집적화, 소형화 및 저가화가 실현될 수 있다. 본 실시예에서 이러한 장점은 대규모 데이타 처리장치에서 더욱 크다.
제7a 및 7b도는 본 발명에서 사용되는 가변길이 명령의 예들을 설명하는 다이아그램으로서 특히 TRON구성에 기초한 명령 포오멧의 예들을 설혐하는 다이아그램이다.
제7Aa에서는 1명령 해독처리에 의해 처리된 명령 포오멧의 기본형이 도시되었으며 참조번호 OP1은 명령타입과 동작을 정의하는 필드(8비트)를 나타내며, EA1은 소오스 오퍼랜드의 어드레싱 모드를 정의하는 필드(8비트), EXP는 EA1 필드에 의해 정의된 어드레싱 모드를 수반하는 콘스탄트(constant)필드 (0~32비트)를 나타낸다. EXP 필드 EA/필드내의 내용에 따라 0비트, 16비트, 32비트로 결정된다. EXP필드의 길이(비트수)는 명령의 OP1필드와 EA1필드를 포함하는 제1의 1/2워드(제1HW)를 해독하여 확인된다. EXP필드의 길이가 16비트로서 판정되면, 제1HW와 EXP필드로 구성되는 두 1/2워드들이 한 해독동작으로 명령 디코더(9)내에서 해독된 후 2개의 1/2워드들을 나타내는 명령길이 통지신호를 명령 버퍼(1B)로 송출한다. 마찬가지로 EXP필드의 길이가 0비트로서 판정되면 명령디코더(9)는 1/2워드를 나타내는 명령 길이 통지신호를 명령버퍼(1B)로 송출하고 또한 EXP필드의 길이가 32비트로서 판정되면 명령 디코더(9)는 3개의 1/2워드를 나타내는 명령길이 통지신호를 명령 버퍼(1B)로 송출한다.
제7b도는 명령길이 통지신호가 4개의 1/2워드로서 결정된 경우를 나타낸 것으로 참조문자 1MM은 소오스 오퍼랜드로서 사용하기 위한 즉시 필드(8비트)를 나타낸다. 즉, 소오스오퍼랜드가 즉시 필드로서 또는 명령이 즉시 명령으로서 판정되고 또한 제2 1/2워드 이하의 EXP필드가 32비트로서 판정되면 명령길이 통지신호는 4개의 1/2워드로서 결정된다. 즉, 상술한 경우는 제1의 1/2워드 이하의 EXP(EXP1)필드가 0비트로서 판정될때를 나타낸다. 상술한 경우에, 제1의 1/2워드가 명령 디코더 9내에서 해독되지 않으므로 1개의 1/2워드를 나타내는 명령길이 통지신호가 출력되지 않지만 제1의 1/2워드로부터 EXP2 필드로 4개의 1/2워드들이 명령 디코더 9내에서 고속동작으로 동시에 해독되어 4개의 1/2워드를 나타내는 명령길이 통지신호가 출력된다.
제8도는 본 발명에 의한 데이타 처리장치내의 명령버퍼(1B), 전송회로(8) 및 명령디코더(9)를 나타내는 개통도이다. 제8도에 보인 바와 같이, 명령 버퍼1B로 부터 전송회로(8)로 출력되는 명령코드들의 순서(E,F,C,D)는 명령코드들의 처음순서(C,D,E,F)와 다르며, 또한 전송회로(8)는 회전동작하여 명령의 상부를 제1의 1/2워드(HW1)에 위치시키도록 명령 코드들의 순서를 변동시킨다. 즉, 제8도에 명령코드(E)는 1/2워드 블록(HO)으로부터 전송회로(8)로 전송되며, 명령코드(F)는 1/2워드블록(H1)으로부터 전송회로(8)로 전송되고, 명령코드(C)는 1/2워드 블록(H2)으로부터 전송회로(8)로 전송되고 또한 명령코드(D)는 1/2워드 블록(H3)으로부터 전송회로(8)로 전송된다. 전송회로(8)은 명령디코더(9)내에서 1/2워드 블록(H2)로부터 제1 1/2워드(HW1)로 출력된 명령코드(C), 1/2워드 블록(H3)으로부터 제2 1/2워드(HW2)로 출력된 명령코드(E), 1/2워드블록(H0)으로부터 제3 1/2워드(HW3)로 출력된 명령코드(E), 및 1/2워드블록(H)으로부터 제4 1/2워드(HW4)로 출력된 명령코드(F)를 회전 전송한다.
제9a~9d도는 제8도에 보인 전송회로(8)내의 각종 회전처리들을 설명하는 다이아그램들이다. 제9a~9d도에 보인 바와 같이, 4회전동작 패턴은 전송회로 8내에서 수행되고, 전송회로(8)는 이들 4패턴을 수행해야 한다. 제9a~9d도에서 참조문자 "↓"는 선택회로(6)에 의해 선택된후 명령의 시작위치를 나타낸다. 상기 4패텐들에서 요구되는 회전패턴은 판독 포인터(5)로 나타낸 명령시작점의 위치와 명령길이 통지신호에 의해 결정된다. 또한 선택동작과 회전동작은 고속동작을 위해 동일한 타이밍에 동시에 수행될 수 있다. 즉, 선택회로(6)에서 선택동작을 완료하기전에 명령길이 통지신호를 수신하여 요구되는 회전패턴을 미리 판정해야 한다. 결론적으로 판독 포인터(5)로 나타낸 시작위치와 명령길이 통지신호는 선두 1/2워드가 4개의 1/2워드들(H0~H3)중 어느 것에 위치되는가를 판정하기 위해 사용된다. 상기 설명에서 4개의 1/2워드(HO~H3)내의 명령코드들의 밸리디티는 고려할 필요가 없다.
제10도는 제8도에 보인 전송회로(8)의 일예를 나타내는 회로도이다. 제10도에서 신호(S1)이 고레벨이고 다른신호들(S2,S3,S4)이 저레벨일때 제9a도에 보인 회전패턴이 선택되고 선택신호(S2)가 고레벨, 다른 신호(S3,S4,S1)이 저레벨일때 제9b도에 보인 회전패턴이 선택된다. 마찬가지로 신호(S3)이 고레벨, 다른신호(S4,S1,S2)가 저레벨일때 제9c도에 보인 회전패턴이 선택되고 또한 신호(S4)가 고레벨, 다른신호(S1,S2,S3)가 저레벨일때 제9d도에 보인 회전패턴이 선택된다.
제11도는 본 발명에 의한 데이타 처리장티내의 선택동작의 일예를 설명하기 위한 다이아그램으로서, 특히 제5도에 보인 데이타 처리장치에서, 1/2워드(16비트)에 의해 구성된 복수의 비트 열 단위에 해당하는 복수 명령 코드들(명령단위를)나타내는 다이아그램이다. 제11도에는 4개의 1/2워드 블록들(H0,H1,H2,H3)을 나타내며, 각각의 래치회로(70,71,72,73)의 선택회로(60,61,62,63)는 각각의 1/2워드블록 (H0,H1,H2,H3)내에 제공된다. {A,B,C,D}의 데이타열(명령 열)이 바로앞단에서 명령데이타의 독출처리(전송처리)시에 명령디코더(9)로 전송되고 또한{E,F,G,H}의 데이타 열이 그다음 단에서 독출되는 경우에 바로 앞단에서 명령디코더(9)로 전송되는{A,B,C,D}의 데이타열의 각각의 래치회로(70,71,72,73)내에 래치된다. 그다음, 래치회로(70,71,72,73)내에 래치된{A,B,C,D}에 데이타열과 각각의 비트라인들 BL로 독출된{E,F,G,H}의 데이타열이 해당 선택회로(60,61,62,63)에 의해 선택된다. 구체적으로, 제11도에서는, 명령길이 통지신호(2)에 따라{C,D,E,F}의 명령 열이 명령 데이타{A,B,C,D,E,F,G,H}로부터 선택되는 상태를 나타낸다. 제11도에 보인 바와 같이 선택회로(70,71,72,73)에 의해 선택된 {C,D,E,F}의 명령 열의 순서는(E,F,C) 및(D)이다.
즉, 명령단위(비트 열 단위)(E)는 1/2워드블록(H0)내에서 선택되고, 명령단위(F)는 1/2워드블록(H1)내에서 선택되고, 명령단위(S)는 1/2워드블록(H2)내어서 선택되고, 또한 명령단위(D)는 1/2워드블록(H3)내에서 선택된다. 이 명령데이타(E,F,C,D)는 제10도에 보인 바와 같이 전송회로(8)에 의해 회전 전송된다. 이 경우에(제9c도에 보인 경우와 동일함), 제10도에 보인 전송회로에서, 신호(S3)이 고레벨로 판정되고 다른신호(S4,S1,S2)가 저레벨로 판정되면 전송회로(8)의 출력은 처음 순서인 명령 데이타(C,D,E,F)로 회전된다.
제12도는 본 발명에 의한 데이타 처리장치내의 파이프라인 처리동작을 설명하는 다이아그램이다. 제12도에서, 참조문자 OUT는 전송회로(8)를 통해 명령버퍼(1B)로부터 명령 디코더(9)로 전송되는 명령비트 열을 나타내며, LATCH는 제5도에 보인 래치회로(7)내에 임시로 유지된 명령 열을 나타내며, BL은 메모리셀(a11~amn)으로부터 비트라인(BL)으로 독출된 명령비트 열을 나타낸다. 또한, DC1은 명령(1)에 대한 명령 디코드단을 나타내며, DC2는 명령(2)에 대한 또 다른 명령 디코드단을 나타낸다. 참조문자 A,B,C,…는 명령단위(코드) 또는 비트 열 단위(예 각각 16비트의 1/2워드로 구성됨)를 나타내며, 또한 4개의 명령비트단위(예64비트)의 명령길이가 명령해독 처리를 위해 일시에 요구된다.
제12도에서, 단(DC1)에 대한 명령비트 열은 명령디코더(9)로 전송되는 명령비트 열 OUT의 파이프라인 처리의 천이시에{A,B,C,D}의 데이타 열이고, 만일 {A,B,C,D}의 모든 데이타 열이 유효명령 비트 열(비트 열 단위)일 경우, 명령길이 통지신호(0,1,2,3,4; 명령 단위길이 또는 단위길이)를 기다리는 단(DC2)을 향해 전송될 수 있는 명령 비트 열은 {A,B,C,D,E,F,G,H}의 8비트 열 단위(단위 명령 길이 비트 열)로 결정된다.
이 경우에, 판독 포인터에 제어부(4)는 시작점(선두)인 위치 A를 지정하도록 갱신되며, 판독 포인터(5)는 밸리디티 플래그의 수에 상당하는 단위길이(명령을 구성하는(A,B,C,D)의 4단위 명령들이 모두 유효이므로 밸리디티 플래그의 수가 4로서 결정됨)만큼 이동한 위치(E)를 지정하도록 갱신되며, 그러한 이동은 판독 포인터 제어부(4)에 의해 지정된 위치(A)로부터 시작하여 행해진다. 그 다음, 비트 라인들(BL)내의 시작위치(리드위치)(E)와 그 이하의 {E,F,G,H}와 같은 열들을 사전에 독출함으로허 {A,B,C,D,E,F,G,H}의 8비트 열 단위들이 준비된다. {C,D,E,F}의 명령 열(데이타 열)을 선택회로(6)에 의한 {A,B,C,D,E,F,G,H}의 데이타 열들중에서 선택한 다음 단(DC1)에 의해(비트 열 단위 A,B,가 이미 해독됐음을 나타내는)명령길이 통지신호(2)의 출력에 의하면 명령 디코더(9)로 전송된다.
단 (DC3)으로 정송되는 명령 비트 열이 {D,E,F,G}에 의해 구성되고, 또한, {D,E,F}의 비트 열 단위가 유효명령 비트 열을 형성하거나 또는 비트 열 단위{G}가 무효(invalid)인 경우, 명령 기이 통지신호(0,1,2,3단위길이)를 기다리는 단(DC4)으로 전송될 수 있는 명령비트 열을 {C,D,E,F,G,H}의 7비트 열 단위로서 결정된다. 상술한 것은 명령 비트 열들이 8비트 열 단위가 되지 않고, {G}의 비트 열 단위가 단(DC3)으로 전송되는 시간에 무효 명령비트열이며 또한[4]의 명령길이 통지신호는 결코 결정되지 않기 때문이다. 그러므로, 판독 포인터 제어부(4)는 위치(D)를 지정하도록 갱신되고 또한 판독포인터(5)는 3의 단위길이만큼 이동하여 위치(G)를 지정하도록 갱신된다.
상술한 방식으로, {C,D,E,F,G,H,I}의 7비트 열 단위가 준비되면, 메모리 관리 유니트(1)로 부터 단 (DC3)의 시간동안 데이타가 보충되는 것과 비트 열 단위(G)가 유효하도록 만들어지는 것을 무효화했던 비트 열 단위(G)(만일 G가 무효이면 뒤따르는 H,I,…도 또한 무효임을 나타냄)가 기다리므로 결국 비트라인들(BL)에 대한 독출데이타의 또 다른 동작이 판독 포인터(5)에 따라 수행된다. 마찬가지로 상술한 것과 동일한 방식으로 "명령 비트 열의 전송동작"→"그 다음 명령비트 열의 선택동작"→"명령길이 통지신호의 전송 동작"→"그 다음 명령 비트 열의 선택동작"→"그 다음 명령비트열의 전송동작"의 절차가 반복되고 명령해독단의 천이가 고속으로 수행될 수 있다. 바로앞단에서 명령디코더(9)로 전송된 명령비트 열은 래치회로(7)내에 임시로 기억되므로 바로 앞단에 전송된 명령비트 열의 또 다른 독출동작용으로 또 다른 독출동작용으로 또 다른 비트라인(BL)(따라서 또 다른 워드라인(WL))을 설비하지 않고서도 명령독출 동작이 실행될 수 있으며, 여기서, "명령 길이를 통지하는 통지시간"으로부터 "다음 명령 해독 시작시간"까지의 시간이 명령길이 통지신호에 따라 시작점으로서 다음 명령을 취하는 명령 비트 열 선택 절차에 의해 크게 줄어들 수 있다.
상술한 바와 같이 본 실시예에 의한 데이타 처리장치에서 판독포인터(5)에 의해 시작점으로서 지정된 메모리위치 이하의 명령비트 열은 복수의 비트라인(BL)으로 사전에 독출되고 기전송된 명령비트 열은 래치회로(6)내에 일시적으로 기억되므로 또 다른 비트라인이나 워드라인을 필요로 하지않고서도 다음 명령이 하의 다음 명령 비트 열을 선택할 수 있다.
그러므로, 명령 버퍼내에서 메모리 셀들을 구성하는 트랜지스터와 배선의 수를 증가시키지 않고서도 파이프 라인 처리에서 고속명령처리를 실현할 수 있으므로, 대규모집적회, 소형화 및 저코스트화가 실현될 수 있다.
본 발명에 의하면, 상술한 바와 같이 특히 파이프라인 처리용으로 사용되는 데이타 처리장치에서는 명령해독단으로부터 다음 명령 해독단으로의 고속천이가 실현될 수 있으므로, 명령처리속도가 데이타 처리장치 전체에 대해 개선될 수 있다. 또한 본 발명에 의하면, 트랜지스터와 그의 배선이 크게 감소됨과 더블어 명령처리속도가 크게 증가되므로 대규모 집접화, 소형화 및 저코스트화가 실현될 수 있다.
본 발명의 여러 다른 실시예들을 본 발명의 청구범위내에서 실시할 수 있을 것이다.

Claims (17)

  1. 메모리 관리유니트(1)와, 상기 메모리관리유니트(1)에 연결되어 각 로우마다 복수의 명령비트열단위를 기억하는 복수의 로우를 갖는 명령 버퍼 메모리(1B)와, 상기 로우들 중 전송할 로우를 지정하기 위한 판독 포인터(5)와, 상기 명령버퍼 메모리(1B)로부터 상기 복수의 명령비트열 단위중 상기 판독포인터(5)에의해 지정된 로우의 비트열단위를 공급받는 명령 디코더(9)와, 바로 앞단에서 상기 로우들 중 전송할 로우로부터 독출된 상기 복수의 명령 비트 열 단위들중 적어도 하나를 기억시키기 위해 상기 명령버퍼메모리(1B)에 접속되는 래치수단(7)과, 그리고 상기 복수의 명령 비트열 단위들중 선두 비트열 단위와 다음 비트열 단위를 공급하도록 상기 래치수단(7)의 출력 또는 상기 명령버퍼 메모리(1B)의 출력을 선택하는 선택수단(6)을 포함하며, 상기 선택수단(6)은 상기 명령디코더(9)로부터 출력된 제어신호에 따라 제어되며, 상기 명령 디코더(9)는 상기 선택수단(6)을 통해 상기 비트열 단위들을 수신하는 것이 특징인 짧은 명령 실행시간과 작은 점유 면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  2. 제1항에 있어서, 상기 명령버퍼 메모리(IB)는 복수의 블록들(H0~H3)로 분할된 것이 특징인 짧은 명령 실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  3. 제1항 또는 제2항에 있어서, 상기 블록들(H0~H3) 각각은 복수의 메모리 셀들(A11~Amn)을 포함하며, 상기 래치수단(7)은 복수의 래치회로(70~73)를 포함하며, 상기 선택수단(6)은 복수의 선택회로(60~63)를 포함하며, 또한 상기 선택회로그룹(60~63)은 각각 상기 명령 버퍼 메모리(IB)의 출력과 상기 래치수단(7)의 출력의 조합 데이타로부터 선택된 데이타를 출력시키도록 제어되는 것이 특징인 짧은 명령 실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  4. 제3항에 있어서, 상기 로우들 중 한 로우내의 상기 메모리 셀들(a11~amn)각각은 독출동작용 단일 비트라인(BL)과 단일 게이트 트랜스터를 통해 단일 워드 라인(WL)에 연결되는 것이 특징인 짧은 명령실행과 작은 점유면적을 갖는 가변 길이의 명령실행용 데이타 처리장치.
  5. 제1항에 있어서, 상기 선택수단(6)에 의해 선택된 비트 열 단위는 전송회로(8)를 통해 상기 명령디코더(9)로 전송되는 것이 특징인 짧은 명령 실행시간과 작은 점유 면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  6. 제5항에 있어서, 상기 전송회로(8)는 상기 비트열 단위의 순서를 처음순서(C,D,E,F)로 변경시키기 위해 명령 비트 열을 구성하는 상기 선택수단에 의해 선택된 상기 복수의 비트 열 단위들(E,F,C,D)을 회전시키는 것이 특징인 짧은 명령 실행 시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  7. 제1항에 있어서, 상기 데이타처리장치가 파이프라인 처리를 사용하는 가변길이 명령시스템용으로 사용되는 것이 특징인 짧은 명령실행시간과 작은 점유 면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  8. 메모리 관리 유니트(1)와, 상기 메모리 관리 유니트(1)에 연결되는 명령 버퍼 메모리(IB)와, 상기 명령 버퍼 메모리(1B)로부터 전송되는 복수의 명령비트열들중 제1명령 비트열을 해독하고, 상기 베1명령 비트열내에 내포된 상기 명령의 길이를 판별하고 또한 명령길이 통지신호를 출력시키기 위해 상기 명령 버퍼 메모리(IB)에 접속되는 명령 디코더(9)를 포함하는 가변 워드길이 명령 시스템용 데이타처리장치에 있어서, 상기 명령 버퍼 메모리(IB)는; 상기 복수의 명령 비트 열을 기억시키는 메모리부(N)와, 바로앞단에서 전송되는 상기 제1명령비트 열을 임시로 유지하는 래치회로(7)와, 상기 명령 디코더(9)에 전송되는 상기 명령 비트 열을 구성하는 각각의 비트열 단위가 명령으로서 유효한지를 나타내는 단위 밸리디티 플래그를 출력시키는 밸리디티 제어부(3)와, 상기 명령 디코더(9)로 전송되는 상기 복수의 명령 비트열들이 기억된 상기 메모리부(N)내의 메모리위치를 지정하는 판독 포인터 제어부(4)와, 상기 판독 포인터 제어브(4)에 의해 지정된 메모리 위치로부터 상기 단위 밸리디티 플래그의 수에 상당하는 단위길이만큼 이동하여 얻은 또 다른 메모리 위치를 지정하는 판독 포인터(5)와, 상기 제1명령 비트 열과 제2명령 비트열간에서 다음 명령으로부터 연속하는 상기 복수의 명령비트열들로부터 다음의 명령비트열을 선택하는 선택회로(6)을 포함하며, 상기 제1명령 비트열은 시작점인 상기 판독 포인터(5)에 의해 지정된 메모리 위치에 의해 상기 메모리부(N)내의 복수의 메모리 셀들(A11~Amn)로부터 복수의 비트라인들(BL)로 사전에 독출되며 또한 상기 제2명령비트 열은 상기 명령 디코더(9)로부터 출력된 명령길이 통지신호에 의해 상기 래치회로(7)내에 임시로 유지되며, 상기 선택회로(6)는 상기 명령디코더(9)로부터 출력된 제어신호에 의해 제어되며, 상기 명령 디코더(9)는 상기 선택회로로부터 상기 비트열단위들을 수신하는 것이 특징인 짧은 명령 실행시간과 작은 점유면적을 갖는 가변 길이의 명령실행용 데이타 처리장치.
  9. 제8항에 있어서, 상기 명령버퍼 메모리(IB)는 1/2워드로 구성되는 복수의 블록들(H0~H3)로 분할되는 것이 특징인 짧은 명령 실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  10. 제9항에 있어서, 상기 블록들(H0~H3) 각각은 복수의 메모리 셀들(A11~Amm), 래치회로(70~73) 및 선택회로(60~63)를 포함하는 것이 특징인 짧은 명령 실행시간과 작은 점유면적을 갖는 가변길이의 명령 실행용 데이타 처리장치.
  11. 제10항에 있어서, 상기 각 로우내의 상기 메모리 셀들(A11~Amn) 각각은 독출 동작용 단일비트라인(BL)과 단일 게이트 트랜지스터를 통해 단일 워드라인(WL)에 접속되는 것이 특징인 짧은 명령 실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  12. 제8항에 있어서, 상기 명령 버퍼 메모리(IB)로부터 출력되는 상기 복수의 명령비트열들중 각각의 명령비트 열을 전송회로(8)를 통해 상기 명령 디코더(9)로 전송되는 것이 특징인 짧은 명령실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  13. 제12항에 있어서, 상기 전송회로(8)는 상기 비트 열 단위들의 순서를 처음 순서(C,D,E,F)로 변경시키기 위해 상기 명령 비트열들 각각을 구성하는 복수의 비트열 단위들(E,F,C,D)을 회전시키는 것이 특징인 짧은 명령실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  14. 제8항에 있어서, 상기 데이타처리 장치가 파이프 라인처리를 사용하는 가변길이 명령시스템용으로 사용되는 것이 특징인 제8항의 짧은 명령 실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  15. 복수의 명령비트열들중 제1명령 비트열을 해독하여 상기 제1명령 비트 열내에 포함된 상기 명령의 길이를 판별한 후 명령길이 통지신호를 출력시키는 명령디코더(9)와, 상기 제1명령비트 열을 상기 명령디코더(9)로 전송시키기 위해 상기 명령 디코더(9)에 접속되는 명령 버퍼 메모리(IB)를 포함하되 상기 명령 버퍼 메모리는 상기 복수의 명령 비트열을 기억하는 메모리수단(N)과, 비트열들중 각각의 명령비트열을 임시로 유지시키는 래치수단(7)과, 상기 명령 디코더(9)에 전송되는 상기 복수의 명령비트 열들중 각각의 명령 비트열을 구성하는 비트열 단위들 각각이 명령으로서 유효한지를 나타내는 단위 밸리디티 플래그를 출력시키는 밸리디티 제어수단(3)과, 상기 명령디코더(9)에 전송되는 상기 각각의 명령비트 열들이 기억된 상기 메모리수단(N)내에서 메모리위치를 나타내는 판독 포인터 제어수단(4)과, 상기 판독 포인터 제어수단(4)에 의해 지정된 메모리 위치로부터 상기 단위 밸리디티 플래그의 수에 상당하는 단위길이만큼 이동하여 얻은 또 다른 메모리 위치를 지정하는 판독포인터(5)와, 제1명령비트열과 제2명령비트열 간에서 다음 명령으로부터 연속하는 다음의 명령비트열을 선택하는 선택회로(6)를 포함하며, 상기 제1명령 비트열은 시작점인 상기 판독포인터(5)에 의해 나타낸 메모리 위치에의해 상기 메모리부(N)내의 복수의 메모리 셀들(a11~amn)로부터 복수의 비트 라인들(BL)로 사전에 독출되며 또한 상기 제2명령비트 열은 상기 명령디코더(9)로부터 출력된 명령길이 통지신호에 의해 상기 래치회로(7)내에 임시로 유지되며, 상기 선택회로(6)는 상기 명령디코더로부터 출력된 제어신호에 의해 제어되며, 상기 명령디코더는 상기 선택수단으로부터 상기 비트열 단위들을 수신하는 것이 특징인 짧은 명령실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  16. 명령의 인출, 해독 및 실행을 제어하는 명령제유니트(41)와, 오퍼랜드 어드레스를 연산하여 오퍼랜드 동작을 실행하는 명령실행 유니트(42)와, 메모리 관리 유니트(43,1) 그리고 칩 버스를 통해 외부 I/O, 외부메모리 및 상기데이타 처리장치 중 어느 것으로 데이타를 전송하는 버스제어유니트(44)를 포함하되, 상기 명령제어유니트(41)은 복수의 명령비트열들중 제1명령 비트열을 해독하여 상기 제1명령 비트 열내에 포함된 상기 명령의 길이를 판별한 후, 명령길이 통지신호를 출력시키는 명령 디코더(412,9)와, 명령 비트 열을 상기 명령 디코더(9)로 전송시키기 위해 상기 명령디코더(9)에 접속되는 명령 버퍼 메모리(411,IB)와, 상기 로우들 중 하나를 나타내는 판독포인터(5)와, 상기 복수의 비트열 단위를 공급하는 명령 디코더(412,9)와 상기 로우들 중 하나로 부터 바로 앞단에서 독출된 상기 복수의 비트열 단위들중 비트열 단위들을 기억시키기 위해 상기 명령버퍼 메모리(411,IB)에 접속되는 래치수단(7)과, 상기 복수의 명령 비트열들중 선두 비트열 단위와 후속하는 비트 열 단위를 공급하도록 상기 래치수단(7)의 출력 또는 상기 명령 버퍼메모리(411,IB)의 출력을 선택하며, 상기 명령디코더(9)로부터 출력된 제어신호에 의해 제어되며, 상기 명령디코더는 상기 선택수단으로부터 상기 비트열 단위들을 수신하는 선택수단(6)을 단일 반도체 몸체내에 형성하여 모놀리딕 마이크로프로세서를 구성한 것이 특징인 짧은 명령실행시간과 작은 점유면적을 갖는 가변길이의 명령실행용 데이타 처리장치.
  17. 명령 버퍼 메모리(IB)로부터 바로 앞단에서 독출된 제1명령 비트열을 임시로 유지시키는 단계와, 상기 명령 버퍼 메모리(IB)로부터 판독포인터(5)에 의해 지정된 메모리위치에서 제2명령비트 열을 독출시키는 단게와, 상기 복수의 명령 비트열들 중에서 제3명령 비트열들을 선택하는 단계를 포함하는 것이 특징인 명령 버퍼 메모리(IB)로부터 명령 디코더(9)로 가변길이 명령을 공급하기 위한 데이타 처리방법.
KR1019900010705A 1989-07-14 1990-07-14 짧은 명령실행시간과 작은 점유면적을 갖는 가변 워드길이 명령시스템용 데이타 처리장치 KR930011686B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP1180583A JP2505887B2 (ja) 1989-07-14 1989-07-14 命令処理システム
JP1-180583 1989-07-14

Publications (2)

Publication Number Publication Date
KR910003488A KR910003488A (ko) 1991-02-27
KR930011686B1 true KR930011686B1 (ko) 1993-12-18

Family

ID=16085803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019900010705A KR930011686B1 (ko) 1989-07-14 1990-07-14 짧은 명령실행시간과 작은 점유면적을 갖는 가변 워드길이 명령시스템용 데이타 처리장치

Country Status (5)

Country Link
US (1) US5452427A (ko)
EP (1) EP0413434B1 (ko)
JP (1) JP2505887B2 (ko)
KR (1) KR930011686B1 (ko)
DE (1) DE69030036T2 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539911A (en) * 1991-07-08 1996-07-23 Seiko Epson Corporation High-performance, superscalar-based computer system with out-of-order instruction execution
AU2509192A (en) * 1991-08-21 1993-03-16 Digital Equipment Corporation Address method for computer graphics system
US5321810A (en) * 1991-08-21 1994-06-14 Digital Equipment Corporation Address method for computer graphics system
CA2107046A1 (en) * 1993-01-08 1994-07-09 James Allan Kahle Method and system for increased instruction dispatch efficiency in superscalar processor system
GB2293670A (en) * 1994-08-31 1996-04-03 Hewlett Packard Co Instruction cache
US5758116A (en) * 1994-09-30 1998-05-26 Intel Corporation Instruction length decoder for generating output length indicia to identity boundaries between variable length instructions
US5822558A (en) * 1995-04-12 1998-10-13 Advanced Micro Devices, Inc. Method and apparatus for predecoding variable byte-length instructions within a superscalar microprocessor
US6237074B1 (en) * 1995-05-26 2001-05-22 National Semiconductor Corp. Tagged prefetch and instruction decoder for variable length instruction set and method of operation
US6425070B1 (en) * 1998-03-18 2002-07-23 Qualcomm, Inc. Variable length instruction decoder
EP1050801B1 (en) 1999-05-03 2006-12-13 STMicroelectronics S.A. An instruction supply mechanism
US7415599B1 (en) 2005-11-01 2008-08-19 Zilog, Inc. Instruction operation and operand memory location determined based on preceding instruction operation and operand memory location
US8719516B2 (en) 2009-10-21 2014-05-06 Micron Technology, Inc. Memory having internal processors and methods of controlling memory access
US11762566B2 (en) 2018-01-22 2023-09-19 Arm Limited Programmable mapping of guard tag storage locations
GB2570326B (en) * 2018-01-22 2020-06-10 Advanced Risc Mach Ltd Multiple guard tag setting instruction
US11204768B2 (en) 2019-11-06 2021-12-21 Onnivation Llc Instruction length based parallel instruction demarcator

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3961313A (en) * 1974-12-04 1976-06-01 International Business Machines Corporation Computer control apparatus
US4236206A (en) * 1978-10-25 1980-11-25 Digital Equipment Corporation Central processor unit for executing instructions of variable length
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4502111A (en) * 1981-05-29 1985-02-26 Harris Corporation Token generator
US4635194A (en) * 1983-05-02 1987-01-06 International Business Machines Corporation Instruction buffer bypass apparatus
US4847759A (en) * 1985-03-18 1989-07-11 International Business Machines Corp. Register selection mechanism and organization of an instruction prefetch buffer
JPH0827716B2 (ja) * 1985-10-25 1996-03-21 株式会社日立製作所 データ処理装置及びデータ処理方法
US4837678A (en) * 1987-04-07 1989-06-06 Culler Glen J Instruction sequencer for parallel operation of functional units
US5113515A (en) * 1989-02-03 1992-05-12 Digital Equipment Corporation Virtual instruction cache system using length responsive decoded instruction shifting and merging with prefetch buffer outputs to fill instruction buffer
US5109495A (en) * 1989-02-03 1992-04-28 Digital Equipment Corp. Method and apparatus using a source operand list and a source operand pointer queue between the execution unit and the instruction decoding and operand processing units of a pipelined data processor

Also Published As

Publication number Publication date
JP2505887B2 (ja) 1996-06-12
KR910003488A (ko) 1991-02-27
EP0413434A3 (en) 1992-01-22
EP0413434B1 (en) 1997-03-05
EP0413434A2 (en) 1991-02-20
DE69030036T2 (de) 1997-06-12
DE69030036D1 (de) 1997-04-10
JPH0346028A (ja) 1991-02-27
US5452427A (en) 1995-09-19

Similar Documents

Publication Publication Date Title
KR930011686B1 (ko) 짧은 명령실행시간과 작은 점유면적을 갖는 가변 워드길이 명령시스템용 데이타 처리장치
KR960011279B1 (ko) 데이타 처리 캐시메모리 및 이를 장착한 데이타 프로세서
US5450605A (en) Boundary markers for indicating the boundary of a variable length instruction to facilitate parallel processing of sequential instructions
US3979726A (en) Apparatus for selectively clearing a cache store in a processor having segmentation and paging
US5956744A (en) Memory configuration cache with multilevel hierarchy least recently used cache entry replacement
US6779102B2 (en) Data processor capable of executing an instruction that makes a cache memory ineffective
KR890005352B1 (ko) 버퍼 기억제어 시스템(buffer storage system)
KR880001170B1 (ko) 마이크로 프로세서
US11714646B2 (en) Streaming engine with early exit from loop levels supporting early exit loops and irregular loops
US4005391A (en) Peripheral interrupt priority resolution in a micro program data processor having plural levels of subinstruction sets
US4204252A (en) Writeable control store for use in a data processing system
EP0066376B1 (en) Data processing system
KR930005766B1 (ko) 가변장 명령열을 해독하고 실행하는 데이타 처리장치
US20200050573A1 (en) Superimposing butterfly network controls for pattern combinations
EP0311034A2 (en) Cache memory control apparatus for a virtual memory data-processing system
EP0144268B1 (en) Method for controlling buffer memory in data processing apparatus
US6889313B1 (en) Selection of decoder output from two different length instruction decoders
US3395396A (en) Information-dependent signal shifting for data processing systems
KR20010007093A (ko) 마이크로 명령을 기초로 프로그램 가능한 명령을 실행하는하드웨어 장치
KR920002573B1 (ko) 데이타 처리기
US5276853A (en) Cache system
KR0153537B1 (ko) 메모리 번지 데이타를 선행 선택하는 신호처리 구조
KR920006274B1 (ko) 마이크로 프로세서
EP0107447A2 (en) Computer data distributor
JPS60189043A (ja) プロセツサ

Legal Events

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

Payment date: 20051208

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee