KR100447395B1 - Round robin scheduler for memory access control - Google Patents

Round robin scheduler for memory access control Download PDF

Info

Publication number
KR100447395B1
KR100447395B1 KR10-2001-0083529A KR20010083529A KR100447395B1 KR 100447395 B1 KR100447395 B1 KR 100447395B1 KR 20010083529 A KR20010083529 A KR 20010083529A KR 100447395 B1 KR100447395 B1 KR 100447395B1
Authority
KR
South Korea
Prior art keywords
output
round robin
queue
storage medium
signal
Prior art date
Application number
KR10-2001-0083529A
Other languages
Korean (ko)
Other versions
KR20030053350A (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-2001-0083529A priority Critical patent/KR100447395B1/en
Publication of KR20030053350A publication Critical patent/KR20030053350A/en
Application granted granted Critical
Publication of KR100447395B1 publication Critical patent/KR100447395B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 ATM 셀 등의 데이터를 큐에서 빼내어 전송하는 순서를 결정하는 라운드 로빈 스케쥴러를 다중화기를 이용하여 간단하게 구현한 메모리 엑세스 제어용 라운드 로빈 스케쥴러를 제공하기 위한 것으로, 데이터를 입력받아 일시 저장하기 위한 다수의 데이터 저장매체와; 각 데이터 저장매체로부터 데이터들을 읽어가는 순서를 설정하고, 임의의 저장매체에 대한 전송거부 신호 또는 해당 데이터 저장매체가 비어 있음을 알리는 신호가 발생되는 경우에는 설정된 순서에 따라 데이터 전송을 활성화시키다가 현재 상태에서 해당 데이터 저장매체에의 접근을 차단시켜 해당 저장매체의 데이터 전송 순서는 건너뛰도록 스케쥴링하기 위한 스케쥴링 수단과; 스케쥴링 수단이 스케쥴링한 순서로 각 데이터 저장매체로부터 읽혀지는 데이터들을 다중화 출력하기 위한 다중화 출력단을 포함하여 이루어지며, 전송거부 신호와 큐가 비어 있음을 알리는 신호가 발생되는 경우에는 선택적으로 해당 큐에의 접근을 차단시키도록 된 간단한 하드웨어 구성의 라운드 로빈 스케쥴러를 구현할 수 있어 제조비용의 절감과 스케쥴러의 효율성을 증대시킬 수 있다.SUMMARY OF THE INVENTION The present invention provides a round robin scheduler for memory access control which simply implements a round robin scheduler using a multiplexer to determine the order of extracting data from an ATM cell and transmitting it in a queue. A plurality of data storage media; Set the order of reading the data from each data storage medium, and if the transmission reject signal for any storage medium or a signal indicating that the data storage medium is empty, activate the data transmission according to the set order. Scheduling means for blocking access to the data storage medium in a state so that the data transmission order of the storage medium is skipped; It includes a multiplexing output stage for multiplexing the data read from each data storage medium in the order scheduled by the scheduling means.If a signal indicating that the transmission rejection signal and the queue is empty is generated, A simple hardware round robin scheduler can be implemented to block access, reducing manufacturing costs and increasing scheduler efficiency.

Description

메모리 엑세스 제어용 라운드 로빈 스케쥴러 {Round robin scheduler for memory access control}Round robin scheduler for memory access control

본 발명은 메모리 엑세스의 스케쥴링에 관한 것으로, 보다 상세하게는 ATM(Asynchronous Transfer Mode) 셀을 큐(Queue)에서 빼내어 전송할 때 각 큐에서의 엑세스 순서를 라운드 로빈(Round Robin) 방식으로 설정하기에 적당하도록 한 메모리 엑세스 제어용 라운드 로빈 스케쥴러에 관한 것이다.The present invention relates to the scheduling of memory access, and more particularly, it is suitable to set the access order in each queue in a round robin manner when an ATM (Asynchronous Transfer Mode) cell is removed from a queue and transmitted. A round robin scheduler for memory access control.

일반적으로 스케쥴러란 멀티서비스 ATM 네트워크는 각각 다른 QoS(Quality of Service)를 가진 여러 다양한 서비스들(영상, 음성, 데이터 등)을 제공한다. 이러한 신호들은 같은 스위치 노드나 링크를 사용하게 된다.Generally, a scheduler multiservice ATM network provides various services (video, voice, data, etc.) each having a different quality of service (QoS). These signals use the same switch node or link.

따라서 동시에 스위치 노드나 링크를 사용하는 신호들은 충돌을 일으킬 것이고, 이를 방지하기 위해 ATM 셀 들을 그 QoS에 따라 임시로 저장하는 큐가 필요하게 된다.Therefore, signals that use switch nodes or links at the same time will cause collisions. To prevent this, a queue is needed to temporarily store ATM cells according to their QoS.

ATM 셀을 큐에서 빼내어 전송할 때 한 프레임이나 주기 동안에 각각의 큐를 동일하게 접근하여 셀을 빼내는 것을 라운드 로빈 스케쥴러라 한다. 즉, 한 프레임이나 주기동안 각각의 큐는 그 QoS에 상관없이 모두 동일하게 셀을 전송한다.When the ATM cell is dequeued and transmitted, the round robin scheduler is called to dequeue the cell by accessing each queue in the same frame or period. That is, during one frame or period, each queue transmits the same cell regardless of its QoS.

그리고 ATM 셀을 큐에서 빼내 전송할 때 한 프레임이나 주기 동안에 각각의 큐에 무게(Weight)를 주어 셀을 빼가는 방식이 적용된 스케쥴러를 웨이티드 라운드 로빈 스케쥴러라 한다. 이 스케쥴러가 적용되면, 한 프레임이나 주기동안 무게가 큰 큐는 무게가 작은 큐 보다 더 많이 셀을 전송하게 된다.When the ATM cell is dequeued and transmitted, the scheduler to which the cell is drawn by giving weight to each queue for one frame or period is called a weighted round robin scheduler. When this scheduler is applied, heavier cues in one frame or period will transmit more cells than smaller cues.

이러한 스케쥴러들은 ATM 네트워크 중 ATM 계층에서 ATM 셀 들에 대해 트래픽 제어를 하는 부분에서 주로 사용된다. 예를 들어 ATM-PON 등의 광가입자 장비 등에 적용될 수 있다.These schedulers are mainly used for the traffic control of ATM cells in the ATM layer of the ATM network. For example, it can be applied to optical subscriber equipment such as ATM-PON.

도1은 종래기술에 따른 메모리 엑세스 제어용 라운드 로빈 스케쥴러의 적용 블록도이며, 도2는 종래기술에 따른 메모리 엑세스 제어용 라운드 로빈 스케쥴러의 블록도이다.1 is a block diagram of an application of a round robin scheduler for memory access control according to the prior art, and FIG. 2 is a block diagram of a round robin scheduler for memory access control according to the prior art.

도1에 따르면, 종래에는 주로 카운터를 이용한 라운드 로빈 스케쥴러(110)를 설계하여 다수개의 큐(120)로부터 셀이 전송되는 순서가 결정되도록 한다.According to FIG. 1, a round robin scheduler 110 using a counter is conventionally designed to determine an order in which cells are transmitted from a plurality of queues 120.

라운드 로빈 스케쥴러(110)는 도2에 도시된 바와 같이 다수개의 직렬 연결된 스케쥴 모듈들(210)을 포함하고 있다. 각 스케쥴 모듈(210)은 출력(o#, 이하에서 '#'은 임의의 자연수)하게 되고, 이 출력들(o#)이 OR 게이트(220)에서 논리합 연산된 후 선택기(240)로 입력된다. 이때 각 스케쥴러 모듈들(210)의 초기화는 초기화 신호(initial)를 AND 게이트(230)에 인가함으로써 달성된다. 선택기(230)는 AND 게이트(230)의 출력과 최종단의 스케쥴러 모듈(210)의 출력을 인가받아 다수개의 큐 중에서 현재 상태에서 셀이 빠져 나가게 될 셀을 결정하게 된다.The round robin scheduler 110 includes a plurality of serially connected schedule modules 210 as shown in FIG. Each schedule module 210 is output (o #, hereinafter '#' is any natural number), and these outputs (o #) are ORed on the OR gate 220 and then input to the selector 240. . In this case, initialization of each scheduler module 210 is achieved by applying an initialization signal to the AND gate 230. The selector 230 receives the output of the AND gate 230 and the output of the scheduler module 210 of the last stage to determine the cell from which the cell will exit from the current state among the plurality of queues.

여기서 스케쥴러 모듈(210)은 외부의 스위치로부터 분배되는 전송거부 신호인 백프레셔(Back Pressure) 신호(bp#)나 큐(120)로부터 인가되는 엠프티 신호(empty#)를 인가받을 때 출력(o#)이 차단된다. 여기서 백프레셔 신호는 외부에서 큐의 데이터 전송을 강제적으로 차단하기 위한 신호이고, 엠프티 신호는 큐 자체에서 자신이 비어 있는 상태이므로 전송할 데이터가 부재함을 알리기 위한 신호이다.Here, the scheduler module 210 outputs when a back pressure signal bp #, which is a transmission rejection signal distributed from an external switch, or an empty signal applied from the queue 120 is received. #) Is blocked. Here, the back pressure signal is a signal for forcibly blocking data transmission from the outside, and the empty signal is a signal for notifying that there is no data to be transmitted because it is empty in the queue itself.

종래의 라운드 로빈 방식은 셀들이 저장되어 있는 여러 큐들에 대해 모두 같은 무게를 할당함으로써 한 주기동안 각각의 모든 큐에서 읽혀 나가는 셀들은 동일한 서비스 기회를 갖게 된다. 그런데 한 주기동안 특정한 큐에 스위치로부터 백프레셔 신호가 인가되거나 큐가 비어있는 상태가 되면 그 큐는 서비스 기회를 잃게 된다.The conventional round robin method assigns the same weight to all the queues in which the cells are stored so that cells read from each queue in one cycle have the same service opportunity. However, if a back pressure signal is applied from a switch to a specific queue for a period or the queue becomes empty, the queue loses the service opportunity.

따라서 라운드 로빈 스케쥴러를 서비스를 받는 측과 서비스를 제공하는 측간의 상태에 따라 처리하는 일반적인 스테이트 머쉰(State Machine)으로 설계를 한다면, 현재의 상태에 인가되는 입력신호가 너무 많아서 설계를 한다 해도 매우 많은 조합 로직이 만들어 질 것이며, 설계도 복잡해 질 것이다. 또한 큐들이 늘어남에 따라 위와 같은 문제점은 기하급수적으로 늘어나게 될 것이다. 그러므로 카운터를 이용해 라운드 로빈 스케쥴러를 설계한다면 백프레셔 신호가 인가된 큐나 엠프티 상태인 큐까지 서비스하려고 하기 때문에 스케쥴러의 성능이 매우 떨어지는 단점이 있다.Therefore, if you design the round robin scheduler as a general state machine that processes according to the state between the receiving side and the service providing side, there are too many input signals applied to the current state. Combination logic will be created, and the design will be complicated. In addition, as queues increase, the above problem will increase exponentially. Therefore, if the round robin scheduler is designed using a counter, the scheduler's performance is very poor because it attempts to serve the queue to which the back pressure signal is applied or to the queue with an empty state.

본 발명은 상기와 같은 종래의 문제점을 해소하기 위해 창출된 것으로, 본 발명의 목적은 ATM 셀 등의 데이터를 큐에서 빼내어 전송하는 순서를 결정하는 라운드 로빈 스케쥴러를 다중화기를 이용하여 간단하게 구현한 메모리 엑세스 제어용 라운드 로빈 스케쥴러를 제공하는 것이다.SUMMARY OF THE INVENTION The present invention was created to solve the above-mentioned conventional problems, and an object of the present invention is to simply implement a round robin scheduler using a multiplexer to determine the order of dequeuing and transmitting data such as ATM cells. It is to provide a round robin scheduler for access control.

상기 목적을 달성하기 위한 본 발명의 메모리 엑세스 제어용 라운드 로빈 스케쥴러는, 다수의 데이터 저장매체로 저장되는 데이터의 입출력을 제어하는 다수의 스케쥴링 제어장치에 있어서,상기 자신에게 배정된 데이터 저장매체로부터 인가된 백프레져신호(backpressure)와 해당 데이터 저장매체의 엠프티신호(empty)를 논리연산하여 이들신호의 부존재를 확인하는 다수개의 제1 내지 제3 논리연산부와,상기 데이터 저장매체로의 기설정된 접근순서에 의해 전단으로부터 인가되는 활성화 신호와 기준신호를 입력받아 상기 제1 및 제2 논리연산부의 출력신호에 따라 그 입력중 하나를 선택하는 복수개의 제1 및 제2 다중화단과,상기 제1 다중화단의 일측 출력을 래치시킨 후 자신에게 배정된 해당 데이터 저장매체의 활성화 여부를 지시하는 신호를 출력하는 플립플롭부와,상기 플립플롭부와 상기 제2 다중화단의 출력신호을 입력받아 상기 제3 논리연산부의 출력선택에 따라 다중화하여 상기 설정된 순서에서 자신의 다음 단에 위치한 스케쥴링 수단을 활성화시키는 출력신호를 출력하는 제3 다중화단을 포함하는 메모리 엑세스 제어용 라운드 로빈 스케쥴러를 제공한다.The round robin scheduler for memory access control of the present invention for achieving the above object, in a plurality of scheduling control apparatus for controlling the input and output of data stored in a plurality of data storage medium, applied from the data storage medium assigned to itself A plurality of first to third logic operation units configured to logically perform a backpressure signal and an empty signal of the corresponding data storage medium to confirm the absence of these signals, and a predetermined access order to the data storage medium. A plurality of first and second multiplexing stages that receive an activation signal and a reference signal applied from a front end and select one of the inputs according to output signals of the first and second logic operation units; After latching one output, it outputs a signal indicating whether or not the corresponding data storage medium assigned to itself is activated. A lip-flop unit and an output signal for receiving an output signal of the flip-flop unit and the second multiplexer and multiplexing according to an output selection of the third logical operation unit to activate a scheduling means located at its next stage in the set order. A round robin scheduler for memory access control including a third multiplexing stage is provided.

도1은 종래기술에 따른 메모리 엑세스 제어용 라운드 로빈 스케쥴러의 적용 블록도.1 is an application block diagram of a round robin scheduler for memory access control according to the prior art;

도2는 종래기술에 따른 메모리 엑세스 제어용 라운드 로빈 스케쥴러의 블록도.2 is a block diagram of a round robin scheduler for memory access control in accordance with the prior art;

도3은 본 발명의 실시예에 따른 메모리 엑세스 제어용 라운드 로빈 스케쥴러의 블록도.Figure 3 is a block diagram of a round robin scheduler for memory access control in accordance with an embodiment of the present invention.

도4는 도3에서 라운드 로빈 스케쥴러 모듈의 블록도.4 is a block diagram of a round robin scheduler module in FIG.

* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

310 : 큐 320 : 라운드 로빈 스케쥴러310: queue 320: round robin scheduler

330 : 다중화 출력단 410, 430, 440 : 다중화단330: multiplexed output stage 410, 430, 440: multiplexed stage

411, 441 : NOR 게이트 420 : 플립플롭부411 and 441: NOR gate 420: flip-flop portion

431 : OR 게이트431 OR gate

이하, 첨부도면을 참조하여 본 발명에 따른 바람직한 실시예를 설명한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.

도3은 본 발명의 실시예에 따른 메모리 엑세스 제어용 라운드 로빈 스케쥴러의 블록도이며, 도4는 도3에서 라운드 로빈 스케쥴러 모듈의 블록도이다.3 is a block diagram of a round robin scheduler for memory access control according to an embodiment of the present invention, and FIG. 4 is a block diagram of a round robin scheduler module in FIG.

본 실시예에서는 ADSL 등의 가입자 전송장비에서 상향으로 데이터를 전송할 때에 가입자별 정보를 가지고 있는 큐들의 데이터 전송 순서를 조정하고자 한다. 즉, 각각의 큐에 ATM 셀 등의 정보를 다중화기로 보낼 때, 카운터를 이용하여 순서대로 엑세스하기 때문에 매번 빈 큐도 접근하게 되던 기존의 라운드 로빈 스케쥴러와 달리, 큐가 비었다는 신호와 다중화기의 다음단에 위치하는 스위치에서 인가하는 전송 거부신호인 백프레셔 신호에 따라 스케쥴러가 큐의 접근을 건너뛰도록 한다. 이처럼 종래의 라운드 로빈 스케쥴러를 하드웨어로 설계하는데 소요되는 복잡한 과정을 제거하고, 다중화기를 사용하여 보다 간편한 하드웨어 구조를 구현할 수 있게 된다.In this embodiment, when transmitting data from the subscriber transmission equipment such as ADSL upward, it is intended to adjust the data transmission order of queues having subscriber-specific information. In other words, unlike the conventional round robin scheduler that accesses the empty queue every time because it uses a counter to access ATM queues and other information to the multiplexer, the signal that the queue is empty and next to the multiplexer The scheduler skips the access of the queue according to the back pressure signal, which is a transmission reject signal applied by a switch located at the stage. As such, the complicated process of designing a conventional round robin scheduler by hardware is eliminated, and a simpler hardware structure can be realized by using a multiplexer.

도3에 따르면, 본 실시예는 ATM 셀을 입력받아 일시 저장하기 위한 큐(310), 큐(310)로부터 셀들이 빼내어져 전송되는 순서를 결정하기 위한 라운드 로빈 스케쥴러(320), 라운드 로빈 스케쥴러(320)가 지정하는 순서로 각 큐(310)로부터 빼내어지는 셀들을 다중화 출력하기 위한 다중화 출력단(330)을 포함한다.According to FIG. 3, the present embodiment is a queue 310 for receiving and temporarily storing ATM cells, a round robin scheduler 320, and a round robin scheduler for determining an order in which cells are removed from the queue 310 and transmitted. And a multiplexing output stage 330 for multiplexing and outputting cells extracted from each queue 310 in the order designated by 320.

큐(310)는 외부의 스위치에서 인가되는 백프레셔 신호(bp#)에 따라 그 출력이 제어된다. 예를 들어 백프레셔 신호 bp1은 큐1의 셀 전송을 차단하며, 기타 이와 같은 방식으로 외부에서 각 큐(310)의 셀 출력을 제어한다. 한편, 큐(310)는 자신이 ATM 셀을 저장하고 있기 않은 상태 즉, 비어 있는 상태가 되면 엠프티 신호(empty#)를 출력한다. 이 엠프티 신호는 스케쥴러(320)가 ATM 셀을 빼내가는 순서를 스케쥴링할 때 해당 큐를 건너 뛰도록 하기 위한 것이다. 각 큐(310)에서 빼내가는 ATM 셀은 cell#으로 표시되어 있다.The output of the queue 310 is controlled according to the back pressure signal bp # applied from an external switch. For example, the back pressure signal bp1 blocks the cell transmission of the cue 1, and otherwise controls the cell output of each cue 310 from the outside. On the other hand, the queue 310 outputs an empty signal (empty #) when it does not store the ATM cell, that is, the empty state. This empty signal is intended to cause the scheduler 320 to skip the queue when scheduling the order in which the ATM cells are pulled out. ATM cells to be withdrawn from each queue 310 are indicated by cell #.

다중화단(330)은 라운드 로빈 스케쥴러(320)의 출력(o#)에 따라 큐(310)로부터 셀(cell#)이 읽혀져 외부의 장비 등으로 최종 출력(celli)되도록 하기 위한 것으로, 라운드 로빈 스케쥴러(320)의 출력(o#)이 스케쥴링된 순서로 들어옴에 따라 이에 동일한 순서로 큐(310)로부터 셀(cell#)이 엑세스되도록 한다. 예를 들어 현재 상태에서 라운드 로빈 스케쥴러(320)의 출력 o1이 액티브라면 큐1에서 셀(cell1)이 엑세스되어 최종 출력되고 기타의 큐들에 대한 엑세스는 대기상태에 있게 된다. 다음 상태에서 라운드 로빈 스케쥴러(320)에서 출력 o2가 액티브되면 큐2에서 셀(cell2)이 엑세스되어 최종 출력으로써 외부로 전송된다. 기타 이와 같다.The multiplexing stage 330 is to allow the cell # to be read from the queue 310 according to the output o # of the round robin scheduler 320 and finally output to an external device. The round robin scheduler As output o # of 320 is entered in a scheduled order, cell # is accessed from queue 310 in the same order. For example, if the output o1 of the round robin scheduler 320 is active in the current state, the cell cell1 is accessed from the queue 1 to be finally output, and the access to the other queues is in a standby state. When the output o2 is activated in the round robin scheduler 320 in the next state, the cell cell2 is accessed in the queue 2 and transmitted to the outside as the final output. Miscellaneous

라운드 로빈 스케쥴러(320)가 동작하지 않을 때에는 초기 모드에 머물러 있다가 초기 모드가 해제되면, 스케쥴러가 동작되어 라운드 로빈 스케쥴링 방식으로큐(310)에 대한 엑세스 순서를 설정하게 된다.When the round robin scheduler 320 is not in operation and remains in the initial mode and the initial mode is released, the scheduler is operated to set the access order for the queue 310 in a round robin scheduling manner.

이처럼 스케쥴링을 담당하는 라운드 로빈 스케쥴러(320)는 도2에 도시된 바와 같이, 각 큐(310)에 대한 스케쥴링을 위해 큐들(310)과 동수로 된 스케쥴링 모듈들이 구비된다. 스케쥴링 모듈 각각은 도3에 도시된 바와 같이 구성되는 것으로, 인가되는 백프레셔 신호와 엠프티 신호의 부존재를 확인하기 위한 제1 및 제2 NOR 게이트(411)(441), 제1 NOR 게이트(411)의 출력에 따라 입력신호들을 선택하기 위한 제1 다중화단(410), 제1 다중화단(410)의 출력을 래치시킨 후 다중화 출력단(330)으로 인가하기 위한 플립플롭부(420), 인가되는 백프레셔 신호와 엠프티 신호의 존재를 확인하기 위한 OR 게이트(431), OR 게이트(431)의 출력에 따라 입력신호들을 선택하기 위한 제2 다중화단(430), 그리고 제2 NOR 게이트(441)의 출력에 따라 플립플롭부(420)와 제2 다중화단(430)의 출력을 선택하여 자신의 다음 번 스케쥴링 모듈을 활성화시키기 위한 제3 다중화단(440)을 포함하여 이루어진다. 여기서 제1 NOR 게이트(411)와 제2 NOR 게이트(441)은 기능적으로 동일하므로 단일의 NOR 게이트를 사용하여 구현할 수도 있는데, 첨부된 도면상에서는 편의상 분리하여 도시하였다.As shown in FIG. 2, the round robin scheduler 320 in charge of scheduling is provided with the same number of scheduling modules as the queues 310 for scheduling of each queue 310. Each of the scheduling modules is configured as shown in FIG. 3, and includes first and second NOR gates 411 and 441 and first NOR gates 411 for checking the absence of an applied back pressure signal and an empty signal. The first multiplexing stage 410 for selecting input signals according to the output of the multiplier, the flip-flop unit 420 for latching the output of the first multiplexing stage 410 and applying it to the multiplexing output stage 330, OR gate 431 for confirming the presence of the back pressure signal and the empty signal, a second multiplexing stage 430 for selecting input signals according to the output of the OR gate 431, and a second NOR gate 441. And a third multiplexing stage 440 for selecting an output of the flip-flop unit 420 and the second multiplexing stage 430 to activate its next scheduling module according to the output of the. Here, since the first NOR gate 411 and the second NOR gate 441 are functionally identical, the first NOR gate 411 and the second NOR gate 441 may be implemented using a single NOR gate, which is illustrated separately for convenience of the accompanying drawings.

즉, 스케쥴링 모듈은 다중화단(410)(430)(440)과 플립플롭부(420)를 포함하여 쉬프트 레지스터 형태로 되어 있다. 이를 이용하여 스위치로부터 백프레셔 신호나 인가되거나 비어 있는 상태의 큐(310)를 서비스하지 않고 건너 뛰어 다음 큐를 서비스하려는 경로를 만든다.That is, the scheduling module includes a multiplexing stage 410, 430, 440 and a flip-flop unit 420 in the form of a shift register. This is used to create a route to service the next queue by skipping the back pressure signal from the switch or serving the queue 310 in the applied or empty state.

그러므로 백프레셔 신호(bp#)나 엠프티 신호(empty#)는 각 큐(310)를 서비스할 것인지 여부를 결정하는 큐(310)의 특성 신호라 할 수 있다. 백프레셔 신호가 인가된 큐나 비어 있는 상태의 큐는 엑세스하지 못하도록 함으로써 효율적인 라운드 로빈 스케쥴링 방식을 구현할 수 있다.Therefore, the back pressure signal bp # or the empty signal empty # may be referred to as a characteristic signal of the queue 310 that determines whether to service each queue 310. Efficient round robin scheduling can be implemented by preventing access to a queue to which a back pressure signal is applied or an empty queue.

보다 구체적으로 라운드 로빈 스케쥴러(320)의 각 스케쥴러 모듈로 입력되는 신호들의 상태에 따른 출력을 설명한다. 도4에서 제1 NOR 게이트(411)는 백프레셔 신호(bp)와 엠프티 신호(empty)가 모두 부재할 경우에 액티브 신호를 출력하여 제1 다중화단(410)에서 1번쪽 입력이 선택되도록 하며, 기타의 경우에는 0번쪽 입력이 선택되도록 한다. 제1 다중화단(410)의 출력은 플립플롭부(420)에 의해 래치되어 클럭(clk)에 따라 출력되어 제3 다중화단(440)으로 인가되는 한편, 해당 큐(310)의 셀(cell#)에 대한 엑세스 활성화 여부를 지시하기 위한 출력(o#)이 된다. 그리고 OR 게이트(431)는 백프레셔 신호(bp)나 엠프티 신호(empty)가 존재할 경우에 액티브 신호를 출력하여 제2 다중화단(430)에서 1번쪽 입력이 선택되도록 하며, 기타의 경우에는 0번쪽 입력이 선택되도록 한다. 제3 다중화단(440)은 제2 NOR 게이트(441)의 출력에 따라 제어되어 다음 번 순서에 해당하는 스케쥴러 모듈을 구동시키게 되는데, 이때 제2 NOR 게이트(441)는 백프레셔 신호(bp)나 엠프티 신호(empty)가 부재할 경우에 플립플롭부(420)의 출력이 선택되도록 제어하고 기타의 경우에는 제2 다중화단(430)의 출력이 선택되도록 제어한다.More specifically, the output according to the states of signals input to each scheduler module of the round robin scheduler 320 will be described. In FIG. 4, the first NOR gate 411 outputs an active signal when both the back pressure signal bp and the empty signal are absent so that the first input is selected in the first multiplexing stage 410. , In other cases, input 0 should be selected. The output of the first multiplexer 410 is latched by the flip-flop unit 420, output according to the clock clk, and applied to the third multiplexer 440. ) Is an output (o #) to indicate whether access is enabled for). The OR gate 431 outputs an active signal when a back pressure signal or an empty signal is present so that the first input is selected by the second multiplexer 430, and in other cases 0 Make sure the first input is selected. The third multiplexing stage 440 is controlled according to the output of the second NOR gate 441 to drive the scheduler module corresponding to the next order, where the second NOR gate 441 is a back pressure signal (bp) or When the empty signal is absent, the output of the flip-flop unit 420 is selected to be selected, and in other cases, the output of the second multiplexer 430 is selected to be selected.

따라서 Queue#1, Queue#2, ..., Queue#n 등 n개의 큐(310)가 사용되는 경우, bp1, bp2, ..., bpn 등 n개의 백프레셔 신호(bp#)가 각 큐(310) 및 라운드 로빈 스케쥴러(320)로 인가되고, 각 큐(310)가 비었음을 알리는 empty1, empty2, ...,emptyn 등의 엠프티 신호(empty#)가 라운드 로빈 스케쥴러(320)로 인가되며, 라운드 로빈 스케쥴러(320)가 각 큐(310)에 대한 엑세스 여부를 지시하기 위한 o1, o2, ..., on 등의 출력(o#)을 다중화 출력단(330)으로 전달하여 다중화 출력단(330)이 각 큐(310)의 셀(cell#)을 전송하는 순서가 결정되어 최종 출력(celli) 되도록 한다.Therefore, when n queues 310 such as Queue # 1, Queue # 2, ..., Queue # n are used, n back pressure signals (bp #) such as bp1, bp2, ..., bpn are received. An empty signal (empty #), such as empty1, empty2, ..., emptyty, which is applied to the 310 and the round robin scheduler 320, indicating that each queue 310 is empty, is sent to the round robin scheduler 320. It is applied, the round robin scheduler 320 delivers the output (o #), such as o1, o2, ..., on to the multiplexed output stage 330 for indicating whether or not to access each queue 310, the multiplexed output stage The order in which 330 transmits the cell ## of each queue 310 is determined so that the final output may be performed.

만약 백프레셔 신호(bp#) 및 엠프티 신호(empty#)가 부재한 상태에서 라운드 로빈 방식에 따라 Queue#1, Queue#2, ..., Queue#n의 순서로 데이터가 전송이 이루어지도록 설정되어 있다면, 라운드 로빈 스케쥴러(320)는 o1, o2, ..., on의 순서로 출력(o#)을 활성화시키게 된다. 그러면 다중화 출력단(330)의 최종 출력(celli)의 데이터 전송순서는 cell1, cell2, ..., celln이 된다. 설정된 순서로 직렬 연결된 스케쥴러 모듈들의 경우, 이전 번의 스케쥴러 모듈의 동작이 완료된 후 액티브 하이의 활성화 신호를 받아 자신이 동작을 개시하게 되고, 자신의 동작이 완료된 후에 액티브 하이의 활성화 신호를 출력하여 다음 번 스케쥴러 모듈을 활성화시키게 된다.If the back pressure signal (bp #) and empty signal (empty #) are absent, the data is transmitted in the order of Queue # 1, Queue # 2, ..., Queue # n according to the round robin method. If set, the round robin scheduler 320 activates the output o # in the order of o1, o2, ..., on. Then, the data transmission order of the final output (celli) of the multiplexed output terminal 330 is cell1, cell2, ..., celln. In the case of the scheduler modules serially connected in the set order, after the operation of the previous scheduler module is completed, the active module receives the activation signal of the active high, and after the operation is completed, the active module outputs the activation signal of the active high. This will activate the scheduler module.

한편, 현재 상태에서 임의의 큐(310)에 대해 백프레셔 신호(bp#)와 엠프티 신호(empty#)중의 어느 하나가 존재하는 경우에는 해당 큐로부터 셀이 엑세스되지 않는다. 즉, Queue#3에 대한 백프레셔 신호 bp3이 인가되거나 저장된 셀이 없어 엠프티 신호 empty3이 인가된다면, 라운드 로빈 스케쥴러(320)는 현재 상태에서 출력 o3을 활성화시키지 않게 되어 o1, o2, o4, ..., on의 순서로 활성화된 출력(o#)에 의해 최종 출력(celli)이 cell1, cell2, cell4, ..., celln과 같게 되도록 하는데,이때 o1과 o2가 출력된 다음에는 큐 Queue#2에서 액티브 하이의 신호 즉, '1'이 인가되므로 도4에서와 같이 큐 Queue#3에 대한 엑세스를 활성화시키게 될 출력(o3)을 비활성화 상태로 만드는 스케쥴러 모듈3에서는 제1 NOR 게이트(411)의 출력이 비활성화되어 제1 다중화단(410)에서 '0'이 출력된 후 플립플롭부(420)에서 래치되고, OR 게이트(430)의 출력이 활성화되어 제2 다중화단(430)에서 이전 스케쥴러 모듈의 활성화 신호 '1'이 선택되며, 제2 NOR 게이트(441)의 출력이 비활성화 되어 제3 다중화단(440)에서 제2 다중화단(430)의 출력 '1'이 선택되어 다음 번의 스케쥴러 모듈4를 활성화시키게 된다. 따라서 이 경우에는 출력 o3가 활성화되어 있지 않으므로 전기한 바와 같이 Queue#3에 대한 엑세스는 이루어지지 않게 된다. 기타 이와 같은 방식으로 동작하여 엑세스가 불필요한 큐에 대한 접근을 방지시켜 라운드 로빈 스케쥴러의 효율적인 스케쥴링이 이루어진다.On the other hand, in the present state, if any one of the back pressure signal bp # and the empty signal empty # exists for a certain queue 310, the cell is not accessed from the queue. That is, if the back pressure signal bp3 for Queue # 3 is applied or no cell is stored, and the empty signal empty3 is applied, the round robin scheduler 320 does not activate the output o3 in the current state, so that o1, o2, o4,. The output (o #) activated in the order of .. on causes the final output (celli) to be equal to cell1, cell2, cell4, ..., celln, where o1 and o2 are output, and then the queue Queue # Since the signal of the active high, that is, '1' is applied at 2, the first NOR gate 411 is used in the scheduler module 3 which deactivates the output o3 which will activate the access to the queue Queue # 3 as shown in FIG. The output of is deactivated, and the output of '0' is output from the first multiplexer 410 and then latched by the flip-flop unit 420. The activation signal '1' of the module is selected and the output of the second NOR gate 441 is inactive The third output "1" of the second multi-flower bed 430 in a multi-flower bed 440 is selected to thereby enable the following single scheduler module 4. In this case, therefore, the output o3 is not active, so access to Queue # 3 is not made. In this way, the round robin scheduler can be efficiently scheduled by preventing access to unnecessary queues.

이어서 변경되는 상태에 대해 라운드 로빈 스케쥴러(320)에서의 출력(o#)이 다음의 표1과 같다고 하자.Subsequently, assume that the output o # of the round robin scheduler 320 is as shown in Table 1 below.

o1o1 o2o2 o3o3 o4o4 상태1State 1 1One 00 00 00 상태2State 2 00 1One 00 00 상태3State 3 00 00 00 1One

표1은 4개의 출력 o1, o2, o3, o4가 4가지의 상태에 따라 변화되는 것을 보이고 있는데, 상태1에서 o1의 출력이 활성화되어 cell1이 전송되고 상태2에서 o2가 활성화되어 cell2가 전송된다. 상태3은 큐 Queue#3에 대해 백프레셔 신호 bp3이 인가되거나 해당 큐가 비어있는 경우를 보인 것으로, Queue#3은 o3을 비활성화시켜둔 상태에서 Queue#4를 활성화시킴으로써 Queue#4가 o4를 활성화시키도록 함으로써 cell2가 전송된 직후 cell3은 전송되지 않고 바로 cell4가 전송되도록 한다. 예시되지 않은 기타의 경우도 이러한 방식으로 동작한다.Table 1 shows that the four outputs o1, o2, o3, and o4 change according to four states.In state 1, the output of o1 is activated and cell1 is transmitted, and in state 2, o2 is activated and cell2 is transmitted. . State 3 shows that back pressure signal bp3 is applied or queue is empty for queue Queue # 3. Queue # 3 enables o4 by enabling Queue # 4 with o3 disabled. By doing so, immediately after cell2 is transmitted, cell3 is not transmitted, but cell4 is transmitted. Other cases not illustrated work in this way.

본 실시예에서 제시된 라운드 로빈 스케쥴러는 ADSL, ATM-PON 등의 가입자 장비의 스케쥴링을 위해 사용될 수 있으며, 기타 비교적 소수의 하드웨어를 사용하는 장비에서 각 하드웨어에 대한 접근순서에 대해 라운드 로빈 방식의 스케쥴링을 수행하도록 적용될 수 있다.The round robin scheduler presented in this embodiment can be used for scheduling subscriber equipment such as ADSL, ATM-PON, and the like, and round robin scheduling is performed for the access order of each hardware in equipment using relatively few hardware. Can be applied to perform.

이상 설명한 실시예는 본 발명의 다양한 변화, 변경 및 균등물의 범위에 속한다. 따라서 실시예에 대한 기재내용으로 본 발명이 한정되지 않는다.The embodiments described above are within the scope of various changes, modifications, and equivalents of the present invention. Therefore, the present invention is not limited to the description of the examples.

본 발명의 메모리 엑세스 제어용 라운드 로빈 스케쥴러에 따르면, 전송거부 신호와 큐가 비어 있음을 알리는 신호가 발생되는 경우에는 선택적으로 해당 큐에의 접근을 차단시키도록 된 간단한 하드웨어 구성의 라운드 로빈 스케쥴러를 구현할 수 있어 제조비용의 절감과 스케쥴러의 효율성을 증대시킬 수 있다.According to the round robin scheduler for memory access control of the present invention, when a transmission rejection signal and a signal indicating that the queue is empty are generated, a simple hardware round robin scheduler can be implemented to selectively block access to the queue. This reduces manufacturing costs and increases the efficiency of the scheduler.

Claims (2)

다수의 데이터 저장매체로 저장되는 데이터의 입출력을 제어하는 다수의 스케쥴링 제어장치에 있어서,A plurality of scheduling control apparatus for controlling the input and output of data stored in a plurality of data storage media, 상기 자신에게 배정된 데이터 저장매체로부터 인가된 백프레져신호(backpressure)와 해당 데이터 저장매체의 엠프티신호(empty)를 논리연산하여 이들신호의 부존재를 확인하는 다수개의 제1 내지 제3 논리연산부와,A plurality of first to third logic operation units configured to logically perform a backpressure signal applied from the data storage medium assigned to the storage medium and an empty signal of the data storage medium to confirm the absence of these signals; , 상기 데이터 저장매체로의 기설정된 접근순서에 의해 전단으로부터 인가되는 활성화 신호와 기준신호를 입력받아 상기 제1 및 제2 논리연산부의 출력신호에 따라 그 입력중 하나를 선택하는 복수개의 제1 및 제2 다중화단과,A plurality of first and first input signals for receiving an activation signal and a reference signal applied from a front end according to a predetermined approach order to the data storage medium and selecting one of the inputs according to output signals of the first and second logic operators; 2 multiplexer, 상기 제1 다중화단의 일측 출력을 래치시킨 후 자신에게 배정된 해당 데이터 저장매체의 활성화 여부를 지시하는 신호를 출력하는 플립플롭부와,A flip-flop unit which latches an output of one side of the first multiplexer and outputs a signal indicating whether to activate the corresponding data storage medium assigned to the first multiplexer; 상기 플립플롭부와 상기 제2 다중화단의 출력신호을 입력받아 상기 제3 논리연산부의 출력선택에 따라 다중화하여 상기 설정된 순서에서 자신의 다음 단에 위치한 스케쥴링 수단을 활성화시키는 출력신호를 출력하는 제3 다중화단을 포함하여 이루어지는 것을 특징으로 하는 메모리 엑세스 제어용 라운드 로빈 스케쥴러.A third multiplex that receives the output signals of the flip-flop unit and the second multiplexer and multiplexes according to the output selection of the third logical operation unit and outputs an output signal for activating scheduling means located at its next stage in the set order; Round robin scheduler for memory access control comprising a flower bed. 삭제delete
KR10-2001-0083529A 2001-12-22 2001-12-22 Round robin scheduler for memory access control KR100447395B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0083529A KR100447395B1 (en) 2001-12-22 2001-12-22 Round robin scheduler for memory access control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0083529A KR100447395B1 (en) 2001-12-22 2001-12-22 Round robin scheduler for memory access control

Publications (2)

Publication Number Publication Date
KR20030053350A KR20030053350A (en) 2003-06-28
KR100447395B1 true KR100447395B1 (en) 2004-09-04

Family

ID=29577937

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0083529A KR100447395B1 (en) 2001-12-22 2001-12-22 Round robin scheduler for memory access control

Country Status (1)

Country Link
KR (1) KR100447395B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0927794A (en) * 1995-07-11 1997-01-28 Sony Corp Data multiplex transmission equipment
KR19980053026A (en) * 1996-12-26 1998-09-25 배순훈 Dynamic Priority Queue Service System Using Frames by Connections Defined by Counter Interworking in ATM Networks
JP2000183886A (en) * 1998-12-18 2000-06-30 Sumitomo Electric Ind Ltd Communication equipment
WO2001063836A2 (en) * 2000-02-23 2001-08-30 Sun Microsystems, Inc. Method and apparatus for dynamic class-based packet scheduling
KR20030034871A (en) * 2001-10-29 2003-05-09 엘지전자 주식회사 Apparatus and Method for Buffer Scheduling in Communication System

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0927794A (en) * 1995-07-11 1997-01-28 Sony Corp Data multiplex transmission equipment
KR19980053026A (en) * 1996-12-26 1998-09-25 배순훈 Dynamic Priority Queue Service System Using Frames by Connections Defined by Counter Interworking in ATM Networks
JP2000183886A (en) * 1998-12-18 2000-06-30 Sumitomo Electric Ind Ltd Communication equipment
WO2001063836A2 (en) * 2000-02-23 2001-08-30 Sun Microsystems, Inc. Method and apparatus for dynamic class-based packet scheduling
KR20030034871A (en) * 2001-10-29 2003-05-09 엘지전자 주식회사 Apparatus and Method for Buffer Scheduling in Communication System

Also Published As

Publication number Publication date
KR20030053350A (en) 2003-06-28

Similar Documents

Publication Publication Date Title
AU710694B2 (en) An ATM switch
JP3575628B2 (en) Method and apparatus for temporarily storing data packets and switching apparatus having such an apparatus
US5875189A (en) Method and apparatus for multicast of ATM cells
Karol Shared-memory optical packet (ATM) switch
US5271002A (en) Communication switching element
JP4480845B2 (en) TDM switch system with very wide memory width
CN100591047C (en) Pressure-reversion method, system and switching node of multi-level switching network
CA2188882A1 (en) Atm architecture and switching element
JPH0879264A (en) Band controller and packet communication equipment
JPH021663A (en) Prioritized information packet switching system
US6320864B1 (en) Logical multicasting method and apparatus
JP5115066B2 (en) Packet transmission method and apparatus
US6728256B1 (en) Shared buffer control device
CN100490383C (en) A high-speed Crossbar scheduling method for supporting multipriority
CA2151180C (en) Method and apparatus for multicast of atm cells
US6091728A (en) ATM switch core
KR100447395B1 (en) Round robin scheduler for memory access control
US7227860B2 (en) Packet switch and method of scheduling the same
EP0569960B1 (en) Time switch control system
CN100568810C (en) The device that is used for burst schedule
CA2280782C (en) Method and circuit arrangement for the transmission of message cells during the course of virtual connections having different priorities
US6282198B1 (en) Frequency band control device with cell conflict control
EP0710047B1 (en) Method and apparatus for multicast of ATM cells
EP0817523A2 (en) Data transmission rate control using a transmission control scheme suitable for subbands forming an entire band
Karol Queuing in optical packet switches

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090727

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee