자기동형사상 연산 수행 장치 및 방법
APPARATUS AND METHOD FOR PERFORMING AUTOMORPHISM OPERATION
특허 요약
아래의 실시예들은 자기동형사상 연산 수행 장치 및 방법에 관한 것이고, 구체적으로는 복수의 프로세싱 엘리먼트들을 이용하여 자기동형사상 연산을 빠르게 수행하기 위한 것이다. 전자 장치는 복수의 프로세싱 엘리먼트들(PEs; Processing Elements), 인덱스 계산 장치 및 데이터 교환 장치를 포함하고, 복수의 프로세싱 엘리먼트들 각각은 복수의 시행들에 대응하는 데이터를 저장하는 메모리를 포함하고, 인덱스 계산 장치는 메모리에 저장된 데이터의 초기 인덱스 및 해당하는 시행의 수에 기초하여 복수의 프로세싱 엘리먼트들 각각에 대응하는 목적 인덱스를 계산하고, 데이터 교환 장치는 목적 인덱스에 기초하여 복수의 프로세싱 엘리먼트들 사이의 데이터 교환을 통해 자기동형사상(automorphism) 연산을 수행할 수 있다.
청구항
번호청구항
1

복수의 프로세싱 엘리먼트들(PEs; Processing Elements);인덱스 계산 장치; 및데이터 교환 장치를 포함하고,상기 복수의 프로세싱 엘리먼트들 각각은복수의 시행들에 대응하는 데이터를 저장하는 메모리를 포함하고,상기 인덱스 계산 장치는상기 메모리에 저장된 데이터의 초기 인덱스 및 해당하는 시행의 수에 기초하여 상기 복수의 프로세싱 엘리먼트들 각각에 대응하는 목적 인덱스를 계산하고,상기 데이터 교환 장치는상기 목적 인덱스에 기초하여 상기 복수의 프로세싱 엘리먼트들 사이의 데이터 교환을 통해 자기동형사상(automorphism) 연산을 수행하는 전자 장치.

2

제1항에 있어서,상기 인덱스 계산 장치는상기 복수의 프로세싱 엘리먼트들 중 해당하는 프로세싱 엘리먼트 번호와 상기 해당하는 시행의 수에 기초하여 상기 초기 인덱스를 계산하는, 전자 장치.

3

제1항에 있어서,상기 데이터 교환 장치는상기 목적 인덱스의 최상위 비트(MSB; Most Significant Bit)에 기초하여, 상기 복수의 프로세싱 엘리먼트들 사이의 제1 데이터 교환 연산을 수행하는, 전자 장치.

4

제3항에 있어서,상기 데이터 교환 장치는상기 목적 인덱스에서 최상위 비트가 제거된 데이터를 저장하는 인덱스 버퍼를 포함하고,상기 제1 데이터 교환 연산으로 상기 자기동형사상 연산이 완료되지 않았을 경우, 상기 데이터 교환 장치는상기 인덱스 버퍼에 저장된 상기 최상위 비트가 제거된 데이터에 기초하여, 상기 복수의 프로세싱 엘리먼트들 사이의 제2 데이터 교환 연산을 수행하는, 전자 장치.

5

제1항에 있어서,상기 메모리에 저장된 데이터의 초기 인덱스 및 상기 해당하는 시행의 수에 기초하여 상기 해당하는 시행에 대응하는 주소(address)를 계산하는 주소 계산 장치를 더 포함하는, 전자 장치.

6

제1항에 있어서,상기 인덱스 계산 장치는상기 메모리에 저장된 데이터의 초기 인덱스 및 상기 해당하는 시행의 수에 기초하여 상기 해당하는 시행에 대응하는 주소(address)를 계산하는, 전자 장치.

7

제6항에 있어서,상기 인덱스 계산 장치로부터 상기 해당하는 시행에 대응하는 주소를 수신하고, 상기 주소에 기초하여 실제 메모리 주소를 결정하는 주소 계산 장치를 더 포함하는, 전자 장치.

8

제7항에 있어서,상기 주소 계산 장치로부터 상기 실제 메모리 주소를 수신하여, 상기 실제 메모리 주소에 상기 자기동형사상 연산 결과를 저장하도록 상기 자기동형사상 연산 결과를 상기 메모리에 전달하는 컨트롤러를 더 포함하는, 전자 장치.

9

복수의 시행들에 대응하는 데이터를 분배하는 단계;상기 데이터의 초기 인덱스 및 해당하는 시행의 수에 기초하여 목적 인덱스를 계산하는 단계;상기 목적 인덱스에 기초하여 상기 데이터를 교환하는 단계; 및상기 데이터의 교환 결과 및 상기 데이터의 주소에 기초하여, 자기동형사상 연산을 수행하는 단계를 포함하는 자기동형사상 연산 방법.

10

제9항에 있어서,상기 목적 인덱스를 계산하는 단계는해당하는 프로세싱 엘리먼트 번호와 상기 해당하는 시행의 수에 기초하여 상기 초기 인덱스를 획득하는 단계를 포함하는, 자기동형사상 연산 방법.

11

제9항에 있어서,상기 데이터를 교환하는 단계는상기 목적 인덱스의 최상위 비트(MSB; Most Significant Bit)에 기초하여, 제1 데이터 교환 연산을 수행하는 단계를 포함하는, 자기동형사상 연산 방법.

12

제11항에 있어서,상기 데이터를 교환하는 단계는상기 목적 인덱스에서 상기 최상위 비트가 제거된 데이터를 저장하는 단계를 포함하고,상기 제1 데이터 교환 연산으로 상기 자기동형사상 연산이 완료되지 않았을 경우,상기 최상위 비트가 제거된 데이터에 기초하여, 제2 데이터 교환 연산을 수행하는 단계를 포함하는, 자기동형사상 연산 방법.

13

제9항에 있어서,상기 초기 인덱스 및 상기 해당하는 시행의 수에 기초하여 상기 해당하는 시행에 대응하는 주소(address)를 계산하는 단계를 더 포함하는, 자기동형사상 연산 방법.

14

제9항에 있어서,상기 목적 인덱스를 계산하는 단계는상기 데이터의 초기 인덱스 및 상기 해당하는 시행의 수에 기초하여 상기 해당하는 시행에 대응하는 주소(address)를 계산하는 단계를 포함하는, 자기동형사상 연산 방법.

15

제14항에 있어서,상기 해당하는 시행에 대응하는 주소를 수신하고, 상기 주소에 기초하여 실제 메모리 주소를 결정하는 단계를 더 포함하는, 자기동형사상 연산 방법.

16

제15항에 있어서,상기 실제 메모리 주소를 수신하여, 상기 실제 메모리 주소에 상기 자기동형사상 연산 결과를 저장하는 단계를 더 포함하는, 자기동형사상 연산 방법.

17

하드웨어와 결합되어 제9항 내지 제16항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.