You are on page 1of 153

BÀI GIẢNG MÔN

KIẾN TRÚC MÁY


TÍNH

Chương 3:
Bộ nhớ máy tính

LOGO
LOGO

Nội dung

3.1. Tổng quan bộ nhớ máy tính


3.2. Bộ nhớ trong
3.3. Bộ nhớ ngoài
LOGO 3.1. TỔNG QUAN BỘ NHỚ MÁY TÍNH
3.1.1. Một số khái niệm cơ bản
 Từ (word): đơn vị “tự nhiên” của bộ nhớ. Kích thước từ thường bằng số
bit biểu diễn một số nguyên và kích thước lệnh.
 Đơn vị đánh địa chỉ: ở các hệ thống khác nhau, đơn vị đánh địa chỉ có
thể là byte hoặc word. Trong bất cứ trường hợp nào, mối quan hệ giữa
số lượng các đơn vị đánh địa chỉ N và số bit địa chỉ A là 2𝐴 = 𝑁.
 Đơn vị truyền:
 Với bộ nhớ chính, Đối với bộ nhớ chính, đơn vị truyền tải là số bit được
đọc hoặc ghi vào bộ nhớ tại một thời điểm.
 Với bộ nhớ ngoài, đơn vị truyền thường lớn hơn rất nhiều, thường
được gọi là các khối (block)

3
LOGO VÍ DỤ

1. VXL Intel x86-32b, kết nối bus (32 đường địa chỉ, 16 đường dữ
liệu) với bộ nhớ tổ chức dưới dạng các ngăn nhớ 16 bit. Hãy cho
biết:
a. Kích thước word của BN trên là? =16
b. Dung lượng tối đa của bộ nhớ mà VXL có thể quản lý được là?
Bus địa chỉ nói lên dung lượng bộ nhớ
Với 32 đường địa chỉ ta có 232 ô nhớ, mỗi ô nhớ có kích thước 1
word=16bit nên dung lượng tối đa của bộ nhớ chính là:
232 *Word = 4*230 *Word = 4 GWord
a. Đơn vị truyền của BN trên?=16bit

4
LOGO 3.1.2. Đặc trưng của bộ nhớ máy tính
Vị trí
 Bên trong (vd: thanh ghi, Hiệu suất
cache, bộ nhớ chính)  Thời gian truy cập
 Bên ngoài (vd: đĩa quang, đĩa  Chu kỳ xung nhịp
từ, băng từ)  Tốc độ truyền tải
Dung lượng Loại vật lý
 Bán dẫn
 Số lượng từ
 Từ
 Số lượng byte  Quang học
Đơn vị truyền  Quang từ
 Từ Tính chất vật lý
 Khối  Điện động/điện tĩnh (Dữ liệu có bị
Phương pháp truy cập mất khi mất điện)
 Tuần tự  Có thể xóa/không xóa được
 Trực tiếp Tổ chức
 Ngẫu nhiên  Module bộ nhớ
 Kết hợp
5
LOGO 3.1.2. Đặc trưng của bộ nhớ máy tính

 Chứa các chương trình đang được thực hiện và các dữ liệu
đang được sử dụng

 Tồn tại trên mọi hệ thống máy tính

 Bao gồm các ngăn nhớ được đánh địa chỉ trực tiếp bởi CPU

 Dung lượng của bộ nhớ chính nhỏ hơn không gian địa chỉ bộ
nhớ mà CPU quản lý

 Việc quản lý logic bộ nhớ chính tùy thuộc vào hệ điều hành

6
LOGO 3.1.2. Đặc trưng của bộ nhớ máy tính
a. Vị trí
 Bên trong CPU: tập thanh ghi
 Bộ nhớ trong:
 Bộ nhớ chính: ROM (Read Only Memory - ROM), RAM (Random
Access Memory)
 Bộ nhớ đệm (cache)
 Bộ nhớ ngoài: các thiết bị lưu trữ ngoại vi: USB, băng từ, đĩa từ
b. Dung lượng
 Đối với bộ nhớ trong, dung lượng thường được đo bằng byte (8 bit)
hoặc word. Các word có độ dài thường là 8, 16 và 32 bit.
 Dung lượng bộ nhớ ngoài thường được đo bằng byte.
c. Đơn vị truyền
 Đối với bộ nhớ trong, đơn vị truyền bằng số lượng đường điện đi vào và
ra khỏi module bộ nhớ
 Với bộ nhớ ngoài đơn vị thường được gọi là các khối (block)
LOGO d. Phương pháp truy cập các khối dữ liệu
Kết hợp
Truy cập tuần  Một word
Truy cập trực Truy cập ngẫu nhiên
tự  Mỗi vị trí trong bộ được truy xuất
tiếp
 Bộ nhớ nhớ có một cơ chế dựa trên một
 Có một cơ phần nội dung
được tổ định địa chỉ riêng.
chế đọc-ghi thay vì địa chỉ
chức thành  Thời gian truy cập
chia sẻ của nó
các đơn vị vào một vị trí nhất
 Mỗi khối  Mỗi vị trí có
dữ liệu định không đổi và
hoặc bản cơ chế định
được gọi là không phụ thuộc địa chỉ riêng.
ghi có một
bản ghi vào chuỗi các truy Thời gian truy
địa chỉ duy
(record) cập trước đó xuất là không
nhất dựa
 Truy cập  Một vị trí bất kỳ có đổi, không
trên vị trí
được thực thể được chọn phụ thuộc vào
vật lý ngẫu nhiên, định vị trí hoặc các
hiện tuần tự
 Thời gian địa chỉ và truy cập truy cập trước
 Thời gian
truy cập trực tiếp đó
truy cập
biến đổi  Ví dụ: bộ nhớ  Bộ nhớ Cache
biến đổi
 Ví dụ: đĩa chính và một số bộ có thể sử dụng
 Ví dụ: băng truy cập kết
từ nhớ cache
từ hợp
LOGO e. Hiệu năng

Ba tham số hiệu năng được sử dụng:


Thời gian truy cập Chu kỳ bộ nhớ Tốc độ truyền tải
(độ trễ) • Tốc độ truyền dữ
• Với bộ nhớ truy cập
• Đối với bộ nhớ ngẫu nhiên: Thời gian liệu vào hoặc ra
truy cập ngẫu truy cập cộng với thời khỏi bộ nhớ
nhiên, nó là thời gian cần trước khi truy • Đối với bộ nhớ
gian cần để thực cập thứ hai có thể bắt truy cập ngẫu
hiện 1 thao tác đọc đầu nhiên, tốc độ
hoặc ghi • Có thể cần thêm thời truyền tải bằng
• Đối với bộ nhớ gian để các tín hiệu cũ 1/(chu kỳ)
truy cập không triệt tiêu trên đường tín
ngẫu nhiên, nó là hiệu hoặc để khôi phục
thời gian cần để lại dữ liệu bị hỏng
đặt cơ chế đọc-ghi • Liên quan đến hệ thống
vào vị trí mong bus, không liên quan
muốn bộ xử lý
LOGO f. Đặc tính vật lý của bộ nhớ
- Các dạng phổ biến nhất là: Bộ nhớ bán dẫn, Bộ nhớ bề mặt từ, Bộ nhớ
quang, Bộ nhớ quang từ
- Một số đặc điểm vật lý quan trọng:
1. Đặc điểm lưu trữ dữ liệu
 Bộ nhớ điện động (Volatile memory): thông tin bị suy yếu hoặc bị mất
khi nguồn điện tắt: VD: RAM, Cache
 Bộ nhớ điện tĩnh (Non-volatile memory): thông tin một khi đã được ghi
thì sẽ không bị mất trừ khi cố tình thay đổi kể cả không có nguồn cung
cấp
 VD: ROM, USB, HDD, SSD…
2. Công nghệ sản xuất:
 Bộ nhớ bề mặt từ (Magnetic-surface memories): HDD, Tape
 Bộ nhớ bán dẫn (Semiconductor memory): RAM, ROM, Cache,…
 Bộ nhớ không xoá được (Nonerasable memory): Không thể thay đổi, trừ
khi phá hủy các khối lưu trữ. VD: ROM
LOGO g. Tổ chức bộ nhớ: mô hình phân cấp bộ nhớ

 Thiết kế bộ nhớ của máy tính cần trả lời ba câu hỏi:
How much? How fast? How expensive?
 Cần có sự cân đối giữa dung lượng, thời gian truy cập và chi
phí
Thời gian truy cập nhanh hơn, chi phí lớn hơn cho mỗi bit
Dung lượng lớn hơn, chi phí nhỏ hơn cho mỗi bit
Dung lượng lớn hơn, thời gian truy cập chậm hơn
 Giải pháp:
Không dựa hoàn toàn vào một thành phần hoặc công nghệ bộ
nhớ
Sử dụng một hệ thống phân cấp bộ nhớ
LOGO 3.1.3. Bộ nhớ phân cấp - Sơ đồ

Chi phí trên bit giảm


Dung lượng tăng
Thời gian truy cập
tăng
Tần suất truy cập bộ
nhớ của VXL giảm
BÀI GIẢNG MÔN

LOGO 3.1.3. Bộ nhớ phân cấp - Sơ đồ

 Từ trái sang phải:


• Dung lượng tăng dần
• Tốc độ giảm dần
• Giá thành cùng dung lượng giảm dần
LOGO 3.1.4. PHÂN LOẠI BỘ NHỚ MÁY TÍNH

 Có nhiều cách phân loại bộ nhớ máy tính dựa trên ba tiêu chí:
 Kiểu truy cập:
• Bộ nhớ truy cập tuần tự (Serial Access Memory - SAM)
• Bộ nhớ truy nhập ngẫu nhiên (Random Access Memory -
RAM),
• Bộ nhớ chỉ đọc (Read Only Memory - ROM).
 Khả năng duy trì dữ liệu:
• Bộ nhớ ổn định (Non-volatile memory) ROM
• Bộ nhớ không ổn định (Volatile memory). RAM
 Công nghệ chế tạo:
• Bộ nhớ bán dẫn (Semiconductor memory) ROM, RAM
• Bộ nhớ từ tính (Magnetic memory) đĩa mềm, đĩa cứng, băng từ
• Bộ nhớ quang học (Optical memory). CD, VCD
14
LOGO 3.1.4. PHÂN LOẠI BỘ NHỚ MÁY TÍNH

15
LOGO 3.1.5. TỔ CHỨC MẠCH NHỚ
 Một mạch nhớ (memory chip) thường gồm nhiều ô nhớ (memory
cells) được tổ chức thành một ma trận nhớ gồm một số hàng và
một số cột.
 Vd: RAM

16
LOGO Tổ chức của 1 ô nhớ và bộ nhớ

17
LOGO Tổ chức ô nhớ
 Các thành phần chính của BN bán dẫn là
các ô nhớ (memory cell)
 Đặc điểm chính:
 Có 2 trạng thái biểu diễn 2 bit 0, 1
 Có khả năng ghi vào (ít nhất một lần)
 Có khả năng đọc ra
 Có 3 đầu cuối:
 Đường select để chọn ra ô nhớ để đọc
hoặc ghi
 Đường control để chỉ thị thao tác đọc
hoặc ghi
 Đường Sense đưa dữ liệu vào hoặc đọc
dữ liệu ra
LOGO 3.2. Bộ nhớ trong
3.2.1. BỘ NHỚ ROM VÀ RAM
 Dung lượng khá lớn (khoảng từ 256MB đến 4GB với
các hệ thống 32 bit)
 Tốc độ truy cập tương đối chậm so với cache.
 Giá thành bộ nhớ chính tương đối thấp nên có thể sử
dụng với dung lượng lớn.
 Là bộ nhớ chính được sử dụng để lưu lệnh và dữ liệu
của hệ thống và của người dùng

19
LOGO Phân loại bộ nhớ trong

20
LOGO 1. Bộ nhớ ROM (Read Only Memory)
 Đặc điểm của ROM
 Dữ liệu thực tế được nạp với chip như một phần của chu trình sản xuất chip.
 Là bộ nhớ tính điện chứa dữ liệu vĩnh cửu, không thể thay đổi hay ghi dữ liệu mới
vào.
 Không cần cung cấp nguồn để duy trì giá trị bit trong bộ nhớ.
 Dữ liệu hay chương trình lưu trữ vĩnh cửu trong bộ nhớ chính và không cần thiết
phải tải từ thiết bị lưu trữ thứ hai.
 Ứng dụng:
 Vi lập trình
 Lưu trữ các file hệ thống
 Thư viện các hàm thường xuyên được sử dụng
 Các chương trình hệ thống
 Các bảng chức năng
 Nhược điểm:
 Không có chỗ cho lỗi, nếu sai một bit thì toàn bộ lô ROM sẽ bị vứt đi.
 Việc nạp dữ liệu vào ROM tốn một khoản chi phí cố định khá lớn
LOGO Các loại BN ROM
 PROM (Programmable ROM) – ROM có thể lập trình được
Là bộ nhớ tĩnh điện
Không xóa được và chỉ có thể ghi một lần duy nhất
Quá trình ghi được thực hiện bằng điện do nhà cung cấp hoặc
khách hàng thực hiện tại thời điểm sau thời điểm sản xuất chip
Cần có thiết bị ghi đặc biệt để thực hiện quá trình ghi đặc biệt
gọi là bộ lập trình PROM
Linh hoạt và tiện lợi
Thích hợp với chu trình sản xuất một số lượng lớn
LOGO

EPROM (Erasable Programmable Read-Only


Memory - Bộ nhớ chỉ đọc, Lập trình được, Xóa
được)
Bộ nhớ PROM có thể xóa được
Quá trình xóa/ghi có thể thực hiện nhiều lần
Đắt hơn so PROM nhưng có ưu điểm do khả năng
cập nhật lại

23
LOGO Các loại BN ROM
 EEPROM
 Bộ nhớ PROM xóa bằng điện
 Có thể ghi vào bất cứ thời điểm nào mà không cần phải xóa dữ liệu
trước đó
 Kết hợp ưu điểm của việc không xóa được và sự linh hoạt của việc
cập nhật tại chỗ
 Đắt hơn so với EPROM
 Flash Memory
 Trung gian giữa EPROM và EEPROM
 Sử dụng cộng nghệ xóa điện, không cho phép xóa cấp độ byte
 Tốc độ có thể lập trình được, xóa nhanh hơn
 Mỗi cell chỉ sử dụng 1 transistor, mật độ cell lớn hơn các bộ nhớ trên
LOGO Vi mạch nhớ ROM-BIOS

25
LOGO SƠ ĐỒ KHỐI CỦA ROM

26
MINH HỌA DỮ LIỆU NHỊ PHÂN, THẬP LỤC PHÂN TẠI MỖI ĐỊA CHỈ
LOGO

27
CẤU TRÚC CỦA BỘ NHỚ DUNG LƯỢNG 16*8
LOGO

28
LOGO 2. Bộ nhớ RAM (random-access memory )

 Bộ nhớ RAM: cho phép đọc và ghi dữ liệu một cách nhanh
chóng, cả đọc và ghi đều sử dụng các tín hiệu điện

 Bộ nhớ RAM là bộ nhớ điện động, khi mất nguồn, dữ liệu bị


mất  Chỉ sử dụng RAM với mục đích lưu trữ tạm thời

 Có hai công nghệ RAM :

 RAM động - Dynamic RAM (DRAM) làm từ tụ điện, cần


làm tươi, mật độ cao.

 RAM tĩnh - Static RAM (SRAM) làm bằng các flip-flop,


nhanh
+LOGO RAM động - Dynamic RAM (DRAM)
 Các bit được lưu trữ trên tụ
điện do đó cần phải có mạch
làm tươi
 Cấu trúc đơn giản
 Dung lượng lớn
 Tốc độ chậm hơn (60-80ns)
 Rẻ tiền hơn
 Dùng làm bộ nhớ chính
+LOGO RAM tĩnh - Static RAM (SRAM)

 Các bit được lưu trữ bằng


các Flip-Flop nên thông
tin ổn định
 Cấu trúc phức tạp
 Dung lượng chip nhỏ
 Tốc độ nhanh (6-8ns)
 Đắt tiền
 Dùng làm bộ nhớ cache
LOGO So sánh SRAM và DRAM

 Đều là bộ nhớ điện động


 Phải được nối với nguồn liên tục để ô nhớ lưu trữ được giá trị bit.
 RAM động
 Dễ dàng chế tạo, kích thước nhỏ hơn
 Mật độ lớn hơn (các ô nhớ nhỏ hơn  nhiều ô nhớ hơn trong
một đơn vị diện tích)
 Giá thành rẻ hơn
 Đòi hỏi phải hỗ trợ dòng làm tươi
 Thích hợp với các bộ nhớ dung lượng cao
 Được sử dụng cho bộ nhớ chính
 RAM Tĩnh
 Nhanh hơn
 Được sử dụng làm bộ nhớ đệm (cache) (cả trong và ngoài chip)
LOGO 3. Tổ chức bộ nhớ một chiều
 Có n đường địa chỉ: 𝐴𝑛−1 ÷ 𝐴0  có
2𝑛 từ nhớ
 Có m đường dữ liệu: 𝐷𝑚−1 ÷ 𝐷0 
độ dài từ nhớ = m bit
 Dung lượng chip nhớ = 2𝑛 × 𝑚 bit
 Các đường điều khiển:
 Tín hiệu chọn chip CS (Chip
Select)
 Tín hiệu điều khiển đọc OE
(Output Enable)
 Tín hiệu điều khiển ghi WE
(Write Enable)
 Các tín hiệu điều khiển thường
tích cực với mức 0)
LOGO

 Số địa chỉ /từ nhớ: 2n


 Dung lượng bộ nhớ theo byte:
C = 2n*D/8
 Dung lượng bộ nhớ theo bit:
C = 2n*D
 Dung lượng bộ nhớ theo địa
chỉ HEX: C = ĐC cuối – ĐC
đầu +1
 Với vùng nhớ có dung lượng
là C(word) thì địa chỉ cuối là:
ĐC cuối = C -1=>(HEX)

34
LOGO

Các công thức về bộ nhớ:


 Với bộ nhớ ở dạng aK*b thì ta có:
 Số đường địa chỉ: 2n = a*210=>n
 Số đường dữ liệu: D = b
 Trong bộ nhớ ta có 1k = 210 => 1Kb = 210 byte =
1024byte.

35
LOGO Bài tập
1. Cho bộ nhớ có 8 đường dữ liệu và 11 đường địa
chỉ.
a. Vẽ sơ đồ khối của bộ nhớ?
b. Tính số từ nhớ của bộ nhớ, số ô nhớ?
c. Tính địa chỉ cuối cùng của bộ nhớ?

36
LOGO

2. Cho bộ nhớ 16K với độ dài từ mã là 16


a. Tính số đường địa chỉ và số đường dữ liệu?
b. Tính số địa chỉ của bộ nhớ?
c. Tính dung lượng của bộ nhớ?
d. Tìm địa chỉ cuối cùng của bộ nhớ?

37
LOGO

3. cho bộ nhớ 32Kx8


a. Hãy tìm số đường địa chỉ và dung lượng của bộ
nhớ?
b. Xác định địa chỉ cuối cùng của bộ nhớ?
c. Xác định vùng địa chỉ có thể truy cập được khi
A14=0?
d. Xác định vùng địa chỉ có thể truy cập được khi
A13 =0?

38
LOGO

4. Cho bộ nhớ như hình vẽ, n-1 = 7;


m-1 = 7
a. Tính dung lượng bộ nhớ theo bit?
b. Xác định các vùng địa chỉ của bộ
nhớ có thể truy xuất được?
c. Xác định các vùng địa chỉ của bộ
nhớ có thể truy xuất được và tính
dung lượng của các vùng nhớ
này? Với A6 =0; A5=0

39
LOGO

5. cho bộ nhớ 32Kx16


a. Hãy tìm số đường địa chỉ và dung lượng của bộ
nhớ?
b. Xác định địa chỉ cuối cùng của bộ nhớ?
c. Xác định vùng địa chỉ có thể truy cập được khi
A14=0?
d. Xác định vùng địa chỉ có thể truy cập được khi A13
=0?

40
LOGO 4. THIẾT KẾ MODUL NHỚ

a. TĂNG ĐỘ DÀI TỪ NHỚ


 VD: cho chip nhớ SRAM 4K x 4 bit, thiết kế module nhớ
4K x 8 bit
 Dung lượng chip nhớ = 212 x 4 bit
 Chip nhớ có: 12 chân địa chỉ, 4 chân dữ liệu
 Module nhớ cần có 12 chân địa chỉ, 8 chân dữ liệu cần
dung 2 chip nhớ SRAM 4K x 4

41
LOGO TĂNG ĐỘ DÀI TỪ NHỚ

Khi CS = 0, cả hai chip cùng làm việc; WE, OE chung nhau nên
hai chip sẽ cùng đọc hoặc cùng ghi
42
LOGO TĂNG ĐỘ DÀI TỪ NHỚ

Cho chip nhớ 2n x m bit

Thiết kế module nhớ 2n x (k.m) bit

Giải

Dùng k chip nhớ 2n x m

Các đường CS, WE, OE đấu chung tất cả các chip

Đường dữ liệu mỗi chip sẽ chiếm một đoạn trong chip


kết quả.

43
LOGO BÀI TẬP

1. Cho chip nhớ 8Kx8 bit, thiết kế module nhớ 8Kx32 bit

2. Cho chip nhớ 8Kx16 bit, thiết kế module nhớ 8Kx32 bit

44
LOGO b. Tăng số lượng từ nhớ

 VD: cho chip nhớ SRAM 4K x 8 bit, thiết kế module nhớ


8K x 8 bit

 Dung lượng chip nhớ: 212 x 8 bit

 Chip nhớ có: 12 chân địa chỉ, 8 chân dữ liệu

 Dung lượng module nhớ 213 x 8 bit

 Cần có 13 chân địa chỉ, 8 chân dữ liệu

45
LOGO b. Tăng số lượng từ nhớ

46
LOGO Bài tập

Cho chip nhớ SRAM 4K x 8 bit, thiết kế module nhớ 16K


x 8 bit?

47
LOGO Bài tập

48
LOGO

Thiết kế module nhớ 16Kx8 từ chip nhớ 8Kx8

49
LOGO BÀI TẬP TĂNG SỐ LƯỢNG TỪ NHỚ TỔNG QUÁT

50
LOGO c. Thiết kế bộ nhớ tăng hỗn hợp

51
LOGO c. Thiết kế bộ nhớ tăng hỗn hợp

Thiết kế module nhớ 16Kx16 từ chip nhớ 8Kx8

52
LOGO c. Thiết kế bộ nhớ tăng hỗn hợp

53
LOGO BÀI TẬP

54
LOGO 5. Đóng gói chip
 Công nghệ mạch tích hợp: đóng gói chip thành các IC và có các chân để giao tiếp
dữ liệu với bên ngoài
 Chip EPROM 8-Mbit: tổ chức thành
1M x 8, 32 chân:
 20 chân địa chỉ (A0 – A19)
 8 chân dữ liệu (D0 – D7)
 Chân cấp nguồn Vcc
 Chân nối đất Vss
 Chân cho phép hoạt động: Chip enable -
CE
 Chân Vpp: cung cấp trong quá trình lập
trình (hoạt động ghi)
LOGO 4. Đóng gói chip

 Chip DRAM
 11 chân địa chỉ (A0 – A10), 4 chân dữ
liệu (D0 – D3)
 Chân cho phép ghi WE (write enable)
 Chân cho phép đọc OE (output enable)
 Chân chọn địa chỉ hàng RAS và cột
CAS
 Chân không có tín hiệu NC
LOGO 5. Cơ chế sửa lỗi - Error Correction
 Việc lưu trữ và truyền dữ liệu trong hệ thống máy tính có thể xuất hiện
các lỗi
 Lỗi cứng
 Lỗi vật lý vĩnh viễn
 Một hoặc nhiều ô nhớ không thể lưu trữ dữ liệu, bị kẹt ở giá trị 0 hoặc 1
hoặc không thể chuyển giữa 0 hoặc 1 bất cứ lúc nào.
 Nguyên nhân:
Do tác động của môi trường
Lỗi sản xuất
Do hao mòn dần
 Lỗi mềm
 Sự kiện ngẫu nhiên làm thay đổi nội dung của một hay nhiều ô nhớ
 Không phá hủy bộ nhớ vĩnh viễn
 Nguyên nhân:
Có vấn đề về nguồn điện
Ảnh hưởng của các hạt phóng xạ
 Rõ ràng, cả lỗi cứng và lỗi mềm là không mong muốn, hầu hết bộ nhớ
chính hiện đại đều có cơ chế phát hiện và sửa lỗi
LOGO Chức năng mã sửa lỗi – Error-Correcting Code

 Hàm f tính toán


M bit dữ liệu và
sinh ra một mã
K bit
 M bit dữ liệu và
K bit mã cùng
được lưu trữ

 Khi đọc bộ nhớ, sử dụng hàm f tính lại mã trên dữ liệu lấy ra , so sánh với K bit
mã lưu trữ. 3 trường hợp xảy ra:
 Không phát hiện ra lỗi. Dữ liệu được gửi đi
 Phát hiện ra lỗi, có thể sửa lỗi. Dữ liệu và bit sửa lỗi được đưa vào bộ sửa lỗi sau
đó được gửi đi
 Một lỗi được phát hiện nhưng không thể sửa. Lỗi sẽ được báo cáo
 Mã này được gọi là mã CRC
LOGO
 Mã đơn giản nhất mã: Hamming do
Mã sửa lỗi Richard Hamming đưa ra tại Bell
Laboratories.
Hamming  Ví dụ việc tính toán mã này trên các
từ nhớ 4 bit (M = 4).
 Với ba vòng tròn giao nhau ta có
bảy khoang.
 Gán 4 bit dữ liệu cho các ngăn bên
trong (hình 5.8a).
 Các ngăn còn lại được điền vào các
bit 0 hoặc 1 với nguyên tắc làm sao
để tổng các bit trong một vòng tròn
là số chẵn.
 Phát hiện lỗi, tính tổng của mỗi
vòng, ta thấy vòng A và C có tổng
lẻ, trong 7 khoanh chỉ có 1 khoanh
nằm trong cả 2 vòng: A,C  phát
hiện lỗi sửa lỗi
LOGO Số lượng bit kiểm tra

Với 8 bit dữ liệu cần ít nhất 4 bit check, sinh ra 4 bit syndrome (đầu ra của bộ compare) có
đặc điểm như sau:
 Nếu syndrome toàn 0, không có lỗi.
 Nếu syndrome có 1 bit 1, lỗi nằm ở 4 bit check, ko cần sửa
 Nếu syndrome chứa hơn 1 bit 1, giá trị của syndrome chỉ ra vị trí của bit lỗi, sửa lỗi
LOGO Bố cục các bit dữ liệu và các bit kiểm tra
LOGO Tính toán bit kiểm tra
LOGO
LOGO Mã Hamming SEC-DED
 Mã Phát hiện 2 lỗi – sửa một lỗi (Single Error Correcting – Double Error
Detecting)
 Sử dụng thêm 1 bit parity (bit chẵn lẻ)
LOGO 3.2. BỘ NHỚ CACHE
 BXL truy cập xuất lệnh/dữ liệu từ BN chính theo đơn vị byte hoặc word  tốc độ chậm
(do tốc độ BN chính, bus chậm hơn VXL)
 Bộ nhớ cache được thiết kế để cải thiện thời gian truy cập bộ nhớ
 Dựa vào tính cục bộ của dữ liệu và lệnh lưu trữ trong BN chính.
 BN cache có tốc độ cao nhưng dung lượng thấp hơn bộ nhớ chính.
 Bộ nhớ cache chứa bản sao của một phần của bộ nhớ chính.

• Với các hệ thống máy tính cũ, dung lượng cache là 16KB, 32KB,..., 128KB;
• Với các hệ thống máy tính gần đây, dung lượng cache lớn hơn: 256KB, 512KB, 1MB,
2MB, 4MB, 8MB và 16MB
LOGO 1. Tổ chức cache
LOGO 2. Nguyên lý
 BN chính gồm 2𝑛 từ nhớ (word) được đánh địa chỉ: n bit địa chỉ
 BN chính được chia thành các khối (block) có kích thước cố định: K
2𝑛
word. Như vậy, BN chính có = 𝑀 khối.
𝐾
 BN cache được chia thành các đường (line), mỗi đường có K word.
 Mỗi block của BN chính được ánh xạ vào một line của Cache
 Khi bộ xử lý muốn đọc một word của bộ nhớ nó sẽ kiểm tra xem word
đó có nằm trong bộ nhớ cache hay không.
 Nếu có: word này được gửi đến bộ vi xử lý.
 Nếu không: một khối dữ liệu từ bộ nhớ chính (chứa từ mà VXL
đang muốn truy cập), được đọc vào bộ nhớ cache và sau đó từ
được gửi đến bộ VXL.
LOGO 3. Cấu trúc bộ nhớ chính/cache
LOGO
4. Thao tác Đọc Cache
LOGO Tổ chức bộ nhớ cache điển hình
LOGO 5. Các thành phần trong thiết kế Cache
a. Địa chỉ bộ nhớ cache e. Chính sách ghi
Logic Ghi xuôi
Vật lý Ghi ngược
b. Kích thước bộ nhớ cache f. Kích thước line
c. Ánh xạ bộ nhớ g. Cache nhiều cấp
Trực tiếp Một hoặc hai cấp
Kết hợp Thống nhất hoặc phân chia
Tập kết hợp
d. Thuật toán thay thế
Least recently used (LRU)
First in first out (FIFO)
Least frequently used (LFU)
Table 4.2 Elements of Cache Design
Random
+LOGO a. Địa chỉ bộ nhớ cache
 Địa chỉ ảo: bộ xử lý hỗ trợ bộ nhớ ảo:
 Quản lý bộ nhớ thông qua địa chỉ logic
 Các trường địa chỉ trong lệnh là các địa chỉ ảo
 Để thực hiện các thao tác đọc/ghi vào bộ nhớ chính, khối quản lý bộ nhớ
(MMU – Memory Management Unit) sẽ dịch từng địa chỉ ảo sang địa chỉ
vật lý trong bộ nhớ chính

 Cache ảo (cache logic): bn


cache đặt giữa BXL và MMU
 Địa chỉ được sử dụng là địa
chỉ ảo
 Cache vật lý: bn cache đặt giữa
MMU và bộ nhớ chính
 Địa chỉ được sử dụng là địa
chỉ vật lý
LOGO b. Kích thước cache (cache size)

 Kích thước cache phải đủ nhỏ để không làm giá thành tăng
cao

 Kích thước cache phải đủ lớn để giảm thời gian truy cập, tăng
hiệu suất hệ thống.

 Ngoài ra, kích thước cache quá lớn sẽ làm tăng số cổng để
định địa chỉ cho các vị trí nhớ trong cache

 giảm hiệu quả truy cập ngay cả khi cache nằm trong cùng chip
hoặc board với VXL
LOGO c. Ánh xạ bộ nhớ
 Bởi vì số đường (line) cache ít hơn số khối (Block) bộ nhớ chính,
cần có một thuật toán ánh xạ các khối bộ nhớ chính vào các
đường bộ nhớ cache
 Ba kỹ thuật có thể được sử dụng:

Trực tiếp Kết hợp Kết hợp tập hợp

• Mỗi khối của bộ nhớ • Cho phép một khối nhớ • Kết hợp hai phương
chính được ánh xạ vào chính được nạp vào bất kỳ pháp trên
một đường cache duy đường cache nào
• Thể hiện ưu điểm của
nhất • Logic điều khiển cache cả phương pháp trực
diễn giải địa chỉ bộ nhớ tiếp và kết hợp, đồng
• Đơn giản nhất bằng một trường Tag và thời giảm nhược điểm
trường Word
• Để xác định một khối có ở
trong một cache không,
logic điều khiển cache
phải cùng lúc kiểm tra Tag
của tất cả các đường
LOGO
 Mỗi khối (block) của bộ nhớ chính được ánh xạ vào một đường (line) nhất
định của bộ nhớ cache.
 Cách xác định: giả sử BN cache có m line. Vậy, block thứ j trong BN chính
sẽ được ánh xạ vào line nào trong BN cache?
Với i là số thứ tự line mà block đó được ánh xạ vào, ta có
𝒊 = 𝒋 𝒎𝒐𝒅 𝒎 (phép chia lấy dư)
 Do vậy, nhiều block sẽ được ánh xạ vào một line. Để xác định block nào
đang được ánh xạ vào cache: sử dụng trường tag
LOGO Tổ chức cache ánh xạ trực tiếp
LOGO Tổ chức cache ánh xạ trực tiếp
Khi truy xuất một word, logic cache tách
địa chỉ BN thành 3 trường:
• Word (w bit): xác định một word
trong block
• Line (r bit): xác định block đó được
ánh xạ vào line thứ tự bao nhiêu trong
cache
• Tag (s-r bit): xác định block nào đang
được ánh xạ vào line đó
So sánh tag của đc này với tag của line
trong cache để xác định xem có phải
block đó đang được ánh xạ vào cache
không
LOGO
Ví dụ
ánh xạ
trực
tiếp
LOGO Tổng kết ánh xạ trực tiếp

 Độ dài địa chỉ = (𝑠 + 𝑤) bit


 Số ô nhớ trong bộ nhớ chính = 2𝑠+𝑤 word hoặc byte
 Kích thước khối = kích thước đường = 2𝑤 word hoặc byte
 Số khối trong bộ nhớ chính = 2𝑠+ 𝑤 /2𝑤 = 2𝑠
 Số đường trong bộ nhớ cache = 𝑚 = 2𝑟
 Kích thước của tag = (𝑠 – 𝑟) bit

Nhược điểm: các khối lưu cố định tại 1 đường trong bộ nhớ
cache. Vậy nếu chương trình tham chiếu các từ lặp lại từ hai
khối mà cùng ánh xạ đến 1 đường thì cache liên tục phải đổi
dl từ memory vào, làm giảm hiệu suất (hiện tượng thrashing)
LOGO BÀI TẬP 1

Hệ thống có:


 Bộ nhớ chính: 256 MB

 Bộ nhớ Cache = 128 KB

 Kích thước Line = 16 byte

Xác định số bit của trường địa chỉ khi ánh xạ


trực tiếp

80
LOGO LỜI GIẢI
2N = 256.220 = 228 -> độ dài địa chỉ là s + w = 28 bit

 Tính cho trường Byte:

Kích thước line = 16 = 24 Byte -> w = 4 bit -> s = 24

 Tính cho trường Line:

Số line trong Cache: 128.210/16 = 213

-> r = 13 bit

 Tính cho trường Tag:

s-r = 24 – 13 = 11 bit
LOGO BÀI TẬP 2

 Hệ thống có:
 Bộ nhớ chính: 4GB

 Cache = 1MB

 Line = 32 byte

 Xác định số bit của trường địa chỉ khi ánh xạ


trực tiếp với một từ (word) là 16 bit.

82
LOGO
Bài tập 3
Bộ nhớ chính: 216 byte, kích thước khối 8 byte, ánh xạ trực
tiếp vào cache 32 đường.
a. 16 bit địa chỉ được chia thành các trường Tag, Line và Word
như thế nào?
b. Có bao nhiêu byte có thể được lưu trên cache?
c. Các địa chỉ sau sẽ được lưu ở đường nào của cache?
0001 0001 0001 1011 1101 0000 0001 1101
1100 0011 0011 0100 1010 1010 1010 1010
d. Giả sử byte có địa chỉ 0001 1010 0001 1010 được lưu ở
cache, các byte nào của bộ nhớ chính cũng được lưu trên
đường đó?
LOGO BÀI TẬP

1. Cho máy tính có dung lượng bộ nhớ chính: 128MB,


cache: 128KB, line: 32 byte, độ dài ngăn nhớ: 2 byte.
Xác định số bit của trường địa chỉ khi ánh xạ trực tiếp

2. Cho máy tính có dung lượng bộ nhớ chính: 128MB,


cache: 128KB, line: 32 byte, độ dài ngăn nhớ: 4 byte.
Xác định số bit của trường địa chỉ khi ánh xạ trực tiếp
LOGO

 Ánh xạ kết hợp khắc phục nhược điểm của ánh xạ trực tiếp
bằng cách cho phép mỗi khối được nạp vào bất kỳ đường nào
của bộ nhớ cache
 Trong trường hợp này, bộ logic điều khiển bộ nhớ cache
(cache control logic) tách địa chỉ bộ nhớ thành hai trường:
Tag và Word. Trường Tag hiển thị duy nhất một khối bộ nhớ
chính.
 Để xác định liệu một khối có trong bộ nhớ cache, bộ logic
điều khiển bộ nhớ cache phải cùng lúc kiểm tra mỗi Tag của
một đường để so sánh
LOGO Tổ chức ánh xạ kết hợp
Khi truy xuất một word,
logic cache tách địa chỉ
BN thành 2 trường:
• Word (w bit): xác định
một word trong block
• Tag (s bit): xác định
block nào đang được
ánh xạ vào line đó
So sánh Tag của đc này
với Tag của các line trong
cache để xác định xem
block đó có đang đc ánh
xạ vào cache không.
LOGO

Ví dụ
ánh
xạ
kết
hợp
LOGO Tổng hợp ánh xạ kết hợp

 Chiều dài địa chỉ = (s + w) bit


 Số ô nhớ được đánh địa chỉ = 2s+w word hoặc byte
 Kích thước khối = kích thước đường = 2w word hoặc
byte
 Số lượng khối trong bộ nhớ chính = 2s+ w/2w = 2s
 Số đường trong cache = không xác định
 Chiều dài trường tag = s bit

Ưu điểm: linh hoạt khi thay thế một khối và đọc một khối mới vào cache. Các
thuật toán thay thế được xây dựng để tối ưu hóa tỷ lệ truy cập.
Nhược điểm: mạch phức tạp để thực hiện việc kiểm tra tất cả trường Tag của
các đường trong cache một cách song song.
LOGO VÍ DỤ

Hệ thống có:


 Bộ nhớ chính: 4GB

 Cache = 1MB

 Line = 32 byte

Xác định số bit của trường địa chỉ khi ánh xạ


kết hợp

89
LOGO

Kích thước Line = 32 byte = 25 -> Word = 5 bit

Ta có bộ nhớ chính 4GB =232 -> có 32 bít địa chỉ

Vậy Tag = 32 – word = 32 – 5 = 27 bit


LOGO

1. Cho máy tính có dung lượng bộ nhớ chính: 256MB, cache: 128KB, line:
16 byte, độ dài ngăn nhớ: 2 byte. Trong trường hợp kỹ thuật ánh xạ trực
tiếp, dạng địa chỉ do bộ xử lý phát ra để truy nhập cache là:
a. 11 + 13 + 3
b. 11 + 14 + 2
c. 12 + 13 + 4
d. 12 + 12 + 3
2. Cho máy tính có dung lượng bộ nhớ chính: 512MB, cache: 128KB, line:
64 byte, độ dài ngăn nhớ: 4 byte. Trong trường hợp kỹ thuật ánh xạ trực
tiếp, dạng địa chỉ do bộ xử lý phát ra để truy nhập cache là:
a. 11 + 11 + 5
b. 12 + 11 + 4
c. 12 + 12 + 3
d. 11 + 12 + 4
LOGO

3. Cho máy tính có dung lượng bộ nhớ chính: 256MB, cache:


64KB, line: 16 byte, độ dài ngăn nhớ: 4 byte. Trong trường hợp
kỹ thuật ánh xạ liên kết hoàn toàn, dạng địa chỉ do bộ xử lý phát
ra để truy nhập cache là:
a. 25 + 2
b. 23 + 4
c. 24 + 4
d. 24 + 2
LOGO

 Tận dụng các ưu điểm của cả phương pháp trên đồng thời
giảm nhược điểm của chúng.

 Chia cache thành một số Tập (set) - Mỗi Tập chứa một số
đường.

 Một khối sẽ được ánh xạ vào một đường bất kỳ trong một
Tập nhất định
LOGO
 Quan hệ
m = v* k
i = j/v (chia lấy phần dư)
Trong đó
i = số thứ tự Tập trong cache
j = số thứ tự khối trong bộ nhớ chính
m = số lượng đường trong cache
v = số lượng Tập có trong cache
k = số lượng đường trong mỗi Tập
 Ví dụ: 1 Tập có 2 đường
 Ánh xạ kết hợp 2 chiều
 Một khối có thể nằm trong 1 trong 2 đường trong một Tập
LOGO

Ánh xạ từ
bộ nhớ chính
đến bộ nhớ Cache:

k-Way
Set Associative
TổLOGO
chức cache k-Way Set Associative
Khi truy xuất một word, logic cache tách
địa chỉ BN thành 3 trường:
• Word (w bit): xác định một word
trong block
• Set (d bit): xác định block đó được
ánh xạ vào set thứ tự bao nhiêu trong
cache
• Tag (s-d bit): xác định block nào đang
được ánh xạ vào line nào trong Set đó
So sánh tag của đc này với tag của line
trong Set để xác định xem có phải block
đó đang được ánh xạ vào cache không
TổLOGO
chức cache k-Way Set Associative
LOGO Tổng kết ánh xạ Set Associative

 Chiều dài địa chỉ = (s + w) bit


 Số lượng ô nhớ được đánh địa chỉ = 2s+w word hoặc byte
 Kích thước khối (hoặc đường) = 2w word hoặc byte
 Số khối trong BN chính = 2s+w/2w=2s
 Số đường trong 1 Tập= k
 Số lượng Tập = v = 2d
 Số lượng đường trong cache = m= kv = k * 2d
 Kích thước cache = k * 2d+w word hoặc byte
 Độ rộng trường Tag = (s – d) bits
LOGO
LOGO BÀI TẬP 1

Hệ thống có:


 Bộ nhớ chính: 256 MB
 Bộ nhớ Cache = 128 KB
 Kích thước Line = 16 byte
 Bộ nhớ cache chia thành v tập (kích thước 8 line)

Xác định số bit của trường địa chỉ khi ánh xạ


tập kết hợp

100
LOGO LỜI GIẢI
2N = 256.220 = 228 -> độ dài địa chỉ là s + w = 28 bit

 Tính cho trường Byte:

Kích thước line = 16 = 24 Byte -> w = 4 bit -> s = 24

 Tính cho trường set:

Số line trong Cache: 128.210/16 = 213

Trong mỗi tập có 8 line vậy số tập v = 213/8 = 210

Vậy d = 10 bít

 Tính cho trường Tag: s - d = 24 – 10 = 14 bit


LOGO BÀI TẬP 2

– Kích thước bộ nhớ: 4GB


– Kích thước cache: 1MB
– Kích thước Line: 32 byte
– Kích thước một tập v là 16 line
Hãy tính trường địa chỉ theo phương pháp ánh xạ tập kết hợp với
1. Ô nhớ 2 byte
2. Ô nhớ 4 byte
LOGO BÀI TẬP 3
 Cho CPU có
– Kích thước bộ nhớ: 256MB
– Kích thước cache: 128KB
– Kích thước Line: 16 byte
– Hãy tính trường địa chỉ theo phương pháp ánh xạ kết hợp
LOGO BÀI TẬP 5.37

 Hệ thống có:
 Bộ nhớ chính: 128 MB
 Bộ nhớ Cache = 64 KB
 Kích thước Line = 16 byte
 Kích thước Word: 8 bít
 Bộ nhớ cache chia thành v tập (kích thước 4 line)

 Xác định số bit của trường địa chỉ khi ánh xạ tập
kết hợp

104
LOGO LỜI GIẢI
2N = 128.220 = 227 -> độ dài địa chỉ là s + w = 27 bit

 Tính cho trường Byte:

Kích thước line = 16 = 24 Byte -> w = 4 bit -> s = 23

 Tính cho trường set:

Số line trong Cache: 64.210/16 = 212

Trong mỗi tập có 4 line vậy số tập v = 212/4 = 210

Vậy d = 10 bít

 Tính cho trường Tag: s - d = 23 – 10 = 13 bit


LOGO So sánh hiệu suất của các PP ánh xạ

 Cache hit: số lần truy cập cache thành công


 Cache miss: số lần truy cập cache không thành công
 Hit ratio: tỷ lệ truy cập
 Hiệu suất cache được đánh giá dựa trên
𝑐𝑎𝑐ℎ𝑒 ℎ𝑖𝑡
ℎ𝑖𝑡 𝑟𝑎𝑡𝑖𝑜 =
𝑡ổ𝑛𝑔 𝑠ố 𝑙ầ𝑛 𝑡𝑟𝑢𝑦 𝑐ậ𝑝
LOGO
Bài tập
 Xét VXL 32 bit có một cache 16-Kbyte, ánh xạ tập kết
hợp 4-way. Giả sử một đường gồm 4 từ 32-bit (mỗi từ
nhớ 32 bit, 1 đường có 4 từ). Xác định các trường của
địa chỉ được sử dụng để ánh xạ cache. Từ nhớ có địa chỉ
ABCDE8F8 được ánh xạ vào vị trí nào trong cache.
 Bộ nhớ Cache 64 đường sử dụng ánh xạ tập kết hợp 4
đường. Bộ nhớ chính có 4K khối, mỗi khối có kích thước
128 từ. Xác định định dạng địa chỉ bộ nhớ
LOGO d. Thuật toán thay thế
 Khi bộ nhớ cache đã đầy, nếu một khối mới được đưa vào
cache, một trong những khối hiện có phải được thay thế
 Đối với ax trực tiếp: một khối bất kỳ chỉ có thể ánh xạ vào 1 đường
cụ thể. Nên khi cần đưa 1 khối mới vào cache buộc phải xóa dữ liệu
cũ trên đường tương ứng đi.
 Đối với các kỹ thuật kết hợp và tập kết hợp, một khối có thể được
ánh xạ vào 1 số đường. Vậy khi đưa 1 khối mới vào cache, ta cần
xác định xem khối đó sẽ được ánh xạ vào đường nào: thuật toán thay
thế
 Để đạt được tốc độ cao, thuật toán phải được thực hiện trong
phần cứng
4. Thuật toán thay thế phổ biến nhất (Đọc thêm)
LOGO

 Least recently used (LRU)


 Hiệu quả nhất
 Thay thế khối nằm trong cache lâu nhất mà không có tham chiếu đến nó
 Do triển khai đơn giản, LRU là thuật toán thay thế phổ biến nhất
 First-in-first-out (FIFO)
 Thay thế khối đã nằm trong cache lâu nhất
 Dễ dàng thực hiện như một kỹ thuật vòng đệm hoặc round-robin
 Least frequently used (LFU)
 Thay thế khối có ít tham chiếu đến nó nhất
 Ở mỗi line thêm vào một bộ đếm, mỗi khi có tham chiếu đến line nào, bộ đếm của
line đó tăng thêm 1 đơn vị
 Ngẫu nhiên (Random)
 Có thể thay thế bất cứ khối nào
 Các nghiên cứu đã chỉ ra: thay thế ngẫu nhiên chỉ làm giảm hiệu suất của hệ thống
đi một chút so với các thuật toán thay thế ở trên
LOGO 1. Chính sách ghi
Khi một khối trong cache được thay thế, có 2 trường hợp cần xem xét:
• Nếu dữ liệu trong cache không thay đổi, có thể ghi đè khối mới lên mà không cần ghi
khối cũ ra trước.
• Nếu ít nhất 1 thao tác ghi đã được thực hiện trên 1 word trong đường của cache thì bộ
nhớ chính phải được cập nhật bằng cách ghi dữ liệu từ cache ra bộ nhớ trước khi đưa
khối mới vào.
Có hai vấn đề phải đối mặt:
• Nhiều thiết bị có thể có quyền truy cập vào bộ nhớ chính.
• Trong trường hợp VXL đa nhân: nhiều cache tương ứng với các nhân  gây khó khăn
trong việc quản lý dữ liệu
Có hai chính sách ghi: write through và write back
LOGO Write Through và Write Back
 Write through: khi VXL gửi lệnh ghi dữ liệu ra bộ nhớ, dữ liệu sẽ được ghi
đồng thời ra cả cache và BN
 Kỹ thuật đơn giản nhất
 Tất cả các thao tác ghi được thực hiện cho bộ nhớ chính cũng như cache
 Nhược điểm: tạo ra lưu lượng bộ nhớ đáng kể và có thể tạo ra nút cổ chai
 Write back: khi VXL gửi lệnh ghi, dữ liệu chỉ được cập nhật trên cache, sử
dụng 1 bit (gọi là dirty bit) thiết lập giá trị để đánh dấu là dữ liệu đã bị thay
đổi. Việc cập nhật dữ liệu lên BNC chỉ xảy ra khi thay thế khối mới vào
cache
 Giảm thao tác ghi bộ nhớ
 Dữ liệu trên BNC không có hiệu lực. Cơ chế DMA bắt buộc phải thực
hiệu qua cache
 Nhược điểm: mạch phức tạp và khả năng có nút cổ chai
LOGO 2. Kích thước Line
 Khi khối dữ liệu được lấy ra và đặt trong cache, sẽ thu được
không chỉ word mong muốn mà còn 1 số word liền kề
 Khi kích thước khối tăng, ban đầu tỷ lệ truy cập sẽ tăng do
nguyên tắc cục bộ  dữ liệu hữu ích (dữ liệu có khả năng
lớn được truy cập trong câu lệnh tiếp theo) được đưa vào
cache
 Tuy nhiên, khi kích thước khối quá lớn, tỷ lệ này giảm đi
do:
 Các khối lớn hơn làm giảm số lượng đường trong một cache
 Khi kích thước khối lớn, mỗi word thêm vào lại càng xa
word yêu cầu  ít có khả năng truy xuất
LOGO 3. Cache nhiều cấp
 Với các hệ thống ngày nay, người ta thường sử dụng nhiều cache trong
kiến trúc
 Cache trên chip (cache on chip) làm giảm hoạt động bus ngoài của bộ
xử lý; tăng tốc thời gian xử lý và tăng hiệu năng toàn hệ thống
 Khi lệnh hoặc dữ liệu được tìm thấy trong cache  không cần truy cập
bus
 Truy cập bộ nhớ cache trên chip nhanh hơn đáng kể
 Trong giai đoạn này, bus tự do hỗ trợ các lượt truyền khác
 Cache 2 cấp (cache 2 level): sử dụng một cache on chip (cache L1) và
một cache bên ngoài (cache L2)
 Cải thiện hiệu suất
 Việc sử dụng cache nhiều cấp làm cho các vấn đề thiết kế liên quan đến
cache phức tạp hơn, gồm kích thước, thuật toán thay thế, chính sách ghi
LOGO
Tỉ lệ truy cập (L1 & L2) cho 8 Kbyte và 16 Kbyte L1
LOGO Cache thống nhất / cache phân chia
 Cache thống nhất: lệnh và dữ liệu được lưu trên cùng một
cache
 Ưu điểm: Tốc độ truy cập cao hơn
• Tự động cân bằng giữa việc nạp dữ liệu và lệnh
• Chỉ cần thiết kế và thực hiện một bộ nhớ cache
 Cache phân chia: lệnh và dữ liệu được lưu trên hai cache khác
nhau, thường là cache L1
 Ưu điểm:Loại bỏ sự cạnh tranh cache giữa khối tìm
nạp/giải mã lệnh và khối thực hiện
 Xu hướng: cache phân chia ở L1 và cache thống nhất ở các
level cao hơn
LOGO 3.3 Bộ nhớ ngoài

 Các kiểu bộ nhớ ngoài


 Đĩa từ
 Đĩa quang
 Bộ nhớ Flash
 RAID

116
LOGO 1. Đĩa cứng (HDD: Hard Disk Driver)

 Là thành phần quan trọng lưu trữ hệ điều hành và các phần mềm tiện ích máy
tính
 Một máy tính có thể một đĩa hoặc nhiều đĩa
 Dung lượng mỗi đĩa rất lớn. Năm 1993 đĩa lớn nhất 200MB đến nay 80 hay
120GB
 Tốc độ đọc ghi nhanh so các bộ nhớ ngoài khác, tuy nhiên tốc độ truy xuất còn
thấp do phụ thuộc phần nào vào tốc độ quay của đĩa.
 Giá thành hạ
 Được sử dụng làm bộ nhớ RAID (Redundant Array of (Inexpensive)
Independent Disks). Hệ thống nhớ gồm nhiều ổ đĩa cứng kết hợp với nhau mà
HĐH coi như một ổ logic duy nhất.
 Dữ liệu được lưu trữ phân tán trên tất cả các đĩa
 Có thể tạo và lưu trữ thông tin dư thừa nhằm mục đích cho việc phục hồi khi
đĩa nào đó bị hỏng. Độ tin cậy trong lưu trữ thông tin rất cao. Được sử
dụng là bộ nhớ cho các hệ điều hành
LOGO CẤU TẠO

118
LOGO 2. Đĩa quang (CD-ROM, DVD)
 CD-ROM (Compact Disk ROM)
 CD-R (Recordable CD)
 CD-RW (Rewriteable CD)
• Dung lượng phổ biến 650MB
 Ổ đĩa CD
 ổ CD ROM: có thể đọc dữ liệu từ đĩa CD
 ổ CD RW : Có thể vừa ổ đọc đĩa CD và có thể ghi dữ liệu lên
đĩa CD-R, và CD-RW.
• Tốc độ đọc cơ sở 150KB/s
• Tốc độ bội lần : 40x, 50x, 60x,…
 DVD(Digital Video Disk): chỉ dùng trên đầu đọc
 DVD (Digital Versatile Disk): dùng trên ổ đĩa máy tính
• Dung lượng thông dụng 4.7GB
119
LOGO

120
LOGO 3. Flash disk

 Thường kết nối qua cổng USB


 Không phải dạng đĩa là bộ nhớ bán dẫn cực nhanh
 Dung lượng phát triển nhanh
 Gọn nhẹ và tiện lợi

121
LOGO GiỚI THIỆU TỔNG QUAN VỀ RAID

RAID (Redundant Arrays of Independent Disks) là hình thức ghép nhiều đĩa
cứng vật lý thành một mảng đĩa cứng
 Gồm 7 mức: từ 0 đến 6
 Các mức không thể hiện mối quan hệ thứ bậc mà là các kiến trúc thiết kế
khác nhau có chung ba đặc điểm:
1. Mảng đĩa cứng vật lý được hệ điều hành coi như một ổ logic duy nhất 
có dung lượng lớn
2. Dữ liệu được lưu trữ phân tán trên các ổ đĩa vật lý  cho phép truy cập
song song  tốc độ nhanh
3. Có thể sử dụng dung lượng dự phòng (redundant capacity) để lưu trữ các
thông tin kiểm tra chẵn lẻ, cho phép khôi phục lại thông tin trong trường
hợp đĩa bị hỏng  an toàn thông tin

122
LOGO

123
LOGO GiỚI THIỆU TỔNG QUAN VỀ RAID

 Đặc điểm chung của RAID


 RAID là tập hợp các ổ đĩa vật lý được nhìn từ hệ điều
hành như ổ đĩa logic đơn.
 Dữ liệu được phân bố trên mảng các ổ đĩa vật lý. Sử
dụng kỹ thuật Striping. (Striping là kỹ thuật phân chia
dữ liệu trên hai hay nhiều ổ đĩa làm tăng khả năng làm
việc song song hệ thống)
 Dung lượng đĩa dư thừa được sử dụng để lưu trữ thông
tin chẵn lẻ nhằm đảm bảo khả năng phục hồi dữ liệu
trong trường hợp có hư hỏng về đĩa.
124
LOGO GiỚI THIỆU TỔNG QUAN VỀ RAID

125
LOGO Các mức của RAID

Có 6 mức chính của RAID


 RAID 0
 RAID 1
 RAID 2
 RAID 3
 RAID 4
 RAID 5

126
LOGO RAID LEVEL 0

127
LOGO RAID LEVEL 1

128
LOGO RAID LEVEL 2

129
LOGO RAID LEVEL 3

130
LOGO RAID LEVEL 4

131
LOGO RAID LEVEL 5

132
LOGO RAID LEVEL 0

133
LOGO Đặc điểm chung RAID mức 0

 Có thể coi RAID 0 không là thành viên của RAID


 Dữ liêu được phân chia nhiều đĩa => có khả năng
truyền dữ liệu song song.
 Không lưu trữ dữ liệu dư thừa
 Phù hợp hệ thống đòi hỏi dung lượng nhớ lớn và khả
năng vận hành cao hơn là độ tin cậy trong hệ thống.

134
LOGO RAID LEVEL 1

135
LOGO Đặc điểm chung RAID mức 1

 Là mức rất khác so các mức còn lại về cách lưu trữ dữ
liệu dư thừa.
 Mỗi đĩa dữ liệu có một đĩa dự phòng đĩa dự phòng còn
gọi mirror disk.
Ưu điểm:
 Đáp ứng yêu cầu vào ra hệ thống
Phục hồi dữ tốt nhất trong các mức của RAID
Nhược điểm:
 Khả năng cập nhật dữ liệu chậm
 Chi phí mua đĩa cao
KQ: Vận hành tốt cho hệ thống thường xuyên truy xuất
dữ liệu 136
LOGO RAID LEVEL 2

137
LOGO Đặc điểm chung RAID mức 2
 Sử dụng công nghệ truy cập song song.
 Tất cả đĩa đều vận hành tham gia yêu cầu trao đổi dữ liệu.
 Kích thước Strip có thể byte hay word.
Có sử dụng mã Hamming để phát hiện lỗi và sửa lỗi
Ưu điểm:
 Có khả năng phát hiện lỗi và sửa những lỗi đơn hệ thống.
Số đĩa sử dụng ít hơn so mức RAID 1
Nhược điểm:
 Chi phí mua đĩa cao.
KQ: Ứng dụng trong hệ thống hay xuất hiện lỗi
138
LOGO RAID LEVEL 3

139
LOGO Đặc điểm chung RAID mức 3

 Giống RAID 2 những tổ chức đơn giản hơn. Sử dụng một


đĩa dự phòng.
 Tất cả đĩa đều vận hành tham gia yêu cầu trao đổi dữ liệu.
 Kích thước Strip có thể byte hay word.
Có sử dụng mã Parity để phục hồi dữ liệu.
Ưu điểm:
 Có khả năng truyền dữ liệu song song.
Số đĩa sử dụng dự phòng là 1 đĩa. Chi phí thấp.
Nhược điểm:
Tại một thời điểm chỉ thỏa mãn một yêu cầu vào ra.
KQ: Ứng dụng trong hệ thống hay xuất hiện lỗi
140
LOGO RAID LEVEL 4

141
LOGO Đặc điểm chung RAID mức 4
 Giống RAID 3 những tổ chức đơn giản hơn. Sử dụng một
đĩa dự phòng.
 Dữ liệu tổ chức thành khối.
 Các đĩa sử dụng phương pháp truy cập độc lập.
Có sử dụng mã Parity để phục hồi dữ liệu.
Ưu điểm:
 Có khả năng đáp ứng nhiều yêu cầu vào ra đồng thời.
Số đĩa sử dụng dự phòng là 1 đĩa. Chi phí thấp.
Nhược điểm:
Khả năng truyền dữ liệu song song là kém.
KQ: Ứng dụng trong hệ thống hay xuất hiện lỗi
142
LOGO RAID LEVEL 5

143
LOGO Đặc điểm chung RAID mức 5

 Giống RAID 4, tuy nhiên sự phân bố đều thông tin dư


phòng tránh được hiện tượng tắc nghẽn(bottle neck)
 Dữ liệu tổ chức thành khối.
 Các đĩa sử dụng phương pháp truy cập độc lập.
Có sử dụng mã Parity để phục hồi dữ liệu.
Ưu điểm:
 Có khả năng đáp ứng nhiều yêu cầu vào ra đồng thời.
Số đĩa sử dụng dự phòng là 1 đĩa. Chi phí thấp.
Nhược điểm:
Khả năng truyền dữ liệu song song là kém.
KQ: Ứng dụng nhiều trong thực tế.
144
LOGO RAID LEVEL 6

145
LOGO RAID LEVEL 10

146
LOGO RAID LEVEL 50

147
LOGO 3.5 Hệ thống nhớ trên máy PC hiện nay

 Hệ thống Cache: tích hợp trực tiếp trên các chip vi xử



 Bộ nhớ chính: tồn tại dưới dạng module nhớ RAM
 SIMM: Single Inline Memory Module
 30 pin : 8 đường dữ liệu
 72 pin : 32 đường dữ liệu
 DIMM: Dual Inline Memory Module
 168 pin: 64 đường dữ liệu
 RIMM:Rambus Inline Memory Module

148
LOGO ROM BIOS

ROM BIOS: Basic Input Output System ROM chứa


chương trình sau:
 Chương trình POST (Power On Self Test)
 Chương trình CMOS setup (Compementary Metal
Oxide Semiconductor)
 Chương trình Bootstrap Looader
 Chương trình điều khiển vào ra cơ bản (BIOS)
 CMOS RAM
 Chứa cấu hình hệ thống hiện thời
 Đồng hồ và ngày tháng năm hệ thống
 Có pin nuôi riêng
149
BÀI GIẢNG MÔN

KIẾN TRÚC MÁY


TÍNH
HẾT CHƯƠNG 4

LOGO
LOGO

Câu 1: sử dụng thuật toán BOOTH thực hiện phép


nhân 2 số:
1. (-5)x3
2. 5x(-5)
Câu 2: biểu diễ các số sau dưới dạng dấu phảy động:
1. 21.545
2. 19.235
3. Câu 3:

151
LOGO

Câu 1:

1. Cho chip nhớ SRAM 8K x 8 bit, thiết kế module nhớ


16K x 8 bit

2. Cho chip nhớ SRAM 8K x 8 bit, thiết kế module nhớ


8K x 16 bit

152
LOGO

Câu 2:
1. Cho máy tính có dung lượng bộ nhớ chính: 256MB, cache:
128KB, line: 16 byte, độ dài ngăn nhớ: 2 byte.
a. Trong trường hợp kỹ thuật ánh xạ trực tiếp, dạng địa chỉ do bộ
xử lý phát ra để truy nhập cache là ba nhiêu?
b. Xác định số bit của trường địa chỉ khi ánh xạ kết hợp
2. Cho máy tính có dung lượng bộ nhớ chính: 512MB, cache:
128KB, line: 64 byte, độ dài ngăn nhớ: 4 byte.
a. Trong trường hợp kỹ thuật ánh xạ trực tiếp, dạng địa chỉ do bộ
xử lý phát ra để truy nhập cache là bao nhiêu?
b. Xác định số bit của trường địa chỉ khi ánh xạ kết hợp

153

You might also like