Tải bản đầy đủ (.docx) (10 trang)

Cấu trúc và tổ chức hệ thống bộ nhớ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (372.25 KB, 10 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN - TRUYỀN THÔNG

BÁO CÁO BÀI TẬP LỚN
BÀI TẬP THEO NHÓM

ĐỀ TÀI: Cấu trúc và tổ chức hệ thống bộ nhớ.
So sánh tổ chức hệ thống bộ nhớ trên máy tính cá nhân
và smartphone.
Giáo viên hướng dẫn
Sinh viên thực hiện
(Nhóm 8)
SHSV
Lớp

:
:
:
:

KSCLC-HTTT&TT-K58

Hà Nội tháng 05/2017

MỤC LỤC


1. Khái quát chung
2. Tổ chức hệ thống bộ nhớ
2.1. Bộ nhớ trong
2.1.1.


Bộ nhớ trung tâm
2.1.1.1.
ROM
2.1.1.2.
RAM
2.1.2.
Bộ nhớ Cache
2.2. Bộ nhớ ngoài
3. Phân cấp hệ thống bộ nhớ trên máy tính
4. So sánh tổ chức hệ thống bộ nhớ trên máy tính cá nhân và smartphone
4.1. So sánh về hệ thống phân cấp bộ nhớ
4.2. Cơ chế quản lý bộ nhớ ảo

Tài liệu tham khảo

3
3
3
3
3
5
5
6
7
8
8
9
10



Phần 1: Cấu trúc và tổ chức hệ thống bộ nhớ máy tính.
1. Khái quát chung về cấu trúc hệ thống bộ nhớ máy tính
Bộ nhớ máy tính có thể chia thành 2 loại chính:
 Bộ nhớ trong
 Bộ nhớ Cache: Bộ nhớ có thời gian thâm nhập nhanh
 Bộ nhớ chính (Bộ nhớ trung tâm): RAM, DRAM, ROM, PROM,…
 Bộ nhớ ngoài : băng từ, đĩa (đĩa cứng, đĩa mềm, CD,…)

2. Tổ chức hệ thống bộ nhớ máy tính
-

-

Mọi thứ trên bộ nhớ máy tính, được tạo thành từ một đơn vị cơ bản, được gọi là
các “bit” hay các chữ số nhị phân. Mỗi một đơn vị được lưu trên các cell (tế bào)
của bộ nhớ máy tính.
Các tập tin và các chương trình bao gồm hàng triệu bit, tất cả đều được xử lý tại
đơn vị xử lý trung tâm hay CPU, hoạt động như bộ não của máy tính.

Hình 1. Bộ vi xử lý trung tâm CPU

-

Thành phần đầu tiên mà CPU gọi đến khi khởi động chính là ROM. (Read Only
Memory – Bộ nhớ chỉ đọc). Đây gọi là quá trình boot-loader.

Bộ nhớ trong
2.1.1. Bộ nhớ trung tâm (hay còn gọi là bộ nhớ chính)
2.1.


2.1.1.1.

ROM – Bộ nhớ chỉ đọc
-

ROM là bộ nhớ chỉ đọc, không khả biến.
Là nới chứa các chương trình và dữ liệu cố định của hệ thống.
Sơ lược về quá trình khởi động:
“Các hệ thống tính toán hoạt động được nhờ bộ xử lý trung tâm (hay một tập
hợp các bộ xử lý), chỉ có thể thực thi các đoạn mã ở bộ nhớ điều hành, được
biết đến với tên gọi là bộ nhớ hệ thống, với nhiều loại tùy thuộc vào công
nghệ sản xuất như: ROM hay RAM. Mã của các hệ điều hành, các chương
trình ứng dụng và dữ liệu hiện nay thường được lưu trữ trên các bộ nhớ bền,
bộ nhớ ngoại vi, hay bộ nhớ thứ cấp. Các ví dụ của các loại bộ nhớ đó là:
hard disk (ổ cứng), CD, USB, đĩa mềm. Khi một máy tính được bật, ban đầu
nó dựa hoàn toàn vào các mã và dữ liệu nằm trên những phần có sẵn của bản
đồ bộ nhớ hệ thống, như ROM, NVRAM hay CMOS RAM. Các đoạn mã


và dữ liệu "cứng" được lưu trữ trên bản đồ bộ nhớ hệ thống này là những
hướng dẫn cần thiết tối thiểu để truy nhập vào những thiết bị cứng ngoại vi
và nạp vào bộ nhớ hệ thống tất cả những phần cần thiết của hệ điều hành.
Có thể nói trong khoảng thời gian khởi động máy tính, hệ thống máy tính
không có hệ điều hành nào trong bộ nhớ trong”[1]
- Các loại bộ nhớ ROM:
 Maskable ROM (ROM mặt nạ): thông tin được ghi khi chế tạo
 PROM (Programmable ROM):
▪ Khi chế tạo chưa có thông tin
▪ Cho phép ghi thông tin được 1 lần bằng thiết bị chuyên dụng.
 EPROM (Erasable PROM):

 EEPROM (Electrically Erasable PROM):
 Flash Memory:
▪ Đọc/ghi theo từng block
▪ Tốc độ rất nhanh, dung lượng lớn Các máy tính có bộ nhớ ngắn hạn
cho các tác vụ trước mắt và bộ nhớ dài hạn để lưu trữ lâu hơn.
Sau khi hệ điều hành được khởi động thành công, ta sẽ tìm hiểu làm thế nào mà bộ
nhớ máy tính sẽ làm việc và tương tác với nhau như thế nào.
- Khi chạy một chương trình, hệ điều hành sẽ xác định khu vực của bộ nhớ ngắn
hạn để thực hiện các câu lệnh. Khoảng thời gian CPU xử lý thông tin được gọi
là độ trễ bộ nhớ.
- Và bởi vì các câu lệnh của chương trình phải được thực hiện một cách nhanh
chóng và liên tục nên tất cả vị trí trên bộ nhớ ngắn hạn có thể được truy cập
theo bất kỳ thứ tự nào, vì vậy nó được đặt tên là Bộ nhớ truy cập ngẫu nhiên –
RAM (Random Access Memory).
Vậy RAM là gì, cấu trúc như thế nào và hệ thống bộ nhớ ở đây hoạt động ra sao ?


2.1.1.2.

Bộ nhớ truy cập ngẫu nhiên – RAM
-

Là loại bộ nhớ đọc/ghi, khả biến và chứa các thông tin tạm thời.
Các loại bộ nhớ RAM:
 SRAM (Static): RAM tĩnh
▪ Mỗi phần tử nhớ là một mạch lật 2 trạng thái ổn định → thông
tin trên SRAM ổn định (không phải làm tươi).
▪ Tốc độ nhanh
▪ Dung lượng chip nhớ nhỏ
▪ Giá thành đắt

▪ Thường dùng làm bộ nhớ Cache
 DRAM (Dynamic): RAM động
▪ Mỗi phần tử nhớ là một tụ điện rất nhỏ → cứ sau một khoảng
thời gian thì điện tích trên tụ điện sẽ bị mất, cho nên thông tin
trên DRAM không ổn định → khắc phục bằng mạch làm tươi
(refresh) DRAM
▪ Tốc độ chậm (do mất thời gian làm tươi DRAM)
▪ Dung lượng chip nhớ lớn, giá thành rẻ
▪ Thường dùng làm bộ nhớ chính
Loại RAM thường được dùng trong máy tính hiện nay là DRAM.
Khi thực hiện một câu lệnh, dữ liệu cần được truy xuất một cách liên tục và
nhanh chóng (tức là độ trễ phải càng nhỏ càng tốt). Trong trường hợp này,máy
tính cần có bộ nhớ đệm Cache, một loại nằm ngay trong CPU (L1 Cache) có độ
trễ ~1ns , một loại nằm ngay giữa CPU và DRAM (L2 Cache) có độ trễ ~1020ns vì độ trễ của DRAM mặc dù nhỏ nhưng vẫn rất lớn so với những gì CPU
yêu cầu.
Chúng ta sẽ tìm hiểu về bộ nhớ Cache.
2.1.2. Bộ nhớ đệm Cache
- Là loại bộ nhớ có thời gian thâm nhập khá nhanh. So với các loại bộ nhớ khác (
DRAM, Băng từ, ổ đĩa,…), bộ nhớ cache có giá thành khá đắt và có kích thước
rất lớn so với các ổ đĩa khác có cùng dung lượng, vì thế nên bộ nhớ cache dùng
trong các loại máy tính có dung lượng rất nhỏ.
- Là bộ nhớ có tốc độ cao và độ trễ rất thấp (gần như là có cùng tốc độ xử lý
cùng CPU).
- Do hầu hết các chương trình thực tế xuất lặp đi lặp lại cùng một dữ liệu hay các
lệnh y chang nhau. Nhờ lưu trữ các thông tin này lưu ở bộ nhớ Cache, máy tính
sẽ khỏi phải truy xuất vào DRAM vốn chậm chạp hơn. Và vì đặc tính của bộ
nhớ đệm là các thông tin sẽ không bị làm tươi trong suốt quá trình hoạt động
nên việc truy cập vào các dữ liệu có sẵn ở đây trở nên nhanh chóng.



-

Khi bộ xử lý cần thâm nhập ( đọc/ghi ) vào một số liệu, trước hết bộ xử lý tìm số
liệu đó trong bộ nhớ cache.
- Nếu tìm thấy (hit) thì thâm nhập vào số liệu, nếu không thấy (miss) thì bộ xử lý
tìm số liệu trong bộ nhớ chính đồng thời ghi lại dữ liệu đó vào cache.
- Do L1 Cache nằm ngay trên CPU nên tốc độ xử lý rất nhanh. CPU sẽ tiến hành
kiểm tra dữ liệu mình cần có trong L1 Cache hay không và nếu không thì sẽ tiếp
tục tìm kiếm ở L2 Cache (nằm ở Mainboard giữa CPU và DRAM) trước khi phải
tìm số liệu đó ở bộ nhớ trung tâm.
Tuy nhiên có một vấn đề là, RAM và bộ nhớ đệm chỉ có thể lưu giữ dữ liệu đến khi mà
nó có điện. Với các dữ liệu vẫn còn trên thiết bị khi tắt máy, chúng phải được chuyển
vào trong các bộ lưu trữ dài hạn, đó chính là bộ nhớ ngoài.

2.2.
-

Bộ nhớ ngoài
Bộ nhớ ngoài thường được chia thành 3 loại:
 Đĩa từ: lưu trữ bằng từ trường, cũng là loại rẻ nhất. Dữ liệu được lưu trong một
mô hình từ tính trên một đĩa quay được phủ phim từ tính. Nhưng bởi vì phải
quay đến nơi dữ liệu được lưu trữ để có thể đọc được, nên độ trễ của các loại ổ
này chậm hơn gấp 100.000 lần so với DRAM.
 Đĩa quang: là các bộ lưu trữ trên cơ sở quang học như đĩa DVD hay Blu-ray
cũng sử dụng các đĩa quay nhưng với lớp phủ phản xạ. Chúng được mã hóa
bằng các đường dẫn sáng tối trên mặt đĩa, và sử dụng các điốt có thể đọc được
bằng một tia laser. Các phương tiện lưu trữ quang học rẻ tiền và có thể di
chuyển được, nhưng thậm chí còn có độ trễ chậm hơn so với ổ nhớ từ và dung
lượng cũng tương đương
 Flask Disk: là loại ổ lưu trữ lâu dài mới nhất và nhanh nhất, ổ lưu trữ dạng rắn.

Chúng không có các bộ phận chuyển động, thay vào đó chúng sử dụng các
bóng bán dẫn cổng nối (floating gate transistor), để lưu trữ các bit bằng cách
bắt lấy hoặc loại bỏ các hạt mang điện bên trong một cấu trúc được thiết kế đặc
biệt.


3. Phân cấp hệ thống nhớ trên máy tính
Và với những gì đã phân tích, tìm hiểu được về hệ thống bộ nhớ cũng như cách hoạt
động của bộ nhớ trên máy tính, ta đưa ra sơ đồ phân cấp hệ thống nhớ của máy tính
như sau:

-

-

Nguyên lý sẽ như sau:
 Khi bộ xử lý thực hiện thâm nhập vào một số liệu, bộ xử lý tìm số liệu đó ở
đơn vị bộ nhớ gần nó nhất trong sơ đồ phân cấp (bộ nhớ có thời gian thâm nhập
nhanh hơn.
 Nếu không tìm thấy, bộ xử lý sẽ thâm nhập vào đơn vị nhớ ở mức cao hơn
trong sơ đồ phân cấp đồng thời số liệu tìm thấy được ghi vào bộ nhớ ở mức
thấp hơn.
Mục đích của việc phân cấp bộ nhớ:
Mục tiêu là cung cấp một hệ thống bộ nhớ với chi phí cho mỗi byte gần như thấp
nhất và tốc độ gần như ở mức nhanh nhất. [2]


4. So sánh tổ chức hệ thống bộ nhớ trên máy tính cá nhân và
smartphone
4.1.


So sánh về hệ thống phân cấp bộ nhớ

Hệ thống phân cấp của máy tính [5]

Kiến trúc bộ xử lý di động[6]

4.2.

So sánh về cơ chế quản lý bộ nhớ ảo


-

-

-

Khái niệm: Là một kĩ thuật quản lý bộ nhớ được thực hiện bởi phần mềm và phần
cứng. Nó sẽ liên kết địa chỉ ô nhớ được dùng bởi phần mềm, gọi là địa chỉ ảo, tới
địa chỉ vật lý trong bộ nhớ máy tính. Bộ nhớ chính được các tác vụ coi như là
những khoảng trống có địa chỉ liên tiếp hoặc tập hợp những vùng liên tiếp. Hệ
điều hành quản lý các ô địa chỉ ảo và sự phân vùng từ ổ nhớ thực đến ổ nhớ ảo.
Phần cứng phụ trách xử lý địa chỉ nằm trong CPU, thường được gọi tên là MMU
(đơn vị quản lý bộ nhớ), sẽ tự động chuyển địa chỉ ảo sang địa chỉ vật lý. Phần
mềm nằm trong hệ điều hành có thể tạo ra những vùng địa chỉ ảo nằm mở rộng
khả năng lưu trữ vật lý của bộ nhớ và từ đó chương trình sẽ có nhiều bộ nhớ hơn
thực tế máy tính có. Lợi ích quan trọng nhất của bộ nhớ ảo là đảm nhiệm giùm
các ứng dụng quản lý vùng bộ nhớ được chia sẻ, tăng độ an toàn cho các vùng
nhớ và giúp chương trình sử dụng nhiều bộ nhớ nhiều hơn bộ nhớ vật lý mà phần

cứng máy tính có, dựa trên kĩ thuật phân trang. [3]
Khác với máy tính cá nhân có cơ chế quản lý bộ nhớ ảo, thì đối với smartphone,
lấy ví dụ là hệ điều hành Android lại không sử dụng bộ nhớ ảo. Smartphone sử
dụng các bộ nhớ flash để lưu trữ dữ liệu. Và vì việc ghi các trang của bộ nhớ (cơ
chế của bộ nhớ ảo) vào bộ nhớ flash là không tốt đối với tuổi thọ pin và hiệu suất.
Đặc biệt là khi các ứng dụng không thể kiểm soát được phần nào của bộ nhớ điện
thoại “Paged out”.
Tất nhiên, Android dựa trên Linux, nó sử dụng bộ nhớ ảo theo những cách khác
mà không hiển thị cho người dùng biết được. Vì thế, Android phải có MMU, các
ứng dụng trong đó sẽ sử dụng địa chỉ ảo thay vì địa chỉ vật lý. Điều này bảo vệ ứng
dụng không cho phép dữ liệu cá nhân của họ trong RAM được đọc bởi các ứng
dụng khác. Nó sử dụng delayed-commit của Linux để tiết kiệm bộ nhớ: khi một
tiến trình cần nhiều trang bộ nhớ hơn, nó sẽ chỉ nhận được các trang của bộ nhớ
vật lý khi chúng thực sự được sử dụng. Trong Android, không có gì thực sự làm
việc với swap files, nhưng nó cũng có nghĩa là việc kết luật Android không có bộ
nhớ ảo là chưa thực sự chính xác. [4]


Tài liệu tham khảo
[1][3] Wikipedia.com
[2] />[4] />[5] />[6] />


×