KR19990065181A - 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치 - Google Patents

다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치 Download PDF

Info

Publication number
KR19990065181A
KR19990065181A KR1019980000359A KR19980000359A KR19990065181A KR 19990065181 A KR19990065181 A KR 19990065181A KR 1019980000359 A KR1019980000359 A KR 1019980000359A KR 19980000359 A KR19980000359 A KR 19980000359A KR 19990065181 A KR19990065181 A KR 19990065181A
Authority
KR
South Korea
Prior art keywords
signal
output
data
latch
inverting
Prior art date
Application number
KR1019980000359A
Other languages
English (en)
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 윤종용
Priority to KR1019980000359A priority Critical patent/KR19990065181A/ko
Publication of KR19990065181A publication Critical patent/KR19990065181A/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits

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

다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치가 개시된다. 본 발명에 따른 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치는, 제1~제3래치를 구비하고, 제1~제3래치는 클럭 신호에 응답하여 소정 명령 세트의 N비트 인덱스 신호 중 제1~N-2비트와, 제N-1비트 및 제N비트를 각각 래치하는 래치 수단, 래치 수단의 각 출력을 입력으로하고, 소정 단계 유지 신호에 응답하여 입력된 데이타 또는 이전 데이타를 선택적으로 출력하는 데이타 선택 수단, 데이타 선택 수단에서 선택적으로 출력된 데이타 중 인덱스 신호의 제1~제N-2비트를 반전시키고, 반전된 결과를 출력하는 반전 수단, 소정 레지스터 값 신호에 응답하여 데이타 선택 수단의 출력 및 반전 수단의 출력을 논리 조합하고, 논리 조합된 결과를 독출 레지스터 인에이블 신호로서 출력하는 독출 레지스터 제어 수단,및 소정 리타이어 신호에 응답하여 데이타 선택 수단의 출력 및 반전 수단의 출력을 논리 조합하고, 논리 조합된 결과를 기입 레지스터 인에이블 신호로서 출력하는 기입 레지스터 제어 수단을 구비하는 것을 특징으로한다.

Description

다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치
본 발명은 마이크로프로세서 내부의 레지스터 제어 장치에 관한 것으로서, 특히, 다중 운영 체제(Operating System:OS)를 지원하는 마이크로프로세서의 레지스터 제어 장치에 관한 것이다.
일반적으로 마이크로프로세서는 하나의 운영 체제를 지원하도록 설계되어 있다. 따라서, 서로 다른 운영 체제 사이에서 데이타를 변환하여 사용하는 것은 어려우며, 서로 다른 운영 체제에서 독출 시와 기입 시의 레지스터를 인에이블 시키기 위해서는 기입 레지스터를 인에이블시키기 위한 로직 블럭과 독출 레지스터 를 인에이블시키기 위한 로직 블럭을 별도로 구현해야 한다는 문제점이 있다.
본 발명이 이루고자하는 기술적 과제는, 메모리 블럭과 실행 블럭에서 이용되는 명령 세트의 인덱스 신호를 이용하여 다중 운영 체제의 기입 또는 독출 레지스터를 인에이블시키는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치를 제공하는데 있다.
도 1은 본 발명에 따른 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치를 설명하기 위한 개략적인 블럭도이다.
도 2는 도 1에 도시된 데이타 선택부의 래치 멀티플렉서를 설명하기 위한 회로도이다.
도 3은 도 1에 도시된 레지스터 제어 장치의 기입 레지스터 제어부를 설명하기 위한 바람직한 일실시예의 회로도이다.
도 4는 도 1에 도시된 레지스터 제어 장치의 독출 레지스터 제어부를 설명하기 위한 바람직한 일실시예의 회로도이다.
상기 과제를 이루기 위해, 본 발명에 따른 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치는, 제1~제3래치를 구비하고, 제1~제3래치 는 클럭 신호에 응답하여 소정 명령 세트의 N비트 인덱스 신호 중 제1~N-2비트와, 제N-1비트 및 제N비트를 각각 래치하는 래치 수단, 래치 수단의 각 출력을 입력으로하고, 소정 단계 유지 신호에 응답하여 입력된 데이타 또는 이전 데이타를 선택적으로 출력하는 데이타 선택 수단, 데이타 선택 수단에서 선택적으로 출력된 데이타 중 인덱스 신호의 제1~제N-2비트를 반전시키고, 반전된 결과를 출력하는 반전 수단, 소정 레지스터 값 신호에 응답하여 데이타 선택 수단의 출력 및 반전 수단의 출력을 논리 조합하고, 논리 조합된 결과를 독출 레지스터 인에이블 신호로서 출력하는 독출 레지스터 제어 수단,및 소정 리타이어 신호에 응답하여 데이타 선택 수단의 출력 및 반전 수단의 출력을 논리 조합하고, 논리 조합된 결과를 기입 레지스터 인에이블 신호로서 출력하는 기입 레지스터 제어 수단으로 구성되는 것이 바람직하다.
이하, 본 발명에 따른 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치에 관하여 첨부된 도면을 참조하여 다음과 같이 설명한다.
도 1은 본 발명에 따른 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치를 설명하기 위한 바람직한 일실시예의 블럭도로서, 래치부 (100), 논리 조합부(110), 데이타 선택부(120), 인버터(130), 독출 레지스터 제어부(140) 및 기입 레지스터 제어부(150)로 구성된다. 여기에서, 래치부(100)는 제1래치(102), 제2래치(104), 제3래치(106)로 이루어지고, 논리 조합부(110)는 인버터(112), 인버터(114), 앤드 게이트(116)로 이루어지고, 데이타 선택부(120)는 제1래치 멀티플렉서(122), 제2래치 멀티플렉서(124) 및 제3래치 멀티플렉서(126)로 이루어진다.
도 1에 도시된 래치부(100)는 입력 단자 IN을 통하여 입력되는 소정의 n비트 인덱스 신호(INDEX)를 입력하고, 클럭 신호(CLK)에 응답하여 입력된 인덱스 신호 (INDEX)를 래치한다. 이 때 n비트의 인덱스 신호(INDEX)는 마이크로프로세서 내부의 실행 블럭과 메모리 블럭에서 이용되는 명령 세트(Instruction Set)의 변위 (Displacement)부분 n비트를 나타낸다. 이러한 인덱스 신호(INDEX)는 마이크로 프로세서 내부 레지스터의 어드레스를 나타내는 정보를 포함하고, 여기에서는 7비트라 가정한다. 제1래치(102)는 7비트의 신호 중 일반적인 범용 레지스터의 인덱스를 나타내는 5비트 신호 즉, 4:0비트의 신호를 클럭 신호(CLK)에 응답하여 래치한다. 제2래치(104)는 특수 레지스터의 인덱스를 나타내는 제6비트5의 신호를 클럭 신호(CLK)에 응답하여 래치하고, 제3래치 (106)는 특수 레지스터의 인덱스를 나타내는 제6비트7의 신호를 클럭 신호(CLK)에 응답하여 래치한다.
또한, 제1논리 조합부(110)의 인버터들(112,114)은 각각 제2래치(104)와 제3 래치(106)의 출력 신호를 반전하고, 반전된 신호를 앤드 게이트(116)의 제1 및 제2입력으로 인가한다. 앤드 게이트(116)는 인가된 제1입력과 제2입력을 논리곱한다. 데이타 선택부(122)의 제1래치 멀티플렉서(122)는 선택 신호인 단계 유지 신호(stage_hold)에 응답하여 5비트의 래치된 신호들을 선택적으로 출력하고, 제2래치 멀티플렉서(124)는 제2래치(104)의 출력 또는 제1논리 조합부(110)의 래치된 1비트를 단계 유지 신호(stage_hold)에 응답하여 선택적으로 출력하고, 제3래치 멀티플렉서(126)는 제3래치(106)의 출력 즉, 제7비트6의 래치된 1비트를 단계 유지 신호(stage_hold)에 응답하여 선택적으로 출력한다. 여기에서, 단계 유지 신호(stage_hold)는 래치부(100)로부터 출력된 인덱스 신호(INDEX)의 값을 판단하고, 프로세서 내부의 레지스터 파일(미도시)로부터 새로운 데이타를 독출할 것인지 또는 인에이블된 레지스터가 저장하고 있는 이전 데이타를 유지할 것인지를 결정하는 신호이다. 여기에서, 제1래치 멀티플렉서(122)에서 출력된 5비트의 데이타는 또한 인버터(130)에서 반전되고, 반전된 5비트 신호로서 출력된다. 즉, 데이타 선택부(120)의 제1래치 멀티플렉서(122)에서 출력된 5비트의 데이타와, 인버터(130)에서 반전된 5비트의 데이타 및 제2, 제3래치 멀티플렉서(124, 126)에서 출력된 각 1비트의 데이타는 각각 독출 레지스터 제어부(140) 및 기입 레지스터 제어부(150)로 입력된다.
따라서, 독출 레지스터 제어부(140)는 데이타 선택부(120)에서 선택적으로 출력된 데이타와 인버터(130)에서 출력된 데이타를 입력하고, 레지스터 값 신호(register_value)에 응답하여 해당되는 운영 체제에서의 독출 레지스터를 인에이블하기 위한 독출 레지스터 인에이블 신호를 생성하고, 생성된 신호를 출력 단자 OUT1를 통하여 출력한다. 여기에서 레지스터 값 신호(register_value)는 마이크로프로세서 내부의 실행(EXECUTION) 블럭에서 생성되는 신호이다. 또한, 기입 레지스터 제어부(150)는 데이타 선택부(120)에서 선택적으로 출력된 데이타를 소정의 방식으로 조합하여 디코딩하고, 디코딩된 신호와 외부의 프로세스 레지스터(미도시)로부터 입력되는 리타이어 신호(retire)를 논리 조합하여 해당되는 운영 체제에서의 기입 레지스터를 인에이블시키기 위한 기입 레지스터 인에이블 신호를 생성하고, 생성된 기입 레지스터 인에이블 신호를 출력 단자 OUT2를 통하여 출력한다.
본 발명은 하나의 마이크로프로세서가 다른 운영 체제를 지원하기 위해서 사용되는 내부 레지스터의 수행 조건을 인에이블시킴으로써 내부의 레지스터를 제어하는 장치를 구현한다. 즉, 마이크로프로세서 내부에서 사용되는 레지스터는 미리 설정된 디코딩 값을 갖고 있어서, 소정 명령 세트(instruction set)의 인덱스 신호에서 정보를 얻어 그 값을 디코딩함으로써 내부 레지스터와 같은 디코딩 값을 갖게 하여 원하는 내부 레지스터를 인에이블시킨다. 또한, 기입 또는 독출 레지스터가 서로 다른 기능을 수행하기 때문에 인덱스 신호의 디코딩된 값을 공통으로 이용하고, 서로 다른 동작을 구분해 줄 수 있는 특정 신호를 부가적으로 이용한다.
도 2는 도 1에 도시된 데이타 선택부(120)의 래치 멀티플렉서(122)를 설명하기 위한 회로도로서, 인버터(22), 래치들(24, 26) 및 플립플롭(28)으로 구성되고, 제2래치 멀티플렉서(124)와 제3래치 멀티플렉서(126)도 같은 구조를 갖는다.
즉, 도 2에 도시된 인버터(22)는 입력되는 단계 유지 신호(stage_hold)를 반전시켜 래치(24, 26)에 선택 신호로서 인가한다. 래치(26)는 인가되는 단계 유지 신호(stage_hold)에 응답하여 데이타 입력 단자 DIN을 통하여 입력되는 데이타를 래치하고, 래치된 데이타를 플립플롭(28)으로 인가한다. 만약, 도 2에 도시된 래치 멀티플렉서가 제1래치 멀티플렉서(122)라면, 데이타 입력 단자 DIN를 통하여 입력되는 데이타는 제1래치(102)의 출력 5비트가 되고, 제2래치 멀티플렉서 (124)라면, 입력되는 데이타는 제2래치(104) 또는 제1논리 조합부(110)의 출력 1비트가 되며, 제3래치 멀티플렉서(126)라면 입력되는 데이타는 제3래치(106)의 출력 1비트가 된다. 또한, 래치(24)는 인가되는 단계 유지 신호(stage_hold)에 응답하여 플립플롭(28)의 출력을 래치한다. 플립플롭(28)은 클럭 신호(CLK)에 응답하여 래치(24) 또는 래치(26)의 출력을 데이타 출력 단자 DOUT를 통하여 출력한다. 여기에서, 데이타 출력 단자 DOUT를 통하여 출력되는 데이타는 독출 레지스터 제어부(140) 또는 기입 레지스터 제어부(150)의 입력으로 인가된다.
상술한 바와 같이, 래치 멀티플렉서들(122, 124, 126)은 모두 도 2에 도시된 것과 같은 구조를 가지며, 그 동작을 상세히 설명하면 다음과 같다. 만약, 단계 유지 신호(stage_hold)가 하이 레벨 즉, 1이면, 데이타 선택부(120)에 저장된 이전 데이타를 유지하게 되므로, 래치(24)에 저장되어있던 이전 데이타가 플립플롭(28) 의 입력으로 인가되고, 플립플롭(28)은 인가된 신호를 클럭 신호(CLK)에 응답하여 데이타 출력 단자 DOUT를 통하여 출력한다. 따라서, 도 1의 독출 레지스터 제어부(140) 또는 기입 레지스터 제어부(150)에 인가되는 데이타는 인덱스 신호(INDEX)의 새로운 데이타가 아닌 이전 데이타가 된다.
한편, 단계 유지 신호(stage_hold)가 로우 레벨 즉, 0이면, 이전 데이타에서 새로운 데이타로 갱신하게 되므로 데이타 입력 단자 DIN을 통하여 입력되는 인덱스 신호(INDEX)의 데이타는 선택 신호인 단계 유지 신호 (stage_hold)에 응답하여 래치(26)에 래치되고, 플립플롭(28)의 입력으로 인가된다. 플립플롭(28)은 클럭 신호(CLK)에 응답하여 입력된 신호를 데이타 출력 단자 DOUT를 통하여 출력하고, 플립플롭(28)에서 출력된 데이타는 또한 래치(24)의 입력으로 피드백되어 래치(24)에 저장된다. 따라서, 도 1의 독출 레지스터 제어 부(140) 또는 기입 레지스터 제어부(150)의 입력으로는 새로운 인덱스 신호(INDEX)의 데이타가 인가된다. 또한, 이후에 인가되는 단계 유지 신호 (stage_hold)가 1이면, 래치(24)에 저장된 데이타가 플립플롭(28)을 통하여 데이타 출력 단자 DOUT를 통하여 출력된다.
도 3은 도 1에 도시된 기입 레지스터 제어부(150)을 설명하기 위한 바람직한 일실시예의 회로도로서, 디코딩부(300), 기입 인에이블 신호 생성부(310) 및 래치(330)로 구성된다. 여기에서 디코딩부(300)는 낸드 게이트들(302, 304), 낸드 게이트(306) 및 인버터(308)로 이루어지고, 기입 인에이블 신호 생성부(310)는 낸드 게이트들(316, 318)로 이루어진다.
상술한 바와 같이, 도 1에 도시된 데이타 선택부(120)에서 출력된 신호는 각각 독출 레지스터 제어부(140)와 기입 레지스터 제어부(150)로 인가된다. 즉, 디코딩부(300)의 낸드 게이트(302)는 데이타 선택부(130)와 인버터(130)에서 출력된 인덱스 신호(INDEX)들 중에서 제4~7비트6:3 즉, 4비트의 신호를 각 입력 단자 idx56, idx4, idx3를 통하여 입력하고, 입력된 신호들을 반전 논리곱한다. 도 3에 도시된 실시예에서, idx56를 통하여 입력되는 데이타는 도 1의 제1논리 조합부(110)의 출력을 나타내고, idx4를 통하여 입력되는 데이타는 제1래치 멀티플렉서(122)에서 출력된 제5비트4를 나타내고, idx3를 통하여 입력되는 데이타는 제1래치 멀티플렉서(122)의 각 데이타를 반전시킨 제4비트3를 나타낸다. 즉, 낸드 게이트(302)에 입력되는 데이타는 한정된 것이 아니며 설계 방식에 따라서 서로 다른 데이타를 이용하는 것이 가능하다. 또한, 디코딩부 (300)의 낸드 게이트(304)는 데이타 선택부(120) 또는 인버터(130)에서 출력된 인덱스 신호(INDEX) 중 제1~3비트2:0 즉, 3비트 데이타를 각 입력단자 idx2, idx1, idx0를 통하여 입력하고, 입력된 데이타를 반전 논리곱하여 낸드 게이트(306)의 제2입력으로 인가된다. 여기에서, 입력 단자 idx2와 idx1를 통하여 입력되는 데이타는 데이타 선택부(120)의 래치 멀티플렉서(122)에서 출력된 제3비트2 및 제2비트1를 나타내고, 입력 단자 idxO를 통하여 입력되는 데이타는 인버터(130)에서 반전된 제1비트0를 나타낸다.
예를 들어, 데이타 선택부(120)에서 출력되는 7비트의 데이타가 0000000 이라면, 낸드 게이트(302)의 각 입력 단자 idx56, idx4, idx3에 인가되는 데이타는 1, 0, 1이 되고, 그 출력은 하이 레벨 즉, 1이 된다. 또한, 낸드 게이트(304)의 각 입력 단자 idx2, idx1, idx0에 인가되는 데이타는 각각 1, 1, 0이 되고, 그 출력도 하이 레벨 즉, 1이 된다.
여기에서, 낸드 게이트(306)는 낸드 게이트(302, 304)에서 각각 반전 논리곱 한 신호를 입력하여 반전 논리곱하고, 반전 논리곱된 결과를 인버터(308)의 입력으로 인가한다. 인버터(308)에서 반전된 신호는 기입 인에이블 신호 생성부(310)의 낸드 게이트(316)에서 단계 유지 신호(stage_hold)와 반전 논리곱되고, 반전 논리곱된 결과는 다시 낸드 게이트(318)의 제1입력으로 인가된다. 상술한 바와 같이, 단계 유지 신호(stage_hold)는 제1래치부(100)를 통하여 인가된 인덱스 신호(INDEX)를 판단하여 새로운 데이타를 레지스터 파일 (미도시)로부터 가져올 것인지 또는 이전 데이타를 유지할 것인지를 결정하는 신호로서, 그 값이 '1'이면, 이전 데이타 값을 유지하고, '0'이면 레지스터 파일(미도시)로부터 새로운 데이타를 독출하게 된다. 또한, 낸드 게이트(318)는 제2입력으로 인가되는 리타이어 신호(retire)와 낸드 게이트(316)의 출력을 반전 논리곱함으로써 해당하는 기입 레지스터를 인에이블시킨다. 여기에서, 리타이어 신호(retire)는 마이크로프로세서가 현재 지원하는 운영 체제에서 인에이블되어 동작하는 기입 레지스터들이 현재의 레지스터 값을 디스에이블 하도록 명령하는 신호로서, 논리 '1'이면 이전 데이타를 리타이어시켜 새로운 데이타를 수신하고, 논리 '0'이면 새로운 데이타를 받지 않고 이전의 값을 유지한다. 즉, 리타이어 신호(retire)는 현재의 명령 수행 중에 명령 점프 또는 인터럽션이 발생하여 새로운 명령을 수행할 것인지를 결정하는 신호로서, 논리 '0'를 갖게 되면 새로운 명령을 수행하기 위한 기입 레지스터를 인에이블시키거나 다른 운영 체제 상에서 해당되는 기입 레지스터를 인에이블시킨다. 기입 인에이블 신호 생성부(310)에서 생성된 인에이블 신호는 인가되는 인덱스 신호(INDEX), 단계 유지 신호(stage_hold) 및 리타이어 신호(retire)에 응답하여 서로 다른 운영 체제를 지원하는 기입 레지스터를 인에이블시키기 위한 신호이다. 즉, 기입 인에이블 신호 생성부(310)에서 생성된 신호는 래치(330)의 입력으로 인가되어 클럭 신호(CLK)에 응답하여 래치되고, 래치된 신호는 출력 단자 OUT2를 통하여 기입 레지스터 인에이블 신호로서 출력된다. 상술한 바와 같이, 기입 레지스터 인에이블 신호는 도 3에 도시된 실시예 이외에도 다른 방식으로 구현될 수 있다.
도 4는 도 1에 도시된 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치의 독출 레지스터 제어부(140)를 설명하기 위한 바람직한 일실시예의 회로도로서, 제2디코딩부(400), 제3디코딩부(410), 제1독출 인에이블 신호 생성부(420), 제2독출 인에이블 신호 생성부(440), 논리 조합부(450, 460), 제1출력부(470) 및 제2출력부(480)로 구성된다. 여기에서, 제2디코딩부(400)는 낸드 게이트(402)와 인버터(404)로 이루어지고, 제3디코딩부(410)는 낸드 게이트 (412), 인버터들(414, 416) 및 앤드 게이트(418)로 이루어지고, 제1독출 인에이블 신호 생성부(420)는 인버터(422)와 낸드 게이트(424)로 이루어지고, 제2독출 인에이블 신호 생성부(440)는 인버터(442)와 낸드 게이트(444)로 이루어지고, 제1출력부(470)는 낸드 게이트(472)와 인버터(475)로 이루어지고, 제2출력부(480) 는 낸드 게이트(482)와 인버터(485)로 이루어진다.
즉, 도 4에 도시된 제2디코딩부(400)의 낸드 게이트(402)는 7비트의 인덱스 신호(INDEX) 중 제7비트6와 제6비트5를 각각 입력 단자 idx6과 idx5를 통하여 입력하고, 입력된 신호를 반전 논리곱한다. 도 4에 도시된 실시예에서 입력 단자 idx6를 통하여 입력되는 신호는 7비트 인덱스 신호(index) 중 제3래치 멀티플렉서 (126)의 출력을 나타내고, idx5를 통하여 입력되는 데이타는 제2래치 멀티플렉서 (124)의 출력인 제6비트5의 반전된 신호를 나타낸다. 낸드 게이트(402)에서 반전 논리곱된 결과는 인버터(404)에서 반전된다. 또한, 제3디코딩부(410)의 낸드 게이트(412)는 입력 단자 idx4, idx3 및 idx2를 통하여 입력된 데이타를 반전 논리곱한다. 즉, 도 4에 도시된 실시예에서 입력 단자 idx4를 통하여 입력되는 데이타는 도 1에 도시된 인버터(130)에서 반전된 제5비트4를 나타내고, 입력 단자 idx3을 통하여 입력되는 데이타는 제1래치 멀티플렉서(122)에서 출력된 제4비트3를 나타내고, 입력 단자 idx2를 통하여 입력되는 데이타는 제1래치 멀티플렉서(122)에서 출력된 제3비트2를 나타낸다. 또한, 인버터(414)는 제2래치 멀티플렉서(124)에서 출력된 제1논리 조합부(110)의 출력을 반전시키고, 인버터(416)는 낸드 게이트(412)의 출력을 반전 논리곱한다. 따라서, 앤드 게이트(418)는 인버터(414)와 인버터(416)의 출력을 논리곱한다. 이러한 과정으로 제2디코딩부(400)와 제3디코딩부(410)에서 출력된 신호는 각각 제1독출 인에이블 신호 생성부(420)와 제2독출 인에이블 신호 생성부(430)의 입력으로 각각 인가 된다. 도 3에 도시된 기입 레지스터 제어부(150)와 마찬가지로, 도 4에 도시된 독출 레지스터 제어부(140)의 제2및 제3디코딩부는 다른 방식으로 인덱스 신호를 조합하는 것이 가능하다.
한편, 제1독출 인에이블 신호 생성부(420)는 레지스터 값 신호 (register_value)를 인버터(422)에서 반전시키고, 반전된 결과와 제2디코딩부 (400)의 출력을 낸드 게이트(424)에서 반전 논리곱한다. 여기에서, 레지스터 값 신호(register_value)는 마이크로프로세서 내부 실행 블럭의 프로세스 레지스터 로부터 생성되는 신호로서, 로우 레벨 즉, 논리 '0'이면 이전 데이타를 그대로 유지하고, 하이 레벨 즉, 논리'1'이면 이전 데이타를 새로운 데이타로 변환하게 되며 새로운 운영 체제에서의 독출 레지스터를 인에이블시킬 수 있다. 즉, 제1독출 인에이블 신호 생성부(420)의 낸드 게이트(424)에서 반전 논리곱된 결과는 논리 조합부(450)의 입력으로 인가되고, 클럭 신호(CLK)에 응답하여 제1독출 인에이블 신호 생성부(420)의 출력을 래치한다. 논리 조합부(450)에서 래치된 결과는 제1출력부(370)의 낸드 게이트(472)의 제2입력으로 인가된다. 즉, 낸드 게이트(470)는 클럭 신호(CLK)를 제1입력으로 인가하고, 제2입력으로 인가되는 논리 조합부(450)의 출력과 반전 논리곱한다. 반전 논리곱된 출력은 인버터(475)의 입력으로 인가된다. 인버터(470)에서 반전된 신호는 제1독출 레지스터를 인에이블시키기 위한 제1독출 레지스터 인에이블 신호를 생성하고, 생성된 신호는 출력 단자 OUT11를 통하여 출력된다. 여기에서, 제1독출 레지스터 인에이블 신호는 특수 용도의 독출 레지스터를 인에이블시키시 위한 신호로서, 마이크로프로세서 내부의 레지스터에서 임의의 레지스터 값을 독출하여 다른 레지스터에 기입하기 위한 인에이블 신호이다.
한편, 도 4에 도시된 제3디코딩부(410)에서 출력된 신호는 인버터(442)에서 반전된 레지스터 값 신호(register_value)와 낸드 게이트(444)에서 반전 논리곱되고, 반전 논리곱된 결과는 논리 조합부(460)의 입력으로 인가된다. 따라서, 논리 조합부(460)의 내부에 존재하는 래치에서는 클럭 신호(CLK)에 응답하여 입력된 신호를 래치하고, 래치된 신호는 제2출력부(480)의 낸드 게이트 (482)의 입력으로 인가된다. 따라서, 제2출력부(480)의 낸드 게이트(482)는 논리 조합부(460)의 출력과 클럭 신호(CLK)를 반전 논리곱한다. 반전 논리곱된 결과는 인버터(485)에서 반전되어 제2독출 레지스터 인에이블 신호로서 생성되고, 생성된 제2독출 레지스터 인에이블 신호는 출력 단자 OUT12를 통하여 출력된다. 여기에서, 제2독출 레지스터 인에이블 신호는, 현재의 인터럽트 모드를 유지하다가 새로운 인터럽트가 발생했을때 그 인터럽트를 인에이블시키기 위한 신호이다. 이러한 독출 레지스터를 인에이블시키는 신호는 도 4에 도시된 2가지의 경우 이외에도 여러 가지의 방법으로 생성될 수 있다.
상기와 같은 방식으로 명령 세트의 인덱스 신호(INDEX)와 기입 또는 독출 시의 특정 신호들 즉, 리타이어 신호(retire) 및 레지스터 값 신호(register_value)를 이용함으로써 서로 다른 운영 체제를 지원하는 마이크로 프로세서에서 원하는 독출 또는 기입 레지스터를 인에이블시킬 수 있다.
본 발명에 따르면, 명령 세트 내부의 인덱스 신호(INDEX) 및 독출 타이밍과 기입 타이밍에 이용되는 특정 신호들을 이용하여 다중 운영 체제에서의 기입 또는 독출 레지스터를 인에이블시키는 신호를 생성할 수 있으며, 따라서 별도의 독출 또는 기입을 위한 블럭을 구현하지 않아도 되기 때문에 칩 사이즈면에서도 상당히 효율적이라는 효과가 있다.

Claims (9)

  1. 제1~제3래치를 구비하고, 상기 제1~제3래치는 클럭 신호에 응답하여 소정 명령 세트의 N비트 인덱스 신호 중 제1~N-2비트와, 제N-1비트 및 제N비트를 각각 래치하는 래치 수단;
    상기 래치 수단의 각 출력을 입력으로하고, 소정 단계 유지 신호에 응답하여 상기 입력된 데이타 또는 이전 데이타를 선택적으로 출력하는 데이타 선택 수단;
    상기 데이타 선택 수단에서 선택적으로 출력된 데이타 중 상기 인덱스 신호의 제1~제N-2비트를 반전시키고, 상기 반전된 결과를 출력하는 반전 수단;
    소정 레지스터 값 신호에 응답하여 상기 데이타 선택 수단의 출력 및 상기 반전 수단의 출력을 논리 조합하고, 상기 논리 조합된 결과를 독출 레지스터 인에이블 신호로서 출력하는 독출 레지스터 제어 수단; 및
    소정 리타이어 신호에 응답하여 상기 데이타 선택 수단의 출력 및 상기 반전 수단의 출력을 논리 조합하고, 상기 논리 조합된 결과를 기입 레지스터 인에이블 신호로서 출력하는 기입 레지스터 제어 수단을 포함하는 것을 특징으로하는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
  2. 제1항에 있어서, 상기 마이크로프로서의 레지스터 제어 장치는,
    상기 래치 수단의 제2래치 및 상기 제3래치의 출력을 각각 반전시키고, 상기 반전된 결과를 논리곱하는 제1논리 조합 수단을 더 포함하는 것을 특징으로하는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
  3. 제2항에 있어서, 상기 데이타 선택 수단은,
    제1~제3래치 멀티플렉서들을 구비하고, 상기 제1~제3래치 멀티플렉서들은,
    상기 단계 유지 신호를 반전시키고, 반전된 단계 유지 신호로서 출력하는 제1인버터;
    상기 제1~제3래치 또는 상기 제1논리 조합 수단의 출력을 상기 단계 유지 신호 또는 반전된 상기 단계 유지 신호에 응답하여 래치하는 제4래치;
    상기 단계 유지 신호 또는 상기 반전된 단계 유지 신호에 응답하여 이전 데이타를 래치하는 제5래치; 및
    상기 제4래치 또는 제5래치의 출력을 데이타 입력하고, 상기 클럭 신호에 응답하여 상기 데이타를 출력하거나, 상기 데이타를 상기 제5래치의 입력으로 인가하는 플립플롭을 포함하는 것을 특징으로하는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
  4. 제2항에 있어서, 상기 기입 레지스터 제어 수단은,
    상기 데이타 선택 수단에서 선택적으로 출력된 신호를 디코딩하는 제1디코딩 수단;
    상기 디코딩된 신호와 상기 단계 유지 신호를 논리 조합하고, 상기 논리 조합된 결과를 상기 리타이어 신호에 응답하여 기입 인에이블 신호로서 생성하는 기입 인에이블 신호 생성 수단; 및
    상기 기입 인에이블 신호를 래치하고, 상기 래치된 결과를 상기 클럭 신호에 응답하여 상기 기입 레지스터 인에이블 신호로서 출력하는 제6래치를 포함하는 것을 특징으로하는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
  5. 제4항에 있어서, 상기 제1디코딩 수단은,
    상기 데이타 선택 수단의 출력 중 상기 N비트 인덱스 신호의 제N-3~제N비트를 조합하고, 상기 조합된 신호를 반전 논리곱하는 제1반전 논리곱 수단;
    상기 데이타 선택 수단의 출력 중 상기 N비트 인덱스 신호의 제1~제N-4비트를 조합하고, 상기 조합된 신호를 반전 논리곱하는 제2반전 논리곱 수단;
    상기 제1반전 논리곱 수단의 출력과 상기 제2반전 논리곱 수단의 출력을 반전 논리곱하는 제3반전 논리곱 수단; 및
    상기 제3반전 논리곱 수단의 출력을 반전시키는 제4인버터를 포함하는 것을 특징으로하는 다중 운영체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
  6. 제4항에 있어서, 상기 기입 인에이블 신호 생성 수단은,
    상기 제4인버터의 출력과 상기 단계 유지 신호를 반전 논리곱하는 제4반전 논리곱 수단; 및
    상기 제4반전 논리곱 수단의 출력과 상기 리타이어 신호를 반전 논리곱하는 제5반전 논리곱 수단을 포함하는 것을 특징으로하는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
  7. 제4항에 있어서, 상기 독출 레지스터 제어 수단은,
    상기 데이타 선택 수단의 출력 중 상기 N비트 인덱스 신호의 제N-1~제N비트를 조합하여 디코딩하고, 상기 디코딩된 결과를 출력하는 제2디코딩 수단;
    상기 데이타 선택 수단의 출력 중 상기 N비트 인덱스 신호의 제N-4~제N비트를 조합하여 디코딩하고, 상기 디코딩된 결과를 출력하는 제3디코딩 수단;
    상기 제2디코딩 수단의 출력과 상기 레지스터 값 신호의 반전된 신호를 반전 논리곱하고, 상기 반전 논리곱된 결과를 제1독출 인에이블 신호로서 출력하는 제1독출 인에이블 신호 생성 수단;
    상기 제3디코딩 수단의 출력과 상기 레지스터 값 신호의 반전된 신호를 반전 논리곱하고, 상기 반전 논리곱된 결과를 제2독출 인에이블 신호로서 출력하는 제2독출 인에이블 신호 생성 수단;
    상기 제1독출 인에이블 신호 생성 수단의 출력을 상기 클럭 신호에 응답하여 래치하는 제2논리 조합 수단;
    상기 제2독출 인에이블 신호 생성 수단의 출력을 상기 클럭 신호에 응답하여 래치하는 제3논리 조합 수단;
    상기 클럭 신호에 응답하여 상기 제2논리 조합 수단의 출력을 제1독출 레지스터 인에이블 신호로서 출력하는 제1출력부; 및
    상기 클럭 신호에 응답하여 상기 제3논리 조합 수단의 출력을 제2독출 레지스터 인에이블 신호로서 출력하는 제2출력부를 포함하는 것을 특징으로하는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
  8. 제5항에 있어서, 상기 제2디코딩 수단은,
    상기 데이타 선택부의 출력 중 상기 7비트 인덱스 신호의 제N비트와 상기 제N-1비트의 조합을 반전 논리곱하는 제6반전 논리곱 수단; 및
    상기 제6반전 논리곱 수단의 출력을 반전시키는 제4인버터를 포함하는 것을 특징으로하는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
  9. 제8항에 있어서, 상기 제3디코딩 수단은,
    상기 데이타 선택 수단의 출력 중 상기 N비트 인덱스 신호의 제N-4~제N-2비트의 조합을 반전 논리곱하는 제7반전 논리곱 수단;
    상기 데이타 선택 수단의 출력 중 상기 N비트 인덱스 신호의 제N-1비트 및 제N비트의 조합을 빈전시키는 제5인버터;
    상기 제7반전 논리곱 수단의 출력을 반전시키는 출력을 반전시키는 제6인버터; 및
    상기 제5인버터의 출력과 상기 제6인버터의 출력을 논리곱하는 제2논리곱 수단을 포함하는 것을 특징으로하는 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치.
KR1019980000359A 1998-01-09 1998-01-09 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치 KR19990065181A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980000359A KR19990065181A (ko) 1998-01-09 1998-01-09 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980000359A KR19990065181A (ko) 1998-01-09 1998-01-09 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치

Publications (1)

Publication Number Publication Date
KR19990065181A true KR19990065181A (ko) 1999-08-05

Family

ID=65728315

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980000359A KR19990065181A (ko) 1998-01-09 1998-01-09 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치

Country Status (1)

Country Link
KR (1) KR19990065181A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582911A (zh) * 2017-09-28 2019-04-05 三星电子株式会社 用于实行卷积的计算装置及实行卷积的计算方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582911A (zh) * 2017-09-28 2019-04-05 三星电子株式会社 用于实行卷积的计算装置及实行卷积的计算方法
CN109582911B (zh) * 2017-09-28 2023-11-21 三星电子株式会社 用于实行卷积的计算装置及实行卷积的计算方法

Similar Documents

Publication Publication Date Title
KR19980032137A (ko) 벡터프로세서를 위한 요소선택 메카니즘
KR970066864A (ko) 가변 파이프 라인 단수의 데이터 처리 장치
KR100493028B1 (ko) 반도체 메모리 장치에서 mrs 코드를 생성하는 회로 및상기 mrs 코드를 생성하는 방법
KR100558492B1 (ko) 반도체 메모리 장치 및 이 장치의 테스트 패턴 데이터발생방법
KR100242453B1 (ko) 반도체 장치
KR19990065181A (ko) 다중 운영 체제를 지원하는 마이크로프로세서의 레지스터 제어 장치
KR940002478B1 (ko) 정보 처리장치
KR960013358B1 (ko) 비트 슬라이스 프로세서용 레지스터 파일
JPH1091430A (ja) 命令解読装置
KR100264194B1 (ko) 반도체 메모리 장치
EP0136699A2 (en) Programmable controller
JPH0795269B2 (ja) 命令コードのデコード装置
US6175518B1 (en) Remote register hierarchy accessible using a serial data line
KR960016401B1 (ko) 레지스터 페이지 포인터를 이용한 레지스터 페이지간의 페이지 선택회로
KR100902048B1 (ko) 반도체 장치의 어드레스 수신회로
JP3540359B2 (ja) 集積回路のテスト回路
KR0172309B1 (ko) 개선된 레지스터 화일 제어장치
JP4682786B2 (ja) マイクロコンピュータ
KR100207651B1 (ko) 메모리 엑세스 장치
JP3117214B2 (ja) シーケンサのマイクロプログラム制御方式
KR920006274B1 (ko) 마이크로 프로세서
JPS6386046A (ja) メモリ・セレクト方式
JPH09114779A (ja) 情報処理装置のウェイト制御方式
JPH0844613A (ja) Lsi内蔵ramの疑似初期化方式
JPH0326412B2 (ko)

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination