[go: up one dir, main page]

KR101437962B1 - 데이터 처리 장치 및 데이터 처리 방법 - Google Patents

데이터 처리 장치 및 데이터 처리 방법 Download PDF

Info

Publication number
KR101437962B1
KR101437962B1 KR1020070063150A KR20070063150A KR101437962B1 KR 101437962 B1 KR101437962 B1 KR 101437962B1 KR 1020070063150 A KR1020070063150 A KR 1020070063150A KR 20070063150 A KR20070063150 A KR 20070063150A KR 101437962 B1 KR101437962 B1 KR 101437962B1
Authority
KR
South Korea
Prior art keywords
data file
byte
information
order
processor
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020070063150A
Other languages
English (en)
Other versions
KR20080114015A (ko
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 KR1020070063150A priority Critical patent/KR101437962B1/ko
Priority to US12/139,666 priority patent/US8510318B2/en
Publication of KR20080114015A publication Critical patent/KR20080114015A/ko
Application granted granted Critical
Publication of KR101437962B1 publication Critical patent/KR101437962B1/ko
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4013Coupling between buses with data restructuring with data re-ordering, e.g. Endian conversion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/02Comparing digital values
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/768Data 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

데이터 처리 장치 및 데이터 처리 방법{DATA PROCESSING APPARATUS AND DATA PROCESSING METHOD}
도 1은 종래 기술에 따라 데이터 파일을 인코딩하는 과정의 일례를 도시한 흐름도이고,
도 2는 종래 기술에 따라 데이터 파일을 인코딩하는 과정의 다른 예를 도시한 흐름도이고,
도 3은 종래 기술에 따라 데이터 파일을 디코딩하는 과정의 일례를 도시한 흐름도이고,
도 4는 본 발명의 일실시예에 의한 데이터 처리 장치의 구성을 도시한 블록도이고,
도 5는 본 발명의 일실시예에 의한 데이터 처리 장치의 인코딩 동작을 도시한 흐름도
도 6은 본 발명의 일실시예에 의한 데이터 처리 장치의 디코딩 동작을 도시한 흐름도이다.
*도면의 주요 부분에 대한 부호의 설명
100: 데이터 처리 장치      101: 메모리
102: 프로세서              103: 프로그램 저장부
본 발명은 데이터 처리 장치 및 데이터 처리 방법에 관한 것이다. 더욱 상세하게는, 본 발명은 데이터가 기록되어 있는 순서가 다양한 데이터 파일을 처리하는 데이터 처리 장치 및 데이터 처리 방법에 관한 것이다.
PC와 같은 범용 컴퓨터 시스템(general purpose computer system), 프린터 등과 같은 임베디드 시스템(embedded system) 등을 포함하는 데이터 처리 장치(이하, 간략히 "시스템"이라고도 함)는 데이터가 저장되는 메모리(computer memory)와, 메모리에 저장된 데이터를 읽거나(read), 읽어 낸 데이터를 처리하거나(process), 처리된 데이터를 메모리에 기록하는(write) 프로세서(computer processor)를 구비한다.
통상적으로, 프로세서가 메모리에 데이터를 기록할 때 바이트 단위(예컨대, 16-bit의 경우 2 바이트)로 데이터를 기록하는데, 메모리의 어드레스에 대하여 데이터의 바이트를 어떠한 순서로 기록할 것인지에 관한 방식(이하, "바이트 순서(byte order)"라 함)이 정해져 있다. 이러한 바이트 순서의 대표적인 예로서, 빅 엔디안(big-endian)과, 리틀 엔디안(little-endian)을 들 수 있다. 빅 엔디안은 최상위 비트(most significant bit)부터 부호화되어 저장되며, 리틀 엔디안은 최하위 비트(least significant bit)부터 부호화되어 저장된다.
이러한 바이트 순서는 프로세서의 속성이며, 단지 하나의 시스템에 대해서만 프로그래밍한다면 바이트 순서가 문제될 경우는 거의 없다. 하지만, 네트워크 프로그래밍 등의 경우와 같이, 바이트 순서가 서로 다른 시스템 간 데이터를 주고받는 경우에는 바이트 순서가 중요한 문제가 된다.
이러한 문제를 해결하기 위하여 종래 기술에 의하면, 데이터 파일의 파일 포맷으로서 특정 바이트 순서만을 사용하도록 지정해 두거나, 데이터 파일의 헤더에 기록 시 사용된 바이트 순서를 명시하도록 하는 방법 등이 이용되고 있다.
구체적으로, 데이터 파일의 기록 시(이하, "인코딩"이라 함), 특정 바이트 순서가 지정된 경우에는, 도 1에 도시된 바와 같이, 먼저, 시스템은 해당 데이터 파일에서 미리 지정된 바이트 순서를 확인한다(S11). 그 결과, 지정된 바이트 순서가 리틀 엔디안이면(S12), 시스템은 리틀 엔디안 방식으로 데이터 파일을 기록한다(S13). 만일, 단계 S12에서, 지정된 바이트 순서가 리틀 엔디안이 아니면, 시스템은 빅 엔디안 방식으로 데이터 파일을 기록한다(S14).
다른 예로서, 데이터 파일의 헤더에 바이트 순서를 명시하는 경우에는, 도 2에 도시된 바와 같이, 먼저, 시스템은 자신의 바이트 순서가 무엇인지를 확인하다(S21). 그 결과, 시스템의 바이트 순서가 리틀 엔디안이면(S22), 시스템은 데이터 파일의 헤더의 첫 두 바이트에 "II"을 기록한다(S23). 만일, 단계 S12에서, 시스템의 바이트 순서가 리틀 엔디안이 아니면, 시스템은 헤더의 첫 두 바이트에 "MM"을 기록한다(S24).
한편, 이렇게 인코딩된 데이터 파일을 읽을 때(이하, "디코딩"이라 함)에는, 상기 두 경우 모두, 도 3에 도시된 바와 같이, 먼저, 시스템은 데이터 파일의 바이 트 순서를 확인한다(S31). 단계 S31에서, 파일 포맷에 의해 특정 바이트 순서가 지정된 경우에는 시스템은 그 지정된 바이트 순서를 확인하며, 데이터 파일의 헤더에 바이트 순서가 명시된 경우에는, 당해 헤더의 첫 두 바이트를 한번에 읽어 내어, 그것이 "II"인지 "MM"인지 여부를 확인한다.
단계 S31에서의 확인 결과, 데이터 파일의 바이트 순서가 리틀 엔디안이면(S32), 시스템은 자신의 바이트 순서를 확인한다(S34). 단계 S34에서의 확인 결과, 시스템의 바이트 순서가 리틀 엔디안이면(S36), 시스템은 데이터 파일의 바이트순서의 전환없이 그대로 데이터 파일을 읽어 낸다(S39). 만일, 단계 S34에서의 확인 결과, 시스템의 바이트 순서가 리틀 엔디안이 아니면(S36), 시스템은 데이터 파일의 바이트순서를 빅 엔디안으로 전환하여 데이터 파일을 읽어 낸다(S38).
한편, 단계 S31에서의 확인 결과, 데이터 파일의 바이트 순서가 리틀 엔디안이 아니면(S32), 데이터 파일의 바이트 순서가 빅 엔디안인지 여부를 확인하여(S33), 빅 엔디안이 아니면 오류인 것으로 판단하고 처리한다(S40).
단계 S31에서의 확인 결과, 데이터 파일의 바이트 순서가 빅 엔디안이면(S33), 시스템은 자신의 바이트 순서를 확인한다(S35). 단계 S35에서의 확인 결과, 시스템의 바이트 순서가 리틀 엔디안이면(S36), 시스템은 데이터 파일의 바이트순서를 리틀 엔디안으로 전환하여 데이터 파일을 읽어 내고(S38), 그렇지 않으면 데이터 파일의 바이트순서의 전환없이 그대로 데이터 파일을 읽어 낸다(S39).
이와 같이, 종래 기술에 의하면, 데이터 파일의 인코딩 시에는, 데이터 파일 혹은 시스템의 바이트 순서를 확인하여, 반드시 이에 맞도록 데이터 파일을 기록해 야 한다. 또한, 디코딩의 경우에는, 데이터 파일 및 시스템 모두의 바이트 순서를 확인하여, 이에 맞게끔 데이터 파일을 읽어야 한다.
따라서 이러한 종래 기술에 의한 바이트 순서 처리는 데이터 파일 및/또는 시스템의 바이트 순서를 반드시 확인하는 과정이 요구되므로 데이터 처리의 면에서 효율적이지 못한 문제가 있다.
또한, 종래 기술에 의하면, 시스템의 바이트 순서를 확인하여야 하므로, 하나의 프로그램을 개발함에 있어서 각 시스템에 맞는 프로그램을 일일이 작성하여야 하는데, 이 또한 매우 비효율적이어서 문제가 된다.
본 발명은 상기 문제점을 해결하기 위한 것으로서, 데이터 파일의 바이트 순서 처리가 효율적인 데이터 처리 장치 및 데이터 처리방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은, 프로그램 설계의 효율이 향상되도록 데이터 파일의 바이트 순서 처리가 개선된 데이터 처리 장치 및 데이터 처리방법을 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위하여, 본 발명은, 한 쌍의 바이트 순서 중 어느 하나의 바이트 순서에 따라 데이터 파일에 포함된 순서 정보를 읽는 단계와; 상기 읽혀진 순서 정보를 정해진 기준 정보와 비교하는 단계와; 상기 순서 정보와 상기 기준 정보가 일치하면 상기 데이터 파일을 읽어 내는 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법을 제공한다.
상기 데이터 파일을 읽어 내는 단계에서는, 상기 순서 정보와 상기 기준 정보가 일치하지 않으면 상기 데이터 파일의 바이트 순서를 전환하여 상기 데이터 파일을 읽어 낼 수 있다.
상기 한 쌍의 바이트 순서는 리틀 엔디안 및 빅 엔디안을 포함할 수 있다.
상기 순서 정보 및 기준 정보는 서로 다른 2바이트 이상의 16진수 값을 포함할 수 있다.
상기 데이터 처리 방법은, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최상위 바이트와 일치하면, 상기 데이터 파일이 빅 엔디안 방식에 의해 기록된 것으로, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최하위 바이트와 일치하면, 상기 데이터 파일이 리틀 엔디안 방식에 의해 기록된 것으로 결정하는 단계를 더 포함할 수 있다.
상기 데이터 처리 방법은, 상기 결정하는 단계에서 결정된 엔디안 방식을 표시하는 단계를 더 포함할 수 있다. 상기 순서 정보는 상기 데이터 파일의 헤더에 포함될 수 있다.
본 발명의 상기 목적은, 데이터 처리 장치에 있어서, 한 쌍의 바이트 순서 중 어느 하나의 바이트 순서에 따라 기록된 데이터 파일로서, 상기 바이트 순서에 관한 순서 정보를 포함하는 데이터 파일이 저장되는 메모리와; 상기 메모리에 저장된 상기 순서 정보와, 정해진 기준 정보를 비교하여, 상기 순서 정보와 상기 기준 정보가 일치하면 상기 데이터 파일을 읽어 내는 프로세서를 포함하는 것을 특징으 로 하는 데이터 처리 장치에 의해서도 달성될 수 있다.
상기 프로세서는, 상기 순서 정보와 상기 기준 정보가 일치하지 않으면 상기 데이터 파일의 바이트 순서를 전환하여 상기 데이터 파일을 읽어 낼 수 있다.
상기 프로세서는, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최상위 바이트와 일치하면, 상기 데이터 파일이 빅 엔디안 방식에 의해 기록된 것으로, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최하위 바이트와 일치하면, 상기 데이터 파일이 리틀 엔디안 방식에 의해 기록된 것으로 결정할 수 있다.
상기 데이터 처리 장치는, 표시부를 더 포함하며, 상기 프로세서는 상기 결정된 엔디안 방식을 상기 표시부에 표시할 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 일실시예에 관하여 상세히 설명한다. 도 4는 본 발명의 일실시예에 의한 데이터 처리 장치(100)의 구성을 도시한 블록도이다. 데이터 처리 장치(100; 이하, 간략히 "시스템"이라고도 함)는 데이터가 저장되는 메모리(101)와, 메모리(101)에 저장된 데이터를 읽거나, 읽어 낸 데이터를 처리하거나, 처리된 데이터를 메모리(101)에 기록하는 프로세서(102)를 포함한다.
메모리(101)는 RAM 등으로 구현될 수 있으며, 프로세서(102)는 CPU 등으로 구현될 수 있다. 데이터 처리 장치(100)는 PC와 같은 범용 컴퓨터 시스템, 프린터 등과 같은 임베디드 시스템 등으로 구현될 수 있다. 메모리(101)에 저장되는 데이터는 파일 형식을 가질 수 있다(이하, 이러한 형식의 데이터를 "데이터 파일"이라 한다).
프로세서(102)는 메모리(101)에 데이터 파일을 기록하거나 메모리(101)로부터 데이터 파일을 읽어낼 때 바이트 단위(예컨대, 16-bit의 경우 2 바이트)로 이를 수행할 수 있다. 프로세서(102)에 있어서는, 메모리의 어드레스(101)에 대하여 데이터 파일의 바이트 데이터를 어떠한 순서로 기록하고, 어떠한 순서로 읽을 것인지에 관한 바이트 순서가 정해질 수 있다. 예컨대, 프로세서(102)의 바이트 순서는 빅 엔디안 또는 리틀 엔디안일 수 있다.
본 발명의 일실시예에 있어서는, 데이터 파일을 메모리(101)에 기록하거나 메모리(101)로부터 데이터 파일을 읽어 냄에 있어서, 시스템 혹은 데이터 파일이 어떤 바이트 순서에 해당하는지 여부를 확인할 필요가 없다. 단지, 특정 정보를 미리 정해 두고, 인코딩 시에는 이를 데이터 파일에 기록하는 것만으로, 디코딩 시에는 그 정보가 미리 정해진 또 다른 정보와 같은지 아닌지 여부만을 확인하면 된다.
보다 구체적으로, 리틀 엔디안을 사용하는 시스템에서 예컨대 "0x5678"을 기록하는 경우, 물리적으로는 메모리의 어드레스 순서에 따라 첫 번째 바이트에는 "0x78"이, 두 번째 바이트에는 "0x56"이 기록된다. 이렇게 기록된 데이터가 동일한 바이트 순서인 리틀 엔디안 시스템에서 읽혀질 때는, 역시 마찬가지로 "0x5678"로 읽히기 때문에, 당해 데이터 파일에 대한 아무런 변화 없이 그대로 읽어 내어 이용할 수 있다.
반면, 리틀 엔디안 방식으로 기록된 데이터가 다른 바이트 순서인 빅 엔디안을 사용하는 시스템에서 읽혀질 때는, "0x7856"으로 읽혀지기 때문에, 이 경우에는 데이터 파일의 바이트 순서를 전환하여 읽어야 데이터의 정확한 값을 이용할 수 있 게 된다. 또한, 바이트 순서가 역인 경우에도 마찬가지이다. 이와 같은 원리를 이용한 본 발명의 일실시예를 보다 구체적으로 설명하면 다음과 같다.
프로세서(102)는 메모리(101)에 데이터 파일을 기록할 때, 즉, 데이터 파일의 인코딩 시에는, 데이터 파일에 미리 정해진 순서 정보를 삽입하여 기록한다. 순서 정보는 서로 다른 2 바이트 이상의 16진수 값일수 있다. 예컨대, 16진수 값 은 "0x5678"일 수 있다. 순서 정보는 데이터 파일의 헤더의 첫 두 바이트에 위치할 수 있다. 이러한 본 발명의 일실시예에 의한 데이터 처리 장치(100)의 인코딩 동작(S101)을 도 5의 흐름도로 도시하였다.
한편, 프로세서(102)는 메모리(101)로부터 데이터 파일을 읽을 때, 즉, 데이터 파일의 디코딩 시에는, 메모리(101)에 저장된 데이터 파일의 순서 정보와, 미리 정해진 기준 정보를 비교하여, 순서 정보와 기준 정보가 일치하면 바이트 순서의 전환없이 데이터 파일을 읽어 내고, 순서 정보와 기준 정보가 일치하지 않으면 데이터 파일의 바이트 순서를 전환하여 데이터 파일을 읽어 낸다.
기준 정보는 순서 정보와 동일한 내용의 정보로서, 서로 다른 2 바이트 이상의 16진수 값일 수 있다. 예컨대, 순서 정보가 "0x5678"이면, 기준 정보도 "0x5678"이 된다. 기준 정보는 미리 저장될 수 있는데, 도 4에 도시된 바와 같이, 은 데이터 처리 장치(100)는 기준 정보가 저장되는 프로그램 저장부(103)를 더 포함할 수 있다. 프로그램 저장부(103)는 ROM과 같은 비휘발성메모리일 수 있다.
도 6은 본 발명의 일실시예에 의한 데이터 처리 장치(100)의 디코딩 동작을 도시한 흐름도이다. 도 6에 도시된 바와 같이, 먼저, 프로세서(102)는 메모리(101) 에 저장된 데이터 파일의 순서 정보로서 헤더의 첫 두 바이트를 한 번에 읽어 낸다(S201).
프로세서(102)는 읽어 낸 헤더의 첫 두 바이트를 미리 정해진 기준정보와 비교하여 일치 여부를 확인한다(S202 및 S204). 만일, 읽어 낸 헤더의 첫 두 바이트가 기준정보와 일치하면(S202), 프로세서(102)는 당해 데이터 파일의 바이트 순서를 전환하지 않고 데이터 파일을 그대로 읽어 낸다(S203).
만일, 읽어 낸 헤더의 첫 두 바이트가 기준정보와 일치하지 않으면(S202), 프로세서(102)는 헤더의 첫 두 바이트가 기준정보인 두 바이트의 역전된 상태인지 여부를 확인한다(S204). 단계 S204에서는, 예컨대, 기준정보의 16진수 값은 "0x5678"인데, 헤더의 첫 두 바이트는 "0x7856"으로 읽혀지는 경우이거나, 그 역인 경우가 발생될 수 있다. 이러한 경우는, 데이터 파일이 기록된 방식은 리틀 엔디안인데, 시스템은 빅 엔디안인 경우이거나, 그 역인 경우가 된다.단계 S204에서, 헤더의 첫 두 바이트가 기준정보인 두 바이트의 역전된 상태인 것으로 판단되면, 프로세서(102)는 당해 데이터 파일의 바이트 순서를 다른 바이트 순서로 전환하여 데이터 파일을 읽어 낸다(S205). 단계 S205에서는, 예컨대, 데이터 파일이 기록된 방식은 리틀 엔디안인데, 시스템은 빅 엔디안인 경우, 데이터 파일의 바이트 순서를 빅 엔디안으로 전환하는 경우가 있을 수 있다. 물론 그 반대의 경우도 가능하다.한편, 단계 S204에서, 헤더의 첫 두 바이트가 기준정보인 두 바이트의 역전된 상태가 아닌 것으로 판단되면, 프로세서(102)는 오류인 것으로 판단하여 처리한다(S206). 이러한 경우는, 순서 정보와 기준 정보가 동일한 값으로 미리 정해진 경우가 아닐 수 있다.
도 4를 다시 참조하면, 본 발명의 일실시예에 의한 프로세서(102)는 명령 단위의 코드로 이루어진 프로그램을 실행하여 동작할 수 있다. 이러한 프로그램은 프로그램 저장부(103)에 저장될 수 있다. 프로그램 저장부(103)에 저장된 프로그램의 전부 또는 일부는 메모리(101)에 로드되어 프로세서(102)에 의해 읽혀짐으로써 실행될 수 있다. 프로그램은 프로세서(102)가 도 4 내지 도 6과 관련하여 설명된 바와 같은 동작을 수행하도록 하는 코드를 포함한다. 이 경우, 기준 정보는 코드의 일부로서 구현될 수 있다.
상기한 바와 같이, 본 발명의 일실시예에 의하면, 데이터를 기록하거나 읽어 냄에 있어서, 시스템 및/또는 데이터 파일이 어떠한 바이트 순서에 해당하는지를 알 필요가 없는 장점이 있다. 이에 따라, 시스템은 데이터를 보다 효율적으로 기록하거나 읽어 낼 수 있다.
또한, 시스템의 프로그래밍 시, 시스템의 바이트 순서를 고려할 필요가 없기 때문에, 하나의 프로그램만을 개발하면 시스템의 바이트 순서에 관계없이 모든 시스템에 적용할 수 있게 되어, 프로그램 개발 효율이 향상된다.
한편, 본 발명의 일실시예에 의하면, 시스템 및/또는 데이터 파일이 어떠한 바이트 순서에 해당하는지를 알 필요가 없다는 것이지, 데이터 파일의 바이트 순서를 알 수가 없다는 것은 아니다. 본 발명의 일실시예에 의하더라도, 데이터 파일이 어떠한 바이트 순서에 따라 기록되었는지를 알고자 하는 경우에는, 순서 정보의 2이상의 바이트 중 첫 번째 바이트와, 기준 정보의 최상위 바이트("0x5678"의 경우 "0x56"에 대응) 또는 최하위 바이트("0x5678"의 경우 "0x78"에 대응)와의 일치 여부에 따라 데이터 파일의 바이트 순서를 결정할 수 있다. 예컨대, 순서 정보의 첫 번째 바이트가 "0x56"이면 빅 엔디안 시스템에 의해 기록된 데이터인 것으로 판단할 수 있고, 그것이 "0x78"이면 리틀 엔디안 시스템에 의해 기록된 데이터인 것으로 판단할 수 있다.
이와 같은 판단에 의해 결정된 엔디안 방식은 소정의 표시부(도시 안됨)를 통하여 표시될 수 있다. 표시부는 데이터 처리 장치(100)에 포함되는 것으로서 프로세서(102)에 의해 제어되는 LCD패널 등으로 구현될 수 있다.
이상, 바람직한 실시예를 통하여 본 발명에 관하여 상세히 설명하였으나, 본 발명은 이에 한정되는 것은 아니며 특허청구범위 내에서 다양하게 실시될 수 있다.
상기한 바와 같이, 본 발명에 의하면, 데이터를 기록하거나 읽어 냄에 있어서, 시스템 및/또는 데이터 파일이 어떠한 바이트 순서에 해당하는지를 알 필요가 없기 때문에, 데이터를 보다 효율적으로 기록하거나 읽어 낼 수 있다.
또한, 본 발명에 의하면, 시스템의 프로그래밍 시, 시스템의 바이트 순서를 고려할 필요가 없기 때문에, 하나의 프로그램만을 개발하면 시스템의 바이트 순서에 관계없이 모든 시스템에 적용할 수 있게 되어, 프로그램 개발 효율이 향상된다.

Claims (14)

  1. 메모리 및 프로세서를 포함하는 데이터 처리 장치의 데이터 처리 방법에 있어서,
    상기 프로세서가 한 쌍의 바이트 순서 중 어느 하나의 바이트 순서에 따라 상기 메모리에 저장된 데이터 파일에 포함된 순서 정보를 읽는 단계와;
    상기 프로세서가 상기 읽혀진 순서 정보를 정해진 기준 정보와 비교하는 단계와;
    상기 순서 정보와 상기 기준 정보가 일치하면, 상기 프로세서가 상기 데이터 파일을 읽어 내는 단계를 포함하며,
    상기 순서정보는, 상기 한 쌍의 바이트 순서에 대하여 동일하게 정해진 정보인 것을 특징으로 하는 데이터 처리 방법.
  2. 제1항에 있어서,
    상기 데이터 파일을 읽어 내는 단계에서, 상기 순서 정보와 상기 기준 정보가 일치하지 않으면, 상기 프로세서가 상기 데이터 파일의 바이트 순서를 전환하여 상기 데이터 파일을 읽어 내는 것을 특징으로 하는 데이터 처리 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 한 쌍의 바이트 순서는 리틀 엔디안 및 빅 엔디안을 포함하는 것을 특징으로 하는 데이터 처리 방법.
  4. 제3항에 있어서,
    상기 순서 정보 및 기준 정보는 서로 다른 2바이트 이상의 16진수 값을 포함하는 것을 특징으로 하는 데이터 처리 방법.
  5. 제4항에 있어서,
    상기 프로세서가, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최상위 바이트와 일치하면, 상기 데이터 파일이 빅 엔디안 방식에 의해 기록된 것으로, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최하위 바이트와 일치하면, 상기 데이터 파일이 리틀 엔디안 방식에 의해 기록된 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 데이터 처리 방법.
  6. 제5항에 있어서,
    상기 프로세서가, 상기 결정하는 단계에서 결정된 엔디안 방식을 상기 데이터 처리 장치의 표시부에 표시하는 단계를 더 포함하는 것을 특징으로 하는 데이터 처리 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 순서 정보는 상기 데이터 파일의 헤더에 포함된 것을 특징으로 하는 데이터 처리 방법.
  8. 데이터 처리 장치에 있어서,
    한 쌍의 바이트 순서 중 어느 하나의 바이트 순서에 따라 기록된 데이터 파일로서, 상기 바이트 순서에 관한 순서 정보를 포함하는 데이터 파일이 저장되는 메모리와;
    상기 메모리에 저장된 상기 순서 정보와, 정해진 기준 정보를 비교하여, 상기 순서 정보와 상기 기준 정보가 일치하면 상기 데이터 파일을 읽어 내는 프로세서를 포함하며,
    상기 순서정보는, 상기 한 쌍의 바이트 순서에 대하여 동일하게 정해진 정보인 것을 특징으로 하는 데이터 처리 장치.
  9. 제8항에 있어서,
    상기 프로세서는, 상기 순서 정보와 상기 기준 정보가 일치하지 않으면 상기 데이터 파일의 바이트 순서를 전환하여 상기 데이터 파일을 읽어 내는 것을 특징으로 하는 데이터 처리 장치.
  10. 제8항 또는 제9항에 있어서,
    상기 한 쌍의 바이트 순서는 리틀 엔디안 및 빅 엔디안을 포함하는 것을 특징으로 하는 데이터 처리 장치.
  11. 제10항에 있어서,
    상기 순서 정보 및 기준 정보는 서로 다른 2바이트 이상의 16진수 값을 포함하는 것을 특징으로 하는 데이터 처리 장치.
  12. 제11항에 있어서,
    상기 프로세서는, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최상위 바이트와 일치하면, 상기 데이터 파일이 빅 엔디안 방식에 의해 기록된 것으 로, 상기 순서 정보의 첫 번째 바이트가 상기 기준 정보의 최하위 바이트와 일치하면, 상기 데이터 파일이 리틀 엔디안 방식에 의해 기록된 것으로 결정하는 것을 특징으로 하는 데이터 처리 장치.
  13. 제12항에 있어서,
    표시부를 더 포함하며,
    상기 프로세서는 상기 결정된 엔디안 방식을 상기 표시부에 표시하는 것을 특징으로 하는 데이터 처리 장치.
  14. 제8항 또는 제9항에 있어서,
    상기 순서 정보는 상기 데이터 파일의 헤더에 포함된 것을 특징으로 하는 데이터 처리 장치.
KR1020070063150A 2007-06-26 2007-06-26 데이터 처리 장치 및 데이터 처리 방법 Expired - Fee Related KR101437962B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070063150A KR101437962B1 (ko) 2007-06-26 2007-06-26 데이터 처리 장치 및 데이터 처리 방법
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 (ko) 2007-06-26 2007-06-26 데이터 처리 장치 및 데이터 처리 방법

Publications (2)

Publication Number Publication Date
KR20080114015A KR20080114015A (ko) 2008-12-31
KR101437962B1 true KR101437962B1 (ko) 2014-09-15

Family

ID=40161924

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070063150A Expired - Fee Related KR101437962B1 (ko) 2007-06-26 2007-06-26 데이터 처리 장치 및 데이터 처리 방법

Country Status (2)

Country Link
US (1) US8510318B2 (ko)
KR (1) KR101437962B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
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
KR102736932B1 (ko) * 2022-06-17 2024-12-02 에이치엘만도 주식회사 차량용 데이터의 비교 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100239028B1 (ko) * 1995-02-24 2000-01-15 포만 제프리 엘 컴퓨터 시스템

Family Cites Families (17)

* Cited by examiner, † Cited by third party
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
JPH09307857A (ja) * 1996-05-17 1997-11-28 Sony Corp 画像信号処理装置及び画像信号処理方法
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 (ja) * 2000-07-12 2004-03-08 株式会社東芝 暗号化装置、復号装置及び拡大鍵生成装置、拡大鍵生成方法並びに記録媒体
JP3906895B2 (ja) * 2000-11-28 2007-04-18 富士ゼロックス株式会社 画像情報処理装置及びコンピュータが読取可能な記録媒体
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 (de) * 2003-09-30 2005-04-28 Infineon Technologies Ag Wortindividuelle Schlüsselerzeugung
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100239028B1 (ko) * 1995-02-24 2000-01-15 포만 제프리 엘 컴퓨터 시스템

Also Published As

Publication number Publication date
KR20080114015A (ko) 2008-12-31
US20090006485A1 (en) 2009-01-01
US8510318B2 (en) 2013-08-13

Similar Documents

Publication Publication Date Title
KR900008767B1 (ko) 휴대할 수 있는 전자장치
KR100531192B1 (ko) 비휘발성 메모리의 제어방법
US8117172B2 (en) Compact encoding methods, media and systems
US7725646B2 (en) Method of using a flash memory for a circular buffer
CN1071772A (zh) 数据处理系统中建立系统组态的方法及系统
US7904674B2 (en) Method for controlling semiconductor memory device
JP2009064238A (ja) メモリシステム
KR101437962B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
EP3057100B1 (en) Memory device and operating method of same
US7958345B2 (en) Method for adjusting setup default value of BIOS and main board thereof
US20070022222A1 (en) Memory device and associated method
US11669392B2 (en) Non-volatile memory
JP2007034858A (ja) データバックアップ方法及びメモリ装置
JP4863472B2 (ja) メモリ管理方法
CN101261574A (zh) 声音数据处理装置
JP2007334813A (ja) メモリ制御回路及びデータ書き換え方法
CN110187897B (zh) 一种固件升级方法及装置
JP4868979B2 (ja) 携帯可能電子装置およびicカード
US8312205B2 (en) Method for identifying a page of a block of flash memory, and associated memory device
WO2016046940A1 (ja) フラッシュメモリ内蔵マイコン、マイコンに内蔵されたフラッシュメモリへのデータ書込み方法、および、フラッシュメモリへのデータを書込むプログラム
JP4601968B2 (ja) データ整合性検査を省けるicカードおよびicカード用プログラム
US10379875B2 (en) Solid state storage device and program loading method thereof
JP2000222198A (ja) 情報処理装置
JP6823289B2 (ja) Icカードおよびコンピュータプログラム
JPH04152488A (ja) Icカード

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20070626

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20120625

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20070626

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20131115

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20140528

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20140829

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20140901

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20170725

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20170725

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20180801

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20180801

Start annual number: 5

End annual number: 5

FPAY Annual fee payment

Payment date: 20190801

Year of fee payment: 6

PR1001 Payment of annual fee

Payment date: 20190801

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20230802

Start annual number: 10

End annual number: 10

PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20250609