Tôi đang nghiên cứu thiết kế JIT liên quan đến ngôn ngữ động VM triển khai thực hiện. Tôi đã không làm nhiều hội từ những ngày 8086/8088, chỉ là một chút ở đây hoặc ở đó, vì vậy được tốt đẹp nếu tôi ra khỏi loại. Khi tôi hiểu nó, kiến trúc x86 (IA-32) vẫn có cùng một bộ đăng ký giới hạn cơ bản ngày hôm nay mà nó luôn làm, nhưng số lượng đăng ký nội bộ đã tăng lên rất nhiều, nhưng các thanh ghi bên trong này thường không có sẵn và được sử dụng với đăng ký đổi tên để đạt được pipelining song song của mã mà nếu không thì không thể song song. Tôi hiểu tối ưu hóa này khá tốt, nhưng cảm giác của tôi là, trong khi các tối ưu hóa này giúp thông lượng tổng thể và các thuật toán song song, bộ đăng ký giới hạn chúng tôi vẫn bị kẹt với kết quả trong quá trình đăng ký tràn hơn, nếu x86 có gấp đôi hoặc tăng gấp bốn lần thanh ghi có sẵn cho chúng tôi, có thể có ít hơn đáng kể push/pop opcodes trong một dòng hướng dẫn điển hình? Hoặc là có optmizations xử lý khác mà cũng tối ưu hóa này đi mà tôi không biết? Về cơ bản nếu tôi có một đơn vị mã có 4 thanh ghi để làm việc với số nguyên, nhưng đơn vị của tôi có một tá biến, tôi có khả năng một push/pop cho mỗi 2 hướng dẫn.Kiến trúc P6 - Đăng ký đổi tên sang một bên, sổ đăng ký người dùng bị hạn chế có dẫn đến nhiều op hơn chi tiêu/tải không?
Mọi tham chiếu đến nghiên cứu hoặc trải nghiệm cá nhân tốt hơn chưa?
EDIT: x86_64 có 16 thanh ghi, gấp đôi x86-32, nhờ chỉnh sửa và thông tin.
Cảm ơn CrashWorks, câu trả lời tuyệt vời. Bạn có một tài liệu tham khảo tốt cho điều này? Tôi có một số cuốn sách kiến trúc và không ai trong số họ đề cập đến điều này, nhưng đó là nghi ngờ của tôi rằng một cái gì đó như thế này đã xảy ra. – codenheim
Bạn có thể suy ra nhiều thông tin này từ chương 2 của cẩm nang tối ưu hóa của Intel (http://www.intel.com/products/processor/manuals/). Bạn cũng có thể chạy một số thử nghiệm được kiểm soát để cố gắng tìm ra một số nội dung "hộp đen". Và bạn luôn có thể đi qua các bằng sáng chế của Intel: sau khi tất cả, mục đích của một bằng sáng chế là họ phải cho bạn biết làm thế nào nó hoạt động! # 5740414 có thể là một nơi để bắt đầu. – Crashworks
Cảm ơn, các điểm tốt. Bước đầu tiên là đặt hàng các sách hướng dẫn mới hơn so với các tài liệu cũ 15 năm của tôi.:) – codenheim