• 제목/요약/키워드: Instruction code

검색결과 145건 처리시간 0.024초

Code-Reuse Attack Detection Using Kullback-Leibler Divergence in IoT

  • Ho, Jun-Won
    • International journal of advanced smart convergence
    • /
    • 제5권4호
    • /
    • pp.54-56
    • /
    • 2016
  • Code-reuse attacks are very dangerous in various systems. This is because they do not inject malicious codes into target systems, but reuse the instruction sequences in executable files or libraries of target systems. Moreover, code-reuse attacks could be more harmful to IoT systems in the sense that it may not be easy to devise efficient and effective mechanism for code-reuse attack detection in resource-restricted IoT devices. In this paper, we propose a detection scheme with using Kullback-Leibler (KL) divergence to combat against code-reuse attacks in IoT. Specifically, we detect code-reuse attacks by calculating KL divergence between the probability distributions of the packets that generate from IoT devices and contain code region addresses in memory system and the probability distributions of the packets that come to IoT devices and contain code region addresses in memory system, checking if the computed KL divergence is abnormal.

파이프라인 아키텍쳐를 위한 코드 스케쥴링 알고리듬 (A Code Scheduling Algorithm for Pipelined Architecture)

  • 김은성;임인칠
    • 대한전자공학회논문지
    • /
    • 제25권7호
    • /
    • pp.746-758
    • /
    • 1988
  • This paper proposes a code scheduling algorithm which gives a software solution to the pipeline interlock. This algorithm provides a heuristic solution by recordering the instructions, instead of using hardware interlock mechanism when pipeline interlock prevents the execution of a machine instruction in a pipelined architecture. Program code size and overall execution time can be reduced due to the increased flexibility in the selection of instructions, which is possible from the alleviated ordering restriction on the use of conflict resources.

  • PDF

OpenGL ES 2.0 기반 셰이더 명령어 병렬 처리를 위한 컴파일 기법 (OpenGL ES 2.0 based Shader Compilation Method for the Instruction-Level Parallelism)

  • 김종호;김태영
    • 한국게임학회 논문지
    • /
    • 제8권2호
    • /
    • pp.69-76
    • /
    • 2008
  • 본 논문에서는 최근 경향의 3D 그래픽 프로세서 아키텍처를 분석하여 모바일 환경에 적합한 프로세서 및 명령어 형식을 제시한다. 또한 모바일 환경에서의 3D 그래픽스 표준안인 OpenGL ES 2.0 명세에 따르는 컴파일 방식을 바탕으로 온/오프라인 방식의 세이더 프로그램 컴파일 구조 및 방법을 제시하고, 모바일 환경에 적합성을 고려한 다중 명령어 기반의 코드 생성 방법과 새로운 ILP(Instruction-Level Parallelism) 최적화 기법을 제시한다. 본 논문에서 제시하는 컴파일 구조 및 기법을 통하여 생성된 세이더 명령어는 동일한 코어 클럭을 가지는 프로세서에서 단일 명령어 기반 코드보다 약 1.5$\sim$2배 빠른 연산 처리결과를 보여준다.

  • PDF

Fine-Grain Real-Time Code Scheduling for VLIW Architecture

  • Chung, Tai M.;Hwang, Dae J.
    • Journal of Electrical Engineering and information Science
    • /
    • 제1권1호
    • /
    • pp.118-128
    • /
    • 1996
  • In safety critical hard real-time systems, a timing fault may yield catastrophic results. In order to eliminate the timing faults from the fast responsive real-time control systems, it is necessary to schedule a code based on high precision timing analysis. Further, the schedulability enhancement by having multiple processors is of wide spread interest. However, although an instruction level parallel processing is quite effective to improve the schedulability of such a system, none of the real-time applications employ instruction level parallel scheduling techniques because most of the real-time scheduling models have not been designed for fine-grain execution. In this paper, we present a timing constraint model specifying high precision timing constraints, and a practical approach for constructing static schedules for a VLIW execution model. The new model and analysis can guarantee timing accuracy to within a single machine clock cycle.

  • PDF

HARP의 파이프라인 설계

  • 김강철;이장선
    • ETRI Journal
    • /
    • 제10권3호
    • /
    • pp.24-35
    • /
    • 1988
  • 본 논문은 한국전자통신연구소에서 개발하고 있는 RISC 형태의 32비트 프로세서인 HARP(High-performance Architecture for Risc-type Processor)의 파이프라인 설계와 익셉션 처리 방법에 관한 것이다. HARP의 파이프라인은 명렁어 페치의 병목현상을 해결하기 위하여 중첩된 메모리 액세스 방법을 사용하며 이는 5단계로 구성된다. 그리고 명령어 동시 수행으로 인해 발생하는 자원 충돌을 해결하기 위하여 bypassing logic, instruction fetch unit 및 code-reorganizer를 사용한다. 명령어 수행시 파이프라인 상에서 발생하는 익셉션에 대해서는 익셉션 처리의 복잡성을 피하기 위하여 instruction restart 방법을 사용한다.

  • PDF

임베디드 응용 프로그램 성능 분석 (Performance Analysis of Embedded Applications)

  • 김선욱;오재근;한영선;최홍욱;김철우
    • 대한전자공학회:학술대회논문집
    • /
    • 대한전자공학회 2003년도 하계종합학술대회 논문집 Ⅲ
    • /
    • pp.1355-1358
    • /
    • 2003
  • This paper presents performance analysis of the embedded application, called EEMBC consisting of 5 categories and total 34 applications. We measured various performance metrics, such as code sizes, TLP(Thread Level Parallelism) using OpenMP API and ILP(Instruction Level Parallelism) on ARM-modeled SimpleScalar in detail. We show that the embedded applications have the similar characteristics as integer applications to deliver low ILP and TLP in our environment. They have many small loops, which result in large instruction overhead in TLP and loop control overhead in ILP.

  • PDF

Code Generation and Optimization for the Flow-based Network Processor based on LLVM

  • Lee, SangHee;Lee, Hokyoon;Kim, Seon Wook;Heo, Hwanjo;Park, Jongdae
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2012년도 추계학술발표대회
    • /
    • pp.42-45
    • /
    • 2012
  • A network processor (NP) is an application-specific instruction-set processor for fast and efficient packet processing. There are many issues in compiler's code generation and optimization due to NP's hardware constraints and special hardware support. In this paper, we describe in detail how to resolve the issues. Our compiler was developed on LLVM 3.0 and the NP target was our in-house network processor which consists of 32 64-bit RISC processors and supports multi-context with special hardware structures. Our compiler incurs only 9.36% code size overhead over hand-written code while satisfying QoS, and the generated code was tested on a real packet processing hardware, called S20 for code verification and performance evaluation.

루프를 효과적으로 처리하는 PASC 프로세서 구조 (PASC Processor Architecture for Enhanced Loop Execution)

  • 지승현;박노광;전중남;김석일
    • 한국정보처리학회논문지
    • /
    • 제6권5호
    • /
    • pp.1225-1240
    • /
    • 1999
  • This paper proposes PASC(PArtitioned SCHeduler) processor architecture that equips with a number of functional unit and an individual scheduler paris. Every scheduler of the PASC processor can determine whether a unit instruction can be issued to the associated functional unit or it is to be waited until next cycle caused by a resource collision or data dependencies. In the PASC processor, only the functional unit with a resource collision or data dependencies waits by executing a NOP(No OPeration) instruction and the other functional units execute their own instructions. Therefore we can expect the code compaction effect on the PASC processor. Thus, the last instruction of a loop at certain iteration and the very first instruction of the loop at the next iteration can be scheduled simultaneously if the two instructions do not incur any resource collision or data dependencies. Therefore, we can expect that such two instructions without any resource collision and data dependencies are packed into the same very long instruction word and thus, the two instructions are executed concurrently at run time. As a result, we can shorten execution cycles of a loop comparing to the execution of the loop on a traditional VLIW or SVLIW processor architecture. Simulation result also promises faster execution of loops on a PASC processor architecture than those on a VLIW and SVLIW processor architecture.

  • PDF

임베디드 코어 설계시 효율적인 설계 공간 탐색을 위한 컴파일드 코드 방식 시뮬레이터 생성 시스템 구축 (Construction of a Compiled-code Simulator Generation System for Efficient Design Exploration in Embedded Core Design)

  • 김상우;황선영
    • 한국통신학회논문지
    • /
    • 제36권1B호
    • /
    • pp.71-79
    • /
    • 2011
  • 본 논문은 어플리케이션에 최적화된 임베디드 시스템 설계에 있어 효율적인 설계 공간을 탐색할 수 있도록 머신 기술 언어를 기반으로 한 컴파일드 코드 방식 시뮬레이터 생성 시스템을 제안한다. 제안된 시스템 event-driven 시뮬레이션의 융통성을 유지하면서 많은 시뮬레이션 시간을 소요하는 인스트럭션 펫치와 디코딩 과정을 정적으로 결정하여 빠른 수행시간을 갖는 컴파일드 코드 방식 시뮬레이터를 생성한다. 생성된 시뮬레이터는 임베디드 코어의 성능 측정을 위한 사이클 수준과 인스트럭션 수준의 시뮬레이션을 가진다. 구축된 컴파일드 코드 방식 시뮬레이터 생성기의 효율성을 확인하기 위해 JPEG 인코더 어플리케이션에 대한 아키텍처 탐색을 수행하였다. 제안된 시스템은 MIPS R3000 프로세서의 초기 임베디드 코어로 시작하여 어플리케이션에 최적화된 임베디드 코어를 얻어내었다. 이 과정에서 많은 시뮬레이션 시간이 요구되었다. 사이클 수준 컴파일드 코드 빙식 시뮬레이터는 event-driven 시뮬레이션의 정확성을 가지며 평균 21.7%의 향상된 시뮬레이션의 수행 속도를 보인다.

실행 제어 명령어의 목적 주소 검증을 통한 소프트웨어 공격 탐지 기법 (Software Attack Detection Method by Validation of Flow Control Instruction’s Target Address)

  • 최명렬;박상서;박종욱;이균하
    • 정보처리학회논문지C
    • /
    • 제13C권4호
    • /
    • pp.397-404
    • /
    • 2006
  • 소프트웨어 공격이 성공하기 위해서는 공격 코드가 프로그램의 주소 공간에 주입된 후 프로그램의 제어 흐름이 공격 코드 위치로 변경되어야 한다. 프로그램의 주소 공간 중 코드 영역은 실행 중에 변경이 불가능하므로 공격 코드가 주입될 수 있는 곳은 데이터 영역 밖에 없다. 따라서 데이터 영역으로 프로그램의 제어가 변경될 경우 주입된 공격 코드로 제어가 옮겨 가는 공격이 발생한 것으로 판단할 수 있다. 따라서 본 논문에서는 프로그램의 제어 흐름과 관련된 CALL, JMP, RET 명령어의 목적 주소를 검사하여 제어가 옮겨갈 목적 주소가 프로그램의 실행 코드가 저장된 텍스트 영역이 아닌 데이터 영역일 경우 소프트웨어 공격이 발생한 것으로 간주하는 소프트웨어 공격 탐지 기법을 제안하였다. 제안된 방법을 이용하면 함수의 복귀주소뿐만 아니라 함수포인터, longjmp() 버퍼 등 프로그램 제어 흐름과 관련된 모든 데이터가 변경되었는지 점검할 수 있었기 때문에 기존 기법들보다 더 많은 종류의 공격을 탐지할 수 있었다.