Bus contention

Bus contention là một trạng thái mong muốn trong thiết kế máy tính khi có nhiều hơn một bus cố gắng đặt các giá trị lên nó cùng một lúc. Bus contenion là kiểu tranh chấp viễn thông xảy ra khi tất cả các thiết bị giao tiếp trực tiếp với nhau thông qua một kênh chung và tương phản với "sự cạnh tranh mạng" xảy ra khi các thiết bị giao tiếp gián tiếp với nhau, thông qua các bộ định tuyến hoặc cầu nối.

Bus contention có thể dẫn đến hoạt động sai lầm, tiêu thụ năng lượng dư thừa và trong trường hợp bất thường, thiệt hại vĩnh niễn cho phần cứng, chẳng hạn như đốt cháy MOSFET.

Kĩ thuật

[sửa | sửa mã nguồn]

Hầu hết các kiến ​​trúc bus yêu cầu các thiết bị chia sẻ xe buýt phải tuân theo một giao thức trọng tài được thiết kế cẩn thận để làm cho khả năng tranh chấp không đáng kể. Tuy nhiên, khi các thiết bị trên bus có lỗi logic, lỗi sản xuất hoặc bị điều khiển vượt quá tốc độ thiết kế của chúng, trọng tài có thể bị hỏng và có thể xảy ra tranh chấp. Sự tham gia cũng có thể phát sinh trên các hệ thống có ánh xạ bộ nhớ lập trình khi các giá trị bất hợp pháp được ghi vào các thanh ghi kiểm soát ánh xạ. Hầu hết các hệ thống máy tính quy mô nhỏ được thiết kế cẩn thận để tránh sự tranh chấp xe buýt trên bus hệ thống. Họ sử dụng một thiết bị duy nhất, được gọi là arbiter bus, điều khiển thiết bị nào được phép lái xe buýt mỗi lần, vì vậy sự tranh chấp bus không bao giờ xảy ra trong hoạt động bình thường. Giải pháp tiêu chuẩn để bus contention giữa các thiết bị bộ nhớ, chẳng hạn như EEPROM và SRAM, là three-state bus trạng thái [2] với bus arbitert.

Một số mạng, chẳng hạn như vòng mã thông báo, cũng được thiết kế để tránh sự tranh chấp bus, vì vậy sự bus contention không bao giờ xảy ra trong hoạt động bình thường.

Hầu hết các mạng được thiết kế với phần cứng đủ mạnh để chấp nhận bus contention thường xuyên trên mạng. CAN bus, ALOHAnet, Ethernet, v.v., tất cả đều gặp phải sự tranh chấp xe buýt thường xuyên trong hoạt động bình thường, nhưng sử dụng một số giao thức (như Truy cập nhiều lần với Tránh va chạm, truy cập nhiều lần với phát hiện va chạm hoặc yêu cầu lặp lại tự động) để giảm thiểu thời gian sự tranh chấp đó xảy ra và để gửi lại dữ liệu bị hỏng trong một vụ va chạm gói.

Một logical bus là bus lấy ý tưởng từ phần mềm và những bus tương tự như bus contetion. Ibus là một ví dụ như vậy có thể yêu cầu khởi động lại bằng tay để giải quyết.

Tham khảo

[sửa | sửa mã nguồn]