4. Cấu trúc nội dung của luận án
2.4.1. Nguyên lý thay đổi tốc độ liên kết (link_rate)
Trong năm 2010, chuẩn IEEE 802.3 az [26] có chế độ năng lượng nghỉ thấp được đánh giá cao về hiệu quả năng lượng. Chế độ làm việc này giúp cổng Ethernet giảm được
33
năng lượng tiêu thụ của đường dẫn khi không có lưu lượng dữ liệu. Paillassa và các cộng sự [46] chỉ ra một số thuận lợi khi phân tích gần chính xác mô hình năng lượng dựa trên chuyển mạch hỗ trợ EEE. Một vài nhà sản xuất đang sản xuất một số sản phẩm hỗ trợ chuẩn EEE. Tuy nhiên, trên Kit NetFPGA có chip Ethernet từ Broadcom không đáp ứng chuẩn IEEE 802.3az. BCM5464SR Network IC chỉ hỗ trợ chuẩn IEEE 802.3u và chuẩn IEEE 802.3ab [25]. Trong phần này, tác giả đề xuất một giải pháp mới điều khiển tất cả các cổng trên Kit NetFPGA. Giống như chuẩn 802.3az, năng lượng tiêu thụ được giảm khi lưu lượng tải trên đường truyền thấp hoặc đạt tới chế độ nghỉ.
Trong nghiên cứu [18], dòng gói tin trên cổng Ethernet được điều khiển bởi việc thay đổi tần số xung nhịp của mô đun TEMAC được đặt ở khối MAC RC-TX của chip FPGA. Tuy nhiên, phương pháp này không tiết kiệm được nhiều năng lượng như mong đợi bởi vì chip vật lý Ethernet vẫn chạy trong khi tần số đã được cắt giảm. Trong phần này, tác giả giới thiệu một phương pháp khác để thay đổi trạng thái mỗi cổng Ethernet chạy ở một số mức băng thông khác nhau. Dựa vào MDIO (Management Data Input/Output) là một đường bus nối tiếp được định nghĩa trong chuẩn IEEE 802.3 [25] cho MII (Media Independent Interface). MII kết nối với thiết bị MAC (Media Access Control) với Ethernet ở tầng vật lý. Theo bản vẽ mạch nguyên lý, trên Kit NetFPGA-1G, chip BCM5464SR NIC có hỗ trợ MDIO với thanh ghi MII [60] có chức năng từng bit như Bảng 2.3.
Bảng 2.3. Chức năng từng bit của thanh ghi điều khiển MII
Bit Tên Mô tả
Bit 15 Reset ( Thiết lặp lại) 1 = PHY Thiết lặp lại
0 = Hoạt động bình thường
Bit 14 Reserved (Dự phòng) Giá trị luôn 0, ghi bỏ qua
Bit 13 Speed Selection (LSB)
(Lựa chọn tốc độ link) Bit 6 ,13 1 1 = Dự phòng 1 0 = 1000 Mb/s 0 1 = 100 Mb/s 0 0 = 10 Mb/s
Bit 12 Auto-negotiation (Tự động thương lượng)
Enable
1 = Auto-negotiation hoạt động 0 = Auto-negotiation không hoạt động
Bit 11 Low Power (Chế độ công suất thấp) 1 = chế độ Low-power
0 = Hoạt động bình thường
Bit 10 Isolate (Cô lập tín hiệu) 1 = Cô lập PHY tới MII
0 = Hoạt động bình thường
34
chế độ tự động thương lượng) 0 = Auto-negotiation restart complete
Bit 8 Duplex Mode (Chế độ Duplex) 1 = Full-duplex (chạy toàn phần)
0 = Half-duplex (chạy một nửa)
Bit 7 Reserved (Dự phòng) Giá trị luôn 0, ghi bỏ qua
Bit 6 Speed Selection (MSB)( Lựa chọn tốc độ) See bit 13 ( kết hợp với bit 13)
Bit 5:0 Reserved (Dự phòng) Giá trị luôn 0, ghi bỏ qua
Trong BCM5464SR NIC có 4 thanh ghi MII để điều khiển 4 cổng Ethernet riêng biệt. Mỗi thanh ghi MII có địa chỉ riêng. Để đọc hoặc ghi trên thanh ghi MII, TEMAC có thể giao tiếp với thanh ghi MII sử dụng giao thức MDIO với địa chỉ thanh ghi tương ứng. Do vậy, bằng cách thay đổi driver OpenFlow, chuyển mạch có thể nhận được bản tin điều khiển OpenFlow từ bộ điều khiển (NOX hay POX) và thiết lập giá trị của thanh ghi MII để thay đổi chế độ hoạt động. Cấu trúc của tin nhắn MDIO gồm 7 phần chính với độ dài 32 bit được mô tả ở Hình 2.8. Hai bít đầu tiên của bản tin được cố định sẵn là “01”, tiếp đến là 2 bit chế độ hoạt động (“01” cho chế độ ghi, “10” cho chế độ đọc). Hai trường quan trọng tiếp theo là địa chỉ vật lý và địa chỉ thanh ghi, nơi chứa chính xác địa chỉ của thanh ghi MII. Cả hai trường đều rộng 5 bit, được đánh địa chỉ bởi trình biên dịch. Lưu ý rằng do chỉ có một chip vật lý Ethernet trên Kit NetFPGA-1G, địa chỉ vật lý chỉ có một giá trị cho tất cả tin nhắn MDIO được gửi trên Kit.
- - 27 - - - 31 30 29 28 0 1 - - Hoạt động 2 bit đầu 22 - -
Địa chỉ thanh ghi [4:0]
- - -
17 16 15 0
- - - - -
TA Bit điều khiển dữ liệu [15:0] -
Địa chỉ vật lý[4:0]
Hình 2.8. Cấu trúc bản tin MDIO
Địa chỉ thanh ghi của 4 cổng Ethernet bắt đầu ở 0x440000 và tăng thêm 0x000080 cho mỗi cổng. Trường 16 bit cuối trên bản tin MDIO chứa bit dữ liệu cái mà có thể ghi trực tiếp vào thanh ghi trong chế độ ghi. Để điều khiển băng tần cho mỗi cổng với thanh ghi MII, đầu tiên chế độ tự động thương lượng (auto-negotiation) sẽ được vô hiệu hóa bằng cách thiết lập bit thứ 12 thành „0‟. Sau đó sự kết hợp bit 6 và bit 13 có thể được sử dụng để chọn 3 trạng thái băng thông khác: a) “00” cho 10 Mbps; b) “01” cho 100 Mbps; c) “10” cho 1 Gbps và “11” không sử dụng. Hình 2.9 mô tả các trường của thanh ghi MII.
Lựa chọn tốc độ R - SP0 AN LP - - 6 0 - SP1 - - - 15 13 Chế độ công suất thấp Tự động thương lượng - 5 - - -
35