KR20080062979A - 온 칩 버스 시스템에서 레지스터 슬라이싱 장치 및 방법 - Google Patents
온 칩 버스 시스템에서 레지스터 슬라이싱 장치 및 방법 Download PDFInfo
- Publication number
- KR20080062979A KR20080062979A KR1020060139211A KR20060139211A KR20080062979A KR 20080062979 A KR20080062979 A KR 20080062979A KR 1020060139211 A KR1020060139211 A KR 1020060139211A KR 20060139211 A KR20060139211 A KR 20060139211A KR 20080062979 A KR20080062979 A KR 20080062979A
- Authority
- KR
- South Korea
- Prior art keywords
- operating frequency
- chip bus
- bus
- path
- chip
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
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/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
-
- 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
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Bus Control (AREA)
Abstract
본 발명은 SoC의 버스 시스템에 관한 것으로서, 특히 SoC에서 사용되는 AMBA 3.0 AXI 또는 OCP 등의 온 칩 버스에서 레지스터 슬라이싱 방법 과 장치에 관한 것으로, 본 발명에 따른 레지스터 슬라이싱 장치는, 온 칩 버스 시스템에서 마스터와 슬레이브 사이의 채널의 타이밍 분리(timing isolation)를 위한 시퀀셜 로직(Sequential Logic)과, 온 칩 버스 채널의 신호를 상기 시퀀셜 로직을 경유하지 않는 제1 경로 또는 상기 시퀀셜 로직을 경유하는 제2 경로 중 어느 한 경로를 선택하여 상기 신호를 출력하는 선택 수단, 상기 선택 수단의 출력을 상기 제1 경로 또는 상기 제2 경로 중 어느 한 경로로 선택하기 위한 선택 신호를 상기 선택 수단으로 출력하고, 상기 온 칩 버스 채널의 버스 동작 주파수를 출력하는 레지스터 슬라이스 제어부를 포함한다.
SoC, ARM, AMBA, AXI, OCP, register slice
Description
도 1은 일반적인 온 칩 버스의 구조를 도시한 도면,
도 2는 일반적인 온 칩 버스에 상술한 레지스터 슬라이스를 삽입한 구조를 도시한 도면,
도 3은 일반적인 온 칩 버스의 일부 채널에 레지스터 슬라이스를 삽입한 구조를 도시한 도면,
도 4는 일반적인 온 칩 버스에서의 레지스터 슬라이스 구조를 도시한 도면,
도 5는 본 발명의 실시 예에 따른 온 칩 버스 시스템에서의 레지스터 슬라이싱 장치의 블록 구성도,
도 6은 본 발명의 실시 예에 따른 온 칩 버스 시스템에서 레지스터 슬라이스를 제어하기 위한 방법 흐름도.
본 발명은 시스템 온 칩(System On Chip : 이하 "SoC"라 한다.)의 버스 시스 템에 관한 것으로서, 특히 SoC에서 사용되는 암바(Advanced Microcontroller Bus Architecture : 이하 "AMBA"라 한다.) 3.0 AXI(Advanced eXtensiable Interface) 또는 개방형 코어 프로토콜(Open Core Protocol : 이하 "OCP"라 한다.)등의 온 칩 버스(on chip bus)에서 레지스터 슬라이싱 방법 과 장치에 관한 것이다.
좀더 구체적으로는 마스터와 슬레이브 및 슬레이브와 마스터사이에 신호를 전달하기 위한 채널을 포함하는 온 칩 버스 시스템에서 일반적으로 사용되는 레지스터 슬라이스(register slice) 또는 레지스터 포인트(register point) 사용 시, 온 칩 버스의 동작 주파수 가변(frequency scaling) 상황을 고려하여 온 칩 버스의 성능을 증가시키면서 소비 전력을 감소시키기 위한 레지스터 슬라이싱 장치 및 방법에 관한 것이다.
SoC의 효과적인 설계를 위해서는 하나의 칩상에 집적된 복수의 IP들간의 상호 통신을 위한 버스 시스템의 선택이 무엇보다 중요하다. 현재 사용되고 있는 대표적인 버스 시스템은 ARM(Advanced RISC Machine)사의 AMBA 프로토콜을 기반으로 하는 버스 시스템이며, 최근 들어서는 IP 코어들의 재활용에 보다 적합한 개방형 프로토콜을 기반으로 하는 소닉사(SONICs Inc.)의 버스 시스템의 사용되고 있다.
또한 최근 휴대 인터넷, 휴대 방송, 멀티미디어 등과 같은 고성능 어플리케이션(application)에 대응하기 위해 SoC 내부의 온 칩 버스(on-chip bus)의 동작 주파수는 계속 증가하고 있다. 그러나, 일반적으로 온 칩 버스 신호들은 SoC 내부에서 여러 컴퍼넌트(component)들을 서로 연결해야 하므로, SoC 내부의 여러 영역에 걸쳐 길게 라우팅(routing)되고, 소정 게이트(예커대 AND 게이트) 등이 드라이 브(drive)하는 다른 게이트의 총 개수인 팬 아웃(fan-out) 개수도 많아서 부하 용량(load capacitance)의 값이 큰 특성을 갖는다. 왜냐하면, 팬 아웃 개수가 많으면 부하가 많이 걸리게 되고, 신호 전달 시간이 길어지기 때문에 부하가 많이 걸리게 된다.
따라서, 온 칩 버스 시스템에서 동작 주파수를 무조건 증가시키는 데에는 타이밍 클로져(timing closure)의 어려움 등 많은 제약 및 한계가 존재한다. 이러한 문제를 해결하기 위해, AMBA 3.0 AXI 또는 OCP 등과 같은 진보된 온 칩 버스에서는 레지스터 슬라이스(register slice) 또는 레지스터 포인트(register point)(이하 "register slice"로 통일함)를 삽입할 수 있도록 하였다.
도 1은 일반적인 온 칩 버스의 구조를 나타낸다.
도 1에서 참조번호 100은 온 칩 버스에서 마스터(Master)를, 참조번호 102는 온 칩 버스에서 슬레이브(Slave)를 의미하고, 참조번호 104는 온 칩 버스 마스터(100)와 온 칩 버스 슬레이브(102) 사이에 존재하는 N개의 채널을 의미한다.
도 2는 일반적인 온 칩 버스에 상술한 레지스터 슬라이스를 삽입한 구조를 나타낸다.
도 2에서 도 1과 동일한 구성요소에 대해서는 동일한 참조번호를 사용하였으며, 도 1과 다른 점은 참조번호 200과 같이 온 칩 버스 마스터(100)와 온 칩 버스 슬레이브(102)사이에 존재하는 N개의 채널 모두에 레지스터 슬라이스를 삽입한 것을 보여준다.
칩에서 레이 아웃을 하게 되면, 마스터(100)와 슬레이브(102) 사이는 라우팅 길이가 되며, 마스터(100)와 슬레이브(102)사이의 온 칩 버스 채널을 통해 전송되는 신호는 버스 동작 주파수의 한 클럭 동안에 신호가 전달되어야 한다. 그러나 현재 버스 동작 주파수가 높아지고 이로 인하여 한 클럭 동안 마스터와 슬레이브간에 신호가 전달되기 힘들게 되었다. 따라서 버스 프로토콜이 높은 주파수에서 타이밍을 맞추기 위해 채널에 레지스터 슬라이스를 삽입하게 되었다. 따라서 레지스터 슬라이스를 삽입하게 됨으로 인하여 전체적인 버스 동작 주파수가 증가할 수 있게 되었다.
여기서 라우팅 길이란 레이 아웃할 때 온 칩 버스의 채널들내 신호들의 길이를 의미한다.
도 3은 일반적인 온 칩 버스의 일부 채널에 레지스터 슬라이스를 삽입한 구조를 나타낸다.
도 3에서도 마찬가지로 도 1에서 동일한 역할을 하는 구성요소에 대해서는 동일한 참조번호를 사용하였으며, 도 1 및 도 2와 다른 점은 참조번호 200과 같이 온 칩 버스 마스터(100)와 온 칩 버스 슬레이브(102)사이에 존재하는 N개의 채널들 중 일부 채널에 대해서만 레지스터 슬라이스를 삽입한 것을 보여준다.
즉, 도 3에서는 채널 2(302), 채널 3(304)에 대해서만 레지스터 슬라이스를 삽입하였는데, 일반적으로 온 칩 버스 시스템의 출력 부하, 부하 용량(load capacity) 또는 칩에 레이 아웃할 때 채널의 라우팅 길이에 따른 마스터(100)와 슬레이브(102) 사이의 채널들 중 타임 크리티컬(time critical)한 부분에만 레지스터 슬라이스를 삽입할 수 있다. 도 3의 채널 2는 레지스터 슬라이스가 2단(stage)이 며, 마스터(100)와 슬레이브(102)의 채널에 존재하는 레지스터 슬라이스는 3개(전체 온 칩 버스에서 레지스터 슬라이스 길이)가 된다.
상기 도 2와 도 3에 도시된 바와 같이 레지스터 슬라이스를 온 칩 버스의 채널에 삽입하게 되면 비록 버스 레이턴시(bus latency)와 SoC 면적(area)은 증가하고, 제작 단가도 증가하지만, 온 칩 버스의 최대 동작 주파수를 더욱 증가시킬 수 있게 하여, 전체적인 성능을 더욱 향상시킬 수 있도록 하고 있다.
이와 더불어, SoC 구현 시 레이 아웃(lay-out) 단계에서 타이밍(timing)적으로 문제 해결이 어려웠던 롱 패쓰(long path)(게이트와 게이트를 연결하는 와이어(wire)의 길이가 긴 경우) 및 하이 팬 아웃 패쓰(high fan-out path)를 레지스터 슬라이스(register slice)를 통해 분리함으로써 타이밍 클로져(timing closure)(칩의 모든 부분이 목표 클록 주파수로 동작하여 타이밍(timing)적으로 문제가 없도록 설계 완료하는 것)를 더욱 용이하게 하고 있다. 이와 같이 온 칩 버스에서 레지스터 슬라이스 삽입은 사실상 필수 요소가 되었다고 할 수 있다.
온 칩 버스에서 레지스터 슬라이스를 사용함으로써 앞서 설명한 바와 같은 많은 장점을 가질 수 있다. 하지만, 온 칩 버스에 실제 레지스터 슬라이스를 구현할 경우, 온 칩 버스 채널의 신호가 레지스터 슬라이스를 통과해야 하므로 삽입된 레지스터 슬라이스 단수(stage)만큼 버스 레이턴시(bus latency)가 증가하게 된다. 그리고, 삽입된 총 레지스터 슬라이스 개수만큼 SoC 면적이 증가하게 되고, 삽입된 레지스터 개수만큼 전류 소모도 증가하게 된다. 이러한 문제점을 아래의 도 4를 참조하여 자세히 살펴보기로 한다.
도 4는 일반적인 온 칩 버스에서의 레지스터 슬라이스 구조를 나타낸다.
도 4를 참조하여 레지스터 슬라이스(402)의 역할에 대해 자세히 살펴보기로 한다. 도 4에서 레지스터 슬라이스(402)는 내부에 플립 플롭(D Flip-flop)(402a, 402b)이 구비되며, 마스터(100)와 슬레이브(102) 사이에 송수신되는 신호들이 각각의 플립 플롭을 통과하게 된다. 버스 클럭(406)은 도시되지 않은 온 칩 버스 시스템의 제어부로부터온 칩 버스 채널내부의 도시되지 않은 로직(logic)들로 공급되는 클럭으로서, 예컨대 채널내에서 어드레스 디코딩 등을 하기 위한 클럭이다.
그리고 레지스터 슬라이스(402) 내부의 플립 플롭(402a, 402b)은 상기 버스 클럭(Bus clock)(406)을 동작을 위한 클럭으로 항상 입력 받음으로써, 마스터(100)와 슬레이브(102)사이에서 항상 동작하게 된다.
도 4에서 버스 동작 주파수가 200MHz라면, 마스터(100)와 슬레이브(102)사이에 신호가 채널을 통해 전송되는 시간이 5ns(1 클럭)이내어야 한다. 그러나 채널 길이가 길거나 부하 용량이 클 경우 전송시간이 5ns를 초과하게 되는데 이럴 경우 버스 동작 주파수를 200MHz로 맞출 수 없게 된다. 그러나 이러한 경우 ARM 사의 AMBA 버스의 AXI 3.0 이나 OCP 버스 규격을 사용하는 Sonics Inc. 버스의 OCP 1.0 또는 2.0에서는 참조번호 402와 같이 채널에 레지스터 슬라이스를 삽입함으로써 이러한 현상을 방지하게 된다.
즉, 레지스터 슬라이스(402)를 삽입함으로 인해 마스터(100)와 레지스터 슬라이스(402) 사이를 5ns 이내에 레지스터 슬라이스(402)와 슬레이브(102)를 5ns 이내에 신호가 전송되게 되면, 버스 동작 주파수를 200MHz로 맞출 수 있게 된다. 전 체 버스 동작 주파수는 200MHz로 증가시켰지만, 마스터(100)와 슬레이브(102)사이에 신호가 한 클럭 동안 이내가 아닌 두 클럭에 전송되게 되는 지연이 생기게 된다. 전체적인 시스템 관점에서는 이러한 지연이 생기더라도 동작 주파수를 증가시키는 것이 더 성능이 좋기 때문에 온 칩 버스에 레지스터 슬라이스(402)를 삽입하고 있다.
즉, 실제로 최대 버스 동작 주파수가 200MHz로 설정된 온 칩 버스 시스템이라 할지라도 실제로 전력 소모 문제 등과 같은 이유로 온 칩 버스 시스템이 탑재되는 장치의 어플리케이션 담당자들이 온 칩 버스 시스템을 사용하는 칩을 사용할 때는 동작 주파수가 50MHz로 설정하는 경우가 생길 수 있다. 이러한 경우에는 레지스터 슬라이스(402)가 없어도 50MHz로 동작하는 데에는 문제가 없었지만, 레지스터 슬라이스(402)가 채널 상에 이미 존재하기 때문에 50MHz로 온 칩 버스 클럭을 동작시키더라도 버스 레이턴시가 생길 수밖에 없으며, 레지스터 슬라이스가 항상 동작하게 되므로 불필요한 전력 소모도 발생하게 된다.
상술한 바와 같이 요즘 온 칩 버스 시스템에 이러한 레지스터 슬라이스(402)가 삽입됨으로 인하여 SoC이 제작된 후, 해당 SoC를 사용하는 사업자 또는 사용자가 SoC를 사용할 기기(예컨대 이동 단말, PDA 등)의 어플리케이션(application) 종류 및 전류 소모 감소 등의 이유로 실제 사용하는 온 칩 버스의 동작 주파수가 SoC 제작 시 목표했던 최대 동작 주파수(maximum target operation frequency)보다 낮은 경우에도, 레시스터 슬라이스(402)가 삽입되어있음으로 인해 야기되는 온 칩 버스의 레이턴시(latency)와 전류 소모를 줄일 수 없다.
본 발명은 온 칩 버스 시스템에서 레지스터 슬라이싱 방법 및 장치를 제공한다.
본 발명은 SoC에서 사용되는 AMBA 3.0 AXI(Advanced eXtensible Interface) 또는 OCP(Open Core Protocol) 등의 온 칩 버스 시스템에서 레지스터 슬라이스 사용시 동작 주파수 가변(frequency scaling) 상황을 고려하여, 온 칩 버스 시스템이 최대 동작 주파수보다 낮은 주파수로 동작하는 경우에도 버스 성능은 증가시키면서 전력 소모를 감소시키기 위한 레지스터 슬라이싱 장치 및 방법을 제공한다.
본 발명에 따른 레지스터 슬라이싱 장치는, 온 칩 버스 시스템에서 마스터와 슬레이브 사이 채널의 타이밍 분리(timing isolation)를 위한 시퀀셜 로직(Sequential Logic)과, 온 칩 버스 채널의 신호를 상기 시퀀셜 로직을 경유하는 제1 경로 또는 상기 시퀀셜 로직을 경유하지 않는 제2 경로 중 어느 한 경로를 선택하여 상기 신호를 출력하는 선택 수단, 상기 선택 수단의 출력을 상기 제1 경로 또는 상기 제2 경로 중 어느 한 경로로 선택하기 위한 선택 신호를 상기 선택 수단으로 출력하고, 상기 온 칩 버스 채널의 버스 동작 주파수를 출력하는 레지스터 슬라이스 제어부를 포함한다.
본 발명에 따른 레지스터 슬라이싱 방법은, 온 칩 버스 시스템에서 버스의 임계 주파수를 설정하는 과정과, 미리 설정된 동작 주파수로 채널을 통해 마스터와 슬레이브간에 신호를 전송하는 과정과, 온 칩 버스 시스템의 동작 주파수가 변경되었는지 검사하는 과정과, 상기 검사결과 현재 버스의 동작 주파수가 변경되었다면, 상기 임계 주파수와 상기 변경된 동작 주파수를 비교하는 과정과, 상기 비교 결과 상기 변경된 동작 주파수가 상기 미리 정해진 임계 주파수보다 작다면, 상기 채널 신호를 상기 채널에서의 시퀀셜 로직을 경유하지 않게 출력하게 선택하는 제1 선택 신호를 발생하는 과정과, 상기 제1 선택 신호에 따라 상기 채널 신호를 상기 플립 플롭을 경유하지 않고 전송하는 과정을 포함한다.
이하 본 발명의 실시 예를 첨부한 도면을 참조하여 상세히 설명하기로 하겠다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의해야 한다. 하기에서 구체적인 특정사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해 제공된 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
먼저 본 발명을 설명하기에 앞서 본 발명의 기본 개념을 설명하기로 한다.
온 칩 버스 시스템 개발자가 SoC 구현 시 온 칩 버스가 목표하는 최대 동작 주파수로 동작하도록 하기 위해, 레지스터 슬라이스를 삽입하였다고 하자. 온 칩 버스가 최대 동작 주파수로 동작할 때에는 온 칩 버스 채널의 신호가 레지스터 슬라이스의 플립 플롭을 거쳐서 전달된다. 레지스터 슬라이스의 플립 플롭 개수는 경우에 따라서 여러 개가 케스케이드(cascade) 형태로 삽입될 수도 있다. 이러한 경우, 온 칩 버스에서는 삽입된 플립 플롭 개수만큼 버스 레이턴시(bus latency)가 발생하게 된다.
그러나, 본 발명에서는 온 칩 버스가 실장된 장치의 개발자 혹은 사용자가 온 칩 버스가 실장된 장치의 어플리케이션의 특성 및 전류 소모를 고려하여 최대 동작 주파수보다 낮은 주파수로 온 칩 버스를 동작시키는 경우, 온 칩 버스 채널의 신호가 레지스터 슬라이스의 플립 플롭을 거치지 않고 바이패스(bypass)되도록 선택한다. 여기서 낮은 주파수는 레지스터 슬라이스의 플립 플롭이 없어도 해당 온 칩 버스 채널 신호의 경로가 타이밍적으로 문제가 없는 수준의 주파수를 의미한다. 상기 낮은 주파수는 SoC 구현 과정에서 타이밍 분석(timing analysis)을 통해 알 수 있는 임계 주파수보다 낮은 주파수를 말한다.
이와 같이 레지스터 슬라이스 내부의 플립 플롭을 경유하지 않게 되면, 온 칩 버스 채널 신호는 레지스터 슬라이스 내부의 플립 플롭으로 인해 발생했던 버스 레이턴시를 제거할 수 있게 된다. 또한, 이러한 경우에는 레지스터 슬라이스의 플립 플롭이 동작할 필요가 없게 되므로 플립 플롭으로 입력되는 버스 클럭을 게이팅(gating)함으로써 플립 플롭에서 소비되는 불필요한 전류 소모를 막을 수 있다.
도 5는 본 발명의 실시 예에 따른 온 칩 버스 시스템에서의 레지스터 슬라이싱 장치의 블록 구성도이다.
도 5에서 본 발명의 실시 예에 따라 온 칩 버스 시스템의 채널의 레지스터 슬라이싱 장치는 마스터(500)와 슬레이브(502) 사이의 채널에 삽입되어 해당 버스의 최대 동작 주파수를 보장하기 위한 레지스터 슬라이스(506)와 온 칩 버스 시스템이 구비된 장치의 동작 주파수에 따라 레지스터 슬라이스(506)를 제어하기 위한 레지스터 슬라이스 제어부(508)를 포함한다.
도 5에서 온 칩 버스 마스터(500)와 온 칩 버스 슬레이브(502)는 앞서 설명한 바와 동일하며 일반적인 구성이므로, 설명을 생략하기로 한다. 도 5에서 참조번호 504는 본 발명의 실시 예에 따른 레지스터 슬리이스(506)가 삽입되는 온 칩 버스 채널이며, 버스 동작 주파수에 따라 온 칩 버스 채널(504)을 통해 마스터(500)와 슬레이브(502)사이에 신호가 전송되게 된다. 도 5에서 레지스터 슬라이스(506)는 1개만 도시되었지만, 경우에 따라서는 여러 개의 레지스터 슬라이스(506)가 케스케이드(cascade)된 형태로 삽입될 수 있다.
레지스터 슬라이스(506)는 마스터(500)와 슬레이브(502) 사이의 신호 경로를 선택하는 멀티플렉서(Multuplexor)(506a, 506b)와 버스의 동작 주파수가 최대 동작 주파수(임계 주파수 이상)일 때 마스터(500)와 슬레이브(502) 사이의 타이밍 분리(timing isolation)를 위한 플립 플롭(506c, 506d)과 같은 시퀀셜 로직(Sequential Logic)과 상기 플립 플롭(506c, 506d)에 동작 클럭을 출력하는 클럭 게이팅 부(512)를 포함한다. 레지스터 슬라이스(506) 내부에는 본 발명의 실시 예에 따라 두 개의 경로가 설정될 수 있으며 상기 경로에 대한 설명은 아래에서 하기로 한다. 상기 시퀀셜 로직은 본 발명의 실시 예에서 플립 플롭을 예로서 들었지만 래치를 사용하여 구성할 수도 있다.
그리고 이하에서 버스의 동작 주파수과 임계 주파수의 비교에 따라 채널(504)의 신호가 플립 플롭(506c, 506d)을 경유하여 전송되는 경로를 플립 플롭 경로(520a, 520b), 플립 플롭(506c, 506d)을 경유하지 않고 신호가 전달되는 경로 를 바이패스 경로(522a, 522b)라 칭하기로 한다. 아울러 설명의 편의를 위해 플립 플롭 경로(520a, 520b)를 제1 경로로, 바이패스 경로(522a, 522b)를 제2 경로라고도 칭하기로 한다.
또한 본 발명의 실시 예에 따른 레지스터 슬라이싱 장치는 상기 레지스터 슬라이스(506)내의 경로를 선택하기 위한 선택 신호(select) 및 레지스터 슬라이스(506)의 전력 소모를 줄이기 위한 신호를 발생시키는 레지스터 슬라이스 제어부(508)를 포함한다.
레지스터 슬라이스 제어부(508)는 현재 온 칩 버스가 구비된 장치의 동작 주파수가 미리 설정된 임계 주파수보다 크거나 같을 경우에는 온 칩 버스 채널(504)의 신호들이 레지스터 슬라이스(506)내부의 플립 플롭(506c, 506d)과 같은 시퀀셜 로직을 통과하게 함으로써, 일반적인 레지스터 슬라이스의 동작을 하게한다.
그러나 레지스터 슬라이스 제어부(508)는 현재 온 칩 버스가 구비된 장치의 동작 주파수가 미리 설정된 임계 주파수보다 작을 경우에는 온 칩 버스 채널(504)의 신호들이 레지스터 슬라이스(506)내부의 플립 플롭(506c, 506d)을 경유하지 않게 제어한다. 상기 도 5에서 레지스터 슬라이스(506)내부의 시퀀셜 로직으로서 D 플립 플롭을 도시하였지만, 이는 설명의 편의를 위한 한 예일 뿐 래치(Latch)와 같은 로직을 사용하여도 구현할 수 있다. 그리고 레지스터 슬라이스 제어부(508)는 상기 레지스터 슬라이스(506) 내부의 경로 들 중 플립 플롭 경로(520a, 520b)또는 바이패스 경로(522a, 522b) 중 어느 한 경로를 선택하기 위한 선택 신호(Select)를 멀티플렉서(506a, 506b)로 전송한다. 상기 선택 신호에 따라 멀티플렉서(506a, 506b)는 플립 플롭 경로와 바이패스 경로 중 어느 한 경로를 선택하여 신호를 출력하게 된다. 예컨대 선택 신호가 "0"이라면, 플립 플롭 경로(520a, 520b)를 통해 신호가 전송되게 되고, 선택 신호가 "1"이라면, 바이패스 경로(522a, 522b)를 통해 신호가 전송되게 된다.
즉 멀티플렉서(506a, 506b)는 온 칩 버스 채널(504)의 신호를 플립 플롭 경로 또는 바이패스 경로 중 하나를 선택하고, 선택된 경로를 통해 신호가 출력되게 한다.
클럭 게이팅(clock gating)부(512)는 본 발명의 실시 예에 따라 동작 주파수가 임계 주파수보다 낮을 경우에 플립 플롭의 동작을 위한 클럭을 발생시키지 않고, 동작 주파수가 임계 주파수보다 크거나 같을 경우에는 플립 플롭으로 클럭을 발생시켜 일반적인 레지스터 슬라이스의 기능을 수행할 수 있게 한다. 도 5에는 클럭 게이팅부가 한 개의 레지스터 슬라이스에만 내장(Embeded)되어있는 것으로 표시되어있지만, 온 칩 버스의 마스터와 슬레이브 사이의 채널에 삽입된 모든 레지스터 슬라이스들이 공유(Shared)하여 사용할 수도 있다.
아울러 클럭 게이팅부(512)로는 레지스터 슬라이스 제어부(508)로부터 선택 신호와 버스 클럭이 입력되어, 그 입력에 따라 플립 플롭(506c, 506d)으로 이네이블 또는 디스에이블 신호를 발생시킨다. 즉, 클럭 게이팅부(512)는 상기 선택 신호에 의해 온 칩 버스 채널(504)의 신호가 플립 플롭 경로를 거치지 않고 바이패스 경로를 통해 전송된다면, 플립 플롭(506c, 506d)에서 발생하는 불필요한 전력 소모를 방지하기 위해 플립 플롭(506c, 506d)의 클럭을 디스에이블(disable)시키게 된 다.
만일 레지스터 슬라이스 제어부(508)의 검사결과 온 칩 버스가 실장된 장치의 현재 동작 주파수가 임계 주파수보다 작을 경우 선택 신호는 "1"이 출력될 것이며, 버스 클럭은 상기 현재 동작 주파수가 출력될 것이다. 그리고 클럭 게이팅 부(512)의 AND 게이트(512a)로는 선택 신호 "1"이 반전된 신호 "0"과 버스 클럭이 입력될 것이다. AND 게이트(512a)는 두 입력 중 한 입력 신호가 "0"이므로 "0"을 플립 플롭(506c, 506d)로 출력하게 되고, 클럭 신호를 입력받지 못한 플립 플롭(506c, 506d)은 동작하지 않음으로서 전력 소모를 줄일 수 있게 된다.
한편 현재 동작 주파수가 임계 주파수보다 크거나 같다면, 레지스터 슬라이스 제어부(508)는 선택 신호 "0"을 출력할 것이고, 클럭 게이팅 부(508)의 AND 게이트(512a)는 버스 클럭에 해당하는 클럭 신호를 출력함으로써 플립 플롭(506c, 506d)이 정상 동작을 할 수 있게 된다.
그럼 이하에서 상기 멀티플렉서(506a, 506b)로 선택 신호를 출력하고, 상기 플립 플롭(560c, 506d)을 동작 또는 비동작 시키기 위한 신호를 발생시키는 레지스터 슬라이스 제어부(508)의 상세 구성 및 동작을 도 5를 참조하여 설명하기로 한다.
도 5에서 레지스터 슬라이스 제어부(508)의 경로 선택부(508a)는 온 칩 버스 채널의 동작 주파수를 검사하여 검사결과에 따라 온 칩 버스 채널의 신호가 전달될 경로를 선택하고, 선택된 신호를 선택 신호(Select)로 온 칩 버스 채널에 삽입된 레지스터 슬라이스(506)로 출력한다. 그리고, 경로 선택부(508a)는 사용하고자하는 동작 주파수를 설정하면 결정된 동작 주파수를 클럭 발생부(508b)로 알려주고, 클럭 발생부(508b)는 정해진 동작 주파수에 해당하는 버스 클럭을 생성하여 클럭 게이팅부(512)로 출력한다.
도 5에서 레지스터 슬라이스 제어부(508)의 경로 선택부(508a)는 두 가지 방법으로 구현할 수 있다. 그 중 첫 번째는 스태틱(Static) 방법이고, 다른 한 가지는 다이내믹(Dynamic) 방법이다.
스태틱 방법이란, 온 칩 버스의 최대 동작 주파수와 임계 주파수가 미리 정해져있고, 온 칩 버스를 사용할 때 사용자 혹은 제조업체에서 상기 온 칩 버스가 사용될 장치의 실제 동작할 동작 주파수를 설정할 경우에 레지스터 슬라이스 제어부(508)의 제어 방법이다. 즉, 가변적으로 동작 주파수가 변하는 경우가 아닌 온 칩 버스가 실제로 사용될 장치에 실장될 경우 한 번만 실제 동작 주파수가 설정되는 경우이다.
예컨대, 파워 온 되어 온 칩 버스가 실장될 장치의 중앙 처리 장치(CPU)가 부팅하게 되면 미리 설정된 최대 동작 주파수가 디폴트로 200MHz로 설정되어 있고, 임계 주파수가 100MHz로 설정되었지만, 제조업체 또는 사용자가 상기 장치의 동작 주파수를 50MHz로 쓰겠다고 부트 코트 영역 내에 동작 주파수에 대한 정보를 설정하고, 상기 정보가 설정되어있는 경우의 동작이 될 것이다.
스태틱 방법을 사용하는 본 발명의 실시 예에서 최대 동작 주파수 및 임계 동작 주파수를 설정하기 위해서 사용자 또는 제조업체에서 레이아웃 할 때 검토한 패쓰 타이밍을 통해 설정할 수 있다. 또는 SoC 시 수행하는 타이밍 분석(Timing Analysis)을 할 때 설정할 수 있으며, 이러한 임계 값들은 장치가 파워 온 되어 부팅하는 도중 설정해 줄 수 있다. 이렇게 한번 동작 주파수가 변경된 이후에는 고정된 상태로 사용되게 된다.
만일 스태틱 방법을 사용할 경우 레지스터 슬라이스 제어부(508)의 경로 선택부(508a)는 스태틱 시스템 설정부(Static System Configurator)로 구현 될 수 있을 것이다.
여기서 스태틱 시스템 설정부(Static system configurator)는 CPU(550)가 SoC 내부의 동작 주파수 등과 같은 각종 시스템 레벨 설정(system-level configuration)을 변경할 수 있는 레지스터(register) 블록이 될 수 있다. CPU(550)는 어플리케이션 및 QoS(Quality-of-Service) 종류에 따라 스태틱 시스템 설정부를 액세스(access)하여 온 칩 버스의 동작 주파수를 변경할 수 있고, 이때 동작 주파수의 레벨에 따라 스태틱 시스템 설정부는 선택 신호를 "0" 또는 "1"로 설정하여 전송한다. 즉, 온 칩 버스 시스템이 제조되었을 때 설정된 임계 주파수가 임계 값이 되며, 상기 온 칩 버스 시스템이 실장되는 장치의 어플리케이션에 따라 변경되는 값이 실제 버스 동작 주파수가 된다.
따라서 임계 값과 장치에 실장되어서 변경된 실제 동작 주파수를 비교하여, 그 결과 임계 값보다 동작 주파수가 낮을 경우에는 바이패스 경로를 통해 신호가 전송되고, 높거나 같을 경우에는 플립 플롭 경로를 통해 신호가 전송된다. 즉, 온 칩 버스 시스템이 실장된 장치의 부팅 도중에 부트 코드로부터 설정된 동작 주파수와 미리 설정된 임계 값(최초로 설정된 임계 주파수)을 비교하고 그 비교 결과에 따라 경로가 선택되게 된다.
본 발명의 실시 예에서 최대 주파수와 임계 주파수는 SoC 구현 시 타이밍 분석(timing analysis)을 통해 정해진다. 이렇게 정해진 임계 주파수를 초기에(booting 초기 등) 레지스터(register) 등으로 설정해 놓고, 그 후 레지스터 슬라이스 제어부(508)는 사용자가 선택한 실제 동작 주파수와 임계 주파수를 비교하여 본 발명의 실시 예에 따라 경로를 선택할 수 있다.
그리고, 이하에서는 경로 선택부(508a)가 다이내믹 방법을 사용하여 동작할 경우에 대해서 설명하기로 한다. 레지스터 슬라이스 제어부(508)의 경로 선택부(508a)가 온 칩 버스가 실장된 장치를 제어하는 CPU(550)의 작업 로드(work load)등을 판단하여 그에 따라 버스 동작 주파수를 동적으로 변경시키고, 변경된 동작 주파수와 미리 설정된 버스의 임계 주파수하고의 비교 결과에 따라 경로를 설정한 후 그에 해당하는 선택 신호(Select)를 전송하는 방법이다.
레지스터 슬라이스 제어부(508)의 경로 선택부(508a)가 CPU(550)의 연산량을 판단하고, 연산량이 많을 경우에는 온 칩 버스의 동작 주파수를 높이고, 그렇지 않을 경우엔 동작 주파수를 낮추는 동작을 수행한다. 따라서 다이내믹 방법을 사용하게 되면 CPU 작업 부하에 따라 온 칩 버스 채널 신호의 경로가 수시로 변경될 수 있다.
경로 선택부(508a)가 SoC의 전류 소모를 최소화하기 위해 DFS(Dynamic Frequency Scaling) 또는 DVS(Dynamic Voltage Scaling) 또는 DVFS(Dynamic Voltage Frequency Scaling) 등과 같은 진보된 동작 주파수 제어 기법을 사용하는 경우, 경로 선택부(508a)는 DFSC(Dynamic Frequency Scaling Controller) 또는 DVSC(Dynamic Voltage Scaling Controller) 또는 DVFSC(Dynamic Voltage Frequency Scaling Controller)가 될 수 있으며 이에 따라 버스의 동작 주파수를 다이내믹하게 제어될 수 있다.
이는 CPU(550)의 작업 부하(work load)가 클 때는 온 칩 버스가 높은 주파수로 동작하여 최대 성능을 발휘할 수 있도록 하고, 작업 부하가 적어서 온 칩 버스의 동작 주파수가 낮은 동작 주파수로 동작할 때에도 버스의 레이턴시가 줄어들어 버스 성능을 향상시키고, 레지스터 슬라이스(506)의 플립 플롭(506c, 506d)의 클럭을 디스에이블하여 전류 소모를 더욱 줄일 수 있게 한다.
DVSC일 경우에 경로 선택부(508a)는 칩의 동작 상황에 따라 CPU(550)에서 계산해야할 양을 보고 연산해야할 양이 많으면 전압을 높이고, 작으면 전압을 낮춘다. 그리고 DFSC일 경우에 제어부(508a)는 칩의 동작 상황에 따라 CPU(550)에서 계산해야할 양을 보고 연산해야할 양이 많으면 버스의 동작 주파수를 높이고, 작으면 동작 주파수를 낮춘다. DVFSC일 경우에는 전압과 주파수를 모두 조절한다.
예컨대 온 칩 버스 시스템의 최대 동작 주파수가 200MHz이고, 현재 온 칩 버스 시스템이 200MHz의 동작 주파수로 동작하다가 CPU(550)의 작업 량이 적어져서 10MHz로 동작할 경우에서는 버스 레이턴시만 증가시키고, 파워 소모만 증가시키게 된다. 따라서 본 발명의 실시 예에서와 같이 바이패스 경로를 선택하는 선택 신호와 10MHz의 동작 주파수를 제어부(806a)가 출력함으로써, 온 칩 버스가 최대 동작 주파수로 동작하지 않을 경우에 버스 레이턴시와 불필요한 전류 소모의 문제점을 방지할 수 있다.
도 6은 본 발명의 실시 예에 따른 온 칩 버스 시스템에서 레지스터 슬라이스를 제어하기 위한 방법 흐름도이다.
600단계에서 CPU(550)가 파워 온 신호를 입력받게 되면, 온 칩 버스 시스템의 레지스터 슬라이스 장치는 리셋되게 된다. 602단계에서 레지스터 슬라이스 장치의 레지스터 슬라이스 제어부(508)는 미리 설정된 경로 선택 신호를 출력하고, 미리 설정된 버스 동작 주파수에 따른 버스 클럭을 레지스터 슬라이스(506)로 출력한다.
604단계에서 레지스터 슬라이스 제어부(508)는 버스의 동작 주파수가 변경되었는지 검사한다. 상기 604단계의 검사결과 변경되었다면, 레지스터 슬라이스 제어부(508)는 606단계에서 변경된 버스 동작 주파수가 미리 설정된 임계 값보다 큰지를 검사한다. 상기 604단계에서 버스 동작 주파수 변경 검사는 주기적으로 수행될 수도 있다.
상기 606단계의 검사결과 변경된 버스 동작 주파수가 미리 설정된 임계 값보다 크다면, 레지스터 슬라이스 제어부(508)는 플립 플롭 경로(제1 경로)를 선택한 후 612단계에서 해당 버스 동작 주파수의 버스 클럭을 발생시킨다. 반면, 상기 606단계의 검사결과 변경된 버스 동작 주파수가 미리 설정된 임계 값보다 작다면, 레지스터 슬라이스 제어부(508)는 610단계로 진행하여 바이패스 경로(제2 경로)를 선택한 후 612단계에서 해당 버스 동작 주파수의 버스 클럭을 발생시킨다.
이하에서 본 발명의 실시 예를 이해를 돕기 위해 구체적인 수치를 사용하여 설명하기로 한다.
최대 동작 주파수란 상술한 바와 같이 온 칩 버스 시스템이 실장된 칩이 설계 될 때 칩이 동작할 수 있는 최대 주파수를 의미하며, 임계 주파수란 본 발명의 실시 예에서 온 칩 버스 시스템 채널의 경로를 선택하기 위해 현재 칩의 동작 주파수와 비교하기 위한 임계 값을 의미한다. 임계 주파수는 최대 동작 주파수와 같을 수도 있지만, 일반적으로는 최대 동작 주파수보다 낮은 주파수로 설정될 것이다.
본 발명의 실시 예에서 임계 주파수는 부트 코드를 사용하여 설정할 수 있다. 또한 스태틱 방법과 다이내믹 방법에서 모두 칩이 부팅되기 전에 미리 설정되어 있다.
이하에서 최대 동작 주파수와 임계 주파수 및 버스의 동작 주파수에 따라 본원발명의 실시 예를 상세히 설명하기로 한다.
예컨대 레지스터 슬라이싱 장치가 실장되는 칩의 최대 동작 주파수가 200MHz이고, 칩의 임계 주파수가 150MHz라고 가정하기로 한다.
이때 스태틱 방법에서는 사용자가 칩의 실제 동작 주파수를 설정한 이후에는 고정되어 변경하지 못한다. 스태틱 방법일 경우에는 칩의 부팅 중에 사용자가 설정한 실제 동작 주파수가 160MHz일 경우 상기 임계 주파수보다 높으므로 레지스터 슬라이스 제어부(508)는 플립 플롭을 통과하는 경로를 선택할 것이고, 이후로는 선택된 플립 플롭 경로로만 신호들이 전송될 것이다. 반면, 실제 동작 주파수가 100MHz일 경우에는 상기 임계 주파수보다 낮으므로 레지스터 슬라이스 제어부(508)는 플립 플롭을 경유하지 않는 경로(바이패스 경로)를 선택할 것이고, 이후로는 바이패 스 경로로만 신호들이 전송될 것이다.
스태틱 방법 이외에 다이내믹 방법을 사용할 경우에는 앞서 설명한 바와 같이 CPU(550)의 부하에 따라 버스의 동작 주파수가 변경될 수 있으므로 버스의 동작 주파수가 변경될 때마다 변경된 동작 주파수와 임계 주파수를 비교함으로써 레지스터 슬라이스 제어부(508)가 경로를 선택할 수 있다. 즉, 최대 동작 주파수가 200MHz, 임계 주파수가 150MHz이고, 현재 CPU(550)의 부하가 작아 현재 버스의 동작 주파수가 50MHz라면, 레지스터 슬라이스 제어부(508)는 바이패스 경로를 선택하고, CPU(550)의 부하가 커져서 버스의 동작 주파수가 160MHz라면, 플립 플롭 경로를 선택함으로써, CPU(550)의 부하에 따라 최적의 경로를 선택할 수 있다. 또한, 동작 주파수를 주기적으로 검사하여 동작 주파수가 변경되었는지를 알 수 있을 것이다.
즉, 다이내믹 방법에서 레지스터 슬라이스 제어부(508)는 버스 동작 주파수가 임계 주파수인 150MHz이상일 경우에는 플립 플롭 경로를, 150MHz미만일 경우에는 바이패스 경로를 선택하며, 이런 경로 선택은 CPU(550)에 따라 동적으로 변하게 된다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해서 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도내에서 여러 가지 변형이 가능함을 당해 분야에서 통상의 지식을 가진 자에게 있어서 자명하다 할 것이다.
상술한 바와 같이 본 발명에 따르면 SoC 제작 후, 실제 사용하는 온 칩 버스의 동작 주파수가 SoC 제작 시 목표했던 최대 동작 주파수(maximum target operation frequency)보다 낮은 경우, 온 칩 버스 채널에 레지스터 슬라이스 삽입함으로써 발생되는 온 칩 버스의 레이턴시 문제를 줄일 수 있다.
또한 온 칩 버스의 채널에 레지스터 슬라이스 삽입으로 인해 발생된 플립 플롭의 불필요한 전류 소모를 줄일 수 있다.
SoC의 전류 소모를 최소화하기 위해 DFS 또는 DVFS 등과 같은 동작 주파수 제어 기법을 사용하는 경우에는, 작업 부하가 적어서 온 칩 버스의 동작 주파수가 낮은 동작 주파수로 동작할 때에도 버스의 레이턴시가 줄어들어 버스 성능을 향상시킬 수 있고, 레지스터 슬라이스 내부의 플립 플롭의 클럭을 디스에이블하여 전류 소모를 더욱 줄일 수 있다.
Claims (12)
- 온 칩 버스 시스템에서 마스터와 슬레이브 사이의 채널의 타이밍 분리(timing isolation) 위한 시퀀셜 로직(Sequential Logic)과,온 칩 버스 채널의 신호를 상기 시퀀셜 로직을 경유하는 제1 경로 또는 상기 시퀀셜 로직을 경유하지 않는 제2 경로 중 어느 한 경로를 선택하여 상기 신호를 출력하는 선택 수단,상기 선택 수단의 출력을 상기 제1 경로 또는 상기 제2 경로 중 어느 한 경로로 선택하기 위한 선택 신호를 상기 선택 수단으로 출력하고, 상기 온 칩 버스 채널의 버스 동작 주파수를 출력하는 레지스터 슬라이스 제어부를 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 장치.
- 제1 항에 있어서,상기 시퀀셜 로직(Sequential Logic)은,플립 플롭(Flip Flop)임을 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 장치.
- 제1 항에 있어서,상기 시퀀셜 로직(Sequential Logic)은,래치(latch)회로임을 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 장치.
- 제1 항에 있어서,상기 레지스터 슬라이스 제어부는,상기 경로 선택 신호를 출력하는 경로 선택부와,상기 경로 선택부로부터 입력받은 버스 동작 주파수에 해당하는 상기 버스 클럭을 생성하여 출력하는 클럭 발생부를 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 장치.
- 제1 항에 있어서,상기 경로가 제2 경로로 선택될 경우, 상기 시퀀셜 로직의 동작을 디스에이블 시키는 클럭 게이팅부를 더 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 장치.
- 제4 항에 있어서,상기 경로 선택부는,상기 온 칩 버스 시스템의 임계 주파수보다 버스의 실제 동작 주파수가 낮을 경우 상기 제2 경로를 선택하는 선택 신호를 상기 선택 수단으로 출력하는 온 칩 버스 시스템에서 레지스터 슬라이싱 장치.
- 제4 항에 있어서,상기 경로 선택부는,상기 온 칩 버스 시스템의 임계 주파수보다 버스의 실제 동작 주파수가 크거나 같을 경우 상기 제1 경로를 선택하는 선택 신호를 상기 선택 수단으로 출력하는 온 칩 버스 시스템에서 레지스터 슬라이싱 장치.
- 온 칩 버스 시스템에서 버스의 임계 주파수를 설정하는 과정과,상기 버스에서의 채널을 통해 마스터와 슬레이브간에 신호를 상기 온 칩 버스 시스템의 동작 주파수로 전송하는 과정과,상기 온 칩 버스 시스템의 동작 주파수가 변경되었는지 검사하는 과정과,상기 검사결과 현재 버스의 동작 주파수가 변경되었다면, 상기 임계 주파수와 상기 변경된 동작 주파수를 비교하는 과정과,상기 비교 결과 상기 변경된 동작 주파수가 상기 미리 정해진 임계 주파수보 다 작다면, 상기 채널 신호를 상기 채널에서의 시퀀셜 로직을 경유하지 않게 출력하게 선택하는 제1 선택 신호를 발생하는 과정과,상기 제1 선택 신호에 따라 상기 채널 신호를 상기 플립 플롭을 경유하지 않고 전송하는 과정을 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 방법.
- 제8 항에 있어서,상기 비교 결과 상기 변경된 동작 주파수가 상기 임계 주파수보다 크거나 같다면, 상기 채널 신호를 상기 채널에서의 상기 시퀀셜 로직을 경유하여 출력하게 선택하는 제2 선택 신호를 발생하는 과정을 더 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 방법.
- 제8 항에 있어서,상기 비교 결과 상기 변경된 동작 주파수가 상기 미리 정해진 임계 주파수보다 작다면, 상기 시퀀셜 로직의 동작을 정지시키기 위한 디스에이블 신호를 발생시키는 과정을 더 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 방법.
- 제8 항에 있어서,상기 시퀀셜 로직(Sequential Logic)은,플립 플롭(Flip Flop)임을 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 방법.
- 제8 항에 있어서,상기 시퀀셜 로직(Sequential Logic)은,래치(Latch)회로임을 포함하는 온 칩 버스 시스템에서 레지스터 슬라이싱 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060139211A KR20080062979A (ko) | 2006-12-30 | 2006-12-30 | 온 칩 버스 시스템에서 레지스터 슬라이싱 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060139211A KR20080062979A (ko) | 2006-12-30 | 2006-12-30 | 온 칩 버스 시스템에서 레지스터 슬라이싱 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20080062979A true KR20080062979A (ko) | 2008-07-03 |
Family
ID=39815038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060139211A Withdrawn KR20080062979A (ko) | 2006-12-30 | 2006-12-30 | 온 칩 버스 시스템에서 레지스터 슬라이싱 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20080062979A (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8667195B2 (en) | 2010-10-19 | 2014-03-04 | Samsung Electronics Co., Ltd. | Bus-system including an interconnector, a master device, a slave device, and an operating method thereof |
US9183170B2 (en) | 2011-11-24 | 2015-11-10 | Samsung Electronics Co., Ltd. | Asynchronous bridge |
CN112214945A (zh) * | 2020-10-13 | 2021-01-12 | 安徽芯纪元科技有限公司 | 一种axi总线隔离保护结构及其保护方法 |
-
2006
- 2006-12-30 KR KR1020060139211A patent/KR20080062979A/ko not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8667195B2 (en) | 2010-10-19 | 2014-03-04 | Samsung Electronics Co., Ltd. | Bus-system including an interconnector, a master device, a slave device, and an operating method thereof |
US9021171B2 (en) | 2010-10-19 | 2015-04-28 | Samsung Electronics Co., Ltd. | Bus system including a master device, a slave device, an interconnector coupled between the master device and the slave device, and an operating method thereof |
US9183170B2 (en) | 2011-11-24 | 2015-11-10 | Samsung Electronics Co., Ltd. | Asynchronous bridge |
CN112214945A (zh) * | 2020-10-13 | 2021-01-12 | 安徽芯纪元科技有限公司 | 一种axi总线隔离保护结构及其保护方法 |
CN112214945B (zh) * | 2020-10-13 | 2023-11-14 | 安徽芯纪元科技有限公司 | 一种axi总线隔离保护结构及其保护方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6219797B1 (en) | Microcontroller with selectable oscillator source | |
KR102384347B1 (ko) | 클록 관리 유닛을 포함하는 시스템 온 칩 및 그 동작방법 | |
US9800243B2 (en) | Clock circuit and clock signal transmission method thereof | |
Huebner et al. | Real-time LUT-based network topologies for dynamic and partial FPGA self-reconfiguration | |
US7257723B2 (en) | Reducing power consumption in embedded systems by controlling voltage based on system state and partition designation | |
Bokhari et al. | darknoc: Designing energy-efficient network-on-chip with multi-vt cells for dark silicon | |
Liu et al. | Achieving energy efficiency through runtime partial reconfiguration on reconfigurable systems | |
US7792154B2 (en) | Controlling asynchronous clock domains to perform synchronous operations | |
Nunez-Yanez et al. | Energy optimization in commercial FPGAs with voltage, frequency and logic scaling | |
WO2005104384A2 (en) | Method and apparatus for entering a low power mode | |
US20050144497A1 (en) | System and method for reducing clock skew | |
US7069376B2 (en) | Flexibility of use of a data processing apparatus | |
JP2004054766A (ja) | 情報処理装置 | |
KR20080062979A (ko) | 온 칩 버스 시스템에서 레지스터 슬라이싱 장치 및 방법 | |
Paulsson et al. | Implementation of a virtual internal configuration access port (jcap) for enabling partial self-reconfiguration on xilinx spartan iii fpgas | |
Andrew et al. | A field programmable system chip which combines FPGA and ASIC circuitry | |
US6381705B1 (en) | Method and device for reducing current consumption of a microcontroller | |
US20040230934A1 (en) | System and method for emulating systems with multiple field programmable gate arrays | |
US20080294929A1 (en) | Data processing apparatus and method for controlling a transfer of payload data over a communication channel | |
US8675444B2 (en) | Synchronized command throttling for multi-channel duty-cycle based memory power management | |
US20040260960A1 (en) | Method for pulse train reduction of clocking power when switching between full clocking power and nap mode | |
JP4181317B2 (ja) | 集積回路の電力管理システム | |
US7124311B2 (en) | Method for controlling processor in active/standby mode by third decoder based on instructions sent to a first decoder and the third decoder | |
Yu et al. | Low power design and implementation for a SoC | |
Shafique et al. | Selective instruction set muting for energy-aware adaptive processors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20061230 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |