Đăng ký Đăng nhập

Tài liệu R0inruw truyen thong tich hop su dung systemc cho

.PDF
8
304
112

Mô tả:

TẠP CHÍ KHOA HỌC, Đại học Huế, tập 73, số 4, năm 2012 TRUYỀN THÔNG TÍCH HỢP, SỬ DỤNG SYSTEMC CHO THIẾT KẾ MẠNG TRÊN CHIP 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ống trên một chip đơn, SoC (System-onChip). Trong xu thế phát triển các thiết kế SoC, bài toán truyền thông tí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ền thô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ạng trên chip – NoC (Network on Chip) là một xu thế truyền thông tí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ô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 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ết kế kiến 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 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ên chip – 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ết kế 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ết kế bài toán truyền thông mạng tích hợp trên chip 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ựng mạ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 245 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ền thô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ết kế một mô hình truyền thông tích hợp sử dụng NoC và mô tả bằng ngôn ngữ SystemC, ngôn ngữ mô tả phù hợp cho thiết kế 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ết kế điện tử nói chung và nhất là vấn đề truyền thô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ạng tí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ạng trên chip 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ền thông của các thành phần trong hệ thống, thực 246 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ạng trên chip 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ết kế một khối truyền thô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ền thông là tập hợp các giải pháp để chuyển giao thông tin trên NoC, trong đó truyền thô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ạng tí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. 247 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ền thô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ền thô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ền thô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. 248 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), N2 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ết kế 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ền thô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ạng trên chip 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ết kế 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. 249 4. Thiết kế bộ định tuyến 4.1. Kiến trúc bộ định tuyến đề xuất Bộ định tuyến được thiết kế sử dụng cho 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ạng tích hợp 1 Accept0 SendACC1 Receive signal complete Genrate signal Acept1 flag0 rec0 busy0 En_router0 R_Send0 R_Send1 1 1 Data In 34 VC_Demux Data0 34 Receive data0 from Input Ans handle0 Forward data0 to Out Routing data Forward data to Outport data0 S_send0 S_send0 En_out0 Vcmux Detect header flit Shift PTT to router Infor Send data to next router Send S_Send signal Data1 34 En_router1 busy1 rec1 1 Accept1 Arbiter0 Router0 Router1 En_out1 S_DATA R_Accept0 R_Accept1 Arbiter1 Routing data Forward data to Outport Receive data0 from Input Ans handle1 Forward data1 to Out data1 flag1 SendACC1 Receive signal complete Genrate signal Acept1 (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 250 Hình 6. Giản đồ dạng sóng của các tín hiệu trong bộ định tuyến thiết kế 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ạng trên chip 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ết kế 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ạng tích hợp và đánh giá hiệu năng sử dụng thô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. 251 TÀI LIỆU THAM KHẢO 1. Trần Xuân Tú, Thiết kế và mô hình hoá bộ định tuyến mạng dùng cho các kiến trúc truyền thông trê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. 252
- Xem thêm -

Tài liệu liên quan