Professional Documents
Culture Documents
Kiến Trúc Máy Tính&Hệ Điều Hành-slides
Kiến Trúc Máy Tính&Hệ Điều Hành-slides
www.ptit.edu.vn Trang 2
ĐIỂM THÀNH PHẦN
Thực
hành/Bài tập
10%
www.ptit.edu.vn Trang 3
CÁC NỘI DUNG CHÍ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
www.ptit.edu.vn Trang 6
1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
www.ptit.edu.vn Trang 7
1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
www.ptit.edu.vn Trang 8
1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
www.ptit.edu.vn Trang 9
1. KIẾN TRÚC VÀ TỔ CHỨC MÁY TÍNH
www.ptit.edu.vn Trang 10
2. CẤU TRÚC VÀ CHỨC NĂNG CỦA MÁY TÍNH
www.ptit.edu.vn Trang 11
2. CẤU TRÚC VÀ CHỨC NĂNG CỦA MÁY TÍNH
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
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
www.ptit.edu.vn Trang 17
THIẾT BỊ NGOẠI VI
www.ptit.edu.vn Trang 18
www.ptit.edu.vn Trang 19
BUS HỆ THỐNG
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
❖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
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
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
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
www.ptit.edu.vn Trang 34
4. KIẾN TRÚC VON-NEUMANN
www.ptit.edu.vn Trang 35
5. KIẾN TRÚC HARVARD
www.ptit.edu.vn Trang 36
5. KIẾN TRÚC HARVARD
www.ptit.edu.vn Trang 37
5. KIẾN TRÚC HARVARD
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
www.ptit.edu.vn Trang 42
HỆ THẬP PHÂN
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
(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
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
www.ptit.edu.vn Trang 52
BẢNG MÃ ASCII
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
www.ptit.edu.vn Trang 57
CHƯƠNG 2: NỘI DUNG CHÍ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
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
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
NOT OR
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
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
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
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
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Ỉ
www.ptit.edu.vn Trang 95
MỘT SỐ DẠNG LỆNH THÔNG DỤNG
www.ptit.edu.vn Trang 96
LỆNH VẬN CHUYỂN DỮ LIỆU
www.ptit.edu.vn Trang 97
MỘT SỐ LỆNH VẬN CHUYỂN DỮ LIỆU THÔNG DỤNG
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
www.ptit.edu.vn Trang 99
CÁC LỆNH TÍNH TOÁN SỐ HỌC THÔNG DỤNG
100
101
103
CLEAR R0;
MOVE R1, #100;
CLEAR R2;
LAP:
ADD R0, 1000(R2);
INCREMENT R2;
DECREMENT R1;
BRANCH_IF>0 LAP
STORE 2000, R0;
❖ 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.
❖ 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.
❖ Gấp: 20 phút
Áp dụng pipeline
❖ 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
❖ 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
❖ Làm trễ quá trình thực hiện lệnh SUB bằng cách chèn 3
NO-OP
❖ 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
❖ 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
❖ 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
❖ 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
155
169
172
C C
B B
E E
Transistor
Capacitor
❖ 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
❖ 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
Main
CPU Cache
memory
183
186
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
Individual Block of
data items: data: 16,
byte, word 32, 64 bytes
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ớ
Page 1
Page 0
Line n-1
Line n-1
Line 1
Line 1
Line 0
Line 0
Memory Cache
Line m-1
Line n-1
Line 1
Line 0
Cache
Line 1
Line 0
Memory
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
❖ 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
❖ 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
❖ Á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;
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
❖ 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
❖ 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
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?
220
❖ 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
❖ Đĩa từ:
▪ FDD
▪ HDD
❖ Đĩa quang
▪ CD
▪ DVD
❖ RAID
❖ Đĩ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
❖ Đầ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
Output
signal
Sensor
Rotation
Laser Diode mirror
Beam
spitter
CD-ROM
❖ 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
❖ 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)
❖ 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
3 phím
ấn
1 phím
được 2 phím
ấn ấn
❖ 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
284
❖ 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
❖ 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
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
❖ 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
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
Machine Language
Microprogramming Hardware
Physical Devices
Loại sự kiện:
– Ngắt (interrupts)
– Lời gọi hệ thống (System calls)
▪ Đả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
▪ 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
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???
▪ Đ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
▪ 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
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
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
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.
▪ 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
▪ MS-DOS
▪ UNIX
▪ LINUX
▪ Windows
▪ Mac OS
▪ Handheld Operating Systems
…
DOS
Microsoft Windows
Mac OS
Mac OS
On a Macintosh
computer with Boot
Camp, you can boot
into Mac OS X or
into Windows.
Mac OS
iPhone OS
http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/Architecture/Architecture.html
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.
iOS (contd.)
Main features
• Home screen
• Folders
• Notification Center
• Default APPs
• Multitasking
• Switching applications
• Game Centre
Mac OS X Architecture
Each application
has 4GB space
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 (contd.)
Android Mobile OS
Created by Android
Distributed under
Inc., as part of Google
Apache License
in 2005 Linux Kernel
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.
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
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)
• 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
http://ca.blackberry.com/smartphones/blackberry-
z10.html?LID=ca:bb:devices:blackberryz10:getdetails&LPOS=ca:bb:devices
BlackBerry OS
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
▪ 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
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) ()[]{}‘“/\:;<>`
thuộc
tính
file1.txt Thuộc tính file1.txt
thuộc
file2.c Thuộc tính file2.c
tính
▪ 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
▪ 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
▪ Đượ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
▪ Ư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
▪ 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
▪ Ư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
▪ 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
▪ 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
▪ 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
▪ Ư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
▪ 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
▪ 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
▪ 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
▪ 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
▪ 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
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
11
12
Bộ nhớ vật lý
1
trong MEM 2
0 A 2
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
lệnh bị ngắt 12
Bộ nhớ vật lý
▪ 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
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
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
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
▪ 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
▪ Đượ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
▪ 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
▪ 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
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