KIẾN TRÚC MÁY TÍNH
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Tìm hiểu về bộ nhớ Cache

Go down

Tìm hiểu về bộ nhớ Cache Empty Tìm hiểu về bộ nhớ Cache

Bài gửi  Admin Mon Sep 19, 2011 6:57 am

Tìm hiểu về bộ nhớ Cache

Nếu như máy của bạn phải làm việc quá sức với Windows và các chương trình ứng dụng khác thì đây là các kiểu cache* phần cứng và cache phần mềm có thể giúp ít cho bạná

Với các ứng dụng manh mẽ và đòi hỏi nhiều bộ nhớ như hiện nay thì chắc chắn bạn phải lo tìm cách nào đó có thể giúp bạn làm việc nhanh hơn. Cơ hội thì có, nhưng để mua một chiếc PC mới thì có lẽ không phải là cách lựa chọn duy nhất. Làm thế nào để tăng tốc độ mà không phải chi thêm hàng nghìn đôla.

Bộ nhớ cache có thể giúp bạn điều này mà không phải quan tâm nhiều đến đĩa cứng. Bất kể một máy PC nào đều tỏ ra rất hữu hiệu khi dùng cache. Bằng cách đọc nhiều dữ liệu hơn là trình ứng dụng đòi hỏi, dữ liệu cần thiết cho ứng dụng đó đã nằm sẵn sàng trong bộ nhớ cache. Do đọc dữ liệu từ cache nhanh hơn đọc từ đĩa cứng nên tốc độ của cả hệ thống cũng như của ứng dụng tăng đáng kể.

Nhưng loại cache nào tốt hơn cả cho máy vi tính: cache phần cứng hay phần mềm. Bộ điều khiển đĩa cứng IDE dùng cache có thể cắm vào khe cắm mở rộng của PC có đáng được lưu tâm hay không? Hay cache phần mềm, rẻ tiền và dễ dàng cài đặt hơn như SuperPC-Kwik cũng làm tốt như vậy? Và cả tiện ích cache kèm theo Windows 3.1 và DOS 6.0 nữa. Sự tranh đua giữa cache phần cứng và cache phần mềm sẽ ngả về đâu?

Giá trị của cache

Để đáp ứng được nhu cầu của mình, bạn phải biết rõ ba vấn đề quan trọng: giá cả, tốc độ và khả năng sử dụng. Giá cả tự nói lên tất cả. Mục đích của việc sử dụng các sản phẩm cache là để có được hiệu quả lớn nhất với số tiền đầu tư càng ít thì càng tốt.

Những sản phẩm thấp giá nhất là Cache86 của Aldridge Company và Hyperdisk của Hyperware chỉ với 50 USD. Microsoft có SmartDrive 4.0 kèm theo trong Windows 3.1.

Bạn có thể có SmartDrive 4.1 từ DOS 6.0. Các sản phẩm cache phần mềm đắt hơn cả PCCache của CentralPoint (kèm với PC Tools) và NCache của Symantec. Cả hai đều có giá 179 USD, nhưng chúng cũng kèm theo với các tiện ích khác. Bạn có thể cân nhắc với giá cao hơn cho các sản phẩm cache phần cứng. Truớc nhất là 595 USD cho bộ điều khiển WinStore của Solution với khả năng cho phép 1 MB cache dữ liệu. Thấp hơn là 220 USD cho Ultra 15C của UltraStor với 512 KB cache.

Tìm cache nhanh hơn tất cả

Trong khi giá cả chênh lệch nhau đáng kể như vậy thì Trung tâm thẩm định của PC WORLD lại cho thấy sự khác nhau về tốc độ giữa cache phần cứng và cache phần mềm là tối thiểu. Tốc độ giữa cache phần mềm và cache phần cứng chỉ khác biệt 4%. Tại sao vậy? Cache phần mềm sử dụng RAM của hệ thống, trong khi đó cache phần cứng dùng RAM cắm vào khe cắm mở rộng, do đó thông tin phải đi qua hệ thống bus I/O, chậm hơn là truy cập trực tiếp vào RAM hệ thống.

Sự khác nhau về tốc dộ giữa các sản phẩm cứng cũng không đáng kể, từ 5 đến 10%. Có nghĩa là không nhận thấy với công việc hàng ngày.

Một điểm quan trọng đáng lưu ý là nếu bạn sử dụng các ứng dụng không phải của DOS vào Windows, ví dụ như: Novell Netware thì các cache phần mềm có thể sẽ không làm việc. Chẳng hạn trong tất cả các cache phần mềm đều làm việc trên các trạm khách hàng của Novell thì không có phần mềm nào sử dụng cho Novell Server. Nhưng nhiều cache phần cứng thực hiện điều này.

Những quyết định

Cần nhớ rằng tất cả cache đều sử dụng một số loại RAM. Cache phần cứng đưa ra các bộ nhớ RAM trên card cắm vào khe mở rộng, cache phần mềm chiếm dụng RAM của hệ thống. Nói chung bộ điều khiển IDE cache có giá từ 150 đến 300 USD cho mỗi card. Trừ khi máy của bạn là loại cũ hay yêu cầu RAM riêng còn thì các bộ điều khiển đĩa cache và máy đều sử dụng RAM loại SIMM (Single in-line Memory Modules). Vì vậy, bạn phải trả thêm từ 30-40 USD cho mỗi MB RAM.

Điều quan trọng là phải quyết định bổ sung RAM vào đâu để được lợi nhất. Nếu hệ thống máy của bạn có 4 MB RAM và bạn là người dùng Windows chạy nhiều ứng dụng, thực hiện thường xuyên việc chuyển đổi tác vụ và xử lý nền thì nâng RAM của hệ thống lên 8 MB sẽ tăng tốc độ nhiều hơn là bổ sung 4 MB cho bộ điều khiển cache. Và bạn không phải chi thêm 200 USD cho card điều khiển. Tuy nhiên cần lưu ý rằng với các máy PC cũ, chạy chậm thì việc sử dụng cache phần cứng sẽ có hiệu quả hơn bởi hai lý do: thứ nhất do CPU chạy chậm, thứ hai là tổng số RAM hệ thống quá bị hạn chế cho việc dành chổ cho cache.

Khả năng sử dụng

Khả năng sử dụng là tính cốt yếu của mỗi sản phẩm. Trước tiên là bắt đầu từ việc cài đặt và thiết lập. Các đặt tính sử dụng hàng ngày càng quan trọng hơn. Nhiều phần mềm cache cho phép đưa ra các phím "nóng" kích hoạt và loại bỏ cache chỉ bằng một cú gõ, chuyển đổi chế độ ghi chậm mở-tắt hoặc ngưng cache để chắc chắn rằng dữ liệu đã được ghi lên đĩa trước khi tắt máy, đều này rất quan trọng nếu bạn sử dụng cache để làm chậm trể việc ghi.

Việc cài đặt bộ điều khiển cache đòi hỏi một số thao tác. Trước hết, cần mở máy và cắm card vào khe cắm mở rộng trên bảng mạch chủ. Thông thường, bạn phải chạy chương trình Setup để loại bỏ liên kết IDE cài sẵn trong máy. Sau đó phải chọn đúng kiểu ổ đĩa tương ứng bộ điều khiển mới gắn. Nối cáp ổ đĩa, chỉnh lại một vài giác cắm (jumper) là xong mọi công việc. Điều này thực hiện không khó, nhưng là một trở ngại cho những người ít biết về kỹ thuật.

Cài đặt phần mềm cache thì dễ dàng hơn, chỉ việc chạy chương trình cài đặt từ đĩa mềm. Thông thường, chương trình cho phép bạn chỉnh lại các file hệ thống CONFIG.SYS và AUTOEXEC.BAT. Tất cả các chương trình cache đều khuyến cáo nên giảm số buffer DOS trong file CONFIG.SYS- đến 10 hoặc nhỏ hơn.

Nếu đã cài Windows , bạn đã có SmartDrive sẵn sàng.

Những điều cân nhắc

Như bạn đã thấy, mỗi loại cache đều có ưu và khuyết. Cache phần mềm nhanh, rẻ tiền và có thể sử dụng với nhiều loại ổ đĩa. Cache phần cứng nói chung là tốt hơn và hổ trợ cho nhiều ứng dụng cũng như các hệ điều hành. Hơn nữa, cache phần cứng lại không tiêu tốn bộ nhớ RAM qui ước.

Phần lớn các loại cache phần mềm có thể áp dụng cho nhiều ổ đĩa, kể cả ESDI, IDE, MFM, RLL... và các ổ đĩa mềm cùng một số ổ đĩa đặc biệt như ổ đĩa quang-từ, CD-ROM. Cache phần mềm lưu trữ các chỉ thị và dữ liệu ở phần RAM mở rộng trên 1 MB nhưng thường yêu cầu RAM qui ước ở cấu hình mặc nhiên. Bạn cũng thể tải các phần điều khiển vào bộ nhớ trên (upper memory). Nhưng nếu bạn có các phần điều khiển network hay CD-ROM cùng làm việc thì có thể không đủ chổ trong bộ nhớ trên. Khi đó buộc phải sử dụng đến bộ nhớ qui ước. Điều này lại dẫn đến việc thiếu bộ nhớ cho các ứng dụng.

Một điểm cần lưu ý là cache phần mềm không phải luôn luôn hòa hợp với các trình ứng dụng. Ngược lại điều này thì cache phần cứng ít có mâu thuẫn với các chương trình.

Lựa chọn cuối cùng

Đối với phần lớn người sử dụng máy PC thì cache phần mềm là cách lựa chọn tốt nhất, trước hết cho giá rẻ và dễ cài đặt. SmartDrive kèm theo với DOS và Windows có lẽ là quá đủ cho bạn. Tuy nhiên có một thiếu sót là các chương trình trên đều tự động cài đặt và không cho bạn các phương án lựa chọn.

Bất kỳ cache phần cứng nào cũng thực hiện tốt không kém, đặt biệt khi bạn chạy các ứng dụng nhiều RAM và máy của bạn có quá nhiều các driver thiết bị. Trong trường hợp này cache phần mềm khó có thể đảm đương và cách lựa chọn duy nhất là cache phần cứng.

* Cache: một hình thức nhớ đặc biệt có tốc độ truy xuất cực nhanh, một số người hay gọi là bộ nhớ tiềm ẩn.

Admin
Admin

Tổng số bài gửi : 60
Join date : 31/08/2011

https://cdth10a.forumvi.com

Về Đầu Trang Go down

Tìm hiểu về bộ nhớ Cache Empty Bộ nhớ Cache (tt)

Bài gửi  Admin Mon Sep 19, 2011 6:58 am

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 chươ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 cho CPU 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 được lư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ằng bộ nhớ RAM là một môi trường “dễ bay hơi”. Các chương trình và dữ liệu như vậy phải được lưu trên môi trường không “dễ bay hơi” sau khi tắt máy tí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ình nào đó. Các chương trình thông thường được lưu trên ổ đĩa cứng của máy tí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.

CPU 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ất dữ 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ả ổ đĩa cứ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ền tải theo lý thuyết là 300 MB/s. Một CPU chạy với tốc độ 2GHz với đường dữ liệu* 64-bit sẽ truyền tải dữ liệu bên trong với tốc độ 16GB/s – như vậy là 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ột phé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ều dài khác nhau. Ví dụ với các bộ vi xử lý AMD thì đường dữ liệu giữa L2 memory cache và L1 memory cache có độ rộng 128-bit, trong khi đó của Intel 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 so vớ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 ổ đĩa cứng còn bao gồm cả hệ thống cơ khí, các hệ thống cơ khí này bao giờ cũng chậ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ới việ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ũng không nhanh bằng CPU. Nếu bạn sử dụng các bộ nhớ DDR2-800, chúng truyề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ếu CPU làm việc bên trong với tốc độ 2GHz. Bạn không nên lo lắng về những vấn đề với “L2 memory cache”, chúng tôi sẽ giải thích vấn đề này sau. Tất cả 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ưc dướ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ệu trên một clock] / 8

Vấn đề không chỉ dừng lại ở tốc độ truyền tải mà còn cả độ trễ. Độ trễ (thời gian truy cập) là lựợng thời gian mà bộ nhớ giữ chậm trong việc chuyển ngược trở lại dữ liệu mà CPU đã yêu cầu trước đó – điều này không thể thực hiện được ngay lập tức. Khi CPU yêu cầu chỉ lệnh (hoặc dữ liệu) được lưu tại một địa chỉ nào đó thì bộ nhớ sẽ giữ chậm một khoảng thời gian để phân phố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 đã được yê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 chu kỳ clock để nhận được chỉ lệnh hoặc dữ liệu mà nó đã yêu cầu thì hiệu suất củ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ấp dữ liệu tức thời. Nói theo cách khác, khi truy cập bộ nhớ DDR2-800 với CL5 thì hiệu suất của CPU bằng với hiệu suất của CPU làm việc với bộ nhớ 160 MHz (800 MHz / 5) với khả năng cung cấp dữ liệu tức thời. Trong thế giới thực, việc giảm hiệu suất không nhiều vì các bộ nhớ làm việc dưới chế độ có tên gọi là chế độ truyền loạt (burst mode), ở nơi mà dữ liệu được tập trung lần thứ hai có thể được cung cấp một cách ngay lập tức, nếu dữ liệu này được lưu trên một địa chỉ nối tiếp nhau (thường thì chỉ lệnh của chương trình nào đó được lưu trong các địa chỉ liên tục). Điều này được diễn tả bằng công thức “x-1-1-1” (có nghĩa “5-1-1-1” là cho bộ nhớ dùng trong ví dụ của chúng ta), có nghĩa là dữ liệu đầu tiên được cung cấp sau 5 chu kỳ xung clock, nhưng từ dữ liệu thứ hai trở đi thì chúng được cung cấp chỉ trong một chu kỳ clock – nếu nó được lưu trên địa chỉ liên tiếp giống như những gì chúng ta đã nói.

RAM động và Ram tĩnh

Có hai kiểu bộ nhớ RAM đó là RAM động (DRAM) và RAM tĩnh (SRAM). Bộ nhớ RAM đã sử dụng trên các máy tính là loại RAM động. Kiểu RAM này, mỗi bit dữ liệu được lưu bên trong chip nhớ bằng một tụ điện nhỏ, các tụ điện này là thành phần rất nhỏ, nghĩa là có đến hàng triệu tụ điện trên một vùng diện tích mạch điện nhỏ, điều này vẫn được người ta gọi là “mật độ cao”. Các tụ điện này có thể bị mất điện áp tích tụ sau một thời gian, chính vì vậy các bộ nhớ động cần phải có quá trình nạp lại, quá trình này vẫn thường được chúng ta gọi là “làm tươi” (refresh). Trong suốt chu kỳ này dữ liệu không thể được đọc ra hoặc được ghi vào. Bộ nhớ động rẻ hơn so với bộ nhớ tĩnh và cũng tiêu thụ ít năng lượng hơn bộ nhớ tĩnh. Tuy nhiên như chúng ta đã biết, trên RAM động, dữ liệu không được cung cấp một cách sẵn sàng và nó có thể không làm việc nhanh bằng CPU.

Với bộ nhớ tĩnh, đây là kiểu bộ nhớ có thể làm việc nhanh bằng CPU, vì mỗi bit dữ liệu đều được lưu trên một mạch có tên gọi flip-flop (F-F), mỗi một F-F này lại có thể cung cấp dữ liệu với độ trễ rất nhỏ, vì các F-F không yêu cầu đến chu trình làm tươi. Vấn đề ở đây là các F-F này lại yêu cầu một số transistor, có kích thước to hơn so với một tụ điện trên RAM động. Điều này có nghĩa là trên cùng một diện tích giống nhau, nơi mà ở bộ nhớ tĩnh chỉ có một F-F tồn tại thì trên bộ nhớ động sẽ có đến hàng trăm tụ điện. Chính vì vậy các bộ nhớ tĩnh thường có mật độ thấp hơn – các chíp có dung lượng thấp hơn. Hai vấn đề khác với bộ nhớ tĩnh nữa là: nó thường đắt hơn nhiều và tiêu tốn nhiều năng lượng hơn (do đó nóng hơn) so với bộ nhớ tĩnh.

Mặc dù Ram tĩnh có tốc độ nhanh hơn RAM động nhưng những nhược điểm của nó vẫn ngăn cản nó trở thành RAM chính.

Giải pháp đã tìm thấy để giảm sự ảnh hưởng trong việc sử dụng bộ nhớ RAM chậm hơn CPU là sử dụng một số lượng nhỏ các RAM tĩnh giữa CPU và bộ nhớ RAM. Công nghệ này được gọi là bộ nhớ Cache và ngày nay có một số lượng nhỏ bộ nhớ tĩnh này được đặt bên trong CPU.

Bộ nhớ Cache copy hầu hết các dữ liệu đã được truy cập gần đây từ bộ nhớ RAM vào bộ nhớ tĩnh và đoán dữ liệu gì CPU sẽ hỏi tiếp theo, tải chúng đến bộ nhớ tĩnh trước khi CPU yêu cầu thực sự. Mục đích là làm cho CPU có thể truy cập vào bộ nhớ Cache thay vì truy cập trực tiếp vào bộ nhớ RAM, vì nó có thể truy vấn dữ liệu từ bộ nhớ Cache một cách tức thời hoặc cũng hầu như ngay lập tức thay vì phải đợi khi truy cập vào dữ liệu được đặt trong RAM. CPU càng truy cập vào Cache nhớ thay cho RAM nhiều hơn thì hệ thống sẽ càng hoạt động nhanh hơn. Cũng theo đó, chúng ta sẽ sử dụng hoán đổi hai thuật ngữ “dữ liệu” và “chỉ lệnh” cho nhau vì những gì được lưu bên trong mỗi địa chỉ nhớ không có gì khác biệt đối với bộ nhớ.

Admin
Admin

Tổng số bài gửi : 60
Join date : 31/08/2011

https://cdth10a.forumvi.com

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết