Kĩ thuật số - Chương 7: Bộ nhớ bán dẫn
Bạn đang xem tài liệu "Kĩ thuật số - Chương 7: Bộ nhớ bán dẫn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- ki_thuat_so_chuong_7_bo_nho_ban_dan.pdf
Nội dung text: Kĩ thuật số - Chương 7: Bộ nhớ bán dẫn
- Giáo trình Kỹ Thuật Số CHƯƠNG 7: BỘ NHỚ BÁN DẪN 9 THUẬT NGỮ 9 VẬN HÀNH TỔNG QUÁT 9 GIAO TIẾP VỚI CPU 9 CÁC LOẠI BỘ NHỚ BÁN DẪN • ROM • PLD • RAM 9 MỞ RỘNG BỘ NHỚ BÁN DẪN • Mở rộng độ dài từ • Mở rộng vị trí nhớ • Mở rộng dung lượng nhớ I. GIỚI THIỆU Tính ưu việt chủ yếu của các hệ thống số so với hệ thống tương tự là khả năng lưu trữ một lượng lớn thông tin số và dữ liệu trong những khoảng thời gian dài hay ngắn. Khả năng nhớ này là điều làm cho hệ thống số trở nên đa năng và có thể thích hợp với nhiều tình huống. Ví dụ, một máy tính số, bộ nhớ trong chứa những lệnh mà theo đó máy tính có thể hoàn tất công việc của mình với sự tham gia ít nhất của con người. Bộ nhớ bán dẫn được sử dụng làm bộ nhớ chính trong các máy tính nhờ vào khả năng thỏa mãn tốc độ truy xuất dữ liệu của bộ xử lý trung tâm (CPU). Chúng ta đã quen thuộc với các FlipFlop, đó là một thiết bị nhớ điện tử. Chúng ta đã thấy một nhóm các FF họp thành thanh ghi để lưu trữ và dịch chuyển thông tin như thế nào. Các FF chính là các phần tử nhớ tốc độ cao được dùng rất nhiều trong việc điều hành bên trong máy tính, nơi mà dữ liệu dịch chuyển liên tục từ nơi này đến nơi khác. Dữ liệu cũng có thể được lưu trữ dưới dạng điện tích của tụ điện, và một loại phần tử nhớ rất quan trọng đã dùng nguyên tắc này để lưu trử dữ liệu với mật độ cao nhưng tiêu thụ nguồn điện năng rất thấp. Bộ nhớ bán dẫn được dùng như là bộ nhớ trong chính của máy tính, nơi mà việc vận hành được xem như ưu tiên hàng đầu và cũng là nơi mà tất cả dữ liệu của chương trình lưu chuyển liên tục trong quá trình thực hiện một tác vụ của CPU. Mặc dù bộ nhớ bán dẫn có tốc độ làm việc cao, rất phù hợp cho bộ nhớ trong, nhưng giá thành tính trên mỗi bit lưu trữ cao khiến cho nó không thể là thiết bị có tính chất lưu trữ khối (mass storage) – là loại có khả năng lưu trữ hàng tỉ bit mà không cần cung cấp năng lượng và được dùng như là bộ nhớ ngoài (đĩa từ, băng từ, CD ROM, ). Tốc độ xử lý dữ liệu của bộ nhớ ngoài tương đối chậm nên khi máy tính làm việc thì dữ liệu từ bộ nhớ ngoài được chuyển vào bộ nhớ trong. Băng từ và đĩa từ là thiết bị lưu trữ khối mà giá thành tính trên mỗi bit tương đối thấp. Một loại bộ nhớ khối mới hơn là bộ nhớ bọt từ (magnetic bubble memory, MBM) là bộ nhớ điện tử dựa trên nguyên tắc từ có khả năng lưu trữ hàng triệu bit trong một chip. Với tốc độ tương đối chậm, nó không được dùng như bộ nhớ trong. Trong chương này, chúng ta nghiên cứu cấu tạo và tổ chức của các bộ nhớ bán dẫn. Chủ biên Võ Thanh Ân Trang 92
- Tổ Tin Học II. THUẬT NGỮ LIÊN QUAN ĐẾN BỘ NHỚ Để tìm hiểu cấu tạo, hoạt động của bộ nhớ, chúng ta bắt đầu với một số thuật ngữ liên quan đến bộ nhớ. Ngoài ra để thực hiện bài toán cộng nhiều số ta nên nhớ: - Tế bào nhớ: là linh kiện hay một mạch điện tử dùng để lưu trữ một bit đơn (0 hay 1). Ví dụ tế bào nhớ là một FF, tụ được tính điện, một điểm trên băng từ hay đĩa từ, - Từ nhớ: là một nhóm các bit (tế bào) trong bộ nhớ dùng biễu diễn các lệnh hay dữ liệu dưới dạng số nhị phân. Ví dụ một thanh ghi 8 FF là một phần tử nhớ lưu trũ từ 8 bit. Kích thước của từ nhớ trong máy tính hiện đại có độ dài từ 4 đến 64 bit. - Byte: từ 8 bit, đây là kích thước thường dùng của từ nhớ trong các máy vi tính. - Dung lượng: chỉ số lượng bit có thể lưu trữ trong bộ nhớ. Ví dụ bộ nhớ có khả năng lưu trữ 4096 từ nhớ 20 bit, dung lượng của nó là 4096×20, mỗi 1024 (1024 = 210) từ nhớ được gọi là 1K, như vậy 4096×20 = 4K×20. Với dung lượng lớn hơn ta dùng 1M (1M=210K) để chỉ 1048576 từ nhớ - Địa chỉ: là số nhị phân dùng xác định vị trí của từ nhớ trong bộ nhớ. Mỗi từ nhớ được lưu trữ trong bộ nhớ tại một địa chỉ duy nhất. Địa chỉ luôn luôn được biểu diễn bởi số nhị phân. Tuy nhiên để dễ hiểu người ta dùng số hex, số bát phân, số thập phân. - Tác vụ đọc: Read hay còn gọi là felch, một từ nhớ tại một vị trí nào đó trong bộ nhớ được truy xuất và chuyển sang một thiết bị khác. - Tác vụ viết: Ghi, Write hay còn gọi là store, một từ mới được đặt vào một vị trí trong bộ nhớ, khi từ mới được viết thì từ cũ mất đi. - Thời gian truy xuất (access time): số đo tốc độ hoạt động của bộ nhớ, ký hiệu là tACC. Đó là thời gian cần để hoàn tất một tác vụ đọc. Chính xác đó là thời gian từ khi bộ nhớ nhận một địa chỉ mới cho tới lúc dữ liệu khả dụng ở ngã ra bộ nhớ. - Bộ nhớ không vĩnh cữu (volatile): bộ nhớ cần nguồn điện để lưu trữ thông tin. Khi ngắt điện, thông tin lưu trữ bị mất. Hầu hết bộ nhớ bán dẫn là loại không vĩnh cữu, trong khi bộ nhớ từ là bộ nhớ vĩnh cữu (nonvolatile). - Bộ nhớ truy xuất ngẫu nhiên (Random Access Memory, RAM): đó là bộ nhớ mà vị trí của tế bào nhớ trong nó không ảnh hưởng đến thời gian đọc hay viết dữ liệu vào. Nói cách khác, thời gian truy xuất như nhau đối với mọi vị trí nhớ. Hầu hết các loại bộ nhớ bán dẫn là loại truy xuất ngẫu nhiên. - Bộ nhớ truy xuất tuần tự (Sequential Access Memory, SAM): đó là bộ nhớ mà thời gian đọc hay viết dữ liệu ở các vị trí khác nhau thì khác nhau. Những ví dụ của loại bộ nhớ này là băng từ, đĩa từ, CD–ROM, Tốc độ của các loại bộ nhớ này thường chậm so với bộ nhớ truy xuất ngẫu nhiên. - Bộ nhớ đọc/viết (Read/Write Memory, RWM): bộ nhớ có thể viết vào và đọc ra. - Bộ nhớ chỉ đọc (Read Only Memory, ROM): là bộ nhớ mà tỉ lệ tác vụ đọc trên tác vụ ghi rất lớn. Về mặt kỹ thuật, một ROM có thể chỉ được ghi một lần ở nơi sản xuất và sau đó thông tin chỉ có thể đọc ra từ bộ nhớ. Có loại nhớ ROM có thể được ghi nhiều lần nhưng tác vụ ghi khá phức tạp hơn tác Trang 93 Chủ biên Võ Thanh Ân
- Tổ Tin Học vụ đọc. ROM thuộc loại bộ nhớ vĩnh cữu và dữ liệu được lưu trữ khi đã cắt nguồn điện. - Bộ nhớ tĩnh (Static Memory Devices): là bộ nhớ bán dẫn trong đó dữ liệu đã lưu trữ được duy trì cho đến khi nào còn nguồn nuôi. - Bộ nhớ động (Dynamic Memory Devices): là bộ nhớ bán dẫn trong đó dữ liệu đã lưu trữ muốn tồn tại phải được ghi lại theo chu kỳ. Tác vụ ghi lại được gọi là làm tươi (refresh). - Bộ nhớ trong (Internal Memory): chỉ bộ nhớ chính của máy tính nó lưu trữ các lệnh và dữ liệu mà CPU dùng thường xuyên khi hoạt động. - Bộ nhớ khối (Mass Memory): còn gọi là bộ nhớ phụ, nó chứa một lượng thông tin rất lớn ở bên ngoài máy tính. Tốc độ truy xuất của bộ nhớ này thường chậm và nó thuộc loại vĩnh cữu. III. ĐẠI CƯƠNG VỀ VẬN HÀNH CỦA BỘ NHỚ Mặc dù mỗi loại bộ nhớ có hoạt động bên trong khác nhau, nhưng chúng có chung một nguyên tắc vận hành mà chúng ta có thể tìm hiểu sơ lượt trước khi đi vào nghiên cứu từng loại bộ nhớ. Mỗi hệ thống nhớ luôn có một số yêu cầu ở các ngã vào/ra để hoàn thành một số tác vụ, đó là: - Chọn địa chỉ trong bộ nhớ để thực hiện việc đọc ra hoặc viết vào. - Chọn tác vụ đọc hoặc viết để thực hiện. - Cung cấp dữ liệu vào để lưu trữ vào bộ nhớ trong trong tác vụ viết. - Gửi dữ liệu ra từ bộ nhớ trong tác vụ đọc. - Cho phép (Enable) hay không cho phép (Disable) bộ nhớ đáp ứng đối với lệnh đọc/ghi ở địa chỉ đã gọi đến. Từ các tác vụ kể trên, ta có thể hình dung mỗi IC nhớ có một số ngã vào ra, với nhiệm vụ tương ứng như sau: - Ngã vào địa chỉ: Mỗi vị trí nhớ xác định bởi một địa chỉ duy nhất, khi cần đọc dữ liệu ra hoặc ghi dữ liệu vào ta phải tác động vào chân địa chỉ của vị trí nhớ đó. Một IC có n chân địa chỉ sẽ có 2n vị trí nhớ. Ký hiệu các chân 10 địa chỉ từ A0 đến An–1. Ví dụ, IC có 10 chân địa chỉ sẽ có 1K = 1024 (2 ) vị trí nhớ. - Ngã vào/ra dữ liệu: Các chân dữ liệu là các ngã vào ra, nghĩa là dữ liệu luôn được xử lý 2 chiều. Thường là dữ liệu vào ra chung một chân nên các ngã này thuộc loại ngã ra 3 trạng thái. Số chân địa chỉ và chân dữ liệu của IC xác định dung lượng nhớ của IC đó. Ví dụ, IC có 10 chân địa chỉ và 8 chân dữ liệu thì dung lượng nhớ của IC đó là 1K×8 = 8K bit = 1KB. - Các ngã vào điều khiển: Mỗi IC nhớ được chọn hoặc có yêu cầu xuất nhập dữ liệu các chân tương ứng sẽ được tác động. Ta có thể kể ra một số ngã vào điều khiển như sau: CS : Chip select – Chọn chip – Khi chân này xuống thấp IC được chọn. CE : Chip enable – Cho phép chip – Chức năng như chân CS . OE : Output enable – Cho phép xuất – Dùng khi đọc dữ liệu. R /W : Read/Write – Đọc/Viết – Cho phép đọc dữ liệu khi chân này ở mức cao, ghi dữ liệu khi chân này ở mức thấp. Trang 94 Chủ biên Võ Thanh Ân
- Tổ Tin Học CAS − RAS : Column Address Strobe – Row Address Strobe – Chốt địa chỉ cột – Chốt địa chỉ hàng. Chỉ những IC nhớ có địa chỉ hàng và cột mới có chân này. Hình dưới đây cho thấy cách vẽ nhóm chân các IC nhớ, m chân địa chỉ, n chân dữ liệu. Cách vẽ các chân địa chỉ và dữ liệu dưới dạng BUS. R /W R /W R /W CS OE CS OE CS OE A0 D0 A1 D1 A0 Am–1 D0 Dn–1 A0 Am–1 D0 Dn–1 m n A D m–1 n–1 Hình: Cách vẽ nhóm chân IC nhớ. IV. GIAO TIẾP GIỮA IC NHỚ VÀ BỘ XỬ LÝ TRUNG TÂM Trong mọi hoạt động có liên quan đến IC nhớ đều do bộ xử lý trung tâm (Central Proccessing Unit, CPU) quản lý. Giao tiếp giữa IC nhớ và CPU mô tả như hình dưới đây. Bus địa chỉ CPU IC nhớ IC nhớ Bus dữ liệu Bus điều khiển Hình: Giao tiếp giữa IC nhớ và CPU. Một tác vụ liên quan đến bộ nhớ được CPU thực hiện theo các bước: - Đặt địa chỉ quan hệ lên BUS địa chỉ. - Đặt tín hiệu điều khiển lên BUS điều khiển. - Dữ liệu khả dụng xuất hiện trên BUS dữ liệu, sẳn sàng phục vụ. Dĩ nhiên, các bước trên phải tuân thủ giản đồ thời gian của từng IC nhớ (sẽ đề cập đến khi xét các loại bộ nhớ). V. CÁC LOẠI BỘ NHỚ BÁN DẪN 1. Giới thiệu Có 3 loại bộ nhớ bán dẫn: - Bộ nhớ bán dẫn chỉ đọc (Read Only Memory, ROM). - Bộ nhớ truy xuất ngẫu nhiên (Random Access Memory, RAM). Thật ra ROM và RAM đều là loại bộ nhớ truy xuất ngẫu nhiên. Nhưng RAM được giữ tên gọi này có lẽ vì lý do lịch sử ra đời của các chủng loại khác nhau. Để phân biệt chính xác ROM và RAM ta có thể gọi ROM là bộ nhớ chết (nonvolatile) và RAM là bộ nhớ sống (volatile) hoặc nếu coi ROM là bộ nhớ chỉ đọc thì RAM là bộ nhớ đọc được, viết được (Read Write Memory). Trang 95 Chủ biên Võ Thanh Ân
- Tổ Tin Học - Thiết bị logic lập trình được (Programmable Logic Devices, PLD): có thể nói điểm khác biệt giữa PLD với ROM và RAM là qui mô tích hợp của PLD thường không lớn như ROM và RAM và các tác vụ của PLD thì có phần hạn chế. 2. ROM a. Giới thiệu Các tế bào nhớ hoặc từ nhớ trong ROM được sắp xếp theo dạng ma trận mà mỗi phần tử chiếm một vị trí xác định bởi một địa chỉ cụ thể và nối với ngã ra của một mạch giải mã địa chỉ bên trong IC. Nếu mỗi vị trí chứa một tế bào nhớ ta nói ROM có tổ chức bit và mỗi vị trí là một từ nhớ ta có tổ chức từ. Ngoài ra, để giảm mức độ cồng kềnh của mạch giải mã, mỗi vị trí nhớ có thể được xác định bởi 2 đường địa chỉ: đường địa chỉ hàng và đường địa chỉ cột và trong bộ nhớ có 2 mạch giải mã nhưng mỗi mạch có số ngã vào bằng ½ số đường địa chỉ của cả bộ nhớ. b. ROM mặt nạ (Mask Programmed ROM, MROM) Đây là loại ROM được chế tạo để thực hiện một công việc cụ thể như các bảng tính, bảng lượng giác, bảng logarit, ngay sau khi xuất xưởng. Nói cách khác, các tế bào nhớ trong ma trận nhớ đã được tạo ra theo một chương trình xác định trước bằng phương pháp mặt nạ: đưa vào các linh kiện điện tử nối từ đường từ qua đường bit để tạo ra một giá trị bit và để trống cho giá trị bit ngược lại. Dưới đây là mô hình của một MROM trong đó các ô vuông là nơi chứa (hay không chứa) một linh kiện (diod, transistor BJT, MOSFET) để tạo bit. Mỗi ngã ra của mạch giải mã địa chỉ gọi là đường từ và đường nối tế bào nhớ ra ngoài gọi là đường bit. Khi đường từ lên mức cao thì tế bào nhớ được chọn. Khi nhiều tế bào nhớ được chọn cùng lúc ta nói bộ nhớ có tổ chức từ. Đường từ R R A0 Địa Giải A1 Đường từ Đường từ chỉ mã địa Đường bit Đường bit A chỉ m–1 Logic 0 Logic 1 VDD Đường bit R Đường từ Đường từ CE ĐK logic Đệm ngã ra VCC OE Đường bit Đường bit Dữ liệu Logic 1 Logic 0 Hình: Mô hình của MROM. Nếu tế bào nhớ là Diod hay BJT thì sự hiện diện của linh kiện tương ứng với bit 1 còn vị trí trống tương ứng với bit 0. Đối với linh kiện MOSFET thì ngược lại (muốn có kết quả như BJT thì thêm ở ngã ra các cổng đệm đảo). Trang 96 Chủ biên Võ Thanh Ân
- Tổ Tin Học Dưới đây là ví dụ bộ nhớ MROM có dung lượng 16×1 với các mạch giải mã hàng và cột (các mạch giải mã 2 ra 4 của hàng và cột đều dùng Transistor MOS và có cùng cấu trúc). + + Tế bào nhớ A0 Ra A1 A 2 Giải mã cột A3 Giải mã hàng Hình: Ví dụ về bộ nhớ MROM. Trên thực tế để đơn giản cho việc thực hiện, ở mỗi vị trí nhớ, người ta đều cho vào một transistor MOS được chế tạo lớp SiO2 dày hơn làm tăng hiệu thế ngưỡng của nó lên, kết quả là transistor MOS này luôn không dẫn điện, các transistor khác dẫn điện bình thường. VDD VDD VDD VDD Đường từ Đường bit 0 1 1 0 Hình: Transistor MOS có SiO2 dày hơn (cho mức 1). c. ROM lập trình được Có cấu tạo giống như MROM nhưng ở mỗi vị trí đều có các linh kiên nối với các cầu chì. Như vậy, khi xuất xưởng các ROM này đều chứa cùng một loại bit (gọi là ROM trắng), lúc sử dụng, người lập trình thay đổi các bit mong muốn bằng cách phá vỡ cầu chì tại các vị trí tương ứng vói bit đó. Một khi cầu chì đã bị phá vỡ thì không thể nối lại được, do đó loại ROM này cho phép lập trình một lần duy nhất để sử dụng, nếu bị lỗi không thể sửa chữa được. Trang 97 Chủ biên Võ Thanh Ân
- Tổ Tin Học VDD R Đường từ R Đường từ Đường từ Cầu chì Đườ ng bit Cầu chì VCC Đường bit Đường bit Hình: Tổ chức bit của ROM lập trình được. Người ta có thể dùng 2 diod mắc ngược chiều nhau, mạch không dẫn điện, để tạo bit 0, khi lập trình thì một diod được phá hỏng tạo mạch nối tắt, diod còn lại dẫn điện cho bit 1. d. ROM lập trình được, xóa được bằng tia U.V. Ultra Violet Programmable ROM, U.V. EPROM. Đây là loại ROM rất thuận tiện cho người sử dụng vì có thể dùng được nhiều lần bằng cách xóa và nạp lại. Cấu tạo của tế bào nhớ U.V. EPROM là một transistor MOS có cấu tạo đặc biệt gọi là FAMOS (Floating Gate Avalanche Injection MOS). S Cổng nổi Silicon D S Cổng nổi Silicon D Al Al SiO2 SiO2 Al Al + + P P SiO2 SiO2 Nền – P+ P+ N Nền N– Cực nền Cực nền Hình: Cấu tạo bên trong U.V. EPROM. Trên nền chất bán dẫn N pha loãng, tạo 2 vùng P pha đậm (P+) nối ra ngoài cho 2 cực S (Source) và D (Drain). Trong lớp cách điện SiO2 giữa 2 cực người ta cho vào một thỏi Silicon không nối với bên ngoài và được gọi là cổng nổi. Khi nguồn VDD phân cực ngược giữa cực nền và cực Drain còn nhỏ, transistor không dẫn, nhưng nếu tăng VDD đủ lớn, hiện tượng thác đổ (avalanche) xảy ra, electron đủ năng luợng chui qua lớp cách điện tới bám vào cổng nổi. Do hiện tượng cảm ứng, một điện lộ P hình thành nối 2 vùng bán dẫn P+, transistor trở nên dẫn điện. Khi cắt nguồn, transistor vẫn tiếp tục dẫn điện vì electron không thể trở về tái hợp với lỗ trống. Để xóa EPROM, người ta chiếu tia U.V. vào các tế bào trong khoảng thời gian để electron trên cổng nổi nhận đủ năng lượng vượt qua lớp điện trở về vùng nền tái hợp với lỗ trống xóa điện lộ P và transistor trở về trạng thái không dẫn ban đầu. Trang 98 Chủ biên Võ Thanh Ân
- Tổ Tin Học VDD Transistor chọn Đường từ Điểm nhớ Đường bit FAMOS Hình: Cấu tạo tế bào nhớ. Mỗi tế bào nhớ của EPROM gồm transiator FAMOS nối tiếp với một transitor MOS khác mà ta gọi là transistor chọn. Để loại bỏ transistor chọn, người ta dùng transistor SAMOS (Stacked Gate Avalanche Injection MOS có cấu tạo tương tự như transistor MOS nhưng có đến 2 cổng nằm chồng lên nhau, một được nối ra cực Gate và một để nổi. Khi cổng nổi tích điện sẽ làm gia tăng điện thế thềm khiến transistor khó dẫn điện hơn. Như vậy, nếu ta chọn VC ở khoảng giữa VT1 và VT2 (VT1 < VC < VT2) thì các transistor không lập trình (không có lớp electron ở cổng nổi) sẽ dẫn còn các transistor được lập trình sẽ không dẫn. S G D VDD Đường từ SiO2 SiO2 Điểm nhớ N+ N+ Đường bit SAMOS P Hình: Cấu tạo của tế bào nhớ SAMOS. Điểm bất lợi của U. V. EPROM là cần thiết bị xóa đặt biệt phát tia U. V. và mỗi lần xóa tất cả tế bào nhớ trong một IC đều bị xóa. Như vậy, người sử dụng phải nạp lại toàn bộ chương trình. e. ROM lập trình được, xóa được bằng xung điện Electrically Erasable PROM – EEPROM, Electrically Alterable PROM – EAPROM. Đây là loại ROM lập trình được và xóa được nhờ xung điện và đặc biệt có thể xóa để sửa chữa trên từng byte. Các tế bào nhớ EEPROM sử dụng transistor MNOS (Metal Nitride Oxide Semiconductor), có cấu tạo như dưới đây. S G D Si3N4 SiO2 SiO2 P+ P+ N Hình: Cấu tạo của tế bào nhớ EEPROM. Giữa lớp kim loại nối ra các cực và lớp SiO2 là một lớp mỏng chất Si3N4 – dày từ 40nm đến 650nm. Dữ liệu được nạp bằng cách áp một điện thế dương giữa cực G và S Trang 99 Chủ biên Võ Thanh Ân
- Tổ Tin Học (khoảng 20V đến 25V trong 100ms). Do sự khác biệt về độ dẫn điện, electron tích trên bề mặt giữa 2 lớp SiO2 và Si3N4, các electron này tồn tại khi đã ngắt nguồn và làm thay đổi trạng thái dẫn điện của transistor. Bây giờ, nếu áp một điện thế ngược chiều giữa 2 cực G và S ta sẽ được một lớp điện tích trái dấu với trường hợp trước. Như vậy, hai trạng thái khác nhau của transistor có thể thiết lập được bởi điện thế ngược chiều nhau. f. FLASH ROM EPROM là loại nonvolatile, có tốc độ truy xuất nhanh (khoảng 120ns), mật độ tích hợp cao, giá thành rẻ tuy nhiên để xóa và nạp lại phải dùng thiết bị đặc biệt và lấy ra khỏi mạch. EEPROM cũng là loại nonvolatile, có tốc độ truy xuất nhanh, cho phép xóa và ghi lại ngay trong mạch trên từng byte, mật độ tích hợp thấp, giá thành cao hơn EPROM. Bộ nhớ FLASH tận dụng được ưu điểm của 2 loại ROM nói trên, nghĩa là tốc độ truy xuất nhanh, mật độ tích hợp cao và giá thành thấp. Hầu hết FLASH ROM sử dụng cách xóa đồng thời cả khối dữ liệu nhưng rất nhanh (vài trăm ms so với 20min của U.V. EPROM). Những FLASH ROM thế hệ mới cho phép xóa từng sector (512 bytes). FLASH ROM có thời gian ghi khoảng 10μs so với 100μs đối với EPROM và 5ms đối với EEPROM. g. Giản đồ thời gian của ROM Ngoại trừ MROM chỉ dùng chế độ đọc, các loại ROM khác đều sử dụng hai chế độ đọc và nạp chương trình. Như vậy, ta có hai loại giản đồ thời gian: Giản đồ thời gian đọc và giản đồ thời gian nạp chương trình. Chu k• ••c c•a ROM Các địa chỉ, các tính hiệu R /W và CS được cấp từ CPU khi cần thực hiện tác vụ đọc dữ liệu tại một địa chỉ nào đó. Thời gian để thực hiện một tác vụ đọc gọi là chu kỳ đọc tRC. Trong một chu kỳ đọc có thể có một số thời gian như sau: tRC 1 Địa chỉ Địa chỉ có giá trị 0 tACC tH 1 t CS ACE Hi–Z Hi–Z Data Out Dữ liệu có giá trị t0 t1 t2 t3 t4 Hình: Giản đồ thời gian cho một chu kỳ đọc của ROM. - tACC (Address access time): Thời gian truy xuất địa chỉ. Đây là thời gian tối đa từ lúc CPU đặt địa chỉ lên BUS địa chỉ đến lúc dữ liệu có giá trị trên BUS dữ liệu. Đối với ROM dùng BJT thời gian này khoảng 30ns đến 90ns, còn loại MOS khoảng 200ns đến 900ns. Trang 100 Chủ biên Võ Thanh Ân
- Tổ Tin Học - tACS (tACE) (Chip select (enable) access time): Thời gian thâm nhập chọn chip. Thời gian tối đa từ lúc tín hiệu CS được đặt lên BUS điều khiển đến lúc dữ liệu có giá trị trên BUS dữ liệu. ROM BJT khoảng 20ns, MOS khoảng 100ns. - tH (Hold time): Thời gian dữ liệu còn tồn tại trên BUS dữ liệu kể từ khi tín hiệu CS hết hiệu lực. Chu k• vi•t c•a ROM Giản đồ thời gian cho một chu kỳ nạp dữ liệu cho EPROM gồm thời gian nạp (Programmed) và thời gian kiểm tra kết quả (Verify). Nạp Kiểm tra OE =1 OE = 0 Địa chỉ Hi–Z Hi–Z Dữ liệu Dữ liệu vào Dữ liệu ra OE OE / PGM Hình: Giản đồ thời gian cho một chu kỳ nạp dữ liệu của EPROM. h. Thiết bị logic lập trình được (Programmable Logic Devices, PLD) i. Gi•i thi•u Là tên chung của các thiết bị có tính chất nhớ và có thể lập trình để thực hiện một công việc cụ thể nào đó. Trong công việc thiết kế các hệ thống, đôi khi người ta cần một số mạch tổ hợp để thực hiện một hàm logic nào đó, mà công việc này lặp lại thường xuyên và sự thay đổi một tham số của hàm có thể phải thực hiện để thỏa mãn yêu cầu của việc thiết kế. Nếu phải thiết kế các mạch logic cơ bản thì mạch sẽ rất cồng kềnh, tốn kém mạch in, dây nối nhiều, kết quả là độ tin cậy không cao. Như vậy, sẽ rất tiện lợi nếu các mạch này được chế tạo sẵn và người sử dụng có thể tác động vào để làm thay đổi một phần nào chức năng của mạch bằng cách lập trình. Đó là ý tưởng cơ sở cho sự ra đời của thiết bị logic lập trình được. Các thiết bị này có thể được xếp loại như bộ nhớ và gồm các loại: PROM, PAL (Programmable Array Logic), PLA (Programmable Array Array). Trước nhất, chúng ta nói qua một số qui ước trong cách biểu diễn các phần tử của PLD. Một biến trong hàm thường xuất hiện với dạng nguyên và dạng đảo của nó nên chúng ta dùng 2 cổng có hai ngã ra đảo và không đảo. Một nối chết được gọi là nối cứng (không thay đổi được) được vẽ bởi một dấu • (chấm đậm). Một nối sống được gọi là nối mềm (dùng lập trình) được vẽ bởi một dấu ×, nối sống thực chất là một cầu chì, khi lập trình có thể bị phá bỏ. Một cổng có nhiều ngã vào (khi vẽ) thay thế bởi một ngã vào duy nhất với nhiều mối nối. Trang 101 Chủ biên Võ Thanh Ân
- Tổ Tin Học Hình: Biểu diễn các mối nối. ii. PROM Để thực hiện 4 hàm 4 biến, mạch có 4 ngã vào và 4 ngã ra. Có tất cả 16 cổng AND 4 ngã vào và được nối chết với các ngã ra đảo và không đảo của các biến vào, ngã ra các cổng AND là 16 tổ hợp của tích 4 biến (gọi là đường tích). Các cổng OR có 16 ngã vào được nối sống để thực hiện hàm tổng (đường tổng). Như vậy, đối với PROM việc lập trình thực hiện ở cổng OR. Dưới đây là sơ đồ của PROM (trái) và PROM đã được lập trình (phải). D C B A D C B A O4 O3 O 2 O 1 O4 O3 O2 O 1 Hình: Sơ đồ cấu tạo của PROM. iii. PAL Mạch tương tự với IC PROM, PAL có các cổng AND 8 ngã vào được nối sống và 4 cổng OR mỗi cổng OR có 4 ngã vào được nối chết với 4 đường tích. Như vậy việc lập trình được thực hiện trên các đường tích. O1 = A + DB + DC O2 = DCBA + DCBA O3 = CBA O4 = BA + DC Trang 102 Chủ biên Võ Thanh Ân
- Tổ Tin Học D C B A D C B A O4 O 3 O2 O1 Hình: Sơ đồ cấu tạo của PAL. iv. PLA PLA tương tự như hai loại trên nhưng các ngã vào của cổng AND và các cổng OR đều được nối sống. Như vậy khả năng lập trình của PLA bao gồm cả hai cách lập trình của 2 loại kể trên. D C B A O4 O3 O2 O1 Hình: Sơ đồ cấu tạo của PLA. 3. RAM (Random Access Memory) a. Giới thiệu Có hai loại RAM: RAM tĩnh và RAM động. RAM tĩnh cấu tạo bởi các tế bào nhớ là các FF, RAM động lợi dụng các điện dung ký sinh giữa các cực của transistor MOS, trạng thái tích điện hay không của tụ tương ứng với hai trạng thái của bit 1 và 0. Do RAM động có mật độ tích điện cao, dung lượng bộ nhớ thường rất lớn nên để định vị các phần tử nhớ người ta dùng phương pháp đa hợp địa chỉ, mỗi từ nhớ được chọn khi có đủ hai địa chỉ hàng và cột được lần lượt tác động. Phương pháp này cho phép n đường địa chỉ truy xuất 22n vị trí Trang 103 Chủ biên Võ Thanh Ân
- Tổ Tin Học nhớ. Như vậy, giản đồ thời gian của RAM động thường khác với giản đồ thời gian của RAM tĩnh và ROM. b. RAM tĩnh (Static RAM, SRAM) Mỗi tế bào RAM tĩnh là một mạch FlipFlop dùng Transitor BJT hay MOS. Hàng Hàng V VCC DD Cột Cột R R 1 2 T3 T4 T1 T2 T5 T6 T1 T2 R3 R4 T7 T8 Đường bit Đường bit bit bit Hình: Sơ đồ cấu tạo RAM tĩnh. Xét SRAM dùng Transistor BJT với hai đường địa chỉ hàng và cột ta thấy: Khi một trong 2 đường địa chỉ hàng hoặc cột ở mức thấp các tế bào không được chọn vì cực E có điện thế thấp hai Transistor đều dẫn, mạch không hoạt động như một FF. Khi cả 2 đường địa chỉ hàng và cột lên cao, mạch hoạt động như một FF, hai trạng thái 1 và 0 của tế bào nhớ được đặt trưng bởi 2 trạng thái khác nhau của 2 đường bit và bit . Khi T1 dẫn thì T2 ngưng, đường bit có dòng điện chạy qua, tạo điện thế cao ở R3 trong khi đó đường bit không có dòng điện chạy qua nên ở R4 có điện thế thấp, nếu ta qui ước trạng thái này tương ứng với bit 1 thì trạng thái ngược lại là trạng thái T1 ngưng T2 dẫn hiệu điện thế ở 2 điện trở R3 và R4 ngược lại sẽ là bit 0. R3 và R4 có tác dụng biến đổi dòng điện qua điện thế. Đối với tế bào nhớ dùng MOS, hai đường từ nối T5, T6 và T7, T8 nên khi một trong hai đường từ ở mức thấp T1 và T2 bị cô lập khỏi mạch, tế bào không được chọn. Khi cả 2 lên cao, mạch hoạt động tương tụ như trên. Trong mạch này, R1 và R2 thay bởi T3 và T4 và không cần R3 và R4 như mạch dùng BJT. Dưới đây là mạch điều khiển chọn chip và thực hiện tác vụ đọc/viết vào tế bào nhớ. CS R /W bit 1 3 bit 2 + – Data Hình: Mạch điều khiển chọn chip. OPAMP giữ vai trò so sánh điện thế hai đường bit và bit cho ở ngã ra mức cao hoặc thấp tuỳ kết quả so sánh này (tương ứng với 2 trạng thái của tế bào nhớ) và dữ liệu đọc ra khi cổng đệm thứ 2 mở ( R /W lên cao). Trang 104 Chủ biên Võ Thanh Ân
- Tổ Tin Học Khi cổng đệm thứ nhất mở, ( R /W xuống thấp) dữ liệu được ghi vào tế bào nhớ qua cổng đệm 1, cổng 3 tạo ra 2 tín hiệu ngược pha từ dữ liệu vào. Nếu 2 tín hiệu này cùng trạng thái với 2 đường bit và bit của mạch trước đó, mạch sẽ không đổi trạng thái, nghĩa là tế bào nhớ đang lưu bit giống như bit muốn ghi vào thì mạch không thay đổi. Nếu dữ liệu cần ghi khác với dữ liệu đang lưu trữ thì FF sẽ thay đổi trạng thái cho phù hợp với 2 tín hiệu ngược pha được tạo ra từ dữ liệu. Bit mới đã được ghi vào. Chu k• ••c c•a SRAM Giản đồ thời gian của một chu kỳ đọc SRAM tương tự như giản đồ thời gian của một chu kỳ đọc ROM, thêm điều kiện tín hiệu R /W lên cao. Chu k• vi•t c•a SRAM – tWC - tAS (Address setup time): Thời gian thiết lập địa chỉ. Đây là thời gian để giá trị địa chỉ ổn định trên BUS địa chỉ cho tới lúc tín hiệu CS tác động. - tW (Write time): Thời gian từ lúc CS tác động đến lúc dữ liệu có giá trị trên BUS dữ liệu. - tDS và tDH: Khoảng thời gian dữ liệu còn tồn tại trên BUS dữ liệu kể từ khi tín hiệu CS hết hiệu lực, bao gồm thời gian trước (tDS) và thời gian sau (tDH). - tAH (Address hold time): Thời gian giữ địa chỉ là thời gian từ lúc tín hiệu CS không còn tác động đến lúc xuất hiện địa chỉ mới. tWC 1 Địa chỉ Địa chỉ có giá trị 0 tAS tAH tW R /W 1 CS 1 tDH t Hi–Z DS Hi–Z Data in Dữ liệu có giá trị t0 t1 t2 t3 t4 Hình: Giản đồ thời gian cho một chu kỳ viết của RAM. c. RAM động (Dynamic RAM, DRAM) Dưới đây là cấu tạo của một tế bào DRAM. Data in + S4 S1 S2 S3 – Data out C VREF Hình: Tế bào nhớ của DRAM. Hình trên là một cách biểu diễn tế bào nhớ của DRAM, trong đó đơn giản một số chi tiết được dùng để mô tả các tác vụ viết và đọc tế bào nhớ này. Trang 105 Chủ biên Võ Thanh Ân
- Tổ Tin Học Các khóa từ S1 đến S4 là các transistor MOS được điều khiển bởi các tín hiệu ra từ mạch giải mã địa chỉ và tín hiệu R /W . Để ghi dữ liệu vào tế bào, các khóa S1, S2 đóng trong khi S3, S4 mở bit 1 thực hiện việc nạp cho tụ C và bit 0 làm cho tụ C phóng điện. Sau đó các khóa sẽ mở để cô lập C với phần mạch còn lại. Một cách lý tưởng thì C sẽ duy trì trạng thái của nó vĩnh viễn nhưng thực tế luôn luôn có sự rĩ điện qua các khóa ngay cả khi chúng mở do đó C bị mất dần điện tích. Để đọc dữ liệu các khóa S2, S3, S4 đóng và S1 mở, tụ C được nối với một mạch so sánh với một điện thế chuẩn để xác định trạng thái logic của nó. Điện thế ra mạch so sánh chính là dữ liệu được đọc ra. Do S2 và S4 đóng, điện thế ra được nối ngược lại tụ C để làm tươi nó. Nói cách khác, bit dữ liệu trong tế bào nhớ được làm tươi mỗi khi nó được đọc. Sử dụng DRAM, được một thuận lợi là dung lượng nhớ khá lớn nhưng phải có một số mạch phụ trợ như: - Mạch đa hợp địa chỉ, vì DRAM luôn sử dụng địa chỉ hàng và cột. - Mạch làm tươi để phục hồi dữ liệu có thể bị mất sau một khoảng thời gian ngắn nào đó. i. •a h•p ••a ch• Như đã nói trên, do dung lượng DRAM rất lớn nên phải dùng phương pháp đa hợp để chọn một vị trí nhớ trong DRAM. Mỗi vị trí nhớ sẽ được chọn bởi 2 địa chỉ hàng và cột lần lượt xuất hiện ở ngã vào địa chỉ. Ví dụ với DRAM có dung lượng 16K×1, thay vì phải dùng 14 đường địa chỉ, ta chỉ cần dùng 7 đường và mạch đa hợp 14→7 (7 đa hợp 2→1) để chọn 7 trong 14 đường địa chỉ ra từ CPU. Bộ nhớ có cấu trúc là một ma trận 128×128 tế bào nhớ, sắp xếp thành 128 hàng và 128 cột, có một ngã vào và một ngã ra dữ liệu, một ngã vào R /W . Hai mạch chốt địa chỉ (hàng và cột) là các thanh ghi 7 bit có ngã vào nối với ngã ra mạch đa hợp và ngã ra nối với các mạch giải mã hàng và cột. Các tín hiệu RAS và CAS dùng làm xung đồng hồ cho mạch chốt và tín hiệu Enable cho mạch giải mã. Như vậy, 14 bit địa chỉ từ CPU sẽ lần lượt được chốt vào các thanh ghi hàng và cột bởi các tín hiệu RAS và CAS rồi được giải mã để chọn tế bào nhớ. Vận hành của hệ thống sẽ được thấy rỏ hơn khi xét các giản đồ thời gian của DRAM. Trang 106 Chủ biên Võ Thanh Ân
- Tổ Tin Học A0 Thanh ghi 7 bit CAS A7 A13 RAS EN Giải mã cột MUX EN CPU Thanh ghi 7 bit A0 14→7 Gi ả Ma trận i mã hàng 128×128 tế bào nhớ A13 A6 Hình: Đa hợp địa chỉ. R /W Data Data in out ii. Gi•n •• th•i gian c•a DRAM Giản đồ thời gian đọc và viết tiêu biểu của DRAM chỉ khác nhau về thời lượng nhưng có chung một dạng, nên ta chỉ vẽ một giản đồ. MUX RAS CAS Địa chỉ Hàng Cột Hi–Z Hi–Z Data out Data valid t0 t1 t2 t3 t4 t5 Hình: Giản đồ thời gian của DRAM. Giản đồ cho thấy tác động của tín hiệu MUX và các tín hiệu RAS , CAS . Khi MUX ở mức thấp mạch đa hợp cho ra địa chỉ hàng (A6 A0) và được chốt vào thanh ghi khi tín hiệu RAS xuống thấp. Khi MUX ở mức cao mạch đa hợp cho ra địa chỉ cột (A13 A7) và được chốt vào thanh ghi khi tín hiệu CAS xuống thấp. Khi cả hai địa chỉ hàng và cột đều được giản mã, dữ liệu tại địa chỉ đó xuất hiện trên BUS dữ liệu để đọc ra hoặc ghi vào. iii. Làm t••i DRAM DRAM phải được làm tươi với chu kỳ khoảng 2ms để duy trì dữ liệu. Trong phần trước ta đã thấy tế bào nhớ của DRAM được làm tươi ngay khi tác vụ đọc được thực hiện. Lấy ví dụ với DRAM với dung lượng 16K×1 (16×1024×1=16 3 84 tế bào nhớ) nói trên, chu kỳ làm tươi là 2ms cho 16 3 84 tế bào nhớ nên thời gian đọc mỗi tế bào phải là 2ms 16384 ≈ 122ns . Đây là khoảng thời gian rất nhỏ không đủ để đọc tế bào nhớ trong điều kiện vận hành bình thường. Chính vì lý Trang 107 Chủ biên Võ Thanh Ân
- Tổ Tin Học do nầy các hãng chế tạo đã thiết kế các chip DRAM sao cho mỗi khi tác vụ đọc được thực hiện đối với một tế bào nhớ, tất cả các tế bào nhớ trên cùng một hàng sẽ được làm tươi. Điều này làm giảm một lượng rất lớn tác vụ đọc phải thực hiện để làm tươi tế bào nhớ. Trở lại ví dụ trên, tác vụ đọc để làm tươi phải thực hiện cho 128 hàng trong 2ms. Tuy nhiên, để vừa vận hành trong điều kiện bình thường vừa phải thực hiện chức năng làm tươi người ta phải dùng thêm mạch phụ trợ, gọi là điều khiển DRAM (DRAM controller). IC 3242 của hãng Intel thiết kế để sử dụng cho DRAM 16K (hình dưới). Ngã ra IC 3242 là địa chỉ 7bit đã được đa hợp và nối vào ngã vào địa chỉ của DRAM. Một mạch đếm 7bit kích bởi xung đồng hồ riêng để cấp địa chỉ hàng cho DRAM trong suốt thời gian làm tươi. IC 3242 cũng lấy địa chỉ 14bit từ CPU đa hợp nó với địa chỉ hàng và cột đã được dùng khi CPU thực hiện tác vụ đọc hay viết. Mức logic áp dụng cho các ngã REFRESH ENABLE và ROW ENABLE xác định 7bit nào của địa chỉ xuất hiện ở ngã ra controller cho bởi bảng dưới đây. REFRESH ROW CONTROLLER OUTPUT ENABLE ENABLE High × Refresh address từ mạch đếm Low High Địa chỉ hàng (A6 A0 từ CPU) Low Low Địa chỉ cột (A13 A7 từ CPU) A0 A0 / A7 Từ CPU Địa chỉ đã đa hợp A A / A Refresh 13 6 13 DATA enable DATA IN IC 3242 IC 4116 OUT Row DRAM RAS DRAM enable Controller 16×1K CAS R /W Hình: Sơ đồ mắc IC 3242 vào DRAM. VI. MỞ RỘNG BỘ NHỚ 1. Giới thiệu Các IC nhớ thưòng được chế tạo với dung lượng nhớ có gới hạn, trong nhiều trường hợp không thể thỏa mãn yêu cầu của việc thiết kế. Do đó mở rộng bộ nhớ là một việc làm cần thiết. Có 3 trường hợp phải mở rộng bộ nhớ, ta sẽ xét dưới đây. 2. Mở rộng độ dài từ Đây là trường hợp số vị trí nhớ đủ cho yêu cầu nhưng dữ liệu tại mỗi vị trí nhớ không đủ. Có thể hiểu được cách mở rộng độ dài từ qua một ví dụ. Ví dụ: Mở rộng bộ nhớ từ 1K×1 lên 1K×8. Chúng ta cần dùng 8 IC 1K×1, các IC nhớ này sẽ được nối chung BUS địa chỉ và các tín hiệu điều khiển và mỗi IC quản lý một đường bit. 8 IC sẽ vận hành cùng lúc để cho một từ nhớ 8bit. Trang 108 Chủ biên Võ Thanh Ân
- Tổ Tin Học A0 A9 A0 A9 A0 A9 A0 A9 A0 A9 A0 A9 A0 A9 A0 A9 A0 A9 CS CS CS CS CS CS CS CS CS R / W R /W R /W R /W R /W R /W R /W R /W R /W D D D D D D D D D0 D1 D2 D3 D4 D5 D6 D7 Hình: Mở rộng độ dài từ 1K×1→1K×8. 3. Mở rộng vị trí nhớ Đây là trường hợp số bit cho mỗi vị trí nhớ đủ theo yêu cầu nhưng số vị trí nhớ không đủ. Ví dụ: Có IC nhớ dung lượng 1K×8. Mở rộng lên 4K×8, vậy cần 4 IC này. Để chọn 1 trong 4 IC nhớ, ta cần một mạch giải mã 2 đường sang 4 đường. Ngã ra của mạch giải mã lần lượt nối vào các ngã CS của IC nhớ, như vậy địa chỉ của IC nhớ sẽ khác nhau. Trong ví dụ này, IC1 chiếm địa chỉ từ 000H đến 3FFH, IC 2 chiếm địa chỉ từ 400H đến 7FFH, IC 3 chiếm địa chỉ từ 800H đến BFFH, IC 4 chiếm địa chỉ từ C00H đến FFFH. A0 A9 A 10 Y3 A0 A9 A0 A9 A0 A9 A0 A9 Y A11 2 Gi•i mã CS CS CS CS 2→4 Y1 R /W R /W R /W R /W Y0 D7 D0 D7 D0 D7 D0 D7 D0 R / W D0 D7 Hình: Mở rộng vị trí nhớ 1K×8→4K×8. 4. Mở rộng dung lượng nhớ Đây là trường hợp cả vị trí nhớ và độ dài của IC đều không đủ để thiết kế. Để mở rộng dung lượng nhớ ta phải kết hợp cả 2 cách trên. Ví dụ:Mở rộng bộ nhớ từ 1K×4 lên 2K×8. Cần 2 cặp IC mắc song song, mỗi IC có chung địa chỉ và được chọn bởi một mạch giải mã 1 đường sang 2 đường. Trang 109 Chủ biên Võ Thanh Ân
- Tổ Tin Học Địa chỉ của các IC như sau: IC 1(&2): 000H đến 3FFH, IC (3&4): 400H đến 7FFH. A0 A9 A10 A0 A9 A0 A9 A0 A9 A0 A9 CS CS CS CS R /W R /W R /W R /W D D D D D D D D 7 0 7 0 7 0 7 0 R / W D0 D3 D4 D7 Hình: Mở rộng dung lượng nhớ 1K×4→2K×8. Trang 110 Chủ biên Võ Thanh Ân