Đặt vấn đề Hệ thống trên chip, hay hệ thống SoC, tiếng Anh: System-on-Chip, viết tắt là SoC hay SOC) là một vi mạch (IC) được tích hợp các thành phần của một máy tính hoặc các hệ thống điện tử khác. Hệ thống SoC có thể bao gồm các khối chức năng kĩ thuật số (digital), tương tự (analog), tín hiệu kết hợp (mixed - signal) và cả các khối tần số radio (RF). SoC xuất hiện trong điện thoại di động - một thiết bị điện tử tiêu tốn it năng lượng. Ứng dụng điển hình của các hệ thống SoC là các hệ thống nhúng.
Một hệ thống máy tính điển hình bao gồm một loạt các mạch tích hợp cho phép thực hiện các nhiệm vụ khác nhau. Các mạch tích hợp này có thể là: e Bộ vi xử ly (Microprocessor) e Bo nhớ (RAM, ROM) ¢ Khối truyền thông nối tiếp UART ¢ _ Các cổng song song (parallel port) e_ Khối điều khiển truy xuất bộ nhớ trực tiếp (DMA controller) SoC tích hợp một vi điều khiển (hoặc một vi xử lí) với những ngoại vi như các bộ xử lí đồ họa (GPU: Graphics Processing Unit), module WiFi, hoặc bộ đồng xử lí (co-processor). Sự phát triển gần đây của công nghệ bán dẫn cho phép chúng ta tích hợp ngày càng nhiều thành phần vào một hệ thống trên một vi mach. SoC có thé tích hợp thêm các khối như: bộ xử lý tín hiệu số, bộ mã hóa, giải mã Viterbi, Turbo.
tùy theo yêu cầu của từng ứng dụng cụ thé. Theo dự đoán ITRSI (2009), trong thập kỷ tới độ phức tạp của hệ thống trên chip (SoC) sẽ tiếp tục tăng nhanh dé có thé đáp ứng yêu cầu ngày càng cao của các ứng dụng. SoC có thể tích hợp được hàng trăm, hay thậm chí nhiều hơn, lõi IP trên một chip đơn. Thiết kế SoC ở quy mô này được bắt đầu từ các thành phần đã được thiết kế sẵn, ví dụ như các bộ xử lý, bộ điều khiển và mảng bộ nhớ.
Phương pháp thiết kế tái sử dụng các lõi IP trở thành phương pháp thiết kế SoC phổ biến nhằm rút ngắn 1 thời gian đưa sản phẩm ra thị trường (time-to-market). Với phương pháp này, yếu tố quyết định lớn nhất sẽ được đề cập đó là sự phối hợp truyền thông giữa các thành phần. Việc thiết kế kiến trúc truyền thông trên chip đòi hỏi phải đáng tin cậy, năng lượng thấp và thực thi cao. Vấn đề kết nối sẽ trở thành yếu tố hạn chế với các mục tiêu.
Hướng nghiên cứu đề tài Dựa trên ý tưởng mô hình NoC để truyền gói tin một cách tự động (từ điểm nguồn đến điểm đích) mà không cần một đường đi được gán mặc định như trước. Đồng thời nhóm đề xuất một mô hình mang TCP/IP cùng với kiến trúc Mesh 3x3 và thuật toán định tuyến tĩnh. Nhóm nghiên cứu đề xuất hướng phát triển đề tài với mục tiêu là nghiên cứu, đánh giá, hiện thực mô hình mạng trên chip với cấu trúc liên kết dạng lưới với kích thước lớn sử dụng thuật toán định tuyến tĩnh dé tự tìm đường đi và giao thức bắt tay dé tránh mất gói. Cũng như đề xuất ra một mô hình NoC cơ bản nhất, dễ tham khảo và sử dụng vào các nghiên cứu về sau.
Mục tiêu đề tài Trong khóa luận tốt nghiệp, đầu tiên, nhóm sẽ nghiên cứu sâu, phân tích và tìm hiểu lý thuyết về các thành phần của mô hình mạng NoC. Tiếp theo, nhóm sẽ tiếp tục nghiên cứu, phân tích và thiết kế các thành phần bên trong mô hình NoC cơ bản, sử dụng ngôn ngữ Verilog và SystemVerilog để thiết kế và kiểm tra chức năng từng khối. Sau cùng, hiện thực thiết kế trên phần mềm Vivado bằng cách truyền gói tin theo các trường hợp tổng quát nhất dé kiểm tra tính chính xác của mô hình mà nhóm đã đề xuất. Network On Chip Network on chip (NoC) ra đời với ý định giải quyết các khó khăn này bằng cách thực hiện một mạng truyền thông.
NoC cho phép chia sẻ tài nguyên, nâng cao băng thông bằng việc chia sẻ các kênh truyền trên mạng, giảm nhỏ năng lượng tiêu thụ do các dây dẫn được thu ngắn, việc phân lớp khi thiết kế và khả năng sử dụng lại các tài nguyên là những đặc điểm thuận lợi khi thiết kế dựa trên NoC.1 mô tả mô hình NoC với cấu trúc 2D Mesh. HE Network Adapter — Link Hinh 2.1 M6 hinh NoC 2D Mesh Bộ chuyển mach (Router hoặc Router): là thành phần cơ ban của mạng, thực hiện việc định tuyến giữa các lỗi vào và lối ra. Nó có nhiệm vụ tính toán đích đến của dữ liệu, phân xử các tranh chấp trên đường truyền dữ liệu và cuối cùng truyền dữ liệu theo đường dẫn đã chọn. Mỗi bộ chuyền mạch thông thường kết nối một số các liên kết và một hay nhiều bộ ghép nỗi mạng NA.
Các bộ chuyển mạch được sắp xếp trong một tôpô mạng và chúng bắt tay chuyền tiếp và điều khiển luồng dữ liệu giữa các NA. Bộ phối ghép mạng thích ứng (NA: Network Adapter hoặc NI: Network Interface): cung cấp giao diện kết nối giữa lõi IP và bộ chuyển mạch. NA thực hiện đóng gói đữ liệu được cung cấp bởi IP thành các gói, các gói lại được phân chia thành các đơn vị dữ liệu nhỏ hơn (gọi là flit) trước khi chúng được gửi vào mạng. Các flit được sử dụng cốt để tối thiểu nhu cầu sử dụng bộ đệm và dây dẫn trong mạng.
Các liên kết (Links): là nhóm các dây dẫn song song kết nối giữa các bộ chuyển mạch. Độ rộng dữ liệu của các đường liên kết phụ thuộc vào số các dây dẫn bó lại với nhau và số đường tín hiệu được sử dụng. Trên các đường liên kết, tại một thời điểm chỉ có một flit dữ liệu được truyền. Các đường liên kết có nhiệm vụ kết nối các bộ chuyển mạch với các bộ NA.
Topology — Cấu trúc liên kết Tôpô (topology) mạng là cách bồ trí của các phan tử trong một hệ thống mạng. Nó quy định tổ chức vật lý của mạng và do đó thường được mô hình hoá bằng các cấu trúc hình học. Giống như trong mạng máy tính, tôpô mạng trên chip cũng có nhiều loại.2 Các mang topology ph biến se Tôpô mang chordal ring: thực chất là một tôpô mạng ring (các nút mạng nối với nhau thành một vòng kín) có bổ sung thêm các dây cung giữa các bộ chuyển mạch đối diện (Hình 2. Ưu điểm của tôpô mạng này cho phép hiệu năng truyền thông cao hơn tôpô mạng ring, nhưng kết nối và định tuyến cũng phức tạp hơn.
¢ _ Tôpô mạng 2D-mesh: là một dạng cấu trúc mạng lưới bao gồm m hàng van cột, giao của các hàng và cột là các bộ chuyển mạch (Hình 2. Tôpô này có ưu điểm là dễ dàng thực thi trên các công nghệ bán dẫn hiện tại, đơn giản trong chiến lược định tuyến, dễ dàng phát triển, dễ mở rộng mô hình mạng. Nhược điểm có độ trễ đáp ứng cao. 4 ¢ _ Tôpô mạng 2D torus: Mạng hình xuyến là một phiên ban cải tiến của mang mắt lưới cơ bản.
Trong đó phần đầu của cột được kết nối với phần cuối của cột và phía trái của hàng được kết nối với phía phải của hàng (Hình 2. Mạng hình xuyến có các bộ chuyển mạch rất nhỏ và có tính đa dạng đường dẫn. Với tôpô mạng này cho phép giảm đường kính của mạng và tăng băng thông. Tuy nhiên nó có một số hạn chế như thực thi trên tôpô mạng này phức tạp hơn, các liên kết nối vòng các bộ chuyền mạch phía ngoài dài dẫn đến suy giảm hiệu năng truyền thông và độ trễ đáp ứng cao.
¢ _ Tôpô fat-tree: Tôpô mạng hình cây lớn là một tôpô mạng có đường kính rất nhỏ nên độ trễ đáp ứng cũng giảm đi đáng kê (Hình II. Nhược điểm của tôpô này là có sự phân cấp bộ chuyển mach và kết nối phức tạp do đó không gian thực thi phần cứng cũng tăng lên đáng kể. Trong khi đó tôpô nhị phân (dạng cây cơ bản) rất hữu ích cho việc khai thác tính cục bộ của lưu lượng (Hình 2. ¢ Với sự đơn giản cũng như dễ thiết kế cho mô hình nên nhóm sẽ quyết định dùng cấu trúc liên kết Mesh với độ lớn là 3x3 (9 nodes) để mô hình hóa thiết kê của mình.
Kỹ thuật chuyển mạch gói Là kỹ thuật thực hiện chia dữ liệu thành nhiều gói tin và các gói này được chuyển tiếp theo từng chặng. Mỗi gói tin bao gồm thông tin định tuyến và dữ liệu. Các gói tin có thé được truyền trên các đường khác nhau và có thé cùng dịch chuyển tại một thời điểm. Tại đích đến, các gói tin hợp thành dữ liệu ban đầu.
Kỹ thuật chuyển mạch này có ưu điểm là tiết kiệm được thời gian truyền và tài nguyên mạng (vì không cần truyền cả gói dữ liệu lớn), tăng hiệu suất đường truyền (vì một kết nối giữa hai bộ chuyên mạch có thể dùng chung cho nhiều gói, các gói xếp hàng và truyền đi nhanh nhất khi có thẻ), nếu trong quá trình truyền gặp tắc nghẽn thì gói tin đó có thé đi theo đường khác dé đến đích. Trong trường hợp, gói tin truyền bị lỗi thì chỉ cần truyền lại gói tin đó thay vì phải truyền lại toàn bộ dữ liệu gốc. Ngoài ra, kỹ thuật này không cần bộ điều khiển trung tâm vi trong các gói tin đã chứa đựng day đủ các thông tin định tuyến. Tuy nhiên, kỹ thuật này có nhược điểm là trễ đường truyền lớn do qua mỗi bộ chuyền mạch dữ liệu được lưu trữ, xử lý trước khi truyền đi.
Vì thế, đòi hỏi các bộ chuyển mạch phức tạp và độ trễ đáp ứng tín hiệu lớn hơn. 5 Dựa theo thiết kế đã đề xuất, một gói tin sẽ chia thành nhiều flit (32 bit) bit khác nhau gồm: e Type (2 bit): Header, Body, Tail (10: Header, 00: Body, 01: Tail, 11: Handshake). © Source (4 bit): Nguồn gửi. e Destination (4 bit): Nguồn đích.
e Data Với Header thi Data (22 bit) sẽ là thông tin định tuyén. Với Body, Tail (26 bit) thì sẽ là thông tin dữ liệu. Type Source | Destination Routing Info 2 bit 4 bit 4 bit 22 bit Hinh 2.3 Flit Header Type Source Data 2 bit 4 bit 26 bit Hinh 2.4 Flit Body va Tail Type Source | Destination] send/receive accept mark_trip 2 bit 4 bit 4 bit 1 bit 1 bit 20 bit Hinh 2.5 Flit Handshake Bang 2.1 Mô tả các loại flit Loại flit Độ dài Thành phần Mục đích Header 32 bit - Type (2 bit) Dùng để xác định - Source, Destination (4 bit) :Ä x ` 4s (10) - Data (22 bit) điểm nguồn va đích cho gói.