기관회원 [로그인]
소속기관에서 받은 아이디, 비밀번호를 입력해 주세요.
개인회원 [로그인]

비회원 구매시 입력하신 핸드폰번호를 입력해 주세요.
본인 인증 후 구매내역을 확인하실 수 있습니다.

회원가입
서지반출
DDMB 구조에서의 런타임 메모리 최적화 알고리즘
[STEP1]서지반출 형식 선택
파일형식
@
서지도구
SNS
기타
[STEP2]서지반출 정보 선택
  • 제목
  • URL
돌아가기
확인
취소
  • DDMB 구조에서의 런타임 메모리 최적화 알고리즘
저자명
조정훈,백윤흥,권수현,Cho. Jeong-Hun,Paek. Yun-Heung,Kwon. Soo-Hyun
간행물명
정보처리학회논문지. The KIPS transactions. Part A. Part A
권/호정보
2006년|5호|pp.413-420 (8 pages)
발행정보
한국정보처리학회
파일정보
정기간행물|
PDF텍스트
주제분야
기타
이 논문은 한국과학기술정보연구원과 논문 연계를 통해 무료로 제공되는 원문입니다.
서지반출

기타언어초록

대부분의 디지털 신호 처리기 (Digital Signal Processor)는 두 개 이상의 메모리 뱅크를 가지는 하버드 아키텍처 (Harvard architecture)를 지원한다. 다중 메모리 뱅크 중에서 하나는 프로그램용으로 나머지는 데이터용으로 사용하여 프로세서가 한 명령어 사이클에 메모리의 여러 데이터에 동시 접근을 가능하게 한다. 이전 연구에서 우리는 다중 메모리 뱅크에 효율적으로 데이터를 할당하는 방법에 대하여 논하였다. 본 논문에서는 이전 연구의 확장으로 런타임 메모리의 최적화에 대한 우리의 최근 연구에 대하여 소개한다. 듀얼 데이터 메모리 뱅3(Dual Data Memory Bank)를 효율적으로 이용하기 위해 각 메모리 뱅크에 할당된 변수를 관리하기 위한 독립적인 두 개의 런타임 스택이 필요하다. 프로시저에 대한 두 메모리 뱅크의 활성화 레코드(Activation Record)의 크기는 각 메모리 뱅크에 할당된 변수의 개수가 일정하지 않기 때문에 다를 수 있다. 따라서 여러 개의 프로시저가 연속으로 호출될 때 두 개의 런타임 스택의 크기가 크게 달라질 수 있다. 이러한 두 메모리 뱅크 사이의 불균형은 하나의 메모리에 여유 공간이 있음에도 불구하고 다른 하나의 메모리 뱅크의 사용량이 온칩 메모리(on-chip memory)범위를 초과하는 원인이 될 수 있다. 본 논문에서는 온칩 메모리를 효율적으로 사용하기 위해 두 런타임 스택의 균형 맞추기를 시도했다. 본 논문에서 제안하는 알고리즘은 상대적으로 단순하지만 효율적으로 런타임 메모리를 사용할 수 있다는 것을 실험결과를 통해 보여주고 있다.

기타언어초록

Most vendors of digital signal processors (DSPs) support a Harvard architecture, which has two or more memory buses, one for program and one or more for data and allow the processor to access multiple words of data from memory in a single instruction cycle. We already addressed how to efficiently assign data to multi-memory banks in our previous work. This paper reports on our recent attempt to optimize run-time memory. The run-time environment for dual data memory banks (DBMBs) requires two run-time stacks to control activation records located in two memory banks corresponding to calling procedures. However, activation records of two memory banks for a procedure are able to have different size. As a consequence, dual run-time stacks can be unbalanced whenever a procedure is called. This unbalance between two memory banks causes that usage of one memory bank can exceed the extent of on-chip memory area although there is free area in the other memory bank. We attempt balancing dual run-time slacks to enhance efficiently utilization of on-chip memory in this paper. The experimental results have revealed that although our algorithm is relatively quite simple, it still can utilize run-time memories efficiently; thus enabling our compiler to run extremely fast, yet minimizing the usage of un-time memory in the target code.