KR100912114B1 - 디지털 신호처리 프로세서에서 효과적인 데이터 전송을위한 메모리 운용 방법 - Google Patents

디지털 신호처리 프로세서에서 효과적인 데이터 전송을위한 메모리 운용 방법 Download PDF

Info

Publication number
KR100912114B1
KR100912114B1 KR1020070114425A KR20070114425A KR100912114B1 KR 100912114 B1 KR100912114 B1 KR 100912114B1 KR 1020070114425 A KR1020070114425 A KR 1020070114425A KR 20070114425 A KR20070114425 A KR 20070114425A KR 100912114 B1 KR100912114 B1 KR 100912114B1
Authority
KR
South Korea
Prior art keywords
memory
interference graph
variables
operand
signal processing
Prior art date
Application number
KR1020070114425A
Other languages
English (en)
Other versions
KR20080051053A (ko
Inventor
김익균
신경선
조한진
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Publication of KR20080051053A publication Critical patent/KR20080051053A/ko
Application granted granted Critical
Publication of KR100912114B1 publication Critical patent/KR100912114B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/345Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes of multiple operands or results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Abstract

본 발명은 두 개의 X-Y 메모리를 사용하는 디지털 신호처리 프로세서(DSP)에서 간섭 그래프를 이용해 피연산자를 메모리에 효과적으로 할당하여 연산기에서 메모리 액세스에 따른 오버헤드의 감소시켜 처리 속도를 향상시키기 위한 메모리 운용 방법에 관한 것으로, 적어도 두 개의 메모리에 피연산자 변수들이 저장되어 연산을 수행하는 디지털 신호처리 프로세서에서의 메모리 운용 방법에 있어서, (a) 연산 명령을 해석하여 피연산자 변수들간의 연산 관계에 따른 간섭 그래프를 생성하는 단계; 및 (b) 상기 생성된 간섭 그래프로부터 획득된 각 집합에 속하는 피연산자 변수들이 동일 메모리에 할당되도록 제어하는 단계를 포함한다.
디지털, 신호, 처리, 프로세서, DSP, 메모리, 운용, 할당, 변수

Description

디지털 신호처리 프로세서에서 효과적인 데이터 전송을 위한 메모리 운용 방법{A Memory Assignment Method for X-Y Data Transfer}
본 발명은 디지털 신호처리 프로세서(DSP: Digital Signal Processor)에서 효과적인 데이터 전송을 위한 메모리 운용 방법에 관한 것으로, 더욱 상세하게는 두 개의 X-Y 메모리를 사용하는 디지털 신호처리 프로세서(DSP)에서 간섭 그래프를 이용해 피연산자를 메모리에 효과적으로 할당하여 연산기에서 메모리 액세스에 따른 오버헤드의 감소시켜 처리 속도를 향상시키기 위한 메모리 운용 방법에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT전략기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2005-S-078-02, 과제명: 저전력 그래픽처리 SoC Platform].
디지털 신호처리 프로세서(DSP)는 실시간 신호 처리를 고속으로 행하는 것을 목적으로 만들어진 프로세서로, 다양한 분야에서 이용되고 있다.
디지털 신호처리 프로세서(DSP)를 이용해 실시간 신호 처리를 실현하는 경우에는 가능한 한 효율이 좋은(실행시간이 짧은) 프로그램을 작성하지 않으면 안된다. 그러나, 자원의 제약이나 특수한 명령 형식의 존재에 의해, DSP의 성능을 최대한 살린 효율이 좋은 DSP 코드를 얻기 위해서는 어셈블러를 이용하여 기술하는 경우가 많다. 어셈블러로 기술하는 것은 프로그램에 걸린 부담이 크고, DSP의 성능을 최대한 살려 코드를 생각하면서 프로그래밍을 하는 것은 대단히 어렵다. 그래서, 프로그래밍 지식이 풍부하지 않더라도 프로그램을 쉽게 작성할 수 있는 컴파일러의 개발은 대단히 중요한 과제이다.
많은 DSP에 있어서는, 연산기에 피연산자(operand)를 주는 수단으로서 X-Y 데이터 전송 방식을 채택하고 있다. 이 X-Y 데이터 전송 방식을 가진 DSP는, X 메모리, Y 메모리로 불리는 2개의 메모리를 가지고, 2 변수를 동시에 연산기에 전송할 수 있다. 그러나. 이때 피연산자(operand) 변수를 적절하게 할당하지 않으면 메모리 액세스에 따르는 오버헤드를 만들어 처리속도가 떨어진다.
도 1은 본 발명이 적용되는 디지털 신호처리 프로세서(DSP)의 개략적인 구조를 설명하기 위한 도면으로, 디지털 신호처리 프로세서(DSP)는 X 메모리와, Y 메모리와, 선택기와 연산기를 포함한다.
X-Y 데이터 전송은 X 메모리와 Y 메모리로 구성되는 2개의 메모리를 가지고, 1명령 사이클 동안에, DSP 레지스터와 내장 메모리와의 사이에 최대 2개의 데이터를 동시에 연산기로 전송하는 것을 말한다. 싱글 데이터 전송이라 불리는 1명령 사이클에 1 데이터 전송도 있지만, 이에 비하여 1명령 사이클에 2개의 데이터 전송이 가능한 X-Y 데이터 전송을 이용한 경우 코드 자체의 효율이 좋다. 그 때문에 X-Y 데이터 전송을 효과적으로 실현할 수 있는 메모리 할당 방법이 중요한 과제 중 하나이다.
X-Y 데이터 전송 명령은 전송 가능한 메모리 영역에 제약이 있고, X-Y 데이터 전송을 이용한 연산을 행하기 위해서는 그 피연산자(operand)로 되는 2 변수가 X 메모리와 Y 메모리에 별도로 격납되어 있을 필요가 있다. 효율적으로 변수를 메모리에 할당하지 않으면 병렬 전송이란 장점을 살릴 수 없기 때문에, 많은 싱글 데이터 전송이 필요하게 된다. 결국 메모리 액세스에 따른 오버헤드가 발생된다.
예를 들어, 피연산자(operand)로 되는 2 변수가 동일한 메모리에 있는 경우, 한 번에 한 개의 변수만 전송이 가능하다. 그러므로, 다른 피연산자 변수 Y를 전송하기 위해 싱글 데이터 전송이 필요하게 된다. 그에 비하여 피연산자 변수가 별도의 메모리에 격납되어 있는 경우, X-Y 데이터 전송명령을 이용할 수 있다.
이상에서 설명한 바와 같이 1 쌍의 피연산자(operand)로 되는 2 변수를 메모리로부터 읽어 올 때에, 피연산자의 메모리 할당이 적절하지 않을 경우에는, 1 명령 사이클의 지연이 발생된다. 그리고, 이 지연은 많은 연산처리에 있어서 무시할 수 없는 오버헤드로 되기 때문에 X-Y 데이터 전송을 효과적으로 이용할 수 있는 메모리 할당이 필요하게 된다.
따라서, 본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 제안된 것으로, 두 개의 X-Y 메모리를 사용하는 디지털 신호처리 프로세서(DSP)에서 간섭 그래프를 이용해 피연산자를 메모리에 효과적으로 할당하여 연산기에서 메모리 액세스에 따른 오버헤드의 감소시켜 처리 속도를 향상시키기 위한 메모리 운용 방법을 제공하는데 그 목적이 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명은, 적어도 두 개의 메모리에 피연산자 변수들이 저장되어 연산을 수행하는 디지털 신호처리 프로세서에서의 메모리 운용 방법에 있어서, (a) 연산 명령을 해석하여 피연산자 변수들간의 연산 관계에 따른 간섭 그래프를 생성하는 단계; 및 (b) 상기 생성된 간섭 그래프로부터 획득된 각 집합에 속하는 피연산자 변수들이 동일 메모리에 할당되도록 제어하는 단계를 포함한다.
또한 본 발명은, 적어도 두 개의 메모리에 피연산자 변수들이 저장되어 연산을 수행하는 디지털 신호처리 프로세서에서의 메모리 운용 방법에 있어서, (a) 연산 명령을 해석하여 피연산자 변수들간의 연산 관계에 따른 간섭 그래프를 생성하 는 단계; (b) 상기 생성된 간섭 그래프의 결과로부터 홀수 폐루프를 탐색하는 단계; (c) 상기 홀수 폐루프가 존재하지 않으면, 상기 생성된 간섭 그래프로부터 획득된 각 집합에 속하는 피연산자 변수들이 동일 메모리에 할당되도록 제어하는 단계; (d) 상기 홀수 폐루프가 존재하면, 삭제될 변을 결정하는 단계; (e) 상기 결정된 삭제될 변의 피연산자 변수들을 동일 메모리에 저장되도록 제어하는 단계; 및 (f) 삭제되지 않은 변의 피연산자 변수들을 서로 다른 메모리에 저장되도록 제어하는 단계를 포함한다.
상기와 같은 본 발명에 따른 효과를 설명하기 위해 데이터 전송 명령 사이클 수의 평가를 수행하였다. 예로서, 변수끼리의 연산관계가 복잡하게 되어 직교사영(orthogonal trajectory) 알고리즘 등에 쓰이는 행렬연산 ATA를 이용하여, A가 5행 5열, 8행 8열 두 경우를 들어, 피연산자가 한쪽 메모리 만에 격납된 경우와 본 발명에 의한 할당을 행한 경우의 결과에 대하여, 데이터 전송 코드 수를 비교하였다. 그 결과는 표 1과 같다. 표 1을 통해 알 수 있는 바와 같이 본 발명에 의하면, 두 개의 메모리에 피연산자의 변수를 효과적으로 할당함으로써, 메모리 액세스에 따른 오버헤드를 매우 감소시킬 수 있다.
한쪽 메모리에 할당 본 발명
5 행 5 열 250 220
8 행 8 열 1024 896
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
본 발명은 X-Y 데이터 전송에 유효한 메모리 할당 방법을 제시한다. 우선, 본 발명은 피연산자(operand)로 되는 두 변수를 결합한 간섭 그래프로부터 메모리 할당을 위한 기본적인 변수들의 할당 메모리를 정식화하고, 얻어진 그래프가 2부 그래프이면, X-Y 데이터 전송에 최적인 메모리 할당이 수행되는 과정을 설명한다. 그리고 본 발명은 간섭 그래프가 2부 그래프가 아닌 경우에는, 적절한 변을 삭제하고 2부 그래프를 얻는 알고리즘을 제시한다. 여기서 적절한 변을 삭제할 때, 0-1 정수계획법칙을 이용한다.
먼저, 도 2 및 도 3을 참조하여 간섭 그래프에 대해 설명한다.
X 메모리와 Y 메모리 각각에 피연산자 변수를 할당하기 위해서, 피연산자(operand)로 되는 2 변수를 결합한 그래프를 정의한다. 이 그래프를 간섭 그래프라 한다. 이 그래프를 이용하여 변수의 메모리 할당을 결정한다.
간섭 그래프를 G=(V,E)의 정의한다.
(1) 꼭지점 V는 메모리에 할당할 변수에 대응한 꼭지점의 집합이다.
(2) 변 E는 무향변의 집합으로, 꼭지점 u, vV 사이에 연산이 존재할 경우에 변 (u, v) E로 정의된다.
(3) 각 변의 수를 그 변의 코스트 C로 하고 꼭지점 간의 연산 횟수를 나타낸다.
예를 들어, A × B = F, D × C = H, A × C = G, E × H = I에 대한 연산 예는 도 2와 같이 표시할 수 있다. 그리고, 도 2와 같이 표시된 연산에 대한 간섭 그래프는 도 3과 같이 표시할 수 있다.
변에 의해 결합된 변수는 X-Y 데이터 전송에서의 한 쌍의 피연산자(operand)로 되는 변수 조합으로, 효율이 좋은 전송을 위해서는 변의 양단의 꼭지점이 다른 메모리에 격납되는 것이 바람직하다. 도 3에서는 A와 D 피연산자가 동일 메모리에 격납되고, B와 C 피연산자가 동일 메모리에 격납되면 좋다. 그리고 피연산자 E는 어떤 메모리에도 격납될 수 있다.
간섭 그래프가 2부 그래프로부터 될 경우에는 도 4에 도시된 바와 같이 꼭지점은 사이에 변을 포함하지 않는 집합 VxVy로 나눌 수 있다. 그 때문에 동일 메모리에 피연산자 쌍이 저장되지 않는 것으로 되어, X 메모리와 Y 메모리에 피연산자의 할당을 이 집합에 따라 행하는 것으로 효율 좋은 연산이 가능하다.
도 5에서 (a)는 짝수 폐루프에 대한 예를 나타낸 것이고, (b)는 홀수 폐루프에 대한 예를 나타낸 것이다.
도 5의 (b)에 도시된 바와 같이 간섭 그래프에 홀수 폐 루프가 포함되는 경우에는, 피연산자들 사이에 연산을 갖지 않은 2 개의 집합으로 완전히 나눌 수 없다. 그래서, 본 발명은 메모리 액세스 오버헤드를 허용하는 승산을 하고, 변을 삭제하는 것으로 2부 클래스로 떨어뜨린다. 이와 같은 변의 삭제에 의해 꼭지점을 2 개의 집합으로 나누어, X 메모리와 Y 메모리에 할당한다.
이 경우 중요한 것은 어느 연산을 삭제해야 하는가이다. 피연산자(operand)로 되는 변수 쌍을 동일 메모리에 격납하는 경우에는 메모리 액세스 오버헤드가 증대하고 만다. 특히, 간섭 그래프에 복수의 홀수 폐 루프가 포함된 경우에는 삭제할 변의 결정은 곤란하게 된다. 그래서, 그와 같은 경우에서도 메모리 액세스의 오버헤드가 최소로 되도록 변의 삭제를 행하여, 2부 그래프를 얻는 것으로 메모리 할당을 결정한다. 이에 대해 구체적으로 설명하면 다음과 같다.
간섭 그래프로부터 2부 그래프를 얻기 위해서는 간섭 그래프에 홀수 폐 루프를 포함하지 않는 것이 조건이 된다. 그 때문에, 변의 삭제에 의하여 홀수 폐 루프를 없앨 필요가 있다. 그래서 본 발명에서는, 0-1 정수계획법을 이용하여 삭제할 변을 결정한다. 제약은 간섭 그래프에서의 홀수 폐 루프가 성립되지 않도록 하고, 목적 함수는 삭제된 변의 총 코스트를 최소로 하는 것이다. 여기서 코스트는 그 변을 구성하는 꼭지점을 의미하는 변수끼리의 승산 횟수이다. 결국 코스트의 값은 대응하는 변을 삭제하는 것에 의해 증가하는 싱글 데이터 전송 횟수를 말한다. 이 코스트에 의해 대응하는 변의 삭제에 의한 오버헤드를 평가할 수가 있다. 또, 홀수 폐 루프군은 깊이(depth) 우선 탐색에 의하여 검색하는 것으로 하고, 홀수 폐 루프 만으로 대상을 좁히는 것으로 연산량의 경감을 도모한다.
예를 들어, 도 6에 도시된 바와 같은 간섭 그래프를 갖는 연산에 대해 살펴본다. 각 변을 Xi, 대응하는 코스트를 Ci로 정의한다. 여기서 간섭 그래프로부터 0-1 정수계획법을 푸는 알고리즘을 설명한다.
(1) 간섭 그래프를 얻는다.
(2) 홀수 폐 루프를 탐색한다. 여기서 홀수 폐루프가 없으면, 2부 간섭 그래프에 얻어진 집합에 포함된 피연산자의 변수들을 동일 메모리에 할당한다.
(3) 홀수 폐루프가 존재하면 전체 변에 변수 Xi ∈ 0,1 를 부여한다.
(4) 변수 Xi 에 0이 있는 경우에는 변을 남기고, 1이 있는 경우에는 변을 삭제한다.
(5) 목적함수는 변수 Xi 와 그 변에 대응하는 코스트 Ci의 곱의 합으로 한다.
(6) 제약조건은 전체 홀수 폐 루프가 성립하지 않는 것이며, 폐 루프를 구성하는 변의 할당된 변수 합을 1 이상으로 한다.
(7) 0-1 정수계획법을 푼다.
예에서 하기 수학식 1과 같은 식이 유도된다. 이 정수계획법을 푸는 것에 의해 코스트가 최소로 되는 변의 조합을 결정한다. 그리고, 선정된 변에 결합되어 있는 꼭지점에 대응하는 2개의 변수가 동일 메모리에 할당되는 것을 허락한다.
min ∑ Xi x Ci
sub.to X1 +X4 +X5 ≥ 1
X1 +X2 +X6 ≥ 1
X2 +X3 +X4 ≥ 1
X3 +X4 +X5 ≥ 1
Xi ∈ 0,1
수학식 1을 푸는 것에 의해 변 X5 , X6 가 삭제할 변으로 선정된 것으로 가정한다. 이때 변 X5 , X6 로 표현된 연산이 변수를 동일 메모리로부터 읽어오는 것으로 되고, 변을 구성하는 변수의 어느 쪽인가가 싱글 데이터 전송된다.
이상에서 설명한 바와 같은 본 발명에 따른 메모리 운용 방법을 도 7을 참조하여 설명한다.
먼저, 연산 명령을 해석하여, 피연산자 변수들에 대한 간섭 그래프를 생성한다(101). 간섭 그래프는 피연산자 변수들의 연산 관계에 따라 생성된다. 그리고 생성된 간섭 그래프로부터 홀수 폐루프를 탐색한다(102).
홀수 폐루프가 존재하지 않으면(103), 간섭 그래프에 의해 얻어진 변의 양단의 꼭지점의 피연산자 변수들이 서로 다른 메모리에 저장되도록 한다(104). 다시 말해, 간섭 그래프에 의해 얻어진 각 집합에 속하는 피연산자 변수들이 동일 메모리에 할당되도록 제어한다.
한편, 홀수 폐루프가 존재하면(103), 전체 변에 변수 Xi ∈ 0,1 를 부여한다(105). 그리고 변수 Xi에 포함된 값에 따라 변의 삭제 여부를 결정한다(106). 예를 들어 변수 Xi 에 0이 있는 경우에는 변을 남기고, 1이 있는 경우에는 변을 삭제 한다. 목적함수는 변수 Xi 와 그 변에 대응하는 코스트 Ci의 곱의 합으로 한다. 제약조건은 전체 홀수 폐 루프가 성립하지 않는 것이며, 폐 루프를 구성하는 변의 할당된 변수 합을 1 이상으로 한다. 그리고 0-1 정수계획법을 통해 삭제될 변을 결정한다.
그리고 결정된 삭제 변의 피연산자 변수들은 동일 메모리에 저장하고, 삭제되지 않은 변의 피연산자 변수들은 서로 다른 메모리에 저장된다(107).
한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1은 본 발명이 적용되는 디지털 신호처리 프로세서의 개략적인 구성도,
도 2는 연산의 예에 나타낸 도면,
도 3은 본 발명에 이용되는 간섭 그래프를 설명하기 위한 도면,
도 4는 간섭 그래프의 결과로 얻어진 2부 그래프를 설명하기 위한 도면,
도 5는 홀수 폐 루프와 짝수 폐루프를 설명하기 위한 도면,
도 6은 다른 연산 예를 나타낸 도면,
도 7은 본 발명에 따른 메모리 운용 방법을 설명하기 위한 흐름도이다.

Claims (6)

  1. 삭제
  2. 삭제
  3. 적어도 두 개의 메모리에 피연산자 변수들이 저장되어 연산을 수행하는 디지털 신호처리 프로세서에서의 메모리 운용 방법에 있어서,
    (a) 연산 명령을 해석하여 피연산자 변수들간의 연산 관계에 따른 간섭 그래프를 생성하는 단계;
    (b) 상기 생성된 간섭 그래프의 결과로부터 홀수 폐루프를 탐색하는 단계;
    (c) 상기 홀수 폐루프가 존재하지 않으면, 상기 생성된 간섭 그래프로부터 획득된 각 집합에 속하는 피연산자 변수들이 동일 메모리에 할당되도록 제어하는 단계;
    (d) 상기 홀수 폐루프가 존재하면, 삭제될 변을 결정하는 단계;
    (e) 상기 결정된 삭제될 변의 피연산자 변수들을 동일 메모리에 저장되도록 제어하는 단계; 및
    (f) 삭제되지 않은 변의 피연산자 변수들을 서로 다른 메모리에 저장되도록 제어하는 단계
    를 포함하는 디지털 신호처리 프로세서에서 메모리 운용 방법.
  4. 제 3 항에 있어서,
    상기 간섭 그래프는,
    메모리에 할당할 변수에 대응한 꼭지점의 집합과 꼭지점 사이에 연산이 존재할 경우에 정의되는 변과, 꼭지점 간의 연산 횟수를 나타내는 코스트로 표현되는 것을 특징으로 하는 디지털 신호처리 프로세서에서 메모리 운용 방법.
  5. 제 3 항에 있어서,
    상기 삭제될 변을 결정하는 단계는, 0-1 정수계획법에 의해 이루어지는 것을 특징으로 하는 디지털 신호처리 프로세서에서 메모리 운용 방법.
  6. 제 5 항에 있어서,
    상기 삭제될 변을 결정하는 단계는,
    상기 간섭 그래프에 의해 획득된 전체 변에 변수 Xi ∈ 0,1 를 부여하는 단계;
    상기 변수 Xi 에 0이 있는 경우 변을 남기고, 1이 있는 경우 변을 삭제하는 단계
    를 포함하는 것을 특징으로 하는 디지털 신호처리 프로세서에서 메모리 운용 방법.
KR1020070114425A 2006-12-04 2007-11-09 디지털 신호처리 프로세서에서 효과적인 데이터 전송을위한 메모리 운용 방법 KR100912114B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060121677 2006-12-04
KR1020060121677 2006-12-04

Publications (2)

Publication Number Publication Date
KR20080051053A KR20080051053A (ko) 2008-06-10
KR100912114B1 true KR100912114B1 (ko) 2009-08-13

Family

ID=39806192

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070114425A KR100912114B1 (ko) 2006-12-04 2007-11-09 디지털 신호처리 프로세서에서 효과적인 데이터 전송을위한 메모리 운용 방법

Country Status (1)

Country Link
KR (1) KR100912114B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101782373B1 (ko) 2010-11-10 2017-09-29 삼성전자 주식회사 X-y 스택 메모리를 이용한 컴퓨팅 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10200603A (ja) * 1997-01-13 1998-07-31 Mitsubishi Electric Corp 監視装置
KR19980068671A (ko) * 1997-02-22 1998-10-26 김영민 선입선출 메모리를 이용한 디지털신호 처리장치
KR20010060033A (ko) * 1999-12-31 2001-07-06 이계철 디지털신호처리기를 이용한 직교 주파수 분할 다중화처리시 나눗셈 구현방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10200603A (ja) * 1997-01-13 1998-07-31 Mitsubishi Electric Corp 監視装置
KR19980068671A (ko) * 1997-02-22 1998-10-26 김영민 선입선출 메모리를 이용한 디지털신호 처리장치
KR20010060033A (ko) * 1999-12-31 2001-07-06 이계철 디지털신호처리기를 이용한 직교 주파수 분할 다중화처리시 나눗셈 구현방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
그래프이론을적용한전역레지스터할당알고리즘고찰, 전기환외4, 정보통신논문지제10집(2006.03)

Also Published As

Publication number Publication date
KR20080051053A (ko) 2008-06-10

Similar Documents

Publication Publication Date Title
KR101360512B1 (ko) 기록 마스크를 사용하는 simd 아키텍처에 의한 레지스터 할당
US9015683B2 (en) Method and apparatus for transforming program code
US6446258B1 (en) Interactive instruction scheduling and block ordering
US4782444A (en) Compilation using two-colored pebbling register allocation method such that spill code amount is invariant with basic block's textual ordering
KR102356705B1 (ko) 커널 퓨징, 리사이징 및 인터리빙 자동 연산 방법
Bauer et al. Singe: Leveraging warp specialization for high performance on gpus
AU773940B2 (en) Method and apparatus for allocating stack slots
Koza et al. Compressed multirow storage format for sparse matrices on graphics processing units
US7983890B2 (en) Method and apparatus performing automatic mapping for a multi-processor system
KR20210144730A (ko) 데이터 기억
US20090164773A1 (en) Dynamic reconfiguration supporting method, dynamic reconfiguration supporting apparatus, and dynamic reconfiguration system
KR100912114B1 (ko) 디지털 신호처리 프로세서에서 효과적인 데이터 전송을위한 메모리 운용 방법
US20180088948A1 (en) Efficient vectorization techniques for operands in non-sequential memory locations
Sakdhnagool et al. RegDem: Increasing GPU performance via shared memory register spilling
Ghike et al. Directive-based compilers for GPUs
CN110162483B (zh) 静态内存碎片整理方法、装置、计算机设备及存储介质
US8549456B2 (en) System and method for circuit design floorplanning
CN112925566A (zh) 建立虚拟寄存器生存区间的方法和装置及编译方法和装置
CN112925567A (zh) 分配寄存器的方法和装置及编译方法和装置及电子设备
KR101109009B1 (ko) 비정규 리덕션의 병렬화 방법
Oden et al. Implementation and Evaluation of CUDA-Unified Memory in Numba
US11755300B1 (en) Systems and methods for array structure processing
Muller et al. Caches with compositional performance
Motokubota et al. Accelerating parameter sweep applications using CUDA
Li et al. swTVM: Towards Optimized Tensor Code Generation for Deep Learning on Sunway Many-Core Processor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120730

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130729

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee