KR101059899B1 - 마이크로 프로세서 - Google Patents
마이크로 프로세서 Download PDFInfo
- Publication number
- KR101059899B1 KR101059899B1 KR1020090035653A KR20090035653A KR101059899B1 KR 101059899 B1 KR101059899 B1 KR 101059899B1 KR 1020090035653 A KR1020090035653 A KR 1020090035653A KR 20090035653 A KR20090035653 A KR 20090035653A KR 101059899 B1 KR101059899 B1 KR 101059899B1
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- decoding
- response
- program data
- memory device
- Prior art date
Links
- 230000004044 response Effects 0.000 claims abstract description 36
- 230000002093 peripheral effect Effects 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 5
- 230000000630 rising effect Effects 0.000 claims description 5
- 230000010355 oscillation Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/06—Clock generators producing several clock signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation 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
본 발명의 마이크로 프로세서는, 순차적으로 인에이블 되는 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 생성하는 클럭 생성 장치; 상기 페치 클럭에 응답하여 기 저장된 프로그램 데이터를 출력하는 휘발성 메모리 장치; 상기 디코딩 클럭에 응답하여 상기 프로그램 데이터를 디코딩하여 디코딩 커맨드를 생성하는 명령 디코더; 상기 실행 클럭에 응답하여 상기 디코딩 커맨드의 지시에 따라 연산 동작을 수행하는 연산 장치; 및 상기 라이트-백 클럭에 응답하여 상기 디코딩 커맨드의 지시에 따라 동작하는 주변회로 장치;를 포함한다.
마이크로 프로세서, 휘발성 메모리 장치, 클럭 생성 장치
Description
본 발명은 반도체 장치에 관한 것으로, 보다 상세하게는 마이크로 프로세서에 관한 것이다.
일반적으로 마이크로 프로세서는 페치(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)를 상기 휘발성 메모리 장치(70)에 전달하는 동작을 수행하고, 상기 초기 동작 완료 신호(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 항에 있어서,상기 클럭 생성 장치는 상기 시스템 클럭의 한 주기에 해당하는 인에이블 구간을 갖는 상기 페치 클럭, 상기 디코딩 클럭, 상기 실행 클럭 및 상기 라이트-백 클럭을 생성하도록 구성됨을 특징으로 하는 마이크로 프로세서.
- 제 1 항에 있어서,상기 라이트-백 클럭을 반전 지연시켜 칩 인에이블 신호를 생성하는 인에이블 제어 장치를 추가로 포함하는 마이크로 프로세서.
- 제 4 항에 있어서,상기 휘발성 메모리 장치는 상기 칩 인에이블 신호가 인에이블 되면 활성화되고, 상기 칩 인에이블 신호가 디스에이블 되면 아이들 모드에 진입하도록 구성됨을 특징으로 하는 마이크로 프로세서.
- 제 1 항에 있어서,사용자로부터 입력 받은 프로그램 데이터를 저장하고 있다가 파워 온 리셋 신호가 인에이블 되면 상기 프로그램 데이터를 출력하는 프로그램 입력 장치;상기 프로그램 데이터를 순차적으로 각 어드레스에 저장한 후, 이를 순차적으로 출력하는 비휘발성 메모리 장치; 및상기 비휘발성 메모리 장치로부터 출력되는 프로그램 데이터를 순차적으로 상기 휘발성 메모리 장치에 전송하는 데이터 덤핑 장치;를 추가로 포함하는 마이크로 프로세서.
- 초기 동작 완료 신호에 응답하여 발진 동작을 수행하여 시스템 클럭을 생성하는 발진부, 및 상기 시스템 클럭의 라이징 에지마다 쉬프팅 동작을 수행하여 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 순차적으로 인에이블 시키는 쉬프팅부를 포함하는 클럭 생성 장치;상기 라이트-백 클럭을 이용하여 칩 인에이블 신호를 생성하는 인에이블 제어 장치;상기 칩 인에이블 신호에 응답하여 활성화되며, 상기 페치 클럭이 인에이블 되면 기 저장되어 있는 프로그램 데이터를 출력하는 휘발성 메모리 장치; 및상기 디코딩 클럭에 응답하여 상기 프로그램 데이터를 디코딩하는 명령 디코더;를 포함하는 마이크로 프로세서.
- 삭제
- 제 7 항에 있어서,상기 휘발성 메모리 장치는 상기 칩 인에이블 신호가 인에이블 되면 활성화되고, 상기 칩 인에이블 신호가 디스에이블 되면 아이들 모드에 진입하도록 구성됨을 특징으로 하는 마이크로 프로세서.
- 제 7 항에 있어서,상기 실행 클럭에 응답하여 상기 명령 디코더로부터 출력되는 신호의 지시에 따라 연산 동작을 수행하는 연산 장치; 및상기 라이트-백 클럭에 응답하여 상기 명령 디코더로부터 출력되는 신호의 지시에 따라 저장, 카운팅 및 통신 동작을 수행하는 주변회로 장치;를 추가로 포함하는 마이크로 프로세서.
- 제 10 항에 있어서,사용자로부터 입력 받은 프로그램 데이터를 저장하고 있다가 파워 온 리셋 신호가 인에이블 되면 상기 프로그램 데이터를 출력하는 프로그램 입력 장치;상기 프로그램 데이터를 순차적으로 각 어드레스에 저장한 후, 이를 다시 상기 데이터 덤핑 장치에 순차적으로 출력하는 비휘발성 메모리 장치; 및상기 비휘발성 메모리 장치로부터 출력되는 프로그램 데이터를 순차적으로 상기 휘발성 메모리 장치에 전송하는 데이터 덤핑 장치;를 추가로 포함하는 마이크로 프로세서.
- 파워 온 리셋 신호에 응답하여 비휘발성 메모리 장치에 기 저장되어 있는 프로그램 데이터를 휘발성 메모리 장치에 전송하고, 전송 동작이 완료되면 초기 동작 완료 신호를 인에이블 시키는 데이터 덤핑 장치;상기 초기 동작 완료 신호가 인에이블 되면 상기 휘발성 메모리 장치로부터 전송되는 상기 프로그램 데이터를 디코딩하여 디코딩 커맨드를 생성하는 명령 디코더;상기 초기 동작 완료 신호가 인에이블 되면 상기 디코딩 커맨드의 지시에 따라 연산 동작을 수행하는 연산 장치;상기 초기 동작 완료 신호가 인에이블 되면 상기 디코딩 커맨드의 지시에 따라 동작하는 주변회로 장치; 및순차적으로 인에이블 되는 페치 클럭, 디코딩 클럭, 실행 클럭 및 라이트-백 클럭을 생성하여 각각 상기 휘발성 메모리 장치, 상기 명령 디코더, 상기 연산 장치 및 상기 주변회로 장치에 전송하는 클럭 생성 장치;를 포함하는 마이크로 프로세서.
- 삭제
- 제 12 항에 있어서,상기 클럭 생성 장치는,상기 초기 동작 완료 신호에 응답하여 발진 동작을 수행하여 시스템 클럭을 생성하는 발진부; 및상기 시스템 클럭의 라이징 에지마다 쉬프팅 동작을 수행하여 상기 페치 클럭, 상기 디코딩 클럭, 상기 실행 클럭 및 상기 라이트-백 클럭을 순차적으로 인에이블 시키는 쉬프팅부;를 포함하는 것을 특징으로 하는 마이크로 프로세서.
- 제 12 항에 있어서,상기 라이트-백 클럭을 지연시켜 칩 인에이블 신호를 생성하는 인에이블 제어 장치를 추가로 포함하는 마이크로 프로세서.
- 제 15 항에 있어서,상기 휘발성 메모리 장치는 상기 칩 인에이블 신호가 인에이블 되면 활성화되고, 상기 칩 인에이블 신호가 디스에이블 되면 아이들 모드에 진입하도록 구성됨 을 특징으로 하는 마이크로 프로세서.
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 KR20100116962A (ko) | 2010-11-02 |
KR101059899B1 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101869867B1 (ko) * | 2011-12-23 | 2018-06-21 | 에스케이하이닉스 주식회사 | 반도체 장치 |
CN204496890U (zh) * | 2015-04-10 | 2015-07-22 | 京东方科技集团股份有限公司 | 显示驱动电路及显示装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100218451B1 (ko) * | 1996-10-22 | 1999-09-01 | 구자홍 | 병렬처리방식 프로세서의 전력소모감소장치 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5440537A (en) * | 1977-09-07 | 1979-03-30 | Hitachi Ltd | Pipeline control system |
EP0150177A1 (en) * | 1983-07-11 | 1985-08-07 | 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., Maynard, Mass. | 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 |
US5632023A (en) * | 1994-06-01 | 1997-05-20 | Advanced Micro Devices, Inc. | Superscalar microprocessor including flag operand renaming and forwarding apparatus |
US5559975A (en) * | 1994-06-01 | 1996-09-24 | Advanced Micro Devices, Inc. | Program counter update mechanism |
US5692170A (en) * | 1995-04-28 | 1997-11-25 | Metaflow Technologies, Inc. | Apparatus for detecting and executing traps in a superscalar processor |
JP2000020309A (ja) * | 1998-06-30 | 2000-01-21 | Toshiba Microelectronics Corp | デジタルシグナルプロセッサ |
KR100324253B1 (ko) | 1999-12-10 | 2002-02-25 | 윤덕용 | 마이크로 프로세서를 위한 저전력 인스트럭션 디코딩 방법 |
-
2009
- 2009-04-23 KR KR1020090035653A patent/KR101059899B1/ko not_active IP Right Cessation
- 2009-06-11 US US12/482,852 patent/US8271820B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100218451B1 (ko) * | 1996-10-22 | 1999-09-01 | 구자홍 | 병렬처리방식 프로세서의 전력소모감소장치 |
Also Published As
Publication number | Publication date |
---|---|
US8271820B2 (en) | 2012-09-18 |
KR20100116962A (ko) | 2010-11-02 |
US20100274996A1 (en) | 2010-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4265195B2 (ja) | 半導体装置 | |
US7889581B2 (en) | Digital DLL circuit | |
KR101110819B1 (ko) | 반도체 메모리의 동작 타이밍 제어 장치 및 그 방법 | |
US7890782B2 (en) | Dynamic power management in an execution unit using pipeline wave flow control | |
JP2012118976A (ja) | 集積回路、クロックゲート回路、および方法 | |
JP2012515376A5 (ko) | ||
CN109799870B (zh) | 一种时钟控制电路及控制方法 | |
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 | |
US5559458A (en) | Reset circuit for a pipelined signal processor | |
JP2008542949A (ja) | パイプライン型マイクロプロセッサの節電システムおよび節電方法 | |
KR101059899B1 (ko) | 마이크로 프로세서 | |
JP2007048022A (ja) | 非同期バスインタフェース及びその処理方法 | |
JP5023652B2 (ja) | 回路生成システム、回路生成方法及び回路生成プログラム | |
US6381705B1 (en) | Method and device for reducing current consumption of a microcontroller | |
CN106444965B (zh) | 时钟管理单元、包括其的集成电路和管理时钟的方法 | |
JP2002202916A (ja) | データ処理装置 | |
JP5221609B2 (ja) | Dllを共用してサンプリング位相設定を行うホストコントローラ | |
JP2003316566A (ja) | パイプラインプロセッサ | |
JP3701100B2 (ja) | クロック生成回路及びクロック生成方法 | |
JP2009124532A (ja) | 半導体集積回路 | |
JP2007095268A (ja) | 出力制御装置 | |
JP5414323B2 (ja) | 半導体集積回路装置 | |
JP2009048264A (ja) | 半導体集積回路装置 | |
KR100902048B1 (ko) | 반도체 장치의 어드레스 수신회로 |
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 |