Mặc dù tất cả các CPU hiện tại dường như sử dụng một cách tiếp cận lặp đi lặp lại như gợi ý , nhưng đã có một số công việc được thực hiện trên các phương pháp không lặp lại. Phòng Point biến chính xác Floating và Square Root cuộc đàm phán về việc thực hiện không lặp đi lặp lại của sự phân chia điểm và căn bậc hai trôi nổi trong một FPGA , sử dụng tra cứu bảng và mở rộng loạt taylor.
Tôi nghi ngờ rằng các kỹ thuật tương tự có thể khiến các hoạt động này giảm xuống theo một chu kỳ duy nhất (thông lượng, nếu không phải là độ trễ), nhưng bạn có thể cần các bảng tra cứu khổng lồ , và do đó, rất lớn các khu vực bất động sản silicon để thực hiện .
Tại sao nó không khả thi?
Trong việc thiết kế CPU, có rất nhiều sự đánh đổi. Chức năng, độ phức tạp (số lượng bóng bán dẫn), tốc độ và mức tiêu thụ điện đều có liên quan đến nhau và các quyết định được đưa ra trong quá trình thiết kế có thể ảnh hưởng rất lớn đến hiệu suất.
Một bộ xử lý hiện đại có thể có một đơn vị điểm nổi chính dành đủ các bóng bán dẫn trên silicon để thực hiện phân chia điểm nổi trong một chu kỳ duy nhất , nhưng sẽ không chắc là sử dụng hiệu quả các bóng bán dẫn đó.
Điểm nổi nhân lên đã thực hiện quá trình chuyển đổi này từ lặp đi lặp lại sang không lặp lại một thập kỷ trước. Ngày nay, chu kỳ đơn nhân và thậm chí nhân lên là phổ biến, ngay cả trong các bộ xử lý di động.
Trước khi nó trở thành việc sử dụng hiệu quả ngân sách bóng bán dẫn, nhân, như phân chia, thường được thực hiện bằng phương pháp lặp. Trước đó, các bộ xử lý DSP chuyên dụng có thể dành phần lớn silicon của chúng cho một đơn vị tích lũy nhân nhanh (MAC) . CPU Core2duo có độ trễ nhân 3 điểm trôi nổi (giá trị xuất phát từ chu kỳ 3 của đường ống sau khi đi vào), nhưng có thể có 3 lần nhân trong một chuyến bay, dẫn đến thông lượng một chu kỳ, trong khi đó đơn vị SSE2 có thể bơm ra nhiều bội số FP trong một chu kỳ.
Thay vì dành những vùng silicon khổng lồ cho một đơn vị phân chia một chu kỳ, CPU hiện đại có nhiều đơn vị, mỗi đơn vị có thể thực hiện các hoạt động song song, nhưng được tối ưu hóa cho các tình huống cụ thể của riêng chúng. Trên thực tế, một khi bạn tính đến các hướng dẫn SIMD như SSE hoặc đồ họa tích hợp CPU của Sandy Bridge hoặc CPU sau này, có thể có nhiều đơn vị phân chia điểm nổi như vậy trên CPU của bạn.
Nếu việc phân chia điểm nổi chung quan trọng hơn với CPU hiện đại thì có lẽ nên dành đủ diện tích silicon để tạo ra chu kỳ đơn, tuy nhiên hầu hết các nhà sản xuất chip rõ ràng đã quyết định rằng họ có thể sử dụng silicon đó tốt hơn bằng cách sử dụng các cổng đó cho những thứ khác . Do đó, một thao tác chậm hơn, nhưng về tổng thể (đối với các tình huống sử dụng thông thường), CPU nhanh hơn và / hoặc tiêu thụ ít năng lượng hơn.