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

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

CTOC에서 자바 바이트코드를 위한 정적 단일 배정 형태 (Static Single Assignment Form for Java Bytecodes in CTOC)

  • 김기태;유원희
    • 정보처리학회논문지D
    • /
    • 제13D권7호
    • /
    • pp.939-946
    • /
    • 2006
  • 자바 바이트코드는 많은 장점을 갖지만 수행 속도가 느리고 분석이 어렵다는 단점을 갖는다. 이를 극복하기 위해 바이트코드에 대한 분석과 최적화가 수행되어야 한다. 최적화된 코드를 위해 CTOC를 구현하였다. 바이트코드에 대해 분석과 최적화를 수행하기 위해서는 우선 CFG를 생성해야 한다. 바이트코드의 특성 때문에 기존의 제어 흐름 분석 기술을 바이트코드에 적합하게 확장해야 한다. 또한 정적으로 분석하기 위해 CFG를 SSA Form으로 변환한다. SSA Form으로 변환하기 위해서는 지배 관계, 지배자 트리, 직접 지배자, $\phi$-함수, 재명명, 지배자 경계 등 많은 정보에 대한 계산을 수행한다. 본 논문은 기존의 CFG로부터 SSA Form으로 변환을 위해 알고리즘과 변환 과정을 기술한다. SSA Form이 적용된 그래프는 추후에 타입 추론과 최적화를 위해 사용된다.

전광 그레이코드 이진코드 변환기 (All-Optical Gray Code to Binary Coded Decimal Converter)

  • 정영진;박남규;전영민;우덕하;이석
    • 한국광학회지
    • /
    • 제19권1호
    • /
    • pp.60-67
    • /
    • 2008
  • 전광 그레이코드(gray code) 이진코드(binary code) 변환기를 상용화 전산모사 프로그램(VPI)을 이용하여 처음으로 구현하였다. 전자회로 디자인 방법을 상호 이득변조를 이용한 전광 논리회로에 적합하도록 변형하여, 이상적이지 않은 전광 논리게이트에 의한 신호 왜곡이 최소화 되도록 하였다. 2.5 Gbps의 20 dB 소광비를 가지는 입력 신호에 대해, 신호재생기 없이 가장 많이 왜곡된 출력 신호에 (최하위 비트-LSB) 대해 약 4 이상의 Q값을 얻을 수 있었다. 또한 그레이 코드 이진코드 변환기를 디자인하면서, 이단 단순화 방법을 (two-level simplification method) 변형하여, 그레이코드 이진코드 변환기뿐 아니라 일반적인 전광 회로에 적용할 할 수 있는 일반적 방법을(일단 단순화 방법: one-level simplification method) 얻을 수 있었다.

동적 코드 분석을 위한 동적 컴파일 성능 분석 (A Performance Analysis of Just-in-Time Compiler for Dynamic instrumentation)

  • 김지홍;엄영익
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2012년도 한국컴퓨터종합학술대회논문집 Vol.39 No.1(A)
    • /
    • pp.268-270
    • /
    • 2012
  • 동적 코드 분석 도구는 동적 컴파일(Just-in-Time Compile)을 통한 코드 변환 기술을 이용하여 응용프로그램 실행 중 기계어 수준의 코드를 분석한다. 기존의 동적 코드 분석 도구는 변환과정에서의 부하가 크기 때문에 리얼타임 프로그램에 적용하기 어렵다. 본 논문에서는 기존 동적 코드 분석 도구의 동적 컴파일 기법과 컴파일 프레임워크인 LLVM의 동적 컴파일 기법의 성능을 비교, 분석하였다. 이를 통해 LLVM의 동적 컴파일 기법을 이용한 높은 수행 성능을 가진 동적 코드 분석 도구의 설계 방안을 모색한다.

ID 프로파일을 이용한 RFID 멀티 코드 변환기 연구 (The development of RFID multi-codes converter based on ID profiles)

  • 이창열;모희숙
    • 전자공학회논문지CI
    • /
    • 제46권2호
    • /
    • pp.124-133
    • /
    • 2009
  • 산업에서 사용되는 ID는 기록 매체나 응용에 따라서 다른 표현 형태를 가질 수 있으며, 특히 RFID 태그에 기록되기 위하여 ISO/IEC 15962의 인코딩/디코딩 규칙에 따라 표현되어야 한다. 본 연구는 ID의 인터넷상에서 표현과 RFID 태그에서 표현을 자유롭게 상호 변환 지원할 수 있는 효과적인 알고리즘 개발에 초점을 두었다. 알고리즘의 핵심은 변환 대상이 되는 ID에 대한 XML 기반의 선언적 프로파일 정의와 이를 기반으로 효과적인 변환을 위한 3단계 논리적 변환 코드 체계를 도입하는 것에 있다. 본 알고리즘은 ISO/IEC 18000-6C 태그 기반 RFID에서 표현될 수 있는 3가지 유형의 메타 코드 체계(EPC, Non-EPC ID 이면서 OID 사용 코드와 사용하지 않는 코드)에 해당되는 대표적인 실존 IDs(EPC, ISO15459 KKR 코드, mCode)를 대상으로 적용하여 그 정확성에 대한 검증을 하였다.

블록 암호에서 교환 계층의 MDS 코드 생성 확인 알고리즘 (MDS code Creation Confirmation Algorithms in Permutation Layer of a Block Cipher)

  • 박창수;조경연
    • 한국정보통신학회논문지
    • /
    • 제7권7호
    • /
    • pp.1462-1470
    • /
    • 2003
  • 정보통신의 발달과 인터넷의 확산으로 인해 정보보안의 필요성이 증대되면서 다양한 암호알고리즘이 개발되어 활용되고 있다. 이와 더불어 암호 공격 기술도 발전하여서, 공격에 강한 알고리즘에 대한 연구가 활발하게 진행되고 있다. Substitution Permutation Networks(SPN)등의 블록 암호알고리즘에서 교환계층의 선형변환행렬이 Maximum Distance Separable(MDS) 코드를 생성하면 차분공격과 선형공격에 강한 특성을 보인다. 본 논문에서는 선형변환행렬이 MDS 코드를 생성하는가를 판단하는 새로운 알고리즘을 제안한다. 선행변환행렬의 입력코드는 GF(2$^n$)상의 원소들로 이들을 변수로 해석할 수 있다. 하나의 변수를 다른 변수들의 대수식으로 변환하고 대입하여 변수를 하나씩 소거한다. 변수가 하나이고 모든 계수가 ‘0’이 아니면 선형변환 행렬은 MDS 코드를 생성한다. 본 논문에서 제안한 알고리즘은 기존의 모든 정방부분행렬이 정칙인지를 판단하는 알고리즘과 비교하여 곱셈 및 역수 연산수를 많이 줄임으로서 수행 시간을 크게 감소 시켰다.

CTOC에서 정적 단일 배정문 형태를 이용한 지역 변수 분리 (Split Local Variables Using Static Single Assignment Form in CTOC)

  • 이갑래;유원희;김기태
    • 한국콘텐츠학회논문지
    • /
    • 제5권3호
    • /
    • pp.73-81
    • /
    • 2005
  • CTOC(Classes To Optimized Classes)는 자바 바이트코드의 최적화와 분석을 위해 현재 개발 중인 프레임워크이다. CTOC는 스택 기반인 바이트코드를 최적화와 분석을 쉽게 하기 위해 3-주소 형태로 변환한다. 바이트코드가 타입에 관한 정보를 포함하지만 스택 기반의 동작을 수행하기 때문에 지역 변수를 위한 명시적인 타입을 갖지 못하는 경우가 발생한다. 따라서 바이트코드에서 3-주소 형태로 변환하는 과정에 사용되는 모든 변수는 정적 타입을 가져야 하는 문제점이 발생한다. 왜냐하면, 프로그램의 최적화나 분석을 위해서는 지역 변수의 타입을 알아야 하기 때문이다. 본 논문은 CTOC 프레임워크의 전반부로 바이트코드를 스택을 사용하지 않는 3-주소 형태로 변환하는 과정을 수행한다. 이 과정에서 스택 코드 형태인 CTOC-B 코드를 생성하고, 제어 흐름 그래프를 생성하여 바이트코드 수준에서 분석을 수행한다. 또한 정적 타입을 제공하기 위한 중간 과정으로 타입을 갖지 않는 CTOC-T 코드를 생성한다. 이를 위해 정적 단일 배정문 형태(Static Single Assignment Form)를 사용하여 모든 변수를 분리하고 각 변수에 새로운 이름으로 재명명하는 동작을 수행한다. 분리된 변수들은 추후 정적 타입 추론을 위한 준비 단계로 사용된다.

  • PDF

문법-지시적 변환 기법을 이용한 ARM 코드 생성 시스템 (ARM Code Generation System using Syntax-Directed Translation Technique)

  • 고광만
    • 한국콘텐츠학회논문지
    • /
    • 제8권6호
    • /
    • pp.82-88
    • /
    • 2008
  • ARM 프로세서는 다양한 임베디드 시스템에서 활용되고 있다. 또한 대부분의 ARM 프로세서는 C 프로그램을 입력으로 받아 GNU gcc 크로스 컴파일 방식을 사용하여 ARM 어셈블리 코드를 생성한다. 또한 생성된 목적코드의 질을 개선하고 효율적인 목적코드 생성하기 위한 다양한 연구가 진행되고 있다. 본 논문에서는 표준 C 프로그램으로부터 ARM 프로세서에 대한 목적코드를 문법-지시적 변환 기법을 이용하여 생성하며 성능평가 결과를 GNU gcc 크로스 컴파일 방식과 비교하여 제시한다. 본 연구에서 제시한 기법은 생성규칙을 확장하는 방법이 GNU gcc 크로스 컴파일러에 비해 간편하고 편리하다.

$n^3$ 프로세서 재구성가능 메쉬에서 $n^2$ 화소 이진영상과 경계코드간의 효율적인 변환 (Efficient Transformations Between an $n^2$ Pixel Binary Image and a Boundary Code on an $n^3$ Processor Reconfigurable Mesh)

  • 김명
    • 한국정보처리학회논문지
    • /
    • 제5권8호
    • /
    • pp.2027-2040
    • /
    • 1998
  • 본 논문에서는 $n\timesn\timesn$ 프로세서로 구성된 재구성가능 메쉬에서 $n\timesn$개의 화소가 있는 이진영상을 경계코드로 변환 하거나 그 역변환을 하는 알고리즘을 제안한다. 이와 동일한 변환을 하는 O(1) 시간 알고리즘들이 이미 제안되었는데, 이들이 사용하는 프로세서의 수는 $O(n^4)$으로, 영상의 화소 수와 비교해 볼 때 지나치게 많다고 하겠다. 본 논문에서는 $n^3개의 프로세서만을 사용하는 속도 빠른 변환 알고리즘을 소개한다. 여기서 제안하는 경계코드를 이진영상으로 변환하는 알고리즘의 실행시간은 O(1)이고, 그 역변환 알고리즘의 실행시간은 O(log n)이다.

  • PDF

어셈블리 코드 간의 자동 변환 방법 (An Automatic Translation Method Between Assembly Codes)

  • 심정민;임진수;우균
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 추계학술발표대회
    • /
    • pp.322-325
    • /
    • 2010
  • 본 논문은 다른 프로세서간의 어셈블리 코드를 자동으로 변환하는 방법에 대해 소개한다. 어셈블리 언어는 기계어를 사람이 알아보기 쉽도록 만든 저급 언어로서 레지스터 접근과 같은 하드웨어 수준의 작업이 가능한 반면, 컴퓨터 아키텍처에 따라 어셈블리도 다르다. 이에 따라 새로운 프로세서에서 어셈블리 코드가 포함된 프로그램을 동작시키기 위해서는 어셈블리 코드 부분을 새로 작성하여야 한다. 어셈블리를 작성하는 것은 많은 시간이 필요하고 버그가 발생할 확률이 높다. 본 논문에서는 새로 작성할 어셈블리 코드를 동일한 동작을 하는 다른 프로세서의 어셈블리 코드를 통해 생성해내는 방법을 소개한다.

모델 기반 자동코드 생성기 개발 (A Development of Model Based Automatic Code Generation)

  • 이정우;최경희;정기현
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2010년도 춘계학술발표대회
    • /
    • pp.918-921
    • /
    • 2010
  • 본 연구에서는 Simulink Model(이하 Model)을 C Code 로 변환시켜주는 자동 코드 생성기, SimAutoCodeGenerator 를 제안하였다. Model 의 테스트케이스를 생성하기 위한 작업에서 반복적인 프로그램의 실행을 통한 테스터와의 다양한 피드백이 필요하다. 이때, Simulink는 이런 작업을 하는 데 있어서 적절한 정보를 제공하기 어려울 뿐만 아니라 테스트 케이스를 생성하는데 필요한, 실행 시 특정 시점으로 돌아가는 기능을 수행하기 위해서는 프로그램을 정지한 후 다시 실행해야하는 문제점을 가지고 있다. 본 연구에서는 이와같은 단점을 보완하기 위하여 Model 을 C 코드로 변환하였다. 생성된 C 코드는 Model 과의 일치성을 증명한 후 자동 테스트케이스 생성을 위한 프로그램에 쓰이게 될 것이다. 먼저 C 코드의 생성 메커니즘을 알아보고 생성된 C 코드와 Model 의 일치성을 증명하였다.