KR100420475B1 - Cell scheduling apparatus and method for high speed low-area switch - Google Patents

Cell scheduling apparatus and method for high speed low-area switch Download PDF

Info

Publication number
KR100420475B1
KR100420475B1 KR10-2000-0087661A KR20000087661A KR100420475B1 KR 100420475 B1 KR100420475 B1 KR 100420475B1 KR 20000087661 A KR20000087661 A KR 20000087661A KR 100420475 B1 KR100420475 B1 KR 100420475B1
Authority
KR
South Korea
Prior art keywords
scheduling
input
request
output
area switch
Prior art date
Application number
KR10-2000-0087661A
Other languages
Korean (ko)
Other versions
KR20020059115A (en
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 KR10-2000-0087661A priority Critical patent/KR100420475B1/en
Publication of KR20020059115A publication Critical patent/KR20020059115A/en
Application granted granted Critical
Publication of KR100420475B1 publication Critical patent/KR100420475B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/52Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker using static devices in switching stages, e.g. electronic switching arrangements

Abstract

1. 청구범위에 기재된 발명이 속하는 기술분야1. TECHNICAL FIELD OF THE INVENTION

본 발명은 본 발명은 고속 저면적의 스위치 셀 스케쥴링 장치 및 그 방법에 관한 것임.The present invention relates to a high speed low area switch cell scheduling apparatus and method thereof.

2. 발명이 해결하고자 하는 기술적 과제2. Technical problem to be solved by the invention

본 발명은, 지연시간이 log N 혹은 N배 증가하도록 하여 지연시간을 줄이고 면적이 N log N 배 혹은 N3으로 증가하도록 한 스케쥴러를 구비하여 많은 입출력 포트를 스위칭 할 수 있도록 한 고속 저면적의 스위치 셀 스케쥴링 장치 및 그 방법을 제공함을 목적으로 함.The present invention provides a high-speed, low-area switch capable of switching a large number of input and output ports with a scheduler that increases the delay time by log N or N times and reduces the delay time and increases the area by N log N times or N 3 . An object of the present invention is to provide a cell scheduling apparatus and a method thereof.

3. 발명의 해결방법의 요지3. Summary of Solution to Invention

본 발명은, 고속 저면적의 스위치 셀 스케쥴링을 하기 위한 장치에 있어서, 각 입력포트의 스케쥴링 요청을 받아 우선순위의 값만큼 회전을 수행하는 입력요청 회전수단; 상기 입력요청 회전수단에서 회전된 스케쥴링 요청을 받아 고정된 우선 순위 하에서 스케쥴링을 처리하는 스케쥴링 주 처리수단; 및 상기 스케쥴러 주 처리수단(1020)에서 제공된 스케쥴링 결과를 우선순위의 값에 따라 역회전을 수행하여 출력포트에 제공하는 입력수락 회전수단을 포함한다.According to an aspect of the present invention, there is provided an apparatus for high speed low area switch cell scheduling, comprising: input request rotation means for performing a scheduling request of each input port and performing rotation by a priority value; Scheduling main processing means for receiving the scheduling request rotated by the input request rotation means and processing scheduling under a fixed priority; And an input acceptance rotation means for performing a reverse rotation based on the priority value of the scheduling result provided by the scheduler main processing means 1020 and providing the output port to the output port.

Description

고속 저면적의 스위치 셀 스케쥴링 장치 및 그 방법 {Cell scheduling apparatus and method for high speed low-area switch}High speed low area switch cell scheduling apparatus and its method {Cell scheduling apparatus and method for high speed low-area switch}

본 발명은 고속 저면적의 스위치 셀 스케쥴링 장치 및 방법에 관한 것으로, 보다 상세하게는 지연시간 및 면적을 개선하여 고속 및 대용량으로 스케쥴링이 가능한 고속 저면적의 스위치 셀 스케쥴링 장치 및 그 방법에 관한 것이다.The present invention relates to a high speed low area switch cell scheduling apparatus and method, and more particularly, to a high speed low area switch cell scheduling apparatus and method that can be scheduled in a high speed and large capacity by improving the delay time and area.

일반적으로, 링크칩을 이용한 크로스포인트 스위치는 셀이 전송되는 짧은 기간동안 입출력 충돌이 발생하지 않도록 매 셀이 전송되는 시간마다 전송 요청의 입출력 포트 쌍을 찾는 스케쥴링을 수행한다. 따라서, 상기 스케쥴링을 수행하는 스케쥴러는 가장 병목 현상이 많이 발생하는 부분으로, 현재 지연시간(latency), 구현 면적, 연결(interconnection)의 복잡성 등의 한계에 의해 현재 32 X 32포트를 초과하는 스케쥴러가 제작되지 못하고 있다.In general, a crosspoint switch using a link chip performs scheduling to find an input / output port pair of a transmission request every time a cell is transmitted so that an input / output collision does not occur during a short period of time when a cell is transmitted. Therefore, the scheduler that performs the scheduling is the most bottlenecked part, and the scheduler currently exceeds 32 X 32 ports due to limitations such as latency, implementation area, and complexity of interconnection. It is not produced.

스위치 중에서 입력큐를 가지는 스위치는 출력큐를 가지는 스위치보다 더 경제적이며 구현이 단순한 장점이 있지만, 선입선출(First In First Out : FIFO)큐를 사용하는 경우 회선의 헤드(Head-Of-Line, 이하 "HOL"라함)의 봉쇄(blocking)현상으로 성능이 58.6 %로 제안된다는 단점이 있다. 따라서, 최근에는 상기와 같은 봉쇄현상을 극복하기 위하여 각 입력포트별로 가상의 출력포트에 대한 다중큐를 구성하고 이의 입출력 요청쌍을 스케쥴링 함으로써 출력큐를 가지는 스위치와 유사한성능을 얻을 수 있는 스케쥴링 수단이 개발되고 있다.Among the switches, switches with input queues have the advantages of being more economical and simpler to implement than switches with output queues. Blocking of "HOL" has the disadvantage that the performance is suggested at 58.6%. Therefore, in order to overcome the blockade as described above, a scheduling means capable of obtaining a performance similar to a switch having an output queue by configuring multiple queues for virtual output ports for each input port and scheduling the input / output request pairs thereof has been recently developed. Is being developed.

현재 가장 많이 사용되고 있는 종래의 입력포트별 가상의 출력포트 스케쥴링 수단으로는 2차원 라운드로빈 수단, iSLIP 등을 들 수 있으며, 이러한 스케쥴링 알고리듬들은 HOL 봉쇄 현상을 해결하기 위하여 N개의 각 입력포트에 N개의 가상출력포트 큐로부터 N2개의 전송 요청 신호를 입력받아 스케쥴링을 수행한다.Conventional output port scheduling means for each input port, which are currently used the most, include two-dimensional round robin means, iSLIP, and the like. These scheduling algorithms have N number of N input ports for solving HOL blocking. Scheduling is performed by receiving N 2 transmission request signals from the virtual output port queue.

상기 2차원 라운드로빈 수단은 선 출원된 미국 등록특허 제 5299190호(1994.03.29)에 의해 제안되었으며, iSLIP은 미국등록특허 제 5500858호(1996.03.16)에 의해 제안되었다.The two-dimensional round robin means was proposed by a previously filed US Patent No. 5299190 (1994.03.29), iSLIP was proposed by US Patent No. 5500858 (1996.03.16).

여기서, 스케쥴링 수단으로 제안된 대표적인 2차원 라운드로빈 알고리즘 및 iSLIP 알고리즘을 살펴보면 다음과 같다.Here, the representative two-dimensional round robin algorithm and iSLIP algorithm proposed as the scheduling means are as follows.

도 1은 일반적인 2차원 라운드로빈 스케쥴링 알고리즘을 보여주는 도면이다.1 is a diagram illustrating a general two-dimensional round robin scheduling algorithm.

도 1를 참조하면, 기본적인 2DDR(2 Dimensional Round-Robin)은 N개의 입력포트와 N개의 출력포트를 갖는 스위치의 N2스케쥴링 요청 중 입력포트와 출력 포트가 중복되지 않도록 최대 N개의 스케쥴링 요청을 수락하는 것이며, 이 기본적인 2DD에서 특정의 트래픽에 대해서 공평성을 갖도록 입력포트와 출력포트가 겹치지 않는 N개의 스케쥴링 요청을 동시에 고려하여 N과정을 거쳐 전송요청들을 수락하는 것이다.Referring to FIG. 1, a basic 2DDR (Road 2DDR) accepts up to N scheduling requests so that input and output ports do not overlap among N 2 scheduling requests of a switch having N input ports and N output ports. In this basic 2DD, N scheduling requests that do not overlap the input port and the output port at the same time to accept fairness for specific traffic are accepted at the same time through N process to accept the transmission requests.

또한, 상기 iSLIP 알고리즘은 2DDR 보다 성능 개선과 고속동작이 가능하도록 병렬 처리 및 파이프라이닝(pipelining) 구조를 제안한 것으로 입출력 스케쥴링 요청을 전송허가 및 확정 과정을 통해 입력 출력 중복을 중재하고, 공정성과 성능 개선을 위해 최근 수락된 입력 포트 및 출력 라운드로빈 카운터를 사용하고 있다.In addition, the iSLIP algorithm proposes a parallel processing and pipelining structure to improve performance and high-speed operation than 2DDR, and mediates input and output redundancy through the process of granting and confirming an input / output scheduling request and improving fairness and performance. We are using the recently accepted input port and output round robin counters.

도 2는 도 1을 개량하여 2차원 라운드로빈 알고리듬을 구현한 병렬 시스톨릭 어레이 구조에서 프로세서 요소의 동작을 나타내는 알고리즘으로, 이 알고리즘은 도 3을 토대로 구현된다.FIG. 2 is an algorithm representing the operation of a processor element in a parallel systolic array structure in which the two-dimensional round robin algorithm is implemented by improving FIG. 1, which is implemented based on FIG. 3.

여기서, 도 3은 도 2에 도시된 구현한 2차원 라운드 로빈 스케쥴링 수단에서 스케쥴링 내부 프로세서 요소들의 시스톨릭 배열 구조도이다.3 is a systolic arrangement of scheduling internal processor elements in the implemented two-dimensional round robin scheduling means shown in FIG. 2.

즉, 도 3의 (a) 및 (b)에 도시된 바와 같이, 프로세서 요소들은 열과 행을 따라 랩-어라운드(wrap around)로 연결되어 N × N 네트워크 형태로 구성되어 있으며, i번째 열과 j번째 행에 있는 프로세서 요소를 Pi, j로 하고 Pi, j는 각각 전송요청과 전송허가를 위한 2개의 입/출력 제어선을 가지며, 이를 각각 "행 전송가능 입력 신호", " 열 전송 가능 입력신호", "행 전송 가능 출력신호" 및 "열 전송 가능 출력신호"로 나타낸다.That is, as shown in (a) and (b) of FIG. 3, the processor elements are arranged in a wrap-around (N) N network form along columns and rows, where the i th column and the j th column are formed. The processor element in the row is P i, j and P i, j have two input / output control lines for transmit request and transmit permission respectively, which are called "row transmittable input signal" and "column transmittable input, respectively" Signal "," row transferable output signal ", and" column transferable output signal ".

여기서, 상기 "행 전송 가능 출력신호"는 자신과 같은 행에 있는 프로세서 요소에게 행 전송 승인이 있으니 전송하지 못하도록 하기 위한 신호이다. 그리고, 상기 "열 전송 가능 출력신호" 는 " 행 전송 가능 출력신호" 가 행에 관련된 신호인 반면, "열 전송 가능 출력신호"는 열에 관계되었다는 것을 제외하곤 동일한 신호이다.Here, the " row transferable output signal " is a signal for preventing transmission because a row transfer acknowledgment exists in a processor element in the same row as itself. The "column transferable output signal" is the same signal except that the "column transferable output signal" is a signal related to a row, while the "column transferable output signal" is related to a column.

일반 대각선 셀 스케쥴러 프로세서 요소장치(310)는 전송승인 신호생성부(311), 자기클럭 신호 발생부(312) 및 약간의 게이트로 구성된다. 상기 전송 승인 신호 생성부(311)는 자신의 행렬 앞의 프로세서 요소 장치로부터 수신되는 "행 전송가능 입력신호" 및 "열 전송 가능 입력신호"와 자신의 "전송요청"을 수신하여 앞선 행렬의 프로세서 요소 장치로부터 수신되는 전송 가능 신호가 입력되고, 상기 " 전송 요청" 신호의 부분집합인 "전송승인" 신호를 스위치의 입력버퍼로 출력하게 된다. "전송승인" 신호는 "전송 요청" 신호 중 각 행과 각 열에서 하나의 신호만이 선택되는 "전송요청" 신호의 부분 집합이다.The general diagonal cell scheduler processor element device 310 is composed of a transmission acknowledgment signal generator 311, a magnetic clock signal generator 312 and a few gates. The transmission acknowledgment signal generator 311 receives the "row transmittable input signal" and "column transmittable input signal" and its "transfer request" received from the processor element apparatus in front of its matrix, and thus the processor of the preceding matrix. A transmittable signal received from the element apparatus is input and outputs a "transmit acknowledgment" signal, which is a subset of the "transmission request" signal, to the input buffer of the switch. The "transmit acknowledgment" signal is a subset of the "transmission request" signal in which only one signal in each row and each column of the "transmission request" signal is selected.

여기서, 상기 자기클럭 신호발생부(312)는 각 타임 슬롯내에 전송 스케쥴 클럭을 생성하기 위한 신호이며, 클럭은 타임슬롯과 내부 클릭에 의해 생성된다.Here, the magnetic clock signal generator 312 is a signal for generating a transmission schedule clock in each time slot, and the clock is generated by a time slot and an internal click.

도 4는 가상 입력버퍼형 스위치의 스케쥴링을 위한 종래의 2차원 라운드 로빈 스케쥴링에서 입력포트별 가상 출력 포트의 우선순위를 보여주는 도면이다.4 is a diagram illustrating priorities of virtual output ports for respective input ports in the conventional two-dimensional round robin scheduling for scheduling of a virtual input buffered switch.

도 5는 종래의 2차원 라운드 로빈 스케쥴링에서 수락(accept) (3,1)을 결정하기 전에 사용되는 요청(request) 입력을 보여주는 도면이다.FIG. 5 shows a request input used before determining accept (3,1) in conventional two-dimensional round robin scheduling.

도 6는 종래의 2차원 라운드 로빈 스케쥴링 수단의 수락(accept) (3,1)을 결정을 위한 데이터 흐름을 보여주는 도면이다.6 shows a data flow for determining acceptance (3,1) of a conventional two-dimensional round robin scheduling means.

도 5 및 도 6에 도시된 바와같이, N X N 입출력별 스케쥴링의 경우 기존의 2차원 라운드로빈 스케쥴링 수단(도 1, 도 2)이 스케쥴링 수락을 결정하기 위해 최대 (N-1)2개의 스케쥴링 요청(request)를 N 과정에 사용하게 된다. 즉, 기존의 2차원 라운드로빈 알고리즘은 입출력 요청이 충돌이 생기지 않는 N개의 입출력 요청쌍들을 동시에 N 과정을 통해 수행한다.5 and, NXN O-specific for scheduling conventional two-dimensional round-robin scheduling device up to (N-1) to (1, 2) to determine the accepted scheduling two scheduling request as shown in FIG. 6 ( request) is used for N process. That is, the existing two-dimensional round robin algorithm performs N input / output request pairs at the same time through the N process that the input and output requests do not conflict.

부연 설명하면, 입력포트 3으로부터 출력포트 1로의 전송수락 (3,1)을 결정하기 위하여 N 과정을 통해 최소 N 클럭 사이클에 걸쳐 수행함에 있어, 2차원 라운드로빈 알고리듬에서 입력 포트 i 로부터 출력 포트 j로의 입출력 요청(i,j)의 스케쥴링 수락에 영향을 미치는 입출력 요청의 집합은 요청(i,j)보다 우선순위가 높은 요청 (i,j)들 중 입력 혹은 출력이 겹치는 요청들의 집합만이므로 최대 2(N-1)개의 입출력 요청에 의해 요청 (i,j)의 수락에 영향을 받는다.In other words, the output port j from the input port i in the two-dimensional round robin algorithm in performing at least N clock cycles through the N process to determine the transmission acceptance (3,1) from the input port 3 to the output port 1 The set of I / O requests that affect the scheduling acceptance of I / O requests (i, j) to a local node is only a set of requests whose inputs or outputs overlap among the requests (i, j) with higher priority than requests (i, j). 2 (N-1) I / O requests affect the acceptance of request (i, j).

그러나, 종래의 스케쥴링 알고리즘에서 지연시간은 입력 포트의 수가 N배 증가할수록 지연시간이 N log N 배 혹은 N 배 증가하고, 면적은 입력 포트의 수가 N배 증가할수록 N2혹은 N4배 증가하여 대용량 스위치의 설계가 어려운 문제점이 있었다.However, in the conventional scheduling algorithm, the delay time increases by N log N times or N times as the number of input ports increases by N times, and the area increases by N 2 or N 4 times as the number of input ports increases by N times. The design of the switch was difficult.

이에 본 발명은, 상기와 같은 종래의 문제점을 해결하기 위해 안출된 것으로, 지연시간이 log N 혹은 N배 증가하도록 하여 지연시간을 줄이고 면적이 N log N 배 혹은 N3으로 증가하도록 한 스케쥴러를 구비하여 많은 입출력 포트를 스위칭 할 수 있도록 한 고속 저면적의 스위치 셀 스케쥴링 장치 및 그 방법을 제공함에 그 목적이 있다.Accordingly, the present invention has been made to solve the above-mentioned problems, and has a scheduler to reduce the delay time by increasing the log N or N times the delay time and increase the area to N log N times or N 3 . It is an object of the present invention to provide a high-speed, low-area switch cell scheduling apparatus and method for switching many input and output ports.

도 1은 일반적인 2차원 라운드로빈 스케쥴링 알고리즘을 보여주는 도면.1 illustrates a general two dimensional round robin scheduling algorithm.

도 2은 종래의 병렬 시스톨릭 구조 2차원 라운드로빈 스케쥴링 알고리듬의 프로세서 요소 알고리즘을 보여주는 도면.Figure 2 shows a processor element algorithm of a conventional parallel systolic structure two-dimensional round robin scheduling algorithm.

도 3은 도 2에 도시된 알고리즘을 이용하여 구현한 2차원 라운드 로빈 스케쥴링 수단에서 스케쥴링 내부 프로세서 요소들의 배열 구조도.3 is an arrangement structure diagram of scheduling internal processor elements in a two-dimensional round robin scheduling means implemented using the algorithm shown in FIG.

도 4는 일반적인 2차원 라운드 로빈 스케쥴링에서 입력포트별 가상 출력 포트의 우선순위를 보여주는 도면.4 is a view showing the priority of the virtual output port for each input port in the general two-dimensional round robin scheduling.

도 5는 종래의 2차원 라운드 로빈 스케쥴링에서 수락(accept) (3,1)을 결정하기 전에 사용되는 요청(request) 입력을 보여주는 도면.5 shows a request input used before determining accept (3,1) in conventional two-dimensional round robin scheduling.

도 6는 종래의 2차원 라운드 로빈 스케쥴링 수단의 수락(accept) (3,1)을 결정을 위한 데이터 흐름.6 is a data flow for determining accept (3,1) of conventional two-dimensional round robin scheduling means.

도 7는 본 발명에 따른 고속 저면적의 스위치 셀 스케쥴링에서 수락(accept) (3,1)을 결정하기 위해 사용하는 요청(request) 입력을 보여주는 도면.FIG. 7 illustrates a request input used to determine accept (3,1) in fast low area switch cell scheduling in accordance with the present invention. FIG.

도 8은 본 발명에 따른 일반적인 2차원 라운드로빈 스케쥴링 알고리듬을 보여주는 도면.8 illustrates a general two dimensional round robin scheduling algorithm in accordance with the present invention.

도 9는 본 발명에 따른 2차원 라운드로빈 스케쥴링 알고리즘을 보여주는 도면.9 illustrates a two-dimensional round robin scheduling algorithm according to the present invention.

도 10은 본 발명에 따른 고속 저면적의 스위치 셀 스케쥴링 장치의 일실시예 블럭 구성도.Figure 10 is a block diagram of an embodiment of a high speed low area switch cell scheduling apparatus according to the present invention.

도 11은 도 10에 도시된 스케쥴러 주 처리수단의 일실시예 회로 구성도.FIG. 11 is a circuit diagram of one embodiment of the scheduler main processing means shown in FIG. 10; FIG.

도 12는 도 11에 도시된 스케쥴링 요청 매스킹 모듈을 지연시간이 적은 형태로 구현한 일실시예 회로 구성도.FIG. 12 is a circuit diagram illustrating an embodiment in which the scheduling request masking module illustrated in FIG. 11 is implemented in a form having low delay time.

도 13은 도 11에 도시된 스케쥴링 요청 매스킹 모듈을 면적이 적은 형태로 구현한 일실시예 회로 구성도.FIG. 13 is a circuit diagram illustrating an embodiment in which the scheduling request masking module illustrated in FIG. 11 is implemented in a form of small area. FIG.

도 14는 도 11에 도시된 스케쥴링 요청 매스킹 모듈을 구현한 도 13의 지연시간을 개선하기 위한 변환된 일실시예 회로 구성도.FIG. 14 is a diagram of a transformed embodiment circuit for improving the delay time of FIG. 13 implementing the scheduling request masking module shown in FIG.

도 15는 도 11에 도시된 스케쥴링 요청 매스킹 모듈을 구현한 도 13의 지연시간을 개선하기 위한 일실시예 회로 구성도.FIG. 15 is a circuit diagram of an embodiment for improving the delay time of FIG. 13 implementing the scheduling request masking module shown in FIG.

도 16은 본 발명에 따른 스케쥴링 수단의 지연시간 및 면적 복잡도 비교표.16 is a comparison table of delay time and area complexity of the scheduling means according to the present invention;

도 17은 본 발명에 따른 고속 저면적의 스위치 셀 스케쥴링의 throughput 성능 비교 그래프.17 is a graph comparing throughput performance of high speed low area switch cell scheduling according to the present invention.

도 18은 본 발명에 따른 스케쥴링 알고리즘의 평균 셀 지연시간 비교 그래프.18 is a graph comparing average cell delay time of a scheduling algorithm according to the present invention.

도 19는 본 발명에 따른 스케쥴링 알고리즘의 최대 셀 지연시간 비교 그래프.19 is a graph comparing a maximum cell delay time of a scheduling algorithm according to the present invention.

도 20은 본 발명에 따른 스케쥴링 알고리듬의 셀 지연시간 변이 비교 그래프.20 is a graph comparing cell delay time variation of a scheduling algorithm according to the present invention.

상기와 같은 목적을 달성하기 위한 본 발명은,고속 저면적의 스위치 셀 스케쥴링을 하기 위한 장치에 있어서, 각 입력포트의 스케쥴링 요청을 받아 우선순위의 값만큼 회전을 수행하는 입력요청 회전수단; 상기 입력요청 회전수단에서 회전된 스케쥴링 요청을 받아 고정된 우선 순위하에서 스케쥴링을 처리하는 스케쥴링 주 처리수단; 및 상기 스케쥴러 주 처리수단(1020)에서 제공된 스케쥴링 결과를 우선순위의 값에 따라 역회전을 수행하여 출력포트에 제공하는 입력수락 회전수단을 포함하는 고속 저면적의 스위치 셀 스케쥴링 장치를 제공함을 특징으로 한다.According to an aspect of the present invention, there is provided a device for scheduling high-speed low-area switch cells, the apparatus comprising: input request rotating means configured to receive a scheduling request of each input port and perform rotation by a priority value; Scheduling main processing means for receiving the scheduling request rotated by the input request rotation means and processing scheduling under a fixed priority; And an input accepting rotation means for performing a reverse rotation according to a priority value to provide the scheduling result provided by the scheduler main processing means 1020 to the output port. do.

여기서 상술된 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The objects, features and advantages described above will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 8은 본 발명에 따른 일반적인 2차원 라운드로빈 스케쥴링 알고리듬을 보여주는 도면.8 illustrates a general two dimensional round robin scheduling algorithm in accordance with the present invention.

즉, 도 8에 제시된 알고리듬은 도 1에 나타낸 기존의 2차원 라운드로빈 스케쥴링 알고리듬을 보다 간단한 세개의 세부 과정으로 변환한 본 발명의 2차원 라운드로빈 스케쥴링 알고리듬이다.That is, the algorithm shown in FIG. 8 is a two-dimensional round robin scheduling algorithm of the present invention which converts the existing two-dimensional round robin scheduling algorithm shown in FIG. 1 into three simpler detailed processes.

여기서, 기능별로 알고리즘을 구분하면 810은 전송 요청 입력 회전영역, 830은 전송 승인 출력 역회전영역 그리고, 820은 고정된 우선순위 조건하에서 스케쥴링을 수행하는 스케쥴러 핵심영역(scheduler core)의 세부분으로 구분된다.Here, if the algorithm is classified by function, 810 is a transmission request input rotation area, 830 is a transmission acknowledgment output reverse rotation area, and 820 is a subdivision of a scheduler core area that performs scheduling under a fixed priority condition. do.

도 9는 본 발명에 따른 2차원 라운드로빈 스케쥴링 알고리즘을 보여주는 도면이다.9 illustrates a two-dimensional round robin scheduling algorithm according to the present invention.

즉, 도 9은 도 8에 나타낸 2차원 라운드로빈 스케쥴링 알고리듬을 지연시간및 면적을 개선하기 위하여 스케쥴러 핵심부분을 다시 변환한 2차원 라운드로빈 스케쥴링 알고리듬이다. 도 9에서 a % b 는 a를 b로 나누었을 때의 나머지 값을 나타낸다.That is, FIG. 9 is a two-dimensional round robin scheduling algorithm in which the core part of the scheduler is transformed again to improve the delay time and area of the two-dimensional round robin scheduling algorithm shown in FIG. In FIG. 9, a% b represents the remaining values when a is divided by b.

상기 알고리듬을 기능별로 그 영역을 구분하면, 910은 전송 요청 입력 회전영역, 930은 전송 승인 출력 역회전 영역 및 920은 고정된 우선순위 조건하에서 스케쥴링을 수행하는 스케쥴러 주 처리 영역으로 구분된다. 그리고, 922는 각 입출력 포트별 전송수락을 결정하기 위하여 각 입출력 포트의 전송 수락이 가능한 가를 판별하는 매스킹 영역이다. 또한 921은 상기 922를 이용하여 각 입출력 포트의 최종 전송수락을 결정하는 영역으로 구분된다.When the algorithm is divided into functional areas, 910 is a transmission request input rotation area, 930 is a transmission approval output reverse rotation area, and 920 is a scheduler main processing area that performs scheduling under a fixed priority condition. 922 is a masking area for determining whether transmission of each input / output port is possible in order to determine transmission acceptance for each input / output port. In addition, 921 is divided into an area for determining final transmission acceptance of each input / output port using the 922.

도 10은 본 발명에 따른 고속 저면적의 스위치 셀 스케쥴링 장치의 일실시예 블럭 구성도이다.10 is a block diagram of an embodiment of a high-speed, low-area switch cell scheduling apparatus according to the present invention.

즉, 도 10은 도 9에서 영역별로 구분된 알고리듬을 블록 구성으로 도시한 것으로, 그 구성은 입력요청 회전수단(1010), 스케쥴링 요청 매스킹 모듈(1100)을 포함한 스케쥴러 주 처리수단(1020) 및 입력수락 회전수단(1030)을 포함한다.That is, FIG. 10 is a block diagram illustrating algorithms classified by regions in FIG. 9, and the configuration includes a scheduler main processing means 1020 including an input request rotating means 1010 and a scheduling request masking module 1100. An input acceptance rotation means 1030 is included.

상기 입력요청 회전수단(1010)은 각 입력포트의 스케쥴링 요청을 받아 우선순위의 값만큼 회전을 수행하여 스케쥴러 주 처리수단(1020)에 제공한다. 상기 스케쥴러 주 처리수단(1020)은 고정된 우선 순위하에서 입력요청 회전수단(1010)에서 회전된 스케쥴링 요청을 받아 스케쥴링 결과를 입력수락 회전수단(1030)에 제공한다. 상기 입력수락 회전수단(1030)은 상기 스케쥴러 주 처리수단(1020)에서 제공된 스케쥴링 결과를 우선순위의 값에 따라 역회전을 수행하여 출력포트에 제공한다.The input request rotation means 1010 receives a scheduling request of each input port and performs rotation by a priority value to provide the scheduler main processing means 1020. The scheduler main processing means 1020 receives a scheduling request rotated by the input request rotation means 1010 under a fixed priority and provides a scheduling result to the input acceptance rotation means 1030. The input acceptance rotation means 1030 performs a reverse rotation according to the priority value of the scheduling result provided by the scheduler main processing means 1020 and provides the output port.

여기서, 상기 입력요청 회전수단(1010) 및 입력수락 회전수단(1030)은 입력 포트 및 출력 포트가 공평하게 서비스될 수 있도록 매 스케쥴링 수행시마다 우선순위를 변경하는 동작을 수행한다. 즉, 상기 입력수락 회전수단(1030)은 상기 스케쥴러 주 처리수단(1020)에서 제공된 스케쥴링 결과를 우선순위의 값에 따라 역회전을 수행하여 최종 스케쥴링 결과를 각 스위칭 모듈에 서비스한다.Here, the input request rotation means 1010 and the input accept rotation means 1030 performs an operation of changing the priority at every scheduling so that the input port and the output port can be serviced equally. That is, the input accept rotation means 1030 performs a reverse rotation on the scheduling result provided by the scheduler main processing means 1020 according to the priority value to serve the final scheduling result to each switching module.

또한, 상기 입력요청 회전수단(1010) 및 입력수락 회전수단(1030)에서 매 단위 시간마다 스케쥴링 요청을 회전하는 우선 순위값은 임의의 값으로 설정이 가능하며, 매 스케쥴링 시마다 우선순위값을 카운터를 이용하여 감소 혹은 증가시키는 경우 종래의 2차원 라운드 로빈 알고리즘과 동일한 동작을 수행한다. 이 경우 각 입력포트별 출력 요청신호를 우선순위만큼 회전 및 역회전하며 이 예를 수학식 (1)과 수학식 (2)에 C 언어로 보였다.In addition, the priority value for rotating the scheduling request every unit time in the input request rotation means 1010 and the input acceptance rotation means 1030 can be set to any value, the priority value is set every time scheduling In the case of decreasing or increasing by using the same operation as the conventional two-dimensional round robin algorithm. In this case, the output request signal for each input port is rotated and reversed in order of priority, and this example is shown in C language in Equations (1) and (2).

[수학식 1][Equation 1]

for (i=0; i< N; i++) for (j=0; j< N; j++) req[i][j]=request[(i+phase)%N][j] ;for (i = 0; i <N; i ++) for (j = 0; j <N; j ++) req [i] [j] = request [(i + phase)% N] [j];

[수학식 2][Equation 2]

for (i=0; i< N; i++) for (j=0; j< N; j++) accept[i][j]= acpt[(N+i-phase)%N][j] ;for (i = 0; i <N; i ++) for (j = 0; j <N; j ++) accept [i] [j] = acpt [(N + i-phase)% N] [j];

수학식 (1)와 수학식 (2)에서 N 은 입출력 포트 크기, request(i, j)는 입력포트 i , 출력포트 j 에서의 전송요청(request), mask_i(i,j)는 request(i,j)의 수락을 결정을 위한 가로축 방향의 조건, mask_j(i,j)는 request(i,j)의 수락을 결정을 위한 세로축 방향의 조건, req(i,j)는 스케쥴러 주 처리수단(820, 920, 1020)의 입력으로 사용되는 회전된 전송요청, acpt((i,j)는 주 처리수단(820, 920, 1020)으로부터 출력되는 전송수락, accept(i, j)는 입력포트 i , 출력포트 j 로의 전송수락(accept)을 나타낸다.In Equations (1) and (2), N is an input / output port size, request (i, j) is an input port i, a request from the output port j, and mask_i (i, j) is a request (i , j) is the condition in the horizontal direction for determining acceptance of the mask, mask_j (i, j) is the condition in the vertical direction for determining acceptance of the request (i, j), and req (i, j) is the scheduler main processing means ( Rotated transmission request used as input of 820, 920, 1020, acpt ((i, j) is the transmission acceptance from the main processing means (820, 920, 1020), accept (i, j) is input port i , Which accepts the transmission to output port j.

한편, 상기 스케쥴러 주 처리수단(1020)은 스케쥴링 요청 매스킹 모듈(1100)의 결과를 이용하여 요청(request)의 수락여부를 결정하며, 동시에 모든 스케쥴링 요청의 수락이 전송 가능하도록 공평하게 스케쥴링 요청 중 최대의 집합을 찾는 동작을 수행한다.Meanwhile, the scheduler main processing means 1020 determines whether to accept the request using the result of the scheduling request masking module 1100, and at the same time during the scheduling request so that the acceptance of all scheduling requests can be transmitted. Perform an operation to find the maximum set.

스케쥴러 주 처리수단(1020)은 고정된 우선 순위하에서 입력요청 회전수단(1010)에서 회전된 스케쥴링 요청을 받아 스케쥴링 결과를 입력수락 회전수단(1030)에 제공한다.The scheduler main processing means 1020 receives the scheduling request rotated by the input request rotation means 1010 under a fixed priority and provides the scheduling result to the input acceptance rotation means 1030.

상기 스케쥴러 주 처리수단(1020) 중 각 입출력 포트의 최종 전송수락을 결정하는 수단(921)은 현재 입출력 포트로의 전송 요청이 있고, 현재 입출력포트 전송 요청과 충돌되는 우선순위가 높은 전송수락이 없는 경우에 현재 전송 요청을 수락한다. 이때 입력포트 i로부터 출력 포트 j 로의 전송 요청 (i, j)에 대한 mask(i,j) 와 mask(i,j) 신호는 출력(세로) 방향과 입력(가로) 방향으로 충돌되는 우선순위가 높은 전송수락의 존재 여부를 나타낸다. 스케쥴러 주 처리수단(1020)에서 우선순위가 고정된 경우의 입력포트 i로부터 출력 포트 j 로의 전송 수락신호 accept(i, j) 는 입력포트 i로부터 출력 포트 j 로의 전송 요청신호 request(i, j)와 매스킹 수단의 신호를 이용하여 다음 수학식 (3)과 같이 계산이 가능하다.Means for determining the final transmission acceptance of each input and output port 921 of the scheduler main processing means 1020 has a transmission request to the current input and output port, there is no high priority transmission acceptance conflict with the current input and output port transmission request In case it accepts the current transfer request. At this time, the mask (i, j) and mask (i, j) signals for the transmission request (i, j) from the input port i to the output port j have a priority that collides in the output (vertical) direction and the input (horizontal) direction. Indicates whether there is a high transmission acceptance. The transmission accept signal accept (i, j) from the input port i to the output port j when the priority is fixed in the scheduler main processing means 1020 is the request signal i (j, j) from the input port i to the output port j. Using the signal of the masking means and can be calculated as shown in the following equation (3).

[수학식 3][Equation 3]

Accept(i, j) = request(i, j) and mask_i(i,j) and mask_j(i,j)Accept (i, j) = request (i, j) and mask_i (i, j) and mask_j (i, j)

상기 스케쥴러 주 처리수단(1020) 중 스케쥴링 요청 매스킹 모듈(1100)은 현재 전송 수락신호보다 우선순위가 높은 전송수락신호 중 현재 입출력 포트와 충돌이 일어날 수 있는 전송신호의 수락 여부를 결정하는 동작을 수행한다. 상기 입출력 전송요청 (i,j)의 전송수락을 결정하기 위해 필요한 가로축 방향의 조건을 mask_i(i,j), 세로 축 방향의 조건을 mask_j(i,j)라고 한다.The scheduling request masking module 1100 of the scheduler main processing unit 1020 determines whether to accept a transmission signal that may collide with a current input / output port among transmission acceptance signals having a higher priority than a current transmission acceptance signal. Perform. The condition in the horizontal axis direction necessary for determining transmission acceptance of the input / output transmission request (i, j) is referred to as mask_i (i, j) and the condition in the vertical axis direction is mask_j (i, j).

즉, 상기 스케쥴러 주 처리수단(1020) 중 스케쥴링 요청 매스킹 모듈(1100)을 적은 지연시간으로 구현할 경우 도 12 처럼 재귀적인 논리곱(and)게이트 트리로 구현하는 경우 O(log N)인 지연시간에 O(N3) 면적 이하로 회로구현이 가능하다.That is, when the scheduling request masking module 1100 is implemented with a small delay time among the scheduler main processing means 1020, a delay time that is O (log N) when implemented as a recursive AND gate tree as shown in FIG. 12. The circuit can be implemented under the O (N 3 ) area.

상기 스케쥴러 주 처리수단(1020) 중 스케쥴링 요청 매스킹 모듈(1100)은 면적 및 지연시간을 개선하기 위하여 다양한 방법으로 구현이 가능하며, 이의 구현 방법의 세가지 회로 설계 예를 도 12, 도 13, 도 14 및 도 15 에 나타내었다.The scheduling request masking module 1100 of the scheduler main processing means 1020 may be implemented in various ways to improve area and delay time, and three circuit design examples of the implementation method thereof are illustrated in FIGS. 12, 13, and 12. 14 and FIG. 15.

도 12은 스케쥴링 요청 매스킹 모듈(1100)을 지연시간이 적도록 설계한 회로이며, 도 13은 스케쥴링 요청 매스킹 모듈(1100)을 구현 면적이 적도록 설계한 회로이다. 그리고 도 13의 설계는 적은 면적과 지연시간으로 구현될 수 있도록 도 14와 같이 변환이 가능하며, 최종적으로 도 15와 같이 개량 설계가 가능하다.12 is a circuit designing the scheduling request masking module 1100 to have a low delay time, and FIG. 13 is a circuit designing the scheduling request masking module 1100 to have a small implementation area. In addition, the design of FIG. 13 may be converted as shown in FIG. 14 so as to be implemented with a small area and a delay time, and finally, the design may be improved as shown in FIG. 15.

즉, 상기 스케쥴러 주 처리수단(1020) 중 스케쥴링 요청 매스킹 모듈(1100)을 적은 지연시간으로 구현할 경우 도 12 처럼 재귀저인 논리합(and)게이트 트리로 구현하는 경우 0(log N)인 지연시간에 0(N3) 면적으로 회로구현이 가능하다.That is, when the scheduling request masking module 1100 is implemented with a small delay time among the scheduler main processing means 1020, a delay time of 0 (log N) is implemented when the scheduling request masking module 1100 is implemented as a recursive AND gate tree as shown in FIG. 12. The circuit can be implemented with a 0 (N 3 ) area.

상기 스케쥴러 주 처리수단(1020) 중 스케쥴링 요청 매스킹 모듈(1100)을 적은 면적으로 구현할 경우 도 13에 보인 바와 같이 논리곱(and) 게이트의 직렬 연결로 구현이 가능하다.When the scheduling request masking module 1100 is implemented in a small area among the scheduler main processing means 1020, it may be implemented by serial connection of AND gates as shown in FIG. 13.

상기 스케쥴러 주 처리수단(1020) 중 스케쥴링 요청 매스킹 모듈(1100)을 적은 면적 및 지연시간으로 구현할 경우 도 11의 스케쥴링 요청 매스킹 모듈(1100)을 도 14의 회로로 변환이 가능하다.When the scheduling request masking module 1100 of the scheduler main processing means 1020 is implemented with a small area and a delay time, the scheduling request masking module 1100 of FIG. 11 may be converted into the circuit of FIG. 14.

도 13은 스케쥴링 요청 매스킹블럭(922, 1100)은 회로의 전체 지연시간을 결정하는 감장경로(critical path)에 영향을 미치는 부분 회로(precomputation logic)로 출력 신호 함수를 나누어(divide)(1310, 1320)(1311, 1321) 도 14의 회로로 변환이 가능하다. 이 때 도 14의 회로는 회로 결과 신호를 예측하는 부분 회로(precomputation circuit)(1310)와 이 회로의 출력값을 0과 1로 가정하고 수행된 결과를 나타내는(remainder) 두 분할된 회로(cofactor circuits)(1320)로 구성된다. 도 14의 논리곱(and) 트리의 전단(1310)과 후단(1320) 부분의 매스킹 블럭(maksing)을 중간의 적절한 매스킹 신호의 값의 경우에 따라 분할한 후 분할된 부분을 동시에 수행하도록 도 14와 같이 변환할 수 있다. 도 14의 매스킹블럭(922, 1100)의 분할된 회로(cofactor circuit) 중 매스킹 신호가 0인 경우는 이에 영향을 받는 모든 매스킹 신호는 0 값이 되므로, 도 14은 도 15과 같이 변환할 수 있다.따라서, 도 13를 추가 면적없이 도 15과 같이 변환함으로써 지연시간을 반으로 줄일 수 있다. 이 변환은 재귀적으로 재적용이 가능하다.13 shows that the scheduling request masking blocks 922 and 1100 divide the output signal function into precomputation logic that affects the critical path that determines the overall delay time of the circuit. 1320) 1311 and 1321 may be converted to the circuit of FIG. In this case, the circuit of FIG. 14 includes a precomputation circuit 1310 that predicts a circuit result signal, and two cofactor circuits that represent a result performed by assuming an output value of the circuit as 0 and 1. 1320. The masking blocks (maksing) of the front end 1310 and the rear end 1320 of the AND tree of FIG. 14 are divided according to the value of an appropriate masking signal in the middle, and then the divided parts are simultaneously performed. It can be converted as shown in FIG. If the masking signal of the divided circuits (cofactor circuit) of the masking blocks 922 and 1100 of FIG. 14 is 0, all masking signals affected by this become 0, and FIG. 14 is converted as shown in FIG. 15. Therefore, the delay time can be halved by converting FIG. 13 to FIG. 15 without an additional area. This transformation can be reapplied recursively.

여기서 본 발명의 스케쥴러의 주처리 수단의 4입력포트 및 4 출력포트 설계 예제를 이용하여 설명한다.Herein, a description will be given using four input ports and four output port design examples of the main processing means of the scheduler of the present invention.

여기서, 상기 입출력 요청 (i,j)의 수락 값을 결정하기 위해 필요한 가로축 방향의 조건을 mask_i(i,j), 세로 축 방향의 조건을 mask_j(i,j)라고 할 때, 4 입력 4 출력 포트 스케쥴링 주처리수단(820, 920, 1020)을 각각 다른 방법으로 설계한 수식을 수학식 (4) 및 수학식 (5)에 나타내었다.Here, 4 inputs and 4 outputs when the horizontal axis direction condition necessary to determine the acceptance value of the input / output request (i, j) are mask_i (i, j) and the vertical axis condition mask_j (i, j). Equations (4) and (5) which designate the port scheduling main processing means 820, 920, and 1020 in different ways are shown.

수학식 (4)는 스케쥴러 주처리수단(1020)의 전송수락(accept)(i,j)을 재귀적인 삼각형 구조로 0(log N) 지연시간에 계산한 예제이며, 수학식 (5)는 직렬 논리곱 게이트를 사용하여 적은 면적으로 구현될 수 있도록 설계한 예제이다. 수학식(4) 및 수학식 (5)에 나타낸 도 10의 스케쥴링 주처리수단(1020)은 조합회로로 구현이 가능하며, 이를 도 11에 예시하였다.Equation (4) is an example of calculating the acceptance (i, j) of the scheduler main processing means 1020 at a delay time of 0 (log N) in a recursive triangle structure. This example is designed to be implemented in a small area using an AND gate. The scheduling main processing means 1020 of FIG. 10 shown in Equations (4) and (5) can be implemented as a combination circuit, which is illustrated in FIG.

수학식 (4)와 수학식 (5)에서 acpt(3,1)는 입력포트 3, 출력포트 1에서의 전송수락, mask_i(3,1)은 전송 요청 req(3,1)의 수락을 결정을 위한 가로축 방향의 조건이고, mask_j(3,1)은 전송요청 req(i,j)의 수락을 결정을 위한 세로축 방향의 조건이다.In equations (4) and (5), acpt (3,1) accepts transmission on input port 3, output port 1, and mask_i (3,1) determines acceptance of the transfer request req (3,1). Is a condition in the horizontal axis direction, and mask_j (3,1) is a condition in the vertical axis direction for determining acceptance of the transmission request req (i, j).

[수학식 4][Equation 4]

acpt(3,1) = ((not acpt(1,1) and not acpt (2,1)) and (not acpt(3,2) and not acpt (3,3))) andacpt (3,1) = ((not acpt (1,1) and not acpt (2,1)) and (not acpt (3,2) and not acpt (3,3))) and

req(3,1)req (3,1)

[수학식 5][Equation 5]

acpt(3,1) = mask_i(3,1) and mask_j(3,1) and req(3,1)acpt (3,1) = mask_i (3,1) and mask_j (3,1) and req (3,1)

mask_i(3,1) = not acpt(1,1) and not acpt(2,1)mask_i (3,1) = not acpt (1,1) and not acpt (2,1)

mask_j(3,1) = not acpt(3,2) and not acpt(3,3)mask_j (3,1) = not acpt (3,2) and not acpt (3,3)

도 17, 도 18, 도 19, 도 20은 본 발명의 스케쥴링 알고리듬의 성능 비교 그래프이다. 도 17, 도 18, 도 19, 도 20은 각각 본 발명에 따른 고속 저면적의 스위치 셀 스케쥴링의 throughput 성능, 평균 셀 지연시간, 최대 셀 지연시간 및 셀 지연시간 변이를 비교한 그래프들이다.17, 18, 19, and 20 are graphs comparing performance of the scheduling algorithm of the present invention. 17, 18, 19, and 20 are graphs comparing throughput performance, average cell delay time, maximum cell delay time, and cell delay time variation of high-speed low-area switch cell scheduling according to the present invention.

이상에서 설명한 본 발명은 진술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위내에서 여러가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것 이다.The present invention described above is not limited to the stated embodiments and the accompanying drawings, and it is common in the art that various substitutions, modifications, and changes can be made without departing from the technical spirit of the present invention. It will be clear to those who have knowledge of the world.

상기와 같은 본 발명은, 기존의 스케쥴링 수단에 비해 지연시간과 면적이 현저히 적은 장점이 있으므로 동일한 소자를 사용하여 보다 빠르고 대용량의 스케쥴러 및 스위칭 시스템을 설계할 수 있다.As described above, the present invention has a merit that the delay time and the area are significantly smaller than those of the conventional scheduling means, so that a faster and larger capacity scheduler and switching system can be designed using the same device.

첫째, 기존의 스케쥴링 알고리듬 지연시간은 입력 포트의 수가 N배 증가할수록 지연시간이 N log N 배 혹은 N 배 증가하여 현재 기술로는 32*32이상의 대용량 스위치의 구현에 어려움이 있으나, 제안된 알고리듬과 구조는 지연시간이 log N 혹은 N배 증가하므로 보다 대용량 스위치의 구현에 효과적으로 사용될 수 있다.First, the existing scheduling algorithm delay time increases N log N times or N times as the number of input ports increases by N times, which makes it difficult to implement a large-capacity switch larger than 32 * 32 with current technology. The architecture increases log N or N times the latency, which can be effectively used to implement larger switches.

둘째, 기존의 스케쥴링 알고리듬 면적은 입력 포트의 수가 N배 증가할수록 N2혹은 N4배 증가하여 대용량 스위치의 구현에 어려움이 있으나, 제안된 알고리듬과 구조는 면적이 N log N배 혹은 N3으로 증가하므로, 동일한 소자를 사용하여 보다 대용량의 스케쥴러를 구현할 수 있는 장점이 있다.Second, the existing scheduling algorithm area increases by N 2 or N 4 times as the number of input ports increases by N times, which makes it difficult to implement a large capacity switch. However, the proposed algorithm and structure increases by N log N times or N 3 . Therefore, there is an advantage that can implement a larger capacity scheduler using the same device.

셋째, 제안된 스케쥴링 알고리듬은 간단한 배럴 쉬프터(barrel shifter)와 NAND 트리를 사용하여 구현이 가능하므로, 회로의 구조가 간단하게 구현할 수 있는 효과가 있다.Third, since the proposed scheduling algorithm can be implemented using a simple barrel shifter and a NAND tree, the circuit structure can be easily implemented.

Claims (6)

고속 저면적의 스위치 셀 스케쥴링을 하기 위한 장치에 있어서,An apparatus for high speed low area switch cell scheduling, comprising: 각 입력포트의 스케쥴링 요청을 받아 우선순위의 값만큼 회전을 수행하는 입력요청 회전수단;Input request rotation means for receiving a scheduling request of each input port and performing rotation by a priority value; 상기 입력요청 회전수단에서 회전된 스케쥴링 요청을 받아 고정된 우선 순위하에서 스케쥴링을 처리하는 스케쥴러 주 처리수단; 및Scheduler main processing means for receiving the scheduling request rotated by the input request rotation means and processing scheduling under a fixed priority; And 상기 스케쥴러 주 처리수단에서 제공된 스케쥴링 결과를 우선순위의 값에 따라 역회전을 수행하여 출력포트에 제공하는 입력수락 회전수단Input acceptance rotation means for performing a reverse rotation according to the priority value of the scheduling result provided by the scheduler main processing means to provide to the output port 을 포함하는 고속 저면적의 스위치 셀 스케쥴링 장치.High speed low area switch cell scheduling apparatus comprising a. 제 1 항에 있어서, 스케쥴러 주 처리수단은,The scheduler main processing means according to claim 1, 스케쥴링 요청과 스케쥴링 요청의 수락 조건을 결정하는 매스킹(masking) 블록을 이용하여 스케쥴링 수락을 결정하는 수단;Means for determining scheduling acceptance using a masking block that determines the scheduling request and the acceptance condition of the scheduling request; 스케쥴링 요청(request)이 수락(grant)될 수 있는 지를 판별하는 입력별 매스킹 수단; 및Input masking means for determining whether a scheduling request can be granted; And 스케쥴링 요청(request)이 수락(grant)될 수 있는 지를 판별하는 출력별 매스킹 수단Output-specific masking means to determine whether scheduling requests can be granted 을 포함하는 고속 저면적의 스위치 셀 스케쥴링 장치.High speed low area switch cell scheduling apparatus comprising a. 제 2 항에 있어서, 상기 출력별 매스킹 수단은,The method of claim 2, wherein the masking means for each output, 현재의 요청(request)보다 우선 순위가 높은 스케쥴링 요청(request) 중 출력에 영향을 미치는 요청들을 이용하여 계산하는 것을 특징으로 하는 고속 저면적의 스위치 셀 스케쥴링 장치.A high-speed, low-area switch cell scheduling apparatus, characterized in that it is calculated using requests that affect the output of a scheduling request that has a higher priority than a current request. 제 2 항에 있어서, 상기 입력별 매스킹 수단 및 출력별 매스킹 수단은,The method of claim 2, wherein the masking means for each input and the masking means for each output, 스케쥴링 요청(request)이 수락(grant)될 수 있는 지를 판별하는 출력별 매스킹을 동시에 계산하고, 상기 출력별 매스킹을 재귀적인 논리곱 게이트 트리와 인버터 게이트를 사용하여 O(log N) 지연시간과 O(N3) 면적이하로 구현되는 것을 특징으로 하는 고속 저면적의 스위치 셀 스케쥴링 장치.Simultaneously calculate per-output masking to determine if scheduling requests can be granted, and calculate the O-log N latency using recursive AND gate tree and inverter gates. And a high-speed, low-area switch cell scheduling apparatus, characterized in that it is implemented in an O (N 3 ) area or less. 제 2 항에 있어서, 상기 상기 입력렬 매스킹 수단 및 출력별 매스팅 수단은,The method of claim 2, wherein the input string masking means and output-specific masting means, 직렬로 연결된 이진 낸드(nand) 트리와 인버터 게이트를 사용하여 0(N) 지연시간과 0(N3) 면적으로 구현하는 되는 것을 특징으로 하는 고속 저면적의 스위치 셀 스케쥴링 장치.A high-speed, low-area switch cell scheduling apparatus using a binary nand tree and an inverter gate connected in series to implement a 0 (N) delay time and a 0 (N 3 ) area. 고속 저면적의 스위치 셀 스케쥴링을 하기 위한 장치에 있어서,An apparatus for high speed low area switch cell scheduling, comprising: 각 입력포트의 스케쥴링 요청을 받아 우선순위의 값만큼 회전을 수행하는 제 1 단계;A first step of receiving a scheduling request of each input port and performing rotation by a priority value; 상기 입력요청 회전수단에서 회전된 스케쥴링 요청을 받아 고정된 우선 순위하에서 스케쥴링을 처리하는 제 2 단계 및A second step of receiving a scheduling request rotated by the input request rotating means and processing scheduling under a fixed priority; 상기 제 2 단계의 스케쥴링 결과를 우선순위의 값에 따라 역회전을 수행하여 출력포트에 제공하는 제 3 단계A third step of providing the output port by performing a reverse rotation according to the priority value of the scheduling result of the second step 를 포함하는 고속 저면적의 스위치 셀 스케쥴링 방법.High speed low area switch cell scheduling method comprising a.
KR10-2000-0087661A 2000-12-31 2000-12-31 Cell scheduling apparatus and method for high speed low-area switch KR100420475B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0087661A KR100420475B1 (en) 2000-12-31 2000-12-31 Cell scheduling apparatus and method for high speed low-area switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0087661A KR100420475B1 (en) 2000-12-31 2000-12-31 Cell scheduling apparatus and method for high speed low-area switch

Publications (2)

Publication Number Publication Date
KR20020059115A KR20020059115A (en) 2002-07-12
KR100420475B1 true KR100420475B1 (en) 2004-03-02

Family

ID=27690477

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0087661A KR100420475B1 (en) 2000-12-31 2000-12-31 Cell scheduling apparatus and method for high speed low-area switch

Country Status (1)

Country Link
KR (1) KR100420475B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604735A (en) * 1995-03-15 1997-02-18 Finisar Corporation High speed network switch
KR20000018321A (en) * 1998-09-01 2000-04-06 윤종용 Priority scheduling system and a method thereof
JP2000295228A (en) * 1999-04-02 2000-10-20 Nec Corp Switch, its scheduler and switch scheduling method
KR20000074194A (en) * 1999-05-19 2000-12-15 강병호 Asynchronous transfer mode switch and cell format

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604735A (en) * 1995-03-15 1997-02-18 Finisar Corporation High speed network switch
KR20000018321A (en) * 1998-09-01 2000-04-06 윤종용 Priority scheduling system and a method thereof
JP2000295228A (en) * 1999-04-02 2000-10-20 Nec Corp Switch, its scheduler and switch scheduling method
KR20000074194A (en) * 1999-05-19 2000-12-15 강병호 Asynchronous transfer mode switch and cell format

Also Published As

Publication number Publication date
KR20020059115A (en) 2002-07-12

Similar Documents

Publication Publication Date Title
KR900006793B1 (en) Packet switched multiple queue nxm switch mode and processing method
KR900006791B1 (en) Packet switched multiport memory nxm switch node and processing method
US5301333A (en) Tree structured variable priority arbitration implementing a round-robin scheduling policy
US5191578A (en) Packet parallel interconnection network
US7826477B2 (en) Advanced telecommunications router and crossbar switch controller
Bystrov et al. Priority arbiters
EP0369146A2 (en) Multipath hierarchical network
US5371893A (en) Look-ahead priority arbitration system and method
JPH0855083A (en) Pseudo-round-robin arbitration system
EP0214840A2 (en) Method of conflict resolution in a parallel processor network
Lee et al. A high-speed and decentralized arbiter design for NoC
KR100420475B1 (en) Cell scheduling apparatus and method for high speed low-area switch
US6831922B1 (en) Contention priority control circuit
AU2022259481A1 (en) Event-driven readout system with non-priority arbitration for multichannel data sources
Hosoya et al. Superconducting packet switch
Chi et al. Decomposed arbiters for large crossbars with multi-queue input buffers
Kameda et al. Single-flux-quantum (SFQ) circuit design and test of crossbar switch scheduler
Dimitrakopoulos et al. Dynamic-priority arbiter and multiplexer soft macros for on-chip networks switches
US7382794B1 (en) Parallel round-robin arbiter system and method
Lee A variable round-robin arbiter for high speed buses and statistical multiplexers
Delgado-Frias et al. A VLSI crossbar switch with wrapped wave front arbitration
Kumar et al. Parallel Distributed Round Robin Arbiter for Network on Chip
Paul et al. Reconfigurable parallel architecture of high speed round robin arbiter
Jiang et al. A high-throughput asynchronous multi-resource arbiter using a pipelined assignment approach
CN112949247B (en) Phase-based on-chip bus scheduling device and method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee