You are on page 1of 450

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÀI GIẢNG MÔN

KIẾN TRÚC MÁY TÍNH


VÀ HỆ ĐIỀU HÀNH

Giảng viên: Lê Hải Châu


Khoa Viễn thông 1
Email: lehaichaukvt@gmail.com
TÀI LIỆU THAM KHẢO

1. Stallings W., Computer Organization and


Architecture, Prentice – Hall 1996.
2. Nguyễn Thị Ngọc Vinh, Bài giảng Kiến trúc
máy tính và Hệ điều hành
3. Trần Quang Vinh, Cấu trúc máy vi tính, Nhà
xuất bản Giáo dục, 1999.
4. Hồ Khánh Lâm, Kỹ thuật vi xử lý, Nhà xuất
bản Bưu điện, 2005

www.ptit.edu.vn Trang 2
ĐIỂM THÀNH PHẦN

▪ Điểm chuyên cần: 10%


▪ Bài tập, thảo luận: 10%
▪ Kiểm tra: 10%
▪ Thi cuối kỳ : 70% TB Kiểm tra
Chuyên 10%
cần/Tư cách
Thi cuối kỳ 10%
70%

Thực
hành/Bài tập
10%

www.ptit.edu.vn Trang 3
CÁC NỘI DUNG CHÍNH

❖Phần 1- Kiến trúc máy tính:


▪ Giới thiệu chung
▪ Khối xử lý trung tâm – CPU
▪ Hệ thống nhớ
▪ Hệ thống bus và thiết bị ngoại vi
❖Phần 2 - Hệ điều hành:
▪ Tổng quan về hệ điều hành
▪ Các thành phần của hệ điều hành

www.ptit.edu.vn Trang 4
CHƯƠNG 1: GIỚI THIỆU CHUNG

www.ptit.edu.vn Trang 5
CHƯƠNG 1 – NỘI DUNG CHÍNH

1. Khái niệm kiến trúc và tổ chức máy tính


2. Cấu trúc và chức năng của máy tính
3. Lịch sử phát triển máy tính
4. Kiến trúc Von Neumann
5. Kiến trúc Harvard
6. Các hệ số đếm và tổ chức lưu trữ dữ liệu trên
máy tính

www.ptit.edu.vn Trang 6
1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH

❖Tổ chức máy tính (computer organization): là


khoa học nghiên cứu các thành phần của máy
tính và phương thức làm việc của chúng
❖Kiến trúc máy tính (computer architecture): là
khoa học về lựa chọn và kết nối các thành
phần phần cứng của máy tính nhằm đạt yêu
cầu:
▪ Hiệu năng: càng nhanh càng tốt
▪ Chức năng: nhiều chức năng
▪ Giá thành: càng rẻ càng tốt

www.ptit.edu.vn Trang 7
1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH

❖3 thành phần cơ bản của kiến trúc máy


tính:
1. Kiến trúc tập lệnh (ISA): là hình ảnh trừu
tượng của máy tính ở mức ngôn ngữ máy
(hoặc hợp ngữ), bao gồm:
• Tập lệnh
• Các chế độ địa chỉ bộ nhớ
• Các thanh ghi
• Khuôn dạng địa chỉ và dữ liệu

www.ptit.edu.vn Trang 8
1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH

2. Vi kiến trúc (microarchitecture): còn được


gọi là tổ chức máy tính, mô tả về hệ thống
ở mức thấp, liên quan tới:
• Các thành phần phần cứng kết nối với nhau
như thế nào
• Các thành phần phần cứng phối hợp, tương tác
với nhau như thế nào để thực hiện tập lệnh

www.ptit.edu.vn Trang 9
1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH

3. Thiết kế hệ thống, bao gồm tất cả các thành


phần phần cứng khác trong hệ thống máy
tính, ví dụ:
• Các hệ thống kết nối như bus và chuyển mạch
• Mạch điều khiển bộ nhớ, cấu trúc phân cấp bộ
nhớ
• Các kỹ thuật giảm tải cho CPU như truy cập trực
tiếp bộ nhớ
• Các vấn đề như đa xử lý

www.ptit.edu.vn Trang 10
2. CẤU TRÚC VÀ CHỨC NĂNG CỦA MÁY TÍNH

Hệ thống máy tính gồm:


(1) CPU – Khối xử lý trung tâm
(2) Bộ nhớ (ROM và RAM)
(3) Các thiết bị ngoại vi
(4) Bus hệ thống

www.ptit.edu.vn Trang 11
2. CẤU TRÚC VÀ CHỨC NĂNG CỦA MÁY TÍNH

❖Bộ xử lý trung tâm (CPU):


▪ Chức năng:
• Đọc lệnh từ bộ nhớ
• Giải mã và thực hiện lệnh
▪ Bao gồm:
• Khối điều khiển (CU: Control Unit)
• Khối tính toán số học và logic (ALU: Arithmetic and
Logic Unit)
• Các thanh ghi (Registers)
• Bus trong CPU

www.ptit.edu.vn Trang 12
2. CẤU TRÚC VÀ CHỨC NĂNG CỦA MÁY TÍNH

Vi xử lý Intel
8086 (1978)

Vi xử lý Intel
Core 2 Duo
(2006)

www.ptit.edu.vn Trang 13
2. CẤU TRÚC VÀ CHỨC NĂNG CỦA MÁY TÍNH

www.ptit.edu.vn Trang 14
2. CẤU TRÚC VÀ CHỨC NĂNG CỦA MÁY TÍNH

❖Bộ nhớ trong:


▪ Lưu trữ lệnh và dữ liệu để CPU xử lý
▪ Bao gồm:
• ROM – Read Only Memory:
– Lưu trữ lệnh và dữ liệu của hệ thống
– Thông tin trong ROM vẫn tồn tại khi mất nguồn nuôi
• RAM – Random Access Memory:
– Lưu trữ lệnh và dữ liệu của hệ thống và người dùng
– Thông tin trong RAM sẽ mất khi mất nguồn nuôi

www.ptit.edu.vn Trang 15
BỘ NHỚ TRONG

www.ptit.edu.vn Trang 16
2. CẤU TRÚC VÀ CHỨC NĂNG CỦA MÁY TÍNH

❖Các thiết bị vào ra:


▪ Thiết bị vào (input devices): nhập dữ liệu và
điều khiển
• Bàn phím
• Chuột
• ổ đĩa
• Máy quét
▪ Thiết bị ra: kết xuất dữ liệu
• Màn hình
• Máy in
• ổ đĩa

www.ptit.edu.vn Trang 17
THIẾT BỊ NGOẠI VI

Các thiết bị vào ra - ổ đĩa cứng HDD

www.ptit.edu.vn Trang 18
www.ptit.edu.vn Trang 19
BUS HỆ THỐNG

▪ Tập các đường dây kết nối CPU với các


thành phần khác của máy tính
▪ Bao gồm 3 loại:
• Bus địa chỉ (gọi là bus A)
• Bus dữ liệu (gọi là bus D)
• Bus điều khiển (bus C)

www.ptit.edu.vn Trang 20
BUS HỆ THỐNG

PCI bus

www.ptit.edu.vn Trang 21
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH

Lịch sử phát triển máy tính được chia thành 5 thế


hệ dựa trên sự phát triển mạch điện tử

❖Thế hệ 1 (1944-1959):
▪ Sử dụng bóng đèn điện tử
▪ Dùng băng từ làm các thiết bị đầu vào/ ra
▪ Mật độ tích hợp linh kiện: 1000 linh kiện/ foot3 (1 foot=
30.48 cm)
▪ Ví dụ: ENIAC - Electronic Numerical Integrator and
Computer, giá 500,000 USD.

www.ptit.edu.vn Trang 22
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH

www.ptit.edu.vn Trang 23
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH

❖Thế hệ thứ 2 (1960-1964):


▪ Sử dụng transistors
▪ ~ 100,000 linh kiện/ foot3
▪ Ví dụ: UNIVAC 1107, UNIVAC III, IBM 7070, 7080,
7090, 1400 series, 1600 series.

www.ptit.edu.vn Trang 24
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH– UNIVAC

www.ptit.edu.vn Trang 25
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH

❖Thế hệ thứ 3 (1964-1975):


▪ Sử dụng mạch tích hợp (IC)
▪ ~ 10 triệu linh kiện/ foot3
▪ Ví dụ: UNIVAC 9000 series, IBM System/360, System
3, System 7

www.ptit.edu.vn Trang 26
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH– UNIVAC 9400

www.ptit.edu.vn Trang 27
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH

❖Thế hệ 4 (1975-1989):
▪ Sử dụng LSI – Large Scale Integrated Circuit
▪ ~ 1 tỷ linh kiện / foot
▪ Ví dụ: IBM System 3090, IBM RISC 6000, IBM RT,
Cray 2 XMP

www.ptit.edu.vn Trang 28
Cray 2 XMP

www.ptit.edu.vn Trang 29
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH

❖Thế hệ thứ 5 (1990- nay):


▪ Sử dụng VLSI – Very Large Scale Integrated Circuit
▪ 0.18m – 0.045m
▪ Ví dụ: Pentium II, III, IV, M, D, Core Duo, Core 2
Duo, Core Quad,...
▪ Hỗ trợ xử lý song song
▪ Hiệu năng rất cao
▪ Kết hợp xử lý giọng nói và hình ảnh

www.ptit.edu.vn Trang 30
3. LỊCH SỬ PHÁT TRIỂN MÁY TÍNH

www.ptit.edu.vn Trang 31
4. KIẾN TRÚC VON-NEUMANN

Kiến trúc máy tính von-Neumann được nhà toán học John
von-Neumann đưa ra vào năm 1945
➔ Kiến trúc máy tính von-Neumann nguyên thủy

www.ptit.edu.vn Trang 32
4. KIẾN TRÚC VON-NEUMANN

Các máy tính hiện đại ngày nay sử dụng kiến trúc máy tính
von-Neumann cải tiến (kiến trúc von-Neumann hiện đại)

www.ptit.edu.vn Trang 33
4. KIẾN TRÚC VON-NEUMANN

❖Kiến trúc Von-Neumann được giới thiệu bởi


John von-Neumann vào năm 1945.
❖Các máy tính kiến trúc Von-Neumann dựa trên 3
khái niệm cơ bản:
▪ Dữ liệu và lệnh được lưu trong một bộ nhớ đọc/viết
chia sẻ
▪ Bộ nhớ được đánh địa chỉ dựa trên đoạn và không
phụ thuộc vào việc nó lưu trữ gì
▪ Các lệnh của chương trình được chạy lần lượt, lệnh
nọ tiếp sau lệnh kia

www.ptit.edu.vn Trang 34
4. KIẾN TRÚC VON-NEUMANN

❖Quá trình thực hiện lệnh được chia thành 3 giai


đoạn chính :
▪ CPU lấy lệnh (fetch) từ bộ nhớ
▪ CPU giải mã lệnh và chạy lệnh; nếu lệnh cần dữ liệu
thì đọc dữ liệu từ bộ nhớ
▪ CPU viết kết quả vào bộ nhớ nếu có

www.ptit.edu.vn Trang 35
5. KIẾN TRÚC HARVARD

www.ptit.edu.vn Trang 36
5. KIẾN TRÚC HARVARD

❖Bộ nhớ được chia thành 2 phần:


▪ Bộ nhớ chương trình
▪ Bộ nhớ dữ liệu
❖CPU sử dụng 2 bus hệ thống để liên hệ với bộ
nhớ:
▪ Một bus A cho bộ nhớ chương trình và 1 bus A cho
bộ nhớ dữ liệu
▪ Một bus D cho bộ nhớ chương trình và 1 bus D khách
cho bộ nhớ dữ liệu

www.ptit.edu.vn Trang 37
5. KIẾN TRÚC HARVARD

❖Nhanh hơn vì băng thông bus rộng.


❖Hỗ trợ nhiều truy cập đọc/viết bộ nhớ cùng lúc
→ giảm xung đột truy cập bộ nhớ

www.ptit.edu.vn Trang 38
Sample
mother
board

www.ptit.edu.vn Trang 39
Sample
mother
board

www.ptit.edu.vn Trang 40
Sample
mother
board

www.ptit.edu.vn Trang 41
6. BIỂU DIỄN DỮ LIỆU TRONG MÁY TÍNH

❖Sử dụng hệ nhị phân để biểu diễn dữ liệu


❖Hệ nhị phân sử dụng 2 kí tự 0 và 1; 0 biểu diễn
giá trị logic False; 1 biểu diễn giá trị logic True.
❖Hệ hexa cũng được sử dụng; gồm 16 kí tự: 0-9,
A, B, C, D, E, F.

www.ptit.edu.vn Trang 42
HỆ THẬP PHÂN

❖ Sử dụng 10 chữ số: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.


❖ Một số trong hệ thập phân có thể được biểu diễn dạng đa
thức:
anan-1...a1 = an*10n-1an-1*10n-2*...*a1*100

Ví dụ:
123 = 1*102 + 2 * 101 + 3*100 = 100+20+3
123.456 = 1*102 + 2*101 + 3*100 + 4*10-1 + 5*10-2 + 6*10-3
= 100 + 20 + 3 + 0.4 + 0.05 + 0.006

www.ptit.edu.vn Trang 43
HỆ NHỊ PHÂN

❖ Sử dụng dạng đa thức để biểu diễn số nhị phân:

(11001010)2
= 1*27 + 1*26 + 0*25 + 0*24 + 1*23 + 0*22 + 1*21 + 0*20
= 128 + 64 + 8 + 2 = (202)10

www.ptit.edu.vn Trang 44
CHUYỂN ĐỔI SỐ THẬP PHÂN SANG NHỊ PHÂN

www.ptit.edu.vn Trang 45
HỆ HEXA

❖ Mỗi kí hiệu trong hệ hexa được biểu diễn bởi 4 kí hiệu


trong hệ nhị phân

www.ptit.edu.vn Trang 46
TỔ CHỨC DỮ LIỆU

❖ Bits:
▪ Là đơn bị dữ liệu nhỏ nhất
▪ Một bit chỉ có thể lưu trữ 2 giá trị: 0 hoặc1, true hoặc false.
❖ Nibbles:
▪ Nhóm 4 bits
▪ Có thể lưu trữ tới 16 giá trị từ (0000)2 tới (1111)2, hoặc 1
số hệ hexa.

www.ptit.edu.vn Trang 47
TỔ CHỨC DỮ LIỆU

❖ Bytes:
▪ Nhóm 8 bit hoặc 2 nibbles
▪ Có thể lưu tới 256 giá trị, từ (0000 0000)2 tới (1111 1111)2,
hoặc từ (00)16 tới (FF)16.

www.ptit.edu.vn Trang 48
TỔ CHỨC DỮ LIỆU

❖ Words (từ):
▪ Nhóm 16 bits, hay 2 bytes
▪ Có thể lưu tới 216 (65536) values, từ (0000)16 tới (FFFF)16.

www.ptit.edu.vn Trang 49
TỔ CHỨC DỮ LIỆU

❖ Double words:
▪ A double word nhóm 32 bits, hoặc 4 bytes, hoặc 2 words
▪ Có thể lưu tới 232 values, từ (0000 0000)16 tới (FFFF
FFFF)16.

www.ptit.edu.vn Trang 50
SỐ CÓ DẤU VÀ KHÔNG DẤU

❖ Trong hệ nhị phân, bit trái nhất được dùng để biếu diễn
dấu của số có dấu
▪ Bit trái nhất là 0 → số dương
▪ Bit trái nhất là 1 → số âm
❖ Ví dụ: sử dụng 4 bit để biểu diễn các số
▪ 0011, 0111, 0101là các số dương
▪ 1011, 1111, 1101 là các số âm
❖ Đối với các số không dấu, tất cả các bit đều lưu giá trị

www.ptit.edu.vn Trang 51
SỐ CÓ DẤU VÀ KHÔNG DẤU

❖ Phạm vi biểu diễn: n bits có thể biểu diễn:


▪ Số có dấu: từ -2n-1 tới + 2n-1-1
• 8 bits: từ -128 tới +127
• 16 bits: từ -32768 tới +32767
• 32 bits: từ -2,147,483,648 tới +2,147,483,647
▪ Số không dấu: từ 0 tới 2n
• 8 bits: từ 0 tới 256
• 16 bits: từ 0 tới 65536
• 32 bits: từ 0 tới 4,294,967,296

www.ptit.edu.vn Trang 52
BẢNG MÃ ASCII

❖ ASCII (American Standard Code for Information


Interchange) là bảng mã các kí tự chuẩn tiếng Anh
dùng cho trao đổi dữ liệu trong các hệ thống tính toán.
❖ Sử dụng 8 bit để biểu diễn 1 kí tự.
❖ Mã ASCII gồm định nghĩa cho 128 kí tự :
▪ 33 kí tự điều khiển
▪ 94 kí tự
❖ Các giá trị còn lại (129-255) dự trữ

www.ptit.edu.vn Trang 53
BẢNG MÃ ASCII

www.ptit.edu.vn Trang 54
BẢNG MÃ ASCII

www.ptit.edu.vn Trang 55
CHƯƠNG 2: KHỐI XỬ LÝ
TRUNG TÂM

www.ptit.edu.vn Trang 56
CHƯƠNG 2: NỘI DUNG CHÍNH

1. Khối xử lý trung tâm


▪ Sơ đồ khối tổng quát
▪ Chu kỳ xử lý lệnh
▪ Thanh ghi
▪ Khối điều khiển (CU)
▪ Khối số học và logic (ALU)
▪ Bus trong CPU

www.ptit.edu.vn Trang 57
CHƯƠNG 2: NỘI DUNG CHÍNH

2. Tập lệnh máy tính


▪ Khái niệm lệnh, tập lệnh
▪ Chu kỳ và các pha thực hiện lệnh
▪ Các dạng toán hạng
▪ Các chế độ địa chỉ
▪ Một số dạng lệnh thông dụng
3. Giới thiệu cơ chế ống lệnh

www.ptit.edu.vn Trang 58
2.1 KHỐI XỬ LÝ TRUNG TÂM

www.ptit.edu.vn Trang 59
CPU – SƠ ĐỒ KHỐI TỔNG QUÁT
CU: (Control Unit) Khối điều khiển
IR: (Instruction Register) Thanh ghi
lệnh CU A
PC: (Program Counter) Bộ đếm
chương trình
IR Y
MAR: (Memory Address Register)

Internal Bus
Thanh ghi địa chỉ bộ nhớ
MBR: (Memory Buffer Register) Thanh PC
ghi nhớ đệm
ALU
A: (Accumulator Register) Thanh ghi A
tích lũy Bus MAR
Y, Z: (Temporary Register) Thanh ghi
Z
tạm thời D
FR: (Flag Register) Thanh ghi cờ Bus MBR
ALU: (Arithmetic and Logic Unit) Khối
FR
tính toán số học -logic

www.ptit.edu.vn Trang 60
CHU KỲ XỬ LÝ LỆNH
1. Khi một chương trình được chạy, hệ điều hành tải mã
chương trình vào bộ nhớ trong
2. Địa chỉ lệnh đầu tiên của chương trình được đưa vào
thanh ghi PC
3. Địa chỉ của ô nhớ chứa lệnh được chuyển tới bus A
qua thanh ghi MAR
4. Tiếp theo, bus A truyền địa chỉ tới khối quản lý bộ nhớ
MMU (Memory Management Unit)
5. MMU chọn ô nhớ và sinh ra tín hiệu READ

www.ptit.edu.vn Trang 61
CHU KỲ XỬ LÝ LỆNH
6. Lệnh chứa trong ô nhớ được chuyển tới thanh ghi MBR
qua bus D
7. MBR chuyển lệnh tới thanh ghi IR. Sau đó IR lại chuyển
lệnh tới CU
8. CU giải mã lệnh và sinh ra các tín hiệu xử lý cho các
đơn vị khác, ví dụ như ALU để thực hiện lệnh
9. Địa chỉ trong PC được tăng lên để trỏ tới lệnh tiếp theo
của chương trình sẽ được thực hiện
10. Thực hiện lại các bước 3->9 để chạy hết các lệnh của
chương trình

www.ptit.edu.vn Trang 62
THANH GHI
❖ Thanh ghi là thành phần nhớ ở bên trong CPU:
▪ Lưu trữ tạm thời lệnh và dữ liệu cho CPU xử lý
▪ Dung lượng nhỏ, số lượng ít
▪ Tốc độ rất cao (bằng tốc độ CPU)
❖ Các CPU thế hệ cũ (80x86) có 16 – 32 thanh ghi. CPU
thế hệ mới (Intel Pentium 4, Core 2 Duo) có hàng trăm
thanh ghi
❖ Kích thước thanh ghi phụ thuộc vào thiết kế CPU: 8, 16,
32, 64, 128 và 256 bit
▪ 8086 và 80286: 8 và 16 bit
▪ 80386, Pentium II: 16 – 32 bit
▪ Pentium IV, Core Duo: 32, 64 và 128 bit

www.ptit.edu.vn Trang 63
THANH GHI TÍCH LŨY A (Accumulator)
❖ Thanh ghi tích lũy hay thanh ghi A là một trong những
thanh ghi quan trọng nhất của CPU
▪ Lưu trữ các toán hạng đầu vào
▪ Lưu kết quả đầu ra
❖ Kích thước của thanh ghi A tương ứng với độ dài từ xử
lý của CPU: 8, 16, 32, 64 bit
❖ Cũng được sử dụng để trao đổi dữ liệu với các thiết bị
vào ra

www.ptit.edu.vn Trang 64
BỘ ĐẾM CHƯƠNG TRÌNH PC
❖ Program Counter hay Instruction Pointer lưu địa chỉ bộ
nhớ của lệnh tiếp theo
❖ PC chứa địa chỉ ô nhớ chứa lệnh đầu tiên của chương
trình khi nó được kích hoạt và được tải vào bộ nhớ
❖ Sau khi CPU chạy xong 1 lệnh, địa chỉ ô nhớ chứa lệnh
tiếp theo được tải vào PC
❖ Kích thước của PC phụ thuộc vào thiết kế CPU: 8, 16,
32, 64 bit

www.ptit.edu.vn Trang 65
THANH GHI TRẠNG THÁI FR
❖ Mỗi bit của thanh ghi cờ lưu trữ trạng thái kết quả phép
tính được ALU thực hiện
❖ Có 2 kiểu cờ:
▪ Cờ trạng thái: CF, OF, AF, ZF, PF, SF
▪ Cờ điều khiển: IF, TF, DF
❖ Các bit cờ thường được dùng là các điều kiện rẽ nhánh
lệnh tạo logic chương trình
❖ Kích thước FR phụ thuộc thiết kế CPU

www.ptit.edu.vn Trang 66
THANH GHI TRẠNG THÁI FR

❖ ZF: Zero Flag, ZF=1 nếu kết quả =0 và ZF=0 nếu kết quả <>0.
❖ SF: Sign Flag, SF=1 nếu kết quả âm và SF=0 nếu kết quả dương
❖ CF: Carry Flag, CF=1 nếu có nhớ/mượn ở bit trái nhất
❖ AF: Auxiliary Flag, AF=1 nếu có nhớ ở bit trái nhất của nibble
❖ OF: Overflow Flag, OF=1 nếu có tràn, OF=0 ngược lại
❖ PF: Parity Flag, PF=1 nếu tổng số bit 1 trong kết quả là số lẻ, PF=0 ngược lại
❖ IF: Interrupt Flag, IF=1: ngắt được phép, IF=0: cấm ngắt

www.ptit.edu.vn Trang 67
THANH GHI TRẠNG THÁI CỦA 8086

www.ptit.edu.vn Trang 68
CON TRỎ NGĂN XẾP (SP: Stack Pointer)
❖ Ngăn xếp là 1 đoạn bộ nhớ đặc biệt hoạt động theo
nguyên tắc vào sau ra trước (LIFO)
❖ Con trỏ ngăn xếp là thanh ghi luôn trỏ tới đỉnh của ngăn
xếp
❖ 2 thao tác với ngăn xếp:
▪ Push: đẩy dữ liệu vào ngăn xếp
SP
SP  SP + 1
{SP}  Data
▪ Pop: lấy dữ liệu ra khỏi ngăn xếp
Register  {SP}
SP  SP - 1
Stack

www.ptit.edu.vn Trang 69
CÁC THANH GHI ĐA NĂNG
❖ Có thể sử dụng cho nhiều mục đích:
▪ Lưu các toán hạng đầu vào
▪ Lưu các kết quả đầu ra
❖ Ví dụ: CPU 8086 có 4 thanh ghi đa năng
▪ AX: Accumulator Register
▪ BX: Base Register
▪ CX: Counter Register
▪ DX: Data Register

www.ptit.edu.vn Trang 70
THANH GHI LỆNH IR

❖ Lưu trữ lệnh đang được xử lý


❖ IR lấy lệnh từ MBR và chuyển nó tới CU để giải mã
lệnh

MBR IR CU

www.ptit.edu.vn Trang 71
THANH GHI MBR VÀ MAR
❖ MAR: thanh ghi địa chỉ bộ nhớ
▪ Giao diện giữa CPU và bus địa chỉ
▪ Nhận địa chỉ bộ nhớ của lệnh tiếp theo từ PC và chuyển
nó tới bus địa chỉ
❖ MBR: thanh ghi đệm bộ nhớ
▪ Giao diện giữa CPU và bus dữ liệu
▪ Nhận lệnh từ bus dữ liệu và chuyển nó tới IR

www.ptit.edu.vn Trang 72
CÁC THANH GHI TẠM THỜI
❖ CPU thường sử dụng một số thanh ghi tạm thời để:
▪ Lưu trữ các toán hạng đầu vào
▪ Lưu các kết quả đầu ra
▪ Hỗ trợ xử lý song song (tại một thời điểm chạy nhiều hơn
1 lệnh)
▪ Hỗ trợ thực hiện lệnh theo cơ chế thực hiện tiên tiến kiểu
không trật tự (OOO – Out Of Order execution)

www.ptit.edu.vn Trang 73
KHỐI ĐIỀU KHIỂN CU

Internal External
control control
signal signal

Control Unit ALU


CLK CU Flags

IR

www.ptit.edu.vn Trang 74
KHỐI ĐIỀU KHIỂN CU
❖ Điều khiển tất cả các hoạt động của CPU theo xung
nhịp đồng hồ
❖ Nhận 3 tín hiệu đầu vào:
▪ Lệnh từ IR
▪ Giá trị các cờ trạng thái
▪ Xung đồng hồ
❖ CU sinh 2 nhóm tín hiệu đầu ra:
▪ Nhóm tín hiệu điều khiển các bộ phận bên trong CPU
▪ Nhóm tín hiệu điều khiển các bộ phận bên ngoài CPU
❖ Sử dụng nhịp đồng hồ để đồng bộ hóa các đơn vị bên
trong CPU và giữa CPU với các thành phần bên ngoài

www.ptit.edu.vn Trang 75
KHỐI SỐ HỌC VÀ LOGIC ALU

IN IN

ADD SUB NEG SHL

MUL DIV SHR ROL

NOT OR

AND ROR XOR

OUT

www.ptit.edu.vn Trang 76
KHỐI SỐ HỌC VÀ LOGIC ALU
❖ Bao gồm các đơn vị chức năng con để thực hiện các
phép toán số học và logic:
▪ Bộ cộng (ADD), bộ trừ (SUB), bộ nhân (MUL), bộ chia
(DIV), …
▪ Các bộ dịch (SHIFT) và quay (ROTATE)
▪ Bộ phủ định (NOT), bộ và (AND), bộ hoặc (OR), và bộ
hoặc loại trừ (XOR)
❖ ALU có:
▪ 2 cổng IN để nhận đầu vào từ các thanh ghi
▪ 1 cổng OUT được nối với bus trong để gửi kết quả tới các
thanh ghi

www.ptit.edu.vn Trang 77
BUS TRONG
❖ Bus trong là kênh liên lạc của tất cả các thành phần
trong CPU
❖ Hỗ trợ liên lạc 2 chiều
❖ Bus trong có giao diện để trao đổi thông tin với bus
ngoài (bus hệ thống)
❖ Bus trong luôn có băng thông lớn và tốc độ nhanh hơn
so với bus ngoài

www.ptit.edu.vn Trang 78
2.2 TẬP LỆNH MÁY TÍNH

www.ptit.edu.vn Trang 79
GIỚI THIỆU CHUNG

❖ Lệnh máy tính là một từ nhị phân (binary word) mà thực


hiện một nhiệm vụ cụ thể:
▪ Lệnh được lưu trong bộ nhớ
▪ Lệnh được đọc từ bộ nhớ vào CPU để giải mã và thực
hiện
▪ Mỗi lệnh có chức năng riêng của nó
❖ Tập lệnh gồm nhiều lệnh, có thể được chia thành các
nhóm theo chức năng:
▪ Chuyển dữ liệu (data movement)
▪ Tính toán (computational)
▪ Điều kiện và rẽ nhánh (conditioning & branching)
▪ Các lệnh khác …

www.ptit.edu.vn Trang 80
GIỚI THIỆU CHUNG

❖ Quá trình thực hiện/ chạy lệnh được chia thành các pha
hay giai đoạn (stage). Mỗi lệnh có thể được thực hiện
theo 4 giai đoạn:
▪ Đọc lệnh IF(Instruction Fetch): lệnh được đọc từ bộ nhớ
vào CPU
▪ Giải mã lệnh ID(Instruction Decode): CPU giải mã lệnh
▪ Chạy lệnh IE(Instruction Execution): CPU thực hiện lệnh
▪ Ghi WB(Write Back): kết quả lệnh (nếu có) được ghi vào
thanh ghi hoặc bộ nhớ

www.ptit.edu.vn Trang 81
KHUÔN DẠNG LỆNH

❖ Khuôn dạng lệnh thông thường bao gồm 2 phần:


▪ Mã lệnh (opcode): mỗi lệnh đều có riêng một mã
▪ Địa chỉ các toán hạng (addresses of operands): số lượng
toán hạng phụ thuộc vào lệnh. Có thể có các dạng địa chỉ
toán hạng sau:
• 3 địa chỉ
• 2 địa chỉ
• 1 địa chỉ
• 1.5 địa chỉ
• 0 địa chỉ
Opcode Addresses of Operands

Opcode Destination addr. Source addr.

www.ptit.edu.vn Trang 82
TOÁN HẠNG 3 ĐỊA CHỈ

❖ Khuôn dạng:
▪ opcode addr1, addr2, addr3
▪ Mỗi địa chỉ addr1, addr2, addr3: tham chiếu tới một ô nhớ
hoặc 1 thanh ghi
❖ Ví dụ
1. ADD R1, R2, R3; R2 + R 3 → R 1
R2 cộng R3 sau đó kết quả đưa vào R1
Ri là các thanh ghi CPU
2. ADD A, B, C; M[B]+M[C] → M[A]
A, B, C là các vị trí trong bộ nhớ

www.ptit.edu.vn Trang 83
TOÁN HẠNG 2 ĐỊA CHỈ

❖ Khuôn dạng:
▪ opcode addr1, addr2
▪ Mỗi địa chỉ addr1, addr2: tham chiếu tới 1 thanh ghi hoặc
1 vị trí trong bộ nhớ
❖ Ví dụ
1. ADD R1, R2; R1 + R2 → R1
R1 cộng R2 sau đó kết quả đưa vào R1
Ri là các thanh ghi CPU
2. ADD A, B; M[A]+M[B] → M[A]
A, B là các vị trí trong bộ nhớ

www.ptit.edu.vn Trang 84
TOÁN HẠNG 1 ĐỊA CHỈ

❖ Khuôn dạng:
▪ opcode addr
▪ addr: tham chiếu tới 1 thanh ghi hoặc 1 vị trí trong bộ nhớ
▪ Khuôn dạng này sử dụng Racc (thanh ghi tích lũy) mặc
định cho địa chỉ thứ 2
❖ Ví dụ
1. ADD R1; R1 + Racc → Racc
R1 cộng Racc sau đó kết quả đưa vào Racc
Ri là các thanh ghi CPU
2. ADD A; M[A]+Racc → Racc
A là vị trí trong bộ nhớ

www.ptit.edu.vn Trang 85
TOÁN HẠNG 1.5 ĐỊA CHỈ

❖ Khuôn dạng:
▪ opcode addr1, addr2
▪ Một địa chỉ tham chiếu tới 1 ô nhớ và địa chỉ còn lại tham
chiếu tới 1 thanh ghi
▪ Là dạng hỗn hợp giữa các toán hạng thanh ghi và vị trí
bộ nhớ
❖ Ví dụ
1. ADD R1, B; M[B] + R1 → R1

www.ptit.edu.vn Trang 86
CÁC CHẾ ĐỘ ĐỊA CHỈ

❖ Chế độ địa chỉ là cách thức CPU tổ chức các toán hạng
▪ Chế độ địa chỉ cho phép CPU kiểm tra dạng và tìm các
toán hạng của lệnh
❖ Một số chế độ địa chỉ tiêu biểu:
▪ Chế độ địa chỉ tức thì (Immediate)
▪ Chế độ địa chỉ trực tiếp (Direct)
▪ Chế độ địa chỉ gián tiếp qua thanh ghi (Register Indirect)
▪ Chế độ địa chỉ gián tiếp qua bộ nhớ (Memory Indirect)
▪ Chế độ địa chỉ chỉ số (Indexed)
▪ Chế độ địa chỉ tương đối (Relative)

www.ptit.edu.vn Trang 87
CHẾ ĐỘ ĐỊA CHỈ TỨC THÌ

❖ Giá trị của toán hạng nguồn có sẵn trong lệnh (hằng số)
❖ Toán hạng đích có thể là thanh ghi hoặc một vị trí bộ
nhớ
❖ Ví dụ:
LOAD R1, #1000; 1000 → R1
giá trị 1000 được tải vào thanh ghi R1

LOAD B, #500; 500 → M[B]


Giá trị 500 được tải vào vị trí B trong bộ nhớ

www.ptit.edu.vn Trang 88
CHẾ ĐỘ ĐỊA CHỈ TRỰC TIẾP/ TUYỆT ĐỐI

❖ Một toán hạng là địa chỉ của một vị trí trong bộ nhớ
chứa dữ liệu
❖ Toán hạng kia là thanh ghi hoặc 1 địa chỉ ô nhớ
❖ Ví dụ:
LOAD R1, 1000; M[1000] → R1
giá trị lưu trong vị trí 1000 ở bộ nhớ được tải vào thanh ghiR1

www.ptit.edu.vn Trang 89
CHẾ ĐỘ ĐỊA CHỈ TRỰC TIẾP/ TUYỆT ĐỐI

www.ptit.edu.vn Trang 90
CHẾ ĐỘ ĐỊA CHỈ GIÁN TIẾP

❖ Một thanh ghi hoặc một vị trí trong bộ nhớ được sử


dụng để lưu địa chỉ của toán hạng
▪ Gián tiếp thanh ghi:
LOAD Rj ,(Ri); M[Ri] → Rj
Tải giá trị tại vị trí bộ nhớ có địa chỉ được lưu trong Ri vào thanh ghi Rj
▪ Gián tiếp bộ nhớ:
LOAD Ri , (1000); M[M[1000]] → Ri
Giá trị của vị trí bộ nhớ có địa chỉ được lưu tại vị trí 1000 vào Ri

www.ptit.edu.vn Trang 91
CHẾ ĐỘ ĐỊA CHỈ GIÁN TIẾP

www.ptit.edu.vn Trang 92
CHẾ ĐỘ ĐỊA CHỈ CHỈ SỐ

❖ Địa chỉ của toán hạng có được bằng cách cộng thêm
hằng số vào nội dung của một thanh ghi, là thanh ghi
chỉ số
❖ Ví dụ
LOAD Ri, X(Rind); M[X+Rind] → Ri

www.ptit.edu.vn Trang 93
CHẾ ĐỘ ĐỊA CHỈ TƯƠNG ĐỐI

❖ Địa chỉ của toán hạng có được bằng cách cộng thêm
hằng số vào nội dung của một thanh ghi, là thanh ghi
con đếm chương trình PC
❖ Ví dụ
LOAD Ri, X(PC); M[X+PC] → Ri

www.ptit.edu.vn Trang 94
TỔNG KẾT CÁC CHẾ ĐỘ ĐỊA CHỈ

Chế độ địa Ý nghĩa Ví dụ Thực hiện


chỉ
Tức thì Giá trị của toán hạng được chứa trong LOAD Ri, #1000 Ri  1000
lệnh
Trực tiếp Địa chỉ của toán hạng được chứa trong LOAD Ri, 1000 Ri  M[1000]
lệnh
Gián tiếp Giá trị của thanh ghi trong lệnh là địa LOAD Ri, (Rj) Ri  M[Rj]
thanh ghi chỉ bô nhớ chứa toán hạng
Gián tiếp bộ Địa chỉ bộ nhớ trong lệnh chứa địa chỉ LOAD Ri, (1000) Ri  M[M[1000]]
nhớ bộ nhớ của toán hạng
Chỉ số Địa chỉ của toán hạng là tổng của hằng LOAD Ri, X(Rind) Ri  M[X+ Rind]
số (trong lệnh) và giá trị của một thanh
ghi chỉ số
Tương đối Địa chỉ của toán hạng là tổng của hằng LOAD Ri, X(PC) Ri  M[ X+ PC]
số và giá trị của thanh ghi con đếm
chương trình

www.ptit.edu.vn Trang 95
MỘT SỐ DẠNG LỆNH THÔNG DỤNG

❖ Các lệnh vận chuyển dữ liệu


❖ Các lệnh số học và logic
❖ Các lệnh điều khiển chương trình
❖ Các lệnh vào/ ra

www.ptit.edu.vn Trang 96
LỆNH VẬN CHUYỂN DỮ LIỆU

❖ Chuyển dữ liệu giữa các phần của máy tính


▪ Giữa các thanh ghi trong CPU
MOVE Ri, Rj ; Rj -> Ri
▪ Giữa thanh ghi CPU và một vị trí trong bộ nhớ
MOVE Rj,1000; M[1000] -> Rj
▪ Giữa các vị trí trong bộ nhớ
MOVE 1000, (Rj) ; M[Rj] -> M[1000]

www.ptit.edu.vn Trang 97
MỘT SỐ LỆNH VẬN CHUYỂN DỮ LIỆU THÔNG DỤNG

❖ MOVE: chuyển dữ liệu giữa thanh ghi – thanh ghi, ô nhớ -


thanh ghi, ô nhớ - ô nhớ
❖ LOAD: nạp nội dung 1 ô nhớ vào 1 thanh ghi
❖ STORE: lưu nội dung 1 thanh ghi ra 1 ô nhớ
❖ PUSH: đẩy dữ liệu vào ngăn xếp
❖ POP: lấy dữ liệu ra khỏi ngăn xếp

98

www.ptit.edu.vn Trang 98
LỆNH SỐ HỌC VÀ LOGIC

❖ Thực hiện các thao tác số học và logic giữa các thanh
ghi và nội dung ô nhớ
❖ Ví dụ:
ADD R1, R2, R3; R2 + R3 -> R1

SUBSTRACT R1, R2, R3; R2 – R3 -> R1

www.ptit.edu.vn Trang 99
CÁC LỆNH TÍNH TOÁN SỐ HỌC THÔNG DỤNG

❖ ADD: cộng 2 toán hạng


❖ SUBSTRACT: trừ 2 toán hạng
❖ MULTIPLY: nhân 2 toán hạng
❖ DIVIDE: chia số học
❖ INCREMENT: tăng 1
❖ DECREMENT: giảm 1

100

www.ptit.edu.vn Trang 100


CÁC LỆNH LOGIC THÔNG DỤNG

❖ NOT: phủ định


❖ AND: và
❖ OR: hoặc
❖ XOR: hoặc loại trừ
❖ COMPARE: so sánh
❖ SHIFT: dịch
❖ ROTATE: quay

101

www.ptit.edu.vn Trang 101


LỆNH ĐIỀU KHIỂN/ TUẦN TỰ

❖ Được dùng để thay đổi trình tự các lệnh được thực


hiện:
▪ Các lệnh rẽ nhánh (nhẩy) có điều kiện (conditional
branching/ jump)
▪ Các lệnh rẽ nhánh (nhẩy) không điều kiện (unconditional
branching/ jump)
▪ CALL và RETURN: lệnh gọi thực hiện và trở về từ
chương trình con
❖ Đặc tính chung của các lệnh này là quá trình thực hiện
lệnh của chúng làm thay đổi giá trị PC
❖ Sử dụng các cờ ALU để xác định các điều kiện

www.ptit.edu.vn Trang 102


MỘT SỐ LỆNH ĐIỀU KHIỂN THÔNG DỤNG

❖ BRANCH – IF – CONDITION: chuyển đến thực hiện lệnh ở


địa chỉ mới nếu điều kiện là đúng
❖ JUMP: chuyển đến thực hiện lệnh ở địa chỉ mới
❖ CALL: chuyển đến thực hiện chương trình con
❖ RETURN: trở về (từ chương trình con) thực hiện tiếp chương
trình gọi

103

www.ptit.edu.vn Trang 103


MỘT SỐ LỆNH ĐIỀU KHIỂN THÔNG DỤNG

LOAD R1, #100


LAP:
ADD R0, (R2)
DECREMENT R1
BRANCH_IF >0 LAP

www.ptit.edu.vn Trang 104


CÁC LỆNH VÀO/ RA

❖ Được dùng để truyền dữ liệu giữa máy tính và các thiết


bị ngoại vi
❖ Các thiết bị ngoại vi giao tiếp với máy tính thông qua
các cổng. Mỗi cổng có một địa chỉ dành riêng
❖ Hai lệnh I/O cơ bản được sử dụng là các lệnh INPUT
và OUTPUT
▪ Lệnh INPUT được dùng để chuyển dữ liệu từ thiết bị
ngoại vi vào tới bộ vi xử lý
▪ Lệnh OUTPUT dùng để chuyển dữ liệu từ VXL ra thiết bị
đầu ra

www.ptit.edu.vn Trang 105


CÁC VÍ DỤ

CLEAR R0;
MOVE R1, #100;
CLEAR R2;
LAP:
ADD R0, 1000(R2);
INCREMENT R2;
DECREMENT R1;
BRANCH_IF>0 LAP
STORE 2000, R0;

www.ptit.edu.vn Trang 106


CÁC VÍ DỤ

CLEAR R0; R0 0


MOVE R1, #100; R1 100
CLEAR R2; R2 0
LAP:
ADD R0, 1000(R2); R0R0+ M[R2+1000]
INCREMENT R2; R2 R2+1
DECREMENT R1; R1 R1-1
BRANCH_IF>0 LAP; go to LAP if R1>0
STORE 2000, R0; M[2000] R0

www.ptit.edu.vn Trang 107


BÀI TẬP

1. Cho đoạn lệnh sau:


ADD R2, (R0);
SUBSTRACT R2, (R1);
MOVE 500(R0), R2;
LOAD R2, #5000;
STORE 100(R2), R0;

Biết R0=1500, R1=4500, R2=1000, M[1500]=3000,


M[4500]=500
Hãy chỉ ra giá trị của thanh ghi và tại vị trí trong bộ nhớ qua
mỗi lệnh thực hiện.
www.ptit.edu.vn Trang 108
BÀI TẬP

2. Cho đoạn lệnh sau:


MOVE R0, #100; a. Hãy giải thích ý nghĩa của
CLEAR R1; từng lệnh
CLEAR R2; b. Chỉ ra chế độ địa chỉ của
LAP: từng lệnh (đối với các lệnh
có 2 toán hạng)
ADD R1, 2000(R2);
c. Đoạn lệnh trên thực hiện
ADD R2, #2;
công việc gì?
DECREMENT R0;
BRANCH_IF>0 LAP;
STORE 3000, R1;

www.ptit.edu.vn Trang 109


BÀI TẬP

❖ Cho một mảng gồm 10 số, được lưu trữ liên tiếp nhau
trong bộ nhớ, bắt đầu từ vị trí ô nhớ 1000. Viết đoạn
chương trình tính tổng các số trong mảng đó và lưu kết
quả vào ô nhớ 2000.

www.ptit.edu.vn Trang 110


CÁC VÍ DỤ

CLEAR R0; R0 0


MOVE R1, #10; R1 10
CLEAR R2; R2 0
LAP:
ADD R0, 1000(R2); R0R0+ M[R2+1000]
INCREMENT R2; R2 R2+1
DECREMENT R1; R1 R1-1
BRANCH_IF>0 LAP; go to LAP if R1>0
STORE 2000, R0; M[2000] R0

www.ptit.edu.vn Trang 111


BÀI TẬP

❖ Cho một mảng gồm 10 số, được lưu trữ liên tiếp nhau
trong bộ nhớ, bắt đầu từ vị trí ô nhớ 1000. Viết đoạn
chương trình tính tổng các số dương trong mảng đó và
lưu kết quả vào ô nhớ 2000.

www.ptit.edu.vn Trang 112


Tốc độ của bộ xử lý

www.ptit.edu.vn Trang 113


Tốc độ của bộ xử lý

www.ptit.edu.vn Trang 114


www.ptit.edu.vn Trang 115
2.3 GIỚI THIỆU CƠ CHẾ ỐNG
LỆNH PIPELINE

www.ptit.edu.vn Trang 116


NỘI DUNG CHÍNH

❖ Giới thiệu về CPU pipeline


❖ Các vấn đề của pipeline
❖ Xử lý xung đột dữ liệu và tài nguyên
❖ Xử lý rẽ nhánh (branch)
❖ Super pipeline

www.ptit.edu.vn Trang 117


PIPELINE – VÍ DỤ THỰC TẾ

❖ Bài toán giặt: A. B, C, D có 4 túi quần


áo cần giặt, làm khô, gấp
❖ Giặt tốn 30 phút

❖ Sấy khô: 40 phút

❖ Gấp: 20 phút

www.ptit.edu.vn Trang 118


PIPELINE – VÍ DỤ THỰC TẾ

Thực hiện tuần tự

www.ptit.edu.vn Trang 119


PIPELINE – VÍ DỤ THỰC TẾ

Áp dụng pipeline

www.ptit.edu.vn Trang 120


GIỚI THIỆU VỀ CPU PIPELINE – NGUYÊN LÝ

❖ Quá trình thực hiện lệnh được chia thành các giai đoạn
❖ 5 giai đoạn của hệ thống load – store:
▪ Instruction fetch (IF): lấy lệnh từ bộ nhớ (hoặc cache)
▪ Instruction Decode (ID): giải mã lệnh và lấy các toán hạng
▪ Execute (EX): thực hiện lệnh: nếu là lệnh truy cập bộ nhớ thì tính toán địa chỉ
bộ nhớ
▪ Memory access (MEM): đọc/ ghi bộ nhớ ; nếu không truy cập bộ nhớ thì
không có
▪ Write back (WB): lưu kết quả vào thanh ghi
❖ Cải thiện hiệu năng bằng cách tăng số lượng lệnh vào xử lý

121

www.ptit.edu.vn Trang 121


GIỚI THIỆU VỀ CPU PIPELINE – NGUYÊN LÝ

www.ptit.edu.vn Trang 122


GIỚI THIỆU VỀ CPU PIPELINE – ĐẶC ĐIỂM

❖ Pipeline là kỹ thuật song song ở mức lệnh (ILP:


Instruction Level Parallelism)
❖ Một pipeline là đầy đủ nếu nó luôn nhận một lệnh mới
tại mỗi chu kỳ đồng hồ
❖ Một pipeline là không đầy đủ nếu có nhiều giai đoạn trễ
trong quá trình xử lý
❖ Số lượng giai đoạn của pipeline phụ thuộc vào thiết kế
CPU:
▪ 2, 3, 5 giai đoạn: pipeline đơn giản
▪ 14 giai đoạn: Pen II, Pen III
▪ 20 – 31 giai đoạn: Pen IV
▪ 12 -15 giai đoạn: Core

www.ptit.edu.vn Trang 123


SỐ LƯỢNG GIAI ĐOẠN

❖ Thời gian thực hiện của các giai đoạn:


▪ Mọi giai đoạn nên có thời gian thực hiện bằng nhau
▪ Các giai đoạn chậm nên chia ra
❖ Lựa chọn số lượng giai đoạn:
▪ Theo lý thuyết, số lượng giai đoạn càng nhiều thì hiệu
năng càng cao
▪ Nếu pipeline dài mà rỗng vì một số lý do, sẽ mất nhiều
thời gian để làm đầy pipeline

www.ptit.edu.vn Trang 124


CÁC VẤN ĐỀ CỦA PIPELINE

❖ Vấn đề xung đột tài nguyên (resource conflict)


▪ Xung đột truy cập bộ nhớ
▪ Xung đột truy cập thanh ghi
❖ Xung đột/ tranh chấp dữ liệu (data hazard)
▪ Hầu hết là RAW hay Read After Write Hazard
❖ Các lệnh rẽ nhánh (Branch Instruction)
▪ Không điều kiện
▪ Có điều kiện
▪ Gọi thực hiện và trở về từ chương trình con

www.ptit.edu.vn Trang 125


XUNG ĐỘT TÀI NGUYÊN

❖ Tài nguyên không đủ


❖ Ví dụ: nếu bộ nhớ chỉ hỗ trợ một thao tác đọc/ ghi tại
một thời điểm, pipeline yêu cầu 2 truy cập bộ nhớ 1 lúc
(đọc lệnh tại giai đoạn IF và đọc dữ liệu tại ID) -> nảy
sinh xung đột

www.ptit.edu.vn Trang 126


XUNG ĐỘT TÀI NGUYÊN

❖ Giải pháp:
▪ Nâng cao khả năng tài nguyên
▪ Memory/ cache: hỗ trợ nhiều thao tác đọc/ ghi cùng lúc
▪ Chia cache thành cache lệnh và cache dữ liệu để cải
thiện truy nhập

www.ptit.edu.vn Trang 127


XUNG ĐỘT DỮ LIỆU
❖ Xét 2 lệnh sau:
ADD R1, R1, R3; R1  R1 + R3
SUB R4, R1, R2; R4  R1 -R2
❖ SUB sử dụng kết quả lệnh ADD: có phụ thuộc dữ liệu
giữa 2 lệnh này
❖ SUB đọc R1 tại giai đoạn 2 (ID); trong khi đó ADD lưu
kết quả tại giai đoạn 5 (WB)
▪ SUB đọc giá trị cũ của R1 trước khi ADD lưu trữ giá trị
mới vào R1
 Dữ liệu chưa sẵn sàng cho các lệnh phụ thuộc tiếp theo

www.ptit.edu.vn Trang 128


XUNG ĐỘT DỮ LIỆU

ADD R1, R1, R3; R1  R1 + R3


SUB R4, R1, R2; R4  R1 + R2

www.ptit.edu.vn Trang 129


HƯỚNG KHẮC PHỤC XUNG ĐỘT DỮ LIỆU

❖ Nhận biết nó xảy ra


❖ Ngưng pipeline (stall): phải làm trễ hoặc ngưng pipeline
bằng cách sử dụng một vài phương pháp tới khi có dữ
liệu chính xác
❖ Sử dụng complier để nhận biết RAW và:
▪ Chèn các lệnh NO-OP vào giữa các lệnh có RAW
▪ Thay đổi trình tự các lệnh trong chương trình và chèn các
lệnh độc lập dữ liệu vào vị trí giữa 2 lệnh có RAW
❖ Sử dụng phần cứng để xác định RAW (có trong các
CPUs hiện đại) và dự đoán trước giá trị dữ liệu phụ
thuộc

www.ptit.edu.vn Trang 130


HƯỚNG KHẮC PHỤC XUNG ĐỘT DỮ LIỆU

❖ Làm trễ quá trình thực hiện lệnh SUB bằng cách chèn 3
NO-OP

www.ptit.edu.vn Trang 131


HƯỚNG KHẮC PHỤC XUNG ĐỘT DỮ LIỆU

❖ Chèn 3 lệnh độc lập dữ liệu vào giữa ADD và SUB

www.ptit.edu.vn Trang 132


QUẢN LÝ CÁC LỆNH RẼ NHÁNH TRONG PIPELINE

❖ Tỷ lệ các lệnh rẽ nhánh chiếm khoảng 10 - 30%. Các


lệnh rẽ nhánh có thể gây ra:
▪ Gián đoạn trong quá trình chạy bình thường của chương trình
▪ Làm cho Pipeline rỗng nếu không có biện pháp ngăn chặn hiệu
quả
❖ Với các CPU mà pipeline dài (P4 với 31 giai đoạn) và
nhiều pipeline chạy song song, vấn đề rẽ nhánh càng
trở nên phức tạp hơn vì:
▪ Phải đẩy mọi lệnh đang thực hiện ra ngoài pipeline khi gặp lệnh
rẽ nhánh
▪ Tải mới các lệnh từ địa chỉ rẽ nhánh vào pipeline. Tiêu tốn
nhiều thời gian để điền đầy pipeline

www.ptit.edu.vn Trang 133


QUẢN LÝ CÁC LỆNH RẼ NHÁNH

❖ Khi 1 lệnh rẽ nhánh được thực hiện, các lệnh tiếp theo
bị đẩy ra khỏi pipeline và các lệnh mới được tải

www.ptit.edu.vn Trang 134


GIẢI PHÁP QUẢN LÝ CÁC LỆNH RẼ NHÁNH

❖ Đích rẽ nhánh (branch target)


❖ Rẽ nhánh có điều kiện (conditional branches)
▪ Làm chậm rẽ nhánh (delayed branching)
▪ Dự báo rẽ nhánh (branch prediction)

www.ptit.edu.vn Trang 135


ĐÍCH RẼ NHÁNH

❖ Khi một lệnh rẽ nhánh được thực hiện, lệnh tiếp theo
được lấy là lệnh ở địa chỉ đích rẽ nhánh (target) chứ
không phải lệnh tại vị trí tiếp theo lệnh nhảy

JUMP <Address>
ADD R1, R2

Address: SUB R3, R4

www.ptit.edu.vn Trang 136


ĐÍCH RẼ NHÁNH
❖ Các lênh rẽ nhánh được xác định tại giai đoạn ID, vậy
có thể biết trước chúng bằng cách giải mã trước
❖ Sử dụng đệm đích rẽ nhánh (BTB: branch target buffer)
để lưu vết của các lệnh rẽ nhánh đã được thực thi:
▪ Địa chỉ đích của các lệnh rẽ nhánh được thực hiện
▪ Lệnh đích của các lệnh rẽ nhánh được thực hiện
❖ Nếu các lệnh rẽ nhánh được sử dụng lại (trong vòng
lặp):
▪ Các địa chỉ đích của chúng lưu trong BTB có thể được dùng
mà không cần tính lại
▪ Các lệnh đích có thể dùng trực tiếp không cần load lại từ bộ
nhớ
 Điều này có thể vì địa chỉ và lệnh đích thường không thay đổi

www.ptit.edu.vn Trang 137


ĐÍCH RẼ NHÁNH CỦA PIII

www.ptit.edu.vn Trang 138


LỆNH RẼ NHÁNH CÓ ĐIỀU KIỆN
❖ Khó quản lý các lệnh rẽ nhánh ko có điều kiện hơn vì:
▪ Có 2 lệnh đích để lựa chọn
▪ Không thể xác định được lệnh đích tới khi lệnh rẽ nhánh
được thực hiện xong
▪ Sử dụng BTB không hiệu quả vì phải đợi tới khi có thể
xác định được lệnh đích

www.ptit.edu.vn Trang 139


LỆNH RẼ NHÁNH CÓ ĐIỀU KIỆN – CÁC CHIẾN LƯỢC

❖ Làm chậm rẽ nhánh


❖ Dự đoán rẽ nhánh

www.ptit.edu.vn Trang 140


LÀM CHẬM RẼ NHÁNH

❖ Dựa trên ý tưởng:


▪ Lệnh rẽ nhánh không làm rẽ nhánh ngay lập tức
▪ Mà nó sẽ bị làm chậm một vài chu kỳ đồng hồ phụ thuộc
vào độ dài của pipeline
❖ Các đăc điểm của làm chậm rẽ nhánh:
▪ Hoạt động tốt trên các vi xử lý RISC trong đó các lệnh có
thời gian xử lý bằng nhau
▪ Pipeline ngắn (thông thường là 2 giai đoạn)
▪ Lệnh sau lệnh nhảy luôn được thực hiện, không phụ
thuộc vào kết quả lệnh rẽ nhánh

www.ptit.edu.vn Trang 141


LÀM CHẬM RẼ NHÁNH

❖ Cài đặt:
▪ Sử dụng complier để chèn NO-OP vào vị trí ngay sau
lệnh rẽ nhánh, hoặc
▪ Chuyển một lệnh độc lập từ trước tới ngay sau lệnh rẽ
nhánh

www.ptit.edu.vn Trang 142


LÀM CHẬM RẼ NHÁNH

❖ Xét các lệnh:


ADD R2, R3, R4
CMP R1,0
JNE somewhere
❖ Chèn NO-OP vào vị trí ngay sau lệnh rẽ nhánh
ADD R2, R3, R4
CMP R1,0
JNE somewhere
NO-OP
❖ Chuyển một lệnh độc lập từ trước tới ngay sau lệnh rẽ
nhánh
CMP R1,0
JNE somewhere
ADD R2, R3, R4

www.ptit.edu.vn Trang 143


LÀM CHẬM RẼ NHÁNH

www.ptit.edu.vn Trang 144


LÀM CHẬM RẼ NHÁNH – CÁC NHẬN XÉT

❖ Dễ cài đặt nhờ tối ưu trình biên dịch (complier)


❖ Không cần phần cứng đặc biệt
❖ Nếu chỉ chèn NO-OP làm giảm hiệu năng khi pipeline
dài
❖ Thay các lệnh NO-OP bằng các lệnh độc lập có thể làm
giảm số lượng NO-OP cần thiết tới 70%

www.ptit.edu.vn Trang 145


LÀM CHẬM RẼ NHÁNH – CÁC NHẬN XÉT

❖ Làm tăng độ phức tạp mã chương trình (code)


❖ Cần lập trình viên và người xây dựng trình biên dịch có
mức độ hiểu biết sâu về pipeline vi xử lý => hạn chế lớn
❖ Giảm tính khả chuyển (portable) của mã chương trình
vì các chương trình phải được viết hoặc biên dịch lại
trên các nền VXL mới

www.ptit.edu.vn Trang 146


DỰ ĐOÁN RẼ NHÁNH

❖ Có thể dự đoán lệnh đích của lệnh rẽ nhánh:


▪ Dự đoán đúng: nâng cao hiệu năng
▪ Dự đoán sai: đẩy các lệnh tiếp theo đã load và phải load
lại các lệnh tại đích rẽ nhánh
▪ Trường hợp xấu của dự đoán là 50% đúng và 50% sai

www.ptit.edu.vn Trang 147


DỰ ĐOÁN RẼ NHÁNH

❖ Các cơ sở để dự đoán:
▪ Đối với các lệnh nhảy ngược (backward):
• Thường là một phần của vòng lặp
• Các vòng lặp thường được thực hiện nhiều lần
▪ Đối với các lệnh nhảy xuôi (forward), khó dự đoán hơn:
• Có thể là kết thúc lệnh loop
• Có thể là nhảy có điều kiện

www.ptit.edu.vn Trang 148


AMD K6-2 pipeline

www.ptit.edu.vn Trang 149


Branch Prediction – Intel PIII

www.ptit.edu.vn Trang 150


Pipeline –Pen III, M

www.ptit.edu.vn Trang 151


Intel Pen 4 Pipeline

www.ptit.edu.vn Trang 152


Intel Core 2 Duo pipeline

www.ptit.edu.vn Trang 153


Intel Atom 16-stage pipeline

www.ptit.edu.vn Trang 154


SIÊU PIPELINE (superpipelining)

❖ Siêu pipeline là kỹ thuật cho phép:


▪ Tăng độ sâu ống lệnh
▪ Tăng tốc độ đồng hồ
▪ Giảm thời gian trễ cho từng giai đoạn thực hiện lệnh
❖ Ví dụ: nếu giai đoạn thực hiện lệnh bởi ALU kéo dài -> chia
thành một số giai đoạn nhỏ -> giảm thời gian chờ cho các giai
đoạn ngắn
❖ Pentium 4 siêu ống với 20 giai đoạn

155

www.ptit.edu.vn Trang 155


PENTIUM 4 SIÊU ỐNG VỚI 20 GIAI ĐOẠN

www.ptit.edu.vn Trang 156


Branch Prediction – Intel P4

www.ptit.edu.vn Trang 157


Intel Core 2 Duo – Super Pipeline

www.ptit.edu.vn Trang 158


CHƯƠNG 3: HỆ THỐNG NHỚ

www.ptit.edu.vn Trang 159


CHƯƠNG 3: NỘI DUNG CHÍNH

1. Cấu trúc phân cấp bộ nhớ máy tính


2. Phân loại bộ nhớ máy tính
3. Bộ nhớ ROM
4. Bộ nhớ RAM
5. Bộ nhớ cache
6. Bộ nhớ ngoài

www.ptit.edu.vn Trang 160


1. MÔ HÌNH PHÂN CẤP HỆ THỐNG BỘ NHỚ

www.ptit.edu.vn Trang 161


CÁC THAM SỐ PHÂN CẤP BỘ NHỚ

www.ptit.edu.vn Trang 162


CÁC THÀNH PHẦN PHÂN CẤP BỘ NHỚ

❖ Thanh ghi của CPU:


▪ Kích thước rất nhỏ (vài chục byte tới vài KB)
▪ Tốc độ rất nhanh, thời gian truy cập khoảng 0.25 ns
▪ Giá thành đắt
▪ Lưu trữ tạm thời dữ liệu đầu vào và ra cho các lệnh
❖ Cache:
▪ Kích thước nhỏ (64KB tới 16MB)
▪ Tốc độ nhanh, thời gian truy cập khoảng 1 – 5ns
▪ Giá thành đắt
▪ Lưu trữ lệnh và dữ liệu cho CPU
▪ Còn được gọi là “bộ nhớ thông minh” (smart memory)

www.ptit.edu.vn Trang 163


CÁC THÀNH PHẦN PHÂN CẤP BỘ NHỚ
❖ Bộ nhớ chính:
▪ Kích thước lớn, dung lượng từ 256MB tới 4GB cho các
hệ 32bits
▪ Tốc độ chậm, thời gian truy cập từ 50 – 70ns
▪ Lưu trữ lệnh và dữ liệu cho hệ thống và người dùng
▪ Giá thành rẻ
❖ Bộ nhớ phụ:
▪ Kích thước rất lớn, dung lượng từ 20GB tới 1000GB
▪ Tốc độ rất chậm, thời gian truy cập khoảng 5ms
▪ Lưu trữ lượng dữ liệu lớn dưới dạng file trong thời gian
lâu dài
▪ Giá thành rất rẻ

www.ptit.edu.vn Trang 164


VAI TRÒ CỦA MÔ HÌNH PHÂN CẤP
❖ Nâng cao hiệu năng hệ thống:
▪ Dung hòa được CPU có tốc độ cao với bộ nhớ chính và
bộ nhớ phụ có tốc độ thấp
▪ Thời gian truy cập dữ liệu trung bình của CPU từ hệ
thống bộ nhớ gần bằng thời gian truy cập cache
❖ Giảm giá thành sản xuất:
▪ Các thành phần đắt tiền sẽ được sử dụng với dung
lượng nhỏ hơn
▪ Các thành phần rẻ hơn được sử dụng với dung lượng
lớn hơn
=> Tổng giá thành của hệ thống nhớ theo mô hình phân
cấp sẽ rẻ hơn so với hệ thống nhớ không phân cấp cùng
tốc độ
www.ptit.edu.vn Trang 165
2. PHÂN LOẠI BỘ NHỚ
❖ Dựa vào kiểu truy cập:
▪ Bộ nhớ truy cập ngẫu nhiên (RAM: Random Access Memory)
▪ Bộ nhớ truy cập tuần tự (SAM: Serial Access Memory)
▪ Bộ nhớ chỉ đọc (ROM: Read Only Memory)
❖ Dựa vào khả năng chịu đựng/ lưu giữ thông tin:
▪ Bộ nhớ không ổn định (volatile memory): thông tin lưu trữ bị
mất khi tắt nguồn
▪ Bộ nhớ ổn định: thông tin lưu trữ được giữ lại khi tắt nguồn
❖ Dựa vào công nghệ chế tạo:
▪ Bộ nhớ bán dẫn: ROM, RAM
▪ Bộ nhớ từ: HDD, FDD, tape
▪ Bộ nhớ quang: CD, DVD

www.ptit.edu.vn Trang 166


TỔ CHỨC MẠCH NHỚ

www.ptit.edu.vn Trang 167


TỔ CHỨC CỦA THIẾT BỊ NHỚ
❖ Address lines:
▪ Các đường địa chỉ nối tới bus A,
▪ Truyền tín hiệu địa chỉ từ CPU tới mạch nhớ
❖ Address decoder:
▪ Bộ giải mã địa chỉ
▪ Sử dụng địa chỉ để chọn ra và kích hoạt ô nhớ/dòng nhớ
cần truy nhập
❖ Data lines:
▪ Các đường dữ liệu kết nối với bus D
▪ Truyền dữ liệu từ bộ nhớ về CPU và ngược lại

www.ptit.edu.vn Trang 168


TỔ CHỨC CỦA THIẾT BỊ NHỚ

❖ Chip select CS:


▪ Chân tín hiệu chọn chip
▪ Chip nhớ được kích hoạt khi CS=0. Thông thường CPU chỉ
làm việc với 1 chip nhớ tại 1 thời điểm
❖ Write enable WE:
▪ Chân tín hiệu cho phép ghi
▪ Cho phép ghi vào đường nhớ khi WE =0
❖ Read enable RE:
▪ Chân tín hiệu cho phép đọc
▪ Cho phép đọc dữ liệu từ đường nhớ khi RE =0

169

www.ptit.edu.vn Trang 169


3. BỘ NHỚ ROM

❖ ROM (Read Only Memory): là bộ nhớ chỉ đọc


▪ Ghi thông tin vào ROM bằng cách sử dụng các thiết bị hoặc
phương pháp đặc biệt
❖ ROM là bộ nhớ ổn định: tất cả thông tin vẫn được duy trì
khi mất nguồn nuôi
❖ Là bộ nhớ bán dẫn: mỗi ô nhớ là một cổng bán dẫn
❖ Thường dùng để lưu trữ thông tin hệ thống: thông tin
phần cứng và BIOS

www.ptit.edu.vn Trang 170


CÁC LOẠI ROM

❖ ROM nguyên thủy (Ordinary ROM):


▪ ROM các thế hệ đầu tiên
▪ Sử dụng tia cực tím để ghi thông tin
❖ PROM (Programmable ROM)
▪ ROM có thể lập trình
▪ Thông tin có thể được ghi vào PROM nhờ thiết bị đặc biệt
gọi là bộ lập trình PROM
❖ EPROM (Erasable programmable read-only memory)
▪ Là ROM có thể lập trình và xóa được
▪ Thông tin trong EPROM có thể xóa bằng cách chiếu các tia
cực tím có cường độ cao
❖ EEPROM: là EPROM nhưng nội dung có thể xóa bằng
điện

www.ptit.edu.vn Trang 171


CÁC LOẠI ROM

❖ EEPROM (Electrically Erasable PROM :


▪ Là PROM có thể xóa được thông tin bằng điện
▪ Có thể ghi được thông tin sử dụng phần mềm chuyên dụng
❖ Flash memory
▪ Là một dạng EEPROM nhưng có tốc độ đọc và ghi thông tin
nhanh hơn
▪ Bộ nhớ flash chỉ có thể đọc/ ghi thông tin theo khối

172

www.ptit.edu.vn Trang 172


4. BỘ NHỚ RAM

❖ RAM (Random Access Memory) là bộ nhớ truy cập ngẫu


nhiên
▪ Mỗi ô nhớ có thể được truy cập một cách ngẫu nhiên không theo
trật tự nào
▪ Tốc độ truy cập các ô nhớ là tương đương
❖ Là bộ nhớ không ổn định (dễ bay hơi): mọi thông tin lưu
trữ sẽ bị mất khi tắt nguồn
❖ Là bộ nhớ bán dẫn. Mỗi ô nhớ là một cổng bán dẫn
❖ Sử dụng để lưu trữ thông tin hệ thống và của người dùng
▪ Thông tin hệ thống: thông tin phần cứng & hệ điều hành
▪ Thông tin người dùng: mã lệnh và dữ liệu các chương trình ứng
dụng

www.ptit.edu.vn Trang 173


CÁC LOẠI RAM

❖ RAM tĩnh (SRAM):


▪ Mỗi bit của SRAM là một mạch lật flip-flop
▪ Thông tin lưu trong các bit SRAM luôn ổn định, không cần
phải làm tươi định kỳ
▪ SRAM nhanh nhưng đắt hơn DRAM
❖ RAM động (DRAM):
▪ Mỗi bit của DRAM dựa trên tụ điện
▪ Thông tin lưu trong bit DRAM không được ổn định, và phải
được làm tươi định kỳ
▪ DRAM chậm hơn SRAM nhưng rẻ hơn

www.ptit.edu.vn Trang 174


CẤU TẠO SRAM

C C

B B
E E

Một mạch lật đơn giản Một ô nhớ SRAM loại 6T

www.ptit.edu.vn Trang 175


CÁC ĐẶC ĐIỂM CỦA SRAM

❖ SRAM sử dụng mạch lật trigơ lưỡng ổn (bistable latching


circuit) để lưu 1 bit thông tin
❖ Mỗi mạch lật lưu 1 bit thường sử dụng 6, 8, 10 transistor
(gọi là mạch 6T, 8T, 10T)
❖ SRAM thường có tốc độ truy cập nhanh vì:
▪ Các bit có cấu trúc đối xứng
▪ Các mạch nhớ SRAM chấp nhận tất cả các chân địa chỉ tại
một thời điểm (không dồn kênh)
❖ SRAM đắt vì:
▪ Nó sử dụng nhiều transistor cho một bit hơn DRAM
▪ Vì cấu trúc bên trong phức tạp hơn, mật độ của SRAM thấp
hơn DRAM

www.ptit.edu.vn Trang 176


CẤU TẠO DRAM

Transistor

Capacitor

Một bit DRAM

www.ptit.edu.vn Trang 177


CÁC ĐẶC ĐIỂM CỦA DRAM

❖ Bit của DRAM dựa trên 1 tụ điện và 1 transistor.


▪ 2 mức tích điện của tụ sẽ biểu diễn 2 mức logic:
• Không tích điện: mức 0
• Tích đầy điện: mức 1
❖ Do tụ thường tự phóng điện, điện tích trong tụ điện có xu
hướng bị tổn hao
▪ Cần nạp lại thông tin trong tụ thường xuyên để tránh mất
thông tin
▪ Việc nạp lại thông tin cho tụ là quá trình làm tươi (refresh),
phải theo định kỳ

www.ptit.edu.vn Trang 178


CÁC ĐẶC ĐIỂM CỦA DRAM

❖ Các bit nhớ của DRAM thường được sắp xếp thành ma trận:
▪ Một tụ + một transitor -> một bit
▪ Các bit được tập hợp thành các cột và dòng
❖ DRAM chậm hơn SRAM vì:
▪ Cần làm tươi định kỳ
▪ Quá trình nạp điện tụ mất thời gian
▪ Các mạch DRAM thường dùng kỹ thuật dồn kênh (địa chỉ cột/ hàng) để
tiết kiệm đường địa chỉ
❖ DRAM rẻ hơn SRAM vì:
▪ Cấu trúc đơn giản, sử dụng ít transistor
▪ Mật độ cấy cao hơn

179

www.ptit.edu.vn Trang 179


CÁC LOẠI DRAM

❖ SDRAM: Synchronous DRAM


❖ SDR SDRAM: (Single Data Rate SDRAM) chấp nhận 1
thao tác đọc/ ghi và chuyển 1 từ dữ liệu trong 1 chu kỳ
đồng hồ; tốc độ 100MHz, 133MHz
❖ DDR SDRAM: Double Data Rate SDRAM
▪ DDR1 SDRAM: DDR 266, 333, 400: có khả năng chuyển 2
từ dữ liệu trong 1 chu kỳ
▪ DDR2 SDRAM: DDR2 400, 533, 800: có khả năng chuyển 4
từ dữ liệu trong 1 chu kỳ
▪ DDR3 SDRAM: DDR3 800, 1066, 1333, 1600: có khả năng
chuyển 8 từ dữ liệu trong 1 chu kỳ

www.ptit.edu.vn Trang 180


5. BỘ NHỚ CACHE

❖ Cache là gì?
❖ Vai trò của cache
❖ Các nguyên lý cơ bản hoạt động của cache
❖ Kiến trúc cache
❖ Tổ chức cache
❖ Đọc/ ghi trong cache
❖ Các chính sách thay thế
❖ Cách thức để nâng cao hiệu năng cache

www.ptit.edu.vn Trang 181


CACHE LÀ GÌ?

❖ Cache là thành phần nhớ trong sơ đồ phân cấp bộ nhớ


máy tính.
▪ Nó hoạt động như thành phần trung gian, trung chuyển dữ
liệu từ bộ nhớ chính về CPU và ngược lại
❖ Vị trí của cache:
▪ Với các hệ thống cũ, cache thường nằm ngoài CPU
▪ Với các CPU mới, cache thường được tích hợp vào trong
CPU

Main
CPU Cache
memory

www.ptit.edu.vn Trang 182


CACHE LÀ GÌ?

❖ Dung lượng cache thường nhỏ:


▪ Với các hệ thống cũ: 16K, 32K,..., 128K
▪ Với các hệ thống mới: 256K, 512K, 1MB, 2MB, …
❖ Tốc độ truy nhập của cache nhanh hơn so với tốc độ bộ nhớ
chính
❖ Giá thành cache (tính trên bit) thường đắt hơn so với bộ nhớ
chính
❖ Với các hệ thống CPU mới, cache thường được chia thành
nhiều mức:
▪ Mức 1: 16 – 32 KB có tốc độ rất cao
▪ Mức 2: 1 -16MB có tốc độ khá cao

183

www.ptit.edu.vn Trang 183


VAI TRÒ CỦA CACHE
❖ Nâng cao hiệu năng hệ thống:
▪ Dung hòa giữa CPU có tốc độ cao và bộ nhớ chính tốc độ
thấp (giảm số lượng truy cập trực tiếp của CPU vào bộ
nhớ chính)
▪ Thời gian trung bình CPU truy cập hệ thống bộ nhớ gần
bằng thời gian truy cập cache
❖ Giảm giá thành sản xuất:
▪ Nếu 2 hệ thống có cùng hiệu năng thì hệ thống có cache
sẽ rẻ hơn
▪ Nếu 2 hệ thống cùng giá thành, hệ thống có cache sẽ
nhanh hơn

www.ptit.edu.vn Trang 184


CÁC NGUYÊN LÝ HOẠT ĐỘNG CỦA CACHE
❖ Cache được coi là bộ nhớ thông minh:
▪ Cache có khả năng đoán trước yêu cầu về lệnh và dữ
liệu của CPU
▪ Dữ liệu và lệnh cần thiết được chuyển trước từ bộ nhớ
chính về cache -> CPU chỉ truy nhập cache -> giảm thời
gian truy nhập bộ nhớ
❖ Cache hoạt động dựa trên 2 nguyên lý cơ bản:
▪ Nguyên lý cục bộ/ lân cận về không gian (spatial locality)
▪ Nguyên lý cục bộ/ lân cận về thời gian (temporal locality)

www.ptit.edu.vn Trang 185


CÁC NGUYÊN LÝ HOẠT ĐỘNG CỦA CACHE

❖ Cục bộ (lân cận) về không gian:


▪ Nếu một vị trí bộ nhớ được truy cập, thì khả năng/
xác suất các vị trí gần đó được truy cập trong thời
gian gần tới là cao
Neighbour
▪ Áp dụng với các mục dữ liệu và các lệnh có thứ tự cell
tuần tự theo chương trình Current
cell
▪ Hầu hết các lệnh trong chương trình có thứ tự tuần Neighbour
tự, do đó cache đọc một khối lệnh trong bộ nhớ, cell

mà bao gồm cả các phần tử xung quanh vị trí phần


tử hiện tại được truy cập

186

www.ptit.edu.vn Trang 186


CÁC NGUYÊN LÝ CƠ BẢN CỦA CACHE
❖ Cục bộ (lân cận) về thời gian:
▪ Nếu một vị trí bộ nhớ được truy cập, thì
khả năng nó sẽ được truy cập trong thời Start of Instruction 1
gian gần tới là cao loop

Instruction 2
▪ Áp dụng với các mục dữ liệu và các lệnh
trong vòng lặp Instruction 3
▪ Cache đọc khối dữ liệu trong bộ nhớ bao
Instruction 4
gồm tất cả các thành phần trong vòng
lặp End of
Instruction 5
loop

www.ptit.edu.vn Trang 187


TRAO ĐỔI DỮ LIỆU
❖ CPU đọc/ ghi từng mục dữ liệu riêng biệt từ/ vào cache
❖ Cache đọc/ ghi khối dữ liệu từ/ vào bộ nhớ

CPU Cache Memory

Individual Block of
data items: data: 16,
byte, word 32, 64 bytes

www.ptit.edu.vn Trang 188


HỆ SỐ HIT VÀ MISS CỦA CACHE
❖ Hit là sự kiện CPU truy cập tới mục dữ liệu/ mục tin mà
tìm được trong cache
▪ Xác suất xảy ra Hit được gọi là hệ số hit H
▪ 0<= H <= 1
▪ H càng cao thì cache càng tốt
❖ Miss là sự kiện CPU truy cập tới mục dữ liệu mà không
tìm thấy nó trong cache
▪ Khả năng xảy ra Miss gọi là hệ số miss hay 1-H
▪ 0<= (1-H) <= 1
▪ Hệ số miss thấp thì hiệu quả cache cao

www.ptit.edu.vn Trang 189


KIẾN TRÚC CACHE – LOOK ASIDE
❖ Cache và bộ nhớ cùng
được kết nối tới bus hệ
thống CPU SRAM
❖ Cache và bộ nhớ chính
“thấy” chu kỳ bus CPU tại Cache
cùng một thời điểm controller
❖ Ưu:

System bus
SRAM: RAM lưu Tag RAM
▪ Thiết kế đơn giản dữ liệu cache
▪ Miss nhanh
❖ Nhược: Tag RAM: RAM Main
lưu địa chỉ bộ Memory
▪ Hit chậm nhớ

www.ptit.edu.vn Trang 190


KIẾN TRÚC CACHE – LOOK THROUGH
❖ Cache nằm giữa CPU và
bộ nhớ chính
❖ Cache “thấy” chu kỳ bus CPU
CPU trước sau đó nó
“truyền” lại cho bộ nhớ
chính Cache Tag
SRAM
controller RAM
❖ Ưu:
▪ Hit nhanh
❖ Nhược: Main
Memory
▪ Thiết kế phức tạp
▪ Đắt
▪ Miss chậm

www.ptit.edu.vn Trang 191


TỔ CHỨC CACHE
❖ Tổ chức cache giải quyết vấn đề cache và bộ nhớ chính
phối hợp làm việc với nhau như thế nào

www.ptit.edu.vn Trang 192


CÁC KỸ THUẬT TỔ CHỨC CACHE
❖ Ánh xạ trực tiếp (direct mapping):
▪ Đơn giản, nhanh
▪ Ánh xạ cố định
❖ Ánh xạ kết hợp đầy đủ (fully associative mapping):
▪ Phức tạp, chậm
▪ Ánh xạ linh hoạt
❖ Ánh xạ tập kết hợp/ theo bộ (set): (set associative
mapping)
▪ Phức tạp
▪ Nhanh, ánh xạ linh hoạt

www.ptit.edu.vn Trang 193


ÁNH XẠ TRỰC TIẾP
❖ Cache: Được chia thành n khối hoặc dòng (block or line),
từ Line0 tới Linen-1
❖ Bộ nhớ:
▪ Được chia thành m trang (page), từ page0 tới pagem-1
▪ Mỗi trang bộ nhớ có kích thước bằng cache
▪ Mỗi trang có n lines, từ Line0 tới Linen-1
❖ Ánh xạ:
▪ Line0 của (page0 tới pagem-1) được ánh xạ tới Line0 của
cache
▪ Line1 của (page0 tới pagem-1) được ánh xạ tới Line1 của
cache
▪ ….
▪ Linen-1 của (page0 tới pagem-1) được ánh xạ tới Linen-1 của
www.ptit.edu.vncache Trang 194
ÁNH XẠ TRỰC TIẾP
Page m-1

Page 1
Page 0
Line n-1
Line n-1

Line 1
Line 1
Line 0
Line 0

Memory Cache

www.ptit.edu.vn Trang 195


ĐỊA CHỈ ÁNH XẠ TRỰC TIẾP

Tag Line Word

❖ Tag (bit): là địa chỉ của trang trong bộ nhớ


❖ Line (bit): là địa chỉ của line trong cache
❖ Word (bit): là địa chỉ của word trong line

www.ptit.edu.vn Trang 196


ĐỊA CHỈ ÁNH XẠ TRỰC TIẾP
❖ Ví dụ:
▪ Đầu vào:
• Kích thước bộ nhớ: 4GB
• Kích thước cache: 1KB
• Kích thước line: 32 byte
▪ Đầu ra:
• Kích thước line: 32 byte = 25 -> Word = 5 bit
• Kích thước cache: 1 KB = 210 -> có 210 / 25 = 25 lines -> Line = 5 bit
• Tag = địa chỉ 32 bit – Line – Word = 32 – 5 – 5 = 22 bit

www.ptit.edu.vn Trang 197


ÁNH XẠ TRỰC TIẾP
❖ Ưu điểm:
▪ Thiết kế đơn giản
▪ Nhanh vì ánh xạ cố định: khi biết địa chỉ bộ nhớ có thể tìm
nó trong cache rất nhanh
❖ Nhược điểm:
▪ Vì ánh xạ cố định nên khả năng xảy ra xung đột cao
▪ Tỷ lệ hit thấp

www.ptit.edu.vn Trang 198


ÁNH XẠ KẾT HỢP ĐẦY ĐỦ
❖ Cache: Được chia thành n khối hoặc dòng (block or line),
từ Line0 tới Linen-1
❖ Bộ nhớ:
▪ Được chia thành m khối hay dòng, từ Line0 tới Linem-1
▪ Kích thước mỗi dòng cache bằng kích thước một dòng bộ
nhớ
▪ Số lượng dòng trong bộ nhớ có thể lớn hơn nhiều số lương
dòng của cache (m >>n)
❖ Ánh xạ:
▪ Một dòng của bộ nhớ có thể ánh xạ tới dòng bất kì của
cache
▪ Linei của bộ nhớ có thể ánh xạ tới linej của cache

www.ptit.edu.vn Trang 199


ÁNH XẠ KẾT HỢP ĐẦY ĐỦ

Line m-1

Line n-1

Line 1
Line 0

Cache
Line 1
Line 0

Memory

www.ptit.edu.vn Trang 200


ĐỊA CHỈ ÁNH XẠ KẾT HỢP ĐẦY ĐỦ

Tag Word

❖ Tag (bit) là địa chỉ của line trong bộ nhớ (page =1)
❖ Word (bit) là địa chỉ của từ trong line

www.ptit.edu.vn Trang 201


ĐỊA CHỈ ÁNH XẠ KẾT HỢP ĐẦY ĐỦ

❖ Ví dụ:
▪ Input:
• Kích thước bộ nhớ = 4GB
• Kích thước cache = 1KB
• Kích thước line = 32 byte
▪ Output:
• Kích thước Line = 32 byte = 25 -> Word = 5 bit
• Tag = 32 bit – word = 32 – 5 = 27 bit

www.ptit.edu.vn Trang 202


ÁNH XẠ KẾT HỢP ĐẦY ĐỦ
❖ Ưu:
▪ Ít xung đột vì ánh xạ linh hoạt
▪ Tỉ lệ hit cao hơn
❖ Nhược:
▪ Chậm vì phải tìm kiếm địa chỉ bộ nhớ trong cache
▪ Phức tạp vì có thêm n bộ so sánh địa chỉ trong cache
❖ Thường sử dụng cho cache có kích thước nhỏ

www.ptit.edu.vn Trang 203


ÁNH XẠ TẬP KẾT HỢP

❖ Cache:
▪ Được chia thành k đường (ways) có kích thước bằng nhau
▪ Mỗi đường được chia thành n dòng (block or line), từ Line0
tới Linen-1
❖ Bộ nhớ:
▪ Được chia thành m trang, từ page0 tới pagem-1
▪ Kích thước trang page bằng kích thước way của cache
▪ Mỗi trang có n line, từ Line0 tới Linen-1

www.ptit.edu.vn Trang 204


ÁNH XẠ TẬP KẾT HỢP

❖ Ánh xạ:
▪ Page được ánh xạ tới Way (ánh xạ linh hoạt):
• Một page bộ nhớ có thể được ánh xạ tới way bất kì của cache
▪ Line của page ánh xạ tới line của way (ánh xạ cố định):
• Line0 của pagei được ánh xạ tới Line0 của wayj;
• Line1 của pagei được ánh xạ tới Line1 của wayj;
• …
• Linen-1 của pagei được ánh xạ tới Linen-1 của wayj;

www.ptit.edu.vn Trang 205


ÁNH XẠ TẬP KẾT HỢP
Page m-1

Page 1
Way 0 Way 1
Page 0
Line n-1 Line n-1
Line n-1

Line 1 Line 1
Line 1
Line 0 Line 0
Line 0

Memory Cache

www.ptit.edu.vn Trang 206


ĐỊA CHỈ ÁNH XẠ TẬP KẾT HỢP

Tag Set Word

❖ Tag (bit): là địa chỉ của trang trong bộ nhớ


❖ Set (bit): là địa chỉ của line trong way của cache
❖ Word (bit): là địa chỉ của word trong line

www.ptit.edu.vn Trang 207


ĐỊA CHỈ ÁNH XẠ TẬP KẾT HỢP
❖ Ví dụ:
▪ Input:
• Kích thước bộ nhớ: 4GB
• Kích thước cache: 1KB, 2 ways
• Kích thước Line: 32 byte
▪ Output:
• Line size =32 byte = 25 → Word = 5 bit
• Cache size = 1KB = 210 →có 210 / 25 / 2 = 24 lines trong 1 way → Set
= 4 bit
• Tag = 32bit địa chỉ – Set – Word = 32 – 4 – 5 = 23 bit.

www.ptit.edu.vn Trang 208


ÁNH XẠ TẬP KẾT HỢP
❖ Ưu:
▪ Nhanh vì ánh xạ trực tiếp được sử dụng cho ánh xạ dòng
▪ Ít xung đột vì ánh xạ từ trang nhớ tới đường của cache là
linh hoạt
▪ Tỷ lệ tìm thấy (hit) cao
❖ Nhược:
▪ Thiết kế và điều khiển phức tạp vì cache được chia thành
các way

www.ptit.edu.vn Trang 209


ĐỌC/ GHI THÔNG TIN TRONG CACHE
❖ Thao tác đọc:
▪ Trường hợp tìm thấy (hit case): mục dữ liệu yêu cầu tìm
thấy trong cache
• Mục dữ liệu được đọc từ cache vào CPU
• Bộ nhớ chính không tham gia
▪ Trường hợp không tìm thấy (miss case):
• Mục dữ liệu được đọc từ bộ nhớ vào cache
• Sau đó dữ liệu được chuyển từ cache vào CPU
Miss penalty: thời gian truy cập mục dữ liệu bằng tổng thời gian truy
cập cache và bộ nhớ chính

www.ptit.edu.vn Trang 210


ĐỌC/ GHI THÔNG TIN TRONG CACHE
❖ Thao tác ghi:
▪ Trường hợp tìm thấy (hit case):
• Write through (ghi thẳng): mục dữ liệu được ghi vào cache và ghi vào
bộ nhớ đồng thời
• Write back (ghi trễ): mục dữ liệu trước tiên được ghi vào cache và cả
dòng (block) chứa nó ở trong cache sẽ được ghi lại vào bộ nhớ sau
đó, khi mà dòng đó bị thay thế
▪ Trường hợp không tìm thấy (miss case):
• Write allocate (ghi có đọc lại): mục dữ liệu trước hết được ghi vào bộ
nhớ sau đó cả dòng chứa nó sẽ được đọc vào cache
• Write non-allocate (ghi không đọc lại): mục dữ liệu chỉ được ghi vào
bộ nhớ

www.ptit.edu.vn Trang 211


CÁC CHÍNH SÁCH THAY THẾ DÒNG CACHE

❖ Tại sao phải thay thế dòng cache?


▪ Ánh xạ dòng (bộ nhớ) -> dòng (cache) thường là ánh xạ nhiều ->
một
▪ Nhiều dòng bộ nhớ chia sẻ một dòng cache -> các dòng bộ nhớ
được nạp vào cache sử dụng một thời gian và được thay thế bởi
dòng khác theo yêu cầu thông tin phục vụ CPU
❖ Chính sách thay thế (replacement policies): xác định cách
thức lựa chọn các dòng trong cache để thay thế khi có
dòng mới từ bộ nhớ cần chuyển vào
❖ 3 chiến lược chính:
▪ Thay thế ngẫu nhiên (random replacement)
▪ Vào trước ra trước FIFO (First In First Out)
▪ Thay thế các dòng ít được sử dụng gần đây nhất LRU (Least
Recently Used)
www.ptit.edu.vn Trang 212
CÁC CHÍNH SÁCH THAY THẾ DÒNG CACHE

❖ Thay thế ngẫu nhiên:


▪ Các dòng trong cache được chọn ngẫu nhiên để thay
▪ Đơn giản
▪ Tỷ lệ miss cao vì phương pháp này không xét tới dòng
cache nào đang thực sự được sử dụng
• Nếu một dòng cache đang được sử dụng mà bị thay thế thì sự kiện
miss xảy ra và cần phải đọc lại vào cache

www.ptit.edu.vn Trang 213


CÁC CHÍNH SÁCH THAY THẾ DÒNG CACHE

❖ Thay thế kiểu vào trước ra trước FIFO


▪ Dựa trên nguyên lý FIFO
▪ Các dòng cache được đọc vào cache trước sẽ được chọn
để thay trước
▪ Tỷ lệ miss thấp hơn so với phương pháp ngẫu nhiên
▪ Tỷ lệ miss vẫn cao vì phương pháp này vẫn chưa thực sự
xem xét tới block nào đang thực sự được sử dụng
• Một dòng cache “cũ” có thể vẫn đang được sử dụng
▪ Cài đặt phức tạp vì cần thêm mạch để giám sát thứ tự nạp
các dòng bộ nhớ vào cache

www.ptit.edu.vn Trang 214


CÁC CHÍNH SÁCH THAY THẾ DÒNG CACHE

❖ Thay thế các dòng ít được sử dụng gần đây nhất LRU
▪ Các dòng cache ít được sử dụng nhất trong thời gian gần
đây sẽ được chọn để thay
▪ Xét tới các dòng đang được sử dụng
▪ Tỷ lệ miss thấp nhất so với phương pháp ngẫu nhiên và
FIFO
▪ Cài đặt phức tạp vì cần thêm mạch để giám sát tần suất sử
dụng các dòng cache

www.ptit.edu.vn Trang 215


HIỆU NĂNG CACHE

❖ Thời gian truy cập trung bình của hệ thống nhớ có cache:
taccess = (Hit cost) + (miss rate) * (miss penalty)
taccess = H*tcache + (1 - H) * (tmemory)
Trong đó H là hệ số hit

Nếu tcache = 5ns, tmemory = 60ns và H=80%, ta có:


taccess = 0.8*5 + (1 – 0.8) * (60) = 4+12 = 16ns

Nếu tcache = 5ns, tmemory = 60ns và H=95%, ta có:


taccess = 0.95*5 + (1 – 0.95) * (60) = 4.75+3 = 7.75ns

www.ptit.edu.vn Trang 216


HIỆU NĂNG CACHE

A computer has a cache, main memory, and a disk used for virtual
memory. If a referenced word is in the cache 20 ns are required to access
it. If it is in main memory but not in the cache, 60 ns are needed to load it
into the cache (this includes the time to originally check the cache), and
then the reference is started again. If the word is not in main memory, 12
ms are required to fetch the word from disk, followed by 60 ns to copy it to
the cache, and then the reference is started again. The cache hit ratio is
0.9 and the main-memory hit ratio is 0.6. What is the average time in ns
required to access a referenced word on this system?

www.ptit.edu.vn Trang 217


CÁC YẾU TỐ ẢNH HƯỞNG TỚI HIỆU NĂNG

❖ Kích thước cache


❖ Phân chia cache: một cache cho dữ liệu, một cache cho
lệnh
❖ Tạo nhiều mức cache

www.ptit.edu.vn Trang 218


KÍCH THƯỚC CACHE

❖ Số liệu thống kê cho thấy:


▪ Kích thước cache không ảnh hưởng nhiều đến hệ số miss
▪ Hệ số miss của cache lệnh thấp hơn nhiều so với cache dữ
liệu
8KB cache lệnh có hệ số miss < 1%
256KB cache lệnh có hệ số miss < 0.002%
----> tăng kích thước cache lệnh không giảm miss hiệu quả.

8KB cache dữ liệu có hệ số miss < 4%


256KB cache dữ liệu có hệ số miss < 3%
----> tăng kích thước cache dữ liệu lên 32 lần, hệ số miss giảm 25%
(từ 4% xuống 3%).

www.ptit.edu.vn Trang 219


KÍCH THƯỚC CACHE

❖ Kích thước cache lớn:


▪ Có thể lưu trữ nhiều khối dữ liệu trong bộ nhớ hơn
▪ Giảm tần suất trao đổi các khối dữ liệu của chương trình khác
nhau giữa bộ nhớ và cache
▪ Cache lớn chậm hơn cache nhỏ:
• Tìm kiếm vị trí bộ nhớ trong không gian lớn hơn
▪ Xu hướng: cache càng ngày càng lớn
• Hỗ trợ đa nhiệm (multi-tasking ) tốt hơn
• Hỗ trợ tốt hơn cho xử lý song song
• Hỗ trợ tốt hơn cho các hệ thống CPU đa nhân

220

www.ptit.edu.vn Trang 220


CACHE NHIỀU MỨC

❖ Nâng cao hiệu năng hệ thống vì cache nhiều mức có thể


dung hòa tốc độ của CPU và MEM tốt hơn cache một
mức
CPU L1 L2 L3 Main memory
1ns 5ns 15ns 30ns 60ns
1ns 5ns 60ns
❖ Thực tế, cache thường có 2 mức: L1 và L2. Một số cache
có 3 mức: L1, L2 và L3
❖ Giảm giá thành hệ thống nhớ

www.ptit.edu.vn Trang 221


PHÂN CHIA CACHE

❖ Cache có thể được chia thành cache lệnh và cache dữ


liệu để hiệu năng tốt hơn vì:
▪ Dữ liệu và lệnh khác nhau về tính cục bộ
• Dữ liệu có tính chất cục bộ về thời gian hơn
• Lệnh có tính chất cục bộ về không gian hơn
▪ Cache lệnh chỉ hỗ trợ thao tác đọc còn cache dữ liệu hỗ trợ
cả 2 thao tác đọc ghi
Dễ tối ưu cache hơn
▪ Hỗ trợ nhiều thao tác đọc/ ghi cùng lúc => giảm xung đột tài
nguyên
▪ Kết hợp các chức năng khác như giải mã trước lệnh vào
trong cache lệnh => xử lý lệnh tốt hơn

www.ptit.edu.vn Trang 222


PHÂN CHIA CACHE

❖ Trong thực tế, hầu hết cache L1 được chia thành 2 phần:
▪ I_cache (Instruction cache): cache lệnh
▪ D_cache (data cache): cache dữ liệu.
❖ Các cache mức cao hơn không được chia
▪ Chia cache L1 có lợi ích cao nhất vì nó gần CPU nhất. CPU
đọc/ ghi trực tiếp lên cache L1. Cache L1 cần hỗ trợ nhiều
lệnh truy nhập đồng thời và các biện pháp tối ưu hóa
▪ Chia các cache mức cao hơn không đem lại hiệu quả cao
và làm phức tạp trong hệ thống điều khiển cache

www.ptit.edu.vn Trang 223


6. BỘ NHỚ NGOÀI

❖ Đĩa từ:
▪ FDD
▪ HDD
❖ Đĩa quang
▪ CD
▪ DVD
❖ RAID

www.ptit.edu.vn Trang 224


GIỚI THIỆU VỀ ĐĨA TỪ
❖ Đĩa từ là các phương tiện lưu trữ:
▪ Thiết bị lưu trữ thông tin kiểu ổn định
▪ Thiết bị lưu trữ lớn
▪ Dựa trên các nguyên lý từ và vật liệu sắt từ phủ mặt đĩa để
lưu thông tin
▪ Thường dưới dạng đĩa nhựa hoặc kim loại
❖ Các kiểu đĩa từ
▪ Đĩa mềm (FD: Floppy Disk): làm bằng plastic, dung lượng
nhỏ, tốc độ chậm, dễ hỏng
• Sử dụng ổ đĩa mềm (FDD: Floppy Disk Drive) để đọc ghi đĩa mềm
▪ Đĩa cứng (HD: Hard Disk): thường làm bằng kim loại, dung
lượng lớn, tốc độ cao
• Thường được gắn với ổ đĩa trong một hộp kín bảo vệ

www.ptit.edu.vn Trang 225


ĐĨA MỀM VÀ Ổ ĐĨA

51/2 inches disk and drive


(1.2MB)

www.ptit.edu.vn Trang 226


ĐĨA MỀM VÀ Ổ ĐĨA

31/2 inches disk and drive


(1.44MB)

www.ptit.edu.vn Trang 227


Ổ ĐĨA CỨNG

www.ptit.edu.vn Trang 228


Ổ ĐĨA CỨNG

www.ptit.edu.vn Trang 229


CẤU TẠO ĐĨA CỨNG

❖ Đĩa từ (Disks):
▪ HDD có thể có thể gồm một hoặc nhiều đĩa kim loại được
lắp đồng trục (đặt trên cùng một trục quay)
▪ Đĩa thường phẳng và được chế tạo bằng nhôm hoặc
thủy tinh
▪ Lớp bột từ tính phủ trên mặt đĩa để lưu trữ thông tin rất
mỏng, chỉ khoảng 10 – 20nm
• Oxide sắt 3 (Fe2O3) được sử dụng trong các HDD cũ
• Trong HDD hiện tại, sử dụng hợp kim coban và sắt
▪ Một đĩa có 2 mặt (side): mặt 0 và 1

www.ptit.edu.vn Trang 230


CẤU TẠO ĐĨA CỨNG

www.ptit.edu.vn Trang 231


Ổ ĐĨA CỨNG

❖ Đầu từ (head):
▪ Được sử dụng để đọc và ghi thông tin trên bề mặt đĩa
▪ Đầu từ không tiếp xúc mà chỉ “bay” trên bề mặt đĩa
▪ Số lượng đầu từ của mỗi ổ đĩa thường rất khác nhau: 4,
8, 12, 16, 24, 32, 64, …
❖ Rãnh (tracks):
▪ Là các đường tròn đồng tâm trên bề măt đĩa
▪ Được đánh số từ ngoài (0) vào trong
▪ Có hàng nghìn rãnh trên bề mặt 31/2 HDD

www.ptit.edu.vn Trang 232


Ổ ĐĨA CỨNG
❖ Cylinder (mặt trụ):
▪ Gồm tập các rãnh ở cùng vị trí đầu từ
❖ Sector (cung):
▪ Là một phần của rãnh
▪ Thông thường là 512 byte
▪ Là đơn vị quản lý nhỏ nhất của đĩa
❖ Các tham số HDD quan trọng để tính dung lượng:
▪ Số lượng cylinder (C)
▪ Số lượng đầu từ (H)
▪ Số lượng sector/ rãnh (S)
▪ Dung lượng = C x H x S x 512 (byte)

www.ptit.edu.vn Trang 233


ĐỊNH DẠNG ĐĨA CỨNG

❖ Đĩa cứng có thể được định dạng theo 2 mức:


▪ Định dạng mức thấp (low level format):
• Do BIOS thực hiện
• Là quá trình gán địa chỉ (ID) cho các sector vật lý
• Đĩa cứng phải được định dạng ở mức thấp trước khi sử dụng
(tiếp tục với format mức cao)
• Các HDD hiện đại thường được định dạng mức thấp bởi nhà sản
xuất
▪ Định dạng mức cao (high level format):
• Do hệ điều hành thực hiện
• Là quá trình gán địa chỉ cho các sector logic và tạo hệ thống file
• HDD cũng phải được định dạng ở mức cao trước khi được sử
dụng để lưu thông tin

www.ptit.edu.vn Trang 234


GIỚI THIỆU VỀ ĐĨA QUANG
❖ Đĩa quang hoạt động dựa trên các nguyên lý quang học
▪ Đĩa được tạo bằng plastic
▪ Một lớp nhôm rất mỏng được đặt trên một mặt của đĩa để
phản xạ tia laser
▪ Mặt đĩa được “khắc” rãnh và mức lõm của rãnh (các mẫu
pit và land) được sử dụng để biểu diễn các bit thông tin
❖ Cách thức tạo CD-ROMs
▪ Tạo bản CD/ DVD chủ chứa thông tin ở dạng “âm bản”
▪ Sử dụng bản CD/DVD chủ này để “in” thông tin lên các
CD/DVD trắng

www.ptit.edu.vn Trang 235


ĐĨA QUANG

www.ptit.edu.vn Trang 236


NGUYÊN LÝ ĐỌC GHI THÔNG TIN TRONG CDROM

Output
signal
Sensor

Rotation
Laser Diode mirror

Beam
spitter

CD-ROM

www.ptit.edu.vn Trang 237


NGUYÊN LÝ ĐỌC GHI THÔNG TIN TRONG CDROM

❖ Tia laser từ điốt phát laser đi qua bộ tách tia (beam


splitter) đến gương quay (rotation mirror)
❖ Gương quay được điều khiển bởi tín hiệu đọc, lái tia
laser đến vị trí cần đọc trên mặt đĩa
❖ Tia phản xạ từ mặt đĩa phản ánh mức lồi lõm trên mặt
đĩa quay trở lại gương quay
❖ Gương quay chuyển tia phản xạ về bộ tách tia và sau
đó tới bộ cảm biến quang điện (sensor)
❖ Bộ cảm biến quang điện chuyển đổi tia laser phản xạ
thành tín hiệu đầu ra. Cường độ tia laser được biểu
diễn thành mức tín hiệu ra

www.ptit.edu.vn Trang 238


CÁC LOẠI ĐĨA QUANG

❖ CD (Compact Disk)
▪ CD-ROM: Read Only CD
▪ CD-R: Recordable CD: ghi 1 lần
▪ CD-RW: Rewritable CD: ghi lại
❖ DVD (Digital Video Disk)
▪ DVD-ROM: Read Only DVD
▪ DVD-R: Recordable DVD
▪ DVD-RW: Rewritable DVD
▪ HD-DVD: High-density DVD
▪ Blu-ray DVD: Ultra-high density DVD

www.ptit.edu.vn Trang 239


ĐĨA CD (Compact disk)

❖ Dung lượng tối đa là 700 MB


❖ Sử dụng tia laser hồng ngoại có bước sóng 780nm
❖ Tốc độ truyền dữ liệu:
▪ Tốc độ cơ sở: 150KB/s
▪ Tốc độ thực tế: hệ số nhân x tốc độ cơ sở:
• 4x = 4 x 150KB/s = 600KB/s
• 50x = 50 x 150KB/s = 7500KB/s

www.ptit.edu.vn Trang 240


ĐĨA CD – R (Recordable)

www.ptit.edu.vn Trang 241


ĐĨA CD - R

❖ CD – R tương tự như đĩa CD


❖ Sự khác nhau:
▪ Có thêm 1 lớp gọi là “màu hữu cơ” (“organic dye” )ở
giữa lớp plastic và lớp phản xạ
▪ Tia laser đã được điều chế được dùng để “đốt” lớp hữu
cơ, tạo ra các mức lồi lõm khác nhau trên lớp này để lưu
thông tin
▪ CD – R chỉ có thể ghi 1 lần

www.ptit.edu.vn Trang 242


ĐĨA CD - RW

❖ CD – RW tương tự như CD – R
❖ Sự khác nhau:
▪ Lớp “hữu cơ” được thay thế bằng một lớp bán kim loại
đặt trong chân không(semi-metal alloy vacuum)
▪ Lớp bán kim loại có thể được “đốt” lại khoảng1000 lần
(theo lý thuyết)

www.ptit.edu.vn Trang 243


ĐĨA DVD

❖ Dung lượng tối đa khoảng 4.7GB với đĩa 1 mặt và


8.5GB cho đĩa 2 mặt
❖ Sử dụng tia laser hồng ngoại bước sóng 650nm
❖ Tốc độ truyền dữ liệu:
▪ Tốc độ cơ sở: 1350 KB/s
▪ Tốc độ thực sự: hệ số nhân x tốc độ cơ sở
• 4 x = 4 x 1350 = 5400 KB/s
• 16 x = 16 x 1350 = 21600 KB/s

www.ptit.edu.vn Trang 244


MẬT ĐỘ ĐĨA DVD SO VỚI ĐĨA CD

www.ptit.edu.vn Trang 245


MẬT ĐỘ ĐĨA DVD SO VỚI ĐĨA CD

www.ptit.edu.vn Trang 246


DVD-R, RW, HD VÀ Blu-ray DVD

❖ DVD-R tương tự như CD-R nhưng bước sóng laser


ngắn hơn (650nm)
❖ DVD-RW tương tự như CD-RW nhưng bước sóng
ngắn hơn (650nm)
❖ HD DVD (High-Definition/Density DVD) được phát minh
bởi Toshiba:
▪ Sử dụng tia laser xanh với bước sóng ngắn hơn
▪ Dung lượng: 15GB cho 1 lớp, 30 GB 2 lớp
❖ Blu-ray disc: phát minh bởi Sony
▪ Sử dụng laser bước sóng 405 nm
▪ 25GB 1 lớp

www.ptit.edu.vn Trang 247


CHƯƠNG 4: HỆ THỐNG BUS
VÀ THIẾT BỊ NGOẠI VI

www.ptit.edu.vn Trang 248


CHƯƠNG 4: NỘI DUNG CHÍNH

1. Giới thiệu chung về các thiết bị ngoại vi


2. Giới thiệu một số thiết bị vào và ra chính
3. Giới thiệu chung về hệ thống bus
4. Giới thiệu một số loại bus: ISA, EISA, PCI,
AGP, PCI-E

www.ptit.edu.vn Trang 249


GIỚI THIỆU CHUNG VỀ THIẾT BỊ NGOẠI VI

❖ Thiết bị vào/ ra (thiết bị ngoại vi) là các thành phần của


máy tính chịu trách nhiệm:
▪ Lấy dữ liệu từ thế giới bên ngoài vào máy tính
▪ Đưa dữ liệu từ máy tính ra ngoài
❖ Các thiết bị đầu vào:
▪ Bàn phím, chuột, máy quét, ổ CD/DVD, HDD (đọc), …
❖ Các thiết bị đầu ra:
▪ Màn hình, máy in, ổ CDWR/ DVDRW, HDD(ghi), …

www.ptit.edu.vn Trang 250


THIẾT BỊ VÀO/ RA

A multimedia keyboard A logitech mouse

www.ptit.edu.vn Trang 251


THIẾT BỊ VÀO/ RA

A CRT monitor An LCD monitor

www.ptit.edu.vn Trang 252


THIẾT BỊ VÀO/ RA

A Laser Printer A Ink Jet Printer

www.ptit.edu.vn Trang 253


CÁC CỔNG GIAO TIẾP

❖ Các thiết bị vào/ ra thường kết nối với máy tính thông
qua các cổng giao tiếp
▪ Mỗi cổng được gán một địa chỉ duy nhất
❖ Các cổng thông dụng:
▪ PS/2: cho bàn phím và chuột
▪ Các cổng COM và LPT
▪ USB
• USB 1.0: 12Mb/s
• USB 2.0: 480Mb/s
• USB 3.0: 1.5Gb/s

www.ptit.edu.vn Trang 254


CÁC CỔNG GIAO TIẾP

❖ Các cổng thông dụng:


▪ Cổng IDE, SATA và E-SATA: ghép nối các loại ổ đĩa
▪ Cổng LAN: ghép nối mạng
▪ Cổng Audio: ghép nối âm thanh
▪ Cổng đọc các thẻ nhớ
▪ Cổng Firewire/ IEEE 1394: ghép nối các ổ đĩa ngoài
▪ Cổng VGA/ Video port: ghép nối màn hình
▪ Cổng DVI: ghép nối màn hình số

www.ptit.edu.vn Trang 255


Các cổng
thông
dụng

www.ptit.edu.vn Trang 256


CÁC CỔNG GIAO TIẾP

IDE Ports SATA Ports

www.ptit.edu.vn Trang 257


BÀN PHÍM

❖ Bàn phím là thiết bị vào chuẩn


❖ Có 2 chức năng chính:
▪ Nhập dữ liệu
▪ Điều khiển
❖ Các bàn phím chuẩn có 101 phím:
▪ Các kí tự chữ cái (a-z)
▪ Các kí tư số
▪ Các toán tử: +, -, *, /
▪ Các phím chức năng (F1 – F12)
▪ Các phím điều khiển: Ctrl, Alt, Shift, ..
▪ Các phím di chuyển: Home, End, Page Up, Page Down, Up,
Down, Left, Right, ...

www.ptit.edu.vn Trang 258


MA TRẬN PHÍM

www.ptit.edu.vn Trang 259


MA TRẬN PHÍM

❖ Bàn phím sử dụng ma trận hình


thành bởi các dòng và cột dây dẫn
❖ Mỗi phím hoạt động như một công
tắc
❖ Khi một phím được ấn, dây dẫn cột
được nối với dây dẫn dòng tạo thành
một mạch kín
❖ Bộ điều khiển bàn phím liên tục quét
ma trận để phát hiện mạch kín và ghi
nhận phím ấn

www.ptit.edu.vn Trang 260


MA TRẬN PHÍM
❖ Để phát hiện sự ấn phím:
▪ Bộ điều khiển bàn phím sẽ quét tất
cả các cột và kích hoạt lần lượt từng
cột một.
▪ Khi một cột được kích hoạt, bộ điều
khiển phát hiện hàng nào được kích
hoạt (phím được ấn tạo mạch kín)
❖ Hình vẽ:
▪ Bộ điều khiển kích hoạt cột C1
▪ Dòng R1 và R2 được kiểm tra lần
lượt để phát hiện mạch kín

www.ptit.edu.vn Trang 261


NHIỀU PHÍM ĐƯỢC ẤN

3 phím
ấn

1 phím
được 2 phím
ấn ấn

www.ptit.edu.vn Trang 262


HOẠT ĐỘNG CỦA BÀN PHÍM

❖ Khi 1 phím được ấn, bộ điều khiển bàn phím phát hiện
ra sự kiện và tạo một “mã quét” (scan code) tương ứng
❖ Một ngắt bàn phím được gửi tới máy tính
❖ Khi nhận được tín hiệu ngắt bàn phím:
▪ Máy tính thực hiện chương trình điều khiển ngắt bàn
phím:
• Đọc mã quét phím
• Chuyển mã quét phím thành mã kí tự tương ứng (thông thường là
mã ASCII)
▪ Một ký tự có thể được hiển thị theo nhiều hình thức khác
nhau tùy thuộc bộ font

www.ptit.edu.vn Trang 263


CHUỘT MÁY TÍNH

❖ Là thiết bị vào thông dụng


▪ Chức năng là điều khiển
❖ Các loại chuột:
▪ Chuột cơ
▪ Chuột quang
▪ Chuột laser
▪ Chuột dây
▪ Chuột không dây
❖ Các nút chuột:
▪ Các nút thông thường: trái, phải, cuốn
▪ Các nút khác: Forward, Backward

www.ptit.edu.vn Trang 264


CHUỘT CƠ

www.ptit.edu.vn Trang 265


NGUYÊN LÝ HOẠT ĐỘNG CỦA CHUỘT CƠ

❖ Khi di chuyển chuột, bi quay tròn


❖ Bi quay kéo theo 2 trục áp vào quay theo. Hai trục
được gắn bánh xe răng cưa ở 1 đầu:
▪ Một trục để phát hiện di chuyển theo phương đứng
▪ Một trục để phát hiện di chuyển theo phương ngang
❖ Có 2 diod phát tia hồng ngoại chiếu qua các bánh răng
cưa gắn trên các trục:
▪ Khi bánh răng cưa quay, ánh sáng hồng ngoại chiếu qua sẽ bị
ngắt quãng
▪ Ở phía đối diện có 2 bộ cảm biến chuyển ánh sáng hồng ngoại
sau bánh răng cưa thành tín hiệu điện
▪ Tín hiệu điện thu được phản ánh chuyển động của chuột được
chuyển cho máy tính xử lý
www.ptit.edu.vn Trang 266
CHUỘT QUANG

www.ptit.edu.vn Trang 267


HOẠT ĐỘNG CỦA CHUỘT QUANG
❖ Một điốt phát ánh sáng đỏ qua ống kính chiếu xuống
mặt phẳng di chuột. Ánh sáng phản xạ từ mặt phẳng di
chuột quay ngược trở lại chuột
❖ Camera đặt phía dưới chuột liên tục chụp ảnh bề mặt
di chuột nhờ ánh sáng phản xạ. Tốc độ khoảng 1500
ảnh/ 1s
❖ Bộ điều khiển chuột xử lý và so sánh các bức ảnh kề
nhau để tìm ra sự di chuyển của chuột
❖ Tín hiệu biểu diễn di chuyển chuột được gửi tới máy
tính để xử lý tiếp theo

www.ptit.edu.vn Trang 268


CHUỘT LASER

www.ptit.edu.vn Trang 269


CHUỘT LASER

❖ Chuột laser hoạt động theo nguyên lý tương tự như


chuột quang. Một số điểm khác:
▪ Sử dụng tia laser thay cho tia ánh sáng đỏ của chuột
quang
▪ Camera chụp ảnh với tốc độ cao hơn (khoảng 6000/ 1s)
▪ Độ nhạy cao hơn
▪ Có thể làm việc trên hầu hết các bề mặt

www.ptit.edu.vn Trang 270


MÀN HÌNH MÁY TÍNH

❖ Màn hình là thiết bị đầu ra chuẩn


❖ Hiển thị text và hình ảnh đồ họa
❖ Một số loại màn hình:
▪ CRT
▪ LCD
▪ Plasma

www.ptit.edu.vn Trang 271


MÀN HÌNH CRT

www.ptit.edu.vn Trang 272


MÀN HÌNH CRT TRẮNG ĐEN

www.ptit.edu.vn Trang 273


MÀN HÌNH CRT MÀU

www.ptit.edu.vn Trang 274


MÀN HÌNH CRT MÀU

www.ptit.edu.vn Trang 275


NGUYÊN LÝ HOẠT ĐỘNG MÀN HÌNH CRT

❖ Là đèn chân không (Cathode Ray Tube) sử dụng tia


điện tử được phát ra từ cực cathode bắn lên mặt huỳnh
quang photpho để tạo các ảnh
❖ Tia điện tử được điều khiển bởi 2 cuộn lái tia (dòng và
mành) để quét hết màn hình. Tốc độ quét tối thiểu là 24
ảnh/ 1s
❖ Tín hiệu video được dùng để điều khiển mật độ tia điện
tử bắn lên màn huỳnh quang
❖ Màn hình đen trắng sử dụng một súng điện tử, màn
hình màu sử dụng 3 súng điện tử tương ứng với 3 màu
cơ bản (RGB) để tạo một điểm ảnh

www.ptit.edu.vn Trang 276


MÀN HÌNH LCD

❖ LCD (Liquid Crystal Display) là màn hình tạo ảnh dựa


trên các “tinh thể lỏng”
❖ “Tinh thể lỏng” là các chất bán rắn lỏng nhạy cảm với
nhiệt độ và dòng điện
❖ Ưu điểm của LCD so với màn hình CRT:
▪ Mỏng hơn, nhẹ hơn
▪ Tiêu thụ điện ít hơn
▪ Phần diện tích màn hình thực để hiển thị ảnh (viewable) lớn
hơn
❖ Vài nhược điểm:
▪ Không hỗ trợ nhiều độ phân giải (resolution)
▪ Chất lượng ảnh không thực sự tốt và thời gian đáp ứng chậm
▪ Góc nhìn hẹp
www.ptit.edu.vn Trang 277
MÁY IN

❖ Là thiết bị dùng để kết xuất thông tin ra giấy


❖ Các loại máy in:
▪ Typewriter-derived printers (máy in búa)
▪ Dot-matrix printers (máy in kim)
▪ Laser printers (máy in laser)
▪ Inkjet printers (máy in phun mực)
▪ Colour printers (máy in mầu)
▪ Multi-function printers (máy in đa chức năng)

www.ptit.edu.vn Trang 278


MÁY IN BÚA

www.ptit.edu.vn Trang 279


MÁY IN KIM

www.ptit.edu.vn Trang 280


MÁY IN LASER

www.ptit.edu.vn Trang 281


MÁY IN LASER

www.ptit.edu.vn Trang 282


MÁY IN LASER

www.ptit.edu.vn Trang 283


MÁY IN LASER

❖ Các thành phần chính của máy in laser:


▪ Trống cảm quang
▪ Nguồn sáng laser
▪ Gương quay và bộ điều chế tia laser
▪ Hộp mực
▪ Điện cực nạp điện tích cho trống
▪ Điện cực nạp điện tích cho giấy
▪ Trống sấy
▪ Khay giấy

284

www.ptit.edu.vn Trang 284


NGUYÊN LÝ HOẠT ĐỘNG CỦA MÁY IN LASER

❖ Máy in laser hoạt động dựa trên nguyên tắc chụp ảnh điện tử
bằng tia laser:
▪ Trống cảm quang được nạp 1 lớp điện tích nhờ 1 điện cực
▪ Tia laser từ nguồn sáng laser đi qua 1 gương quay và bộ điều chế tia
đươck điều khiển bởi tín hiệu cần in đến mặt trống
▪ Ánh sáng laser làm thay đổi mật độ điện tích trên mặt trống; mật độ
điện tích trên mặt trống thay đổi theo tín hiệu cần in
▪ Khi trống cảm quang quay đến hộp mực thì điện tích trên trống hút
các hạt mực được tích điện trái dấu. Các hạt mực dính trên trống biểu
diễn âm bản của văn bản/thông tin cần in
▪ Giấy từ khay được kéo lên cũng được điện cực nạp điện tích trái dấu
với điện tích của mực nên hút các hạt mực khỏi trống cảm quang
▪ Giấy tiếp tục đi qua trống sấy nóng làm các hạt mực chảy ra và bị ép
chặt vào giấy

285

www.ptit.edu.vn Trang 285


MÁY IN PHUN

www.ptit.edu.vn Trang 286


GIỚI THIỆU VỀ BUS MÁY TÍNH

❖ Bus máy tính là hệ thống con (subsystem) có nhiệm vụ


truyền dữ liệu giữa các thành phần bên trong máy tính
❖ Bus máy tính thường gồm 3 loại:
▪ Bus địa chỉ (bus A)
▪ Bus dữ liệu (bus D)
▪ Bus điều khiển (bus C)
❖ Các bus máy tính thông dụng: ISA, EISA, PCI, AGP,
PCI Express (or PCIe), USB bus, ...

www.ptit.edu.vn Trang 287


BUS MÁY TÍNH – SƠ ĐỒ NGUYÊN LÝ

www.ptit.edu.vn Trang 288


BUS MÁY TÍNH – CÁC HỆ THỐNG HIỆN ĐẠI

www.ptit.edu.vn Trang 289


BUS ISA - Industrial Standard Architecture

❖ Bus ISA được IBM phát triển vào năm 1981


❖ Độ rộng bit: 8 (XT) or 16 (AT) bits
❖ Số lượng tối đa các thiết bị: 6
❖ Tốc độ đồng hồ: 4, 6, 8MHz

www.ptit.edu.vn Trang 290


www.ptit.edu.vn Trang 291
BUS EISA

❖ EISA là mở rộng ISA, ra đời


vào năm 1988
❖ Băng thông: 32 bit
❖ EISA tương thích với các thiết
bị ISA 8 và 16 bit
❖ Số lượng thiết bị: 1/khe cắm
❖ Xung nhịp: 8.33 MHz
❖ Tốc độ truyền dữ liệu: 33MB/s

www.ptit.edu.vn Trang 292


www.ptit.edu.vn Trang 293
BUS PCI

❖ PCI (Peripheral Component


Interconnect) bus được Intel
phát triển năm 1993
❖ Băng thông: 32 hoặc 64 bit
❖ Tốc độ truyền dữ liệu:
▪ 133 MB/s (32bit at 33MHz)
▪ 266 MB/s (32bit at 66MHz or
64bit at 33MHz)
▪ 533 MB/s (64bit at 66MHz)

www.ptit.edu.vn Trang 294


BUS PCI CỤC BỘ

www.ptit.edu.vn Trang 295


SƠ ĐỒ KHỐI PCI BUS

www.ptit.edu.vn Trang 296


CÁC TÍN HIỆU BUS PCI

❖ Các tín hiệu để bắt đầu giao dịch:


▪ REQ#: Initiator (bên khởi tạo) gửi tín hiệu yêu cầu bus
▪ GNT#: Arbiter (bộ Tùy chọn) gửi tín hiệu cho phép sử
dụng bus
❖ Tín hiệu điều khiển giao dịch:
▪ FRAME#: bắt đầu chu kỳ bus
▪ IRDY#: Initiator sẵn sàng
▪ DEVSEL#: target xác nhận bắt đầu giao dịch
▪ TRDY: target sẵn sàng
▪ STOP#: dừng giao dịch

www.ptit.edu.vn Trang 297


CÁC PHA GIAO DỊCH BUS PCI

❖ Một giao dịch PCI (một phiên truyền dữ liệu trên bus
PCI – transaction) thường gồm 3 giai đoạn:
▪ Arbitration (pha tùy chọn): khởi tạo giao dịch
▪ Address (pha địa chỉ): xác định địa chỉ bên tham gia giao
dịch
▪ Data (pha dữ liệu): truyền dữ liệu

www.ptit.edu.vn Trang 298


CÁC PHA GIAO DỊCH BUS PCI

❖ Pha tùy chọn:


▪ Thiết bị PCI (initator) gửi tín hiệu REQ# tới Arbiter để yêu
cầu dùng bus
▪ Nếu bus rỗi, Arbiter gửi tín hiệu cho phép sử dụng bus
GNT# cho initator
▪ Nếu bus bận, yêu cầu được thêm vào hàng đợi
▪ Các tín hiệu GNT# có thể bị Arbiter hủy bất cứ lúc nào
▪ Thiết bị PCI được cấp tín hiệu GNT# có thể bắt đầu giao
tác PCI nếu bus rỗi (idle)

www.ptit.edu.vn Trang 299


CÁC PHA GIAO DỊCH BUS PCI

❖ Pha địa chỉ:


▪ Thiết bị PCI có tín hiệu cho phép sử dụng bus GNT# có
thể bắt đầu giao tác PCI bằng cách gửi tín hiệu FRAME#
và gửi địa chỉ thiết bị đích cùng lệnh tương ứng (đọc/ ghi)
▪ Các thiết bị PCI khác kiểm tra địa chỉ và lệnh, và xem có
phải là mình là thiết bị đích hay không. Thiết bị đích (có
địa chỉ trùng với địa chỉ gửi bởi Initator) sẽ gửi tín hiệu trả
lời DEVSEL# đến Initator
▪ Thiết bị đích phải gửi tín hiệu trả lời DEVSEL# trong vòng
3 chu kỳ đồng hồ

www.ptit.edu.vn Trang 300


PHA ĐỊA CHỈ

www.ptit.edu.vn Trang 301


PHA DỮ LIỆU
❖ Sau pha địa
chỉ
(DEVSEL#
…) sẽ là 1
hoặc vài
pha dữ liệu
❖ Kết thúc
pha dữ liệu,
thiết bị đích
sẽ gửi tín
hiệu
STOP#

www.ptit.edu.vn Trang 302


BUS AGP - Accelerated Graphics Port
❖ AGP được Intel
phát triển năm 1993
❖ Băng thông: 32 bit
❖ Tốc độ truyền dữ
liệu:
▪ 1x: 66MHz,
266MB/s
▪ 2x: 133MHz,
533MB/s
▪ 4x: 266MHz,
1066MB/s
▪ 8x: 533MHz,
2133MB/s

www.ptit.edu.vn Trang 303


BUS AGP

www.ptit.edu.vn Trang 304


AGP Card

www.ptit.edu.vn Trang 305


BUS PCI EXPRESS

❖ PCI express (còn được gọi là PCIe) được Intel phát


triển năm 2004
❖ Độ rộng bus: 1 – 32
❖ Kiểu truyền thông: nối tiếp (point to point)
❖ Dung lượng:
▪ Một luồng (lane):
• v1.x: 250 MB/s
• v2.0: 500 MB/s
• v3.0: 1 GB/s
▪ Kênh 16 làn:
• v1.x: 4 GB/s
• v2.0: 8 GB/s
• v3.0: 16 GB/s

www.ptit.edu.vn Trang 306


KHE CẮM BUS PCI EXPRESS

www.ptit.edu.vn Trang 307


Bus PCI Express vs PCI

Các thiếu bị dùng PCI chia sẻ bus chung, còn mỗi thiết bị dùng
PCIe có kết nối riêng tới chuyển mạch

www.ptit.edu.vn Trang 308


KIẾN TRÚC BUS PCIe

❖ PCIe được cấu trúc từ các liên kết nối tiếp điểm tới
điểm
❖ Một cặp liên kết nối tiếp (theo 2 chiều ngược nhau) tạo
thành một luồng(lane)
❖ Các luồng được định tuyến qua một bộ chuyển mạch
(crossbar switch) trên bảng mạch chính
❖ Các khe PCIe vật lý có thể chứa từ 1 – 32 làn

www.ptit.edu.vn Trang 309


KIẾN TRÚC PCIe – BUS NỐI TIẾP

❖ PCIe sử dụng giao thức truyền nối tiếp và tránh được


vấn đề lệch thời gian (time skew) – một trong các yếu
tố làm giảm tốc độ:
▪ Các bus song song (ISA, PCI, AGP) yêu cầu tất cả các
bit dữ liệu cần truyền tới điểm đích cùng thời điểm
▪ Vì vấn đề lệch thời gian, các bit của khối dữ liệu cần
truyền có thể không đến đích cùng thời gian, sẽ gây khó
khăn trong việc phục hồi từ dữ liệu cuối cùng
▪ Đối với bus nối tiếp, không có vấn đề về thời gian vì
chúng không yêu cầu mọi bit của khối dữ liệu cần truyền
tới đích cùng thời điểm

www.ptit.edu.vn Trang 310


TIỂU LUẬN MÔN HỌC

Yêu cầu:
- Tiểu luận: khoảng 10 trang
- Báo cáo: 3~5 phút
Nội dung tiểu luận:
❑ Trang bìa: Tên + danh sách nhóm
❑ Mục lục
❑ Nội dung chính
❑ Tài liệu tham khảo (nếu có)
Thời hạn:
- Nộp báo cáo: 04/12/2020
- Thuyết trình: 07/12/2020 (dự kiến)
www.ptit.edu.vn Trang 311
CHƯƠNG 5: TỔNG QUAN VỀ HỆ
ĐIỀU HÀNH

www.ptit.edu.vn Trang 312


NỘI DUNG

1. Các thành phần của hệ thống máy tính


2. Khái niệm hệ điều hành
3. Các dịch vụ do HDH cung cấp
4. Quá trình phát triển và một số khái niệm quan trọng
5. Cấu trúc HDH
6. Một số HDH cụ thể

www.ptit.edu.vn Trang 313


I. CÁC THÀNH PHẦN CỦA HỆ THỐNG MÁY TÍNH

Banking Application Programs


Airline System
System
Command
Compilers Editors
Interpreter
System Programs
Operating System

Machine Language

Microprogramming Hardware

Physical Devices

www.ptit.edu.vn Trang 314


I. CÁC THÀNH PHẦN CỦA HỆ THỐNG MÁY TÍNH

www.ptit.edu.vn Trang 315


I. CÁC THÀNH PHẦN CỦA HỆ THỐNG MÁY TÍNH

www.ptit.edu.vn Trang 316


II. KHÁI NIỆM HỆ ĐIỀU HÀNH

Thế nào là hệ điều hành?


Được định nghĩa thông qua mục đích, vai trò, và chức
năng trong hệ thống máy tính
▪ Hệ điều hành là hệ thống phần mềm đóng vai trò trung
gian giữa người sử dụng và phần cứng máy tính nhằm tạo
ra môi trường giúp việc thực hiện các chương trình một
cách thuận tiện và hiệu quả
▪ Hệ điều hành thực hiện 2 chức năng cơ bản:
▪ Quản lý tài nguyên
▪ Quản lý việc thực hiện các chương trình

www.ptit.edu.vn Trang 317


II. KHÁI NIỆM HỆ ĐIỀU HÀNH

Hệ điều hành là một phần mềm có tính phản ứng


• Chờ đợi các sự kiện (event)
• Khi một sự kiện xảy ra, HĐH phản ứng: xử lý sự kiện đó (ví
dụ: khi có thêm một chương trình muốn chạy hay có thêm thiết
bị mới gắn vào, …)
• Việc xử lý sự kiện phải tốn càng ít thời gian càng tốt

Loại sự kiện:
– Ngắt (interrupts)
– Lời gọi hệ thống (System calls)

www.ptit.edu.vn Trang 318


II. KHÁI NIỆM HỆ ĐIỀU HÀNH
1. Quản lý tài nguyên

▪ Đảm bảo cho tài nguyên hệ thống được sử dụng một cách
có ích và hiệu quả
▪ Các tài nguyên: bộ xử lý (CPU), bộ nhớ chính, bộ nhớ ngoài
(các đĩa), các thiết bị vào ra
▪ Phân phối tài nguyên cho các ứng dụng hiệu quả:
▪ Yêu cầu tài nguyên được HDH thu nhận và đáp ứng bằng cách cấp
cho chương trình các tài nguyên tương ứng
▪ HĐH cần lưu trữ tình trạng tài nguyên
▪ Đảm bảo không xâm phạm tài nguyên cấp cho chương trình
khác

www.ptit.edu.vn Trang 319


II. KHÁI NIỆM HỆ ĐIỀU HÀNH
2. Quản lý việc thực hiện các chương trình

▪ Một chương trình đang trong quá trình chạy gọi là tiến trình
(process)
▪ Hệ điều hành giúp việc chạy chương trình dễ dàng hơn
▪ Tạo ra các máy ảo: là máy logic với các tài nguyên ảo
▪ Tài nguyên ảo: mô phỏng tài nguyên thực được thực hiện bằng
phần mềm
▪ Cung cấp các dịch vụ cở bản như tài nguyên thực
▪ Dễ sử dụng hơn
▪ Số lượng tài nguyên ảo có thể lớn hơn số lượng tài nguyên thực

www.ptit.edu.vn Trang 320


Khởi động hệ điều hành (Bootstrapping)
❖Booting: Procedure that transfers the
OS from mass storage (permanent) into
the main memory (volatile-thus empty
when machine is turned on)
❖Bootstrap: Program in ROM (example
of firmware)
▪ Run by the CPU when power is turned on
(PC starts at pre-defined address when
power is applied)
▪ Transfers operating system from mass
storage to main memory
▪ Executes jump to operating system

www.ptit.edu.vn Trang 321


The booting process

www.ptit.edu.vn Trang 322


III. CÁC DỊCH VỤ DO HDH CUNG CẤP

▪ Tải và chạy chương trình:


▪ Để thực hiện, chương trình được tải từ đĩa vào bộ nhớ, sau đó
được trao quyền thực hiện các lệnh
▪ Khi thực hiện xong, cần giải phóng bộ nhớ và các tài nguyên
▪ => HDH sẽ thực hiện công việc này
▪ HDH tự tải mình vào bộ nhớ
▪ Giao diện với người dùng:
▪ Dưới dạng dòng lệnh
▪ Giao diện đồ họa
▪ Thực hiện các thao tác vào/ ra dữ liệu

www.ptit.edu.vn Trang 323


III. CÁC DỊCH VỤ DO HDH CUNG CẤP

▪ Làm việc với hệ thống file


▪ Phát hiện và xử lý lỗi
▪ Phát hiện và xử lý kịp thời các lỗi xuất hiện trong phần cứng cũng
như phần mềm
▪ => Đảm bảo cho hệ thống hoạt động ổn định, an toàn
▪ Truyền thông:
▪ Cung cấp dịch vụ cho phép thiết lập liên lạc và truyền thông tin
▪ Cấp phát tài nguyên
▪ Dịch vụ an ninh và bảo mật

www.ptit.edu.vn Trang 324


IV. GIAO DIỆN LẬP TRÌNH CỦA HDH
▪ Để các chương trình có thể sử dụng được những dịch vụ
HDH cung cấp giao diện lập trình
▪ Gồm các lời gọi hệ thống (system call)
▪ Lời gọi hệ thống: các lệnh đặc biệt mà CTUD gọi khi cần
yêu cầu HDH thực hiện một việc gì đó
▪ Lời gọi hệ thống được thực hiện qua những thư viện hàm
gọi là thư viện hệ thống

www.ptit.edu.vn Trang 325


V. QUÁ TRÌNH PHÁT TRIỂN

Thế hệ thứ 1:
✓ Vacuum tube
✓ Plug board
✓ Tại 1 thời điểm: 1 công việc
✓ Vấn đề: lãng phí
Thế hệ thứ 2:
✓ Transistors
✓ Batch system
✓ Sử dụng cơ chế spooling (thực hiện đồng thời nhiều thao tác
của 1 công việc)
✓ Sử dụng CPU tốt hơn, nhưng vẫn thực thi 1 công việc tại 1
thời điểm
www.ptit.edu.vn Trang 326
V. QUÁ TRÌNH PHÁT TRIỂN

Thế hệ thứ 3:
✓ Integrated circuits (ICs)
✓ Đa nhiệm (multiprogramming)
✓ Chia sẻ thời gian: thực thi nhiều công việc cùng 1 lúc
Thế hệ thứ 4:
✓ Thể thống nhất lớn
✓ Dùng cho PC
Thế hệ tiếp theo:
✓ Hệ thống kết nối thông qua mạng???
✓ Quản lý tài nguyên trên diện rộng???

www.ptit.edu.vn Trang 327


V. QUÁ TRÌNH PHÁT TRIỂN

▪ Các hệ thống đơn giản: chưa có HDH


▪ Xử lý theo mẻ:
▪ Chương trình được phân thành các mẻ: gồm những chương trình
có yêu cầu giống nhau
▪ Toàn bộ mẻ được nạp vào băng từ và được tải vào máy để thực
hiện lần lượt
▪ Chương trình giám sát (monitor): tự động nạp
chương trình tiếp theo vào máy và cho phép nó
chạy
▪ => Giảm đáng kể thời gian chuyển đổi giữa hai
chương trình trong cùng một mẻ
▪ Trình giám sát là dạng đơn giản nhất của HDH

www.ptit.edu.vn Trang 328


V. QUÁ TRÌNH PHÁT TRIỂN

▪ Đa chương trình:
▪ Hệ thống chứa đồng thời nhiều chương trình trong bộ nhớ
▪ Khi một chương trình phải dừng lại để thực hiện vào ra, HDH sẽ
chuyển CPU sang thực hiện một chương trình khác
=> Giảm thời gian chạy không tải của CPU

www.ptit.edu.vn Trang 329


V. QUÁ TRÌNH PHÁT TRIỂN
▪ Đa chương trình:

▪ Thời gian chờ đợi của CPU trong chế độ đa chương trình giảm
đáng kể so với trong trường hợp đơn chương trình
▪ HDH phức tạp hơn rất nhiều so với HDH đơn chương trình
▪ Đòi hỏi hỗ trợ từ phần cứng, đặc biệt khả năng vào/ra bằng ngắt
và DMA

www.ptit.edu.vn Trang 330


V. QUÁ TRÌNH PHÁT TRIỂN

▪ Chia sẻ thời gian:


▪ Chia sẻ thời gian có thể coi như đa chương trình cải tiến
▪ CPU lần lượt thực hiện các công việc khác nhau trong những
khoảng thời gian ngắn gọi là lượng tử thời gian
▪ Chuyển đổi giữa các công việc diễn ra với tần số cao và tốc độ
CPU lớn
▪ => Tất cả người dùng đều có cảm giác máy tính chỉ thực hiện
chương trình của mình
▪ => CPU được chia sẻ giữa những người dùng khác nhau tương
tác trực tiếp với hệ thống

www.ptit.edu.vn Trang 331


Operating Systems Evolution

IOCS IBSYS
55

60
CTSS
65 DOS/360 OS/360 MULTICS
CP/CM5
70 RSX-11M
UNIX
TSO RT-11 CP/M
75 UNIXV.7
DOS/VDSE MVS/370 VM/370 VMS 1.0
4.1BSD XENIX MS-DOS 1.0
80 SYSTEM III DR/DOS
SUN OS 4.2BSD
85 VS MVS/XA VM/XA SYSTEM V AIX POSIX OS/2
MACH WIN 3.0
AIX/370 OSF/1 4.3BSD VMS 5.4 WIN 3.1
90 SYSTEM V.4
VS/ESA MVS/ES VM/ESA
95 LINUX AIX/ESA SOLARIS 2 4.4BSD WIN NT WIN 9X

00 VMS 7.3 WIN 2000

03 LINUX 2.6 WIN XP


SOLARIS 10
WIN Server 2003

www.ptit.edu.vn Trang 332


333
Windows And Linux Evolution

❖ Windows and Linux kernels are based on foundations developed in


the mid-1970s

1970 1980 1990 2000

1970 1980 1990 2000

(see http://www.levenez.com for diagrams showing history of Windows & Unix)


www.ptit.edu.vn Trang 333
Windows

www.ptit.edu.vn Trang 334


Windows

Windows 1.0 – Phát hành 12/1985


Windows 2.0
✓ Phát hành 1987
✓ Chỉ hỗ trợ bộ vi xử lý Intel 8086 hoặc 8088
✓ Có thể truy cập 1MB bộ nhớ
Windows 3.0
✓ Phát hành 05/1990
✓ Có thể truy cập 16MB bộ nhớ
Windows 3.1
✓ Phát hành 04/1992
✓ Hỗ trợ TrueType fonts/ Multimedia

www.ptit.edu.vn Trang 335


Windows
Windows NT
✓ Phát hành 07/1993
✓ Hỗ trợ chíp Intel 386, 486 và các chíp khác không của Pentium
✓ Là hệ điều hành dòng server đầu tiên
✓ Là HĐH đầu tiên hỗ trợ các ỨD 32 bits
Windows 95
✓ Phát hành 08/1995
✓ Cũng hỗ trợ các ứng dụng 32-bit (nhưng vẫn tương
thích với các ƯD 16 bits
Windows 98
✓ Phát hành 06/1998
✓ Tăng cường về mặt hiệu năng và hỗ trợ phần cứng
tốt hơn
✓ Tích hợp các tính năng Internet

www.ptit.edu.vn Trang 336


Windows

Windows Millennium
✓ Phát hành 12/2000
✓ Là phiên bản desktop hỗ trợ tốt multimedia.
Windows 2000
✓ Phát hành 01/2000
✓ Hỗ trợ tính đa xử lý đối xứng : 2-32 CPU.
✓ Hỗ trợ đầy đủ tính năng đa ngôn ngữ (UNICODE)
✓ Tính hợp đầy đủ các chồng giao thức mạng thông dụng
✓ Thuộc dòng HĐH server chuyên dụng.
✓ Các dòng sản phẩm: Windows 2000 Professional,
Windows 2000 Server, Windows 2000 Advanced Server,
Windows 2000 Datacenter Server

www.ptit.edu.vn Trang 337


Windows
Windows server 2003
✓ Phát hành 4/2003
✓ Hiệu năng (performance) của các dịch vụ nhanh hơn Win2k
✓ Phiên bản: web, standard, enterprise, datacenter, small
business server, storage server
Windows Vista
✓ Phát hành: 11/2006
✓ Hỗ trợ về giao diện và multimedia
✓ Phiên bản: Home Basic, Home Premium, Business,
Enterprise, Ultimate
Windows 2008 server
✓ Phát hành: 02/2008
Windows 7: Phát hành: 10/2009
Windows 8: Phát hành: 10/2012
Windows 10: Phát hành: 10/2015
www.ptit.edu.vn Trang 338
Unix/Linux

Là HĐH mã nguồn mở
Linux là HĐH tương tự Unix.
Bao gồm khoảng 6 triệu dòng mã (kernel v2.6)
Tăng trưởng khoảng 25%/năm từ năm 2003
Chiếm khoảng 10% thị trường HĐH.

www.ptit.edu.vn Trang 339


Unix/Linux
1969: UNIX, Thompson & Ritchie (AT&T Bell Lab)
1987: Minix, Andy Tanenbaum
1991: birth of Linux
Minix-like OS by Linus Torvard
Limited devices, no networking
1994: Linux 1.0
only single-processor i386
networking (Internet)
enhanced file system (ext2)
1995: Linux 1.2
more hardware
8086 mode (DOS emulation) included
Support other architecture:Sparc, Alpha, MIPS
www.ptit.edu.vn Trang 340
Unix/Linux
1996: Linux 2.0
multiple architectures, multiple processors
threads, memory management …
1999: Linux 2.2
2001: Linux 2.4
ISA PnP, USB,…
12/2003: Linux 2.6
Các dòng khác:
✓ Mandrake
✓ Fedora/Redhat
✓ Debian
✓ SUSE
✓ Gentoo
✓ Ubuntu
www.ptit.edu.vn… Trang 341
VI. CẤU TRÚC HDH
1. CÁC THÀNH PHẦN

▪ Quản lý tiến trình:


▪ Tạo và xoá tiến trình
▪ Tạm treo và khôi phục các tiến trình bị treo
▪ Đồng bộ hoá các tiến trình (lập lịch cho các
tiến trình .v.v.)
▪ Giải quyết các bế tắc, ví dụ như khi có xung
đột về tài nguyên
▪ Tạo cơ chế liên lạc giữa các tiến trình

www.ptit.edu.vn Trang 342


VI. CẤU TRÚC HDH
1. CÁC THÀNH PHẦN

▪ Quản lý bộ nhớ:
▪ Quản lý việc phân phối bộ nhớ giữa các tiến trình
▪ Tạo ra bộ nhớ ảo và ánh xạ địa chỉ bộ nhớ ảo vào bộ nhớ thực
▪ Cung cấp và giải phóng bộ nhớ theo yêu cầu của các tiến trình
▪ Quản lý không gian nhớ đã được cấp và không gian còn trống

www.ptit.edu.vn Trang 343


VI. CẤU TRÚC HDH
1. CÁC THÀNH PHẦN
▪ Quản lý vào ra:
▪ Đơn giản hoá và tăng hiệu quả quá trình trao đổi thông tin giữa
các tiến trình với thiết bị vào ra
▪ Quản lý tệp và thư mục:
▪ Tạo, xóa tệp và thư mục
▪ Đọc ghi tệp
▪ Ánh xạ tệp và thư mục sang bộ nhớ ngoài
▪ Hỗ trợ mạng và xử lý phân tán
▪ Giao diện với người dùng
▪ Các chương trình tiện ích và ứng dụng

www.ptit.edu.vn Trang 344


VI. CẤU TRÚC HDH
2. NHÂN CỦA HDH
▪ Nhân (kernel) là phần cốt lõi, thực hiện các chức năng cơ
bản nhất, quan trọng nhất của HDH và thường xuyên được
giữ trong bộ nhớ
▪ HDH gồm nhiều thành phần, chỉ tải những thành phần
quan trọng không thể thiếu được vào bộ nhớ gọi là nhân
▪ Nhân chạy trong chế độ đặc quyền – chế độ nhân
▪ Các chương trình bình thường chạy trong chế độ người
dùng
▪ Kích thước nhân?

www.ptit.edu.vn Trang 345


VI. CẤU TRÚC HDH
3. MỘT SỐ CẤU TRÚC HDH
▪ Cấu trúc nguyên khối
▪ Toàn bộ chương trình và dữ liệu của HDH có chung 1 không gian
nhớ
▪ HDH trở thành một tập hợp các thủ tục hay các chương trình con
▪ Ưu điểm: nhanh, tốc độ cao
▪ Nhược điểm: không an toàn, không mềm dẻo

www.ptit.edu.vn Trang 346


VI. CẤU TRÚC HDH
3. MỘT SỐ CẤU TRÚC HDH
▪ Cấu trúc nguyên khối
▪ Ví dụ: Hệ điều hành Linux: tổ
chức các mô-đun có thể tải từ
đĩa và gắn vào nhân khi cần thiết
(Trong trường hợp không dùng
tới có thể xoá các mô-đun khỏi
nhân).

www.ptit.edu.vn Trang 347


VI. CẤU TRÚC HDH
3. MỘT SỐ CẤU TRÚC HDH
▪ Cấu trúc vi nhân
▪ Nhân chỉ chứa các chức năng quan trọng nhất
▪ Các chức năng còn lại được đặt vào các modul riêng: chạy trong
chế độ đặc quyền hoặc người dùng
▪ Ưu điểm: mềm dẻo, an toàn
▪ Nhược điểm:
• Tốc độ chậm hơn so với cấu trúc nguyên khối;
• Việc chuyển đổi giữa các mô-đun đòi hỏi thời gian và tài nguyên hệ thống.

www.ptit.edu.vn Trang 348


VI. CẤU TRÚC HDH
3. MỘT SỐ KIỂU CẤU TRÚC HDH
▪ Cấu trúc phân lớp
▪ Các thành phần được chia thành các lớp nằm chồng lên nhau
▪ Mỗi lớp chỉ có thể liên lạc với lớp nằm kề bên trên và kề bên dưới
▪ Mỗi lớp chỉ có thể sử dụng dịch vụ do lớp nằm ngay bên dưới
cung cấp
▪ Ưu điểm: dễ sửa lỗi
▪ Nhược điểm: tốc độ chậm hơn cấu trúc nguyên khối

www.ptit.edu.vn Trang 349


VII. MỘT SỐ HDH CỤ THỂ

▪ MS-DOS
▪ UNIX
▪ LINUX
▪ Windows
▪ Mac OS
▪ Handheld Operating Systems

www.ptit.edu.vn Trang 350


VII. MỘT SỐ HDH CỤ THỂ

DOS

❖ Disk Operating System


❖ First operating system that many used

www.ptit.edu.vn Trang 351


VII. MỘT SỐ HDH CỤ THỂ

Microsoft Windows

www.ptit.edu.vn Trang 352


VII. MỘT SỐ HDH CỤ THỂ

Mac OS

You can tell when you’re using


Mac OS by the Apple logo that
appears on the menu bar. The
Mac OS X interface includes all
the standard elements of a GUI,
including icons, menus,
windows, and taskbars.

www.ptit.edu.vn Trang 353


VII. MỘT SỐ HDH CỤ THỂ

Mac OS

On a Macintosh
computer with Boot
Camp, you can boot
into Mac OS X or
into Windows.

www.ptit.edu.vn Trang 354


VII. MỘT SỐ HDH CỤ THỂ

Mac OS

❖ Mac OS X on an Intel Mac offers the ability to run


Windows and Windows application software in addition
to software designed for the Macintosh
▪ Dual boot

www.ptit.edu.vn Trang 355


VII. MỘT SỐ HDH CỤ THỂ

UNIX and Linux

❖ Several Web sites offer a Linux distribution, which is a


package that contains the Linux kernel, system utilities,
applications, and an installation routine

www.ptit.edu.vn Trang 356


VII. MỘT SỐ HDH CỤ THỂ

UNIX and Linux

Linux users can choose from


several graphical interfaces.
Pictured here is the popular
KDE graphical desktop.

www.ptit.edu.vn Trang 357


VII. MỘT SỐ HDH CỤ THỂ

Handheld Operating Systems

www.ptit.edu.vn Trang 358


VII. MỘT SỐ HDH CỤ THỂ

iPhone OS

BSD File Systems


Based on Mach
kernel and
Darwin Core as
Mac OS X
Networking
I/O systems
components

http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/Architecture/Architecture.html

www.ptit.edu.vn Trang 359


VII. MỘT SỐ HDH CỤ THỂ

iOS
About Apple’s Proprietary Mobile OS – iOS

 iOS is Apple’s proprietary mobile operating system initially developed for iPhone
and now extended to iPAD, iPod Touch and Apple TV.
 Initially known as “iPhone OS”, in June 2010 renamed “iOS”.
 iOS is not enabled for cross licensing, it can only be used on Apple’s devices.
 The user interface of iOS is based on the concept of usage of multi touch gestures.
 iOS is a Unix based OS.
 iOS uses four abstraction layers, namely: the Core OS layer, the Core Services layer,
the Media layer, and the Cocoa Touch layer.
 Apple’s App store contains close to 550,000 applications as of March 2012.
 It is estimated that the APPs are downloaded 25B times till now.
 First version of iOS is released in 2007 with the mane ‘OS X’ and then in 2008 the
first beta version of ‘iPhone OS’ is released.
 In 2007 September Apple released first iPod Touch that also used this OS.
 In 2010 iPad is released that has a bigger screen than the iPod and iPhone.
 Cisco owns the trademark for ‘IOS’; Apple licenses the usage of ‘iOS’ from Cisco.

www.ptit.edu.vn Trang 360


VII. MỘT SỐ HDH CỤ THỂ

iOS (contd.)

Main features
• Home screen
• Folders
• Notification Center
• Default APPs
• Multitasking
• Switching applications
• Game Centre

www.ptit.edu.vn Trang 361


VII. MỘT SỐ HDH CỤ THỂ

Mac OS X Architecture

Each application
has 4GB space

Pre-emptive, i.e. act


of taking the control of
operating system Strong memory
Multitasking Real-time
from one task and protection
giving it to another
task.

http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/Architecture/Architecture.html
www.ptit.edu.vn Trang 362
VII. MỘT SỐ HDH CỤ THỂ

Android
In 2011, Microsoft
announced it has made an
Google owns a trademark
agreement with Android
for Android – Google’s
device manufacturers
permission is necessary to
(including Samsung and
use Android’s trademark
HTC) to collect fees from
them.

Android’s source code is


Google faced many patent
available under Apache
lawsuits against Android
License version 2.0. The
such as by Oracle in 2006
Linux kernel changes are
that included
available under the GNU
patents US5966702 and
General Public
US6910205.
License version 2.
www.ptit.edu.vn Trang 363
VII. MỘT SỐ HDH CỤ THỂ

Android (contd.)

In August 2011, Google


strategically purchased Motorola
Mobility, saving Android from
dying due to lawsuits by Apple,
Oracle and Microsoft.

Also in December 2011, Google


acquired approximately 1
thousand patents from IBM to
save the Android OS.

www.ptit.edu.vn Trang 364


VII. MỘT SỐ HDH CỤ THỂ

Android Mobile OS

Created by Android
Distributed under
Inc., as part of Google
Apache License
in 2005 Linux Kernel

Programmers are Java-based


Development is Open welcome to contribute
Source; source code via Software application
is publicly available Development Kit framework
(SDK)

http://cmer.cis.uoguelph.ca
www.ptit.edu.vn Trang 365
VII. MỘT SỐ HDH CỤ THỂ

Android
Background
❖ Android is Linux based mobile OS for mobile devices such as Tablets and Smartphones.
❖ In 2005 Google acquired the initial developer of the OS, Android Inc.
❖ Then in 2007 Google formed an Open Handset Alliance with 86 hardware, software and
telecom companies.
❖ This alliance developed and announced Android as an open source mobile OS under the
Apache License.
❖ Now, this OS is being used by multiple device manufacturers (Samsung, Motorola, HTC, LG,
Sony etc) in their handsets
❖ Android developer community has large number of developers preparing APPs in Java
environment and the APP store ‘Google Play’ now has close to 450,000 APPs, among which
few are free and others are paid.
❖ It is estimated that, as of December 2011, almost 10B APPs were downloaded.
❖ It is estimated that as of February 2012 there are over 300M Android devices and
approximately 850,000 Android devices are activated every day.
❖ The earliest recognizable Android version is 2.3 Gingerbread, which supports SIP and NFC.
❖ In 2011 Android Honeycomb version (3.1 and 3.2) are released with focus on Tablets. This is
mainly focused on large screen devices.

www.ptit.edu.vn Trang 366


VII. MỘT SỐ HDH CỤ THỂ

Android Mobile OS – Architecture (Contd.)

• For core system services


Linux such as security, memory
management, and process
kernel management.

• Set of core libraries which


supports Java functionality
• The Android Virtual Machine
Runtime known as Dalvik VM
• Relies on the Linux kernel for
underlying functionality such as
threading,…

www.ptit.edu.vn Trang 367


VII. MỘT SỐ HDH CỤ THỂ

Android Mobile OS – Architecture (Contd.)

• Includes a set of C/C++ libraries.


These libraries are exposed to
developers through the Android
Libraries application framework. They
include media libraries, system C
libraries, surface manager, 3D
libraries, SQLite and etc.

• An access layer to the framework


APIs used by the core
Application applications.
• Allows components to be used by
Framework the developers.

Source: http://code.google.com/android/what-is-android.html
www.ptit.edu.vn Trang 368
VII. MỘT SỐ HDH CỤ THỂ

Android (contd.)
Main features
• Handset layouts – compatible with different handset designs such as larger, VGA, 2D
graphics library, 3D graphics library based
• Storage – a lightweight relational database, is used for data storage
• Connectivity - GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, NFC and WiMAX
• Messaging – SMS, MMS, threaded text messaging and Android Cloud To Device Messaging (C2DM)
• Multiple language support
• Web browser
• Java support
• Media support
• Streaming media support
• Additional hardware support Android 4.0 Ice Cream Sandwich
• Multi-touch
• Bluetooth Released in October 2011, with new
• Video calling features such as facial recognition,
• Multitasking network data usage monitoring and
• Voice based features control, unified social networking
• Tethering contacts.
• Screen capture
• External storage

www.ptit.edu.vn Trang 369


VII. MỘT SỐ HDH CỤ THỂ

Android Mobile OS - Architecture

http://code.google.com/android/what-is-android.html
www.ptit.edu.vn Trang 370
VII. MỘT SỐ HDH CỤ THỂ

Windows Mobile OS

Today’s screen
shows the current Task bar shows
date, owner info and current time and
upcoming volume
appointments

Office Mobile – a
suite of office
Outlook Mobile
applications (mobile
version)

Internet Explorer Windows media


Mobile player

www.ptit.edu.vn Trang 371


VII. MỘT SỐ HDH CỤ THỂ

Types of Windows Mobile OS

• Windows Mobile Classic Devices (Pocket PC) Windows Mobile 6.5 is based on
Windows CE 5.2 kernel
• Windows Mobile Smartphones
• Windows Mobile 2003
• Windows Mobile 2003 SE
• Windows Mobile 5 Even screen hardware is
different for different OS
• Windows Mobile 6
• Windows Mobile 6.5.1 Mobile professional runs with
• Windows Mobile 6.5.3 touchscreen
• Windows Mobile 6.5.5 Mobile Standard runs with
regular screens
• Windows Phone 7
Mobile Classic runs with
Windows Mobile Classic devices
(Pocket PCs)

http://www.authorstream.com/Presentation/aSGuest89856-889448-mobile-operating-system/
www.ptit.edu.vn Trang 372
VII. MỘT SỐ HDH CỤ THỂ

BlackBerry Z10

Proprietary
mobile OS
based on QNX

www.ptit.edu.vn Trang 373


VII. MỘT SỐ HDH CỤ THỂ

BlackBerry Z10 and Q10

http://ca.blackberry.com/smartphones/blackberry-
z10.html?LID=ca:bb:devices:blackberryz10:getdetails&LPOS=ca:bb:devices

www.ptit.edu.vn Trang 374


VII. MỘT SỐ HDH CỤ THỂ

BlackBerry OS

Specialized input Wireless Enterprise email


Multi-tasking devices including activation and and contact with
touchscreen synchronization enterprise servers

http://www.qnx.com/products/neutrino-rtos/neutrino-rtos.html
www.ptit.edu.vn Trang 375
CHƯƠNG 6: CÁC THÀNH
PHẦN CỦA HỆ ĐIỀU HÀNH

www.ptit.edu.vn Trang 376


NỘI DUNG
▪ Quản lý hệ thống file
▪ Các khái niệm liên quan tới file
▪ Thư mục
▪ Cấp phát không gian cho file
▪ Độ tin cậy và bảo mật cho hệ thống file
▪ Quản lý bộ nhớ
▪ Khái niệm phân chương bộ nhớ
▪ Khái niệm phân trang bộ nhớ
▪ Khái niệm phân đoạn bộ nhớ
▪ Bộ nhớ ảo
▪ Quản lý tiến trình
▪ Các khái niệm
▪ Điều độ tiến trình
www.ptit.edu.vn Trang 377
QUẢN LÝ HỆ THỐNG FILE

www.ptit.edu.vn Trang 378


CÁC KHÁI NIỆM

▪ File được định nghĩa như tập hợp các thông tin liên quan
đến nhau được đặt tên và được lưu trữ trên bộ nhớ ngoài
▪ Thuộc tính của file:
▪ Tên file
▪ Kiểu file
▪ Kích thước file
▪ Người tạo file, người sở hữu
▪ Quyền truy cập file
▪ Thời gian tạo file, sửa file, truy cập lần cuối
▪ Vị trí file

www.ptit.edu.vn Trang 379


CÁC KHÁI NIỆM
▪ Đặt tên cho file:
▪ Cho phép xác định file
▪ Là thông tin người dùng thường sử dụng nhất khi làm việc với file
▪ Quy tắc đặt tên cho file của một số HDH:
Hệ điều hành Độ dài tối đa Phân biệt chữ Cho phép sử dụng Các ký tự cấm
hoa, chữ thường dấu cách

MS-DOS 8 cho tên file không không Bắt đầu bằng chữ cái hoặc số
3 cho mở rộng Không được chứa các ký tự / \ [ ] : ; | = , ^ ?
@
Windows NT 255 ký tự cho cả tên không có Bắt đầu bằng chữ cái hoặc số
FAT file và đường dẫn Không được chứa các ký tự / \ [] : ; | = , ^ ?
@
Windows NT 255 không có Không được chứa các ký tự / \ < > * | :
NTFS

Linux (EXT3) 256 Có có (nếu tên file chứa Không được chứa các ký tự ! @ # $ % ^ & *
trong ngoặc kép) ()[]{}‘“/\:;<>`

www.ptit.edu.vn Trang 380


CÁC KHÁI NIỆM
▪ Cấu trúc file:
▪ Các thông tin trong file có thể rất khác nhau
▪ => Cấu trúc của file cũng rất khác nhau và phụ thuộc vào thông
tin chứa trong file
▪ HDH có cần biết và hỗ trợ các kiểu cấu trúc file?
▪ Hỗ trợ cấu trúc file ở mức HDH:
▪ Ưu điểm:
▪ Các thao tác với file sẽ dễ dàng hơn đối với người lập trình ứng dụng
▪ HDH có thể kiểm soát được các thao tác với file
▪ Nhược điểm:
▪ Tăng kích thước hệ thống
▪ Tính mềm dẻo của HDH bị giảm
▪ Thực tế các HDH chỉ coi file là tập hợp các byte không cấu trúc

www.ptit.edu.vn Trang 381


THƯ MỤC
1. Khái niệm
▪ Số lượng file lưu trữ trên đĩa rất lớn => phải tổ chức để dễ
dàng quản lý, truy cập files
▪ Không gian trên đĩa được chia thành các phần (partition/
volume) gọi là đĩa logic
▪ Để quản lý file trên các đĩa logic, thông tin về file được lưu
trong thư mục của đĩa
▪ Thư mục = ∑ các khoản mục ~ files
▪ Khoản mục chứa các thông tin về file: tên, kích thước, vị
trí, kiểu file,… hoặc con trỏ tới nơi lưu trữ thông tin này
▪ Coi thư mục như 1 bảng, mỗi dòng là khoản mục ứng với 1
file

www.ptit.edu.vn Trang 382


THƯ MỤC
1. Khái niệm

▪ Các cách lưu thông tin về file trong thư mục:


▪ Toàn bộ thuộc tính của file được lưu trong thư mục, file chỉ chứa
data => kích thước khoản mục, thư mục lớn
▪ Thư mục chỉ lưu thông tin tối thiểu cần thiết cho việc tìm kiếm vị
trí file trên đĩa => kích thước giảm

thuộc
tính
file1.txt Thuộc tính file1.txt
thuộc
file2.c Thuộc tính file2.c
tính

file3.pas Thuộc tính file3.pas thuộc


tính
file4.doc Thuộc tính file4.doc
thuộc
tính
(a) (b)

www.ptit.edu.vn Trang 383


THƯ MỤC
1. Khái niệm

▪ Mở file:
▪ HDH tìm trong thư mục khoản mục ứng với tên file cần mở
▪ Đọc các thuộc tính và vị trí dữ liệu của file vào bảng chứa thông
tin về các file đang mở
▪ Nếu khoản mục trỏ tới CTDL khác chứa thuộc tính file, cấu trúc
này sẽ được đọc vào bảng

www.ptit.edu.vn Trang 384


THƯ MỤC
2. Các thao tác với thư mục

▪ Tìm kiếm file: cấu trúc thư mục phải cho phép tìm kiếm file theo
tên file
▪ Tạo file: tạo khoản mục mới và thêm vào thư mục
▪ Xóa file: thông tin về file và khoản mục tương ứng bị xóa khỏi thư
mục
▪ Duyệt thư mục: liệt kê các file trong thư mục và thông tin chứa
trong khoản mục của file
▪ Đổi tên file: chỉ cần thực hiện với thư mục chứ không liên quan
đến dữ liệu của file

www.ptit.edu.vn Trang 385


THƯ MỤC
3. Cấu trúc hệ thống thư mục
▪ Thư mục 1 mức:
▪ Đơn giản nhất
▪ Chỉ có 1 thư mục duy nhất và tất cả các file được giữ trong thư
mục này
▪ Khó chọn tên cho file
▪ Tìm kiếm file khó

www.ptit.edu.vn Trang 386


THƯ MỤC
3. Cấu trúc hệ thống thư mục
▪ Thư mục 2 mức:
▪ Phân cho mỗi người dùng 1 thư mục riêng (UFD: User File
Directory), chứa các file của mình
▪ Khi người dùng truy cập file, file sẽ được tìm kiếm trong thư mục
ứng với tên người đó
▪ => các người dùng khác nhau có thể đặt tên file trùng nhau
▪ Cô lập người dùng
▪ Các file mà nhiều người dùng
truy cập tới => chép vào từng thư
mục của từng người dùng => lãng
phí

www.ptit.edu.vn Trang 387


THƯ MỤC
3. Cấu trúc hệ thống thư mục
▪ Thư mục cấu trúc cây:
▪ Thư mục con có thể chứa các thư mục con khác và các files
▪ Hệ thống thư mục được biểu diễn phân cấp như 1 cây: cành là thư
mục, lá là file Thư mục
gốc

= Thư mục = File

www.ptit.edu.vn Trang 388


THƯ MỤC
3. Cấu trúc hệ thống thư mục

▪ Thư mục cấu trúc cây (tt):


▪ Phân biệt khoản mục file và khoản mục của thư mục con: thêm
bit đặc biệt trong khoản mục
▪ 1: khoản mục của thư mục mức dưới
▪ 0: khoản mục của file
▪ Tại mỗi thời điểm, người dùng làm việc với thư mục hiện thời
(current directory)
▪ Tổ chức cây thư mục cho từng đĩa:
▪ Trong hệ thống file như FAT của DOS, cây thư mục được xây cho từng
đĩa. Hệ thống thư mục được coi là rừng, mỗi cây trên 1 đĩa
▪ Linux: toàn hệ thống chỉ gồm 1 cây thư mục

www.ptit.edu.vn Trang 389


THƯ MỤC
4. Đường dẫn

▪ Mô tả vị trí của file trong thư mục


▪ Đường dẫn tuyệt đối:
▪ Đường dẫn từ gốc của cây thư mục, đi qua các thư mục trung
gian, dẫn tới file
▪ C:\bc\bin\bc.exe
▪ Đường dẫn tương đối:
▪ Tính từ thư mục hiện thời
▪ Thêm 2 khoản mục đặc biệt trong thư mục: “.”, “..”

www.ptit.edu.vn Trang 390


CẤP PHÁT KHÔNG GIAN CHO FILE
▪ Phép ánh xạ file: từ tên file có thể chỉ ra vị trí file trên đĩa
▪ Sơ bộ về tổ chức đĩa:
▪ Thông tin được đọc/ghi theo từng khối sector
▪ Nhóm các sector thành block hay cluster (khối)
▪ Trên đĩa: 1 file gồm 1 tập các khối. HDH chịu trách nhiệm
cấp phát các khối cho file:
▪ Không gian trên đĩa phải được cấp phát cho file
▪ Cần theo dõi không gian trống sẵn sàng cho việc cấp phát

www.ptit.edu.vn Trang 391


CẤP PHÁT KHÔNG GIAN CHO FILE
1. Cấp phát các khối liên tiếp

▪ Được cấp phát 1 khoảng không gian gồm các khối liên
tiếp trên đĩa
▪ Vị trí file trên đĩa được xác định bởi vị trí khối đầu tiên
và độ dài (số khối) mà file đó chiếm
▪ Khi có yêu cầu cấp phát, HDH sẽ chọn 1 vùng trống có
số lượng khối đủ cấp cho file đó
▪ Bảng cấp phát file chỉ cần 1 khoản mục cho 1 file, chỉ
ra khối bắt đầu, và độ dài của file tính = khối
▪ Là cấp phát trước, sử dụng kích thước phần thay đổi

www.ptit.edu.vn Trang 392


CẤP PHÁT KHÔNG GIAN CHO FILE
1. Cấp phát các khối liên tiếp (tt)

www.ptit.edu.vn Trang 393


CẤP PHÁT KHÔNG GIAN CHO FILE
1. Cấp phát các khối liên tiếp (tt)

▪ Ưu điểm:
▪ Cho phép truy cập trực tiếp và tuần tự
▪ Đơn giản, tốc độ cao
▪ Nhược điểm:
▪ Phải biết trước kích thước file khi tạo
▪ Khó tìm chỗ cho file
▪ Gây phân mảnh ngoài

www.ptit.edu.vn Trang 394


CẤP PHÁT KHÔNG GIAN CHO FILE
2. Sử dụng danh sách kết nối

▪ Các khối được kết nối với nhau thành danh sách kết nối;
phần đầu mỗi khối chứa con trỏ trỏ tới khối tiếp theo
▪ Các khối thuộc về 1 file có thể nằm ở vị trí bất kì trên đĩa
▪ Khoản mục của thư mục chứa con trỏ tới khối đầu tiên của
file
▪ Khi file được cấp thêm khối mới, khối đó được thêm vào
cuối danh sách
▪ HDH đọc lần lượt từng khối và sử dụng con trỏ để xác định
khối tiếp theo

www.ptit.edu.vn Trang 395


CẤP PHÁT KHÔNG GIAN CHO FILE
2. Sử dụng danh sách kết nối (tt)

www.ptit.edu.vn Trang 396


CẤP PHÁT KHÔNG GIAN CHO FILE
2. Sử dụng danh sách kết nối (tt)

▪ Ưu điểm:
▪ Không bị phân mảnh ngoài
▪ Không yêu cầu biết trước kích thước file lúc tạo
▪ Dễ tìm vị trí cho file, khoản mục đơn giản
▪ Nhược điểm:
▪ Không hỗ trợ truy cập trực tiếp
▪ Tốc độ truy cập không cao
▪ Giảm độ tin cậy và tính toàn vẹn của hệ thống file

www.ptit.edu.vn Trang 397


CẤP PHÁT KHÔNG GIAN CHO FILE
3. Sử dụng danh sách kết nối trên bảng chỉ số

▪ Bảng chỉ số: mỗi ô của bảng ứng với 1 khối của đĩa
▪ Con trỏ tới khối tiếp theo của file được chứa trong ô tương
ứng của bảng
▪ Mỗi đĩa logic có 1 bảng chỉ số được lưu ở vị trí xác định
▪ Kích thước mỗi ô trên bảng phụ thuộc vào số lượng khối
trên đĩa

www.ptit.edu.vn Trang 398


CẤP PHÁT KHÔNG GIAN CHO FILE
3. Sử dụng danh sách kết nối trên bảng chỉ số (tt)

▪ Cho phép tiến hành truy cập file trực tiếp: đi theo chuỗi con
trỏ chứa trong bảng chỉ mục
▪ Bảng FAT (File Allocation Table): được lưu ở đầu mỗi đĩa
logic sau sector khởi động
▪ FAT12, FAT16, FAT32: mỗi ô của bảng có kích thước 12,
16, 32 bit

www.ptit.edu.vn Trang 399


CẤP PHÁT KHÔNG GIAN CHO FILE
4. Sử dụng khối chỉ mục (index block/ node)

▪ Tất cả con trỏ tới các khối thuộc về 1 file được tập trung 1
chỗ
▪ Mỗi file có một mảng riêng của mình chứa trong một khối
gọi là khối chỉ mục (I-node)
▪ Mảng chứa thuộc tính của file và vị trí các khối của file trên
đĩa
▪ Ô thứ i của mảng chứa con trỏ tới khối thứ i của file
▪ Khoản mục của file trong thư mục chứa con trỏ tới khối chỉ
mục này

www.ptit.edu.vn Trang 400


CẤP PHÁT KHÔNG GIAN CHO FILE
4. Sử dụng khối chỉ mục (index block/ node)

www.ptit.edu.vn Trang 401


CẤP PHÁT KHÔNG GIAN CHO FILE
4. Sử dụng khối chỉ mục (index block/ node)

▪ Chọn kích thước I-node:


▪ Nhỏ: tiết kiệm không gian nhưng không đủ con trỏ tới các khối nếu
file lớn
▪ Lớn: với file nhỏ chỉ chiếm 1 vài ô thì lãng phí
▪ Giải pháp:
▪ Thay đổi kích thước i-node = sử dụng danh sách kết nối
▪ Sử dụng I-node có cấu trúc nhiều mức

www.ptit.edu.vn Trang 402


CẤP PHÁT KHÔNG GIAN CHO FILE
4. Sử dụng khối chỉ mục (index block/ node)

▪ Ưu điểm:
▪ Cho phép truy cập trực tiếp
▪ Các khối thuộc 1 file không cần nằm liên tiếp nhau

▪ Nhược điểm:
▪ Tốc độ truy cập file chậm

www.ptit.edu.vn Trang 403


ĐỘ TIN CẬY CỦA HỆ THỐNG FILE
Sao dự phòng
▪ Tạo ra một bản sao của đĩa trên một vật mang khác
▪ Sao lưu toàn bộ (full backup):
▪ Ghi toàn bộ thông tin trên đĩa ra vật mang tin khác
▪ Chắc chắn nhưng tốn nhiều thời gian
▪ Sao lưu tăng dần (incremental backup):
▪ Được sử dụng sau khi đã tiến hành full backup ít nhất 1 lần
▪ Chỉ ghi lại các file đã bị thay đổi sau lần sao lưu cuối cùng
▪ Hệ thống lưu trữ thông tin về các lần lưu trữ file
▪ DOS: file thay đổi, archive bit =1
▪ Kết hợp:
▪ Full backup: hàng tuần/ tháng
▪ Incremental backup: hàng ngày

www.ptit.edu.vn Trang 404


BẢO MẬT CHO HỆ THỐNG FILE

▪ Ngăn cản việc truy cập trái phép các thông tin lưu trữ trong
file và thư mục
▪ Hạn chế các thao tác truy cập tới file hoặc thư mục
▪ Dùng mật khẩu:
▪ Người dùng phải nhớ nhiều mật khẩu
▪ Mỗi khi thao tác với tài nguyên lại gõ mật khẩu

www.ptit.edu.vn Trang 405


BẢO MẬT CHO HỆ THỐNG FILE

▪ Sử dụng danh sách quản lý truy cập ACL (Access Control


List)
▪ Mỗi file được gán danh sách đi kèm, chứa thông tin định danh
người dùng và các quyền người đó được thực hiện với file
▪ ACL thường được lưu trữ như thuộc tính của file/ thư mục
▪ Thường được sử dụng cùng với cơ chế đăng nhập
▪ Các quyền truy cập cơ bản:
▪ Quyền đọc (r)
▪ Quyền ghi, thay đổi (w)
▪ Quyền xóa
▪ Quyền thay đổi chủ file (change owner)

www.ptit.edu.vn Trang 406


QUẢN LÝ BỘ NHỚ

www.ptit.edu.vn Trang 407


KỸ THUẬT PHÂN CHƯƠNG BỘ NHỚ
1. Phân chương cố định

▪ Chia MEM thành các chương với số lượng nhất định,


không thay đổi, gán cho tiến trình 1 chương chứa data,
lệnh
▪ Kích thước các chương bằng nhau:
▪ Đơn giản
▪ Kích thước chương trình > kích thước chương => không thể
cấp phát
▪ Gây phân mảnh trong

www.ptit.edu.vn Trang 408


KỸ THUẬT PHÂN CHƯƠNG BỘ NHỚ
1. Phân chương cố định
▪ Kích thước các chương khác nhau:
▪ Chọn chương có kích thước nhỏ nhất: cần có hàng đợi
lệnh cho mỗi chương:
▪ Giảm phân mảnh trong, tối
ưu cho từng chương
▪ Hệ thống không tối ưu

www.ptit.edu.vn Trang 409


KỸ THUẬT PHÂN CHƯƠNG BỘ NHỚ
1. Phân chương cố định

▪ Kích thước các chương khác nhau:


▪ Dùng hàng đợi chung cho mọi chương:
▪ Chương sẵn có nhỏ nhất sẽ
được cấp phát
▪ Khi 1 chương được giải
phóng: chọn tiến trình gần
đầu hàng độ nhất và có
kích thước phù hợp nhất

www.ptit.edu.vn Trang 410


KỸ THUẬT PHÂN CHƯƠNG BỘ NHỚ
1. Phân chương cố định

▪ Ưu điểm: đơn giản, ít xử lý


▪ Nhược điểm:
▪ Số lượng chương xác định tại thời điểm tạo hệ thống hạn chế số
lượng tiến trình hoạt động
▪ Kích thước chương thiết lập trước: không hiệu quả

www.ptit.edu.vn Trang 411


KỸ THUẬT PHÂN CHƯƠNG BỘ NHỚ
2. Phân chương động
▪ Kích thước, số lượng và vị trí chương đều có thể thay đổi
▪ Khi có yêu cầu, HDH cấp cho tiến trình 1 chương có kích
thước đúng bằng tiến trình đó
▪ Khi tiến trình kết thúc sẽ tạo vùng trống trong MEM
▪ Các vùng trống nằm cạnh nhau được nhập lại thành vùng
lớn hơn

www.ptit.edu.vn Trang 412


KỸ THUẬT PHÂN CHƯƠNG BỘ NHỚ
2. Phân chương động

▪ Tránh phân mảnh trong


▪ Gây phân mảnh ngoài: dồn những vùng trống nhỏ thành lớn
(nén)
▪ Sử dụng các chiến lược cấp chương
▪ Chọn vùng thích hợp đầu tiên
▪ Vùng thích hợp nhất
▪ Vùng không thích hợp nhất

www.ptit.edu.vn Trang 413


PHÂN TRANG BỘ NHỚ
1. Khái niệm phân trang
▪ Bộ nhớ vật lý được chia thành các khối nhỏ, kích thước cố
định và bằng nhau gọi là khung trang (page frame)
▪ Không gian địa chỉ logic của tiến trình được chia thành
những khối gọi là trang (page), có kích thước bằng khung

www.ptit.edu.vn Trang 414


PHÂN TRANG BỘ NHỚ
1. Khái niệm phân trang

▪ Tiến trình được cấp các


khung để chứa các trang
của mình.
▪ Các trang có thể chứa trong
các khung nằm rải rác
trong bộ nhớ

www.ptit.edu.vn Trang 415


PHÂN TRANG BỘ NHỚ
1. Khái niệm phân trang

▪ HDH quản lý việc cấp phát khung cho mỗi tiến trình bằng
bảng trang (bảng phân trang): mỗi ô tương ứng với 1 trang
và chứa số khung cấp cho trang đó
▪ Mỗi tiến trình có bảng trang riêng
▪ Duy trì danh sách các khung trống trong MEM

www.ptit.edu.vn Trang 416


PHÂN TRANG BỘ NHỚ
1. Khái niệm phân trang

▪ Tương tự như phân chương cố định: khung tương tự


chương, kích thước và vị trí không thay đổi
▪ Tuy nhiên kích thước các phần tương đối nhỏ và các phần
cho 1 tiến trình không cần liên tục nhau
▪ Không có phân mảnh ngoài
▪ Có phân mảnh trong

www.ptit.edu.vn Trang 417


PHÂN ĐOẠN BỘ NHỚ
1. Khái niệm

▪ Chương trình thường được chia thành nhiều phần: dữ liệu,


lệnh, ngăn xếp
▪ Chia chương trình thành các đoạn theo cấu trúc logic
▪ Mỗi đoạn được phân vào 1 vùng nhớ, có kích thước không
bằng nhau
▪ Mỗi đoạn tương ứng với không gian địa chỉ riêng, được
phân biệt bởi tên (STT) và độ dài của mình
▪ Các vùng nhớ thuộc các đoạn khác nhau có thể nằm ở vị trí
khác nhau

www.ptit.edu.vn Trang 418


PHÂN ĐOẠN BỘ NHỚ
1. Khái niệm

▪ Giống phân chương động: bộ nhớ được cấp phát theo từng
vùng kích thước thay đổi
▪ Khác phân chương động: chương trình có thể chiếm nhiều
hơn 1 đoạn và không cần liên tiếp nhau trong MEM
▪ Tránh hiện tượng phân mảnh trong
▪ Có phân mảnh ngoài
▪ Dễ sắp xếp bộ nhớ
▪ Dễ chia sẻ các đoạn giữa các tiến trình khác nhau
▪ Kích thước mỗi đoạn có thể thay đổi mà không ảnh hưởng
tới các đoạn khác

www.ptit.edu.vn Trang 419


PHÂN ĐOẠN BỘ NHỚ
2. Kết hợp phân trang và Phân đoạn

▪ Phân đoạn chương trình, mỗi đoạn sẽ tiến hành phân trang
▪ Địa chỉ gồm: số thứ tự đoạn, số thự tự trang, độ dịch trong trang
▪ Tiến trình có 1 bảng phân đoạn, mỗi đoạn có 1 bảng phân trang

www.ptit.edu.vn Trang 420


BỘ NHỚ ẢO
1. Khái niệm

▪ Tiến trình có thể chia thành các phần nhỏ nằm rải rác trong
bộ nhớ
▪ Tất cả các phép biến đổi là trong suốt với người dùng và
người lập trình chỉ làm việc với không gian nhớ logic
▪ Không phải tiến trình nào khi chạy cũng sử dụng tất cả các
lệnh và dữ liệu của mình với tần số như nhau
▪ => không nhất thiết toàn bộ các trang/ đoạn của một tiến
trình phải có mặt đồng thời trong bộ nhớ khi tiến trình chạy
▪ => Các trang hoặc đoạn có thể được trao đổi từ đĩa vào bộ
nhớ khi có nhu cầu truy cập tới

www.ptit.edu.vn Trang 421


BỘ NHỚ ẢO
1. Khái niệm
▪ Việc thực hiện các tiến trình chỉ nằm một phần trong bộ nhớ
có một số ưu điểm:
▪ Có thể viết chương trình có kích thước lớn hơn kích thước thực
của MEM
▪ Cùng 1 lúc nhiều tiến trình cùng được tải vào MEM hơn
▪ => Bộ nhớ ảo là bộ nhớ lôgic theo cách nhìn của người lập
trình và tiến trình và không bị hạn chế bởi bộ nhớ thực.
▪ Bộ nhớ ảo có thể lớn hơn bộ nhớ thực rất nhiều và bao gồm cả
không gian trên đĩa
▪ Bộ nhớ ảo thường được xây dựng dựa trên phương pháp phân
trang trong đó các trang là đơn vị để nạp từ đĩa vào khi cần

www.ptit.edu.vn Trang 422


BỘ NHỚ ẢO
2. Nạp trang theo nhu cầu
▪ Tiến trình được phân trang và chứa trên đĩa
▪ Khi cần thực hiện, nạp tiến trình vào MEM: chỉ nạp những trang cần
dùng
▪ Tiến trình gồm các trang trên đĩa và trong MEM: thêm bit P trong
khoản mục bảng trang để phân biệt (P=1: đã nạp vào MEM)
0

0 A Bit P 2

1 B Khung 3

2 C 4 A
0 4 1
3 D 1 0 5 A B

4 2 6 1 C C D E
E 6
3 0
F G H
5 F 4 0 7

G 5 9 1 8
6
6 0
7 H 7 0 9 F

Bộ nhớ logic Bảng trang 10 Đĩa

11

12

Bộ nhớ vật lý

www.ptit.edu.vn Trang 423


BỘ NHỚ ẢO
2. Nạp trang theo nhu cầu
▪ Quá trình kiểm tra và nạp trang:
▪ Tiến trình truy cập tới 1 trang, kiểm tra bit P. Nếu P=1, truy cập diễn ra
bình thường. Nếu P=0, xảy ra sự kiện thiếu trang 3

• Ngắt xử lý thiếu trang: Hệ điều hành

• HDH tìm 1 khung trống 0

1
trong MEM 2
0 A 2

▪ Đọc trang bị thiếu vào 1 B


1
3
0 4 1
khung trang vừa tìm được 2 C 0 4 A
2 6 1
▪ Sửa lại khoản mục tương 3 D
3 0
5 A B

ứng trong bảng trang: đổi 4 E 4


5 9
0
1
6 C C D E

F G H
bit P=1 và số khung đã cấp 5 F
6 0
7

6 G 7 0 8 4
cho trang Bảng trang
7 H 9 F

▪ Khôi phục lại trạng thái Bộ nhớ logic 10 Đĩa


tiến trình và thực hiện tiếp
5
11

lệnh bị ngắt 12

Bộ nhớ vật lý

www.ptit.edu.vn Trang 424


BỘ NHỚ ẢO
3. Đổi trang

▪ Bộ nhớ ảo > bộ nhớ thực và chế độ đa chương trình -> có


lúc không còn khung nào trống để nạp trang mới

▪ Giải pháp:
▪ Kết thúc tiến trình
▪ Trao đổi tiến trình ra đĩa và chờ thời điểm thuận lợi hơn
▪ Đổi trang

www.ptit.edu.vn Trang 425


BỘ NHỚ ẢO
3.1. Thao tác đổi trang
▪ Nếu không còn khung nào trống, HDH chọn 1 khung đã cấp
phát nhưng hiện không dùng tới và giải phóng nó
▪ Quá trình đổi trang:
▪ B1: Xác định trang cần nạp vào trên đĩa
▪ B2: Nếu có khung trống thì chuyển sang B4
▪ B3:
▪ Lựa chọn 1 khung để giải phóng, theo 1 thuật toán nào đó
▪ Ghi nội dung khung bị đổi ra đĩa (nếu cần), cập nhật bảng trang và bảng
khung
▪ B4: Đọc trang cần nạp vào khung vừa giải phóng; cập nhật bảng
trang và bảng khung
▪ B5: Thực hiện tiếp tiến trình từ điểm bị dừng trước khi đổi trang

www.ptit.edu.vn Trang 426


BỘ NHỚ ẢO
3.2 Các chiến lược đổi trang
▪ Đổi trang tối ưu (OPT):
▪ Chọn trang sẽ không được dùng tới trong khoảng thời gian lâu nhất
để đổi
▪ Cho phép giảm tối thiểu sự kiện thiếu trang và do đó là tối ưu theo
tiêu chuẩn này
▪ HDH không đoán trước được nhu cầu sử dụng các trang trong
tương lai
▪ => không áp dụng trong thực tế mà chỉ để so sánh với các chiến
lược khác
2 3 2 1 5 2 4 5 3 2 5 2

2 2 2 2 2 2 4 4 4 2 2 2
OPT 3 3 3 3 3 3 3 3 3 3 3
1 5 5 5 5 5 5 5 5
F F F

www.ptit.edu.vn Trang 427


BỘ NHỚ ẢO
3.2 Các chiến lược đổi trang

▪ Vào trước ra trước (FIFO):


▪ Trang nào được nạp vào trước thì bị đổi ra trước
▪ Đơn giản nhất
▪ Trang bị trao đổi là trang nằm lâu nhất trong bộ nhớ

2 3 2 1 5 2 4 5 3 2 5 2

2 2 2 2 5 5 5 5 3 3 3 3
FIFO 3 3 3 3 2 2 2 2 2 5 5
1 1 1 4 4 4 4 4 2

F F F F F F

www.ptit.edu.vn Trang 428


BỘ NHỚ ẢO
3.2 Các chiến lược đổi trang

▪ Đổi trang ít sử dụng nhất trong thời gian cuối (LRU):


▪ Trang bị đổi là trang mà thời gian từ lần truy cập cuối cùng đến
thời điểm hiện tại là lâu nhất
▪ Theo nguyên tắc cục bộ về thời gian, đó chính là trang ít có khả
năng sử dụng tới nhất trong tương lai
▪ Thực tế LRU cho kết quả tốt gần như phương pháp đổi trang tối ưu

2 3 2 1 5 2 4 5 3 2 5 2

2 2 2 2 2 2 2 2 3 3 3 3
LRU 3 3 3 5 5 5 5 5 5 5 5
1 1 1 4 4 4 2 2 2

F F F F

www.ptit.edu.vn Trang 429


Bộ nhớ vật lý có 4 khung. Thứ tự truy cập các trang là
1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6.
Vẽ sơ đồ cấp phát bộ nhớ và Có bao nhiêu sự kiện thiếu trang xảy
ra nếu sử dụng:
- Thuật toán tối ưu
- FIFO
- LRU

www.ptit.edu.vn Trang 430


QUẢN LÝ TIẾN TRÌNH

www.ptit.edu.vn Trang 431


CÁC KHÁI NIỆM LIÊN QUAN ĐẾN TIẾN TRÌNH
1. Tiến trình là gì?

▪ Tiến trình là một chương trình đang trong quá trình thực
hiện
Chương trình Tiến trình
Thực thể tĩnh Thực thể động
Không sở hữu tài nguyên cụ thể Được cấp một số tài nguyên để
chứa tiến trình và thực hiện lệnh

▪ Tiến trình được sinh ra khi chương trình được tải vào bộ
nhớ để thực hiện
▪ Tiến trình người dùng
▪ Tiến trình hệ thống

www.ptit.edu.vn Trang 432


CÁC KHÁI NIỆM LIÊN QUAN ĐẾN TIẾN TRÌNH
2. Trạng thái của tiến trình
▪ Phân biệt theo 2 trạng thái: chạy và không chạy
▪ => Không phản ánh đầy đủ thông tin về trạng thái tiến trình
▪ => Mô hình 5 trạng thái: mới khởi tạo, sẵn sàng, chạy, chờ
đợi, kết thúc
▪ Mới khởi tạo: tiến trình đang được
tạo ra Điều độ
CPU

▪ Sẵn sàng: tiến trình chờ được cấp Mới


khởi
Sẵn
sàng
Chạy Kết
thúc
CPU để thực hiện lệnh của mình tạo
Ngắt

▪ Chạy: lệnh của tiến trình được CPU Kết thúc


vào/ra
Vào/ra hoặc
chờ sự kiện
thực hiện Chờ
đợi
▪ Chờ đợi: tiến trình chờ đợi một sự
kiện gì đó xảy ra (blocked)
▪ Kết thúc: tiến trình đã kết thúc việc
thực hiện nhưng vẫn chưa bị xóa

www.ptit.edu.vn Trang 433


CÁC KHÁI NIỆM LIÊN QUAN ĐẾN TIẾN TRÌNH
3. Thông tin mô tả tiến trình

▪ Được lưu trong một cấu trúc dữ liệu gọi là khối quản lý tiến
trình - PCB (Process Control Block)
▪ Các thông tin chính trong PCB:
▪ Số định danh của tiến trình (PID)
▪ Trạng thái tiến trình
▪ Nội dung một số thanh ghi CPU:
▪ Thanh ghi con trỏ lệnh: trỏ tới lệnh tiếp theo
▪ Thanh ghi con trỏ ngăn xếp
▪ Các thanh ghi điều kiện và trạng thái
▪ Các thanh ghi đa năng

www.ptit.edu.vn Trang 434


CÁC KHÁI NIỆM LIÊN QUAN ĐẾN TIẾN TRÌNH
3. Thông tin mô tả tiến trình

▪ PCB:
▪ Thông tin phục vụ điều độ tiến trình: mức độ ưu tiên của tiến trình,
vị trí trong hàng đợi, …
▪ Thông tin về bộ nhớ của tiến trình
▪ Danh sách các tài nguyên khác: các file đang mở, thiết bị vào ra mà
tiến trình sử dụng
▪ Thông tin thống kê phục vụ quản lý: thời gian sử dụng CPU, giới
hạn thời gian

www.ptit.edu.vn Trang 435


CÁC KHÁI NIỆM LIÊN QUAN ĐẾN TIẾN TRÌNH
4. Bảng và danh sách tiến trình

▪ Sử dụng bảng tiến trình chứa con trỏ tới PCB của toàn bộ
tiến trình có trong hệ thống
▪ PCB của các tiến trình cùng trạng thái hoặc cùng chờ 1 tài
nguyên nào đó được liên kết thành 1 danh sách
Đang chạy PCB
Bảng tiến trình
Con trỏ tới PCB 1
bảng tiến trình
Tiến trình 1

Tiến trình 2
Sẵn sàng PCB PCB PCB
Tiến trình 3

….
Tiến trình n PCB n
Chờ đợi đọc đĩa
PCB PCB

www.ptit.edu.vn Trang 436


ĐIỀU ĐỘ TIẾN TRÌNH
1. Khái niệm điều độ

▪ Điều độ (scheduling) hay lập lịch là quyết định tiến trình


nào được sử dụng tài nguyên phần cứng khi nào, trong thời
gian bao lâu
▪ Tập trung vào vấn đề điều độ đối với CPU
▪ => Quyết định thứ tự và thời gian sử dụng CPU
▪ Điều độ tiến trình và điều độ dòng:
▪ Hệ thống trước kia: tiến trình là đơn vị thực hiện chính => điều độ
thực hiện với tiến trình
▪ Hệ thống hỗ trợ dòng: dòng mức nhân là đơn vị HDH cấp CPU
▪ => Sử dụng thuật ngữ điều độ tiến trình rộng rãi  điều độ dòng

www.ptit.edu.vn Trang 437


ĐIỀU ĐỘ TIẾN TRÌNH
2. Các dạng điều độ
1. Điều độ dài hạn và ngắn hạn
▪ Điều độ dài hạn:
▪ Thực hiện khi mới tạo ra tiến trình
▪ HDH quyết định tiến trình có được thêm vào danh sách đang hoạt động?
▪ Ảnh hưởng tới mức độ đa chương trình
▪ Điều độ trung hạn: Điều độ
dài hạn

▪ Quyết định tiến trình có được Điều độ ngắn hạn


cấp MEM để thực hiện?
Mới Sẵn Kết
Chạy
▪ Điều độ ngắn hạn: khởi
tạo Điều độ
trung hạn
sàng thúc

▪ Quyết định tiến trình nào


được cấp CPU để thực hiện Chờ

▪ Thực hiện với tiến trình ở đợi

trạng thái sẵn sàng

www.ptit.edu.vn Trang 438


ĐIỀU ĐỘ TIẾN TRÌNH
2. Các dạng điều độ (tt)
2. Điều độ có phân phối lại và không phân phối lại:
▪ Điều độ có phân phối lại (preemptive):
▪ HDH có thể sử dụng cơ chế ngắt để thu hồi CPU của một tiến
trình đang trong trạng thái chạy
▪ Điều độ không phân phối lại (nonpreemptive):
▪ Tiến trình đang ở trạng thái chạy sẽ được sử dụng CPU cho đến
khi xảy ra một trong các tình huống sau:
▪ Tiến trình kết thúc
▪ Tiến trình phải chuyển sang trạng thái chờ đợi do thực hiện I/O
▪ => Điều độ hợp tác: chỉ thực hiện được khi tiến trình hợp tác và
nhường CPU
▪ Nếu tiến trình không hợp tác, dùng CPU vô hạn => các tiến
trình khác không được cấp CPU

www.ptit.edu.vn Trang 439


ĐIỀU ĐỘ TIẾN TRÌNH
2. Các dạng điều độ (tt)

2. Điều độ có phân phối lại:


▪ HDH chủ động hơn, không phụ thuộc vào hoạt động của
tiến trình
▪ Đảm bảo chia sẻ thời gian thực sự
▪ Đòi hỏi phần cứng có bộ định thời gian và một số hỗ trợ
khác
▪ Vấn đề quản lý tiến trình phức tạp hơn

www.ptit.edu.vn Trang 440


ĐIỀU ĐỘ TIẾN TRÌNH
3. Các tiêu chí điều độ

1. Lượng tiến trình được thực hiện xong:


▪ Số lượng tiến trình thực hiện xong trong 1 đơn vị thời gian
▪ Đo tính hiệu quả của hệ thống
2. Hiệu suất sử dụng CPU
3. Thời gian vòng đời trung bình của tiến trình:
▪ Từ lúc có yêu cầu tạo tiến trình đến khi kết thúc
4. Thời gian chờ đợi:
▪ Tổng thời gian tiến trình nằm trong trạng thái sẵn sàng và chờ cấp
CPU
▪ Ảnh hưởng trực tiếp của thuật toán điều độ tiến trình

www.ptit.edu.vn Trang 441


ĐIỀU ĐỘ TIẾN TRÌNH
3. Các tiêu chí điều độ (tt)

5. Thời gian đáp ứng


6. Tính dự đoán được:
▪ Vòng đời, thời gian chờ đợi, thời gian đáp ứng phải ổn định,
không phụ thuộc vào tải của hệ thống
7. Tính công bằng
▪ Các tiến trình cùng độ ưu tiên phải được đối xử như nhau

www.ptit.edu.vn Trang 442


ĐIỀU ĐỘ TIẾN TRÌNH
4. Các thuật toán điều độ

1. Thuật toán đến trước phục vụ trước (FCFS):


▪ Tiến trình yêu cầu CPU trước sẽ được cấp trước
▪ HDH xếp các tiến trình sẵn sàng vào hàng đợi FIFO
▪ Tiến trình mới được xếp vào cuối hàng đợi
▪ Đơn giản, đảm bảo tính công bằng
▪ Thời gian chờ đợi trung bình lớn
▪ => Ảnh hưởng lớn tới hiệu suất chung của toàn hệ thống
▪ Thường là thuật toán điều độ không phân phối lại

www.ptit.edu.vn Trang 443


ĐIỀU ĐỘ TIẾN TRÌNH
4. Các thuật toán điều độ (tt)
2. Điều độ quay vòng (RR: round robin):
▪ Sửa đổi FCFS dùng cho các hệ chia sẻ thời gian
▪ Có thêm cơ chế phân phối lại bằng cách sử dụng ngắt của
đồng hồ
▪ Hệ thống xác định những khoảng thời gian nhỏ gọi là
lượng tử/ lát cắt thời gian t
▪ Khi CPU được giải phóng, HDH đặt thời gian của đồng
hồ bằng độ dài lượng tử, lấy tiến trình ở đầu hàng đợi và
cấp CPU cho nó
▪ Tiến trình kết thúc trước khi hết thời gian t: trả quyền
điều khiển cho HDH

www.ptit.edu.vn Trang 444


ĐIỀU ĐỘ TIẾN TRÌNH
4. Các thuật toán điều độ (tt)

2. Điều độ quay vòng (tt)


▪ Hết lượng tử thời gian mà tiến trình chưa kết thúc:
▪ Đồng hồ sinh ngắt
▪ Tiến trình đang thực hiện bị dừng lại
▪ Quyền điều khiển chuyển cho hàm xử lý ngắt của HDH
▪ HDH chuyển tiến trình về cuối hàng đợi, lấy tiến trình ở đầu và
tiếp tục
▪ Cải thiện thời gian đáp ứng so với FCFS
▪ Thời gian chờ đợi trung bình vẫn dài
▪ Lựa chọn độ dài lượng tử thời gian?

www.ptit.edu.vn Trang 445


ĐIỀU ĐỘ TIẾN TRÌNH
4. Các thuật toán điều độ (TT)

3. Điều độ ưu tiên tiến trình ngắn nhất (SPF)


▪ Chọn trong hàng đợi tiến trình có chu kỳ sử dụng CPU tiếp theo
ngắn nhất để phân phối CPU
▪ Nếu có nhiều tiến trình với chu kỳ CPU tiếp theo bằng nhau, chọn
tiến trình đứng trước
▪ Thời gian chờ đợi trung bình nhỏ hơn nhiều so với FCFS
▪ Khó thực hiện vì phải biết độ dài chu kỳ CPU tiếp:
▪ Trong các hệ thống xử lý theo mẻ: dựa vào thời gian đăng kí tối đa do lập
trình viên cung cấp
▪ Dự đoán độ dài chu kỳ CPU tiếp theo: dựa trên độ dài TB các chu kỳ CPU
trước đó
▪ Không có phân phối lại

www.ptit.edu.vn Trang 446


ĐIỀU ĐỘ TIẾN TRÌNH
4. Các thuật toán điều độ (tt)

4. Điều độ ưu tiên thời gian còn lại ngắn nhất


▪ SFP có thêm cơ chế phân phối lại (SRTF)
▪ Khi 1 tiến trình mới xuất hiện trong hàng đợi, HDH so sánh thời
gian còn lại của tiến trình đang chạy với thời gian còn lại của tiến
trình mới xuất hiện
▪ Nếu tiến trình mới xuất hiện có thời gian còn lại ngắn hơn, HDH
thu hồi CPU của tiến trình đang chạy, phân phối cho tiến trình mới
▪ Thời gian chờ đợi trung bình nhỏ
▪ HDH phải dự đoán độ dài chu kỳ CPU của tiến trình
▪ Việc chuyển đổi tiến trình ít hơn so với RR

www.ptit.edu.vn Trang 447


ĐIỀU ĐỘ TIẾN TRÌNH
4. Các thuật toán điều độ (tt)

5. Điều độ có mức ưu tiên


▪ Mỗi tiến trình có 1 mức ưu tiên
▪ Tiến trình có mức ưu tiên cao hơn sẽ được cấp CPU
trước
▪ Các tiến trình có mức ưu tiên bằng nhau được điều độ
theo FCFS
▪ Mức ưu tiên được xác định theo nhiều tiêu chí khác nhau

www.ptit.edu.vn Trang 448


Bộ nhớ vật lý có 5 khung. Thứ tự truy cập các trang là 1, 2, 3, 4,
2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6. Vẽ sơ đồ cấp phát bộ nhớ
và Có bao nhiêu sự kiện thiếu trang xảy ra nếu sử dụng:
- LRU (mã sv lẻ)
- FIFO (mã sv chẵn)

www.ptit.edu.vn Trang 449


Xét tập hợp các tiến trình sau:

Hãy cho biết kết quả điều phối theo các chiến lược và thời gian chờ trung bình:
• Mã lẻ: FCFS, SRTF
• Mã chẵn: SPF và Round Robin với lát cắt thời gian = 2

www.ptit.edu.vn Trang 450

You might also like