16/17 Kết Các chương

Một bài toán gần 100 năm vẫn chưa kết thúc

Từ thẻ đục lỗ tới HBM, máy tính nhớ một bit bằng cách nào?

Ở bài trước, ta thấy DDR, LPDDR và HBM chỉ đổi chỗ đặt chip DRAM. Bên trong vẫn là điện tích trong tụ.

Khoá học bắt đầu từ một nhu cầu rất đơn giản: CPU tính được, nhưng số và lệnh phải nằm ở đâu đó trước đã.

Từ thẻ đục lỗ tới HBM, máy tính nhớ một bit bằng cách nào?

Câu trả lời chưa bao giờ đổi:

Tìm một thứ có hai trạng thái vật lý phân biệt được, giữ được đủ lâu và đọc lại được, rồi gọi một trạng thái là 0, trạng thái kia là 1.

Năm cách giữ một bit

Công nghệ Vật mang bit Trạng thái 0 / 1
Thẻ đục lỗ tấm bìa không lỗ / có lỗ
Lõi từ vòng ferrite từ hoá hướng này / hướng kia
SRAM mạch tự giữ nghiêng về bên này / bên kia
DRAM tụ điện rất nhỏ ít điện tích / nhiều điện tích
NAND electron nhốt sau lớp cách điện điện áp ngưỡng thấp / cao

Máy tính chưa bao giờ “hiểu” 0 và 1 như con người hiểu con số. Nó chỉ có vật chất: có lỗ hay không, từ trường quay hướng nào, mạch nghiêng về bên nào, tụ nhiều hay ít điện tích.

Ta gọi những trạng thái đó là 0 và 1, rồi xây toàn bộ phần mềm lên trên.

Nhưng nếu nguyên tắc không đổi, vì sao mỗi thời lại phải tìm một vật khác để giữ bit?

Mỗi cách mới sinh ra từ chỗ vướng của cách cũ

Dòng thời gian dưới đây cho thấy các mốc lớn.

  1. 1890 Thẻ đục lỗ có lỗ / không lỗ trên tấm bìa
  2. Thập niên 1940 Relay, đèn điện tử mạch tự giữ một trong hai trạng thái ổn định
  3. 1946–49 Ống thuỷ ngân, ống Williams xung chạy vòng trong ống; chấm điện tích trên màn
  4. 1953 Lõi từ hướng từ hoá của một vòng ferrite
  5. 1970 Bộ nhớ bán dẫn, DRAM một chút điện tích trong tụ điện
  6. Nay DDR · LPDDR · HBM vẫn là điện tích trong tụ; đổi cách đóng gói và đưa tới CPU
Gần một trăm năm, cùng một việc: tìm một thứ có hai trạng thái phân biệt được, rồi gán cho nó ý nghĩa.

Mốc nào cũng có lý do. Xếp theo thứ tự các bài trong khoá, mỗi dòng là câu trả lời cho chỗ vướng của dòng trên:

Cách giữ bit Giải được gì Còn vướng gì
Thẻ đục lỗ giữ bit rất lâu, không cần điện đọc bằng kim cơ học, không ghi lại tại chỗ
Mạch tự giữ bằng đèn bit nằm ngay trong mạch, đổi rất nhanh mỗi bit một cụm đèn to, nóng; ENIAC chỉ giữ được 20 số
Ống thuỷ ngân, ống Williams giữ nhiều bit hơn, rẻ hơn mạch đèn phải chờ bit chạy tới; phải ghi lại liên tục
Lõi từ chọn bit nào cũng đọc ngay, không mất khi mất điện mỗi vòng xâu dây bằng tay
Chip bán dẫn: SRAM hàng loạt ô trên một miếng silicon, rất nhanh nhiều transistor cho một bit
DRAM một transistor, một tụ: nhỏ và rẻ tụ rò, phải refresh
Hàng, cột, địa chỉ tìm đúng một ô trong hàng tỷ ô mỗi lần đọc phải mở hàng, CPU chờ
Cache giữ bản sao sát CPU, đỡ phần lớn lần chờ hụt cache vẫn phải chờ RAM
SSD (NAND) giữ dữ liệu khi tắt máy chậm hơn RAM hàng nghìn lần, mòn dần
DDR, LPDDR, HBM đặt DRAM đúng chỗ cho từng loại máy mỗi cách một cái giá

Không cách nào là đích cuối. Mỗi cách giải một chỗ vướng và để lại chỗ vướng mới.

Nhìn cả chuỗi thì thấy nguyên tắc đứng yên. Vậy thứ gì đã thật sự đổi?

Thứ thật sự đổi là quy mô

Thời thẻ đục lỗ, một bit là một cái lỗ nhìn thấy bằng mắt. Thập niên 1950, một bit là một vòng ferrite đường kính khoảng 1,6 mm, vẫn nhìn thấy được.

Năm 1970, chip Intel 1103 chứa 1.024 bit. Năm 2000, một chip DRAM đã chứa 1 tỷ bit: gấp một triệu lần, trong 30 năm.

Hôm nay, một thanh RAM 16 GB chứa khoảng 137 tỷ cell mà mắt thường không thấy.

Nhưng lớn lên không xoá được các đánh đổi. Nó chỉ đổi chỗ của chúng:

  • tụ càng nhỏ, điện tích càng ít, mạch càng khó đọc cho chắc
  • nhanh thì đắt, nên SRAM chỉ đủ làm cache
  • lớn thì xa và chậm, nên CPU vẫn phải chờ RAM
  • xa thì tốn điện, nên HBM kéo bộ nhớ về sát GPU
  • nhớ được khi tắt máy thì chậm và mòn, nên SSD không thay được RAM

Vì thế bài toán giữ một bit vẫn chưa kết thúc. Mỗi đời bộ nhớ chỉ chọn lại đánh đổi cho hợp với máy của thời mình.

Chính những đánh đổi này là gốc của vài câu hỏi hay gặp khi mua máy.

Vài câu hỏi hay gặp

Thêm RAM có làm máy nhanh hơn không?

Không trực tiếp, vì RAM không tính toán. Thêm RAM chỉ giúp khi máy đang thiếu chỗ và hệ điều hành phải đẩy dữ liệu xuống ổ đĩa, nơi chậm hơn DRAM hàng nghìn lần. Đủ rồi thì thêm nữa không nhanh hơn.

Cache có phải là RAM không?

Cache là SRAM nằm trong chip CPU. Thanh RAM là DRAM. Cả hai đều mất dữ liệu khi mất điện, nhưng khác nhau ở cách giữ bit, tốc độ và giá mỗi bit.

VRAM trên card đồ hoạ là gì?

Là DRAM dành riêng cho GPU, thường là loại GDDR hoặc HBM, đặt sát GPU để có băng thông lớn.

Unified memory của Apple có phải một loại bộ nhớ mới?

Không. Đó là một vùng bộ nhớ chung đặt trong cùng vỏ chip, để CPU, GPU và các khối khác dùng cùng dữ liệu mà không phải chép qua lại.

Bài kiểm tra cuối khoá không hỏi tên viết tắt. Nó hỏi bạn có kể lại được chuỗi vừa rồi không.

Thử xem bạn đã kể lại được máy tính nhớ một bit bằng cách nào chưa.