• Title/Summary/Keyword: 컴파일러 개발

Search Result 183, Processing Time 0.05 seconds

A Performance measurement and Evaluation System for ILP Processors (ILP 프로세서를 위한 성능측정 및 평가 시스템)

  • Lee, Sang-Jeong
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.8
    • /
    • pp.2164-2178
    • /
    • 1998
  • 본 논문에서는 한 사이클에 여러 개의 명령들이 다중 이슈되어 명령어 수준에서 병렬처리되는 ILP 프로세서의 성능을 측정하고 평가하는 시스템을 개발한다. 개발되는 시스템은 C 컴파일러와 시뮬레이터로 구성된다. C 컴파일러는 C 소스 프로그램을 입력으로 받아 3-주소 코드형태의 중간언어를 생성한다. 생성된 중간언어는 ILP 프로세서의 환경 파라미터와 함께 시뮬레이터에 입력되어 시뮬레이션된 후 메모리 내용, 수행된 클럭 수 및 명령 트레이스, 수행된 명령들의 동적 빈도수, 분기명령의 예측률, profiling 정보 등을 생성한다. 개발된 성능측정 시스템의 동작 검증을 위하여 순차이슈 되어 정적으로 스케쥴링 되는 조건실행 방식의 성능과 분기처리 방식의 성능을 측정하여 분석한다.

  • PDF

Accelerating Javascript Using Operator Analysis (연산자 분석을 통한 자바스크립트 가속화)

  • Park, Jeonghwan;Han, Hwansoo
    • KIISE Transactions on Computing Practices
    • /
    • v.22 no.8
    • /
    • pp.399-404
    • /
    • 2016
  • asm.js is a newly proposed language for overcoming the low performance of traditional Javscript language. asm.js is known as the subset of Javascript, and usually performs within only doubled slowdown over native compilation with clang. When programmers develop asm.js applications, they usually implement them via source-to-source compilation from C/C++. However, this application development process does not consider the cases where programmers need to develop asm.js applications from existing Javascript applications. To surmount the limitations in current development environment, we propose Javscript-to-asm.js compiler, which enables programmers to develop asm.js applications by using Javscript. By analyzing the result of our study, we demonstrate the efficiency and availability of the proposed compiler.

A Study on Distributed System for Remote Compile Service (원격 컴파일 서비스를 위한 분산 시스템에 관한 연구)

  • Ku, Min-O;Cho, Na-Yun;Min, Dug-Ki
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06b
    • /
    • pp.341-346
    • /
    • 2010
  • 컴파일러 설치 및 환경정보 설정과 같은 일련의 컴파일러 설정과정은 개발환경 구성과정 중 중요한 과정이며, 집단 개발환경에서의 개발환경 동일화 과정은 많은 비용을 초래할 수 있게 된다. 더욱이 개발 초급자 또는 공학교육 학습자에게는 앞서 언급한 개발환경 구성과정이 개발언어에 대한 학습과정의 진입장벽으로 작용할 수 있다. 뿐만 아니라, 다양한 개발언어에 대한 학습을 이루고자할 경우, 이에 수반되는 다양한 컴파일러 확보 설정 등의 과정은 개발 시스템과 컴파일 시스템이 일치함에 따라 환경구성의 복잡도가 증가하게 된다. 따라서 본 논문에서는 컴파일 환경을 구성한 분산 시스템을 기반으로 원격 컴파일 서비스를 제공하는 분산 시스템 아키텍처를 제시하며 이에 대한 구현 사항을 제공한다. 특히 브로커 아키텍처를 기반으로 한 분산 시스템 상에서 처리 시스템들에 빈번히 발생할 수 있는 고장 상황에 대해 고가용성(High Availability)을 달성하기 위해 처리 시스템간의 가용 여부를 관리하는 Coordinator 처리 시스템 선출을 위해 선출 알고리즘으로 Bully 알고리즘을 적용하였다.

  • PDF

Compiler Optimization Techniques for The Next Generation Low Power Multibank Memory (차세대 저전력 멀티뱅크 메모리를 위한 컴파일러 최적화 기법)

  • Cho, Doosan
    • The Journal of the Institute of Internet, Broadcasting and Communication
    • /
    • v.21 no.6
    • /
    • pp.141-145
    • /
    • 2021
  • Various types of memory architectures have been developed, and various compiler optimization techniques have been studied to efficiently use them. In particular, since a memory is a major component that determines performance in mobile computing devices, various optimization techniques have been developed to support them. Recently, a lot of research on hybrid type memory architecture is being conducted, so various compiler techniques are being studied to support it. Existing compiler optimization techniques can be used to achieve the required minimum performance and constraint on low power according to market requirements. References for determining the low-power effect and the degree of performance improvement using these optimization techniques are not properly provided yet. This study was conducted to provide the experimental results of the existing compiler technique as a reference for the development of multibank memory architecture.

Improvement of Program Parallelism by Using Loop Transformation (루프 변환에 의한 프로그램 병렬성 개선 방안)

  • Kim, J.M.;Chi, D.H.;Yoon, S.H.
    • Electronics and Telecommunications Trends
    • /
    • v.14 no.2 s.56
    • /
    • pp.1-13
    • /
    • 1999
  • 본 연구는 병렬성 및 지역성 증진을 위한 컴파일러 최적화에 관한 연구로서, 순차 언어로 작성된 프로그램을 병렬성을 명시하는 프로그램으로 변환하는 자동 병렬화 기술을 연구하고, 병렬화를 위한 코드 변환을 수행한 후 쓰레드를 이용한 최적화된 코드 생성을 통하여 프로그램의 효율성을 높이는 것을 목적으로 한다. 이는 병렬 컴퓨터에서의 프로그램 개발 생산성을 높일 수 있고, 컴파일러의 관련 기술 발전에 도움을 줄 수 있다. 본 고에서는 순차 언어인 FORTRAN 및 C 프로그램을 입력으로 받아 병렬성 및 지역성 분석을 수행하고, 분석을 통해 기본 컴파일러로 선정한 SUIF 컴파일러에서 사용되는 루프 변환을 포함하여 루프 분산 및 병합의 프로그램 변환을 수행한 후, 쓰레드 실행시간 라이브러리로 병렬성을 명시한 C 프로그램을 출력하는 병렬화 번역기에 대한 연구 내용을 기술하였다.

An IDL-to-Java Compiler for Java ORB System (Java ORB 시스템을 위한 IDL-to-Java 컴파일러 개발)

  • Lee, Jin-Ho;Lee, Geun-Young;Chung, Tai-Myoung
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.8
    • /
    • pp.2154-2163
    • /
    • 1998
  • 복잡한 분산 시스템 상에서 운용되는 소프트웨어들을 위해서 안정된 하부구조인 동시에 소프트웨어 아키텍쳐인 OMG의 CORBA는 효율적인 객체 지향 개발 환경을 제공한다. 인터넷, 개인용 컴퓨터, WWW의 사용 증가로 인해 이기종의 분산 시스템들 상에서 구동될 수 있는 응용프로그램들이 요구되고 있으며 이와 같은 이기종간의 이식성을 충족시키기 위해서 Java ORB에 대한 필요성이 증가되고 있는 추세이다. 본 논문에서는 IDL을 자바로 사상하는 규약을 분석하며 자바로 구현된 CORBA 시스템을 지원하기 위한 IDL-to-Java 컴파일러를 구현하였다. 구현된 컴파일러는 어휘 분석기, 파서, 목적 코드 생성기로 나누어지며 목적 코드 생성기에서는 IDL에서 자바로 사상된 파일들 이외에 투명성을 제공하게 되는 클라이언트 스텁 코드와 객체 구현 스켈레톤 코드를 생성한다.

  • PDF

A Performance Analysis of Parallel Program Compilation on Multi-core Systems (멀티코어 시스템에서 병렬 프로그램 컴파일 성능 분석)

  • Kim, Jeehong;Eom, Young Ik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.05a
    • /
    • pp.169-170
    • /
    • 2013
  • 멀티코어 환경이 보편화됨에 따라 병렬프로그래밍 기법과 이에 대한 컴파일 기술의 중요성이 더해지고 있다. 하지만 각 병렬 프로그래밍 기법과 컴퓨팅 환경에 따라 컴파일 기술이 개발되어야 하는 단점이 있다. 따라서 본 논문에서는 다양한 병렬 프로그래밍 기법과 컴퓨팅 환경을 지원할 수 있는 범용 컴파일러의 개발을 위해 병렬프로그래밍 기법과 컴파일러에 따른 병렬 프로그램의 컴파일 성능을 비교하고, 높은 수행 성능을 가진 범용 병렬 프로그램 컴파일러의 설계 방안을 모색한다.

A Study on Optimization Performance of WebAssembly Compilers (웹어셈블리 컴파일러 최적화 성능에 관한 연구)

  • Chae-won Shin;Su-hyeon Song;Dong-hyun Kwon
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2024.05a
    • /
    • pp.35-36
    • /
    • 2024
  • WebAssembly(WASM)는 웹브라우저용 바이트코드로, 다양한 언어로 작성한 코드를 손쉽게 한번에 실행할 수 있고, 기존 고수준 언어를 사용하여 웹 애플리케이션을 개발할 수 있다. WASM 은 사용자와의 실시간 소통을 필요로 하는 웹용으로 개발되었기 때문에 성능이 중요한 요소로 꼽힌다. 이 논문에서는 대표적인 WASM 컴파일러인 emscripten 과 cheerp 에 대해 각각 생성된 코드의 성능을 측정하여 최적화 정도를 비교한다. 실험 결과 emscripten 의 최적화 수준이 더욱 높았으나, 두 컴파일러의 성능 간 상충 관계가 발견되었다.

Code Generation Techniques for the Optimized Energy Consumption (최적화된 에너지 소비를 위한 코드 생성 기술)

  • Ko, Kwang-Man;So, Kyoung-Young
    • The Journal of the Korea Contents Association
    • /
    • v.8 no.12
    • /
    • pp.63-71
    • /
    • 2008
  • Recently, together with a new advent of embedded processor developed to support specific application area, and it evolution, a new study of software development to support the embedded processor and its commercial use has been revitalized. Specially, In a mobile device that is built-in embedded processor, software management is as important as hardware management for the limited power/energy. In this paper, we suggest that the code generation technique considering the energy dissipation through the verified retargetable compiler backend tool, EXPRESSION. For this goals, we describes the efficient code generation patterns and showed the variable performance results.

Effective Integer Promotion Bug Detection Technique for Embedded Software (효과적인 내장형 소프트웨어의 정수 확장 (Integer Promotion) 버그 검출 기법)

  • Kim, Yunho;Kim, Taejin;Kim, Moonzoo;Lee, Ho-jung;Jang, Hoon;Park, Mingyu
    • Journal of KIISE
    • /
    • v.43 no.6
    • /
    • pp.692-699
    • /
    • 2016
  • C compilers for 8-bit MCUs used in washing machines and refrigerators often do not follow the C standard to improve runtime performance. Developers who are unaware of the difference between C compilers following the C standard and the C compilers for 8-bit MCU can cause bugs that do not appear in the standard C environment but appear in the embedded systems using 8-bit MCUs. It is difficult for bug detectors that assume the standard C environment to detect such bugs. In this paper, we introduce integer promotion bugs caused by the different integer promotion rules of the C compilers for 8-bit MCU from the C standard and propose 5 bug patterns where the integer promotion bugs occur. We have developed an integer promotion bug detection tool and applied it to the washing machine control software developed by the LG electronics. The integer promotion bug detection tool successfully detected 27 integer promotion bugs in the washing machine control software.