Ưu điểm của việc sử dụng một cơ chế như vậy chứ không phải là ổ khóa là
các hệ thống không nhớ giao dịch các nhà phát triển có trách nhiệm
240 Chương 5 Quá trình đồng bộ
đảm bảo tính nguyên tố. Ngoài ra, bởi vì không có ổ khóa là có liên quan, bế tắc
là không thể. Hơn nữa, một hệ thống bộ nhớ giao dịch có thể xác định
câu lệnh trong khối nguyên tử có thể được thực hiện đồng thời, chẳng hạn như đồng thời
truy cập đọc đến một biến được chia sẻ. Đó là, tất nhiên, có thể cho một lập trình
để xác định các tình huống và sử dụng ổ khóa đầu đọc-viết, nhưng nhiệm vụ trở nên
ngày càng khó khăn như số lượng các chủ đề trong một ứng dụng phát triển.
Bộ nhớ giao dịch có thể được thực hiện trong hai phần mềm hoặc phần cứng.
Phần mềm giao dịch bộ nhớ (STM), như tên cho thấy, thực hiện
bộ nhớ giao dịch độc quyền trong phần mềm không có phần cứng đặc biệt là cần thiết.
STM hoạt động bằng cách chèn mã số nhạc cụ bên trong khối giao dịch. Các
code được chèn vào bởi một trình biên dịch và quản lý mỗi giao dịch bằng cách kiểm tra
nơi báo cáo có thể chạy đồng thời và nơi cụ thể khóa ở mức độ thấp
là bắt buộc. Phần cứng bộ nhớ giao dịch (HTM) sử dụng bộ nhớ cache phần cứng
hệ thống phân cấp và giao thức bộ nhớ cache sự mạch lạc để quản lý và giải quyết các xung đột
liên quan đến dữ liệu chia sẻ trú tại cache xử lý riêng biệt. HTM không đòi hỏi
mã số nhạc cụ đặc biệt và do đó ít tốn kém hơn so với STM. Tuy nhiên,
HTM không yêu cầu phân cấp bộ nhớ cache hiện có và các giao thức bộ nhớ cache sự mạch lạc
được sửa đổi để hỗ trợ bộ nhớ giao dịch.
Bộ nhớ giao dịch đã tồn tại trong nhiều năm mà không phổ biến
thực hiện. Tuy nhiên, sự phát triển của hệ thống đa lõi và các liên kết
nhấn mạnh về lập trình đồng thời và song song đã khiến một
số lượng đáng kể các nghiên cứu trong lĩnh vực này trên một phần của cả hai viện nghiên cứu và
các phần mềm và phần cứng các nhà cung cấp thương mại.
đang được dịch, vui lòng đợi..
