KR0133002B1 - Shared memory management and address generating apparatus of flag - Google Patents
Shared memory management and address generating apparatus of flagInfo
- Publication number
- KR0133002B1 KR0133002B1 KR1019940017165A KR19940017165A KR0133002B1 KR 0133002 B1 KR0133002 B1 KR 0133002B1 KR 1019940017165 A KR1019940017165 A KR 1019940017165A KR 19940017165 A KR19940017165 A KR 19940017165A KR 0133002 B1 KR0133002 B1 KR 0133002B1
- Authority
- KR
- South Korea
- Prior art keywords
- flag
- memory
- address
- management
- state
- Prior art date
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 ATM 스위치나 다중화기등에서 공유메모리를 사용하여 버퍼를 구현할 때, 적은 량의 하드웨어로 메모리를 효과적으로 관리하고, ATM 셀을 입력할 주소를 발생하기 위한 플래그에 의한 공유 메모리 관리/주소 발생 장치에 관한 것으로, 셀이 메모리에 입출력됨에 따라 플래그의 상태를 제어하여 메모리를 관리하는 플래그 관리수단(21); 상기 플래그 관리 수단(21)의 입출력 상태에 따라 제어 신호를 발생하는 제어수단(24); 상기 플래그 관리 수단(21)으로부터 플래그 제어신호를 입력받아 각 메모리의 셀 저장 여부를 기록하는 플래그 저장수단(22); 상기 플래그 저장수단(22)의 상태에 따라 메모리의 빈 영역을 인식하고 메모리의 빈 영역중 하나를 선택하여 선택된 메모리 주소를 발생하여 상기 플래그 관리수단(21)으로 제공하는 메모리 주소 발생수단(23); 및 상기 메모리 주소 발생수단(23)에 접속되어 빈 영역을 찾은 주소를 임시 저장하는 주소 버퍼링 수단(25)을 구비한 것을 특징으로 한다.According to the present invention, when implementing a buffer using shared memory in an ATM switch or a multiplexer, a shared memory management / address generating apparatus using a flag for efficiently managing memory with a small amount of hardware and generating an address for inputting an ATM cell Regarding, the flag management means 21 for managing the memory by controlling the state of the flag as the cell inputs and outputs to the memory; Control means (24) for generating a control signal in accordance with the input / output state of the flag management means (21); Flag storage means (22) for receiving a flag control signal from the flag management means (21) and recording whether a cell is stored in each memory; Memory address generating means 23 which recognizes a free area of the memory according to the state of the flag storing means 22 and selects one of the free areas of the memory to generate a selected memory address and provide it to the flag managing means 21. ; And an address buffering means 25 connected to the memory address generating means 23 for temporarily storing an address where the free area is found.
Description
제 1 도 ATM 다중화기에 적용된 버퍼관리 및 주소 발생부FIG. 1 Buffer Management and Address Generator Applied to ATM Multiplexer
제 2 도 플래그에 의한 공유메모리 주소 발생 및 관리 기능 블럭도.FIG. 2 is a block diagram of shared memory address generation and management using flags.
제 3 도 플래그 관리 기능 블럭도.Figure 3 Flag management function block diagram.
제 4 도 메모리 주소 발생 기능 블럭도.4 is a block diagram of a memory address generation function.
본 발명은 ATM 스위치나 다중화기등에서 공유메모리를 사용하여 버퍼를 구현할 때, 적은 량의 하드웨어로 메모리를 효과적으로 관리하고, ATM 셀을 입력할 주소를 발생하기 위한 플래그에 의한 공유 메모리 관리/주소 발생 장치에 관한 것이다.According to the present invention, when implementing a buffer using shared memory in an ATM switch or a multiplexer, a shared memory management / address generating apparatus using a flag for efficiently managing memory with a small amount of hardware and generating an address for inputting an ATM cell It is about.
일반적으로, ATM 다중화 장치나 스위치 등에서 입력되는 셀이 라우팅 테이블에 의하여 출력되기까지 셀을 임시로 저장하는 버퍼를 필요로 하며, 이러한 버퍼를 효율적으로 사용하기 위해 고정된 길이의 FIFO를 사용하기 보다는 공유메모리를 이용하여 버퍼를 구현하면 메모리 이용 효율을 높일 수 있다는 것은 알려져 있다. 버퍼를 구현하기 위해 공유메모리를 사용하는 경우 메모리에 셀이 계속 입출력되므로 메모리 영역중에서 셀이 저장된 부분과 사용 가능한 부분을 구분하고 관리하는 기능이 있어야 한다. 이러한 메모리 관리 기능을 수행하기 위해 종래에 FIFO를 이용하였다. FIFO를 사용하여 공유 메모리를 관리하는 경우는 FIFO를 초기화하기 위해 메모리의 모든 셀저장 영역에 해당하는 메모리 주소를 발생하여 FIFO로 입력하여야 한다. FIFO를 초기화 한 후 셀이 입력되면 FIFO에 저장된 메모리의 주소를 읽어 셀 저장에 사용하고 메모리에 저장된 셀이 출력될 때 해당 메모리 주소를 FIFO에 입력하여 다음 셀 입력시 사용할 수 있도록 하는 방법으로 메모리를 관리하고 있다. 이러한 메모리 관리 방법은 FIFO와 CPU 등을 이용하여 구현할 수 있으나, 모든 메모리 셀 저장 영역의 주소를 저장할 수 있는 크기의 FIFO를 사용하여야 하므로 하드웨를 많이 필요로 하고, FIFO를 초기화하기 위한 기능을 필요로 한다는 단점 등이 있다.In general, a cell input from an ATM multiplexer or a switch needs a buffer to temporarily store a cell until it is output by a routing table, and to use the buffer efficiently, a shared rather than using a fixed-length FIFO is required. It is known that implementing a buffer using memory can increase memory utilization efficiency. When shared memory is used to implement a buffer, cells are continuously inputted and outputted in the memory. Therefore, there must be a function of distinguishing and managing the part where the cell is stored and the usable part of the memory area. In order to perform such a memory management function, the FIFO is conventionally used. In case of managing shared memory by using FIFO, in order to initialize FIFO, memory address corresponding to all cell storage areas of memory should be generated and input into FIFO. When a cell is input after initializing the FIFO, the memory address stored in the FIFO is read and used to store the cell. Taking care of it. Such a memory management method can be implemented using a FIFO and a CPU. However, since a FIFO having a size that can store addresses of all memory cell storage areas is used, it requires a lot of hardware and a function for initializing the FIFO. It has a disadvantage such as.
상기 종래 기술에 대한 제반 문제점을 해결하기 위하여 안출된 본 발명은, 플래그를 이용하여 FIFO 보다 적은 량의 하드웨어로 구현 가능하고, 리셋 이외의 초기화 과정을 필요로 하지 않도록 하는 플래그의 공유메모리 관리/주소 발생 장치를 제공하는데 그 목적이 있다.The present invention devised to solve all the problems of the prior art, the flag can be implemented in less hardware than the FIFO by using a flag, the shared memory management / address of the flag so as not to require an initialization process other than a reset The object is to provide a generator.
상기 목적을 달성하기 위하여 본 발명은, 셀이 메모리에 입출력됨에 따라 플래그의 상태를 제어하여 메모리를 관리하는 플래그 관리수단; 상기 플래그 관리 수단의 입출력 상태에 따라 제어 신호를 발생하는 제어수단; 상기 플래그 관리 수단으로부터 플래그 제어신호를 입력받아 각 메모리의 셀 저장 여부를 기록하는 플래그 저장수단; 상기 플래그 저장수단의 상태에 따라 메모리의 빈 영역을 인식하고 메모리의 빈 영역중 하나를 선택하여 선택된 메모리 주소를 발생하여 상기 플래그 관리수단으로 제공하는 메모리 주소 발생수단; 및 상기 메모리 주소 발생수단에 접속되어 빈 영역을 찾은 주소를 임시 저장하는 주소 버퍼링 수단을 구비하도록 하였다.In order to achieve the above object, the present invention, the flag management means for managing the memory by controlling the state of the flag as the cell input and output to the memory; Control means for generating a control signal in accordance with the input / output state of the flag management means; Flag storage means for receiving a flag control signal from the flag management means and recording whether to store a cell in each memory; Memory address generating means for recognizing a free area of the memory according to the state of the flag storing means, selecting one of the free areas of the memory, generating a selected memory address, and providing the selected memory address to the flag managing means; And an address buffering means for temporarily storing an address which is connected to the memory address generating means and finds an empty area.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;
제 1 도는 본 발명이 적용되는 ATM 다중화기의 블럭 구성도로서, 도면에서 11은 입력다중부, 12는 공유 메모리, 13은 메모리 관리 및 주소 발생부, 14는 출력 제어부를 각각 나타낸다.FIG. 1 is a block diagram of an ATM multiplexer to which the present invention is applied. In FIG. 11, an input multiplexer, 12 a shared memory, 13 a memory management and address generator, and 14 an output controller.
도면에 도시한 ATM 다중화기는, 플래그에 의한 메모리 관리 및 메모리 주소 발생 장치가 ATM 다중화기에 적용된 예를 보이고 있다.The ATM multiplexer shown in the figure shows an example in which a memory management and a memory address generator by flags are applied to an ATM multiplexer.
먼저, 가입자측 접속에서 메모리로 입력되는 ATM셀을 다중화하는 입력 다중부(11), 상기 입력다중부(11)에서 다중화된 데이타는 공유메모리(12)에 저장되며 이때 메모리 관리 및 주소 발생부(13)에서 메모리의 빈 영역을 찾아 그 주소를 발생하며, 셀이 저장될 영역의 플래그를 제어하여 셀이 출력될 때까지 다른 셀이 저장되지 못하도록 제어하는 기능을 수행한다. 일단 셀이 상기 공유메모리(12)에 저장된 후에는 출력 순서에 따라 셀이 망측 접속으로 출력되며, 이때 메모리 관리 및 주소 발생부(13)에서 셀이 출력된 메모리 영역의 플래그를 제어하여 그 메모리 영역을 다음 입력되는 셀들이 사용할 수 있도록 제어하는 기능을 수행한다.First, an input multiplexer 11 for multiplexing an ATM cell input into a memory at a subscriber side connection, and the data multiplexed at the input multiplexer 11 is stored in a shared memory 12, wherein the memory management and address generator ( In step 13), a free area of the memory is found and its address is generated, and a flag of the area in which the cell is to be stored is controlled to prevent another cell from being stored until the cell is output. Once the cell is stored in the shared memory 12, the cell is outputted through the network side connection in the output order. At this time, the memory management and address generator 13 controls the flag of the memory area in which the cell is output to control the flag. To control the next inputted cell to use.
제 2 도는 본 발명의 플래그에 의한 공유메모리 관리 및 메모리 주소 발생부의 블럭 구성도로서, 도면에서 21은 플래그 관리부, 22는 플래그부, 23은 메모리 주소 발생부, 24는 제어부, 25는 주소버퍼를 각각 나타낸다.2 is a block diagram of a shared memory management and memory address generator according to the present invention, in which 21 is a flag manager, 22 is a flag, 23 is a memory address generator, 24 is a controller, and 25 is an address buffer. Represent each.
도면에 도시한 본 발명은, 셀이 메모리에 입출력됨에 따라 플래그의 상태를 제어하는 플래그 관리부(21), 각 메모리의 셀 저장 여부를 기록하는 플래그 부(22), 상기 플래그부(22)의 상태에 따라 메모리의 빈 영역을 인식하고 메모리의 빈 영역중 하나를 선택하여 선택된 메모리 주소를 발생하는 메모리 주소 발생부(23), 입출력 상태에 따라 적절한 제어 신호를 발생하는 제어부(24) 및 발생한 주소를 임시 저장하는 주소 버퍼(25)로 구성되어 있다.In the present invention shown in the figure, the flag management unit 21 for controlling the state of the flag as the cell is input and output to the memory, the flag unit 22 for recording whether or not each memory cell stored, the state of the flag unit 22 The memory address generator 23 recognizes an empty area of the memory and selects one of the free areas of the memory to generate the selected memory address, the controller 24 that generates an appropriate control signal according to the input / output state, and the generated address. It consists of an address buffer 25 for temporary storage.
각각의 기능부를 상세히 설명하면 다음과 같다.Each functional unit will be described in detail as follows.
먼저, 플래그 관리부(21)는 메모리에 셀이 입출력되는 상태와 입력 및 출력 주소를 이용하여 해당 메모리 영역의 상태 변화를 플래그에 기록하는 신호를 발생한다. 이러한 기능을 수행하기 위해 플래그 관리부(21)에는 입역 메모리 주소, 출력 메모리 주소 및 제어 기능으로부터 클럭과 입출력 상태 등의 입력 신호를 받아 동작하며, 상기 플래그부(22)의 상태를 제어하기 위해 각 플래그 입력 값과 인에이블 등 플래그 제어 신호를 출력한다.First, the flag manager 21 generates a signal for recording a state change of a corresponding memory area in a flag using a state in which cells are inputted and outputted to a memory and input and output addresses. In order to perform such a function, the flag manager 21 receives an input signal such as a clock and an input / output state from an input / output memory address, an output memory address, and a control function, and operates each flag to control the state of the flag unit 22. Outputs flag control signals such as input values and enable.
상기 플래그부(22)는 메모리의 각 셀 저장 단위 마다의 상태를 기록하기 위해 각 단위마다 입력값과 인에이블 신호 및 클럭등을 공급받아 동작하며, 출력으로 메모리의 상태를 지시하는 기능을 수행한다.The flag unit 22 operates by receiving an input value, an enable signal, a clock, and the like for each unit to record a state of each cell storage unit of the memory, and performs a function of indicating the state of the memory as an output. .
메모리 주소 발생부(23)는 상기 플래그부(22)의 플래그 출력 신호를 받아 메모리의 빈 영역들 중 하나를 찾아 주소를 발생하여 주소 버퍼(25)에 저장한다.The memory address generator 23 receives the flag output signal of the flag unit 22, finds one of the free areas of the memory, generates an address, and stores the address in the address buffer 25.
또한, 메모리 빈 영역 주소를 상기 플래그 관리부(21)의 입력 주소로 제공하여 메모리 관리에 사용한다.In addition, a memory free area address is provided as an input address of the flag manager 21 to be used for memory management.
제어부(24)는 공유메모리에 셀이 입출력될 때 입출력 상태와 클럭 등을 받아 상기 플래그 관리부(21)를 제어할 신호를 발생한다.The controller 24 generates a signal to control the flag manager 21 by receiving an input / output state and a clock when a cell is input / output into a shared memory.
주소버퍼(25)는 메모리 주소 발생부(23)에서 발생한 메모리 주소를 임시 저장하는 기능으로 입력측에서 연속으로 메모리 주소를 요구하는 경우 주소 발생에 소요되는 시간을 적응시키는 기능을 수행하며 입력포트 수 이하의 깊이면 충분하다.The address buffer 25 temporarily stores the memory address generated by the memory address generator 23. The address buffer 25 adapts the time required to generate the address when the input side continuously requests the memory address. Depth is enough.
제 3 도는 플래그 관리부(21)의 내부 구성도로서, 도면에서 31은 상태 제어기, 32는 플래그 관리기를 각각 나타낸다.3 is an internal configuration diagram of the flag manager 21, in which 31 denotes a state controller and 32 denotes a flag manager.
도면에 도시한 플래그 관리부(21)는 입출력 상태에 따라 플래그 관리기(32)를 제어하는 기능을 수행하는 상태 제어기(31) 및 플래그의 상태를 제어하고 관리하는 상기 플래그 관리기(32)로 구성되어 있다.The flag manager 21 shown in the figure is composed of a state controller 31 which performs a function of controlling the flag manager 32 according to the input / output state, and the flag manager 32 which controls and manages the state of the flag. .
먼저, 상태 제어기(31)는 제어 신호에 의해 읽기 및 쓰기 주소를 다중화하며 다중화된 주소와 상기 플래그 관리기(32)를 제어할 제어신호의 타이밍을 맞춘다.First, the state controller 31 multiplexes the read and write addresses by the control signal and synchronizes the multiplexed address with the timing of the control signal to control the flag manager 32.
상기 플래그 관리기(32)에서는 상기 상태 제어기(31)에서 발생된 주소와 제어 신호를 받아 해당 플래그를 제어하기 위해 플래그 제어 신호를 발생하며, 이 신호는 해당 메모리 영역에 셀 입출력으로 변화가 발생하는 경우 이를 기록하기 위해 사용된다.The flag manager 32 receives an address and a control signal generated by the state controller 31 and generates a flag control signal to control a corresponding flag, and this signal is changed when a cell input / output occurs in a corresponding memory area. It is used to record this.
제 4 도는 메모리 주소 발생부(23)의 내부 구성도로서, 도면에서 41은 빈영역 탐색기, 42는 주소발생기를 각각 나타낸다.4 is an internal configuration diagram of the memory address generator 23, in which 41 denotes a free area searcher and 42 denotes an address generator.
도면에 도시한 바와 같은 메모리 주소 발생부(23)는, 상기 제 2 도의 플래그부(22)의 플래그 출력 신호를 입력하여 메모리 영역중 빈영역을 찾아내는 빈 영역탐색기(41), 상기 빈영역탐색기(41)에서 찾은 메모리의 빈 영역들 중 한 메모리의 영역의 주소를 발생하는 주소 발생기(42)로 구성된다.As shown in the drawing, the memory address generator 23 inputs a flag output signal of the flag unit 22 of FIG. 2 to find an empty area in the memory area, and an empty area searcher ( 41 is composed of an address generator 42 which generates an address of an area of memory among the free areas of memory found in 41).
먼저, 빈 영역탐색기(41)는 상기 제 2 도의 플래그부(22)의 출력들을 입력으로 받아 메모리의 빈 영역을 감시하며, 이들 빈 영역들 중 하나의 영역을 선택하여 상기 주소 발생기(42)로 제공한다.First, the free area detector 41 receives the outputs of the flag unit 22 of FIG. 2 as an input and monitors a free area of the memory, and selects one of these free areas to the address generator 42. to provide.
상기 주소 발생기(42)는 상기 빈 영역탐색기(41)에 의해 선택된 공유메모리 빈 영역 정보를 받아 셀을 저장하기 위한 공유메모리 주소를 발생한다.상기 주소 발생기(42)에서 발생된 주소는 상기 제 2 도의 주소 버퍼(25)에 저장된다. 이는 메모리 주소 발생 기능을 동작하는 데 소요되는 시간과 주소를 요구하는 시간을 적게 하기 위해 사용된다. 이는 메모리 주소 발생 기능을 동작하는 데 소요되는 시간과 주소를 요구하는 시간을 적게 하기 위해 사용된다. 상기 빈 영역탐색기(41)와 주소 발생기(42)의 기능을 수행하기 위해 본 발명에서는 우선순위 엔코드를 사용하며, 각 엔코드는 8개의 플래그 출력을 입력을 받아 빈 영역으로 표시된 영역 중 하나를 선택하는 기능을 수행하도록 하며 이를 기본 단위로 하여 확장할 수 있도록 하였다.The address generator 42 receives shared memory free area information selected by the free area searcher 41 and generates a shared memory address for storing a cell. The address generated by the address generator 42 is the second address. It is stored in the address buffer 25 of FIG. This is used to reduce the time required to operate the memory address generation function and the time required for the address. This is used to reduce the time required to operate the memory address generation function and the time required for the address. In order to perform the functions of the blank area searcher 41 and the address generator 42, priority encoding is used in the present invention, and each encoder receives one of eight flag outputs and selects one of the blank areas. It can be extended to the basic unit.
따라서, 상기와 같은 본 발명의 효과는 적은 량의 하드웨어로 구성된 메모리 주소 발생 및 관리 기능으로 공유 메모리를 사용하는 여러 장치에 사용될 수 있으며, 본 발명의 메모리 관리기는 512이하의 셀을 저항할 수 있는 공유 메모리를 관리하기에 적합하고 ATM 다중화기 등을 구현하는 데 사용되는 메모리 갯수는 약 128셀 이하면 적절하며 이러한 장치에 사용되어 메모리를 관리하는 장치로 사용될 수 있다.Therefore, the effects of the present invention as described above can be used in various devices using shared memory with a memory address generation and management function composed of a small amount of hardware, and the memory manager of the present invention can resist cells of 512 or less. It is suitable for managing shared memory, and the number of memory used to implement ATM multiplexer and the like is suitable for about 128 cells or less, and it can be used as a device to manage memory used in such a device.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940017165A KR0133002B1 (en) | 1994-07-15 | 1994-07-15 | Shared memory management and address generating apparatus of flag |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940017165A KR0133002B1 (en) | 1994-07-15 | 1994-07-15 | Shared memory management and address generating apparatus of flag |
Publications (1)
Publication Number | Publication Date |
---|---|
KR0133002B1 true KR0133002B1 (en) | 1998-04-24 |
Family
ID=19388138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940017165A KR0133002B1 (en) | 1994-07-15 | 1994-07-15 | Shared memory management and address generating apparatus of flag |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0133002B1 (en) |
-
1994
- 1994-07-15 KR KR1019940017165A patent/KR0133002B1/en not_active IP Right Cessation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5555387A (en) | Method and apparatus for implementing virtual memory having multiple selected page sizes | |
US7315550B2 (en) | Method and apparatus for shared buffer packet switching | |
US5602780A (en) | Serial to parallel and parallel to serial architecture for a RAM based FIFO memory | |
US5696940A (en) | Apparatus and method for sharing first-in first-out memory space between two streams of data | |
US5509013A (en) | Multiplexer control system | |
ES8609771A1 (en) | Tag control circuit for buffer storage. | |
KR0133002B1 (en) | Shared memory management and address generating apparatus of flag | |
US5581735A (en) | System for supplying unit image data to requesting users from multiple storage devices based on directory information and token queues identifying the requester and data | |
EP0504710A1 (en) | Cross-point type switch using common memories | |
GB2130407A (en) | Integrated sorting device for data words | |
US4528648A (en) | Memory management system | |
KR930011547A (en) | DTMF Signal Generator Using Memory | |
KR970009053A (en) | Address generating circuit of ATM switch | |
US6831920B1 (en) | Memory vacancy management apparatus and line interface unit | |
JPH07281949A (en) | Data storing method for storage | |
KR950025776A (en) | Memory chip expansion control method and device of random block access memory | |
JPS5987567A (en) | Variable length data storage controlling system | |
KR0181485B1 (en) | Data-buffering device for data telecommunication | |
JPH04156015A (en) | Phase difference absorption circuit | |
JP4009530B2 (en) | Memory mapping method and buffer memory circuit | |
JP2000278278A (en) | Atm cell format conversion circuit | |
JP3085374B2 (en) | ATM cell insertion method | |
KR960012890A (en) | PCM data transmission circuit of electronic switch | |
KR970056419A (en) | Device for controlling lookup table using LANCAM, and method of lookup, connection setup and disconnection using it | |
KR960025063A (en) | Memory data output control circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20031128 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |