Thứ nhất, như bình luận Keelan của và câu trả lời Turbo J điểm ra, việc đo lường là 113.093 Dhrystone MIPS không có nguồn gốc MIPS.
Kiến trúc vi mô cầu Ivy của i7 3630QM chỉ có thể cam kết 4 bản nhạc được hợp nhất trong mỗi chu kỳ, mặc dù nó có thể bắt đầu thực hiện 6 bản nhạc trên mỗi chu kỳ. (Số lượng μops hợp nhất trong một dấu vết của mã là xấp xỉ bằng với số hướng dẫn, một số hướng dẫn phức tạp được giải mã thành nhiều μops không được hợp nhất và một số cặp hướng dẫn có thể được hợp nhất thành một μop duy nhất, ví dụ như, một so sánh ngay lập tức theo sau là một bước nhảy có điều kiện.)
Hai trong số những suy đoán của bạn về cách thực hiện nhiều hướng dẫn trong một chu kỳ duy nhất là khá hợp lệ và đã được sử dụng trong các bộ xử lý thực tế. Suy đoán đầu tiên của bạn, rằng đồng hồ bên trong nhanh hơn được sử dụng, đã được sử dụng trong ALU "quả cầu lửa" ban đầu của Pentium 4. Các ALU này được đo ở tần số gấp đôi tần số của phần còn lại của lõi, vốn đã tương đối cao.
(Điều này đã được thực hiện bằng cách sử dụng ALU so le trong đó nửa dưới của phép cộng được thực hiện trong một chu kỳ, cho phép thao tác phụ thuộc sử dụng nửa dưới của kết quả trong chu kỳ tiếp theo. Đối với các hoạt động như thêm, xor hoặc dịch chuyển trái chỉ cần nửa dưới của toán hạng để tạo ra nửa dưới của kết quả, thì điều đáng kinh ngạc đó còn được gọi là đường ống rộng cho phép độ trễ kết quả chu kỳ đơn cũng như thông lượng chu kỳ đơn.)
Một kỹ thuật có liên quan, ALU xếp tầng, được HyperSPARC sử dụng. HyperSPARC đã đưa kết quả từ hai ALU vào ALU thứ ba. Điều này cho phép hai hoạt động phụ thuộc độc lập và thứ ba được thực hiện trong một chu kỳ.
Suy đoán của bạn rằng "có nhiều đường ống đồng thời trên mỗi lõi" là kỹ thuật khác đã được sử dụng. Kiểu thiết kế này được gọi là superscalar và cho đến nay là phương tiện phổ biến nhất để tăng số lượng hoạt động được thực hiện trong một chu kỳ.
Ngoài ra còn có một vài tỷ lệ cược và kết thúc thực hiện lệnh khác có thể đáng chú ý. Một số hoạt động có thể được thực hiện hiệu quả hơn bên ngoài các đơn vị thực thi thông thường. Kỹ thuật loại bỏ di chuyển khai thác việc sử dụng đổi tên đăng ký trong các bộ xử lý không theo thứ tự để thực hiện các hoạt động di chuyển trong khi đổi tên đăng ký; di chuyển chỉ cần sao chép số đăng ký vật lý từ một vị trí trong bảng đổi tên (được gọi là bảng bí danh đăng ký) sang vị trí khác. Điều này không chỉ làm tăng hiệu quả chiều rộng thực hiện mà còn loại bỏ sự phụ thuộc. Kỹ thuật này đã được sử dụng sớm với x87 dựa trên ngăn xếp, nhưng hiện được sử dụng rộng rãi trong các bộ xử lý x86 hiệu suất cao của Intel. (Việc sử dụng các hướng dẫn phá hủy, hai toán hạng trong x86 làm cho việc loại bỏ di chuyển trở nên hữu ích hơn so với trong RISC điển hình.)
Một kỹ thuật tương tự như loại bỏ di chuyển là xử lý các hướng dẫn zeroing đăng ký trong khi đổi tên. Bằng cách cung cấp tên thanh ghi cung cấp giá trị 0, một lệnh xóa thanh ghi (như xor hoặc trừ với cả hai toán hạng là cùng một thanh ghi) có thể chỉ cần chèn tên đó vào bảng đổi tên (RAT).
Một kỹ thuật khác được sử dụng bởi một số bộ xử lý x86 giúp giảm chi phí cho các hoạt động đẩy và pop. Thông thường, một lệnh sử dụng con trỏ ngăn xếp sẽ phải đợi một chu kỳ đầy đủ cho lần đẩy hoặc bật trước đó để cập nhật giá trị cho con trỏ ngăn xếp. Bằng cách nhận ra rằng đẩy và bật chỉ cộng hoặc trừ một giá trị nhỏ cho con trỏ ngăn xếp, người ta có thể tính toán kết quả của nhiều phép cộng / phép trừ song song. Độ trễ chính cho phép cộng là lan truyền mang, nhưng với các giá trị nhỏ, các bit quan trọng hơn của giá trị cơ sở, trong trường hợp này, con trỏ ngăn xếp sẽ chỉ có tối đa một lần mang. Điều này cho phép tối ưu hóa tương tự như trình bổ sung chọn mang theo được áp dụng cho nhiều lần thêm các giá trị nhỏ. Ngoài ra, vì con trỏ ngăn xếp thường chỉ được cập nhật bởi các hằng số,
Cũng có thể hợp nhất các hướng dẫn thành một hoạt động phức tạp hơn. Mặc dù quá trình phân tách ngược các hướng dẫn thành nhiều thao tác đơn giản hơn là một kỹ thuật cũ, các hướng dẫn hợp nhất (mà Intel thuật ngữ hợp nhất macro-op) có thể cho phép thực hiện để hỗ trợ các hoạt động phức tạp hơn các thao tác được trình bày trong tập lệnh.
Về mặt lý thuyết, các kỹ thuật khác đã được đề xuất. Các hằng số nhỏ khác 0 có thể được hỗ trợ trong RAT và một số thao tác đơn giản sử dụng hoặc tạo ra các giá trị nhỏ như vậy có thể được xử lý sớm. ("Nội dung đăng ký vật lý", Mikko H. Lipasti và cộng sự, 2004, đã đề xuất sử dụng RAT như một phương tiện để giảm số lượng đăng ký, nhưng ý tưởng có thể được mở rộng để hỗ trợ tải số lượng nhỏ và các thao tác đơn giản trên số lượng nhỏ.)
Đối với bộ đệm theo dõi (lưu trữ các chuỗi hướng dẫn theo các giả định cụ thể của luồng điều khiển), có thể có cơ hội hợp nhất các hoạt động được phân tách bởi các nhánh và loại bỏ các hoạt động tạo ra kết quả không sử dụng trong theo dõi. Bộ nhớ đệm của các tối ưu hóa trong bộ đệm theo dõi cũng có thể khuyến khích thực hiện tối ưu hóa như hợp nhất lệnh có thể không đáng nếu chúng phải được thực hiện mỗi khi luồng lệnh được tìm nạp.
Dự đoán giá trị có thể được sử dụng để tăng số lượng các hoạt động có thể được thực hiện song song bằng cách loại bỏ các phụ thuộc. Công cụ dự đoán giá trị dựa trên bước tiến tương tự như tối ưu hóa pop / đẩy của một công cụ ngăn xếp chuyên dụng đã đề cập trước đó. Nó có thể tính toán nhiều bổ sung chủ yếu song song, loại bỏ việc xê-ri hóa. Ý tưởng chung về dự đoán giá trị là với giá trị dự đoán, các hoạt động phụ thuộc có thể tiến hành không chậm trễ. .