KR100471137B1 - 단축된 레지스터 클리어 인스트럭션 실행 사이클을 갖는 데이터처리 장치 - Google Patents

단축된 레지스터 클리어 인스트럭션 실행 사이클을 갖는 데이터처리 장치 Download PDF

Info

Publication number
KR100471137B1
KR100471137B1 KR1019970057481A KR19970057481A KR100471137B1 KR 100471137 B1 KR100471137 B1 KR 100471137B1 KR 1019970057481 A KR1019970057481 A KR 1019970057481A KR 19970057481 A KR19970057481 A KR 19970057481A KR 100471137 B1 KR100471137 B1 KR 100471137B1
Authority
KR
South Korea
Prior art keywords
register
instruction
clear
data
bus
Prior art date
Application number
KR1019970057481A
Other languages
English (en)
Other versions
KR19990035648A (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 삼성전자주식회사
Priority to KR1019970057481A priority Critical patent/KR100471137B1/ko
Publication of KR19990035648A publication Critical patent/KR19990035648A/ko
Application granted granted Critical
Publication of KR100471137B1 publication Critical patent/KR100471137B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling

Landscapes

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

Abstract

본 발명은 데이터 처리 장치(Data Processor)에 관한 것으로, 구체적으로는 단축된 레지스터 클리어 인스트럭션(Register Clear Instruction) 실행 사이클(Excution Cycles)을 구비하는 데이터 처리 장치에 관한 것으로, 클리어 레지스터 동작을 위한 가상 레지스터(70)를 구비하여 클리어 레지스터 인스트럭션의 수행 시에 상기 가상 레지스터(70)는 레지스터 버스(60)로 제로 데이터를 출력하여 해당되는 레지스터는 제로로 클리어 된다. 상기 가상 레지스터(70)는 상기 레지스터 버스(60)를 풀다운(Pull Down) 시키는 트랜지스터(61)로 구성이 가능하여, 클리어 레지스터 인스트럭션의 수행 시에 인스트럭션 디코더(80)의 제어를 받아 턴온 되어 상기 레지스터 버스(60)를 풀다운 시킴으로 해당되는 레지스터가 제로 데이터로 클리어 된다. 이와 같은 본 발명에 의하면 종래와 같은 제로 즉치 데이터의 패치 사이클을 수행할 필요가 없음으로 클리어 레지스터 인스트럭션 동작 시간이 단축되는 효과가 있다.

Description

단축된 레지스터 클리어 인스트럭션 실행 사이클을 갖는 데이터 처리 장치{DATA PROCESSOR HAVING REDUCED REGISTER-CLEAR-INSTRUCTION EXECUTION CYCLES}
본 발명은 데이터 처리 장치(Data Processor)에 관한 것으로, 구체적으로는 단축된 레지스터 클리어 인스트럭션(Register Clear Instruction) 실행 사이클을 갖는 데이터 처리 장치에 관한 것이다.
종래의 마이크로 컨트롤러는 내부의 특정 레지스터(Register)나 특정 번지(address)의 메모리(Memory)를 클리어(Clear) 하기 위해서는 제로 즉치 데이터(Zero Immediate Data)를 사용하는 인스트럭션(Instruction)을 수행하였다.
구체적으로, 특정 레지스터를 클리어 하는 경우 ROM(Read Only Memory)으로부터 제로 즉치 데이터를 패치(Fetch)하는 사이클(Cycle)이 필요하여 전체적으로 클리어 동작이 완료되려면 2 사이클의 인스트럭션이 필요하게 된다. 그리고 특정 번지의 메모리를 클리어 하려는 경우에는 3 사이클의 인스트럭션이 수행되어야 한다. 또한 제로 플레그(Zero Flag)를 테스트하기 위한 인스트럭션의 경우에도 제로 즉치 데이터가 필요하게 되므로 제로 즉치 데이터의 패치 사이클이 수행되었다.
도 1은 종래의 마이크로 컨트롤러의 CPU 내의 레지스터들을 보여주는 회로적인 블록도이다.
도 1에 도시된 바와 같이, 종래의 마이크로 컨트롤러는 CPU 내부에 여러 레지스터들을 구비하고 있다. ROM(미도시됨)으로부터 인스트럭션을 입력하는 인스트럭션 레지스터(Instruction Register)(20)와, 상기 인스트럭션 레지스터(20)의 인스트럭션을 디코딩(decoding)하는 인스트럭션 디코더(Instruction decoder)(10)와, 상기 ROM으로부터 데이터를 제공받는 데이터 레지스터(Data Register)(30)와, R0∼R3 등의 여러 개의 레지스터들(41∼44)로 구성되는 일반 레지스터(40)와, 스텍 포인터(stack pointer)를 저장하기 위한 스텍 포인터 레지스터(stack pointer register)(50)를 포함하여 구성된다. 그리고 참조부호 60은 레지스터 버스(Register Bus)이다.
이러한 구성을 갖는 마이크로 컨트롤러의 클리어 레지스터 인스트럭션(Clear Register Instruction) 동작과 클리어 메모리 인스트럭션(Clear Memory Instruction) 동작은 다음과 같다.
먼저 클리어 레지스터 동작으로 예를 들어, Clr.w Ro 는 Move.w #$0000, R0의 동작을 하게 된다. 이 16비트 인스트럭션을 보면, 우선 인스트럭션을 패치하는 사이클이 수행된다. 그리고 인스트럭션이 디코딩되어 즉치 데이터가 필요한 것이 인식되어 상기 ROM에서 #$0000 값을 패치하는 사이클이 수행된다. 이와 같이 총 2 사이클의 동작이 수행되어 클리어 레지스터 동작이 완료된다.
그리고 클리어 메모리 동작으로 예를 들어, 상기 스텍 포인터(50)가 가리키는 어드레스의 메모리 셀을 클리어 하는 경우로 Clr.w (sp)는 Move.w #$0000, R0; Sto.w R0, (sp)의 5사이클 인스트럭션이 수행된다.
다른 예로서, 제로 플레그를 테스트하기 위한 Test.w #$0000, R0 인스트럭션의 경우도 역시 제로 즉치 인스트럭션을 패치하기 위한 사이클이 필요하게 된다.
이상과 같이, 종래의 마이크로 컨트롤러 등의 데이터 처리 장치는 특정 레지스터나, 임의의 어드레스의 메모리 셀을 클리어하는 동작과, 제로 플레그를 테스트하기 위한 동작 등의 클리어 동작을 수행하는 경우에 반드시 제로 즉치 데이터를 패치하는 사이클이 필요 되므로 그 수행 시간이 그 만큼 지연되는 문제점이 있어 왔다.
따라서, 본 발명의 목적은 상술한 제반 문제점을 해결하기 위해 제안된 것으로서 제로 즉치 데이터를 패치하는 사이클을 제거하여 인스트럭션 효율을 증가 시킬 수 있는 데이터 처리 장치를 제공하는데 있다.
상술한 바와 같은 본 발명의 목적을 달성하기 위한 본 발명의 특징에 의하면, 데이터 처리장치는 : 클리어 레지스터 동작시에 레지스터 버스로 클리어 레지스터를 위한 소정의 데이터를 출력하는 가상 레지스터 수단과; 인스트럭션을 디코딩하여 상기 인스트럭션이 상기 클리어 레지스터 동작을 위한 인스트럭션인 경우, 상기 가상 레지스터 수단이 상기 레지스터 버스로 상기 클리어 레지스터 동작을 위한 소정의 데이터를 출력하도록 하는 인스트럭션 디코더 수단을 포함한다.
이 실시예에 있어서, 상기 가상 레지스터 수단은 상기 인스트럭션 디코더 수단의 제어에 의해 턴온되어 상기 레지스터 버스를 풀다운 시키는 복수개의 트랜지스터를 포함한다.
이상과 같은 본 발명에 의하면, 클리어 레지스터 동작시에 상기 트랜지스터는 상기 레지스터 버스를 풀다운 시키므로 해당되는 레지스터가 클리어 된다.
(실시예)
이하 본 발명에 따른 실시예를 첨부된 도면을 참조하여 상세히 설명한다.
도 2는 본 발명의 바람직한 실시예에 따른 마이크로 컨트롤러의 CPU 내에 가상 레지스터가 구비된 것을 보여주는 회로적인 블록도이다. 도 2에 있어서 도 1에 도시된 구성부분과 동일한 구성 부분은 동일한 참조번호를 병기한다.
도 2를 참조하면, 본 발명의 실시예에 따른 마이크로 컨트롤러는 CPU 내부에 여러 레지스터를 구비하고 있으며 특히, 본 발명의 신규한 가상 레지스터(70)를 포함하고 있다. 구체적으로, ROM(미도시됨)으로부터 인스트럭션을 입력하는 인스트럭션 레지스터(Instruction Register)(20)와, 상기 인스트럭션 레지스터(20)의 인스트럭션을 디코딩(decoding)하는 인스트럭션 디코더(Instruction decoder)(80)와, 상기 ROM으로부터 또는 상기 인스트럭션 디코더(20)로부터 데이터를 제공받는 데이터 레지스터(Data Register)(30)와, R0∼R3 등의 여러 개의 레지스터들(41∼44)로 구성되는 일반 레지스터(40)와, 스텍 포인터(stack pointer)를 저장하기 위한 스텍 포인터 레지스터(stack pointer register)(50)를 포함하여 구성된다. 그리고 참조부호 60은 레지스터 버스(Register Bus)이다.
상기 가상 레지스터(70)는 NMOS 트랜지스터(61)로 구성 가능하며, 상기한 레지스터들이 선택되지 않는 경우에 상기 인스트럭션 디코더(80)의 제어를 받아 인에이블되어 상기 레지스터 버스(60)를 풀다운(Pull Down) 시키게 된다. 즉, 상기 NMOS 트랜지스터(61)는 풀다운 저항으로 동작하게 되는 것이다.
구체적으로, 인스트럭션이 상기한 레지스터들 중에 아무것도 선택하지 않는 경우에 상기 NMOS 트랜지스터(61)는 턴온되어 상기 레지스터 버스(60)는 풀 다운된다. 그러므로 상기 NMOS 트랜지스터(61)는 가상 레지스터(60)로서 정의하여 사용이 가능하다. 상기 가상 레지스터(60)를 R4 레지스터라 정의하면, R4 레지스터는 클리어 동작을 위한 제로 값을 출력하는 레지스터로서 동작하는 것이 된다. 상기 가상 레지스터(60)를 이용하여 클리어 레지스터 동작을 수행하는 예를 들면 다음과 같다.
Clr.w R0의 인스트럭션은 Move.w R4, R0으로 표현 될 수 있고, 이 인스트럭션이 수행되면, 상기 NMOS 트랜지스터(61)는 턴온되어 상기 레지스터 버스(60)는 풀 다운되어 상기 R0 레지스터(41)에는 제로 값이 설정되게 된다. 그러므로 즉치 데이터를 ROM(미도시됨)으로부터 패치 할 필요가 없게 된다. 따라서 즉치 데이터를 패치하는 사이클이 없게 됨으로서 인스트럭션 수행 시간이 단축되게 된다.
다른 예로서, Clr.w (sp)도 Move.w R4, R0; Sto.w R0, (sp)로 되며, Test.w #$0000, R0 도 Test.w R4, R0으로 된다. 이와 같이, 즉치 데이터를 ROM으로부터 패치하는 사이클이 생략되므로서 인스트럭션 수행시간이 단축된다.
이상과 같은 본 발명에 의하면, 클리어 레지스터나, 클리어 메모리 동작 등에 있어서 종래에 ROM으로부터 제로 즉치 데이터를 패치하는 사이클이 필요 없게 됨으로서 인스트럭션 수행시간이 단축되는 효과가 있다.
도 1은 종래의 마이크로 컨트롤러의 CPU 내의 레지스터들을 보여주는 회로적인 블록도; 그리고
도 2는 본 발명의 바람직한 실시예에 따른 마이크로 컨트롤러의 CPU 내에 가상 레지스터가 구비된 것을 보여주는 회로적인 블록도이다.
*도면의 주요 부분에 대한 부호의 설명*
10 : 인스트럭션 디코더 20 : 인스트럭션 레지스터
30 : 데이터 레지스터 40 : 일반 레지스터
50 : 스텍 포인터 60 : 레지스터 버스
70 : 가상 레지스터

Claims (2)

  1. 데이터 처리 장치에 있어서:
    클리어 레지스터 동작시에 레지스터 버스(60)로 클리어 레지스터를 위한 소정의 데이터를 출력하는 가상 레지스터 수단(70)과;
    인스트럭션을 디코딩하여 상기 인스트럭션이 상기 클리어 레지스터 동작을 위한 인스트럭션인 경우, 상기 가상 레지스터 수단(70)이 상기 레지스터 버스(60)로 상기 클리어 레지스터 동작을 위한 소정의 데이터를 출력하도록 하는 인스트럭션 디코더 수단(80)을 포함하는 것을 특징으로 하는 데이터 처리 장치.
  2. 제 1 항에 있어서,
    상기 가상 레지스터 수단(70)은 상기 인스트럭션 디코더 수단(80)의 제어에 의해 턴온되어 상기 레지스터 버스(60)를 풀다운 시키는 복수개의 트랜지스터(61)를 포함하는 것을 특징으로 하는 데이터 처리 장치.
KR1019970057481A 1997-10-31 1997-10-31 단축된 레지스터 클리어 인스트럭션 실행 사이클을 갖는 데이터처리 장치 KR100471137B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970057481A KR100471137B1 (ko) 1997-10-31 1997-10-31 단축된 레지스터 클리어 인스트럭션 실행 사이클을 갖는 데이터처리 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970057481A KR100471137B1 (ko) 1997-10-31 1997-10-31 단축된 레지스터 클리어 인스트럭션 실행 사이클을 갖는 데이터처리 장치

Publications (2)

Publication Number Publication Date
KR19990035648A KR19990035648A (ko) 1999-05-15
KR100471137B1 true KR100471137B1 (ko) 2005-06-07

Family

ID=37302771

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970057481A KR100471137B1 (ko) 1997-10-31 1997-10-31 단축된 레지스터 클리어 인스트럭션 실행 사이클을 갖는 데이터처리 장치

Country Status (1)

Country Link
KR (1) KR100471137B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939755A (en) * 1986-11-12 1990-07-03 Nec Corporation Timer/counter using a register block
KR930001210A (ko) * 1991-06-06 1993-01-16 세끼모또 타다히로 비트 클리어 및 레지스터 초기화 기능을 갖는 반도체 기억 회로
US5551045A (en) * 1988-12-21 1996-08-27 Mitsubishi Denki Kabushiki Kaisha Microprocessor with reset execution from an arbitrary address
KR960035754U (ko) * 1995-04-24 1996-11-21 삼성전자주식회사 트랜지스터를 이용한 초기화 기능을 갖춘 플립플롭
KR970049526A (ko) * 1995-12-27 1997-07-29 문정환 리셋트 발생회로

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4939755A (en) * 1986-11-12 1990-07-03 Nec Corporation Timer/counter using a register block
US5551045A (en) * 1988-12-21 1996-08-27 Mitsubishi Denki Kabushiki Kaisha Microprocessor with reset execution from an arbitrary address
KR930001210A (ko) * 1991-06-06 1993-01-16 세끼모또 타다히로 비트 클리어 및 레지스터 초기화 기능을 갖는 반도체 기억 회로
KR960035754U (ko) * 1995-04-24 1996-11-21 삼성전자주식회사 트랜지스터를 이용한 초기화 기능을 갖춘 플립플롭
KR970049526A (ko) * 1995-12-27 1997-07-29 문정환 리셋트 발생회로

Also Published As

Publication number Publication date
KR19990035648A (ko) 1999-05-15

Similar Documents

Publication Publication Date Title
KR950033803A (ko) 다중 비트 시프트 장치, 이것을 이용한 데이타 프로세서, 및 다중 비트 시프트 방법
US6832305B2 (en) Method and apparatus for executing coprocessor instructions
GB1426748A (en) Small micro-programme data processing system employing multi- syllable micro instructions
US5502827A (en) Pipelined data processor for floating point and integer operation with exception handling
US6742110B2 (en) Preventing the execution of a set of instructions in parallel based on an indication that the instructions were erroneously pre-coded for parallel execution
JPH05143323A (ja) タイプ1ダイアデイツク命令を実行する方法及び装置
KR960011683A (ko) 연산 코드의 일부로 사용되는 부분을 포함한 오퍼랜드 필드를 갖는 명령어를 실행하는 마이크로프로세서
KR100471137B1 (ko) 단축된 레지스터 클리어 인스트럭션 실행 사이클을 갖는 데이터처리 장치
US9983872B2 (en) Conditional selection of data elements
JP2806075B2 (ja) マイクロコンピュータ
US8583897B2 (en) Register file with circuitry for setting register entries to a predetermined value
EP1177499B1 (en) Processor and method of executing instructions from several instruction sources
US20110238964A1 (en) Data processor
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JPH1124923A (ja) マイクロプロセッサ
JP2001092658A (ja) データ処理回路及びデータ処理装置
US5345568A (en) Instruction fetch circuit which allows for independent decoding and execution of instructions
JP2689894B2 (ja) マイクロプログラム制御型情報処理装置
KR19990003607A (ko) 가변 명령어 길이를 갖는 디에스피의 페치구조
JPH0877037A (ja) ジャミング装置
JPH06324884A (ja) データ処理装置
JPH03164945A (ja) データ処理装置
JPH04287227A (ja) 演算処理装置
JP2002244846A (ja) プロセッサとその回路ソースを記録したコンピュータ読み取り可能な記録媒体、及びプロセッサ用の処理プログラムを機械語に変換するアセンブラ
JPS62237530A (ja) プログラムカウンタ回路

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee