KR20060064146A - 저전력 마이크로 컨트롤러 - Google Patents
저전력 마이크로 컨트롤러 Download PDFInfo
- Publication number
- KR20060064146A KR20060064146A KR1020040102847A KR20040102847A KR20060064146A KR 20060064146 A KR20060064146 A KR 20060064146A KR 1020040102847 A KR1020040102847 A KR 1020040102847A KR 20040102847 A KR20040102847 A KR 20040102847A KR 20060064146 A KR20060064146 A KR 20060064146A
- Authority
- KR
- South Korea
- Prior art keywords
- clock
- slave
- bus
- master
- microcontroller
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/37—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bus Control (AREA)
Abstract
본 발명은 마스터와 슬레이브로 구성된 마이크로 컨트롤러 내에서 이들간의 데이터 전송이 이루어질 때 슬레이브가 동작하지 않는 구간에서 클럭을 비활성화하여 소비전력을 줄이는 기술을 개시한다. 이를 위해, 버스 요구를 하는 마스터; 슬레이브; 상기 마스터와 상기 슬레이브간의 데이터 전송이 이루어지는 버스; 및 상기 마스터의 버스 요구에 대한 중재를 하고 상기 각 슬레이브를 제어하는데 내부 레지스터 선택신호와 메모리 선택신호를 이용하여 마스터 클럭을 일정한 구간에서만 동작하는 상기 선택 클럭과 항상 동작하는 상기 글로벌 클럭으로 분리하여 상기 슬레이브를 제어하는 버스 컨트롤러를 구비하는 것을 특징으로 한다.
마이크로 컨트롤러, 버스 규약, 마스터, 슬레이브, 클럭
Description
도 1은 본 발명에 따른 마이크로 컨트롤러를 나타낸 시스템 구성도이다.
도 2는 도 1에 도시된 시스템의 프로토콜의 파이프라인 구조도이다.
도 3은 도 2에 도시된 파이프라인 구조에서의 버스 프로토콜 타이밍도이다.
도 4는 SnSSEL 신호가 활성화되는 경우에만 슬레이브가 동작하는 경우를 나타낸 타이밍도이다.
도 5는 모듈 클럭 디자인의 일 예를 나타낸 블록도이다.
본 발명은 저전력 소비를 위한 데이터 전송 규약을 갖는 마이크로 컨트롤러에 관한 것으로, 보다 상세하게는 마스터와 슬레이브로 구성된 마이크로 컨트롤러 내에서 이들간의 데이터 전송이 이루어질 때 슬레이브가 동작하지 않는 구간에서 클럭을 비활성화하여 소비전력을 줄이는 기술이다.
일반적인 메모리 제어기가 포함되는 마이크로 컨트롤러가 캐시(cache)를 내장하고 있는 경우, 캐시의 히트(hit)율이 곧 메모리 컨트롤러에서의 클럭의 비동작 비율임을 의미한다. 따라서, 일반적인 경우 캐시의 히트 율이 작아야 전력소비가 증대될 수 있다.
또한, 캐시를 포함하지 않는 마이크로 컨트롤러의 경우는 CPU의 내부 동작 명령어를 수행하는 비율이 곧 메모리 컨트롤러에서의 클럭의 비동작 비율과 같다고 볼 수 있다.
그래서, 클럭의 비동작 비율이 큼으로 해서 전력을 소모시키는 문제가 발생할 수 있다.
상기 문제점을 해결하기 위한 본 발명의 목적은 슬레이브가 동작하지 않는 구간에서 클럭을 비활성화하여 소비전력을 줄이는 것이다.
상기 목적을 달성하기 위한 본 발명의 저전력 마이크로 컨트롤러는 버스 요구를 하는 마스터; 슬레이브; 상기 마스터와 상기 슬레이브간의 데이터 전송이 이루어지는 버스; 및 상기 마스터의 버스 요구에 대한 중재를 하고 상기 각 슬레이브를 제어하는데 내부 레지스터 선택신호와 메모리 선택신호를 이용하여 마스터 클럭을 일정한 구간에서만 동작하는 상기 선택 클럭과 항상 동작하는 상기 글로벌 클럭으로 분리하여 상기 슬레이브를 제어하는 버스 컨트롤러를 구비하는 것을 특징으로 한다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.
이하, 첨부 도면을 참조하여 본 발명의 실시예를 상세히 설명하면 다음과 같 다.
도 1은 본 발명에 따른 마이크로 컨트롤러를 나타낸 시스템 구성도이다. 여기서는, 32bit RISC CPU로써 내장용 CPU의 대표적인 예인 ARM7TDMI을 적용하였다.
마이크로 컨트롤러는 마스터(2), 버스 제어기(4), 메모리 제어기(6), 및 주변 모듈들(peripheral module)(8)을 포함한다.
버스 상의 마스터(2)는 버스 요청(bus request) REQ을하고 이를 버스 제어기(4)가 중재를 한다.
도 2는 도 1에 도시된 시스템의 프로토콜의 파이프라인 구조도이다.
프로토콜(protocol)은 전체적으로 3단 파이프라인(pipeline) 구조로 되어 있다.
먼저, QBUS 단계는 마스터(2)가 버스 요청(bus request) REQ을 하는 단계(stage)이고, 제어 단계(control stage)는 버스 제어기(4)가 이를 중재한 결과 SnACK를 내보내고 마스터(2)가 버스 상의 제어신호를 내보내는 단계이고, 데이터 단계(data stage)는 슬레이브가 데이터를 내놓거나 내부로 쓰는 동작이 이루어지는 단계이다.
여기서, 제어 단계는 버스 제어기(4)의 중재 결과 SnACK에 따라 마스터(2)가 버스 상에 제어신호들을 내보내게 되고 버스 제어기(4)가 슬레이브를 선택하는 신호 SnSSEL와 메모리를 선택하는 신호 SnMEM를 내보내게 된다. 여기서, SnSSEL과 SnMEM은 네거티브 클럭에서 동작한다. 또한, 제어신호로는 읽기/쓰기를 하는 SnRW, BAS(Bus Access Size), Burst, Hold 신호등이 있다.
도 3은 도 2에 도시된 파이프라인 구조에서의 버스 프로토콜 타이밍도이다.
여기서, SnSSEL과 SnMEM은 슬레이브 모듈(Slave module)을 선택하는 신호이다. 즉, SnSSEL은 SFR(Special Function Register)을 읽기/쓰기 할 때 슬레이브 모듈을 선택하는 신호이고, SnMEM은 메모리 제어기(6)를 선택하여 데이터를 읽거나 쓸 때 사용하는 신호이다.
각각의 모듈 내부의 SFR에 읽을 때나 쓸 때에는 SnSSEL이 액티브일 때에만 클럭이 유효하고 그 외에는 불필요하게 클럭을 낭비하게 된다.
그리고, 슬레이브 전용 메모리 제어기(6)의 경우는 SnMEM이 액티브되었을 때만 클럭이 유효하고, SnMEM이 비활성화되었을 경우는 필요 없는 클럭을 낭비하게 되므로 전력소비가 많아지게 된다.
그러므로 효율적인 프로토콜을 적용하면 불필요한 클럭 동작(clocking)을 막을 수 있다.
실제로 SFR에 데이터를 쓰기 위해서는 적당한 시간의 1 사이클이면 충분하고, 메모리의 경우는 SnMEM을 읽기 또는 쓰기 동작하기에 충분한 시간 동안 유지함으로써 불필요한 클럭 동작을 줄일 수 있다.
본 발명에서는 SnSSEL과 SnMEM을 버스 프로토콜 상의 신호로 존재시킴으로써 부가적으로 클럭 게이팅 신호로 이용하였다.
이러한 방법을 구현하기 위해 SnWAIT와 SnMEM 신호 사이에 데이터가 버스상의 데이터 버스(SRD)에 써질 수 있을 충분한 시간을 요구한다.
특히, SnSSEL 신호와 SnMEM 신호를 일반 클럭의 네거티브 에지에서 천이하게 함으로써 선택된 클럭 동작(selective clocking) 시 글리치를 제거할 수 있다.
디자인 방법으로는 모든 모듈이나 블록은 자신이 선택되어진 경우나 슬레이브 장치 동작이 필요로 하는 경우에만 클럭을 사용하는 형태로 설계되어 있다.
본 발명의 버스 규약의 정의는 버스 규약인 AMBA(Advanced Micro BUS Architecture)과 유사하다.
단지, AMBA와 본 발명에서 규정하는 버스규약인 EMBA(Embedded Microcontroller BUS Architecture)의 차이는 슬레이브가 에러에 대한 조치를 하지 않는다는 것이다.
EMBA는 도 2에 도시된 바와 같이 3단 파이프라인 형태를 갖는 다중 마스터 슬레이브를 지원하는 버스 규약이다.
만약 이러한 클럭 게이팅(clock gating)의 조치를 따르지 않는 IP(Intellectual Property)을 사용하는 경우라 하더라도 동작상의 문제가 없도록 하기 위해 버스 규약의 호환을 고려하였다. 즉, 기 설계된 클럭 게이팅을 고려하지 않는 메모리 컨트롤러도 동작이 가능하고 본 발명의 아이디어를 근간으로 새로 설계된 게이트 클럭(gated clock)을 사용하는 메모리 컨트롤러도 동작할 수 있도록 버스 규약을 정한 것이다.
본 발명의 버스 규약 상에서 클럭을 인가할 지 말지를 결정하는 신호를 생성하여 저전력을 실현할 수 있다.
버스 규약 상에서 저전력 소비를 구현하기 위한 방안으로 첫째, 클럭 제어 방식과 둘째, 블록간 동기 프로토콜(synchronous protocol)을 지원한다.
특히 클럭 제어 방식에 있어서 슬레이브 전용 블록은 자신이 선택되어 질 때만 동작하는 게이트 클럭 제어(gated clock control) 형태를 취하므로 소비 전력을 줄일 수 있다.
각 블록간 통신(데이터 전송)은 비동기 방식으로 이루어져서 이 또한 플립플롭의 동작에 의한 필요 이상의 전력 낭비를 방지할 수 있다.
특히 각 블록간의 연결은 버스 형태로 구성되어 있어서 마스터와 슬레이브간의 통신이 원활히 수행될 수 있다.
도 4는 SnSSEL 신호가 활성화되는 경우에만 슬레이브가 동작하는 경우를 나타낸 타이밍도이다. 여기서, 슬레이브는 내부의 메모리 액세스, 스테이트 머신(state machine) 등이 될 수 있다.
그러나, 예를 들어 타이머 같은 경우는 매 사이클마다 클럭이 필요하기 때문에 글로벌 클럭을 그대로 사용하여 동작시킨다.
마스터인 경우는 자신이 동작을 해야하는 시점을 스스로 판단하여 글로벌 클럭의 사용여부를 결정한다.
그러나, 이런 경우 디자인 환경상 게이트 클럭의 사용문제(synthesis tool 제한)과 동기 클럭(synchronous clock)의 사용에 따르는 모듈간의 특징(characterization) 오류 등의 디자인 가이드 룰(design guide rule)을 위배하는 현상을 피할 수 없게 된다.
이를 해결하기 위해 서브 블록 설계 단계와 통합(integration) 단계의 디자인 계층(design hierarchy) 상에서의 해결 방법을 모색하게 되었다.
도 5는 모듈 클럭 디자인의 일 예를 나타낸 블록도이다.
서브 블록 디자이너는 각 블록 단위로 설계를 하게 되는데 이때 모델링(modeling)과 설계(synthesis) 작업을 철저히 동기(synchronous) 설계 방법을 따른다. 즉, 게이트 클럭을 사용하지 않고, 마스터 클럭 하나를 동기(synchronous)하여 사용한다.
이로써 연속 회로(sequential circuit)의 신호 마진(setup/hold margin)을 확보하고 각 모듈간의 동기한 신호 전달 체제를 보장한다.
그러나, 최종 블록의 외곽에서는 마스터 클럭 MCLK이 선택 클럭 SCLK과 글로벌 클럭 GCLK으로 분리되어 인가되므로 내부 모듈의 분할 작업 시 이를 고려하여 각 모듈을 나눈다.
특별한 경우 한 모듈 안에서 두 가지 클럭을 사용하게 되는데 이런 경우는 글로벌 클럭을 사용한다.
여기서, 버스 제어기는 버스 프로토콜을 구현하기 위해서 각 마스터의 요구에 대한 중재를 하고 각 모듈을 제어하도록 설계된다.
또한, 버스 중재기는 라운드 로빈(round robin) 방식의 우선 순위 결정 방식을 채택하였다.
메모리 제어기는 내부 레지스터 부분과 메모리 제어부분으로 나누고 각각 선택신호 SnSSEL, SnMEM를 이용하여 각각의 클럭(선택 클럭, 일반 클럭)을 사용한다.
주변 모듈은 일정한 구간에서만 동작하는 선택 클럭과 항상 동작해야 하는 글로벌 클럭을 사용하여 설계하였다.
이상에서 살펴본 바와 같이, 본 발명에 따른 저전력 컨트롤러 버스 규약은 슬레이브가 동작하지 않는 구간에서 클럭을 비활성화하여 소비전력을 줄일 수 있는 효과가 있다.
아울러 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.
Claims (5)
- 버스 요구를 하는 마스터;슬레이브;상기 마스터와 상기 슬레이브간의 데이터 전송이 이루어지는 버스; 및상기 마스터의 버스 요구에 대한 중재를 하고 상기 각 슬레이브를 제어하는데 내부 레지스터 선택신호와 메모리 선택신호를 이용하여 마스터 클럭을 일정한 구간에서만 동작하는 상기 선택 클럭과 항상 동작하는 상기 글로벌 클럭으로 분리하여 상기 슬레이브를 제어하는 버스 컨트롤러를 구비하는 것을 특징으로 하는 저전력 마이크로 컨트롤러.
- 제 1 항에 있어서,상기 버스 컨트롤러는 라운드 로빈(round robin) 방식의 우선 순위 결정방식을 사용하는 것을 특징으로 하는 저전력 마이크로 컨트롤러.
- 제 1 항에 있어서,상기 버스 규약은 3단 파이프라인 구조로 되어 있는 것을 특징으로 하는 마이크로 컨트롤러.
- 제 1 항에 있어서,상기 버스 컨트롤러가 상기 슬레이브를 선택하는 신호는 네거티브 클럭에서 동작하는 것을 특징으로 하는 마이크로 컨트롤러.
- 제 1 항에 있어서,상기 버스 컨트롤러는 메모리를 선택하는 신호를 발생하는 것을 특징으로 하는 마이크로 컨트롤러.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040102847A KR20060064146A (ko) | 2004-12-08 | 2004-12-08 | 저전력 마이크로 컨트롤러 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040102847A KR20060064146A (ko) | 2004-12-08 | 2004-12-08 | 저전력 마이크로 컨트롤러 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060064146A true KR20060064146A (ko) | 2006-06-13 |
Family
ID=37159760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040102847A KR20060064146A (ko) | 2004-12-08 | 2004-12-08 | 저전력 마이크로 컨트롤러 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060064146A (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519487B2 (en) | 2013-03-14 | 2016-12-13 | Samsung Electronics Co., Ltd. | System-on-chip and method of operating the same |
US10248155B2 (en) | 2016-01-25 | 2019-04-02 | Samsung Electronics Co., Ltd. | Semiconductor device including clock generating circuit and channel management circuit |
US10296066B2 (en) | 2016-01-25 | 2019-05-21 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system, and method of operating the semiconductor device |
US10303203B2 (en) | 2016-01-25 | 2019-05-28 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US10969854B2 (en) | 2016-01-25 | 2021-04-06 | Samsung Electronics Co., Ltd. | Semiconductor device including clock management unit for outputing clock and acknowledgement signals to an intellectual property block |
US11314278B2 (en) | 2016-01-25 | 2022-04-26 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
-
2004
- 2004-12-08 KR KR1020040102847A patent/KR20060064146A/ko not_active Application Discontinuation
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519487B2 (en) | 2013-03-14 | 2016-12-13 | Samsung Electronics Co., Ltd. | System-on-chip and method of operating the same |
US10248155B2 (en) | 2016-01-25 | 2019-04-02 | Samsung Electronics Co., Ltd. | Semiconductor device including clock generating circuit and channel management circuit |
US10296066B2 (en) | 2016-01-25 | 2019-05-21 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system, and method of operating the semiconductor device |
US10296065B2 (en) | 2016-01-25 | 2019-05-21 | Samsung Electronics Co., Ltd. | Clock management using full handshaking |
US10303203B2 (en) | 2016-01-25 | 2019-05-28 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US10928849B2 (en) | 2016-01-25 | 2021-02-23 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US10969854B2 (en) | 2016-01-25 | 2021-04-06 | Samsung Electronics Co., Ltd. | Semiconductor device including clock management unit for outputing clock and acknowledgement signals to an intellectual property block |
US11314278B2 (en) | 2016-01-25 | 2022-04-26 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US11340685B2 (en) | 2016-01-25 | 2022-05-24 | Samsung Electronics Co., Ltd. | Semiconductor device including clock management unit for outputting clock and acknowledgment signals to an intelectual property block |
US11747853B2 (en) | 2016-01-25 | 2023-09-05 | Samsung Electronics Co., Ltd. | Semiconductor device, semiconductor system and method for operating semiconductor device |
US11789515B2 (en) | 2016-01-25 | 2023-10-17 | Samsung Electronics Co., Ltd. | Semiconductor device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3209776B2 (ja) | エミュレーション装置とそれに使用するマイクロコントローラ | |
KR100329344B1 (ko) | 전원관리장치및방법 | |
CN100499556C (zh) | 异构多核处理器高速异步互连通信网络 | |
JP6092649B2 (ja) | 演算装置、アレイ型演算装置およびその制御方法、情報処理システム | |
US8018784B2 (en) | Semiconductor device and data processor | |
JP2002049576A (ja) | チップ搭載システムのためのバス・アーキテクチャ | |
JP2009545048A (ja) | マスタおよびスレーブを有するデータ処理デバイスにおける電力管理 | |
KR100633773B1 (ko) | 버스 시스템 및 버스 중재 방법 | |
JP2013106166A (ja) | クロックゲーティング回路およびバスシステム | |
JP2004326462A (ja) | マルチプロセサシステム | |
JP4202754B2 (ja) | バス結合された回路ブロックのための電力管理の方法及び構成 | |
JP3665030B2 (ja) | バス制御方法及び情報処理装置 | |
TW200741481A (en) | Data transfer in multiprocessor system | |
KR20060064146A (ko) | 저전력 마이크로 컨트롤러 | |
TWI750118B (zh) | 時脈管理電路系統、系統單晶片以及時脈管理方法 | |
US8799699B2 (en) | Data processing system | |
WO2003071405A1 (en) | Transferring data between differently clocked busses | |
KR100630693B1 (ko) | 소비 전력을 절감시키는 버스 중재 시스템 및 방법 | |
US20120030389A1 (en) | Microcomputer | |
JP4557689B2 (ja) | Dramコントローラ | |
JPH10301657A (ja) | コンピュータシステムの周辺デバイス | |
JP4609540B2 (ja) | マルチプロセサシステム | |
CN115878538A (zh) | 一种基于arm总线动态时钟门控装置 | |
JP2002197056A (ja) | ネットワーク用チップのインタフェース回路及びアクセスタイミング調整方法 | |
EP1712979A1 (en) | IC architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Withdrawal due to no request for examination |