KR100739249B1 - 면적이 감소된 마이크로 컨트롤러 - Google Patents

면적이 감소된 마이크로 컨트롤러 Download PDF

Info

Publication number
KR100739249B1
KR100739249B1 KR1020050068252A KR20050068252A KR100739249B1 KR 100739249 B1 KR100739249 B1 KR 100739249B1 KR 1020050068252 A KR1020050068252 A KR 1020050068252A KR 20050068252 A KR20050068252 A KR 20050068252A KR 100739249 B1 KR100739249 B1 KR 100739249B1
Authority
KR
South Korea
Prior art keywords
state
signals
signal
output
jth
Prior art date
Application number
KR1020050068252A
Other languages
English (en)
Other versions
KR20070013711A (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 KR1020050068252A priority Critical patent/KR100739249B1/ko
Publication of KR20070013711A publication Critical patent/KR20070013711A/ko
Application granted granted Critical
Publication of KR100739249B1 publication Critical patent/KR100739249B1/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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microcomputers (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 면적이 감소된 마이크로 컨트롤러에 관한 것으로, 본 발명에 따른 마이크로 컨트롤러에서는 연산 동작 상태에 따라 FSM 블록들 중 하나가 선택적으로 인에이블되어 동작하고, 복수의 FSM 블록들이 단일의 로컬 레지스터를 공유하므로, 마이크로 컨트롤러의 소비 전력과 점유 면적이 감소될 수 있다.
공유 로컬 레지스터부, 글로벌 상태 제어 레지스터

Description

면적이 감소된 마이크로 컨트롤러{Micro controller with reduced size}
도 1은 종래의 마이크로 컨트롤러의 개념적인 블록도이다.
도 2는 도 1에 도시된 마이크로 컨트롤러의 동작과 관련한 상태도이다.
도 3은 본 발명의 일실시예에 따른 마이크로 컨트롤러의 개념적인 블록도이다.
도 4는 도 3에 도시된 마이크로 컨트롤러의 동작과 관련한 상태도이다.
도 5는 본 발명의 일실시예에 따른 마이크로 컨트롤러가 적용된 메모리 컨트롤러의 블록도이다.
〈도면의 주요 부분에 대한 부호의 설명〉
100 : 마이크로 컨트롤러 110, 210 : 공유 로컬 레지스터부
120, 220 : 글로벌 상태 검출기 130, 230 : 글로벌 상태 제어레지스터
140, 240 : 기능 블록 B1∼BJ, 250∼270 : FSM 블록
280 : 리셋 제어부
본 발명은 반도체 장치에 관한 것으로서, 특히, 마이크로 컨트롤러에 관한 것이다.
최근, 캠코더, 디지털 카메라, 휴대폰, MP3(MPEG-1 Layer3) 플레이어 등과 같은 모바일(mobile) 제품들에 대한 수요가 증가함에 따라 모바일 제품들의 동작 성능을 더욱 향상시키기 위한 노력들이 이루어지고 있다. 특히, 모바일 제품은 저전력으로 장시간 동안 동작해야 하기 때문에, 저전력 소비형 모바일 제품들이 많이 개발되고 있다. 이처럼 모바일 제품의 소비 전력을 줄이기 위해서는 모바일 제품에 포함되는 반도체 칩들의 소비 전력이 감소 되어야 한다. 한편, 모바일 제품에서는 내부의 각 장치들의 동작을 제어하기 위한 마이크로 컨트롤러가 사용된다. 마이크로 컨트롤러는 내부적인 연산(예를 들어, 산술(arithmetic) 연산, 부울 연산(Boolean operation) 등) 처리를 실행하고, 클록 신호에 동기하여 시스템 내부의 전반적인 타이밍 제어뿐만 아니라 각 장치들의 동작을 제어하는 제어 신호를 발생한다. 도 1은 종래의 마이크로 컨트롤러의 개념적인 블록도이다. 도 1을 참고하면, 마이크로 컨트롤러(10)는 연산 블록들(20,30)을 포함한다. 도 1에서는 도면의 간략화를 위해 두 개의 연산 블록들(20, 30)만이 도시되었지만, 상기 마이크로 컨트롤러(10)는 추가의 연산 블록들을 더 포함할 수 있다. 상기 연산 블록(20)은 제1 유한 상태 머신(finite state machine; 이하, 'FSM'이라 칭함)(21)과 레지스터부(22)를 포함하고, 상기 연산 블록(30)은 제2 FSM(31)과 레지스터부(32)를 포함한다. 상기 제1 FSM(21)은 입력 신호(IN1), 출력 신호(OUT2'), 및 출력 신호(OUT1') 중 어느 하나에 응답하여, 특정 상태(state)로 천이(transition)하고, 출력 신호(OUT1)를 출력한다. 도 2를 참고하면, 상기 제1 FSM(FM1)의 상태들(S1, S4, S6) 중 하나 로 천이할 수 있다.
상기 출력 신호(OUT1')는 상기 출력 신호(OUT1)보다 시간적으로 앞선다. 다시 말하면, 상기 제1 FSM(21)이 클록 신호(CLOCK)의 이전의 클록 사이클 동안 상기 출력 신호(OUT1')를 출력하고, 상기 클록 신호(CLOCK)의 현재의 클록 사이클 동안 상기 출력 신호(OUT1)를 출력한다. 상기 레지스터부(22)는 상기 클록 신호(CLOCK)에 동기하여 상기 제1 FSM(21)으로부터 수신되는 상기 출력 신호(OUT1)를 저장한다. 좀 더 상세하게는, 상기 레지스터부(22)가 상기 클록 신호(CLOCK)의 이전의 클록 사이클 동안 상기 출력 신호(OUT1)를 저장하고, 상기 클록 신호(CLOCK)의 현재의 클록 사이클 동안 저장된 상기 출력 신호(OUT1')를 출력한다.
상기 제2 FSM(31)은 입력 신호(IN2), 상기 출력 신호(OUT1'), 및 상기 출력 신호(OUT2') 중 하나에 응답하여, 특정 상태로 천이하고, 출력 신호(OUT2)를 출력한다. 상기 제2 FSM(31)은 도 2에서 참조되는 것과 간치, 상태들(S2, S3, S5, S7) 중 하나로 천이할 수 있다. 또, 상기 제1 FSM(21)이 상기 상태(S6)일 때 출력한 상기 출력 신호(OUT1')에 응답하여, 상기 제2 FSM(31)이 상기 상태(S2)로 천이한다. 상기 출력 신호(OUT2')는 상기 출력 신호(OUT2)보다 시간적으로 앞선다. 다시 말하면, 상기 제2 FSM(31)이 상기 클록 신호(CLOCK)의 이전의 클록 사이클 동안 상기 출력 신호(OUT2')를 출력하고, 상기 클록 신호(CLOCK)의 현재의 클록 사이클 동안 상기 출력 신호(OUT2)를 출력한다. 상기 레지스터부(32)는 상기 클록 신호(CLOCK)에 동기하여 상기 제2 FSM(31)으로부터 수신되는 상기 출력 신호(OUT2)를 저장한다. 좀 더 상세하게는, 상기 레지스터부(32)가 상기 클록 신호(CLOCK)의 이전의 클 록 사이클 동안 상기 출력 신호(OUT2)를 저장하고, 상기 클록 신호(CLOCK)의 현재의 클록 사이클 동안 저장된 상기 출력 신호(OUT2')를 출력한다. 한편, 상기 제2 FSM(FM2)이 상태(S5)일 때 출력하는 상기 출력 신호(OUT2')에 응답하여, 상기 제1 FSM(FM1)이 상기 상태(S1)로 천이한다. 또한, 상기 제2 FSM(FM2)이 상태(S7)일 때 출력하는 상기 출력 신호(OUT2')에 응답하여, 상기 제1 FSM(FM1)이 상기 상태(S6)로 천이한다. 상술한 것과 같이, 상기 마이크로 컨트롤러(10)의 상기 연산 블록들(20, 30)은 상기 클록 신호(CLOCK)에 동기하여 연속적으로 동작한다. 하지만, 연산 동작의 특성상, 상기 연산 블록들(20, 30)이 반드시 상기 클록 신호(CLOCK)에 동기하여 실행하지 않아도 되는 연산 동작들이 존재한다. 이처럼 비동기적으로 실행되는 동작들로서 예를 들면, 상기 연산 블록(20)이 상기 연산 블록(30)으로부터 수신되는 상기 출력 신호(OUT2')에 응답하여 실행하는 연산 동작과, 상기 연산 블록(30)이 상기 연산 블록(20)으로부터 수신되는 상기 출력 신호(OUT1')에 응답하여 실행하는 연산 동작이 있다. 이 경우, 상기 연산 블록들(20, 30) 중 하나만이 선택적으로 동작하는 것이 바람직하지만, 상기 마이크로 컨트롤러(10)는 이를 위한 제어 수단을 구비하지 않기 때문에, 연산 블록들(20, 30)의 불필요한 동작에 의해 소비 전력이 증가하는 문제점이 있다. 또한, 상기 마이크로 컨트롤러(10)는 상기 제2 FSM들(21, 31)에 대해 각각 레지스터부들(22, 23)을 구비해야 하므로, 상기 레지스터부들(22, 23)에 의한 소비 전력이 증가하고, 그 점유 면적이 증가하는 문제점이 있다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 연산 동작 상태에 따라 FSM 블록들 중 하나를 선택적으로 동작시키고, 단일의 로컬 레지스터를 복수의 FSM 블록들이 공유하도록 함으로써, 소비 전력과 점유 면적을 감소시킬 수 있는 마이크로 컨트롤러를 제공하는 데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명에 따른 마이크로 컨트롤러는, 제1 내지 제J(J는 정수) FSM(finite state machine) 블록들, 기능블록, 공유 로컬 레지스터부, 글로벌 상태 검출기, 및 글로벌 상태 제어 레지스터를 포함한다. 제1 내지 제J FSM 블록들은 제1 내지 제J 제어 신호들에 각각 응답하여 인에이블되거나 또는 디세이블되고, 인에이블될 때, 제1 내지 제J 입력 신호들, 제1 내지 제J 라인(line) 신호들, 및 로컬 출력 신호에 응답하여 대응하는 상태로 천이하고, 제1 내지 제J 상태 출력 신호들을 각각 출력한다. 공유 로컬 레지스터부는 클록 신호에 동기하여 동작하고, 제1 내지 제J 선택 신호들에 응답하여, 제1 내지 제J 상태 출력 신호들 중 하나, 또는 초기 상태 신호를 선택적으로 저장하고, 로컬 출력 신호를 출력한다. 글로벌 상태 검출기는 공유 로컬 레지스터부로부터 수신되는 제1 내지 제J 상태 출력 신호들 중 수신되는 하나에 기초하여, 제1 내지 제J FSM 블록들 중 대응하는 하나의 동작 상태가 로컬(local) 상태인지, 또는 글로벌(global) 상태인지를 검출하고, 그 검출 결과에 따라 검출 신호와 제1 내지 제J 상태 출력 신호들 중 수신되는 하나를 출력한다. 글로벌 상태 제어 레지스터는 글로벌 상태 검출기로부터 수신되는 제1 내지 제J 상태 출력 신호들 중 하나와 검출 신호에 응답하여, 제1 내지 제J 제어 신호들과 제1 내지 제J 선택 신호들을 출력한다. 바람직하게, 제1 내지 제J FSM 블록들 중 하나가 인에이블될 때, 나머지들이 디세이블된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 3은 본 발명의 일실시예에 따른 마이크로 컨트롤러의 개념적인 블록도이다. 도 3을 참고하면, 마이크로 컨트롤러(100)는 FSM 블록들(B1∼BJ)(J는 정수), 공유(shared) 로컬(local) 레지스터부(110), 글로벌 상태 검출기(120), 글로벌 상태 제어 레지스터(130), 및 기능 블록(140)을 포함한다. 상기 FSM 블록들(B1∼BJ)은 제어 신호들(BCTL1∼BCTLJ)에 각각 응답하여 인에이블되거나 또는 디세이블된다. 예를 들어, 상기 FSM 블록(B1)은 상기 제어 신호(BCTL1)에 응답하여 인에이블되거나 또는 디세이블된다. 바람직하게, 상기 제어 신호들(BCTL1∼BCTLJ)이 각각 인에이블될 때, 상기 FSM 블록들(B1∼BJ)이 각각 인에이블되고, 상기 FSM 블록들(B1∼BJ) 중 하나가 인에이블될 때, 나머지들이 디세이블된다. 상기 FSM 블록들(B1∼BJ) 각각은 인에이블될 때, 입력 신호들(INP1∼INPJ) 중 하나, 라인(line) 신호들(INF1∼INFJ) 중 하나, 및 로컬 출력 신호(LCOUT)에 응답하여 글로벌 상태(global state) 또는 로컬 상태(local state)로 천이(transition)하고, 그 결과로서 상태 출력 신호들(OUT1∼OUTJ)을 각각 출력한다. 상기 입력 신호들(INP1∼INPJ) 은 내부의 장치(미도시)에 의해 발생되거나, 또는 외부의 장치(미도시)로부터 수신될 수도 있다. 여기에서, 상기 로컬 상태와 글로벌 상태에 대하여, 도 4을 참고하여 좀 더 상세히 설명하면 다음과 같다. 상기 로컬 상태는 하나의 FSM 블록내에서 이루어지는 천이 동작에 따른 결과이다. 상기 글로벌 상태는 하나의 FSM 블록에서 발생된 상태 출력 신호에 응답하여, 다른 FSM 블록이 특정 로컬 상태로 천이하는 FSM 블록들 간의 천이 동작이다. 예를 들어, 상기 FSM 블록(B1)의 로컬 상태들로서 S11, S14, S16이 존재하고, 상기 FSM 블록(B2)의 로컬 연산 상태들로서 S12, S13, S15, S17이 존재할 수 있다. 또한, 상기 FSM 블록(B1)에서 상기 FSM 블록(B2)으로의 글로벌 상태로서 G12가 존재하고, 상기 FSM 블록(B2)에서 상기 FSM 블록(B1)으로의 글로벌 상태로서 G11 및 G16이 존재할 수 있다. 도 4에서 참조되는 것가 같이, 상기 FSM들(B1, B2)에서는, 로컬 천이들(δL1∼δL12)과 글로벌 천이들(δG1∼δG3)이 존재한다.
상기 공유 로컬 레지스터부(110)는 클록 신호(CLK)에 동기하여 동작한다. 상기 공유 로컬 레지스터부(110)는 선택 신호들(RCTL1∼RCTLJ)에 응답하여, 상기 상태 출력 신호들(OUT1∼OUTJ) 중 하나, 또는 초기 상태 신호(INT)를 선택적으로 저장하고, 그 저장된 신호를 상기 로컬 출력 신호(LCOUT)로서 출력한다. 바람직하게, 상기 선택 신호(RCTL1∼RCTLJ)이 모두 디세이블될 때, 상기 공유 로컬 레지스터부(110)는 상기 초기 상태 신호(INT)를 저장하고, 상기 초기 상태 신호(INT)를 상기 로컬 출력 신호(LCOUT)로서 상기 FSM 블록들(B1∼BJ)에 각각과 상기 글로벌 상태 검출기(120)에 출력한다. 여기에서, 상기 초기 상태 신호(INT)는 상기 마이크로 컨트롤러(100)의 외부 또는 내부의 제어 장치(미도시)에서 발생될 수 있고, 상기 초기 상태 신호(INT)에 의해 상기 FSM 블록들(B1∼BJ)의 초기 상태가 설정된다.
상기 글로벌 상태 검출기(120)는 상기 공유 로컬 레지스터부(110)로부터 수신되는 로컬 출력 신호(LCOUT)(즉, 상기 상태 출력 신호들(OUT1∼OUTJ) 중 수신되는 하나)에 기초하여, 상기 FSM 블록들(B1∼BJ) 중 대응하는 하나의 동작 상태가 로컬(local) 상태인지, 또는 글로벌(global) 상태인지를 검출한다. 상기 글로벌 상태 검출기(120)는 검출 결과에 따라 검출 신호(DET)와, 상기 상태 출력 신호들(OUT1∼OUTJ) 중 수신되는 하나를 출력한다. 상기 글로벌 상태 제어 레지스터(130)는 상기 글로벌 상태 검출기(120)로부터 수신되는 상기 상태 출력 신호들(OUT1∼OUTJ) 중 하나와, 상기 검출 신호(DET)에 응답하여, 상기 제어 신호들(BCTL1∼BCTLJ)과 상기 선택 신호들(RCTL1∼RCTLJ)을 출력한다. 상기 기능 블록(140)은 상기 라인 신호들(INF1∼INFJ)을 출력한다.
다음으로, 상기 마이크로 컨트롤러(100)의 동작을 상세히 설명한다. 초기에, 상기 글로벌 상태 제어 레지스터(130)는 상기 선택 신호들(RCTL1∼RCTLJ)을 모두 디세이블시킨다. 상기 선택 신호들(RCTL1∼RCTLJ)에 응답하여, 상기 공유 로컬 레지스터부(110)는 상기 클록 신호(CLK)에 동기하여 상기 초기 상태 신호(INT)를 수신하여 저장하고, 상기 초기 상태 신호(INT)를 상기 로컬 출력 신호(LCOUT)로서 출력한다. 이 후, 상기 글로벌 상태 제어 레지스터(130)는 상기 제어 신호들(BCTL1∼BCTLJ) 중 하나(예를 들어, BCTL1)와 상기 선택 신호들(RCTL1∼RCTLJ) 중 하나(예 를 들어, RCTL1)를 인에이블시킨다. 상기 제어 신호(BCTL1)에 응답하여, 상기 FSM 블록(B1)만이 인에이블되고, 상기 FSM 블록들(B2∼BJ)이 모두 디세이블된다. 상기 FSM 블록(B1)은 상기 로컬 출력 신호(LCOUT), 상기 입력 신호들(INP1∼INPJ) 중 하나, 및 상기 기능 블록(140)으로부터 수신되는 상기 라인 신호들(INF1∼INFJ) 중 하나에 응답하여, 특정 상태(예를 들어, G12)로 천이되고, 상태 출력 신호(OUT1)를 출력한다.
상기 공유 로컬 레지스터부(110)는 상기 선택 신호(RCTL1)에 응답하여, 상기 상태 출력 신호(OUT1)를 저장하고, 상기 상태 출력 신호(OUT1)를 상기 로컬 출력 신호(LCOUT)로서 출력한다. 상기 글로벌 상태 검출기(120)는 상기 로컬 출력 신호(LCOUT)에 기초하여, 상기 FSM 블록(B1)의 동작 상태가 글로벌 상태인지 또는 로컬 상태인지를 검출한다. 예를 들어, 상기 FSM 블록(B1)이 글로벌 상태로 될 때, 상기 글로벌 상태 검출기(120)가 검출 신호(DET)를 인에이블시키고, 상기 상태 출력 신호(OUT1)를 출력한다. 상기 글로벌 상태 제어 레지스터(130)는 상기 검출 신호(DET)와 상기 상태 출력 신호(OUT1)에 응답하여, 상기 제어 신호들(BCTL2∼BCTLJ) 중 하나를 인에이블시키고, 상기 제어 신호(BCLT1)를 디세이블시킨다. 예를 들어, 상기 FSM 블록(B2)이 상기 FSM 블록(B1)의 동작과 관련된 경우, 상기 글로벌 상태 제어 레지스터(130)는 상기 제어 신호(BCTL2)를 인에이블시키고, 상기 제어 신호들(BCLT1, BCTL3∼BCTLJ)을 모두 디세이블시킨다. 또, 상기 글로벌 상태 검출기(120)는 상기 FSM 블록(B2)으로부터 출력되는 상기 상태 출력 신호(OUT2)가 상기 공유 로컬 레지스터부(110)에 저장되도록 하기 위해, 상기 선택 신호(RCTL2)를 인에이블 시키고, 상기 선택 신호들(RCTL1, RCTL3∼RCTLJ)을 모두 디세이블시킨다. 상기 FSM 블록(B2)은 상기 제어 신호(BCTL2)에 응답하여 인에이블되고, 상기 상태 출력 신호(OUT1), 상기 입력 신호들(INP1∼INPJ) 중 하나, 및 상기 라인 신호들(INF1∼INFJ) 중 하나에 응답하여, 특정 상태(예를 들어, S12)로 천이되고, 상기 상태 출력 신호(OUT2)를 출력한다. 상기 상태 출력 신호(OUT2)는 상기 공유 로컬 레지스터부(110)에 의해 피드백(feedback)되어 다시 상기 FSM 블록(B2)에 다시 입력된다. 상기 공유 로컬 레지스터부(110)에 의한 피드백 동작은 상기 FSM 블록(B2)이 디세이블되기 전까지 반복적으로 실행된다. 상술한 것과 같이, 상기 마이크로 컨트롤러(100)에서는, 상기 FSM 블록들(B1∼BJ)이 상기 제어 신호들(BCLT1∼BCTLJ)에 따라 선택적으로 하나씩 인에이블되어 연속적으로 동작하게 된다. 따라서 상기 마이크로 컨트롤러(100)의 소비 전류가 감소될 수 있다. 또한, 상기 FSM 블록들(B1∼BJ)이 하나의 상기 공유 로컬 레지스터부(110)를 서로 공유하므로, 상기 마이크로 컨트롤러(100)의 점유 면적이 감소될 수 있다. 한편, 상기 마이크로 컨트롤러(100)의 내부에서는 상기 FSM 블록들(B1∼BJ)이 랜덤(random)하게 하나씩 선택되어, 상기 FSM 블록들(B1∼BJ)이 각각 비동기적으로 동작하게 된다. 하지만, 상기 마이크로 컨트롤러(100)의 외부에서는 상기 마이크로 컨트롤러(100)가 휴지시간 없이 연속적으로 동작하게 되므로 동기적으로 동작하는 것처럼 보인다.
다음으로, 도 5를 참고하여, 본 발명에 따른 마이크로 컨트롤러가 메모리 컨트롤러로서 구현되는 경우를 일례로서 설명하기로 한다. 도 5를 참고하면, 마이크로 컨트롤러(200)는 공유 로컬 레지스터부(210), 글로벌 상태 검출기(220), 글로벌 상태 제어 레지스터(320), 기능 블록(240), FSM 블록들(250∼270), 및 리셋 제어부(280)를 포함한다. 상기 공유 로컬 레지스터부(210)는 멀티플렉서(211)와 로컬 레지스터(212)를 포함한다. 상기 멀티플렉서(211)는 선택 신호들(RCTL1∼RCTL3)에 응답하여, 초기 상태 신호(INT) 또는 상태 출력 신호들(INS_OUT, FLG_OUT, CTL_OUT) 중 하나를 선택하여 상기 로컬 레지스터(212)에 출력한다. 상기 로컬 레지스터(212)는 클록 신호(CLK)에 동기하여, 상기 멀티플렉서(211)의 출력 신호를 저장하고, 그 저장된 신호를 로컬 출력 신호(LCOUT)로서 상기 FSM 블록들(250∼270)과 상기 글로벌 상태 검출기(220)에 출력한다. 상기 글로벌 상태 검출기(220)와 상기 글로벌 상태 제어 레지스터(230)의 동작은 도 3을 참고하여 상술한 상기 글로벌 상태 검출기(120) 및 상기 글로벌 상태 제어 레지스터(130)와 실질적으로 유사하므로, 이에 대한 상세한 설명은 생략된다.
상기 기능 블록(240)은 위상(phase) 발생기(241)와 ROM(Read Only Memory)(242)을 포함한다. 상기 위상 발생기(241)는 상기 상태 출력 신호들(INS_OUT, FLG_OUT)에 응답하여, 상태 신호(ST)와 위상 신호들(PH1∼PHK)(K는 정수)을 출력한다. 바람직하게, 상기 상태 신호(ST)는 복수의 비트들을 포함하고, 상기 위상 신호들(PH1∼PHK)은 서로 다른 위상을 가지는 펄스 형태의 신호들이다. 상기 ROM(242)은 내부에 프로그램 카운터(program counter)(243)와 ROM 매트릭스(matrix)(244)를 포함한다. 상기 프로그램 카운터(243)는 상기 ROM 매트릭스(244)의 라인들 중에서, 상기 상태 신호(ST)의 비트 값과, 상기 위상 신호들(PH1∼PHK)에 대응하는 라인의 정보(즉, 인스트럭션(instruction) 정보)를 선택하고, 그 선택 된 정보를 라인 신호들(INF∼INF3)로서 출력한다. 상기 라인 신호들(INF1∼INF3) 각각은 서로 다른 복수의 비트들을 포함한다. 예를 들어, 상기 라인 신호(INF1)는 6비트(<15:10>), 상기 라인 신호(INF2)는 10비트(<9:0>), 상기 라인 신호(INF3)는 14비트(<13:0>)로 각각 설정될 수 있다.
상기 FSM 블록(250)은 입력부(251)와 인스트럭션 디코더(252)를 포함한다. 상기 입력부(251)는 AND 게이트로서 구현될 수 있다. 상기 입력부(251)는 상기 글로벌 상태 제어 레지스터(230)로부터 수신되는 제어 신호(BCTL1)에 응답하여, 상기 로컬 출력 신호(LCOUT)를 상기 인스트럭션 디코더(252)에 출력하거나, 또는 상기 로컬 출력 신호(LCOUT)의 출력 동작을 정지한다. 바람직하게, 상기 입력부(251)는 상기 제어 신호(BCTL1)가 인에이블될 때 상기 로컬 출력 신호(LCOUT)를 상기 인스트럭션 디코더(252)에 출력한다. 상기 인스트럭션 디코더(252)는 인에이블될 때, 상기 라인 신호(INF1)와, 상기 입력부(251)를 통하여 수신되는 상기 로컬 출력 신호(LCOUT)에 응답하여, 글로벌 상태 또는 로컬 상태로 천이하고, 그 결과로서 상기 상태 출력 신호(INS_OUT)를 출력한다. 상기 상태 신호(INS_OUT)는 버퍼(buffer)(253)를 통하여 상기 멀티플렉서(211), 상기 위상 발생기(241), 및 상기 FSM 블록(270)에 전달된다. 상기 인스트럭션 디코더(252)는 상기 로컬 출력 신호(LCOUT)를 수신할 때 인에이블되어 동작하고, 상기 로컬 출력 신호(LCOUT)를 수신하지 않을 때 디세이블된다. 또, 상기 인스트럭션 디코더(252)는 각종 명령(예를 들어, 비교 명령(CMP), 점프 명령(JMP), 롱(long) 점프 명령(LJMP) 등)을 상기 FSM 블록(260)에 출력한다.
상기 FSM 블록(260)은 입력부(261)와 플래그 발생기(262)를 포함한다. 상기 입력부(261)의 동작은 상기 입력부(251)와 유사하다. 상기 플래그 발생기(262) 역시 상기 인스트럭션 디코더(252)와 유사하게, 상기 로컬 출력 신호(LCOUT)를 수신할 때에만 인에이블되어 동작한다. 상기 플래그 발생기(262)는 인에이블될 때, 상기 라인 신호(INF2), 상기 로컬 출력 신호(LCOUT), 및 상기 인스트럭션 디코더(252)로부터 수신되는 상기 명령에 응답하여, 상기 글로벌 상태 또는 상기 로컬 상태로 천이하고, 그 결과로서 상기 상태 출력 신호(FLG_OUT)를 출력한다. 상기 상태 출력 신호(FLG_OUT)는 상기 플래그 발생기(262)의 현재 상태 정보를 포함한다. 상기 상태 출력 신호(FLG_OUT)는 버퍼(263)를 통하여, 상기 멀티플렉서(211)와 상기 위상 발생기(241)에 입력된다. 또, 상기 플래그 발생기(262)는 상기 프로그램 카운터(243)가 점프하여 지정해야할 상기 ROM 매트릭스(244)의 라인 어드레스를 나타내는 점프 신호(JMP_INS)를 더 출력한다.
상기 FSM 블록(270)은 입력부(271)와 출력 디코더(272)를 포함한다. 상기 입력부(271)의 동작은 상기 입력부(251)와 유사하다. 상기 출력 디코더(272) 역시 상기 인스트럭션 디코더(252)와 유사하게, 상기 로컬 출력 신호(LCOUT)를 수신할 때에만 인에이블되어 동작한다. 상기 출력 디코더(272)는 인에이블될 때, 상기 라인 신호(INF3), 상기 로컬 출력 신호(LCOUT), 및 상기 인스트럭션 디코더(252)로부터 수신되는 상기 상태 출력 신호(INS_OUT)에 응답하여, 상기 글로벌 상태 또는 상기 로컬 상태로 천이하고, 그 결과로서 상기 상태 출력 신호(CTL_OUT)를 출력한다. 상기 상태 출력 신호(CTL_OUT)는 예를 들어, 리드(read) 또는 라이트(write) 명령, 리드 또는 라이트 어드레스 신호 등을 포함할 수 있다. 상기 상태 출력 신호(CTL_OUT)는 버퍼(273)를 통하여 상기 멀티플렉서(211)와 외부의 장치(미도시)에 입력된다. 상기 리셋 제어부(280)는 상기 라인 신호들(INF∼INF3)에 응답하여 리셋 신호(RST)를 발생한다. 상술한 것과 같이, 상기 메모리 컨트롤러(200)에서, 상기 글로벌 상태 제어 레지스터(230)는 상기 글로벌 상태 검출기(220)로부터 수신되는 검출 신호(DET)와 로컬 출력 신호(LCOUT)에 응답하여, 상기 FSM 블록들(250∼270) 중 하나를 선택적으로 인에이블시키고, 그 인에이블된 FSM 블록(250∼270 중 하나)에 상기 공유 로컬 레지스터부(110)의 사용권을 부여한다. 따라서, 상기 마이크로 컨트롤러(200)의 전체 소비 전력이 감소될 수 있고, 추가의 로컬 레지스터를 구비하지 않아도 되므로, 그 점유 면적이 감소될 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 마이크로 컨트롤러는 연산 동작 상태에 따라 FSM 블록들 중 하나를 선택적으로 동작시키고, 단일의 로컬 레지스터를 복수의 FSM 블록들이 공유하도록 함으로써, 소비 전력과 점유 면적을 감소시킬 수 있다.

Claims (5)

  1. 제1 내지 제J(J는 정수) 제어 신호들에 각각 응답하여 인에이블되거나 또는 디세이블되고, 인에이블될 때, 제1 내지 제J 입력 신호들, 제1 내지 제J 라인(line) 신호들, 및 로컬 출력 신호에 응답하여 대응하는 상태로 천이하고, 제1 내지 제J 상태 출력 신호들을 각각 출력하는 제1 내지 제J FSM(finite state machine) 블록들;
    상기 제1 내지 제J 라인 신호들을 출력하는 기능 블록;
    클록 신호에 동기하여 동작하고, 제1 내지 제J 선택 신호들에 응답하여, 상기 제1 내지 제J 상태 출력 신호들 중 하나, 또는 초기 상태 신호를 선택적으로 저장하고, 상기 로컬 출력 신호를 출력하는 공유 로컬 레지스터부;
    상기 공유 로컬 레지스터부로부터 수신되는 상기 제1 내지 제J 상태 출력 신호들 중 수신되는 하나에 기초하여, 상기 제1 내지 제J FSM 블록들 중 대응하는 하나의 동작 상태가 로컬(local) 상태인지, 또는 글로벌(global) 상태인지를 검출하고, 그 검출 결과에 따라 검출 신호와 상기 제1 내지 제J 상태 출력 신호들 중 수신되는 하나를 출력하는 글로벌 상태 검출기; 및
    상기 글로벌 상태 검출기로부터 수신되는 상기 제1 내지 제J 상태 출력 신호들 중 하나와 상기 검출 신호에 응답하여, 상기 제1 내지 제J 제어 신호들과 상기 제1 내지 제J 선택 신호들을 출력하는 글로벌 상태 제어 레지스터를 포함하고,
    상기 제1 내지 제J FSM 블록들 중 하나가 인에이블될 때, 나머지들이 디세이블되는 마이크로 컨트롤러.
  2. 삭제
  3. 제1항에 있어서, 상기 공유 로컬 레지스터부는,
    상기 제1 내지 제J 선택 신호들에 응답하여, 상기 제1 내지 제J 상태 출력 신호들 중 하나, 또는 상기 초기 상태 신호를 선택하고, 그 선택된 신호를 출력하는 멀티플렉서; 및
    상기 클록 신호에 동기하여 상기 선택된 신호를 저장하고, 그 저장된 신호를 상기 로컬 출력 신호로서 출력하는 로컬 레지스터를 포함하는 마이크로 컨트롤러.
  4. 제1항에 있어서, 상기 FSM 블록들 각각은,
    상기 제1 내지 제J 입력 신호들 중 하나, 상기 제1 내지 제J 라인 신호들 중 하나, 및 상기 로컬 출력 신호에 응답하여 대응하는 상태로 천이하고, 상기 제1 내지 제J 상태 출력 신호들 중 하나를 출력하는 FSM; 및
    상기 제1 내지 제J 제어 신호들 중 하나에 응답하여 수신되는 상기 로컬 출력 신호를 상기 FSM에 출력하거나, 또는 상기 로컬 출력 신호의 출력 동작을 정지하는 입력부를 포함하는 마이크로 컨트롤러.
  5. 제4항에 있어서,
    상기 입력부는, 상기 제1 내지 제J 제어 신호들 중 하나와 상기 로컬 출력 신호를 수신하고, 상기 로컬 출력 신호가 인에이블될 때, 상기 제1 내지 제J 제어 신호들 중 하나를 출력하는 AND 게이트인 마이크로 컨트롤러.
KR1020050068252A 2005-07-27 2005-07-27 면적이 감소된 마이크로 컨트롤러 KR100739249B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050068252A KR100739249B1 (ko) 2005-07-27 2005-07-27 면적이 감소된 마이크로 컨트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050068252A KR100739249B1 (ko) 2005-07-27 2005-07-27 면적이 감소된 마이크로 컨트롤러

Publications (2)

Publication Number Publication Date
KR20070013711A KR20070013711A (ko) 2007-01-31
KR100739249B1 true KR100739249B1 (ko) 2007-07-12

Family

ID=38013371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050068252A KR100739249B1 (ko) 2005-07-27 2005-07-27 면적이 감소된 마이크로 컨트롤러

Country Status (1)

Country Link
KR (1) KR100739249B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980048433A (ko) * 1996-12-17 1998-09-15 박병재 차량 사고 발생시 다중 충돌 방지 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980048433A (ko) * 1996-12-17 1998-09-15 박병재 차량 사고 발생시 다중 충돌 방지 장치

Also Published As

Publication number Publication date
KR20070013711A (ko) 2007-01-31

Similar Documents

Publication Publication Date Title
TWI251750B (en) An apparatus and method for selectable hardware accelerators in a data driven architecture
US7061823B2 (en) Limited output address register technique providing selectively variable write latency in DDR2 (double data rate two) integrated circuit memory devices
TWI675372B (zh) 涉及多排組雙管道記憶體電路之系統及方法
US20100211747A1 (en) Processor with reconfigurable architecture
US20080144397A1 (en) Pipe latch circult of multi-bit prefetch-type semiconductor memory device with improved structure
US7277332B2 (en) Method and circuit for elastic storing capable of adapting to high-speed data communications
US20110047349A1 (en) Processor and processor control method
JP2007052910A (ja) 同期式メモリ装置のウェーブパイプライン構造の出力回路
US7571300B2 (en) Modular distributive arithmetic logic unit
CN100472432C (zh) 电子电路
US20060010263A1 (en) Direct memory access (DMA) devices, data transfer systems including DMA devices and methods of performing data transfer operations using the same
KR100739249B1 (ko) 면적이 감소된 마이크로 컨트롤러
US11768685B2 (en) Processing device with vector transformation execution
JPWO2006131964A1 (ja) 半導体記憶装置および電子機器
US7143302B2 (en) Pipeline structure
US7345496B2 (en) Semiconductor apparatus and test execution method for semiconductor apparatus
US6505294B2 (en) Direct control of operation blocks using operand signal of control instruction as extension to instruction set in a hardwired control processor
KR100253925B1 (ko) 반도체 기억 장치 및 그 제어 방법
TWI766891B (zh) 半導體裝置的處理器與其操作方法
US9317475B2 (en) Multiplexing auxiliary processing element and semiconductor integrated circuit
JP2004078965A (ja) プロセッサ
US20090006731A1 (en) Semiconductor memory device
JP2012194774A (ja) Simd型マイクロプロセッサ
Sadasivam et al. Autonomous buffer controller design for concurrent execution in block level pipelined dataflow
CN100517506C (zh) 半导体集成电路

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: 20100624

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee