Tôi không biết trường hợp nào là phổ biến, nhưng tôi muốn đưa ra một vài suy nghĩ về đề xuất của bạn về đường ống đôi.
Trước hết, bạn sẽ cần gấp đôi dây sẽ tiêu thụ gấp đôi năng lượng và tạo ra gấp đôi nhiệt khi hoạt động. Trong khi không cần thiết, mặt khác, nó sẽ hoàn toàn vô dụng. Vì vậy, người ta có thể lập luận rằng nó không phải là một cách sử dụng tốt các tài nguyên hiếm thấy trên các bộ xử lý hiện đại.
Về cơ bản hơn, trừ khi bạn thích một chi nhánh dựa trên xác suất, làm thế nào để bạn biết phiên bản nào sẽ được viết qua? Nếu không, bạn có thể không lưu bất cứ điều gì vì các bộ xử lý khác có thể phải chờ quyết định của bạn, dù sao đi nữa. Nếu bạn gắn bó với một trong số họ, về cơ bản bạn có xác suất rollback và chi phí như hiện tại.
Hãy để chúng tôi làm một tính toán thô. Để đơn giản, chúng ta hãy giả sử rằng việc xử lý hai đường ống thay vì một đường ống không gây ra chi phí quản lý bổ sung. Chi phí dự kiến (ví dụ như năng lượng, nhiệt) là với một đường ống ( chi phí thực hiện một trong hai phương án, xác suất cho rollback và chi phí cho rollback mà không phải trả chi phí cho việc thực hiện khác thay thế) nhưng hoặc thậm chí - hoặc lớn hơn rất nhiều nếu và tương đối nhỏ vàc p c r 2 c 2 c + p c r C p c r p t + p ( t r + t ) t t + p t r pC= c + p ( cr+ c )cpcr2 c2c+pcrCpcrpchắc chắn là (theo như tôi biết, dự đoán chi nhánh hiện đại có độ chính xác trên 90%). Và chúng tôi không nhận được nhiều cho chi phí này! Thời gian thực hiện dự kiến là với một đường ống và resp. với hai; vì là nhỏ, tiết kiệm thời gian là không đáng kể.t+p(tr+t)tt+ptrp