Hyperthreading là một sự thay thế rẻ hơn và chậm hơn để có lõi kép
Các Intel Manual Tập 3 Hệ thống lập trình Hướng dẫn - 325384-056US tháng 9 năm 2015 8,7 "Intel Hyper-Threading CÔNG NGHỆ KIẾN TRÚC" mô tả HT một thời gian ngắn. Nó chứa sơ đồ sau:
TODO nó chậm hơn bao nhiêu phần trăm trung bình trong các ứng dụng thực tế?
Có thể siêu phân luồng vì các lõi CPU hiện đại đã thực hiện nhiều lệnh cùng một lúc với đường dẫn lệnh https://en.wikipedia.org/wiki/In cản_pipelining
Đường dẫn lệnh là sự phân tách các chức năng bên trong một lõi đơn để đảm bảo rằng mỗi phần của mạch được sử dụng tại bất kỳ thời điểm nào: đọc bộ nhớ, hướng dẫn giải mã, thực hiện các hướng dẫn, v.v.
Siêu phân tách tách các chức năng hơn nữa bằng cách sử dụng:
một phụ trợ duy nhất, thực sự chạy các hướng dẫn với đường ống dẫn của nó.
Lõi kép có hai phần phụ trợ, giải thích chi phí và hiệu suất cao hơn.
hai giao diện người dùng, có hai luồng hướng dẫn và sắp xếp chúng theo cách để tối đa hóa việc sử dụng đường ống của phụ trợ đơn bằng cách tránh các mối nguy hiểm .
Lõi kép cũng sẽ có 2 mặt trước, một cho mỗi phụ trợ.
Có những trường hợp cạnh mà việc sắp xếp lại lệnh không tạo ra lợi ích, làm cho siêu phân luồng trở nên vô dụng. Nhưng nó tạo ra một sự cải thiện đáng kể ở mức trung bình.
Hai siêu phân luồng trong một lõi chia sẻ thêm các mức bộ đệm (TODO có bao nhiêu? L1?) So với hai lõi khác nhau, chỉ chia sẻ L3, xem:
Giao diện mà mỗi siêu phân luồng tiếp xúc với hệ điều hành tương tự như lõi thực tế và cả hai có thể được điều khiển riêng. Do đó cat /proc/cpuinfo
cho tôi thấy 4 bộ xử lý, mặc dù tôi chỉ có 2 lõi với 2 siêu phân luồng mỗi cái.
Tuy nhiên, các hệ điều hành có thể tận dụng lợi thế của việc siêu phân luồng nào trên cùng một lõi để chạy nhiều luồng của một chương trình nhất định trên một lõi, điều này có thể cải thiện việc sử dụng bộ đệm.
Video LinusTechTips này chứa một lời giải thích phi kỹ thuật nhẹ nhàng: https://www.youtube.com/watch?v=wnS50lJicXc