Các loại bộ nhớ bán dẫn 2
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 nonvolatile, cũng có tốc độ truy xuất ...
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 nonvolatile, cũng có tốc độ truy xuất nhanh, cho phép xóa và nạp lại ngay trong mạch trên từng byte nhưng có mật độ tích hợp thấp và giá thành cao hơn EPROM.
Bộ nhớ FLASH ROM tận dụng được các ưu điểm của hai loại ROM nói trên, nghĩa là có tốc độ truy xuất nhanh, có mật độ tích hợp cao nhưng giá thành thấp.
Hầu hết các FLASH ROM sử dụng cách xóa đồng thời cả khối dữ liệu nhưng rất nhanh (hàng trăm ms so với 20 min của U.V. EPROM). Những FLASH ROM thế hệ mới cho phép xóa từng sector (512 byte) thậm chí từng vị trí nhớ mà không cần lấy IC ra khỏi mạch. FLASH ROM có thời gian ghi khoảng 10μs/byte so với 100 μs đối với EPROM và 5 ms đối với EEPROM
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 trình.
(H 7.11) là giản đồ thời gian tiêu biểu cho một chu kỳ đọc của ROM.
Các giá trị địa chỉ, các tín hiệu và CS___ size 12{ { ital "CS"} cSup { size 8{"___"} } } {} đượ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ể kể một số thời gian sau:
(H 7.11)
- tACC: Address Access time: Thời gian truy xuất địa chỉ: 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 từ 30 ns đến 90 ns, còn loại MOS thì từ 200 ns đến 900 ns.
- 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___ size 12{ { ital "CS"} cSup { size 8{"___"} } } {} đượ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 20 ns , MOS 100 ns
- tH (Hold time): Thời gian dữ liệu còn tồn tại trên bus dữ liệu kê từ lúc tín hiệu CS___ size 12{ { ital "CS"} cSup { size 8{"___"} } } {} hết hiệu lực
(H 7.12) là giản đồ thời gian của một chu kỳ nạp dữ liệu cho EPROM. Một chu kỳ nạp liệu bao gồm thời gian nạp (Programmed) và thời gian kiểm tra kết quả (Verify)
(H 7.12)
Là tên gọi chung 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 đó. Việc sử dụng mạch này có thể lặp lại thường xuyên và sự thay đổi một tham số của hàm có thể phải được 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ế từ các cổng 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ể chỉ 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) và PLA (Programmable Logic Array).
Trước nhất, chúng ta xét 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 các hàm thường xuất hiện ở dạng nguyên và đảo của nó nên chúng ta dùng ký hiêu đệm và đảo chung trong một cổng có 2 ngã ra.
Một nối chết, còn gọi là nối cứng (không thay đổi được) được vẽ bởi một chấm đậm (.) và một nối sống, còn gọi là nối mềm (dùng lập trình) bởi một dấu (x). Nối sống thực chất là một cầu chì, khi lập trình thì được phá bỏ.
Một cổng nhiều ngã vào thay thế bởi một ngã vào duy nhất với nhiều mối nối (H 7.13).
(H 7.13)
Chúng ta chỉ lấy thí dụ với mạch tương đối đơn giản để thấy được cấu tạo của các PLD, đó là các PLD chỉ thực hiện được 4 hàm mỗi hàm gồm 4 biến, như vậy mạch gồm 4 ngã vào và 4 ngã ra. Trên thực tế số hàm và biến của một PLD rất lớn.
PROM
(H 7.14 ) là cấu tạo PROM có 4 ngã vào và 4 ngã ra.
Có tất cả 16 cổng AND có 4 ngã vào đượ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 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 với PROM việc lập trình thực hiện ở các đường tổng.
Thí dụ dùng PROM này để tạo các hàm sau:
Ta phải chuẩn hóa các hàm chưa chuẩn
Mạch cho ở (H 7.14b)
(a) (b)
(H 7.14)
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 có 4 ngã vào 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
(H 7.15b) là IC PAL đã được lập trình để thực hiện các hàm trong thí dụ trên:
- (b)
(H 7.15)
PLA
PLA có cấu tạo tương tự PROM và PAL, nhưng các ngã vào của cổng AND và cổng OR đều được nối sống (H 7.16). 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 IC kể trên.
(H 7.16)
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 bit 1 và 0. Do RAM động có mật độ tích hợp 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 được 22n vị trí 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.