SRAM thường được sử dụng trong các ứng dụng yêu cầu tốc độ cao và độ tin cậy, chẳng hạn như bộ nhớ cache của CPU, bộ đệm trong các thiết bị vi xử lý và các hệ thống nhúng.. Synchronous D
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA DIEN TU VIEN THONG
BAO CAO MON HOC
BO NHO MAY TINH
Đề tài: Tìm hiểu chức năng và mô phỏng cách hoạt động của
SRAM và SDRAM controller
Giảng viên: Cao Trần Bảo Thương
Thành viên
Hoàng Minh Thanh : 20200341
Nguyễn Hữu Phước : 20200314
Nguyễn Hữu Luật : 20200256
Tp HCM, tháng 5 năm 2024
Trang 2LỜI MỞ ĐẦU
Trong kỷ nguyên công nghệ số hiện nay, bộ nhớ là một trong những thành phan quan trọng nhất của hệ thống máy tính và các thiết bị điện tử Bộ nhớ không chỉ ảnh hưởng trực tiếp đến hiệu suất của hệ thống mà còn quyết định khả năng lưu trữ và truy xuất dữ liệu một cách nhanh chóng và hiệu quả Hai loại bộ nhớ thường được sử dung phé bién nhat hién nay la SRAM (Static Random Access Memory) va SDRAM (Synchronous Dynamic Random Access Memory)
Báo cáo này sẽ đi sâu vào việc tìm hiểu chức năng và mô phỏng cách hoạt động
của các bộ điều khiến (controller) của SRAM và SDRAM Bộ điều khiên bộ nhớ đóng
vai trò quan trọng trong việc quản lý và điều phối các hoạt động truy xuất đữ liệu từ
bộ nhớ đến vi xử lý và ngược lại Hiểu rõ cách hoạt động của các bộ điều khiển này không chỉ giúp tối ưu hóa hiệu suất của hệ thống mà còn mở ra khả năng phát triển các ứng dụng và thiết bị điện tử tiên tiến hơn
Báo cáo không chỉ mang lại cái nhìn tổng quan về hai loại bộ nhớ quan trọng này mà còn cung cấp các thông tin chỉ tiết về cách chúng hoạt động và tương tác với các thành phần khác của hệ thông Qua đó, hy vọng sẽ giúp độc giả hiểu rõ hơn về vai trò của bộ điều khiến bộ nhớ và những ứng dụng tiềm năng của chúng trong tương lai
Trang 3Tổng quan Tính chất
Trang 4I GIỚI THIỆU
Trong lĩnh vực công nghệ thông tin và điện tử, bộ nhớ là một thành phần thiết yếu quyết định hiệu suất và khả năng của hệ thống máy tính Hai loại bộ nhớ quan trọng và phổ biến nhất hiện nay là SRAM (Static Random Access Memory) va SDRAM (Synchronous Dynamic Random Access Memory) Mdi loai b6 nhớ đều có những
đặc điểm, ưu điểm và nhược điểm riêng, phục vụ cho các mục đích
khác nhau trong các ứng dụng máy tính và điện tử
1.1 Static Random Access Memory (SRAM)
Static Random Access Memory (SRAM) là một loại bộ nhớ bán dẫn lưu trữ thông tin theo cách tĩnh, nghĩa là không cần làm mới định kỳ để duy trì dữ liệu như trong DRAM SRAM thường được sử dụng trong các ứng dụng yêu cầu tốc độ cao và độ tin cậy, chẳng hạn như bộ nhớ cache của CPU, bộ đệm trong các thiết bị vi xử lý và các hệ thống nhúng
Đặc điểm của SRAM:
e Cau tric té bào nhớ: Mỗi bit trong SRAM được lưu trữ bằng
một flip-flop gồm 4-6 transistor Điều này làm cho SRAM tiêu tốn nhiều diện tích trên chip hơn so với DRAM, nhưng lại không cần làm mới dữ liệu
«e Tốc độ: SRAM có tốc độ truy cập rất nhanh, thường là vài
nanosecond (ns), do không cần làm mới và có thiết kế mạch đơn giản hơn
se Tiêu thụ năng lượng: Mặc dù tiêu tốn năng lượng ít khi đọc/ghi dữ liệu, nhưng SRAM lại có mức tiêu thu nang lượng tính cao hơn do phải duy trì trạng thái của các transistor
¢ Dung lượng: Do yêu cầu về diện tích lớn hơn trên chip, SRAM
có dung lượng thấp hơn so với DRAM, thường chỉ vài MB đến vài chục MB
Trang 5Ưu điểm của SRAM:
¢ Tốc độ cao: Thích hợp cho các ứng dụng yêu cầu tốc độ truy cập nhanh, như bộ nhớ cache của CPU
¢ Độ tin cay cao: Không cần làm mới định kỳ, giảm nguy cơ mất dữ liệu do các sự cố làm mới
Nhược điểm của SRAM:
¢ Chi phi cao: Do yéu cau vé số lượng transistor lớn, chi phí sản xuat cao hon DRAM
e Dung lượng thấp: Không phù hợp cho các ứng dụng cần bộ nhớ dung lượng lớn
1.2 Synchronous Dynamic Random Access Memory
(SDRAM)
SDRAM (Synchronous Dynamic Random Access Memory) là một loại bộ nhớ động (DRAM) được đồng bộ hóa với bus hệ thống, cho phép đồng bộ hóa việc đọc/ghi dữ liệu với xung nhịp của bộ xử
lý, giúp tăng hiệu suất và độ tin cậy của hệ thống Dữ liệu được lưu trữ trong các tụ điện Các tụ điện lưu trữ dữ liệu trong DRAM dần dần
xả năng lượng, không có năng lượng có nghĩa là dữ liệu đã bị mất
Do đó, cần phải làm mới điện năng định kỳ để hoạt động
Đặc điểm của SDRAM:
e« Cấu trúc tế bào nhớ: Mỗi bit trong SDRAM được lưu trữ bằng
một capacitor và một transistor Dữ liệu cần được làm mới định
kỳ để duy trì thông tin
Trang 61.3
Đồng bộ hóa: SDRAM hoạt động đồng bộ với xung nhịp của
hệ thống, giúp tăng tốc độ truyền dữ liệu và cải thiện hiệu suất
tổng thể
Tốc độ: Tốc độ truy cập của SDRAM nhanh hơn DRAM truyền
thống nhưng chậm hơn so với SRAM, thường từ vài chục đến vai tram nanosecond
Dung lượng: Do yêu cầu về diện tích nhỏ hơn trên chip, SDRAM có thể đạt dung lượng lớn, từ vài trăm MB đến vài GB
Ưu điểm của SDRAM:
Dung lượng cao: Phù hợp cho các ứng dụng cần bộ nhớ dung lượng lớn như máy tính cá nhân, máy chủ và các thiết bị di động
Chi phí thấp: Chi phí sản xuất thấp hơn so với SRAM do yêu
cầu về diện tích và số lượng transistor ít hơn
Nhược điểm của SDRAM:
Tiêu thụ năng lượng cao: Cần làm mới định kỳ để duy trì dữ liệu, tiêu tốn năng lượng khi hệ thống hoạt động
Tốc độ chậm hơn: So với SRAM, tốc độ truy cập của SDRAM
chậm hơn, không thích hợp cho các ứng dụng yêu cầu tốc độ
CỰC cao
So sánh SRAM và SDRAM
Trang 8II TÌM HIỂU CHỨC NĂNG VÀ MÔ PHONG CACH HOAT DONG
CỦA SRAM
Static Random Access Memory (SRAM) là loại bộ nhớ bán dẫn tĩnh, được sử dụng rộng rãi trong các hệ thống máy tính và thiết bị điện tử vì tốc độ truy cập nhanh và độ tin cậy cao SRAM lưu trữ dữ liệu dưới dạng trạng thái tĩnh của các mạch flip-flop, không cần làm mới định kỳ như DRAM Đây là lý do tại sao SRAM thường được dùng trong các ứng dụng yêu cầu tốc độ cao như bộ nhớ cache của CPU
- SRAM cung cấp một mô hình truy cập dữ liệu đơn giản và không đòi hỏi mạch làm mới
- - Hiệu suất và độ tin cậy cao và tiêu thụ điện năng thấp
- Mức tiêu thụ năng lượng của SRAM thấp khi truy cập nhưng cao hơn ở trạng thái chờ do phải duy trì trạng thái của các flip- flop
- Do yêu cầu về số lượng transistor lớn, dung lượng của SRAM thường thấp hơn so với DRAM
Trang 9- ghi giá trị của ô nhớ
M1 kết hợp với M2 tạo thành một cổng đảo inverter
M3 kết hợp với M4 tạo thành một cổng đảo inverter
Ô nhớ SRAM có 2 trạng thái là 0 và 1
Kích thước của một bộ nhớ SRAM với m đường địa chỉ và n đường dữ liệu là 2" xn bit
SRAM có 3 chế độ
Standby : Mạch đang không hoạt động
Reading: Dữ liệu đã được yêu cầu
Writing : Cập nhật nội dung
Trang 102.4 Ứng dụng
Bộ nhớ Cache
Một trong những ứng dụng nổi bật của SRAM là sử dụng làm bộ nhớ cache trong các hệ thống máy tính và thiết bị điện tử Bộ nhớ cache SRAM được đặt gần CPU hoặc GPU để tăng tốc độ truy cập dữ liệu SRAM được chọn vì tốc độ truy cập và khả năng cung cấp dữ liệu cho vi xử lý nhanh chóng, giúp cải thiện hiệu suất toàn hệ thống
Vi xử lý
SRAM được sử dụng trong vi xử lý làm bộ nhớ trung gian để lưu trữ dữ liệu tạm thời, tạo kết quả trung gian của các phép tính Tính năng này giúp vi xử lý truy xuất dữ liệu nhanh chóng và hiệu quả hơn SRAM cũng có tính ổn định và không cần làm mới Vì vậy, SRAM
đã trở thành lựa chọn tối ưu cho các ứng dụng yêu cầu hiệu suất và
độ tin cậy cao
Router và thiết bị mạng
Trong các thiết bị mạng như router và switch, SRAM được sử
dụng để lưu trữ các bảng định tuyến và thông tin liên quan đến
mạng Tốc độ truy xuất dữ liệu và khả năng cập nhật nhanh chóng của SRAM đặc biệt phù hợp với các ứng dụng yêu cầu xử lý dữ liệu mạng liên tục
Ứng dụng nhúng
Hệ thống nhúng có nguồn tài nguyên cực kỳ hạn chế Vậy nên, SRAM được sử dụng để lưu trữ dữ liệu và mã lệnh quan trọng Một số yếu tố được lưu trữ trong SRAM bao gồm: điều khiển thiết bị y tế, ô
tô thông minh, hệ thống điều khiển công nghiệp và nhiều ứng dụng
Trang 11khác SRAM giúp đảm bảo tính ổn định của hệ thống và hiệu suất xử
lý dữ liệu trong thời gian thực
Ứng dụng máy tính
SRAM cũng được sử dụng trong máy tính cá nhân, máy trạm, các thiết bị định tuyến và thiết bị ngoại vi: tệp đăng ký CPU, bộ nhớ đệm CPU nội bộ, bộ nhớ đệm GPU nội bộ và bộ nhớ đệm SRAM chế
độ nổ bên ngoài, bộ đệm ổ cứng, bộ đệm định tuyến, v.v Màn hình
LCD và máy in cũng thường sử dụng SRAM để giữ hình ảnh được hiển thị (hoặc được in) Màn hình LCD có thể có SRAM trong các bộ điều khiển LCD của họ SRAM đã được sử dụng cho bộ nhớ chính của nhiều máy tính cá nhân đầu tiên như ZX80, TRS-80 Model 100 và
VIC-20
Một số thẻ nhớ sớm vào cuối những năm 1980 đến đầu những
năm 1990 đã sử dụng SRAM như một phương tiện lưu trữ, yêu cầu
pin lithium để giữ nội dung của SRAM
2.5 Mô phỏng cách hoạt động SRAM
Trang 12
parameter DAT = 8;
parameter DPTH = 8;
//ports
input [DAT-1:0fI dataln;
output reg [DAT-1:0fl dataOut;
input [ADR-1:0fl Addr;
if (WE == 1'b1 && RD == 1'bO) begin
SRAM [Addrfl = dataln;
end
else if (RD == 1'bl && WE == 1'bO) begin
dataOut = SRAM [Addrfl;
Trang 13Code sử dụng module:
timescale 1ns / 1ps module sRAM:_tb;
Trang 16III TÌM HIỂU CHỨC NĂNG VÀ MÔ PHỎNG CÁCH HOẠT ĐỘNG
nhớ được giảm thiểu, giúp tăng cường hiệu suất tổng thể của hệ
thống
SDRAM được sử dụng rộng rãi trong các hệ thống máy tính để bàn, máy tính xách tay, và nhiều thiết bị điện tử khác Các phiên bản nâng cao hơn như DDR SDRAM (Double Data Rate SDRAM) đã được
phát triển để cung cấp băng thông lớn hơn và hiệu suất cao hơn,
tiếp tục đóng vai trò quan trọng trong việc phát triển công nghệ và nâng cao hiệu suất của các hệ thống máy tính hiện đại
- Do hoạt động đồng bộ với xung nhịp hệ thống và có khả nang
xử lý nhiều lệnh cùng một lúc, SDRAM cung cấp băng thông dữ liệu cao
15
Trang 173.3 Cấu tạo
SDRAM được cấu tạo từ nhiều hàng (row) và cột (column) của các ô nhớ (memory cell) Mỗi ô nhớ lưu trữ một bit dữ liệu và được điều khiển bởi các tín hiệu địa chỉ hàng và cột Các thành phần chính của SDRAM bao gồm:
Memory Bank: SDRAM được chia thành nhiều banks, cho phép truy cập đồng thời vào nhiều phần khác nhau của bộ nhớ
Row and Column Controller: Điều khiển việc truy cập đến các hàng và cột trong Memory Bank
Data Buffer: Lưu trữ dữ liệu tạm thời trước khi truyền đến CPU hoặc từ CPU đến bộ nhớ
Refresh Circuit: Đảm bảo dữ liệu trong các ô nhớ được làm mới
định kỳ
Máy tính cá nhân và máy chủ
Máy tính để bàn (Desktop): SDRAM là bộ nhớ chính được sử
dụng trong hầu hết các máy tính để bàn Nó giúp máy tính hoạt động mượt mà, cho phép xử lý nhiều tác vụ đồng thời và chạy các ứng dụng nặng như trò chơi, phần mềm đồ họa và ứng dụng văn phòng
Máy tính xách tay (Laptop): Trong các máy tính xách tay, SDRAM cung cấp bộ nhớ tạm thời để lưu trữ dữ liệu và chương trình đang chạy, giúp tối ưu hóa hiệu suất và tiết kiệm năng lượng
Máy chủ (Servers): Máy chủ cần một lượng lớn bộ nhớ để xử
lý các tác vụ phức tạp và khối lượng công việc lớn SDRAM được sử
1ó
Trang 18dụng để đảm bảo tính ổn định và hiệu suất cao cho các hệ thống máy chủ
Thiết bị di động
Một số dòng điện thoại thông minh sử dụng SDRAM để lưu trữ
dữ liệu tạm thời và cải thiện tốc độ xử lý SDRAM giúp các ứng dụng trên điện thoại chạy nhanh hơn và phản hồi tốt hơn Tương tự như điện thoại thông minh, máy tính bảng cũng sử dụng SDRAM để tăng hiệu suất xử lý và đa nhiệm
Thiết bị mạng
SDRAM được sử dụng trong các thiết bị mạng để lưu trữ và xử
lý dữ liệu mạng nhanh chóng, cải thiện tốc độ truyền tải và hiệu suất mạng, giúp tăng tốc độ kết nối internet và xử lý các gói dữ liệu hiệu
quả
Hệ thống nhúng
Nhiều thiết bị loT sử dụng SDRAM để xử lý dữ liệu cảm biến và thực hiện các tác vụ tính toán Trong các hệ thống điều khiển tự động và robot, SDRAM giúp xử lý dữ liệu từ các cảm biến và điều khiển hoạt động của các thiết bị một cách nhanh chóng
Ứng dụng khoa học và kỹ thuật
SDRAM được sử dụng trong các siêu máy tính để xử lý các tác
vụ phức tạp và tính toán hiệu suất cao, như dự báo thời tiết, mô phỏng vật lý, và phân tích dữ liệu lớn
Trong các trung tâm dữ liệu, SDRAM giúp tăng cường hiệu suất
xử lý và khả năng đáp ứng của các máy chủ, hỗ trợ các dịch vụ trực
tuyến và cơ sở hạ tầng đám mây
17
Trang 19Trong các thiết bị y tế như máy MRI, máy CT và các thiết bị chẩn đoán hình ảnh khác, SDRAM giúp xử lý và lưu trữ dữ liệu nhanh chóng, cải thiện chất lượng hình ảnh và độ chính xác của chẩn đoán
3.5 Mô phỏng cách hoạt động SDRAM
Module SDRAM
module sdram(
input [7:0fI dataln,
output reg [7:0fl dataOut,
Trang 21// Write data to SDRAM using a loop
for (i = 0; i < 8;i =i + 1) begin
dataln = 8'hAO + i; // Example data values
Addr = i; // Example address values
Trang 22// Read data from SDRAM using a loop
// Print the read data
$display("Read data from address %h: %h", Addr, dataOut); end