Bridge Window trong PCIe là gì?
Quicknote Bridge Window trong PCIe là gì?
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.
Bridge có tồn tại không?
Đọc Vendor ID của root port/bridge.
Bus number đúng chưa?
Secondary/Subordinate bus có cover bus phía sau không?
Window đủ lớn không?
MMIO/prefetchable window có cover BAR của endpoint không?
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
- PCI Architecture Overview
- PCI Configuration Space là gì?
- BDF trong PCIe là gì?
- BAR trong PCIe là gì?
- PCI Resource Allocation là gì?
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.