Lưu ý
Mục đích của file này là để độc giả tiếng Việt có thể đọc và hiểu tài liệu nhân kernel dễ dàng hơn, không phải để tạo ra một nhánh tài liệu riêng. Nếu bạn có bất kỳ nhận xét hoặc cập nhật nào cho file này, vui lòng thử cập nhật file tiếng Anh gốc trước. Nếu bạn thấy có sự khác biệt giữa bản dịch và bản gốc, hoặc có vấn đề về bản dịch, vui lòng gửi góp ý hoặc patch cho người dịch của file này, hoặc nhờ người bảo trì và người review tài liệu tiếng Việt giúp đỡ.
- Bản gốc:
- Người dịch:
Google Translate (machine translation)
- Phiên bản gốc:
8541d8f725c6
Cảnh báo
Tài liệu này được dịch tự động bằng máy và chưa được review bởi người dịch. Nội dung có thể không chính xác hoặc khó hiểu ở một số chỗ. Khi có sự khác biệt với bản gốc, bản gốc luôn là chuẩn. Bản dịch chất lượng cao (được review) được đặt trong thư mục vi_VN/.
Bộ lập lịch MicroEngine (MES)¶
Lưu ý
Queue and ring buffer are used as a synonymous.
Lưu ý
This section assumes that you are familiar with the concept of Pipes, Queues, and GC. If not, check GFX, Compute, and SDMA Overall Behavior and drm/amdgpu - Graphics and Compute (GC).
Mỗi GFX đều có một thành phần ống với một hoặc nhiều hàng phần cứng. Ống có thể chuyển đổi giữa các hàng đợi tùy thuộc vào các điều kiện nhất định và một trong các các thành phần có thể yêu cầu chuyển hàng đợi sang một đường ống là MicroEngine Bộ lập lịch (MES). Bất cứ khi nào trình điều khiển được khởi tạo, nó sẽ tạo một MQD cho mỗi hàng đợi phần cứng, sau đó MQD được chuyển tới phần sụn MES để ánh xạ đến:
Hàng đợi hạt nhân (cũ): Hàng đợi này được ánh xạ tĩnh tới các HQD và không bao giờ được ưu tiên. Mặc dù đây là tính năng cũ nhưng đây là tính năng mặc định hiện tại và hầu hết phần cứng hiện có đều hỗ trợ nó. Khi một ứng dụng nộp tác phẩm tới trình điều khiển hạt nhân, nó sẽ gửi tất cả bộ đệm lệnh ứng dụng vào hạt nhân hàng đợi. CS IOCTL lấy bộ đệm lệnh từ các ứng dụng và sắp xếp chúng trên hàng đợi kernel.
Hàng đợi người dùng: Các hàng đợi này được ánh xạ động tới HQD. Về việc tận dụng Hàng đợi Người dùng, ứng dụng không gian người dùng sẽ tạo người dùng của nó hàng đợi và gửi tác phẩm trực tiếp đến hàng đợi người dùng mà không cần đến IOCTL mỗi lần gửi và không cần chia sẻ một hàng đợi kernel.
Về Hàng đợi người dùng, MES có thể tự động ánh xạ chúng tới HQD. Nếu có nhiều MQD hơn HQD, chương trình cơ sở MES sẽ ưu tiên hàng đợi người dùng khác thực hiện đảm bảo mỗi hàng đợi có được một lát thời gian; nói cách khác, MES là một vi điều khiển xử lý việc ánh xạ và hủy ánh xạ các MQD thành HQD, cũng như ưu tiên và đăng ký vượt mức MQD.