KR960011279B1 - 데이타 처리 캐시메모리 및 이를 장착한 데이타 프로세서 - Google Patents

데이타 처리 캐시메모리 및 이를 장착한 데이타 프로세서 Download PDF

Info

Publication number
KR960011279B1
KR960011279B1 KR1019920001755A KR920001755A KR960011279B1 KR 960011279 B1 KR960011279 B1 KR 960011279B1 KR 1019920001755 A KR1019920001755 A KR 1019920001755A KR 920001755 A KR920001755 A KR 920001755A KR 960011279 B1 KR960011279 B1 KR 960011279B1
Authority
KR
South Korea
Prior art keywords
instruction
length
memory
data
output
Prior art date
Application number
KR1019920001755A
Other languages
English (en)
Other versions
KR920016941A (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
Priority claimed from JP3016716A external-priority patent/JPH04255995A/ja
Priority claimed from JP3019849A external-priority patent/JPH04257948A/ja
Application filed by 후지쓰 가부시끼가이샤, 세끼자와 다다시 filed Critical 후지쓰 가부시끼가이샤
Publication of KR920016941A publication Critical patent/KR920016941A/ko
Application granted granted Critical
Publication of KR960011279B1 publication Critical patent/KR960011279B1/ko

Links

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
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/382Pipelined decoding, e.g. using predecoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • 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/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3802Instruction prefetching

Abstract

내용 없음.

Description

데이타 처리 캐시메모리 및 이를 장착한 데이타 프로세서
제1도는 캐시메모리를 사용한 제1종래기술의 데이타 프로세서의 구성을 도시하는 블록도.
제2도는 캐시메모리를 사용한 제2종래기술의 데이타 프로세서의 구성을 도시하는 블록도.
제3도는 캐시메모리를 사용한 제3종래기술의 데이타 프로세서의 구성을 도시하는 블록도.
제4도는 본 발명의 제1태양에 따라서 캐시메모리의 기본구성을 도시하는 블록도.
제5도는 본 발명의 제1태양에 따라서 실시예의 구성을 도시하는 블록도.
제6도는 제5도에 도시된 명령어 사전판독기의 구성을 도시하는 블록도.
제7도는 제5도에 도시된 데이타 메모리의 구성을 대략 도시하는 블록도.
제8a도 및 제8b도는 확장부를 가지고 또는 확장부없이 두개의 명령어를 CPU가 동시에 처리할 수 있는 구성을 도시하는 블록도.
제9a도 및 제9c도는 각각 가변길이 확장부를 갖는 두개의 명령어를 CPU가 동시에 처리할 수 있는 다른 구성을 도시하는 블록도.
제10도는 캐시메모리를 사용하는 제4종래기술의 데이타 프로세서의 구성을 도시하는 블록도.
제11도는 본 발명의 제2태양에 따라서 캐시메모리의 기본구성을 구성하는 블록도.
제12도는 본 발명의 제2태양에 따라 실시예의 구성을 도시하는 블록도.
본 발명은 데이타 프로세서에서, 고속 계산처리를 실행하는 CPU(중앙처리장치)와 상대적으로 저속동작을 수행하는 메인메모리 사이에 접속된 캐시메모리에 관한 것이다. 특히, 메인메모리로부터의 명령어 데이터를 처리함으로써, CPU내에서 명령어 데이타의 고속해독을 실현하는데 적합한 캐시메모리의 구성에 관한 것이다.
[종래기술]
최근, 1사이클내에서 명령어의 보다 많은 부분을 실행한는 CPU가 개발되어 있지만, 이 CPU는 더 고속으로 계산처리를 실행하도록 요구받고 있다. 결국에, 각각의 CPU에 접속된 캐시메모리도 고속동작을 수행하도록 요구받고 있다.
고속 계산처리를 실현하는 한가지 접근방법으로서, 동작클록의 주파수를 증가시키는 안이 제안될 수 있다.
그러나, 이 안은 예컨대 트랜지스터-트랜지스터 논리회로에 의해 구성된 주변회로가 주파수에 대한 요구조건을 만족시킬 수 없기 때문에 실현되기가 어렵다. 따라서, 동작클록의 주파수를 증가시키지 않고 고속계산처리를 실현하는 다른 접근방법이 요구된다.
그 요구를 만족시키는 접근방법으로서, 복수의 명령어를 동시에 실행하는 기술이 알려져 있는데, 이것은 대략2가지 범주로 분류된다. 그 하나는 각 명령어가 고정길이를 갖는 경우이며, 다른 하나는 각 명령어가 가변길이를 갖는 경우이다. 복수의 고정길이 명령어를 처리하는 데이타 프로세서에 있어서는, 어떤 명령어에 후속되는 다음 명령어의 위치가 고정되어 있으며, 이에 따라 해독을 통해 인접한 두 명령어를 동시에 실행하는 것이 가능하다.
그러나, 실시간 운영체계중심(The Real time Operating System Nucleus, TRON) 명세서에서 처럼, 복수의 가변길이 명령어를 처리하는 데이타 프로세서에 있어서는, 문제점이 나타난다. 즉 후속되는 명령어의 위치가 변하기 때문에, 즉 고정되어 있지 않기 때문에, 후속되는 명령어의 위치를 어떤 수단이 알려주지 않는 한, 인접한 두 명령어의 동시 실행은 불가능하다.
그래서 TRON 명세서에서 처럼, 가변길이명령어를 처리하는 종래 기술의 데이타 프로세서에서는, 복수의 명령어를 동시 실행해서 고속 계산처리를 실현하는 것은 불가능하다는 문제가 생긴다. 바꾸어 말하면, 고속계산처리를 실현하기 위해서는, CPU와 메인메모리 사이에 접속된 캐시메모리에 있어서 메인메모리로부터 명령어의 처리능력이 향상되어야만 한다. 이를 해결하기 위하여, 여러가지 접근방법이 제안되었지만, 효과적인 개선방법은 제안되지 않았다.
종래 기술의 문제점들은 앞으로 본 발명의 바람직한 실시예와 대비해서 자세히 설명한다.
[발명의 요약]
본 발명의 목적은 명령어가 가변길이 명령어이더라도 CPU가 이들을 동시에 판독할 수 있도록 하여, 고속계산처리를 실현하는데 적합하도록 한 캐시메모리를 제공하는 것이다.
본 발명의 제1태양에 따라, 메모리로부터 획득된 적어도 하나의 가변길이 명령어를 저장하고 그리고 저장된 정보를 제어유닛에 공급하는 캐시메모리가 제공되는 데, 이 캐시메모리는 상기 메모리로부터 획득된 가변길이 명령어의 명령어 길이를 해독하는 명령어길이 해독유닛; 및 상기 메모리로부터 가변길이 명령어를 상기 명령어 길이 해독유닛에 의해 얻어진 명령어길이 정보와 함께 저장하는 명령어 기억유닛을 포함하고 있고, 상기 가변길이 명령어와 그 명령어 길이정보는 제어유닛에 공급된다.
또한 본 발명의 제2태양에 따라, 메모리로부터 획득된 명령어 데이타를 저장하고 그리고 저장된 정보를 제어유닛에 공급하는 캐시메모리가 제공되는데, 이 캐시메모리는 상기 명령어 데이타의 해독을 위한 보조장치로서 사전해독된 정보를 발생하는 유닛; 상기 사전 해독된 정보를 상기 명령어 데이타와 함쩨 저장하는 메모리유닛; 이 메모리유닛으로부터 출력된 사전 해독된 정보를 캐시 적중(hit) 상태에서, 대응하는 명령어 데이타와 함께 검사하는 유닛; 검사된 사전해독정보가 무효한지, 즉 틀린지를 증명하여 상기 메모리유닛내의 대응하는 사전해독 정보를 을바른 정보로 재기록하는 재기록 유닛; 및 검사된 사전 해독정보가 무효한지 즉 틀린지를 증명하여 상기 제어 유닛에 검사결과가 반영된 제어정보를 출력하는 제어정보 출력유닛을 포함하고 있다.
본 발명의 다른 목적과 태양은 첨부된 도면을 참조하여 바람직한 실시예를 통해 이하 상세히 설명될 것이다.
[바람직한 실시예의 설명]
설명하는데 있어 여러 도면에 사용된 동일한 참조부호는 동일한 구성요소를 나타내므로 반복적인 설명은 피한다.
본 발명의 제1태양에 따른 바람직한 실시예를 제1도 내지 제9c를 참조하여 설명한다.
바람직한 실시예의 이해를 돕기 위해, 제1도 내지 제3도를 참조하여 종래 관련기술을 먼저 설명한다.
제1도에는 캐시메모리를 사용하는 제1종래기술의 데이타 프로세서의 구성이 도시되어 있다. 도면에서, 참조번호 1a는 데이타 프로세서내에 있는 CPU(2)와 메인메모리(3) 사이에 접속된 캐시메모리를 나타낸다. 캐시메모리(1a)는 메인메모리(3)로부터 획득된 명령어를 저장하는 명령어 기억유닛(4)과, CPU(2)로부터 출력된 명령어 주소와 캐시메모리(1a)내에 보유된 비교주소를 비교하여, 캐시 적중상태인지 캐시 실패상태인지를 판단하는 캐시 적중/실패 판단유닛(5)을 포함하고 있다.
이렇게 구성되고, CPU(2)가 명령어를 인출하는 데이타 프로세서에서, CPU(2)는 먼저 캐시메모리(1a)를 주소 억세스한다. 인출하고자 하는 명령어가 캐시메모리(15)에 존재하는 경우에(즉, 캐시 적중 상태), 그 명령어는 CPU(2)에 입력된다. 반면에, 인출하고자 하는 명령어가 캐시메모리(1a)내에 존재하지 않는 경우에(즉, 캐시 실패 상태), 주소 억세스는 메인메모리(3)에 대해 행해져서, 대응하는 명령어가 판독된다. 상기 명령어는 CPU(2)에 입력되고 캐시메모리(1a)의 명령어 기억유닛(4)내에 저장된다.
상기 구성에서, CPU(2)는 복수의 명령어를 처리할 수 있도록 구성된 것으로 가정한다. 각 명령어가 고정길이를 갖는 경우에, 임의의 명령어에 후속되는 명령어의 위치는 고정되어 있으며, 따라서 CPU(2)는 해독을 통해 복수의 명령어를 동시에 실행할 수 있다.
그러나, 각 명령어가 가변길이를 갖는 경우에는, 후속되는 명령어의 위치가 변한다. 따라서 후속되는 명령어의 위치를 어떤 수단이 알려주지 않으면, CPU(2)는 복수의 명령어를 동시에 실행할 수 없다.
제2도에는 캐시메모리를 사용하는 제2종래기술의 데이타 프로세서의 구성이 도시되어 있다.
도시된 데이타 프로세서는 복수의 가변길이 명령어를 동시에 실행할 수 있게 되어 있으며, CPU(2a)와 메인 메모리(3) 사이에서 명령어 주소와 가변길이 명령어를 입력받아 전달하는 캐시메모리(1)를 포함하고 있다. CPU(2a)는 캐시메모리(1)로부터의 명령어 데이타를 일시적으로 저장하는 명령어 레지스터(8) 이 명령어 레지스터(8)로부터의 명령어 데이타를 사전해독하여 그 명령어 길이를 얻는 명령어 사전해독기(6), 소정의 시간(사전해독하는데 요하는 시간에 해당)동안 상기 명령어 레지스터(8)로부터의 명령어 데이타를 저정하는 명령어 레지스터(9), 및 상기 명령어 사전해독기 (6)로부터의 사전 해독된 소정의 정보(즉, 명령어 길이정보)와 상기 명령어 레지스터(9)로부터의 명령어 데이타를 해독하는 명령어 해독기(7)를 포함하고 있다.
이 구성에 따라서, 명령어 사전해독기(6)와 명령어 레지스터(9)를 사용하여 상기 명령어 해독기(7)에 두 개의 명령어를 동시에 공급함으로써, 이 두 명령어를 동시에 실행할 수 있다.
그러나, 이 구성은 명령어 데이타를 사전 해독하는데 시간이 걸린다는 단점을 갖고 있다. 또한 명령어는 가변데이타를 갖고 있으므로, 명령어 사전해독기(6)가 두개의 가변길이 명령어를 동시에 사전해독하는 것은 쉽지 않다. 그 결과 명령어들을 명령어 해독기(7)에 연속적으로 공급하는 것이 불가능하므로 계산처리속도가 낮아진다.
제3도에는 캐시메모리를 사용하는 제3종래기술의 데이타 프로세서의 구성이 도시되어 있다. 이 도면에서, 참조번호 1b는 CPU(2)와 메인메모리(3) 사이에서 명령어 주소와 가변길이 명령어를 입력받아 전달하는 전달하는 캐시메모리를 나타낸다. 캐시메모리(1b)는 메인메모리(3)로부터 획득된 가변길이 명령어를 저장하는 명령어 레지스터(8a), 이 명령어 레지스터(8a)로부터의 가변길이 명령어를 해독하는 명령어 해독기(7a), 및 이 명령어 해독기 (7a)로부터의 해독된 정보를 저장하는 명령어 기억유닛(4a)을 포함하고 있다.
그러나, 이 구성은 명령어 기억유닛(4a)의 데이타 크기가 명령어 길이가 가장 긴 데이타의 크기만큼의 크기가 되도록 선택되어야만 한다는 단점을 갖고 있다. 그래서, 캐시메모리(1b)에 명령어 해독기(7a)가 제공되는 상기의 구성은 실제적인 사용이나 적용에 있어서는 적합하지 않다.
제4도에는 본 발명의 제1태양에 따른 캐시메모리의 기본구성이 도시되어 있다.
이 도면에서, 참조번호 10은 외부메모리[즉, 메인메모리(30)]로부터 획득된 적어도 하나의 가변길이 명령어를 처리하고 이 처리된 정보를 외부제어유닛[즉, CPU(20)]에 공급하는 캐시메모리를 나타낸다. 캐시메모리(10)는 외부메모리로부터 획득된 가변길이 명령어의 명령어 길이를 해독하는 명령어 길이해독유닛(11), 및 상기 외부메모리로부터의 가변길이 명령어를 상기 명령어 길이 해독유닛에 의해 얻어진 명령어 길이 정보와 함께 저장하는 명령어 기억유닛(12)을 포함하고 있고, 상기 가변길이 명령어와 그 명령어 길이정보는 외부 제어유닛에 공급된다. 상기 구성에서, 캐시메모리(10)가 캐시 적중상태인 경우에, 대응하는 가변길이 명령어와 그 명령어길이 정보는 명령어 기억유닛(12)으로부터 판독되어 CPU(20)에 공급된다. 그래서, CPU(20)는 복수의 가변길이 명령어를 동시 해독할 수 있다. 이것은 고속계산처리에 기여한다.
반면에, 캐시메모리(10)가 캐시 실패상태인 경우에는, 대응하는 가변길이 명령어가 메인메모리(30)로부터 획득되어 캐시메모리(10)에 입력되며, 그 명령어 길이는 명령어 길이 해독유닛(11)에 의해 해독된다.
다음에, 관련 가변길이 명령어와 그 명령어 길이정보는 CPU(20)에 공급된다. 따라서, 관련 가변길이 명령어가 CPU(20)에 의해 해독될 때까지 요하는 시간은 캐시 적중상태에서 보다 더 길어지게 된다. 그러나 이 경우(캐시 실패상태)에도 물론 CPU(20)에서 복수의 가변길이 명령어를 동시해독하는 것이 가능하다.
제5도에는 본 발명의 제1태양에 따른 바람직하 실시예의 구성이 도시되어 있다.
이 도면에서, 참조번호 100은 CPU(20)를 포함하고 있는 모놀리식 마이크로 프로세서(MP)에 집적된 캐시메모리를 나타낸다. 즉, 캐시메모리(100)는 단일의 반도체 기판(도시하지 않음)에 CPU(20)와 더불어 형성된다.
캐시메모리(100)에서, 참조번호 115는 CPU(20)로부터 주소를 입력받는 명령어 주소 입력유닛을 나타내며, 이때 명령어에 대응하는 상기 주소는 캐시메모리(100) 혹은 메인메모리(30)로부터 인출된다.
참조번호 116는 CPU(20)에서 출력된 명령어 주소와 유닛(116)내에 보유된 비교주소(태그)를 비교하고 그리고 이 비교결과를 기초로 캐시 적중상태인지 캐시 실패상태인지를 판단하는 캐시 적중/실패판단유닛을 나타낸다. 캐시 적중/실패 판단유닛(116)은 랜덤 억세스 메모리(RAM)로 구성되어 상기 비교주소를 보유하고 있는 태그메모리(117), 및 명령어 주소를 상기 비교주소와 비교하는 주소비교유닛(118)을 포함하고 있다.
참조번호 119는 주소 비교유닛(118)이 캐시 실패상태임을 알려올 때, 명령어 주소 입력유닛(115)으로부터의 상기 명령어주소를 메모리(30)로 출력하는 명령어 주소 출력유닛을 나타낸다.
또한, 참조번호 120은 메인메모리(30)에서 출력된 적어도 하나의 가변길이 명령어를 입력받는 명령어 데이터 입력유닛을 나타낸다.
참조번호 121은 본 발명의 특징인 명령어 사전해독기(121)를 나타낸다. 명령어 사전해독기(121)는 CPU(20)에 설치된 명령어 해독기(후에 설명)에 의해 해독되기전에, 메인메모리(30)로부터 획득된 가변길이 명령어를 해독해서, 그 명령어 길이정보를 만들어 낸다. 예를 들어, 명령어 길이 정보는 아래표와 같이 만들어진다.
참조번호 122는 가변길이 명령어 및 대응하는 명령어 길이 정보가 포함되어 있는 명령어를 저장하는 명령어 기억유닛을 나타낸다. 또한, 참조번호 123은 우회유닛(bypashing unit)을 나타내며, 참조번호 124는 명령어 데이타 출력유닛을 나타낸다. 명령어 기억유닛(122)은 입/출력버퍼(125)와, RAM에 의해 구성되어 명령어 데이타 입력유닛(120)에서 입력받은 명령어와 명령어 사전 해독기(121)에 의해 얻어진 대응하는 명령어 길이정보를 저장하는 데이타 메모리(126)를 포함하고 있다.
주소 비교유닛(118)이 상기 입/출력 버퍼(125)에 캐시 적중상태임을 알려오는 경우, 입/출력버퍼(125)는 데이타 메모리(126)로부터 대응하는 명령어와 그 명령어 길이 정보를 판독하고 그리고 판독된 데이타를 명령어 데이타 출력유닛(124)에 전달한다. 반면에, 주소비교유닛(118)이 입/출력 버퍼 (125)에 캐시 실패상태임을 알려오는 경우에는, 입/출력버퍼(125)는 명령어 데이타 입력유닛(120)으로부터 대응하는 명령어 데이타를 명령어 사전해독기(121)로부터 그 명령어 길이정보를 입력받고, 그리고 입력받은 데이타를 데이타 메모리(126)에 기록한다.
또, 주소비교유닛(118)이 우회유닛(123)에 캐시 실패상태임을 알려오는 경우, 우회유닛(123)은 명령어 데이타입력유닛(120)으로부터 대응하는 가변길이 명령어를 명령어 사전해독기(121)로부터 그 명령어 길이 정보를 입력받고, 그리고 입력받은 데이타를 명령어 데이타 출력유닛(124)에 전달한다.
명령어 데이타 출력유닛(124)은 명령어 기억유닛(122) 또는 우회유닛(123)으로부터 명령어(또는, 가변길이 명령어)와 그 대응하는 명령어 길이정보를 입력받고 그리고 입력받은 데이타를 CPU(20)로 출력한다.
제6도에는 명령어 사전해독기(121)의 구성이 도시되어 있다.
본 실시예에서, 가변길이 명령어 데이타는 명령어 데이타 입력유닛(120)으로부터 64비트의 데이타폭을 갖는 버스를 통해 전달되어, 명령어 사전해독기(121)에 입력되도록 입력될 4개의 데이타 블록으로 분할된다. 참조번호 1211 내지 214는 각 데이타 블록에서 대응하는 16비트[1반 워드(1HW)] 데이타를 래치하는 명령어 래치회로를 각각 나타낸다. 참조번호 221 내지 224는 대응하는 명령어 래치회로로부터의 16비트 데이타의 형식(format)을 해독하는 형식해독기를 각각 나타내며, 참조번호 231 내지 234는 대응하는 16비트 데이타중에서 8비트를 기초로 유효주소를 해독하는 유효주소 해독기를 각각 나타낸다.
또한, 참조번호 2471 내지 244는 대응하는 형식 해독기와 유효주소 해독기의 해독된 결과를 기초로 명령어 길이를 결정하는 명령어 길이 결정회로를 각각 나타낸다. 이 경우에, 각각의 명령어 길이 결정회로(241 내지 243)는 명령어 헤드표시회로(260)의 제어를 받아, 하부랭크측의 명령어 길이 결정회로(들)를 제어한다. 예를들어, 명령어 길이 결정회로(243)는 명령어 헤드표시회로(260)와 명령어 길이 결정회로(241,242)의 제어를 받아, 명령어 길이 결정회로(244)를 제어한다. 명령어 길이 결정회로(244)는 상부 랭크측의 명령어 길이 결정회로(241 내지 243)의 제어를 받는다.
참조번호 250은 명령어 길이 결정회로(241 내지 244)의 각 출력을 기초로 입력 가변길이 명령어 데이터에 대한 명령어 길이정보를 발생하는 출력패턴 발생회로를 나타낸다. 출력패턴발생회로(250)는 상기 4개의 데이타블록중의 어느 블록이 가변길이 명령어의 헤드에 있는지를 지시하는 제어신호를 발생한다. 명령어 헤드표시회로(260)는 상기 제어신호에 응답하여, 명령어 길이 결정회로(241 내지 243)의 인에이블 또는 디스에이블을 제어한다.
제7도에는 데이타 메모리(126)의 구성이 개략적으로 도시되어 있다.
제7도에 도시된 바와 같이, 데이타 메모리(126)는 4개의 블록(B1 내지 B4)으로 분할되어 있으며, 이때 각 블록은 16비트(1HW)의 명령어 데이타와 그 대응하는 3비트 명령어 길이 정보를 가지고 있다. 즉, 명령어 데이타(또는, 가변길이 명령어 데이타)는 최대 64비트로 되어 있다.
본 발명에 따른 캐시메모리의 상기 구성에서, 메인메모리(30)로부터 획득된 가변길이 명령어는 명령어 사전해독기(121)에 의해 해독된 대응하는 명령어 길이정보와 함께 명령어 기억유닛(122)에 저장되어 있다.
그러므로, 캐시메모리(100)가 캐시 적중상태인 경우, 대응하는 가변길이 명령어와 그 명령어 길이정보는 명령어 기억유닛(122)으로부터 판독되어, 명령어 데이타 출력유닛(124)을 통해 CPU(20)에 공급된다. 그래서 CPU(20)는 후술되는 바와 같이, 복수의 가변길이 명령어를 동시 해독할 수 있다. 이는 고속 계산처리에 기여한다.
또한, 캐시메모리(100)가 캐시 실패상태인 경우에는, 대응하는 가변길이 명령어가 메인메모리(30)로부터 획득되어 캐시메모리(100)에 입력되며, 그 명령어 길이는 명령어 사전해독기(121)에 의해 해독된다. 다음에, 관련 가변길이 명령어와 그 대응하는 명령어 길이 정보는 CPU(20)에 공급된다. 따라서, 관련 가변길이 명령어가 CPU(20)에 의해 해독될 때까지 요하는 시간은 캐시 적중상태에서 보다 더 길에 된다. 그러나, 이와 같은 경우에 있어서도, CPU(20)에서 복수의 가변길이 명령어를 동시 해독하는 것이 물론 가능하다.
제8a 및 8b도에는 CPU(20)가 확장부를 가지고 또는 확장부없이 두개의 명령어를 동시 처리할 수 있는 구성이 도시되어 있다. 이 도면에서, 참조기호 C는 기본부와 확장부로 된 하나의 세트 또는 복수의 세트들의 조합에 의해 구성되어 있는 명령어코드 열(train) (즉, 단일의 명령어)를 나타낸다. 상기 기본부는 명령어의 종류를 분류한 코드를 포함하고 있고, 확장부는 기본부의 지정에 의해 추가되고 가변길이를 갖는다. 참조번호 301은 제5도에 도시된 캐시메모리(100)일 수 있는 캐시메모리를 나타낸다. 참조번호 315는 예컨대 사전해독기에 의해 구성된 표시(mark)첨부유닛을 나타낸다. 표시첨부유닛(315)온 명령어 코드열 C의 모든 단위길이 데이타가 기본부 인지 아닌지를 판단하여, 소정의 표시 M을 첨부한다.
참조번호 302는 명령어 코드열 C을 판독하고 이를 저장하는 코드 메모리유닛(303), 표시 M을 저장하는 표시메모리유닛(316) 상기 코드메모리유닛(303)에 기록주소를 지정하는 기록포인터(306), 로드메모리유닛(303)으로부터 선택적으로 출력될 소정의 명령어 코드열의 헤드위치를 지정하는 판독 포인터(307), 이 판독포인터(307)의 출력과 표시메모리유닛(316)으로부터의 정보에 응답하여 소정의 명령어 코드열의 출력위치를 지정하는 출력위치표시회로(317), 및 이 출력위치 표시회로(317)의 출력과 표시메모리유닛(316)으로부터의 정보에 응답하여 코드메모리유닛(303)으로부터의 소정의 명령어 코드열을 선택적으로 출력하는 출력선터회로(308)를 포함하고 있는 명령어 버퍼유닛을 나타낸다.
참조번호 309는 프로그램가능 논리 배열(PLA)에 의해 구성된 명령어 해독기를 나타내며, 참조번호 310은 명령어 레지스터를 나타낸다. 이들 명령어 해독기(309)와 명령어 레지스터(310)는 버스(314)를 통해 상기 출력 선택회로(308)에 접속되어 있다. 버스(314)는 복수의 서로 다른 필드(X, Y)로 구분되어 있다.
상기 출력선택회로(308)와 출력위치표시 회로(317)는 제어유닛(320)을 구성하고 있다. 전체적으로, 제어유닛(320)은 표시 M이 소정의 범위내에서 소정의 명령어 코드열의 기본부를 표시하는 특정부에 링크되어 있고, 버스(314)의 한 필드로 출력될 링크데이타를 제어한다.
동일한 방식으로, 제어유닛(320)은 표시 M이 버스(314)의 다른 필드로 출력될, 소정의 명령어 코드열의 확장부를 표시하는 부분을 제어한다.
버스(314)로 출력된 명령어 코드열은 명령어 레지스터(310)를 통해 즉시/변위발생회로(312)에 입력된다. 이 회로(312)는 명령어 해독기(309)로부터의 정보를 기초로 소정의 계산을 실행하고, 실행결과를 명령어 실행유닛(313)으로 출력한다. 또, 참조번호 311은 명령어 실행유닛(313)에 의해 실행될 마이크로 명령어를 제어하는 마이크로 ROM을 나타낸다.
제9a도 내지 제9c도에는 가변길이 확장부를 각각 갖는 두개의 명령어를 CPU(20)가 동시 처리할 수 있는 또다른 구성이 도시되어 있다.
그 기본구성과 동작은 한쌍의 출력선택회로(308a,308b)와, 한쌍의 명령어 해독기(309a,309b)와, 한쌍의 명령어 레지스터(310a,310b)와, 한쌍의 명령어 실행유닛(313a,313b)이 제공되어 있는 것을 제외하고는 제8a 및 8b도에서의 것과 근본적으로 동일하다.
각각의 명령어 실행유닛(313a,313b)은 대응하는 명령어 해독기(309a,309b)로부터의 정보 및 대응하는 명령어 레지스터(310a,310b)의 출력을 기초로 각 명령어를 직접 실행시킨다.
제어표시 M은 명령어 버퍼유닛(302a)의 제어를 위해 단위 코드길이당 적어도 2비트를 필요로 한다. 예를들어 0은 기본부를 제외한 부분을 표시하고; 1은 이전의 기본부와 동시에 해독 가능한 기본부를 표시하며; 10은 이전의 기본부와 동일한 명령어내의 기본부이지만 그것과 동시에 해독될 수 없는 기본부를 표시하고; 11은 이전의 기본부와는 다른 명령어의 기본부를 표시한다.
한쌍의 명령어 해독기(309a,309b)가 제공되어 있기 때문에, 1사이클내에서 처리될 명령어 코드의 최대길이는 명령어 해독기가 1개인 경우의 길이의 두배가 된다. 이러한 단점을 해결하기 위해, 판독포트의 갯수가 명령어 해독기가 1개인 경우의 갯수의 두배로 늘어난다.
또한, 출력선택회로(308a 및 308b)는 서로 다른 구성을 가지고 있다. 즉, 명령어 해독기(309a)로 보내질 명령어 코드열은 제1판독포트의 출력으로부터 선택되는 반면에, 명령어 해독기(309b)로 보내질 명령어 코드열은 제1판독 포트내게 또는 제1판독포트와 제2판독 포트내에 위치한다. 결국에, 제2출력선택회로(308b)는 제1 및 제2판독 포트의 모든 출력중에서 버스로 보낼 출력을 선택해야만 한다.
다음에, 본 발명의 제2태양에 따른 바람직한 실시예를 제10도 내지 제12도와 제2도를 참조하여 설명한다.
제1실시예에서와 마찬가지로, 제10도와 제2도를 참조하여 종래기술을 먼저 설명한다.
제2도는 앞에서 설명되었으므로 생략되었음에 유의하라.
제10도에는 캐시메모리를 사용한 제4종래기수의 데이타 프로세서의 구성이 도시되어 있다. 이 구성에서 참고기호 1c는 CPU(2)와 메인메모리(3) 사이에서 명령어 데이타와 명령어 주소를 입력받아 전달하는 캐시메모리를 나타낸다. 캐시메모리(1c)는 CPU(20)로부터 명령어 주소를 입력받는 명령어 주소 입력유닛(41), 캐시 적중상태에서 명령어 주소를 메인메모리(3)로 출력하는 명령어주소출력유닛(42), 메인메모리(3)로부터 대응하는 명령어 데이타를 입력받는 명령어 데이타 입력유닛(43), 소정의 조건하에서 명령어 데이타 및 대응하는 사전해독된 정보(후에 설명됨)를 CPU(20)로 출력하는 명령어 데이타 출력유닛(44), 명령어 주소 입력유닛(41)으로부터의 명령어 주소와 비교주소를 비교하여 캐시 적중상태인지 캐시 실패상태인지를 판단하는 주소비교유닛(45) 명령어 데이타 입력유닛(43)으로부터의 명령어 데이타를 사전 해독하는 명령어 사전 해독기(46), 및 사전해독된 정보를 대응하는 명령어 데이타와 함께 저장하고 그리고 주소비교유닛(45)의 판단 결과를 기초로 명령어 데이타 및 사전해독된 정보를 명령어 데이타 출력유닛(44)으로 출력하는 데이타 메모리유닛(47)을 포함하고 있다.
이 구성 따라서, 사전 해독된 정보는 대응하는 명령어 데이타와 함께 데이타 메모리유닛(47)에 저장되어있기 때문에, 캐시 적중상태에서 명령어 데이타와 사전 해독된 정보는 CPU(2)에 동시에 공급될 수 있다. 즉, CPU(2)는 두개의 명령어를 동시에 해독할 수 있다.
그러나, 적재(loading)가 데이타 메모리유닛(47)에의 명령어 데이타의 등록시의 랩어라운드(wraparound)에 의해 모든 데이타 블록단위로 수행되는 문제점이 있다. 즉, 각 데이타블록의 헤드부분이 명령어의 블록인지를 구별하는 것은 불가능하므로, 통상 사전해독된 유효정보를 저장하는 것을 불가능하다. 예컨대 분기처리를 기초로, 데이타 블록의 중간부터 억세스를 시작하는 경우에 이러한 문제가 생긴다. 또한, 사전해독된 정보가 심지어 캐시 적중상태에서도 무효임이 증명되는 경우, 명령어 데이타를 다시 사전 해독해야 한다. 그러나 이것은 상기 장점(두개 명령어의 동시 해독)을 없애므로 적합하지 않다.
제11도에는 본 발명의 제2태양에 따른 캐시메모리의 기본구성이 도시되어 있다. 이 구성에서, 참조번호 10a(또는 10b)는, 외부메모리(예를 들면 메인메모리(30))로부터 획득된 명령어 데이타 A를 처리하고 그리고 처리된 정보를 외부제어유닛(예를 들면, CPU(20)에 공급하는 캐시메모리를 가리킨다. 캐시메모리(10a)는, 명령어 데이타의 해독의 보조장치로서 사전해독정보 B를 발생하기 위한 유닛(14) ; 사전해독정보를 상기 명령어 데이타와 함께 저장하기 위한 메모리유닛(15) ; 캐시 적중상태에서, 상기 메모리유닛으로부터 출력된 사전해독정보를 대응하는 명령어 데이타와 함께 검사하기 위한 유닛(16) ; 검사된 사전해독정보가 무효 또는 틀린 것으로 증명된 경우에, 메모리유닛의 대응하는 사전 해독정보를 을바른 정보로 재기록하기 위한 재기록유닛(17) ; 및 검사된 사전해독정보가 무효 또는 틀린 것으로 증명된 경우에 검사결과가 반영된 제어정보를 외부제어유닛으로 출력하기 위한 제어정보출력유닛(18, 18a또는 18b)을 포함하고 있다. 상기 제어정보출력유닛은 검사된 사전해독정보가 무효 또는 틀린 것으로 증명된 경우에 사전해독정보가 무효라는 것을 CPU(20)에 알리기 위한 유닛(18)에 의해 구성가능하다. 반면에, 제어정보출력유닛은 검사된 사전해독정보가 무효 또는 틀린 것으로 증명된 경우에 다시 사전 해독된 정보를 CPU(20)로 출력하기 위한 유닛(18a)으로 구성가능하고, 또는 검사된 사전해독유닛이 무효 또는 틀린 것으로 증명된 경우에 CPU(20)에 공급될 대응하는 사전해독정보를 올바른 정보로 재기록하기 위한 유닛(18b)으로 구성될 수 있다.
또한, 본 발명의 변형예에서, 캐시메모리(10b)는 캐시적중상태에서 대응하는 명령어 데이타와 함께 메모리유닛(15)으로부터 출력된 사전해독정보를 검사하는 기능 및 사전해독정보B를 발생하는 기능을 갖는 유닛(19)을 포함하고 있다.
본 발명의 제2태양에 따라, 사전해독정보B와 함께 명령어 데이타A는 메모리유닛(15)에 저장되어 있고, 캐시메모리가 캐시 적중상태인 경우에 명령어 데이타 및 대응하는 사전해독정보는 메모리유닛(15)으로부터 판독되어 CPU(20)에 공급된다. 따라서 CPU(20)는 명령어 사전해독에서의 오버헤드없이 사전해독정보를 활용할 수 있으며, 따라서 동시에 복수의 명령어를 해독할 수 있다. 이는 계산 처리의 고속화에 기여한다.
또, 검사유닛(16)은 메모리유닛(15)으로부터 출력된 사전해독정보가 유효한지 무효한지를 검사하고, 사전해독정보가 무효인 것으로 증명된 경우 재기 록유닛(17)은 무효한 사전해독정보를 을바른 정보로 재기록한다. 결과적으로, 다음(제2)명령어 인출 및 그 이후에서의 오보헤드를 제거할 수 있다. 따라서, 적재가 메모리유닛(15)에의 명령어 데이타 등록에서의 랩어라운드에 의해 모든 데이타 블록단위로 실행된다고 하더라도, 통상, 유효한 사전 해독정보를 저장할 수 있다. 환언하면, 사전해독되지 않은 정보가 메모리유닛(15)에 등재되는 경우에 발생될 수 있는 성능 저하를 방지할 수 있다. 이는 CPU(20)의 성능 개선에 기여한다.
더욱이, CPU(20)가 가변길이 명령어를 처리하는 경우에, 가변길이 명령에 대응하는 명령어 길이 정보는 상기 사전해독정보로 대체되어 동일한 방법으로 처리된다.
제12도에는 본 발명의 제2태양에 따른 바람직한 실시예의 구성이 도시되어 있다.
도시된 구성 및 그 동작은 하기 설명되는 다수의 사항을 제외하고는제5도의 것과 본질적으로 동일하며, 따라서 그 설명은 생략한다.
먼저, 본 실시예의 캐시메모리(100a)는 제5도의 캐시메모리(100)에서 사용된 명령어 길이 정보 대신에 사전해독정보를 처리한다. 그러나, CPU(20)는 가변길이 명령어를 처리하는 경우에는, 상기 사전해독명령어는 그 가변길이 명령어에 대응하는 명령어 길이 정보로 대체될 수 있다.
캐시 실패상태일 때, 명령어 사전해독기(121a)는 명령어 데이타 입력유닛(130)으로부터의 명령어 데이타를 사전해독한다. 또, 캐시 적중상태일 때, 명령어 사전해독기(121a)는 입/출력버퍼(125a)로부터의 사전해독정보가 대응하는 명령어 데이타에 대해 올바론 정보인지를 검사하고, 겁사된 결과(사전 해독된 결과)를 출력한다.
데이타 메모리(126a)는 RAM으로 구성되어, 명령어 데이타 입력유닛(120)에서 입력받은 명령어 데이타 및 대응하는 사전 해독정보를 저장한다.
주소비교유닛(118)이 입/출력버퍼(125a)에 캐시 적중상태임을 알려오는 경우, 입/출력버퍼(125a)는 데이타 메모리(126a)로부터 대응하는 명령어 데이타 및 그 사전해독정보를 판독하고 판독한 데이타를 명령어 데이타 출력유닛(124a)에 전송한다. 반면에, 주소비교유닛(118)이 입/출력버퍼(125a)에 캐시 실패상태임을 알려오는 경우, 입/출력버퍼(125a)는 명령어 데이타 입력유닛(120)으로부터 대응하는 명령어 데이타 그리고 명령어 사전해독기 (121a)로부터 그 사전 해독 결과를 입력받고 입력받은 데이타를 데이타 메모리(126a)의 지정주소에 기록한다. 또, 입/출력버퍼(125a)는 명령어 사전해독기(121a)로부터의 재기록 명령어를 기초로 데이터 메모리(126a)의 지정주소에 기록된 사전해독정보를 을바른 정보로 재기록하는 기능을 갖는다.
캐시 실패상태일 때, 명령어 데이타출력유닛(124a)은 명령어 데이타 입력유닛(120)으로부터 대응하는 명령어 데이타 그리고 명령어 사전해독기(121a)로부터 피 사전 해독 결과를 입력받고 입력받은 데이타를 CPU(20)로 전송한다.
또, 캐시 적중상태인 경우, 명령어 데이타 출력유닛(124a)은 입/출력버퍼 (125a)로부터 대응되는 명령어 데이타 및 그 사전해독정보를 입력받고 입력받은 데이타를 CPU(20)로 전송한다.
더욱이, 명령어 사전해독기(121a)로부터의 사전해독결과가 무효를 나타내는 경우, 명령어 데이타 출력유닛(124a)은 사전 해독정보가 무효라는 것을 CPU(20)에 알리고, 입/출력버퍼(125a)에 의해 재기록된 을바른 사전 해독정보를 CPU(20)로 전송한다.
명령어 사전해독기(121a)에 의한 사전해독결과, 즉 정보는 전술한 표에 도시되어 있다.
사전해독결과는 모든 명령어 길이 단위로 생성되어, 대응하는 명령어 데이타와 함께 데이타 메모리(126a)에 저장된다. 또, 사전해독결과는 명령어의 케드를 지시하는 명령어 데이타로 개시하고 상기 명령어의 엔드를 지시하는 명령어 데이타로 종료하는 명령어가 단일의 명령어로서 처리됨을 나타낸다. 1명령어 길이 단위의 명령어의 경우, 명령어의 헤드와 엔드를 지시하는 사전해독정보가 그 명령에 첨부된다. 적재가 랩어라운드에 의해 모든 데이타 블럭 단위로 실행되는 경우에, 즉 명령어 헤드가 식별될 수 없는 경우에, 사전해독되지 않은상태임을 지시하는 사전해독정보가 명령어에 첨부된다.
본 실시예의 캐시메모리(100a)에 따라, 명령어 데이타 입력유닛(120a)으로부터의 명령어데이타와 명령어 사전해독기(121a)로부터의 대응하는 사전해독결과는, 캐시 실패상태에서 입/출력버퍼(125a)를 통해 데이터 메모리 (126a)의 지정주소에 기억된다. 반면에, 캐시 적중상태인 경우, 대응하는 명령어 데이타와 사전해독정보는 데이터 메모리(126a)로부터 판독되어 입/출력 버퍼(125a)와 명령어데이타 출력유닛(124a)을 통해 CPU(20)로 공급된다. 따라서, CPU(20)는 아무런 오버헤드없이 데이타 메모리(126a)로부터 공급된 사전해독정보를 활용할 수 있으며, 따라서 복수의 명령어를 동시에 해독할 수 있다.
또한, 명령어 사전해독기(121a)는 데이타 메모리(126a)로부터 출력된 사전해독정보가 유효한지 무효한지를 검사하고, 그리고 사전해독정보가 무효인 것으로 증명된 경우, 입/출력버퍼(125a)는 명령어 사전해독기(121a) 로부터의 재기록 명령어를 기초로 무효사전해독정보를 을바른 정보로 재기록한다. 걸과적으로, 그 다음(제2)명령어 인출 및 그 이후에서 오버헤드를 제거할 수 있다.
즉, 사전해독을 다시하기위한 시간이 데이타 메모리(126a)로부터의 사전해독정보가 무효인 것으로 증명된 경우에 필요할지라도, 그 시간은 제1명령어 인출에서만이 필요하다. 상기 시간은 캐시 실패상태(즉, 메인메모리 (30)로부터의 명령어 인출)의 경우에 비해 무시할 수 있는 시간이다.
더욱이, 데이타 메모리(126a)에의 명령어 데이타 등록에서의 랩어라운드에 의해 모든 데이타 블록단위로 적재가 실행된다 할지라도, 통상 유효사전해독정보를 기억할 수 있다. 결과적으로, 사전해독이 안된 정보가 데이타 메모리(126a)에 등재되는 경우에 발생할 수 있는 성능저하를 방지할 수 있다. 이것은 CPU(20)의 성능 개선에 기여한다.
본 발명이 개시되어, 두 실시예의 방법으로 설명되어 왔다고는 하지만, 본 발명의 다른 실시예 및 변형이 본 발명의 의의 및 본질적인 형태로부터 변하지 않고 가능하다는 것은, 본 기술에 숙련된 사람들에게 명백하다.

Claims (14)

  1. 메모리로부터의 적어도 하나의 가변길이 명령어를 저장하고 그리고 저장된 정보를 제어수단으로 출력하기위한 캐시메모리에 있어서, 상기 캐시메모리는 상기 메모리로부터의 가변길이 명령어의 명령어 길이를 해독하기 위한 명령어 길이 해독수단; 및 상기 메모리로부터의 가변길이 명령어와 상기 명령어 길이 해독수단으로부터의 대응하는 명령어 길이정보를 저장하고, 가변길이명령어 및 대응하는 명령어 길이정보를 상기 제어수단에 출력하기 위한 명령어 기억수단으로 구성되어 있고, 상기 명령어 기억수단은 상기 메모리로부터 출력되는 가변길이 명령어와 상기 명령어 길이 해독수단으로부터의 대응하는 명령어 길이정보를 저장하기 위한 메모리수단; 및 상기 메모리수단내에 상기 명령어 및 대응하는 명령어 길이정보가 존재함을 지시하는 캐시적중이 발생할때, 상기 메모리수단으로부터 명령어 및 대응하는 명령어 길이정보를 판독하고, 상기 메모리수단으로부터의 상기 명령어와 명령어 길이정보를 상기 제어수단에 전송하며, 그리고 상기 메모리수단내에 상기 명령어 및 대응하는 명령어 길이정보가 존재하지 않음을 지시하는 캐시실패가 발생할 때, 상기 메모리로부터 출력되는 명령어와 상기 명령어 길이 해독수단으로부터의 대응하는 명령어 길이정보를 입력받고, 입력받은 상기 명령어 및 대응하는 명령어 길이정보를 상기 메모리 수단에 기록하기 위한 수단으로 구성되어 있는 것을 특징으로하는 캐시메모리.
  2. 제1항에 있어서, 상기 명령어 및 대응하는 명령어 길이정보가 상기 메모리수단에 저장된 후, 캐시실패가 발생할 때 상기 메모리로부터 출력된 명령어와 상기 명령어 길이 해독수단으로부터의 대응하는 명령어 길이정보를 입력받고, 입력받은 상기 메모리수단에 저장되어 있는 명령어 및 대응하는 명령어 길이정보를 상기 제어수단에 전달하기 위한 수단을 더 포함하고 있는 것을 특징으로 하는 캐시메모리.
  3. 제1항에 있어서, 상기 메모리는 데이타 블록으로 분할되어 있고, 상기 명령어 길이해독수단은 헤드를 가지고 있는, 상기 메모리로부터 출력된 가변길이명령어 데이타를 래치하기 위한 수단; 모든 데이타 블록에 대한 상기 가변길이 명령에 데이타로부터의 명령어 형식 및 유효주소를 해독하고 해독결과를 제공하기 위한수단; 모든 데이타 블록에 대한 해독 걸과를 기초로 명령어 길이를 결정하기 위한 명령어 길이결정수단; 결정된 명령어 길이를 기초로, 래치된 가변 길이 명령어 데이타에 대한 명령어 길이 정보를 발생하고, 그리고 데이타 블록중 어느 블록이 상기 가변길이 명령어의 헤드에 있는지를 지시하는 제어신호를 발생하기 위한 수단; 및 상기 제어신호에 응답하여, 상기 명령어 길이 결정수단의 동작을 제어하기 위한 수단으로 구성되어 있는것을 특징으로 하는 캐시메모리.
  4. 제3항에 있어서, 캐시메모리가 캐시적중상태인지 캐시실패상태인지를 판단하기 위한 캐시 적중/실패 판단수단을 더 포함하고 있는 것을 특징으로 하는 캐시메모리.
  5. 제4항에 있어서, 캐시 적중/실패판단수단은, 비교주소를 보유하기 위한 수단, 및 상기 제어수단으로부터 공급된 명령어주소와 상기 비교주소를 비교하여 캐시메모리가 캐시적중상태인지 캐시실패상태인지를 판단하는 수단으로 구성되어 있는 것을 특징으로 하는 캐시메모리.
  6. 메인메모리에 접속되어 있는 데이타 프로세서에 있어서, 상기 데이타 프로세서는 가변길이 명령어를 인출하기 위해 명령어 주소를 출력하기 위한 처리수단 및 상기 처리수단과 상기 메인메모리 사이에 접속된 캐시메모리로 구성되어 있고, 상기 캐시메모리는 상기 메인메모리로부터의 가변길이 명령어의 대응하는 명령어 길이를 해독하기 위한 명령어 길이 해독수단; 및 상기 메인메모리로부터의 상기 가변길이 명령어와 상기 명령어 길이 해독수단으로부터의 대응하는 명령어 길이정보를 저장하고, 상기 가변길이 명령어 및 대응하는 명령어 길이정보를 상기 처리수단으로 출력하기 위한 명령어 기억수단을 포함하고 있으며, 상기 처리수단은, 각각 기본부 및 확장부를 가지고 있는 복수의 세트로 구성된 명령어 코드열을 저장하기 위한 코드기억수단; 상기 명령어 코드열의 데이타가 기본부인지를 판단하고, 기본부이면 그 기본부에 대한 제어표시를 첨부하기 위한 수단; 상기 제어표시를 저장하기 위한 표시기억수단; 상기 코드기억수단으로부터 선택적으로 출력될 명령어 코드열의 헤드위치를 지정하기 위한 헤드위치 지시수단; 상기 헤드위치 지시수단 및 표시기억수단의 출력에 응답하여, 명령어 코드열의 출력위치를 지정하기 위한 출력위치지시수단; 상기 출력위치 지시수단 및 표시기억수단의 출력에 응답하여, 상기 코드기억수단으로부터의 명령어 코드열을 선택적으로 출력하기 위한 선택적 출력수단; 상기 선택적 출력수단으로부터 출력된 명령어 코드를 해독하기 위한 명령어 코드해독수단; 상기 선택적 출력수단으로부터 출력된 명령어 코드열을 저장하기 위한 레지스터수단; 상기 명령어코드 해독수단 및 레지스터수단의 출력에 응답하여, 명령어의 즉시 주소값과 명령어의 변위주소값중 어느 하나를 발생하기 위한 발생수단; 및 상기 발생수단의 출력을 기초로 명령어를 실행하기 위한 수단으로 구성되어 있는 것을 특징으로 하는 데이타프로세서.
  7. 제5항에 있어서, 상기 명령어 기억수단은 상기 메모리로부터 공급된 명령어 및 명령어 길이 해독수단에 의해 얻어진 대응하는 명령어 길이정보를 저장하기 위한 메모리수단; 및 캐시적중상태에서, 상기 메모리수단으로부터 대응하는 명령어 및 그 명령어 길이정보를 판독하고 판독된 데이타를 상기 제어수단에 전달하고, 그리고 캐시실패상태에서, 상기 메모리로부터 대응하는 명령어를, 상기 명령어 길이 해독수단으로부터 그 명령어 길이정보를 입력받고 입력받은 데이타를 상기 메모리수단에 기록하기 위한 수단으로 구성되어 있는 것을 특징으로 하는 데이타프로세서.
  8. 제7항에 있어서, 캐시실패상태에서, 상기 메모리로부터 대응하는 명령어를 명령어 길이 해독수단으로부터 그 명령어 길이 정보를 입력받고, 입력받은 데이타를 상기 제어수단에 전달하는 수단을 더 포함하고 있는것을 특징으로 하는 데이타프로세서.
  9. 제7항에 있어서, 상기 메모리는 데이타 블록으로 분할되어 있고, 상기 명령어 길이 해독수단은 헤드를 가지고 있는, 상기 메모리로부터 출력된 가변길이 명령어 데이타를 래치하기 위한 수단; 모든 데이타 블록에 대한 가변길이 명령어 데이타로부터의 명령어 형식과 유효주소를 해독하기 위한 수단; 모든 데이타 블록에 대한 해독결과를 기초로 명령어 길이를 결정하기 위한 수단; 결정된 명령어 길이를 기초로, 래치된 가변길이 명령어 데이타에 대한 명령어 길이 정보를 발생하고, 데이타 블록중 어느 블록이 상기 가변길이 명령어의 헤드에 있는지를 지시하는 제어신호를 발생하는 수단; 및 상기 제어신호에 응답하여, 상기 명령어 길이 결정수단의 동작을 제어하기 위한 수단으로 구성되어 있는 것을 특징으로 하는 데이타프로세서.
  10. 메인메모리에 접속되어 있는 데이타 프로세서에 있어서, 상기 데이타 프로세서는 가변길이 명령어를 인출하기 위해 명령어 주소를 출력하기 위한 처리수단; 및 상기 처리수단과 상기 메인메모리 사이에 접속된 캐시메모리로 구성되어 있고, 상기 캐시메모리는 상기 메인메모리로부터의 가변길이 명령어의 대응하는 명령어 길이를 해독하기 위한 명령어 길이 해독수단; 및 상기 메인메모리로부터의 상기 가변길이 명령어와 상기 명령어 길이 해독수단으로부터의 대응하는 명령어 길이정보를 저장하고, 상기 가변길이 명령어 및 대응하는 명령어 길이정보를 상기 처리수단으로 출력하기 위한 명령어 기억수단을 포함하고 있고, 상기 처리수단은 각각 기본부 및 확장부를 가지고 있는 복수의 세트로 구성된 명령어 코드열을 저장하기 위한 코드기억수단; 명령어 코드열의 데이타가 기본부인지를 판단하고 그 기본부에 제어표시를 첨부하기 위한 수단; 상기 제어표시를 저장하기 위한 표시기억수단; 상기 코드기억수단으로부터 선택적으로 출력될 명령어 로드열의 헤드위치를 두판독포트에 의하며 지정하기 위한 헤드위치지시수단; 상기 헤드위치 지시수단 및 표시기억수단의 출력에 응답하여, 명령어 코드열의 출력위치를 지정하기 위한 출력위치지시수단; 상기 출력위치지시수단의 출력과 상기 표시기억수단의 출력에 응답하여, 상기 코드기억수단으로부터의 명령어 코드열의 각각의 할당된 부분을 선택적으로 각각 출력하기 위한 한쌍의 출력선택유닛; 대응하는 출력선택유닛으로부터 출력된 명령어 로드를 각각 해독하기 위한 한쌍의 해독유닛; 대응하는 출력선택유닛으로부터 출력된 명령어 코드를 각각 저장하기 위한 한쌍의 레지스터유닛; 및 대응하는 해독유닛 및 대응하는 레지스터 유닛의 출력을 기초로 각각의 명령어를 각각 실행하기 위한 한쌍의 명령어 실행유닛으로 구성되는 것을 특징으로 하는 데이터프로세서
  11. 제10항에 있어서, 명령어 기억수단은 상기 메모리로부터 공급된 명령어 및 상기 명령어 길이 해독수단에 의해 얻어진 대응하는 명령어 길이정보를 저장하기 위한 메모리수단; 및 캐시적중상태에서, 상기 메모리수단으로부터 대응하는 명령어 및 그 명령어 길이정보를 판독하고 판독된 데이타를 제어수단에 전달하고, 그리고 캐시실패상태에서, 상기 메모리로부터 대응하는 명령어를, 명령어 길이 해독수단으로부터 그 명령어 길이 정보를 입력받고, 입력받은 데이타를 상기 메모리수단에 기록하기 위한 수단으로 구성되어 있는 것을 특징으로하는 데이타프로세서.
  12. 제11항에 있어서, 캐시실패 상태에서 상기 메모리로부터 대응하는 명령어를, 상기 명령어 길이 해독수단으로부터 그 명령어 길이 정보를 입력받고, 입력받은 데이타를 상기 제어수단에 전달하는 수단을 더 포함하고있는 것을 특징으로 하는 데이타프로세서.
  13. 제11항에 있어서, 상기 메모리는 데이타 블록으로 분할되어 있고, 상기 명령어 길이 해독수단은 헤드를 가지고 있는, 상기 메모리로부터 출력된 가변길이 명령어 데이타를 래치하기 위한 수단; 모든 데이타 블록에 대한 가변길이 명령어 데이타로부터의 명령어 형식과 유효 주소를 해독하고 해독결과를 제공하는 수단; 해독결과를 기초로 명령어 길이를 결정하기 위한 명령어 길이결정수단; 결정된 명령어 길이를 기초로, 래치된 가변길이 명령어 데이타에 대한 명령어 길이 정보를 발생하고, 복수의 데이타 블록중 어느 블록이 가변길이 명령어의 헤드에 있는지를 지시하는 제어신호를 발생하는 수단; 및 상기 제어신호에 응답하여, 상기 명령어 길이 결정수단의 동작을 제어하기 위한 수단으로 구성되어 있는 것을 특징으로 하는 데이타프로세서.
  14. 데이타 처리시스템에 있어서, 메인메모리, 가변길이 명령어의 명령어 주소를 출력하기 위한 프로세서; 및 상기 메인메모리와 상기 프로세서 사이에 접속된 캐시메모리로 구성되어 있고, 상기 캐시메모리는 상기 메인메모리와 상기 프로세서에 연결되어, 가변길이 명령어를 저장하기 위한 명령어 메모리; 상기 프로세서에 연결되어, 상기 가변길이 명령어의 명령어 길이에 대응하는 정보를 저장하기 위한 명령어 길이메모리; 상기 메인메모리, 상기 명령어 길이메모리 및 상기 프로세서에 연결되어, 상기 메인메모리로부터의 가변길이 명령어의 명령어길이에 대응하는 정보를 해독하기 위한 명령어 길이 해독기; 상기 명령어 메모리, 상기 메인메모리 및 상기 프로세서에 연결되어, 상기 명령어 주소에 응답한 캐시적중상태에서 상기 명령어 메모리 및 상기 명령어 길이 메모리로 하여금 가변길이 명령어 및 이 가변길이 명령어의 대응하는 명령어 길이를 상기 프로세서로 출력하게 하고, 그리고 상기 명령어 주소에 응답한 캐시실패상태에서 상기 메인메모리 및상기 명령어 해독기로 하여금 가변길이 명령어 및 이 가변길이 명령어의 대응하는 명령어 길이를 상기 프로세서로 출력하게 하는 캐시적중 검출회로로 구성되어 있는 것을 특징으로 하는 데이타 처리시스템.
KR1019920001755A 1991-02-08 1992-02-07 데이타 처리 캐시메모리 및 이를 장착한 데이타 프로세서 KR960011279B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP91-016716 1991-02-08
JP3016716A JPH04255995A (ja) 1991-02-08 1991-02-08 命令キャッシュ
JP3019849A JPH04257948A (ja) 1991-02-13 1991-02-13 キャッシュメモリ、該キャッシュメモリを備えたシステムおよび該システムにおける命令デコード方式
JP91-019849 1991-02-13

Publications (2)

Publication Number Publication Date
KR920016941A KR920016941A (ko) 1992-09-25
KR960011279B1 true KR960011279B1 (ko) 1996-08-21

Family

ID=26353112

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920001755A KR960011279B1 (ko) 1991-02-08 1992-02-07 데이타 처리 캐시메모리 및 이를 장착한 데이타 프로세서

Country Status (4)

Country Link
US (1) US5488710A (ko)
EP (1) EP0498654B1 (ko)
KR (1) KR960011279B1 (ko)
DE (1) DE69231011T2 (ko)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69434971T2 (de) * 1993-05-27 2008-01-17 Matsushita Electric Industrial Co., Ltd., Kadoma Programmumsetzungseinheit
US5689672A (en) * 1993-10-29 1997-11-18 Advanced Micro Devices, Inc. Pre-decoded instruction cache and method therefor particularly suitable for variable byte-length instructions
EP0651324B1 (en) * 1993-10-29 2006-03-22 Advanced Micro Devices, Inc. Speculative instruction queue for variable byte length instructions
DE69429061T2 (de) * 1993-10-29 2002-07-18 Advanced Micro Devices Inc Superskalarmikroprozessoren
US5630082A (en) * 1993-10-29 1997-05-13 Advanced Micro Devices, Inc. Apparatus and method for instruction queue scanning
US5903772A (en) * 1993-10-29 1999-05-11 Advanced Micro Devices, Inc. Plural operand buses of intermediate widths coupling to narrower width integer and wider width floating point superscalar processing core
DE69427265T2 (de) * 1993-10-29 2002-05-02 Advanced Micro Devices Inc Superskalarbefehlsdekoder
US5600806A (en) * 1994-03-01 1997-02-04 Intel Corporation Method and apparatus for aligning an instruction boundary in variable length macroinstructions with an instruction buffer
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
US5640526A (en) * 1994-12-21 1997-06-17 International Business Machines Corporation Superscaler instruction pipeline having boundary indentification logic for variable length instructions
US6006324A (en) 1995-01-25 1999-12-21 Advanced Micro Devices, Inc. High performance superscalar alignment unit
US5819057A (en) * 1995-01-25 1998-10-06 Advanced Micro Devices, Inc. Superscalar microprocessor including an instruction alignment unit with limited dispatch to decode units
US5619408A (en) * 1995-02-10 1997-04-08 International Business Machines Corporation Method and system for recoding noneffective instructions within a data processing system
US5737550A (en) * 1995-03-28 1998-04-07 Advanced Micro Devices, Inc. Cache memory to processor bus interface and method thereof
US5991869A (en) * 1995-04-12 1999-11-23 Advanced Micro Devices, Inc. Superscalar microprocessor including a high speed instruction alignment unit
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
JP2931890B2 (ja) * 1995-07-12 1999-08-09 三菱電機株式会社 データ処理装置
US5781789A (en) * 1995-08-31 1998-07-14 Advanced Micro Devices, Inc. Superscaler microprocessor employing a parallel mask decoder
US5794063A (en) * 1996-01-26 1998-08-11 Advanced Micro Devices, Inc. Instruction decoder including emulation using indirect specifiers
US5819056A (en) * 1995-10-06 1998-10-06 Advanced Micro Devices, Inc. Instruction buffer organization method and system
US5920713A (en) * 1995-10-06 1999-07-06 Advanced Micro Devices, Inc. Instruction decoder including two-way emulation code branching
US5809273A (en) * 1996-01-26 1998-09-15 Advanced Micro Devices, Inc. Instruction predecode and multiple instruction decode
US5926642A (en) * 1995-10-06 1999-07-20 Advanced Micro Devices, Inc. RISC86 instruction set
US6093213A (en) * 1995-10-06 2000-07-25 Advanced Micro Devices, Inc. Flexible implementation of a system management mode (SMM) in a processor
EP0853779B1 (en) * 1995-10-06 2003-08-13 Advanced Micro Devices, Inc. Instruction predecode and multiple instruction decode
US5872947A (en) * 1995-10-24 1999-02-16 Advanced Micro Devices, Inc. Instruction classification circuit configured to classify instructions into a plurality of instruction types prior to decoding said instructions
US5796974A (en) * 1995-11-07 1998-08-18 Advanced Micro Devices, Inc. Microcode patching apparatus and method
EP0896700A1 (en) * 1996-05-01 1999-02-17 Advanced Micro Devices, Inc. Superscalar microprocessor including a high performance instruction alignment unit
EP0912924A1 (en) * 1996-07-16 1999-05-06 Advanced Micro Devices, Inc. A superscalar microprocesser including a high speed instruction alignment unit
EP0912923A1 (en) * 1996-07-16 1999-05-06 Advanced Micro Devices, Inc. Method and apparatus for predecoding variable byte-length instructions within a superscalar microprocessor
US6049863A (en) * 1996-07-24 2000-04-11 Advanced Micro Devices, Inc. Predecoding technique for indicating locations of opcode bytes in variable byte-length instructions within a superscalar microprocessor
US5867680A (en) * 1996-07-24 1999-02-02 Advanced Micro Devices, Inc. Microprocessor configured to simultaneously dispatch microcode and directly-decoded instructions
US5872943A (en) * 1996-07-26 1999-02-16 Advanced Micro Devices, Inc. Apparatus for aligning instructions using predecoded shift amounts
US5941980A (en) * 1996-08-05 1999-08-24 Industrial Technology Research Institute Apparatus and method for parallel decoding of variable-length instructions in a superscalar pipelined data processing system
US5870576A (en) * 1996-12-16 1999-02-09 Hewlett-Packard Company Method and apparatus for storing and expanding variable-length program instructions upon detection of a miss condition within an instruction cache containing pointers to compressed instructions for wide instruction word processor architectures
US5987235A (en) * 1997-04-04 1999-11-16 Advanced Micro Devices, Inc. Method and apparatus for predecoding variable byte length instructions for fast scanning of instructions
US5872946A (en) * 1997-06-11 1999-02-16 Advanced Micro Devices, Inc. Instruction alignment unit employing dual instruction queues for high frequency instruction dispatch
US6167506A (en) 1997-11-17 2000-12-26 Advanced Micro Devices, Inc. Replacing displacement in control transfer instruction with encoding indicative of target address, including offset and target cache line location
US6134649A (en) * 1997-11-17 2000-10-17 Advanced Micro Devices, Inc. Control transfer indication in predecode which identifies control transfer instruction and an alternate feature of an instruction
US6041405A (en) * 1997-12-18 2000-03-21 Advanced Micro Devices, Inc. Instruction length prediction using an instruction length pattern detector
US6125441A (en) * 1997-12-18 2000-09-26 Advanced Micro Devices, Inc. Predicting a sequence of variable instruction lengths from previously identified length pattern indexed by an instruction fetch address
US5931944A (en) * 1997-12-23 1999-08-03 Intel Corporation Branch instruction handling in a self-timed marking system
US5941982A (en) * 1997-12-23 1999-08-24 Intel Corporation Efficient self-timed marking of lengthy variable length instructions
US6324639B1 (en) * 1998-03-30 2001-11-27 Matsushita Electric Industrial Co., Ltd. Instruction converting apparatus using parallel execution code
US6061786A (en) * 1998-04-23 2000-05-09 Advanced Micro Devices, Inc. Processor configured to select a next fetch address by partially decoding a byte of a control transfer instruction
US6141745A (en) * 1998-04-30 2000-10-31 Advanced Micro Devices, Inc. Functional bit identifying a prefix byte via a particular state regardless of type of instruction
US6175908B1 (en) 1998-04-30 2001-01-16 Advanced Micro Devices, Inc. Variable byte-length instructions using state of function bit of second byte of plurality of instructions bytes as indicative of whether first byte is a prefix byte
US6292845B1 (en) 1998-08-26 2001-09-18 Infineon Technologies North America Corp. Processing unit having independent execution units for parallel execution of instructions of different category with instructions having specific bits indicating instruction size and category respectively
US6253287B1 (en) * 1998-09-09 2001-06-26 Advanced Micro Devices, Inc. Using three-dimensional storage to make variable-length instructions appear uniform in two dimensions
US6460116B1 (en) * 1998-09-21 2002-10-01 Advanced Micro Devices, Inc. Using separate caches for variable and generated fixed-length instructions
US6546478B1 (en) 1999-10-14 2003-04-08 Advanced Micro Devices, Inc. Line predictor entry with location pointers and control information for corresponding instructions in a cache line
US6636959B1 (en) 1999-10-14 2003-10-21 Advanced Micro Devices, Inc. Predictor miss decoder updating line predictor storing instruction fetch address and alignment information upon instruction decode termination condition
US6647490B2 (en) 1999-10-14 2003-11-11 Advanced Micro Devices, Inc. Training line predictor for branch targets
US6438664B1 (en) 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
US6738792B1 (en) 2001-03-09 2004-05-18 Advanced Micro Devices, Inc. Parallel mask generator
JP4542722B2 (ja) * 2001-04-25 2010-09-15 富士通株式会社 命令処理方法
DE10120522A1 (de) * 2001-04-26 2002-11-07 Infineon Technologies Ag Verfahren zum Erkennen einer korrekten Befehls-Einsprung-Adresse bei Verwendung unterschiedlich langer Befehlsworte
US7493470B1 (en) 2001-12-07 2009-02-17 Arc International, Plc Processor apparatus and methods optimized for control applications
US7278137B1 (en) * 2001-12-26 2007-10-02 Arc International Methods and apparatus for compiling instructions for a data processor
US7568070B2 (en) * 2005-07-29 2009-07-28 Qualcomm Incorporated Instruction cache having fixed number of variable length instructions
JP2007122626A (ja) * 2005-10-31 2007-05-17 Matsushita Electric Ind Co Ltd マイクロプロセッサ
US8898437B2 (en) * 2007-11-02 2014-11-25 Qualcomm Incorporated Predecode repair cache for instructions that cross an instruction cache line
CN101833437B (zh) * 2009-05-19 2013-06-26 威盛电子股份有限公司 适用于微处理器的装置及方法
US8589661B2 (en) * 2010-12-07 2013-11-19 Advanced Micro Devices, Inc. Odd and even start bit vectors
KR102277094B1 (ko) * 2019-10-28 2021-07-15 이화여자대학교 산학협력단 버퍼 캐시 관리 방법 및 상기 버퍼 캐시 관리 방법이 적용된 컴퓨팅 장치
US11204768B2 (en) 2019-11-06 2021-12-21 Onnivation Llc Instruction length based parallel instruction demarcator
US20220100516A1 (en) * 2020-09-26 2022-03-31 Intel Corporation Circuitry and methods for power efficient generation of length markers for a variable length instruction set

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL255604A (ko) * 1959-09-08
US4437149A (en) * 1980-11-17 1984-03-13 International Business Machines Corporation Cache memory architecture with decoding
US4530050A (en) * 1981-08-26 1985-07-16 Hitachi, Ltd. Central processing unit for executing instructions of variable length having end information for operand specifiers
US4654781A (en) * 1981-10-02 1987-03-31 Raytheon Company Byte addressable memory for variable length instructions and data
US4689765A (en) * 1983-01-28 1987-08-25 Digital Equipment Corporation Groups of tag signals for data store in multi-plane set of buffers
US4873629A (en) * 1984-06-20 1989-10-10 Convex Computer Corporation Instruction processing unit for computer
US5202967A (en) * 1988-08-09 1993-04-13 Matsushita Electric Industrial Co., Ltd. Data processing apparatus for performing parallel decoding and parallel execution of a variable word length instruction
US5101341A (en) * 1988-08-25 1992-03-31 Edgcore Technology, Inc. Pipelined system for reducing instruction access time by accumulating predecoded instruction bits a FIFO
US5051885A (en) * 1988-10-07 1991-09-24 Hewlett-Packard Company Data processing system for concurrent dispatch of instructions to multiple functional units
JPH02103627A (ja) * 1988-10-12 1990-04-16 Nec Corp マイクロプログラム変換装置
EP0461257B1 (en) * 1989-01-17 1997-04-23 Fujitsu Limited Microprocessor sequencer for controlling the decoding of varable length instructions
US5293592A (en) * 1989-04-07 1994-03-08 Intel Corporatino Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline
US5233696A (en) * 1989-08-28 1993-08-03 Nec Corporation Microprocessor having precoder unit and main decoder unit operating in pipeline processing manner
US5295249A (en) * 1990-05-04 1994-03-15 International Business Machines Corporation Compounding preprocessor for cache for identifying multiple instructions which may be executed in parallel

Also Published As

Publication number Publication date
EP0498654B1 (en) 2000-05-10
EP0498654A2 (en) 1992-08-12
DE69231011D1 (de) 2000-06-15
EP0498654A3 (ko) 1994-01-05
KR920016941A (ko) 1992-09-25
DE69231011T2 (de) 2000-09-28
US5488710A (en) 1996-01-30

Similar Documents

Publication Publication Date Title
KR960011279B1 (ko) 데이타 처리 캐시메모리 및 이를 장착한 데이타 프로세서
US5371864A (en) Apparatus for concurrent multiple instruction decode in variable length instruction set computer
US5819058A (en) Instruction compression and decompression system and method for a processor
US5974533A (en) Data processor
JP2836321B2 (ja) データ処理装置
EP1186995B1 (en) Instruction memory with associative cross-bar switch
EP0125855B1 (en) Buffer-storage control system
JP3729545B2 (ja) キャッシュメモリへのアクセス
US6684319B1 (en) System for efficient operation of a very long instruction word digital signal processor
KR930011686B1 (ko) 짧은 명령실행시간과 작은 점유면적을 갖는 가변 워드길이 명령시스템용 데이타 처리장치
US5206945A (en) Single-chip pipeline processor for fetching/flushing instruction/data caches in response to first/second hit/mishit signal respectively detected in corresponding to their logical addresses
EP0030463B1 (en) Buffer memory control system
JPH02242334A (ja) マイクロプログラムされるコンピュータ装置及びマイクロコードシーケンスメモリをアドレツシングする方法
US4337510A (en) Read control system for a control storage device
KR920002573B1 (ko) 데이타 처리기
US20030126397A1 (en) Configurable addressing apparatus
KR100284784B1 (ko) 메모리 데이터 처리 시스템 및 방법과 이건 시스템을 구비하는 통신 시스템
JP2656765B2 (ja) データ処理装置
JP2685727B2 (ja) データ処理装置
JPH09114733A (ja) キャッシュ記憶装置における非整列データ転送機構
KR0172303B1 (ko) 명령어 정렬기
US6260112B1 (en) Register memory linking
JPH05334186A (ja) データ処理装置
JPH0290324A (ja) マイクロプログラム制御装置
KR19990061575A (ko) 중앙 처리 유니트의 명령어 길이 축소방법 및 그장치

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J2X1 Appeal (before the patent court)

Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL

G160 Decision to publish patent application
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080808

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee