KR20100116962A - 마이크로 프로세서 - Google Patents

마이크로 프로세서 Download PDF

Info

Publication number
KR20100116962A
KR20100116962A KR1020090035653A KR20090035653A KR20100116962A KR 20100116962 A KR20100116962 A KR 20100116962A KR 1020090035653 A KR1020090035653 A KR 1020090035653A KR 20090035653 A KR20090035653 A KR 20090035653A KR 20100116962 A KR20100116962 A KR 20100116962A
Authority
KR
South Korea
Prior art keywords
clock
decoding
program data
response
memory device
Prior art date
Application number
KR1020090035653A
Other languages
English (en)
Other versions
KR101059899B1 (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 KR1020090035653A priority Critical patent/KR101059899B1/ko
Priority to US12/482,852 priority patent/US8271820B2/en
Publication of KR20100116962A publication Critical patent/KR20100116962A/ko
Application granted granted Critical
Publication of KR101059899B1 publication Critical patent/KR101059899B1/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
    • 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
    • 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/06Clock generators producing several clock signals
    • 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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • 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
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Microcomputers (AREA)
  • Executing Machine-Instructions (AREA)
  • Power Sources (AREA)

Abstract

본 발명의 마이크로 프로세서는, 순차적으로 인에이블 되는 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 생성하는 클럭 생성 장치; 상기 페치 클럭에 응답하여 기 저장된 프로그램 데이터를 출력하는 휘발성 메모리 장치; 상기 디코딩 클럭에 응답하여 상기 프로그램 데이터를 디코딩하여 디코딩 커맨드를 생성하는 명령 디코더; 상기 실행 클럭에 응답하여 상기 디코딩 커맨드의 지시에 따라 연산 동작을 수행하는 연산 장치; 및 상기 라이트-백 클럭에 응답하여 상기 디코딩 커맨드의 지시에 따라 동작하는 주변회로 장치;를 포함한다.
Figure P1020090035653
마이크로 프로세서, 휘발성 메모리 장치, 클럭 생성 장치

Description

마이크로 프로세서{Micro-Processor}
본 발명은 반도체 장치에 관한 것으로, 보다 상세하게는 마이크로 프로세서에 관한 것이다.
일반적으로 마이크로 프로세서는 페치(Fetch), 디코딩(Decoding), 실행(Execution) 및 라이트-백(Write-back)의 4 단계로 이루어지는 기본적인 프로세스를 반복적으로 수행하면서 동작한다. 이를 위해, 마이크로 프로세서는 클럭 제너레이터를 구비하며, 클럭 제너레이터로부터 생성되는 시스템 클럭의 매 라이징 에지마다 상기 페치, 디코딩, 실행 및 라이트-백 단계를 각각 수행한다. 즉, 시스템 클럭의 4주기를 한 단위로 하여 상기 프로세스를 수행한다.
마이크로 프로세서는 동작 초기에 프로그램 입력 장치에 입력된 프로그램 데이터를 메모리 장치에 옮겨 저장시키는 동작을 수행한다. 그리고 이후 시스템 클럭이 활성화되면, 페치 단계에서 상기 메모리 장치에 저장된 프로그램 데이터를 명령 디코더에 전송한다. 디코딩 단계에서는 명령 디코더가 활성화되어 상기 메모리 장치로부터 전송된 데이터들을 디코딩하는 동작을 수행한다. 실행 단계에서는 연산 장치가 활성화되며, 상기 명령 디코더로부터 전달되는 신호들을 각 명령에 따라 연 산하는 동작을 수행한다. 라이트-백 단계에서는 레지스터 및 주변회로 장치가 활성화되며, 상기 명령 디코더로부터 전달되는 각 명령에 따라 상기 연산 장치에 의한 연산 결과를 저장하거나, 외부와의 통신 동작 또는 카운팅 동작 등을 수행한다.
최근에는 마이크로 프로세서의 기술적 진보에 있어서 저전력화 구현이 가장 중요한 이슈로 부각되고 있다. 이는 모바일(Mobile) 통신 기기 등과 같이 소비 전력에 민감한 장치들에 의해 저전력 마이크로 프로세서에 대한 수요가 증가하기 때문이며, 이에 따라 마이크로 프로세서의 각 회로 영역에서 누설 전류(Leakage Current)와 같은 소모 전력을 감소시키기 위한 연구가 활발히 진행되고 있다.
그러나 종래의 마이크로 프로세서는 시스템 클럭에 의해 모든 회로 영역이 동작하도록 구성되어 있었고, 이에 따라 실질적인 동작이 이루어지지 않는 회로 영역까지도 활성화되어 전류가 낭비된다는 문제점을 가지고 있었다. 게다가, 전류 소비가 크고 동작 속도가 제한적인 비휘발성 메모리 장치에 프로그램 데이터를 저장하고, 이로부터 저장된 프로그램 데이터를 독출하여 동작하였기 때문에, 마이크로 프로세서의 저전력화 및 고속화 구현에는 기술적으로 어려움이 있었다.
본 발명은 상술한 문제점을 해결하기 위하여 안출된 것으로서, 전력 소비를 감소시키는 마이크로 프로세서를 제공하는 데에 그 기술적 과제가 있다.
또한, 본 발명은 고속 동작 환경에도 적용 가능한 마이크로 프로세서를 제공하는 데에 다른 기술적 과제가 있다.
상술한 기술적 과제를 달성하기 위한 본 발명의 일 실시예에 따른 마이크로 프로세서는, 순차적으로 인에이블 되는 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 생성하는 클럭 생성 장치; 상기 페치 클럭에 응답하여 기 저장된 프로그램 데이터를 출력하는 휘발성 메모리 장치; 상기 디코딩 클럭에 응답하여 상기 프로그램 데이터를 디코딩하여 디코딩 커맨드를 생성하는 명령 디코더; 상기 실행 클럭에 응답하여 상기 디코딩 커맨드의 지시에 따라 연산 동작을 수행하는 연산 장치; 및 상기 라이트-백 클럭에 응답하여 상기 디코딩 커맨드의 지시에 따라 동작하는 주변회로 장치;를 포함한다.
또한, 본 발명의 다른 실시예에 따른 마이크로 프로세서는, 순차적으로 인에이블 되는 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 생성하는 클럭 생성 장치; 상기 라이트-백 클럭을 이용하여 칩 인에이블 신호를 생성하는 인에이블 제어 장치; 상기 칩 인에이블 신호에 응답하여 활성화되며, 상기 페치 클럭이 인에이블 되면 기 저장되어 있는 프로그램 데이터를 출력하는 휘발성 메모리 장치; 및 상기 디코딩 클럭에 응답하여 상기 프로그램 데이터를 디코딩하는 명령 디코더;를 포함한다.
그리고, 본 발명의 또 다른 실시예에 따른 마이크로 프로세서는, 파워 온 리셋 신호에 응답하여 비휘발성 메모리 장치에 기 저장되어 있는 프로그램 데이터를 휘발성 메모리 장치에 전송하고, 전송 동작이 완료되면 초기 동작 완료 신호를 인에이블 시키는 데이터 덤핑 장치; 상기 초기 동작 완료 신호가 인에이블 되면 상기 휘발성 메모리 장치로부터 전송되는 상기 프로그램 데이터를 디코딩하여 디코딩 커맨드를 생성하는 명령 디코더; 상기 초기 동작 완료 신호가 인에이블 되면 상기 디코딩 커맨드의 지시에 따라 연산 동작을 수행하는 연산 장치; 및 상기 초기 동작 완료 신호가 인에이블 되면 상기 디코딩 커맨드의 지시에 따라 동작하는 주변회로 장치;를 포함한다.
본 발명의 마이크로 프로세서는, 순차적으로 인에이블 되는 4개의 클럭을 생성하고, 4개의 클럭을 이용하여 해당 회로 영역들을 순차적으로 활성화시킴으로써, 각 회로 영역의 불필요한 동작을 방지함에 따라 전력 소비를 감소시키는 효과를 창출한다.
아울러, 본 발명의 마이크로 프로세서는, 휘발성 메모리 장치를 이용하여 페치 동작을 수행함으로써 저전력화 및 고속화 구현을 가능하게 하는 효과를 창출한다.
이하에서는 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 보다 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 마이크로 프로세서의 구성을 나타낸 블록도이다.
도시한 바와 같이, 상기 마이크로 프로세서는, 프로그램 입력 장치(10), 비휘발성 메모리 장치(20), 데이터 덤핑 장치(30), 먹스(40), 클럭 생성 장치(50), 인에이블 제어 장치(60), 휘발성 메모리 장치(70), 명령 디코더(80), 데이터 버스(90), 연산 장치(100), 주변회로 장치(110) 및 메모리 제어 장치(120)를 포함한다.
상기 프로그램 입력 장치(10)는 사용자로부터 입력 받은 프로그램 데이터(d_pgm)를 저장하고 있다가, 상기 마이크로 프로세서의 동작이 시작되어 파워 온 리셋 신호(pwrst)가 인에이블 되면 상기 프로그램 데이터(d_pgm)를 상기 비휘발성 메모리 장치(20)에 전송한다. 상기 비휘발성 메모리 장치(20)는 상기 프로그램 데이터(d_pgm)를 순차적으로 각 어드레스에 저장한 후, 이를 다시 상기 데이터 덤핑 장치(30)에 순차적으로 출력한다.
상기 데이터 덤핑 장치(30)는 파워 온 리셋 신호(pwrst)에 응답하여 동작하며, 상기 프로그램 데이터(d_pgm)를 순차적으로 상기 휘발성 메모리 장치(70)에 전송하는 동작을 수행한다. 상기 데이터 덤핑 장치(30)는 상기 마이크로 프로세서의 초기 동작 구간을 정의하기 위한 초기 동작 완료 신호(ini_end)를 생성하는데, 상기 프로그램 데이터(d_pgm)를 상기 휘발성 메모리 장치(70)에 전송하는 동작이 완 료되면 상기 초기 동작 완료 신호(ini_end)를 인에이블 시킨다. 이와 같은 동작을 수행하는 상기 데이터 덤핑 장치(30)는 당업자라면 용이하게 구현 가능한 구성에 해당한다.
상기 데이터 덤핑 장치(30)와 상기 휘발성 메모리 장치(70) 사이에 구비되는 상기 먹스(40)는 상기 초기 동작 완료 신호(ini_end)의 디스에이블시에는 상기 데이터 덤핑 장치(30)로부터 출력되는 상기 프로그램 데이터(d_pgm)를 상기 휘발성 메모리 장치(40)에 전달하는 동작을 수행하고, 상기 초기 동작 완료 신호(ini_end)의 인에이블시에는 상기 휘발성 메모리 장치(70)로부터 출력되는 상기 프로그램 데이터(d_pgm)를 상기 명령 디코더(80)에 전달하는 동작을 수행한다.
상기 클럭 생성 장치(50)는 순차적으로 인에이블 되는 페치 클럭(clk_f), 디코딩 클럭(clk_d), 실행 클럭(clk_e) 및 라이트-백 클럭(clk_w)을 생성한다. 이 때, 상기 클럭 생성 장치(50)로부터 출력되는 상기 클럭들은 일반적인 시스템 클럭의 한 주기에 해당하는 인에이블 구간을 갖는 펄스 신호의 형태로서 구현된다.
상기 인에이블 제어 장치(60)는 상기 라이트-백 클럭(clk_w)을 입력 받아 칩 인에이블 신호(chen)를 생성한다. 상기 인에이블 제어 장치(60)의 구성은 일반적인 반전 지연기를 이용하여 용이하게 구현할 수 있다.
상기 휘발성 메모리 장치(70)에는 칩 인에이블 단자가 구비되고, 상기 휘발성 메모리 장치(70)는 이를 통해 상기 칩 인에이블 신호(chen)를 입력 받는다. 상기 휘발성 메모리 장치(70)는 상기 칩 인에이블 신호(chen)의 인에이블시 활성화되며, 상기 페치 클럭(clk_f)이 인에이블 되면 기 저장되어 있는 상기 프로그램 데이 터(d_pgm)를 순차적으로 상기 명령 디코더(80)에 전달한다.
상기 명령 디코더(80)는 상기 디코딩 클럭(clk_d)의 인에이블시 상기 프로그램 데이터(d_pgm)에 대한 디코딩 동작을 수행하여 디코딩 커맨드(cmd_dcd)를 생성하고, 이를 상기 데이터 버스(90)에 출력한다. 상기 연산 장치(100)는 상기 실행 클럭(clk_e)의 인에이블시 활성화되며, 상기 데이터 버스(90)를 통해 전달되는 상기 디코딩 커맨드(cmd_dcd)가 임의의 데이터에 대한 연산 동작을 지시하면, 이에 따른 연산 동작을 수행하여 연산 결과(opr)를 상기 데이터 버스(90)에 출력한다.
상기 주변회로 장치(110)에는 상기 연산 결과(opr)를 저장하기 위한 회로들과, 임의의 동작 구간을 정의하기 위한 카운터 회로들, 및 외부의 장치들과의 통신 동작을 수행하기 위한 회로들이 포함된다. 상기 주변회로 장치(110)는 상기 라이트-백 클럭(clk_w)의 인에이블시 활성화되며, 상기 데이터 버스(90)를 통해 전달되는 상기 디코딩 커맨드(cmd_dcd)가 지시하는 동작을 수행한다. 상기 주변회로 장치(110)는 외부와의 통신 동작시에 입력되는 신호(cmt_peri)를 상기 데이터 버스(90)에 전달하기도 한다.
상기 데이터 버스(90)는 이처럼 상기 디코딩 커맨드(cmd_dcd), 상기 연산 결과(opr) 및 상기 통신 동작을 통해 입력된 신호(cmt_peri)의 송수신 경로로서 활용된다. 한편, 상기 데이터 버스(90)는 상기 디코딩 커맨드(cmd_dcd)에 포함되는 데이터 제어 신호(d_ctrl)를 상기 메모리 제어 장치(120)에 전송한다.
상기 메모리 제어 장치(120)는 상기 데이터 제어 신호(d_ctrl)에 응답하여 메모리 제어 신호(m_ctrl)를 생성하여 상기 비휘발성 메모리 장치(20)의 동작을 제 어한다. 상기 비휘발성 메모리 장치(20)는 상기 메모리 제어 신호(m_ctrl)의 제어에 따라 상기 프로그램 데이터(d_pgm)에 대한 입출력 동작에 변화를 줄 수 있다.
상술한 바와 같이, 본 발명의 일 실시예에 따른 마이크로 프로세서에서, 상기 클럭 생성 장치(50)는 순차적으로 인에이블 되는 4개의 클럭, 즉 상기 페치 클럭(clk_f), 상기 디코딩 클럭(clk_d), 상기 실행 클럭(clk_e) 및 상기 라이트-백 클럭(clk_w)을 생성한다. 그리고 실질적으로 페치 단계에서 동작하는 상기 휘발성 메모리 장치(70)에 상기 페치 클럭(clk_f)을 전송하고, 디코딩 단계에서 동작하는 상기 명령 디코더(80)에 상기 디코딩 클럭(clk_d)을 전송하며, 실행 단계에서 동작하는 상기 연산 장치(100)에 상기 실행 클럭(clk_e)을 전송하고, 라이트-백 단계에서 동작하는 상기 주변회로 장치(110)에 상기 라이트-백 클럭(clk_w)을 전송한다. 따라서, 상기 마이크로 프로세서의 각 회로 영역들이 반드시 필요한 단계에서만 활성화되고 불필요한 단계에서는 비활성화되므로, 결과적으로 불필요한 전력 소비를 방지할 수 있게 된다.
도 2는 도 1에 도시한 클럭 생성 장치의 상세 구성도이다.
도시한 바와 같이, 상기 클럭 생성 장치(50)는 상기 초기 동작 완료 신호(ini_end)에 응답하여 발진 동작을 수행하여 시스템 클럭(clk_sys)을 생성하는 발진부(510); 및 상기 시스템 클럭(clk_sys)의 라이징 에지마다 쉬프팅 동작을 수행하여 상기 페치 클럭(clk_f), 상기 디코딩 클럭(clk_d), 상기 실행 클럭(clk_e) 및 상기 라이트-백 클럭(clk_w)을 순차적으로 인에이블 시키는 쉬프팅부(520);를 포함한다.
여기에서, 상기 시스템 클럭(clk_sys)은 종래의 일반적인 마이크로 프로세서에서 사용되는 시스템 클럭과 동일한 것으로 보아도 무방하다. 본 발명의 클럭 생성 장치(50)는 상기 쉬프팅부(520)를 추가로 구비함으로써, 상기 페치 클럭(clk_f), 상기 디코딩 클럭(clk_d), 상기 실행 클럭(clk_e) 및 상기 라이트-백 클럭(clk_w)을 생성할 수 있다. 도시한 것처럼, 상기 쉬프팅부(520)는 상기 시스템 클럭(clk_sys)에 응답하여 각각의 래치 동작을 수행하는 직렬 연결된 4개의 플립플롭(FF1 ~ FF4)을 이용하여 용이하게 구현 가능하다. 여기에서, 상기 4개의 플립플롭(FF1 ~ FF4) 중 어느 하나는 동작 초기에 하이 레벨(High Level)의 논리값을 래치하고 있어야만 한다.
이와 같은 구성에 의해 생성되는 클럭들의 파형은 도 3을 통해 확인할 수 있다. 상기 페치 클럭(clk_f), 상기 디코딩 클럭(clk_d), 상기 실행 클럭(clk_e) 및 상기 라이트-백 클럭(clk_w)은 각각 상기 시스템 클럭(clk_sys)의 한 주기에 해당하는 인에이블 구간을 갖고, 순차적으로 인에이블 되는 펄스 신호의 형태로서 구현된다.
한편, 상기 발진부(510)는 상기 초기 동작 완료 신호(ini_end)에 응답하여 활성화된다. 상기 데이터 덤핑 장치(30)가 상기 프로그램 데이터(d_pgm)를 상기 휘발성 메모리 장치(70)에 전송하는 동안에는 상기 클럭 생성 장치(50)가 활성화될 필요가 없기 때문에, 상기 발진부(510)는 상기 파워 온 리셋 신호(pwrst)가 아닌 상기 초기 동작 완료 신호(ini_end)에 응답하여 활성화된다. 도 1을 참조하면, 상기 클럭 생성 장치(50)뿐만 아니라, 상기 명령 디코더(80), 상기 연산 장치(90) 및 상기 주변회로 장치(110) 또한 상기 파워 온 리셋 신호(pwrst)가 아닌 상기 초기 동작 완료 신호(ini_end)에 의해 활성화되는 구성을 갖는다는 것을 유추할 수 있다. 이처럼, 상기 초기 동작 완료 신호(ini_end)의 활용에 의해, 본 발명에 의해 구현되는 마이크로 프로세서는 불필요한 전류 소비를 억제할 수 있다.
상기 휘발성 메모리 장치(70)는 상기 칩 인에이블 신호(chen)에 응답하여 활성화된다. 상기 칩 인에이블 신호(chen)는 로우 인에이블(Low Enable) 신호로서 구현되며, 상기 인에이블 제어 장치(60)가 상기 라이트-백 클럭(clk_w)을 반전 지연시킴에 의해 생성된다. 상기 휘발성 메모리 장치(70)는 상기 칩 인에이블 신호(chen)가 인에이블 되면 활성화되고, 상기 칩 인에이블 신호(chen)가 디스에이블 되면 아이들 모드(Idle Mode)에 진입하여 전류 소비를 감소시킨다. 상기 휘발성 메모리 장치(70)의 상기 프로그램 데이터(d_pgm)의 출력 동작은 상기 페치 클럭(clk_f)의 제어에 따라 수행되며, 이처럼 상기 칩 인에이블 신호(chen)와 상기 페치 클럭(clk_f)을 이용함에 의해 상기 휘발성 메모리 장치(70)의 전력 소비는 감소하게 된다. 상기 휘발성 메모리 장치(70)의 동작에 대한 이해를 보다 용이하게 하기 위해, 도 4를 통해 상기 라이트-백 클럭(clk_w), 상기 페치 클럭(clk_f) 및 상기 칩 인에이블 신호(chen)의 파형을 나타내었다.
상술한 바와 같이, 본 발명의 마이크로 프로세서는 순차적으로 인에이블 되는 4개의 클럭을 생성하고 이를 이용하여 각 회로 영역의 동작을 활성화시킴으로써, 실질적으로 동작하지 않는 구간에서 소비되는 전류를 감소시켜 전력 효율을 향 상시킨다. 게다가, 휘발성 메모리 장치를 이용하여 저전력화 및 고속화 구현을 가능하게 하고, 초기 동작시 상기 휘발성 메모리 장치에 프로그램 데이터를 전송하는 동안에는 각 회로 영역이 활성화되지 않도록 하여 불필요한 전류의 흐름을 억제한다. 그리고 상기 휘발성 메모리 장치가 동작할 필요가 없는 구간에서는 아이들 모드에 진입하도록 하여 상기 휘발성 메모리 장치가 소비하는 전류의 양 또한 감소시킨다. 이와 같이, 본 발명은 전류 소비를 현저히 감소시킴으로써, 저전력 및 고속 환경에 적합한 고품질의 마이크로 프로세서를 구현할 수 있다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
도 1은 본 발명의 일 실시예에 따른 마이크로 프로세서의 구성을 나타낸 블록도,
도 2는 도 1에 도시한 클럭 생성 장치의 상세 구성도,
도 3은 도 2에 도시한 클럭 생성 장치의 동작을 설명하기 위한 타이밍도,
도 4는 도 1에 도시한 인에이블 제어 장치의 동작을 설명하기 위한 타이밍도이다.
<도면의 주요 부분에 대한 부호 설명>
30 : 데이터 덤핑 장치 50 : 클럭 생성 장치
60 : 인에이블 제어 장치 70 : 휘발성 메모리 장치
80 : 명령 디코더 100 : 연산 장치
110 : 주변회로 장치

Claims (16)

  1. 순차적으로 인에이블 되는 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 생성하는 클럭 생성 장치;
    상기 페치 클럭에 응답하여 기 저장된 프로그램 데이터를 출력하는 휘발성 메모리 장치;
    상기 디코딩 클럭에 응답하여 상기 프로그램 데이터를 디코딩하여 디코딩 커맨드를 생성하는 명령 디코더;
    상기 실행 클럭에 응답하여 상기 디코딩 커맨드의 지시에 따라 연산 동작을 수행하는 연산 장치; 및
    상기 라이트-백 클럭에 응답하여 상기 디코딩 커맨드의 지시에 따라 동작하는 주변회로 장치;
    를 포함하는 마이크로 프로세서.
  2. 제 1 항에 있어서,
    상기 클럭 생성 장치는,
    초기 동작 완료 신호에 응답하여 발진 동작을 수행하여 시스템 클럭을 생성하는 발진부; 및
    상기 시스템 클럭의 라이징 에지마다 쉬프팅 동작을 수행하여 상기 페치 클럭, 상기 디코딩 클럭, 상기 실행 클럭 및 상기 라이트-백 클럭을 순차적으로 인에 이블 시키는 쉬프팅부;
    를 포함하는 것을 특징으로 하는 마이크로 프로세서.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 클럭 생성 장치는 상기 시스템 클럭의 한 주기에 해당하는 인에이블 구간을 갖는 상기 페치 클럭, 상기 디코딩 클럭, 상기 실행 클럭 및 상기 라이트-백 클럭을 생성하도록 구성됨을 특징으로 하는 마이크로 프로세서.
  4. 제 1 항에 있어서,
    상기 라이트-백 클럭을 반전 지연시켜 칩 인에이블 신호를 생성하는 인에이블 제어 장치를 추가로 포함하는 마이크로 프로세서.
  5. 제 4 항에 있어서,
    상기 휘발성 메모리 장치는 상기 칩 인에이블 신호가 인에이블 되면 활성화되고, 상기 칩 인에이블 신호가 디스에이블 되면 아이들 모드에 진입하도록 구성됨을 특징으로 하는 마이크로 프로세서.
  6. 제 1 항에 있어서,
    사용자로부터 입력 받은 프로그램 데이터를 저장하고 있다가 파워 온 리셋 신호가 인에이블 되면 상기 프로그램 데이터를 출력하는 프로그램 입력 장치;
    상기 프로그램 데이터를 순차적으로 각 어드레스에 저장한 후, 이를 순차적으로 출력하는 비휘발성 메모리 장치; 및
    상기 비휘발성 메모리 장치로부터 출력되는 프로그램 데이터를 순차적으로 상기 휘발성 메모리 장치에 전송하는 데이터 덤핑 장치;
    를 추가로 포함하는 마이크로 프로세서.
  7. 순차적으로 인에이블 되는 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 생성하는 클럭 생성 장치;
    상기 라이트-백 클럭을 이용하여 칩 인에이블 신호를 생성하는 인에이블 제어 장치;
    상기 칩 인에이블 신호에 응답하여 활성화되며, 상기 페치 클럭이 인에이블 되면 기 저장되어 있는 프로그램 데이터를 출력하는 휘발성 메모리 장치; 및
    상기 디코딩 클럭에 응답하여 상기 프로그램 데이터를 디코딩하는 명령 디코더;
    를 포함하는 마이크로 프로세서.
  8. 제 7 항에 있어서,
    상기 클럭 생성 장치는,
    초기 동작 완료 신호에 응답하여 발진 동작을 수행하여 시스템 클럭을 생성하는 발진부; 및
    상기 시스템 클럭의 라이징 에지마다 쉬프팅 동작을 수행하여 상기 페치 클럭, 상기 디코딩 클럭, 상기 실행 클럭 및 상기 라이트-백 클럭을 순차적으로 인에이블 시키는 쉬프팅부;
    를 포함하는 것을 특징으로 하는 마이크로 프로세서.
  9. 제 7 항에 있어서,
    상기 휘발성 메모리 장치는 상기 칩 인에이블 신호가 인에이블 되면 활성화되고, 상기 칩 인에이블 신호가 디스에이블 되면 아이들 모드에 진입하도록 구성됨을 특징으로 하는 마이크로 프로세서.
  10. 제 7 항에 있어서,
    상기 실행 클럭에 응답하여 상기 명령 디코더로부터 출력되는 신호의 지시에 따라 연산 동작을 수행하는 연산 장치; 및
    상기 라이트-백 클럭에 응답하여 상기 명령 디코더로부터 출력되는 신호의 지시에 따라 저장, 카운팅 및 통신 동작을 수행하는 주변회로 장치;
    를 추가로 포함하는 마이크로 프로세서.
  11. 제 10 항에 있어서,
    사용자로부터 입력 받은 프로그램 데이터를 저장하고 있다가 파워 온 리셋 신호가 인에이블 되면 상기 프로그램 데이터를 출력하는 프로그램 입력 장치;
    상기 프로그램 데이터를 순차적으로 각 어드레스에 저장한 후, 이를 다시 상기 데이터 덤핑 장치에 순차적으로 출력하는 비휘발성 메모리 장치; 및
    상기 비휘발성 메모리 장치로부터 출력되는 프로그램 데이터를 순차적으로 상기 휘발성 메모리 장치에 전송하는 데이터 덤핑 장치;
    를 추가로 포함하는 마이크로 프로세서.
  12. 파워 온 리셋 신호에 응답하여 비휘발성 메모리 장치에 기 저장되어 있는 프로그램 데이터를 휘발성 메모리 장치에 전송하고, 전송 동작이 완료되면 초기 동작 완료 신호를 인에이블 시키는 데이터 덤핑 장치;
    상기 초기 동작 완료 신호가 인에이블 되면 상기 휘발성 메모리 장치로부터 전송되는 상기 프로그램 데이터를 디코딩하여 디코딩 커맨드를 생성하는 명령 디코더;
    상기 초기 동작 완료 신호가 인에이블 되면 상기 디코딩 커맨드의 지시에 따라 연산 동작을 수행하는 연산 장치; 및
    상기 초기 동작 완료 신호가 인에이블 되면 상기 디코딩 커맨드의 지시에 따라 동작하는 주변회로 장치;
    를 포함하는 마이크로 프로세서.
  13. 제 12 항에 있어서,
    순차적으로 인에이블 되는 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 생성하여 각각 상기 휘발성 메모리 장치, 상기 명령 디코더, 상기 연산 장치 및 상기 주변회로 장치에 전송하는 클럭 생성 장치를 추가로 포함하는 마이크로 프로세서.
  14. 제 13 항에 있어서,
    상기 클럭 생성 장치는,
    상기 초기 동작 완료 신호에 응답하여 발진 동작을 수행하여 시스템 클럭을 생성하는 발진부; 및
    상기 시스템 클럭의 라이징 에지마다 쉬프팅 동작을 수행하여 상기 페치 클럭, 상기 디코딩 클럭, 상기 실행 클럭 및 상기 라이트-백 클럭을 순차적으로 인에이블 시키는 쉬프팅부;
    를 포함하는 것을 특징으로 하는 마이크로 프로세서.
  15. 제 13 항에 있어서,
    상기 라이트-백 클럭을 지연시켜 칩 인에이블 신호를 생성하는 인에이블 제어 장치를 추가로 포함하는 마이크로 프로세서.
  16. 제 15 항에 있어서,
    상기 휘발성 메모리 장치는 상기 칩 인에이블 신호가 인에이블 되면 활성화되고, 상기 칩 인에이블 신호가 디스에이블 되면 아이들 모드에 진입하도록 구성됨 을 특징으로 하는 마이크로 프로세서.
KR1020090035653A 2009-04-23 2009-04-23 마이크로 프로세서 KR101059899B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020090035653A KR101059899B1 (ko) 2009-04-23 2009-04-23 마이크로 프로세서
US12/482,852 US8271820B2 (en) 2009-04-23 2009-06-11 Micro-processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090035653A KR101059899B1 (ko) 2009-04-23 2009-04-23 마이크로 프로세서

Publications (2)

Publication Number Publication Date
KR20100116962A true KR20100116962A (ko) 2010-11-02
KR101059899B1 KR101059899B1 (ko) 2011-08-29

Family

ID=42993151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090035653A KR101059899B1 (ko) 2009-04-23 2009-04-23 마이크로 프로세서

Country Status (2)

Country Link
US (1) US8271820B2 (ko)
KR (1) KR101059899B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130073234A (ko) * 2011-12-23 2013-07-03 에스케이하이닉스 주식회사 반도체 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN204496890U (zh) * 2015-04-10 2015-07-22 京东方科技集团股份有限公司 显示驱动电路及显示装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5440537A (en) * 1977-09-07 1979-03-30 Hitachi Ltd Pipeline control system
WO1985000453A1 (en) * 1983-07-11 1985-01-31 Prime Computer, Inc. Data processing system
US4896259A (en) * 1984-09-07 1990-01-23 International Business Machines Corporation Apparatus for storing modifying data prior to selectively storing data to be modified into a register
US4789925A (en) * 1985-07-31 1988-12-06 Unisys Corporation Vector data logical usage conflict detection
US5006980A (en) * 1988-07-20 1991-04-09 Digital Equipment Corporation Pipelined digital CPU with deadlock resolution
US5555384A (en) * 1989-12-01 1996-09-10 Silicon Graphics, Inc. Rescheduling conflicting issued instructions by delaying one conflicting instruction into the same pipeline stage as a third non-conflicting instruction
DE69130138T2 (de) * 1990-06-29 1999-05-06 Digital Equipment Corp Sprungvorhersageeinheit für hochleistungsfähigen Prozessor
US5488729A (en) * 1991-05-15 1996-01-30 Ross Technology, Inc. Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution
EP0544083A3 (en) * 1991-11-26 1994-09-14 Ibm Interleaved risc-type parallel processor and processing methods
US5559975A (en) * 1994-06-01 1996-09-24 Advanced Micro Devices, Inc. Program counter update mechanism
US5632023A (en) * 1994-06-01 1997-05-20 Advanced Micro Devices, Inc. Superscalar microprocessor including flag operand renaming and forwarding apparatus
US5692170A (en) * 1995-04-28 1997-11-25 Metaflow Technologies, Inc. Apparatus for detecting and executing traps in a superscalar processor
KR100218451B1 (ko) * 1996-10-22 1999-09-01 구자홍 병렬처리방식 프로세서의 전력소모감소장치
JP2000020309A (ja) * 1998-06-30 2000-01-21 Toshiba Microelectronics Corp デジタルシグナルプロセッサ
KR100324253B1 (ko) 1999-12-10 2002-02-25 윤덕용 마이크로 프로세서를 위한 저전력 인스트럭션 디코딩 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130073234A (ko) * 2011-12-23 2013-07-03 에스케이하이닉스 주식회사 반도체 장치

Also Published As

Publication number Publication date
KR101059899B1 (ko) 2011-08-29
US8271820B2 (en) 2012-09-18
US20100274996A1 (en) 2010-10-28

Similar Documents

Publication Publication Date Title
JP5905243B2 (ja) 集積回路、クロックゲート回路、および方法
US8341436B2 (en) Method and system for power-state transition controllers
US11181941B2 (en) Using a stuttered clock signal to reduce self-induced voltage noise
US9632567B2 (en) System on chip method thereof, and device including the same
JP2007095257A (ja) 半導体メモリ素子の内部アドレス生成装置
US20070038795A1 (en) Asynchronous bus interface and processing method thereof
US6381705B1 (en) Method and device for reducing current consumption of a microcontroller
KR101059899B1 (ko) 마이크로 프로세서
JP2008542949A (ja) パイプライン型マイクロプロセッサの節電システムおよび節電方法
US7137013B2 (en) Method and apparatus for dynamic power management in an execution unit using pipeline wave flow control
CN106444965B (zh) 时钟管理单元、包括其的集成电路和管理时钟的方法
JP2003316566A (ja) パイプラインプロセッサ
JP2009124532A (ja) 半導体集積回路
JP3701100B2 (ja) クロック生成回路及びクロック生成方法
JP2007095268A (ja) 出力制御装置
CN110045989B (zh) 一种动态切换式低功耗处理器
US9384794B2 (en) Semiconductor device and method of operating the same
JP2009043044A (ja) 半導体装置
KR100951571B1 (ko) 어드레스 래치 클럭 제어장치
JP5414323B2 (ja) 半導体集積回路装置
KR100616683B1 (ko) 파워다운 및 웨이크업 회로
JP2009048264A (ja) 半導体集積回路装置
KR100902048B1 (ko) 반도체 장치의 어드레스 수신회로
US10338665B2 (en) Microcontroller power reduction system and method
JP6185314B2 (ja) 半導体集積回路

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150730

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160712

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee