KR0137096B1 - 마이크로프로세서 - Google Patents

마이크로프로세서

Info

Publication number
KR0137096B1
KR0137096B1 KR1019940026322A KR19940026322A KR0137096B1 KR 0137096 B1 KR0137096 B1 KR 0137096B1 KR 1019940026322 A KR1019940026322 A KR 1019940026322A KR 19940026322 A KR19940026322 A KR 19940026322A KR 0137096 B1 KR0137096 B1 KR 0137096B1
Authority
KR
South Korea
Prior art keywords
bank
microprocessor
designation register
size designation
register
Prior art date
Application number
KR1019940026322A
Other languages
English (en)
Other versions
KR950012207A (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 KR950012207A publication Critical patent/KR950012207A/ko
Application granted granted Critical
Publication of KR0137096B1 publication Critical patent/KR0137096B1/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/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/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

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)
  • Memory System (AREA)
  • Advance Control (AREA)

Abstract

본 발명은 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 저감한 마이크로프로세서를 제공하는 것을 목적으로 한다.
레지스터 뱅크 RF1∼RF4와, 레지스터 뱅크의 내용의 퇴피 영역의 위치 정보, 도는 복귀 영역의 위치 정보를 보유하는 커런트 뱅크 포인터 CBP와, 퇴피/복귀의 뱅크 사이즈를 지정하는 뱅크 사이즈 지정 레지스터 BS로 구성하고, 소정 명령의 데스티네이션 오퍼랜드로서 커런트 뱅크 포인터가 지정될 때, 커런트 뱅크 포인터의 이 시점에서의 내용 cbp에 기초하여 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈분을 내장 RAM으로 퇴피하고, 상기 명령에 기초하여 커런트 뱅크 포인터의 내용을 재기록하고, 재기록 후의 커런트 뱅크 포인터의 내용 cbp'에 기초하여 내장 RAM으로부터 상기 뱅크 사이즈분의 정보를 뱅크 레지스터로 복귀하는 것이다.

Description

마이크로프로세서
제1도는 본 발명의 제1실시에에 따른 마이크로프로세서의 개념 구성도.
제2도는 제1실시예에서의 뱅크 제어 유니트 BCU1의 구성도.
제3도는 제1실시예의 동작을 설명하는 타이밍 챠트.
제4도는 본 발명의 제2실시예에 따른 마이크로프로세서의 개념 구성도.
제5도는 제2 및 제3실시예에서의 뱅크 제어 유니트 BCU2 및 BCU3의 구성도.
제6도는 제2실시예의 동작을 설명하는 타이밍 챠트.
제7도는 본 발명의 제3실시예에 따른 마이크로프로세서의 개념 구성도.
제8도는 제3실시예의 동작을 설명하는 타이밍 챠트.
제9도는 본 발명의 제4실시예에 따른 마이크로프로세서의 개념 구성도.
제10도는 제4실시예에서의 뱅크 제어 유니트 BCU4의 구성도.
제11도는 제4실시예의 동작을 설명하는 타이밍 챠트.
제12도는 본 발명의 제5실시예에 따른 마이크로프로세서의 개념 구성도.
제13도는 제5실시예에서의 뱅크 제어 유니트 BCU5의 구성도.
제14도는 제5실시예의 동작을 설명하는 타이밍 챠트.
제15도는 종래의 단일 칩의 마이크로프로세서의 구성도.
제16도는 제15도의 단일 칩 마이크로프로세서 상에 탑재되는 CPU코아의 구성도.
제17도는 종래의 마이크로프로세서의 개념 구성도.
제18도는 종래예에서의 뱅크 제어 유니트 BCU의 구성도.
제19도는 종래예의 동작을 설명하는 타이밍 챠트.
* 도면의 주요부분에 대한 부호의 설명
RO∼R15,GR : 범용 레지스터RF1∼FR4 : (레지스터) 뱅크
BCU,BCU1∼BCU5 : 뱅크 제어 유니트CBP : 커런트 뱅크 포인터
BS : 뱅크 사이즈 지정 레지스터BS1 : 제1 뱅크 사이즈 지정 레지스터
BS2 : 제2 뱅크 사이즈 지정 레지스터RAG : 레지스터 어드레스 생성부
ADD : 가산기DEC : 디코더
CBPC : 뱅크 전환 신호(커런트 뱅크 포인터 축적 제어 신호)
CBPW : CBP 기록 신호R/W : 판독/기록 신호
REGA : 범용 레지스터의 어드레스RAMA : 내장 RAM 어드레스
RAMR/W : 내장 RAM 판독/기록 신호STOP : 뱅크 스톱 신호
bs,bs1,bs2 : 뱅크 사이즈IBUS : 내부 버스
IBUS1 : 제 1내부 버스IBUS2 : 제 2내부 버스
cbp,cbp' : 커런트 뱅크 포인터의 값PCBP : 프리커런트 뱅크 포인터 래치
CBPEN : CBP 재기록 인에이블 신호BSEN : BS 재기록 인에이블 신호
A,REGCS : 범용 레지스터 억세스 요구BK1∼BK4 : 재기록 플래그
BF1∼BF4 : 복귀 완료 플래그BST : 버스 개시 신호
BR1∼BR4 : 참조 플래그100 : 마이크로프로세서
101 : CPU 코아103 : 내장 RAM
105 : 내장 ROM107 : 버스 콘트롤러
109 : 인터럽트 콘트롤러111 : 타이머
113 : 시리얼 I/OSYSBUS : 시스템 버스
RF1∼RF8 : 뱅크(레지스터 파일)IDBUS1∼IDBUS3 : 내부 데이타 버스
121 : (명령) 디코더 등123 : 콘트롤러
125 : ALU(논리 연산 유니트) 등
본 발명은 내장 RAM과 범용 레지스터를 고속 버스로 결합하여 뱅크 포인터에서 표시되는 내장 RAM의 내용과 범용 레지스터의 내용을 일치시키도록 구성한 레지스터 뱅크를 구비한 마이크로프로세서에 관한 것으로, 특히 뱅크 전환에 따른 후속 명령의 명령 실행 대기 시간을 단축시킨 마이크로프로세서에 관한 것이다.
범용 레지스터와 내장 RAM을 고속 버스로 결합하여 뱅크 포인터로 표시되는 내장 RAM 의 내용과 범용 레지스터의 내용을 일치시키도록 구성한 레지스터 뱅크 구조를 구비하는 마이크로프로세서에 있어서, 통상의 연산 명령의 데스티네이션(destination)을 커런트 뱅크 포인터 CBP에 의해 지정함으로써, 뱅크의 퇴피/복귀를 행하여 타스크 체인지를 행하는 경우에는 자동적으로 고속 버스를 통한 범용 레지스터 내의 데이타의 퇴피/복귀가 행해진다.
종래의 단일 칩 마이크로프로세서의 구성도를 제15도에, 또 이 단일 칩 마이크로프로세서 상에 탑재되는 CPU 코어의 구성도를 제16도에 각각 도시한다.
제15도에 도시하는 바와 같이, 마이크로프로세서(100)는 하나의 칩 내에, CPU 코어(101), 내장 RAM(103), 내장 ROM(105), 버스 콘트롤러(107), 인터럽트 콘트롤러(109), 타이머(111) 및 시리얼 I/O(113)등을 탑재하여 구성되어 있다. 이들 블럭은 칩 내의 시스템 버스 SYSBUS(어드레스 버스 ABUS 및 데이타 버스 DBUS를 포함한다)를 통해 데이타의 교환을 행한다. 또, 칩 외부와의 데이타의 교환은 버스 콘트롤러(107)를 통해 I/O 패드로 행해진다.
또, 제16도에 도시하는 바와 같이 종래 기술에서는 레지스터 뱅크를 구성하는 복수조의 뱅크 RF1∼FR8을 CPU 코아(101) 내부에 갖고 있다. 그리고, 이들 뱅크 RF1∼FR8은 CPU 코아(101) 내부의 복수의 내부 데이타 버스 IDBUS1∼IDBUS3에 접속되어 이 내부 데이타 버스 IDBUS1∼IDBUS3을 통해 ALU(논리 연산 유니트)등(125)에 데이타가 전송되어 연산이 행해진다.
또, 제17도는 종래 기술의 레지스터 뱅크의 개념 구성도이고, 제18도는 종래 기술의 뱅크 제어 유니트의 구성도이며, 제19도는 종래 기술의 뱅크 전환 동작을 설명하는 타이밍 챠트이다.
명령 디코더(121)는 버스 인터페이스 유니트(도시하지 않음)로부터 공급된 명령워드를 디코드하여 마이크로코드를 독출해서 각 블럭을 제어하는 제어 신호를 생성한다. 데스티네이션 오퍼랜드의 정보를 제공하는 마이크로 코드가 커런트 뱅크 포인터 CBP를 표시할 때, 커런트 뱅크 포이터 축적 제어 신호 CBPC가 인에이블로 된다. 이 축적 제어 신호 CBPC를 수신한 뱅크 제어 유니트 BCU는 뱅크 제어 중인 것을 각 블럭에 알리기 위해 뱅크 스톱 신호 STOP를 출력하고, 이 스톱 신호 STOP를 수신한 각 블럭에서는 다음의 명령 처리를 행하지 않도록 한다.
예를 들면, 제17도에 도시하는 바와 같이, 16비트 레지스터 x 16개 구성의 범용 레지스터 GR(R0∼R15)에서는 범용 레지스터 4개의 1뱅크로 할 때, 범용 레지스터 R0∼R3(제1뱅크 RF1), 범용 레지스터 R4∼R7(제 2뱅크 RF2), 범용 레지스터 R8∼R11(제 3뱅크 RF3) 및 범용 레지스터 R12∼R15(제 4뱅크 RF4)가 각각 1 뱅크로 된다. 뱅크 레지스터와 내장 RAM(103)과의 데이타의 교환은 이 경우 64비트의 고속 버스를 통해 1 뱅크씩 행해진다.
다음에, 범용 레지스터 GR(R0∼R15)의 퇴피/복귀 동작에 대해 제19도에 도시하는 타이밍 챠트를 참조하여 설명한다.
범용 레지스터 GR의 데이타는 제1뱅크 RF1로부터 차례로 제4뱅크 RF4까지 커런트 뱅크 포인터 CBP를 지시하는 어드레스 cbp로부터 8 바이트(이하 cbp x 8로 약기한다)의 내장 RAM(103)의 영역으로 전송된다. 레지스터 어드레스 REGA는 4비트로 레지스터 번호에 대응하고 있다. 1 뱅크를 전송하는데 필요한 클럭 수는 1이다.
제1뱅크 RF1, 제2뱅크 RF2, 제3뱅크 RF3 및 제4뱅크 RF4는 각각 cbp x 8,(cbp+1)x8(cbp+2)x8 및 (cbp+3)x8의 내장 RAM(103)의 영역으로 전송된다. 범용 레지스터 GR로부터 내장 RAM(103)으로의 전송이 종료하는 싸이클에서, 커런트 뱅크 포인터 기록 요구 CBPW를 수신하여 데이타 레지스터(도시하지 않음)로부터 내부 버스를 통해 커런트 뱅크 포인터 CBP로의 기록이 행해진다.
다음의 싸이클에서는 커런트 뱅크 포인터 CBP를 지시하는 어드레스 cbp로부터 8 바이트(cbp'x8)의 RAM 영역의 내용이 제1뱅크 RF1에 데이타 전송된다. 계속해서, 제2뱅크 RF2∼제4뱅크 RF4도 마찬가지로 해서 전송되지만, 제4뱅크 RF4의 전송 싸이클에서, 동시에 뱅크 스톱 신호 STOP를 디스에이블로하여 전송 종료를 각 블럭에 전달한다.
뱅크 전환 중, 즉 뱅크 스톱 신호 STOP에 의해 규제되는 적어도 전송에 필요한 8 클럭 사이의 명령 실행은 대기 상태이다.
이상과 같이, 종래의 마이크로프로세서에서는 퇴피/복귀되는 레지스터 수가 고정되어 범용 레지스터의 수만큼 전부 전송하는 방식을 채용하고 있고, 범용 레지스터의 개수와 레지스터 뱅크 및 기억 장치 사이의 뱅크 버스의 비트 폭에 따라 레지스터의 퇴피/복귀에 필요한 클럭 수가 결정되지만, 예를 들면 범용 레지스터 4개를 1 뱅크로서 범용 레지스터가 16개이면, 레지스터 뱅크의 퇴피/복귀에만 8 클럭을 필요로 하고, 이 동안에는 후속 명령의 실행이 대기되기 때문에 명령 실행 효율이 저하한다는 문제가 있었다.
본 발명은 상기 문제점을 해결하기 위한 것으로, 지정된 뱅크 사이즈분만을 퇴피/복귀함으로써, 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 저감시킨 마이크로프로세서를 제공하는 것을 목적으로 한다.
상기 문제를 해결하기 위해, 본 발명의 제1특징은 제1도에 도시하는 바와 같이 복수의 범용 레지스터 R0∼R3, R4∼R7, R8∼R11 또는 R12∼R15을 1개의 뱅크로 하여 이 뱅크를 n개[n은 임의의 정(正)의 정수]를 구비하는 레지스터 뱅크 RF1∼RF4와, 상기 레지스터 뱅크 RF1∼RF4와 내장 RAM(103)을 결합하는 고속 버스와, 상기 레지스터 뱅크 RF1∼RF4의 내용을 상기 내장 RAM(103)내로 퇴피할 때의 퇴피 영역의 위치 정보 또는 상기 내장 RAM(103) 내의 정보를 상기 레지스터 뱅크 RF1∼RF4로 복귀할 때의 복귀해야 할 영역의 위치 정보를 보유하는 커런트 뱅크 포인터 CBP와, 상기 퇴피 또는 복귀시의 퇴피 또는 복귀해야 할 뱅크 사이즈를 지정하는 뱅크 사이즈 지정 레지스터 BS를 구비하고, 소정 명령의 데스티네이션 오퍼랜드로서 상기 커런트 뱅크 포인터 CBP가 지정될 때, 상기 커런트 뱅크 포인터 CBP의 이 시점에서의 내용 cbp에 기초하여 상기 뱅크 레지스터 RF1∼RF4중, 상기 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈분을 상기 내장 RAM(103)으로 퇴피하고, 상기 명령에 기초하여 상기 커런트 뱅크 포인터 CBP의 내용을 재기록하여, 재기록된 후의 커런트 뱅크 포인터 CBP의 내용 cbp'에 기초하여 상기 내장 RAM(103)으로부터 상기 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈분의 정보를 상기 뱅크 레지스트 RF1∼RF4로 복귀하는 것이다.
또, 본 발명의 제 2특징은 청구항 1에 기재한 마이크로프로세서에 있어서, 제4도에 도시하는 바와 같은 상기 마이크로프로세서는 상기 뱅크마다 할당되어 이 뱅크 RF1∼RF4에 대해 상기 복귀가 완료한 것을 표시하는 n개의 복귀 완료 플래그 BF1∼BF4를 구비하고, 상기 퇴피를 행한 후, 상기 소정 명령의 후속 명령의 실행을 재개함과 동시에, 상기 복귀를 개시하여 복귀가 완료한 뱅크에 대해 상기 복귀 완료 플래그 BF1∼BF4를 셋트하고, 셋트하여 상기 후속 명령 중, 상기 레지스터 뱅크 RF1∼RF4를 억세스하는 명령은 사용하는 뱅크에 대응하는 복귀 완료 플래그가 셋트되어진 후에 상기 명령을 실행하는 것이다.
또 본 발명의 제3특징은 청구항 1 또는 2에 기재한 마이크로프로세서에 있어서, 제7도에 도시하는 바와 같은 상기 마이크로프로세서는 상기 뱅크마다 할당되어 이 뱅크 RF1~RF4에 대해 상기 소정 명령의 후속 명령에서 참조하고자 하는 것을 표시하는 n개의 참조 플래그 BR1~BR4를 구비하고, 상기 퇴피를 행한 후, 상기 후속 명령의 실행을 재개하여 상기 참조 플래그 BR1~BR4를 셋트하며, 상기 복귀는 상기 참조 플래그가 셋트된 뱅크에 대해서만 행해지는 것이다.
또, 본 발명의 제 4특징은 청구항 1,2 또는 3에 기재한 마이크로프로세서에 있어서, 제4도 및 제7도에 도시하는 바와 같이, 상기 마이크로프로세서는 상기 뱅크마다 할당되어 이 뱅크 RF1∼RF4의 내용이 재기록된 것을 표시하는 n개의 재기록 플래그 BK1∼BK4를 구비하고, 상기 퇴피는 상기 재기록 플래그가 셋트되어진 뱅크에 대해서만 행해지는 것이다.
또, 본 발명의 제 5특징은 청구항 1,2,3 또는 4에 기재한 마이크로프로세서에 있어서, 제10도에 도시하는 바와 같이, 상기 마이크로프로세서는 상기 퇴피에서의 뱅크 사이즈를 지정하는 제 1뱅크 사이즈 지정 레지스터 BS1과, 상기 복귀에서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터 BS2를 구비하는 것이다.
또, 본 발명의 제6특징은 청구항 1,2,3,4 또는 5에 기재한 마이크로프로세서에 있어서, 제12도에 도시하는 바와 같이 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인트 CBP와, 상기 뱅크 사이즈 지정 레지스터 BS 또는 제 2뱅크 사이즈 지정 레지스터 BS2를 지정하는 전용 명령인 것이다.
또, 본 발명의 제 7특징은 청구항 1,2,3,4,5 또는 기재한 마이크로프로세서에 있어서, 제10도에 도시하는 바와 같이, 상기 마이크로프로세서는 상기 소정 명령 또는 전용 명령의 데스티네이션으로서 지정되는 크리커런트 뱅크 포인터 래치 PCBP를 구비하고, 상기 퇴피는 상기 커런트 뱅크 포인터 CBP의 내용 cbp에 기초하여 행해지며, 상기 복귀는 상기 프리커런트 뱅크 포인터 래치 PCBP의 내용 cbp'에 기초하여 행해지는 것이다.
본 발명의 제1특징의 마이크로프로세서에서는 제1도에 도시하는 바와 같은 소정 명령의 데스티네이션 오퍼랜드로서 커런트 뱅크 포인터 cbp가 지정될 때, 커런트 뱅크 포이터 CBP의 이 시점에서의 내용 cbp에 기초하여 뱅크 레지스터 RF1∼RF4 중, 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈분만을 내장 RAM(103)에 퇴피시키고, 상기 소정 명령에 기초하여 커런트 뱅크 포인터 CBP의 내용을 cbp'으로 재기록하고, 이 재기록된 후의 커런트 뱅크 포인터 CBP의 내용 cbp'에 기초하여 내장 RAM(103)으로부터 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈 분의 정보만을 뱅크 레지스터 RF1∼RF4로 복귀하도록 하고 있다.
이와 같이, 본 발명의 마이크로프로세서는 뱅크 사이즈 지정 레지스터 BS에서 지정된 뱅크 사이즈분만을 퇴피/복귀하기 때문에, 종래와 같이 불필요한 뱅크에 대해서까지 퇴피/복귀를 행하는 일 없이 뱅크 전환에 따른 후속 명령의 실행 대기시간을 저감시킬 수 있다.
또, 본 발명의 제2특징의 마이크로프로세서에서는 제4도에 도시하는 바와 같이, 퇴피 동작후 소정 명령의 후속 명령의 실행을 재개함과 동시에, 복귀 동작을 개시하여 복귀가 완료한 뱅크에 대해 복귀 완료 플래그 BF1∼BF4를 셋트하고, 후속 명령 중, 레지스터 뱅크 RF1∼RF4를 억세스하는 명령은 사용하는 뱅크에 대응하는 복귀 완료 플래그가 셋트된 후에 이 명령을 실행하도록 했기 때문에, 후속 명령의 실행 대기 시간을 보다 저감시킬 수 있다.
또, 본 발명의 제3특징의 마이크로프로세서에서는 제7도에 도시하는 바와 같이, 퇴피 동작 후 상기 후속 명령의 실행을 재개하여 이 후속 명령에 의해 억세스가 있었던 뱅크에 따라 참조 플래그 BR1∼BR4를 셋트하고, 복귀 동작은 참조 플래그가 셋트된 뱅크에 대해서만 행해지도록 했기 때문에, 쓸데없는 재기록 동작을 생략하여 명령 실행 시간의 고속화를 도모할 수 있다.
또, 본 발명의 제4특징의 마이크로프로세서에서는 제4도 및 제7도에 도시하는 바와 같이, 퇴피 동작은 재기록 플래그 BK1∼BK4가 셋트되어 있는 뱅크에 대해서만 행해지도록 했기 때문에, 쓸데없는 재기록 동작을 생략하여 명령 실행 시간의 고속화를 도모할 수 있다.
또, 본 발명의 제5 및 제6 특징의 마이크로프로세서에서는 제10도 및 제12도에 도시하는 바와 같이, 상기 소정 명령은 데스티네이션으로서 커런트 뱅크 포인터 CBP와, 뱅크 사이즈 지정 레지스터 BS 또는 제2뱅크 사이즈 지정 레지스터 BS2를 지정하여 뱅크 사이즈 지정 레지스터 BS 또는 제1뱅크 사이즈 지정 레지스터 BS1에서 지정된 뱅크 사이즈분만을 퇴피하고, 뱅크 사이즈 지정 레지스터 BS 또는 제2뱅크 사이즈 지정 레지스터 BS2에서 지정된 뱅크 사이즈분만을 복귀하도록 했기 때문에, 종래와 같이 불필요한 뱅크에 대해 퇴피/복귀를 행하지 않아 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 저감시킬 수 있다.
또, 본 발명의 제7특징의 마이크로프로세서에서는 제10도에 도시하는 바와 같이, 상기 소정 명령 또는 전용 명령의 데스티네이션으로서 프리커런트 뱅크 포인터 래치 PCBP를 지정하여 퇴피 동작을 커런트 뱅크 포인터 CBP의 내용 cbp에 기초하여 행하고, 복귀 동작을 프리커런트 뱅크 포인터 래치 PCBP의 내용 cbp'에 기초하여 행하도록 하고 있다. 다시 말하면, 미리 뱅크 사이즈 지정 레지스터 BS에 설정되어 있는 뱅크 사이즈분만을 퇴피하고, 전용 명령의 오퍼랜드로 지정된 뱅크 사이즈분만을 복귀하도록 했기 때문에, 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 저감시킬 수 있다.
이상을 총괄하면, 커런트 뱅크 포인터 CBP의 재기록에 따른 범용 레지스터와 RAM과의 데이타의 전송을 필요한 뱅크 수만큼 행함으로써, 데이타 전송 클럭수의 단축을 실현하여 후속의 명령 실행의 대기 시간을 단축할 수 있다. 예를 들면, 4 뱅크 구성의 레지스터 파일인 경우, 종래 기술에서는 10 클럭을 필요로 했지만, 본 발명에서 1 뱅크밖에 사용하지 않는 경우에는 4 클럭으로 커런트 뱅크 포인터 CBP의 재기록 따른 처리가 완료하게 된다.
또, 내장 RAM(103)으로부터 범용 레지스터 GR로의 데이타 복귀 동작의 기간에서 명령 실행을 허가함으로써, 후속 명령을 빠르게 실행할 수 있다. 후속 명령에서 데이타 로드 기간 중에 레지스터 억세스가 발생하지 않은 경우에는 범용 레지스터를 다수 사용중일 때에 상당한 효과를 기대할 수 있다.
다음에, 본 발명에 따른 실시예를 도면을 기초하여 설명한다.
[제1실시예]
제1도에 본 발명의 제1실시예에 따른 마이크로프로세서의 개념 구성도를 도시한다. 제1도에 있어서, 제17도(종래 예)와 중복하는 부분에는 동일 부호를 붙인다.
제1도에 있어서, 본 실시예의 마이크로프로세서는 4개의 범용 레지스터 RO∼R3, R4∼R7, R8∼R11 또는 R12∼R15를 1개의 뱅크로 하고, 이 뱅크를 4개(n=4) 구비하는 레지스터 뱅크 RF1∼RF4와, 레지스터 뱅크 RF1∼RF4와 내장 RAM(103)을 결합하는 고속 버스(도시하지 않음)와, 뱅크 전환의 제어를 행하는 뱅크 제어 유니트 BCU1을 구비하여 구성되어 있다.
뱅크 제어 유니트 BCU1에서는 버스의 제어, 범용 레지스터군 GR(R0∼R15) 및 내장 RAM(103)의 어드레스 생성, 각 블럭에 대한 제어 신호의 생성, 및 뱅크 제어 유니트 BCU1 자신의 제어를 행한다.
뱅크 제어 유니트 BCU1은 제2도에 도시하는 바와 같이 커런트 뱅크 포인터 CBP, 뱅크 사이즈 지정 레지스터 BS, 레지스터 어드레스 생성부 RAG, 가산기 ADD 및 디코더 DEC로 구성되어 있다.
커런트 뱅크 포인터 CBP는 레지스터 뱅크 RF1∼RF4의 내용을 내장 RAM9103)내로 퇴피할 때의 퇴피 영역의 어드레스 정보, 또는 내장 RAM(103)내의 정보를 레지스터 뱅크 RF1∼RF4로 복귀할 때의 복귀해야 할 영역의 어드레스 정보를 보유한다. 또, 뱅크 사이즈 지정 레지스터 BS는 상기 퇴피 또는 복귀시의 퇴피 또는 복귀해야 할 뱅크 사이즈를 지정한다.
레지스터 어드레스 생성부 RAG는 상태 머신을 구비하고, 또 디코더 DEC는 상태 뱅크 전환 신호 CBPC 및 뱅크 사이즈 지정 레지스터 BS의 출력을 디코드함으로써 각종 제어 신호를 생성한다.
어드레스 생성에서는 커런트 뱅크 포인터 CBP 및 레지스터 어드레스 생성부 RAG의 출력으로부터 내장 RAM(103)의 어드레스 RAMA, 뱅크의 선두 범용 레지스터 즉, 퇴피/복귀하는 뱅크의 범용 레지스터군의 레지스터 번호 중 가장 작은 범용 레지스터의 어드레스 REGA를 생성한다.
레지스터 어드레스 생성부 RAG를 구비하는 상태 머신에서는 뱅크 사이즈 지정 레지스터 BS의 값으로부터 내장 RAM 어드레스 RAMA 및 레지스터 어드레스 REGA의 상한을 결정하도록 회로가 구성되어 있다.
다음에, 제3도에 도시하는 타이밍 챠트를 참조하여 본 실시예의 동작을 설명한다. 이하의 설명에서는 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈 bs=2로 하여 설명한다.
먼저, 소정 명령의 데스티네이션 오퍼랜드로서 커런트 뱅크 포인터 CBP가 지정될 때, 커런트 뱅크 포인터 CBP의 이 시점에서의 내용 cbp에 기초하여 뱅크 레지스터중, 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈 bs분 즉, 제1뱅크 RF1 및 제2뱅크∼RF2를 내장 RAM(103)으로 퇴피시킨다.
다음에, 상기 소정 명령의 데스티네이션 오퍼랜드에 기초하여 커런트 뱅크 포인터 CBP의 내용을 cbp'로 재기록하여, 이 재기록된 후의 커런트 뱅크 포인터 CBP의 내용 cbp'에 기초하여 내장 RAM(103)으로부터 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈 bs분의 정보를 뱅크 레지스터 (제1뱅크 RF1 및 제2뱅크 RF2)로 복귀시킨다.
이와 같이, 본 실시예의 마이크로프로세서에서는 뱅크 사이즈 지정 레지스터 BS에서 지정된 뱅크 사이즈분만을 퇴피/복귀하도록 했기 때문에, 종래와 같이 불필요한 뱅크에 대해 퇴피/복귀를 행하지 않아 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 저감시킬 수 있다.
[제2실시예]
제4도에 본 발명의 제2실시예에 따른 마이크로프로세서의 개념 구성도를 도시한다.
제4도에 있어서, 본 실시예의 마이크로프로세서는 레지스터 뱅크 RF1∼RF4, 고속 버스(도시하지 않음), 복귀 완료 플래그 BF1∼BF4, 재기록 BK1∼BK4 및 뱅크 제어 유니트 BCU2를 구비하여 구성되어 있다.
복귀 완료 플래그 BF1∼BF4는 뱅크마다 할당되며, 이 뱅크 RF1∼RF4에 대해 복귀 동작이 완료한 것을 표시한다. 또, 재기록 BK1∼BK4는 뱅크마다 할당되며 이 뱅크 RF1∼RF4의 내용이 재기록된 것을 표시한다.
뱅크 제어 유니트 BCU2에서는 버스의 제어, 범용 레지스터군 GR(R0∼R15) 및 내장 RAM(103)의 어드레스 생성, 각 블럭에 대한 제어 신호의 생성 및 뱅크 제어 유니트 BCU2 자신의 제어를 행한다.
뱅크 제어 유니트 BCU2는 제5에 도시하는 바와 같이 프리커런트 뱅크 포인터 래치 PCBP, 커런트 뱅크 포인터 CBP, 뱅크 사이즈 지정 레지스터 BS, 레지스터 어드레스 생성부 RAG, 가산기 ADD 및 디코더 DEC로 구성되어 있다.
프리커런트 뱅크 포인터 래치 PCBP는 소정 명령의 데스티네이션으로서 지정되어 내부 버스 IBUS를 통해 내장 RAM(103)내의 정보를 레지스터 뱅크 RF1∼RF4로 복귀할 때의 복귀해야 할 영역의 어드레스 정보 cbp'가 설정된다.
커런트 뱅크 포인터 CBP는 레지스터 뱅크 RF1∼RF4의 내용을 내장 RAM(103)내로 퇴피할 때의 퇴피 영역의 어드레스 정보 cbp를 보유한다.
뱅크 사이즈 지정 레지스터 BS는 퇴피 또는 복귀 동작시의 퇴피 또는 복귀해야 할 뱅크 사이즈를 지정한다.
또, 레지스터 어드레스 생성부 RAG, 디코더 DEC 등의 기능에 대해서는 제1실시에와 동일하다.
다음에, 제6도에 도시하는 타이밍 챠트를 참조하여 본 실시예의 동작을 설명한다. 다음의 설명에는 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈 bs=3으로 하여 설명한다.
먼저, 소정 명령의 데스티네이션 오퍼랜드로서 커런트 뱅크 포인터 CBP가 지정될 때, 커런트 뱅크 포인터 CBP의 이 시점에서의 내용 cbp에 기초하여 뱅크 레지스터 중, 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈 bs분 즉, 제1뱅크 RF1, 제2뱅크 RF2 및 제3뱅크 RF3을 내장 RAM(103)으로 퇴피시킨다.
보다 구체적으로는 다음과 같이 된다. 즉, 커런트 뱅크 포인터 축적 제어 신호 CBPC를 수신한 때, 제1뱅크 RF1을 퇴피함과 동시에, 버스 인터페이스 유니트로부터 CBP 기록 신호 CBPW를 수신하고 내부 버스 IBUS로부터 새로운 커런트 뱅크 포인터의 값 cbp'를 프리커런트 뱅크 포인터 래치 PCBP에서 래치한다.
또, 디코더 DEC에서는 뱅크 스톱 신호 STOP를 출력하여 각 블럭을 NOP(No Operation)상태로 한다. 뱅크 사이즈 지정 레지스터 BS에 따라 소정의 뱅크 수(n=3)를 퇴피하는 최후의 싸이클에서, CBP 재기록 인에이블 신호 CBPEN을 공급하여 커런트 뱅크 포인터 CBP의 값 cbp를 값 cbp'로 갱신한다.
또, 이 퇴피 동작은 재기록 플래그 BK1∼BK4가 셋트되어 있는 뱅크에 대해서만 행해진다. 여기에서는 설명을 알기 쉽게 하기 위해, 퇴피하는 전체의 뱅크 RF1∼RF3에 대해 재기록 플래그 BK1∼BK3이 셋트 되어지도록 하였다.
다음에, 복귀 동작을 설명한다. 본 실시예의 특징 중 하나는 상술한 퇴피 동작을 행한 후, 소정 명령의 후속 명령의 실행을 재개함과 동시에, 복귀 동작을 개시하고, 복귀가 완료한 뱅크에 대해 복귀 완료 플래그 BF1∼BF4를 셋트하고, 후속 명령 중, 레지스터 뱅크 RF1∼RF4를 억세스하는 명령은 사용하는 뱅크에 대응한 복귀 완료 플래그가 셋트되어진 후에 이 명령을 실행하는 데 있다.
다시 말하면, 범용 레지스터 GR 내의 데이타의 내장 RAM(103)으로의 퇴피가 완료했을 때, 커런트 뱅크 포인터 CBP가 재기록되고, 뱅크 제어 유니트 BCU2에서는 계속해서 새로운 커런트 뱅크 포인터 cbp'로 표시되는 내장 RAM(103)의 영역으로부터 범용 레지스터 GR로의 데이타의 복귀 동작이 개시된다.
한편, 뱅크 스톱 신호 STOP은 커런트 뱅크 포인터 CBP의 재기록과 동시에 NOP 지시를 금지하여 후속의 명령 실행을 재개한다. 내장 RAM(103)으로부터 범용 레지스터 GR로의 데이타의 복귀가 완료한 뱅크에 대해서는 복귀 완료 플래그 BF1∼BF4를 셋트함으로써 명령에 의한 범용 레지스터, GR로의 억세스가 허가된다. 역으로, 복귀 완료 플래그 BF1∼BF4가 셋트되어 있지 않은 기간은 그 범용 레지스터 GR로의 억세스가 허가되지 않아 명령은 대기 상태로 된다.
본 실시예(제6도)의 경우, 뱅크 스톱 신호 STOP의 해제 후, 범용 레지스터 R4로의 기록 요구가 있고, 복귀 완료 플래그 BF2가 1이 되는 것을 보아 버스 개시 신호 BST가 버스 인터페이스 유니트로부터 출력되어 명령에 의한 범용 레지스터 R4로의 재기록이 행해진다.
또, 재기록 플래그 BK1∼BK4는 퇴피 종료시에 리셋트되어 있고, 상기 범용 레지스터 R4로의 기록을 행하는 실행에 의해 재기록 플래그 BK2에서 1이 셋트된다.
이와 같이, 본 실시예의 마이크로프로세서에서는 제1실시예와 동일하게 뱅크 사이즈 지정 레지스터 BS에서 지정된 버스 사이즈분만을 퇴피/복귀하도록 했기 때문에, 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 단축시킬 수 있다.
또, 퇴피 동작은 재기록 플래그 BK1∼BK4가 셋트되어 있는 뱅크에 대해서만 행해지도록 했기 때문에, 쓸데없는 재기록 동작을 생략하여 명령 실행 시간의 고속화를 도모할 수 있다.
또, 퇴피 동작 후, 소정 명령의 후속 명령의 실행을 재개함과 동시에, 복귀동작을 개시하여 복귀가 완료한 뱅크에 대해 복귀 완료 플래그 BF1∼BF4를 셋트하고, 후속 명령 중, 레지스터 뱅크 RF1∼RF4를 억세스하는 명령은 사용하는 뱅크에 대응한 플래그 완료 플래그가 셋트되어진 후에 이 명령을 실행하도록 했기 때문에, 후속 명령의 실행 대기시간을 보다 단축시킬 수 있다.
[제3실시예]
제7도에 본 발명의 제3실시예에 따른 마이크로프로세서의 개념 구성도를 도시한다.
제7도에 있어서, 본 실시예의 마이크로프로세서는 레지스터 뱅크 RF1∼RF4, 고속 버스(도시하지 않음), 참조 플래그 BR1∼BR4, 복귀 완료 플래그 BF1∼BF4, 재기록 플래그 BK1∼BK4 및 뱅크 제어 유니트 BCU3을 구비하여 구성되어 있다.
참조 플래그 BR1∼BR4는 뱅크마다 할당되며 이 뱅크 RF1∼RF4에 대해 소정 명령의 후속 명령에서 참조하고자 하는 것을 표시한다. 또, 복귀 완료 플래그 BF1∼BF4는 뱅크마다 할당되며 이 뱅크 RF1∼RF4에 대해 복귀 동작이 완료한 것을 표시한다. 또 재기록 플래그 BK1∼BK4는 뱅크마다 할당되며 이 뱅크 RF1∼RF4의 내용이 재기록된 것을 표시한다.
뱅크 제어 유니트 BCU2는 제2실시예와 동일한 구성으로, 제5도에 도시하는 바와 같이 프리커런트 뱅크 포인터 래치 PCBP, 커런트 뱅크 포인터 CBP, 뱅크 사이즈 지정 레지스터 BS, 레지스터 어드레스 생성부 RAG, 가산기 ADD 및 디코더 DEC로 구성되어 있다.
다음에, 제8도에 도시하는 타이밍 챠트를 참조하여 본 실시예의 동작을 설명한다. 다음의 설명에서는 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈 bs=3으로 하여 설명한다.
먼저, 소정 명령의 데스티네이션 오퍼랜드로서 커런트 뱅크 포인터 CBP가 지정될 때, 커런트 뱅크 포인터 CBP의 이 시점에서의 내용 cbp에 기초하여 뱅크 레지스터 중, 뱅크 사이즈 지정 레지스터 BS에서 지정되는 뱅크 사이즈 bs분 즉, 제1뱅크 RF1, 제2뱅크 RF2 및 제3뱅크 RF3을 내장 RAM(103)으로 퇴피한다.
또, 이 퇴피 동작은 재기록 플래그 BK1∼BK4가 셋트되어 있는 뱅크에 대해서만 행해진다. 여기에서는 설명을 알기 쉽게 하기 위해, 퇴피하는 전체의 뱅크 RF1∼RF3에 대해 재기록 플래그 BK1∼BK3이 셋트되도록 했다.
퇴피 동작의 최후의 싸이클에서, CBP 재기록 인에이블 신호 CBPEN을 발생하여 커런트 뱅크 포인터 CBP의 값 cbp를 값 cbp'로 갱신한다.
본 실시에에서는 그 후 내장 RAM(103)으로부터 범용 레지스터 GR로의 데이타의 복귀는 행해지지 않는다. 커런트 뱅크 포인터 CBP의 재기록과 동시에, 뱅크 스톱 신호 STOP를 해제하여 후속 명령의 실행을 개시한다.
후속 명령에서 레지스터 억세스가 발생할 때에, 디코더(121)로부터 뱅크 제어 유니트 BUC3에 대해 범용 레지스터 억세스 요구 REGCS가 출력된다. 이것을 수신한 뱅크 제어 유니트 BCU3에서는 판독 요구가 있었던 범용 레지스터에 대응하는 내장 RAM(103)의 어드레스 RAMA를 계산하여 이 어드레스 영역의 데이타를 해당하는 뱅크로 복귀시킨다.
본 실시예(제8도)인 경우, 뱅크 스톱 신호 STOP의 해제 후, 범용 레지스터 R8로의 범용 레지스터 억세스 요구 REGCS가 있고, 뱅크 제어 유니트 BCU3에서는 범용 레지스터 R8에 대응하는 내장 RAM(103)의 어드레스 RAMA(=8)을 계산하여 이 어드레스 영역의 데이타를 제3뱅크 RF3으로 복귀시킨다. 복귀 완료 플래그 BF3이 1이 되는 것을 보아 버스 개시 신호 BST가 버스 인터페이스 유니트로부터 출력되어 명령에 의한 범용 레지스터 R8로의 억세스가 행해진다.
또, 개시 플래그 BK1∼BK4는 퇴피 동작 종료시에 리셋트되어 있고, 상기 범용 레지스터 R8로의 억세스가 재기록인 경우에는 재기록 플래그 BK3에서 1이 셋트된다.
이와 같은 방법에서, 커런트 뱅크 포인터 CBP에 의한 뱅크 전환 처리를 행하는 경우, 억세스가 없는 뱅크에 대해서는 예전 커런트 뱅크 포인터 CBP인 때의 데이타를 보유하고 있다. 따라서, 퇴피할 때에는 재기록 플래그가 셋트되어 있는 뱅크만을 내장 RAM(103)으로 퇴피시키고 또, 참조 플래그가 셋트되어 있는 뱅크만을 커런트 뱅크 포인터 CBP의 새로운 값 cbp'로 표시되는 내장 RAM(103)의 영역으로부터 복귀시킨다.
이상과 같이, 본 실시예의 마이크로프로세서에서는 제1 및 제2실시예와 동일하게, 뱅크 사이즈 지정 레지스터 BS에서 지정된 뱅크 사이즈분만을 퇴피/복귀하도록 했기 때문에, 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 단축 시킬 수 있고, 또 퇴피 동작은 재기록 플래그 BK1∼BK4가 셋트되어 있는 뱅크에 대해서만 행해지도록 했기 때문에, 쓸데없는 재기록 동작을 생략하여 명령 실행 시간의 고속화를 도모할 수 있다.
또, 퇴피 동작 후, 상기 후속 명령의 실행을 재개하여 이 후속 명령에 의해 억세스가 있었던 뱅크에 따라 참조 플래그 BR1∼BR4를 셋트하고, 복귀 동작은 참조 플래그가 셋트된 뱅크에 대해서만 행해지도록 했기 때문에, 쓸데없는 재기록 동작을 생략하여 명령 실행 기간의 고속화를 도모할 수 있다.
[제4실시예]
제9도에 본 발명의 제4실시예에 따른 마이크로프로세서의 구성도를 도시한다.
제9도에 있어서, 본 실시예의 마이크로프로세서는 레지스터 뱅크 RE1∼RF4와 레지스터 뱅크 RF1∼RF4와 내장 RAM(103)을 결합하는 고속 버스(도시하지 않음)와, 뱅크 전환의 제어를 행하는 뱅크 제어 유니트 BCU4를 구비하여 구성되어있다.
뱅크 제어 유니트 BCU4는 제10도에 도시하는 바와 같이 프리커런트 뱅크 포인터 래치 PCBP, 커런트 뱅크 포인터 CBP, 제1뱅크 사이즈 지정 레지스터 BS1, 제2뱅크 사이즈 지정 레지스터 BS2, 레지스터 어드레스 생성부 RAG, 가산기 ADD 및 디코더 DEC로 구성되어 있다.
프리커런트 뱅크 포인터 래치 PCBP는 소정 명령의 데스티네이션으로서 지정되어 내부 버스 IBUS를 통해 내장 RAM(103) 내의 정보를 레지스터 뱅크 RF1∼RF4로 복귀할 때의 복귀해야 할 영역의 어드레스 정보 cbp가 설정된다.
커런트 뱅크 포인터 CBP는 레지스터 뱅크 RF1∼RF4의 내용을 내장 RAM(103)내로 퇴피할 때의 퇴피 영역의 어드레스 정보 cbp를 보유한다.
제1뱅크 사이즈 지정 레지스터 BS1은 퇴피 동작시의 퇴피해야 할 뱅크 사이즈를 지정하고, 제2뱅크 사이즈 지정 레지스터 BS2는 복귀 동작시의 복귀해야 할 뱅크 사이즈를 지정한다.
또, 레지스터 어드레스 생성부 RAG, 디코더 DEC등의 기능에 대해서는 제1실시예와 동일하다.
다음에, 제11도에 도시하는 타이밍 챠트를 참조하여 본 실시에의 동작을 설명한다. 다음의 설명에서는 제1뱅크 사이즈 지정 레지스터 BS1에서 지정되는 뱅크 사이즈 bs1=3, 및 제2뱅크 사이즈 지정 레지스터 BS2에서 지정되는 뱅크 사이즈 bs2=2로 하여 설명한다.
본 실시예에서는 커런트 뱅크 포인터 CBP 재기록 후에, 필요한 뱅크 수가 그 때까지 사용하고 있었던 뱅크 수와 다른 경우, 커런트 뱅크 포인터 CBP 재기록 전에, 로드 명령으로 제2뱅크 사이즈 지정 레지스터 BS2의 내용을 필요한 수로 설정한다. 따라서, 본 실시예에서는 커런트 뱅크 포인터 CBP의 재기록 명령과, 제2뱅크 사이즈 지정 레지스터 BS2의 재기록 명령을 1조로서 사용하게 된다.
먼저, 소정 명령의 데스티네이션 오퍼랜드로서 프리커런트 뱅크 포인터 래치 PCBP가 지정될 때, 커런트 뱅크 포인터 CBP의 이 시점에서의 내용 cbp에 기초하여 뱅크 레지스터 중, 제1뱅크 사이즈 지정 레지스터 BSI에서 지정되는 뱅크 사이즈 bs1분, 즉 제1뱅크 RF1, 제2뱅크 RF2 및 제3뱅크 RF3을 내장 RAM(103)으로 퇴피시킨다.
다시 말하면, 커런트 뱅크 포인터 축적 제어 신호 CBPC를 수신할 때, 제1뱅크 RF1을 퇴피함과 동시에, 버스 인터페이스 유니트로부터 CBP 기록 신호 CBPW를 수신하고, 내부 버스 IBUS로부터 새로운 커런트 뱅크 포인터의 값 cbp'를 프리커런트 뱅크 포인터 래치 PCBP에서 래치한다.
퇴피가 종료하는 싸이클에서, 커런트 뱅크 포인터 CBP를 cbp'로 재기록하고, 동시에 제2뱅크 사이즈 지정 레지스터 BS2의 내용 bs2를 제1뱅크 사이즈 지정 레지스터 BS1에 로드한다. 범용 레지스터의 복귀는 퇴피와 동일하게 제1뱅크 사이즈 지정 레지스터 BS1에 로드한다. 범용 레지스터의 복귀는 퇴피와 동일하게 제1뱅크 사이즈 지정 레지스터 BS1의 값은 내용에 따라 행해지지만, 이 때의 제1뱅크 사이즈 지정 레지스터 BS1의 값은 bs2=2로 갱신되어 내장 RAM(103)으로부터 뱅크 사이즈 bs2분의 정보가 제1뱅크 RF1 및 제2뱅크 RF2로 복귀하게 된다.
이와 같이 본 실시예의 마이크로프로세서에서는 제1뱅크 사이즈 지정 레지스터 BS1에서 지정된 뱅크 사이즈분만을 퇴피시키고, 제2뱅크 사이즈 지정 레지스터 BS2에서 지정된 뱅크 사이즈분만을 복귀시켰기 때문에, 종래와 같이 불필요한 뱅크에 대해 퇴피/복귀를 행하지 않아 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 단축시킬 수 있다.
[제5실시예]
제12도에 본 발명의 제5실시예에 관한 마이크로프로세서의 구성도를 도시한다. 본 실시예의 마이크로프로세서에서의 뱅크 전환 방법은 커런트 뱅크 포인터 CBP의 재기록 전용 명령을 설정하여 커런트 뱅크 포인터 CBP와 뱅크 사이즈 지정 레지스터 BS의 값을 오퍼랜드로 함으로써, 커런트 뱅크 포인터 CBP와 뱅크 사이즈 지정 레지스터 BS의 값을 동시에 변경하는 것이다.
제12도에 있어서, 본 실시예의 마이크로프로세서는 레지스터 뱅크 RF1∼RF4와, 레지스터 뱅크 RF1∼RF4와 내장 RAM(103)을 결합하는 고속 버스(도시하지 않음)와, 뱅크 전환의 제어를 행하는 뱅크 제어 유니트 BCU5를 구비하여 구성되어 있다.
뱅크 제어 유니트 BCU5는 제13도에 도시하는 바와 같이 프리커런트 뱅크 포인터 래치 PCBP, 커런트 뱅크 포인터 CBP, 뱅크 사이즈 지정 레지스터 BS, 레지스터 어드레스 생성부 RAG, 가산기 ADD 및 디코더 DEC로 구성되어 있다.
프리커런트 뱅크 포인터 래치 PCBP는 전용 명령의 데스티네이션으로서 지정되어 제2내부 버스 IBUS2를 통해 내장 RAM(103)내의 정보를 레지스터 뱅크 RF1∼RF4로 복귀할 때의 복귀해야 할 영역의 어드레스 정보 cbp'가 설정된다.
커런트 뱅크 포인터 CBP는 레지스터 RF1∼RF4의 내용을 내장 RAM(103)내로 퇴피시킬 때의 퇴피 영역의 어드레스 정보 cbp를 보유한다.
뱅크 사이즈 지정 레지스터 BS는 전용 명령의 데스티네이션으로서 지정되어 제1내부 버스 IBUS1을 통해 퇴피 또는 복귀 동작시의 퇴피 또는 복귀해야 할 뱅크 사이즈가 설정된다.
또, 레지스터 어드레스 생성부 RAG, 디코더 DEC 등의 기능에 대해서는 제1실시예와 동일하다.
다음에, 제14도에 도시하는 타이밍 챠트를 참조하여 본 실시예의 동작을 설명한다. 다음의 설명에서는 미리 뱅크 사이즈 지정 레지스터 BS에는 뱅크 사이즈 bs1=3이 설정되어 있고, 전용 명령에 의해 뱅크 사이즈 bs2=2로 설정된 것으로 설명한다.
먼저, 전용 명령의 데스티네이션 오퍼랜드로서 프리커런트 뱅크 포인터 래치 PCBP가 지정되어 있고, 커런트 뱅크 포인터 축적 제어 신호 CBPC를 수신할 때, 제1뱅크 RF1을 퇴피시킴과 동시에, 버스 인터페이스 유니트로부터 CBP 기록 신호 CBPW를 수신하고, 내부 버스 IBUS로부터 새로운 커런트 뱅크 포인터의 값 cbp'를 프리커런트 뱅크 포인터 래치 PCBP에서 래치한다.
최후의 뱅크 RF3이 퇴피되어 있는 싸이클에서, 커런트 뱅크 포인터 CBP를 cbp'로 재기록하고, 동시에 제2내부 버스 IBUS2로부터 전용 명령 중 다른 1개의 오퍼랜드를 취해 뱅크 사이즈 지정 레지스터 BS의 내용을 bs2로 갱신한다. 따라서, 범용 레지스터 GR의 복귀는 내장 RAM(103)으로부터 뱅크 사이즈 bs2분의 정보가 제1뱅크 RF1 및 제2뱅크 RF2로 복귀하게 된다.
또, 프리커런트 뱅크 포인터 래치 PCBP를 갖고 있지 않은 구성의 경우에는 데이타 레지스터에 보유해 두고, 범용 레지스터 퇴피의 최종 싸이클에서 커런트 뱅크 포인터 CBP와 뱅크 사이즈 지정 레지스터 BS를 동시에 재기록하도록 제어한다.
이와 같이 본 실시예의 마이크로프로세서에서는 미리 뱅크 사이즈 지정 레지스터 BS에 설정되어 있는 뱅크 사이즈만을 퇴피하고, 전용 명령의 오퍼랜드로 지정된 뱅크 사이즈분만을 복귀하도록 했기 때문에, 종래와 같이 불필요한 뱅크에 대해 퇴피/복귀를 행하지 않아 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 저감시킬 수 있다.
또, 본 발명의 청구 범위의 각 구성 요건에 병기한 도면 참조 부호는 본 발명의 이해를 용이하게 하기 위한 것으로, 본원 발명의 기술적 범위를 도면에 도시한 실시예에만 한정할 의도로 병기한 것은 아니다.
이상 설명한 바와 같이 본 발명에 의하면, 소정 명령의 데스티네이션 오퍼랜드로서 커런트 뱅크 포인터가 지정될 때, 커런트 뱅크 포인터의 이 시점에서의 내용에 기초하여 뱅크 레지스터 중 뱅크 사이즈 지정 레지스터에서 지정되는 뱅크 사이즈분만을 내장 RAM으로 퇴피시키고, 상기 소정 명령에 기초하여 커런트 뱅크 포인터의 내용을 재기록하여, 이 재기록 후의 커런트 뱅크 포인터의 내용에 기초하여 내장 RAM으로부터 뱅크 사이즈 지정 레지스터에서 지정되는 뱅크 사이즈분의 정보만을 뱅크 레지스터로 복귀하도록 했기 때문에, 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 단축시킬 수 있는 마이크로프로세서를 제공할 수 있다.
또, 본 발명에 의하면, 퇴피 동작 후, 소정 명령의 후속 명령의 실행을 재개함과 동시에, 복귀 동작을 개시하여 복귀가 완료한 뱅크에 대해 복귀 완료 플래그를 셋트하여, 후속 명령 중, 레지스터 뱅크를 억세스하는 명령은 사용하는 뱅크에 대응한 복귀 완료 억세스가 셋트되어진 후에 이 명령을 실행하도록 했기 때문에, 후속명령의 실행 대기 시간을 보다 단축시킬 수 있다.
또, 본 발명에 의하면, 퇴피 동작은 재기록 플래그가 셋트되어 있는 뱅크에 대해서만 행해지도록 하고, 퇴피 동작후, 상기 후속 명령의 실행을 재개하여 이 후속 명령에 의해 억세스가 있었던 뱅크에 의해 참조 플래그를 셋트하고, 복귀 동작은 참조 플래그가 셋트되어진 뱅크에 대해서만 행해지도록 했기 때문에, 쓸데없는 재기록 동작을 생략하여 명령 실행 시간의 고속화를 도모할 수 있다.
또, 본 발명에 의하면, 상기 소정 명령은 데스티네이션으로서 커런트 뱅크 포인터와, 뱅크 사이즈 지정 레지스터 또는 제2뱅크 사이즈 지정 레지스터를 지정하도록 하고, 뱅크 사이즈 지정 레지스터 또는 제1뱅크 사이즈 지정 레지스터에서 지정된 뱅크 사이즈분만을 퇴피하고 뱅크 사이즈 지정 레지스터 또는 제2뱅크 사이즈 지정 레지스터에서 지정된 뱅크 사이즈분만을 복귀하도록 했기 때문에, 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 단축시킬 수 있는 마이크로프로세서를 제공할 수 있다.
또, 본 발명에 의하면, 상기 소정 명령 또는 전용 명령의 데스티네이션으로서 프리커런트 뱅크 포인터 래치를 지정하여 미리 뱅크 사이즈 지정 레지스터 설정되어 있는 뱅크 사이즈분만을 퇴피하고, 전용 명령의 오퍼랜드로 지정된 뱅크 사이즈분만을 복귀하도록 했기 때문에, 뱅크 전환에 따른 후속 명령의 실행 대기 시간을 단축시킬 수 있는 마이크로프로세서를 제공할 수 있다.

Claims (33)

  1. 복수의 범용 레지스터(R0∼R15,GR)를 1개의 뱅크로 하고, 상기 뱅크를 n개[n은 임의의 정(正)의 정수]를 구비하는 레지스터 뱅크(RF1∼RF4), 상기 레지스터 뱅크와 내장 RAM(RAM)을 결합시키는 버스(IBUS,IBUS1,IBUS2), 상기 레지스터 뱅크의 내용을 상기 내장 RAM내로 퇴피(退避)할 때의 퇴피영역의 위치 정보, 또는 상기 내장 RAM내의 정보를 상기 레지스터 뱅크로 복귀할 때의 복귀해야 할 영역의 위치 정보를 보유하는 커런트 뱅크 포인터(CBP), 및 상기 레지스터 뱅크의 내용이 퇴피 또는 복귀할 때, 한번의 퇴피 또는 복귀해야 할 때는 최소한의 뱅크 사이즈를 지정하는 뱅크 사이즈 지정 레지스터(BS,BS1,BS2)를 포함하며, 소정 명령이 데스티네이션 오퍼랜드(destination operand)로서 상기 커런트 뱅크 포인터가 지정될 대, 상기 커런트 뱅크 포인터의 상기 시점에 있어서의 내용에 기초하여 상기 뱅크 레지스터 중, 상기 뱅크 사이즈 지정 레지스터에서 지정되는 뱅크 사이즈분을 상기 내장 RAM으로 퇴피하고, 상기 명령에 기초하여 상기 커런트 뱅크 포인터의 내용을 재기록하여, 재기록한 후의 커런트 뱅크 포인터의 내용에 기초하여 상기 내장 RAM으로부터 상기 뱅크 사이즈 지정 레지스터에서 지정되는 뱅크 사이즈분의 정보를 상기 뱅크 레지스터로 복귀하는 것을 특징으로 하는 마이크로프로세서.
  2. 제1항에 있어서, 상기 마이크로프로세서는 상기 뱅크(RF1∼RF4)마다 할당되며, 상기 뱅크에 대해 상기 복귀가 완료한 것을 표시하는 n개의 복귀 완료 플래그(BF1∼BF4)를 갖고 있고, 상기 퇴피를 행한 후, 상기 소정 명령의 후속 명령의 실행을 재개함과 동시에, 상기 복귀를 개시하여 복귀가 완료한 뱅크에 대해 상기 복귀 완료 플래그를 셋트하며, 상기 후속 명령 중, 상기 레지스터 뱅크를 억세스하는 명령은 사용하는 뱅크에 대응하는 복귀 완료 플래그가 셋트 후에 상기 명령을 실행하는 것을 특징으로 하는 마이크로프로세서.
  3. 제1항에 있어서, 상기 마이크로프로세서는 상기 뱅크 (RF1∼RF4)마다 할당되며, 상기 뱅크에 대해 상기 소정 명령의 후속 명령에서 참조하고자 하는 것을 표시하는 n개의 참조 플래그(BR1∼BBR4)를 포함하며, 상기 퇴피를 행한 후, 상기 후속 명령의 실행을 재개하여 상기 참조 플래그를 셋트하며, 상기 복귀는 상기 참조 플래그가 셋트되어진 뱅크에 대해서만 행해지는 것을 특징으로 하는 마이크로프로세서.
  4. 제2항에 있어서, 상기 마이크로프로세서는 상기 뱅크(RF1∼RF4)마다 할당되며, 상기 뱅크에 대해 상기 소정 명령의 후속 명령에서 참조하고자 하는 것을 표시하는 n개의 참조 플래그(BR1∼BR4)를 포함하며, 상기 퇴피를 행한 후, 상기 후속 명령의 실행을 재개하여 상기 참조 플래그를 셋트하며, 상기 복귀는 상기 참조 플래그가 셋트되어진 뱅크에 대해서만 행해지는 것을 특징으로 하는 마이크로프로세서.
  5. 제1항에 있어서 상기 마이크로프로세서는 상기 뱅크(RF1∼RF4)마다 할당되며, 상기 뱅크의 내용이 재기록된 것을 표시하는 n개의 재기록 플래그(BK1∼BK4)를 포함하며, 상기 퇴피는 상기 재기록 플래그가 셋트된 뱅크에 대해서만 행해지는 것을 특징으로 하는 마이크로프로세서.
  6. 제2항에 있어서, 상기 마이크로프로세서는 상기 뱅크 (RF1∼RF4)마다 할당되며, 상기 뱅크의 내용이 재기록된 것을 표시하는 n개의 재기록 플래그(BK1∼BK4)를 포함하며, 상기 퇴피는 상기 재기록 플래그가 셋트된 뱅크에 대해서만 행해지는 것을 특징으로 하는 마이크로프로세서.
  7. 제3항에 있어서, 상기 마이크로프로세서는 상기 뱅크(RF1∼RF4)마다 할당되며, 상기 뱅크의 내요이 재기록된 것을 표시하는 n개의 재기록 플래그(BK1∼BK4)를 포함하며, 상기 퇴피는 상기 재기록 플래그가 셋트된 뱅크에 대해서만 행해지는 것을 특징으로 하는 마이크로프로세서.
  8. 제4항에 있어서, 상기 마이크로프로세서는 상기 뱅크(RF1∼RF4)마다 할당되며, 상기 뱅크의 내용이 재기록된 것을 표시하는 n개의 재기록 플래그(BK1∼BK4)를 포함하며, 상기 퇴피는 상기 재기록 플래그가 셋트된 뱅크에 대해서만 행해지는 것을 특징으로 하는 마이크로프로세서.
  9. 제1항에 있어서, 상기 마이크로프로세서는 상기 퇴피에 있어서의 뱅크 사이즈를 지정하는 제1뱅크 사이즈 지정 레지스터(BS1) 및 상기 복귀에 있어서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터(BS2)를 포함하는 것을 특징으로 하는 마이크로프로세서.
  10. 제2항에 있어서, 상기 마이크로프로세서는 상기 퇴피에 있어서의 뱅크 사이즈를 지정하는 제1뱅크 사이즈 지정 레지스터(BS1) 및 상기 복귀에 있어서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터(BS2)를 포함하는 것을 특징으로 하는 마이크로프로세서.
  11. 제3항에 있어서, 상기 마이크로프로세서는 상기 퇴피에 있어서의 뱅크 사이즈를지정하는 제1뱅크 사이즈 지정 레지스터(BS1) 및 상기 복귀에 있어서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터(BS2)를 포함하는 것을 특징으로 하는 마이크로프로세서.
  12. 제4항에 있어서, 상기 마이크로프로세서는 상기 퇴피에 있어서의 뱅크 사이즈를 지정하는 제1뱅크 사이즈 지정 레지스터(BS1) 및 상기 복귀에 있어서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터(BS2)를 포함하는 것을 특징으로 하는 마이크로프로세서.
  13. 제5항에 있어서, 상기 마이크로프로세서는 상기 퇴피에 있어서의 뱅크 사이즈를 지정하는 제1뱅크 사이즈 지정 레지스터(BS1) 및 상기 복귀에 있어서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터(BS2)를 포함하는 것을 특징으로 하는 마이크로프로세서.
  14. 제6항에 있어서, 상기 마이크로프로세서는 상기 퇴피에 있어서의 뱅크 사이즈를 지정하는 제1뱅크 사이즈 지정 레지스터(BS1) 및 상기 복귀에 있어서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터(BS2)를 포함하는 것을 특징으로 하는 마이크로프로세서.
  15. 제7항에 있어서, 상기 마이크로프로세서는 상기 퇴피에 있어서의 뱅크 사이즈를 지정하는 제1뱅크 사이즈 지정 레지스터(BS1) 및 상기 복귀에 있어서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터(BS2)를 포함하는 것을 특징으로 하는 마이크로프로세서.
  16. 제8항에 있어서, 상기 마이크로프로세서는 상기 퇴피에 있어서의 뱅크사이즈를 지정하는 제1뱅크 사이즈 지정 레지스터(BS1) 및 상기 복귀에 있어서의 뱅크 사이즈를 지정하는 제2뱅크 사이즈 지정 레지스터(BS2)를 포함하는 것을 특징으로 하는 마이크로프로세서.
  17. 제1항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 뱅크 사이즈 지정 레지스터(BS) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  18. 제2항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  19. 제3항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  20. 제4항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  21. 제5항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  22. 제6항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  23. 제7항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  24. 제8항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  25. 제9항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  26. 제10항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  27. 제11항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  28. 제12항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  29. 제13항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  30. 제14항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  31. 제15항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  32. 제16항에 있어서, 상기 소정 명령은 데스티네이션으로서 상기 커런트 뱅크 포인터(CBP)와, 상기 제1뱅크 사이즈 지정 레지스터(BS1) 또는 제2뱅크 사이즈 지정 레지스터(BS2)를 지정하는 전용 명령인 것을 특징으로 하는 마이크로세서.
  33. 제1항 내지 제32항 중 어느 한 항에 있어서, 상기 마이크로프로세서는 상기 소정 명령 전용 명령의 데스티네이션으로서 지정되는 프리커런트 뱅크 포인터 래치(PCBP)를 포함하며, 상기 퇴피는 상기 커런트 뱅크 포인터(CBP)의 내용에 기초하여 행해지며, 상기 복귀는 상기 프리커런트 뱅크 포인터 래치의 내용에 기초하여 행해지는 것을 특징으로 하는 마이크로프로세서.
KR1019940026322A 1993-10-15 1994-10-14 마이크로프로세서 KR0137096B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP93-258466 1993-10-15
JP5258466A JPH07114498A (ja) 1993-10-15 1993-10-15 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
KR950012207A KR950012207A (ko) 1995-05-16
KR0137096B1 true KR0137096B1 (ko) 1998-06-15

Family

ID=17320623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940026322A KR0137096B1 (ko) 1993-10-15 1994-10-14 마이크로프로세서

Country Status (5)

Country Link
US (1) US5615348A (ko)
EP (1) EP0649090B1 (ko)
JP (1) JPH07114498A (ko)
KR (1) KR0137096B1 (ko)
DE (1) DE69429492T2 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2766217B2 (ja) * 1994-06-14 1998-06-18 甲府日本電気株式会社 並列処理装置
KR0179840B1 (ko) * 1995-09-22 1999-05-15 문정환 레지스터 제어장치
JPH1011352A (ja) * 1996-06-19 1998-01-16 Hitachi Ltd データ処理装置およびそのレジスタアドレス変換方法
US5845307A (en) * 1997-01-27 1998-12-01 Sun Microsystems, Inc. Auxiliary register file accessing technique
KR100492985B1 (ko) * 1997-08-27 2005-08-25 삼성전자주식회사 마이크로콘트롤러또는마이크로프로세서의워킹레지스터블락및워킹레지스터블락제어방법
US6668285B1 (en) 1999-05-12 2003-12-23 Koninklijke Philips Electronics N.V. Object oriented processing with dedicated pointer memories
US7318090B1 (en) 1999-10-20 2008-01-08 Sony Corporation Method for utilizing concurrent context switching to support isochronous processes
AUPQ668500A0 (en) * 2000-04-04 2000-05-04 Canon Kabushiki Kaisha Accessing items of information
US7552261B2 (en) * 2001-10-12 2009-06-23 Mips Technologies, Inc. Configurable prioritization of core generated interrupts
US7487339B2 (en) * 2001-10-12 2009-02-03 Mips Technologies, Inc. Method and apparatus for binding shadow registers to vectored interrupts
US8452945B2 (en) * 2002-09-17 2013-05-28 Hewlett-Packard Development Company, L.P. Indirect indexing instructions
JP6499065B2 (ja) 2015-12-04 2019-04-10 東芝メモリ株式会社 乱数発生回路および半導体記憶装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6151243A (ja) * 1984-08-20 1986-03-13 Toshiba Corp レジスタ式演算処理装置
JPH0630063B2 (ja) * 1989-02-17 1994-04-20 株式会社東芝 マイクロプロセッサ
JP2655191B2 (ja) * 1989-07-05 1997-09-17 三菱電機株式会社 演算処理装置
KR970008523B1 (ko) * 1991-10-21 1997-05-24 가부시키가이샤 도시바 프로세서

Also Published As

Publication number Publication date
DE69429492T2 (de) 2002-07-18
DE69429492D1 (de) 2002-01-31
EP0649090A1 (en) 1995-04-19
EP0649090B1 (en) 2001-12-19
JPH07114498A (ja) 1995-05-02
US5615348A (en) 1997-03-25
KR950012207A (ko) 1995-05-16

Similar Documents

Publication Publication Date Title
KR0137096B1 (ko) 마이크로프로세서
EP0104840B1 (en) Multiprocessor system including firmware
JPS6376034A (ja) 多重アドレス空間制御方式
EP0772819A2 (en) Apparatus and method for efficiently determining addresses for misaligned data stored in memory
KR19990037572A (ko) 뱅크 어드레스 값을 공급하는 다중 소스를 구비하는 프로세서구조 설계 및 그 설계방법
JPH03233630A (ja) 情報処理装置
JPH1083349A (ja) キャッシュ・メモリ・バンク制御装置
US6321319B2 (en) Computer system for allowing a two word jump instruction to be executed in the same number of cycles as a single word jump instruction
JPS61224051A (ja) バッファメモリ制御方法
EP0787326B1 (en) System and method for processing of memory data and communication system comprising such system
JPH0377137A (ja) 情報処理装置
JP3217348B2 (ja) 情報処理システム
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
JP3190661B2 (ja) 情報処理システム
JP2883488B2 (ja) 命令処理装置
JP2000194554A (ja) 演算処理装置
JPH10289113A (ja) 計算機のレジスタコンテキストの保存/復元方式
JPS6126089B2 (ko)
JPH01305452A (ja) バッファ記憶装置のストア制御方式
JPH1091597A (ja) マルチプロセッサ装置におけるトークンにもとづく命令の直列化
JPH01303546A (ja) メモリ制御方式
JPS59218691A (ja) プリフエツチ方式
JPS6252667A (ja) ベクトルプロセツサ
JPH0283623A (ja) マイクロプロセッサ
JPS63113747A (ja) 仮想記憶管理装置

Legal Events

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

Payment date: 20030130

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee