Bridge Window trong PCIe là gì?

Quicknote Bridge Window trong PCIe là gì?

2 phút đọc
Đọc bằng Tiếng Việt English 日本語
PCI / ACPI / SMBIOS Terms cover

PCIe bridge/root port giống một cánh cổng giữa bus phía trên và bus phía dưới. Bridge Window là vùng địa chỉ mà bridge cho phép forward xuống các thiết bị nằm phía sau nó.

Nếu endpoint BAR nằm ngoài bridge window, CPU có thể ghi đúng địa chỉ BAR nhưng transaction vẫn không tới device.

Bridge window mental model

CPU / Root Complex
└─ Root Port 00:1c.0
   ├─ Memory Window: 0x90000000 - 0x91FFFFFF
   └─ Secondary Bus 02
      └─ NVMe 02:00.0
         └─ BAR0: 0x90000000 - 0x90003FFF

Những register bridge cần nhớ

Mục Giá trị Ghi chú
Primary Bus Bus phía trên Bridge nằm trên bus này.
Secondary Bus Bus phía dưới trực tiếp Device sau bridge xuất hiện ở đây.
Subordinate Bus Bus sâu nhất phía sau Cần đúng nếu có nhiều bridge lồng nhau.
Memory Base/Limit Non-prefetchable MMIO window Forward MMIO thường.
Prefetchable Base/Limit Prefetchable MMIO window Hay dùng cho GPU/large BAR.

Debug diary: device sau bridge biến mất

Khi device nằm sau root port không xuất hiện, kiểm tra bridge trước khi nghi endpoint.

1

Bridge có tồn tại không?

Đọc Vendor ID của root port/bridge.

2

Bus number đúng chưa?

Secondary/Subordinate bus có cover bus phía sau không?

3

Window đủ lớn không?

MMIO/prefetchable window có cover BAR của endpoint không?

4

Decode enable chưa?

Command register của bridge và endpoint đều cần enable phù hợp.

Checklist Bridge Window

Bài liên quan

Nguồn tham khảo public

Thấy nội dung này hữu ích?

Lưu lại hoặc chia sẻ cho người cũng đang học firmware, BIOS/UEFI và embedded systems.

Nội dung liên quan

Một số bài viết, ghi chú hoặc project có liên quan đến nội dung bạn vừa đọc.

Biến note thành bài viết hoàn chỉnh

Notes là nơi ghi nhanh khái niệm.