KR100458024B1 - 분할 동기 인터페이스를 위한 조정가능 클럭을 갖는데이터 처리 시스템 - Google Patents

분할 동기 인터페이스를 위한 조정가능 클럭을 갖는데이터 처리 시스템 Download PDF

Info

Publication number
KR100458024B1
KR100458024B1 KR10-2001-0008957A KR20010008957A KR100458024B1 KR 100458024 B1 KR100458024 B1 KR 100458024B1 KR 20010008957 A KR20010008957 A KR 20010008957A KR 100458024 B1 KR100458024 B1 KR 100458024B1
Authority
KR
South Korea
Prior art keywords
clock
controllers
register
processing system
data processing
Prior art date
Application number
KR10-2001-0008957A
Other languages
English (en)
Other versions
KR20010096571A (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20010096571A publication Critical patent/KR20010096571A/ko
Application granted granted Critical
Publication of KR100458024B1 publication Critical patent/KR100458024B1/ko

Links

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/10Distribution of clock signals, e.g. skew
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Electronic Switches (AREA)

Abstract

동기 인터페이스 및 분할된 클럭 및 I/O 논리 제어기 구조를 갖는 데이터 처리 시스템(20)이 제공된다. 시스템은, 각각이 복수의 I/O 논리 제어기(24)를 갖는 복수의 처리 구성 요소들(22)을 포함한다. 또한, 시스템은 클럭 신호를 제공하기 위한 복수의 클럭 소스들(30), 및 복수의 클럭 소스 및 I/O 논리 제어기 중 적어도 2개의 논리 제어기에 접속된 복수의 멀티플렉서들(36)을 포함한다. 클럭 신호들은 주파수 또는 스큐(skew), 즉, 시간 지연이 서로 다르다. 복수의 멀티플렉서에 접속된 클럭 선택 레지스터들의 적당한 제어에 의해, 클럭 소스로부터의 복수의 클럭 신호들 중 하나가 주어진 멀티플렉서에 접속된 2개 이상의 I/O 논리 제어기에 제공될 수 있다. 이는 서로 다른 그룹의 I/O 논리 제어기가 서로 다른 클럭 신호를 병렬로 수신하는 것을 허용한다. 결과적으로, 시스템의 신호 인터페이스가 개별의 클럭에 의해 각각 제어되는 다수의 그룹으로 분할된다.

Description

분할 동기 인터페이스를 위한 조정가능 클럭을 갖는 데이터 처리 시스템{DATA PROCESSING SYSTEM WITH ADJUSTABLE CLOCKS FOR PARTITIONED SYNCHRONOUS INTERFACES}
본 발명은 데이터 처리 시스템에 관한 것으로, 보다 상세하게는 신호 인터페이스를 개별 클럭에 의해 각각 제어되는 다수의 그룹으로 분할하는 장치 및 방법에 관한 것이다.
공지된 데이터 처리 시스템은 통상 다른 구성 요소와의 통신을 용이하게 하기 위해 규정된 신호 인터페이스 및 프로토콜을 갖는 하나 이상의 처리 구성 요소들을 포함한다. 대부분의 경우, 인터페이스는 단일의 고정된 동기 클럭에 의해 제어된다. 단일 클럭은 설계를 단순하지만, 타이밍 문제들의 분리, 에러로부터의 회복, 전력 관리 및 특정 인터페이스를 다른 인터페이스와는 다른 주파수로 동작시키는 능력을 제한한다.
데이터 처리 시스템에서 다수의 클럭을 사용하는 것이 공지되어 있다. 예를 들면, 스워보다(Swoboda)에게 허여된 미국 특허 제5,790,609호는, 하나의 멀티플렉서에 보내지는 다수의 클럭 입력들을 특징으로 하는 데이터 처리 시스템을 개시하고 있다. 예를 들어, 전력의 절약을 위해, 데이터 처리 시스템을 보다 저속으로 동작시키는 것이 바람직한 경우, 멀티플렉서가 그 클럭 출력을 보다 빠른 클럭 입력에서 보다 느린 클럭 입력으로 변경하도록 하는 명령들이 발생된다. 그러나, 불행히도, 서로 다른 선택가능한 주파수들에서 단일의 클럭 출력만을 제공한다는 것은, 데이터 처리 시스템 내에서 특정한 입/출력 신호를 하나의 주파수 또는 스큐로 제공하고, 다른 입/출력 신호를 상이한 다른 주파수 또는 스큐로 제공할 필요성에 대해서는 역점을 두고 있지 않다는 것을 의미한다.
본 발명의 일 양태는, 복수의 처리 구성 요소들을 포함하며, 그 각각은 처리 구성 요소들 중 적어도 하나의 다른 구성 요소들에 접속되는 데이터 처리 시스템이다. 이 시스템은 또한 클럭 신호를 각각 제공하는 복수의 클럭 소스, 및 각각의 처리 구성 요소와 관련된 복수의 제어기들을 포함한다. 또한, 이 시스템은 클럭 선택 신호를 각각 제공하는 복수의 클럭 선택 레지스터들, 및 각각이 복수의 클럭 소스들, 복수의 제어기들 중 2개 이상의 제어기, 및 클럭 선택 레지스터들 중 하나에 접속된 복수의 멀티플렉서를 포함한다. 멀티플렉서들의 각각은, 하나의 클럭 선택 레지스터에 의해 제공된 클럭 선택 신호에 응답하여, 클럭 신호들 중 하나를 출력으로서 복수의 제어기들 중 두개 이상의 제어기들에 제공한다.
본 발명의 다른 양태는 복수의 처리 구성 요소들 및 이 처리 구성 요소들과 관련된 복수의 제어기들을 구비한 데이터 처리 시스템에서의 클럭 신호 제공 방법이다. 이 방법에서의 제1 단계로서, 복수의 서로 다른 클럭 신호들이 제공된다. 다음으로, 복수의 클럭 신호들 중 하나가 복수의 제어기들의 각각에 대해 선택된다. 최종적으로, 복수의 클럭 신호들 중 선택된 신호들이 복수의 제어기들에 병렬로 제공된다.
도 1은 본 발명의 데이터 처리 시스템의 블럭도.
도 2는 도 1의 시스템의 동작을 설명하는 타이밍도로서, 여기서 데이터는 어드레스 버스 및 제어 버스의 주파수의 두배로 클럭킹된 데이터 버스에 의해 기록된다.
도 3은 WRCLK 명령에 응답하여 시간 경과에 따른 각종 장치의 클럭 주파수의 변화를 도시하는 타이밍도.
도 4는 도 1의 시스템의 동작을 설명하는 타이밍도로서, 여기서 데이터는 다른 인터페이스 신호의 주파수의 절반인 주파수에서 동작하는 데이터 버스 바이트 0에 의해 기록된다.
<도면의 주요 부분에 대한 부호의 설명>
20 : 시스템
22 : 처리 구성 요소
24 : 논리 제어기
25 : 데이터 버스
26 : 크로스-바 스위치
30 : 클럭 소스
36 : 멀티플렉서
38 : 통신선
40 : 클럭 선택 레지스터
50 : 아크콤프 레지스터(archcomp register)
도 1을 참조하면, 본 발명은 동기 인터페이스를 갖는 데이터 처리 시스템(20)이다. 시스템(20)은 마더보드 등의 상위 어셈블리의 형태이거나, 다수의 논리 디바이스들을 포함하는 단일의 반도체 칩일 수 있다.
시스템(20)은 시스템의 동기 인터페이스에 의해 제어되는 메모리, 논리 회로, 주변 장치 및 다른 장치 등의 복수의 처리 구성 요소들(22)을 포함한다. 시스템(20)이 상위 어셈블리인 경우, 처리 구성 요소(22)는 통상 마이크로프로세서 칩 및 메모리 칩 등의 별개의 반도체 칩으로 구성된다.
각각의 처리 장치(22)에 대한 인터페이스 신호, 예컨대, 입력, 출력, BIDI 신호들은, 각각이 1 내지 n 비트를 포함하는 복수의 그룹으로 분할되는데, 여기서 n은 인터페이스 신호 내의 총 비트 수이다. 구성 요소들(22)은 복수의 논리 제어기들(24)을 포함하며, 각각의 인터페이스 신호 그룹에 대해 하나의 논리 제어기가 할당된다. 예를 들면, 제어기(24a)는 처리 장치(22a)의 그룹 0에 제공되고, 제어기(24b)는 처리 장치(22b)의 그룹 0에 제공되고, 제어기(24c)는 처리 장치(22a)의 그룹 1에 제공되며, 제어기(24d)는 처리 장치(22b)의 그룹 1에 제공된다.
제어기(24)는, 통상적으로는 구성 요소들(22)의 일부이지만, 구성 요소들(22)에 접속된 별개의 장치일 수 있다. 제어기들(24)은 이들이 관련된 구성 요소(22)에 대한 데이터의 I/O를 제어하는데 필요한 논리 회로를 포함한다. 주어진 처리 구성(22)에 대한 각각의 제어기(24)는 데이터 버스(25)를 통해 다른 처리 장치(22)의 제어기에 데이터를 제공한다. 예를 들면, 제어기(24a)는 데이터 버스(25a)를 통해 제어기(24b)에 데이터를 제공한다. 구성 요소들(22)은 데이터 버스(25)를 통해서 서로 접속된다.
인터페이스 신호를 적당한 그룹으로 분할하고 제어기(24)의 수 및 제어기가 접속되는 멀티플렉서들(36)의 수를 결정하는 몇 가지 방법이 있다. 각각의 인터페이스 그룹은, 예를 들면, 마이크로프로세서, 메모리 칩 또는 다른 디바이스의 핀 또는 핀들일 수 있다. 이러한 핀(들)은 관련된 제어기(24)에 배선될 수 있다. 대안으로, 이러한 핀, 또는 시스템 인터페이스 신호 중의 임의의 선택된 바이트, 예컨대, 바이트 0 및 1이 제1 제어기(24)에 할당되고, 다른 바이트, 예컨대, 2 내지 7이 제2 제어기에 할당될 수 있다. 통상적으로, 각 바이트는 8 비트들, 즉 8개의 핀들을 식별한다. 이러한 할당은, 주어진 제어기(24)를 관련 핀에 배선하거나 주어진 처리 구성 요소(22)의 제어기(24)에 접속된 선택적인 크로스-바(cross-bar) 스위치(26)를 이용하여 성취된다. 크로스-바 스위치(26)는 이하에서 더욱 상세하게 설명한다.
시스템(20)은 또한 복수의 클럭 소스들(30)을 포함하며, 이들 각각은 다른 클럭 소스들로부터 제공된 클럭 신호들과는 다른 클럭 신호 CLK를 제공한다. 클럭 신호 CLK는 주파수 또는 스큐, 즉, 시간 지연이 다를 수 있다. 예를 들면, 클럭 소스(30a)는 클럭 소스(30b)에 의해 제공되는 클럭 신호 CLK1의 주파수의 절반의 클럭 신호 CLK0을 제공할 수 있다. 대안으로, 클럭 소스(30a)는 클럭 소스(30b)로부터의 클럭 신호 CLK1과 동일한 주파수이나, 클럭 신호 CLK1에 대하여, 예컨대, 100 피코초만큼 시간 지연된 클럭 신호 CLK0를 제공할 수 있다.
시스템(20)은 또한 각 멀티플렉서가 모든 클럭 소스들(30)에 접속된 복수의 멀티플렉서들(36)을 포함한다. 따라서, 모든 클럭 소스(30)로부터의 클럭 신호 CLK가 멀티플렉서(36)에 입력된다. 각 멀티플렉서(36)의 출력은 통신선(38)을 통해 2개 이상의 제어기(24)에 접속된다. 예를 들면, 멀티플렉서(36a)의 출력은 통신선(38a)을 통해 제어기(24a 및 24b)에 제공된다. 어떤 경우에는, 주어진 멀티플렉서(36)의 출력을 3개 이상의 제어기들(24)에 접속하는 것이 바람직한 경우가 있다. 주어진 멀티플렉서(36)에 접속된 제어기(24)의 개수에 상관없이, 각 제어기는 하나의 멀티플렉서에만 접속된다.
각각의 멀티플렉서(36)의 동작은 별도의 클럭 선택 레지스터(40)에 의해 제어된다. 시스템(20)은 각 제어기(24)의 내부에 (하나의 제어기마다 한 개씩) 또는 제어기(24)의 외부에 (각 I/O 그룹마다 한 개씩) 클럭 선택 레지스터(40)를 포함할 수 있다. 이 경우, 클럭 선택 레지스터(40)는 주어진 멀티플렉서(36)에 의해 이용될 클럭 소스(30)들 중 하나를 선택한다. 예를 들면, 클럭 선택 레지스터(40a)는 멀티플렉서(36a)의 출력으로서 클럭 소스(30a)로부터의 클럭 신호 CLK0를 선택할 수 있고, 클럭 선택 레지스터(40b)는 멀티플렉서(36b)의 출력으로서 클럭 신호 CLK1을 선택할 수 있다.
클럭 선택 레지스터(40)는, 클럭 선택 레지스터가 접속된 멀티플렉서(36)에 접속된 제어기(24)에 접속된 처리 구성 요소(22)의 아키텍처의 확장 기능 명령 WRCLK를 이용하여 프로그램된다. WRCLK 명령은 2개의 연산자를 갖는데, 제1 오퍼랜드는 어떤 그룹이 선택되는지를 식별하고, 제2 오퍼랜드는 그 그룹에 대한 클럭을 선택한다. WRCLK 명령이 실행되면, WRCLK 명령은 제1 버스 사이클에서, 멀티플렉서(36)에 입력되는 클럭 소스(30)들 중 어떤 클럭 소스가 멀티플렉서로부터의 출력으로서 제공되어야 하는지를 식별하는 2진값이 클럭 선택 레지스터(40) 내에 기록된다. 제2 버스 사이클에서는, 클럭 선택 레지스터(40) 내의 새로운 값이 멀티플렉서(36)로 전달되고, 이에 의해 소스 클럭들(30) 중 어떤 클럭 소스가 선택되었는지를 판정된다. 다른 명령 RDCLK는 특정 클럭 선택 레지스터(40)의 내용을 처리 장치(22)가 판독할 수 있도록 한다. RDCLK 명령은 또한 각각의 처리 구성 요소(22)의 아키텍처의 확장 기능이다.
명령 WRCLK 및 RDCLK는 주어진 제어기(24), 즉, 주어진 신호 인터페이스 그룹에 제공되는 클럭 신호 CLK를 변경하도록 임의의 시점에서 실행될 수 있다. 따라서, 보다 상세하게 후술하겠지만, 1비트 만큼 좁은 인터페이스, 전체 신호 인터페이스만큼 넓은 인터페이스가 제어될 수 있다.
각 클럭 선택 레지스터(40)의 내용은 또한 선(42)을 통해 클럭 선택 레지스터가 접속된 멀티플렉서(36)에 접속된 제어기(24)에 제공된다. 예를 들면, 클럭 선택 레지스터(40a)의 출력은 선(42a)을 통해 멀티플렉서(36a)에 접속된 제어기(24a 및 24b)에 제공된다. 클럭 선택 레지스터(40)는, 제어기가 수신하고 있는 특정한 클럭 신호의 관점에서 시스템 인터페이스 프로토콜에 따라 제어기의 내부 동작을 조정할 수 있도록, 멀티플렉서 자체 뿐만 아니라, 클럭 선택 레지스터가 접속된 멀티플렉서에 접속된 제어기(24)에도 클럭 선택 레지스터의 출력을 제공한다.
시스템(20)은 또한 양호하게는 아크콤프 레지스터(archcomp register; 50)를 포함한다. 이 레지스터는 통상적으로 1비트로 표시되는 ARCHCOMP 명령을 이용하여 프로그램된다. ARCHCOMP 명령은, 다른 주파수 또는 스큐의 클럭 신호 CLK가 제어기(24)에 제공되는 경우, 제어기(24) 및 이에 따라 그 제어기가 관련된 인터페이스 그룹에 대해 시스템(20)의 아키텍처된 인터페이스 프로토콜을 유지해야 하는지 여부를 말해준다. 예를 들면, 시스템(20)이 제조 구성 요소의 테스트를 위해 동작하고 있는 경우, 아키텍처된 인터페이스 프로토콜을 준수할 필요가 없거나 준수하는 것이 바람직하지 않을 수 있다.
한편, 시스템(20)이 마더보드 상에 집적된 프로세서 칩과 같이, 그 아키텍쳐 사양에 의존하는 상위 집적 회로에 이용되는 경우, 프로토콜을 유지할 필요가 있을 것이다. 클럭 선택 레지스터(40)와 같이, 아크콤프 레지스터(50)는 각 I/O 제어기(24)의 내부 또는 제어기의 외부에 구현될 수 있다. 아크콤프 레지스터(50)가 각 제어기(24)마다 제공되도록 구현되면, 그 ARCHCOMP 명령은 아크콤프 레지스터가 접속된 제어기(24)에 접속된 처리 장치(22)의 명령 세트에 부가된다.
ARCHCOMP 명령은 WRCLK 명령과 유사한 방식으로 실행된다. 명령 디코딩 후에, 처리 장치(22)는 현재 진행중인 버스 사이클이 완료하기를 대기한 다음, 2개의 버스 사이클로 ARCHCOMP를 실행한다. 이들 2개의 사이클로는, 새로운 값이 아크콤프 레지스터(50) 내에 기록되는 ARCHCOMP BUS CYCLE 1과, 새로운 값이 I/O 제어기(24)에 전달되어 이 제어기의 동작을 변경시키는 ARCHCOMP BUS CYCLE 2가 있다. I/O 제어기(24)의 동작은 ARCHCOMP BUS CYCLE 2의 종료 시까지 변화되지 않는다.
도 1 및 도 2를 참조하면, 시스템(20)이 데이터를 처리 장치(22a)로부터 처리 장치(22b)에 전송하는데 이용될 수 있는 방식의 예가 제공되어 있다. 이 예에서는, 단일 클럭 신호를 이용하였을 때보다도 시스템(20)의 분할된 클럭 신호를 이용하였을 때 데이터가 더 빠르게 송출된다. 클럭 소스(30b)는, 클럭 소스(30a)에 의해 제공되는 파형(102)으로 식별되는 클럭 신호 CLK0의 두배인 주파수를 갖는, 도 2의 파형(100)으로 식별되는 클럭 신호 CLK1를 제공한다고 가정한다. 또한, 클럭 신호 CLK1은 시스템(20)의 데이터 버스 및 BRDY 신호(이 신호는 데이터의 수신을 확인 통지함)를 위해 제어기(24)에 접속된 멀티플렉서(36)로부터 출력된다고 가정한다. 또한, 클럭 신호 CLK0는 시스템(20)의 어드레스 버스, ADS# 신호 (이 신호는 새로운 버스 사이클을 개시함) 및 제어 버스를 위해 제어기(24)에 접속된 다른 멀티플렉서(36)로부터 출력된다고 가정한다.
데이터 전송은 다음과 같이 진행된다. 파형(102)의 리딩 에지(104)에서, 구성 요소(22a)가 제1 버스 사이클을 개시하는데, 여기서, 장치(22b)에 전달되는 구성 요소(22a)의 데이터에 대한 어드레스 및 제어 버스 정보가 제공된다. 이 데이터에 대한 요구 수신 후에, 파형(100)의 리딩 에지(106)에서, 요구된 데이터가 구성 요소(22a)에 의해 제공된다. 데이터 버스에 제공된 클럭 신호 CLK1은 어드레스 및 제어 버스에 제공된 클럭 신호 CLK0의 주파수의 두배의 주파수에서 동작하기 때문에, 그 구성 요소(22b)는 그 데이터를 파형(102)의 다음 사이클의 리딩 에지(108)에 의해 수신할 수 있고, 이에 의해, 제1 버스 사이클이 종료한다. 그 데이터 버스가 어드레스 버스의 주파수의 두배의 주파수로 클럭킹되지 않으면, 데이터는, 파형(102)의 제3 사이클의 리딩 에지(110)까지 장치(22b)에 의해 수신되지 않을 것이다. 이는 상당한 성능 향상을 제공한다.
반도체 칩 제조시의 수율 변동에 의해 제공된 칩이 저속류의 카테고리로 강등되는 경우가 종종 있다. 많은 경우, 단 하나 또는 2개의 임계 경로만이 칩의 다른 부분보다도 더 늦게 동작한다. 본 발명은, 인터페이스를 그룹들로 분리하고 임계 신호들이 다른 신호들보다 느리게 동작하게 하거나 동일한 속도로 동작하게 하지만 더 늦은 스큐를 갖도록 하는 매카니즘을 제공함으로써, 이러한 칩을 고속의 분류 카테고리로 승격시켜 그들의 가치를 높이는데 이용될 수 있다. 이는 임계 신호들을 별개의 그룹들에 넣고, WRCLK 명령을 이용하여 칩 상의 다른 I/O 신호에 이용되는 것과는 다른 클럭 소스(30)를 선택함으로써 성취된다. 이러한 개념은, 마더보드 상의 타이밍 문제를 디버깅하는 데에도 적용될 수 있으며, 여기서 주파수는 모두 동일하나 스큐가 다른 클럭 소스들 중에서 상이한 클럭 소스(30)를 선택함으로써 구성 요소의 핀에서의 클럭 신호의 도달 시간이 조정된다.도 1 및 도 3으로 돌아가, WRCLK 및 RDCLK 클럭 신호들의 실행에 의해 클럭 선택 레지스터(40)로 보내지는 명령들을 결정하고, 따라서 멀티플렉서(36)에 입력되는 클럭 소스들(30)로부터의 신호 CLK중 어떤 클럭 신호가 멀티플렉서로부터의 출력으로서 선택되어 제공되는 방식에 대해 설명한다. WRCLK 명령은 명령 디코딩시에 처리 구성 요소(22)에 의해 검출된다. 따라서, 버스 사이클(200)에서, 구성 요소(22)는 WRCLK 명령을 디코딩한다. 다음으로, 사이클(202)에서, 구성 요소(22)는 현재 진행중인 모든 버스 사이클들이 종료하기를 대기한다. 도 3에 도시된 단일 버스 사이클은 다수의 클럭 사이클들을 나타낼 수 있다. 그 다음, 사이클(204)에서, 구성 요소(22)는 WRCLK 명령을 실행하여, 원하는 클럭 신호 CLK를 표시하는 값이 적당한 클럭 선택 레지스터(40) 내에 기록되게 한다. 사이클(206)에서, 클럭 선택 레지스터 내에 기록된 새로운 값이 클럭 선택 멀티플렉서(36)에 전달되고, 따라서 새로운 클럭 소스(30)가 I/O 제어기(24)를 제어하도록 선택된다. WRCLK 명령이, 데이터 버스를 위한 제어기(24)에 접속된 멀티플렉서(36)에 접속된 클럭 선택 레지스터(40)에 제공되고, 데이터가 66㎒의 클럭 속도로 제공되었다고 가정하면, 사이클(208)에서의 클럭 선택 레지스터(40)의 새로운 값의 전달에 의해, 데이터가, 새로운 클럭 속도, 이 예에서는, 100㎒의 클럭 속도로 제공된다. 다른 제어기(24)는 66㎒에서 클럭 신호를 계속해서 수신한다.
도 3에 도시된 예를 계속하여 참조하면, 100㎒의 클럭 신호를 시스템(20) 내의 모든 그룹, 따라서 그와 관련된 제어기들(24)에 제공하는 것이 바람직하다고 가정하면, 사이클 220에서, WRCLK 명령이 사이클 200에서 발생한 바와 같이 디코딩된다. 다음으로, 사이클 222에서, WRCLK 명령이, 사이클 202에서와 발생한 바와 같이 디코딩된다. 그 다음, WRCLK 명령이 사이클 204 및 206에서와 마찬가지로, 사이클 224 및 226에서 각각 실행된다. 결국, 모든 다른 그룹이, 버스 사이클 228 내지 234로 표시한 바와 같이, 100㎒에서 클럭 신호를 수신한다.
시스템(20)의 또 다른 응용은 서로 다른 바이트 또는 비트의 인터페이스 신호에 서로 다른 클럭 신호를 제공하는 것이다. 시스템(20)의 기능은 특히 테스트, 디버그 및 회복 동작에 적용될 수 있다. 도 1을 다시 참조하면, 이러한 기능을 달성하기 위해, 시스템(20)은, 상술한 바와 같이, 크로스-바 스위치(26), 및 크로스-바 스위치에 접속된 I/O 선택 레지스터(302)를 선택적으로 포함할 수 있다. I/O 선택 레지스터(302)는 다수의 입력들의 각각을 다수의 출력들 중 선택된 것에 접속하고, 크로스-바 스위치를 제외한 구조를 구성할 수 있다. 예를 들면, 멀티플렉서 및/또는 다른 디바이스의 다양한 구성이 크로스-바 스위치(26)로서 이용될 수 있다.
하여간, 주어진 처리 구성 요소(22)에 대한 각각의 제어기(24)는 선(304)을 통해 크로스-바 스위치(26)에 접속된다. 도 1에서는, 도면을 간략하게 하기 위해, 하나의 크로스-바 스위치(26)만이 도시되어 있다. 그러나, 2개의 구성 요소들, 즉, 구성 요소들(22a 및 22b)이 도시되어 있기 때문에, 일반적으로 2개의 크로스-바 스위치들(26)이 통상 사용되는데, 하나는 구성 요소(22a)의 제어기(24)에 접속되고, 다른 하나는 구성 요소(22b)의 제어기(24)에 접속된다. 크로스-바 스위치(26)는 통상적으로 처리 장치(22)의 일부이지만 별개의 디바이스로서 구현될 수 있다.
크로스-바 스위치(26)는 주어진 제어기(24)가 데이터 버스(25)를 통해 데이터 입/출력을 제어하기 위한 핀 또는 핀들을 할당한다. 최대의 유연성을 얻기 위해, 구성 요소(22)상의 각각의 핀에 하나의 제어기(24)가 제공된다. 그러나, 많은 응용의 경우, 구성 요소(22) 상의 핀 개수보다도 더 적은 제어기(24)가 이용된다. 즉, 각각의 제어기가 다수의 핀을 통해 데이터 I/O를 제어할 수 있다. 이에 대하여, 선(304)은 복수의 선들을 가지며, 구성 요소(22)상의 각 핀에 하나의 선이 할당된다.
I/O 선택 레지스터(302)는, 크로스-바 스위치(26)에 전달될 때, 제어기(24) 상의 어떤 핀들이 데이터를 제공할 것인지를 결정하는 명령들을 포함한다. IOSELECT로 불리는 구성 요소(22)의 명령 세트의 확장 기능이 이러한 명령을 제공한다.
도 1 및 도 4를 참조하면, 크로스-바 스위치(26) 및 I/O 선택 레지스터(302)가 제공하는 추가된 기능에 대해, 구성 요소(22a)로부터 구성 요소(22b)로의 데이터 전송의 견지에서 설명한다. 다음의 설명을 위해, 각 핀이 관련된 바이트로 표시되고 장치(22a) 상의 8개 핀에 제공된 클럭 신호가 본 발명에 따라 선택된다고 가정한다. 또한, I/O 선택 레지스터(302)는 크로스바 스위치(26)가 클럭 공급 소스(30a)로부터 클럭 신호 CLK0을 수신하는 제어기(24a)에 바이트 0에 의해 표현된 핀들을 할당하고,클럭 공급 소스(30b)로부터의 클럭 신호 CLK1을 수신하는 제어기(24c)에 바이트 7 내지 1을 할당하도록 하는 명령을 포함한다고 가정한다.또한, 클럭 소스(30a)로부터의 클럭 신호 CLK0의 주파수가 클럭 소스(30b)로부터의 클럭 신호 CLK1의 주파수의 절반이라고 가정한다. 후술하는 바와 같이, 바이트 7 내지 1이 보다 빠른 속도로 클럭킹되기 때문에, 구성 요소(22a)는 상기 바이트로 표시되는 핀 상의 데이터를 바이트 0으로 표시되는 핀 상의 데이타보다도 먼저 송신한다. 이러한 접근은 예를 들면 시스템 디버그 동안에 타이밍 문제들을 바이트 0 핀들에 분리시키기 위해 사용될 수 있다. 파형(312)의 리딩 에지(310)에서, 구성 요소(22a)를 위한 버스 사이클을 시작한다. 파형(312)의 리딩 에지(314)에서 바이트 7 내지 1로 표시된 핀들 상의 데이터는 구성 요소(22a)에 의해 전송된다. 구성 요소(22b)는 이 데이터를 파형(312)의 리딩 에지(316)에서 수신한다. 다음에, 파형(320)의 리딩 에지(318)에서 바이트 0으로 식별된 핀들 상의 데이터가 구성 요소(22a)에 의해 전송된다. 마지막으로, 파형(320)의 리딩 에지(322)에서, 장치(22b)가 이 데이터를 수신한다. 이에 의해 제1 버스 사이클이 종료된다. 이러한 프로세스는, 제2 버스 사이클에서도 반복되고, 도 4에 도시된 바와 같이, 원하는 만큼 다시 반복될 수 있다.
바이트 0으로 식별된 장치(22a)의 핀으로부터 제공된 데이터가 클럭 신호 CLK1의 주파수의 절반인 클럭 신호 CLK0로 전송되기 때문에, 바이트 0의 데이터를 조사하는데 더 많은 시간이 걸린다. 이렇게 선택된 핀에 대한 데이터 전달의 속도를 낮추는 기능은, 예를 들면, 이러한 핀 상에 제공된 데이터에 대해 존재할 수 있는 타이밍 분리 문제에 유용하다.
본 발명을 양호한 실시예 및 작용예에 의해 설명하였지만, 이는 제한적인 의미로 이해되어서는 안된다. 반대로, 첨부된 특허 청구범위에 의해 정해진 본 발명의 사상 및 범주 내에서 모든 변형, 수정 및 동등물을 포함하고자 하는 것이다.

Claims (15)

  1. 데이터 처리 시스템에 있어서,
    복수의 처리 구성 요소들로서, 각각이 상기 복수의 처리 구성 요소들 중 적어도 하나의 다른 구성 요소에 접속된, 상기 복수의 처리 구성 요소들과,
    각각이 클럭 신호를 제공하는 복수의 클럭 소스들과;
    상기 처리 구성 요소들의 각각과 관련된 복수의 제어기들과;
    각각이 클럭 선택 신호를 제공하는 복수의 클럭 선택 레지스터들; 및
    각각이 상기 복수의 클럭 소스들과, 상기 복수의 제어기들 중 2개 이상의 제어기들, 및 상기 클럭 선택 레지스터들 중 하나의 클럭 선택 레지스터에 접속되어 있는 복수의 멀티플렉서들로서, 상기 멀티플렉서들의 각각은 상기 하나의 클럭 선택 레지스터에 의해 제공된 클럭 선택 신호에 응답하여, 상기 클럭 신호들 중 하나를 상기 복수의 제어기들 중 상기 2개 이상의 제어기들에 출력으로서 제공하는, 상기 복수의 멀티플렉서들을 포함하며,
    상기 클럭 신호들 중 적어도 하나는 상기 클럭 신호들의 다른 클럭 신호들과는 다른 주파수를 갖고,
    상기 복수의 처리 구성 요소들의 각각은 데이터가 입출력되는 복수의 핀들을 구비하고, 상기 복수의 제어기들의 각각은 상기 복수의 핀들 중 선택된 핀들에 대한 데이터의 상기 입출력을 제어하는, 데이터 처리 시스템.
  2. 제1항에 있어서, 복수의 통신선들을 더 포함하며, 상기 복수의 멀티플렉서들의 각각은 상기 복수의 통신선들 중 하나를 통해 상기 복수의 제어기들 중 상기 2개 이상의 제어기들에 접속되는, 데이터 처리 시스템.
  3. 제2항에 있어서, 상기 복수의 통신선들의 각각은 상기 복수의 제어기들 중 상기 2개 이상의 제어기들에 고유하게 접속되는, 데이터 처리 시스템.
  4. 삭제
  5. 삭제
  6. 제1항에 있어서, 통신 시퀀스 프로토콜을 갖고, 상기 복수의 제어기들의 각각에 접속되어, 상기 복수의 처리 구성 요소들이 상기 통신 시퀀스 프로토콜을 준수해야 하는지를 나타내는 아크콤프 레지스터(archcomp register)를 더 포함하는, 데이터 처리 시스템.
  7. 제6항에 있어서, 상기 복수의 제어기들의 각각은 아크콤프 레지스터를 포함하는, 데이터 처리 시스템.
  8. 제6항에 있어서, 상기 아크콤프 레지스터는 제1 버스 사이클에서의 ARCHCOMP 명령에 응답하여, 호환성이 바람직한 경우에는 제1 값으로 기록되고, 호환성이 바람직하지 않는 경우에는 제2 값으로 기록되도록 설계되고, 상기 아크콤프 레지스터는 제2 버스 사이클에서의 상기 ARCHCOMP 명령에 응답하여, 상기 아크콤프 레지스터 내에 존재하는 상기 제1 및 상기 제2 값 중 하나가 상기 아크콤프 레지스터에 접속된 상기 제어기들에 전파되도록 설계되며, 상기 ARCHCOMP 명령은 상기 복수의 처리 구성 요소들 상에서 실행되는, 데이터 처리 시스템.
  9. 제1항에 있어서, 상기 복수의 클럭 선택 레지스터들의 각각은 제1 버스 사이클에서의 WRCLK 명령에 응답하여, 상기 각각의 클럭 선택 레지스터가 접속된 상기 복수의 멀티플렉서들 중 하나로부터의 출력으로서 제공되는 클럭 신호를 갖는 상기 복수의 클럭 소스들 중 하나를 나타내는 값으로 고유하게 기록되도록 설계되고, 상기 클럭 선택 레지스터들은 제2 버스 사이클에서의 상기 WRCLK 명령에 응답하여, 상기 값이 상기 각각의 클럭 선택 레지스터가 접속된 상기 멀티플렉서에 전파되도록 설계되어 있으며, 상기 WRCLK 명령은 상기 복수의 처리 구성 요소들 상에서 실행되는, 데이터 처리 시스템.
  10. 제1항에 있어서, 상기 클럭 선택 레지스터는 그 내용이 RDCLK 명령을 통해 판독될 수 있도록 설계된, 데이터 처리 시스템.
  11. 제1항에 있어서, 상기 시스템은 상기 복수의 제어기들에 접속되어 상기 복수의 핀들 중 상기 선택된 핀들을 상기 복수의 제어기들 중 관련된 제어기들에 할당하기 위한 수단을 더 포함하는, 데이터 처리 시스템.
  12. 제1항에 있어서, 상기 복수의 처리 구성 요소들 중 하나와 관련된 상기 복수의 제어기들에 접속된 크로스-바 스위치 및 상기 크로스-바 스위치에 접속되어 상기 크로스-바 스위치의 동작을 규정하는 명령들을 제공하기 위한 I/O 선택 레지스터를 더 포함하는, 데이터 처리 시스템.
  13. 제12항에 있어서, 상기 시스템은 IOSELECT 명령을 제공하도록 설계되어 있고, 상기 I/O 선택 레지스터 내의 상기 명령들은 상기 IOSELECT 명령에 의해 결정되는 데이터 처리 시스템.
  14. 데이터의 입출력을 제어하기 위한 복수의 핀들을 각각 포함하는 복수의 처리 구성 요소들 및 상기 처리 구성 요소들과 관련된 복수의 제어기들을 포함하는 데이터 처리 시스템에서 클럭 신호들을 제공하는 방법에 있어서,
    a. 복수의 상이한 클럭 신호들을 제공하는 단계와;
    b. 상기 복수의 제어기들의 각각에 대하여 상기 복수의 클럭 신호들 중 하나를 선택하는 단계; 및
    c. 상기 복수의 클럭 신호들 중 상기 선택된 신호들을 상기 복수의 제어기들에 병렬로 제공하고, 상기 복수의 핀들 중 선택된 핀들을 상기 복수의 처리 구성 요소들 중 관련된 처리 구성 요소들에 할당하는 단계를 포함하고,
    상기 클럭 신호들 중 적어도 하나는 상기 클럭 신호들의 다른 클럭 신호들과는 다른 주파수를 갖는, 클럭 신호 제공 방법.
  15. 삭제
KR10-2001-0008957A 2000-03-16 2001-02-22 분할 동기 인터페이스를 위한 조정가능 클럭을 갖는데이터 처리 시스템 KR100458024B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/526,854 2000-03-16
US09/526,854 US6578155B1 (en) 2000-03-16 2000-03-16 Data processing system with adjustable clocks for partitioned synchronous interfaces

Publications (2)

Publication Number Publication Date
KR20010096571A KR20010096571A (ko) 2001-11-07
KR100458024B1 true KR100458024B1 (ko) 2004-11-26

Family

ID=24099071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0008957A KR100458024B1 (ko) 2000-03-16 2001-02-22 분할 동기 인터페이스를 위한 조정가능 클럭을 갖는데이터 처리 시스템

Country Status (4)

Country Link
US (1) US6578155B1 (ko)
JP (1) JP3651588B2 (ko)
KR (1) KR100458024B1 (ko)
DE (1) DE10110567B4 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993669B2 (en) 2001-04-18 2006-01-31 Gallitzin Allegheny Llc Low power clocking systems and methods
US6990598B2 (en) * 2001-03-21 2006-01-24 Gallitzin Allegheny Llc Low power reconfigurable systems and methods
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US6898721B2 (en) * 2001-06-22 2005-05-24 Gallitzin Allegheny Llc Clock generation systems and methods
US7057518B2 (en) 2001-06-22 2006-06-06 Schmidt Dominik J Systems and methods for testing wireless devices
US7103320B2 (en) * 2003-04-19 2006-09-05 International Business Machines Corporation Wireless communication system within a system on a chip
US20040225868A1 (en) * 2003-05-07 2004-11-11 International Business Machines Corporation An integrated circuit having parallel execution units with differing execution latencies
US10887038B2 (en) 2018-09-28 2021-01-05 Samsung Electronics Co., Ltd. GNSS-based multi-modal clock correction

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253130A (ja) * 1990-03-02 1991-11-12 Oki Electric Ind Co Ltd クロック分配装置
JPH06138973A (ja) * 1992-10-30 1994-05-20 Fujitsu Ltd クロック同期化方式
US5444407A (en) * 1992-12-28 1995-08-22 Advanced Micro Devices, Inc. Microprocessor with distributed clock generators
JPH1020961A (ja) * 1996-06-28 1998-01-23 Nec Corp 多重冗長クロック信号セレクタ
JPH1063368A (ja) * 1996-08-19 1998-03-06 Nec Corp 大規模集積回路
KR19990051854A (ko) * 1997-12-20 1999-07-05 구본준 클럭신호 제어회로
JP2000353027A (ja) * 1999-06-11 2000-12-19 Hitachi Ltd クロック制御方法およびそれを用いた電子回路装置
KR20010046109A (ko) * 1999-11-10 2001-06-05 윤종용 출력 신호의 왜곡을 제거하는 클럭 멀티플렉싱 회로

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3715729A (en) 1971-03-10 1973-02-06 Ibm Timing control for a multiprocessor system
US5305452A (en) * 1987-10-23 1994-04-19 Chips And Technologies, Inc. Bus controller with different microprocessor and bus clocks and emulation of different microprocessor command sequences
US4979191A (en) 1989-05-17 1990-12-18 The Boeing Company Autonomous N-modular redundant fault tolerant clock system
US5717697A (en) 1990-06-27 1998-02-10 Texas Instruments Incorporated Test circuits and methods for integrated circuit having memory and non-memory circuits by accumulating bits of a particular logic state
DE4211701A1 (de) 1992-04-08 1993-10-14 Thomson Brandt Gmbh Verfahren und Vorrichtung zur Phasenmessung
US5734877A (en) * 1992-09-09 1998-03-31 Silicon Graphics, Inc. Processor chip having on-chip circuitry for generating a programmable external clock signal and for controlling data patterns
US5511212A (en) 1993-06-10 1996-04-23 Rockoff; Todd E. Multi-clock SIMD computer and instruction-cache-enhancement thereof
US5838339A (en) 1995-04-12 1998-11-17 Eastman Kodak Company Data distribution in monolithic print heads
US5680594A (en) * 1995-05-24 1997-10-21 Eastman Kodak Company Asic bus interface having a master state machine and a plurality of synchronizing state machines for controlling subsystems operating at different clock frequencies
US5926053A (en) * 1995-12-15 1999-07-20 National Semiconductor Corporation Selectable clock generation mode
US5815693A (en) * 1995-12-15 1998-09-29 National Semiconductor Corporation Processor having a frequency modulated core clock based on the criticality of program activity
US5799176A (en) 1995-12-26 1998-08-25 Cypress Semiconductor Corp. Method and apparatus for providing clock signals to macrocells of logic devices
US5903746A (en) * 1996-11-04 1999-05-11 Texas Instruments Incorporated Apparatus and method for automatically sequencing clocks in a data processing system when entering or leaving a low power state
US5790609A (en) 1996-11-04 1998-08-04 Texas Instruments Incorporated Apparatus for cleanly switching between various clock sources in a data processing system
US5987620A (en) * 1997-09-19 1999-11-16 Thang Tran Method and apparatus for a self-timed and self-enabled distributed clock

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03253130A (ja) * 1990-03-02 1991-11-12 Oki Electric Ind Co Ltd クロック分配装置
JPH06138973A (ja) * 1992-10-30 1994-05-20 Fujitsu Ltd クロック同期化方式
US5444407A (en) * 1992-12-28 1995-08-22 Advanced Micro Devices, Inc. Microprocessor with distributed clock generators
JPH1020961A (ja) * 1996-06-28 1998-01-23 Nec Corp 多重冗長クロック信号セレクタ
JPH1063368A (ja) * 1996-08-19 1998-03-06 Nec Corp 大規模集積回路
KR19990051854A (ko) * 1997-12-20 1999-07-05 구본준 클럭신호 제어회로
JP2000353027A (ja) * 1999-06-11 2000-12-19 Hitachi Ltd クロック制御方法およびそれを用いた電子回路装置
KR20010046109A (ko) * 1999-11-10 2001-06-05 윤종용 출력 신호의 왜곡을 제거하는 클럭 멀티플렉싱 회로

Also Published As

Publication number Publication date
US6578155B1 (en) 2003-06-10
DE10110567A1 (de) 2001-09-27
JP3651588B2 (ja) 2005-05-25
JP2001312327A (ja) 2001-11-09
DE10110567B4 (de) 2004-07-15
KR20010096571A (ko) 2001-11-07

Similar Documents

Publication Publication Date Title
US5826093A (en) Dual function disk drive integrated circuit for master mode and slave mode operations
JP2573566B2 (ja) バスコンバータ
US8286025B1 (en) Selection of port adapters for clock crossing boundaries
US5220651A (en) Cpu-bus controller for accomplishing transfer operations between a controller and devices coupled to an input/output bus
US6518787B1 (en) Input/output architecture for efficient configuration of programmable input/output cells
US5701417A (en) Method and apparatus for providing initial instructions through a communications interface in a multiple computer system
US6260162B1 (en) Test mode programmable reset for a watchdog timer
US20030110453A1 (en) Method and system for use of a field programmable function within a chip to enable configurable I/O signal timing characteristics
US6851014B2 (en) Memory device having automatic protocol detection
US6327508B1 (en) Programmable state machine
WO2008070500A2 (en) Access-time reduction by speculatively decoding non-memory read commands on a serial interface
US7296175B2 (en) System on a chip bus with automatic pipeline stage insertion for timing closure
KR20040077728A (ko) 시스템 및 버스 제어기 및 통신 방법
JPH0784863A (ja) 情報処理装置およびそれに適した半導体記憶装置
KR100458024B1 (ko) 분할 동기 인터페이스를 위한 조정가능 클럭을 갖는데이터 처리 시스템
EP0685803A2 (en) Electrical device adapter and method of producing the same
US6170027B1 (en) LPC/ISA bridge and its bridging method
US6766406B1 (en) Field programmable universal serial bus application specific integrated circuit and method of operation thereof
US6161189A (en) Latch-and-hold circuit that permits subcircuits of an integrated circuit to operate at different frequencies
US5515530A (en) Method and apparatus for asynchronous, bi-directional communication between first and second logic elements having a fixed priority arbitrator
EP1113281A2 (en) A method and apparatus for circuit emulation
US7519751B2 (en) Method of generating an enable signal of a standard memory core and relative memory device
KR100249080B1 (ko) 마이크로컴퓨터와의주변장치접속용제어기
US6959396B2 (en) Method and apparatus for reducing clock skew in an integrated circuit
KR0148474B1 (ko) Dma 검증 동작을 하는 플로피 디스크 제어기

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E902 Notification of reason for refusal
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071101

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee