2011-01-04 31 views
9

Sau khi đọc an article về ý nghĩa bộ nhớ ảo trên hiệu suất ứng dụng (và do đó thiết kế) tôi lại một lần nữa nhận ra tôi thực sự biết chút ít về kiến ​​trúc máy tính ngày nay. Tôi có một ý tưởng mơ hồ về bộ nhớ cache, đường ống, thuật toán dự đoán nhánh, cách thức hoạt động của bus bộ nhớ và có thể có hàng tá các tạo tác khác có thể cải thiện hiệu suất chương trình của tôi nếu tôi chỉ biết về chúng.Một bài viết hay về các tính năng CPU hiện đại/tối ưu hóa hiệu suất?

Để bảo vệ mình, tôi có thể nói rằng tôi đã biết máy ảo (bộ nhớ ảo) là gì và nó hoạt động như thế nào, mặc dù tôi xấu hổ vì trước đây tôi không nghĩ đến các tác động.

Vậy ... bất kỳ ai cũng có thể đề xuất bất kỳ đọc nào về (các) chủ đề không? Tôi rất muốn các bài báo trực tuyến có thể được đọc miễn phí - nhưng nếu bạn biết một cuốn sách hay, đừng ngần ngại thêm nó nữa!

P.S. Tôi cũng sẽ quan tâm đến cách những bài học này ảnh hưởng đến môi trường cấp cao hiện đại như .NET, đó là nơi cư trú chính của tôi.

+0

+1. Xin lỗi tôi không thể giúp bạn, nhưng cảm ơn vì đã đặt câu hỏi bởi vì bây giờ tôi cũng được học thêm một chút nữa. –

+0

Nếu bạn không phát triển hệ điều hành hoặc một cái gì đó tương tự, bạn không phải đối phó với những vấn đề này (và bạn thậm chí * không thể *, bởi vì đây là một lớp đóng của kiến ​​trúc phần mềm). Mặt khác, tất cả mọi người nên biết làm thế nào để xử lý khác nhau, VM, phân trang, 64-vs 32-bit, vv làm việc. – ern0

+0

@ ern0 - Tất nhiên, hệ điều hành có một chút kiểm soát đối với ứng dụng của bạn - giống như nó có thể dừng nó bất cứ lúc nào, gây rối với máy ảo của bạn, v.v. Nhưng thỉnh thoảng bạn có một lõi CPU cho chính mình, do đó, nó chỉ có ý nghĩa để cố gắng và làm càng nhiều càng tốt trong khi bạn vẫn có thể. –

Trả lời

2

Chỉ cần tìm thấy this PDF bởi Ulrich Drepper, có tiêu đề "Mọi người lập trình nên biết gì về bộ nhớ". Đã không đọc nó, nhưng trông tại chỗ trên!

1

Hãy nhìn vào các hướng dẫn bởi Intel và AMD:

  • Intel (R) 64 và IA-32 Kiến trúc Optimization Reference Manual (PDF 4.5Mb)
  • Phần mềm tối ưu hóa Hướng dẫn cho bộ xử lý AMD 15h gia đình (PDF 1.9MB)

Tuy nhiên, tập trung vào C/C++ hơn. Nhưng nhiều tối ưu hóa nên làm việc trên NET quá.

Các vấn đề liên quan