Cách tôi thích nghĩ về nó là với một sự tương tự giặt ủi. Hướng dẫn CPU giống như vô số đồ giặt. Bạn cần sử dụng cả máy giặt và máy sấy cho mỗi lần tải. Hãy nói rằng mỗi mất 30 phút để chạy. Đó là chu kỳ đồng hồ. Các CPU cũ sẽ chạy máy giặt, sau đó chạy máy sấy, mất 60 phút (2 chu kỳ) để hoàn thành mỗi lần giặt, mỗi lần.
Đường ống: Một đường ống là khi bạn sử dụng cả hai cùng một lúc - bạn rửa một tải, sau đó trong khi nó khô, bạn rửa tải tiếp theo. Tải đầu tiên mất 2 chu kỳ để kết thúc, nhưng tải thứ hai kết thúc sau 1 chu kỳ nữa. Vì vậy, hầu hết các tải chỉ cần 1 chu kỳ, ngoại trừ tải đầu tiên.
Superscalar: Mang tất cả đồ giặt đến tiệm giặt. Nhận 2 vòng đệm và tải cả hai. Khi hoàn thành, tìm 2 máy sấy và sử dụng cả hai. Bây giờ bạn có thể rửa và làm khô 2 tải trong 60 phút. Đó là 2 tải trong 2 chu kỳ. Mỗi lần tải vẫn mất 2 chu kỳ, nhưng bạn có thể thực hiện thêm chúng ngay bây giờ. Thời gian trung bình bây giờ là 1 tải mỗi chu kỳ.
Superscalar with Pipelining: Rửa 2 lần tải đầu tiên, sau đó trong khi chúng đang khô, tải lên các vòng đệm với 2 lần tải tiếp theo. Bây giờ, 2 lần tải đầu tiên vẫn mất 2 chu kỳ, và sau đó 2 lần tiếp theo kết thúc sau 1 chu kỳ nữa. Vì vậy, hầu hết thời gian, bạn hoàn thành 2 lần tải trong mỗi chu kỳ.
Nhiều lõi: Cung cấp một nửa số đồ giặt của bạn cho mẹ bạn, người cũng có 2 máy giặt và 2 máy sấy. Với cả hai bạn làm việc cùng nhau, bạn có thể hoàn thành gấp đôi. Điều này tương tự như superscalar, nhưng hơi khác nhau. Thay vì bạn phải tự di chuyển tất cả đồ giặt đến và từ mỗi máy, cô ấy có thể làm điều đó cùng lúc với bạn.
Điều này thật tuyệt, chúng ta có thể giặt gấp tám lần so với trước đây trong cùng một khoảng thời gian, mà không phải tạo ra máy móc nhanh hơn. (Nhân đôi tốc độ đồng hồ: Máy giặt chỉ cần 15 phút để chạy.)
Bây giờ, hãy nói về cách mọi thứ đi sai:
Bong bóng đường ống: Bạn có một vết bẩn không thoát ra được trong quá trình giặt, vì vậy bạn quyết định rửa lại. Bây giờ máy sấy chỉ ngồi đó, chờ đợi để làm gì đó.
Miss Cache: Chiếc xe tải chở đồ bẩn bị kẹt trong giao thông. Bây giờ bạn có 2 máy giặt và 2 máy sấy, nhưng bạn không hoàn thành công việc vì phải chờ.
Tùy thuộc vào tần suất xảy ra sự cố, chúng tôi sẽ không thể luôn hoàn thành 4 lần tải mỗi chu kỳ, do đó, số lượng công việc thực tế có thể thay đổi.
Dự đoán chi nhánh: Chà, bạn bắt đầu giặt quần áo sạch trong trường hợp bạn vấy bẩn chúng sau đó để chúng sạch sẽ ... được rồi, đây là lúc sự tương tự bị phá vỡ ...