• 제목/요약/키워드: 코드 변환

Search Result 746, Processing Time 0.031 seconds

Research of the Source Code Transformation Between Embedded Linux and uCOS-2 : The Thread Synchronization Example using Semaphore (임베디드 리눅스와 uCOS-2 간 소스코드 변환에 대한 연구 : 세마포어를 이용한 쓰레드 동기화 예제)

  • Lee, Jong-Deok;Lee, Min-Cheol;Maeng, Ji-Chan;Yu, Min-Soo;Ahn, Hyun-Sik;Jeong, Gu-Min
    • Proceedings of the KIEE Conference
    • /
    • 2008.10b
    • /
    • pp.314-315
    • /
    • 2008
  • 본 논문에서는 임베디드 리눅스와 uCOS-2 간 소스코드 변환에 대한 연구를 위해 API 정변환/역변환기(API 변환기)를 이용하여 두 RTOS 간 소스코드 변환을 실험한다. API 변환기는 임베디드 소프트웨어의 개발을 돕기 위해 개발된 프로그램으로서, 정변환과 역변환 기능을 이용하여 이종 RTOS 간 소스코드를 자동으로 상호 변환한다. 정변환이란 중간형태의 C-코드인 CIC 파일에서 특정 RTOS를 위한 C-코드로 변환하는 것을 의미한다. 반대로 역변환은 특정 RTOS를 위한 C-코드로부터 CIC 파일로 변환하는 것을 가리킨다. 본 논문의 실험에서는 임베디드 리눅스와 uCOS-2의 동기화 소스코드 예제를 API 변환기를 이용하여 상호 변환해본다. 그리고 변환된 소스코드의 정상동작 여부를 확인하기 위해 각각의 타깃보드 위에 소스코드를 포팅한다.

  • PDF

Design of Translator for Efficient Stack Based Codes from 3-Address Codes in CTOC (CTOC에서 3주소 코드를 효율적인 스택 기반 코드로의 변환기 설계)

  • 김영국;김기태;조선문;김웅식;유원희
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.766-768
    • /
    • 2004
  • 자바는 객체 지향 언어이고, 분산 환경을 지원하고, 플랫폼에 독립적인 장정을 갖지만 다른 C나 C++같은 컴파일언어에 비해서는 실행속도가 느리다는 단점을 가진다. 이러한 단점을 극복하기 위한 방법으로 네이티브 코드로의 변환, 코드 최적화, JIT 컴파일 방법 등을 이용한다. 그러나 이전 방법들은 다음과 같은 한계점을 가진다. 클래스 파일을 네이티브 코드로의 변환은 플랫폼의 종속되고, 코드 최적화 방법은 고유의 최적화 방법만을 적용할 수 있었고, JIT컴파일 방법은 한 번의 실행 후 다음 실행해야 속도향상을 꾀할 수 있었다. 본 논문은 바이트 코드를 최적화하기 위한 자바최적화 프레임워크를 설명하고 자바최적화 프레임워크의 구성을 하는 부분 중 3주소형식의 중간코드를 스택기반 코드로 변환하는 부분을 설계하고. 3주소 코드로 변환한 중간 코드를 스택 기반 코드로 변환하면서 생기는 과다한 load/store의 문제점을 지적하고 그것을 해결할 수 있는 변환기를 제안한다.

  • PDF

A Study on Hangul Text File Management and Effective Code Conversion (한글 문서화일의 관리와 효과적인 코드변환에 관한 연구)

  • Yun, Ho-Sang;Shon, Jin-Gon;Hwang, Chong-Sun
    • Annual Conference on Human and Language Technology
    • /
    • 1989.10a
    • /
    • pp.191-196
    • /
    • 1989
  • 한글 문서화일을 작성할 때 한글코드로서 일반적으로 많이 사용되는 것은 2 Byte 완성형 코드와 2 Byte 조합형 코드이다. 이 두 코드체제는 각각 내제된 장점이 있으며 이로 인하여 많은 논란이 되어 왔으나, 두 코드체제를 이용하여 작성되는 한글 문서 화일은 여전히 늘어나고 있는 것이 현 실정이다. 이러한 배경에서 한글 문서화일의 코드변환에 관해서는 계속 연구되어 왔고 현재 여러종류의 변환프로그램이 실용화되어 있다. 본 논문에서는 기존의 변환프로그램에서 한글 문서화일을 화일 단위로 변환시키는 것을 표시난 (tag field) 개념을 도입하여 디스크 단위로 변환시킬 수 있도록 개선된 변환프로그램을 제시하였다. 아울러 코드변환시 변환이 필요한 화일을 쉽게 찾을 수 있도록 한글 문서화일에 대하여 그 작성 코드의 종류를 표시할 수 있는 DOS 명령어를 제시하였다.

  • PDF

On Codebook Fesign to Improve Speaker Adaptation (화자 적응 성능 향상을 위한 코드북 설계)

  • 양태영
    • Proceedings of the Acoustical Society of Korea Conference
    • /
    • 1995.06a
    • /
    • pp.228-231
    • /
    • 1995
  • 반연속 HMM 음성인식 시스템의 화자 적응 성능 향상을 위해 코드북 변환 알고리즘을 제안하였다. 기존의 화자 적응 알고리즘으로는 새로운 화자의 적응 데이터 특징의 분포와 HMM 모수의 사전밀도를 함께 고려하는 베이시안 화자적응 알고리즘이 있다. 그러나 새로운 화자의 특징분포와 코드북 사전 밀도의 차이가 큰 경우 적응 데이터와 코드북간의 잘못된 대응 관계를 얻을 수 있으며, 기준 코드북에 필요 이상으로 많은 코드워드가 존재하는 경우 적응된 코드북에도 불필요한 코드워드 들이 남아 인식 과정에 혼란을 줄 수 있다. 이 문제점을 해결하기 위하여 제안된 코드북 변환 알고리즘에서는 주파수 영역의 포만트 정보를 이용하였다. 화자 적응을 수행하기 앞서 코드북의 켑스트럼으로부터 포만트를 추출해 내고, 이들의 분포를 적응 화자의 포만트 분포와 일치되도록 변환시켜 주었다. 이 변환된 포만트들로부터 다시 켑스트럼을 구하여 변환된 코드북을 얻고 이를 화자 적응의 초기 코드북으로 사용하였다. 제안된 알고리즘을 이용하였을 경우 코드북과 적응 화자의 음성 간의 정확한 대응관계를 찾을 수 있었고, 불필요한 코드워드들이 인식 과정에서 사용되지 않도록 변환되어 인식률이 향상되는 것을 실험을 통해 확인하였다.

  • PDF

Code Transformation Techniques for Scratch-Pad Memory (Scratch-Pad Memory를 위한 코드 변환 기법)

  • 문대경;이재진
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2004.10a
    • /
    • pp.577-579
    • /
    • 2004
  • 전원을 전적으로 배터리에 의존하는 모바일 임베디드 시스템은 배터리 용량의 한계 때문에 효율적인 에너지의 사용이 매우 중요하다. 특히 memory subsystem은 전체 system에서 소모되는 에너지에서 큰 비중을 차지한다. 이 논문은 성능 면에서 cache의 대안이 되고, cache보다 간단한 구조 때문에 전력소모가 훨씬 적은 on-chip scratch-pad memory(SPM)를 효율적으로 이용할 수 있는 소스 코드 변환 방법 및 SPM 관리방법을 제안한다. 각 함수 단위로 코드 변환을 하며, 어떤 변수를 SPM에 할당하기 위한 소스코드 변환을 했을 때, 소스코드 분석만으로 알 수 있는 변수의 정적인 참조 횟수를 가중치로 고려하여, 코드 변환 후 메모리 참조에 의한 실행 시간과 에너지 소모를 계산하고 이를 바탕으로 SPM에 할당한 변수를 결정한 다음 실제 그 코드 변환을 적용한다. 제안된 코드 변환은 컴파일러에 의해 자동화 될 수 있다. 10개의 임베디드 벤치마크 프로그램을 이용하여 본 논문에서 제안하는 방법의 성능 평가를 한 결과, 실행 시간은 평균 23% 향상되고 에너지 소모는 평균 49% 감소함을 알 수 있다.

  • PDF

Design and Implementation of a Dynamic Instrumentation Framework based on Light-weight Dynamic Binary Translation (경량 동적 코드 변환 기법을 이용한 동적 인스트루멘테이션 기법 설계 및 구현)

  • Kim, Jeehong;Lee, Dongwoo;Kim, Inhyeok;Eom, Young Ik
    • Journal of KIISE
    • /
    • v.41 no.11
    • /
    • pp.892-899
    • /
    • 2014
  • Dynamic binary instrumentation is a code insertion technique for debugging a program without scattering its execution flow, while the program is running. Most dynamic instrumentations are implemented using dynamic binary translation techniques. Existing studies translated program codes dynamically by parsing the machine code stream to intermediate representation (IR) and then applying compilation techniques for IRs. However, they have high overhead during translation, which is a major cause of difficulty in applying the dynamic binary translation technique to the program which requires high responsiveness. In this paper, we introduce a light-weight dynamic binary instrumentation framework based on a novel dynamic binary translation technique which has low overhead while translating the program code. In order to reduce the translation overhead, our approach adopts a tabular-based address translation and exploits a translation bypassing scheme, which stores the translated address of a frequently called library function in advance. It then accesses the translated address and executes function codes without code translation when calling the function. Our experiment results demonstrated that the proposed approach outperforms the prior dynamic binary translation techniques from 2% up to 65%.

Device Driver Fault Isolation using Binary Translation Technology (동적 코드 변환 기법을 이용한 디바이스 드라이버의 고장 분리 기술)

  • Lim, Byoung Hong;Kim, Jeehong;Eom, Young Ik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2010.11a
    • /
    • pp.1714-1717
    • /
    • 2010
  • 디바이스 드라이버는 커널의 대부분을 차지하기 때문에 디바이스 드라이버에 문제가 발생하면 시스템에 심각한 영향을 미치게 된다. 따라서 디바이스 드라이버의 고장 분리 기술은 운영체제의 신뢰도 향상을 위해서 매우 중요하다. 동적 코드 변환 기법(Binary Translation)은 기계어 코드의 수준에서 기존의 디바이스 드라이버의 명령어 집합을 다른 명령어 집합으로 변환하여 실행하도록 하는 기법이다. 이 기법을 통해 우리는 각 명령어의 변환 과정에서 디바이스 드라이버의 모든 행위를 감시할 수 있다. 따라서 동적 코드 변환기법은 디바이스 드라이버의 고장을 분리하며 악의적인 메모리 접근을 제한하는 장점을 가지고 있다. 또한 커널 코드의 수정과 디바이스 드라이버의 수정이 요구되지 않는다. 이 논문에서 우리는 동적 코드 변환 기법을 설계하고 구현하였다. 그리고 동적 코드변환 기법을 이용한 몇 가지 실험을 통해, 디바이스 드라이버를 수행 시 발생하는 오버헤드와 고장 분리 가능 여부를 평가해 보았다.

Translator for Stack-Based Codes from Intermediated Codes (중간 코드를 스택-기반 코드로의 변환기)

  • Kim Young Kook;Kouh Hoon-Joon;Yoo Weon Hee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.07b
    • /
    • pp.895-897
    • /
    • 2005
  • 자바의 문제점은 실행속도의 저하이다. 실행속도 저하의 해결 방법으로 네이티브 코드로 변환, JIT컴파일러, 바이트코드 최적화등의 연구가 되어 왔다. 그 중에 바이트코드 최적화 방법을 사용하는 CTOC(Class To Optimized Classes)에서 중간코드로 사용하는 3-주소 코드를 스택-기반 코드로 코드 확장 기법으로 변환 시 불필요한 store/load 코드가 생성된다. 따라서 본 논문은 불필요한 store/load 코드를 제거하기 위해서 부분 중복 코드 제거 후 불필요한 store/load문을 제거함으로서 불필요한 store/load 코드의 양을 줄이는 변환기를 제안하고, 거기에 대한 간단한 예를 들어 설명한다.

  • PDF

Design and Implementation of Conversion System Between ISO/IEC 10646 and Multi-Byte Code Set (ISO/IEC 10646과 멀티바이트 코드 세트간의 변환시스템의 설계 및 구현)

  • Kim, Chul
    • The Journal of Korea Institute of Information, Electronics, and Communication Technology
    • /
    • v.11 no.4
    • /
    • pp.319-324
    • /
    • 2018
  • In this paper, we designed and implemented a code conversion method between ISO/IEC 10646 and the multi-byte code set. The Universal Multiple-Octet Coded Character Set(UCS) provides codes for more than 65,000 characters, huge increase over ASCII's code capacity of 128 characters. It is applicable to the representation, transmission, interchange, processing, storage, input and presentation of the written form of the language throughout the world. Therefore, it is so important to guide on code conversion methods to their customers during customer systems are migrated to the environment which the UCS code system is used and/or the current code systems, i.e., ASCII PC code and EBCDIC host code, are used with the UCS together. Code conversion utility including the mapping table between the UCS and IBM new host code is shown for the purpose of the explanation of code conversion algorithm and its implementation in the system. The programs are successfully executed in the real system environments and so can be delivered to the customer during its migration stage from the UCS to the current IBM code system and vice versa.

Translator for Stack-Based Codes from Three-Address Codes (3-주소 코드를 스택-기반 코드로의 변환기)

  • Kim, Young-Kook;Kouh, Hoon-Joon;Yoo, Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2005.05a
    • /
    • pp.369-372
    • /
    • 2005
  • 자바의 문제점은 실행속도의 저하이다. 실행속도 저하의 해결 방법으로 네이티브 코드로 변환, JIT컴파일러, 바이트코드 최적화등의 연구가 되어 왔다. 그중에 바이트코드 최적화 방법을 사용하는 CTOC(Class To Optimized Classes)에서 3-주소 코드를 스택-기반 코드로 코드 확장 기법으로 변환 시 불필요한 store/load 코드가 생성된다. 따라서 본 논문은 불필요한 store/load 코드를 제거하기 위해서 부분 중복 코드 제거 후 불필요한 store/load문을 제거함으로서 불필요한 store/load 코드의 양을 줄이는 변환기를 제안하고, 거기에 대한 간단한 예를 들어 설명한다.

  • PDF