Mọi thứ phức tạp hơn nhiều so với thời của một hướng dẫn cpu trên mỗi chu kỳ đồng hồ.
Bây giờ có một đường ống dẫn cho mỗi hướng dẫn bao gồm một số bước. Tôi đã nghe đến 41, mặc dù đó là một thời gian trước đây và tôi không biết đường ống cpu hiện tại trông như thế nào. Tôi biết rằng nếu đường ống đủ dài, bạn có thể bắt đầu một lệnh mới xuống đường ống trước khi lệnh cuối cùng kết thúc, đôi khi trong cùng một chu kỳ đồng hồ, để lõi đơn của bạn thực hiện hai việc một cách hiệu quả.
Có một mẹo ở đây, mặc dù. Bạn không thể chỉ sử dụng điều này để tăng tốc độ mà bộ xử lý của bạn nhai thông qua các hướng dẫn từ một chương trình cụ thể. Có một vấn đề chính xác liên quan: hướng dẫn tiếp theo có thể phụ thuộc vào kết quả chưa được xác định của hướng dẫn trước. Để tận dụng đường ống dài một cách an toàn , chip sẽ đưa ra hai lõi bộ xử lý riêng cho bộ lập lịch hệ điều hành và các hướng dẫn thay thế được gửi đến từng lõi để hai hướng dẫn đến cùng một "lõi" không bao giờ nằm trong đường ống cùng một lúc. Bằng cách này, chúng tôi có thể chắc chắn rằng bất kỳ lệnh nào được thực hiện đồng thời sẽ không can thiệp lẫn nhau. Điều này được gọi là siêu phân luồng .
Điều đáng chú ý ở đây là trong khi siêu phân luồng có thể làm tăng đáng kể số lượng công việc bạn nhận được từ cpu của mình, thì không nơi nào tốt bằng việc có nhiều lõi vật lý như vậy. Tùy thuộc vào khối lượng công việc của bạn, điều đó có thể có nghĩa là cải thiện ít nhất 15% hoặc cải thiện 40%. Trong một số trường hợp, bạn thậm chí có thể muốn tắt tính năng này để các lõi còn lại có toàn quyền truy cập vào bộ đệm L1 / L2 cho lõi đó (điều này đôi khi được thực hiện với các máy chủ cơ sở dữ liệu chuyên dụng).
Khi chip của bạn tự quảng cáo là có 2 lõi với 4 luồng, điều đó có nghĩa đó là bộ xử lý lõi kép hỗ trợ siêu phân luồng.