• 제목/요약/키워드: 주소 포인터 할당

검색결과 4건 처리시간 0.017초

DSP용 코드 생성에서 주소 포인터 할당 성능 향상 기법 (Improvement of Address Pointer Assignment in DSP Code Generation)

  • 이희진;이종열
    • 전자공학회논문지CI
    • /
    • 제45권1호
    • /
    • pp.37-47
    • /
    • 2008
  • DSP에서 제공되는 주소 생성 유닛은 데이터 패스와 병렬적으로 주소 연산을 수행할 수 있게 해 줌으로써, DSP 코드 생성에 중요한 역할을 한다. 프로그램 변수들의 메모리 레이아웃을 결정하는 문제는 주소 생성 유닛의 기능을 이용하여 주소 연산용 명령어를 줄이는 최적화이다. 메모리 레이아웃 생성 단계와 주소 포인터 할당 단계로 구분 되는 이 최적화에서 본 논문은 주소 연산 코드의 수가 최소가 되도록 DSP용 코드 생성의 효과적인 주소 포인터 할당 문제를 다룬다. 제안하는 알고리즘은 고정된 메모리 레이아웃을 가질 때 주소 포인터 할당을 수행하는 기존의 알고리즘의 시간 복잡도를 줄이는 기법이다. 메모리 크기와 수행 시간을 줄이기 위해 알고리즘을 수행할 때 핵심적인 요소들만을 고려하도록 강한 가지치기 방법을 사용하였다. 또한 주소 포인터 할당 문제는 메모리 레이아웃에 영향을 크게 받는 문제이기 때문에 본 논문은 주어진 메모리 레이아웃을 갱신하여 반복적으로 성능을 개선하는 방법을 제안한다. 약 3,000여개의 실제 프로그램으로부터 얻은 변수 접근 시퀀스를 제공하는 OffsetStone 벤치마크를 이용한 실험결과를 통해 본 논문에서 제안한 기법과 알고리즘을 테스트 했다. 제안한 방법은 전통적인 방법보다 평균 25.9%의 적은 주소 코드를 생성해 냄을 보인다.

힙 공격으로부터 방어를 위한 데이터 포인터 인코딩 (Data Pointer Encoding for Defense against Heap Attack)

  • 김경태;표창우
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(C)
    • /
    • pp.550-553
    • /
    • 2010
  • 버퍼 오버플로우의 공격은 스택의 영역뿐만 아니라 데이터 세그먼트나 힙 영역에서도 다양한 형태가 가능하다. 이 논문은 힙 영역에 대한 동적 메모리 할당 함수의 취약점 공격을 방지하는 방안을 제시한다. 제안된 방법은 데이터 포인터의 값을 암호화 하여 저장하고, 참조할 때 복호화 한다. 힙 공격은 원하는 주소에 원하는 값을 기록할 수 있게 하기 때문에 데이터 변수 또는 포인터 공격에 활용될 수 있다. 데이터 포인터 암호화는 아직 알려지지 않은 데이터 포인터와 변수에 대한 공격까지 방어할 수 있을 것으로 예상된다.

  • PDF

임베디드 시스템에서 DSP를 위한 메모리 접근 변수 저장의 최적화 ILP 알고리즘 (An Optimal ILP Algorithm of Memory Access Variable Storage for DSP in Embedded System)

  • 장정욱;인치호
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제2권2호
    • /
    • pp.59-66
    • /
    • 2013
  • 본 논문에서는 임베디드 시스템에서 DSP를 위한 메모리 접근 변수의 저장 방법에 대한 최적화 ILP 알고리즘을 제안하였다. 본 논문은 0-1 ILP 공식을 이용하여 DSP 주소 생성 유닛의 메모리 변수 데이터 레이아웃을 최소화한다. 제약 조건을 기반으로 변수의 메모리 할당 여부를 식별하고, 변수가 지시하는 주소코드를 프로그램 포인터에 등록한다. 프로그램의 처리 순서가 프로그램 포인터에 선언되면, 해당 변수의 주소코드에 대한 자동증감 모드를 적용한다. 주소 레지스터에 대한 로드를 최소화하여 변수의 데이터 레이아웃을 최적화한다. 본 논문에서 제안한 알고리즘의 효율성을 입증하기 위하여 FICO Xpress-MP Modeling Tools을 이용하여 벤치마크에 적용하였다. 벤치마크 적용 결과, 기존의 선언적 주문 메모리 레이아웃보다 제안한 알고리즘을 적용한 최적의 메모리 레이아웃이 주소/수정 레지스터에 대한 로드 수를 감소시켰고, 주소코드의 접근을 줄임으로써, 프로그램의 실행 시간을 단축시켰다.

태그 옮기기에 의한 G-machine 그래프의 압축 (Compressing the Graphis in G-machine by Tag-Forwarding)

  • 우균;한태숙
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제26권5호
    • /
    • pp.702-712
    • /
    • 1999
  • 지연 함수형 언어를 효율적으로 구현하기 위한 한 방법으로 G-machine이 제안되었다. G-machine은 그래프 축약을 빠르게 수행하지만, 축약 과정의 그래프를 저장하기 위해 많은 기억장소를 필요로 한다. 이는 그래프 축약 방법자체의 문제점으로 생각된다. 이 논문에서는 그래프 노드의 태그를 옮김으로써 기억장소의 그래프 구조를 압축할수 있는 방법을 제안한다. 노드의 태그는 그 노드를 가리키는 포인터 자리로 옮겨지는데, 포인터 정보의 유지하기 위해 상대주소와 합쳐져 함께 옮겨진다. 태그 옮기기는 그래프 구성 노드를 힙에 동시에 할당할수 있을 때 가능하다. 그러나, 일반적으로 그래프의 일부가 전체 그래프가 생성되기 이전에 생성될 수 있으므로, 이러한 태그 옮기기가 항상 가능한 것은 아니다. 그렇지만, 태그 옮기기에 의해서 어느 정도의 힙 사용량을 줄일 수있다. 태그 옮기기에 의해 그래프를 압축했을 때 압축된 그래프를 해석하기위한 수행시간의 부담이 생기게 되는데, 이 부담정도를 알아보기 위해 몇몇 작은 프로그램에 대해서 실험결과를 보였다. 실험결과에 따르면, 태그 옮기기를 수행한 결과, 총 힙 사용량은 평균 약 305 감소하였고, 이로 인한 수행시간은 원래의 G-machine과 비슷한 수준인 것으로 나타났다.