PCI Express làm việc như thế nào ?

Những khe PCI (Peripheral Component Interconnect)  là một phần tích hợp bên trong cấu trúc của máy vi tính và hầu hết được công nhận như vậy .

Nhiều năm trôi qua , PCI cũng đã được thay đổi , chức năng của nó kết nối với Sound , Video và những Card mạng trên Mainboard .

Nhưng PCI có một vài hạn chế . Những CPU , Card màn hình , Card âm thanh và những Card mạng ngày càng nhanh hơn và mạnh hơn trong khi đó PCI lại dậm chận tại chỗ . Nó cố định độ rộng dữ liệu 32-bit và chỉ có thể điều khiển 05 thiết bị trong cùng một lúc .

Một giao thức mới gọi là PCI Express (PCIe ) đã giải quyết được những hạn chế trên , cung cấp băng thông lớn hơn , tương thích với những hệ điều hành đang có . Trong phần này chúng tôi đi sâu tìm hiểu sự khác nhau giữa PCIe và PCI . Chúng ta cũng xem làm thế nào PCIe làm cho máy tính nhanh hơn , có thể có khả năng dùng những Card màn hình nhanh hơn để thay thế khe AGP .

 

 

Kết nối nối tiếp tốc độ cao

 

Ngay từ khi ra đời của máy tính , việc cần thiết để trao đổi dữ liệu vô cùng lớn . Trong kết nối nối tiếp máy tính tách dữ liệu thành những nhóm và chuyển từng gói dữ liệu đi một , hết gói này rồi đến gói kia . Kết nối như thế trong thời điểm ban đầu của ký nguyên máy tính có tốc độ chậm , do đó nhiều nhà sản xuất bắt đầu chuyển sang dùng kết nối song song để gửi nhiều mẩu dữ liệu đi cùng một lúc .

Một vấn đề xảy ra khi những kết nối song song đạt tới tốc độ cao nào đó thì những dây dẫn cạnh nhau gây ảnh hưởng qua lại với nhau  , do dòng điện đi qua dây dẫn tạo nên môi trường xung quanh nó một từ trường . Với cường độ từ trường một mức độ nào đó sẽ ảnh hưởng lên dây dẫn bên cạnh làm sai lệch tín hiệu bên trong một dây dẫn khác và ngược lại . Điều này đã xảy ra đối với Cable ATA 133. Do đó với tín hiệu truyền song song chỉ có thể đạt được một tốc độ cao nhất định . Để truyền tín hiệu song song với tốc độ cao không ảnh hưởng tới tín hiệu sang nhau đòi hỏi thiết kế lại hệ thống Bus có mức độ lọc nhiễu cao lúc đó lại ảnh hưởng tới giá thành của thiết bị .

PCIe là kết nối nối tiếp mà hoạt động như là mạng hơn là Bus . Thay vì một Bus mà điều khiển dữ liệu từ nhiều nguồn . PCIe có Switch điều khiển vài kết nối Point-to-Point . Những kết nối này do Switch mang đến , hướng dữ liệu trực tiếp tới thiết bị cần đến . Mọi thiết bị có kết nối riêng của nó , do đó những thiết bị không mất thời gian chia xẻ băng thông như Bus bình thường khác .

Khi máy tính khởi động lên , PCIe xác định những thiết bị nào được cắm bên trong Mainboard . Sau đó nó nhận dạng những liên kết giữa các thiết bị và tạo một bản đồ cho biết dữ liệu chuyển động ở đâu sẽ đi và phân chia độ rộng của mỗi liên kết . Sự nhận dạng của những thiết bị này và những kết nối là dùng cùng một giao thức PCI , do đó PCIe không cần thay đổi phần mềm hoặc những hệ điều hành .

 

 

 

Mỗi đường ( lane ) của kết nối PCIe gồm hai cặp dây , một để truyền dữ liệu và một để gửi dữ liệu . Những gói dữ liệu di chuyển trong Lane với tốc độ 1bit/chu kì . Và kết nối x1 là kết nối nhỏ nhất trong kết nối PCIe , như vậy một Lane có 04 dây dẫn , mang 1bit/chu kì theo mỗi hướng . Kết nối x2 gồm 08 dây dẫn và truyền 2 bit một lúc , kết nối x4 truyền 4 bit và cứ như thế . Những cấu hình khác là x12 , x16 và x32 .

 

 

 

PCIe được dùng trong các máy tính xách tay và những máy tính để bàn . Nó được dùng với những Mainboard có giá thành thấp . Nó là tiềm năng để hỗ trợ nhiều thiết bị như : Card màn hình , USB , Card mạng ...Kết nối PCIe có ít nhân cắm hơn PCI thông thường

Nhưng làm thế nào mà kết nối nối tiếp lại nhanh hơn kết nối dây dẫn 32-bit và 64-bit trong chuẩn PCIx ?

 

Tốc độ nhanh hơn

 

Bus PCI có độ rộng 32-bit , tốc độ xung nhịp đồng hồ cao nhất là 33MHz , cho phép dữ liệu cao nhất truyền 133MB/s . Bus PCI-X có độ rộng 64-bit , rộng gấp đôi so với Bus PCI . Những tính năng khác nhau của PCI-X cho phép tốc độ truyền dữ liệu lên tới từ 512MB tới 1GB/s

 

 

 

Một Lane trong kết nối PCIe có thể truyền dữ liệu lên tới 200MB/s cho mỗi hướng . PCIe 16x có thể gây kinh ngạc khi lên tới 64.GB/s cho mỗi hướng . Với tốc độ kết nối x1 có thể dễ dàng điều khiển kết nối Gigabit Ethernet , âm thanh và những ứng dụng lưu trữ . Kết nối x16 có thể dễ dàng điều khiển sức mạnh của Card màn hình .

Làm thế nào có thể thực hiện được ? Có nhiều điều kiện thuận lợi khi chuyển tốc độ kết nối nối tiếp :

 

  • Ưu tiên dữ liệu , điều này cho phép hệ thống di chuyển hầu hết những dữ liệu quan trọng đầu tiên và ngăn chạn hiện tượng kiểu nghẽn mạch cổ chai .
  • Dữ liệu được truyền theo thời gian thực .
  • Sử dụng ít chân cắm hơn do độ rộng dữ liệu nhỏ hơn Bus thông thường .
  • Dễ dàng kết nối và dò tìm lỗi .
  • Đơn giản hơn để ngắt dữ liệu thành những gói nhỏ và đặt những gói nhỏ cùng với nhau . Mỗi một thiết bị có những đường dữ liệu riêng do kết nối Point-to-Point từ Switch , tín hiệu từ nhiều nguồn không mất thời gian làm việc trên cùng một Bus .

 

Card màn hình PCIe

 

Như chúng ta đã thấy PCIe có thể loại bỏ kết nối AGP khi cần . Khe PCIe x16 có thể nhiều dữ liệu hơn trong một giây khi so với kết nối AGP 8x . Thêm nữa , khe PCIe x16 có thể cung cấp công suất tới 75W cho Card màn hình , trong khi đó của AGP 8x đó là 25W/42W . Bên cạnh đó PCIe có nhiều tiềm năng phát triển cho Card màn hình trong tương lai .

 

 

 

 

Hình 6 : Card màn hình với chuẩn AGP 8x

 

Mainboard có hai kết nối PCIe x16 có thể hỗ trợ 02 Card màn hình trong cùng một lúc :

 

  • SLI (  Scalable Link Interface ) : kiểu này do hãng nVidia phát hành với Mainboard hỗ trợ cấu hình SLI cho phép người dùng cắm 02 Card màn hình cho phép dùng SLI trên cùng một hệ thống . Với cấu hình SLI thì màn hình được chia làm hai phần , mỗi Card màn hình điều khiển một nửa màn hình . Kết nối SLI để đồng bộ quá trình điều khiển tín hiệu ra màn hình .

 

 

 

 

 

 

  • CrossFire : kiểu này do hãng ATI giới thiệu . Hai Card màn hình ATI Radeon , một Card có Chip riêng biệt cắm vào một Mainboard tương thích với CrossFire . Công nghệ của ATI tập trung nâng cao chất lượng hình ảnh mà không cần những Card màn hình giống nhau , mặc dù những hệ thống cao cấp phải có những Card màn hình giống nhau . CrossFire chia công việc và tái tạo hình ảnh theo một trong ba cách :
    • Chia màn hình thành hai nửa và gán mỗi nửa cho mỗi Card , gọi là “scissoring” .
    • Chia màn hình thành những phần nhỏ ( như bàn cờ vua ) , mỗi một Card tái tạo hình ảnh theo kiểu ô đen và Card khác theo kiểu ô trắng .
    • Mỗi Card màn hình tái tạo những khung hình xen kẽ .

 

 

Bên cạnh những khe PCIe x16 thường thấy trên Motherboard hiện nay còn trang bị thêm những khe PCIe x1 , PCIe x4 , PCIe x8 để dùng cho những Card mở rộng như Card màn hình , Card âm thanh , Card mạng ....

Tuy nhiên theo ý kiến của một vài chuyên gia thì PCI Express không phải là Bus . Vì Bus là đường dữ liệu mà ở đó bạn có thể đính kèm theo một vài thiết bị cùng một lúc , có thể chia xẻ đường dữ liệu này . Trong khi PCI Express là một kết nối giữa điểm này với điểm khác ( point - to - point ) ... nó chỉ kết nối 02 thiết bị với nhau và không một thiết bị nào khác có thể chia xẻ được .
Ta có thể làm rõ như sau , trên Mainboard sử dụng nhiều khe PCI , tất cả khe PCI này được nối với Bus PCI và được chia xẻ cùng dữ liệu .
Trên Mainboard có khe PCI Express , mỗi một khe PCI Express là được nối tới Chipset và được Chipset này phân chia đường dữ liệu , không phải chia xẻ đường dữ liệu cùng với PCI Express khác .
Nhưng để đơn giản hoá chúng ta gọi PCI Express là Bus và đễ dàng hình dung ra nó là đường dữ liệu giữa các thiết bị .
 
 
Từ song song tới nối tiếp
 
 
Tên cũ của PCI Express là 3GIO được hiểu là sự phát triển trong phương thức truyền dữ liệu từ thiết bị ngoại vi tới máy vi tính . Nó khác PCI ở nhiều khía cạnh , nhưng một sự khác nhau quan trong nhất chính là cách thức truyền dữ liệu . PCI Express chuyển dữ liệu từ dạng song song sang dạng nối tiếp .
Tất cả Bus của máy vi tính ngày trước (ISA, EISA, MCA, VLB, PCI và AGP) sử dụng phương thức truyền song song .
Truyền dữ liệu song song khác với truyền dữ liệu nối tiếp bởi vì nó truyền nhiều bits trong cùng một lúc , trong khi truyền nối tiếp là truyền một bit trong một lần .
Điều này chứng tỏ truyền dữ liệu song song nhanh hơn truyền dữ liệu nối tiếp vì số bits truyền được nhiều hơn trong cùng một đơn vị thời gian .
Nhưng truyền dữ liệu song song sẽ gặp phải một vấn đề là gặp khó khăn khi xung nhịp đồng hồ cao . Khi xung nhịp đồng hồ cao sẽ gây ra hiện tượng nhiễu từ trường xen kẽ trong quá trình truyền số liệu và tăng thời gian trễ .
Khi có dòng điện qua dây dẫn xung quanh dây dẫn có dòng điện đi qua sẽ có một từ trường . Nếu điện từ trường này mạnh sẽ gây nhiễu những dây dẫn xung quanh nó làm phá vỡ thông tin đang được truyền đi . Khi truyền dữ liệu song song mỗi Bit được truyền trên một dây dẫn . Ví dụ khe PCI sử dụng đường truyền 32 bits tức là có 32 dây dẫn sẽ được truyền cùng một lúc . Nếu xung nhịp đồng hồ cao thì vấn đề điện từ trường ngày càng lớn  gây cho sự sai lệnh dữ liệu từ nơi đi đến nơi đến mà không kiểm soát được .
Khi thiết bị nhận chờ tất cả số liệu đến mà trong đó sẽ có những tín hiệu bị mất sẽ làm chậm quá trình thực hiện .
Một dự án sử dụng Bus truyền dữ liệu nối tiếp có thể thực hiện tốt hơn truyền song song bằng phương thức truyền hai đường dây ( một dây để truyền dữ liệu , một dây nối đất ) . Bên cạnh đó truyền nối tiếp cho phép hoạt động với tốc độ xung nhịp cao hơn so với tốc độ xung nhịp của truyền song song .
Một vấn đề khác của truyền song song và truyền nối tiếp ở chỗ : truyền song song sử dụng half-duplex ( dữ liệu truyền đi và dữ liệu nhận về sử dụng trên cùng một dây dẫn ) , trong khi truyền nối tiếp sử dụng full-duplex ( dây dẫn để truyền dữ liệu riêng , dây dẫn sử dụng để nhận dữ liệu riêng ) bởi vì nó cần hai dây dẫn .
 
Đó là vì sao mà truyền nối tiếp thay thể truyền song song trong PCI Express .
Như vậy có phải truyền nối tiếp sẽ chậm hơn truyền song song ? Không phải như vậy đó là do xung nhịp đồng hồ sử dụng truyền nối tiếp nhanh hơn rất nhiều so với truyền song song .
 
Các kiểu hoạt động
 
PCI Express là sự phát triển để thay thế Bus : PCI và APG . Nó sẽ tương thích những phần mềm liên quan tới PCI , có nghĩa là những Drivers cũ , những hệ điều hành cũ sẽ được hỗ trợ trong PCI Express .
PCI Express làm việc kiểu full-duplex . Dữ liệu được truyền qua 02 cặp dây gọi là Lane , sử dụng hệ thống chuẩn 8b/10b , cùng với hệ thống được dùng trong mạng Fast Ethernet (100BaseT, 100 Mbps) . Mỗi một Lane cho phép tốc độ truyền  cao nhất 250MB/s cho một hướng , gần gấp đôi so với bus PCI.
PCI Express có thể kết hợp nhiều Lane để tăng tốc quá trình truyền số liệu . Bán có thể tìm thấy PCI Express có 1, 2, 4, 8, 16 và 32 lanes .
Ví dụ nếu PCI Express sử dụng 8 Lanes thì tốc độ truyền của nó là 2GB/s ( 250 x 8 )
 
Hình dưới đây mô tả PCI Express x 2
 
 
 
Bảng dưới đây so sánh PCI , AGP và PCI Express
 
 

Bus

Maximum Transfer Rate

PCI

133 MB/s

AGP 2x

533 MB/s

AGP 4x

1,066 MB/s

AGP 8x

2,133 MB/s

PCI Express x1

250 MB/s

PCI Express x2

500 MB/s

PCI Express x4

1,000 MB/s

PCI Express x16

4,000 MB/s

PCI Express x32

8,000 MB/s

PCI Express có thể Hot - Plug , nghĩa là có thể cắm thêm hoặc gỡ bỏ các thiết bị PCI Express khi máy vi tính đang bật .

 

Các kiểu Slot