- Năm 1993, Intel đã ra mắt bộ xử lý Pentium hiệu năng cao
- Trong quá trình phân tích mạch của Pentium, người ta phát hiện một mạch phức tạp dùng để nhân với 3
- Mạch này là một phần của bộ nhân dấu phẩy động của Pentium, thực hiện phép nhân số 64-bit theo cơ số 8
- Sự cần thiết của phép nhân theo cơ số 8
- Phép nhân nhị phân đơn giản về mặt khái niệm nhưng chậm
- Pentium dùng phép nhân theo cơ số 8 để giảm số lượng mạch và tăng tốc độ
- Phép nhân theo cơ số 8 phức tạp hơn vì phải nhân với các chữ số từ 0 đến 7
- Thuật toán Booth và mạch ×3
- Sử dụng thuật toán Booth để tối ưu hóa phép nhân
- Mạch ×3 phải được xử lý như một trường hợp đặc biệt trong phép nhân dấu phẩy động
- Mạch này phải hoạt động rất nhanh và sử dụng các kỹ thuật như carry lookahead để tối đa hóa hiệu năng
- Carry lookahead và bộ cộng tiền tố song song
- Bộ cộng carry lookahead tính song song toàn bộ các bit carry để thực hiện phép cộng nhanh hơn
- Sử dụng bộ cộng tiền tố song song để triển khai carry lookahead theo từng khối 8-bit
- Dùng thuật toán Kogge-Stone để giảm độ trễ và tổ chức mạch hiệu quả
- Bộ cộng carry select
- Bộ cộng carry select thực hiện đồng thời hai phép cộng và cho kết quả ngay khi bit carry được xác định
- Pentium sử dụng bộ cộng carry select cho từng khối 8-bit trong mạch ×3
- Trình điều khiển đầu ra BiCMOS
- Đầu ra của mạch ×3 cần dòng điện cao, và quy trình BiCMOS được dùng để giảm độ trễ tín hiệu
- BiCMOS kết hợp CMOS và transistor lưỡng cực để mang lại hiệu năng cao
- Kết luận
- Mạch ×3 của Pentium là một thiết kế phức tạp, sử dụng nhiều transistor hơn các vi xử lý đời trước
- Đây là một ví dụ cho thấy mức độ phức tạp của bộ xử lý đã tăng lên như thế nào
1 bình luận
Ý kiến Hacker News
Trong mô phỏng máy tính ternary, có cách chuyển phép chia cho lũy thừa của 3 thành dịch bit và cộng
Bộ xử lý của game arcade Cinematronics có hai bộ tích lũy 12-bit
Peter Kogge nhận bằng tiến sĩ tại Stanford và là người đã phát minh ra CPU đa lõi với tư cách IBM Fellow
Nhân với 3 trong tính toán địa chỉ là một tác vụ phổ biến
Trong bộ nhân, thay vì nhân với 7 thì có thể nhân với 8 rồi trừ 1
Bộ nhân ×3 chứa khoảng 9000 transistor, nhiều hơn cả vi xử lý Z80 năm 1976
Bộ nhân Booth radix-8 cần mạch x3
8086: 29.000
Nhược điểm của phép nhân radix-8 là việc nhân với các số từ 0 đến 7 khá phức tạp