2.3.3.1 Cấu trúc, hoạt động của phần tử PE
Một phần tử PE bao gồm 04 thành phần chính như chỉ ra trong Hình 19: - Router: làm nhiệm vụ định tuyến đầu vào dữ liệu cho DATAPATH.
- DATAPATH: thực hiện chức năng tính toán dữ liệu dựa tr n đầu v o được lựa chọn bởi bộ định tuyến Router.
- ACC: thực hiện một trong hai chức năng: đệm dữ liệu đầu ra cho PE hoặc cộng tích lũy dữ liệu đầu ra của DATAPATH.
- ONF_REG: lưu thông tin cấu hình của PE.
C O N F _ R E G Router DATAPATH ACC DATA_A DATA_O DATA_B Pre_Row DATA CONF_DATA Hình 19: Cấu trúc của phần tử PE
Phần tử PE được tham số hóa bởi hai thông số DATA_WIDTH và NUM_OF_Pre hannel; tương ứng với độ rộng dữ liệu cần xử lý và số lượng PE có trong một hàng RCA_Row. Giá trị của NUM_OF_PreChannel sẽ quyết định độ phức tạp của phần tử định tuyến Router. Thông tin chi tiết về giao diện làm việc của PE được mô tả trong bảng 3.
Bảng 3: Thông số và giao diện của module PE
TT Tham số/Giao diện Vào/ra Mô tả
1 Tham số
1.1 DATA_WIDTH ộ rộng đường dữ liệu
1.2 NUM_OF_PreChannel Số lượng kênh PE xử lý ở tầng trước được ghép nối với PE hiện tại
2 Giao diện
2.1 CLK Vào Tín hiệu đồng bộ CLK
2.2 RESET_N Vào Tín hiệu thiết lập ban đầu (tích cực mức thấp)
2.3 ENABLE Vào Tín hiệu bật/tắt hoạt động của khối
0: dừng hoạt động 1: hoạt động
2.4 PE_CONF_I Vào Dữ liệu cấu hình gồm 32 bit
Bit 31:20: cấu hình định tuyến dữ liệu vào kênh A của bộ
DATAPATH bên tren PE
Bit 19:8: cấu hình định tuyến dữ liệu vào kênh B của bộ
DATAPATH bên tren PE
Bit 7:0: cấu hình lựa chọn phép toán xử lý trên PE
2.5 CONF_Load_I Vào i u khiển quá trình nạp cấu hình PE
2.6 DATA_A_I Vào Dữ liệu đầu vào kênh A
2.7 DATA_B_I Vào Dữ liệu đầu vào kênh B
2.8 PreChannel_Data_I Vào Dữ liệu đầu vào từ các PE xử lý ở tầng trước
2.9 DATA_O Ra Kết quả đầu ra
2.3.3.2 Bộ định tuyến dữ liệu đầu vào của PE
Bộ định tuyến Router như mô tả ở Hình 20 thực hiện chức năng định tuyến cho 01 k nh đầu vào của DATAPATH. Một phần tử PE phải gồm 02 bộ định tuyến như vậy (mỗi bộ cho một k nh đầu vào riêng biệt của DATAPATH). Cấu trúc cơ bản của bộ định tuyến Router gồm các bộ ghép k nh, trong đó:
- MUX_N_1: có chức năng lựa chọn k nh đầu vào từ kết quả xử lý của hàng RCA_Row liền kề trước đó.
- MUX_2_1: có chức năng lựa chọn giữa việc lấy dữ liệu từ các hàng RCA_Row liền kề trước đó hay dữ liệu đầu vào trực tiếp của RCA.
MUX_N_1
MUX_2_1
DATA from previous row DATA A/B
ROUTER ROUTER_CONF
OUTPUT
Hình 20: Cấu trúc bộ định tuyến đầu vào ROUTER của PE (cho 01 kênh đầu ra)
Giao diện làm việc chi tiết của bộ định tuyến dữ liệu đầu v o PE được mô tả trong Bảng 4. Trong đó, kích thước của bộ định tuyến được tham số hóa bằng số bit lựa chọn kênh.
Bảng 4: Thông số và giao diện của module PE_router
TT Tham số/Giao diện Vào/ra Mô tả
1 Tham số
1.1 DATA_WIDTH ộ rộng đường dữ liệu
1.2 NUM_OF_BIT_SEL Số bit lựa chọn k nh đầu vào
Tổng số k nh đầu vào: 2NUM_OF_BIT_SEL-1
2 Giao diện
2.1 sel_A_I Vào iều khiển định tuyễn dữ liệu đầu
vào kênh A
2.2 sel_B_I Vào iều khiển định tuyễn dữ liệu đầu
vào kênh A
2.3 DATA_A_I Vào Dữ liệu đầu vào kênh A
2.4 DATA_B_I Vào Dữ liệu đầu vào kênh B
tầng trước
2.6 DATA_A_O Ra Dữ liệu đầu ra kênh A
2.7 DATA_B_O Ra Dữ liệu đầu ra kênh B
2.3.3.3 Khối tính toán xư lý của PE
MUX_N_1
Op #1 Op #2 Op #16
OP_CODE
OUT
IN_A IN_B
Hình 21: Cấu trúc DATAPATH của PE
Khối tính toán xử lý PE chỉ là mạch tổ hợp thông thường, thực hiện chức năng DATAPATH với kiến trúc như trong Hình 21. Khối gồm 2 đầu vào A, B. Các toán tử được thực hiện đồng thời, kết quả đầu ra sẽ được lựa chọn thông qua bộ ghép kênh với đầu vào lựa chọn là giá trị của OpCode. Bảng 5 mô tả chi tiết hơn về giao diện làm việc của PE.
Bảng 5: Thông số và giao diện của module DATAPATH
TT Tham số/Giao diện Vào/ra Mô tả
1 Tham số
1.1 DATA_WIDTH ộ rộng đường dữ liệu
2 Giao diện
2.1 DATA_A_I Vào Dữ liệu đầu vào kênh A
2.2 DATA_B_I Vào Dữ liệu đầu vào kênh B
2.3 OpCode_I Vào Mã lệnh
Bảng 6: Danh sách phép toán của DATAPATH
TT OpCode Toán tử ầu vào Mô tả
1 0000000 + A,B Kết quả = A + B
2 0000001 - A,B Kết quả = A - B
3 0000010 x A,B Kết quả = A x B
4 0000011 AND A,B Kết quả = A and B
5 0000100 OR A,B Kết quả = A or B
6 0000101 XOR A,B Kết quả = A xor B
7 0000110 NOT A Kết quả = not A
8 0000111 NAND A,B Kết quả = A nand B
9 0001000 NOR A,B Kết quả = A nor B
10 0001001 NXOR A,B Kết quả = A nxor B
11 0001010 ROTL A,B Kết quả = được quay vòng trái B bit 12 0001011 ROTR A,B Kết quả = được quay phải trái B bit 13 0001100 SHL A,B Kết quả = được dịch trái B bit 14 0001101 SHR A,B Kết quả = được dịch phải B bit
15 0001110 BYPASS A Kết quả = A
ầu ra của D T P TH được lựa chọn bởi trường mã lệnh OpCode. Số bit đầu v o Op ode l 7 bit, tương ứng với tối đa số phép toán DATAPATH có thể thực hiện tối đa là 128 phép toán. Tuy nhiên, trong quá trình thiết kế mức RTL của PE, hiện tại mới chỉ dùng 16 phép toán thường dùng trong kỹ thuật điều khiển (tương ứng với 4 bit điều khiển), các bit còn lại được sử dụng dự phòng trong trường hợp mở rộng tập lệnh cho các phiên bản thiết kế trong tương lai.