1 |
1
부동 소수점(Floating Point: FP) 연산을 지원하는 FP-재구성 어레이(Reconfigurable Array:RA)를 구성하고, 쌍으로 결합하여 부동 소수점 유닛(Floating-Point Unit: FPU)-PE를 구성하는 프로세싱 소자(Processing Element: PE)에 있어서,
2개의 오퍼랜드(operand)를 입력 받아 연산을 수행하는 연산 장치(Arithmetic Logic Unit: ALU);
상기 연산 장치(ALU)에 각각 하나의 입력 값을 입력하는 2개의 멀티플렉서(MUX);
상기 연산 장치의 결과들에 쉬프트 연산을 수행하는 쉬프터(Shifter); 및
상기 연산 장치의 중간 결과와 상기 쉬프터의 중간 결과를 저장하는 임시 레지스터(Resistor) 및 상기 연산 장치의 최종 결과와 상기 쉬프터의 최종 결과를 저장하는 출력 레지스터;를 포함하고,
상기 연산 장치, 2개의 멀티플렉서, 쉬프터, 임시 레지스터 및 출력 레지스터 사이에 부동 소수점 연산을 위한 데이터 패스가 형성되어 있는 것을 특징으로 하는 프로세싱 소자(PE)
|
2 |
2
제1 항에 있어서,
상기 FPU-PE를 이루는 2개의 PE 중 어느 하나의 PE는 2개의 오퍼랜드(operand)의 부호 및 가수부가 입력되는 가수부 PE이고 다른 하나의 PE는 상기 2개의 오퍼랜드의 지수부가 입력되는 지수부 PE인 것을 특징으로 하는 프로세싱 소자
|
3 |
3
제2 항에 있어서,
상기 데이터 패스는 상기 ALU와 출력 레지스터 간의 부동 소수점 부호(sing) 처리를 위한 부호 처리용 패스, 상기 ALU와 출력 레지스터 간의 쉬프트 연산이 수행되지 않는 데이터 이동을 위한 비쉬프트 연산용 패스, 및 상기 쉬프터와 출력 레지스터 및 상기 ALU와 출력 레지스터 간의 라운드(round) 연산을 위한 라운드 연산용 패스를 포함하는 것을 특징으로 하는 프로세싱 소자
|
4 |
4
제3 항에 있어서,
상기 가수부 PE에 포함된, 상기 출력 레지스터는 상기 부호 처리를 위한 부호용 레지스터를 포함하며,
상기 부호용 레지스터는 상기 2개의 오퍼랜드의 부호값을 XOR 연산한 값을 저장하는 것을 특징으로 하는 프로세싱 소자
|
5 |
5
제3 항에 있어서,
상기 비쉬프트 연산용 패스는, 2개의 오퍼랜드를 교환하는 스왑(swap) 명령에 대한 각각의 출력 값의 이동 및 n 비트 쉬프트 연산시 상기 n 값을 지수부 PE로 전달하는 것을 특징으로 하는 프로세싱 소자
|
6 |
6
제3 항에 있어서,
상기 쉬프터에는 상기 라운드 연산을 위한 하위 2비트가 추가된 것을 특징으로 하는 프로세싱 소자
|
7 |
7
제1 항에 있어서,
상기 ALU는 오퍼랜드를 선택적으로 출력하여 오퍼랜드 연산부로 입력하는 오퍼랜드 입력부, 오퍼랜드의 연산을 수행하는 상기 오퍼랜드 연산부, 및 상기 오퍼랜드 연산부로부터의 결과값들을 상기 쉬프터로 구별하여 출력하는 쉬프트 계산 선택부를 포함하는 것을 특징으로 하는 프로세싱 소자
|
8 |
8
제7 항에 있어서,
상기 오퍼랜드 입력부는,
상기 2개의 멀티플렉서를 통해 입력, 피드백(feedback)을 통해 입력, 또는 구성 캐쉬(Configuartion Cache)의 컨텍스트 레이어에 저장된 상수 값(immeaiate value)을 입력받아 선택적으로 각각 하나의 값을 출력하는 2개의 오퍼랜드 먹스를 포함하고,
상기 오퍼랜드 연산부는,
덧셈기 또는 뺄셈기(ADD/SUB), 절대값 계산기(ABS-VAL), 논리(LOGICAL) 회로, 스왑(SWAP) 회로, 버스 스위치(BUS SWITCH), 플래그 생성기(FLAG GENERATOR), 리딩-원 검출기(leading-one-detector: L
|
9 |
9
제8 항에 있어서,
상기 프로세싱 소자는 부동 소수점 연산을 지원하기 위해 상기 스왑 회로, 절대값 계산기, 플래그 생성기, 리딩-원 검출기, 먹스 언쉬프트 및 상기 쉬프터를 제어하는 쉬프트 제어기가 추가되고,
상기 스왑 회로는 2개의 오퍼랜드를 교환하고, 상기 절대값 계산기는 2개의 값의 차에 대한 절대값을 구하며, 상기 플래그 생성기는 다른 PE로 전달하기 위한 플래그(flag)를 생성하며, 상기 리딩-원 검출기는 지수부를 표준화(normalize)하기 위해 1의 값을 갖는 가장 큰 자리수의 비트의 위치를 구하며, 상기 먹스 언쉬프트는 스왑한 값 또는 프래그 값을 선택적 출력하며, 상기 쉬프트 제어기는 컨텍스트(context) 워드 및 상기 리딩-원 검출기에서 생성된 쉬프트 값을 입력받아 상기 쉬프터에서의 쉬프트 연산을 제어하는 것을 특징으로 하는 프로세싱 소자
|
10 |
10
제9 항에 있어서,
상기 연산 장치는,
상기 2개의 오퍼랜드 먹스를 통해 입력되는 2개의 오퍼랜드는,
상기 덧셈기 또는 뺄셈기, 논리 회로, 스왑 회로, 버스 스위치, 플래그 생성기, 리딩-원 검출기, 및 비교기로 입력되고,
상기 덧셈기 또는 뺄셈기, 논리, 및 스왑 회로의 출력 값은 먹스 쉬프트로 입력되며,
상기 스왑 회로, 버스 스위치, 플래그 생성기, 리딩-원 검출기, 및 비교기의 출력값은 상기 먹스 언쉬프트로 입력되며,
상기 먹스 쉬프트의 출력은 상기 쉬프터로 입력되는 것을 특징으로 하는 프로세싱 소자
|
11 |
11
제10 항에 있어서,
상기 덧셈기 또는 뺄셈기의 출력은 상기 절대값 계산기에 입력되고, 상기 절대값 계산기의 출력은 상기 먹스 쉬프트로 입력되며,
상기 쉬프터는 상기 버스 스위치, 리딩-원 검출기 및 상기 구성 캐쉬로 연결된 상기 쉬프터 제어기의 제어를 받아 쉬프트 연산을 수행하는 것을 특징으로 하는 프로세싱 소자
|
12 |
12
제10 항에 있어서,
상기 ALU는 ALU 제어 신호들을 통해 제어되는 것을 특징으로 하는 프로세싱 소자
|
13 |
13
제1 항의 프로세싱 소자를 제어하는 제어 장치에 있어서,
상기 FPU-PE를 구성하는 각 상기 PE의 연산을 위한 컨텍스트(context) 워드(word)를 저장하는 구성 캐쉬(Configuration Cashe)와 연동하여 상기 FPU-PE가 부동 소수점 연산을 수행할 수 있도록 제어하는 FP-RA 제어 장치
|
14 |
14
제13 항에 있어서,
상기 FP-RA 제어 장치는 FSM(Finite State Machine) 기반 제어 회로를 포함하는 것을 특징으로 하는 FP-RA 제어 장치
|
15 |
15
제14 항에 있어서,
상기 FSM 기반 제어 회로는 상기 구성 캐쉬의 레지스터에 연결되어 상기 FPU-PE의 멀티 사이클 연산을 위한 컨텍스트 워드를 생성하여 상기 구성 캐쉬의 레지스터로 전달하는 것을 특징으로 하는 FP-RA 제어 장치
|
16 |
16
제15 항에 있어서,
부동 소수점 연산은 하나의 연산 명령어로서 상기 구성 캐쉬로 매핑되어 디코딩되고, 상기 연산 명령어가 멀티 사이클 연산을 위한 명령어인 경우, 상기 FSM 기반 제어 회로가 구동되는 것을 특징으로 하는 FP-RA 제어 장치
|
17 |
17
제16 항에 있어서,
상기 구성 캐쉬는 상기 연산 명령어가 멀티 사이클 연산을 위한 명령어인지 판단하고,
멀티 사이클 연산을 위한 명령어인 경우, 상기 FSM 기반 제어회로를 구동하여 멀티 사이클용 컨텍스트 워드를 생성하여 상기 FPU-PE가 멀티 사이클 연산을 수행하도록 제어하며,
멀티 사이클 연산을 위한 명령어가 아닌 경우, 상기 FSM 기반 제어회로의 구동 없이 상기 FPU-PE가 연산을 수행하도록 제어하는 특징으로 하는 FP-RA 제어 장치
|
18 |
18
제14 항에 있어서,
상기 FPU-PE를 이루는 2개의 PE 중 어느 하나의 PE는 가수부 PE이고 다른 하나의 PE는 지수부 PE이며,
상기 가수부 PE 및 지수부 PE는 사칙 연산 및 초월 함수에 대한 부동 소수점 연산을 수행하기 위하여 상기 FSM 기반 제어회로를 이용하는 것을 특징으로 하는 FP-RA 제어 장치
|
19 |
19
제18 항에 있어서,
상기 가수부 PE 및 지수부 PE는 덧셈 또는 뺄셈에 대한 부동 소수점 연산을 수행하고,
상기 덧셈 또는 뺄셈은 총 6 사이클의 멀티 사이클 연산을 통해 수행되는 것을 특징으로 하는 FP-RA 제어 장치
|
20 |
20
제19 항에 있어서,
상기 덧셈은 제1 사이클에서 입력된 2개 오퍼랜드 값을 지수 및 소수별로 각각 비교하고, 제2 사이클에서는 값이 작은 소수에 대해 지수의 차만큼 쉬프트하여 정렬하며, 제3 사이클에서는 소수의 차를 구하고, 오버 플로우를 고려하여 1 비트 얼라인(align)하며, 제4 사이클에서는 상기 제3 사이클에서 계산된 결과를 최상위 비트가 1이 되도록 표준화하며, 제5 사이클에서는 상기 지수부 PE에서 라딕스 포인트(radix point)를 갱신하고 상기 가수부 PE에서 라운딩을 수행하며, 제6 사이클에서는 제외 체크(exception check)를 수행하는 것을 특징으로 하는 FP-RA 제어 장치
|
21 |
21
제20 항에 있어서,
상기 제4 사이클에서 상기 표준화에 의해 변한 라딕스 포인트를 상기 지수부 PE로 전달하고, 상기 제5 사이클에서 상기 전달받은 라딕스 포인트를 이용하여 상기 지수부 PE에서 라딕스 포인트를 갱신하는 것을 특징으로 하는 FP-RA 제어 장치
|
22 |
22
제20 항에 있어서,
상기 뺄셈은 빼는 숫자의 부호를 반대로 바꾼 후, 상기 덧셈과 동일한 방법으로 수행되는 것을 특징으로 하는 FP-RA 제어 장치
|
23 |
23
제18 항에 있어서,
상기 가수부 PE 및 지수부 PE는 곱셈 또는 나눗셈에 대한 부동 소수점 연산을 수행하고,
상기 곱셈은 총 4 사이클의 멀티 사이클 연산을 통해 수행될 수 있고,
상기 나눗셈은 총 6 사이클의 멀티 사이클 연산을 통해 수행될 수 있는 것을 특징으로 하는 FP-RA 제어 장치
|
24 |
24
제23 항에 있어서,
상기 곱셈 또는 나눗셈은 지수부와 가수부로 나누어 계산되며,
상기 지수부는 덧셈 또는 뺄셈을 통해 처리되며, 상기 가수부는 곱셈 또는 나눗셈을 통해 처리되며,
상기 가수부 PE는 곱셈기 또는 나눗셈기에 연결되어 있는 것을 특징으로 하는 FP-RA 제어 장치
|
25 |
25
제24 항에 있어서,
상기 곱셈은 제1 사이클에서 상기 지수부 PE에서 덧셈이 수행되고 상기 가수부 PE에서 상기 곱셈기로 2개의 오퍼랜드를 보내며, 제2 사이클에서 상기 가수부 PE에서 상기 곱셈기로부터 곱셈의 결과를 받아 그 결과값에 따라 1 비트 얼라인을 수행하고, 제3 사이클에서 상기 지수부 PE에서 라운딩을 하고 상기 지수부 PE에서 제2 사이클에서 수행된 가수부의 얼라인 결과를 반영하고 만약 지수값이 소정 범위를 벗어나면 상기 가수부 PE에 반영할 신호를 전달하며, 제4 사이클에서 상기 가수부 PE에서 제외 체크를 하는 것을 특징으로 하는 FP-RA 제어 장치
|