Tại sao CPU và RAM không "gắn bó" với nhau cho nhanh? Hóa ra lý do đằng sau rất thuyết phục luôn đó!

MinNgoan7067

New member
1bf7af9ee1d05af7512c.jpg


Không chỉ vì những khó khăn về kỹ thuật, mà còn vì kiến trúc giữa CPU và bộ nhớ trong các con chip cũng khiến chuyện này... hơi phi thực tế á!

Có một câu hỏi cực kỳ thú vị mà Apple Store từng hỏi các ứng viên: "Giải thích RAM là gì cho một bé 5 tuổi nghe hiểu?"

Dễ hiểu thế này nè: RAM giống như cái balo đựng đầy kẹo trên lưng một bạn nhỏ 5 tuổi để phát cho cả lớp ấy. Thay vì cứ phải chạy về lấy kẹo trong thùng mỗi lần hết, bạn ấy chỉ cần lôi kẹo ra từ balo để phát cho các bạn, nhanh gọn và tiết kiệm thời gian hơn nhiều!

RAM trong máy tính cũng tương tự vậy đó – nơi đưa dữ liệu cho CPU xử lý các tác vụ. Vì thế nó cần có tốc độ đọc ghi siêu nhanh, không là CPU bị "nghẽn đường" mất!

83c7ee75cd2c4d77fa96.jpg


Nhưng mà nếu bạn nhìn vào bo mạch chủ, sẽ thấy CPU và RAM tuy được đặt khá gần nhau, nhưng vẫn có khoảng cách đấy. So với kích thước mỗi bóng bán dẫn trên chip thì khoảng cách này khá xa luôn ó!

Vậy tại sao các hãng không đặt CPU và RAM cùng chung một chip cho nhanh hơn nhỉ? ‍♂️

CPU cũng có RAM riêng nha – gọi là bộ nhớ cache đó!

Thật ra CPU đã có một vùng RAM riêng rồi, gọi là bộ nhớ cache. Nhưng mà nó đắt đỏ vô cùng luôn, nên giá CPU càng nhiều cache càng cao ngất ngưởng! Đó là lý do vì sao cache thường chỉ có vài MB thôi.

Bộ nhớ cache giúp tăng tốc cho CPU bằng cách giảm thời gian chờ đợi khi lấy dữ liệu từ RAM về. Khi cần truy cập bộ nhớ, CPU sẽ check cache trước xem có dữ liệu cần tìm không.

Nếu có thì lấy luôn, còn không thì mới phải "sang nhà hàng xóm" RAM lấy – chậm hơn rõ ràng!

ac1b0022896c3ec9e2de.jpg


Vậy sao không tăng dung lượng cache lên ngang RAM cho tiện?

Để đạt tốc độ cao, cache dùng loại SRAM. Tuy nhanh như chớp nhưng nó tốn điện và chiếm nhiều diện tích kinh khủng! Lưu 1 "bit" dữ liệu cần tới 6 bóng bán dẫn, mà 1 "byte" lại có 8 bit nữa chứ.

Nghĩa là thanh SRAM 1 GB sẽ phải chứa tới... 48 TỶ bóng bán dẫn! Con số khủng khiếp vô cùng đó – ngay cả con Core i7-3960X 6 lõi của Intel cũng chỉ có 2,27 tỷ bóng bán dẫn thôi, và cache của nó chỉ có... 15 MB!

01aa607c6ffba1012096.jpg


Như hình trên đây, trong khi CPU có kích thước giới hạn, mạch tích hợp của bộ nhớ lại phức tạp và tốn space cực kỳ.

Vì vậy nếu tăng cache lên, bạn sẽ không còn chỗ cho CPU nữa đâu! Với kích thước hạn chế như vậy, không lạ khi cache thường chỉ có vài MB mỗi chip.

Trở ngại khác là CHI PHÍ nha! Bộ nhớ cache làm từ SRAM cực kỳ đắt, tăng dung lượng = tăng giá CPU. Lúc đó không mấy ai đủ tiền mua được đâu. Đánh đổi lợi nhuận để tăng hiệu năng một chút thì... không thực tế cho lắm!

Còn một loại bộ nhớ giá rẻ hơn nữa đây! ✨


Ngược lại với SRAM đắt đỏ là DRAM – loại dùng trong các thanh RAM hiện nay. Nó ngày càng rẻ và dung lượng lớn hơn nhiều. Hơn nữa cấu trúc gọn gàng hơn khi mỗi bit chỉ cần 1 bóng bán dẫn! Nhưng tốc độ thì chậm hơn SRAM đáng kể.

Vậy có thể đặt DRAM vào CPU không? Thực ra Intel đã làm rồi nhưng không có nghĩa nó thay thế được RAM thường đâu nha!

51f728f2b03490626286.jpg


Từ chip Haswell, Intel đã tích hợp DRAM lên cùng die chip với CPU, gọi là eDRAM (Embedded DRAM), và vẫn dùng đến chip Coffee Lake.

Tuy mang lại ưu thế về hiệu năng, nhưng nó vẫn có nhược điểm khiến không thể thay thế cả SRAM lẫn DRAM thường được.

Đầu tiên là tốc độ so với SRAM. Dù được tích hợp ngay bên cạnh CPU, xung nhịp của nó vẫn chậm hơn CPU, trong khi SRAM có xung nhịp tương tự CPU.

Ngoài ra DRAM phải liên tục được làm mới hàng nghìn lần mỗi chu kỳ để tránh mất dữ liệu, còn SRAM thì không cần. Do đó eDRAM có độ trễ lớn hơn nhiều và chỉ được dùng như cache L3 hoặc L4 bên cạnh CPU thôi.

Bên cạnh đó, eDRAM cũng không thay thế được DRAM được. Đầu tiên là vì dung lượng! Hiện tại eDRAM trên CPU chỉ có 128 MB, quá bé so với hàng GB của RAM hiện nay.

a8e0c3cd7db3bcc9d777.jpg


Phải đến chip Kaby Lake G mới ra gần đây, Intel mới bắt đầu cho ra các con chip với CPU, GPU và RAM lớn (tới 4GB nhờ dùng HBM2 - loại giao tiếp bộ nhớ băng thông cao) đặt chung trên một die. Nhưng máy tính dùng chip này vẫn phải có thanh RAM thường đi kèm nha!

Lý do khác là cách hoạt động của cache khác hẳn RAM. Dữ liệu trên cache được ghi địa chỉ giống nhau và có thể bị xóa bất cứ lúc nào, còn dữ liệu trên RAM được đặt vào các vị trí riêng biệt cho mỗi app.

Không những vậy, việc gộp RAM và CPU lại sẽ khiến việc nâng cấp khó khăn hơn nhiều! Khi muốn tăng RAM để chạy app nặng hơn, bạn sẽ buộc phải mua cả CPU mới luôn, dù không cần thiết!

Tóm lại, việc đóng gói CPU và RAM thành một khối ít có giá trị thực tế lắm khi bản thân CPU đã có sẵn rất nhiều loại bộ nhớ khác nhau tích hợp bên trong rồi. Chúng giúp tăng tốc độ xử lý đáng kể nhưng không vì vậy mà loại bỏ hoàn toàn vai trò của RAM trên máy tính được đâu!

Nguồn: soha.vn
 
Back
Top