Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 1)
Số trang: 8
Loại file: pdf
Dung lượng: 548.33 KB
Lượt xem: 11
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 1)Bộ nhớ Cache là kiểu bộ nhớ tốc độ cao có bên trong CPU để tăng tốc độ truy cập cho dữ liệu và các chỉ lệnh được lưu trong bộ nhớ RAM. Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho các bạn về cách làm việc của bộ nhớ này theo cách dễ hiểu nhất.Một máy tính sẽ hoàn toàn vô dụng nếu bạn không bắt bộ vi xử lý (CPU) thực hiện một nhiệm vụ nào đó. Công việc sẽ được thực hiện thông qua một...
Nội dung trích xuất từ tài liệu:
Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 1) Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 1)Bộ nhớ Cache là kiểu bộ nhớ tốc độ cao có bên trong CPU để tăng tốcđộ truy cập cho dữ liệu và các chỉ lệnh được lưu trong bộ nhớ RAM.Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho các bạn về cách làmviệc của bộ nhớ này theo cách dễ hiểu nhất.Một máy tính sẽ hoàn toàn vô dụng nếu bạn không bắt bộ vi xử lý (CPU)thực hiện một nhiệm vụ nào đó. Công việc sẽ được thực hiện thông qua mộtchương trình, chương trình này lại gồm rất nhiều các chỉ lệnh để ra lệnh choCPU làm việc.CPU lấy các chương trình từ bộ nhớ RAM. Tuy nhiên có một vấn đề với bộnhớ RAM đó là khi nguồn nuôi của nó bị cắt thì các thành phần dữ liệu đượclưu trong RAM cũng sẽ bị mất – chính điều này nên một số người nói rằngbộ nhớ RAM là một môi trường “dễ bay hơi”. Các chương trình và dữ liệunhư vậy phải được lưu trên môi trường không “dễ bay hơi” sau khi tắt máytính (giống như các ổ đĩa cứng hay các thiết bị quang như đĩa CD và DVD).Khi kích đúp vào một biểu tượng trong Windows để chạy một chương trìnhnào đó. Các chương trình thông thường được lưu trên ổ đĩa cứng của máytính, khi được gọi nó sẽ được nạp vào bộ nhớ RAM sau đó từ bộ nhớ RAM,CPU nạp chương trình thông qua một mạch có tên gọi là memory controller,thành phần này được đặt bên trong chipset (north bridge chip- chíp cực bắc)trên các bộ vi xử lý Intel hoặc bên trong CPU trên các bộ vi xử lý AMD.Trong hình 1 chúng tôi đã tóm tắt sơ qua nguyên tắc làm việc này (với cácbộ vi xử lý AMD bạn hãy bỏ qua phần chipset đã được vẽ).Hình 1: Cách dữ liệu được truyền tải đến CPUCPU không thể tìm nạp dữ liệu trực tiếp từ các ổ đĩa cứng vì tốc độ truy suấtdữ liệu của ổ đĩa cứng là quá thấp với nó, thậm chí nếu nếu bạn có cả ổ đĩacứng với tốc độ truy suất lớn nhất. Hãy lấy một số ví dụ làm dẫn chứng chođiều này, ổ cứng SATA-300 – một loại ổ đĩa cứng có tốc độ nhanh nhất hiệnđang được cung cấp ngày nay đến phần lớn người dùng – có tốc độ truyềntải theo lý thuyết là 300 MB/s. Một CPU chạy với tốc độ 2GHz với đườngdữ liệu* 64-bit sẽ truyền tải dữ liệu bên trong với tốc độ 16GB/s – như vậylà lớn gấp 50 lần.- Đường dữ liệu: Các đường giữa các mạch bên trong CPU. Chỉ cần mộtphép toán đơn giản bạn cũng có thể biết được rằng mỗi CPU có một sốđường dữ liệu khác nhau bên trong, mỗi một đường trong chúng lại có chiềudài khác nhau. Ví dụ với các bộ vi xử lý AMD thì đường dữ liệu giữa L2memory cache và L1 memory cache có độ rộng 128-bit, trong khi đó củaIntel là 256-bit. Đây chỉ là giải thích con số mà chúng tôi đã công bố trongđoạn trên không cố định, nhưng dẫu sao CPU luôn nhanh hơn rất nhiều sovới các ổ đĩa cứng.Sự khác nhau trong tốc độ cũng bắt nguồn từ một thực tế đó là các ổ đĩacứng còn bao gồm cả hệ thống cơ khí, các hệ thống cơ khí này bao giờ cũngchậm hơn hệ thống điện tử thuần túy, các thành phần cơ khí phải chuyểnđộng để dữ liệu mới có thể được đọc ra (điều này chậm hơn rất nhiều so vớiviệc chuyển động của điện tử). Hay nói cách khác, bộ nhớ RAM là 100%điện tử, có nghĩa là nó sẽ nhanh hơn tốc độ của ổ đĩa cứng và quang.Tuy nhiên đây chính là vấn đề, thậm chí bộ nhớ RAM nhanh nhất cũngkhông nhanh bằng CPU. Nếu bạn sử dụng các bộ nhớ DDR2-800, chúngtruyền tải dữ liệu ở tốc độ 6.400 MB/s – 12.800 MB/s nếu sử dụng chế độhai kênh. Thậm chí con số này còn có thể lên đến 16GB/s trong ví dụ trước,vì các CPU hiện nay còn có thể tìm nạp dữ liệu từ L2 memory cache ở tốcđộ 128- bit hay 256-bit, chúng ta đang nói về 32 GB/s hoặc 64 GB/s nếuCPU làm việc bên trong với tốc độ 2GHz. Bạn không nên lo lắng về nhữngvấn đề với “L2 memory cache”, chúng tôi sẽ giải thích vấn đề này sau. Tấtcả những gì bạn cần nhớ là bộ nhớ RAM chậm hơn CPU.Bằng cách đó, tốc độ truyền tải có thể được tính bằng sử dụng công thưcdưới đây (trong tất cả các ví dụ từ đầu tới giờ, “dữ liệu trên một clock” vẫnđược tính bằng “1”):[Tốc độ truyền tải] = [Độ rộng (số lượng bít)] x [tốc độ clock] x [dữ liệutrên một clock] / 8Vấn đề không chỉ dừng lại ở tốc độ truyền tải mà còn cả độ trễ. Độ trễ (thờigian truy cập) là lựợng thời gian mà bộ nhớ giữ chậm trong việc chuyểnngược trở lại dữ liệu mà CPU đã yêu cầu trước đó – điều này không thể thựchiện được ngay lập tức. Khi CPU yêu cầu chỉ lệnh (hoặc dữ liệu) được lưutại một địa chỉ nào đó thì bộ nhớ sẽ giữ chậm một khoảng thời gian để phânphối lệnh này (hoặc dữ liệu) trở ngược lại. Trên các bộ nhớ hiện nay, nếu nóđược dán nhãn có CL bằng 5 (CAS Latency, đây chính là độ trễ mà chúng tađang nói đến) thì điều đó có nghĩa rằng bộ nhớ sẽ cung cấp dữ liệu đã đượcyêu cầu sau 5 chu kỳ clock nhớ - nghĩa là CPU sẽ phải chờ đợi.Việc chờ đợi sẽ làm giảm hiệu suất của CPU. Nếu CPU phải đợi đến 5 chukỳ clock để nhận được chỉ lệnh hoặc dữ liệu mà nó đã yêu cầu thì hiệu suấtcủa nó sẽ chỉ còn 1/5 so với hiệu suất sử dụng bộ nhớ có khả năng cung cấpdữ liệu tức thời. Nói theo cách khác, khi truy cập bộ nhớ DDR2 ...
Nội dung trích xuất từ tài liệu:
Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 1) Tìm hiểu cách làm việc của bộ nhớ Cache (Phần 1)Bộ nhớ Cache là kiểu bộ nhớ tốc độ cao có bên trong CPU để tăng tốcđộ truy cập cho dữ liệu và các chỉ lệnh được lưu trong bộ nhớ RAM.Trong hướng dẫn này, chúng tôi sẽ giới thiệu cho các bạn về cách làmviệc của bộ nhớ này theo cách dễ hiểu nhất.Một máy tính sẽ hoàn toàn vô dụng nếu bạn không bắt bộ vi xử lý (CPU)thực hiện một nhiệm vụ nào đó. Công việc sẽ được thực hiện thông qua mộtchương trình, chương trình này lại gồm rất nhiều các chỉ lệnh để ra lệnh choCPU làm việc.CPU lấy các chương trình từ bộ nhớ RAM. Tuy nhiên có một vấn đề với bộnhớ RAM đó là khi nguồn nuôi của nó bị cắt thì các thành phần dữ liệu đượclưu trong RAM cũng sẽ bị mất – chính điều này nên một số người nói rằngbộ nhớ RAM là một môi trường “dễ bay hơi”. Các chương trình và dữ liệunhư vậy phải được lưu trên môi trường không “dễ bay hơi” sau khi tắt máytính (giống như các ổ đĩa cứng hay các thiết bị quang như đĩa CD và DVD).Khi kích đúp vào một biểu tượng trong Windows để chạy một chương trìnhnào đó. Các chương trình thông thường được lưu trên ổ đĩa cứng của máytính, khi được gọi nó sẽ được nạp vào bộ nhớ RAM sau đó từ bộ nhớ RAM,CPU nạp chương trình thông qua một mạch có tên gọi là memory controller,thành phần này được đặt bên trong chipset (north bridge chip- chíp cực bắc)trên các bộ vi xử lý Intel hoặc bên trong CPU trên các bộ vi xử lý AMD.Trong hình 1 chúng tôi đã tóm tắt sơ qua nguyên tắc làm việc này (với cácbộ vi xử lý AMD bạn hãy bỏ qua phần chipset đã được vẽ).Hình 1: Cách dữ liệu được truyền tải đến CPUCPU không thể tìm nạp dữ liệu trực tiếp từ các ổ đĩa cứng vì tốc độ truy suấtdữ liệu của ổ đĩa cứng là quá thấp với nó, thậm chí nếu nếu bạn có cả ổ đĩacứng với tốc độ truy suất lớn nhất. Hãy lấy một số ví dụ làm dẫn chứng chođiều này, ổ cứng SATA-300 – một loại ổ đĩa cứng có tốc độ nhanh nhất hiệnđang được cung cấp ngày nay đến phần lớn người dùng – có tốc độ truyềntải theo lý thuyết là 300 MB/s. Một CPU chạy với tốc độ 2GHz với đườngdữ liệu* 64-bit sẽ truyền tải dữ liệu bên trong với tốc độ 16GB/s – như vậylà lớn gấp 50 lần.- Đường dữ liệu: Các đường giữa các mạch bên trong CPU. Chỉ cần mộtphép toán đơn giản bạn cũng có thể biết được rằng mỗi CPU có một sốđường dữ liệu khác nhau bên trong, mỗi một đường trong chúng lại có chiềudài khác nhau. Ví dụ với các bộ vi xử lý AMD thì đường dữ liệu giữa L2memory cache và L1 memory cache có độ rộng 128-bit, trong khi đó củaIntel là 256-bit. Đây chỉ là giải thích con số mà chúng tôi đã công bố trongđoạn trên không cố định, nhưng dẫu sao CPU luôn nhanh hơn rất nhiều sovới các ổ đĩa cứng.Sự khác nhau trong tốc độ cũng bắt nguồn từ một thực tế đó là các ổ đĩacứng còn bao gồm cả hệ thống cơ khí, các hệ thống cơ khí này bao giờ cũngchậm hơn hệ thống điện tử thuần túy, các thành phần cơ khí phải chuyểnđộng để dữ liệu mới có thể được đọc ra (điều này chậm hơn rất nhiều so vớiviệc chuyển động của điện tử). Hay nói cách khác, bộ nhớ RAM là 100%điện tử, có nghĩa là nó sẽ nhanh hơn tốc độ của ổ đĩa cứng và quang.Tuy nhiên đây chính là vấn đề, thậm chí bộ nhớ RAM nhanh nhất cũngkhông nhanh bằng CPU. Nếu bạn sử dụng các bộ nhớ DDR2-800, chúngtruyền tải dữ liệu ở tốc độ 6.400 MB/s – 12.800 MB/s nếu sử dụng chế độhai kênh. Thậm chí con số này còn có thể lên đến 16GB/s trong ví dụ trước,vì các CPU hiện nay còn có thể tìm nạp dữ liệu từ L2 memory cache ở tốcđộ 128- bit hay 256-bit, chúng ta đang nói về 32 GB/s hoặc 64 GB/s nếuCPU làm việc bên trong với tốc độ 2GHz. Bạn không nên lo lắng về nhữngvấn đề với “L2 memory cache”, chúng tôi sẽ giải thích vấn đề này sau. Tấtcả những gì bạn cần nhớ là bộ nhớ RAM chậm hơn CPU.Bằng cách đó, tốc độ truyền tải có thể được tính bằng sử dụng công thưcdưới đây (trong tất cả các ví dụ từ đầu tới giờ, “dữ liệu trên một clock” vẫnđược tính bằng “1”):[Tốc độ truyền tải] = [Độ rộng (số lượng bít)] x [tốc độ clock] x [dữ liệutrên một clock] / 8Vấn đề không chỉ dừng lại ở tốc độ truyền tải mà còn cả độ trễ. Độ trễ (thờigian truy cập) là lựợng thời gian mà bộ nhớ giữ chậm trong việc chuyểnngược trở lại dữ liệu mà CPU đã yêu cầu trước đó – điều này không thể thựchiện được ngay lập tức. Khi CPU yêu cầu chỉ lệnh (hoặc dữ liệu) được lưutại một địa chỉ nào đó thì bộ nhớ sẽ giữ chậm một khoảng thời gian để phânphối lệnh này (hoặc dữ liệu) trở ngược lại. Trên các bộ nhớ hiện nay, nếu nóđược dán nhãn có CL bằng 5 (CAS Latency, đây chính là độ trễ mà chúng tađang nói đến) thì điều đó có nghĩa rằng bộ nhớ sẽ cung cấp dữ liệu đã đượcyêu cầu sau 5 chu kỳ clock nhớ - nghĩa là CPU sẽ phải chờ đợi.Việc chờ đợi sẽ làm giảm hiệu suất của CPU. Nếu CPU phải đợi đến 5 chukỳ clock để nhận được chỉ lệnh hoặc dữ liệu mà nó đã yêu cầu thì hiệu suấtcủa nó sẽ chỉ còn 1/5 so với hiệu suất sử dụng bộ nhớ có khả năng cung cấpdữ liệu tức thời. Nói theo cách khác, khi truy cập bộ nhớ DDR2 ...
Tìm kiếm theo từ khóa liên quan:
thủ thuật máy tính công nghệ thông tin tin học quản trị mạng computer networkGợi ý tài liệu liên quan:
-
52 trang 430 1 0
-
24 trang 355 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 314 0 0 -
Làm việc với Read Only Domain Controllers
20 trang 303 0 0 -
74 trang 299 0 0
-
96 trang 293 0 0
-
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 289 0 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 281 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 275 0 0 -
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 269 1 0