Bước tới nội dung

Intel QuickPath Interconnect

Bách khoa toàn thư mở Wikipedia

Bản mẫu:Outdated

Intel QuickPath Interconnect (QPI)[1][2] là một kết nối điện của bộ xử lý có khả năng mở rộng được phát triển bởi Intel, nhằm thay thế front-side bus (FSB) trong các nền tảng Xeon, Itanium và một số nền tảng để bàn nhất định bắt đầu từ năm 2008. Nó giúp tăng khả năng mở rộng và băng thông khả dụng. Trước khi công bố tên gọi chính thức, Intel đã gọi nó là Common System Interface (CSI).[3] Các phiên bản sơ khai được gọi là Yet Another Protocol (YAP) và YAP+.

QPI 1.1 là một phiên bản được cải tiến đáng kể được giới thiệu cùng với Sandy Bridge-EP (nền tảng Romley).[4]

QPI đã được thay thế bởi Intel Ultra Path Interconnect (UPI) trong các bộ xử lý Skylake-SP Xeon dựa trên socket LGA 3647.[5]

Bối cảnh

[sửa | sửa mã nguồn]

Mặc dù đôi khi được gọi là một "bus", QPI thực chất là một cấu trúc kết nối (interconnect fabric) có khả năng mở rộng với các tính năng định tuyến động. Nó được thiết kế để cạnh tranh với HyperTransport vốn đã được Advanced Micro Devices (AMD) sử dụng từ khoảng năm 2003.[6][7] Intel đã phát triển QPI tại Trung tâm Thiết kế Vi xử lý Massachusetts (MMDC) bởi các thành viên của Nhóm Phát triển Alpha, nhóm mà Intel đã mua lại từ Compaq và HP, và ban đầu vốn thuộc về Digital Equipment Corporation (DEC).[8] Việc phát triển nó đã được báo cáo từ sớm nhất là năm 2004.[9]

Intel lần đầu tiên cung cấp nó cho các bộ xử lý máy tính để bàn vào tháng 11 năm 2008 trên Intel Core i7-9xxchipset Intel X58. Nó được phát hành trong các bộ xử lý Xeon tên mã Nehalem vào tháng 3 năm 2009 và các bộ xử lý Itanium vào tháng 2 năm 2010 (tên mã Tukwila).[10]

Nó đã được thay thế bởi Intel Ultra Path Interconnect bắt đầu từ năm 2017 trên các nền tảng Xeon Skylake-SP.[11]

Triển khai

[sửa | sửa mã nguồn]
QPI là một thành phần uncore trong vi kiến trúc Nehalem của Intel.

QPI là một thành phần của kiến trúc hệ thống mà Intel gọi là kiến trúc QuickPath, thực thi những gì Intel gọi là công nghệ QuickPath.[12] Trong dạng đơn giản nhất trên bo mạch chủ đơn bộ xử lý, một liên kết QPI duy nhất được sử dụng để kết nối bộ xử lý với IO Hub (ví dụ: để kết nối một Intel Core i7 với một chipset X58). Trong các trường hợp phức tạp hơn của kiến trúc này, các cặp liên kết QPI riêng biệt kết nối một hoặc nhiều bộ xử lý và một hoặc nhiều IO hub hoặc hub định tuyến trong một mạng lưới trên bo mạch chủ, cho phép tất cả các thành phần truy cập các thành phần khác thông qua mạng lưới đó. Giống như HyperTransport, Kiến trúc QuickPath giả định rằng các bộ xử lý sẽ có các bộ điều khiển bộ nhớ tích hợp, và cho phép thiết lập kiến trúc truy cập bộ nhớ không đồng nhất (NUMA).

Mỗi QPI bao gồm hai liên kết dữ liệu điểm-đối-điểm 20 làn, mỗi liên kết theo một hướng (song công toàn phần), với một cặp xung nhịp riêng biệt cho mỗi hướng, tổng cộng là 42 tín hiệu. Mỗi tín hiệu là một cặp vi sai, do đó tổng số chân cắm là 84. 20 làn dữ liệu được chia thành bốn "phần tư", mỗi phần 5 làn. Đơn vị truyền dẫn cơ bản là flit 80-bit, trong đó có 8 bit để phát hiện lỗi, 8 bit cho "header lớp liên kết" và 64 bit cho dữ liệu. Một flit 80-bit được truyền trong hai chu kỳ xung nhịp (bốn lần truyền 20-bit, hai lần mỗi nhịp xung). Băng thông QPI được quảng bá bằng cách tính toán việc truyền 64 bit (8 byte) dữ liệu sau mỗi hai chu kỳ xung nhịp ở mỗi hướng.[8]

Mặc dù các lần triển khai ban đầu sử dụng các liên kết bốn phần tư đơn lẻ, đặc tả QPI cho phép các kiểu triển khai khác. Mỗi phần tư có thể được sử dụng độc lập. Trên các máy chủ có độ tin cậy cao, một liên kết QPI có thể hoạt động ở chế độ suy giảm. Nếu một hoặc nhiều trong số 20+1 tín hiệu bị lỗi, giao diện sẽ hoạt động bằng cách sử dụng 10+1 hoặc thậm chí 5+1 tín hiệu còn lại, thậm chí gán lại xung nhịp cho một tín hiệu dữ liệu nếu xung nhịp bị lỗi.[8] Việc triển khai Nehalem ban đầu đã sử dụng giao diện bốn phần tư đầy đủ để đạt được tốc độ 25,6 GB/s (6,4 GT/s × 1 byte × 4), cung cấp chính xác gấp đôi băng thông lý thuyết của FSB 1600 MHz của Intel được sử dụng trong chipset X48.

Mặc dù một số bộ xử lý Core i7 cao cấp có lộ diện QPI, các bộ xử lý Nehalem để bàn và di động "phổ thông" khác dành cho bo mạch đơn socket (ví dụ: Core i3, Core i5 LGA 1156 và các bộ xử lý Core i7 khác thuộc dòng Lynnfield/Clarksfield và các thế hệ kế tiếp) không lộ diện QPI ra bên ngoài, bởi vì các bộ xử lý này không được thiết kế để tham gia vào các hệ thống đa socket.

Tuy nhiên, QPI vẫn được sử dụng nội bộ trên các chip này để giao tiếp với thành phần "uncore", là phần của chip chứa các bộ điều khiển bộ nhớ, PCI Express phía CPU và GPU nếu có; phần uncore có thể nằm trên cùng một đế (die) với nhân CPU hoặc không, ví dụ như nó nằm trên một đế riêng biệt trong dòng Clarkdale/Arrandale dựa trên Westmere.[13][14][15][16]:3

Trong các chip đơn socket sau năm 2009 bắt đầu với Lynnfield, Clarksfield, Clarkdale và Arrandale, các chức năng của cầu Bắc truyền thống được tích hợp vào các bộ xử lý này, do đó chúng giao tiếp ra bên ngoài thông qua các giao diện DMI và PCI Express chậm hơn.

Vì vậy, không cần thiết phải tốn chi phí để lộ diện giao diện front-side bus (trước đây) thông qua socket bộ xử lý.[17]

Mặc dù liên kết QPI nhân-uncore không xuất hiện trong các bộ xử lý Sandy Bridge để bàn và di động (như trên Clarkdale chẳng hạn), kết nối vòng nội bộ giữa các nhân trên đế cũng dựa trên các nguyên tắc của QPI, ít nhất là về mặt tính nhất quán của bộ nhớ đệm.[16]:10

Đặc điểm tần số

[sửa | sửa mã nguồn]

Là một mạch đồng bộ, QPI hoạt động ở tốc độ xung nhịp 2,4 GHz, 2,93 GHz, 3,2 GHz, 3,6 GHz, 4,0 GHz hoặc 4,8 GHz (tần số 3,6 GHz và 4,0 GHz được giới thiệu cùng với nền tảng Sandy Bridge-E/EP và 4,8 GHz với nền tảng Haswell-E/EP). Tốc độ xung nhịp cho một liên kết cụ thể phụ thuộc vào khả năng của các thành phần ở mỗi đầu liên kết và đặc tính tín hiệu của đường dẫn trên bảng mạch in. Các bộ xử lý Core i7 9xx thông thường bị giới hạn ở tần số 2,4 GHz tại mức xung nhịp tham chiếu mặc định.

Việc truyền bit xảy ra ở cả cạnh lên và cạnh xuống của xung nhịp, do đó tốc độ truyền gấp đôi tốc độ xung nhịp.

Intel mô tả thông lượng dữ liệu (tính bằng GB/s) bằng cách chỉ tính tải trọng dữ liệu 64-bit trong mỗi flit 80-bit. Tuy nhiên, Intel sau đó nhân đôi kết quả vì cặp liên kết gửi và nhận đơn hướng có thể hoạt động đồng thời. Do đó, Intel mô tả một cặp liên kết QPI 20 làn (gửi và nhận) với xung nhịp 3,2 GHz là có tốc độ dữ liệu 25,6 GB/s. Tốc độ xung nhịp 2,4 GHz cho tốc độ dữ liệu 19,2 GB/s. Nói chung hơn, theo định nghĩa này, một QPI 20 làn hai liên kết truyền tám byte mỗi chu kỳ xung nhịp, bốn byte cho mỗi hướng.

Tốc độ được tính toán như sau:

3,2 GHz
× 2 bit/Hz (tốc độ dữ liệu gấp đôi)
× 16(20) (bit dữ liệu/chiều rộng liên kết QPI)
× 2 (gửi và nhận đơn hướng hoạt động đồng thời)
÷ 8 (bit/byte)
= 25,6 GB/s

Các lớp giao thức

[sửa | sửa mã nguồn]

QPI được quy định là một kiến trúc năm lớp, với các lớp vật lý, liên kết, định tuyến, vận chuyển và giao thức riêng biệt.[1] Trong các thiết bị chỉ dành cho việc sử dụng QPI điểm-đối-điểm mà không cần chuyển tiếp, chẳng hạn như bộ xử lý Core i7-9xx và Xeon DP, lớp vận chuyển không tồn tại và lớp định tuyến là tối thiểu.

Lớp vật lý
Lớp vật lý bao gồm hệ thống dây dẫn thực tế và các bộ phát và bộ thu vi sai, cộng với logic cấp thấp nhất để truyền và nhận đơn vị lớp vật lý. Đơn vị lớp vật lý là một "phit" 20-bit. Lớp vật lý truyền một "phit" 20-bit bằng một cạnh xung nhịp duy nhất trên 20 làn khi tất cả 20 làn đều khả dụng, hoặc trên 10 hoặc 5 làn khi QPI được tái cấu hình do lỗi. Lưu ý rằng ngoài các tín hiệu dữ liệu, một tín hiệu xung nhịp được chuyển tiếp từ bộ phát sang bộ thu (điều này giúp đơn giản hóa việc khôi phục xung nhịp nhưng tiêu tốn thêm chân cắm).
Lớp liên kết
Lớp liên kết chịu trách nhiệm gửi và nhận các flit 80-bit. Mỗi flit được gửi đến lớp vật lý dưới dạng bốn phit 20-bit. Mỗi flit chứa một mã CRC 8-bit được tạo bởi bộ phát lớp liên kết và một tải trọng 72-bit. Nếu bộ thu lớp liên kết phát hiện lỗi CRC, nó sẽ thông báo cho bộ phát thông qua một flit trên liên kết phản hồi của cặp đó và bộ phát sẽ gửi lại flit đó. Lớp liên kết thực hiện kiểm soát lưu lượng bằng cơ chế tín dụng/ghi nợ (credit/debit) để ngăn bộ đệm của bộ thu bị tràn. Lớp liên kết hỗ trợ sáu loại thông điệp khác nhau để cho phép các lớp cao hơn phân biệt flit dữ liệu với các thông điệp không phải dữ liệu, chủ yếu để duy trì tính nhất quán của bộ nhớ đệm. Trong các triển khai phức tạp của kiến trúc QuickPath, lớp liên kết có thể được cấu hình để duy trì các luồng và kiểm soát lưu lượng riêng biệt cho các lớp khác nhau. Không rõ liệu điều này có cần thiết hoặc được thực hiện cho các triển khai đơn bộ xử lý và đa bộ xử lý hay không.
Lớp định tuyến
Lớp định tuyến gửi một đơn vị 72-bit bao gồm header 8-bit và tải trọng 64-bit. Header chứa điểm đến và loại thông điệp. Khi lớp định tuyến nhận được một đơn vị, nó sẽ kiểm tra bảng định tuyến của mình để xác định xem đơn vị đó đã đến điểm đến chưa. Nếu đúng, nó sẽ được chuyển lên lớp cao hơn tiếp theo. Nếu không, nó sẽ được gửi đi trên liên kết QPI ra ngoài chính xác. Trên một thiết bị chỉ có một QPI, lớp định tuyến là tối thiểu. Đối với các triển khai phức tạp hơn, bảng định tuyến của lớp định tuyến phức tạp hơn và được sửa đổi động để tránh các liên kết QPI bị lỗi.
Lớp vận chuyển
Lớp vận chuyển không cần thiết và không có mặt trong các thiết bị chỉ dành cho các kết nối điểm-đối-điểm. Điều này bao gồm Core i7. Lớp vận chuyển gửi và nhận dữ liệu qua mạng QPI từ các đối tác trên các thiết bị khác có thể không được kết nối trực tiếp (tức là dữ liệu có thể đã được định tuyến thông qua một thiết bị trung gian). Lớp vận chuyển xác minh rằng dữ liệu là đầy đủ, và nếu không, nó sẽ yêu cầu truyền lại từ đối tác của mình.
Lớp giao thức
Lớp giao thức gửi và nhận các gói tin thay mặt cho thiết bị. Một gói tin điển hình là một hàng bộ nhớ đệm (memory cache row). Lớp giao thức cũng tham gia vào việc duy trì tính nhất quán của bộ nhớ đệm bằng cách gửi và nhận các thông điệp liên quan.

Tham khảo

[sửa | sửa mã nguồn]
  1. 1 2 "An Introduction to the Intel QuickPath Interconnect" (PDF). Intel Corporation. ngày 30 tháng 1 năm 2009. Truy cập ngày 14 tháng 6 năm 2011.
  2. DailyTech report Lưu trữ ngày 17 tháng 10 năm 2013 tại Wayback Machine, retrieved August 21, 2007
  3. Eva Glass (ngày 16 tháng 5 năm 2007). "Intel CSI name revealed: Slow, slow, quick quick slow". The Inquirer. Bản gốc lưu trữ ngày 10 tháng 6 năm 2012. Truy cập ngày 13 tháng 9 năm 2013.
  4. David Kanter (ngày 20 tháng 7 năm 2011). "Intel's Quick Path Evolved". Realworldtech.com. Truy cập ngày 21 tháng 1 năm 2014.
  5. SoftPedia: Intel Plans to Replace Xeon with Its New Skylake-Based “Purley” Super Platform
  6. Gabriel Torres (ngày 25 tháng 8 năm 2008). "Everything You Need to Know About The QuickPath Interconnect (QPI)". Hardware Secrets. Truy cập ngày 23 tháng 1 năm 2017.
  7. Charlie Demerjian (ngày 13 tháng 12 năm 2005). "Intel Intel gets knickers in a twist over Tanglewood". The Inquirer. Bản gốc lưu trữ ngày 3 tháng 9 năm 2010. Truy cập ngày 13 tháng 9 năm 2013.
  8. 1 2 3 David Kanter (ngày 28 tháng 8 năm 2007). "The Common System Interface: Intel's Future Interconnect". Real World Tech. Truy cập ngày 14 tháng 8 năm 2014.
  9. Eva Glass (ngày 12 tháng 12 năm 2004). "Intel's Whitefield takes four core IA-32 shape". The Inquirer. Bản gốc lưu trữ ngày 24 tháng 5 năm 2009. Truy cập ngày 13 tháng 9 năm 2013.
  10. David Kanter (ngày 5 tháng 5 năm 2006). "Intel's Tukwila Confirmed to be Quad Core". Real World Tech. Bản gốc lưu trữ ngày 10 tháng 5 năm 2012. Truy cập ngày 13 tháng 9 năm 2013.
  11. "Intel® Xeon® Processor Scalable Family Technical Overview".
  12. "Intel Demonstrates Industry's First 32nm Chip and Next-Generation Nehalem Microprocessor Architecture". Bản gốc lưu trữ ngày 2 tháng 1 năm 2008. Truy cập ngày 31 tháng 12 năm 2007.
  13. Chris Angelini (ngày 7 tháng 9 năm 2009). "QPI, Integrated Memory, PCI Express, And LGA 1156 - Intel Core i5 And Core i7: Intel's Mainstream Magnum Opus". Tomshardware.com. Truy cập ngày 21 tháng 1 năm 2014.
  14. Published on 25th January 2010 by Richard Swinburne (ngày 25 tháng 1 năm 2010). "Feature - Intel GMA HD Graphics Performance". bit-tech.net. Truy cập ngày 21 tháng 1 năm 2014.{{Chú thích web}}: Quản lý CS1: tên số: danh sách tác giả (liên kết)
  15. "Intel Clarkdale 32nm CPU-and-GPU chip benchmarked (again) - CPU - Feature". HEXUS.net. ngày 25 tháng 9 năm 2009. Truy cập ngày 21 tháng 1 năm 2014.
  16. 1 2 Oded Lempel (ngày 28 tháng 7 năm 2013). "2nd Generation Intel Core Processor Family: Intel Core i7, i5 and i3" (PDF). hotchips.org. Bản gốc (PDF) lưu trữ ngày 29 tháng 7 năm 2020. Truy cập ngày 21 tháng 1 năm 2014.
  17. Lily Looi, Stephan Jourdan, Transitioning the Intel® Next Generation Microarchitectures (Nehalem and Westmere) into the Mainstream Lưu trữ ngày 2 tháng 8 năm 2020 tại Wayback Machine, Hot Chips 21, August 24, 2009

Liên kết ngoài

[sửa | sửa mã nguồn]

Bản mẫu:Intel technology Bản mẫu:Computer-bus