Bus mastering

Trong tin học, bus mastering (làm chủ bus) là một tính năng được hỗ trợ bởi nhiều kiến trúc bus cho phép một thiết bị kết nối với bus khởi tạo các giao dịch truy cập bộ nhớ trực tiếp (DMA). Nó còn được gọi là DMA bên thứ nhất (first-party DMA), trái ngược với DMA bên thứ ba nơi một bộ điều khiển DMA hệ thống thực hiện việc truyền dữ liệu.

Một số loại bus chỉ cho phép một thiết bị (thường là CPU, hoặc đại diện của nó) khởi tạo các giao dịch. Hầu hết các kiến trúc bus hiện đại, chẳng hạn như PCI, cho phép nhiều thiết bị làm chủ bus vì nó cải thiện đáng kể hiệu suất cho các hệ điều hành đa mục đích. Một số hệ điều hành thời gian thực cấm các thiết bị ngoại vi trở thành chủ bus, bởi vì bộ lập lịch không còn có thể phân xử bus và do đó không thể cung cấp độ trễ xác định.

Mặc dù về lý thuyết bus mastering cho phép một thiết bị ngoại vi giao tiếp trực tiếp với thiết bị khác, nhưng trên thực tế, hầu hết tất cả các thiết bị ngoại vi chỉ làm chủ bus để thực hiện DMA tới bộ nhớ chính.

Nếu nhiều thiết bị có thể làm chủ bus, cần phải có một cơ chế phân xử bus (bus arbitration) để ngăn chặn nhiều thiết bị cố gắng điều khiển bus cùng một lúc. Một số cơ chế khác nhau được sử dụng cho việc này; ví dụ SCSI có mức ưu tiên cố định cho mỗi ID SCSI. PCI không chỉ định thuật toán sẽ sử dụng, để mặc cho việc triển khai thiết lập các mức ưu tiên.

Xem thêm
 Chủ/tớ (công nghệ)
 Bộ khởi tạo và mục tiêu SCSI

Tham khảo
 Cách thức hoạt động của Bus Mastering - Tweak3D
 Bus mastering là gì?- Brevard User's Group

Category:Bus máy tính
Category:Bo mạch chủ