KR100635190B1 - 다중 위상 클록 신호들에 동기하여 동작하는 마이크로컨트롤러 - Google Patents

다중 위상 클록 신호들에 동기하여 동작하는 마이크로컨트롤러 Download PDF

Info

Publication number
KR100635190B1
KR100635190B1 KR1020050068261A KR20050068261A KR100635190B1 KR 100635190 B1 KR100635190 B1 KR 100635190B1 KR 1020050068261 A KR1020050068261 A KR 1020050068261A KR 20050068261 A KR20050068261 A KR 20050068261A KR 100635190 B1 KR100635190 B1 KR 100635190B1
Authority
KR
South Korea
Prior art keywords
signals
signal
state
phase clock
output
Prior art date
Application number
KR1020050068261A
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 KR1020050068261A priority Critical patent/KR100635190B1/ko
Application granted granted Critical
Publication of KR100635190B1 publication Critical patent/KR100635190B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Microcomputers (AREA)

Abstract

본 발명은 다중 위상 클록 신호들에 동기하여 동작하는 마이크로 컨트롤러에 관한 것으로, 본 발명에 따른 마이크로 컨트롤러는 연산 동작 상태에 따라 연산 블록들 중 일부를 선택적으로 동작시키고, 듀티 사이클이 감소 된 다중 위상 클럭 신호들에 동기하여 레지스터들을 순차적으로 동작시켜, 레지스터들의 동작시간을 감소시키므로, 그 소비 전력이 감소 될 수 있다.
연산 블록, 다중 위상 클록 신호, 글로벌 상태 제어 레지스터

Description

다중 위상 클록 신호들에 동기하여 동작하는 마이크로 컨트롤러{Micro controller synchronized with multi-phase clock signals}
도 1은 종래의 마이크로 컨트롤러의 개념적인 블록도이다.
도 2는 본 발명의 일실시예에 따른 마이크로 컨트롤러의 개념적인 블록도이다.
도 3은 도 2에 도시된 마이크로 컨트롤러에 의한 연산 과정을 나타내는 상태도이다.
도 4는 도 2에 도시된 다중 위상 클록 발생기에 의해 발생되는 클록 신호들의 타이밍도이다.
도 5는 본 발명의 일실시예에 따른 마이크로 컨트롤러가 적용된 플래시 메모리 장치용 메모리 컨트롤러의 블록도이다.
〈도면의 주요 부분에 대한 부호의 설명〉
100 : 마이크로 컨트롤러 110, 210 : 클록 발생기
120, 220 : 글로벌 상태 검출기 130, 230 : 글로벌 상태 제어레지스터
140, 240 : 출력 제어부 150, 300 : 인터페이스 장치
RB1∼RBJ, 250, 260 : 연산 블록 FB1∼FBK, 270, 280 : 기능 블록
본 발명은 반도체 장치에 관한 것으로서, 특히, 마이크로 컨트롤러에 관한 것이다.
최근, 캠코더, 디지털 카메라, 휴대폰, MP3(MPEG-1 Layer3) 플레이어 등과 같은 모바일(mobile) 제품들에 대한 수요가 증가함에 따라 모바일 제품들의 동작 성능을 더욱 향상시키기 위한 노력들이 이루어지고 있다. 특히, 모바일 제품은 저전력으로 장시간 동안 동작해야 하기 때문에, 저전력 소비형 모바일 제품들이 많이 개발되고 있다. 이처럼 모바일 제품의 소비 전력을 줄이기 위해서는 모바일 제품에 포함되는 반도체 칩들의 소비 전력이 감소 되어야 한다. 한편, 모바일 제품에서는 내부의 각 장치들의 동작을 제어하기 위한 마이크로 컨트롤러가 사용된다. 마이크로 컨트롤러는 내부적인 연산(예를 들어, 산술(arithmetic) 연산, 부울 연산(Boolean operation) 등) 처리를 실행하고, 클록 신호에 동기하여 시스템 내부의 전반적인 타이밍 제어뿐만 아니라 각 장치들의 동작을 제어하는 제어 신호를 발생한다. 도 1은 종래의 마이크로 컨트롤러의 개념적인 블록도이다. 도 1을 참고하면, 마이크로 컨트롤러(10)는 연산 블록들(20,30)을 포함한다. 도 1에서는 도면의 간략화를 위해 두 개의 연산 블록들(20, 30)만이 도시되었지만, 상기 마이크로 컨트롤러(10)는 추가의 연산 블록들을 더 포함할 수 있다. 상기 연산 블록(20)은 유한 상태 머신(finite state machine; 이하, 'FSM'이라 칭함)(21)과 레지스터부(22)를 포함하고, 상기 연산 블록(30)은 FSM(31)과 레지스터부(32)를 포함한다. 상기 FSM(21)은 입력 신호(IN1), 출력 신호(OUT2'), 및 출력 신호(OUT1') 중 어느 하나에 응답하여, 출력 신호(OUT1)를 출력한다. 여기에서, 상기 출력 신호(OUT1')는 상기 출력 신호(OUT1)보다 시간적으로 앞선다. 다시 말하면, 상기 FSM(21)이 클록 신호(CLOCK)의 이전의 클록 사이클 동안 상기 출력 신호(OUT1')를 출력하고, 상기 클록 신호(CLOCK)의 현재의 클록 사이클 동안 상기 출력 신호(OUT1)를 출력한다. 상기 레지스터부(22)는 상기 클록 신호(CLOCK)에 동기하여 상기 FSM(21)으로부터 수신되는 상기 출력 신호(OUT1)를 저장한다. 좀 더 상세하게는, 상기 레지스터부(22)가 상기 클록 신호(CLOCK)의 이전의 클록 사이클 동안 상기 출력 신호(OUT1)를 저장하고, 상기 클록 신호(CLOCK)의 현재의 클록 사이클 동안 저장된 상기 출력 신호(OUT1')를 출력한다.
상기 FSM(31)은 입력 신호(IN2), 상기 출력 신호(OUT1'), 및 상기 출력 신호(OUT2') 중 하나에 응답하여, 출력 신호(OUT2)를 출력한다. 상기 출력 신호(OUT2')는 상기 출력 신호(OUT2)보다 시간적으로 앞선다. 다시 말하면, 상기 FSM(31)이 상기 클록 신호(CLOCK)의 이전의 클록 사이클 동안 상기 출력 신호(OUT2')를 출력하고, 상기 클록 신호(CLOCK)의 현재의 클록 사이클 동안 상기 출력 신호(OUT2)를 출력한다. 상기 레지스터부(32)는 상기 클록 신호(CLOCK)에 동기하여 상기 FSM(31)으로부터 수신되는 상기 출력 신호(OUT2)를 저장한다. 좀 더 상세하게는, 상기 레지스터부(32)가 상기 클록 신호(CLOCK)의 이전의 클록 사이클 동안 상기 출력 신호(OUT2)를 저장하고, 상기 클록 신호(CLOCK)의 현재의 클록 사이클 동안 저장된 상기 출력 신호(OUT2')를 출력한다. 상술한 것과 같이, 상기 마이크로 컨트롤러(10) 의 상기 연산 블록들(20, 30)은 상기 클록 신호(CLOCK)에 동기하여 연속적으로 동작한다. 하지만, 연산 동작의 특성상, 상기 연산 블록들(20, 30)이 반드시 상기 클록 신호(CLOCK)에 동기하여 실행하지 않아도 되는 연산 동작들이 존재한다. 이처럼 비동기적으로 실행되는 동작들로서 예를 들면, 상기 연산 블록(20)이 상기 연산 블록(30)으로부터 수신되는 상기 출력 신호(OUT2')에 응답하여 실행하는 연산 동작과, 상기 연산 블록(30)이 상기 연산 블록(20)으로부터 수신되는 상기 출력 신호(OUT1')에 응답하여 실행하는 연산 동작이 있다. 이 경우, 상기 연산 블록들(20, 30) 중 하나만이 선택적으로 동작하는 것이 바람직하지만, 상기 마이크로 컨트롤러(10)는 이를 위한 제어 수단을 구비하지 않기 때문에, 연산 블록들(20, 30)의 불필요한 동작에 의해 소모 전력이 증가하는 문제점이 있다. 또한, 상기 마이크로 컨트롤러(10)에서는 통상적으로 듀티 사이클(duty cycle)이 0.5인 상기 클록 신호(CLOCK)가 사용되기 때문에, 상기 레지스터부들(22, 32)에 의한 소모 전력이 증가하는 문제점이 있다. 다시 말하면, 상기 레지스터부들(22, 32)은 상기 클록 신호(CLOCK)가 로직 하이 상태인 동안 연속적으로 상기 출력 신호들(OUT1', OUT2')을 각각 출력하기 때문에, 상기 클록 신호(CLOCK)의 하이 구간이 증가할수록 상기 레지스터부들(22, 32)의 출력 동작에 따른 소모 전력이 증가하게 된다.
따라서, 본 발명이 이루고자 하는 기술적 과제는 연산 동작 상태에 따라 연산 블록들 중 일부를 선택적으로 동작시키고, 듀티 사이클이 감소된 다중 위상 클럭 신호들에 동기하여 레지스터들을 순차적으로 동작시킴으로써, 소비 전력을 줄일 수 있는 마이크로 컨트롤러를 제공하는 데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명에 따른 마이크로 컨트롤러는, 클록 발생기, 제1 내지 제J(J는 정수) 연산 블록들, 제1 내지 제K 기능 블록들(K는 정수), 글로벌 상태 검출기, 및 글로벌 상태 제어 레지스터를 포함한다. 클록 발생기는 내부 클록 신호에 기초하여 서로 다른 위상을 가지는 제1 내지 제I(I는 정수) 다중 위상 클록 신호들을 발생한다. 제1 내지 제J 연산 블록들은 제1 내지 제J 제어 신호들에 각각 응답하여 인에이블되거나 또는 디세이블되고, 인에이블될 때, 제1 내지 제I 다중 위상 클록 신호들 중 일부 또는 전체에 동기하여 동작하고, 제1 내지 제J 입력 신호들에 각각 응답하여 서로 다른 연산 동작들을 각각 실행하고, 제1 내지 제J 상태 신호들을 각각 출력한다. 제1 내지 제K 기능 블록들은 제1 내지 제J 상태 신호들에 각각 응답하여 제1 내지 제K 내부 신호들을 각각 출력한다. 글로벌 상태 검출기는 제1 내지 제J 상태 신호들에 기초하여, 제1 내지 제J 연산 블록들의 동작 상태가 로컬(local) 상태인지 또는 글로벌(global) 상태인지를 검출하고, 그 검출 결과에 따라 검출 신호들을 출력한다. 글로벌 상태 제어 레지스터는 검출 신호들에 응답하여, 제1 내지 제J 제어 신호들을 출력한다. 바람직하게, 제1 내지 제J 연산 블록들 중 일부가 인에이블될 때, 나머지들이 디세이블된다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도 록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 2는 본 발명의 일실시예에 따른 마이크로 컨트롤러의 개념적인 블록도이다. 도 2를 참고하면, 마이크로 컨트롤러(100)는 클록 발생기(110), 연산(operation) 블록들(RB1∼RBJ)(J는 정수), 기능(function) 블록들(FB1∼FBK)(K는 정수), 글로벌 상태 검출기(120), 글로벌 상태 제어 레지스터(130), 출력 제어부(140), 디코딩 블록(CB), 및 인터페이스 장치(150)를 포함한다. 상기 클록 발생기(110)는 내부 클록 신호(CLK)를 수신하고, 상기 내부 클록 신호(CLK)에 기초하여 서로 다른 위상을 가지는 제1 내지 제4 다중 위상(multi-phase) 클록 신호들(CK1∼CK4)을 발생하고, 상기 내부 클록 신호(CLK)를 출력한다. 바람직하게, 상기 제1 내지 제4 다중 위상 클록 신호들(CK1∼CK4) 각각의 듀티 사이클(duty cycle)은 도 4에서 참조되는 것과 같이, 상기 내부 클록 신호(CLK)의 듀티 사이클보다 더 작다. 여기에서, 상기 내부 클록 신호(CLK)의 듀티 사이클은 0.5로 설정될 수 있다. 또한, 상기 제1 내지 제4 다중 위상 클록 신호들(CK1∼CK4) 각각의 주기는 상기 내부 클록 신호(CLK)의 주기와 동일하게 설정될 수 있다. 상기 제1 다중 위상 클록 신호(CK1)의 위상은 상기 제2 내지 제4 다중 위상 클록 신호들(CK2∼CK4)의 위상들보다 시간적으로 더 앞선다.
상기 연산 블록들(RB1∼RBJ)은 제어 신호들(RCTL1∼RCTLJ)에 각각 응답하여 인에이블되거나 또는 디세이블되고, 인에이블될 때, 상기 제1 내지 제4 다중 위상 클록 신호들(CK1∼CK4) 중 일부 또는 전체에 동기하여 동작한다. 상기 연산 블록들 (RB1∼RBJ)은 입력 신호들(DI1∼DIJ)에 각각 응답하여 서로 다른 연산 동작들을 각각 실행하고, 상태 신호들(SS1∼SSJ)을 각각 출력한다. 상기 연산 블록들(RB1∼RBJ)은 로컬 레지스터부들(FR1∼FRJ)과 FSM들(FM1∼FMJ)을 각각 포함한다. 상기 로컬 레지스터부들(FR1∼FRJ)은 제어 신호들(RCTL1∼RCTLJ)에 각각 응답하여 인에이블되거나 또는 디세이블된다. 또, 상기 로컬 레지스터부들(FR1∼FRJ)은 상기 제1 내지 제4 다중 위상 클록 신호들(CK1∼CK4) 중 일부 또는 전체에 동기하여 동작한다. 상기 연산 블록들(RB1∼RBJ)의 구성 및 구체적인 동작은 서로 유사하므로, 상기 연산 블록(RB1)을 중심으로 설명한다. 상기 연산 블록(RB1)은 상기 로컬 레지스터부(FR1)와 상기 FSM(FM1)을 포함한다. 상기 FSM(FM1)은 입력 신호(DI1) 또는 상태 신호(SS2∼SSJ 중 하나)에 응답하여, 글로벌 상태 또는 로컬 상태로 천이하고, 그 결과로서 상기 상태 신호(SS1)를 출력한다. 여기에서, 상기 로컬 상태와 글로벌 상태에 대하여, 도 3을 참고하여 좀 더 상세히 설명하면 다음과 같다. 상기 로컬 상태는 하나의 FSM 내에서 이루어지는 천이(transition) 동작에 따른 결과로서, 상기 FSM의 천이 동작은 클록 신호에 동기하여 이루어진다. 상기 글로벌 상태는 하나의 FSM에서 발생된 상태 신호에 따라 다른 하나의 FSM이 특정 로컬 상태로 천이하는 FSM들간의 천이 동작으로서, 클록 신호에 비동기적으로 이루어질 수 있다. 예를 들어, 상기 FSM(FM1)의 로컬 상태들로서 S1, S4, S6이 존재하고, 상기 FSM(FM2)의 로컬 연산 상태들로서 S2, S3, S5, S7이 존재하는 것으로 가정하자. 또한, 상기 FSM(FM1)에서 상기 FSM(FM2)으로의 글로벌 상태로서 G2가 존재하고, 상기 FSM(FM2)에서 상기 FSM(FM1)으로의 글로벌 상태로서 G1 및 G6가 존재하는 것으로 가정하자. 이 경우, 상기 FSM(FM1)은 상기 FSM(FM2)으로부터 출력된 상기 상태 신호(SS2)에 응답하여, 상기 로컬 상태 S1로 천이하고, 상기 상태 신호(SS1)를 출력한다. 상기 상태 신호(SS1)는 상기 로컬 레지스터부(FR1)에 의해 피드백되어 다시 상기 FSM(FM1)에 입력된다. 상기 FSM(FM1)은 피드백된 상기 상태 신호(SS1')에 응답하여, 상기 로컬 상태 S4로 천이하고, 그 결과로서 상기 상태 신호(SS1)를 출력한다. 상술한 것과 같이, 상기 FSM(FM1)은 상기 로컬 상태들(S1, S4, S6) 중 하나로 천이하고, 그 천이 상태에 따라 상기 상태 신호(SS1)를 출력한다. 한편, 상기 FSM(FM1)이 상기 입력 신호(DI1)를 수신할 때, 상기 글로벌 상태 G2로 천이하고, 상기 상태 신호(SS1)를 출력한다. 상기 FSM(FM2)는 상기 상태 신호(SS1)에 응답하여 상기 로컬 상태(S2)로 천이하고, 상기 상태 신호(SS2)를 출력한다. 상기 FSM(FM2)은 상기 FSM(FM1)과 유사하게 상기 로컬 상태들(S2, S3, S5, S7) 중 하나로 천이하고, 그 천이 상태에 따라 상기 상태 신호(SS2)를 출력한다. 또, 상기 FSM(FM2)은 상기 로컬 상태(S5)에서 상기 입력 신호(DI2)를 수신할 때, 상기 글로벌 상태(G1)로 천이하고, 상기 로컬 상태(S7)에서 상기 입력 신호(DI2')를 수신할 때, 상기 글로벌 상태(G6)로 천이한다. 도 3에서 참조되는 것가 같이, 상기 FSM들(FM1, FM2)에서는, 로컬 천이들(δL1∼δL12)과 글로벌 천이들(δG1∼δG3)이 존재한다.
상기 기능 블록들(FB1∼FBK)은 상기 상태 신호들(SS1∼SSJ)에 응답하여 내부 신호들(IS1∼ISK)을 각각 출력한다. 여기에서, 상기 마이크로 컨트롤러(100)에 포함되는 상기 기능 블록의 수는 상기 연산 블록의 수와 동일하거나 또는 다르게 설 정될 수 있다. 다시 말하면, 상기 마이크로 컨트롤러(100)에 포함되는 상기 기능 블록의 수가 상기 연산 블록의 수보다 작거나 또는 더 크게 설정될 수 있다. 상기 기능 블록들(FB1∼FBK)은 로컬 레지스터부들(SR1∼SRK)과 기능 유닛들(units)(SM1∼SMK)을 각각 포함한다. 좀 더 상세하게는, 상기 기능 블록(FB1)은 상기 로컬 레지스터부(SR1)와 상기 기능 유닛(SM1)을 포함한다. 상기 로컬 레지스터부들(SR1∼SRK)은 상기 제1 내지 제4 다중 위상 클록 신호들(CK1∼CK4) 중 일부 또는 전체에 동기하여 동작한다. 상기 기능 블록들(FB1∼FBK)과 상기 연산 블록들(RB1∼RBJ)의 차이점은 상기 로컬 레지스터부들(SR1∼SRK)이 피드백 루프를 형성하지 않는 것이다.
상기 글로벌 상태 검출기(120)는 상기 상태 신호들(SS1∼SSJ)에 기초하여, 현재의 상기 연산 블록들(RB1∼RBJ)의 상태가 로컬(local) 상태인지 글로벌(global) 상태인지를 검출하고, 그 검출 결과에 따라 검출 신호들(DET1∼DETJ)을 출력한다. 상기 글로벌 상태 검출기(120)는 상기 상태 신호들(SS1∼SSJ)에 기초하여, 상기 글로벌 상태로 천이한 연산 블록들을 검출하고, 그 검출 결과에 따라 검출 신호들을 인에이블시킨다. 예를 들어, 상기 연산 블록(RB1)이 상기 글로벌 상태로 천이 할 때, 상기 글로벌 상태 검출기(120)가 이를 검출하고, 상기 검출 신호(DET1)만을 인에이블시키고, 나머지 검출 신호들(DET2∼DETJ)을 모두 디세이블시킨다. 상기 글로벌 상태 제어 레지스터(130)는 상기 검출 신호들(DET1∼DETJ)에 응답하여, 상기 제어 신호들(RCTL1∼RCTLJ)를 출력한다. 바람직하게, 상기 글로벌 상태 제어 레지스터(130)는 상기 연산 블록(RB1)의 출력 신호에 응답하여 동작할 연산 블록(예를 들어, RB2)에 대응하는 상기 제어 신호(RCTL2)만을 인에이블시키고, 상기 제어 신호들(RCTL1, RCTL3∼RCTLJ)은 모두 디세이블시킨다. 택일적으로, 상기 글로벌 상태 제어 레지스터(130)는 상기 제어 신호들(RCTL1∼RCTLJ) 중 일부를 인에이블시켜, 상기 연산 블록들(RB1∼RBJ) 중 일부가 동시에 인에이블되도록 제어할 수도 있다. 또, 상기 글로벌 상태 제어 레지스터(130)는 상기 검출 신호들(DET1∼DETJ)에 응답하여, 출력 제어 신호들(OCTL1∼OCTLK)을 더 출력한다.
상기 출력 제어부(140)는 상기 내부 신호들(IS1∼ISK)을 수신하고, 상기 출력 제어 신호들(OCTL1∼OCTLK)에 응답하여, 상기 내부 신호들(IS1∼ISK)을 상기 디코딩 블록(CB)에 출력하거나 또는 출력하지 않는다. 바람직하게, 상기 출력 제어부(140)는 상기 출력 제어 신호들(OCTL1∼OCTLK)이 인에이블될 때, 상기 내부 신호들(IS1∼ISK)을 상기 디코딩 블록(CB)에 출력한다. 상기 출력 제어부(140)는 AND 게이트들(A1∼AK)로서 구현될 수 있다. 상기 AND 게이트들(A1∼AK)은 상기 출력 제어 신호들(OCTL1∼OCTLK)과 상기 내부 신호들(IS1∼ISK)에 각각 수신하고, 상기 출력 제어 신호들(OCTL1∼OCTLK)이 로직 하이로 인에이블될 때, 상기 내부 신호들(IS1∼ISK)을 상기 디코딩 블록(CB)에 출력한다.
상기 디코딩 블록(CB)은 디코딩 유닛(DU)과 로컬 레지스터부(DR)를 포함한다. 상기 디코딩 유닛(DU)은 상기 내부 신호들(IS1∼ISK)을 디코딩하고, 디코딩 신호(DS)를 발생한다. 상기 로컬 레지스터부(DR)는 상기 제1 내지 제4 다중 위상 클록 신호들(CK1∼CK4) 중 일부 또는 전체에 동기하여 상기 디코딩 신호(DS)를 수신하여 상기 인터페이스 장치(150)에 출력한다. 상기 인터페이스 장치(150)는 상기 디코딩 신호(DS)를 외부 제어 신호(SOUT)로서 외부의 장치(미도시)에 출력한다. 그 결과, 상기 외부 제어 신호(SOUT)에 응답하여, 상기 외부의 장치의 동작이 제어된다. 상기 인터페이스 장치(150)는 상기 외부의 장치로부터 수신되는 외부 입력 신호(SIN)를 상기 입력 신호들(DI1∼DIJ) 중 하나 또는 일부로서 상기 연산 블록들(RB1∼RBJ) 중 하나 또는 일부에 출력한다.
다음으로, 도 5를 참고하여, 본 발명에 따른 마이크로 컨트롤러가 플래시 메모리 장치용 메모리 컨트롤러로서 구현되는 경우를 일례로서 설명하기로 한다. 도 5를 참고하면, 메모리 컨트롤러(200)는 클록 발생기(210), 글로벌 상태 검출기(220), 글로벌 상태 제어 레지스터(230), 출력 제어부(240), 연산 블록들(250, 260), 기능 블록들(270, 280), 디코딩 블록(290), 및 인터페이스 장치(300)를 포함한다. 상기 클록 발생기(210), 상기 글로벌 상태 검출기(220), 상기 글로벌 상태 제어 레지스터(230), 및 상기 출력 제어부(240)의 동작은 도 2를 참고하여 상술한 상기 클록 발생기(110), 상기 글로벌 상태 검출기(120), 상기 글로벌 상태 제어 레지스터(130), 및 상기 출력 제어부(140)와 유사하므로, 이들에 대한 상세한 설명은 생략하기로 한다. 상기 연산 블록(250)은 로컬 레지스터부(251), 카운터(252), 및 멀티플렉서(253)를 포함한다. 상기 로컬 레지스터부(251)는 슬레이브(slave) 래치(254), 마스터(master) 래치(255), 및 서브(sub) 레지스터(256)를 포함한다. 바람직하게, 상기 슬레이브 래치(254)와 상기 마스터 래치(255)는 각각 D 플립플롭으로 구현될 수 있다. 상기 슬레이브 래치(254)는 제1 다중 위상 클록 신호(CK1)에 동기하여, 상기 카운터(252)로부터 출력되는 카운팅 신호(CNT)를 수신하여 출력한다. 바람직하게, 상기 슬레이브 래치(254)는 상기 제1 다중 위상 클록 신호(CK1)가 토글(toggle)될 때마다 상기 카운팅 신호(CNT)를 래치하여 출력한다. 상기 슬레이브 래치(254)는 상기 제1 다중 위상 클록 신호(CK1)가 토글될 때 래치한 상기 카운팅 신호(CNT)를 상기 제1 다중 위상 클록 신호(CK1)의 다음 토글 시점까지 유지한다.
상기 마스터 래치(255)는 제2 다중 위상 클록 신호(CK2)에 동기하여, 상기 슬레이브 래치(254)로부터 수신되는 상기 카운팅 신호(CNT)를 래치하여 출력한다. 바람직하게, 상기 마스터 래치(255)는 상기 제2 다중 위상 클록 신호(CK2)가 토글될 때마다 상기 카운팅 신호(CNT)를 래치하여 출력한다. 상기 마스터 래치(255)는 상기 제2 다중 위상 클록 신호(CK2)가 토글될 때 래치한 상기 카운팅 신호(CNT)를 상기 제2 다중 위상 클록 신호(CK2)의 다음 토글 시점까지 유지한다.
상기 서브 레지스터(256)는 상기 글로벌 상태 제어 레지스터(230)로부터 수신되는 제어 신호(RCTL1)에 응답하여, 인에이블되거나 또는 디세이블된다. 상기 서브 레지스터(256)가 디세이블될 때, 상기 연산 블록(250)은 실질적으로 동작을 정지한다. 또, 상기 서브 레지스터(256)가 인에이블될 때, 제3 다중 위상 클록 신호(CK3)에 동기하여, 상기 마스터 래치(255)로부터 출력되는 상기 카운팅 신호(CNT)를 수신하여 피드백된 카운팅 신호(CNT')를 출력한다. 결국, 상기 카운팅 신호(CNT)는 상기 마스터 래치(255)와 상기 서브 레지스터(256)에 의해 피드백되어, 다시 상기 카운터(252)에 입력된다. 이때, 상기 서브 레지스터(256)로부터 출력되는 피드백된 카운팅 신호(CNT')는 상기 카운터(252)로부터 출력되는 상기 카운팅 신호(CNT) 보다 시간적으로 앞선다. 즉, 상기 카운터(252)가 이전에 출력한 상기 피드 백된 카운팅 신호(CNT')의 비트 값을 설정된 값만큼 증가시키고, 그 증가된 값을 가지는 상기 카운팅 신호(CNT)를 출력한다. 상기 카운터(252)는 입력 신호(MXO) 또는 상기 피드백된 카운팅 신호(CNT')에 응답하여, 카운팅 동작을 실행하고, 상기 카운팅 신호(CNT)를 출력한다. 여기에서, 상기 카운터(252)는 도 2에 도시된 상기 연산 블록(RB1)의 상기 FSM(FM1)과 대비될 수 있다.
상기 멀티플렉서(253)는 선택 신호들(M0, M1)에 응답하여, 초기 신호(INT)와 라인(line) 어드레스 신호(LFA) 중 하나를 선택하고, 그 선택된 신호(INT 또는 LFA)를 상기 입력 신호(MXO)로서 상기 카운터(252)에 출력한다. 바람직하게, 상기 선택 신호(M0)가 인에이블될 때, 상기 멀티플렉서(253)가 상기 초기 신호(INT)를 상기 입력 신호(MXO)로서 출력하고, 상기 선택 신호(M1)가 인에이블될 때, 상기 멀티플렉서(253)가 상기 라인 어드레스 신호(LFA)를 상기 입력 신호(MX0)로서 출력한다. 또, 상기 선택 신호들(M0, M1)이 모두 디세이블될 경우, 상기 멀티플렉서(253)는 상기 입력 신호(MXO)의 출력 동작을 정지한다. 예를 들어, 상기 초기 신호(INT)의 비트 값이 '00001'일 경우, 초기에 상기 선택 신호(M0)가 인에이블될 때, 상기 멀티플렉서(253)가 상기 초기 신호(INT)를 상기 입력 신호(MXO)로서 출력한다. 상기 카운터(252)는 초기에 상기 입력 신호(MXO)(즉, 상기 초기 신호(INT)의 값)를 수신하고, '00001'의 값을 가지는 상기 카운팅 신호(CNT)를 출력한다. 이 후, 상기 카운터(252)는 상기 피드백된 카운팅 신호(CNT')의 비트 값을 한 비트씩 증가시켜 상기 카운팅 신호(CNT)를 출력한다. 그 결과, 상기 카운팅 신호(CNT)의 비트 값은 '00001', '00010', '00011',...과 같이 점차적으로 증가한다.
상기 기능 블록(270)은 ROM(Read Only Memory)(271)과 출력 레지스터(272)를 포함한다. 상기 ROM(271)은 상기 카운팅 신호(CNT)에 응답하여, 라인 코드 정보(LFI)와 상기 라인 어드레스 신호(LFA)를 출력한다. 상기 라인 어드레스 신호(LFA)는 해당 라인의 어드레스 정보 또는 점프(jump)할 라인의 어드레스 정보를 포함한다. 예를 들어, 상기 카운터(252)가 현재 발생한 상기 카운팅 신호(CNT)의 비트 값이 '00010'일 때, 상기 ROM(271)이 점프할 라인의 어드레스 정보를 포함하는 라인 어드레스 신호(LFA)의 비트 값을 '00100'으로 출력하면, 상기 카운터(252)는 상기 비트 값 '00100'으로부터 카운팅 동작을 시작한다. 따라서, 상기 카운터(252)가 발생하는 상기 카운팅 신호(CNT)의 비트 값은 '00100', '00101', '00110',...과 같이 점차적으로 증가한다. 상기 라인 코드 정보(LFI)는 플래시 메모리 장치(미도시)의 동작 제어를 위한 각종 제어 정보들을 포함한다. 상기 출력 레지스터(272)는 상기 내부 클럭 신호(CLK)에 동기하여, 상기 라인 코드 정보(LFI)를 수신하여, 상기 출력 제어부(240)에 출력한다.
상기 연산 블록(260)은 로컬 레지스터부(261), ALU(Arithmetic Logic Unit)(262), 입력 래치(263), 및 멀티플렉서들(264∼268)을 포함한다. 상기 로컬 레지스터부(261)는 파일(file) 레지스터(60)와 출력 래치(70)를 포함한다. 상기 파일 레지스터(60)는 입력부(61), 상위(upper) 레지스터부(62), 및 하위(lower) 레지스터부(63)를 포함한다. 상기 입력부(61)는 상기 출력 래치(70)로부터 수신되는 연산 결과 신호(ALDi)(i는 정수)를 수신하여, 상기 상위 레지스터(62) 또는 상기 하위 레지스터(63)에 출력한다. 상기 상위 레지스터부(62)는 상위 레지스터들(RH1∼ RHn)(n은 정수)을 포함하고, 상기 하위 레지스터부(63)는 하위 레지스터들(RL1∼RLn)을 포함한다. 상기 상위 레지스터부(62)와 상기 하위 레지스터부(63)는 상기 글로벌 상태 제어 레지스터(230)로부터 수신되는 제어 신호(RCTL2)에 응답하여 인에이블되거나 또는 디세이블된다. 상기 상위 레지스터부(62)와 상기 하위 레지스터부(63)가 디세이블될 때, 상기 연산 블록(260)은 실질적으로 동작을 정지한다. 또, 상기 상위 레지스터부(62)와 상기 하위 레지스터부(63)가 인에이블될 때, 상기 제4 다중 위상 클록 신호(CK4)에 동기하여, 상기 상위 레지스터부(62)와 상기 하위 레지스터부(63) 중 하나가 상기 입력부(61)로부터 수신되는 상기 연산 결과 신호(ALDi)를 저장한다.
상기 상위 레지스터부(62)와 상기 하위 레지스터부(63)는 상기 연산 결과 신호(ALDi)의 비트 수에 따라 쉬프트(shift) 레지스터로서 동작할 수도 있고, 각각 독립적으로 동작할 수도 있다. 예를 들어, 상기 연산 결과 신호(ALDi)가 16비트일 때, 상기 상위 레지스터부(62)와 상기 하위 레지스터부(63)가 쉬프트 레지스터로서 동작하고, 상기 연산 결과 신호(ALDi)가 8비트일 때, 상기 상위 레지스터부(62)와 상기 하위 레지스터부(63)가 각각 독립적으로 동작할 수 있다.
상기 상위 레지스터부(62)와 상기 하위 레지스터부(63)가 쉬프트 레지스터로서 동작할 경우, 상기 입력부(61)는 제1 연산 결과 신호(ALD1)를 상기 상위 레지스터부(62)에 출력한다. 이 후, 상기 입력부(61)가 제2 연산 결과 신호(ALD2)를 상기 상위 레지스터부(62)에 출력할 때, 상기 상위 레지스터부(62)에 저장된 상기 제1 연산 결과 신호(ALD1)가 상기 하위 레지스터부(63)로 쉬프트된다. 결과적으로, 상 기 하위 레지스터부(63)로부터 피드백된 연산 결과 신호들(ALDF1∼ALDFn)이 출력된다.
또, 상기 상위 레지스터부(62)와 상기 하위 레지스터부(63)가 각각 독립적으로 동작할 경우, 상기 입력부(61)는 상기 연산 결과 신호(ALDi)의 최하위 비트의 로직 값이 '1'일 때, 상기 상기 연산 결과 신호(ALDi)를 상기 상위 레지스터부(62)에 출력한다. 또, 상기 상기 연산 결과 신호(ALDi)의 최하위 비트의 로직 값이 '0'일 때, 상기 입력부(61)가 상기 연산 결과 신호(ALDi)를 상기 하위 레지스터부(63)에 출력한다. 결과적으로, 상기 상위 레지스터부(62)에 저장된 상기 연산 결과 신호(ALDi)의 비트들과, 상기 하위 레지스터부(63)에 저장된 상기 연산 결과 신호(ALDi)의 비트들이 함께 출력된다. 이를 좀 더 상세히 설명하면, 예를 들어, 상기 연산 결과 신호(ALDi)가 8비트일 경우, 상기 상위 레지스터부(62)에 저장된 제1 연산 결과 신호(ALD1)의 8비트와, 상기 하위 레지스터부(63)에 저장된 제2 연산 결과 신호(ALD2)의 8비트를 포함하는 상기 피드백된 연산 결과 신호(ALDF1)가 최종적으로 출력된다.
상기 멀티플렉서(264)는 선택 신호(M2)에 응답하여, 상기 인터페이스 장치(300)로부터 수신되는 입력 신호들(IP1∼IPT)(T는 정수) 중 하나 또는 제어 신호(CRL)를 선택하고, 그 선택된 신호(IP1∼IPT 중 하나 또는 CRL)를 출력한다. 상기 입력 래치(263)는 상기 제1 다중 위상 클록 신호(CK1)에 응답하여, 상기 멀티플렉서(264)로부터 수신되는 상기 선택된 신호(IP1∼IPT 중 하나 또는 CRL)를 래치하고, 그 래치된 신호(LAT)를 출력한다.
상기 멀티플렉서(265)는 선택 신호(M3)에 응답하여, 상기 피드백된 연산 결과 신호들(ALDF1∼ALDFn) 중 하나를 선택하고, 그 선택된 신호를 제1 출력 신호(MX1)로서 출력한다. 여기에서, 상기 피드백된 연산 결과 신호들(ALDF1∼ALDFn) 각각은 복수의 비트들을 포함한다. 상기 멀티플렉서(266)는 선택 신호(M4)에 응답하여, 상기 피드백된 연산 결과 신호들(ALDF1∼ALDFn) 중 하나를 선택하고, 그 선택된 신호를 제2 출력 신호(MX2)로서 출력한다. 상기 멀티플렉서(267)는 선택 신호(M5)에 응답하여, 상기 라인 어드레스 신호(LFA)와 상기 제1 출력 신호(MX1) 중 하나를 선택하고, 그 선택된 신호를 제3 출력 신호(MX3)로서 출력한다. 상기 멀티플렉서(268)는 선택 신호(M6)에 응답하여, 상기 제2 출력 신호(MX2)와 상기 래치된 신호(LAT) 중 하나를 선택하고, 그 선택된 신호를 제3 출력 신호(MX4)로서 출력한다. 상기 ALU(262)는 상기 제3 출력 신호(MX3)와 상기 제4 출력 신호(MX4)를 수신하고, 상기 제3 및 제4 출력 신호들(MX3, MX4)에 대하여 덧셈, 뺄셈, 나눗셈 등의 산술 연산 또는 OR, XOR, AND 등의 로직 연산을 수행한 후, 그 결과로서, 상기 연산 결과 신호(ALDi)와 플래그 데이터 신호(FLD)를 각각 출력한다. 바람직하게, 상기 플래그 데이터 신호(FLD)는 3비트로 설정될 수 있다. 상기 출력 래치(70)는 상기 제3 다중 위상 클록 신호(CK3)에 동기하여, 상기 연산 결과 신호(ALDi)를 래치하여 출력한다.
상기 기능 블록(280)은 플래그 래치(281)와 플래그 디코더(282)를 포함한다. 상기 플래그 래치(281)는 상기 제2 다중 위상 클록 신호(CK2)에 동기하여, 상기 플래그 데이터 신호(FLD)를 래치하여 출력한다. 상기 플래그 래치(281)는 D 플립플롭 들로 구현될 수 있다. 바람직하게, 상기 플래그 데이터 신호(FLD)는 복수의 비트들을 포함한다. 예를 들어, 상기 플래그 데이터 신호(FLD)가 3비트일 때, 상기 플래그 래치(281)는 상기 플래그 데이터 신호(FLD)의 비트들을 각각 래치하는 3개의 D 플립플롭들로 구현될 수 있다. 상기 플래그 디코더(282)는 상기 플래그 래치(281)로부터 수신되는 상기 플래그 데이터 신호(FLD)의 비트 값에 응답하여 플래그 신호(FLG)를 발생한다.
상기 기능 블록(290)은 인스트럭션(instruction) 디코더(291), 버퍼(292), 및 출력 레지스터(293)를 포함한다. 상기 인스트럭션 디코더(291)는 상기 출력 제어부(240)로부터 수신되는 상기 라인 코드 정보(LFI) 또는 상기 플래그 신호(FLG)를 디코딩하고, 그 디코딩 신호(DEC)를 출력한다. 예를 들어, 상기 디코딩 신호(DEC)는 리드(read) 또는 라이트(write) 명령, 리드 또는 라이트 어드레스 신호 등을 포함할 수 있다. 상기 버퍼(292)는 상기 디코딩 신호(dec)를 수신하여, 상기 출력 레지스터(293)에 출력한다. 상기 출력 레지스터(293)는 상기 제4 다중 위상 클록 신호(CK4)에 동기하여, 상기 디코딩 신호(DEC)를 수신하여 상기 인터페이스 장치(300)에 출력한다. 바람직하게, 상기 출력 레지스터(293)는 상기 제4 다중 위상 클록 신호(CK4)가 로직 하이 상태인 동안 상기 디코딩 신호(DEC)를 수신하여 출력하고, 상기 제4 다중 위상 클록 신호(CK4)가 로직 로우일 때, 상기 디코딩 신호(DEC)의 출력 동작을 정지한다. 상기 인터페이스 장치(300)는 상기 디코딩 신호(DEC)를 외부 제어 신호(EXOUT)로서 외부의 장치(미도시)에 출력하고, 상기 외부의 장치로부터 수신되는 외부 입력 신호(EXIN)에 기초하여, 상기 입력 신호들(IP1∼ IPT)과 상기 제어 신호(CRL)를 발생하여 출력한다. 상술한 것과 같이, 상기 메모리 컨트롤러(200)에서, 상기 글로벌 상태 제어 레지스터(230)는 상기 글로벌 상태 검출기(220)로부터 수신되는 검출 신호들(DET1, DET2)에 응답하여, 상기 연산 블록들(250, 260) 중 하나를 선택적으로 인에이블시키거나, 또는 모두 인에이블시킬 수 있다. 결국, 상기 글로벌 상태 제어 레지스터(230)가 상기 연산 블록들(250, 260)이 동시에 동작할 필요가 없는 시점에서 어느 하나를 디세이블시킴으로써, 전체 전력 소비량을 감소시킬 수 있다. 또한, 상기 메모리 컨트롤러(200)에서는 래치들 또는 레지스터들이, 듀티 사이클이 상기 내부 클록 신호(CLK)의 듀티 사이클보다 작은 제1 내지 제4 다중 위상 클록 신호들(CK1∼CK4)에 각각 동기하여 동작하므로, 그 출력 동작 시간이 감소되어 소모 전력이 감소될 수 있다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 마이크로 컨트롤러는 연산 동작 상태에 따라 연산 블록들 중 일부를 선택적으로 동작시키고, 듀티 사이클이 감소된 다중 위상 클럭 신호들에 동기하여 레지스터들을 순차적으로 동작시켜 레지스터들의 동작시간을 줄임으로써, 전체 소비 전력을 감소시킬 수 있다.

Claims (10)

  1. 내부 클록 신호에 기초하여 서로 다른 위상을 가지는 제1 내지 제I(I는 정수) 다중 위상 클록 신호들을 발생하는 클록 발생기;
    제1 내지 제J(J는 정수) 제어 신호들에 각각 응답하여 인에이블되거나 또는 디세이블되고, 인에이블될 때, 상기 제1 내지 제I 다중 위상 클록 신호들 중 일부 또는 전체에 동기하여 동작하고, 제1 내지 제J 입력 신호들에 각각 응답하여 서로 다른 연산 동작들을 각각 실행하고, 제1 내지 제J 상태 신호들을 각각 출력하는 제1 내지 제J 연산 블록들;
    상기 제1 내지 제J 상태 신호들에 각각 응답하여 제1 내지 제K(K는 정수) 내부 신호들을 각각 출력하는 제1 내지 제K 기능 블록들;
    상기 제1 내지 제J 상태 신호들에 기초하여, 상기 제1 내지 제J 연산 블록들의 동작 상태가 로컬(local) 상태인지, 또는 글로벌(global) 상태인지를 검출하고, 그 검출 결과에 따라 검출 신호들을 출력하는 글로벌 상태 검출기; 및
    상기 검출 신호들에 응답하여, 상기 제1 내지 제J 제어 신호들을 출력하는 글로벌 상태 제어 레지스터를 포함하고,
    상기 제1 내지 제J 연산 블록들 중 일부가 인에이블될 때, 나머지들이 디세이블되는 마이크로 컨트롤러.
  2. 제1항에 있어서,
    상기 제1 내지 제I 다중 위상 클록 신호들 각각의 듀티 사이클은 상기 내부 클록 신호의 듀티 사이클보다 작은 마이크로 컨트롤러.
  3. 제1항에 있어서,
    상기 제1 다중 위상 클록 신호의 위상은 상기 제2 내지 제I 다중 위상 클록 신호들의 위상들보다 시간적으로 더 앞서고, 상기 제1 내지 제I 다중 위상 클록 신호들 각각의 주기는 상기 내부 클록 신호의 주기와 동일한 마이크로 컨트롤러.
  4. 제1항에 있어서,
    상기 글로벌 상태 제어 레지스터는 상기 검출 신호들에 응답하여, 제1 내지 제K 출력 제어 신호들을 더 출력하고,
    상기 제1 내지 제K 내부 신호들을 디코딩하고, 디코딩 신호를 발생하는 디코딩 블록;
    상기 제1 내지 제K 출력 제어 신호들에 응답하여, 상기 제1 내지 제K 내부 신호들을 각각 상기 디코딩 블록에 출력하거나, 또는 출력 동작을 정지하는 출력 제어부; 및
    상기 디코딩 신호를 외부 제어 신호로서 외부의 장치에 출력하고, 상기 외부의 장치로부터 수신되는 외부 입력 신호를 상기 제1 내지 제J 입력 신호들 중 하나 또는 일부로서 상기 제1 내지 제J 연산 블록들 중 하나 또는 일부에 출력하는 인터페이스 장치를 더 포함하는 마이크로 컨트롤러.
  5. 제4항에 있어서,
    상기 제J 연산 블록이 수신하는 상기 제J 입력 신호는, 상기 제1 내지 제J-1 상태 신호들 중 하나이거나, 또는 상기 외부 입력 신호이거나, 또는 상기 제1 내지 제K 내부 신호들 중 하나인 마이크로 컨트롤러.
  6. 제4항에 있어서,
    상기 출력 제어부는, 상기 제1 내지 제K 출력 제어 신호들과 상기 제1 내지 제K 내부 신호들을 각각 로직 연산하고, 그 연산 결과들을 각각 출력하는 제1 내지 제K AND 게이트들을 포함하는 마이크로 컨트롤러.
  7. 제3항에 있어서, 상기 제1 내지 제J 연산 블록들 각각은,
    상기 제1 내지 제J 입력 신호들 중 하나, 또는 제1 내지 제J 피드백 신호들 중 하나에 응답하여, 상기 제1 내지 제J 상태 신호들 중 하나를 출력하는 FSM(finite state machine); 및
    상기 제어 신호들 중 하나에 응답하여 인에이블 또는 디세이블되고, 인에이블될 때, 상기 제1 내지 제I 다중 위상 클록 신호들 중 일부 또는 전체에 동기하여, 상기 제1 내지 제J 상태 신호들 중 하나를 수신하고, 상기 제1 내지 제J 상태 신호들 중 하나를 상기 제1 내지 제J 피드백 신호들 중 하나로서 출력하는 로컬 레지스터부를 포함하는 마이크로 컨트롤러.
  8. 제7항에 있어서, 상기 제1 내지 제J 연산 블록들 중 적어도 하나의 상기 로컬 레지스터부는,
    상기 제2 다중 위상 클록 신호에 동기하여, 상기 제1 내지 제J 상태 신호들 중 대응하는 하나를 수신하여 출력하는 제1 래치;
    상기 제1 다중 위상 클록 신호에 동기하여, 상기 FSM으로부터 수신되는 상기 제1 내지 제J 상태 신호들 중 대응하는 하나를 상기 제1 래치에 출력하는 제2 래치; 및
    상기 제1 내지 제J 제어 신호들 중 대응하는 하나에 응답하여, 인에이블되거나 또는 디세이블되고, 인에이블될 때, 상기 제3 다중 위상 클럭 신호에 동기하여, 상기 제1 레지스터로부터 수신되는 상기 제1 내지 제J 상태 신호들 중 대응하는 하나를 상기 FSM에 출력하는 레지스터를 포함하는 마이크로 컨트롤러.
  9. 제8항에 있어서,
    상기 레지스터는 상기 제3 다중 위상 클럭 신호가 로직 하이 상태인 동안만 상기 제1 내지 제J 상태 신호들 중 대응하는 하나의 출력 동작을 실행하는 마이크로 컨트롤러.
  10. 제7항에 있어서, 상기 제1 내지 제J 연산 블록들 중 적어도 하나의 상기 로컬 레지스터부는,
    상기 제3 다중 위상 클록 신호에 동기하여, 상기 제1 내지 제J 상태 신호들 중 대응하는 하나를 수신하여 출력하는 래치; 및
    상기 제1 내지 제J 제어 신호들 중 대응하는 하나에 응답하여, 인에이블되거나 또는 디세이블되고, 인에이블될 때, 상기 제4 다중 위상 클록 신호에 동기하여, 상기 래치의 출력 신호를 수신하여 상기 FSM에 출력하는 레지스터를 포함하는 마이크로 컨트롤러.
KR1020050068261A 2005-07-27 2005-07-27 다중 위상 클록 신호들에 동기하여 동작하는 마이크로컨트롤러 KR100635190B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050068261A KR100635190B1 (ko) 2005-07-27 2005-07-27 다중 위상 클록 신호들에 동기하여 동작하는 마이크로컨트롤러

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050068261A KR100635190B1 (ko) 2005-07-27 2005-07-27 다중 위상 클록 신호들에 동기하여 동작하는 마이크로컨트롤러

Publications (1)

Publication Number Publication Date
KR100635190B1 true KR100635190B1 (ko) 2006-10-16

Family

ID=37626448

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050068261A KR100635190B1 (ko) 2005-07-27 2005-07-27 다중 위상 클록 신호들에 동기하여 동작하는 마이크로컨트롤러

Country Status (1)

Country Link
KR (1) KR100635190B1 (ko)

Similar Documents

Publication Publication Date Title
US6216223B1 (en) Methods and apparatus to dynamically reconfigure the instruction pipeline of an indirect very long instruction word scalable processor
US8281113B2 (en) Processor having ALU with dynamically transparent pipeline stages
US20080034192A1 (en) Register with a context switch device and method of context switching
US5774080A (en) Reduced transistor-count data storage and multiplexing system
US5864564A (en) Control circuit for deterministic stopping of an integrated circuit internal clock
US8284880B2 (en) Clock data recovery circuit and method for operating the same
JP2004062281A (ja) パイプライン演算処理装置及びパイプライン演算制御方法
KR100635190B1 (ko) 다중 위상 클록 신호들에 동기하여 동작하는 마이크로컨트롤러
JP2003316566A (ja) パイプラインプロセッサ
TW202230132A (zh) 測試電路、測試方法和包括測試電路的計算系統
US8793700B2 (en) Synchronization of stateful elements in a processing resource using a scan chain
JP2003216268A (ja) クロック選択回路およびクロック選択方法
US10951212B2 (en) Self-timed processors implemented with multi-rail null convention logic and unate gates
US9317475B2 (en) Multiplexing auxiliary processing element and semiconductor integrated circuit
US5621337A (en) Iterative logic circuit
EP1548574A1 (en) Information processing device, method, and program
Satoh et al. High-Speed MARS Hardware.
JP5447511B2 (ja) 通信回路および通信方法
JP2979653B2 (ja) 情報処理装置
JP2009204402A (ja) 半導体集積回路およびテストパターン発生方法
US20230198733A1 (en) Widespread equispatiated phase generation of a clock divided by a non-integer factor
JP2001257566A (ja) イネーブル付きラッチ回路
KR100739249B1 (ko) 면적이 감소된 마이크로 컨트롤러
JP2000353939A (ja) クロック信号同期式フリップフロップ回路
JP2005251112A (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
FPAY Annual fee payment

Payment date: 20100920

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee