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

검색결과 748건 처리시간 0.027초

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

  • 이종덕;이민철;맹지찬;유민수;안현식;정구민
    • 대한전기학회:학술대회논문집
    • /
    • 대한전기학회 2008년도 학술대회 논문집 정보 및 제어부문
    • /
    • pp.314-315
    • /
    • 2008
  • 본 논문에서는 임베디드 리눅스와 uCOS-2 간 소스코드 변환에 대한 연구를 위해 API 정변환/역변환기(API 변환기)를 이용하여 두 RTOS 간 소스코드 변환을 실험한다. API 변환기는 임베디드 소프트웨어의 개발을 돕기 위해 개발된 프로그램으로서, 정변환과 역변환 기능을 이용하여 이종 RTOS 간 소스코드를 자동으로 상호 변환한다. 정변환이란 중간형태의 C-코드인 CIC 파일에서 특정 RTOS를 위한 C-코드로 변환하는 것을 의미한다. 반대로 역변환은 특정 RTOS를 위한 C-코드로부터 CIC 파일로 변환하는 것을 가리킨다. 본 논문의 실험에서는 임베디드 리눅스와 uCOS-2의 동기화 소스코드 예제를 API 변환기를 이용하여 상호 변환해본다. 그리고 변환된 소스코드의 정상동작 여부를 확인하기 위해 각각의 타깃보드 위에 소스코드를 포팅한다.

  • PDF

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

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

  • PDF

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

  • 윤호상;손진곤;황종선
    • 한국정보과학회 언어공학연구회:학술대회논문집(한글 및 한국어 정보처리)
    • /
    • 한국정보과학회언어공학연구회 1989년도 한글날기념 학술대회 발표논문집
    • /
    • pp.191-196
    • /
    • 1989
  • 한글 문서화일을 작성할 때 한글코드로서 일반적으로 많이 사용되는 것은 2 Byte 완성형 코드와 2 Byte 조합형 코드이다. 이 두 코드체제는 각각 내제된 장점이 있으며 이로 인하여 많은 논란이 되어 왔으나, 두 코드체제를 이용하여 작성되는 한글 문서 화일은 여전히 늘어나고 있는 것이 현 실정이다. 이러한 배경에서 한글 문서화일의 코드변환에 관해서는 계속 연구되어 왔고 현재 여러종류의 변환프로그램이 실용화되어 있다. 본 논문에서는 기존의 변환프로그램에서 한글 문서화일을 화일 단위로 변환시키는 것을 표시난 (tag field) 개념을 도입하여 디스크 단위로 변환시킬 수 있도록 개선된 변환프로그램을 제시하였다. 아울러 코드변환시 변환이 필요한 화일을 쉽게 찾을 수 있도록 한글 문서화일에 대하여 그 작성 코드의 종류를 표시할 수 있는 DOS 명령어를 제시하였다.

  • PDF

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

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

  • PDF

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

  • 문대경;이재진
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (1)
    • /
    • 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)

  • 김지홍;이동우;김인혁;엄영익
    • 정보과학회 논문지
    • /
    • 제41권11호
    • /
    • pp.892-899
    • /
    • 2014
  • 동적 인스트루멘테이션 기법은 동적 코드 변환 기법을 사용하여 프로그램의 수행 흐름을 흐트러뜨리지 않으면서 분석 코드를 삽입하는 구현 기법으로 사용되고 있다. 기존의 동적 코드 변환 기법은 머신 코드 스트림을 중간 코드 형태로 파싱하고, 이를 일반적인 컴파일러 기법에 적용함으로써 코드를 변환한다. 이러한 방식의 코드 변환 과정에서 수반되는 높은 변환 오버헤드는 응답성이 높은 사용자 프로그램에 적용을 어렵게 한다. 본 논문에서는 변환 과정의 경량화를 통해 변환 오버헤드를 줄임으로써, 높은 동적 코드 변환 성능을 가지는 경량 동적 코드 변환 기법을 제안하고, 이를 기반으로 하는 동적 인스트루멘테이션 프레임워크를 제안한다. 제안 기법은 테이블 기반의 새로운 동적 주소 변환 기법으로 코드를 변환하고, 더불어 자주 실행되는 라이브러리 함수에 대해 변환 과정에 대해서는 주소 변환만을 함으로써 변환 오버헤드를 줄이는 변환 우회 기법을 이용한다. 기존 동적 코드 변환 기법과의 비교를 통해 2%~65%의 성능 향상을 확인하였다.

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

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

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

  • 김영국;고훈준;유원희
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 한국컴퓨터종합학술대회 논문집 Vol.32 No.1 (B)
    • /
    • pp.895-897
    • /
    • 2005
  • 자바의 문제점은 실행속도의 저하이다. 실행속도 저하의 해결 방법으로 네이티브 코드로 변환, JIT컴파일러, 바이트코드 최적화등의 연구가 되어 왔다. 그 중에 바이트코드 최적화 방법을 사용하는 CTOC(Class To Optimized Classes)에서 중간코드로 사용하는 3-주소 코드를 스택-기반 코드로 코드 확장 기법으로 변환 시 불필요한 store/load 코드가 생성된다. 따라서 본 논문은 불필요한 store/load 코드를 제거하기 위해서 부분 중복 코드 제거 후 불필요한 store/load문을 제거함으로서 불필요한 store/load 코드의 양을 줄이는 변환기를 제안하고, 거기에 대한 간단한 예를 들어 설명한다.

  • PDF

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

  • 김철
    • 한국정보전자통신기술학회논문지
    • /
    • 제11권4호
    • /
    • pp.319-324
    • /
    • 2018
  • 본 논문에서는 ISO/IEC 10646과 멀티바이트 코드 세트간의 변환 시스템을 설계하고 구현한다. 65,000 문자의 코드를 제공하는 UCS 세트는 128 문자의 코드 용량을 제공하는 ASCII 코드의 제한성을 해결하고, 전세계 언어의 표현, 전송, 교환, 처리, 저장 및 입출력을 단일 코드 페이지에서 적용하며, 다국어 소프트웨어 개발시 코드 변환을 단순화시킴으로써 프로그램의 코드 수정을 위한 시간과 비용을 효율적으로 절감하게 한다. 따라서 UCS 코드 시스템과 ASCII 및 EBCDIC 코드 시스템들이 혼용되어 사용되는 환경에서는 상호 시스템간의 코드 변환 방법은 시스템 마이그레이션시 제공되어야 하는 중요한 고려 사항이다. 본 논문의 코드 변환 유틸리티는 UCS와 IBM 호스트 코드간의 매핑 테이블을 포함하고 있으며 제안된 코드 변환 알고리즘을 시스템에서 구현하였다. 제안된 코드 변환 프로그램은 실제 시스템 환경에서 성공적으로 구동하였음을 검증하였고, UCS와 멀티바이트 코드 시스템간의 마이그레이션시 가이드라인으로 제공될 수 있다.

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

  • 김영국;고훈준;유원희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 춘계학술발표대회
    • /
    • pp.369-372
    • /
    • 2005
  • 자바의 문제점은 실행속도의 저하이다. 실행속도 저하의 해결 방법으로 네이티브 코드로 변환, JIT컴파일러, 바이트코드 최적화등의 연구가 되어 왔다. 그중에 바이트코드 최적화 방법을 사용하는 CTOC(Class To Optimized Classes)에서 3-주소 코드를 스택-기반 코드로 코드 확장 기법으로 변환 시 불필요한 store/load 코드가 생성된다. 따라서 본 논문은 불필요한 store/load 코드를 제거하기 위해서 부분 중복 코드 제거 후 불필요한 store/load문을 제거함으로서 불필요한 store/load 코드의 양을 줄이는 변환기를 제안하고, 거기에 대한 간단한 예를 들어 설명한다.

  • PDF