06/17 Từ vòng ferrite đến chip nhớ Các chương

Từ vòng ferrite đến chip nhớ

Làm sao đi từ hàng nghìn vòng ferrite phải xâu bằng tay đến hàng triệu ô nhớ trên một con chip?

Ở bài trước, mỗi bit là một chiếc vòng ferrite thật.

Muốn có 1.024 bit, cần 1.024 vòng. Muốn có nhiều hơn, phải làm thêm vòng, xâu thêm dây và lắp chúng lại với nhau.

Cách đó hoạt động rất tốt.

Nhưng nó gặp một giới hạn khó tránh:

muốn nhiều bit hơn thì phải chế tạo nhiều thứ hơn, gần như từng bit một.

Làm sao từ đó đi đến hàng triệu, rồi hàng tỷ bit?

Thay vì làm từng linh kiện, hãy làm cả mạch cùng lúc

Máy tính thời đầu không chỉ gặp vấn đề này ở bộ nhớ.

Relay, đèn điện tử rồi transistor ban đầu đều phải được sản xuất riêng, đặt vào mạch và nối lại với nhau.

Nếu muốn một mạch lớn gấp mười lần, gần như phải lắp nhiều linh kiện hơn gấp mười lần.

Bước ngoặt là mạch tích hợp — integrated circuit, hay đơn giản là chip.

Trên chip, transistor và các đường nối không còn được lắp từng chiếc.

Chúng được tạo trực tiếp trên một miếng silicon, từng lớp một.

Ánh sáng chiếu hình của mạch xuống vật liệu nhạy sáng. Qua nhiều bước lặp lại, hàng nghìn transistor và dây nối có thể xuất hiện trên cùng một miếng silicon.

Quá trình đó gọi là quang khắc.

Nếu muốn xem nó hoạt động như thế nào, phần này đã được giải thích ở bài về transistor trong khoá CPU.

Sự khác biệt rất lớn:

Lõi từ Chip
Một bit được tạo ra bằng một vòng ferrite và dây xuyên qua nó các cấu trúc cực nhỏ trên silicon
Cách sản xuất lắp và xâu rất nhiều phần tử riêng lẻ tạo rất nhiều phần tử cùng một lúc
Muốn có nhiều bit hơn thêm vòng, thêm dây làm các cấu trúc nhỏ hơn và đặt nhiều hơn trên chip

Đây chính là con đường để bộ nhớ tăng lên hàng triệu lần.

Nhưng vẫn còn một vấn đề.

Chip cho chúng ta rất nhiều transistor.

Transistor có tự nhớ được 0 hay 1 không?

Một transistor không nhớ được gì

Hãy nhớ transistor là gì.

Nó giống một công tắc được điều khiển bằng điện.

Một điện áp đặt vào gate có thể làm transistor dẫn điện.

Bỏ điện áp đó đi, transistor trở về trạng thái khác.

có tín hiệu điều khiển

     transistor

      dẫn điện

Transistor rất phù hợp để tạo mạch tính toán vì nó:

  • không có bộ phận cơ học chuyển động
  • không cần nung nóng như đèn điện tử
  • có thể được làm cực nhỏ trên chip

Nhưng một transistor đứng riêng có một nhược điểm quan trọng:

nó không nhớ trạng thái cũ.

Bỏ tín hiệu điều khiển đi, trạng thái đó cũng biến mất.

Điều này khác hẳn vòng ferrite.

Một vòng ferrite sau khi được từ hoá theo một chiều có thể tiếp tục giữ trạng thái đó.

vòng ferrite

ghi 1

từ hoá theo một chiều

vẫn giữ nguyên

Còn transistor:

đặt điện áp

transistor bật

bỏ điện áp

trạng thái không còn được giữ

Vì vậy:

một transistor không phải là một ô nhớ.

Muốn lưu được một bit, ta phải ghép transistor thành một cấu trúc có khả năng giữ trạng thái.

Và có hai cách rất khác nhau để làm điều đó.

Hai cách giữ một bit trên chip

Cách thứ nhất là:

cho các transistor giữ trạng thái của nhau.

Ta đã gặp ý tưởng tương tự khi học flip-flop bằng đèn điện tử.

Hai phần của mạch được nối ngược lại với nhau:

      ┌──────────┐
      ↓          │
   mạch A ───→ mạch B
      ↑          │
      └──────────┘

Nếu A đang giữ B ở một trạng thái, B lại giữ A ở trạng thái tương ứng.

Mạch có thể tự ổn định ở một trong hai trạng thái:

0
hoặc
1

Thay đèn điện tử bằng transistor và thu nhỏ toàn bộ mạch lên chip, ta có một kiểu ô nhớ gọi là:

SRAM — Static Random Access Memory.

Nó giữ bit bằng một nhóm transistor giữ trạng thái của nhau.

Cách thứ hai hoàn toàn khác.

Thay vì bắt nhiều transistor giữ nhau, hãy giữ lại một thứ vật lý đại diện cho bit.

Ví dụ:

một chút điện tích.

Một linh kiện gọi là tụ điện có thể giữ điện tích trong một khoảng thời gian.

Ta có thể quy ước:

tụ có điện tích     → 1
tụ gần như hết điện → 0

Transistor lúc này chỉ đóng vai trò như một cánh cửa.

        transistor


         ┌─────┐
         │ tụ  │
         └─────┘

Mở transistor để:

  • nạp điện vào tụ
  • hoặc kiểm tra trạng thái của tụ

Sau đó đóng transistor lại.

Kiểu bộ nhớ này trở thành:

DRAM — Dynamic Random Access Memory.

Ý tưởng ô DRAM dùng một transistor và một tụ điện gắn liền với Robert Dennard tại IBM vào thập niên 1960.

Hai cách giải quyết cùng một bài toán:

SRAM DRAM
Bit được giữ bằng trạng thái của một nhóm transistor điện tích trong tụ
Mỗi bit cần nhiều transistor rất ít linh kiện
Ưu điểm lớn rất nhanh rất nhỏ và chứa được nhiều bit

Thử ghi cùng một bit vào hai ô, rồi bấm ChờNgắt điện:

Hai cách giữ một bit trên chip

SRAM

các transistor giữ trạng thái cho nhau

A B giữ nhau chưa ghi

Bit đọc được: ?

DRAM

điện tích trong một tụ điện

cửa đóng transistor ngưỡng 0% tụ

Bit đọc được: ?

Bấm Ghi 1 để ghi cùng một bit vào cả hai ô.

SRAM giữ nguyên bit chừng nào còn điện. Điện tích trong tụ DRAM thì rò dần, và nếu chờ đủ lâu, bit 1 có thể bị đọc thành 0.

Nhưng lõi từ còn có một lợi thế rất lớn

Có một điểm mà chip nhớ lúc đầu còn thua lõi từ.

Lõi từ không cần điện để tiếp tục giữ bit.

Nếu một vòng ferrite đang ở trạng thái 1 rồi ta tắt máy, hướng từ hoá vẫn còn đó.

SRAM thì khác.

Mất điện, mạch transistor không còn duy trì trạng thái.

DRAM cũng vậy.

Điện tích trong tụ cuối cùng sẽ biến mất.

Vì vậy SRAM và DRAM đều là bộ nhớ mất dữ liệu khi mất điện.

Nghe có vẻ là một nhược điểm nghiêm trọng.

Vậy tại sao chúng vẫn đánh bại lõi từ?

Một con chip bắt đầu thay hàng nghìn chiếc vòng

Một tấm lõi từ hình chữ nhật của máy IBM 704 với lưới dây đồng dệt dày trong khung đen
Tấm lõi từ của IBM 704, giữa thập niên 1950. Ảnh: Museo Scienza e Tecnologia Milano / Wikimedia Commons · CC BY-SA 4.0
Chip Intel C1103 vỏ gốm tím với nắp vàng và mười tám chân trên nền trắng
Intel 1103 (1970): một trong những chip DRAM thương mại đầu tiên thành công lớn. Ảnh: Thomas Nguyen / Wikimedia Commons · CC BY-SA 4.0

Hãy nhìn hai vật này.

Cả hai đều dùng để giữ bit.

Nhưng bên trái, bạn có thể nhìn thấy:

  • từng vòng ferrite
  • từng sợi dây
  • cả một lưới bộ nhớ

Bên phải chỉ là một con chip nhỏ.

Một sản phẩm quan trọng trong bước chuyển này là Intel 1103, ra mắt năm 1970.

Nó chứa:

1.024 bit.

Con số đó ngày nay gần như không đáng kể.

Nhưng điều quan trọng không nằm ở 1.024 bit.

Nó nằm ở cách 1.024 bit đó được sản xuất.

Với lõi từ:

thêm bit

thêm phần tử vật lý

thêm công lắp ráp

Với chip:

làm transistor nhỏ hơn

đặt nhiều ô nhớ hơn

trên cùng một diện tích silicon

Đó là hai con đường hoàn toàn khác nhau.

Lõi từ khó thu nhỏ. Chip thì cứ tiếp tục thu nhỏ

Giả sử muốn bộ nhớ lớn gấp đôi.

Với lõi từ, bạn cần gần như:

gấp đôi số vòng.

Và rồi phải luồn dây qua chúng.

Nhưng với chip, nếu mỗi transistor và mỗi ô nhớ nhỏ hơn, ta có thể nhét nhiều ô hơn vào cùng một diện tích.

┌────────────────┐
│ ● ● ● ●        │
│ ● ● ● ●        │
└────────────────┘

        ↓ nhỏ hơn

┌────────────────┐
│ · · · · · · ·  │
│ · · · · · · ·  │
│ · · · · · · ·  │
│ · · · · · · ·  │
└────────────────┘

Một quy trình chế tạo được cải thiện không chỉ làm một ô nhớ nhỏ hơn.

Nó làm tất cả các ô trên chip nhỏ hơn cùng lúc.

Đây là lợi thế quyết định.

Trong những năm 1970, bộ nhớ bán dẫn bắt đầu thay thế lõi từ trong máy tính.

Và cuộc đua từ đó không còn là:

Ai có thể xâu nhiều vòng ferrite hơn?

mà trở thành:

Ai có thể làm transistor nhỏ hơn và đặt nhiều ô nhớ hơn lên silicon?

Từ nghìn bit đến hàng tỷ bit

Intel 1103 chứa khoảng:

1.000 bit

Vài thập niên sau, một chip DRAM có thể chứa:

1.000.000.000 bit

Từ khoảng một nghìn lên một tỷ là mức tăng cỡ:

một triệu lần.

Không phải vì con người học được cách lắp linh kiện nhanh hơn một triệu lần.

Mà vì cách sản xuất đã thay đổi hoàn toàn.

Trước đây:

1 bit

một phần tử vật lý phải được tạo và lắp

Trên chip:

một quy trình chế tạo

hàng nghìn

hàng triệu

hàng tỷ ô nhớ

Đó là bước ngoặt quan trọng nhất.

Bộ nhớ không còn được lắp từng bit. Nó được chế tạo hàng loạt ngay trên silicon.

Nhưng vẫn còn một câu hỏi chưa được trả lời.

Ta vừa nói SRAM giữ một bit bằng cách để nhiều transistor giữ trạng thái của nhau.

Nghe khá giống flip-flop ở những máy tính trước đây.

Nhưng chính xác chúng giữ nhau bằng cách nào?

Một nhóm transistor có thể tự giữ nguyên 0 hoặc 1 bằng cách nào?