Những điều bạn cần biết về QPI ( QuickPath Interconnect )

Giới thiệu Ngay từ khi bắt đầu những bộ vi xử lí Intel dùng Bus ngoài có tên gọi FSB ( Front Side Bus ) được dùng chia xẻ giữa Bộ nhớ và những yêu vào Vào / Ra .

Thế hệ Intel CPU tiếp theo ( Nehalem ) đã tích hợp Bộ phận điều khiển bộ nhớ vào trong ( tương tự như cấu trúc trong bộ vi xử lí AMD Athlon 64 ) và như vậy sẽ cung cấp hai Bus ngoài : Bus nhớ để nối CPU tới Bộ nhớ và Bus Vào / Ra ( I/O ) để nối CPU với thế giới bên ngoài . Bus này là Bus mới được gọi là QPI ( QuickPath Interconnect ) và trong bài này chúng tôi sẽ giải thích nó làm việc như thế nào .

Trong Hình 1 và 2 chúng ta đang so sánh cấu trúc truyền thống trong những CPU của Intel và cấu trúc mới sẽ dùng trong những CPU Intel mà tích hợp Bộ phận điều khiển bộ nhớ ( Nehalem trở đi ) .

 

\"\"

Hình 1 : Cấu trúc dùng trong những CPU Intel hiện thời

 

\"\"

Hình 2 : Cấu trúc dùng trong những CPU Intel mà tích hợp Bộ phận điều khiển bộ nhớ

 

Đó cũng chính là những ý tưởng mà AMD đã thực hiện trong những bộ vi xử lí Athlon 64 . hiện tại những CPU của AMD đều có tích hợp bộ phận điều khiển bộ nhớ bên trong và họ dùng Bus có tên gọi HyperTransport để thực hiện những công việc I/O .

QPI và HyperTransport có cùng một mục đích và công việc nhưng chúng lại không tương thích với nhau .

Tuy nhiên có nhiều chuyên gia kỹ thuật nói rằng QPI và HyperTransport không phải là Bus mà là kết nối Điểm - Điểm ( Point – to – Point ) . Bus là tập hợp những dây dẫn mà cho phép một số linh kiện được nối vào đó cùng một lúc , trong khi kể nối Điểm - Điểm  là đường nối chỉ có hai thiết bị . Thậm trí nhiều người nói rằng gọi QPI và HyperTransport là Bus là hoàn toàn sai , nhưng chúng ta cứ gọi như vậy cho đơn giản và thuận tiện .

Chúng tôi đã có bài viết trong mục Tri thức về “ Bus HyperTransport trong những bộ vi xử lí AMD “ , các bạn nên tham khảo để biết thêm .

 

QPI ( QuickPath Interconnect )

 

Cũng như HyperTransport , QPI cung cấp hai đường truyền ( Lane ) riêng biệt để trao đổi thông tin giữa CPU với Chipset , như trong Hình 3 . Điều này cho phép CPU truyền ( Ghi – Write ) và nhận ( Đọc – Read ) dữ liệu I/O cùng một lúc .

Trong cấu trúc truyền thống dùng Bus ngoài , như FSB , khi đó những hoạt động Vào và Ra không thể thực hiện được cùng một lúc .

Khi nói tới Chipset , lúc đầu Intel sẽ tung ra những giải pháp Single-Chip . Giải pháp này là trong CPU có tích hợp Bộ phận điều khiển bộ nhớ tương đương với Chip NorthBridge nằm bên trong CPU , Chipset làm việc như là Chip SouthBridge hoặc “I/O Hub “ – IOH .

 

\"\"

Hình 3 : QPI cung cấp đường dữ liệu Vào / Ra riêng biệt

 

Như vậy QPI làm việc như thế nào ?

 

Mỗi Lanetruyền 20 bit mỗi lần . Trong 20 bit này có 16 bit được dùng cho dữ liệu , 04 bit còn lại được dùng để làm mã hiệu chỉnh hay còn gọi là CRC (Cyclical Redundancy Check ) để cho phép bên nhận kiểm tra dữ liệu xem có thay đổi hay không .

Phiên bản đầu tiên của QPI sẽ làm việc với tốc độ 3.2GHz truyền hai dữ liệu trong một chu kì xung nhịp đồng hồ ( công nghệ này được gọi là DDR , Double Data Rate ) điều đó cho phép Bus làm việc như với tốc độ 6.4GHz mà mỗi dữ liệu được truyền bằng một xung nhịp ( Intel sử dụng đơn vị GT/s – có nghĩa là truyền Giga / giây ) . Như vậy 16 bit dữ liệu được truyền tại một thời điểm chúng ta sẽ có tốc độ truyền dữ liệu cao nhất theo lí thuyết là 12.8 GB/s cho mỗi Lane ( 6.4 GHz x 16bit / 8 ) .

Bạn sẽ nghe thấy một số nhà sản xuất quảng cáo QPI có tốc độ truyền dữ liệu theo lí thuyết lớn nhất bằng 25.6GB/s bởi vì nó truyền dữ liệu theo hai hướng . Nhưng cách gọi như vậy có vẻ nghe không được chính xác cho lắm bởi vì không thể nói rằng trên đường cao tốc tốc độ giới hạn là 100 km/h bởi vì tốc độ mỗi hướng giới hạn 50km/h .

Hiện tại FSB cao nhất dùng với bộ vi xử lí của Intel có tốc độ 1600MHz ( thực tế là 400MHz nhưng một xung nhịp truyền được 04 dữ liệu ) nên có tốc độ cao nhất theo lí thuyết là 12.8GB/s . Tuy nhiên băng thông này lại được sử dụng chung cho cả hoạt động Đọc / Ghi và không thể thực hiện được cùng một lúc hai công việc này trên Bus FSB và điều này lại được khắc phục trong QPI . Bên cạnh đó FSB được dùng để truyền dữ liệu của bộ nhớ và những yêu cầu I/O , trong khi đó QPI chỉ truyền dữ liệu yêu cầu I/O vì thế mà QPI sẽ làm việc “ không bận rộn như FSB “ và lại có băng thông lớn hơn nên sẽ hạn chế những vấn đề liên quan tới “nút thắt cổ chai dữ liệu “ .

Hiện tại QPI cũng nhanh hơn so với HyperTransport . HyperTransport có tốc độ truyền dữ liệu cao nhất là 10.4GB/s , nhưng những bộ vi xử lí Phenom hiện thời dùng tốc độ thấp hơn đó là 7.2GB/s . Do đó CPU Intel Core i7 sẽ có Bus ngoài nhanh hơn 78% so với nền tảng của AMD Phenom . Những bộ vi xử lí khác của AMD như Athlon 64 , Athlon 64X2 dùng tốc độ thấp hơn chỉ đạt được 4GB/s – QPI nhanh hơn 220% .

Tiếp theo là phương thức vật lí truyền điện học của QPI , mỗi Bit được truyền sử dụng theo kiểu Vi sai , như trong Hình 4 . ( trong bài Gigabit Ethernet làm việc như thế nào chúng tôi có nói về cách thức truyền kiểu Vi sai ) . Do đó mỗi Bit sẽ dùng hai dây dẫn . QPI dùng tổng cộng 84 dây dẫn cho cả 02 Lane , như vậy chiếm hơn một nửa so với 150 dây dẫn có trong FSB . Đó cũng chính là thuận lợi thứ ba mà QPI mang lại ( thứ nhất là cung cấp đường truyền dữ liệu riêng giữa bộ nhớ và những yêu cầu I/O , thứ hai là cung cấp đường truyền dữ liệu riêng biệt cho hoạt động Ghi / Đọc ) .

 

\"\"

Hình 4 : QPI trong mức Vật lí

QPI sử dụng cấu trúc lớp , tương tự cấu trúc đã được dùng trong mạng , với 04 lớp : Physical , Link , Routing và Protocol .

 

Những phương thức năng lượng của QPI

 

QPI đưa ra ba phương thức liên quan tới mức năng lượng đó là L0 , L0s và L1 .

  • L0 là phương thức khi mà QPI hoạt động ở mức đầy đủ .
  • L0s là trạng thái hầu hết những dây dữ liệu và những mạch điện đều tắt để tiết kiệm năng lượng nhưng nó sẽ bật lên nhanh chống để chuyển sang L0 .
  • L1 là tắt tất cả để tiết kiệm năng lượng nhiều nhất có thể . Tất nhiên thời gian hồi phục sẽ lâu hơn so với trạng thái L0s .

 

\"\"

Hình 5 : Những Mode năng lượng của QPI

Độ tin cậy

 

Chúng ta đã đề cập bên trên , mỗi Lane của QPI có độ rộng 20-bit . Mỗi Lane lại xử lí theo 04 nhóm 5-bit . Sự phân chia này với mục đích để nâng cao độ tin cậy nhất là trong môi trường Máy chủ . Bạn sẽ không thấy đặc điểm này trong những hệ thống để bàn .

Khi đặc điểm này được sử dụng , nếu Bên thu nhận thấy sự kết nối giữa nó và Bên phát xuất hiện sự hư hỏng do ảnh hưởng vật lí , nó có thể Shut Down một phân Bus bị hỏng và việc truyền dữ liệu được chuyển sang phần không bị hư hỏng nên dữ liệu không bị ngắt quãng . Tất nhiên khi ấy tốc độ truyền dữ liệu sẽ thấp đi nhưng hệ thống không bị hỏng .

 

\"\"

Hình 6 : Cải thiện độ tin cậy trong hệ thống máy chủ


\"\"