17/17 Kiểm tra cuối khoá Các chương

Kiểm tra cuối khoá

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

Cả khoá đi từ một cái lỗ trên tấm bìa tới một ô nhớ DRAM mà mắt thường không thấy.

Bài kiểm tra dưới đây đi lại đúng chuỗi đó, theo thứ tự các bài.

Câu nào bạn trả lời sai, ngay dưới câu hỏi sẽ có link tới bài cần đọc lại.

Kiểm tra cuối khoá

Câu 1 / 32 Một người nói: "RAM chứa các ký tự 0 và 1." Nói cho đúng với những gì thật sự nằm trong chip thì RAM chứa gì?
Xem đáp án

0 và 1 là tên ta đặt cho hai trạng thái vật lý: tắt và bật, không lỗ và có lỗ, tụ rỗng và tụ đầy. Mạch xung quanh đọc trạng thái đó rồi gọi nó là 0 hay 1.

Câu 2 / 32 Bạn muốn dùng một vật bất kỳ để nhớ một bit. Vật đó tối thiểu phải có gì?
Xem đáp án

Công tắc, cánh cửa, tấm bìa, nam châm, tụ điện: vật liệu khác nhau nhưng đều có hai trạng thái dễ phân biệt và tự giữ nguyên. Đó là tất cả những gì một bit cần.

Câu 3 / 32 Một hàng tám vị trí trên thẻ đục lỗ đọc từ trái sang là ● ○ ● ● ○ ○ ● ○ (● là có lỗ). Quy ước có lỗ là 1. Bật đúng các bit để tạo lại hàng đó.

Nhị phân 00000000 = thập phân 0

Xem đáp án

Có lỗ là 1, không lỗ là 0: hàng đó là 1 0 1 1 0 0 1 0. Đọc như một số thì bằng 128 + 32 + 16 + 2 = 178. Vật liệu là giấy, nguyên tắc vẫn là hai trạng thái.

Câu 4 / 32 Một chương trình đang chạy cần đổi một biến hàng nghìn lần mỗi giây. Vì sao một chồng thẻ đục lỗ không làm được bộ nhớ làm việc cho việc đó?
Xem đáp án

Thẻ đục lỗ là nơi lưu trữ và nhập dữ liệu, giống ổ cứng và bàn phím của thời đó. Bộ nhớ làm việc phải đổi trạng thái ngay trong mạch điện, nhanh như CPU.

Câu 5 / 32 Bạn bấm SET rồi bỏ tay ra. Tín hiệu SET đã hết, nhưng đầu ra Q của flip-flop vẫn giữ 1. Vì sao?
Xem đáp án

Đầu ra của công tắc này điều khiển công tắc kia và ngược lại, nên mạch tự khoá ở một trạng thái. Nó chỉ mất bit khi bị cắt điện.

Câu 6 / 32 ENIAC có khoảng 18.000 đèn điện tử. Máy giữ được bao nhiêu số cùng lúc, và bộ nhớ trung tâm của nó nằm ở đâu?
Xem đáp án

ENIAC nhớ từng chữ số bằng trạng thái của mạch đèn, đúng như flip-flop. Số nằm rải rác ngay trong các bộ phận tính, không có chỗ nào gọi là bộ nhớ trung tâm.

Câu 7 / 32 EDSAC giữ bit trong ống thuỷ ngân. Nếu bộ khuếch đại ở cuối ống ngừng gửi xung trở lại đầu ống, chuyện gì xảy ra với dữ liệu?
Xem đáp án

Dữ liệu trong ống trễ giống một câu phải hét đi hét lại quanh một vòng: ngừng hét là mất. Đây cũng là lý do muốn đọc một bit phải chờ nó chạy tới đầu đọc.

Câu 8 / 32 Ống Williams–Kilburn không có gì chuyển động và đọc bit nào cũng nhanh như nhau. Nhưng máy Baby vẫn phải làm gì đều đặn để không mất dữ liệu?
Xem đáp án

Điện tích trên màn CRT rò dần, nên máy phải ghi lại cả màn hình kể cả khi không ai đổi dữ liệu. Gần 80 năm sau, DRAM vẫn làm y hệt và gọi là refresh.

Câu 9 / 32 Bạn rút điện một máy tính dùng bộ nhớ lõi từ, để một tháng, rồi cắm lại. Dữ liệu trong bộ nhớ chính ra sao?
Xem đáp án

Mỗi vòng là một bit, và bit nằm ở chiều từ hoá của vòng. Đó là một trạng thái vật lý bền, không cần điện để duy trì.

Câu 10 / 32 Trên một tấm lõi từ 8 × 8, bạn cho dòng chạy trên dây X3 và dây Y5. Bao nhiêu vòng bị lật?
Xem đáp án

Chỉ vòng có cả hai dây cùng có dòng mới nhận đủ dòng để lật. Chọn một dây X và một dây Y là chọn đúng một vòng, không phải chờ như ống thuỷ ngân hay trống từ.

Câu 11 / 32 Năm 1970, Intel 1103 có giá khoảng 1 cent mỗi bit, bằng giá lõi từ lúc đó. Vì sao chip vẫn thay hẳn lõi từ trong thập niên 1970?
Xem đáp án

Mạch tích hợp tạo ra transistor, dây nối và cell cùng một lúc trên một miếng silicon. Từ 1.024 bit của 1103 lên 1 tỷ bit năm 2000, mật độ tăng một triệu lần trong 30 năm.

Câu 12 / 32 Một người nói: "Trong chip nhớ, mỗi bit là một transistor." Đúng không?
Xem đáp án

Transistor là công tắc, không phải nam châm. Người ta tìm ra hai cách ghép để giữ một bit: SRAM nhanh nhưng tốn nhiều transistor, DRAM nhỏ nhưng hay quên.

Câu 13 / 32 Một cell SRAM đang giữ 1. Bạn không đọc, không ghi, không refresh, chỉ giữ nguồn điện suốt một giờ. Cell giữ gì?
Xem đáp án

Chữ "static" nghĩa là ghi 1 thì cell giữ 1, không cần nạp lại hay nhắc lại. Điều kiện duy nhất là nguồn điện còn.

Câu 14 / 32 SRAM là loại bộ nhớ nhanh nhất ngoài thanh ghi. Nếu làm cả thanh RAM 16 GB bằng SRAM thì sao?
Xem đáp án

Nhiều transistor mỗi bit kéo theo cell to, ít bit mỗi chip, giá mỗi bit cao. Nên SRAM chỉ đứng ở nơi cần nhanh nhất và cần ít: cache của CPU.

Câu 15 / 32 Sắp xếp những gì xảy ra khi đọc một bit từ một cell DRAM.
  1. Bật wordline, transistor dẫn điện, cửa mở, cốc nối với bitline
  2. Mạch nạp lại ngay giá trị vừa đọc, vì đọc đã làm vơi cốc
  3. Sense amplifier phát hiện thay đổi rất nhỏ đó và kết luận 1 hay 0
  4. Điện tích trong cốc chia sẻ với bitline, bitline nhích lên một chút hoặc gần như không đổi
Xem đáp án

Wordline mở transistor, cốc chia điện tích với bitline, sense amplifier khuếch đại thay đổi nhỏ đó thành 0 hay 1, rồi mạch nạp lại vì đọc là làm vơi cốc. Giống cách đọc lõi từ, chỉ bằng điện tích thay vì từ tính.

Câu 16 / 32 Cùng một miếng silicon, DRAM nhét được nhiều bit hơn SRAM rất nhiều. Lý do nằm ở đâu?
Xem đáp án

Ít linh kiện hơn thì cell nhỏ hơn, nhiều bit hơn trên cùng diện tích, giá mỗi bit rẻ hơn. Cái giá là điện tích trong cốc rò dần và phải được bảo vệ liên tục.

Câu 17 / 32 Máy đang bật, bạn để yên suốt một giờ, không mở gì, không gõ gì. Memory controller có đang làm gì với thanh RAM không?
Xem đáp án

Refresh là nạp lại điện tích trước khi nó tụt tới vùng mập mờ. Với DDR3 và DDR4, chuẩn JEDEC yêu cầu mỗi ô được làm mới trong vòng 64 mili giây, nên RAM luôn tiêu điện chỉ để nhớ.

Câu 18 / 32 Bạn dừng refresh tới khi nhiều ô đã tụt dưới ngưỡng, rồi bật lại refresh. Các ô đó ra sao?
Xem đáp án

Refresh dùng đúng cơ chế đọc: sense amplifier kết luận 0 hay 1 rồi kéo tụ về mức đó. Bit đã tụt dưới ngưỡng thì sense amplifier đã kết luận sai, và nạp lại chỉ cố định cái sai đó.

Câu 19 / 32 Một thanh RAM 16 GB, mỗi ô DRAM giữ một bit. Thanh đó có khoảng bao nhiêu ô nhớ?
Xem đáp án

16 × 1.073.741.824 byte = 17.179.869.184 byte, nhân 8 bit mỗi byte ra 137.438.953.472 ô. Máy tìm một ô trong 137 tỷ ô không bằng cách quét mà bằng cách chọn dần: nhóm chip, bank, hàng, cột.

Câu 20 / 32 Bạn cầm một thanh DDR5 và thấy tám chip đen gắn trên bảng mạch xanh. Thanh RAM đó là gì?
Xem đáp án

Thanh RAM không phải một con chip lớn. Bên trong mỗi chip đen là một die chứa nhiều bank, mỗi bank là một lưới hàng × cột của các ô một transistor một tụ.

Câu 21 / 32 Dữ liệu chưa có trong cache. Sắp xếp đường đi của yêu cầu đọc từ CPU tới RAM rồi quay về.
  1. Nhân CPU phát ra địa chỉ
  2. Chọn cột, lấy một cache line gửi về CPU
  3. Bank mở hàng vào row buffer
  4. Memory controller gửi lệnh qua kênh tới thanh RAM
  5. Cache (L1, rồi L2, L3) kiểm tra xem đã có bản sao chưa
Xem đáp án

CPU luôn hỏi cache trước, phần lớn lần đọc dừng ở đó. Chỉ khi cache miss, yêu cầu mới qua memory controller tới thanh RAM, bank mở cả hàng vào row buffer, chọn cột rồi trả về một cache line.

Câu 22 / 32 Chương trình đọc biến score, 4 byte, đang nằm trong RAM và chưa có trong cache. Thanh RAM làm gì?
Xem đáp án

Một lần đọc là mở cả hàng rồi lấy một khối, không phải nhặt đúng một byte. Nếu yêu cầu tiếp theo rơi vào cùng hàng đang mở, mạch bỏ qua bước mở hàng: đó là row hit.

Câu 23 / 32 Dữ liệu X chỉ có trong RAM và chưa từng được đọc. CPU cần X hai lần liên tiếp. Lần hai khác lần một thế nào?
Xem đáp án

Đó là cục bộ theo thời gian: thứ vừa dùng thường sắp được dùng lại. Nhờ vậy phần lớn lần đọc dừng ở L1 hoặc L2 dù hai tầng đó rất nhỏ.

Câu 24 / 32 Máy có 16 GB RAM và chỉ đang dùng 6 GB. Bạn nâng lên 32 GB. Các phép tính của CPU có nhanh hơn không?
Xem đáp án

Máy này chưa thiếu RAM, nên hệ điều hành không phải đẩy dữ liệu xuống SSD, thứ chậm hơn DRAM hàng nghìn lần. Đủ rồi thì thêm nữa không nhanh hơn.

Câu 25 / 32 Chương trình cần đúng một biến đang nằm trong RAM. Bạn thay thanh RAM mới có băng thông gấp đôi, latency giữ nguyên. Lần đọc đó nhanh hơn không?
Xem đáp án

Con số in trên thanh RAM là tốc độ truyền, tức phía băng thông. CPU chờ vì latency: một lần đọc RAM mất khoảng 50 tới 100 chu kỳ CPU, dù băng thông lớn đến đâu.

Câu 26 / 32 Hộp một thanh RAM DDR5 in số 6000. Xung nhịp thật của thanh RAM đó là bao nhiêu?
Xem đáp án

Double Data Rate: cùng một xung nhịp, số lần truyền gấp đôi. Corsair lấy ví dụ tương tự: RAM ghi 3600 là 3.600 MT/s với xung nhịp 1.800 MHz.

Câu 27 / 32 Bạn rút dây nguồn. RAM trống trơn, còn SSD giữ nguyên mọi thứ, dù cả hai đều là chip silicon. Vì sao?
Xem đáp án

Bit trong DRAM chỉ tồn tại chừng nào mạch còn điện để refresh. Bit trong NAND là electron bị nhốt, đọc ra qua điện áp ngưỡng của transistor, nên không cần ai bảo vệ.

Câu 28 / 32 Có người đề xuất bỏ RAM, cho CPU đọc thẳng từ SSD, vì "SSD là RAM không mất điện". Sai ở đâu?
Xem đáp án

RAM ghi đè trực tiếp vào vị trí bất kỳ, không giới hạn số lần ghi kiểu NAND. Vì thế mỗi lần bật máy, mọi thứ CPU cần đều phải được nạp từ SSD vào RAM, và đó là màn hình Loading.

Câu 29 / 32 GPU chạy AI có hàng nghìn đơn vị tính toán và cần lượng dữ liệu khổng lồ mỗi giây. HBM đáp ứng bằng cách nào?
Xem đáp án

Xếp chồng nối bằng TSV, đặt sát GPU qua interposer, và giao diện rất rộng: một stack HBM3 đưa được tới 819 GB/s, so với cỡ 51 GB/s của một thanh DDR5-6400.

Câu 30 / 32 Bạn tháo được thanh RAM khỏi máy bàn, nhưng không tháo được chip nhớ khỏi điện thoại. Vì sao?
Xem đáp án

DDR, LPDDR và HBM đều là DRAM. Chúng khác nhau ở chỗ bit nằm cách bộ xử lý bao xa, mỗi giây đưa được bao nhiêu và tốn bao nhiêu điện, và mỗi loại thắng trong bài toán của riêng nó.

Câu 31 / 32 Sắp xếp các cách giữ một bit theo thứ tự xuất hiện trong lịch sử.
  1. Thẻ đục lỗ: có lỗ hay không lỗ trên tấm bìa
  2. DDR, LPDDR, HBM: vẫn là điện tích trong tụ, đổi cách đóng gói
  3. Bộ nhớ bán dẫn, DRAM: một chút điện tích trong tụ điện
  4. Lõi từ: hướng từ hoá của một vòng ferrite
  5. Ống thuỷ ngân và ống Williams: xung chạy vòng, chấm điện tích trên màn
  6. Relay và đèn điện tử nối chéo: mạch tự giữ một trong hai trạng thái
Xem đáp án

1890 thẻ đục lỗ, thập niên 1940 flip-flop bằng relay và đèn, cuối thập niên 1940 ống Williams và ống thuỷ ngân (EDSAC 1949), 1953 lõi từ trên Whirlwind, 1970 Intel 1103 mở đầu DRAM, và ngày nay DDR, LPDDR, HBM chỉ đổi cách đóng gói.

Câu 32 / 32 Thẻ đục lỗ, lõi từ, SRAM, DRAM và NAND trông khác hẳn nhau. Điểm chung của cả năm là gì?
Xem đáp án

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 ở một trong hai trạng thái, và ta xây toàn bộ phần mềm lên trên quy ước đó. Thứ thật sự đổi qua một thế kỷ là quy mô.

Nguồn tham khảo

  1. 1953: Whirlwind computer debuts core memory · Computer History Museum
  2. 1949: EDSAC computer employs delay line storage · Computer History Museum
  3. 1946: Williams demonstrates CRT storage · Computer History Museum
  4. Magnetic Core Memory (Revolution exhibit) · Computer History Museum
  5. Punched card · IBM History
  6. Dynamic random-access memory (DRAM) · IBM History
  7. The Hollerith Machine · U.S. Census Bureau
  8. The Intel 1103 DRAM (October 1970) · Intel Timeline
  9. Re-creating the First Flip-Flop · IEEE Spectrum
  10. The Manchester Small Scale Experimental Machine — "The Baby" · University of Manchester
  11. 6.823 Lecture 7: Multilevel Memories (core memory, DRAM operation) · MIT OpenCourseWare
  12. Computer Architecture Lecture 4: Main Memory and DRAM Fundamentals (O. Mutlu, 2017) · ETH Zürich
  13. 15-213 Lecture 11: The Memory Hierarchy (Bryant & O'Hallaron) · Carnegie Mellon University
  14. Storage Hierarchy, Caching, and Locality (COS 217, Fall 2020) · Princeton University
  15. Understanding and Mitigating Refresh Overheads in High-Density DDR4 DRAM Systems (ISCA 2013) · Cornell University / IBM
  16. Architectural Techniques for Improving NAND Flash Memory Reliability (Y. Luo, CMU-CS-18-101) · Carnegie Mellon University / arXiv
  17. DDR5: Key Module Features — DDR4 vs. DDR5 DIMM (technical brief) · Micron (bản lưu tại Avnet)
  18. JEDEC Publishes HBM3 Update to High Bandwidth Memory (HBM) Standard (press release, in lại) · JEDEC via HPCwire
  19. HBM3E · Micron
  20. MT/s vs MHz Explained · Corsair