• 제목/요약/키워드: 컴파일러 개발

Search Result 183, Processing Time 0.074 seconds

A Performance Evaluation of a RISC-Based Digital Signal Processor Architecture (RISC 기반 DSP 프로세서 아키텍쳐의 성능 평가)

  • Kang, Ji-Yang;Lee, Jong-Bok;Sung, Won-Yong
    • Journal of the Korean Institute of Telematics and Electronics C
    • /
    • v.36C no.2
    • /
    • pp.1-13
    • /
    • 1999
  • As the complexity of DSP (Digital Signal Processing) applications increases, the need for new architectures supporting efficient high-level language compilers also grows. By combining several DSP processor specific features, such as single cycle MAC (Multiply-and-ACcumulate), direct memory access, automatic address generation, and hardware looping, with a RISC core having many general purpose registers and orthogonal instructions, a high-performance and compiler-friendly RISC-based DSP processors can be designed. In this study, we develop a code-converter that can exploit these DSP architectural features by post-processing compiler-generated assembly code, and evaluate the performance effects of each feature using seven DSP-kernel benchmarks and a QCELP vocoder program. Finally, we also compare the performances with several existing DSP processors, such as TMS320C3x, TMS320C54x, and TMS320C5x.

  • PDF

Register Pressure Aware Code Selection Algorithm for Multi-Output Instructions (Register Pressure를 고려한 다중 출력 명령어를 위한 개선된 코드 생성 방법)

  • Youn, Jong-Hee M.;Paek, Yun-Heung;Ko, Kwang-Man
    • The KIPS Transactions:PartA
    • /
    • v.19A no.1
    • /
    • pp.45-50
    • /
    • 2012
  • The demand for faster execution time and lower energy consumption has compelled architects of embedded processors to customize it to the needs of their target applications. These processors consequently provide a rich set of specialized instructions in order to enable programmers to access these features. Such an instruction is typically a $multi$-$output$ $instruction$ (MOI), which outputs multiple results parallely in order to exploit inherent underlying hardware parallelism. Earlier study has exhibited that MOIs help to enhance performance in aspect of instruction counts and code size. However the earlier algorithm does not consider the register pressure. So, some selected MOIs introduce register spill/reload code that increases the code size and instruction count. To attack this problem, we introduce a novel iterated instruction selection algorithm based on the register pressure of each selected MOIs. The experimental results show the suggested algorithm achieves 3% code-size reduction and 2.7% speed-up on average.

Development of a Wireless Sensor Network Node with Dual Interfaces of UHF Radio and Bluetooth (UHF-RF 및 블루투스 이중 접속 무선 센서 네트워크 노드개발)

  • Kim, Ho-Joon
    • Journal of the Korea Institute of Information and Communication Engineering
    • /
    • v.10 no.10
    • /
    • pp.1905-1913
    • /
    • 2006
  • The researches about the hardware and the software implementing ubiquitous sensor network have great rush in recent years. This paper deals the development of a sensor node with the dual interface which also has an RF wireless interface while has an Bluetooth interface used widely in present. This sensor node includes a Atmeg32 microcontroller, a Bluetooth module, a RF module. a temperature-humidity sensor. and I also develop the F/Ws controlling each modules with C language using GCC compiler. The sensor node developed can reaches 15m with Bluetooth interface and 60m with RF interface. It works stably with the voltage above 5V and it consumes currents 21mA average in idle mode, 63mA average in active mode.

Detecting Security Vulnerabilities in TypeScript Code with Static Taint Analysis (정적 오염 분석을 활용한 타입스크립트 코드의 보안 취약점 탐지)

  • Moon, Taegeun;Kim, Hyoungshick
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.31 no.2
    • /
    • pp.263-277
    • /
    • 2021
  • Taint analysis techniques are popularly used to detect web vulnerabilities originating from unverified user input data, such as Cross-Site Scripting (XSS) and SQL Injection, in web applications written in JavaScript. To detect such vulnerabilities, it would be necessary to trace variables affected by user-submitted inputs. However, because of the dynamic nature of JavaScript, it has been a challenging issue to identify those variables without running the web application code. Therefore, most existing taint analysis tools have been developed based on dynamic taint analysis, which requires the overhead of running the target application. In this paper, we propose a novel static taint analysis technique using symbol information obtained from the TypeScript (a superset of JavaScript) compiler to accurately track data flow and detect security vulnerabilities in TypeScript code. Our proposed technique allows developers to annotate variables that can contain unverified user input data, and uses the annotation information to trace variables and data affected by user input data. Since our proposed technique can seamlessly be incorporated into the TypeScript compiler, developers can find vulnerabilities during the development process, unlike existing analysis tools performed as a separate tool. To show the feasibility of the proposed method, we implemented a prototype and evaluated its performance with 8 web applications with known security vulnerabilities. We found that our prototype implementation could detect all known security vulnerabilities correctly.

Design and Implementation of ASN.1/GDMO Development Environment for TMN (TMN을 위한 ASN.l/GDMO 통합 환경 설계 구현)

  • Kim, Young-Chul
    • The KIPS Transactions:PartC
    • /
    • v.11C no.4
    • /
    • pp.463-470
    • /
    • 2004
  • ASN.1/GDMO is the management object used in network management of TMN(Telecommunication Management of Network). However, ASN.1/GDMO is not directly used for managing the network, but translated Into a language with object-oriented paradigm. Therefore we need a development environment for handling ASN.1/GDMO. In this paper we present an integrated development environment(IDE) which consists of an editor and a browser. A user manages ASN.1/GDMO elements with GUI. The IDE is implemented with FLEX and BYACC in UNIX. And Objectivity DB is used as the DB and Tcl/Tk is used for developing GUI. This paper shows how the integrated environment of ASN.1 and GDMO works, and that it enables to manage efficiently the network.

An Efficient Loop Splitting Method on Single Loop with Non-uniform Dependences (비균일 단일루프에서의 효율적인 루프 분할 방법)

  • Jeong Sam-Jin
    • The Journal of the Korea Contents Association
    • /
    • v.5 no.4
    • /
    • pp.204-211
    • /
    • 2005
  • This paper introduces three loop splitting methods such as minimum dependence distance method, Polychronopoulous' method, and first dependence method for exploiting parallelism from single loop which already developed. And it also Indicates their several problems. We extend the first dependence method which is the most effective one among three loop splitting methods, and propose more powerful loop splitting method to enhance parallelism on single loop. The proposed algorithm solves several problems, such as anti-flow dependence and g=gcd(a,c) > 1, that the first dependence method has.

  • PDF

Optimization Technique for Vertex Programming on Programmable GPU (프로그래밍이 가능한 GPU 상에서의 버텍스 프로그래밍의 최적화 기법)

  • Oh, Jinsang;Ihm, Insung
    • Journal of the Korea Computer Graphics Society
    • /
    • v.8 no.3
    • /
    • pp.25-34
    • /
    • 2002
  • 최근 프로그래밍이 가능한 그래픽스 프로세서(GPU)의 등장은 렌더링 속도의 향상은 물론 기존의 GPU가 할 수 없었던 다양한 그래픽스 계산을 효과적으로 수행할 수 있도록 해주고 있다. 이로 인하여 기존에 CPU 상에서 수행해야만 했던 그래픽스 계산들의 일부를 GPU 상에서 수행하도록 해주는 기법들에 대한 연구가 활발히 진행되고 있다. 본 논문에서는 선형식에 기반을 둔 여러 응용 문제들을 GPU 상에서 효율적으로 구현할 수 있도록 도와주는 쉐이더 코드 최적화 기법을 제안한다. 이 기법은 SIMD 형태의 병렬 처리 능력을 가진 버텍스 쉐이더의 명령어에 맞게 고안되었다. 본 기법의 활용 가능성을 보이기 위하여 미분 방정식을 풀기 위한 4차 런지-쿠타 방법, 선형방정식을 풀기 위한 가우스-자이델 방법, 자연스러운 유체 모델링을 위한 파동 방정식 등의 문제에 적용하여 보았다. 본 논문에서 제안한 최적화 기법은 버텍스 쉐이더 용 컴파일러 구현에 쓰일 수 있으며, 향후 프로그래밍이 가능한 GPU 상에서의 실시간 그래픽스 소프트웨어 개발에 유용하게 사용될 수 있을 것이다.

  • PDF

An Implementation of Data and State Table Generator for Digital System (디지털 시스템의 데이터 및 상태표 생성기 구현)

  • 조성국;이명호
    • Journal of the Korea Society of Computer and Information
    • /
    • v.3 no.2
    • /
    • pp.19-27
    • /
    • 1998
  • The digital system is consisted of control subsystem and data subsystem. On this Thesis, after defining the hardware description languages and hardware compiler based on this, We have designed the tools which created data and state table using of register transfer algorithm. As a major language selected C and then as subtools, developed all these making use of Lex and YACC of Unix.

  • PDF

Tracking Sensitive Data Source for Secret Information Protection (보안 정보 보호를 위한 프로그램 데이터 근원 분석)

  • Ahn, Sun-Woo;Shin, Jang-Seop;Bang, In-Young;Paek, Yun-Heung
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2016.10a
    • /
    • pp.426-428
    • /
    • 2016
  • 컴퓨터 시스템은 악성 프로그램 또는 프로그램의 취약점을 통한 해커의 공격 등 위험에 항시 노출되어 있다. 따라서 이러한 컴퓨터 시스템에서 처리되는 보안적으로 중요한 데이터는 언제나 노출될 위험이 있다. 이 문제를 해결하기 위해 보안적으로 중요한 데이터의 처리 과정을 다른 프로그램 부분과 분리하여 다른 프로그램 부분의 취약점을 통해 해당 데이터까지 위험에 노출되는 것을 막으려는 연구들이 있다. 이러한 연구들에서 필요한 것은 보안적으로 중요한 데이터가 프로그램 상에서 처리되는 시작점을 찾고, 해당 데이터가 처리되는 부분을 분석하는 것이다. 본 연구에서는 그 중 첫 번째 문제를 자동적으로 풀기 위한 컴파일러 기반 분석 도구를 개발하였다.

An Executable File Format for Virtual Machine (가상 기계를 위한 실행 파일 포맷)

  • Cheong, Han-Jong;Yum, Sung-Lim;Oh, Se-Man
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11b
    • /
    • pp.647-650
    • /
    • 2003
  • 가상 기계 개념은 목적 기계에 영향을 받지 않는 컴파일러의 중간언어로부터 시작되었다. 즉, 기존에는 실행 프로그램이 하드웨어와 운영체제에 종속적이었으나 가상 기계는 플랫폼 독립을 가능하게 한다. 임베디드 시스템이란 전용 동작을 수행하거나 또는 특정 임베디드 소프트웨어 응용 프로그램과 함께 사용되도록 디자인된 특정 컴퓨터 시스템 또는 컴퓨팅 장치를 말한다. 임베디드 시스템을 위한 가상 기계 기술은 모바일 장치와 디지털-TV 등에 탑재할 수 있는 핵심 기술과 다운로드 솔루션을 이용한 동적인 실행 기술이 요구된다. 또한 컨텐츠 개발을 쉽게 하기 위해서 다양한 언어를 지원하고 언어들 간의 통합이 가능하다. 본 논문에서는 클래스 파일 포맷, PE 파일 포맷 등 기존의 가상 기계를 위한 파일 포맷들의 분석을 기반으로 하여 임베디드 시스템을 위한 실행 파일 포맷인 EVM 파일 포맷을 제안한다. EVM 파일 포맷은 언어 통합을 지원하고 구조가 간결하며 확장이 용이한 특징을 지닌다. 또한 메타데이터와 중간언어(SIL)가 서로 독립적으로 구성되어 분석이 쉽고 타입 체크가 괸리한 구조이다.

  • PDF