Logo for baiviet32.com

RAM và một số khái niệm căn bản

Posted: 3.3.2008 | Đọc: 30 | Bình: 0

Lởi mở đầu : Bài viết này dựa trên kiến thức được tổng hợp từ rất nhiều nguồn khác nhau. Không đi sâu vào các phương thức OverClock Ram mà chỉ là các khái niệm căn bản.Bài viết có sử dụng hình vẽ từ các tài liệu trên mạng.Trong bài viết còn nhiều chỗ chỉ là ý kiến cá nhân, có gì sai sót mong được mọi người chỉ giáo.

Bài liên quan RAM và một số khái niệm căn bản hoặc tương tự:

RAM và một số khái niệm căn bản

I/Định Nghĩa

1, Định nghĩa Ram

Ram (Random Access Memory ) là bộ nhớ truy cập ngẫu nhiên. Khác với truy cập tuần tự. Có thể lấy ví dụ có 100 ô nhớ được đánh địa chỉ từ 1 đến 100. Với cách truy cập tuần tự muốn lấy dữ liệu từ ô nhớ thứ 99, cần phải truy cập tuần tự từ ô nhớ thứ 1,2,3…….cho đến ô nhớ thứ 99. Nhưng với phương thức truy cập ngẫu nhiên, có thể truy cập ngay đến ô nhớ thứ 99 mà không cần phải qua các ô nhớ trước đó.

Có 2 loại Ram cơ bản là SRAM ( Static Ram ) hay còn gọi là Ram tĩnh và DRAM ( Dynamic RAM) hay còn gọi là RAM động .

SRAM là loại Ram ko cần phải refesh mà dữ liệu vẫn không bị mất. Do đó dung lượng lớn hơn và cũng đắt tiền hơn.

Trong đó DRAM cần phải được refresh thường xuyên (Hàng triệu lần mỗi giây ) để đảm bảo dữ liệu lưu trữ không bị mất đi.

Cả SRAM và DRAM đều sẽ bị mất dữ liệu sau khi tắt máy.

Để hiểu rõ hơn về quá trình refresh ta có thể nhìn vào hình sau :

RAM và một số khái niệm căn bản 1

2,Nhiệm vụ của RAM :

Ram là nơi hệ điều hành,ứng dụng lưu trữ data để CPU có thể nhanh chóng truy xuất. Tăng dung lượng Ram đồng nghĩa với việc giảm số lần CPU phải lấy dữ liệu từ Hard Disk, một quá trình mất nhiều thời gian hơn đọc dữ liệu trực tiếp từ RAM.

(Thời gian truy xuật RAM được tính = ns trong khi đó thời gian truy xuất HD được tính = mili s )

Máy tính cá nhân cần 1 lượng RAM nhất định cho mỗi ứng dụng,càng nhiều ứng dụng bạn mở, luonwjg RAM cần dung càng nhiều. Vậy điều gì sẽ xảu ra khi RAM đầy. Rất may là hệ điều hành của chúng ta được thiết kể để xử lí trường hơpnj này. Khi Ram gần đầy hệ điều hành sẽ lấy bớt 1 phần dữ liệu từ RAM và ghi vào ổ cứng, thường là phần ít được dung nhất. Phần HD dung để ghi dữ liệu tạm thời này được gọi là PAGE FILE hay SWAP FILE dịch sang tiếng việt có nghĩa là “Tập tin tráo đổi”.RAM của chúng ta vì thế sẽ không bao giờ bị đầy nhưng cái giá phải trả sẽ là việc hệ thống hoạt động í ạch vì CPU phải lấy quá nhiều dữ liệu từ ổ cứng.

Một câu hỏi được đặt ra là vì sao máy tính của chúng ta không phải là một cỗ máy chỉ có RAM thay luôn cho chức năng của ổ cứng vì RAM có tốc độ truy xuất rất nhanh. Lý do rất đơn giản là RAM bị mất dữ liệu sau khi tắt máy và hơn thế nữa giá thành của RAM quá đắt trong việc dung để lưu trữ dữ liệu lên đến hang trăm GB trong các máy tính ngày nay.

3,Các định nghĩa khác :

SIMM : Single Inline Memory Module loại bộ nhớ dung trong các máy tính cổ, gồm loại 30 pin và 72 pin. Nhiều người cho rằng SIMM là loại Module RAM chỉ có 1 mặt ( Single Side) nhưng không hẳn vì vần có loại SIMM double sides. Bus width của loại RAM này là 32 bit.

DIMM : Double Inline Memory Module là loại bộ nhớ trong các máy tính ngày nay. Được biết đến với DIMM 168 pin (SDR-SDRAM hay còn gọi là SDRAM) 184pin (DDR-SDRAM chính là DDR1) và loại 240pin (DDR2-SDRAM hay còn biết đến là DDR2 ) ngoài ra còn có các loại khác 72 và 144 pin 200 pin (SODIMM cho laptop).Bus width của DIMM là 64 bit đây là khác biệt cơ bản nhất giữa DIMM và SIMM chứ không phải là SIMM thì single side và DIMM thì double sides như nhiều người nghĩ.

SDR-SDRAM : Single Data Rate Synchronous Dynamic RAM là loại chip RAM chỉ chuyển được 1 bit dữ liệu trong 1 xung nhịp.Được sử dụng rộng rãi từ những năm 1990. Chi tiết về SDRAM sẽ được đề cập trong những bài viết sau.

DDR-SDRAM: Double Data Rate Synchronous Dynamic RAM là loại chip RAM truyển được dữ liệu trong cả 2 mặt lên và xuống của xung nhịp. Hay nói cách khác 1 xung nhịp DDR-SDRAM truyển được 2 bit dữ liệu. Đây được gọi là Double Pump.

DDR2-SDRAM : Thế hệ sau của DDR với tốc độ từ 400MHZ trở lên và module có 240 pin.

RAMBUS: Là loại RAM tốc độ cao tử 400 – 800MHZ nhưng bus width lại chỉ là 16 bit.Hay còn gọi là RDRAM ( Rambus Dynamic Ram )

ECC : Error Correction Code là Code tuân theo một luật nhất định có khả năng phát hiện và sửa lỗi trong từng xung nhịp. Có các loại code Hamming code, Reed-Solomon code, Reed-Muller code, Binary Golay code, convolutional code, Turbo code và nhiều Code khác. Được sử dụng trong DIMM và các thiết bị lưu trữ cao cấp. Một ECC đơn giản có thể sửa 1bit lỗi và phát hiện 2 bit lỗi khác trong khi đó một số ECC khác có thể sửa và phát hiện nhiều bit lỗi đồng thời. ECC DIMM đắt tiền và chỉ được sử dụng trong các hệ thống máy chủ đòi hỏi độ chính xác cao cho dữ liệu lưu trữ. Cần phân biệt ECC với Registered hay Buffered RAM.

Memory Cell : Còn gọi là ô nhớ bao gồm 1 transistor và 1 Capacitors thể hiện trạng thái 0 và 1. Transistor ở đây đóng vai trò như một công tắc để chuyển đổi giữa 2 trạng thái này.Có các cổng Data in Data out và Write Enable ( Mặc định là tắt khi mở thì sẽ chuyển từ chế độ Read sang Write lúc này dữ liệu sẽ được nạp vào ).

Memory Chip: Là tập hợp rất nhiều Row (Hàng) và Column(Cột) . Tưởng tượng Memory Chip như một bảng tính Excel và mội một ô chính là location. Các Row và Column này có địa chỉ riêng.Trong mỗi một Location gồm rất nhiều Memory Cell

Memory Bank: Tập hợp các Memory Chip để đồng thởi có thể cung cấp đủ bit dữ liệu tương xứng với bus dữ liệu của CPU.

3 khái niệm này sẽ được làm rõ hơn ở phần tiếp theo của bài viết.

II/Cách thức truy cập RAM

1, Cấu tạo của 1 Chip nhớ.(Như hình vẽ không càn giải thích gì thêm )

RAM và một số khái niệm căn bản 1

_RAS ( Row Address Strobe ) Là tín hiệu để xác định địa chỉ nhớ theo hàng.

_CAS ( Column Address Strobe) là tín hiệu để xác định địa chỉ nhớ theo cột.

_Address Bus là đường truyền tín hiệu RAS và Cas.

_Data Bus là đường truyền dữ liệu giữa Memory Controler và chip nhớ.

_Khi cần truy xuất đến 1 địa chỉ nhớ bất kì Memory Controler sẽ gửi các tín hiệu RAS và CAS tương xứng đến Chip nhớ tương ứng với dữ liệu cần lấy.

2.Cách thức truy cập chip nhớ.

_Tín hiệu RAS sẽ được Mem Control truyền theo Address bus.

_Khi RoW Addr Latch nhận được tín hiệu RAS. Nó sẽ chuyển tín hiệu này sang Row Address Decoder ( Bộ phận giải mã địa chỉ nhớ theo hàng) để giải mã địa chỉ Row cần được truy xuất .

_Row này sẽ được kích hoạt.

_Sau đó tín hiệu CAS sẽ được gửi đến Column Address Latch và tương tự Column cần được truy xuất được kích hoạt.

_Mặc định là Write Enable Deactived ( Ko có trong hình vẽ ) dữ liệu sẽ được đọc theo Data Bus đi về Memory Controler.

_Nếu Write Enable được Active thì dữ liệu sẽ được ghi.

Chính cách thức truy xuất dữ liệu này mà sẽ dẫn đến Delay tạo nên Memory Timming sẽ được nhắc đến ở phần sau.

RAM và một số khái niệm căn bản 1

RAM và một số khái niệm căn bản 1

3, Dung lượng RAM tối đa và Memory Bank

Các Module ( Thanh Ram) có thể dựa trên các chip x4 x8 hoặc x16, x4 và x8 muốn nói đến bus width của chip nhớ tức là đồng thời chip nhớ có thể cho ra bao nhiêu bit dữ liệu. Hầu hết các hệ thống hiện nay đều sử dụng loại x8 hoặc x16. Các hệ điều hành 32bit có khả năng quản lí địa chỉ nhớ trong 32bit kết hợp với CPU 32bit có khả năng đánh dấu địa chỉ nhớ trong 32bit. Tức là sẽ có 2^32 địa chỉ nhớ được đánh dấu và quản lí. 2^32 = 4294967296 ~ 4Gb địa chỉ nhớ. Tương ứng với mỗi địa chỉ nhớ là 8bit (x8). Như vậy lượng Ram tối đa mà 1 hệ thống 32 bit có thể có là 4Gb * 8 = 4GB. Đối với các hệ điều hành 64 bit kết hợp với hệ thống 64 bit có khả năng đánh dấu và quản lí địa chỉ nhớ trong 64bit. Tức là lượng Ram tối đa là có 4GB*2^32 (do 2^64 gấp 2^32 là 2^32 lần ). Một con số thật khủng khiếp phải không. Chuẩn mỗi location ( địa chỉ nhớ) ứng với 8bit là do IBM đưa ra. Nhưng sau này thì đã có các chip x16 nên lượng RAM tối đa với hệ thống 32bit trên lý thuyết sẽ cao hơn 4GB nhiều nhưng trên thực tế với 4GB cũng là đã khó kiếm dc BIOS hỗ trợ.

Với 1 Chip RAM có kí hiệu 32M x 8 thì có thể hiểu 32M là có 32 triệu location (32M) mỗi location là 8 bit (x8) nên chip RAM này có dung lượng 32Mbyte. Tương tự với các kĩ hiệu khác như 16Mx16 64M x 4

Có thể chúng ta sẽ thắc mắc, Data Bus width của Ram là 64 bit. Tương xứng với mỗi địa chỉ nhớ là 8 bit. Vậy làm thế nào mà CPU tận dụng được 64 bit bus width này.1 Module RAM gồm nhiều chip Trong đó 8 chip hợp lại tạo thành 1 Bank ( đối với loại chip x8) và cả 16 chip hợp thành 1 Bank (đối với loại chip x4) hoặc 4 chip hợp thành 1 BANK đối với loại x16. Đây là hình minh họa cho 1 BANK đối với chip x8

RAM và một số khái niệm căn bản 1

Khi cần nạp dữ liệu CPU sẽ nạp toàn bộ dữ liệu vào 1 Bank. Như vậy cả 64 bit dữ liệu sẽ được phân đều trên 8 chip x8. Trên chỉ là 1 VD để làm rõ chức năng của Bank. Trên thực tế 1 SDRAM(ko phải SDR-SDRAM đâu nha) chip có khoảng 60 pin. Ngoài các pin cho địa chỉ, điều phối và điện tiêu thụ thì sẽ còn 16 pin để truyền dữ liệu. Như vậy 4 Chip này đã đủ hợp thành 1 BANK để lấp đầy 64 bit dữ liệu cho CPU.

4.Single Channel và Dual Channel

Ở chế độ Single Channel sẽ chỉ có 1 Bank duy nhất được truy cập vào cùng 1 thời điểm. Nhưng ở chế độ Dual Channel sẽ có tới 2 Bank ở 2 DIMM khác nhau được truy cập cùng 1 lúc. Điều này đã làm cải thiện băng thông của toàn bộ hệ thống.Có thể tham khảo thêm về Dual Channel ở bài viết của Enrique

_http://www.banvacntt.com/forum/index.php?showtopic=477

Cách tính băng thông của RAM :

_Ở chế độ Single Channel : Sẽ chỉ có 1 BANK được truy xuất trong cùng 1 thời điểm. Data Bus Width sẽ là 64 bit. Như vậy

BandWidth = Bus Speed * Bus Width/8 = Bus Speed * 64/8 = Bus Speed *8 (Sở dĩ chia 8 là do Bus width tính theo đơn vị Bit còn BandWidth lại tính theo đơn vị là MB/s 1byte = 8 bit)

VD: Với 1 thanh DDR-SDRAM 400 MHZ thì BandWidth = 400 * 64/8 = 3200MB/s vì thế mà người ta còn kí hiệu PC3200

_Ở thế độ Dual Channel : Sẽ có 2 BANK ở 2 DIMM khác nhau được truy xuất cùng 1 lúc. Lúc này mỗi Bank sẽ mở 1 kênh về Mem Controler. Mỗi kênh có BandWidth là 64 bit như vậy tổng BandWidth của toàn bộ hệ thống là 128 Bit.

Lúc này BandWidth = Bus Speed * 128/8 = Bus Speed * 8.

Phần tiếp theo : Memory Timming.

III/ Memory Timing

Chúng ta thường nghe mọi người nhắc đến RAM Timings kiểu 2-2-2-5-1T hay 3-3-3-8-2T và là một trong những tiêu chí để chọn RAM đối với dân OverClocker. Vậy thực chất những con số này có ý nghĩa gì.

Cas Latency (TCL) (Số thứ 1) : Là khoảng thời gian ( tính theo cycle) từ khi CAS được Active cho đến khi dữ liệu bắt đầu được truyền trong Data Bus. Chính vì thế mà đây được coi là 1 chỉ số hết sức quan trọng. Để hiểu rõ hơn về Cas Latency có thể nhìn hình sau :

RAM và một số khái niệm căn bản 1

NOP là No Operation ( không hoạt động) . Vì sao xen kẽ giữa các lệnh READ lại kèm theo các NOP. Lý do rất đơn giản là tốc độ của CPU thường cao hơn so với tốc độ xử lí của RAM. Chính vì thế mà giữa các lệnh READ CPU phải chèn theo các lệnh No Operation để RAM có thời gian xử lí và cung cấp đủ dữ liệu trước khi tiếp nhận 1 lệnh mới.

Ras to Cas delay (TRCD) (Số thứ 2) : Nếu nhìn vào cách truy xuất RAM ở trên thì các bạn có thể dễ dàng hiểu ngay đây là khoảng thời gian nhỏ nhất từ khi RAS được active cho đến khi CAS được active.

RAM và một số khái niệm căn bản 1

RAM và một số khái niệm căn bản 1

Ras precharge time (TRP) (Số thứ 3): Trước đây trong các chip RAM đời cũ thì cứ sau mỗi lần Row active nó sẽ bị deactived ngay lập tức và phải sau 1 khoảng vài cycle để precharge nó mới được active trở lại hoặc Row khác được active. Nhưng đối với các chip RAM bây giờ có thêm chế độ FAST PAGE MODE. Với FPM thì Row sẽ được active cho đến khi dữ liệu cần nằm ở Row khác. Lúc này RoW này sẽ được deactive. Và Row chứa dữ liệu cần sẽ phải mất 1 khoảng thời gian precharge trước khi được actived. Đay chính là TRP.

Min Ras Active Time (TRAS)(Số thứ 4): Do đảm bảo vấn để về nhiệt độ nên sau 1 khoảng thời gian Actived thì Row phải được Shutdown. Đây là delay giữa khoảng thời gian Row bị deactive trước khi nó được actived trở lại.

Comand Rate ( 1T hay 2T) : Là khoảng thời gian giữa Chip ram được chọn và lệnh được gửi đến Chip RAM đó.

RAM và một số khái niệm căn bản 1

Đây là các latency quan trọng nhất ngoài ra còn có nhiều timing RAM khác không được đề cập ở đây.

Mỗi thanh RAM đều có các chỉ số mặc định do nhà sản xuất đưa ra nhằm đảo bảo RAM hoạt động ổn định nhất và được ghi vào SPD EEPROM và BIOS được mặc định nhận chỉ số này tự động. Dĩ nhiên là có thể thay đổi các timing này nếu BIOS hỗ trợ nhưng việc thay đổi không có kinh nghiệm sẽ dẫn đến hỏng RAM hoặc hệ thống hoạt động không ổn định.

Chính các Delay này đã làm cho hiệu năng của RAM chưa bao giờ là 100% cho dù trong các hệ thống AMD với khả năng quản lí memory mạnh.

Góp ý của ThangMMM

Quote:

Thực tế, cấu tạo trong của chip nhớ chính là hàng triệu tụ điện nhỏ, mỗi tụ điện đóng vai trò chính là 1 ô trong bảng tính trên. Mỗi trạng thái có-không của điện tích trên tụ điện sẽ đánh dấu mức tín hiệu dữ liệu là 1-0. Mỗi một lần thay đổi dữ liệu trong bộ nhớ RAM (vd nạp dữ liệu vào bộ nhớ hoặc truy xuất dữ liệu ra khỏi bộ nhớ), mem controller sẽ làm các việc là truy xuất địa chỉ của một phần tử nhớ (1 tụ điện), xem trạng thái của nó (có hoặc không tích điện), so sánh với trạng thái cần nạp vào. Nếu hai trạng thái là khác nhau thì mem controller sẽ ra tín hiệu để tụ điện đó phóng điện đi hoặc tích điện vào. Vậy, trước khi dữ liệu được ghi vào bộ nhớ (cụ thể là các tụ điện được set ở trạng thái đúng với cách mã hoá theo bit của gói dữ liệu), thì việc quan trọng là phải tìm được địa chỉ của 1 phần tử nhớ, hay tụ điện. Tụ điện được bố trí theo sơ đồ ma trận phẳng. Vị trí của tụ điện trong ma trận đó được xác định bằng toạ độ, với hai thông số là toạ độ ngang (hoành độ, toạ độ hàng), toạ độ dọc (tung độ, toạ độ côt). Để xác định vị trí, mem controller cần được cung cấp 2 thông số, đó là địa chỉ hàng và địa chỉ cột. Hai thông số này có vai trò tương đương nhau (trong cả hai trường hợp mem controller định vị địa chỉ hàng trước, rồi đến địa chỉ cột, hoặc địa chỉ cột trước, hàng sau)

khả năng đánh dấu địa chỉ không phải là cái do hệ điều hành quyết định, mà là do CPU. Cụ thể hơn, trong CPU có một bộ phận là GPR- General Purpose Register, gọi là thanh ghi đa dụng. Thanh ghi này chính là nơi lưu trữ địa chỉ của một phần tử nhớ. 32bit hay 64bit được gọi là không gian địa chỉ của một thanh ghi. Vd như: từ A32 lên A64, amd đã cải tiến các thanh ghi cũ của mình để mở rộng không gian địa chỉ lên 64 bit, đồng thời thêm vào 8 thanh ghi 64bit mới.

Bạn có quan tâm đến bài viết này? Xin hãy thích và chia sẻ:

Bài viết RAM và một số khái niệm căn bản liên quan hoặc tương tự:

 

Theo vozforums


Bình luận RAM và một số khái niệm căn bản (0)

Để gởi ý kiến nhận xét, đóng góp, trao đổi, thảo luận về bài viết RAM và một số khái niệm căn bản bạn có thể gởi trực tiếp tại mục bình luận bên dưới. Vui lòng viết có dấu đầy đủ nếu ngôn ngữ sử dụng là tiếng Việt. Mọi than phiền về bài viết RAM và một số khái niệm căn bản xin hãy liên hệ với chúng tôi. Tiêu đề là tên bài viết ở dạng tiếng Việt không dấu RAM va mot so khai niem can ban hoặc có dấu. Bài viết này đã được xếp vào thể loại: Kiến Thức Phần Cứng

Tiếc quá! Hiện tại chưa có bình luận nào về bài viết này! Hãy là người đầu tiên!

Máy Tính Công Nghệ

Tài khoản

Tìm kiếm và theo dõi

Từ khóa:

Cuộc sống hối hả, bạn quá bận rộn? Hãy để chúng tôi giúp bạn tiết kiệm thời gian cập nhật những thông tin, bài viết hay, hữu ích mỗi ngày qua email!
Email của bạn:

Sau khi đăng ký bạn hãy mở email và bấm vào link kích hoạt để bắt đầu nhận tin. Thông tin sẽ chuyển cho bạn vào khoảng từ 1-3h sáng, giờ Việt Nam Đã có tất cả khoảng nhận tin!
Delivered by FeedBurner

Recent comments

Copyright ©2014 BaiViet32.Com . All rights reserved.
Phiên bản thử nghiệm
Cached: IP: 210.211.106.12, 16 February, 2014 16:32:43 (HANOI - VN).