Các kiểu bộ nhớ

Mô hình Von Neumman
Hầu hết máy tính được xây dựng sử dụng mô hình Von Neumann, với trung tâm là bộ nhớ. Chương trình thực thi quá trình được lưu trong bộ nhớ. Chúng ta biết bộ nhớ là cấu trúc logic như 1 dãy các điểm, với địa chỉ từ 0 đến tối đa kích thước bộ nhớ mà vi xử lý có thể đánh địa chỉ. Trong phần này chúng ta sẽ xem xét các loại bộ nhớ khác nhau và cách mà mỗi cái là một phần của hệ thống phân cấp bộ nhớ. Sau đó chúng ta sẽ xem xét một bộ nhớ đệm nhanh (1 bộ nhớ đặc biệt tốc độ cao) và phương thức tận dụng bộ nhớ tối đa của các bộ nhớ ảo thực thi thông qua phân trang.
Tại sao lại có nhiều loại bộ nhớ khác nhau như vậy? Đó là bởi vì công nghệ liên tục phát triển để cố gắng bắt kịp với các cải tiến trong thiết kế CPU – tốc độ của bộ nhớ phải theo kịp CPU hoặc bộ nhớ trở thành nút cổ chai. Trong những năm gần đây, chúng ta đã nhìn thấy rất nhiều cải tiến trong CPU. Như vậy bộ nhớ cũng phải phát triển để theo kịp được tốc độ của CPU, trong đó bộ nhớ chính là bộ nhớ chậm nhất. Nhưng việc cải tiến bộ nhớ chính để theo kịp với CPU không phải là vấn đề thực sự quan trọng bởi vì lợi ích của bộ nhớ đệm nhanh (cache memory) và phân cấp bộ nhớ (THE MEMORY HIERARCHY). Bộ nhớ đệm nhanh là một loại bộ nhớ nhỏ, tốc độ cao (đồng nghĩa với chi phí cao). Đó là loại bộ nhớ được sử dụng thường xuyên để truy cập dữ liệu. Việc bổ sung chi phí bằng cách sử dụng các công nghệ tiên tiến, nhanh chóng cho bộ nhớ không phải lúc nào cũng hợp lý bởi vì bộ nhớ chậm hơn có thể thường xuyên ẩn bởi hệ thống bộ nhớ đệm nhanh hiệu suất cao. Tuy nhiên, trước khi chúng ta thảo luận về bộ nhớ đệm nhanh, chúng ta sẽ giải thích các công nghệ bộ nhớ khác nhau.
Mặc dù có nhiều công nghệ bộ nhớ tồn tại nhưng chỉ có duy nhất 2 kiểu bộ nhớ cơ bản là RAM (Random Access Memory)và ROM (Read Only Memory). RAM là loại bộ nhớ đọc ghi. RAM là bộ nhớ mà một máy tính cần có. RAM được sử dụng để lưu trữ chương trình và dữ liệu cần thiết để máy tính có thể thực hiện các chương trình, nhưng RAM là bộ nhớ không ổn định và bị mất các thông tin khi điện bị ngắt. Hiện nay, có hai loại chip chính được chế tạo để sử dụng các loại RAM: Ram tĩnh và Ram động (static và dynamic RAM).
DRAM được xây dựng từ các tụ điện tí hon. DRAM đòi hỏi cung cấp điện năng liên tục mỗi vài mili giây để duy trì dữ liệu. SRAM thì ngược lại, duy trì nội dung cho tới khi chừng nào vẫn còn có điện. SRAM bao gồm các mạch tương tự. SRAM nhanh hơn và đắt hơn DRAM. Tuy nhiên người thiết kế sử dụng DRAM bởi vì nó có thể lưu trữ nhiều bit trên 1 chip, tiêu tốn ít điện năng, và tỏa nhiệt ít hơn SRAM. Vì những lý do đó, cả hai công nghệ này được kết hợp sử dụng: DRAM cho bộ nhớ chính và SRAM cho bộ nhớ cache. Hoạt động cơ bản của tất cả bộ nhớ DRAM đều tương tự nhau, nhưng vẫn có nhiều đặc thù.
Các loại DRAM:
Multibank DRAM (MDRAM)
Fast-Page Mode (FPM) DRAM
Extended Data Out (EDO) DRAM
Burst EDO DRAM (BEDO DRAM)
Synchronous Dynamic Random Access Memory (SDRAM)
Synchronous-Link (SL) DRAM
Double Data Rate (DDR) SDRAM
Direct Rambus (DR) DRAM
Các loại SRAM:
SRAM đồng bộ
SRAM không đồng bộ
pipeline burst SRAM
Ngoài bộ nhớ RAM, các máy tính còn chứa 1 bộ nhớ nhỏ ROM lưu trữ những thông tin quan trọng cần thiết cho hoạt động hệ thống. ROM ổn đinh và không bị mất dữ liệu. Loại bộ nhớ này cũng được sử dụng trong hệ thống nhúng hoặc bất cứ hệ thống nào nơi mà các chương trình không cần thay đổi. Nhiều gia dụng, đồ chơi, ô tô sử dụng ROM để duy trì thông tin khi điện bị ngắt. ROM cũng được sử dụng rộng rãi trong máy tính và các thiết bị ngoại vi như máy in laser, trong đó lưư trữ các font trong ROM. 
Các loại ROM cơ bản:
Programmable ROM (PROM) – 1 biến thể của ROM có thể được lập trình bởi người sử dụng với các thiết bị phù hợp. Trong khi ROM được cài đặt bằng phần mềm thì PROM có thể cài đặt vào chương trình vào chip. Sau khi lập trình, dữ liệu và thông tin trong PROM không thể thay đổi.
EPROM erasable PROM, là PROM có thể xoá đi và lập trình lại (yêu cầu một công cụ đặc biệt là tia cực tím). Để lập trình lại EPROM, toàn bộ chip trước tiên phải bị xoá hoàn toàn.
EEPROM electrically erasable PROM loại bỏ đi nhiều nhược điểm của EPROM, không cần công cụ đặc biệt để xoá (nó được thực thi bằng cách áp dụng một trường điện) và bạn chỉ có thể xoá các phần của chip, một byte tại 1 thời điểm.
Flash memory là bộ nhớ có thêm các tính năng như ghi hoặc xoá cả 1 khối, xoá bỏ 1 byte tại 1 thời điểm giới hạn. Điều này khiến flash memory nhanh hơn EEPROM.