I.KHÁI NIỆM CHUNG
Trên thực tế có rất nhiều dạng bộ nhớ, cụ thể như:
- Bộ nhớ cơ khí: hệ thống công tắc hình trống/cam,…
- Bộ nhớ từ: đĩa cứng, đĩa mềm, băng từ ,…
- Bộ nhớ quang: đĩa CD ROM, băng giấy đục lỗ ,…
So với các bộ nhớ trên, bộ nhớ bán dẫn có một số ưu điểm như tốc độ xử lý, kích thước nhỏ gọn, dễ dàng trong điều khiển việc truy xuất dữ liệu… Trong thực tế khi sử dụng bộ nhớ bán dẫn, người ta thường lưu ý các thông số sau:
<![if !vml]><![endif]>
Hình 1.1. Bộ nhớ bán dẫn
Các BUS là một tập hợp các dây dẫn được sử dụng để mang tín hiệu đi trao đổi thông tin giữa các thiết bị trong hệ vi xử lý.
Điển hình một máy tính 8 bit có các thanh ghi với độ rộng 8 bit và 8 đường trong 1 BUS dữ liệu.
Một máy tính 16 bit có các thanh ghi 16 bit, BUS dữ liệu có 16 đường … Có thể dùng hình ảnh đường giao thông để minh hoạ các BUS
(Hình 1.2): trên đường giao thông có nhiều địa điểm như A, B, C, D … Nếu chỉ dùng dây điện để nối (nối cứng) ta phải tốn rất nhiều đường dây để liên kết giữa các địa điểm lại với nhau nhưng khi đi trên đường, lái xe dù không thông thạo vùng này cứ đi dọc xa lộ là có thể tìm đến địa điểm cần đến. Rõ ràng với một BUS ta có thể liên kết nhiều thiết bị trong hệ vi xử lý lại với nhau (mỗi thiết bị có thể xem như một địa điểm trên đường giao thông còn xe mang thông tin trao đổi giữa các thiết bị trong hệ thống).
<![if !vml]><![endif]>
Hình 1.2: Minh hoạ BUS thông qua hình ảnh đường giao thông.
1.1.Dựa vào tính chất thông tin tải trên Bus, người ta phân làm ba loại chính:
- Tuyến địa chỉ: đây là bus 1 chiều, được sử dụng để xác định địa chỉ của vùng nhớ trong bộ nhớ bán dẫn, nơi mà bộ nhớ chọn để truy xuất dữ liệu.
- Tuyến điều khiển: đây là bus 1 chiều nhưng hình vẽ tổng quan thì xem như hai chiều. Tuyến này xác định việc đọc hay viết dữ liệu trên bộ nhớ bán dẫn. Cụ thể, dữ liệu được viết vào vùng nhớ được chọn hay từ đó xuất đi. Ngoài ra, cho phép bộ nhớ ngưng làm việc (treo: không dùng đến) cũng do tín hiệu trên tuyến điều khiển này quyết định.
- Tuyến dữ liệu: đây là bus 1 chiều với ROM và là 2 chiều với các bộ nhớ khác, được sử dụng để mang dữ liệu từ vùng nhớ được chọn bởi tuyến địa chỉ trong bộ nhớ đến các thiết bị khác như CPU, ROM, RAM và các cổng nhập/xuất (I/O) trong hệ thống.
Thời gian truy xuất (Access Time) là thời gian cần thiết để thực hiện hoạt động đọc, nghĩa là thời gian từ lúc bộ nhớ nhận được địa chỉ mới ở đầu vào cho đến khi dữ liệu đã sẵn sàng cho đầu ra. Ký hiệu at hay tACC.
Dung lượng (Capacity): Nói lên số bit tối đa có khả năng lưu trữ trong bộ nhớ. Ví dụ có một bộ nhớ lưu trữ được 2048 từ 8 bit. Như vậy bộ nhớ có dung lượng của bộ nhớ là 2048 x 8, trong đó đại lượng thứ nhất (2048) là tổng số từ, và đại lượng thứ hai (8) là số bit trong mỗi từ (kích cỡ từ). Số từ trong bộ nhớ thường là bội số của 1024.
Đơn vị chuyển đổi như sau:
1 byte = 8 bit
1Kbyte = 210 = 1024 bit
1Mbyte = 2020 = 1,048,576 bit
1Gbyte = 230 = 1,073,741,824 bit
Ô nhớ (Memory Cell): là phần tử, linh kiện điện tử có khả năng lưu trữ một bit đơn (1 hay 0). Ví dụ như flip – flop (FF), tụ tích điện, một vết trên băng từ.
Từ nhớ (Memory Word): là một nhóm bit trong bộ nhớ biểu diễn các chỉ thị hay dữ liệu thuộc loại nào đó. Ví dụ như thanh ghi gồm 8 Flip-Flop có thể xem như là bộ nhớ có khả năng nhớ 1 từ mã 8 bit. Kích cỡ từ trong một hệ thống điện tử số thường biến thiên trong khoảng 4 đến 64 bit.
II.TỔ CHỨC BỘ NHỚ BÁN DẪN
2.1.Hoạt động của bộ nhớ
Để minh hoạ việc truy xuất dữ liệu trong bộ nhớ bán dẫn, có thể mượn hình ảnh tủ đựng hồ sơ trong các công sở (hình 2.1 a). Mỗi một hộc tủ trong tủ hồ sơ được đánh số theo nguyên tắc như sau: chữ số đầu tiên (đánh theo hệ 16) của hộc là con số chỉ thứ tự hàng của hộc này; chữ số đầu thứ hai (cũng đánh theo hệ 16) của hộc là con số chỉ thứ tự cột của hộc này.
Do đó mỗi một hộc tủ đều có một mã địa chỉ được ghi dưới dạng mã 16 riêng, chỉ ra vị trí của hộc trên tủ hồ sơ. Giả sử khi muốn đưa một hồ sơ mới (dữ liệu) vào hộc tủ có mã số là 03, ta chỉ việc trùng phùng từ hàng 0 với cột 3 là gặp hộc tủ này. Việc ghi hay nạp dữ liệu là tuỳ vào tuyến điều khiển.
Khi số hộc tủ không đủ để giữ số hồ sơ cần lưu trữ, người ta mua thêm một tủ cùng loại với tủ cũ và việc đánh số địa chỉ tương tự như cũ.
Lúc này việc đánh số phân biệt giữa 2 tủ giống như lập mã vùng trong thuê bao điện thoại:
Có thể xem tủ thứ nhất là vùng 1 và tủ mới mua là vùng 2 (hình 2.1 b). Khi cần liên hệ dữ liệu trong cùng một vùng thì không cần sử dụng mã vùng (giống như gọi điện thoại nội hạt), chỉ khi liên hệ giữa hai vùng khác nhau lúc này mới sử dụng đến mã vùng (giống như gọi điện thoại liên tỉnh).
Nghĩa là hồ sơ khi trao đổi trong cùng một tủ, ta không cần sử dụng thêm một số nào trong mã địa chỉ nhưng muốn chuyển hồ sơ từ tủ này sang tủ kia bắt buộc phải sử dụng thêm một con số nữa trong mã địa chỉ (tương tự như mã vùng khi gọi điện thoại).
Cụ thể, tủ cũ thêm số 0 vào bên trái của mã địa chỉ còn tủ mới thêm số 1 vào bên trái của mã địa chỉ. Như vậy 001; 011; 034; 075… là các địa chỉ của các hộc trong tủ cũ và 101; 111; 134; 175 là các địa chỉ của các hộc trong tủ mới (cùng vị trí vật lý nhưng khác tủ).
(a)
(b)
Hình 2.1: Hình ảnh minh hoạ việc truy xuất dữ liệu trong bộ nhớ bán dẫn
Minh hoạ việc đánh số trên qua hình 2.2. Bên trái là một số điện thoại thật, tương ứng với bên phải là cách đánh số địa chỉ trong bộ nhớ bán dẫn theo mã hexa.
Hình 2.2: Minh hoạ việc đánh số trên vùng địa chỉ của bộ nhớ bán dẫn.
Hình 2.3 minh hoạ một bộ nhớ RAM trong chương trình mô phỏng SMS 32v23 (trình bày ở chương 4) trình bày nội dung và cách đánh địa chỉ cho từng ô nhớ chứa nội dung như cách thức ở tủ hồ sơ vừa nêu ở trên.
<![if !vml]>Hình 2.3. Bộ nhớ RAM trong chương trình mô phỏng SMS 32v23
Cho ví dụ đơn giản minh hoạ về nguyên tắc hoạt động của bộ nhớ bán dẫn:
Khi bạn muốn gởi một lá thư cho bạn mình đang sống ở Pháp, bạn phải ghi địa chỉ của bạn mình vào bì thư,đó chính là thông tin trên tuyến địa chỉ, xác định nơi mà lá thư của bạn sẽ đến,viết vào thư những thông tin mà mình muốn gởi rồi cho vào bì thư dán lại,đó là thông tin trên tuyến dữ liệu, đến bưu điện để xác nhận việc mình sẽ gởi lá thư đó sang Pháp theo địa chỉ ghi trên bì thư, đó là thông tin yêu cầu đặt trên tuyến điều khiển.
Như vậy việc trao đổi thông tin trên bộ nhớ bán dẫn cũng tương tự như việc trao đổi thư từ theo dạng truyền thống mà thôi!
Sự phối hợp nhịp nhàng giữa 3 tuyến sẽ giúp bộ nhớ hoàn thành tốt công việc của mình: lưu trữ và trao đổi thông tin.
Hình 2.3 minh hoạ sơ đồ khối tiêu biểu cho một ROM, gồm có đầu vào địa chỉ, đầu vào điều khiển và đầu ra dữ liệu.
Giả sử ROM đã được lập trình với dữ liệu minh hoạ như ở hình 2.3 Có thể có 16 từ dữ liệu (nhóm 8 bit) riêng biệt được ghi vào 16 địa chỉ khác nhau dưới dạng nhị phân.
2.2.Hoạt động đọc
Để đọc một từ dữ liệu từ ROM, ta phải làm như sau: áp đầu vào địa chỉ thích hợp, sau đó kích hoạt đầu vào điều khiển.
<![if !vml]>Hình 2.2.1. Sơ đồ minh hoạ 3 tuyến: dữ liệu, địa chỉ, điều khiển
Hình 2.2.2. Bảng dữ liệu tương ứng với các địa chỉ trong ROM
Ví dụ muốn đọc dữ liệu tại địa chỉ 0111 của ROM (hình 4.5) ta phải đưa A3A2A1A0 = 0111 vào các chân địa chỉ, sau đó áp dụng trạng thái thấp cho đầu vào địa chỉ được giải mã bên trong ROM để chọn được dữ liệu đúng là 11101101. Giá trị này sẽ xuất hiện tại đầu ra D7 đến D0.