Các chế độ xử lý dữ liệu trên một nhân xử lý, màu trắng là lúc chip không làm việc (stall)
Trước hết hãy nói sơ lược về SMT. Nó không hẳn là tính năng mà là một đường hướng thiết kế nhân xử lý. Hãy tưởng tượng nhân xử lý giống như dây chuyền sản xuất (line) trong nhà máy, với một số lượng công đoạn (pipeline) nào đó. Trong điều kiện hoàn hảo, mỗi công đoạn sẽ chiếm thời lượng gia công (cycle) giống nhau (giả dụ 4 cycle), khi công đoạn này hoàn tất thì công đoạn kế tiếp diễn ra và tiến độ sản xuất diễn ra liên tục.
Tuy vậy có đôi khi, một vài công đoạn (tạm gọi công đoạn B) gặp trục trặc hoặc gia công lâu hơn (giả dụ 6 cycle), dẫn tới tình trạng bị “treo” (stall) dây chuyền. Lúc này công đoạn ở trước (tạm gọi A) sẽ bị “tồn hàng” còn công đoạn ở sau (tạm gọi C) bị “khan hàng”. Kết quả là sản lượng giảm.
Một trong các hướng khắc phục là chúng ta mở thêm một trạm sản xuất cho B, nhưng nó vẫn nằm trong toàn bộ line ban đầu. Lúc này công đoạn B sẽ được gấp đôi sản lượng hoặc nói cách khác tốc độ ra sản phẩm được rút ngắn (còn lại 3 cycle). Về cơ bản, lúc này lại xảy ra tình trạng “thừa hàng” do B sẽ ra hàng nhanh hơn C. Tuy vậy đầu vào của B vẫn lệ thuộc vào A nên sản lượng của B thực tế cũng không hơn nhiều, chỉ là B sẽ gây “tồn hàng” lên C vì cơ bản, C sản xuất chậm hơn B’ (4 vs. 3 cycle). Cách khắc phục ở đây là ta thêm một thùng hàng/kho chứa tạm để đầu ra của B’ và đầu vào của C được “giải toả”.
Cần chú ý rằng trường hợp của B có thể lặp lại ở E, F, G, H và hướng khắc phục cũng tương tự.
Nhân xử lý Zen của AMD với các đơn vị có tính năng SMT
Nguồn:Baochinhphu.vn