KR20080114015A - Data processing apparatus and data processing method - Google Patents
Data processing apparatus and data processing method Download PDFInfo
- Publication number
- KR20080114015A KR20080114015A KR1020070063150A KR20070063150A KR20080114015A KR 20080114015 A KR20080114015 A KR 20080114015A KR 1020070063150 A KR1020070063150 A KR 1020070063150A KR 20070063150 A KR20070063150 A KR 20070063150A KR 20080114015 A KR20080114015 A KR 20080114015A
- Authority
- KR
- South Korea
- Prior art keywords
- data file
- byte
- order
- information
- reference information
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4009—Coupling between buses with data restructuring
- G06F13/4013—Coupling between buses with data restructuring with data re-ordering, e.g. Endian conversion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/02—Comparing digital values
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/768—Data position reversal, e.g. bit reversal, byte swapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 1은 종래 기술에 따라 데이터 파일을 인코딩하는 과정의 일례를 도시한 흐름도이고,1 is a flowchart illustrating an example of a process of encoding a data file according to the prior art;
도 2는 종래 기술에 따라 데이터 파일을 인코딩하는 과정의 다른 예를 도시한 흐름도이고,2 is a flowchart illustrating another example of a process of encoding a data file according to the prior art;
도 3은 종래 기술에 따라 데이터 파일을 디코딩하는 과정의 일례를 도시한 흐름도이고,3 is a flowchart illustrating an example of a process of decoding a data file according to the prior art;
도 4는 본 발명의 일실시예에 의한 데이터 처리 장치의 구성을 도시한 블록도이고,4 is a block diagram showing a configuration of a data processing apparatus according to an embodiment of the present invention;
도 5는 본 발명의 일실시예에 의한 데이터 처리 장치의 인코딩 동작을 도시한 흐름도5 is a flowchart illustrating an encoding operation of a data processing apparatus according to an embodiment of the present invention.
도 6은 본 발명의 일실시예에 의한 데이터 처리 장치의 디코딩 동작을 도시한 흐름도이다.6 is a flowchart illustrating a decoding operation of a data processing apparatus according to an embodiment of the present invention.
*도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
100: 데이터 처리 장치 101: 메모리100: data processing unit # 101: memory
102: 프로세서 103: 프로그램 저장부102: processor # 103: program storage unit
본 발명은 데이터 처리 장치 및 데이터 처리 방법에 관한 것이다. 더욱 상세하게는, 본 발명은 데이터가 기록되어 있는 순서가 다양한 데이터 파일을 처리하는 데이터 처리 장치 및 데이터 처리 방법에 관한 것이다.The present invention relates to a data processing apparatus and a data processing method. More specifically, the present invention relates to a data processing apparatus and a data processing method for processing a data file in which the data is recorded in various orders.
PC와 같은 범용 컴퓨터 시스템(general purpose computer system), 프린터 등과 같은 임베디드 시스템(embedded system) 등을 포함하는 데이터 처리 장치(이하, 간략히 "시스템"이라고도 함)는 데이터가 저장되는 메모리(computer memory)와, 메모리에 저장된 데이터를 읽거나(read), 읽어 낸 데이터를 처리하거나(process), 처리된 데이터를 메모리에 기록하는(write) 프로세서(computer processor)를 구비한다.A data processing device (hereinafter, simply referred to as a "system") including a general purpose computer system such as a PC, an embedded system such as a printer, and the like may include a computer memory in which data is stored; And a processor that reads the data stored in the memory, processes the read data, or writes the processed data into the memory.
통상적으로, 프로세서가 메모리에 데이터를 기록할 때 바이트 단위(예컨대, 16-bit의 경우 2 바이트)로 데이터를 기록하는데, 메모리의 어드레스에 대하여 데이터의 바이트를 어떠한 순서로 기록할 것인지에 관한 방식(이하, "바이트 순서(byte order)"라 함)이 정해져 있다. 이러한 바이트 순서의 대표적인 예로서, 빅 엔디안(big-endian)과, 리틀 엔디안(little-endian)을 들 수 있다. 빅 엔디안은 최상위 비트(most significant bit)부터 부호화되어 저장되며, 리틀 엔디안은 최하위 비트(least significant bit)부터 부호화되어 저장된다.Typically, when a processor writes data to memory, it writes data in byte units (e.g., 2 bytes for 16-bit), in which order the bytes of data are written in order relative to the address of the memory , "Byte order" is defined. Representative examples of such byte order include big-endian and little-endian. The big endian is encoded and stored from the most significant bit, and the little endian is encoded and stored from the least significant bit.
이러한 바이트 순서는 프로세서의 속성이며, 단지 하나의 시스템에 대해서만 프로그래밍한다면 바이트 순서가 문제될 경우는 거의 없다. 하지만, 네트워크 프로그래밍 등의 경우와 같이, 바이트 순서가 서로 다른 시스템 간 데이터를 주고받는 경우에는 바이트 순서가 중요한 문제가 된다.This byte order is an attribute of the processor, and if you are programming for only one system, byte order is rarely a problem. However, as in the case of network programming, the byte order becomes an important problem when exchanging data between systems having different byte orders.
이러한 문제를 해결하기 위하여 종래 기술에 의하면, 데이터 파일의 파일 포맷으로서 특정 바이트 순서만을 사용하도록 지정해 두거나, 데이터 파일의 헤더에 기록 시 사용된 바이트 순서를 명시하도록 하는 방법 등이 이용되고 있다.In order to solve such a problem, according to the related art, a method of specifying only a specific byte order as a file format of a data file, or specifying a byte order used when writing in a header of the data file is used.
구체적으로, 데이터 파일의 기록 시(이하, "인코딩"이라 함), 특정 바이트 순서가 지정된 경우에는, 도 1에 도시된 바와 같이, 먼저, 시스템은 해당 데이터 파일에서 미리 지정된 바이트 순서를 확인한다(S11). 그 결과, 지정된 바이트 순서가 리틀 엔디안이면(S12), 시스템은 리틀 엔디안 방식으로 데이터 파일을 기록한다(S13). 만일, 단계 S12에서, 지정된 바이트 순서가 리틀 엔디안이 아니면, 시스템은 빅 엔디안 방식으로 데이터 파일을 기록한다(S14).Specifically, when writing a data file (hereinafter referred to as "encoding"), when a specific byte order is specified, as shown in FIG. 1, first, the system checks a predetermined byte order in the data file ( S11). As a result, if the specified byte order is little endian (S12), the system writes the data file in little endian manner (S13). If, in step S12, the designated byte order is not little endian, the system records the data file in a big endian manner (S14).
다른 예로서, 데이터 파일의 헤더에 바이트 순서를 명시하는 경우에는, 도 2에 도시된 바와 같이, 먼저, 시스템은 자신의 바이트 순서가 무엇인지를 확인하다(S21). 그 결과, 시스템의 바이트 순서가 리틀 엔디안이면(S22), 시스템은 데이터 파일의 헤더의 첫 두 바이트에 "II"을 기록한다(S23). 만일, 단계 S12에서, 시스템의 바이트 순서가 리틀 엔디안이 아니면, 시스템은 헤더의 첫 두 바이트에 "MM"을 기록한다(S24).As another example, when specifying the byte order in the header of the data file, as shown in FIG. 2, first, the system checks what the byte order is (S21). As a result, if the byte order of the system is little endian (S22), the system writes " II " in the first two bytes of the header of the data file (S23). If, in step S12, the byte order of the system is not little endian, the system writes "MM" in the first two bytes of the header (S24).
한편, 이렇게 인코딩된 데이터 파일을 읽을 때(이하, "디코딩"이라 함)에는, 상기 두 경우 모두, 도 3에 도시된 바와 같이, 먼저, 시스템은 데이터 파일의 바이 트 순서를 확인한다(S31). 단계 S31에서, 파일 포맷에 의해 특정 바이트 순서가 지정된 경우에는 시스템은 그 지정된 바이트 순서를 확인하며, 데이터 파일의 헤더에 바이트 순서가 명시된 경우에는, 당해 헤더의 첫 두 바이트를 한번에 읽어 내어, 그것이 "II"인지 "MM"인지 여부를 확인한다.On the other hand, when reading the encoded data file (hereinafter referred to as "decoding"), in both cases, as shown in Figure 3, first, the system checks the byte order of the data file (S31). . In step S31, if a specific byte order is specified by the file format, the system checks the designated byte order, and when the byte order is specified in the header of the data file, the first two bytes of the header are read at once, and it is " II "or" MM ".
단계 S31에서의 확인 결과, 데이터 파일의 바이트 순서가 리틀 엔디안이면(S32), 시스템은 자신의 바이트 순서를 확인한다(S34). 단계 S34에서의 확인 결과, 시스템의 바이트 순서가 리틀 엔디안이면(S36), 시스템은 데이터 파일의 바이트순서의 전환없이 그대로 데이터 파일을 읽어 낸다(S39). 만일, 단계 S34에서의 확인 결과, 시스템의 바이트 순서가 리틀 엔디안이 아니면(S36), 시스템은 데이터 파일의 바이트순서를 빅 엔디안으로 전환하여 데이터 파일을 읽어 낸다(S38).As a result of the confirmation in step S31, if the byte order of the data file is little endian (S32), the system checks its own byte order (S34). As a result of the check in step S34, if the byte order of the system is little endian (S36), the system reads the data file as it is without changing the byte order of the data file (S39). If the check result in step S34 indicates that the byte order of the system is not little endian (S36), the system switches the byte order of the data file to big endian to read the data file (S38).
한편, 단계 S31에서의 확인 결과, 데이터 파일의 바이트 순서가 리틀 엔디안이 아니면(S32), 데이터 파일의 바이트 순서가 빅 엔디안인지 여부를 확인하여(S33), 빅 엔디안이 아니면 오류인 것으로 판단하고 처리한다(S40).On the other hand, as a result of the check in step S31, if the byte order of the data file is not little endian (S32), it is checked whether the byte order of the data file is big endian (S33), and if it is not big endian, it is determined that it is an error and is processed. (S40).
단계 S31에서의 확인 결과, 데이터 파일의 바이트 순서가 빅 엔디안이면(S33), 시스템은 자신의 바이트 순서를 확인한다(S35). 단계 S35에서의 확인 결과, 시스템의 바이트 순서가 리틀 엔디안이면(S36), 시스템은 데이터 파일의 바이트순서를 리틀 엔디안으로 전환하여 데이터 파일을 읽어 내고(S38), 그렇지 않으면 데이터 파일의 바이트순서의 전환없이 그대로 데이터 파일을 읽어 낸다(S39).As a result of the checking in step S31, if the byte order of the data file is big endian (S33), the system checks its own byte order (S35). As a result of the check in step S35, if the byte order of the system is little endian (S36), the system switches the byte order of the data file to little endian to read the data file (S38), otherwise it switches the byte order of the data file. The data file is read as it is (S39).
이와 같이, 종래 기술에 의하면, 데이터 파일의 인코딩 시에는, 데이터 파일 혹은 시스템의 바이트 순서를 확인하여, 반드시 이에 맞도록 데이터 파일을 기록해 야 한다. 또한, 디코딩의 경우에는, 데이터 파일 및 시스템 모두의 바이트 순서를 확인하여, 이에 맞게끔 데이터 파일을 읽어야 한다.As described above, according to the related art, when encoding a data file, it is necessary to check the byte order of the data file or the system, and record the data file accordingly. Also, in the case of decoding, the byte order of both the data file and the system must be checked and the data file read accordingly.
따라서 이러한 종래 기술에 의한 바이트 순서 처리는 데이터 파일 및/또는 시스템의 바이트 순서를 반드시 확인하는 과정이 요구되므로 데이터 처리의 면에서 효율적이지 못한 문제가 있다.Therefore, the byte order processing according to the related art requires a process of necessarily checking the byte order of the data file and / or the system, and thus there is a problem in that it is not efficient in terms of data processing.
또한, 종래 기술에 의하면, 시스템의 바이트 순서를 확인하여야 하므로, 하나의 프로그램을 개발함에 있어서 각 시스템에 맞는 프로그램을 일일이 작성하여야 하는데, 이 또한 매우 비효율적이어서 문제가 된다.In addition, according to the prior art, it is necessary to check the byte order of the system, so in developing one program, a program suitable for each system must be prepared, which is also very inefficient and becomes a problem.
본 발명은 상기 문제점을 해결하기 위한 것으로서, 데이터 파일의 바이트 순서 처리가 효율적인 데이터 처리 장치 및 데이터 처리방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a data processing apparatus and a data processing method in which byte order processing of a data file is efficient.
또한, 본 발명은, 프로그램 설계의 효율이 향상되도록 데이터 파일의 바이트 순서 처리가 개선된 데이터 처리 장치 및 데이터 처리방법을 제공하는 것을 목적으로 한다.It is also an object of the present invention to provide a data processing apparatus and a data processing method in which the byte order processing of a data file is improved so that the efficiency of program design is improved.
상기 목적을 달성하기 위하여, 본 발명은, 한 쌍의 바이트 순서 중 어느 하나의 바이트 순서에 따라 데이터 파일에 포함된 순서 정보를 읽는 단계와; 상기 읽혀진 순서 정보를 정해진 기준 정보와 비교하는 단계와; 상기 순서 정보와 상기 기준 정보가 일치하면 상기 데이터 파일을 읽어 내는 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법을 제공한다.In order to achieve the above object, the present invention includes the steps of reading the order information contained in the data file according to any one of the byte order of the pair of byte order; Comparing the read order information with predetermined reference information; And reading out the data file when the order information and the reference information coincide with each other.
상기 데이터 파일을 읽어 내는 단계에서는, 상기 순서 정보와 상기 기준 정보가 일치하지 않으면 상기 데이터 파일의 바이트 순서를 전환하여 상기 데이터 파일을 읽어 낼 수 있다.In the reading of the data file, if the order information and the reference information do not coincide, the data file may be read by switching the byte order of the data file.
상기 한 쌍의 바이트 순서는 리틀 엔디안 및 빅 엔디안을 포함할 수 있다.The pair of byte orders may include little endian and big endian.
상기 순서 정보 및 기준 정보는 서로 다른 2바이트 이상의 16진수 값을 포함할 수 있다.The order information and the reference information may include two or more different hexadecimal values.
상기 데이터 처리 방법은, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최상위 바이트와 일치하면, 상기 데이터 파일이 빅 엔디안 방식에 의해 기록된 것으로, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최하위 바이트와 일치하면, 상기 데이터 파일이 리틀 엔디안 방식에 의해 기록된 것으로 결정하는 단계를 더 포함할 수 있다.In the data processing method, when the first byte of the order information matches the most significant byte of the reference information, the data file is recorded by a big endian method, and the first byte of the order information is the lowest of the reference information. If it matches a byte, the method may further include determining that the data file has been written in a little endian manner.
상기 데이터 처리 방법은, 상기 결정하는 단계에서 결정된 엔디안 방식을 표시하는 단계를 더 포함할 수 있다. 상기 순서 정보는 상기 데이터 파일의 헤더에 포함될 수 있다.The data processing method may further include displaying an endian scheme determined in the determining. The order information may be included in a header of the data file.
본 발명의 상기 목적은, 데이터 처리 장치에 있어서, 한 쌍의 바이트 순서 중 어느 하나의 바이트 순서에 따라 기록된 데이터 파일로서, 상기 바이트 순서에 관한 순서 정보를 포함하는 데이터 파일이 저장되는 메모리와; 상기 메모리에 저장된 상기 순서 정보와, 정해진 기준 정보를 비교하여, 상기 순서 정보와 상기 기준 정보가 일치하면 상기 데이터 파일을 읽어 내는 프로세서를 포함하는 것을 특징으 로 하는 데이터 처리 장치에 의해서도 달성될 수 있다.The above object of the present invention is a data processing apparatus, comprising: a memory in which a data file recorded in a byte order of a pair of byte orders is stored, the data file including order information relating to the byte order; And a processor for comparing the order information stored in the memory with the predetermined reference information and reading out the data file when the order information and the reference information coincide with each other. .
상기 프로세서는, 상기 순서 정보와 상기 기준 정보가 일치하지 않으면 상기 데이터 파일의 바이트 순서를 전환하여 상기 데이터 파일을 읽어 낼 수 있다.The processor may read the data file by switching the byte order of the data file if the order information and the reference information do not match.
상기 프로세서는, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최상위 바이트와 일치하면, 상기 데이터 파일이 빅 엔디안 방식에 의해 기록된 것으로, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최하위 바이트와 일치하면, 상기 데이터 파일이 리틀 엔디안 방식에 의해 기록된 것으로 결정할 수 있다.If the first byte of the order information matches the most significant byte of the reference information, the processor records the data file in a big endian manner, and the first byte of the order information corresponds to the least significant byte of the reference information. If there is a match, it can be determined that the data file has been written in a little endian manner.
상기 데이터 처리 장치는, 표시부를 더 포함하며, 상기 프로세서는 상기 결정된 엔디안 방식을 상기 표시부에 표시할 수 있다.The data processing apparatus may further include a display unit, and the processor may display the determined endian scheme on the display unit.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예에 관하여 상세히 설명한다. 도 4는 본 발명의 일실시예에 의한 데이터 처리 장치(100)의 구성을 도시한 블록도이다. 데이터 처리 장치(100; 이하, 간략히 "시스템"이라고도 함)는 데이터가 저장되는 메모리(101)와, 메모리(101)에 저장된 데이터를 읽거나, 읽어 낸 데이터를 처리하거나, 처리된 데이터를 메모리(101)에 기록하는 프로세서(102)를 포함한다.Hereinafter, with reference to the accompanying drawings will be described in detail an embodiment of the present invention. 4 is a block diagram showing the configuration of a
메모리(101)는 RAM 등으로 구현될 수 있으며, 프로세서(102)는 CPU 등으로 구현될 수 있다. 데이터 처리 장치(100)는 PC와 같은 범용 컴퓨터 시스템, 프린터 등과 같은 임베디드 시스템 등으로 구현될 수 있다. 메모리(101)에 저장되는 데이터는 파일 형식을 가질 수 있다(이하, 이러한 형식의 데이터를 "데이터 파일"이라 한다).The
프로세서(102)는 메모리(101)에 데이터 파일을 기록하거나 메모리(101)로부터 데이터 파일을 읽어낼 때 바이트 단위(예컨대, 16-bit의 경우 2 바이트)로 이를 수행할 수 있다. 프로세서(102)에 있어서는, 메모리의 어드레스(101)에 대하여 데이터 파일의 바이트 데이터를 어떠한 순서로 기록하고, 어떠한 순서로 읽을 것인지에 관한 바이트 순서가 정해질 수 있다. 예컨대, 프로세서(102)의 바이트 순서는 빅 엔디안 또는 리틀 엔디안일 수 있다.The
본 발명의 일실시예에 있어서는, 데이터 파일을 메모리(101)에 기록하거나 메모리(101)로부터 데이터 파일을 읽어 냄에 있어서, 시스템 혹은 데이터 파일이 어떤 바이트 순서에 해당하는지 여부를 확인할 필요가 없다. 단지, 특정 정보를 미리 정해 두고, 인코딩 시에는 이를 데이터 파일에 기록하는 것만으로, 디코딩 시에는 그 정보가 미리 정해진 또 다른 정보와 같은지 아닌지 여부만을 확인하면 된다.In one embodiment of the present invention, when writing a data file to or from the
보다 구체적으로, 리틀 엔디안을 사용하는 시스템에서 예컨대 "0x5678"을 기록하는 경우, 물리적으로는 메모리의 어드레스 순서에 따라 첫 번째 바이트에는 "0x78"이, 두 번째 바이트에는 "0x56"이 기록된다. 이렇게 기록된 데이터가 동일한 바이트 순서인 리틀 엔디안 시스템에서 읽혀질 때는, 역시 마찬가지로 "0x5678"로 읽히기 때문에, 당해 데이터 파일에 대한 아무런 변화 없이 그대로 읽어 내어 이용할 수 있다.More specifically, in the case of writing "0x5678" in a system using little endian, "0x78" is recorded in the first byte and "0x56" in the second byte according to the address order of the memory. When the recorded data is read in the little endian system in the same byte order, it is also read as "0x5678", so that it can be read and used as it is without any change to the data file.
반면, 리틀 엔디안 방식으로 기록된 데이터가 다른 바이트 순서인 빅 엔디안을 사용하는 시스템에서 읽혀질 때는, "0x7856"으로 읽혀지기 때문에, 이 경우에는 데이터 파일의 바이트 순서를 전환하여 읽어야 데이터의 정확한 값을 이용할 수 있 게 된다. 또한, 바이트 순서가 역인 경우에도 마찬가지이다. 이와 같은 원리를 이용한 본 발명의 일실시예를 보다 구체적으로 설명하면 다음과 같다.On the other hand, when data written in little-endian manner is read in a system using a big-endian, which is a different byte order, it is read as "0x7856". It will be possible. The same is also true when the byte order is reversed. Hereinafter, an embodiment of the present invention using the above principle will be described in more detail.
프로세서(102)는 메모리(101)에 데이터 파일을 기록할 때, 즉, 데이터 파일의 인코딩 시에는, 데이터 파일에 미리 정해진 순서 정보를 삽입하여 기록한다. 순서 정보는 서로 다른 2 바이트 이상의 16진수 값일수 있다. 예컨대, 16진수 값 은 "0x5678"일 수 있다. 순서 정보는 데이터 파일의 헤더의 첫 두 바이트에 위치할 수 있다. 이러한 본 발명의 일실시예에 의한 데이터 처리 장치(100)의 인코딩 동작(S101)을 도 5의 흐름도로 도시하였다.The
한편, 프로세서(102)는 메모리(101)로부터 데이터 파일을 읽을 때, 즉, 데이터 파일의 디코딩 시에는, 메모리(101)에 저장된 데이터 파일의 순서 정보와, 미리 정해진 기준 정보를 비교하여, 순서 정보와 기준 정보가 일치하면 바이트 순서의 전환없이 데이터 파일을 읽어 내고, 순서 정보와 기준 정보가 일치하지 않으면 데이터 파일의 바이트 순서를 전환하여 데이터 파일을 읽어 낸다.On the other hand, when the
기준 정보는 순서 정보와 동일한 내용의 정보로서, 서로 다른 2 바이트 이상의 16진수 값일 수 있다. 예컨대, 순서 정보가 "0x5678"이면, 기준 정보도 "0x5678"이 된다. 기준 정보는 미리 저장될 수 있는데, 도 4에 도시된 바와 같이, 은 데이터 처리 장치(100)는 기준 정보가 저장되는 프로그램 저장부(103)를 더 포함할 수 있다. 프로그램 저장부(103)는 ROM과 같은 비휘발성메모리일 수 있다.The reference information is information having the same content as the order information and may be different hexadecimal values of two or more bytes. For example, when the order information is "0x5678", the reference information is also "0x5678". The reference information may be stored in advance. As shown in FIG. 4, the silver
도 6은 본 발명의 일실시예에 의한 데이터 처리 장치(100)의 디코딩 동작을 도시한 흐름도이다. 도 6에 도시된 바와 같이, 먼저, 프로세서(102)는 메모리(101) 에 저장된 데이터 파일의 순서 정보로서 헤더의 첫 두 바이트를 한 번에 읽어 낸다(S201).6 is a flowchart illustrating a decoding operation of the
프로세서(102)는 읽어 낸 헤더의 첫 두 바이트를 미리 정해진 기준정보와 비교하여 일치 여부를 확인한다(S202 및 S204). 만일, 읽어 낸 헤더의 첫 두 바이트가 기준정보와 일치하면(S202), 프로세서(102)는 당해 데이터 파일의 바이트 순서를 전환하지 않고 데이터 파일을 그대로 읽어 낸다(S203).The
만일, 읽어 낸 헤더의 첫 두 바이트가 기준정보와 일치하지 않으면(S202), 프로세서(102)는 헤더의 첫 두 바이트가 기준정보인 두 바이트의 역전된 상태인지 여부를 확인한다(S204). 단계 S204에서는, 예컨대, 기준정보의 16진수 값은 "0x5678"인데, 헤더의 첫 두 바이트는 "0x7856"으로 읽혀지는 경우이거나, 그 역인 경우가 발생될 수 있다. 이러한 경우는, 데이터 파일이 기록된 방식은 리틀 엔디안인데, 시스템은 빅 엔디안인 경우이거나, 그 역인 경우가 된다.단계 S204에서, 헤더의 첫 두 바이트가 기준정보인 두 바이트의 역전된 상태인 것으로 판단되면, 프로세서(102)는 당해 데이터 파일의 바이트 순서를 다른 바이트 순서로 전환하여 데이터 파일을 읽어 낸다(S205). 단계 S205에서는, 예컨대, 데이터 파일이 기록된 방식은 리틀 엔디안인데, 시스템은 빅 엔디안인 경우, 데이터 파일의 바이트 순서를 빅 엔디안으로 전환하는 경우가 있을 수 있다. 물론 그 반대의 경우도 가능하다.한편, 단계 S204에서, 헤더의 첫 두 바이트가 기준정보인 두 바이트의 역전된 상태가 아닌 것으로 판단되면, 프로세서(102)는 오류인 것으로 판단하여 처리한다(S206). 이러한 경우는, 순서 정보와 기준 정보가 동일한 값으로 미리 정해진 경우가 아닐 수 있다.If the first two bytes of the read header do not match the reference information (S202), the
도 4를 다시 참조하면, 본 발명의 일실시예에 의한 프로세서(102)는 명령 단위의 코드로 이루어진 프로그램을 실행하여 동작할 수 있다. 이러한 프로그램은 프로그램 저장부(103)에 저장될 수 있다. 프로그램 저장부(103)에 저장된 프로그램의 전부 또는 일부는 메모리(101)에 로드되어 프로세서(102)에 의해 읽혀짐으로써 실행될 수 있다. 프로그램은 프로세서(102)가 도 4 내지 도 6과 관련하여 설명된 바와 같은 동작을 수행하도록 하는 코드를 포함한다. 이 경우, 기준 정보는 코드의 일부로서 구현될 수 있다.Referring back to FIG. 4, the
상기한 바와 같이, 본 발명의 일실시예에 의하면, 데이터를 기록하거나 읽어 냄에 있어서, 시스템 및/또는 데이터 파일이 어떠한 바이트 순서에 해당하는지를 알 필요가 없는 장점이 있다. 이에 따라, 시스템은 데이터를 보다 효율적으로 기록하거나 읽어 낼 수 있다.As described above, according to one embodiment of the present invention, there is an advantage in that it is not necessary to know which byte order the system and / or data file corresponds to in writing or reading data. As a result, the system can record or read data more efficiently.
또한, 시스템의 프로그래밍 시, 시스템의 바이트 순서를 고려할 필요가 없기 때문에, 하나의 프로그램만을 개발하면 시스템의 바이트 순서에 관계없이 모든 시스템에 적용할 수 있게 되어, 프로그램 개발 효율이 향상된다.In addition, when programming a system, it is not necessary to consider the byte order of the system. If only one program is developed, it can be applied to all systems regardless of the byte order of the system, thereby improving program development efficiency.
한편, 본 발명의 일실시예에 의하면, 시스템 및/또는 데이터 파일이 어떠한 바이트 순서에 해당하는지를 알 필요가 없다는 것이지, 데이터 파일의 바이트 순서를 알 수가 없다는 것은 아니다. 본 발명의 일실시예에 의하더라도, 데이터 파일이 어떠한 바이트 순서에 따라 기록되었는지를 알고자 하는 경우에는, 순서 정보의 2이상의 바이트 중 첫 번째 바이트와, 기준 정보의 최상위 바이트("0x5678"의 경우 "0x56"에 대응) 또는 최하위 바이트("0x5678"의 경우 "0x78"에 대응)와의 일치 여부에 따라 데이터 파일의 바이트 순서를 결정할 수 있다. 예컨대, 순서 정보의 첫 번째 바이트가 "0x56"이면 빅 엔디안 시스템에 의해 기록된 데이터인 것으로 판단할 수 있고, 그것이 "0x78"이면 리틀 엔디안 시스템에 의해 기록된 데이터인 것으로 판단할 수 있다.On the other hand, according to one embodiment of the present invention, it is not necessary to know which byte order the system and / or data file corresponds to, but it does not mean that the byte order of the data file is unknown. Even in accordance with an embodiment of the present invention, when it is desired to know in what byte order the data file is written, the first byte of two or more bytes of the order information and the most significant byte of the reference information ("0x5678") The byte order of the data file can be determined according to whether or not it matches "0x56" or the least significant byte (or "0x78" in the case of "0x5678"). For example, if the first byte of the order information is "0x56", it may be determined that the data is recorded by the big endian system, and if it is "0x78", it may be determined that the data is recorded by the little endian system.
이와 같은 판단에 의해 결정된 엔디안 방식은 소정의 표시부(도시 안됨)를 통하여 표시될 수 있다. 표시부는 데이터 처리 장치(100)에 포함되는 것으로서 프로세서(102)에 의해 제어되는 LCD패널 등으로 구현될 수 있다.The endian system determined by the determination may be displayed through a predetermined display unit (not shown). The display unit is included in the
이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며 특허청구범위 내에서 다양하게 실시될 수 있다.As mentioned above, the present invention has been described in detail through preferred embodiments, but the present invention is not limited thereto and may be variously implemented within the scope of the claims.
상기한 바와 같이, 본 발명에 의하면, 데이터를 기록하거나 읽어 냄에 있어서, 시스템 및/또는 데이터 파일이 어떠한 바이트 순서에 해당하는지를 알 필요가 없기 때문에, 데이터를 보다 효율적으로 기록하거나 읽어 낼 수 있다.As described above, according to the present invention, since it is not necessary to know what byte order the system and / or data file correspond to when recording or reading data, data can be recorded or read more efficiently.
또한, 본 발명에 의하면, 시스템의 프로그래밍 시, 시스템의 바이트 순서를 고려할 필요가 없기 때문에, 하나의 프로그램만을 개발하면 시스템의 바이트 순서에 관계없이 모든 시스템에 적용할 수 있게 되어, 프로그램 개발 효율이 향상된다.In addition, according to the present invention, when programming a system, it is not necessary to consider the byte order of the system. Therefore, if only one program is developed, the system can be applied to all systems regardless of the byte order of the system, thereby improving program development efficiency. do.
Claims (14)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070063150A KR101437962B1 (en) | 2007-06-26 | 2007-06-26 | Data processing apparatus and data processing method |
US12/139,666 US8510318B2 (en) | 2007-06-26 | 2008-06-16 | Data processing apparatus and data processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070063150A KR101437962B1 (en) | 2007-06-26 | 2007-06-26 | Data processing apparatus and data processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080114015A true KR20080114015A (en) | 2008-12-31 |
KR101437962B1 KR101437962B1 (en) | 2014-09-15 |
Family
ID=40161924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070063150A KR101437962B1 (en) | 2007-06-26 | 2007-06-26 | Data processing apparatus and data processing method |
Country Status (2)
Country | Link |
---|---|
US (1) | US8510318B2 (en) |
KR (1) | KR101437962B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972821B2 (en) * | 2010-12-23 | 2015-03-03 | Texas Instruments Incorporated | Encode and multiplex, register, and decode and error correction circuitry |
US10025555B2 (en) * | 2016-08-31 | 2018-07-17 | Mettler-Toledo, LLC | Byte order detection for control system data exchange |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5689695A (en) * | 1993-11-30 | 1997-11-18 | Texas Instruments Incorporated | Conditional processor operation based upon result of two consecutive prior processor operations |
US5864716A (en) * | 1994-01-07 | 1999-01-26 | Cirrus Logic, Inc. | Tagged data compression for parallel port interface |
US5928349A (en) * | 1995-02-24 | 1999-07-27 | International Business Machines Corporation | Mixed-endian computing environment for a conventional bi-endian computer system |
JPH09307857A (en) * | 1996-05-17 | 1997-11-28 | Sony Corp | Image signal processing unit and image signal processing method |
US6829695B1 (en) * | 1999-09-03 | 2004-12-07 | Nexql, L.L.C. | Enhanced boolean processor with parallel input |
US6944350B2 (en) * | 1999-12-17 | 2005-09-13 | Utah State University | Method for image coding by rate-distortion adaptive zerotree-based residual vector quantization and system for effecting same |
US7649943B2 (en) * | 2000-04-21 | 2010-01-19 | Microsoft Corporation | Interface and related methods facilitating motion compensation in media processing |
JP3505482B2 (en) * | 2000-07-12 | 2004-03-08 | 株式会社東芝 | Encryption device, decryption device, extended key generation device, extended key generation method, and recording medium |
JP3906895B2 (en) * | 2000-11-28 | 2007-04-18 | 富士ゼロックス株式会社 | Image information processing apparatus and computer-readable recording medium |
US7174561B2 (en) * | 2001-04-13 | 2007-02-06 | Emc Corporation | MPEG dual-channel decoder data and control protocols for real-time video streaming |
US7110941B2 (en) * | 2002-03-28 | 2006-09-19 | Microsoft Corporation | System and method for embedded audio coding with implicit auditory masking |
US20030185301A1 (en) * | 2002-04-02 | 2003-10-02 | Abrams Thomas Algie | Video appliance |
US6895489B2 (en) * | 2002-08-07 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | System and method for operating in endian independent mode |
US7308146B2 (en) * | 2002-09-30 | 2007-12-11 | Canon Kabushiki Kaisha | Digital video compression |
DE10345454A1 (en) * | 2003-09-30 | 2005-04-28 | Infineon Technologies Ag | Private key generator for access to storage device e.g. chip card, has page pre-key calculating device and determines private key based on pre-key and word address |
US7188928B2 (en) * | 2004-05-27 | 2007-03-13 | Silverbrook Research Pty Ltd | Printer comprising two uneven printhead modules and at least two printer controllers, one of which sends print data to both of the printhead modules |
US7397959B1 (en) * | 2005-01-04 | 2008-07-08 | Smith Micro Software, Inc. | Detection and recompression of embedded compressed data inside existing data streams |
US7453889B2 (en) * | 2005-02-02 | 2008-11-18 | Texas Instruments Incorporated | Interoperability of ADPCM encoded voice communications |
-
2007
- 2007-06-26 KR KR1020070063150A patent/KR101437962B1/en active IP Right Grant
-
2008
- 2008-06-16 US US12/139,666 patent/US8510318B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8510318B2 (en) | 2013-08-13 |
US20090006485A1 (en) | 2009-01-01 |
KR101437962B1 (en) | 2014-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101763903B (en) | Flash memory controller, error correction code controller therein, and the methods and systems thereof | |
KR100531192B1 (en) | Non-volatile memory control method | |
KR900008767B1 (en) | Portable electronic device | |
TW445452B (en) | Semiconductor storage device and data management method therefor | |
US8117172B2 (en) | Compact encoding methods, media and systems | |
JP2004524636A (en) | Improved error correction scheme for use in flash memory, allowing bit changes | |
US7904674B2 (en) | Method for controlling semiconductor memory device | |
JP3990423B2 (en) | Coding data access program instructions | |
KR101437962B1 (en) | Data processing apparatus and data processing method | |
EP3057100B1 (en) | Memory device and operating method of same | |
US7958345B2 (en) | Method for adjusting setup default value of BIOS and main board thereof | |
US20140214434A1 (en) | Method for processing sound data and circuit therefor | |
US8510614B2 (en) | Bad block identification methods | |
US11669392B2 (en) | Non-volatile memory | |
JP2007052558A (en) | Flash memory rewrite device, flash memory rewrite method and flash memory rewrite program | |
KR100951331B1 (en) | Address offset generation within a data processing system | |
JP4868979B2 (en) | Portable electronic device and IC card | |
US20240211348A1 (en) | Method for managing data stored in a page within a memory element | |
KR100608774B1 (en) | Error processing method for mobile phone file system | |
CN118012663A (en) | Data processing method, device, electronic equipment and storage medium | |
JP4601968B2 (en) | IC card and IC card program that eliminates data integrity check | |
CN113297014A (en) | Method and device for identifying capacity of memory to be tested, electronic equipment and storage medium | |
JP4240381B2 (en) | Control device maintenance device | |
CN117666964A (en) | Data coding synthesis storage method, system and storage medium | |
CN115543876A (en) | Method and device for verifying address decoding function, electronic equipment and medium |
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 | ||
FPAY | Annual fee payment |
Payment date: 20170725 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180801 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190801 Year of fee payment: 6 |