Skip to main content

Sự gắn kết bộ nhớ là gì?

Sự kết hợp bộ nhớ là một vấn đề xảy ra trong máy tính khi bộ xử lý cố gắng nhìn vào ngành bộ nhớ.Vấn đề này chỉ xảy ra trên các hệ thống đa lõi hoặc máy tính có nhiều hơn một đơn vị xử lý trung tâm (CPU).Khi nhiều bộ xử lý nhìn vào cùng một khu vực bộ nhớ và một bộ cập nhật theo lĩnh vực, thì đó có thể bị bỏ lại với phiên bản cũ của bộ nhớ máy tính.Để khắc phục sự cố này, các quy tắc nhất quán được sử dụng để đảm bảo các bộ xử lý không truy cập cùng một bộ nhớ hoặc các bản cập nhật phù hợp giữa chúng.Có một số mô hình nhất quán khác nhau, vì vậy các lập trình viên và nhà phát triển máy tính phải biết mô hình chính xác được sử dụng. Vấn đề kết hợp bộ nhớ là một mô hình chỉ xảy ra trên các máy tính đang sử dụng ít nhất hai CPU vì cách chúng truy cập bộ nhớ.Khi một CPU đang truy cập vào ngành bộ nhớ, nó có thể lấy, sử dụng và thay đổi bộ nhớ mà không có bất kỳ xung đột nào, bởi vì không có phần phần cứng nào khác cạnh tranh cho bộ nhớ.Nếu hai CPU được sử dụng, thì hai CPU có thể lấy cùng một khu vực bộ nhớ.Mặc dù không có vấn đề gì với hai CPU chia sẻ bộ nhớ, nhưng vấn đề phát sinh nếu một CPU cập nhật bộ nhớ.Điều này khiến CPU thứ hai có bộ nhớ lỗi thời, nếu không được kiểm soát, có thể khiến toàn bộ máy tính có hai phiên bản riêng biệt và mâu thuẫn của bộ nhớ máy tính.Chúng được gọi chung là các quy tắc nhất quán bộ nhớ và có nhiều phiên bản.Nhìn chung, mỗi phiên bản cho biết nhiều CPU cách chia sẻ đúng bộ nhớ máy tính mà không gây ra vấn đề kết hợp bộ nhớ.Điều này có thể được thực hiện bằng cách cập nhật cả hai phiên bản của bộ nhớ khi một phiên bản được thay đổi hoặc bằng cách giữ CPU không truy cập cùng một bộ nhớ cùng một lúc. Trong khi sử dụng các quy tắc nhất quán giúp tránh vấn đề kết hợp bộ nhớ, một vấn đề khác phát sinh từ vấn đề này.Mỗi tập hợp nhất quán có lập trình khác nhau và các quy tắc khác nhau, vì vậy các lập trình viên đang tạo các chương trình hoặc viết mã liên quan trực tiếp đến CPU sẽ phải điều chỉnh mã hóa cho các quy tắc thống nhất chính xác.Nếu không, thì điều này có thể ghi đè tính nhất quán hoặc gây ra xung đột lớn giữa mã hóa lập trình viên và các quy tắc nhất quán và máy tính có thể ngừng hoạt động.