KR100639869B1 - 크로스바 스위치, 그 동작제어방법 및 동작제어용프로그램 - Google Patents

크로스바 스위치, 그 동작제어방법 및 동작제어용프로그램 Download PDF

Info

Publication number
KR100639869B1
KR100639869B1 KR1020057017854A KR20057017854A KR100639869B1 KR 100639869 B1 KR100639869 B1 KR 100639869B1 KR 1020057017854 A KR1020057017854 A KR 1020057017854A KR 20057017854 A KR20057017854 A KR 20057017854A KR 100639869 B1 KR100639869 B1 KR 100639869B1
Authority
KR
South Korea
Prior art keywords
node
data
line
input
output
Prior art date
Application number
KR1020057017854A
Other languages
English (en)
Other versions
KR20050119655A (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 KR20050119655A publication Critical patent/KR20050119655A/ko
Application granted granted Critical
Publication of KR100639869B1 publication Critical patent/KR100639869B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling

Abstract

소형이면서 동시에 가격이 저렴한 크로스바 스위치(crossbar switch)가 제공된다. 캐스케이드(cascade) 접속된 다단(stage)의 노드의 각각에 스위치 회로(5)가 배치되어 있고, 각 스위치 회로(5)가, 표적 스위치 회로(target switch circuit)(5)가 존재하는 상대적 위치를 직접적으로 또는 간접적으로 특정하기 위한 지정 어드레스를 전단 노드로부터 입력받아, 이 지정 어드레스가 특정 값 ”0”을 나타내고 있는지 여부를 판별한다. 특정값을 나타낸다고 판별했을 때에 출력 노드라인에 대한 데이터출력을 가능케 하는 동시에, 입력된 지정 어드레스를 ”1” 씩 감수(減數)하고 새로운 지정 어드레스를 생성하여, 이 새로운 지정 어드레스를 후단 노드로 출력한다.
버퍼, 픽셀 파이프라인 프로세서, 크로스바 스위치, 직렬 버스 배선, 스위치 회로, 어드레스 선택 회로, 클록 라인, 리피터, 병/직렬 변환회로, 직/병렬 변환회로, 감수회로, 논리합 회로, 논리곱회로, 접속전환회로, 어드레스 초기화부, 경로전환부

Description

크로스바 스위치, 그 동작제어방법 및 동작제어용 프로그램{CROSSBAR SWITCH, METHOD AND PROGRAM FOR CONTROLLING OPERATION THEREOF}
본 발명은, 예컨대 화상 처리용의 컴퓨터에 탑재되는 크로스바 스위치(crossbar switch) 및 그 관련 제품에 관한 것이다.
다중처리장치에서의 노드 결합을, 적은 제약 하에서 실현되는 시스템구성요소의 하나로서 크로스바 스위치(crossbar switch)가 있다. 크로스바 스위치는, 보통, 데이터 경로가 교차하는 복수의 교점(「교차점(cross points)」이라고 일컬어진다)의 각각에서 스위치 기구가 배치된 2차원 격자상의 병렬(parallel) 버스 배선에 의해 구성된다. 동작시에는, 스위치 기구에서, 복수의 교차점의 접속/비접속을 제어하는 것에 의해, 입력 노드라인(복수의 교차점이 존재하는 입력용 노드의 버스 배선, 이하 동일)과 출력 노드 라인 (복수의 교차점이 존재하는 출력용 노드의 버스 배선, 이하 동일)의 교차점이 편성하는 것에 의해 형성되는 복수의 데이터 경로를 선택적으로 새로 바꾸는 것이 가능하게 되어 있다.
크로스바 스위치는, 데이터끼리의 충돌을 막는 논-블로킹(non-blocking)능력이 뛰어나고, 또, 그 구조나 제어가 비교적 단순하다는 등의 이점이 있어서, 많은 data 처리장치에 있어서 이용되고 있다.
종래의 크로스바 스위치는, 그 구조상, 스위치 기구가 노드 수의 2승배 필요하게 되는 것은 잘 알려져 있다. 또, 병렬 버스의 배선(parallel connections)의 경우에는, 출선(output lines)의 경합 등의 문제를 피하기 위해서, 각 버스에 아비타(arbiter, 조정기)나 입력 버퍼 등의 부가적인 회로 요소를 설치하지 않으면 안 되기 때문에, 소형화하는 것이 어렵다.
예컨대, 256 ~ 1024 개의 노드를 스위치 시키는 구성의 크로스바 스위치에 있어서는, 교차점 수는 64킬로 포인트(kilo points) ~ 1메가 포인트(mega points)이고, 병렬 버스(parallel bus)의 버스폭이 32비트라고 하면, 스위치 수는 최대로 32메가(mega)개에 도달해서, 이와 같은 대규모의 것을 소형으로 구성하고 실장하는 것은, 현재의 프로세스 규정(process rules)에서는 대단히 곤란하다. 또, 종래의 크로스바 스위치의 구성에서는, 스위치 수의 증대에 따라 데이터 경로의 교환처리를 행할 때의 스위치 제어가 복잡하게 될 뿐만 아니라, 스위치 제어를 위한 배선 수가 비약적으로 늘어나 버린다.
본 발명은, 상기와 같은 문제를 해결하기 위한 것으로, 스위치 수가 증대되었을 경우라도, 배선 수를 증가시키지도 않고, 데이터 경로의 교환처리를 행할 때의 스위치 제어를 복잡하게 하지도 않는 크로스바 스위치 및 그 관련 제품을 제공하는 것을 목적으로 한다.
본 발명이 제공하는 크로스바 스위치는, 캐스케이드(cascade) 접속된 여러 단의 노드 각각에 노드 컨트롤러가 배치되어 있어, 각 노드 컨트롤러가, 전단 노드에서 목적의 노드 컨트롤러가 존재하는 상대위치를 직접 또는 간접으로 특정하기 위한 어드레스 정보를 입력하는 입력 인터페이스와; 입력된 어드레스 정보가 특정 값을 나타내고 있는지 여부를 판별해, 특정 값을 나타낸다고 판별했을 때에 소정의 데이터출력 라인에 대한 데이터출력을 가능케 하는 동시에, 상기 입력된 어드레스 정보를 소정의 규칙에 따라서 변화시킨 새로운 어드레스 정보를 생성하는 스위치와; 이 새로운 어드레스 정보를 후단 노드에 출력하는 출력 인터페이스를 가진 것이다.
"소정의 규칙"이라는 것은, 예컨대, 하나의 노드가 통과될 때마다 어드레스 정보에 의해 표시되는 값이 일정간격씩 특정 값으로 더 가까와져서, 특정 값에 도달한 후에는 당해 노드 라인(node line) 상에서는 쓸모없는 값으로 간주하는 것 등이다.
이와 같이 구성되는 크로스바 스위치에 따르면, 어드레스 정보를 입력하기만 하면, 대응되는 노드 컨트롤러가, 자율적으로 데이터출력 라인에 대한 데이터출력을 행한다.
상기 어드레스 정보에는, 예컨대, 순환성의 수치 데이터를 사용할 수 있다. 이 경우, 상기 출력 인터페이스는, 이 수치 데이터를 소정 값만 동일변화 방향으로 증가 또는 감소시키는 것에 의해 상기 새로운 어드레스 정보를 생성한다. 수치 데이터를 사용하는 것에 의해, 어드레스 정보가 특정 값을 나타내고 있는지 여부의 판별이 용이하게 된다.
또, 상기 어드레스 정보는, 개시 비트와 종료 비트를 포함하는 직렬 데이터(serial data)일 수도 있다. 연속 데이터를 사용하는 것에 의해 데이터 라인(data line)의 절약을 도모할 수 있고, 개시 비트와 종료 비트를 포함하는 것에 의해 수치 데이터의 특정이 용이하게 되는 이점이 있다.
상기 크로스바 스위치는 각각 상기 다단의 노드를 포함하는 복수의 노드라인을 가진 크로스바 스위치로 할 수도 있다.
그 경우, 각 노드 라인 상의 노드 컨트롤러는, 다른 노드 라인 상의 노드 컨트롤러와 비동기적으로(asynchronously) 동작하도록 해도 좋고, 적어도 병행 동작하는 다른 노드 라인 상의 노드 컨트롤러와 동일한 클록 타이밍(clock timing)에 동작하도록 해도 좋다. 전자의 경우는 스위치 제어가 간략화되는 이점이 있고, 후자는 노드 간의 데이터 전파의 지연차가 제거되는 이점이 있다.
상기 다단의 노드의 각각이 소정의 데이터 메모리의 출력 어드레스와 1대 1로 대응되고 있어, 각 노드 컨트롤러의 스위치는, 작동시에, 당해 노드에 대응되고 있는 상기 출력 어드레스를 경유하여 상기 데이터 메모리로부터 수신받은 데이터를 상기 데이터출력 라인으로 출력하도록 해도 좋다. 이렇게 하면, 어드레스 정보를 입력하는 것만으로도, 데이터 메모리로부터 요망되는 데이터가 출력되게 된다.
각각 상기 다단의 노드를 포함하는 복수의 노드라인을 가지고, 각 노드 라인 상의 노드 컨트롤러가, 적어도 병행 동작하는 다른 노드 라인 상의 노드 컨트롤러와 동일한 클록 타이밍에 동작하는 크로스바 스위치에 있어서, 각 노드 라인 상의 노드 컨트롤러에, 각각, 전단 노드에서 데이터를 입력하는 동시에, 이 데이터를 다른 노드라인의 후단 노드에 출력하는 제 1 경로(path)와, 전단 노드에서 상기 어드레스 정보를 입력하는 동시에 상기 새로운 어드레스 정보를 동일 노드라인의 후단 노드에 출력하는 제 2 경로(path)를 설정하도록 해도 좋다. 이와 같은 구성의 크로스바 스위치에서는, 전환 가능한 데이터 경로를 더 많게 할 수 있다.
제 1 경로와 제 2 경로가 설정된 상기의 크로스바 스위치에 있어서, 각 노드 컨트롤러를, 복수의 노드 라인 상에서 횡렬 매트릭스 모양으로 배열하고, 상기 제 2 경로는, 각 노드라인의 열 방향으로 설정해서, 상기 제 1 경로는, 전단의 노드 컨트롤러의 출력단과, 그 노드 컨트롤러에 대하여 다음 단의 다른 열에 존재하는 노드 컨트롤러의 입력단과의 사이에 설정하도록 해도 좋다.
이와 같이 각 노드 컨트롤러를 행(行)-렬(列) 매트릭스 모양으로 배열함으로써, 크로스바 스위치의 구조를 정형화할 수 있어, 다단접속이 용이하게 된다.
각 노드 컨트롤러가 행렬 매트릭스 모양으로 배열된 상기의 크로스바 스위치에 있어서, 각 노드 컨트롤러에서의 상기 제 1 경로와 상기 제 2 경로가 동일 또는 거의 동일한 노드길이가 되도록 함으로써, 다단접속 때의 데이터 지연량을 감소시킬 수 있다.
적어도 동일한 행 방향으로 배열되는 모든 상기 노드 컨트롤러가, 동일한 동작 타이밍을 정하는 클록 신호에 따라 동작하도록 해도 좋다. 이렇게 하면, 각 열의 노드라인을 비동기적으로 동작시켰을 경우라도, 각각의 출력 말단으로부터 동시에 데이터가 출력될 수 있게 된다.
상기 제 1 경로는, 예컨대, 전단의 노드 컨트롤러의 출력단과, 그 노드 컨트롤러에 대하여 다음 단의 인접한 열에 존재하는 노드 컨트롤러의 입력단과의 사이에 설정된다.
혹은, 예컨대, 상기 제 1 경로의 일부 또는 전부가, 전단의 노드 컨트롤러의 출력단과, 그 노드 컨트롤러에 대하여 다음 단에 및 그 노드 컨트롤러로부터 복수 열만큼 떨어진 위치에 존재하는 노드 컨트롤러의 입력단과의 사이에 설정된다. 이 경우, 열 방향의 최단부에 위치하는 노드 컨트롤러에 대한 상기 제 1 경로는, 당해 노드 컨트롤러의 출력단과, 다음 단의 인접한 위치에 존재하는 노드 컨트롤러의 입력단과의 사이에 설정된다.
다른 형태에 있어서는, 크로스바 스위치는, 상기 복수의 노드라인의 각각의 입력단에 어드레스 정보생성수단을 설치하고, 이 어드레스 정보생성수단은, 어드레스 정보생성수단이 위치하는 노드라인을 식별하기 위한 제 1의 라인 식별 데이터와, 당해 어드레스 정보생성수단이 위치하는 라인 상의 최종단의 노드에 설치된 스위치로부터 출력되는 데이터가 입력되는 노드라인을 식별하는데 사용되기 위한 제 2의 라인 식별 데이터에 따라, 상기 어드레스 정보를 생성한다. 이 어드레스 정보생성수단에 의해, 임의의 노드라인을 지정하고 데이터출력을 행하게 하는 것이 가능하게 된다.
본 발명에 따른 크로스바 스위치는, 컴퓨터에 탑재 가능한 패키지에 수용될 수 있다. 그 경우에, 상기 복수의 노드라인의 입력단에, 당해 입력단에 입력되는 데이터를 보유하는 제 1 디바이스(device)를 접속하기 위한 인터페이스 구성요소를 설치함으로써, 그리고 상기 복수의 노드라인의 출력단에, 각각의 노드라인과 1대 1로 대응하는 연산 파이프라인(operation pipelines)을 가진 제 2 디바이스를 접속하기 위한 인터페이스 구성요소를 설치함으로써, 이들 디바이스(device)와의 접속이 용이하게 된다.
또, 상기 복수의 노드라인의 입력단 및 / 또는 출력단에, 동일한 구성의 또 다른 크로스바 스위치의 복수의 노드라인을 접속하기 위한 인터페이스 구성요소를 설치함으로써, 더 큰 규모의 확장이 용이하게 된다.
본 발명은, 또, 크로스바 스위치의 동작제어방법을 제공한다.
이 방법은, 서로 캐스케이드(cascade) 접속된 다단의 노드를 포함하고, 생성될 데이터가 전송되는 복수의 노드라인을 가지며, 노드 각각에 노드 컨트롤러가 배치되는 크로스바 스위치의 동작제어 방법으로서;
상기 크로스바 스위치를 제어하는 장치가, 데이터를 출력시키는 노드라인의 식별정보 및, 작동될 노드 컨트롤러의 상대위치를 나타내는 정보로부터 어드레스 정보를 생성하고, 이 어드레스 정보를 표적 노드라인의 최초 단계의 노드에 입력하는 단계와;
상기 어드레스 정보가 입력될 노드라인의 각 노드에 존재하는 노드 컨트롤러가, 각각 입력된 어드레스 정보가 특정 값을 나타내는지 여부를 판별하고, 특정 값을 나타낸다고 판별했을 때는 당해 노드 라인 상의 데이터를 출력하는 동시에, 상기 입력된 어드레스 정보를 소정 값만 변화시킨 새로운 어드레스 정보를 생성하고, 이 새로운 어드레스 정보를 후단 노드에 출력하는 단계를 가진 크로스바 스위치의 동작제어 방법이다.
이 방법에 따르면, 어드레스 정보를 입력하는 것만으로도 대응되는 노드 컨트롤러가 자율적으로 데이터출력을 행하기 때문에, 크로스바 스위치의 제어를 각 노드라인마다 쉽게 행할 수 있다.
본 발명은, 또한, 컴퓨터의 하드웨어 자원(resources)과의 협동에 의해서, 크로스바 스위치의 동작제어를 행하는 컴퓨터 프로그램을 제공한다.
이 프로그램은, 서로 캐스케이드(cascade) 접속된 다단의 노드를 포함하고, 생성될 데이터가 전송되는 복수의 노드라인을 가지며, 각 노드에 노드 컨트롤러가 배치된 크로스바 스위치를 탑재하는 컴퓨터가, 각 노드 컨트롤러를 다음과 같이 동작시키기 위한 크로스바 스위치의 동작제어용 프로그램이다;
(1) 표적 노드 컨트롤러가 존재하는 상대적 위치를 직접적 또는 간접적으로 특정하기 위한 어드레스 정보를 입력하고;
(2) 입력된 어드레스 정보가 특정 값을 나타내고 있는지 여부를 판별하고, 특정 값을 나타낸다고 판별했을 때는, 당해 노드 라인 상의 데이터를 출력하는 동시에;
(3) 상기 입력된 어드레스 정보를 소정 값만 변화시킨 새로운 어드레스 정보를 생성하여 이 새로운 어드레스 정보를 후단 노드에 출력한다.
도 1은 본 발명이 적용되는 묘화장치(描畵裝置, image rendering device)의 요점부 구성도;
도 2는 본 발명의 제 1 실시예에 의한 크로스바 스위치의 내부 구성도;
도 3은 제 1 실시예에 의한 스위치 회로의 구성도;
도 4는 제 1 실시예에 의한 크로스바 스위치의 동작제어 순서도;
도 5는 교차점 스위칭(cross point switching)을 기술하는 설명도.
도 6은 본 발명의 제 2 실시예에 의한 크로스바 스위치의 내부 구성도;
도 7은 제 2 실시예에 의한 스위치 회로의 구성도;
도 8 내지 도 18은 크로스바 스위치의 동작 설명도(교차점제어 페이즈, cross point control phase);
도 19 내지 도 21은 크로스바 스위치의 동작 설명도(데이터전송 페이즈, data transfer phase);
도 22는 데이터 전송제어가 종료된 상태의 경로를 나타낸 설명도;
도 23은 크로스바 스위치의 일반적인 동작상태를 나타낸 모식도;
도 24는 멀티캐스트(multicast) 방식의 동작상태를 나타낸 모식도;
도 25는 브로드캐스트(broadcast) 방식의 동작상태를 나타낸 모식도;
도 26은 크로스바 스위치의 변형 실시예를 나타낸 내부 구성도이다.
<도면의 주요부분에 대한 부호의 설명>
1; 버퍼(buffer), 2; 픽셀 파이프라인 프로세서(pixel pipeline processor)
3; 크로스바 스위치(crossbar switch), 4; 직렬 버스 배선(serial bus)
5, 50; 스위치 회로(switch circuit)(노드 컨트롤러(node controller)의 예)
6; 어드레스 선택 회로(address section circuit )
7a, 7b; 클록 라인(clock line), 8; 리피터(repeater)
9; 병/직렬 변환회로(parallel/serial conversion circuit)
10; 직/병렬 변환회로(serial/parallel conversion circuit)
11; 감수회로(減數回路, decrement circuit)
12; 논리합 회로(logic OR circuit) 13; 논리곱회로(logic AND circuit) 14; 접속전환회로(connection switching circuit)
20; 어드레스 초기화부(address initialization unit)
21, 23; 경로전환부(path switching unit) 22; 지정된 라인 번호
<제 1 실시예>
본 발명의 크로스바 스위치는, 예컨대 대량의 묘화용(描畵用) 데이터를 처리하는 묘화장치에서의 메모리와 프로세서 사이의 데이터 전송제어에 적용할 수 있다. 이하, 이 경우의 실시예를 설명한다.
우선, 본 발명이 적용되는 묘화장치에 대해서 설명한다.
도 1은, 이 묘화장치의 요점부 구성도이다. 묘화장치는, 묘화처리를 위해 필요한 데이터를 확보하기 위해서, 반도체 디바이스의 일례로서 버퍼(memory buffer)(1), 직렬 연산 파이프 라인을 가진 픽셀 파이프라인 프로세서(pixel pipeline processor)(2), 및 버퍼(1)와 픽셀 파이프라인 프로세서(2) 사이에 인터페이스 구성요소를 통하여 접속되는 크로스바 스위치(3)를 갖고 있다.
버퍼(1)는, 크로스바 스위치에 입력되는 상기의 데이터를 저장하는 데이터 메모리이다. 이 실시예에서는, 예를 들어, 매핑(mapping)에 의해 다각형(polygon) 위의 전체적인 색깔 및 모양을 생성하기 위한 텍스처(texture) 및 CLUT(Color Look-Up Table) 등의 데이터를 기억한다. CLUT는, R(red), G(green), B(blue)의 3원색 표(table)와, 하나의 α값 표(table)를 포함한다. R, G, B의 3원색 표는, 텍스처(texture)의 각 픽셀의 색깔을 결정하기 위해서 사용되고, α값은 텍스처를 매핑할 때의 화상의 배합 비율을 각 픽셀마다 결정하기 위한 계수값, 즉 반투명도를 나타내는 계수값이다. CLUT에서 R, G, B 3원색의 값을 선택하기 위한 인덱스(index) (CLUT의 표 번호를 지정하기 위한 값)는, 텍스처의 XY좌표에 의해 표시되는 각 픽셀마다 설정된다.
픽셀 파이프라인 프로세서(2)는, 버퍼(1)로부터 데이터를 읽기 시작하는 동시에, 텍스처 매핑, Z좌표의 비교, 및 픽셀 값 계산 등을 파이프라인 시스템에 의해 행한다.
픽셀 파이프라인 프로세서(2)는, 또한, 최적의 화상 휘도(image brightness)를 추출하는 공정, 텍스처의 인덱스에 따라 CLUT로부터 R, G, B 3원색을 위한 데이터를 선택하고 각 픽셀의 색깔을 설정하는 공정, 및 G 평면(plane)의 각 픽셀의 바이트값을 인덱스로서 사용함으로써 CLUT로부터 선택된 값(선별된α값)을 사용하여 α 배합 공정을 행한다. 픽셀 파이프라인 프로세서(2)는 또한, 시저링(scissoring)공정, 디더링(dithering)공정, 컬러 클램핑(color clamping) 공정을 행한다. 시저링(scissoring)은, 화면 바깥쪽의 화상 구성 데이터를 제거하는 공정이고, 디더링(dithering)공정은, 적은 색 개수로 많은 개수의 색을 표현하기 위한 색 배열 혼합공정이고, 컬러 클램핑(color clamping) 공정은, 색 수 계산시에 그 값이 255를 넘거나 0보다 작아지거나 하지 않도록 그 값을 제한하는 공정이다.
픽셀 파이프라인 프로세서(2)에서 상술한 각 공정을 행함으로써 얻어진 데이터는, 도시하지 않는 프레임 버퍼(frame buffer)에 기억되어, 2차원 모니터 화면 위에 묘화되는 프레임 데이터 (2차원 화상 데이터)로 전환된 뒤, 그 프레임 데이터는 상기 프레임 버퍼로부터 읽혀지고 출력단자에서 출력되어, 2차원 모니터장치로 보내진다.
[크로스바 스위치]
다음으로, 도 2 내지 도 5를 참조하여, 크로스바 스위치(3)의 구성 및 그 동작을 설명한다.
크로스바 스위치(3)는, 묘화장치를 실현하기 위한 컴퓨터에 탑재 가능한 패 키지에 수용되는 것으로, 도 2에 보이는 것처럼, 격자 모양으로 배열된 다수개의 직렬버스 배선(4)을 포함하여 구성된다. 이 크로스바 스위치(3)는, 묘화장치에서 묘화처리되는 때에, 그 묘화장치가 가진 컨트롤러 (도시생략)에 의해서, 그 동작이 제어된다. 이 컨트롤러는, 프로세서가 소정의 프로그램을 실행함으로써, 묘화처리 및 크로스바 스위치(3)의 동작제어를 수행하는 기능을 갖게 되는 것이다.
직렬버스 배선(4)이 서로 교차하는 노드인 교차점에는, 각각, 노드의 입력측 직렬버스 배선(이하, 이 실시예에 있어서 「입력 노드 라인」이라고 한다)과, 노드의 출력측 직렬버스 배선(이하, 이 실시예에 있어서 「출력 노드 라인」이라고 한다)의 접속/비접속을 스위칭하기 위한 노드 컨트롤러, 예를 들면, 스위치 회로(5)가 설치되어 있다.
모든 입력 노드라인은 각각, 인터페이스 구성요소를 거쳐서 버퍼(1)의 출력 어드레스와 1대 1로 대응하여 접속하고 있고, 출력 노드라인은, 인터페이스 구성요소를 거쳐서 픽셀 파이프라인 프로세서(2)에 접속되어 있다.
스위치 회로(5)의 출력 노드 라인 상의 상대위치는, 미리 임의로 조정됨으로써, 소정의 다른 스위치 회로의 위치와 구별될 수 있게 되어 있다. 이 각각의 스위치 회로(5)의 상대위치를 나타내는 정보를, 이 명세서에서는, 편의상, 그 스위치 회로(5)의 「어드레스」라고 부른다. 또, 입력 노드라인과 출력 노드라인을 접속시키기 위한 1개 스위치 회로(5)의 어드레스를 직접적 또는 간접적으로 특정하기 위해서 지정하는 주소 정보를 "지정 어드레스"라고 부른다.
이 실시예에서 사용하는 어드레스는, 출력 노드라인상의 노드 개수, 다시 말하면 교차점 개수의 수치를 나타내는 비트(수치 데이터)이고, 순환성이어서, 출력 노드라인의 어드레스 입력단으로부터 데이터 출력단 방향으로, 교차점을 통과할 때마다, 예컨대 1비트씩 감소하여, 특정값, 예컨대 0 값이 되는 순간에, 최대값을 가정하며, 예컨대 교차점의 개수가 8개이었을 경우, 상기 어드레스는 3, 2, 1, 0, 7, 6, 5, 4이다.
또한, 수치를 나타내는 비트 대신, A, B, C, ···Z, A, ···와 같은 순환성의 문자열데이터가 어드레스로서 사용될 수도 있다. 이 문자열데이터는, 교차점을 통과할 때마다, 1문자씩 변화하여, 특정값(문자를 나타내는 값)으로 되는 순간에 초기값으로 되돌아가는 것이다.
다음으로, 어드레스의 일 실시예를 도 5를 참조하여 설명한다. 도 5에 도시된 바와 같이, 256비트의 데이터를 출력 노드라인의 출력단에 도달시키기 위해서 256개의 입력 노드라인을 설치하는 경우, 어드레스는, ”255”에서 ”0”까지의 256종류의 서로 다른 수치 데이터로 된다. 다시 말하면, 1비트씩 감소하여, ”0”의 다음 단계의 어드레스는, ”255”이고, 그 다음 단계의 어드레스는, ”254”로 되는 방식이다.
출력 노드라인의 어드레스 입력단에는, 어드레스 선택회로(6)가 접속되어 있다. 이 어드레스 선택회로(6)는, 지정 어드레스를 생성한다.
클록선(7a)이, 컨트롤러의 클록 신호원(도시생략)에서 출력된 공통의 클록 신호를 전송하기 위하여, 각 노드라인에 병렬로 배치되어 있다.
이 클록선(7a) 상의 클록 신호는, 각 노드라인과 유사하게, 리피터(repeater)(8)를 통과하도록 구성되어 있다. 따라서, 각 스위치 회로(5)가, 이 클록선(7a)의 클록 신호를 기준으로 하여, 다른 스위치 회로와 같은 타이밍에 동작을 개시함으로써, 노드 (스위치 회로) 사이를 전파하는 데이터의 지연차를 저감시킬 수 있다. 또, 노드 간에서의 전파 지연(skew)을 고려할 필요가 없으므로, 리피터(repeater)(8) 등의 삽입제한을 완화할 수 있다.
크로스바 스위치(3)의 입력단과 인터페이스 부품과의 사이에는, 버퍼(1)로부터 판독되는 병렬 데이터를 직렬데이터로 변환시키는 병/직렬 변환회로(9)가 접속되어 있고, 출력단과 인터페이스 부품과의 사이에는, 직렬데이터를 병렬데이터로 변환시키는 직/병렬 변환 회로(10)가 설치되어 있다.
병/직렬 변환회로(9)는, 클록선(7b)의 클록 신호를 기준으로 하여 동작 타이밍을 조정할 수 있도록 구성되어 있다.
이 클록선(7b)은, 클록선(7a)과 공유하는 클록 신호를 전송할 수 있지만, 다른 클록 신호를 전송해도 좋다.
버퍼(1) 및 픽셀 파이프라인 프로세서(2)가 모두, 직렬 데이터를 입출력할 수 있도록 구성된 경우, 병/직렬 변환 회로(9) 및 직/병렬 변환회로(10)는 불필요하게 된다. 특히, 픽셀 파이프라인 프로세서(2)가 직렬 연산 파이프 라인을 포함할 경우에는, 그 직렬 연산 파이프 라인의 입력단과 크로스바 스위치(3)의 각각의 직렬버스의 출력단과 사이에 1대 1 대응시키는 것만으로도, 픽셀 파이프라인 프로세 서(2) 및 직렬 연산 파이프 라인 양자를 배선시킬 수 있기 때문에, 배선작업이 보다 용이하게 된다.
스위치 회로(5)는, 출력 노드라인의 전단 노드(스위치 회로)에서 전송된 지정 어드레스를 수신받는 입력 인터페이스와; 입력 노드라인의 데이터를 출력 노드라인으로 출력할 수 있게 하는 기능과, 수신받은 지정 어드레스가 특정값(예컨대 ”0”)을 나타낼 때에 입력 노드라인과 출력 노드라인을 접속하고 데이터 경로를 전환함으로써, 소정의 규칙, 예를 들어 순환성의 순서성을 준수하면서, 1개의 교차점을 통과할 때마다 수신받은 지정 어드레스를 감소시킴으로써 새로운 지정 어드레스를 생성하는 기능과; 이 새로운 지정 어드레스를 후단 노드에 송출하는 출력 인터페이스를 포함한다. 상기의 데이터 경로의 전환과 새로운 지정 어드레스의 생성은, 모두 당해 스위치 회로(5)에서 자율적으로 수행된다.
상기 지정 어드레스의 접수, 데이터 경로의 전환, 새로운 지정 어드레스의 생성, 및 새로운 지정 어드레스의 출력은, 논리 회로와 소프트웨어와의 협동에 의해 실행될 수 있지만, 도 3에 도시된 논리 회로만을 가지고 더욱 단순한 방식으로 실행될 수 있다.
도 3에 도시된 스위치 회로(5)는, 출력 노드라인과 같이, 캐스케이드 접속된 여러 단의 노드를 통하여 입력된 직렬 캐리 비트(carry bit)를 1비트씩 감수(減數)시키는 감수회로(減數回路)(11), 모든 주소비트를 보유하는 논리합 회로(12), 주소비트가 ”0”이 되는 때에 선택 신호를 출력하는 논리곱 회로(13), 선택 신호의 출력레벨에 맞게 입력 노드라인과 출력 노드라인의 접속/ 비접속을 새로 바꾸는 접속 전환회로(14)를 포함하고 있다.
입력된 주소비트가 ”0”인 것을 검지함으로써, 스위치 회로(5)는, 자기가 지정된 것을 인식할 수 있기 때문에, 표적 스위치 회로(5)의 지정이 대단히 간략화되는 이점이 있다.
이 실시예의 크로스바 스위치(3)에 있어서, 입력 노드 라인 및 출력 노드라인에 클록선(7a)을 병행하여 배선하고, 각 스위치 회로(5)가 클록선(7a)을 전파하는 공통의 클록 신호를 참조하여 노드(스위치 회로) 사이를 전파하는 데이터의 지연차를 저감시키는 것은, 상기한 문제를 쉽게 해결하기 위한 하나의 수단이다.
이와 같은 구성에 의해, 노드 단위에서의 데이터의 동기를 확립하는 것이 용이하게 되므로, 노드 간에서의 전파 지연(skewing)을 고려할 필요가 사라지고, 리피터(repeater)(8)등의 삽입제한을 완화할 수 있다.
[크로스바 스위치의 동작제어방법]
다음으로, 버퍼(1)에서 픽셀 파이프라인 프로세서(2)에 대한 데이터 전송을 행할 경우의 크로스바 스위치(3)의 동작제어방법에 대하여 설명한다.
이 방법은, 기본적으로는, 상술한 묘화장치의 컨트롤러가 주도적 역할을 하지만, 예컨대 컨트롤러의 제어 하에 픽셀 파이프라인 프로세서(2)가 행하도록 해도 된다.
이 동작제어방법의 개요는 다음과 같다.
즉, 컨트롤러가, 임의의 출력 노드라인의 입력단으로부터 지정 어드레스를 직렬 데이터로서 입력한다. 이 지정 어드레스는, 표적 스위치 회로(5)가 출력 노드라인의 입력단으로부터 몇 번째의 스위치 회로인가를 나타내는 수치 데이터이다. 즉, 지정 어드레스는 직렬 순서의 스위치회로 내에서, 표적 스위치(5)가 그 출력 노드라인의 입력단으로부터 어디에 존재하는지를 나타낸다.
지정 어드레스의 입력에 의해, 그 출력 노드라인의 각 스위치 회로(5)에서, 입력된 지정 어드레스가 ”0”인지 여부가 자율적으로 판별되고, 0 값을 나타낼 때는 입력 노드 라인 상의 데이터를 받아들이고, 그 출력 노드라인의 후단 노드로 전송시킨다.
또, 입력한 지정 어드레스를 ”1” 만 감수(減數) 시키고 새로운 지정 어드레스를 생성하고, 이 새로운 지정 어드레스를 후단 노드에 직렬데이터로서 출력시킨다.
도 4는, 컨트롤러에 의해서 상기의 동작제어가 행해질 때의 스위치 회로(5)의 처리순서도이다.
<1단계>
컨트롤러는, 표적 스위치 회로(5)를 가진 출력 노드라인의 어드레스 선택 회로(6)에 지정 어드레스를 입력하고, 그 어드레스 선택 회로(6)가 그 지정 어드레스를 초기화하고 1비트씩 당해 출력 노드라인으로 입력한다.
<2 단계>
감수회로(11)는 전단계 노드로부터 수신된 주소비트의 최하위 비트 (최초로 받은 주소비트)를 감수하고 다음 단계 노드로 출력해야 하는 새로운 지정 어드레스 (주소비트)의 값을 결정한다. 감수(減數)하는 때에, 그 주소비트가 ”0”인 경우에는 순위하락(운송하락)이 생길 수 있기 때문에, 다음의 주소비트도 감수(減數)된다. 이 처리 동안에, 논리합 회로(12)는, 전단계 노드로부터의 주소비트를 소정의 메모리 영역 내에 보유한다.
<3 단계>
논리곱 회로(13)는, 주소비트의 출력이 종료되었는지 여부를 판별한다. 종료되었을 경우에는, 4단계의 처리로 이동하고, 종료되지 않은 경우에는, 1단계의 처리로 돌아온다.
<4 단계>
논리곱 회로(13)는, 주소비트의 합이 ”0”인지 여부를 판별한다. 주소비트의 합이 ”0”인 경우는, 5단계의 처리로 이동한다.
<5 단계>
스위치 회로(5)의 논리곱 회로(13)는, 선택신호를 유지한다. 그리고 접속전환회로(14)가 선택신호에 따라 입력 노드라인과 출력 노드라인을 접속시킨다. 도 5는, 이 패턴을 나타내는 것이다. 이것에 의해, 입력 노드라인으로부터 출력 노드라인까지의 데이터 전송이 행해진다.
데이터 전송이 종료된 시점에서 일련의 제어처리가 종료된다.
상기와 같은 제어처리를 모든 스위치 회로(5)가 자율적으로 실행함으로 인해, 버퍼(1)에서 픽셀 파이프라인 프로세서(2)에 대한 데이터 전송이 적절하게 행해진다. 이와 같은 동작제어방법을 이용함으로써, 교차점 스위칭(데이터 전송)을 위한 제어선과 데이터 투입선을 공유할 수 있어, 버스 배선 수를 대폭적으로 줄이는 것이 가능하게 된다.
이와 같이, 본 실시예의 크로스바 스위치(3)는, 입력 노드라인과 출력 노드라인을 직렬버스로 구성하여, 지정 어드레스를 출력 노드라인에 입력하는 것만으로, 그 지정 어드레스가 ”0”으로 된 스위치 회로(5)가 자율적으로 교차점 스위칭(데이터 전송)을 행하도록 했기 때문에, 병렬형의 크로스바 스위치에 비해서, 배선수를 현격하게 줄일 수 있어, 소형화를 실현할 수 있다. 더욱이, 버스를 직렬화함으로 인한 기능저하를 억제할 수 있다.
또, 각각의 입력 노드라인이 다른 입력 노드라인과 독립적으로 직렬데이터를 전송하고, 출력 노드라인도 다른 출력 노드라인과는 독립적으로 지정 어드레스를 전송하도록 했기 때문에, 노드라인간의 비동기전송이 가능하게 되어, 노드라인, 노드, 교차점의 수가 많은 경우에도, 그 제어가 복잡하게 되는 일이 없다.
각 스위치 회로(5)가, 적어도 병행 동작하는 다른 노드라인 상의 스위치 회로(5)의 동작 타이밍을 정하는 클록 신호와 동일한 클록 신호에 따르고 동작할 수 있기 때문에, 데이터의 노드 간의 전파 지연차를 작게 할 수 있다.
또, 본 실시예의 크로스바 스위치(3)에서는, 소망의 출력 노드라인에 지정 어드레스를 입력하는 것만으로, 교차점 스위칭이 행해지기 때문에, 데이터 경로의 전환에 관한 외부 동작제어가 불필요하게 되고, 게다가, 제어 동작 자체가 단순화되는 이점이 있다.
이상의 설명은, 묘화장치의 컨트롤러가 주도적으로 크로스바 스위치(3)의 동작제어를 행하는 경우의 실시예이지만, 크로스바 스위치의 동작제어는, 크로스바 스위치를 탑재하지만 묘화장치와는 독립적으로 존재하는 컴퓨터와, 컴퓨터 판독이 가능한 기록매체에 기록된 제어처리프로그램과의 협동에 기초하여 실현될 수도 있다.
즉, 동작제어용 프로그램이 기록된 기록매체를 컴퓨터에 장착하고, 그 컴퓨터의 기억부에 동작제어용 프로그램을 로딩(loading)하고, 컴퓨터의 프로세서가 이 동작제어용 프로그램을 판독하여 실행함으로써, 도 4에 도시된 순서에 따라 동작제어가 실행된다. 기록매체는, 예컨대, 반도체메모리, 자기디스크, 광디스크, 광자기디스크, 자기 테이프 등 프로그램을 기록할 수 있는 컴퓨터 판독이 가능한 기록매체들이 포함된다.
<제 2실시예>
다음으로, 다단 파이프 라인에도 적응 가능한 크로스바 스위치의 실시예를 설명한다.
이 실시예의 크로스바 스위치는, 각각 입력단에서 출력단으로 직렬데이터를 전송시키기 위한 복수의 노드라인을 갖고, 이들 노드라인 각각에, 복수의 노드 컨 트롤러가 소정의 노드 간격으로 1개씩 삽입되어 접속된 것이다.
이 실시예에서 언급된 노드라인은, 제 1실시예와의 사이의 설명의 정합을 도모하기 위해서 편의상 제공된 관념적인 라인(line)이다. 또, 이 실시예에 있어서도, 제 1실시예의 경우와 같이, 노드 컨트롤러를 「스위치 회로」라고 칭한다.
도 6은, 이 실시예에 의한 크로스바 스위치의 특징적인 구성 부분 및 그 동작개요를 설명하기 위한 도이다.
이 실시예의 크로스바 스위치는, 주소 정보생성수단의 일례로서 어드레스 초기화부(20)와, 데이터 경로 전환(switching)을 행하는 경로전환부(21)를 포함하여 구성된다.
여기서는, 경로전환부(21)에서의 스위치 회로(도 6에 있어서 직사각형으로 도시됨)가, 8×8의 행렬 매트릭스 모양으로 배열되어 있는 크로스바 스위치의 예를 살펴본다.
이 실시예의 크로스바 스위치가 제 1실시예의 크로스바 스위치(3)와 다른 점은, 캐스케이드 접속된 노드 간에 제 1 경로와 제 2경로를 설정하고, 제 1경로를 제 2 경로에 대해서 경사지게 배선한 점, 및 출력되는 데이터가 거치는 노드 수이다. 여기에서 '경사지게 배선한다.'라는 것은, 스위치 회로가 행렬 매트릭스 모양으로 배치된 크로스바 스위치에 있어서, 제 1 스위치 회로가 다음 단의 제 2 스위치 회로에 제 2 경로에 의해 접속될 경우 제 1 경로는 제 1 스위치 회로를, 상기 제 2 스위치 회로와 같은 단에 구비되어 있고 동시에 상기 제 2 스위치 회로와는 다른, 제 2 스위치 회로에 접속하는 것을 의미한다. 스위치 회로가 행렬 매트릭스 모양으로 배치되어 있음으로써, 제 1 경로는 제 2 경로에 대해서 경사지게 된다. 또, 도 6에 도시된 바와 같이, 제 1 경로는, 반드시 제 2 경로에 대하여 상대적으로 기울어지는, 즉 평행도 수직도 아닌 각도로 되는 것은 아니고, 제 2 경로에 수직인 배선과 제 2 경로에 평행한 배선에 의해 제 1경로를 구성해도 좋다. 이 실시예에서 스위치 회로 자체는, 제 1실시예의 크로스바 스위치(3)의 것을 사용하는 것도 가능하지만, 후술하는 바와 같이 다른 구성으로 하는 것도 가능하다.
경사지게 배선되는 제 1 경로는, 제 1실시예의 경우와 같은 방식으로, 각 입력단으로부터의 데이터가 모든 출력단으로 송출가능하도록 최후까지 흘러가는 경로이다. 이 제 1 경로는, 전 단계의 스위치 회로의 출력단과, 그 스위치 회로의 다음 단의 행에서 다른 열에 존재하는 스위치 회로의 입력단과의 사이에 설정된다. 도 6에 도시된 실시예에서는, 다음 단의 행에서 1개 간격으로 떨어진 열에 존재하고, 열의 최단부의 노드에 대해서는 다음 단의 행에서 인접한 위치에 존재하는 스위치 회로의 입력단과의 사이에 설정되어 있다. 이와 같이 설정함으로써, 데이터의 전송 지연차를 저감시킬 수 있다.
한편, 제 2 경로는, 전단 노드로부터 지정 어드레스가 통과하는 경로이고, 노드라인에 따라서 배선된다.
이 크로스바 스위치는 컴퓨터에 탑재 가능한 패키지에 수용가능하다는 점, 각 스위치 회로가 각각 지정 어드레스에 따라서 직접 또는 간접으로 특정될 수 있다는 점, 예컨대 묘화장치의 컨트롤러에 의해서 그 동작이 제어된다는 점에 대해서는, 제 1실시예의 크로스바 스위치(3)와 동일하다.
이 실시예에서는, 각 노드라인은, 2진 식별 데이터인 라인 번호에 의해서 다른 노드라인과 식별되고, 지정 어드레스는, 2진 주소비트에 의해 표현되는 것으로 한다.
이하에서는, 설명을 간략히 하기 위해, 라인 번호 및 지정 어드레스가 각각 3비트로 표현되는 것으로 하지만, 이 수치는 단지 예시일 뿐, 이 실시예로 한정시키려는 취지가 아니다.
도 6에 도시된 어드레스 초기화부(20)는, 최초단(initial stage)에서 각각의 스위치 회로용의 지정 어드레스를 생성한다. 상기 지정어드레스는 표적스위치회로가 제 1단에서 상응하는 스위치회로에 연결되도록 지정하는데 이용된다. 이 지정 어드레스는, 제 1실시예의 경우와 같은 방식으로, 예컨대 표적 스위치 회로가 상기의 제1단의 스위치 회로로부터 직렬순서로 몇 번째의 스위치 회로인가를 나타내는 수치 데이터일 수 있다. 이 어드레스는, 하나의 노드를 통과할 때마다 “1” 씩 감수(減數,decrement)되고 새로운 지정 어드레스로 된다. 따라서, 표적 스위치 회로에 대해서는, 표적 스위치 회로에 연결된 전단(前段)의 스위치 회로로부터 그 표적 스위치 회로만의 지정 어드레스로서 “0”이 입력된다. 이 지정 어드레스에 의해, 각 스위치 회로는 입력된 지정 어드레스가 “0”인지 여부를 자율적으로 판별하여, “0”을 나타낼 때는 그 스위치 회로(지정 어드레스에 의해서 식별되는 스위치 회로)에 접속되어 있는 제 1경로상의 데이터가 후단 측의 노드라인으로부터 출력되도록 한다.
도 6의 실시예에서는, 라인 6의 출력단으로부터 라인 7로 입력되는 데이터를 출력할 경우의 지정 어드레스가 “001”로 설정되는 것을 나타내고 있으며, 이 지정어드레스는 제 2경로를 거쳐서 최초의 스위치 회로로 보내진다.
이러한 실시예에서 사용되는 스위치 회로는, 구체적으로는 도 7과 같이 구성된다. 즉, 스위치 회로(50)는, 입력 인터페이스의 일례가 되는 제 1 경로 입력단 INa로부터 입력된 직렬데이터 a와, 마찬가지로 입력 인터페이스의 일례가 되는 제 2 경로 입력단 INb로부터 입력된 직렬데이터 b와, 이 직렬데이터 b를 감수회로(502)를 이용하여 감수한 데이터 c를, 선택기(selector)(501)를 사용하여 출력 인터페이스의 일례가 되는 제 1 경로 출력단 OUT a 및 제 2 경로 출력단 OUT b로부터 선택적으로 출력한다.
감수회로(502)에는 운반회로(503)가 설치되고, 캐리 비트(carry bit)의 논리 레벨(“0”/ “1”)이 감수회로(502)의 입력측과 선택기(501)에 공급되도록 구성된다. 운반회로(503)는, 후술하는 제어 시작 비트에 의해 리세트(reset) 된다.
선택기(501) 및 운반회로(503)에는, 외부의 컨트롤러로부터 출력되는 페이즈(phase)데이터도 입력된다. 페이즈 데이터는, 교차점 제어 페이즈과 데이터 전송 페이즈을 형성하는 기능을 하며, “0” 또는 “1” 중 하나가 입력된다. 페이즈 데이터가 “0”인 때가, 어드레스 투입이 되는 교차점제어 페이즈이고, 페이즈 데이터가 “1”인 때가, 데이터 투입이 되는 데이터 전송 페이즈이다. 각 행(row, stage)의 모든 스위치 회로의 선택기(501) 및 운반회로(503)에 동일한 페이즈 데이터가 입력된다. 페이즈 데이터“ 0”으로부터 페이즈 데이터“ 1”로의 이행은, 모 든 주소비트가 전송된 뒤에 행해진다. 한편, 페이즈 데이터“ 1”으로부터 페이즈 데이터“ 0”로의 이행은, 컨트롤러의 지시에 기초하여 행해진다. 예컨대, 특정 노드라인의 입력단과 다른 노드라인의 출력단이 제 1경로를 경유하여 접속된 상태에서, 다른 입력단과 출력단과의 접속 관계를 변경할 필요가 있는 경우, 컨트롤러로부터의 상기 페이즈 데이터를 대응되는 스위치 회로의 선택기(501) 및 운반회로(503)에 입력함으로써, 실현할 수 있게 된다.
운반회로(503)는, 페이즈 데이터가 “0”인 때는 캐리비트를 전송하고, 페이즈 데이터가 “1”인 때는 캐리비트를 보유한다. 이 캐리 비트(carry bit)는, 후술하는 바와 같이, 페이즈 전환 동안에 중요한 데이터가 되는 것이다. 즉, 페이즈 데이터가 “1”이고 캐리 비트도 “1”인 경우는, 교차점 제어 페이즈에 있어서 투입된 지정 어드레스가 “0”인 상태, 즉, 당해 스위치 회로가 지정되어 있던 것을 나타낸다.
선택기(501)는, 소정의 규칙에 따라, 직렬데이터(serial data)의 선별을 행한다. 예를들어, 페이즈 데이터가 “0”인 때는 감수회로(502)로부터 출력된 데이터 "c"를 제 2 경로 출력단 OUTb를 통하여 출력한다.
페이즈 데이터가 “1”이고 캐리비트가 “0”인 때는, 제 1 경로 입력단 INa와 제 1 경로 출력단 OUTa, 제 2 경로 입력단 INb와 제 2 경로 출력단 OUTb을 각각 연결하고, 페이즈 데이터가 “1”이고 캐리비트가 “1”인 때는 제 1 경로 입력단 INa와 제 1 경로 출력단 OUTa, 제 1 경로 입력단 INa와 제 2 경로 출력단 OUTb을 각각 연결한다.
즉, 페이즈 데이터가 “1”인 경우, 스위치 회로의 제 1 경로의 출력단 OUTa로부터는, 캐리 비트의 값에 상관없이, 항상, 당해 스위치 회로의 전단(前段)의 스위치 회로(또는 어드레스 초기화부)로부터 당해 스위치 회로의 제 1 경로의 입력단 INa에 입력된 비트 값이 그대로 출력된다. 한편, 제 2 경로의 출력단 OUTb로부터는, 캐리비트가“0”인 때에는, 당해 스위치 회로가 그 제 2 경로의 입력단 INb에서 수신받은 비트 값 그대로, 캐리비트가“1”인 때에는, 당해 스위치 회로가 그 제 1 경로의 입력단 INa에서 수신받은 비트 값 그대로 출력된다.
상술한 바와 같이, 특정 노드라인의 입력단과 다른 노드라인의 출력단을 제 1경로를 통하여 접속한 상태에서 다른 입력단과 출력단과의 접속 관계를 변경할 필요가 있을 경우, 즉, 특정 노드라인만 출력 데이터를 변경할 (어드레스를 또 한번 통과시킴) 필요가 있을 경우는, 페이즈 데이터가 “0”인 때에 제 1 경로 입력단 INa와 제 1 경로 출력단 OUTa을 연결하고, 감수회로(502)의 출력(제 2 경로 입력단 1Nb)과 제 2 경로 출력단 OUTb을 연결하도록 한다.
또한, 상술한 리세트(reset)를 위한 제어 시작 비트 및 페이즈 데이터는, 컨트롤러로부터 명령열(command sequence)인 "지시 어레이(instruction array)" 로서 공급된다. 더욱이, 이후의 설명에서는, 제 1실시예의 설명과 어울리도록 하기 위해, 도 7에 도시된 바와 같이 구성되는 노드 컨트롤러는 스위치 회로(50)를 나타낸다.
<크로스바 스위치의 동작제어방법>
다음으로, 이 실시예에서의 크로스바 스위치의 동작제어방법을 도 6 및 도 8 내지 도 25를 참조하여 설명한다.
이 방법도 또한, 묘화장치의 컨트롤러에 의해 주도적으로 수행되지만, 상술한 바와 같이, 묘화장치와는 독립적으로 존재하는 컴퓨터와 프로그램과의 협동에 의해서 수행될 수도 있다.
여기서는, 전제로서, 도 6의 최상단에 보이는 바와 같이, 각각 8종류의 데이터 (데이터 0 내지 데이터 7)가 있고, 이들 데이터는, 도 6의 최하단에 보이는 라인 번호(라인 0 내지 라인 7)에 의해서 식별되는 노드 라인 중 하나를 통하여 경로전환부(21)로부터 출력되는 것으로 한다.
또, 이 실시예에서는, 각 라인 0 내지 7에는 데이터 0 내지 7이 각각 입력되고, 라인 0의 경로전환부(21)의 최종단의 스위치 회로로부터는 데이터 4를 출력시킨다. 마찬가지로, 라인 1로부터는 데이터 6, 라인 2로부터는 데이터 1, 라인 3으로부터는 데이터 3, 라인 4로부터는 데이터 4, 라인 5로부터는 데이터 5, 라인 6으로부터는 데이터 7, 라인 7로부터는 데이터 4가, 각각 최종단의 스위치 회로에서 출력된다.
이하의 설명에서는, 라인 번호를 n(0≤ n≤ 7, n은 정수)으로 하고, 각 데이터 0 ~ 데이터 7에 대해서, 당해 데이터가 어드레스 초기화부를 경유하여 제 1단에서 스위치회로로 입력되는 라인을「입력원 라인(supply lines)」이라고 기재한다. 어드레스 초기화부(AINI-1 ~ AINI-7)가 속한 라인 번호와 당해 각각의 어드레스 초기화부에 입력되는 데이터 번호는 일치하고 있기 때문에, 라인 번호 n이 그대로 데이터 번호가 된다. 예를 들어, 데이터 5의 입력원 라인은, 데이터 번호의 「5」를 그대로 사용하여 라인 5로서 명시된다.
또, 최종단에서 스위치회로로부터 데이터 n이 출력되는 라인을 데이터 n의 「출력선 라인」이라고 기재한다. 상술한 바와 같이, 라인 4에 입력된 데이터 4는, 라인 4, 라인 7, 라인 0의 각각으로부터 출력된다. 따라서, 데이터 4의 출력선 라인은 라인 4, 라인 7, 라인 0이 된다.
한편, 데이터 2는 어느 선에서도 출력되지 않기 때문에, 데이터 2를 위한 출력선 라인은 존재하지 않게 된다. 더욱이, 라인 n을 통하여 경로전환부(21)의 최종단의 스위치 회로로부터 출력되는 데이터를 "라인-n 출력 데이터"로 지칭한다. 예를 들어, 이하에서 설명하는 도 22에 도시된 바와 같이, 라인 0에서의 출력 데이터, 즉 라인-0 출력 데이터는 데이터 4이고, 라인-1 출력 데이터는 데이터 6이다.
각 노드라인의 스위치 회로(50)에는, 각각 7, 6, 5, 4, 3, 2, 1, 0의 순환성 어드레스 (수치 데이터)가 내림차순으로 할당되는 것으로 한다.
컨트롤러는, 표적 스위치 회로(50)를 지정하기 위해서, 라인 n의 어드레스 초기화부(20)에 대해서, 라인-n 출력 데이터의 입력원 라인의 라인 번호를 나타내는 3비트의 주소비트를 직렬적으로 입력한다. 이 실시예에서는, 데이터 번호를, 당해 데이터가 입력되는 어드레스 초기화부가 속한 라인 번호와 일치시키고 있기 때문에, 라인-n 출력 데이터의 데이터 번호는, 라인-n 출력 데이터의 입력원 라인의 라인 번호와 일치한다.
구체적으로는, 라인 0에 있어서, 라인-0 출력 데이터는 데이터 4이고, 이 데 이터 4의 입력원 라인은 라인 4이므로, 라인 0의 주소비트는 4가 된다. 또, 라인 1에 있어서는, 라인-1 출력 데이터는 데이터 6이고、라인 1의 주소비트는 6이 된다. 마찬가지로, 라인 2, 3, 4, 5, 6, 7에서의 주소비트는, 각각 1, 3, 4, 5, 7, 4가 된다.
본 실시예에서는, 라인 n의 어드레스 초기화부에, 데이터 n을 입력하기 전에, 상기한 바와 같이 정해진 라인 n 주소비트가 직렬적으로 입력된다.
도 6의 실시예에서는, 최우측열의 라인 0에는, 라인-0 출력 데이터인 데이터 4의 입력원 라인인 라인 4를 식별하기 위한 주소비트 “100”이 입력되고, 뒤이어 데이터 0이 입력된다. 도 6에는, 이 주소비트가 「어드레스 4」라고 기재되어 있다. 라인 1에는, 라인-1 출력 데이터인 데이터 6의 입력원 라인을 식별하기 위한 주소비트 “110”이 직렬적으로 입력된다. 마찬가지로, 라인 7에는 라인 4를 식별하기 위한 주소비트 “100”, 라인 2에는 라인 1을 식별하기 위한 주소비트 “001”, 라인 6에는 라인 7을 식별하기 위한 주소비트 “111”, 라인 3에는 라인 3을 식별하기 위한 주소비트 “011”, 라인 5에는 라인 5를 식별하기 위한 주소비트 “101”, 라인 4에는 라인 4를 식별하기 위한 주소비트 “100”이 각각 직렬적으로 입력되는 것이 도 6에 도시되어 있다. 어드레스 초기화부 (20)(AINI-0 ~ AINI-7)에서는, 당해 어드레스 초기화부가 속한 라인의 라인번호와 입력된 주소비트에 따라서, 지정 어드레스를 산출한다. 도 6에서는, 이 주소비트가 「어드레스 1」~「어드레스 6」으로 표시되어 있다. 또, 어드레스 초기화부 AINI-0 ~ AINI-7의 수치부분은, 어드레스 초기화부가 설치된 노드라인의 라인 번호를 표시하고 있다.
각 주소비트 가운데 최초의 비트 S는 제어개시 비트이고, LSB(Least Significant Bit)에 동기(同期) 되어 입력된다. 이 제어개시 비트가 각 스위치 회로(50)에 입력됨으로써, 운반회로(503)를 초기화하고, 선택기(501)가 주소비트를 1개 통과시킨다.
각 주소비트 중에 2번째의 비트 C는 제어 비트이고, 주 데이터에 동기되어 입력된다.
각 주소비트 중에 3번째의 비트는 종료비트이고, MSB(Most Significant Bit)에 동기되어 입력된다. 이 종료비트가 입력되었을 때에, 운반비트가 “1”이 되는 스위치 회로(50)는, 데이터 전송을 행하는 표적 스위치 회로가 된다.
도 6의 크로스바 스위치의 경로전환부(21)의 각 스위치 회로는, 제 1 경로와 제 2경로를 통하여 서로 접속되어 있다. 제 1 경로는 라인 n의 m번째 단의 스위치 회로를, 라인 (n-1)의 (m+1) 번째 단의 스위치 회로에 접속시킨다(1 < m < 8, m은 정수). 예를 들어, 도 6에서, 라인 4의 제 1단의 스위치 회로는, 제 1경로를 통하여 라인 3의 제 2단의 스위치 회로에 접속되어 있다. 또, 라인 0에서는, (n-1)의 값은 " - 1" 이 되지만, 등식 0 < n < 7 을 유지하기 위하여, 이 값을 7로 한다. 따라서, 라인 0은 제 1경로를 통하여 라인 7에 접속된다. 이와 같이, n 값은 0~7의 범위이고, … 2, 1, 0, 7, 6… 처럼 순환한다. m 값에 관해서는, 1 < m < 8이지만, 제 (8+1=) 9단은, 최종단에서의 스위치 회로에서 데이터가 출력되는 것을 의미하기 때문에, n과는 달리, m은 순환성 값은 되지 않는다.
또, 후술하는 바와 같이, 어드레스 초기화부(20)에서 제 1 경로와 제 2 경로의 접속형식이, 라인 0의 제 2 경로의 입력측에서 보여지는 것처럼, 라인 0의 제 1 경로, 라인 1의 제 1 경로, ··· 라인 7의 제 1경로라고 하는 순번으로 연결되게 되어 있기 때문에, 예를 들어, 라인-n 출력 데이터가 입력되는 노드라인의 라인 번호와, 라인-n 출력 데이터가 출력되는 노드라인의 라인 번호와의 연산에 따라서 지정 어드레스가 생성될 수 있다.
단, 이 실시예의 경우, 지정 어드레스는 0 ~ 7의 순환성을 갖는 수치 데이터 형식이기 때문에, 어드레스 초기화부(20)에서는, ···1→0→7→6··· 와 같은 순환성을 고려한 연산을 행한다.
상기한 바와 같이, 페이즈 데이터 “0”으로부터 페이즈 데이터 “1”로의 이행은, 모든 주소비트가 전송된 후에 행해진다. 따라서, 도 6 및 도 8 내지 도 22에 있어서, 경로전환부(21)의 각 스위치 회로에 있어서는, 주소비트 (본 실시예에서는 3비트)가 흐르고 있는 동안에 페이즈 데이터는“0”을 유지한다. 또한, 데이터는, 주소비트가 전부 흐른 뒤에 흐르기 때문에, 데이터가 흐르고 있는 중에는, 페이즈 데이터는 “1“을 유지한다.
여기에서, 상기한 바와 같이, 페이즈 데이터가 “1”인 경우, 캐리 비트의 값에 구애되지 않고, 각 스위치회로의 제 1 경로의 출력단 OUTa으로부터는, 항상 제 1 경로의 입력단 INa으로부터의 입력이 출력된다. 따라서, 라인 n의 m번째 단의 스위치 회로에 제 1경로를 통하여 (첫번째 단의 스위치 회로는 어드레스 초기화부로부터 데이터가 입력된다) 입력된 데이터는, 적어도 제 1 경로의 입력단 INa으로 부터 제 1 경로의 출력단 OUTa으로 흐르고 다음 라인인 라인 (n-1)의 다음 단, 즉 (m+ 1) 번째 단의 스위치 회로로 흐르는 것이 보증된다. (단, 0 < n < 7, 1 < m < 8, n, m은 정수).
예컨대, 도 6에 있어서, 데이터 4는, 어드레스 초기화부 AINI-4를 통하여 라인 4의 제 1단의 스위치 회로에 입력된다. 이 라인 4의 제 1단의 스위치 회로는, 제 1경로를 통하여 라인 3의 제 2단의 스위치 회로로 데이터 4를 전송한다. 라인 3의 제 2단의 스위치 회로는, 제 1경로를 통하여 라인 2의 제 3단의 스위치 회로로 데이터 4를 전송한다. 마찬가지로, 데이터 4는, 라인 1의 제 4단의 스위치 회로, 라인 0의 제 5단의 스위치 회로, 라인 7의 제 6단의 스위치 회로, 라인 6의 제 7단의 스위치 회로, 라인 7의 제 8단의 스위치 회로로 전송된다.
이와 같이, 데이터 4는, 제 1경로를 통하여 각 라인마다 1개의 스위치 회로를 흐르도록 보증된다. 마찬가지로, 데이터 0 ~ 3, 5 ~ 7 모두 각 라인마다 1개의 스위치 회로를 흐른다. 이상은 본원발명의 크로스바 스위치의 제 1경로를 통한 데이터의 흐름이다.
다음으로, 본원발명의 크로스바 스위치의 제 2 경로에 대하여 설명한다. 크로스바 스위치의 제 2 경로는, 항상 동일 라인의 스위치 회로를 접속시킨다. 도 6의 라인 4를 예로들면, 도면에 도시된 화살선 방향으로 AINI-4로부터 그림 중 하단부의 「라인 4」라는 기재에까지 뻗어있는 두꺼운 선이 제 2 경로가 된다. 따라서, 제 2경로를 통하여 데이터가 흐를 경우에는, 동일 라인의 제 1단, 제 2단, 제 3단, … 제 8단의 각 스위치 회로를 데이터가 흐르게 된다.
본 실시예에서는, 라인-n 출력 데이터로서 데이터 x를 라인 n의 경로전환부 (21)의 제 8단의 스위치 회로에서 출력시키기 위하여, 이 데이터 x가 실제로 라인 n에서 출력되도록 하기 위해서, 다음과 같은 처리를 행한다.
우선, 라인 n의 경로전환부(21)의 제 1단 내지 제 8단의 스위치 회로 가운데, 제 1경로를 통하여 데이터 x를 수신하는 스위치 회로를 지정한다. 지정하는 방법은 후술한다. 지정된 스위치 회로는, 제 1경로를 통하여 수신된 데이터 x를 제 2경로를 통하여 동일 라인의 다음의 단의 스위치 회로로 전송한다. 지정된 스위치 회로 이후의 단의 스위치 회로는, 제 2경로를 통하여 수신된 데이터 x를 제 2경로를 통하여 다음의 단의 스위치 회로로 전송한다. 유사한 공정을 되풀이하여, 제 8단의 스위치 회로는, 데이터 x를 제 2경로를 통하여 수신하고, 수신된 데이터 x을 출력한다. 이러한 방식으로, 데이터 x가 실제로 라인-n 출력 데이터로서 제 8단의 스위치 회로로부터 출력된다.
본 실시예에서는, 도 7에 도시된 바와 같이, 각 스위치 회로에는 2개의 출력단, 즉 제 1 경로 출력단 OUTa와 제 2 경로 출력단 OUTb를 설치할 수 있고, 제 8단의 스위치 회로는 제 2 경로 출력단 OUTb를 통해서만 데이터 x을 출력한다. 그러나 출력단 OUTa, OUTb 중 어느 쪽이 제 8단의 스위치 회로로부터의 데이터를 출력하는데 사용될지는 임의적이다. 데이터 x는, 제 1 경로 출력단 OUTa를 통해서만, 또는 양방의 출력단을 통하여 출력되어도 좋다.
다음으로, 개개의 라인에 주목하여 크로스바 스위치의 동작을 설명한다. 각 라인에 있어서는, 1개의 라인당 8개의 스위치 회로가 배치되어 있다. 각 라인의 경로전환부(21)의 제 1단의 스위치 회로는, 각각의 제 1경로를 통하여 각각 다른 데이터를 수신한다. 이하, 도 6의 라인 4의 각 단에 대해서, 데이터 0 ~ 7 가운데 어떤 데이터가 제 1경로를 통하여 입력될지를 설명한다. 라인 4의 제 1단의 스위치 회로에는 AINI-4를 통하여 데이터 4가 입력된다. 이 실시예에서, 데이터 4는 제 1단의 스위치회로의 제 1 경로 입력단 Ina에 의하여 수신된다. 제 2단의 스위치 회로는, 제 1경로를 통하여 라인 5의 제 1단의 스위치 회로에 접속되어 있다. 따라서, 라인 5의 어드레스 초기화부로부터 라인 5의 제 1단의 스위치 회로로 입력된 데이터 5가, 상기 제 1경로를 통하여 라인 5의 제 1단으로부터 라인 4의 제 2단의 스위치 회로로 입력된다. 즉, 라인 4의 제 2단의 제 1 경로 입력단 INa은, 데이터 5를 수신한다. 마찬가지로, 라인 4의 제 3단의 스위치 회로의 제 1 경로 입력단 INa은, 데이터 6을 수신한다. 라인 4의 제 4단, 제 5단, 제 6단, 제 7단, 제 8단의 각 스위치 회로의 제 1 경로 입력단 Ina은, 각각 데이터 7, 데이터 0, 데이터 1, 데이터 2, 데이터 3을 수신한다. 이와 같이 각 라인에 주목하면, 라인 n의 각 단의 스위치 회로의 제 1 경로 입력단 Ina이 수신하는 데이터는, 제 1단에서는 데이터 n, 제 2단에서는 데이터 (n + 1), 제 3단에서는 데이터 (n + 2), 제 4단에서는 데이터 (n + 3)… 제 m-1단에서는 데이터 {n + (m - 1)}, …제 8단에서는 데이터 (n + 7)이 된다. 단, n, m은 정수이고, 0 < n < 7, 1 < m < 8이며, {n + (m - 1)}의 값은, … 7, 8, 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, …와 같이, 1 ~ 8중에서 순환한다.
상기한 바와 같이, 스위치 회로가 어느 라인에 위치하는가에 상관없이, 제 m단의 스위치 회로에는 데이터 {n + (m - 1)}이 입력된다. 다시 말해서, 데이터 x를 라인 n의 라인-n 출력 데이터로 할 경우에는, x = {n + (m - 1)}의 관계가 성립하는 것이므로, 데이터 x가 입력되는 단의 번호 m은, m = x - n + 1 라는 식으로 표시된다.
예컨대 라인 6(즉 n=6)의 스위치 회로에 있어서, 데이터 7을 라인-6 출력 데이터로 하면(즉 x=7), 데이터 7이 입력되는 단의 번호 m = (7 - 6 + 1)= 2인 것으로, 데이터 7은 제 2단에 입력되는 것을 알 수 있다. 마찬가지로, 라인-6 출력 데이터가 데이터 5(즉 x=5)이면, (5 - 6 + 1) = 0 이지만, 상기한 바와 같이 단수는 1 ~ 8로 순환하기 때문에, 제 0단 = 제 8단이 되어, 그 결과, 데이터 7은 제 8단에 입력되게 된다. 실제로, 도 6에 있어서도, 모든 라인 및 모든 단에 대하여 상기한 바와 같은 관계가 성립한다.
이와 같은 전제 하에, 본 실시예에서는, 페이즈(phase) 데이터가 “1” 인 때에는, 라인 n(예컨대 도 6의 라인 6)의 각 단의 스위치 회로 중에서, 라인-n 출력 데이터로 예정된 데이터 x(도 6의 라인 6에 있어서는, 도 22에 도시된 바와 같이, 데이터 7이 라인-6 출력 데이터에 해당하여, x=7이 된다)가 제 1 경로의 입력단 INa로부터 입력되는 스위치 회로에서는 반드시 캐리 비트가 1이 되고, 한편, 제 2 경로의 입력단 INb로부터 데이터 x가 입력되는 스위치 회로에서는 캐리 비트가 반드시“ 0”이 되도록 크로스바 스위치가 구성되어 있다. 원칙적으로는, 상기 조건이 유지되지 않는 스위치 회로에서의 캐리비트는“ 0”이어도 되고 “1”이어도 된다. 본 실시예에서는, 상기 조건이 유지되지 않는 스위치 회로에서의 캐리비트의 값은 “0”이 된다.
후술하는 바와 같이, 본 실시예에서는, 도 7에 도시된 구성을 갖는 스위치 회로를 사용하여 지정 어드레스, 페이즈 데이터, 리세트입력을 적절하게 정함으로써 상기 언급된 구성을 달성한다. 이와 같은 구성을 가지고, 라인 n의 각 스위치 회로에서는, 데이터 x가 당해 스위치회로의 제 1 경로 입력단 INa을 통하여 입력되었을 경우, 동일한 스위치 회로의 제 2 경로 입력단 INb에 의해 수신된 데이터에 관계없이, 제 2 경로 출력단 OUTb을 통하여 데이터 x가 출력되고, 같은 라인에서의 다음 단의 스위치 회로의 제 2 경로의 입력단 INb에 입력된다. 상기 제 2경로를 통하여 데이터 x를 수신받은 스위치 회로에서는, 상기한 바와 같이 캐리비트의 값이“0”이기 때문에, 데이터 x는 제 2 경로의 출력단 OUTb를 통하여 출력되고, 연속되는 후단의 스위치 회로의 제 2 경로 입력단 INb에 입력된다. 연속되는 후단의 스위치 회로는, 제 2경로를 통하여 입력된 데이터를 동일한 라인의 다음 단의 스위치 회로로 출력한다. 따라서, 라인 n의 제 8단의 스위치 회로는, 라인-n 출력 데이터로서 데이터 x를 출력한다.
상기한 바로부터, 임의의 라인의 어드레스 초기화부에 입력되는 데이터를, 라인 n에서의 라인-n 출력 데이터로 사용할 수 있다. 또한, 라인과 데이터를 일 대 일로 대응시킬 뿐만 아니라, 복수의 라인을 통하여 동일한 데이터를 출력할 수도 있다. 예컨대, 도 22에 도시된 바와 같이, 라인 4, 라인 7 및 라인 0에 있어서는, 모두 라인 출력 데이터로서 데이터 4가 출력되고 있다.
이하, 상기한 바와 같이 캐리비트를 설정하기 위한 구성을 설명한다. 본 실시예에서는, 상기한 구성을 실현하기 위해서, 도 7에 도시된 스위치 회로를 사용하는 한편, 상기한 바와 같은 구성이 되도록, 지정 어드레스의 설정, 페이즈(phase) 데이터의 지정, 캐리비트값의 변경, 및 리세트 신호의 입력을 위한 타이밍을 확정하고 있다.
본 실시예에서는, 어드레스 입력을 위하여 교차점 제어 페이즈(phase)에서는 페이즈 데이터를 0으로 하고, 각 라인의 각각의 어드레스 초기화부에서 지정 어드레스를 관련 스위치 회로에 전송하고 있다. 또, 상기한 바와 같이, 노드 (스위치 회로)를 통과할 때마다, 지정 어드레스가 “1” 씩 감수되고 새로운 지정 어드레스가 생성되어 후단의 관련 스위치 회로로 출력된다. 어드레스 초기화부에서는, 지정 어드레스를 제 1단의 스위치 회로의 제 2 경로의 입력단 INb에, 데이터를 제 1단의 스위치 회로의 제 1 경로의 입력단 INa에 각각 입력한다. 페이즈 데이터가 “0” 인 때에는, 감수회로(502)로부터 출력된 데이터 c가 제 2 경로 출력단 OUTb를 통하여 출력된다. 상기한 바와 같이, 페이즈 데이터가 “0” 인 때에는, 스위치 회로는 캐리 비트를 전송한다.
상기한 지정 어드레스가 1비트씩 입력되는 캐리 비트 전송에서의 스위치 회로의 동작을 설명한다. 단순함을 위해, 여기서는 단일 스위치회로를 사용한 접속에 대하여 설명한다. 그러나 본 발명의 크로스바 스위치에서의 다른 모든 스위치회로에 대한 응용은 동일하다고 이해되어야 한다. 캐리 비트가 0인 경우, 제 2 경로 입력단 INb로부터 스위치회로로의 입력이 0인 때에는, 제 2 경로 출력단 OUTb의 출력은 0, 캐리비트는 0인 채로 유지된다. 캐리 비트가 0이고, 제 2 경로 입력단 INb로부터의 입력이 1인 때에는, 제 2 경로 출력단 OUTb의 출력은 1, 캐리비트는 0인 채로 유지된다. 캐리 비트가 1인 경우, 제 2 경로 입력단 INb로부터 스위치회로로의 입력이 0인 때에는, 제 2 경로 출력단 OUTb의 출력은 1, 캐리 비트는 1인 채로 된다. 캐리 비트가 1이고 제 2 경로 입력단 INb으로부터의 입력이 1인 때에는, 제 2 경로 출력단 OUTb의 출력은 0, 캐리 비트는 0이 된다. 즉, 각 스위치 회로로는, 1비트씩 직렬적으로 입력된 지정 어드레스의 각 비트에 대해서, 캐리 비트가 1인 때에는 감수(減數, decrement)하여 출력하고, 캐리 비트가 0인 때에는 감수하지 않는다. 그 결과, 각 스위치 회로에서는, 1비트씩 직렬적으로 입력되는 지정 어드레스를 1씩 감수하는 동작(1 decrement)이 직렬적으로 이루어진다. 이와 같은 구성에 의해, 후단의 스위치 회로로, 감수(減數)에 의해 바로 전단의 관련 스위치회로에서 제공된 지정 어드레스 비트보다 그 값이 1만 작아진 지정 어드레스가 직 렬적으로 입력된다.
여기에서, 상기한 스위치 회로의 동작에 있어서, 스위치 회로의 캐리 비트가 0인 때에는, 제 2 경로 입력단 INb에서 0, 1 중 어느 것이 입력되어도, 캐리 비트의 값은 0으로 유지된다. 한편, 스위치 회로의 캐리 비트가 1인 때에 제 2 경로 입력단 INb로부터의 입력이 0인 때에만 캐리 비트가 1인 채로 유지되고, 제 2 경로 입력단 INb로부터의 입력이 1이면, 캐리 비트는 1로 변경된다.
캐리 비트의 초기값은 1이고, 스위치 회로에 1 비트씩 입력되는 지정 어드레스의 각 비트 (본 실시예에서는 3개의 비트) 가운데, 1개라도 그 비트의 값이 1이면, 캐리 비트의 값은 0으로 되고, 그 후 캐리 비트의 값이 1이 되는 일은 없다.
스위치 회로에 입력되는 지정 어드레스의 값이 「0」이면, 지정 어드레스를 구성하는 모든 비트가 0임을 나타내며, 그러한 조건하에서는 그 스위치 회로의 캐리 비트는 1인 채로 유지된다. 따라서, 지정 어드레스가 0, 즉 “000”이 입력된 스위치 회로에 대해서는, 캐리 비트는 1인 채로 유지된다.
한편, 스위치 회로에 입력되는 지정 어드레스가 「0」 이외이면, 지정 어드레스를 구성하는 비트 가운데 적어도 1개는 그 값이 「0」이 된다. 따라서, 입력된 지정 어드레스가 0이 아닌 스위치 회로에서는, 3비트의 어드레스가 입력된 후의 캐리 비트의 값은, 반드시 「0」으로 되어 있다.
이러한 방식으로, 직렬적으로 입력된 지정 어드레스의 모든 비트가 “0”인 스위치 회로에 있어서만, 캐리 비트의 값이 “1”이 되는 것이 달성된다. 그 외의 스위치 회로에 있어서는, 지정 어드레스의 3비트 전부가 통과되어 데이터 입력이 행해져도 (즉 페이즈 데이터가 “1”이 되어도) 캐리 비트의 값은 0인 채로 유지된다. 이러한 구성에 의해, 「데이터 전송 페이즈 (페이즈 데이터=“1”)에 있어서, 제 1경로를 통하여 데이터 x가 입력되는 표적 스위치 회로를 지정하고, 지정한 스위치 회로의 캐리 비트의 값을 1로 유지하고, 그 외의 스위치 회로의 캐리 비트의 값을 0으로 변경한다」는 것이 실현된다.
한편, 「데이터 전송 페이즈에 있어서, 라인 n의 제 1단 ~ 제 8단에 배치된 스위치 회로 중에, 라인-n 출력 데이터로서 사용되어야 하는 데이터인 데이터 x가 제 1 경로 (또는 어드레스 초기화부)를 통하여 입력되는 스위치 회로를 지정」 하기 위한 구성을 이하에 나타낸다.
라인 n의 어드레스 초기화부에서는, 이와 같은 지정을 행하기 위해서, 라인-n 출력 데이터인 데이터 x가 제 1 경로 (제 1단에 있어서는 어드레스 초기화부)를 통하여 어떤 단의 스위치 회로로 입력될 지를 연산한다. 상기한 바와 같이, 라인 n의 스위치 회로에 있어서는, 데이터 x는, 제 (x - n + 1) 단에 입력된다. 또, 상기한 바와 같이, 지정 어드레스는 도 7의 감수회로(502)에 의해 감수된 후에 다음 단계의 스위치 회로에 입력되기 때문에, 제 (x - n + 1) 단에 있어서는, 지정 어드레스가 (x - n) 회 감수된 후에 입력되게 된다. 상기한 바로부터, 라인 n의 어드레스 초기화부에서는, 지정 어드레스를 (x - n)으로서 산출한다.
이제 각각의 라인에 초점을 맞추어 설명한다. 라인 6에 주목하면, 라인 6에 입력되는 데이터 6이 라인-1 출력 데이터일 경우, n=1, x= 6인 것으로, 어드레스 초기화부 AINI-1에서는, 지정 어드레스의 값을 (6 - 1)= 5로 산출한다. 지정 어드레스는, 라인 1의 제 1단, 제 2단, 제 3단, 제 4단, 제 5단의 각 경로전환부(21)의 행(行)의 스위치 회로에서 각각 「1」 씩 감수(減數, decrement)된다. 따라서, 제 6단의 행의 스위치 회로에서, 지정 어드레스는, 5회 감수되어「0」으로 되고, 이것에 의해, 라인 1의 제 6단의 행의 스위치 회로가, 「라인-1 출력 데이터인 데이터 6이 제 1 경로에서 입력되는 표적 스위치 회로」로서 인식된다.
또한, 라인 7(n= 7)에서는, 라인 4에 입력되는 데이터 4(x= 4)가 라인-7 출력 데이터로 되기 때문에, (x - n)의 값은 4 - 7 = -3이 된다. 그러나 어드레스 초기화부 AINI-7에서는, 본 발명의 크로스바 스위치의 순환성(circulating feature)에 따라, 뺄셈 결과인 「- 3」에 순환 사이클인 8을 가산한 「5(“101”)」을 출력한다. 이와 같이, 수치 8을 규칙으로 한 모듈로 연산(modulo operation)을 행함으로써, 순환 사이클을 고려한 연산 결과를 얻을 수 있다.
직렬 감산기 등을 사용하여 2진법의 뺄셈을 직렬적으로 행함으로써, 상기한 바와 같이 순환성을 반영시킨 각각의 지정 어드레스를 출력하도록 어드레스 초기화부를 구성할 수 있다. 또한, 각각의 어드레스 초기화부는, 당해 어드레스 초기화부 자체를 설치할 수 있는 라인 번호를 참조할 수 있다는 점이 주목된다. 예컨대, 어드레스 초기화부에 설치된 메모리에 상기 라인 번호를 기록함으로써 성취된다.
또, 어드레스 초기화부에도 상기의 페이즈 데이터가 공급된다. 어드레스 초기화부 AINI-n에 있어서, 페이즈 데이터가 0인 때에는 상기한 뺄셈작동이 행해진다. 한편, 페이즈 데이터가 1인 때에는, 어드레스 초기화부 AINI-n은 입력되는 데이터 n을 통과시켜 제 1단의 스위치 회로로 보낸다.
다음으로, 상기뺄셈의 원리를 설명한다. 페이즈 데이터가 0인 때의 뺄셈연산은, 1비트씩 직렬적으로 행해진다. 예컨대, 상기한 어드레스 초기화부에서, 라인-7 출력 데이터의 데이터 번호인 4(“100”)로부터 라인 7의 라인 번호인 7(“111”)을 뺄셈할 경우, 다음과 같은 처리가 이루어진다.
우선, 라인-n 출력 데이터의 데이터 번호(상기한 어드레스 초기화부 AINI-7의 실시예에서는 “100”)의 최초의 비트가 어드레스 초기화부 AINI-n에 입력된다 (단순함을 위해, 상기 입력을 P라고 한다). 한편, 라인 n에 설치된 어드레스 초기화부 AINI-n에서는, 라인 n의 라인 번호 n(상기한 실시예에서는 “111”)의 최초의 비트를 읽기 시작한다(상기 읽기 시작한 비트를 Q라고 한다). 상기 어드레스 초기화부 AINI-n에서는, 캐리비트를 R로 표시하고, P - Q - R을 연산하여, 그 연산 결과를 제 1단의 스위치 회로로 출력한다.
단, 이 연산에 있어서, 캐리비트의 디폴트(default) 값은 0이다. 또, 연산 결과가 음(-)인 경우에는, 캐리비트는, 연산 전의 상태에 관계없이, 1로 설정된다. 또, 연산 결과에 「2」를 더한 합계가 어드레스 초기화부 AINI-n으로부터 출력된 다. 이렇게 함으로써, 1비트씩의 직렬 입력에 의한 뺄셈이 행해진다.
도 8은, 교차점 제어 페이즈를 개시하기 위해서 최하위 비트의 직렬데이터(어드레스)인 제어개시 비트 S가 어드레스 초기화부(20)에 입력된 상태를 도시하고 있고, 도 9는 최하위 비트에 이어지는, 2번째 비트의 직렬데이터(어드레스)인 제어 비트 C가 어드레스 초기화부(20)에 입력되고, 최하위 비트는 제 1단의 행의 스위치 회로(50)에 입력된 상태를 도시하고 있고, 도 10은 3번째 비트의 직렬데이터(어드레스)인 제어 종료 비트 E가 어드레스 초기화부 (20)에 입력되고, 1번째 비트는 제 2단의 행의 스위치 회로(50)에, 2번째 비트는 제 1단의 행의 스위치 회로(50)에 입력된 상태를 도시하고 있다.
이들 3비트 전부가 어드레스 초기화부(20)를 통과한 순간에 얻어진 수치는, 상기한 뺄셈결과를 나타내는 것이 된다.
도 8에 있어서, 라인 7에 대하여 실시예로서 설명하면, x = 4 라는 값은, 라인-7 출력 데이터인 데이터 4로부터 도출될 수 있고, 라인 번호 7로부터는 n= 7 이라는 값이 도출될 수 있다. 어드레스 초기화부 AINI-7에는, x= 4(“100”)에 의해 주어지는 최하위 비트 「0」이 입력된다. 어드레스 초기화부 AINI-7에서는, n= 7(“111”)의 최하위 비트 「1」을 상기한 메모리로부터 읽기 시작하여 0에서 1을 뺄셈하고, 이어서 캐리비트의 디폴트값“ 0”을 뺄셈한다.
The subtraction result is 0 - 1 - 0 = -1. 뺄셈결과는 0 - 1 - 0 = - 1이 되지만, 상기한 바와 같이 이 값에 2를 더한 값인 “1”이 지정 어드레스의 최하위 비트로서 제 1단의 스위치 회로에 공급된다(도 8의 AINI-7에서의 「0→ 1」에 대응). 상기 도면에는 도시되어 있지 않지만, 연산 결과가 음(-)값을 가지므로, 상기한 원리에 따라 캐리비트는“ 1”이 된다.
도 9에 있어서, x=“100”의 2번째 비트“ 0”이 어드레스 초기화부 7에 입력되고, n= “111”의 2번째 비트 “1”이 메모리로부터 읽혀져 뺄셈 된다. 여기서 캐리비트 값이 “1”이므로, 이 비트의 뺄셈결과는 0 - 1 - 1 = - 2가 된다.
상기한 원리에 따라, 연산 결과의 값에 2를 더한 “0”이 제 1단의 스위치 회로에 공급된다 (도 9의 AINI-7에서의 「0→ 0」에 대응). 또, 연산 결과가 음(-)이므로, 캐리비트는“ 1”이 된다.
도 10에 있어서, x=“100”의 최상위 비트“ 1”이 AINI-7에 입력되고, 그것으로부터 n=“111”의 최상위 비트 “1”이 뺄셈 되고, 이어서 캐리비트 값“ 1”이 또한 뺄셈 된다. 이 뺄셈결과는, 1 - 1 - 1 = - 1 이 되지만, 상기한 원리에 기초하여, 상기 뺄셈결과에 2를 더하여“ 1”이 출력된다. 이것에 의해 지정 어드레스의 3번째의 비트는 “1"이 된다 (도 10의 AINI-7에서의 「1→ 1」에 대응). 이들 처리를 행하여, 지정 어드레스로서「101」, 즉 5를 얻을 수 있다. 상기한 바에서 명백하듯이, 캐리비트를 사용함으로써, 라인-n 출력 데이터의 데이터 번호인 x로부터 라인 번호 n을 뺄셈한 결과를 얻을 수 있다.
계속해서, 4번째 비트의 직렬데이터(전송대상 데이터)가 어드레스 초기화부(20)에 입력되면, 지정 어드레스의 제어 종료 비트 E가, 경로전환부(21)의 제 1단의 행의 스위치 회로(50)에 입력된다. 이때의 상태를 나타낸 것이 도 11이다.
도 11에서는, 라인 4, 라인 5, 라인 3의 제 1단의 스위치 회로(50)의 캐리 비트가 ”1”이다. 따라서, 상기한 바와 같이, 이들 라인 4, 5, 3에서는, 제 1단의 행의 스위치 회로(50)가 데이터 전송을 행하는 스위치 회로로서 지정된 것이 되기 때문에, 이들 스위치 회로(50)에서는, 제 1경로를 지나가는 직렬 데이터가 제 2 경로로 전송되고, 각 데이터가 출력단에 이를 때까지, 동일 노드라인(제 2 경로)의 후단의 스위치 회로(50)를 그 상태 그대로 지나간다.
도 12는, 라인 6의 제 2단의 스위치 회로(50)가 데이터 전송을 행하는 스위치 회로로서 선정된 상태를 나타내고 있다.
그 후에, 도 13 및 도 14에 도시된 바와 같이, 1단씩 직렬데이터가 전송되고, 도 15에 도시된 상태에서, 라인 0의 제 5단의 행의 스위치 회로(50)가 데이터 전송을 행하는 스위치 회로로서 선정되어 있다.
도 16에 도시된 상태에서, 라인 1 및 라인 7의 제 6단의 행의 스위치 회로(50)가 데이터 전송을 행하는 스위치 회로로서 지정되어 있다.
또한, 도 17에 도시된 상태를 거쳐, 도 18에 도시된 상태에서, 라인 2의 최하단의 스위치 회로가 데이터 전송을 행하는 스위치 회로(50)로서 지정되어 있다.
그리하여, 각 노드라인에서의 각각의 스위치 회로(50)에 있어서 지정 어드레스의 모든 주소비트의 입력이 끝나면, 그 다음의 동작 타이밍부터 데이터 전송 페이즈로 들어간다. 곧 이어서, 도 19 ~ 도 21의 순서로 데이터가 각 스위치 회로(50)를 통과하여, 각 노드라인의 출력단으로부터, 각각 1비트씩 출력된다.
도 22는 어떤 경로가 선정되어 이들 직렬데이터가 전송되고, 최종적으로 어 떠한 상태로 출력단으로부터 출력되는지를 도시하고 있다.
이와 같이, 제 2실시예의 크로스바 스위치에서는, 데이터 전송 페이즈와 교차점 제어 페이즈가 분리되어 있기 때문에, 교차점 제어를 행하기 위해 제어선과 데이터출력선이 공유화될 수 있어, 크로스바 스위치 내의 배선 수를 대폭으로 줄일 수 있고, 크로스바 스위치의 소형화를 실현할 수 있다.
더욱이, 노드 간의 거리가 동일 또는 거의 동일이 되도록 배선하고, 이것을 인터페이스 부품을 거쳐서 다단 접속함으로써 크로스바 스위치의 규모를 사후적으로 확대하는 것이 용이하게 된다.
더욱이, 인스트럭션 어레이(array)를 사용하여, 데이터 전송과 거의 같은 시간에 교차점 제어를 행할 수 있기 때문에, 교차점 제어 페이즈의 비율이 낮은 처리의 경우에는, 보다 고속으로 데이터 전송처리를 실현할 수 있다.
제 2실시예의 크로스바 스위치는 실질적으로 다양한 형태로 이용가능하다. 예컨대, 도 23에 도시된 바와 같은, 일반적인 크로스바 스위치의 이용형태 외에도, 도 24에 도시된 바와 같은 멀티캐스트 시스템(multi cast system), 도 25에 도시된 바와 같은 브로드 캐스트 시스템(broadcast system)도, 본 실시예의 크로스바 스위치에 따르면, 용이하게 실현될 수 있다.
이들 도면에 있어서, 도면부호 22로 도시된 영역의 수치는, 그 노드라인으로부터 출력요망되는 데이터가 입력되는 노드라인의 라인 번호이고, 경로전환부(21)에서의 수치는, 각 노드라인의 스위치 회로 (50)의 어드레스이다. 각 스위치 회로 (50) 상에 기술되어 있는 수치는, 거기서 감수된 어드레스이다. 어드레스 초기화부(20)에서의 수치는, 지정 어드레스이고, 상기한 바와 같이, 출력요망되는 노드라인의 라인 번호로부터 데이터가 지나가는 노드라인의 라인 번호를 뺄셈함으로써 유래된다.
도 24의 실시예에서는, 라인 2, 라인 3, 라인 5, 라인 6에서 각각 라인 번호 0에 의해 식별되는 노드라인의 입력단에서 입력되는 데이터를 동시에 출력하는 동시에, 라인 4와 라인 7에서 라인 번호 2에 의해 식별되는 노드라인의 입력단에서 입력되는 데이터를 출력시킬 경우의 실시예가 도시되어 있다.
도 25에는, 라인 번호 3에 의해 식별되는 노드라인의 입력단에서 입력되는 데이터가 라인 0 내지 라인 7의 모든 라인으로부터 동시에 출력되는 경우의 실시예가 도시되어 있다.
이와 같이, 입력 N(N은 자연수) 종류 대 출력 N종류의 데이터 경로의 전환 패턴뿐만 아니라, 입력 N종류 대 출력 M(N< M) 종류의 데이터 경로의 전환 패턴을 실현할 수 있다. 게다가, 라인 번호를 특정하는 것만으로도 지정 어드레스가 생성되고, 상기 지정 어드레스에 대응하는 각 노드라인의 스위치 회로(50)가 자율적으로 데이터 전송을 행하기 때문에, 제 1실시예의 경우와 유사하게, 교차점제어의 형태가 대단히 간략화된다.
변형 실시예로서, 경로전환부 21에서의 제 1 경로와 제 2 경로는, 도 26에 도시된 경로전환부 23과 같이 설정하는 것도 가능하다.
도 26은, 제 1 경로가, 상기 언급된 전단의 스위치 회로(50)의 출력단과, 그 스위치 회로(50)의 다음 단의 행으로서 인접한 열에 존재하는 또 다른 스위치 회로(50)의 입력단과의 사이에 설정되어 있는 경우의 실시예를 도시한 것이다. 또, 상술한 제 2실시예의 크로스바 스위치는, 1행마다 파이프 라인화 할 경우의 실시예를 나타내고 있지만, 도 26에 도시된 크로스바 스위치에서는, 복수 행을 통합하여 파이프 라인화 하고 있다. 즉, 각 노드라인의 동작 페이즈를, 복수 행 단위로 하여, 페이즈0 내지 페이즈4와 같이 전환하도록 한 것이다.
또한, 도 26에 도시된 구성에서는, 선정경로가 최좌단열에 도달했을 때는 다음 단의 행의 최우단열의 스위치 회로(50)의 입력단으로 돌아오게 되어 있지만, 직접 아래 행의 오른편의 스위치 회로(50)의 입력단으로 돌아오도록 해도 좋다.
이상, 본 발명을 2개의 실시예를 들어 설명했지만, 이들 실시예는, 본 발명의 범위를 한정하는 것은 아니다.
예컨대, 제 1 및 제 2 실시예에서는, 어드레스 및 지정 어드레스가 내림차순의 수치 데이터이고, 상기 지정 어드레스가 노드를 통과할 때마다 감수되어 ”0”으로 되었을 때에 데이터 전송이 실행되는 실시예, 다시 말하면, 노드 어드레스가 나타내는 특정값을 간접적으로 특정할 경우의 실시예를 설명했지만, 어드레스 및 지정 어드레스를 오름차순의 수치 데이터로 하고, 노드를 통과한 결과 어드레스가 나타내는 값이 증가함으로써 미리 그 노드에 할당된 고유의 값에 이르러 특정되었을 때에, 즉 노드의 어드레스에 의해 표시된 특정값이 직접적으로 특정되었을 때에, 그 노드상의 스위치 회로(50)가 동작하여 데이터 전송을 행하도록 하는 구성도 가능하다.
특정값이 간접적으로 특정될 경우의 어드레스를 상대 어드레스, 특정값이 직접적으로 특정될 경우의 어드레스를 절대 주소로 하면, 상기한 크로스바 스위치의 실시예, 특히 제 2실시예의 크로스바 스위치의 실시예에서는, 어드레스 초기화부(20) 이후의 어드레스에서는, 어떤 라인으로부터 데이터가 수집되었는가를 나타내는 값을 자신의 어드레스와 관련하여 상대적인 값으로 입력해야 하기 때문에, 동작의 정합성을 제공하기 위해, 어드레스 초기화부(20)에서 상대 어드레스로부터 절대 어드레스로 변환할 필요가 있다. 이때, 어드레스 변환 중에 쌍방의 어드레스 관계를 미리 규정한 어드레스 변환표를 준비해 두는 것이, 처리의 신속화의 관점으로부터는 바람직하다.
또, 본 발명에 따른 크로스바 스위치는, 버퍼(1)와 픽셀 파이프라인 프로세서(2)와의 사이에 개재되어 데이터 경로를 선택하는 경우뿐만 아니라, 병렬 컴퓨터, ATM(비동기전송 모드: Asynchronous Transfer Mode), 이더넷(Ethernet, 등록상표) 등에서의 데이터 전송, 데이터 통신처리에서의 데이터 경로의 선택, 및 다른 용도에 응용하는 것도 가능하다.
이상의 설명에서 분명하듯이, 본 발명에 따르면, 스위치 수가 증대된 경우에도, 배선수를 증가시키는 것도 없고, 데이터 경로의 교환처리를 행할 때 스위치 제어를 복잡하게 하는 것도 없이, 소형이면서 동시에 저비용의 크로스바 스위치를 제 공할 수 있다. 또, 본 발명에 따르면, 다단 파이프 라인에도 적응가능한 크로스바 스위치를 제공할 수 있다.

Claims (18)

  1. 서로 캐스케이드(cascade) 접속된 다단의 노드의 각각에 노드 컨트롤러(5,50)가 배치되어 있고,
    각 노드 컨트롤러(5, 50)는,
    표적 노드 컨트롤러(5, 50)가 존재하는 상대위치를 직접적 또는 간접적으로 특정하기 위한 어드레스 정보를, 전단 노드로부터 입력받아 구성되는 입력 인터페이스(INa, INb)와;
    입력된 어드레스 정보가 특정 값을 나타내고 있는지 여부를 판별하여, 특정 값을 나타낸다고 판별했을 때에 소정의 데이터출력 라인으로 데이터출력을 가능케 하는 동시에, 상기 입력된 어드레스 정보를 소정의 규칙에 따라 변화시킨 새로운 어드레스 정보를 생성하도록 구성되는 스위치; 및
    이 새로운 어드레스 정보를 후단 노드로 출력하는 출력 인터페이스(OUTa, OUTb) 를 가지며,
    상기 어드레스 정보는, 어드레스 정보가 입력되는 노드라인의 최종단의 노드로부터 출력되는 데이터를 지정하도록 구성되는 것을 특징으로 하는 크로스바 스위치(crossbar switch)(3).
  2. 제 1항에 있어서,
    상기 어드레스 정보는 주기성(periodic)의 수치 데이터이고,
    상기 출력 인터페이스는, 상기 수치 데이터를 소정 값만 동일변화 방향으로 증가 또는 감소시킴으로써 상기 새로운 어드레스 정보를 생성하도록 구성되는 것을 특징으로 하는 크로스바 스위치(3).
  3. 제 2항에 있어서,
    상기 어드레스 정보는, 개시 비트와 종료 비트를 포함하는 직렬데이터(serial data)인 것을 특징으로 하는 크로스바 스위치(3).
  4. 제 1항에 있어서,
    각각 상기 다단의 노드를 포함하는 복수의 노드라인(node line)을 포함하고,
    각 노드 라인 상의 노드 컨트롤러(5, 50)는, 다른 노드 라인 상의 노드 컨트롤러(5,50)와 비동기적으로 동작하는 것을 특징으로 하는 크로스바 스위치(3).
  5. 제 1항에 있어서,
    각각 상기 다단의 노드를 포함하는 복수의 노드라인(node line)을 포함하고,
    각 노드 라인 상의 노드 컨트롤러(5, 50)는, 적어도 병행 동작하는 다른 노드 라인 상의 노드 컨트롤러(5, 50)와 동일한 클록 타이밍(clock timing)에 동작하는 것을 특징으로 하는 크로스바 스위치(3).
  6. 제 1항에 있어서,
    상기 다단의 노드 각각이 소정의 데이터 메모리의 출력 어드레스와 1대 1로 대응되고,
    각 노드 컨트롤러(5, 50)의 스위치는, 작동시에, 당해 노드에 대응되는 상기 출력 어드레스를 통하여 상기 데이터 메모리로부터 출력되는 데이터를 상기 데이터출력 라인으로 출력하도록 구성되는 것을 특징으로 하는 크로스바 스위치(3).
  7. 제 5항에 있어서,
    전단 노드로부터 각 노드 라인 상의 각 노드 컨트롤러(5, 50)로 데이터를 입력하는 동시에, 이 데이터를 다른 노드라인의 후단 노드로 출력하는 제1경로(path)와,
    전단 노드로부터 상기 어드레스 정보를 입력하는 동시에 상기 새로운 어드레스 정보를 동일 노드라인의 후단 노드로 출력하는 제 2 경로(path)가 설정되는 것을 특징으로 하는 크로스바 스위치(3).
  8. 제 7항에 있어서,
    상기 노드 컨트롤러(5, 50)는, 복수의 노드 라인 상에 행렬 매트릭스 모양으로 배열되고,
    상기 제 2 경로는, 각 노드라인의 열 방향(column direction)으로 설정되며,
    상기 제 1 경로는, 전단의 노드 컨트롤러(5, 50)의 출력단과, 그 노드 컨트롤러(5, 50)의 다음 단의 다른 열에 존재하는 노드 컨트롤러(5, 50)의 입력단과의 사이에 설정되는 것을 특징으로 하는 크로스바 스위치(3).
  9. 제 8항에 있어서,
    각 노드 컨트롤러(5, 50)에서 상기 제 1 경로(path)와 상기 제 2 경로(path)가 동일한 노드길이를 갖는 것을 특징으로 하는 크로스바 스위치(3).
  10. 제 8항에 있어서,
    적어도 동일한 행 방향(row direction)으로 배열된 상기 모든 노드 컨트롤러(5, 50)는, 동일한 동작 타이밍을 정하는 클록 신호(clock signal)에 따라 동작하는 것을 특징으로 하는 크로스바 스위치(3).
  11. 제 8항에 있어서,
    상기 제 1 경로(path)가, 전단의 노드 컨트롤러(5, 50)의 출력단과, 그 노드 컨트롤러(5, 50)의 다음 단의 이웃 열(column)에 존재하는 노드 컨트롤러(5, 50)의 입력단과의 사이에 설정되는 것을 특징으로 하는 크로스바 스위치(3).
  12. 제 8항에 있어서,
    상기 제 1 경로의 일부 또는 전부는, 전단의 노드 컨트롤러(5, 50)의 출력단과, 그 노드 컨트롤러(5, 50)의 다음 단의, 그 노드 컨트롤러(5, 50)로부터 복수의 열만큼 떨어진, 위치에 존재하는 노드 컨트롤러(5, 50)의 입력단과의 사이에 설정되는 것을 특징으로 하는 크로스바 스위치(3).
  13. 제 12항에 있어서,
    열 방향(column direction)의 최단부에 위치하는 노드 컨트롤러(5, 50)에 대한 상기 제 1 경로는, 당해 각 노드 컨트롤러(5, 50)의 출력단과, 다음 단의 인접한 위치에 존재하는 노드 컨트롤러(5, 50)의 입력단과의 사이에 설정되는 것을 특징으로 하는 크로스바 스위치(3).
  14. 제 8항에 있어서,
    상기 복수의 노드라인의 각 입력단에 어드레스 정보생성수단이 설치되며,
    상기 어드레스 정보생성수단은, 당해 어드레스 정보생성수단이 위치하는 노드라인을 식별하는데 사용되는 제 1 라인 식별 데이터, 및 당해 어드레스 정보생성수단이 위치하는 라인의 최종단의 노드에 설치된 스위치로부터 출력되는 데이터가 입력될 노드라인을 식별하는데 사용되는 제 2 라인 식별 데이터에 따라, 상기 어드레스 정보를 생성하는 것을 특징으로 하는 크로스바 스위치(3).
  15. 제 8항에 있어서,
    컴퓨터에 탑재 가능한 패키지에 수용되어 있으며,
    상기 복수의 노드라인의 입력단에는, 당해 입력단에 입력되는 데이터를 보유한 제 1 디바이스에 접속하기 위한 인터페이스 구성요소가 구비되고,
    상기 복수의 노드라인의 출력단에는, 각 노드라인과 1대 1로 대응하는 연산 파이프라인을 가진 제 2 디바이스에 접속하기 위한 또 다른 인터페이스 구성요소가 구비되는 것을 특징으로 하는 크로스바 스위치(3).
  16. 제 8항에 있어서,
    컴퓨터에 탑재 가능한 패키지에 수용되어 있으며,
    상기 복수의 노드라인의 입력단 및/또는 출력단에, 동일구성의 다른 크로스바 스위치(3)의 복수의 노드라인에 접속하기 위한 인터페이스 구성요소가 구비되는 것을 특징으로 하는 크로스바 스위치(3).
  17. 서로 캐스케이드(cascade) 접속된 다단 노드를 포함하며, 입력된 데이터가 전송되는 복수의 노드라인을 가지며, 상기 각 노드에 노드 컨트롤러(5, 50)가 배치된 크로스바 스위치의 동작제어 방법으로서,
    상기 크로스바 스위치를 제어하는 장치가, 데이터를 출력시키는 노드라인의 식별정보와 작동될 노드 컨트롤러의 상대적 위치를 나타내는 정보로부터 어드레스 정보를 생성하고, 이 어드레스 정보를 표적 노드라인의 최초단(initial stage)의 노드에 입력하는 단계와;
    상기 어드레스 정보가 입력된 노드라인의 각 노드에 존재하는 노드 컨트롤러 (5, 50)가, 입력된 어드레스 정보가 특정값을 나타내고 있는지 여부를 판별하여, 특정값을 나타낸다고 판별했을 때는 당해 노드 라인 상의 데이터를 출력하는 동시에, 상기 입력된 어드레스 정보를 소정 값만 변화시킨 새로운 어드레스 정보를 생성하고, 이 새로운 어드레스 정보를 후단 노드에 출력하는 단계를 포함하며,
    상기 어드레스 정보는 상기 어드레스 정보가 입력되는 노드라인의 최종단의 노드라인으로부터 출력되는 데이터를 지시하도록 구성되는 것을 특징으로 하는, 크로스바 스위치(3)의 동작제어방법.
  18. 서로 캐스케이드(cascade) 접속된 다단 노드를 포함하고, 입력된 데이터가 전송되는 복수의 노드라인을 가지며, 상기 각 노드에 노드 컨트롤러(5, 50)가 배치된 크로스바 스위치(3)를 탑재하고 있는 컴퓨터에 의해 수행되며, 각 노드 컨트롤러(5, 50)가 다음과 같이 동작하도록 하는 크로스바 스위치의 동작제어용 프로그램으로서,
    (1) 표적 노드 컨트롤러(5, 50)가 존재하는 상대적 위치를 직접적 또는 간접적으로 특정하기 위한 어드레스 정보를 입력하고, 상기 어드레스 정보는 상기 어드레스 정보가 입력되는 노드라인의 최종단의 노드로부터 출력되는 데이터를 지정하도록 구성되고;
    (2) 입력된 어드레스 정보가 특정값을 나타내고 있는지 여부를 판단하고, 상기 특정 값이 나타난다고 판단되면 각 노드 라인 상에 존재하는 데이터를 출력하는 동시에;
    (3) 상기 입력된 어드레스 정보를 소정 값만 변화시킨 새로운 어드레스 정보를 생성하고, 이 새로운 어드레스 정보를 후단 노드에 출력하는 것을 특징으로 하는, 크로스바 스위치(3)의 동작제어 프로그램.
KR1020057017854A 2003-03-24 2004-03-16 크로스바 스위치, 그 동작제어방법 및 동작제어용프로그램 KR100639869B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2003-00081258 2003-03-24
JP2003081258 2003-03-24

Publications (2)

Publication Number Publication Date
KR20050119655A KR20050119655A (ko) 2005-12-21
KR100639869B1 true KR100639869B1 (ko) 2006-10-31

Family

ID=33094890

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057017854A KR100639869B1 (ko) 2003-03-24 2004-03-16 크로스바 스위치, 그 동작제어방법 및 동작제어용프로그램

Country Status (8)

Country Link
US (1) US7406075B2 (ko)
EP (1) EP1606716B1 (ko)
KR (1) KR100639869B1 (ko)
CN (1) CN1777878A (ko)
AT (1) ATE333679T1 (ko)
DE (1) DE602004001583T2 (ko)
TW (1) TWI278758B (ko)
WO (1) WO2004086242A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1606716B1 (en) * 2003-03-24 2006-07-19 Sony Computer Entertainment Inc. Crossbar switch, method and program for controlling operation thereof
CN100384169C (zh) * 2005-10-19 2008-04-23 华为技术有限公司 接入设备中的主从框级联系统
JP4841358B2 (ja) * 2006-08-18 2011-12-21 富士通株式会社 リクエスト送信制御装置およびリクエスト送信制御方法
JP2011022727A (ja) * 2009-07-14 2011-02-03 Sony Corp 画像処理装置および画像処理方法
US9215112B2 (en) 2010-02-23 2015-12-15 Rambus Inc. Decision feedback equalizer
JP5949312B2 (ja) * 2012-08-16 2016-07-06 富士通株式会社 並列計算機システム、データ転送装置及び並列計算機システムの制御方法
JP6572145B2 (ja) * 2016-01-27 2019-09-04 ミネベアミツミ株式会社 スイッチユニット、および、自動販売機
US10135642B2 (en) 2016-02-29 2018-11-20 Rambus Inc. Serial link receiver with improved bandwidth and accurate eye monitor
CN110032537B (zh) * 2019-03-27 2021-04-09 深圳市明微电子股份有限公司 地址写入方法、地址写入装置及计算机可读存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4365292A (en) * 1979-11-26 1982-12-21 Burroughs Corporation Array processor architecture connection network
JPS61214694A (ja) * 1985-03-18 1986-09-24 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション データ伝送のスイッチング装置
CA1292054C (en) * 1987-05-15 1991-11-12 Hitachi, Ltd. Packet switching equipment and a packet switching method for controlling packet switched networks
US5157654A (en) * 1990-12-18 1992-10-20 Bell Communications Research, Inc. Technique for resolving output port contention in a high speed packet switch
US5287346A (en) * 1991-10-16 1994-02-15 Carnegie Mellon University Packet switch
US5754792A (en) * 1992-03-19 1998-05-19 Hitachi, Ltd. Switch circuit comprised of logically split switches for parallel transfer of messages and a parallel processor system using the same
US5541914A (en) * 1994-01-19 1996-07-30 Krishnamoorthy; Ashok V. Packet-switched self-routing multistage interconnection network having contention-free fanout, low-loss routing, and fanin buffering to efficiently realize arbitrarily low packet loss
KR100211123B1 (ko) * 1997-05-23 1999-07-15 윤종용 고속 패킷 스위칭을 위한 다단 상호 연결 망
US6201808B1 (en) * 1998-03-27 2001-03-13 Verizon Laboratories Inc. Self-routing multicast network architecture
JP4234866B2 (ja) * 1999-10-29 2009-03-04 富士通株式会社 光ノード,送信用の光ノード及び受信用の光ノード並びに波長パス網用障害復旧方法
US7609695B2 (en) * 2001-06-15 2009-10-27 Industrial Technology Research Institute Optimizing switching element for minimal latency
EP1606716B1 (en) * 2003-03-24 2006-07-19 Sony Computer Entertainment Inc. Crossbar switch, method and program for controlling operation thereof

Also Published As

Publication number Publication date
ATE333679T1 (de) 2006-08-15
US7406075B2 (en) 2008-07-29
CN1777878A (zh) 2006-05-24
WO2004086242A1 (en) 2004-10-07
TWI278758B (en) 2007-04-11
TW200421117A (en) 2004-10-16
DE602004001583T2 (de) 2007-07-19
DE602004001583D1 (de) 2006-08-31
US20040228337A1 (en) 2004-11-18
EP1606716B1 (en) 2006-07-19
KR20050119655A (ko) 2005-12-21
EP1606716A1 (en) 2005-12-21

Similar Documents

Publication Publication Date Title
KR100639869B1 (ko) 크로스바 스위치, 그 동작제어방법 및 동작제어용프로그램
US20200348911A1 (en) Tiled Switch Matrix Data Permutation Circuit
TW202103003A (zh) 控制流程屏障和可重組態的資料處理器
US8593176B2 (en) One phase logic
EP1096506A1 (en) Shift register allowing direct data insertion
JP5815390B2 (ja) 半導体装置及び画像処理方法
US5307167A (en) Digital zooming system utilizing image buffers and employing an approximated bilinear interpolation method
US6801978B2 (en) Crossbar system with increased throughput
JPH03116352A (ja) ビデオ信号パイプラインバス
JP4443966B2 (ja) クロスバースイッチ及びその動作制御方法、動作制御用プログラム
JPH05274279A (ja) 並列処理装置及び方法
JP2000013609A (ja) 符号化装置
US6701404B1 (en) Method and system for transferring variable sized loop words between elements connected within serial loop through serial interconnect
JP3909509B2 (ja) シリアルインタフェース回路
JP3726971B2 (ja) 並列プロセツサ装置
JPH08340259A (ja) 並直列変換回路
US20050117574A1 (en) Data transmission system, terminal device, data transmission method, and recording medium
JP2006060507A (ja) スキュー調整回路
US6941418B1 (en) Integrated circuit and method outputting data
JP3719677B2 (ja) レート変換装置、及びレート変換方法
JP3130343B2 (ja) データ位相変換方式
JPH02153650A (ja) ディジタル交換装置
JPH06268714A (ja) データ伝送方式
JPH04137166A (ja) メモリバス制御プロセッサ
JPH06178340A (ja) 空間スイッチ装置

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

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141007

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee