Trang chủ » Tư vấn »Bảo Trì Máy Tính - Mạng LAN» Bộ nhớ đệm: sram

Ngày tạo: 03/06/2015

Bộ nhớ đệm: sram



Một lọa bộ nhớ khác biệt rõ rệt nhanh hơn đáng kể so với hầu hết các loại dram, sram viết tắt của ram tĩnh (static ram), được đặt tên như vậy là vì nó không cần những tốc độ làm mới định kỳ như dram. Do cách sram được thiết kế, không chỉ những tốc độ làm mới không cần thiết mà còn sram chạy nhanh hơn dram nhiều, nhiều khả năng bắt kịp tốc độ những bộ xử lý hiện đại.

Bộ nhớ sram sẵn sàng trong 2ns (nano giây) số lần truy cập hoặc ít hơn, do đó, nó có thể theo kịp tốc độ bộ xử lý 2.2GHz hoặc nhanh hơn. điều này do cách thiết kế của sram, bỏ sáu báng bán dẫn cho mỗi bit lưu trữ. Việc sử dụng các bóng bán dẫn không có các tụ điện nghĩa là không cần thiết những tốc độ làm mới bởi bì không có tụ điện nên không mất thời gian nạp điện. miễn là có nguồn điện, sram sẽ ghi nhớ những gì được lưu trữ. Với những thuộc tính này, tại sao chúng ta không sử dụng sram cho tất cả các bộ nhớ hệ thống? câu trả lời đơn giản.

So với dram, sram nhanh hơn nhưng có mật độ thấp hơn đắt tiền hơn (xem bảng 6.1). mật độ thấp hơn có nghĩa là các chip sram về mặt vật lý hơn và lưu trữ ít hơn, số lượng bóng bán dẫn cao và thiết kế có nghĩa là chíp sram về mặt vật lý lớn hơn và sản xuất chúng tốn kém hơn chip dram. Ví dụ, một chíp dram mật độn cao có thể chứa tới 4Gb (512MB) RAM, trong khi chip SRAM với cùng kích cỡ vật lý chỉ có thể chứa 72Mb (9MB). Chi phí cao và sự không chế về mặt vật lý đã ngăn SRAM trở thành bộ nhớ chính trong hệ thống máy tính các nhân.



Mặc dù sram quá đắt cho máy tính cá nhân sử dụng như là bộ nhớ chính, các nhà thiết kế máy tính đã tìm thấy một cách dùng sram để cải thiện đáng kể hiệu suất máy tính. hơn là tiêu tiền cho toàn bộ ram thành sram có thể chạy đủ nhanh phù hợp với bộ xử lý, thiết kế một lượng nhở sram tốc độ cao, được dùng như bộ nhớ đệm (cache memory), mang lại với bộ xử lý và là bộ nhớ mà từ đó bộ xử lý thường trực tiếp đọc và ghi vào. Trong quá trình đọc, các dữ liệu trong bộ nhớ đệm tốc độ cao sẽ được các bọ nhớ chính tốc độ thấp hơn hay dram cung cấp lại trước đó. cho đến cuối những năm 1990, dram được giới hạn về tốc độ khoảng 60ns (16MHz). để chuyển đổi thời gian truy cập từ nano giây sang MHz, sử dụng công thức sau đây:

1 / nanoseconds x 1000 = MHz
Tương tự như vậy, để chuyển đổi từ MHz sang nano giây, dùng công thức đảo ngược sau:
1 / MHz x 1000 = nanoseconds

Ngày nay chúng ta có bộ nhớ chạy nhanh hơn 1GHz (1 nano giây), nhưng cho đến cuối những năm 1990 dram bị hạn chế tốc độ khoảng 60ns (16MHz). cho đến khi bộ xử lý tại ngưỡng 16MHz, DRAM vẫn hoàn toàn bắt kịp bộ xử lý và bo mạch chủ nghĩa là không cần bộ nhớ đệm. tuy nhiên ngay khi bộ xử lý vượt ngưỡng 16MHz, dram không còn bắt kịp nữa và bộ nhớ đệm sram bắt đầu xâm nhập vào thiết kế hệ thống máy tính các nhân. Điều này xảy ra cuối những năm 1986 và 1987 với sự xuất hiện lần đầu hệ thống bộ xử lý 386 chạy ở tốc độ 16MHz đến 20MHz hoặc nhanh hơn. chúng trong số những hệ thống máy tính đầu tiên để tận dụng cái được gọi là bộ nhớ đệm (cache memory), tầng đệm tốc độ cao cấu thành do các sram trwucj tiếp cung cấp dữ liệu cho bộ xử lý và dram chậm hơn trong hệ thống. bộ điều khiển bộ nhớ đệm đoán trước được các nhu cầu bộ nhớ của bộ xử lý và nạp trước dữ liệu vào bộ nhớ đệm tốc độ cao. Sau đó khi bộ xử lý gọi ra một địa chỉ bộ nhớ, dữ liệu có thể được truy lục từ bộ nhớ đệm tốc độ cao hơn là từ bộ nhớ chính tốc độ thấp.

Hiệu quả bộ nhớ đệm được diễn tả như là hit ratio. Đây là tiểu lệ bộ nhớ đệm đạt ngưỡng tổng số lượt truy cập vào bộ nhớ. một hit xảy ra khi dữ liệu mà bộ xử lý cần đã được nạp trước vào bộ nhớ đệm từ bộ nhớ chính, có nghĩa là bộ xử lý có thể đọc nó được từ bộ nhớ đệm. cache miss là khi bộ điều khiển bộ nhớ đệm khong đoán được nhu cầu về địa chỉ cụ thể và các dữ liệu yêu cầu không được nạp sẵn vào bộ nhớ đệm. trong trường hợp đó, bộ xử lý phải lấy dữ liệu từ bộ nhớ chính tốc độ chậm, thay vì từ bộ nhớ đệm nhanh hơn. bất cứ lúc nào khi bộ xử lý đọc dữ liệu từ bộ nhớ chính tốc độ chậm, thay vì từ bộ nhớ đệm không đoán được nhu cầu về địa chỉ cụ thể và các dữ liệu từ bộ nhớ chính tốc độ chậm, thay vì từ bộ nhớ đệm. trong trường hợp đó, bộ xử lý phải lấy dữ liệu từ bộ nhớ chính tốc độ chậm, thay vì từ bộ nhớ đệm nhanh hơn. bất cứ lúc nào khi bộ xử lý đọc dữ liệu từ bộ nhớ chính, bộ xử lý phải chờ lâu hơn do bộ nhớ chính quay vòng tròn theo chu kỳ tốc độ chậm hơn chu kỳ của bộ xử lý. Như một ví dụ nếu bộ xử lý với bộ nhớ đệm trên khuôn trọn vẹn đang chạy ở tốc độ 3600MHz (3.6GHz) trên một bú 1,333MHz, cả bộ xử lý  và bộ nhớ đệm sẽ quay vòng ở mức 0.28ns, trong khi bộ nhớ chính nhiều khả năng sẽ quay vòng chậm hơn 5 lần ở mức 0.75ns (1.333MHz). vì vậy, mỗi khi bộ xử lý 3.6GHz đọc dữ liệu từ bộ nhớ chính, nó sẽ thực sự bị chậm xuống chỉ còn 1,333MHz! việc chậm lại sẽ kết thúc bằng việc bộ sử lý thực thi cái được gọi là các tình trạng chờ (wait state), là nhưng chu kỳ mà trong đó không có gì được thực hiện: bộ xử lý về cơ bản sẽ phải chờ đợi rất lâu để bộ nhớ chính tốc độ chậm gửi trở lại dữ liệu mong muốn. hiển nhiên là bạn không muốn bộ xử lý máy chậm, nên chức năng và thiết kế bộ nhớ đệm trở nên rất quan trọng khi tốc độ hệ thống gia tăng.

Để giảm thiểu việc bộ xử lý bị buộc phải đọc dữ liệu từ bộ nhớ chính chậm chạp, hai hoặc ba tầng của bộ nhớ đệm thường tồn tại trong một hệ thống hiện đại, gọi là Cấp 1 (L1: Level 1), Cấp 2 (L2: level 2) và Cấp 3 (L3: level 3). Bộ nhớ đệm L1 cũng được gọi là bộ nhớ đệm bên trong (internal) hay toàn phần (integral) do nó luôn được dựng trực tiếp vào bộ xử lý như phần tử của luôn bộ xử lý (chíp thô). Cũng chính vì điều này, bộ nhớ đệm L1 luôn chạy cùng tốc độ nhân bộ xử lý và là bộ nhớ đệm nhanh nhất trong bất kỳ hệ thống nào. tất cả các bộ xử lý 486 và cao hơn đều tích hợp bộ nhớ đệm L1, làm cho chúng nhanh hơn đáng kể so với các bộ xử lý trước. bộ nhớ đệm L2 đầu tiên được gọi là bộ nhớ đệm ngoài (extenal) do nó ở bên ngoài chip xử lý khi nó xuất hiện đầu tiên. Khởi đầu, điều này có nghĩa là nó được gắn trên bo mạch chủ, như với tất cả các dòng hệ thống 386, 486 và pentium thế hệ thứ nhất. trong những hệ thống này, bộ nhớ đệm L2 chạy với tốc độ bo mạch chủ và tốc độ bus CPU vì nó được  lắp đặt trên bo mạch chủ và kết nối với bus CPU. Bạn thường tìm thấy bộ nhớ đệm L2 ngay cạnh socket bộ xử lý ở hệ thống pentium và hệ thống trước đó. trong sự quan tâm cải tiến tốc độ, các thiết kế bộ xử lý sau này của Intel và AMD bao gồm bộ nhớ đệm L2 như là phần tử của bộ xử lý. Trong tất cả các bộ xử lý cuối năm 1999 (và một số kiểu trước đó). bộ nhớ đệm L2 được kết hợp trực tiếp như là một phần của khuôn bộ xử lý như bộ nhớ đệm L1. ở các chíp với L2 trên khuôn, bộ nhớ đệm chạy cùng tốc độ nhân bộ xử lý và hiệu quả hơn rất nhiều. ngược lại, hầu hết các bộ xử lý từ năm 1999 và các dòng trước đó có tích hợp L2 thì bộ nhớ đệm l2 lại trong con chip rời bên ngoài nhân bộ xử lý. Bộ nhớ đệm l2 này chỉ chạy ở một nửa hoặc một phần ba tốc độ nhân bộ xử lý. Tốc độ bộ nhớ đệm rất quan trọng, nên hệ thống có bộ nhớ đệm l2 trên bo mạch chủ là chậm nhất. bao gồm l2 bên trong bộ xử lý làm nó chạy nhanh hơn và gắn chúng trực tiếp ngay khuôn bộ xử lý (thay vì các chip bên ngoài khuôn) là nhanh nhất. bất kỳ chip nào có bộ nhớ đệm l2 tốc độ trên khuôn đều có thuận lợi hiệu suất hơn hẳn chip thông thường. 

Bộ nhớ đệm l3 vừa được giới thiệu trong một số bộ xử lí từ năm 2001. Bộ xử lý pc để bản đầu tiên có bộ nhớ đệm l3 là pentium 4 Extreme Edition, một chip cao cấp được giới thiệu vào cuối 2003 với bộ nhớ đệm l3 trên khuôn 2MB. Mặc dù có vẻ tại thời điểm giới thiệu bộ nhớ đệm l3 trong pentium 4 Extreme Edition là sự bảo hiệu bộ nhớ đệm l3 phổ biến lan rộng trong những bộ xử lý máy tính để bàn, các phiên bản sau của Pentium 4 Extreme Edition (cũng như người kế vị của nó, Pentium Extreme Edition) không còn bao gồm bộ nhớ đệm l3. Thay vào đó, kích cỡ bộ nhớ đệm l2 lớn hơn được sử dụng để cải thiện hiệu suất. bộ nhớ đệm l3 trở lại với bộ xử lý pc năm 2007 với AMD Phenom và năm 2008 với Intel Core i7, cả hai đều có 4 nhân trong một khuôn. L3 đặc biệt phù hợp với bộ xử lý có bốn hay nhiều nhơn bởi vì nó cung cấp một bộ nhớ đệm trên khuôn mà tất cả các nhân có thể chia sẻ. tôi trông đợi bộ nhớ đệm l3 trở thành chuẩn mực trong các bộ xử lý đa nhân tương lai.

Mấu chốt để hiểu về bộ nhớ đệm và bộ nhớ chính là vị trí lắp đặt của chúng trong toàn bộ kiến trúc hệ thống. xem chương 4 những biểu đồ thể hiện những hệ thống gần đây với các loại bộ nhớ đệm khác nhau.

Các loại bộ nhớ ram và hiệu suất

Vấn đề tốc độ và hiệu suất bộ nhớ gây nhiều rắc rối bởi vì tốc độ bộ nhớ đôi khi được điễn tả bằng ns (nano giây) và tốc độ bộ xử lý luôn luôn được diễn đạt bằng MHz (megahertz) hay GHz (Gigahertz). Các loại bộ nhớ mới hơn và nhanh hơn có tốc độ được diễn đạt bằng MHz, lại thêm một vấn đề nữa nảy sinh. May mắn là bạn có thể chuyển từ MHz/GHz sang ns và ngược lại.

Một Nano giây được định nghĩa là một phần tỷ của giây một thời gian thực sự rất ngắn. xem xét điều này, vân tốc của ánh sáng là 186,282 dặm (299.792 km)/ giây trong chân không. Trong một phân tỉ giây, một tia ánh sáng chỉ được đi 11.80 inch tương đương 29.98 centimet ngắn hơn độ dài của một cây thước thông thường!
Tốc độ chíp và hệ thống thường được diễn đạt bằng megahertz (MHz), là hàng triệu chu kì mỗi giây; hoặc gigahertz (GHz), là hàng tỷ chu kì mỗi giây. Các bộ xử lý ngày nay chạy trong phạm vi 2GHz-4GHz với hầu hết các cải tiến hiệu suất do sự thay đổi trong thiết kế CPU (như là đa nhân) hơn là gia tăng xung đơn thuần.

Do lầm lẫn khi đề cập các thuật ngữ khác nhau này về tốc độ, tôi nghĩ rất thú vị xem chúng so sánh như thế nào. đầu chương này tôi đã liệt kê công thức bạn có thể sử dụng để đổi những giá trị này. bảng 6.2 cho thấy mối liên hệ giữa tốc độ nano giây thông thường (ns) và megahertz (MHz) với các máy tính qua các thời đại.



Như bạn có thể nhìn thấy ở bảng 6.2 khi đồng hồ tốc độ tăng, thời gian chu kỳ cũng giảm tương ứng. qua sự dòng đời phát triển của pc, bộ nhớ đã có thời gian khó khăn theo kịp bộ xử lý đòi hỏi và cấp bộ nhớ đệm tốc độ cao để chặn các yều cầu bộ xử lý cho bộ nhớ chính chặm hơn. tuy nhiệ gần đây các hệ thống dùng ddr, ddr2 và ddr2 sdram có tốc dộ bus bộ nhớ bằng bus bộ xử lý. Khi tốc độ bux bộ nhớ bằng tốc độ bus bộ xử lý, tốc độ bộ nhớ chính là tối ưu cho hệ thống đó.

Cho ví dụ, dùng thông tin trong bảng 6.2 bạn có thể thấy rằng bộ nhớ dram 60ns được dùng trong các pc Pentium đầu tiên và Pentium II cho mãi đến năm 1998 mới kết thúc một bộ nhớ 16.7 MHz chậm cự kỳ! bộ nhớ 16.7MHz chậm chạp này được lắp đặt vào hệ thống chạy bộ xử lý 300MHz hay nhanh hơn trên tốc độ bus bộ xử lý 66MHz, đẫn điến một sự không tương xứng lớn giữa tốc dộ bus bộ xử lý và bộ nhớ chính. Tuy nhiên, bắt đầu năm 1998 nền công nghiệp tiến đến bộ nhớ sdram nhanh hơn cho phép phù hợp tốc độ 66MHz của bú bộ xử lý tại thời điểm. Từ thời điểm này trở đi, bộ nhớ tiến triển với bước đi bus bộ xử lý, với nhiều loại mới hơn nhanh hơn ra đời phù hợp với bất kỳ gia tăng tốc độ bus bộ xử lý.

Năm 2000, tốc độ bs bộ xử lý và bộ nhớ vượt trội gia tăng đến 100MHz và thậm chí 133MHz (được gọi là sdram pc 100 và pc 133 sdram). Bắt đầu đầu năm 2001. Bộ nhớ (ddr) sdram tốc độ dữ liệu gấp đôi 200MHz và 266MHz trở thành phổ biến. năm 2002. Bộ nhớ ddr tăng đến 333MHz; năm 2003, tốc độ tăng xa hơn đến 400MHz. suốt năm 2004, chúng tôi thấy sự giới thiệu của ddr2, đầu tiên ở 400MHz và kế tiếp ở 533MHz. bộ nhớ ddr2 tiếp tụ phù hợp với các sự gia tăng tốc độ bộ bs bộ xử lý trong các pc suốt từ năm 2005 và 2006, nâng lên 667MHz và 800MHz. Năm 2007, bộ nhớ ddr2 có mặt với tốc độ lên đến 1066MHz, và ddr3 vào thị trường với tốc độ 1066MHz và nhanh hơn. năm 2009, bộ nhớ ddr3 trở thành loại bộ nhớ thông dụng nhất trong hệ thống mới, với tiêu chuẩn tốc độ lên đến 1600MHz. bảng 6.3 liệt kê các loại chủ yếu và các mức tốc độ của bộ nhớ máy tính các nhân.


MHz = Megacycles second
MTps = Megatransfers per second
MBps = Megabytes per second
SIMM = Single inline memory module
DIMM = Dual inline memory module


Theo" Nâng cấp và sửa chữa máy tính" Scott Mueller