245
TẠP CHÍ KHOA HỌC, Đại học Huế, tập 73, số 4, năm 2012
TRUYỀN THÔNGTÍCH HỢP, SỬDỤNGSYSTEMC
CHO THIẾTKẾMẠNGTRÊNCHIP
Lê Văn Thanh Vũ, Nguyễn Thị Mỹ Kiều
Trường Đại học Khoa học, Đại học Huế
Tóm tắt. Dựa vào sự phát triển của công nghệ bán dẫn cho phép tích hợp ngày
càng nhiều lõi chức năng (còn gọi là IPcore, như
P, DSP, AD&DA, …) và hướng
đến thực hiện đầy đủ chức năng hệ thốngtrên một chip đơn, SoC (System-on-
Chip). Trong xu thế phát triển các thiếtkế SoC, bài toán truyềnthôngtích hợp là
một thành phần quan trọng đến tổng thể hệ thống, từ đó hình thành khái niệm thiết
kế lấy truyềnthông là trung tâm. Để đáp ứng được yêu cầu trao đổi giữa các thành
phần hệ thống tăng cao và phức tạp hơn, các cơ chế cổ điển đã trở thành điểm hạn
chế, cần có một cơ chế mới để đáp ứng được yêu cầu mới. Mô hình mạngtrênchip
– NoC (Network on Chip) là một xu thế truyền thôngtích hợp đã và đang chứng tỏ
được sự hiệu quả và linh hoạt khi cho phép tái cấu hình theo từng ứng dụng cụ thể
của hệ thống. Xem xét các khía cạnh của truyền thôngtích hợp, từ đó hướng đến
thiết kế mô hình truyềnthôngchomạngtích hợp sửdụng ngôn ngữ mô tả SystemC
là những nội dung được trình bày trong bài báo này.
1. Giới thiệu chung
Kích thước các linh kiện bán dẫn ngày càng thu nhỏ nhờ áp dụng các kỹ thuật
nano. Điều này dẫn đến sự gia tăng nhanh chóng mật độ tích hợp trên đế Silicon, yếu tố
cho phép tạo ra các vi mạch đa chức năng và hoàn thiện. Thách thức đặt ra là phải giải
quyết bài toán thiếtkế kiến trúc truyềnthôngtrênchip thay cho bài toán thiếtkế hệ
thống trênchip khi thiếtkế các hệ thốngtích hợp. Sự kết hợp các ưu điểm của truyền
thông mạng, ứng dụng luân chuyển dữ liệu trong các hệ thống phức tạp như đa nhân, đa
chức năng, đa ứng dụng, và khả năng tái cấu hình đã hình thành nên một kiến trúc
truyền thông mới trênchip – NoC. NoC được xem là giải pháp cho các hệ thống phức
tạp nhờ có các ưu điểm vượt trội như tốc độ truyền cao, linh hoạt ứng dụng, chi phí và
thời gian thiếtkế thấp.
2. Các công trình liên quan
Hiện nay đã và đang có rất nhiều các công trình nghiên cứu thiếtkế bài toán
truyền thôngmạngtích hợp trênchip theo nhiều hướng khác nhau; nhưng tựu trung là
đề xuất các giải pháp xây dựngmạng dạng ad-hoc hỗ trợ cho các IPcore đã có sửdụng
giao tiếp BUS bằng ngôn ngữ VHDL (VHSIC hardware description language) hoặc
246
Verilog.
K. Goossens và các đồng sự [2] phát triển Æthereal NoC, mô hình mạng đồng
bộ khu vực sửdụng nguyên chuyển mạch kênh có đệm ở bộ định tuyến tập trung cho
vấn đề đảm bảo chất lượng truyềnthông và cân bằng với hiệu suất thiết kế.
Một hướng nghiên cứu đang rất thu hút các trung tâm lớn là mô hình GALS, cho
phép hệ thống tổng thể hoạt động bất đồng bộ, nhưng tại từng khu vực vẫn có đồng bộ
phù hợp để nâng cao hiệu quả toàn hệ thống. Một số dòng sản phẩm nổi bật như: ANoC
của CEA-LETI, Nostrum của phòng thí nghiệm KTH tại Thụy Điển, MANGO,
Trong bài báo này chúng tôi định hướng vào bài toán thiếtkế một mô hình
truyền thôngtích hợp sử dụng NoC và mô tả bằng ngôn ngữ SystemC, ngôn ngữ mô tả
phù hợp chothiếtkế hệ thống ở mức cao. NoC là một kiến trúc phức tạp, nếu sửdụng
các ngôn ngữ đặc tả như VHDL và Verilog sẽ rất phức tạp và mất nhiều thời gian đồng
thời đòi hỏi nhiều công cụ chuyên dụng để biên dịch và tổng hợp. SystemC là một ngôn
ngữ dạng mã nguồn mở phù hợp cho những nghiên cứu bước đầu của thiếtkế điện tử
nói chung và nhất là vấn đề truyềnthông cần có sự mô tả rõ ở mức hệ thống. Kết hợp
hai yếu tố của sự linh hoạt của mạngtích hợp và khả năng mô tả hoàn thiện của
SystemC chúng tôi đã tiến hành mô tả kiến trúc các thành phần bộ định tuyến của mạng
tích hợp.
3. Tổ chức mạngtrênchip
Hình 1. Một số dạng topo mạng thường dùng
(a) ring hay chordal ring; (b) fat-tree; (c) butterfly fat-tree; (d) 2D mesh; (e) 2D torus; (f) 2D
folded torus
NoC về cơ bản là hạ tầng truyềnthông của các thành phần trong hệ thống, thực
247
hiện việc kết nối cho mục đích trao đổi thông tin giữa hai IPcore, nên mạng hoạt động
theo dạng ad-hoc. Nó được phát triển dựa trên một số mô hình mạng vi xử lý đã có như:
cấu trúc liên kết mạng (topology), nguyên tắc điều khiển luồng End-to-End, và các kỹ
thuật định tuyến phù hợp cho mạng.
Cấu trúc liên kết mạngtrênchip chỉ ra cách bố trí vật lý của các kết nối giữa
node mạng và các thành phần hệ thống. Topo mạng với tác động đến quãng đường đi
của thông tin giữa các IPcore, do đó ảnh hưởng đáng kể đến độ trễ đáp ứng mạng, sự
tiêu thụ năng lượng mạng. Chi phí thực thi một topo phụ thuộc vào hai yếu tố: số liên
kết tại mỗi nút (cấp bậc bộ định tuyến) và sự thuận lợi cho việc bố trí trên chip. Về cơ
bản NoC sửdụng tất cả các dạng topo mạng đã có như ở Hình 1. Mỗi topo đều có
những ưu, nhược điểm riêng. Nhưng vì chip được sản xuất trên một phiến bán dẫn 2D
nên mô hình 2D-mesh và 2D-torus được chú ý hơn cả khi có rất nhiều công trình áp
dụng.
Trong điều kiện bài toán thiếtkế một khối truyềnthông tiêu chuẩn, chúng tôi lựa
chọn mô hình topo 2D-mesh, lúc đó mỗi bộ định tuyến sẽ có 5 cổng kết hợp với IPcore
sẽ là một cell cơ bản của hệ thống .
Hình 2. Cấu trúc chi tiếp NoC 2Dmesh
Kỹ thuật truyềnthông là tập hợp các giải pháp để chuyển giao thông tin trên
NoC, trong đó truyềnthông là phương thức chuyển tiếp thông tin tại các điểm node
mạng. Mạng chuyển mạch gói thực hiện việc thiết lập đường nối tức thời giữa hai điểm
(mạng ad-hoc) để các IPcore trao đổi thông tin. Trong quá trình phát triển mạngtích
hợp, nhiều nghiên cứu đã hướng đến sự tối ưu của mạng chuyển gói với khả năng chia
sẽ hiệu quả cao trong việc sửdụng tài nguyên và bảo đảm chất lượng liên kết.
Với kỹ thuật nối-chuyển gói, dữ liệu được chia nhỏ thành nhiều gói tin tại nguồn
trước khi gởi đến đích, mỗi gói tin bao gồm thông tin định tuyến, điều khiển và dữ liệu.
248
Các gói tin có thể được truyền đi đồng thời theo các đường kết nối khác nhau và được
tái sắp xếp, hợp thành dữ liệu ban đầu tại đích đến. Nhờ thế, hiệu suất mạng được khai
thác tối đa bằng cách chia sẻ tài nguyên mạng.
Hình 3. Cơ chế truyềnthông Wormhole
Vì sửdụng kỹ thuật nối-chuyển gói khá phức tạp nên các gói tin được chia thành
các đơn vị nhỏ hơn, có kích thước cố định, gọi là flit. Và cơ chế truyềnthông chính là
cách thức các gói tin đi từ bộ định tuyến này sang bộ định tuyến tiếp theo trong mạng.
Hình 3 mô tả cơ chế truyềnthông Wormhole, trong đó, một flit được truyền từ nút mạng
này sang nút mạng tiếp theo khi nút mạng tiếp theo có khả năng lưu trữ flit đó. Mỗi gói
tin bao gồm một flit tiêu đề và theo sau bởi nhiều flit dữ liệu. Các bộ định tuyến nhìn
tiêu đề của gói (ở flit tiêu đề) để xác định bước tiếp theo và ngay lập tức chuyển tiếp flit,
các flit đến sau được chuyển tiếp ngay khi chúng đến, vì thế tạo ra gói “bò” theo tuyến
qua mạng. Nhờ đó, chi phí cho không gian bộ đệm nhỏ, độ trễ đáp ứng thấp. Tuy nhiên,
nếu một flit bị chặn thì các flit theo sau cũng bị chặn, dẫn đến ảnh hưởng toàn bộ các
liên kết mà nó đang chiếm dụng trong mạng. Khi đó, các kết nối khác không thể sử
dụng bất kỳ nút mạng nào trong số đó dẫn tới tắc nghẽn.
Chiến lược lưu trữ hàng đợi lối ra ảo
Hình 4. Hàng đợi lối ra ảo.
249
Kênh ảo là sự chia sẻ một kênh vật lý thành nhiều kênh lô-gic riêng biệt với các
hàng đợi độc lập và bộ đệm phụ thuộc. Sửdụng kênh ảo mang lại nhiều lợi ích: tránh
tắc nghẽn tĩnh, tối ưu sửdụng dây dẫn, cải thiện hiệu năng, cung cấp các dịch vụ phân
biệt. Khi sửdụng kỹ thuật nối-chuyển gói, các bộ định tuyến phải chứa các phần tử nhớ
(các bộ đệm dữ liệu). Với chiến lược hàng đợi lối ra ảo (VOQ), N
2
hàng đợi được thiết
lập tại N lối vào của bộ định tuyến như mô tả trong Hình 4. Tất cả lối vào đều có thể
được chuyển đến lối ra trong cùng một thời điểm, do đó chiến lược VOQ cho hiệu suất
lưu trữ cao. Tuy nhiên, nó lại đòi hỏi một số lượng hàng đợi lớn và do đó giá thành thực
thi phần cứng khá đắt. Trong NoC, trên một kênh vật lý, số kênh ảo cho hiệu quả sử
dụng tốt nhất là bốn. Tuy nhiên, trong nghiên cứu này chỉ sửdụng hai kênh ảo để giảm
độ phức tạp, chi phí khi thiếtkế cũng như giải quyết vấn đề cấp phát kênh ảo hiệu quả
khi có yêu cầu.
Thuật toán định tuyến nguồn: tương ứng với tô-pô đưa ra, thuật toán định tuyến
xác định đường dẫn qua mạng mà theo đó một bản tin sẽ đến được đích. Vai trò của
thuật toán định tuyến là đưa ra những quyết định định tuyến thông minh nhằm cân bằng
lưu lượng tải, yếu tố ảnh hưởng trực tiếp đến thông lượng và hiệu năng mạng. Do đó,
lựa chọn thuật toán định tuyến phù hợp thì hiệu năng truyềnthông nhận được sẽ lớn
nhất. Trong phạm vi nghiên cứu này, thuật toán định tuyến nguồn được áp dụng để đơn
giản hóa vấn đề khi xét về khía cạnh logic và sự tương tác qua lại giữa các bộ định
tuyến. Vì thế, đường dẫn giữa nguồn và đích được xác định ngay tại nguồn (đơn vị phát
dữ liệu). Các thông tin về đường định tuyến được tính toán và lưu trữ trong một bảng
định tuyến của đơn vị phát dữ liệu. Khi đơn vị phát muốn gửi đi một gói tin, nó sẽ tìm
kiếm các thông tin định tuyến tương ứng với đích đến trên bảng định tuyến và chèn các
thông tin này vào flit tiêu đề của gói tin
Kỹ thuật điều khiển luồng dữ liệu bằng credit
Điều khiển luồng xác định cách các tài nguyên được cấp phát đến các bản tin khi
chúng di chuyển trên mạng. Nói cách khác, nó là cơ chế xác định sự di chuyển gói dọc
theo đường dẫn mạng. Vì thế nó bao gồm cả vấn đề toàn cục và cục bộ. Nó chịu trách
nhiệm cấp phát (và giải phóng) các bộ đệm, kênh ảo đến các gói tin đang đợi, chủ yếu
hướng đến vấn đề đảm bảo hoạt động của mạng diễn ra đúng.
Thông thường, các mạngtrênchip giải quyết điều khiển luồng tại mức flit. Các
bộ đệm và băng thông kênh được cấp phát theo các flit thay vì cấp phát cho toàn gói tin,
thế nên các bộ định tuyến có thể được thiếtkế với các bộ đệm nhỏ hơn. Do đó, kỹ thuật
điều khiển luồng còn có thể được mở rộng để giải quyết các vấn đề gồm tận dụng các
tài nguyên mạng một cách tối ưu, cung cấp hiệu năng dự đoán các dịch vụ truyền thông.
Với kỹ thuật credit, bên truyền phải nhận được các credit từ bên nhận trước khi gởi một
gói tin. Bên nhận gởi các credit theo khả năng lưu trữ thông tin mới của nó. Mỗi khi
một flit được gởi đi thì bên truyền phải giảm giá trị bộ đếm credit.
250
4. Thiếtkế bộ định tuyến
4.1. Kiến trúc bộ định tuyến đề xuất
Bộ định tuyến được thiếtkếsửdụngcho mô hình 2Dmesh, do đó sẽ có 5 cổng
tương ứng là NORTH, EAST, WEST, SOUTH và LOCAL, mỗi cổng sẽ có khối vào và
một khối ra hỗ trợ cho việc trao đổi thông tin hai chiều. Giao tiếp giữa các bộ định
tuyến với nhau và với IPcore qua một BUS 34bit và các tín hiệu handshake là SEND và
ACCEPT.
Tại mỗi cổng vào INPORT sẽ có BUS vào thông tin 34bit r_DATA và hai đầu
nhận tín hiệu điều khiển là SEND0 và SEND1 tương ứng với hai kênh ảo (kênh ảo 0 và
kênh ảo 1) đồng thời có hai tín hiệu trả lời bắt tay là ACCEPT0 và ACCEPT1. Để kết
nối với khối các cổng ra (4 giao diện còn lại) sẽ có một đường BUS dữ liệu 34bit và một
tín hiệu bắt tay handle0_toOUT cho kênh ảo 0 và handle1_toOUT cho kênh ảo 1. Chức
năng chính của khối vào là ở đầu mỗi xung, sẽ chờ tín hiệu SEND để biết có dữ liệu đến
sẽ đưa ACCEPT về mức 0 để bộ định tuyến bắt đầu nhận vào chuyển tiếp dữ liệu. Nhận
dữ liệu và trích thông tin định tuyến để xác định cổng ra tương ứng để chuyển tiếp dữ
liệu.
Cổng khối ra OUTPORT sẽ có 4 giao tiếp với các INPORT trong bộ định tuyến
và một giao tiếp với các thành phần khác (bộ định tuyến hoặc IPcore). OUTPORT thực
hiện chức năng chấp nhận chuyển tiếp thông tin và phát lại thông tin đến vị trí tiếp theo
trong mạngtích hợp
VC_Demux
Detect header
flit
Shift PTT to
router Infor
Router0
Routing data
Forward data to
Outport
Router1
Routing data
Forward data to
Outport
Data0 34
Data1 34
SendACC1
Receive signal complete
Genrate signal Acept1
SendACC1
Receive signal complete
Genrate signal Acept1
r
e
c
1
3
4
1
1
Data In
R_Send1
1
R_Send0
Accept1
1
Accept0
rec0
Vcmux
Send data to next router
Send S_Send signal
Arbiter0
Receive data0 from Input
Ans handle0
Forward data0 to Out
Arbiter1
Receive data0 from Input
Ans handle1
Forward data1 to Out
data1
data0
En_out0
En_out1
S_DATA
S_send0
S_send0
R_Accept0
R_Accept1
busy1
busy0
En_router0
En_router1
flag0
flag1
(a) (b)
Hình 5. Kiến trúc khối của bộ định tuyến đê xuất
4.2. Các kết quả mô phỏng
Sau khi thiết kế, chúng tôi tiến hành mô phỏng thử nghiệm và đã thu được kết
quả là các giản đồ tín hiệu mô tả hoạt động của bộ định tuyến
251
Hình 6. Giản đồ dạng sóng của các tín hiệu trong bộ định tuyến thiếtkế
4.3. Nhận xét và kết luận
Từ kết quả đã chứng tỏ với kiến trúc đề xuất đã thực hiện được quá trình trao đổi
thông tin theo các yêu cầu đặt ra của một khối định tuyến mạngtrênchip là nhận các
gói tin và chuyển tiếp theo thông tin định tuyến dạng Path-to-Target đã được đề xuất.
Đồng thời với kiến trúc chia hai phần vào và ra tách biệt cho thực hiện đệm dữ
liệu ở cổng vào khối định tuyến cũng là một khối đệm đầu ra ảo, vì chỉ khi đầu ra có thể
chuyển tiếp dữ liệu thì đầu vào mới có thể nhận được dữ liệu mới. Điều này thực hiện
theo đề xuất của chiến lượt bộ đệm ảo đầu ra.
Thiết kế tách biệt đầu ra và đầu vào cho phép giải quyết tốt bài toán tranh chấp
đầu ra, đồng thời giảm được chi phí thiếtkế và giảm số lượng tín hiệu bắt tay giữa các
thành phần của bộ định tuyến. Từ kết quả của dạng sóng mô tả hoạt động cho thấy khả
năng cân bằng ưu tiên đầu ra sẽ cho phép ghép nối vào mạng sẽ cân bằng được luồng tải
tin đi qua các node trung gian (Hình 6).
Mục tiêu tương lai của chúng tôi là sửdụng kiến trúc bộ định tuyến đề xuất để
thực hiện mạngtích hợp và đánh giá hiệu năng sửdụngthông qua các thông số truyền
thông của mạng như: độ tin cậy, độ trễ truyền và thông lượng mạng.
252
TÀI LIỆU THAM KHẢO
1. Trần Xuân Tú, Thiếtkế và mô hình hoá bộ định tuyến mạngdùngcho các kiến trúc
truyền thôngtrên vi mạch, Báo cáo tổng kết đề tài nghiên cứu khoa học cấp Đại học
Quốc gia Hà Nội, 2010.
2. Kees Goossens, John Dielissen, and Andrei Rădulescu, Æthereal Network on Chip:
Concepts, Architectures, and Implementations, IEEE Design & Test of Computers,
2005.
3. Sami Badrouchi, Ab-delkrim Zitouni, Kholdoun Torki, Rached Tourki, Asynchronous
NoC router Design, Journal of Computer Science 1 (3): (2005), 429-436.
4. Tobias Bjerregaard and Jens Sparsø, A Router Architecture for Connection-Oriented
Service Guarantees in the MANGO Clockless Network-on-Chip, Design, Automation
and Test in Europe Conference and Exhibition (DATE’05), 2005.
5. E. Beigné, F. Clermidy, S. Miermont, P. Vivet, Dynamic Voltage and Frequency Scaling
Architecture for Units Integration within a GALS NoC. Second ACM/IEEE
International Symposium on Networks-on-Chip.
INTEGRATED COMMUNICATION, USING SystemC
FOR DESIGNING NETWORK ON CHIP
Le Van Thanh Vu, Nguyen Thi My Kieu
College of Sciences, Hue University
Abstract. In the development of semiconductor technology, a chip has more and
more IPcores (such as microprocesor -
P, DSP, AD&DA,…). System-on-chip is
the trend for designing chips when a silicon piece was integrated with full logic
function to depend operating, and then we have MPSoC, is SoC have a lot of
function and being used in smartphone or new electronic device. When designing
MPSoC, communication problem become more complex. Networ-on- Chip (NoC)
is a trend to solve exchange data between modules. In this paper, we used SystemC
to describe the sythesis a router, which is an important component of NoC.
SystemC is a good description language in the system level of the chip design. The
router was simulation and evaluation in the network.
. trúc truyền thông trên chip thay cho bài toán thiết kế hệ
thống trên chip khi thiết kế các hệ thống tích hợp. Sự kết hợp các ưu điểm của truyền
thông mạng, . ứng dụng cụ thể
của hệ thống. Xem xét các khía cạnh của truyền thông tích hợp, từ đó hướng đến
thiết kế mô hình truyền thông cho mạng tích hợp sử dụng