4 Mô phỏng và đánh giá hiệu quả của bộ điều khiển tần số điện áp
2.3 Chiến lược lưu trữ trên bộ định tuyến
vậy, ma trận chuyển mạch (crossbar) phải có tốc độ làm việc nhanh hơn N lần so với tốc độ làm việc của các lối vào và lối ra, kể cả khi N lối vào cùng được định tuyến đến cùng một lối ra.
• Hàng đợi lối ra ảo (VOQ: virtual output queuing): Với chiến lược này,
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 2.3(c). Ý tưởng của chiến lược này là kết hợp ưu điểm của hai chiến lược trên. Về nguyên tắc, chiến lược VOQ là một phiên bản của chiến lược hàng đợi lối vào với các hàng đợi lối ra ảo nhằm loại bỏ hiện tượng tắc nghẽn ở các đầu hàng đợi lối vào và bắt chước hoạt động của chiến lược hàng đợi lối ra. 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. Nhờ vậy, chiến lược VOQ cho ta một hiệu suất lưu trữ cao hơn. Đổi lại, chiến lược này đòi hỏi một số lượng lớn hàng đợi và do đó chi phí thực thi phần cứng khá cao.
• Hàng đợi lối vào ưu tiên kênh ảo (VCPIQ: virtual channel priority input queuing): Chiến lược này được đề xuất nhằm tăng hiệu năng chuyển mạch và giảm nhược điểm của chiến lược VOQ. Với một kênh vật lý, chúng ta thiết lập P hàng đợi (P < N) tương ứng với P kênh ảo cùng chia sẻ băng thông của kênh vật lý (xem Hình 2.3(d)). Việc sử dụng dung lượng kết nối tăng lên
đáng kể nhờ giảm khả năng tắc nghẽn đầu hàng đợi. Mặt khác, độ trễ đáp ứng và độ phức tạp của bộ định tuyến tăng cùng với số lượng kênh ảo. Nghiên cứu của Pande và đồng nghiệp [60] chỉ ra rằng số lượng kênh ảo bằng 4 (P = 4) cho ta một thoả hiệp tốt nhất giữa tốc độ truyền dữ liệu và độ trễ đáp ứng.
2.1.2.5 Thuật toán định tuyến
Thuật toán định tuyến xác định đường đi từ nguồn về đích của một gói tin. Trong một kiến trúc truyền thông, thuật toán đóng một vai trò hết sức quan trọng: thuật toán tối ưu nhất sẽ đem lại hiệu năng truyền thông cao nhất. Chính vì vậy, việc nghiên cứu về thuật toán truyền thông được các nhà thiết kế hết sức quan tâm. Ta cần phải phân tích, cân đối các yêu cầu của bài toán để lựa chọn, xây dựng một thuật toán vừa cho phép sử dụng tối ưu các liên kết truyền thông, vừa tương đối đơn giản trong việc thực hiện trên chip.
Hiện có nhiều thuật toán định tuyến được sử dụng trong thiết kế các mạng trên chip. Việc lựa chọn thuật toán phụ thuộc vào bài toán và định hướng của các nhóm nghiên cứu khác nhau. Nhưng về cơ bản thì chúng ta có thể tạm phân thành hai loại lớn: thuật toán định tuyến xác định (deterministic routing algorithm) và thuật toán định tuyến thích ứng (adaptive routing algorithm).
Với thuật toán định tuyến xác định (còn được gọi là thuật toán định tuyến tĩnh – static routing algorithm), đường dẫn giữa nguồn và đích được xác định và sử dụng một cách độc lập với tình trạng hiện tại của mạng. Thuật toán này không quan tâm đến tải hiện tại của các bộ định tuyến và các liên kết mạng khi đưa ra quyết định định tuyến. Trong khi đó, với thuật toán định tuyến thích ứng (còn được gọi là thuật toán định tuyến động – dynamic routing algorithm), việc quyết định đưa ra đường định tuyến cho gói tin liên quan chặt chẽ đến trạng thái của mạng tại thời điểm đó (tải của mạng, sự sẵn sàng của các liên kết mạng). Kết quả là đường truyền thông giữa nguồn và đích của của một gói tin thay đổi theo thời gian.
Thuật toán định tuyến xác định đơn giản hơn so với thuật toán định tuyến thích ứng khi thực hiện xét về khía cạnh lô-gíc và sự tương tác qua lại giữa các bộ định tuyến [12]. Thuật toán này thích hợp cho các ứng dụng mà ta có thể dự kiến được các quá trình trao đổi dữ liệu trong mạng và các quá trình trao đổi này tương đối ổn định. Do đó, nó thường được dùng cho các mạng trong các hệ thống ứng dụng riêng (ASIC). Ngược lại, thuật toán định tuyến thích ứng thường được dùng cho các ứng dụng có lưu lượng mạng không có quy tắc và thường không đoán trước được. Ví dụ trong trường hợp các hệ thống đa xử lý như MPSoC (Multi-Processor SoC).
hơn theo nơi lưu giữ thông tin định tuyến hay nơi đưa ra quyết định định tuyến. Một thuật toán được gọi là thuật toán định tuyến nguồn (source routing) nếu đơn vị phát dữ liệu xác định đường định tuyến. Trong trường hợp này 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.
Ngược lại, nếu mỗi bộ định tuyến chọn đích đến của gói tin theo hàm của địa chỉ đến (hoặc các tiêu chí khác), thì trường hợp này gọi làthuật toán định tuyến phân tán. Quyết định định tuyến được đưa ra tại từng bộ định tuyến bằng cách quan sát các địa chỉ đích đến trong một bảng định tuyến hoặc thực hiện một hàm định tuyến bằng phần cứng [14]. Với thuật toán này, mỗi bộ định tuyến sẽ phải chứa một bảng định tuyến được xác định trước hoặc một mạch lô-gíc với đầu vào là địa chỉ đích đến của gói tin và đầu ra là quyết định về hướng định tuyến. Khi có một gói tin được đưa đến lối vào bộ định tuyến, dựa vào thông tin về đích đến, lối ra định tuyến sẽ được tìm thấy thông qua việc tra bảng định tuyến hoặc được tính toán thông qua mạch lô-gíc nói trên.
2.1.2.6 Giao thức truyền thông
Trong một hệ thống truyền thông, giao thức truyền thông xác định nguyên tắc truyền dữ liệu. Đó là một loạt các quy định và phương pháp cần thiết để truyền một thông tin từ nơi phát đến nơi nhận. Để đơn giản việc thực hiện giao thức truyền thông, người ta chia giao thức thành các tầng khác nhau với các chức năng xác định.
Như đã đề cập ở trên, khái niệm mạng trên chip được dựa trên mạng máy tính vì vậy ta có thể sử dụng một số giao thức truyền thông thường được dùng trong các mạng máy tính. Tuy nhiên, các giao thức truyền thông trên mạng máy tính khá phức tạp vì được sử dụng cho các tô-pô không xác định. Do đó, trong khái niệm mạng trên chip ta phải đơn giản hoá các giao thức này nhằm đạt được thoả hiệp tốt nhất giữa hiệu năng và giá thành thực thi. Một số giao thức truyền thông cho mạng trên chip đã được đề xuất trong các công trình [43, 12, 55, 52] khá tương đồng với mô hình OSI như được trình bày trong Hình 2.4.
Theo các đề xuất này, bốn tầng thấp nhất được thực thi trên NoC. Những tầng cao hơn thường được dùng cho các ứng dụng và được thực thi trên các lõi xử lý (IP, CPU) kết nối với NoC. Phần còn lại của mục này sẽ trình bày sơ lược về chức năng của bốn tầng thấp nhất.