KR20090016090A - 파이프라인 시스템의 동적 클럭 제어 장치 및 방법 - Google Patents

파이프라인 시스템의 동적 클럭 제어 장치 및 방법 Download PDF

Info

Publication number
KR20090016090A
KR20090016090A KR1020070080487A KR20070080487A KR20090016090A KR 20090016090 A KR20090016090 A KR 20090016090A KR 1020070080487 A KR1020070080487 A KR 1020070080487A KR 20070080487 A KR20070080487 A KR 20070080487A KR 20090016090 A KR20090016090 A KR 20090016090A
Authority
KR
South Korea
Prior art keywords
clock
stage
delay
path delay
signal
Prior art date
Application number
KR1020070080487A
Other languages
English (en)
Other versions
KR100887238B1 (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 KR1020070080487A priority Critical patent/KR100887238B1/ko
Priority to US12/188,481 priority patent/US8122276B2/en
Publication of KR20090016090A publication Critical patent/KR20090016090A/ko
Application granted granted Critical
Publication of KR100887238B1 publication Critical patent/KR100887238B1/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/08Clock generators with changeable or programmable clock frequency
    • 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/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
    • 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/3861Recovery, e.g. branch miss-prediction, exception handling
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Advance Control (AREA)

Abstract

본 발명은 파이프라인 시스템의 동적 클럭 제어 장치 및 방법에 관한 것으로, 기설정 주기로 클럭신호를 출력하는 클럭 발생부와, 각 스테이지에 추가되어 각 스테이지의 연산속도를 출력하는 경로 지연 복사회로와, 상기 경로 지연 복사회로로부터 수신하는 각 스테이지의 연산속도를 이용하여 상기 클럭 발생부로부터 수신하여 스테이지와 스테이지 사이의 레지스터에 제공하는 클럭의 지연 정도를 조정하는 클럭 제어 유닛을 포함하여 파이프라인 시스템의 성능과 전력효율을 높이는 효과를 가진다.
Figure P1020070080487
파이프라인(Pipeline), 연산속도, 클럭, 클럭주기, 지연

Description

파이프라인 시스템의 동적 클럭 제어 장치 및 방법{APPARATUS AND METHOD FOR ADAPTIVE TIME BORROWING TECHNIQUE IN PIPELINE SYSTEM}
본 발명은 파이프라인 시스템의 동적 클럭 제어 장치 및 방법에 관한 것으로서, 특히 파이프라인(Pipeline) 구조를 갖는 디지털 시스템에서, 클럭 (Clock) 신호의 지연(Delay)정도를 조정하여 해당 시스템의 성능을 더 높이거나, 전력을 더 낮추기 위한 장치 및 방법에 관한 것이다.
일반적인 동기식(Synchronous) 디지털 시스템을 아래에서 도 1을 참조하여 설명하고자 한다. 도 1은 종래 기술에 따른 동기식 디지털 시스템의 구성을 도시한 도면이다. 상기 도 1을 참조하면 일반적인 동기식(Synchronous) 디지털 시스템은 입력과 출력포트를 가지고 있으며 그 사이에 정해진 목적의 데이터 처리를 위한 조합 논리 회로(Combination Logic)(110)와 클럭에 의해 동기되는 플립플롭(Flip-Flop) 또는 래치(Latch)로 이루어진 입력 레지스터(102)와 출력 레지스터(104)로 구성된다.
대부분의 프로세서 또는 디지털 블록들은 그 성능을 높이기 위해 상기 도 1의 디지털 시스템의 조합 논리 회로(110)를 분할하여 아래 도 2의 '파이프라인'구조를 사용하고 있다. 도 2는 종래 기술에 따른 파이프라인 구조를 가지는 동기식 디지털 시스템인 동기식 파이프라인 시스템의 구성을 도시한 도면이다. 상기 도 2를 참조하면 동기식 디지털 시스템의 조합 논리회로는 4개의 분할된 조합 논리회로(222, 224, 226, 228)로 구성하며 각 조합 논리회로는 플립플롭(Flip-Flop)으로 이루진 입력 레지스터와 출력 레지스터를 가진다. 조합 논리회로와 조합 논리회로 사이의 레지스터(204, 206, 208)는 앞의 조합 논리회로의 출력 레지스터이자 뒤의 조합 논리회로의 입력 레지스터 역할을 수행한다.
상기 도 2와 같이 파이프라인 구조를 사용하는 동기식 디지털 시스템은 동시에 여러 개의 데이터 처리를 수행할 뿐 아니라, 그 동작 속도(클럭 속도)도 높이는 효과를 가져온다. 이는 도 2와 같이 4개로 분할된 파이프라인 구조에서는 최대 4개의 연속된 프로세싱이 동시에 수행될 수 있기 때문이다.
상기 도 2와 같이 종래의 일반적인 동기식 파이프라인 구조에서는 각 파이프라인 레지스터에 입력되는 클럭이 서로 동일한 주파수와 동일한 위상을 갖도록 설계된다. 따라서 이 클럭의 주파수는 조합 논리회로와 입력과 출력 레지스터로 구성하는 각 파이프라인 스테이지 중 가장 연산 시간이 오래 걸리는 스테이지에 의해 결정된다. 예를 들어, 상기 도 2에서 스테이지 1에서 스테이지 4에 속하는 각 조합 논리회로로(222, 224, 226, 228)의 각각의 연산시간이 순서대로 각각 11nsec, 13nsec, 16nsec, 9nsec 라고 한다면, 연산시간이 가장 긴 스테이지 3에 의해 이 시 스템의 클럭 속도가 결정된다. (1/16nsec = 62.5MHz)
이처럼 각 스테이지의 연산 시간이 서로 다르게 되는 것은 기능적으로 각 스테이지에서 수행되어야 하는 연산의 종류가 서로 다르기 때문이다. 이러한 연산시간상의 차이를 최대한 줄이기 위한 방법에는 여러 가지 방법이 존재하는데 그중 가장 대표적인 방법을 아래 도 3을 참조하여 설명하고자한다.
도 3은 종래 기술에 따른 클럭의 지연을 통해 스테이지간의 연산시간 차이를 줄이는 동기식 파이프라인 시스템의 구성을 도시한 도면이다. 상기 도 3을 참조하면 종래의 동기식 파이프라인 시스템의 클럭 발생부(200)의 발생 클럭을 지연부(302)를 통해 필요시간 만큼 지연하여 레지스터에 제공함으로 스테이지간의 연산시간 차이를 줄였다. 예를 들어 상기 도 3의 동기식 파이프라인 시스템의 목표 운영 주파수가 100MHz (10nsec 주기)인데, 추정된 각 스테이지의 연산 수행시간이 8nsec, 9nsec, 11nsec, 7nsec인 경우에
세 번째 스테이지와 네 번째 스테이지 사이에 있는 레지스터(208)에 입력되는 클럭 신호를 의도적으로 1 ~ 3nsec 지연시키는 것이다. (여기서는 그 중간 값인 0.2nsec를 예로 들겠다.) 이렇게 의도적으로 해당 스테이지의 출력 레지스터에 입력되는 클럭을 Td(0.2nsec) 만큼 지연시킴으로써, 스테이지 3에 주어지는 연산 시간은 Tclk + Td로 증가 하게 된다. 이와 같이 스테이지 4에서 사용할 시간을 스테이지 3로 빌려 와서 사용(차용)하는 방법을 시간 차용 기술(Time Borrowing Technique)이라고 한다. 이 방식은 고성능 디지털 마이크로프로세서나 디지털 시스템 블록에서 널리 사용되어지는 기술이다.
하지만, 시간 차용 기술은 기술들을 효과적으로 적용하기 위해서는 각 스테이지들의 연산 시간을 정확히 알아내는 것이 무엇보다 중요하다. 이는 다만 시간 차용 기술뿐 아니라 스테이지 간의 시간차이를 줄이는 다른 여러방법들도 동일하다. 스테이지 간의 시간차이를 줄이 방법들은 칩 설계 단계에서 적용되는 기술이기 때문에, 칩이 제작된 이후의 특성에 대해서는 정확한 추정(Estimation)이 어려운 것이 사실이다. 더욱이 칩 제작 공정이 점차적으로 미세화됨에 따라, 공정상에서의 불확정성(Uncertainty, Process-Voltage-Temperature Variation)이 급격히 증가하고, 집적도가 증가함에 따라 인접 회로에 의한 전기적 간섭(Electrical Coupling)이 더욱 심각해 지고 있다. 따라서 칩 설계 단계에서는 칩의 물리적 특성을 정확히 파악한다는 것은 점점 어려워지고 있다. 또한, 성능/전력에 대한 제작 후 수정 (Post-Fabrication Revision)을 지원하지 못하고 있다.
따라서, 칩 설계 단계에서의 불확실한 추정치인 스테이지들의 연산시간을 이용하여 방법이 아닌, 칩 제작 이후의 실측 결과를 바탕으로 한 스테이지들의 연산시간을 이용하는 기술이 요구된다.
상술한 바와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은 파이프라인 시스템의 동적 클럭 제어 장치 및 방법을 제공하는데 있다.
본 발명의 다른 목적은 파이프라인 (Pipeline) 구조를 갖는 디지털 시스템에서, 클럭 (Clock) 신호의 지연(Delay)정도를 조정하여 해당 시스템의 성능을 더 높이거나, 전력을 더 낮추기 위한 장치 및 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 복수개의 파이프라인을 사용하는 디지털 시스템에서, 각 파이프라인 스테이지에 입력되는 클럭 신호를 동적으로 지연시켜(또는 앞당겨), 해당 시스템이 동일한 전원전압을 유지하면서도 더 높은 클럭 주파수에서 동작이 가능토록 하거나, 동일한 클럭 주파수를 유지하면서도 더 낮은 전원 전압에서 동작이 가능토록 하는 장치 및 제어 방법을 제공하는데 있다.
상기한 목적들을 달성하기 위한 본 발명의 제 1 견지에 따르면, 동적으로 클럭을 제어하는 파이프라인 시스템은, 기설정 주기로 클럭신호를 출력하는 클럭 발생부와, 각 스테이지에 추가되어 각 스테이지의 연산속도를 출력하는 경로 지연 복사회로와, 상기 경로 지연 복사회로로부터 수신하는 각 스테이지의 연산속도를 이용하여 상기 클럭 발생부로부터 수신하여 스테이지와 스테이지 사이의 레지스터에 제공하는 클럭의 지연 정도를 조정하는 클럭 제어 유닛을 포함함을 특징으로 한다.
상기한 목적들을 달성하기 위한 본 발명의 제 2 견지에 따르면, 파이프라인 시스템에서 동적으로 클럭을 제어하는 방법은, 파이프라인 시스템의 클럭 주기를 확인하는 과정과, 상기 파이프라인 시스템에 포함된 각 스테이지들의 연산시간을 확인하는 과정과, 상기 클럭 주기보다 큰 연산시간을 가지는 스테이지가 존재하면, 각 스테이지의 연산속도를 고려하여 스테이지와 스테이지 사이의 레지스터에 제공하는 클럭의 지연 정도를 조정하는 과정을 포함함을 특징으로 한다.
상술한 바와 같이 본 발명은 기설정 주기로 클럭신호를 출력하는 클럭 발생부와, 각 스테이지에 추가되어 각 스테이지의 연산속도를 출력하는 경로 지연 복사회로와, 상기 경로 지연 복사회로로부터 수신하는 각 스테이지의 연산속도를 이용하여 상기 클럭 발생부로부터 수신하여 스테이지와 스테이지 사이의 레지스터에 제공하는 클럭의 지연 정도를 조정하는 클럭 제어 유닛을 포함하는 파이프라인 시스템의 동적 클럭 제어 장치 및 방법에 관한 것으로, 실측 결과를 바탕으로 한 스테이지들의 연산시간을 이용하여 성능 및 전력효율을 높이는 효과가 있다.
이하 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명하면 하기와 같다. 그리고 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명은 복수개의 파이프라인을 사용하는 디지털 시스템에서, 각 파이프라인의 각 스테이지에 입력되는 클럭 신호를 동적으로 지연시켜(또는 앞당겨), 해당 시스템이 동일한 전원전압을 유지하면서도 더 높은 클럭 주파수에서 동작이 가능토록 하거나, 동일한 클럭 주파수를 유지하면서도 더 낮은 전원 전압에서 동작이 가능토록 하는 장치 및 제어 방법에 관한 것으로 아래에서 도 4를 참조하여 본 발명의 장치를 설명하고자 한다.
도 4는 본 발명의 바람직한 일 실시 예에 따른 실측을 통해 구한 각 스테이지들의 연산시간을 이용하여 클럭 신호를 조정하여 동기식 파이프라인 시스템의 구성을 도시한 도면이다. 상기 도 4를 참조하면 본 발명의 동기식 파이프라인 시스템은 클럭 발생부(400), 다수의 레지스터(402, 404, 406, 408, 410) 및, 다수의 조합 논리회로(412, 414, 416, 418)에 더하여 본 발명에 의해 각 스테이지마다 추가된 경로 지연 복사회로(PDR : Path Delay Replica)(422, 424, 426, 428)와 클럭 제어 유닛(CCU, Clock Control Unit)(432, 434, 436)을 포함하여 구성한다.
본 발명의 스테이지는 입력 레지스터, 조합 논리회로, 경로 지연 복사회로 및, 출력 레지스터를 포함하여 구성한다. 예를 들어 스테이지 1의 경우 입력 레지스터(402), 조합 논리회로(412), 경로 지연 복사회로(422) 및, 출력 레지스터(404)를 포함한다.
상기 경로 지연 복사회로(422, 424, 426, 428)는 각 스테이지에 속한 조합 논리회로 각각의 연산속도를 출력하는 장치로서 가장 빠른 연산속도인 빠른 경로 지연과 가장 느린 연산 속도인 느린 경로 지연을 출력한다. 상기 경로 지연 복사회 로(422, 424, 426, 428)의 상세한 설명은 이후 도 5를 참조하여 후술한다.
상기 클럭 제어 유닛(432, 434, 436)은 조합 논리회로 사이에 존재하는 레지스터로 입력되는 클럭의 지연 정도를 조정하는 장치로서 레지스터의 앞과 뒤의 스테이지의 경로 지연 복사회로로부터 각 스테이지의 경로지연 신호를 수신하고 이를 이용하여 레지스터로 입력되는 클럭의 지연 정도를 조정한다. 상기 클럭 제어 유닛(432, 434, 436)의 상세한 설명은 이후 도 6을 참조하여 후술한다.
상기 도 4는 4개의 스테이지를 가지는 경우를 예로 설명하나 본 발명은 두개 이상의 스테이지를 가지는 모든 동기식 파이프라인 시스템에 적용가능하다.
도 5는 본 발명의 바람직한 일 실시 예에 따른 동기식 파이프라인 시스템에서 경로 지연 복사회로의 구성을 도시한 도면이다. 상기 도 5를 참조하면, 경로 지연 복사회로(PDR : Path Delay Replica)(500)는 해당 스테이지의 조합 논리회로(510)에서 다수의 논리 게이트들을 거치는 경로 중에서 가장 빠른 경로와 가장 느린 경로를 설계 단계에서 미리 선정하고 이와 동일한 회로를 그대로 복사(Replication)한다. 이렇게 복사된 두 개의 다수의 논리 게이트로 이루어진 빠른 경로 복사회로와 느린 경로 복사회로의 최초 입력 각각에 토글 플립플랍(Toggle-Flip/Flop)(502, 504)을 추가하고, 경로의 중간 입력에는 적절한 '1' 또는 '0'의 상수(Constant)을 입력해 주어서, 매 클럭 마다 두 경로의 최종 출력이 0과 1을 반복하도록 하며, 같은 클럭에 대한 두 패스의 출력 값이 서로 반대의 값을 갖도록 한다.
도 6은 본 발명의 바람직한 일 실시 예에 따른 동기식 파이프라인 시스템에 서 클럭 제어 유닛의 구성을 도시한 도면이다. 상기 도 6을 참조하면 본 발명의 클럭 제어 유닛(600)은 클럭 지연 제어부(Clock Delay Controller)(610)와 지연 논리회로(Programmable Delay Login)(620)를 포함하여 구성한다.
상기 클럭 지연 제어부(610)는 앞단의 스테이지로부터 빠른 경로 지연과 느린 경로 지연 신호를 수신하여 클럭신호에 대해 유효한가 여부를 확인하여 유효하지 않으면 클럭의 지연 정도를 증가하도록 조정하고, 뒷단의 스테이지로부터 빠른 경로 지연와 느린 경로 지연 신호를 수신하여 클럭신호에 대해 유효한가 여부를 확인하여 유효하지 않으면 클럭을 앞당겨 지연을 감소시키도록 조정한다. 상기 클럭 지연 제어부(610)의 상세한 설명은 실질적인 일 예인 도 7을 참조하여 후술한다.
상기 지연 논리회로(620)는 상기 클럭 지연 제어부(610)의 제어를 받아 조정한 기연시간만큼 수신하는 클럭을 지연하여 출력한다. 상기 지연 논리회로(620)의 상세한 설명은 실질적인 일 예인 도 8을 참조하여 후술한다.
도 7은 본 발명의 바람직한 일 실시 예에 따른 클럭 제어 유닛에서 클럭 지연 제어부의 구성을 도시한 도면이다. 상기 도 7을 참조하면 상기 클럭 지연 제어부(610)는 배타적 논리합(exclusive OR)(712, 716), 데이터 플립플랍(D-Flip/Flop)(714, 718) 및, 지연 카운터(720)를 포함하여 구성한다.
상기 배타적 논리합(712)는 앞단의 스테이지로부터 빠른 경로 신호와 느린 지연경로 신호를 수신하여 이를 배타적 논리합하여 결과를 상기 데이터 플립플랍(714)에 입력한다. 상기 논리합한 결과는 상기 앞단의 스테이지가 주어지는 클럭주기에 유효한지 여부를 나태내는 결과라 '1'이면 유효한 상태이고 '0'이면 유효하 지 않은 상태를 의미한다. 상기 데이터 플립플랍(714)은 클럭 발생시 입력받은 유효여부 정보를 상기 지연 카운터(720)로 제공한다.
또한, 상기 배타적 논리합(716)는 뒷단의 스테이지로부터 빠른 경로 신호와 느린 지연경로 신호를 수신하여 이를 배타적 논리합하여 결과를 상기 데이터 플립플랍(718)에 입력하고, 상기 데이터 플립플랍(718)은 클럭 발생시 입력받은 유효여부 정보를 상기 지연 카운터(720)로 제공한다.
상기 지연 카운터(720)는 상기 데이터 플립플랍(716, 718)으로부터 수신하는 유효 여부 정보를 수신하여 앞단의 스테이지가 유효하지 않을 때 지연하는 횟수를 증가시키고, 뒷단의 스테이지가 유효하지 않을 때 지연하는 횟수를 감소시켜 레지스터로 제공하는 클럭의 지연 정도를 조정한다.
도 8은 본 발명의 바람직한 일 실시 예에 따른 클럭 제어 유닛에서 지연 논리 회로의 구성을 도시한 도면이다. 상기 도 8을 참조하면 상기 지연 논리회로(620)는 다수의 지연기(801~810)과 다수의 다중화기(811~820)를 포함하여 구성하며, 상기 클럭 지연 제어부(610)로부터의 지연을 요구하는 제어신호를 수신하면, 각 다중화기는 요구하는 만큼의 지연을 위해 상응하는 만큼의 지연기를 거친 신호를 출력하여 클럭신호를 지연한다.
이하, 상기와 같이 구성된 본 발명에 따른 파이프라인 시스템의 동적 클럭 제어 방법을 아래에서 도면을 참조하여 설명한다.
도 9는 본 발명의 바람직한 일 실시 예에 따른 동기식 파이프라인 시스템에서 각 스테이지들의 연산시간을 이용하여 클럭 신호를 조정하는 과정을 도시한 흐 름도이다. 상기 도 9를 참조하면 본 발명의 동기식 파이프라인 시스템은 900단계에서 클럭 주파수와 전압을 설정하면, 902단계로 진행하여 각 스테이지에 포함된 PDR을 이용하여 각 스테이지의 경로 지연을 측정하고, 904단계로 진행하여 클러 타이밍 오류가 발생한 스테이지가 존재하는지 확인하고, 확인결과 존재하지 않으면 908단계로 진행하여 현상태를 유지한다.
하지만 904단계의 확인결과 클럭 타이밍 오류가 발생한 스테이지가 존재하면 906단계로 진행하여 오류가 발생한 스테이지의 클럭을 기설정 시간만큼 지연하여 거나 앞당겨 조정하고, 상기 902단계로 돌아간다. 상기 904단계에서 스테이지의 클럭을 조정하는 상세한 과정은 이후 도 10을 참조하여 설명하고자 한다.
도 10은 본 발명의 바람직한 일 실시 예에 따른 동기식 파이프라인 시스템의 클럭 제어 유닛에서 실측을 통해 구한 각 스테이지들의 연산시간을 이용하여 클럭 신호를 조정하는 과정을 도시한 흐름도이다.
상기 도 10을 참조하면 본 발명의 클럭 제어 유닛은 1000단계로 진행하여 실측을 통해 수신하는 앞단의 스테이지와 뒷단의 스테이지 각각의 빠른 경로 지연 신호와 느린 경로 지연신호를 수신하고, 각 스테이지별 빠른 경로 지연 신호와 느린 경로 지연신호를 배타적 논리합하여 각 스테이지가 유효한지 판단하고, 1002단계로 진행하여 클럭 수신시 앞단의 스테이지가 유효한지 확인하고, 확인결과 유효하지 않으면 1004단계로 진행하여 기설정시간만큼 클럭의 지연을 증가시키고, 상기 1000단계로 돌아간다.
상기 1002단계의 확인결과 앞단의 스테이지가 유효하면 상기 클럭 제어 유닛 은 1006단계로 진행하여 클럭 수신시 뒷단의 스테이지가 유효한지 확인하고, 확인결과 유효하지 않으면 1008단계로 진행하여 기설정시간만큼 클럭의 지연을 감소시키고, 상기 1000단계로 돌아간다.
상기 1006단계의 확인결과 앞단의 스테이지가 유효하면 상기 클럭 제어 유닛은 1010단계로 진행하여 클럭주기를 현상태로 유지한다. 상기 1000단계에서 상기 1010단계는 동기식 파이프라인 시스템에 포함된 모든 클럭 제어 유닛이 더이상 클럭 조정이 필요 없을 때까지 반복한다.
그러면 상기 도 4와 같이 4개의 스테이지를 가지는 파이프라인 시스템에서의 클럭을 조정하는 실질적인 예를 설명하고자 한다. 본 발명의 파이프라인 시스템이 최악의 경우(Worst-Case) 4개의 스테이지에서 연산이 수행되는 시간이 각각 7nsec, 8nsec, 9nsec, 6nsec가 될 것으로 추정하고 설계를 완료하여 칩이 제작되었으나 실직적인 칩 제작결과 각 스테이지의 연산 시간이 각각 8nsec, 9nsec, 11nsec, 7nsec로 수행이 된다고 가정한 경우, 목표 동작 주파수인 100MHz를 만족하기 위해서는 세 번째 스테이지의 연산 수행 시간이 문제가 된다. 그러면 문제가 없는 첫번째 스테이지의 출력 레지스터의 조정을 아래에서 도 11을 참조하여 설명하고, 문제가 있는 세번째 스테이지의 출력 레지시터의 조정을 아래에서 도 12를 참조하여 설명하고자 한다.
도 11은 본 발명의 바람직한 일 실시 예에 따른 스테이지의 경로지연이 클럭 주기보다 짧은 경우에 동기식 파이프라인 시스템의 클럭 제어 유닛의 동작의 예를 도시한 도면이다.
상기 도 11을 살펴보면, 상기 도면은 도 4를 참조하여 첫번째 스테이지의 빠른 경로 지연 신호와 느린 경로 지연신호를 시간 다이어그램(Timing Diagram)으로 표시하고있다. 첫번째 스테이지의 느린 경로 지연은 8ns로서, 클럭의 주기인 10ns를 넘지 않으므로 지연을 클럭주기로 인한 시간 오류가 발생하지 않는 경우이다.
이 경우, 빠른 경로 지연 신호와 느린 경로 지연 신호를 배타적 논리합한 결과가 유효 검출(Valid Detection) 신호인데, Clock2가 발생할 때(Positive Edge) 이 유효 검출 신호가 항상 유효함을 뜻하는 높은(High) 값을 갖는다. 따라서 별도의 클럭 지연을 하지 않아도 되므로, 현 상태의 클럭주기를 유지한다.
도 12는 본 발명의 바람직한 일 실시 예에 따른 스테이지의 경로지연이 클럭 주기보다 긴 경우에 동기식 파이프라인 시스템의 클럭 제어 유닛의 동작의 예를 도시한 도면이다. 상기 도 12를 살펴보면, 문제가 발생한 세번째 스테이지의 빠른 경로 지연 신호와 느린 경로 지연신호를 시간 다이어그램(Timing Diagram)으로 표시하고있다. 예로서 설명하고 있는 세번째 스테이지는 느린 경로 지연이 11ns로서, 클럭 주기인 10ns보다 크므로 문제가 발생한다.
도면에서 보는 봐와 같이 세번째 스테이지의 유효 검출 구간이 clock4의 클럭 발생(positive edge)과 어긋나 있는 것을 확인할 수 있다. 이 경우, Clock4의 Positive Edge에서 유효 검출 신호가 유효하지 않음을 뜻하는 낮은(LOW) 값을 가지게 된다. 이 경우 상기 도 7에서 지연 카운터(720)를 하나 증가한 것으로 볼 수 있으며 이는 Clock4의 기설정시간만큼 지연하여 제공함을 뜻한다. 이러한 지연은 유효 검출 신호가 유효함을 뜻하는 높은(High) 값을 가질 때까지 반복한다.
분명히, 청구항들의 범위내에 있으면서 이러한 실시 예들을 변형할 수 있는 많은 방식들이 있다. 다시 말하면, 이하 청구항들의 범위를 벗어남 없이 본 발명을 실시할 수 있는 많은 다른 방식들이 있을 수 있는 것이다.
도 1은 종래 기술에 따른 동기식 디지털 시스템의 구성을 도시한 도면,
도 2는 종래 기술에 따른 파이프라인 구조를 가지는 동기식 디지털 시스템인 동기식 파이프라인 시스템의 구성을 도시한 도면,
도 3은 종래 기술에 따른 클럭의 지연을 통해 스테이지간의 연산시간 차이를 줄이는 동기식 파이프라인 시스템의 구성을 도시한 도면,
도 4는 본 발명의 바람직한 일 실시 예에 따른 실측을 통해 구한 각 스테이지들의 연산시간을 이용하여 클럭 신호를 조정하여 동기식 파이프라인 시스템의 구성을 도시한 도면,
도 5는 본 발명의 바람직한 일 실시 예에 따른 동기식 파이프라인 시스템에서 경로 지연 복사회로의 구성을 도시한 도면,
도 6은 본 발명의 바람직한 일 실시 예에 따른 동기식 파이프라인 시스템에서 클럭 제어 유닛의 구성을 도시한 도면,
도 7은 본 발명의 바람직한 일 실시 예에 따른 클럭 제어 유닛에서 클럭 지연 제어부의 구성을 도시한 도면,
도 8은 본 발명의 바람직한 일 실시 예에 따른 클럭 제어 유닛에서 지연 논리 회로의 구성을 도시한 도면,
도 9는 본 발명의 바람직한 일 실시 예에 따른 동기식 파이프라인 시스템에서 각 스테이지들의 연산시간을 이용하여 클럭 신호를 조정하는 과정을 도시한 흐름도,
도 10은 본 발명의 바람직한 일 실시 예에 따른 동기식 파이프라인 시스템의 클럭 제어 유닛에서 실측을 통해 구한 각 스테이지들의 연산시간을 이용하여 클럭 신호를 조정하는 과정을 도시한 흐름도,
도 11은 본 발명의 바람직한 일 실시 예에 따른 스테이지의 경로지연이 클럭 주기보다 짧은 경우에 동기식 파이프라인 시스템의 클럭 제어 유닛의 동작의 예를 도시한 도면 및,
도 12는 본 발명의 바람직한 일 실시 예에 따른 스테이지의 경로지연이 클럭 주기보다 긴 경우에 동기식 파이프라인 시스템의 클럭 제어 유닛의 동작의 예를 도시한 도면이다.

Claims (12)

  1. 동적으로 클럭을 제어하는 파이프라인 시스템에 있어서,
    기설정 주기로 클럭신호를 출력하는 클럭 발생부와,
    각 스테이지에 추가되어 각 스테이지의 연산속도를 출력하는 경로 지연 복사회로와,
    상기 경로 지연 복사회로로부터 수신하는 각 스테이지의 연산속도를 이용하여 상기 클럭 발생부로부터 수신하여 스테이지와 스테이지 사이의 레지스터에 제공하는 클럭의 지연 정도를 조정하는 클럭 제어 유닛을 포함함을 특징으로 하는 파이프라인 시스템.
  2. 제 1항에 있어서,
    상기 경로 지연 복사회로는,
    해당 스테이지의 경로 중에서 가장 빠른 경로와 가장 느린 경로와 동일한 회로를 그대로 복사하여 포함함을 특징으로 하는 파이프라인 시스템.
  3. 제 2항에 있어서,
    상기 경로 지연 복사회로는,
    동일한 클럭에 대한 두 경로의 출력 값이 서로 반대의 값을 가짐을 특징으로 하는 파이프라인 시스템.
  4. 제 1항에 있어서,
    상기 클럭 제어 유닛은,
    앞단의 스테이지로부터 빠른 경로 지연 신호와 느린 경로 지연 신호를 수신하여 클럭신호에 대해 유효한가 여부를 확인하여 유효하지 않으면 상기 앞단의 스테이지의 출력 레지스터에 제공하는 클럭을 기설정시간만큼 지연하도록 제어하는 클럭 지연 제어부와,
    상기 클럭 지연 제어부의 제어에 따라 수신하는 클럭신호를 지연하여 출력하는 지연 논리회로를 포함함을 특징으로 하는 파이프라인 시스템.
  5. 제 4항에 있어서,
    상기 클럭 지연 제어부는,
    상기 앞단의 스테이지가 유효하면, 뒷단의 스테이지로부터 빠른 경로 지연 신호와 느린 경로 지연 신호를 수신하여 클럭신호에 대해 유효한가 여부를 확인하여 유효하지 않으면, 상기 뒷단의 스테이지의 입력 레지스터에 제공하는 클럭을 기설정시간만큼 앞당겨 지연을 감소하도록 제어함을 특징으로 하는 파이프라인 시스 템.
  6. 제 4항에 있어서,
    상기 클럭 지연 제어부는,
    클럭이 발생할 때, 수신하는 상기 빠른 경로 지연 신호와 상기 느린 경로 지연 신호를 배타적 논리합한 결과가 '1'이면 해당 스테이지가 유효하다고 판단함을 특징으로 하는 파이프라인 시스템.
  7. 파이프라인 시스템에서 동적으로 클럭을 제어하는 방법에 있어서,
    파이프라인 시스템의 클럭 주기를 확인하는 과정과,
    상기 파이프라인 시스템에 포함된 각 스테이지들의 연산시간을 확인하는 과정과,
    상기 클럭 주기보다 큰 연산시간을 가지는 스테이지가 존재하면, 각 스테이지의 연산속도를 고려하여 스테이지와 스테이지 사이의 레지스터에 제공하는 클럭의 지연 정도를 조정하는 과정을 포함함을 특징으로 하는 동적으로 클럭을 제어하는 방법.
  8. 제 7항에 있어서,
    각 스테이지들의 연산시간을 확인하는 과정은,
    해당 스테이지의 경로 중에서 가장 빠른 경로와 가장 느린 경로와 동일한 회로를 그대로 복사하여 구성한 경로 지연 복사회로를 통해 빠른 경로 지연 신호와 느린 경로 지연 신호를 수신하여 확인함을 특징으로 하는 동적으로 클럭을 제어하는 방법.
  9. 제 8항에 있어서,
    동일한 클럭에 대한 두 경로의 출력 값인 상기 빠른 경로 지연 신호와 상기 느린 경로 지연 신호는 서로 반대의 값을 가짐을 특징으로 하는 동적으로 클럭을 제어하는 방법.
  10. 제 7항에 있어서,
    클럭의 지연 정도를 조정하는 과정은,
    앞단의 스테이지로부터 빠른 경로 지연 신호와 느린 경로 지연 신호를 수신하여 클럭신호에 대해 유효한가 여부를 확인하는 과정과,
    확인결과 유효하지 않으면 상기 앞단의 스테이지의 출력 레지스터에 제공하는 클럭을 기설정시간만큼 지연하는 과정을 포함함을 특징으로 하는 동적으로 클럭 을 제어하는 방법.
  11. 제 10항에 있어서,
    클럭의 지연 정도를 조정하는 과정은,
    확인결과 상기 앞단의 스테이지가 유효하면, 뒷단의 스테이지로부터 빠른 경로 지연 신호와 느린 경로 지연 신호를 수신하여 클럭신호에 대해 유효한가 여부를 확인하는 과정과,
    상기 뒷단의 스테이지가 유효하지 않으면, 상기 뒷단의 스테이지의 입력 레지스터에 제공하는 클럭을 기설정시간만큼 앞당겨 지연을 감소하는 과정을 더 포함함을 특징으로 하는 동적으로 클럭을 제어하는 방법.
  12. 제 11항에 있어서,
    상기 클럭신호에 대해 유효한가 여부를 확인하는 과정은,
    클럭이 발생할 때, 수신하는 상기 빠른 경로 지연 신호와 상기 느린 경로 지연 신호를 배타적 논리합한 결과가 '1'이면 해당 스테이지가 유효하다고 판단함을 특징으로 하는 동적으로 클럭을 제어하는 방법.
KR1020070080487A 2007-08-10 2007-08-10 파이프라인 시스템의 동적 클럭 제어 장치 및 방법 KR100887238B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070080487A KR100887238B1 (ko) 2007-08-10 2007-08-10 파이프라인 시스템의 동적 클럭 제어 장치 및 방법
US12/188,481 US8122276B2 (en) 2007-08-10 2008-08-08 Apparatus and method for dynamic clock control in a pipeline system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070080487A KR100887238B1 (ko) 2007-08-10 2007-08-10 파이프라인 시스템의 동적 클럭 제어 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20090016090A true KR20090016090A (ko) 2009-02-13
KR100887238B1 KR100887238B1 (ko) 2009-03-06

Family

ID=40347596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070080487A KR100887238B1 (ko) 2007-08-10 2007-08-10 파이프라인 시스템의 동적 클럭 제어 장치 및 방법

Country Status (2)

Country Link
US (1) US8122276B2 (ko)
KR (1) KR100887238B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8154335B2 (en) * 2009-09-18 2012-04-10 Stmicroelectronics Pvt. Ltd. Fail safe adaptive voltage/frequency system
JP5836585B2 (ja) * 2010-02-09 2015-12-24 キヤノン株式会社 データ処理装置及びその制御方法、プログラム
JP6356970B2 (ja) * 2014-01-17 2018-07-11 キヤノン株式会社 記録装置、及び記録装置の制御方法
US9660650B1 (en) * 2014-03-13 2017-05-23 Altera Corporation Integrated circuits with improved register circuitry
CN108073831B (zh) * 2016-11-15 2020-07-24 华为技术有限公司 一种检测安全芯片工作状态的方法及检测电路
KR102592932B1 (ko) 2018-09-19 2023-10-24 에스케이하이닉스 주식회사 고속 데이터 리드아웃 장치 및 그를 이용한 씨모스 이미지 센서
US11061836B2 (en) * 2019-06-21 2021-07-13 Micron Technology, Inc. Wave pipeline including synchronous stage
US11132201B2 (en) * 2019-12-23 2021-09-28 Intel Corporation System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit
CN114765455A (zh) * 2021-01-14 2022-07-19 深圳比特微电子科技有限公司 处理器和计算系统
WO2023129546A1 (en) * 2021-12-27 2023-07-06 SambaNova Systems, Inc. Compiler-based input synchronization for processor with variant stage latencies

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4231703C2 (de) * 1992-09-22 1996-01-11 Siemens Ag Mikroprozessor mit CPU und EEPROM
US5572719A (en) 1994-11-22 1996-11-05 Advanced Micro Devices Clock control system for microprocessors including a delay sensing circuit
DE69626609T2 (de) 1995-06-27 2003-12-04 Koninkl Philips Electronics Nv Pipeline-datenverarbeitungsschaltung
US6370676B1 (en) * 1999-05-27 2002-04-09 International Business Machines Corporation On-demand process sorting method and apparatus
IL131109A (en) * 1999-07-26 2003-07-31 Eci Telecom Ltd Method and apparatus for compensating the delay of high-speed data, propagating via a printed data-bus
KR100299183B1 (ko) * 1999-09-10 2001-11-07 윤종용 고속 파이프 라인장치 및 그 제어신호 발생방법
US7233638B2 (en) * 2001-01-31 2007-06-19 Rohm Co., Ltd. Sampling clock generator circuit and data receiver using the same
US7017064B2 (en) * 2001-05-09 2006-03-21 Mosaid Technologies, Inc. Calculating apparatus having a plurality of stages
US7137013B2 (en) * 2002-01-07 2006-11-14 International Business Machines Corporation Method and apparatus for dynamic power management in an execution unit using pipeline wave flow control
US7000233B2 (en) 2003-04-21 2006-02-14 International Business Machines Corporation Simultaneous multithread processor with result data delay path to adjust pipeline length for input to respective thread
US7373091B2 (en) * 2003-09-25 2008-05-13 Lucent Technologies Inc. Multicasting optical switch fabric and method of detection based on novel heterodyne receiver
US7076682B2 (en) * 2004-05-04 2006-07-11 International Business Machines Corp. Synchronous pipeline with normally transparent pipeline stages
US7421606B2 (en) * 2004-05-18 2008-09-02 Micron Technology, Inc. DLL phase detection using advanced phase equalization
TWI259659B (en) * 2005-05-13 2006-08-01 Ind Tech Res Inst Pipelined datapath with dynamically reconfigurable pipeline stages
US7245172B2 (en) * 2005-11-08 2007-07-17 International Business Machines Corporation Level shifter apparatus and method for minimizing duty cycle distortion
KR100850285B1 (ko) * 2007-01-11 2008-08-04 삼성전자주식회사 지연고정루프회로 및 그의 제어방법
US7724056B2 (en) * 2007-02-08 2010-05-25 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device operating in synchronism with clock and method for controlling duty of clock
US7864625B2 (en) * 2008-10-02 2011-01-04 International Business Machines Corporation Optimizing SRAM performance over extended voltage or process range using self-timed calibration of local clock generator

Also Published As

Publication number Publication date
US20090044038A1 (en) 2009-02-12
KR100887238B1 (ko) 2009-03-06
US8122276B2 (en) 2012-02-21

Similar Documents

Publication Publication Date Title
KR100887238B1 (ko) 파이프라인 시스템의 동적 클럭 제어 장치 및 방법
CN109074332B (zh) 用于控制输入信号路径上的等待时间的设备
US5272390A (en) Method and apparatus for clock skew reduction through absolute delay regulation
US7622961B2 (en) Method and apparatus for late timing transition detection
US8941430B2 (en) Timing calibration for on-chip interconnect
US20070168848A1 (en) Error-detection flip-flop
US20080252339A1 (en) Method and apparatus for generating synchronous clock signals from a common clock signal
EP3923472A1 (en) Timing error detection and correction circuit
US8539413B1 (en) Frequency optimization using useful skew timing
US7831856B1 (en) Detection of timing errors in programmable logic devices
Jin et al. In situ error detection techniques in ultralow voltage pipelines: Analysis and optimizations
JP2002007322A (ja) 位相調整制御方法及び情報処理装置
US8648650B2 (en) Integrated circuit with dynamic power supply control
US8689159B1 (en) Redundancy for on-chip interconnect
Ferringer et al. VLSI implementation of a fault-tolerant distributed clock generation
US7302657B2 (en) Optimization of the design of a synchronous digital circuit
Nguyen et al. A novel asynchronous first-in-first-out adapting to multi-synchronous network-on-chips
WO2017199790A1 (ja) 半導体集積回路
Ryu et al. Variation-tolerant elastic clock scheme for low-voltage operations
Tarawneh et al. An RTL method for hiding clock domain crossing latency
Teehan et al. Towards reliable 5Gbps wave-pipelined and 3Gbps surfing interconnect in 65nm FPGAs
US9094183B2 (en) Circuits for receiving data
US6566924B2 (en) Parallel push algorithm detecting constraints to minimize clock skew
EP1308862B1 (en) Optimization of the design of a synchronous digital circuit
US7480607B2 (en) Circuit design verification

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160128

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180130

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee