KR100484247B1 - 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의인스트럭션 디코더 장치 - Google Patents

재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의인스트럭션 디코더 장치 Download PDF

Info

Publication number
KR100484247B1
KR100484247B1 KR10-2000-0084517A KR20000084517A KR100484247B1 KR 100484247 B1 KR100484247 B1 KR 100484247B1 KR 20000084517 A KR20000084517 A KR 20000084517A KR 100484247 B1 KR100484247 B1 KR 100484247B1
Authority
KR
South Korea
Prior art keywords
decoder
instruction
start address
rci
decoding
Prior art date
Application number
KR10-2000-0084517A
Other languages
English (en)
Other versions
KR20020055159A (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 KR10-2000-0084517A priority Critical patent/KR100484247B1/ko
Publication of KR20020055159A publication Critical patent/KR20020055159A/ko
Application granted granted Critical
Publication of KR100484247B1 publication Critical patent/KR100484247B1/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/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • 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

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)

Abstract

사용자가 명령어를 새롭게 프로그램이 가능한 RCI 인스트럭션 디코더와, 마이크로 코드가 저장되어 있으며 프로그램 가능한 부분이 설정되어 있는 RCI 마이크로코드 ROM과 마이크로 코드의 어드레스를 지정해주는 마이크로 코드 시퀀서로 구성되는 마이크로 컨트롤러와, 데이터패스를 제어하기 위한 데이터패스 제어 디코더와, 데이터 패스를 포함하여 이루어지는 마이크로 컨트롤러 유니트에 있어서, 상기한 RCI 인스트럭션 디코더는, 현재 디코딩되는 명령어의 포맷을 디코딩 하기 위한 포맷 디코더와, 상기한 포맷 디코더의 결과를 받아 명령어로부터 즉시값(imm_val) 및 레지스터 인덱스(reg_idx)를 추출해내기 위한 즉시값 및 레지스터 인덱스 디코더와, 설계시 고정된 명령어 세트를 디코딩하기 위한 시작 어드레스 디코더와, 사용자가 새로 정의한 명령어에 대한 마이크로-코드 시작 어드레스를 생성해내기 위한 프로그램가능 시작 어드레스 디코더와, 언디파인드 신호(ud1, ud2)를 논리곱하여 출력하는 앤드 게이트를 포함하여 이루어지며, 인스트럭션 디코더 장치에 관한 것으로서, 더욱 상세하게 말하자면 새로운 명령어를 효율적으로 추가할 수 있도록 하여 사용자가 임의로 명령어를 새롭게 정의하여 사용할 수 있도록 하는, 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치를 제공한다.

Description

재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치{An instruction decoder for a RCI MCU}
본 발명은 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치에 관한 것으로서, 더욱 상세하게 말하자면 새로운 명령어를 효율적으로 추가할 수 있도록 하여 사용자가 임의로 명령어를 새롭게 정의하여 사용할 수 있도록 하는, 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치에 관한 것이다.
일반적으로 마이크로 컨트롤러 유니트(Micro Controller Unit, MCU)는 인스트럭션 세트(instruction set)가 고정되어 있는데, 상기한 인스트럭션 세트는 마이크로 컨트롤러 유니트가 사용하는 일군의 명령을 집합하여 놓은 것으로서, 마이크로 컨트롤러 유니트가 쓰일 응용분야를 가정하여 정해지게 된다.
도 1에는 마이크로-코드 ROM 방식의 일반적인 마이크로 컨트롤러 유니트의 간단한 디코딩 로직과 제어로직의 구성이 도시되어 있다.
도 1에서 인스트럭션 디코더(10')는 현재 수행할 인스트럭션이 무엇인지를 디코딩하는 회로이다. 상기한 인스트럭션 디코더(10')로부터 디코딩의 결과로 나오는 시작 어드레스 신호(start_addr)는 마이크로 컨트롤러(20')의 마이크로-코드 ROM(21')에서 이 명령을 수행하기 위한 마이크로-코드들의 시작번지를 나타낸다. 인스트럭션 디코더(10')로부터 출력되는 레지스터 인덱스 신호(reg_idx)는 명령어에 들어 있는 상수값으로서 데이터패스 제어 디코더(30')에서 연산에 사용되는 값이다. 또한, 인스트럭션 디코더(10')로부터 출력되는 언디파인드 신호(ud)는 디코딩한 명령어가 정의되지 않은 명령어임을 마이크로 컨트롤러(20')에 알리는 신호이다.
마이크로 컨트롤러(20')는 마이크로-코드 시퀀서(22')와 마이크로-코드 ROM(21')으로 이루어져 있다. 상기한 마이크로-코드 시퀀서(22')는 동작상태에 따라 어떤 마이크로-코드를 수행할 것인지를 결정하는 역할을 하고, 상기한 마이크로-코드 ROM(21')은 명령어 수행에 필요한 마이크로-코드들(Micro-code)을 저장하고 있는 ROM이다. 상기한 마이크로-코드(Micro-code)는 인스트럭션 디코더(10')로부터 출력되는 레지스터 인덱스 신호(reg_idx)와 함께 데이터패스 제어 디코더(30')에 입력되어 실제 연산을 수행하는 데이터패스(40')를 제어하여 데이터패스(40')가 명령어의 수행에 필요한 연산을 수행하도록 한다.
상기한 바와 같이, 일반적인 마이크로 컨트롤러 유니트의 경우에 인스트럭션 디코더(10')와 마이크로-코드 ROM(21')이 고정되어 있으므로 설계시 정해진 명령어만을 수행할 수 있다.
따라서, 마이크로 컨트롤러 유니트를 설계하는 경우에 가정했던 응용분야와 서로 특성이 다른 응용분야에서는 상기한 마이크로 컨트롤러 유니트의 인스트럭션 세트가 적절하게 설정되어 있지를 않기 때문에 상기한 마이크로 컨트롤러 유니트를 사용하는 것이 어렵게 된다. 이에따라, 고정된 인스트럭션 세트를 가진 마이크로 컨트롤러 유니트는, 새로운 응용분야에 적용할 필요가 발생되면 새로운 응용분야에 필요한 인스트럭션 세트를 고려하여 다시 설계되어야 하는 문제점이 있다.
이러한 문제점을 해결하기 위하여 고정된 인스트럭션 세트 이외에 응용분야에서 필요로 하는 인스트럭션을 프로그래밍할 수 있는 재설정가능 인스트럭션 세트(Re-Configurable Instruction set)를 갖는 마이크로 컨트롤러 유니트(이하 'RCI MCU'라 한다)가 제안됨으로써, 특정 응용분야에 필요한 인스트럭션들을 현장에서 정의하여 만들어 내도록 하여 새로운 응용분야에 효과적으로 적용할 수 있도록 하고 있다.
예를 들어 어떤 응용분야에서 두개의 레지스터(register)의 값을 더해 우측으로 한비트만큼 시프트하는 오퍼레이션이 반복적으로 사용되다고 가정하자.
일반적인 마이크로 컨트롤러 유니트에서는 위의 오퍼레이션은 다음과 같이 두개의 인스트럭션을 이용하여 구현된다.
Add r0, r1 ; r0 <- r0 + r1
Shift r0,1 ; r0를 1비트만큼 좌측으로 시프트
반면에, RCI MCU에서는 다음과 같이 Add 와 Shift 기능을 가진 하나의 명령어를 현장에서 새롭게 정의하여 위의 기능을 동일하게 수행할 수가 있다.
AdShift r0,r1 ; r0<-r0+r1, r0를 1비트만큼 좌측으로 시프트
위의 예를 살펴보면, RCI MCU는 일반 마이크로 컨트롤러 유니트에서 두 개의 명령어를 사용하여 구현된 기능을 하나의 명령어로 구현할 수 있기 때문에, 일반 마이크로 컨트롤러 유니트에 비해 디코딩 사이클이 줄어 들게 되어 특정 응용분야에서 보다 나은 성능을 낼 수가 있고, 또한 위 기능을 구현하기 위한 인스트럭션의 수도 반으로 감소하게 되므로 응용 프로그램 저장에 사용되는 메모리 크기를 1/2로 감소시킬 수 있는 장점이 있다.
상기한 RCI MCU를 위한 인스트럭션 디코더는 일반적인 마이크로 컨트롤러 유니트의 인스트럭션 디코더를 사용해서는 설계를 할 수가 없는데, 그 이유는 위에서 설명한 바와 같이 일반적으로 마이크로 컨트롤러 유니트의 인스트럭션 디코더(10')는 설계시에 정해진 인스트럭션 세트만을 디코딩하도록 설계되어 있기 때문이다. 따라서, RCI MCU를 설계하기 위해서는 RCI MCU를 위한 효율적인 인스트럭션 디코더가 필요하다.
본 발명의 목적은 이와 같은 과제를 해결하기 위한 것으로서, 새로운 명령어를 효율적으로 추가할 수 있도록 하여 사용자가 임의로 명령어를 새롭게 정의하여 사용할 수 있도록 하는, 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치를 제공하는 데 있다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부된 도면을 참조로 하여 상세히 설명하기로 한다. 본 발명의 목적, 작용, 효과를 포함하여 기타 다른 목적들, 특징점들, 그리고 동작상의 이점들이 바람직한 실시예의 설명에 의해 보다 명확해질 것이다.
참고로, 여기에서 개시되는 실시예는 여러가지 실시가능한 예중에서 당업자의 이해를 돕기 위하여 가장 바람직한 예를 선정하여 제시한 것일 뿐, 본 발명의 기술적 사상이 반드시 이 실시예에만 의해서 한정되거나 제한되는 것은 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 다양한 변화와 변경이 가능함은 물론, 균등한 타의 실시예가 가능함을 밝혀 둔다.
본 발명의 실시예에 따른 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트는, 도 1에 도시되어 있는 일반적인 마이크로 컨트롤러 유니트의 구성과 비교하여 볼 때 RCI 인스트럭션 디코더(10)와 RCI 마이크로-코드 ROM(21)에 프로그램가능한 기능을 가지고 있고, 사용자가 데이터패스(40)의 버스를 통해서 프로그램할 수 있는 구조를 가지고 있는 차이점이 있다.
도 2에는 본 발명의 실시예에 따른 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 구성이 도시되어 있다. 도 2에 도시되어 있는 바와 같이, 본 발명의 실시예에 따른 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 구성은, 사용자가 명령어를 새롭게 프로그램이 가능한 RCI 인스트럭션 디코더(10)와, 마이크로 코드가 저장되어 있으며 프로그램 가능한 부분이 설정되어 있는 RCI 마이크로코드 ROM(21)과 마이크로 코드의 어드레스를 지정해주는 마이크로 코드 시퀀서(22)로 구성되는 마이크로 컨트롤러(20)와, 데이터패스를 제어하기 위한 데이터패스 제어 디코더(30)와, 데이터 패스(40)를 포함하여 이루어진다.
상기한 RCI 마이크로-코드 ROM(21)의 프로그램가능한 부분은 새로 정의된 인스트럭션의 수행에 필요한 마이크로-코드들을 저장하기 위해 필요하고, 상기한 RCI 인스트럭션 디코더(10)의 프로그램 가능한 기능은 새로 정의된 명령어를 디코딩해 상기한 RCI 마이크로-코드 ROM(21)의 시작 어드레스와 명령어의 수행에 필요한 레지스터 인덱스, 즉시값을 등을 디코딩하는데 사용된다.
상기한 RCI 마이크로-코드 ROM(21)의 프로그램 가능한 영역은 RAM으로 구현되어 새로 정의된 명령어의 수행에 필요한 마이크로 코드들을 고정된 명령어들을 사용하여 프로그램할 수 있다.
도 3은 본 발명의 실시예에 따른 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치(10)의 블록도를 보여준다. 도 3에 도시되어 있는 바와 같이, 상기한 RCI 인스트럭션 디코더(10)의 구성은, 현재 디코딩되는 명령어의 포맷을 디코딩 하기 위한 포맷 디코더(11)와, 상기한 포맷 디코더(11)의 결과를 받아 명령어로부터 즉시값(imm_val) 및 레지스터 인덱스(reg_idx)를 추출해내기 위한 즉시값 및 레지스터 인덱스 디코더(12)와, 설계시 고정된 명령어 세트를 디코딩하기 위한 시작 어드레스 디코더(13)와, 사용자가 새로 정의한 명령어에 대한 마이크로-코드 시작 어드레스를 생성해내기 위한 프로그램가능 시작 어드레스 디코더(14)와, 언디파인드 신호(ud1, ud2)를 논리곱하여 출력하는 앤드 게이트(15)를 포함하여 이루어진다.
상기한 포맷 디코더(11)는 현재 디코딩되는 명령어의 포맷을 디코딩하는 로직이다. 일반적으로 명령어의 포맷은 설계시 몇가지로 정해진다. 명령어의 포맷을 알면 이 명령어가 어떤 레지스터를 사용하는지, 마이크로-코드의 시작 어드레스(start_addr)를 결정하기 위해 몇비트를 디코딩해야 하는지의 정보를 알 수 있다.
상기한 즉시값 및 레지스터 인덱스 디코더(12)는 상기한 포맷 디코더(11)의 결과를 받아 명령어로부터 즉시값(imm_val) 및 레지스터 인덱스(reg_idx)를 추출해내는 로직으로서 설계시 고정되는 회로이다.
상기한 시작 어드레스 디코더(13)는 설계시 고정된 명령어 세트를 디코딩하는 회로로서 설계시 고정된 블록이다.
상기한 프로그램가능 시작 어드레스 디코더(14)는 사용자가 새로 정의한 명령어에 대한 마이크로-코드 시작 어드레스를 만들어내는 디코더로서, 새로 정의된 명령어에 따라 새롭게 프로그램되는 디코더이다.
도 4는 본 발명의 실시예에 따른 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치(10)의 프로그램가능 시작 어드레스 디코더(14)의 구조를 보여주고 있다. 도 4에 도시되어 있는 바와 같이, 상기한 프로그램가능 시작 어드레스 디코더(14)의 구성은, 엔트리 레지스터(141)와, 명령신호(cmd)를 디코딩하여 출력하는 명령 디코더(142)와, k-엔트리 CAM 어레이로 구성되는 가변 CAM(143)과, 새로 정의된 명령어의 시작 어드레스를 저장하기 위한 시작 어드레스 RAM(144)과, 시작 어드레스와 쓰여질 엔트리 인덱스를 저장하기 위한 CAM 쓰기 버퍼(145) 및 RAM 쓰기 버퍼(146)와, 비트길이를 디코딩하여 출력하는 비트길이 디코더(147)와, 가변 CAM(143)의 출력을 논리합하여 출력하는 오아 게이트(148)를 포함하여 이루어진다.
상기한 구성에 의한, 본 발명의 실시예에 따른 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치의 작용은 다음과 같다.
먼저, 본 발명의 실시예에 따른 인스트럭션 디코더 장치는 RCI MCU가 마이크로-코드 ROM 방식으로 동작하는 경우에 적용될 수 있다. 그리고 본 발명의 실시예에 따른 인스트럭션 디코딩 장치의 기술적 원리는 기존 마이크로 컨트롤러 유니트의 인스트럭션 디코더에 프로그램가능한 로직을 두어 새로 정의된 인스트럭션에 대한 디코딩이 가능하도록 한다.
이어서, 본 발명에서 제안한 디코더 장치를 이용하여 정의될 수 있는 명령어에 대한 제한과 디코딩과정을 정리해보면 다음과 같다.
인스트럭션은 RISC 형식으로 모든 명령어들이 고정된 크기(예를들어 ARM의 경우 32비트)를 가진다고 가정한다. 그리고, 정의된 명령어는 설계시 정의된 명령어 포맷중 한가지 형식이어야 한다. 또한, 정의된 명령어에 대한 디코딩은 사용자가 프로그램가능 시작 어드레스 디코더(14)에 그 명령어에 대한 시작 어드레스를 프로그램해놓아야 한다.
도 3에서 새로 정의된 명령어가 들어오면 먼저 포맷 디코더(11)에서 그 명령어의 포맷을 디코딩하고, 즉시값 및 레지스터 인덱스 디코더(12)에서 그 명령어에 대한 즉시값(imm_val) 및 레지스터 인덱스(reg_idx)를 추출한다. 시작 어드레스 디코더(13)는 새로 정의된 명령어에 대한 정보가 없으므로 디코딩할 수 없으므로 정의되지 않은 인스트럭션 신호(ud1)를 만들고, 프로그램가능 시작 어드레스 디코더(14)는 새로 정의된 명령어에 대한 시작 어드레스를 알고 있으므로 올바른 시작 어드레스(start_addr2)를 만들어낸다. 시작 어드레스 디코더(13)의 정의되지 않은 인스트럭션 신호(ud1)가 1이므로 프로그램가능 시작 어드레스 디코더(14)의 시작 어드레스(start_addr2)를 최종 시작 어드레스(start_addr)로서 출력한다.
도 3에서 언디파인드 신호(ud)는 정의되지 않은 인스트럭션이 들어 왔음을 마이크로 컨트롤러(20)에게 알리는 신호로서, RCI 인스트럭션 디코더(10)에서는 ud1과 ud가 모두 1인 경우가 정의되지 않은 인스트럭션을 나타낸다.
도 3에서 프로그램 명령신호(cmd)와 쓰기신호(wr_data)는 새로 정의된 명령어의 제어코드(opcode)와 시작 어드레스를 프로그램가능 시작 어드레스 디코더(14)에 프로그램하기 위해 사용되는 신호들이다. 쓰기신호(wr_data)는 시작 어드레스나 제어코드(opcode)를 전달하는 신호이고, 프로그램 명령신호(cmd)는 현재 쓰기신호(wr_data)의 값이 무엇인지를 알려주면서 프로그램을 하라는 명령을 의미하는 신호이다.
도 4에서 가변 CAM(143)은 k-엔트리 CAM 어레이로서 비트비교신호(comp_bit_sel)에 의해 지정된 비트들만 비교된다. 이것은 명령어 포맷에 따라 제어코드(opcode)의 비트수가 다르므로 하나의 CAM 엔트리의 일부 비트들과 인스트럭션의 일부 비트를 비교하여야만 새로 정의된 명령어의 디코딩이 가능하기 때문이다.
도 4에서 시작 어드레스 RAM(144)은 새로 정의된 명령어의 시작 어드레스를 저장하는 RAM으로서 가변 CAM(143)에서 나온 히트신호에 해당하는 엔트리의 내용을 읽어서 시작 어드레스(start_addr2)를 생성한다. 엔트리 레지스터(141), CAM 쓰기 버퍼(145), RAM 쓰기 버퍼(146)는 각각 가변 CAM(143)에 저장할 내용, 시작 어드레스 RAM(144)에 저장할 시작 어드레스와 쓰여질 엔트리 인덱스를 저장하는 버퍼들로서 쓰기 데이터 신호(wr_data)를 통해 값을 받고, 프로그램 명령신호(cmd)의 내용에 따라 각 버퍼가 지정되고, 엔트리 레지스터가 가리키는 가변 CAM(143)과 시작 어드레스 RAM(144)에 쓰여진다.
도 4에서 언디파인드 신호(ud2)는 모든 CAM 엔트리들의 내용이 해당 포맷의 인스트럭션에 대한 디코딩을 할 수 없는 경우에 1이 된다.
이상의 설명에서와 같이 본 발명의 실시예에서, 새로운 명령어를 효율적으로 추가할 수 있도록 하여 사용자가 임의로 명령어를 새롭게 정의하여 사용할 수 있도록 하는 효과를 가진 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치를 제공할 수가 있다. 본 발명의 이와 같은 효과는 RCI MCU 분야에서 본 발명의 기술적 사상의 범위를 벗어나지 않는 범위내에서 다양하게 응용되어 이용될 수가 있다.
도 1은 종래의 마이크로 컨트롤러 유니트의 구성 블럭도이다.
도 2는 본 발명의 실시예에 따른 인스트럭션 세트 마이크로 컨트롤러 유니트의 구성 블럭도이다.
도 3은 본 발명의 실시예에 따른 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더의 구성 블럭도이다.
도 4는 본 발명의 실시예에 따른 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더의 프로그램가능 시작 어드레스 디코더의 구성 블럭도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : RCI 인스트럭션 디코더 20 : 마이크로 컨트롤러
11 : 포맷 디코더 12 : 즉시값 및 레지스터 인덱스 디코더
13 : 시작 어드레스 디코더 14 : 프로그램가능 시작어드레스 디코더

Claims (2)

  1. 사용자가 명령어를 새롭게 프로그램이 가능한 RCI 인스트럭션 디코더와, 마이크로 코드가 저장되어 있으며 프로그램 가능한 부분이 설정되어 있는 RCI 마이크로코드 ROM과 마이크로 코드의 어드레스를 지정해주는 마이크로 코드 시퀀서로 구성되는 마이크로 컨트롤러와, 데이터패스를 제어하기 위한 데이터패스 제어 디코더와, 데이터 패스를 포함하여 이루어지는 마이크로 컨트롤러 유니트에 있어서,
    상기한 RCI 인스트럭션 디코더는, 현재 디코딩되는 명령어의 포맷을 디코딩 하기 위한 포맷 디코더와, 상기한 포맷 디코더의 결과를 받아 명령어로부터 즉시값(imm_val) 및 레지스터 인덱스(reg_idx)를 추출해내기 위한 즉시값 및 레지스터 인덱스 디코더와, 설계시 고정된 명령어 세트를 디코딩하기 위한 시작 어드레스 디코더와, 사용자가 새로 정의한 명령어에 대한 마이크로-코드 시작 어드레스를 생성해내기 위한 프로그램가능 시작 어드레스 디코더와, 언디파인드 신호(ud1, ud2)를 논리곱하여 출력하는 앤드 게이트를 포함하여 이루어지는 것을 특징으로 하는 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치.
  2. 제 1 항에 있어서,
    상기한 프로그램가능 시작 어드레스 디코더는,
    엔트리 레지스터와, 명령신호(cmd)를 디코딩하여 출력하는 명령 디코더와, k-엔트리 CAM 어레이로 구성되는 가변 CAM과, 새로 정의된 명령어의 시작 어드레스를 저장하기 위한 시작 어드레스 RAM과, 시작 어드레스와 쓰여질 엔트리 인덱스를 저장하기 위한 CAM 쓰기 버퍼 및 RAM 쓰기 버퍼와, 비트길이를 디코딩하여 출력하는 비트길이 디코더와, 가변 CAM의 출력을 논리합하여 출력하는 오아 게이트를 포함하여 이루어지는 것을 특징으로 하는 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의 인스트럭션 디코더 장치.
KR10-2000-0084517A 2000-12-28 2000-12-28 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의인스트럭션 디코더 장치 KR100484247B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0084517A KR100484247B1 (ko) 2000-12-28 2000-12-28 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의인스트럭션 디코더 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0084517A KR100484247B1 (ko) 2000-12-28 2000-12-28 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의인스트럭션 디코더 장치

Publications (2)

Publication Number Publication Date
KR20020055159A KR20020055159A (ko) 2002-07-08
KR100484247B1 true KR100484247B1 (ko) 2005-04-20

Family

ID=27687910

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0084517A KR100484247B1 (ko) 2000-12-28 2000-12-28 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의인스트럭션 디코더 장치

Country Status (1)

Country Link
KR (1) KR100484247B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220423B1 (ko) 2004-09-17 2013-01-09 리오 홀딩스, 엘엘씨 명령어의 즉시값 지정 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100440975B1 (ko) * 2002-08-19 2004-07-21 삼성전자주식회사 직렬 데이터 전송방법 및 장치
KR100573334B1 (ko) * 2005-08-31 2006-04-24 주식회사 칩스앤미디어 실시간 동적 수정이 가능한 명령어 집합을 가지는 컴퓨터
KR100829788B1 (ko) * 2006-07-07 2008-05-16 삼성전자주식회사 커맨드 디코딩 시스템, 플래시 메모리 커맨드 디코딩시스템 및 이를 이용한 방법
KR102303653B1 (ko) 2015-07-27 2021-09-17 삼성전자주식회사 메모리 장치 및 이를 포함하는 메모리 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61231632A (ja) * 1985-04-08 1986-10-15 Hitachi Ltd データ処理装置
EP0391379A2 (en) * 1989-04-06 1990-10-10 Oki Electric Industry Co., Ltd. Programmable logic array circuit
KR910010299A (ko) * 1989-11-02 1991-06-29 이경훈 프로그래머블 콘트롤러의 비트연산 처리회로
US5357627A (en) * 1989-03-28 1994-10-18 Olympus Optical Co., Ltd. Microcomputer having a program correction function
US5420990A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Mechanism for enforcing the correct order of instruction execution

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61231632A (ja) * 1985-04-08 1986-10-15 Hitachi Ltd データ処理装置
US5357627A (en) * 1989-03-28 1994-10-18 Olympus Optical Co., Ltd. Microcomputer having a program correction function
EP0391379A2 (en) * 1989-04-06 1990-10-10 Oki Electric Industry Co., Ltd. Programmable logic array circuit
KR910010299A (ko) * 1989-11-02 1991-06-29 이경훈 프로그래머블 콘트롤러의 비트연산 처리회로
US5420990A (en) * 1993-06-17 1995-05-30 Digital Equipment Corporation Mechanism for enforcing the correct order of instruction execution

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220423B1 (ko) 2004-09-17 2013-01-09 리오 홀딩스, 엘엘씨 명령어의 즉시값 지정 방법

Also Published As

Publication number Publication date
KR20020055159A (ko) 2002-07-08

Similar Documents

Publication Publication Date Title
KR100327776B1 (ko) 다중 명령세트를 사용하는 데이터 처리방법
KR100423910B1 (ko) 코프로세서 명령 실행 장치 및 방법
US20080195845A1 (en) Data processing system having flexible instruction capability and selection mechanism
US5249273A (en) Microprocessor having a variable length instruction format
JP3203401B2 (ja) データ処理装置
KR100484247B1 (ko) 재설정가능 인스트럭션 세트 마이크로 컨트롤러 유니트의인스트럭션 디코더 장치
CN107851022B (zh) 向量长度查询指令
CN108920188B (zh) 一种扩展寄存器堆的方法及装置
JP5233078B2 (ja) プロセッサ及びその処理方法
JP3172214B2 (ja) 状態モード設定方式
KR100705872B1 (ko) 몇몇의 명령원으로부터의 명령 실행 프로세서 및 방법
WO1994015279A1 (en) Scalable integrated circuit processor element
JP4159586B2 (ja) 情報処理装置および情報処理の高速化方法
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
KR100468615B1 (ko) 내부 프로그램 코드 보호 장치
JPH1020959A (ja) 低消費電力マイクロプロセッサ
JP2001184209A (ja) 命令コード復号装置及びその復号方法
KR100488536B1 (ko) 마이크로프로세서제어회로
JP3023959B2 (ja) 未定義命令検出方式
JPH06149563A (ja) データ処理装置
JP2002229776A (ja) 複数組の命令組を実行するためのデータ処理装置
JP2004005738A (ja) データ処理装置及び命令セット拡張方法
JP2004005738A5 (ko)
KR100204003B1 (ko) 효율적인 디코딩을 위한 프리픽스 컴팩션 방법 및 회로
JP2004062427A (ja) マイクロプロセッサ

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 20080317

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee