KR100234108B1 - Editor for numerical control apparatus and data managing method thereof - Google Patents

Editor for numerical control apparatus and data managing method thereof Download PDF

Info

Publication number
KR100234108B1
KR100234108B1 KR1019970011888A KR19970011888A KR100234108B1 KR 100234108 B1 KR100234108 B1 KR 100234108B1 KR 1019970011888 A KR1019970011888 A KR 1019970011888A KR 19970011888 A KR19970011888 A KR 19970011888A KR 100234108 B1 KR100234108 B1 KR 100234108B1
Authority
KR
South Korea
Prior art keywords
data
address
data storage
list
dimensional
Prior art date
Application number
KR1019970011888A
Other languages
Korean (ko)
Other versions
KR19980075645A (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 KR1019970011888A priority Critical patent/KR100234108B1/en
Publication of KR19980075645A publication Critical patent/KR19980075645A/en
Application granted granted Critical
Publication of KR100234108B1 publication Critical patent/KR100234108B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • G05B19/4083Adapting programme, configuration

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 수치제어장치용 에디터 및 데이타관리방법에 관한 것으로서, 본 발명에 따른 에디터의 데이타관리방법은, 입력되는 데이타를 2차원배열구조로 된 복수의 2차원데이타저장부에 각각 저장하는 단계와, 상기 각 2차원데이타저장부에 대해 리스트어드레스를 부여하여 리스트구조를 형성하는 단계를 포함한다. 이에 의해, 데이타의 크기에 제한을 받지 않고 효율적으로 데이타를 관리할 수 있다.The present invention relates to an editor for a numerical control device and a data management method. The data management method of the editor according to the present invention includes the steps of storing input data in a plurality of two-dimensional data storage units having a two-dimensional array structure. And providing a list address to each of the two-dimensional data storage units to form a list structure. As a result, data can be efficiently managed without being limited by the size of the data.

Description

수치제어장치용 에디터 및 데이타관리방법Editor and Data Management Method for Numerical Control Device

본 발명은 수치제어장치용 에디터 및 데이타관리방법에 관한 것이다.The present invention relates to an editor and a data management method for a numerical control device.

에디터란 문자데이타에 대한 입력, 저장, 추가, 수정 등을 행하기 위한 프로그램을 말하며, 디지탈신호에 의한 공작기계의 자동제어를 위한 수치제어장치 등에 채용되고 있다.The editor is a program for inputting, storing, adding, and modifying text data. The editor is employed in a numerical control device for automatic control of a machine tool by digital signals.

이러한 수치제어용 에디터는 비교적 작은 크기의 명령어나 프로그램을 처리하기 때문에 대부분 메모리용량이 크지 않고 비교적 단순한 데이타자료구조를 가진다. 이러한 종래의 데이타구조에 의한 데이타관리방법으로는 CAD출력파일과 같은 대형 프로그램들을 효과적으로 다루기가 어려웠다.Since these numerical editors process relatively small commands or programs, most of them do not have large memory and have relatively simple data structures. The data management method using such a conventional data structure has been difficult to deal with large programs such as CAD output files effectively.

일반적인 에디터에서 비교적 많이 사용되는 자료구조는 1차원배열, 2차원배열, 리스트구조, 블럭구조 등을 들 수 있다.Relatively popular data structures in editors include one-dimensional arrays, two-dimensional arrays, list structures, and block structures.

도 2는 1차원배열의 자료구조를 나타낸 것으로서, 이 도면에서 볼 수 있는 바와 같이, 1차원배열은 주어진 메모리영역에서 데이타가 시리얼로 저장되며, 하나의 연속적인 메모리에 데이타를 저장하므로 저장된 메모리에 대한 줄단위접근시 접근 과정이 단순하고, 접근한 위치에서 삽입 및 삭제, 수정이 이루어지므로 작업이 단순하다. 그러나, 데이타가 하나의 연속적인 메모리에 시리얼로 저장되므로 데이타의 삽입 및 삭제 후에는 남아있는 데이타가 할당된 메모리내에서 시리얼로 저장되도록 하여야 한다. 따라서, 작업이 이루어진 부분 이후의 데이타는 모두 변동된 메모리 부분만큼 이동해야 하므로 데이타가 많은 경우에는 효율이 크게 떨어진다. 그리고, 각 데이타로의 접근시, 원하는 데이타의 위치를 찾기 위해서는 처음의 데이타의 위치부터 순서대로 찾아가야 하므로 데이타가 많은 경우에는 더욱 효율이 떨어진다. 또한, 할당된 메모리의 크기를 변경할 수 없으므로 그 크기보다 큰 데이타는 읽어들일 수 없다. 더구나, 할당된 메모리의 크기가 고정되어 있어서, 할당된 메모리의 크기보다 작은 데이타를 읽어들일 때에는 사용하지 않는 메모리가 생기게 되어 메모리가 낭비된다는 단점이 있다.2 shows a data structure of a one-dimensional array. As can be seen in this figure, a one-dimensional array has data stored in serial in a given memory area and stored in one continuous memory. When accessing line by line, the access process is simple, and the operation is simple because insertion, deletion, and modification are performed at the accessed position. However, since data is stored serially in one continuous memory, after data insertion and deletion, the remaining data must be stored serially in the allocated memory. Therefore, since the data after the part where the work is done must move by the changed memory part, the efficiency is greatly reduced when there is a lot of data. In addition, when accessing each data, in order to find the desired data position, the data must be searched in order from the first data position. Also, since the size of the allocated memory cannot be changed, data larger than that size cannot be read. Moreover, since the size of the allocated memory is fixed, there is a disadvantage that the memory is wasted because unused memory is generated when reading data smaller than the allocated memory size.

도 3은 2차원배열의 자료구조를 나타낸 것이다. 2차원배열에서는 사용 가능한 어드레스(42-45)의 수가 고정되어 있다. 그리고, 이 어드레스(42-45)는 메모리의 어드레스저장영역(41)에 연속적으로 저장되어 있으며, 각 어드레스(42-45)에 대응하는 메모리에 해당 줄단위데이타(46-49)가 저장되어 있다. 2차원배열에서는 각 어드레스(42-45)에 대응되는 줄단위데이타(46-49)를 찾아가기 위해서 어드레스저장영역(41)에 있는 어드레스(42-45)에 의해 각 줄단위데이타(46-49)에 접근하므로 접근속도가 빠르며 삽입 및 삭제 등의 작업을 신속하게 할 수 있다. 또한 각 어드레스(42-45)에 대응하는 줄단위데이타(46-49)는 필요한 메모리만 사용하므로 메모리의 낭비가 1차원배열에 비해 훨씬 적다. 그러나, 메모리의 어드레스저장영역(41)에 연속적으로 저장된 어드레스(42-45)의 수는 한 번 설정되면 고정되어 있어서, 추가하여 어드레스를 할당할 수가 없다. 그러므로, 때에 따라서 메모리를 많이 요구하는 데이타는 읽어들일 수 없다는 단점이 있다.3 shows a data structure of a two-dimensional array. In the two-dimensional array, the number of usable addresses 42-45 is fixed. The addresses 42-45 are continuously stored in the address storage area 41 of the memory, and the corresponding line unit data 46-49 are stored in the memory corresponding to each address 42-45. . In the two-dimensional array, in order to find the line data 46-49 corresponding to each address 42-45, each line data 46-49 by the address 42-45 in the address storage area 41 is obtained. ), The access speed is fast, and the operations such as insertion and deletion can be performed quickly. In addition, since the line unit data 46-49 corresponding to each address 42-45 uses only necessary memory, the waste of memory is much smaller than that of the one-dimensional array. However, the number of addresses 42-45 continuously stored in the address storage area 41 of the memory is fixed once set, and further addresses cannot be allocated. Therefore, there is a drawback that data that requires a lot of memory may not be read in some cases.

리스트구조에서는, 도 4와 같이, 메모리의 어드레스저장영역(51)에 각 줄단위데이타(56-58)에 대응되는 어드레스(52-54)가 저장되어 있다. 그리고, 어드레스저장영역(51)에는 저장된 각 줄단위데이타(56-58)의 어드레스(52-54)와 줄단위데이타(56-58)의 순서상 전후에 위치한 줄단위데이타에 대응하는 어드레스를 함께 저장하고 있다. 그래서, 저장된 각각의 어드레스(52-54)는 다른 어드레스와 상호 억세스 가능하도록 연결되어 있다. 따라서, 각 어드레스(52-54)의 연결관계를 변경함으로써 새로운 어드레스의 추가 및 삭제가 가능하다. 또한, 필요한 어드레스만 추가로 할당하면 되므로 메모리의 낭비가 적고, 데이타의 크기에 상관없이 데이타를 관리할 수 있게 된다. 그러나, 각 어드레스(52-54)에 해당하는 줄단위데이타(56-58)에 접근할 때에는 각 줄단위데이타(56-58) 중 최초의 데이타(56)에 대응하는 어드레스(52)부터 어드레스저장영역(51)에 산재해 있는 해당 어드레스를 찾아가게 된다. 그러므로, 데이타가 많은 경우, 각 줄단위데이타에 접근할 때에는 효율이 떨어지게 된다. 그리고, 삽입 및 삭제시, 삽입 및 삭제된 줄단위데이터에 해당하는 어드레스와 연결되는 다른 어드레스의 값을 변경시켜야 된다는 단점이 있다.In the list structure, as shown in FIG. 4, addresses 52-54 corresponding to each line unit data 56-58 are stored in the address storage area 51 of the memory. In the address storage area 51, the addresses 52-54 of the stored row data 56-58 and the addresses corresponding to the row data located in the order before and after the row data 56-58 are also included. Saving. Thus, each of the stored addresses 52-54 is connected to each other so as to be mutually accessible. Therefore, new addresses can be added and deleted by changing the connection relationship of each address 52-54. In addition, since only necessary addresses need to be additionally allocated, there is little waste of memory and data can be managed regardless of the size of the data. However, when accessing the line unit data 56-58 corresponding to each address 52-54, the address is stored from the address 52 corresponding to the first data 56 of each line unit data 56-58. The address scattered in the area 51 is searched for. Therefore, when there is a lot of data, the efficiency of accessing each line of data becomes inefficient. In addition, when inserting and deleting, a value of another address connected to an address corresponding to the inserted and deleted line unit data has to be changed.

블럭구조는, 도 5에서와 같이, 2차원배열과 비슷한 구조를 가지지만, 어드레스저장영역(61)에서 연속적으로 저장된 어드레스(62-65)를 추가 및 삭제할 수 있다는 점에서 상이하다. 따라서, 데이타의 크기에 상관없이 각 줄단위데이타(66-69)의 어드레스(62-65)를 추가하여 관리할 수 있으므로, 메모리의 낭비를 방지할 수 있다. 그러나, 어드레스저장영역(61)에서 연속적으로 저장된 어드레스(62-65)의 수를 변경할 때에는 어드레스저장영역(61)에 있는 모든 어드레스(62-65)를 어드레스저장영역(61)의 다른 부분에 복사하고, 원래의 어드레스(62-65)는 삭제하게 된다. 따라서, 작업속도가 떨어지게 된다는 단점이 있다. 또한, 이와 같은 과정을 되풀이하게 되면 연속적으로 사용 가능한 어드레스저장영역(61)이 줄어든다. 따라서, 점차적으로 어드레스저장영역(61)의 사용가능한 메모리가 불연속적으로 되는 메모리조각화가 증가되어 실제적으로 큰 데이타를 읽어들일 수 없게 된다는 단점이 있다.The block structure has a structure similar to that of the two-dimensional array as in FIG. 5, but differs in that addresses 62-65 continuously stored in the address storage area 61 can be added and deleted. Therefore, since the addresses 62-65 of the line unit data 66-69 can be added and managed regardless of the size of the data, the waste of memory can be prevented. However, when changing the number of consecutively stored addresses 62-65 in the address storage area 61, all the addresses 62-65 in the address storage area 61 are copied to other portions of the address storage area 61. The original addresses 62-65 are deleted. Therefore, there is a disadvantage that the work speed is lowered. In addition, by repeating this process, the address storage area 61 which can be used continuously is reduced. Therefore, there is a drawback that the fragmentation of the memory in which the usable memory of the address storage area 61 becomes discontinuous gradually increases, which makes it impossible to actually read large data.

이와 같이, 종래에 비교적 널리 사용되고 있는 데이타구조들은 나름대로의 장단점을 가지고 있고, 필요에 따라 적절히 선택되고 있다. 그런데, 종래의 수치제어장치용 에디터들은 CAD출력파일과 같은 큰 데이타를 편집하는 경우가 적었기 때문에 1차원배열이나 2차원배열과 같은 자료구조로도 충분하였으나, 근래에 수치제어장치에서 필요한 메모리의 크기가 중가함에 따라 큰 데이타의 편집을 위해서는 보다 효율적인 데이타관리방법이 필요하게 되었다. 종래의 리스트구조나 블럭구조는 큰 파일을 다룰 수 있는 기능은 있다. 그러나, 리스트구조의 경우, 각 줄단위데이타에 접근할 때에는 어드레스저장영역에 산재해 있는 각 줄단위데이타에 대응되는 어드레스를 차례로 따라가야 하므로 작업속도가 느리다. 그리고, 블럭구조는 크기를 변경할 때 기존의 어드레스들을 다른 장소에 복사하고, 기존의 저장된 어드레스들을 삭제하는 과정에서 어드레스저장영역에 있는 메모리의 조각화를 유발하여 메모리의 사용효율을 저하시킨다는 단점이 있다.As such, data structures that are relatively widely used in the related art have their advantages and disadvantages, and are appropriately selected as necessary. By the way, since the conventional editors for numerical controllers rarely edit large data such as CAD output files, data structures such as one-dimensional arrays or two-dimensional arrays were sufficient. As the size increases, more efficient data management methods are required for editing large data. Conventional list and block structures have the ability to handle large files. However, in the case of the list structure, when accessing each line data, the work speed is slow because the address corresponding to each line data scattered in the address storage area must be followed in sequence. In addition, the block structure has a disadvantage in that the memory efficiency is reduced by causing fragmentation of the memory in the address storage area in the process of copying existing addresses to another place and deleting existing stored addresses when the size is changed.

따라서, 본 발명의 목적은, 수치제어장치용 에디터의 특성을 고려하여 데이타의 크기에 상관없이 효율적으로 데이타를 관리할 수 있는 수치제어장치용 에디터 및 그 데이타관리방법을 제공하는 것이다.Accordingly, it is an object of the present invention to provide an editor for a numerical control device and a data management method thereof capable of efficiently managing data regardless of the size of the data in consideration of the characteristics of the numerical control device editor.

도 1은 본 발명에 따른 에디터의 데이타구조도,1 is a data structure diagram of an editor according to the present invention;

도 2는 종래의 1차원배열의 데이타구조도,2 is a data structure diagram of a conventional one-dimensional array;

도 3은 종래의 2차원배열의 데이타구조도,3 is a data structure diagram of a conventional two-dimensional array;

도 4는 종래의 리스트구조의 데이타구조도,4 is a data structure diagram of a conventional list structure;

도 5는 종래의 블럭구조의 데이타구조도이다.5 is a data structure diagram of a conventional block structure.

〈도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

10 : 리스트어드레스저장부 11,12 : 리스트어드레스10: list address storage unit 11, 12: list address

20,30 : 2차원데이타저장부 21,31 : 어드레스저장메모리20,30: 2D data storage 21,31: address storage memory

22-25 : 줄단위어드레스 26-29 : 줄단위데이타저장부22-25: Line address 26-29: Line data storage

상기 목적은, 본 발명에 따라, 수치제어장치용 에디터의 데이타관리방법에 있어서, 입력되는 데이타를 2차원배열구조로 된 복수의 2차원데이타저장부에 각각 저장하는 단계와, 상기 각 2차원배열구조에 대해 리스트어드레스를 부여하여 리스트구조를 형성하는 단계를 포함하는 것을 특징으로 하는 수치제어장치용 에디터의 데이타관리방법에 의해 달성된다.According to the present invention, in the data management method of an editor for a numerical control device, storing the input data in a plurality of two-dimensional data storage units having a two-dimensional array structure, and each of the two-dimensional arrays. And a list address is given to the structure to form a list structure.

여기서, 상기 2차원데이타저장부는, 복수의 줄단위의 데이타저장부를 가지며, 상기 각 줄단위데이타저장부에 대응되는 어드레스가 연속적으로 저장되는 어드레스저장메모리를 갖는 것이 유리하다. 그리고, 상기 각 리스트어드레스는 다른 리스트어드레스와 연결되어 연결리스트로서 관리할 수 있다.Here, the two-dimensional data storage unit has a plurality of row data storage units, it is advantageous to have an address storage memory that stores the address corresponding to each of the line data storage unit continuously. Each list address may be connected to another list address and managed as a linked list.

한편, 상기 목적은, 본 발명에 따라, 수치제어장치용 에디터에 있어서, 입력되는 데이타를 저장하는 2차원배열구조로 된 복수의 2차원데이타저장부와, 상기 각 2차원데이타저장부에 대해 부여된 리스트어드레스가 저장되는 리스트어드레스저장부를 포함하는 것을 특징으로 하는 수체제어장치용 에디터에 의해 달성된다.On the other hand, in accordance with the present invention, in the editor for a numerical control device, a plurality of two-dimensional data storage units having a two-dimensional array structure for storing input data, and the respective two-dimensional data storage units are provided. It is achieved by an editor for a water body control device, characterized in that it comprises a list address storage unit for storing the list address.

이하 첨부도면을 참조하여 본 발명을 상세히 설명하고자 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 에디터의 데이타구조도이다. 이 도면에서 볼 수 있는 바와 같이, 본 발명에 따른 에디터의 데이타구조는, 데이타가 줄단위로 저장되어 있는 줄단위데이타저장부(26-29)를 2차원배열로써 관리하는 복수의 2차원데이타저장부(20,30)와, 각 2차원데이타저장부(20,30)에 대응되는 리스트어드레스(11,12)를 저장하는 리스트어드레스저장부(10)를 갖는다.1 is a data structure diagram of an editor according to the present invention. As can be seen from this figure, the data structure of the editor according to the present invention stores a plurality of two-dimensional data storing the two-dimensional array of data storage units 26-29 in which data is stored in lines. And a list address storage section 10 for storing list addresses 11 and 12 corresponding to the two-dimensional data storage sections 20 and 30, respectively.

2차원데이타저장부(20,30)에는 각 줄단위데이타저장부(26-29)가 2차원배열구조로 저장되어 있다. 줄단위데이타저장부(26-29)에 해당하는 어드레스(22-25)는 메모리의 어드레스저장메모리(21)에 연속적으로 저장된다. 그러므로, 하나의 2차원데이타저장부에서의 줄단위데이타저장부의 수와 그에 대응하여 어드레스저장메모리에 있는 어드레스의 수는 같다. 그리고, 각 2차원데이타저장부(20,30)의 최초 줄단위데이타에 대응하는 어드레스는 리스트어드레스(11,12)로서 리스트어드레스저장부(10)에서 연결리스트로 관리된다. 즉, 하나의 2차원데이타저장부에는 하나의 리스트어드레스가 할당되어 있다.In the two-dimensional data storage unit 20, 30, each of the line unit data storage units 26-29 is stored in a two-dimensional array structure. The addresses 22-25 corresponding to the line unit data storage units 26-29 are continuously stored in the address storage memory 21 of the memory. Therefore, the number of line unit data storage units in one two-dimensional data storage unit and the corresponding number of addresses in the address storage memory are the same. The addresses corresponding to the first line unit data of each of the two-dimensional data storage units 20 and 30 are managed as a list address 11 and 12 in the list address storage unit 10 as a linked list. That is, one list address is allocated to one two-dimensional data storage.

따라서, 리스트어드레스저장부(10)에서는 하나의 리스트어드레스와 데이타의 저장순서상 전후의 2차원데이타저장부에 대응되는 리스트어드레스가 함께 저장되어 있다. 그러므로, 저장된 데이타에 대한 작업을 하기 위해 각 줄단위데이타저장부(26-29)로 접근을 할 경우에, 각 줄단위데이터저장부(26-29)가 속해 있는 2차원데이타저장부(20,30)로는 리스트구조의 방법으로 접근하고, 각 2차원데이타저장부(20,30)로 접근한 후에는 2차원배열의 방법으로 각 줄단위데이타저장부(26-29)를 찾아가게 되는 것이다. 따라서, 2차원배열과 비슷한 속도를 유지하며 각 줄단위데이타저장부(26-29)로 접근하게 된다.Accordingly, the list address storage unit 10 stores one list address and a list address corresponding to two-dimensional data storage units before and after the data storage order. Therefore, in the case of accessing each line data storage unit 26-29 to work on the stored data, the two-dimensional data storage unit 20, to which each line data storage unit 26-29 belongs, 30) is accessed by a list structure method, and after accessing the respective two-dimensional data storage units 20 and 30, each line unit data storage unit 26-29 is searched by a two-dimensional array method. Therefore, each line unit data storage unit 26-29 is maintained while maintaining a speed similar to that of the two-dimensional array.

본 발명에 따른 데이타관리방법을 사용하기 위해서는, 우선, 데이타를 관리하는데 필요한 2차원배열로 이루어진 2차원데이타저장부(20,30)의 줄단위어드레스 개수가 설정되어야 한다. 그리고, 2차원배열로 이루어진 2차원데이타저장부(20,30) 내의 각 줄단위에 해당 데이타가 저장되고, 그 데이타에 대응되는 어드레스가 어드레스저장메모리에 저장되며, 각 줄단위데이타저장부(26-29)에 대응되는 어드레스(22-25) 중 최초의 어드레스가 리스트어드레스(11,12)로서 관리되어야 한다.In order to use the data management method according to the present invention, first, the number of line units of the two-dimensional data storage units 20 and 30 consisting of two-dimensional arrays necessary for managing data must be set. Then, the corresponding data is stored in each line unit in the two-dimensional data storage units 20 and 30 consisting of a two-dimensional array, and an address corresponding to the data is stored in the address storage memory. The first address among the addresses 22-25 corresponding to -29 must be managed as the list addresses 11 and 12.

이하에서, 본 발명에 따른 데이타관리방법의 일 예를 설명한다.Hereinafter, an example of a data management method according to the present invention will be described.

먼저, 사용자가 설정한 2차원배열로 된 2차원데이타저장부의 어드레스 개수를 설정한다. 그리고, 데이타는 2차원데이타저장부에 줄단위로 저장되며, 줄단위데이타저장부가 더 필요한 경우에는 2차원데이타저장부가 하나 더 할당되며, 데이타를 계속해서 저장하게 된다.First, the number of addresses of the two-dimensional data storage unit of the two-dimensional array set by the user is set. Then, the data is stored in the two-dimensional data storage unit by line, and if more data is required in the line unit, one more two-dimensional data storage unit is allocated, and the data is continuously stored.

위에서 기술한 바와 같이, 입력된 데이타가 각 2차원데이타저장부에 나뉘어 관리되면, 각 2차원데이타저장부의 최초 줄단위데이타에 대응되는 어드레스는 리스트어드레스저장부에 리스트어드레스로서 다른 리스트어드레스와 함께 연결리스트로 관리된다.As described above, when the input data is divided and managed in each two-dimensional data storage unit, an address corresponding to the first line unit data of each two-dimensional data storage unit is connected to the list address storage unit as another list address as a list address. It is managed as a list.

한편, 상기와 같이 주어진데이타가 본 발명의 데이타관리방법으로 관리되는 경우 각 줄단위데이타로의 접근방법을 아래에 기술한다.On the other hand, when the data given as described above is managed by the data management method of the present invention, the approach to each line data is described below.

본 발명에 의해 관리되는 데이타에 접근하기 위해서는, 우선, 2차원배열로 된 각 2차원데이타저장부의 번호를 계산한다. 2차원데이타저장부의 번호는 0부터 시작하는 값이다. 임의의 줄단위데이타가 속해있는 2차원데이타저장부의 번호는 0부터 시작하는 값으로서, 접근줄번호를 2차원데이타저장부가 관리하는 줄단위의 데이타저장부의 수로 나눈 값이다. 여기서, 접근줄번호는 0부터 시작하며, 각 줄단위데이타의 순서를 나타내는 값이다. 예를 들어, 접근줄번호가 26이고, 2차원데이타저장부가 관리하는 줄단위데이타저장부의 수가 5이면 그 데이타저장부의 번호는 5가 되고, 6번째 데이타저장부가 되는 것이다.In order to access the data managed by the present invention, first, the number of each two-dimensional data storage unit in two-dimensional array is calculated. The number of 2D data storage is a value starting from 0. The number of the 2D data storage unit to which an arbitrary line unit data belongs is a value starting from 0, which is obtained by dividing the access line number by the number of line data storage units managed by the 2D data storage unit. Here, the access line number starts from 0 and indicates the order of each line data. For example, if the access line number is 26 and the number of line unit data storage units managed by the 2D data storage unit is 5, the data storage unit number is 5 and becomes the sixth data storage unit.

상기와 같이 2차원데이타저장부의 번호가 계산되면 그 다음으로 옵셋을 계산한다. 옵셋은 각 데이타저장부에서의 몇 번째 줄단위데이타인지를 가리키는 줄번호를 나타내는 것으로서 0부터 시작한다. 옵셋의 계산은 접근줄번호를 2차원데이타저장부의 줄단위데이타저장부의 수로 나눈 나머지 값이다. 예를 들어, 접근줄번호가 38이고 2차원데이타저장부의 줄단위데이타저장부의 수가 7이면 옵셋은 3이 되며, 이 값은 네 번째 줄번호가된다.If the number of the two-dimensional data storage unit is calculated as described above, then the offset is calculated. The offset is a zero-based line number that indicates the line number data in each data store. The offset is calculated by dividing the access line number by the number of line unit data storage units in the 2D data storage unit. For example, if the access line number is 38 and the number of line data storage units in the 2D data storage unit is 7, the offset is 3, and this value becomes the fourth line number.

이상과 같이, 2차원데이타저장부의 번호와 2차원데이타저장부 안에서의 옵셋이 계산되면, 처음의 2차원데이타저장부에 대응되는 리스트어드레스로부터 시작하여 연결리스트로 연결된 해당 2차원데이타저장부의 리스트어드레스를 찾아간다. 그리고, 해당 리스트어드레스가 있는 곳을 찾아간 후에는 그 리스트어드레스에 대응되는 어드레스저장메모리에 접근한다. 여기에서는 이미 계산되 옵셋을 이용하여 어드레스저장메모리에 연속적으로 저장된 각 줄단위어드레스 중 해당 어드레스를 찾아 각 줄단위데이타에 접근하게 되는 것이다.As described above, when the number of the 2D data storage unit and the offset in the 2D data storage unit are calculated, the list address of the 2D data storage unit connected to the linked list starting from the list address corresponding to the first 2D data storage unit Go to After the list address is found, the address storage memory corresponding to the list address is accessed. In this case, each line unit data is accessed from each line unit address stored in the address storage memory by using the offset already calculated.

이와 같은 방법으로, 2차원배열로 된 2차원데이타저장부까지는 리스트구조의 방법으로 관리하게되며, 2차원데이타저장부부터는 종래의 2차원배열의 구조로 관리하게 된다. 따라서, 필요할 때마다 2차원데이타저장부를 추가하여 할당할 수 있고, 데이타의 크기에 상관 없이 2차원배열과 비슷한 속도를 유지하게 된다. 또한, 본 발명에 따른 데이타구조를 사용하면 리스트구조에 의하여 데이타가 삽입 및 삭제되므로 삽입 및 삭제가 용이하며, 어드레스저장영역에서의 메모리조각화가 일어나지 않기 때문에 메모리를 효율적으로 이용할 수 있게 된다.In this way, the two-dimensional data storage unit of the two-dimensional array is managed by the list structure method, and the two-dimensional data storage unit is managed by the conventional two-dimensional array structure. Therefore, two-dimensional data storage can be added and allocated whenever necessary, and the speed is maintained similar to that of two-dimensional array regardless of the data size. In addition, the data structure according to the present invention facilitates insertion and deletion since data is inserted and deleted by the list structure, and memory can be efficiently used because memory fragmentation does not occur in the address storage area.

이상 설명한 바와 같이, 본 발명에 따르면, 데이타의 크기에 상관없이 효율적인 데이타관리방법 및 장치가 제공된다.As described above, according to the present invention, an efficient data management method and apparatus are provided regardless of the size of data.

Claims (6)

수치제어장치용 에디터의 데이타관리방법에 있어서,In the data management method of the editor for the numerical control device, 입력되는 데이타를 2차원배열구조로 된 복수의 2차원데이타저장부에 각각 저장하는 단계와,Storing the input data into a plurality of two-dimensional data storage units having a two-dimensional array structure; 상기 각 2차원데이타저장부에 대해 리스트어드레스를 부여하여 리스트구조를 형성하는 단계를 포함하는 것을 특징으로 하는 수치제어장치용 에디터의 데이타관리방법.And assigning a list address to each of the two-dimensional data storage units to form a list structure. 제1항에 있어서,The method of claim 1, 상기 2차원데이타저장부는, 복수의 줄단위의 데이타저장부를 가지며, 상기 각 줄단위의 데이타저장부에 대응되는 어드레스가 연속적으로 저장되는 어드레스저장메모리를 갖는 것을 특징으로 하는 데이타관리방법.And the two-dimensional data storage unit has a data storage unit of a plurality of lines, and has an address storage memory for continuously storing addresses corresponding to the data storage units of each line unit. 제1항에 있어서,The method of claim 1, 상기 각 리스트어드레스는 다른 리스트어드레스와 연결되어 연결리스트로서 관리되는 것을 특징으로 하는 수치제어장치용 에디터의 데이타관리방법.And each list address is connected to another list address and managed as a linked list. 수치제어장치용 에디터에 있어서,In the editor for the numerical controller, 입력되는 데이타를 저장하는 2차원배열구조로 된 복수의 2차원데이타저장부와, 상기 각 2차원데이타저장부에 대해 부여된 리스트어드레스가 저장되는 리스트어드레스저장부를 포함하는 것을 특징으로 하는 수체제어장치용 에디터.And a plurality of two-dimensional data storage units having a two-dimensional array structure for storing input data, and a list address storage unit for storing a list address given to each of the two-dimensional data storage units. Dragon Editor. 제4항에 있어서,The method of claim 4, wherein 상기 2차원배열구조는, 복수의 줄단위의 데이타저장부를 가지며, 각 줄단위의 데이타저장부에 대응되는 어드레스가 연속적으로 저장되는 어드레스저장메모리를 포함하는 것을 특징으로 하는 수치제어장치용 에디터.And the two-dimensional array structure includes an address storage memory having a plurality of row-level data storage units, wherein addresses corresponding to each row-level data storage unit are stored successively. 제4항에 있어서,The method of claim 4, wherein 상기 리스트어드레스는 하나의 리스트어드레스가 다른 리스트어드레스와 연결된 연결리스트로 관리되는 것을 특징으로 하는 수치제어장치용 에디터.Wherein the list address is managed as a linked list in which one list address is connected to another list address.
KR1019970011888A 1997-03-31 1997-03-31 Editor for numerical control apparatus and data managing method thereof KR100234108B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970011888A KR100234108B1 (en) 1997-03-31 1997-03-31 Editor for numerical control apparatus and data managing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970011888A KR100234108B1 (en) 1997-03-31 1997-03-31 Editor for numerical control apparatus and data managing method thereof

Publications (2)

Publication Number Publication Date
KR19980075645A KR19980075645A (en) 1998-11-16
KR100234108B1 true KR100234108B1 (en) 1999-12-15

Family

ID=19501623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970011888A KR100234108B1 (en) 1997-03-31 1997-03-31 Editor for numerical control apparatus and data managing method thereof

Country Status (1)

Country Link
KR (1) KR100234108B1 (en)

Also Published As

Publication number Publication date
KR19980075645A (en) 1998-11-16

Similar Documents

Publication Publication Date Title
KR100319598B1 (en) Flash memory array access method and device
US7401174B2 (en) File system defragmentation and data processing method and apparatus for an information recording medium
US6578129B1 (en) Optimized virtual memory management for dynamic data types
KR100614469B1 (en) Storage device
US6256644B1 (en) Control system for storing data in accordance with predefined characteristics thereof
KR20050066228A (en) Data managing device and method for flash memory
WO2001029715A9 (en) Database for electronic design automation applications
JPH08235880A (en) Memory management method of flash memory
JP4921174B2 (en) How to write data to flash memory
JP2005222534A (en) Data management apparatus and method used for flash memory
KR100234108B1 (en) Editor for numerical control apparatus and data managing method thereof
TWI715408B (en) Flash memory controller, memory device and method for accessing flash memory module
da Silva et al. Power exploration for dynamic data types through virtual memory management refinement
US7441093B2 (en) Segmentation management using a rolling window technique
CN1988039A (en) Flash storage scattered writing method
CN113407111B (en) Flash memory controller, method of flash memory controller and memory device
JPH07104983A (en) Generation control device and generation control method
KR100479170B1 (en) Access control device for memory and method thereof
JPS6353636A (en) Buffer controller
CN106484630A (en) The Memory Controller of the access method of flash memory and correlation and electronic installation
JPH0239225A (en) Filing system
JPH06110884A (en) Editing device
KR100359311B1 (en) Method for storaging image data
JP3267313B2 (en) Relocation method of multiple operation programs
JP2000267707A (en) Sequence controller, maintenance method for maintenance area in the same device, and recording medium for storing computer program for executing the same method

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070830

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee