Những gì được đăng tải trên ý nghĩa của giao dịch PCIE?


Câu trả lời:


6

Tôi biết rất ít về PCI, nhưng đối với tôi, điều chính yếu về các giao dịch được đăng là bạn không có quyền kiểm soát chúng sau khi chúng được bắt đầu.
Giống như gửi tin nhắn qua thư ( post!): Một khi tin nhắn nằm trong hộp thư, nó nằm ngoài tầm kiểm soát của bạn.
Các hệ thống khác cũng sử dụng post, ví dụ hệ thống nhắn tin Windows biết gửigửi . Khi gửi tin nhắn Windows bạn đang kiểm soát cho đến khi tin nhắn được xử lý, khi đăng bạn sẽ đặt nó trong hàng đợi tin nhắn và đó là tin nhắn. Không có phản hồi, không thừa nhận.


Cảm ơn Steven. Bây giờ tôi có một bản ghi nhớ của thư bưu điện thay vì một bảng tra cứu tùy ý.
Ross Rogers

15

Để biết về Giao dịch được đăng trên PCIe, bạn phải hiểu "ghi đã đăng" là gì đối với PCI kế thừa và PCI được đọc là gì.

Để đọc PCI kế thừa và thực sự đọc trên hầu hết các bus, CPU sẽ gửi lệnh đọc và địa chỉ đọc sau đó chờ thiết bị phản hồi với dữ liệu và tín hiệu "Xong" thuộc loại nào đó. Về cơ bản là một loại lệnh và đáp ứng.

Bình thường ghi trên một bus PCI kế thừa và nhiều bus khác, tương tự ngoại trừ lệnh đó là tín hiệu ghi + địa chỉ + dữ liệu và phản hồi chỉ là "xong". Vấn đề với điều này là đối với nhiều hệ thống, việc "hoàn thành" là không cần thiết và chỉ mất thời gian. Nếu thiết bị ngoại vi bạn đang viết có thể chấp nhận ghi ở tốc độ tối đa thì việc thực hiện hoàn toàn không cần thiết.

Một "bài viết đã đăng" là một bài viết không chờ "hoàn thành". CPU giả định rằng chu trình ghi sẽ hoàn thành với trạng thái chờ bằng 0 và do đó không chờ hoàn thành. Điều này tăng tốc độ viết đáng kể. Đối với người mới bắt đầu, nó không phải chờ phản hồi hoàn thành, nhưng nó cũng cho phép đường ống dữ liệu tốt hơn mà không bị phạt hiệu năng nhiều.

Trong đất PCIe tất cả các bài viết được đăng. Nhưng PCIe gọi chúng là "giao dịch được đăng" vì có nhiều kiểu ghi (ghi bộ nhớ, ghi I / O, ghi cấu hình, v.v.). Ngoài ra còn có một vài giao dịch khác không có phản hồi.

Lý do tại sao tất cả các bài viết được đăng là vì bản chất dựa trên gói và gói của PCIe làm cho "phản hồi" siêu chậm. Thông thường, một từ được đọc sẽ mất vài micro giây để hoàn thành. Vì vậy, mặc dù xe buýt đang chạy ở tốc độ 2,5 gigabits / giây, bạn chỉ có thể nhận được khoảng 4 megabyte / giây nếu thực hiện đọc một từ. Thay đổi điều đó thành một từ được đăng và ghi băng thông sẽ lên tới khoảng 60 megabyte / giây. Thay đổi thành ghi nhiều từ được đăng và bạn lên tới khoảng 250 megabyte / giây.

Không có thứ gọi là đọc được đăng, trên bất kỳ xe buýt nào, bởi vì tất cả các lần đọc đều yêu cầu phản hồi (còn gọi là dữ liệu bạn đang đọc).


1

Điều này giúp hiểu rằng bộ điều khiển bus PCI tạo thành giao diện giữa bus cục bộ của bộ xử lý, tức là cấu trúc bus gốc của CPU và bus bộ điều hợp PCI. Giả sử CPU của bạn muốn ghi dữ liệu vào thiết bị PCI; không có lựa chọn thiết bị nào chạy trực tiếp từ bộ giải mã địa chỉ bus gốc của bạn sang thẻ PCI được cắm, vì vậy điều xảy ra là CPU ghi vào một phần của không gian địa chỉ vật lý cục bộ được giải mã sang bộ điều khiển bus PCI. Khi chủ bus PCI nhìn thấy chu trình ghi, nó sẽ khóa địa chỉ và dữ liệu, tại đó phần còn lại của giao dịch I / O được tách rời khỏi CPU. CPU có thể tự do đi trên con đường của mình, làm điều tiếp theo, tại thời điểm này, chu trình đã được 'đăng' lên bộ điều khiển bus PCI; bộ điều khiển bus PCI sau đó quản lý chọn đúng thiết bị và hoàn thành chu trình I / O.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.