KR20100132728A - 모듈러 연산 방법 및 이를 위한 장치 - Google Patents
모듈러 연산 방법 및 이를 위한 장치 Download PDFInfo
- Publication number
- KR20100132728A KR20100132728A KR1020090051480A KR20090051480A KR20100132728A KR 20100132728 A KR20100132728 A KR 20100132728A KR 1020090051480 A KR1020090051480 A KR 1020090051480A KR 20090051480 A KR20090051480 A KR 20090051480A KR 20100132728 A KR20100132728 A KR 20100132728A
- Authority
- KR
- South Korea
- Prior art keywords
- remind
- result
- equal
- modular
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5353—Restoring division
Landscapes
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명의 제수()의 제곱이 피제수()보다 크거나 같은 경우의 모듈러 연산 방법은 을 만족하는 연산 스테이지의 개수()를 계산하는 연산 스테이지 개수 판단 단계, 상수()의 초기값을 상기 의 절반 이상의 값 중 가장 작은 정수로 설정하는 초기화 단계, 상기 가 상기 과 상기 의 곱()보다 크거나 같은 경우 상기 에서 상기 를 뺀 값을 상기 로 갱신하는 제 1 연산 단계, 상기 의 절반 이상의 값 중 가장 작은 정수를 상기 로 갱신하는 제 2 연산 단계를 포함하며, 상기 제 1 연산 단계와 상기 제 2 연산 단계를 회 반복 실행하여, 상기 를 상기 모듈러 연산의 결과로 출력하는 것을 특징으로 한다. 또한 상기 제 1 연산 단계는 상기 가 상기 보다 작은 경우, 상기 의 값을 유지하는 것을 특징으로 한다.
본 발명의 모듈러 연산 방법 및 이를 위한 장치에 의하면 모듈러 연산 또는 나누기 연산의 연산량이 제수 의 크기에 따라 선형적으로 증가하지 않고 에 비례하여 증가하므로, 결과적으로 전체 연산량이 감소하며 연산 속도를 증가한다.
모듈러 연산, 나누기 연산, 프리앰블 신호
Description
본 발명은 모듈러 연산 방법 및 장치에 관한 것으로서, 특히 LTE(Long Term Evolution) 무선 통신 시스템의 동기 획득을 목적으로 사용되는 물리 랜덤 액세스 채널(Physical Random Access Channel, PRACH)을 통해 전송되는 프리앰블(Preamble) 신호를 생성하기 위하여 사용되는 모듈러 연산 방법 및 장치에 관한 것이다.
LTE 무선 통신 시스템의 동기 획득을 목적으로 사용되는 물리 랜덤 액세스 채널을 통해 전송되는 프리앰블(Preamble) 신호를 생성하기 위하여 아래 수학식 1과 같은 모듈러 연산이 이용된다.
<수학식 1>
수학식 1의 모듈러 연산을 물리적으로 구현함에 있어 종래에는 피제수 값과 제수 값의 대소 비교를 통해 의 값이 값보다 작아질 때까지 뺄셈 연산과 비교 연산을 수행하고, 최종 결과가 나머지 값이 되는 선형 검색(Linear Search) 방식을 이용하였다. 그러나 수학식 1과 같은 연산을 위하여 선형 검색 방식을 이용하는 경우에는 디바이더(divider)의 사용으로 인하여 하드웨어 복잡도가 증가할 뿐만 아니라 합성 타이밍도 나빠지는 문제점이 발생하였다.
본 발명인 모듈러 연산 방법 및 이를 위한 장치는 파이프라인 모듈러 연산을 이용하여 연산량을 줄이고 연산 속도를 증가시키는 것을 목적으로 한다. 또한 본 발명인 모듈러 연산 방법 및 이를 위한 장치는 디바이더 없이 모듈러 연산을 수행하는 것을 목적으로 한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 실시예에 따른 제수()의 제곱이 피제수()보다 크거나 같은 경우의 모듈러 연산 방법은 을 만족하는 연산 스테이지의 개수()를 계산하는 연산 스테이지 개수 판단 단계, 상수()의 초기값을 상기 의 절반 이상의 값 중 가장 작은 정수로 설정하는 초기화 단계, 상기 가 상기 과 상기 의 곱()보다 크거나 같은 경우 상기 에서 상기 를 뺀 값을 상기 로 갱신하는 제 1 연산 단계, 상기 의 절반 이상의 값 중 가장 작은 정수를 상기 로 갱신하는 제 2 연산 단계를 포함하며, 상기 제 1 연산 단계와 상기 제 2 연산 단계를 회 반복 실행하여, 상기 를 상기 모듈러 연산의 결과로 출력하는 것을 특징으로 한다. 또한 상기 제 1 연산 단계는 상기 가 상기 보다 작은 경우, 상기 의 값을 유지하는 것을 특징으로 한다.
또한 상기와 같은 문제점을 해결하기 위한 본 발명의 실시예에 따른 제수()의 제곱이 피제수()보다 크거나 같은 경우의 모듈러 연산 장치는 상기 과 상수()를 입력받아 상기 와 의 곱셈을 수행하는 곱셈기, 상기 를 입력받아 상기 곱셈기의 출력과의 뺄셈을 수행하는 감산기, 및 상기 와 상기 감산기의 결과를 입력받아 상기 가 상기 보다 크거나 같은 경우 상기 감산기의 결과를 갱신된 로 출력하는 제 1 비교부를 포함하는 직렬로 연결된 복수개의 연산 블록들과 상기 과의 관계에서 을 만족하는 연산 블록들의 개수()를 계산하고, 상기 의 초기값을 상기 의 절반 이상의 값 중 가장 작은 정수로 설정하며, 번째 연산 블록에 입력하는 상수()를 번째 연산 블록에 입력하는 상수()의 절반 이상의 값 중 가장 작은 정수로 갱신하는 제어부를 포함하며, 상기 번째 연산 블록에서 출력된 상기 갱신된 는 상기 모듈러 연산의 결과인 것을 특징으로 한다. 또한 상기 제 1 비교부는 상기 가 상기 보다 작은 경우, 상기 를 그대로 상기 갱신된 로 출력하는 것을 특징으로 한다.
또한 상기와 같은 문제점을 해결하기 위한 본 발명의 다른 실시예에 따른 제수()의 제곱이 피제수()보다 크거나 같은 경우의 모듈러 연산 장치는 상기 과 상수()를 입력받아 상기 와 의 곱셈을 수행하는 곱셈기, 상기 를 입력받아 상기 곱셈기의 출력과의 감산을 수행하는 감산기, 및 상기 와 상기 감산기의 결과를 입력받아 상기 가 상기 보다 크거나 같은 경우 상기 감산기의 결과를 갱신된 로 출력하여 상기 감산기로 귀환 입력하는 제 1 비교부를 포함하는 연산 블록과 상기 과의 관계에서 을 만족하는 반복 연산의 횟수()를 계산하고, 상기 의 초기값을 상기 의 절반 이상의 값 중 가장 작은 정수로 설정하며, 번째 반복 연산 시 입력하는 상수()를 번째 반복 연산 시 입력된 상수()의 절반 이상의 값 중 가장 작은 정수로 갱신하는 제어부를 포함하며, 상기 연산 블록의 상기 번째 반복 연산에서 출력된 상기 갱신된 는 상기 모듈러 연산의 결과인 것을 특징으로 한다. 또한 상기 제 1 비교부는 상기 가 상기 보다 작은 경우, 상기 를 그대로 상기 갱신된 로 출력하여 상기 감산기로 입력하는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 이때 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의하여야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다.
또한 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해 석되어야만 한다.
우선 LTE 무선 통신 시스템의 물리 랜덤 액세스 채널을 통해 전송되는 프리앰블 신호를 생성하기 위한 연산 과정을 설명한다. 물리 랜덤 액세스 채널을 통해 전송되는 프리앰블 신호를 생성하기 위해서는 길이가 839 인 Zadoff-Chu(ZC) 시퀀스를 순환 이동(cyclic shift)하여 ZC-ZCZ(Zadoff-Chu sequence with zero correlation zone)를 생성한 후, ZC-ZCZ의 839 포인트 불연속 푸리에 변환(Discrete Fourier Transform, DFT)을 계산하여야 한다. 그러나 물리 랜덤 액세스 채널을 위한 불연속 푸리에 변환 블록을 사용한다면, 랜덤 액세스할 때만 사용되는 채널 사용 빈도수에 비하여 지나치게 하드웨어 복잡도와 메모리 낭비가 커진다. 따라서 ZC-ZCZ의 불연속 푸리에 변환은 839 포인트 불연속 푸리에 변환을 이용하여 직접적으로 계산하는 것이 아니라, ZC-ZCZ의 불연속 푸리에 변환과 유사한 CAZAC(Constant envelope Zero Autocorrelation) 시퀀스를 이용하여 계산한다.
<수학식 2>
<수학식 3>
한편 물리 랜덤 액세스 채널을 통해 전송되는 프리앰블 신호는 ZC 시퀀스 자체가 아닌 ZC 시퀀스를 순환 이동하여 생성한 ZC-ZCZ를 사용하므로, 수학식 2의 ZC 시퀀스를 순환 이동한 ZC-ZCZ는 아래 수학식 4와 같다.
<수학식 4>
ZC 시퀀스의 CAZAC 시퀀스 형태인 수학식 3 및 ZC 시퀀스와 ZC-ZCZ의 관계인 수학식 4를 이용하여 ZC-ZCZ 시퀀스의 불연속 푸리에 변환을 계산할 수 있으며, LTE 무선 통신 시스템의 물리 랜덤 액세스 채널에서는 아래 수학식 5와 같이 ZC-ZCZ 시퀀스의 불연속 푸리에 변환을 계산하여 프리앰블 신호를 생성하게 된다.
<수학식 5>
그러나 수학식 5의 값을 계산하기 위해서는 수학식 1과 같은 형태의 모듈러 연산을 수행해야 하며, 종래에는 선형 검색 방식을 적용하여 모듈러 연산을 수행하고 있다. 상술한 바와 같이 선형 검색 방식을 통한 모듈러 연산은 연산량이 의 크기와 선형적으로 비례하므로, 나머지 값을 구하기 위해 많은 연산 스테이지를 필요로 하며 그 처리 시간 또한 길어진다.
따라서 이러한 문제점을 해결하기 위한 본 발명에서 제안하는 모듈러 연산 처리 기법은 모듈러 값이 아래 수학식 6과 같은 형태로 표현 가능하며 주어진 와 에 대해서 몫 값과 나머지 값을 최저의 연산 스테이지()만으로 구하는 방법이다.
<수학식 6>
이를 보다 자세히 설명하면, 수학식 6을 만족하는 몫 를 탐색하기 위하여, 보다 큰 수를 검색하여 몫 가 보다 큰 영역에 존재한다고 판단되는 경우(), 다시 보다 큰 수를 검색한다. 또한 보다 큰 수 중 몫 가 존재하지 않는다고 판단되는 경우( ), 다시 보다 큰 수를 검색한다.
<수학식 7>
도 1은 본 발명의 실시예에 따른 무선 통신 시스템의 모듈러 연산 방법의 순 서도이다. 단, 상술한 바와 같이 본 발명의 모듈러 연산 방법은 피제수 가 제수 의 제곱보다 작거나 같은 경우에 적용된다. 이하에서는 본 실시예에서는 설명의 편의를 위하여 , 로 하여 설명한다.
도 1을 참조하여 설명하면, 모듈러 연산을 하고자 하는 제수 의 값이 정해지면 단계 100에서 을 만족하는 모듈러 연산 스테이지의 개수 을 결정한다. 즉 이므로 모듈러 연산 스테이지의 개수는 3개이다. 또한 단계 105에서 피제수 를 즉 121로 초기 설정하고, 몫 는 0으로 초기화 한다.
계속하여 단계 110에서 최초에 값인 121이 제수 과 상수 의 곱보다 크거나 같은지 여부를 판단한다. 여기서 상수 은 즉 제수 의 절반 이상의 값 중 가장 작은 정수를 나타내며, 본 실시예에서 상수 는 인 7임을 알 수 있다. 단계 110에서 가 보다 크거나 같다고 판단된 경우, 단계 115에서 에서 를 뺀 값을 다시 에 저장한다. 또한 단계 120에서 와 의 합을 다시 에 저장한 후 다음 연산 스테이지인 단계 125로 진행한다. 만약 단계 110에서 가 보다 작다고 판단된 경우, 다음 연산 스테이지인 단계 125로 진행한다. 본 실시예에서 는 121이며, 는 91이므로, 가 보다 크다. 따라서 는 인 30으로 갱신되며, 는 7로 갱신된다.
계속하여, 단계 125에서 갱신된 가 과 의 곱보다 크거나 같은지 여부를 판단한다. 여기서 는 즉 상수 의 절반 이상의 값 중 가장 작은 정수를 나타내며, 본 실시예에서는 인 4임을 알 수 있다. 단계 125에서 가 보다 크거나 같다고 판단된 경우, 단계 130에서 에서 를 뺀 값을 다시 에 저장한다. 또한 단계 135에서 와 의 합을 다시 에 저장한 후 다음 연산 스테이지인 단계 140로 진행한다. 만약 단계 125에서 가 보다 작다고 판단된 경우, 다음 연산 스테이지인 단계 140로 진행한다. 본 실시예에서 는 30이며, 는 52이므로, 가 보다 작다. 따라서 와 의 갱신 없이 다음 연산 스테이지인 단계 140으로 진행한다.
계속하여 단계 140에서 가 과 의 곱보다 크거나 같은지 여부를 판단한다. 여기서 은 즉 상수 의 절반 이상의 값 중 가장 작은 정수를 나타내며, 본 실시예에서는 인 2임을 알 수 있다. 단계 140에서 가 보다 크거나 같다고 판단된 경우, 단계 145에서 에서 를 뺀 값을 다시 에 저장한다. 또한 단계 150에서 와 의 합을 다시 에 저장한 후 다음 연산 스테이지로 진행한다. 만약 단계 140에서 가 보다 작다고 판단된 경우, 다음 연산 스테이지로 진행한다. 다만, 본 실시예의 단계 100에서 연산 스테이지의 개수가 3개로 미리 설정되었기 때문에 다음 연산 스테이지는 존재하지 않고, 바로 결과 출력 과정이 진행된다. 본 실시예에서 는 30이며, 는 26이므로, 가 보다 크다. 따라서 는 인 4로 갱신되며, 는 9로 갱신된다.
다만, 도 1에서는 으로 예시하여 단계 110, 125, 및 140의 3개의 연산 스테이지만 도시하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 의 크기에 따라 용이하게 연산 스테이지의 개수를 가감할 수 있을 것이다.
도 2a는 본 발명의 실시예에 따른 무선 통신 시스템의 모듈러 연산 장치의 블록 구성도이다. 본 실시예에서도 역시 설명의 편의를 위하여 , 제수 로 하여 설명한다. 또한 를 만족하는 은 3이므로, 참조번호 200, 210 및 220의 3개의 연산 스테이지를 수행하는 연산 블록을 도시하였다. 그러나 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 의 크기에 따라 용이하게 연산 블록의 개수를 가감할 수 있을 것이다.
도 2a를 참조하여 설명하면, 본 발명의 실시예에 따른 무선 통신 시스템의 모듈러 연산 장치의 연산 블록은 모듈러 연산을 위한 곱셈기(201), 감산기(202), 제 1 비교부(203)를 포함하며, 나누기 연산을 위한 가산기(204), 제 2 비교부(205)를 포함한다. 또한 본 발명의 실시예에 따른 모듈러 연산 장치는 연산 스테이지의 개수만큼 연산 블록이 직렬 연결되어 구성된다. 따라서 본 실시예에 으로 예시하였으므로, 모듈러 연산 장치는 3개의 연산 블록이 직렬 연결되어 구성된다.
우선 모듈러 연산부터 설명하면, 제 1 스테이지 연산 블록(200)으로 입력된 상수 은 곱셈기(201)에서 피제수 과 곱해지며, 감산기(202)에서 과 의 뺄셈이 수행된다. 또한 제 1 비교부(203)는 이 보다 크거나 같은 경우 감산기(202)의 결과를 제 2 스테이지 연산 블록(210)의 입력값()으로 출력하며, 이 보다 작은 경우 입력된 을 그대로 제 2 스테이지 연산 블록(210)의 입력값()으로 출력한다. 본 실시예에서 은 121이며 는 91이므로, 은 보다 크다. 따라서 제 1 비교부(203)는 감산기(202)의 출력인 30을 제 2 스테이지 연산 블록(210)의 입력값()으로 출력한다.
또한 가산기(204)에서 과 의 덧셈이 수행되고, 과 가산기(204)의 출력이 제 2 비교부(205)로 입력된다. 제 2 비교부(205)는 이 보다 크거나 같은 경우 가산기(202)의 결과를 제 2 스테이지 연산 블록(210)의 입력값()으로 출력하며, 이 보다 작은 경우 입력된 을 그대로 제 2 스테이지 연산 블록(210)의 입력값()으로 출력한다. 따라서 본 실시예에서는 이 보다 크므로, 제 2 비교부(205)는 가산기(202)의 출력인 7을 제 2 스테이지 연산 블록(210)의 입력 값()으로 출력한다.
계속하여, 제 2 스테이지 연산 블록(210)으로 입력된 은 곱셈기(211)에서 과 곱해지며, 감산기(212)에서 과 의 뺄셈이 수행된다. 여기서 는 즉 상수 의 절반 이상의 값 중 가장 작은 정수를 나타내며, 본 실시예에서는 인 4임을 알 수 있다. 또한 제 1 비교부(203)는 이 보다 크거나 같은 경우 감산기(212)의 결과를 제 3 스테이지 연산 블록(220)의 입력값()으로 출력하며, 이 보다 작은 경우 입력된 를 그대로 제 3 스테이지 연산 블록(220)의 입력값()으로 출력한다. 본 실시예에서 은 30이며 는 52이므로, 은 보다 작다. 따라서 제 1 비교부(213)는 를 그대로 제 3 스테이지 연산 블록(220)의 입력값()으로 출력한다.
또한 가산기(214)에서 과 의 덧셈이 수행(7+4=11)되고, 와 가산기(214)의 출력이 제 2 비교부(215)로 입력된다. 제 2 비교부(215)는 이 보다 크거나 같은 경우 가산기(212)의 결과를 제 3 스테이지 연산 블록(220)의 입력값()으로 출력하며, 가 보다 작은 경우 입력된 를 그대로 제 3 스테이지 연산 블록(220)의 입력값()으로 출력한다. 따라서 본 실시예에서는 이 보다 작으므로, 제 2 비교부(215)는 입력된 인 7을 그대로 제 3 스테이지 연산 블록(220)의 입력값()으로 출력한다.
마지막으로 제 3 스테이지 연산 블록(220)으로 입력된 은 곱셈기(221)에서 과 곱해지며, 감산기(222)에서 과 의 뺄셈이 수행된다. 여기서 은 즉 상수 의 절반 이상의 값 중 가장 작은 정수를 나타내며, 본 실시예에서는 인 2임을 알 수 있다. 또한 제 1 비교부(223)는 가 보다 크거나 같은 경우 감산기(222)의 결과를 모듈러 연산의 결과로 출력하며, 이 보다 작은 경우 입력된 을 그대로 모듈러 연산의 결과로 출력한다. 본 실시예에서 은 30이며 는 26이므로, 은 보다 크다. 따라서 제 1 비교부(223)는 감산기(222)의 출력인 4를 모듈러 연산의 결과로 출력한다.
또한 가산기(224)에서 와 의 덧셈이 수행(7+2=9)되고, 과 가산기(224)의 출력이 제 2 비교부(225)로 입력된다. 제 2 비교부(225)는 가 보다 크거나 같은 경우 가산기(222)의 결과를 나누기 연산의 결과로 출력하며, 가 보다 작은 경우 입력된 을 그대로 나누기 연산의 결과로 출력한다. 따라서 본 실시예에서는 이 보다 크므로, 제 2 비교부(225)는 가산기(202)의 출력인 9를 나누기 연산의 결과로 출력한다.
또한, 본 발명의 실시예에 따른 무선 통신 시스템의 모듈러 연산 장치는 연산 스테이지의 개수()를 계산하고, 을 상기 의 절반 이상의 값 중 가장 작은 정수로 설정하는 제어부(미도시)를 더 포함할 수 있다. 제어부(미도시)는 또한 의 절반 이상의 값 중 가장 작은 정수를 로 설정하여 번째 연산 스테이지로 입력하고, 개의 연산 블록에서 본 발명의 연산 방법을 수행하도록 제어할 수 있다.
도 2b는 본 발명의 다른 실시예에 따른 무선 통신 시스템의 모듈러 연산 장치의 블록 구성도이다. 특히 도 2b의 모듈러 연산 장치는 도 2a에서 상술한 연산 블록이 직렬로 연결된 구성이 아닌, 귀환적(recursive) 형태의 하나의 연산 블록으로 구성된다.
도 2b를 참조하여 설명하면, 귀환적 형태의 하나의 연산 블록(250)은 모듈러 연산을 위한 곱셈기(251), 감산기(252), 제 1 비교부(253)를 포함하며, 나누기 연산을 위한 가산기(254), 제 2 비교부(255)를 포함한다. 도 2b의 모듈러 연산 장치와 도 2a의 모듈러 연산 장치의 차이점은 번째 반복 연산의 결과가 번째 반복 연산의 입력이 되도록 구성되고, 제어부(미도시)는 반복 연산의 개수()를 계산하고, 회 반복 연산의의 결과인 와 를 몫과 나머지로 출력한다는 점이다.
또한 도 2b의 모듈러 연산 장치에 포함된 제어부(미도시) 역시 연산 초기화를 위하여 초기 상수 를 제수 의 절반 이상의 값 중 가장 작은 정수로 설정하며, 상기 번째 반복 연산 시 입력한 상수 의 절반 이상의 값 중 가장 작은 정수를 번째 반복 연산 시 입력하는 상수 가 되도록 제어한다.
도 3은 종래 기술과 본 발명의 실시예에 따른 무선 통신 시스템의 모듈러 연산 방법의 성능을 비교한 도면이다. 특히 도 3은 종래 기술과 본 발명의 모듈러 연산 방법에서 제수 N의 크기에 따른 연산 스테이지의 개수를 비교한 도면이다
도 3을 참조하여 설명하면, 본 발명에 따른 모듈러 연산 장치는 개의 연산 스테이지를 갖는 파이프라인 모듈러 연산을 처리하며 종래 기술에 비하여 연산 스테이지가 획기적으로 감소하므로 연산 속도가 비약적으로 증가한다. 참조번호 301은 종래 기술 즉 선형 검색 기법을 적용하여 수행한 모듈러 연산의 연산 스테이지를 지시하며, 제수 의 값에 따라 연산 스테이지가 선형적으로 증가하는 것을 알 수 있다.
한편 본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형예들이 실시 가능하다는 것은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 것이다.
도 1은 본 발명의 실시예에 따른 모듈러 연산 방법의 순서도.
도 2a는 본 발명의 실시예에 따른 모듈러 연산 장치의 블록 구성도.
도 2b는 본 발명의 다른 실시예에 따른 모듈러 연산 장치의 블록 구성도.
도 3은 종래 기술과 본 발명의 실시예에 따른 모듈러 연산 방법의 성능을 비교한 도면.
Claims (9)
- 상기 의 제곱은 상기 보다 크거나 같고, 상기 제 1 연산 단계와 상기 제 2 연산 단계를 회 반복 실행하여, 상기 를 상기 모듈러 연산의 결과로 출력하는 것을 특징으로 하는 모듈러 연산 방법.<수학식>
- 상기 와 상수()를 입력받아 상기 와 의 곱셈을 수행하는 곱셈기, 상기 를 입력받아 상기 곱셈기의 출력과의 뺄셈을 수행하는 감산기, 및 상기 와 상기 감산기의 결과를 입력받아 상기 가 상기 보다 크거나 같은 경우 상기 감산기의 결과를 갱신된 로 출력하는 제 1 비교부를 포함하는 직렬로 연결된 복수개의 연산 블록들;과아래 수학식을 만족하는 연산 블록들의 개수()를 계산하고, 상기 의 초기값을 상기 의 절반 이상의 값 중 가장 작은 정수로 설정하며, 번째 연산 블 록에 입력하는 상수()를 번째 연산 블록에 입력하는 상수()의 절반 이상의 값 중 가장 작은 정수로 갱신하는 제어부;를 포함하며,<수학식>
- 상기 과 상수()를 입력받아 상기 와 의 곱셈을 수행하는 곱셈기, 상기 를 입력받아 상기 곱셈기의 출력과의 감산을 수행하는 감산기, 및 상기 와 상기 감산기의 결과를 입력받아 상기 가 상기 보다 크거나 같은 경우 상기 감산기의 결과를 갱신된 로 출력하여 상기 감산기로 귀환 입력하는 제 1 비교부를 포함하는 연산 블록;과아래 수학식을 만족하는 반복 연산의 횟수()를 계산하고, 상기 의 초기값을 상기 의 절반 이상의 값 중 가장 작은 정수로 설정하며, 번째 반복 연산 시 입력하는 상수()를 번째 반복 연산 시 입력된 상수()의 절반 이상의 값 중 가장 작은 정수로 갱신하는 제어부;를 포함하며,<수학식>
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090051480A KR101592920B1 (ko) | 2009-06-10 | 2009-06-10 | 모듈러 연산 방법 및 이를 위한 장치 |
US13/377,650 US8880577B2 (en) | 2009-06-10 | 2010-06-10 | Modulo operation method and apparatus for same |
PCT/KR2010/003719 WO2010143892A2 (ko) | 2009-06-10 | 2010-06-10 | 나머지 연산 방법 및 이를 위한 장치 |
EP10786375A EP2442225A4 (en) | 2009-06-10 | 2010-06-10 | MODULO OPERATING METHOD AND DEVICE THEREFOR |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090051480A KR101592920B1 (ko) | 2009-06-10 | 2009-06-10 | 모듈러 연산 방법 및 이를 위한 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100132728A true KR20100132728A (ko) | 2010-12-20 |
KR101592920B1 KR101592920B1 (ko) | 2016-02-12 |
Family
ID=43309371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090051480A KR101592920B1 (ko) | 2009-06-10 | 2009-06-10 | 모듈러 연산 방법 및 이를 위한 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8880577B2 (ko) |
EP (1) | EP2442225A4 (ko) |
KR (1) | KR101592920B1 (ko) |
WO (1) | WO2010143892A2 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8569121B2 (en) | 2011-11-01 | 2013-10-29 | International Business Machines Corporation | Graphene and nanotube/nanowire transistor with a self-aligned gate structure on transparent substrates and method of making same |
US9535656B2 (en) | 2014-03-14 | 2017-01-03 | International Business Machines Corporation | Pipelined modular reduction and division |
KR102653018B1 (ko) | 2019-01-16 | 2024-03-29 | 삼성전자주식회사 | 랜덤 넘버를 이용하여 나머지 연산을 수행하는 보안 프로세서 및 이의 동작 방법 |
US11507813B2 (en) * | 2020-06-01 | 2022-11-22 | Arm Limited | Modulo operation unit |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980077685A (ko) * | 1997-04-22 | 1998-11-16 | 구자홍 | 키 생성 방법 및 장치와 그에 의해 생성된 키를 이용한 암호화 시스템 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4550339A (en) * | 1983-11-21 | 1985-10-29 | Rca Corporation | Binary divider as for a digital auto flesh circuit |
GB8815868D0 (en) * | 1988-07-04 | 1988-08-10 | British Aerospace | Digital signal processing |
US5237525A (en) * | 1992-06-01 | 1993-08-17 | Motorola, Inc. | In a data processor an SRT divider having a negative divisor sticky detection circuit |
JP3506753B2 (ja) * | 1994-02-28 | 2004-03-15 | 富士通株式会社 | 除算方法および除算装置 |
US5563818A (en) * | 1994-12-12 | 1996-10-08 | International Business Machines Corporation | Method and system for performing floating-point division using selected approximation values |
KR100195719B1 (ko) * | 1995-12-28 | 1999-06-15 | 전주범 | 나눗셈기 |
KR100206116B1 (ko) * | 1996-01-17 | 1999-07-01 | 윤종용 | 나머지 계산방법 및 회로 |
KR100853787B1 (ko) * | 2004-12-31 | 2008-08-25 | 동부일렉트로닉스 주식회사 | 가변 진법 나눗셈 연산기 |
US7519649B2 (en) * | 2005-02-10 | 2009-04-14 | International Business Machines Corporation | System and method for performing decimal division |
-
2009
- 2009-06-10 KR KR1020090051480A patent/KR101592920B1/ko not_active IP Right Cessation
-
2010
- 2010-06-10 WO PCT/KR2010/003719 patent/WO2010143892A2/ko active Application Filing
- 2010-06-10 US US13/377,650 patent/US8880577B2/en not_active Expired - Fee Related
- 2010-06-10 EP EP10786375A patent/EP2442225A4/en not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980077685A (ko) * | 1997-04-22 | 1998-11-16 | 구자홍 | 키 생성 방법 및 장치와 그에 의해 생성된 키를 이용한 암호화 시스템 |
Also Published As
Publication number | Publication date |
---|---|
EP2442225A2 (en) | 2012-04-18 |
KR101592920B1 (ko) | 2016-02-12 |
EP2442225A4 (en) | 2013-01-02 |
WO2010143892A2 (ko) | 2010-12-16 |
US8880577B2 (en) | 2014-11-04 |
WO2010143892A3 (ko) | 2011-04-28 |
US20120089658A1 (en) | 2012-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7689639B2 (en) | Complex logarithmic ALU | |
JP2008506191A5 (ko) | ||
CN111506294A (zh) | 基于块浮点的fblms算法的fpga实现装置及方法 | |
KR20100132728A (ko) | 모듈러 연산 방법 및 이를 위한 장치 | |
JP2016062404A (ja) | 演算処理方法及び演算処理装置 | |
Higham et al. | Computing the action of trigonometric and hyperbolic matrix functions | |
CN106681691A (zh) | 基于蒙哥马利模乘的数据处理方法、模乘运算方法和装置 | |
Nenadic et al. | Fast division on fixed-point DSP processors using Newton-Raphson method | |
US11508263B2 (en) | Low complexity conversion to Montgomery domain | |
US11468797B2 (en) | Low complexity conversion to Montgomery domain | |
Wang et al. | An h-p version of the continuous Petrov-Galerkin method for Volterra delay-integro-differential equations | |
RU2559771C2 (ru) | Устройство для основного деления модулярных чисел | |
CN107193784B (zh) | 高精度低硬件复杂度的sinc插值实现方法及系统 | |
TW201724089A (zh) | 具有滑動式二階遞迴傅立葉轉換的頻域適應性濾波系統 | |
RU2559772C2 (ru) | Устройство для основного деления модулярных чисел в формате системы остаточных классов | |
KR101100753B1 (ko) | 부스 곱셈기 | |
Vanwormhoudt | On number theoretic Fourier transforms in residue class rings | |
Xu et al. | Low power design for FIR filter | |
RU2652450C1 (ru) | Устройство вычисления модулярного произведения Монтгомери | |
JPH0721012A (ja) | 割り算器 | |
Bowlyn et al. | A novel distributed arithmetic multiplierless approach for computing complex inner products | |
Asif et al. | An RNS based modular multiplier with reduced complexity | |
Preethi et al. | VLSI Implementation Of Multiplier Based Block LMS Adaptive Filter | |
Song et al. | Division-less high-radix interleaved modular multiplication using a scaled modulus | |
KR20020054202A (ko) | 유한체내에서 다단 구조의 역수 계산 장치 |
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 | ||
LAPS | Lapse due to unpaid annual fee |