Professional Documents
Culture Documents
Tổng quan về
Kiến trúc máy tính
IT-FIT 20221 1
Nội dung
• Các khái niệm và định nghĩa cơ bản
• Nguyên lý họat động
• Nội dung môn học
• Phân lọai máy tính
• Lịch sử phát triển máy tính
• Tổ chức tổng quát máy tính
IT-FIT 20221 2
Các khái niệm và định nghĩa
• Máy tính (Computer)
– Máy tính là thiết bị điện tử xử lý dữ liệu,
hoạt động một cách tự động dưới sự điều
khiển của chương trình được lưu trữ trong
bộ nhớ chính của nó.
IT-FIT 20221 3
Các khái niệm và định nghĩa
• Hệ thống máy tính (Computer system)
– Một hệ thống máy tính bao gồm một máy tính và
các thiết bị ngoại vi.
• Thiết bị ngoại vi (Peripherals)
– Bao gồm các thiết bị nhập (input devices), thiết bị
xuất (output devices) và bộ nhớ thứ cấp (secondary
storage).
IT-FIT 20221 4
Các khái niệm và định nghĩa
• Chương trình (program)
– Danh sách các lệnh (command) hoặc chỉ thị
(instruction) để bộ xử lý trong máy tính thi hành.
• Lệnh và tập lệnh
– Bộ xử lý (CPU) trong máy tính đuợc thiết kế để
hiểu và thi hành được các lệnh được thiết kế truớc
của nhà sản xuất CPU
– Tập hợp tất cả các lệnh CPU hiểu đuợc gọi là tập
lệnh (instruction set) của CPU đó
IT-FIT 20221 5
Các khái niệm và định nghĩa
• Lập trình (programming)
– Việc viết 1 chương trình cho máy tính chạy gọi là lập trình.
Người viết chương trình gọi là lập trình viên (programmer)
– Máy tính không thể tự nó giải được 1 bài tóan vì cần có
chương trình do con người viết ra.
– Người lập trình phải biết cách giải bài toán mới có thể viết
chương trình cho máy giải được.
• Xử lý dữ liệu (data processing)
– Bao gồm các thao tác: Thu thập, nhập, lưu trữ, tìm kiếm,
tính tóan, trình bày kết quả.
– Hệ thống máy tính cần có con người tham gia.
IT-FIT 20221 6
Các khái niệm và định nghĩa
• Ngôn ngữ lập trình
– Ngôn ngữ tự nhiên (natural language):
• Do con nguời sử dụng. Lệ thuộc ngữ cảnh, không có tính chính xác
và nhất quán cần thiết cho máy tính
• Không sử dụng được cho máy tính
– Ngôn ngữ máy (machine language)
• Là các ký hiệu nhị phân (số 0 và 1) mà các linh kiện điện tử trong
máy tính hiểu và xử lý được.
• Rất khó khăn khi con nguời sử dụng trực tiếp.
– Ngôn ngữ dùng ký hiệu/ Hợp ngữ Symbolic language/
Assembly language dạng ký hiệu/gợi nhớ của tập lệnh CPU
– Ngôn ngữ lập trình (programming language)
• Là trung gian giữa ngôn ngữ tự nhiên và ngôn ngữ máy.
IT-FIT 20221 7
Các khái niệm và định nghĩa
IT-FIT 20221 8
Các khái niệm và định nghĩa
• Chương trình dịch (translator)
– Máy tính không hiểu đuợc ngôn ngữ lập trình và
ngôn ngữ tự nhiên
– Cần phải dịch ngôn ngữ lập trình do con nguời viết
ra ngôn ngữ máy để máy tính thi hành
– Việc dịch có thể thực hiện tự động thông qua 1
chương trình gọi là chương trình dịch
– Bao gồm 2 loại:
• Trình Biên dịch (Compiler)
• Trình Thông dịch (Interpreter)
IT-FIT 20221 9
Các khái niệm và định nghĩa
• Thành phần máy tính
– Phần cứng (hardware)
• Bộ xử lý CPU
• Bộ nhớ (Memory)
• Thiết bị ngoại vi
– Phần mềm (software)
• Hệ thống (system software)
• Ứng dụng (application software)
– Phần dẻo (firmware)
• Trung gian giữa phần cứng và phần mềm
IT-FIT 20221 10
Nguyên lý họat động
• Mô hình Turing
– Là một mô hình máy tính lý thuyết do nhà toán
học nguời Anh Alan Turing đưa ra năm 1936 gọi là
máy Turing
– Dùng để kiểm tra khả năng giải các lọai bài toán
khác nhau bằng các thuật toán trên máy móc
– Luận đề Church-Turing khẳng định mọi hàm toán
học tính được thì cũng có thể dùng các máy Turing
để tính, và do đó cho phép định nghĩa các khái
niệm như sự tính được của hàm hay thuật toán.
IT-FIT 20221 11
Nguyên lý họat động
• Máy Turing
– Gồm 1 dải băng dài
vô hạn có nhiều ô.
– 1 đầu đọc/ghi để
đọc/ ghi từng ký tự
hoặc dịch chuyển
trên 1 ô của dải
băng.
– 1 khối xử lý chứa
tập các trạng thái
IT-FIT 20221 12
Nguyên lý họat động
• Nguyên lý hoạt động máy Turing
– Máy làm việc theo từng bước rời rạc. Một lệnh của
máy như sau : qiSiSjXqj.
– Nghĩa là : trạng thái hiện hành của máy là qi đầu đọc
ghi đang ở ô Si thì sẽ ghi đè Sj vào ô hiện tại và dịch
chuyển hoặc đứng yên theo chỉ thị là X và trạng thái
mới của máy là qj
– Dữ liệu của bài toán là 1 chuỗi các ký hiệu thuộc tập
các ký hiệu của máy không kể ký hiệu rỗng b
– Trạng thái trong ban đầu của máy là q0 .được cất vô
băng. Quá trình sẽ dừng lại khi trạng thái trong của
máy là trạng thái kết thúc qf.
IT-FIT 20221 13
Nguyên lý họat động
• Ví dụ máy Turing
– Thực hiện phép toán NOT trên chuỗi các bit 0/1
– Chuỗi dữ liệu nhập ban đầu là 10
– Tập các ký hiệu của máy {0,1}
– Tập các trạng thái trong {q0, q1}
– Tập lệnh gồm 3 lệnh : q001Rq0, q010Rq0, q0bbNq1
q0 Ban đầu q0
1 0 b … 0 0 b …
q1
q0 Dừng
0 1 b …
0 202211
IT-FIT b … Kết quả 01 14
Nguyên lý họat động
• Mô hình Von Neumann
– Là một mô hình máy tính thực tế do nhà toán học
người Mỹ gốc Hungary John Von Neumann đưa ra
khi tham gia thiết kế máy tính EDVAC năm 1945.
- Máy gồm 3 khối cơ
bản : đơn vị xử lý, bộ
nhớ và hệ thống xuất
nhập.
- Hiện đang áp dụng
cho các máy tính
ngày
IT-FITnay.
20221 15
Nguyên lý họat động
• Nguyên lý Von Neumann
– Chương trình điều khiển xử lý dữ liệu cũng được
xem là data và được lưu trữ trong bộ nhớ gọi là
chương trình lưu trữ.
– Bộ nhớ chia làm nhiều ô, mỗi ô có 1 địa chỉ (đánh
số thứ tự) để có thể chọn lựa ô nhớ trong quá trình
đọc ghi dữ liệu. (nguyên lý định địa chỉ)
– Các lệnh được thực hiện tuần tự nhờ 1 bộ đếm
chương trình (thanh ghi lệnh) nằm bên trong đơn
vị xử lý.
IT-FIT 20221 16
Nguyên lý họat động
• Sơ đồ máy tính Von Neumann
CPU Bộ nhớ chính
Đọc lệnh Lưu trữ thông tin
Phân tích lệnh Nơi chứa chương trình
Thực thi lệnh để CPU đọc và thực thi
IT-FIT 20221 18
Nguyên lý họat động
• Tại sao sử dụng kiến trúc Von Neumann?
– Tạo ra các máy tính đa năng, lập trình được
• Giải các bài toán khác nhau bằng các chương trình khác
nhau.
– Các lệnh chương trình được thi hành 1 cách tự
động
– Máy tính có thể chế tạo từ các linh kiện điện tử cơ
bản
• Chức năng xử lý dữ liệu thực hiện bằng các cổng logic
• Chức năng lưu trữ dữ liệu thực hiện qua các ô nhớ
• Chức năng truyền dữ liệu thực hiện qua các đường
truyền dẫn điện
IT-FIT 20221 19
Nội dung môn học
• Cung cấp các kiến thức cơ bản về nguyên lý
hoạt động và tổ chức ở các máy tính số
– Vấn đề đánh giá hiệu suất
– Kiến trúc tập lệnh
– Tính toán số học
– Đường đi dữ liệu và tín hiệu điều khiển
– Hệ thống bộ nhớ
– Giao tiếp với ngoại vi
IT-FIT 20221 20
Nội dung môn học
• Mục đích môn học
– Nắm vững các kiến thức cơ bản về tổ chức và hoạt
động của máy tính số
– Làm nền tảng để tìm hiểu cấu trúc của các phần tử
khác nhau trong một máy tính số
– Vận dụng để thiết kế, cải tạo, sửa chữa các hệ thống
ứng dụng vi xử lý–vi điều khiển, vi mạch, hệ thống
nhúng
– Vận dụng vào thiết kế, cải tạo các hệ thống phần mềm
sao cho hoạt động hiệu quả, phù hợp với kiến trúc
phần cứng
IT-FIT 20221 21
Nội dung môn học
• Sự phân cấp máy tính theo Tanenbaum
Chương trình Ln
Máy ảo Mn với ngôn ngữ máy Ln được dịch hay phiên
Cấp n
dịch chạy trên máy
cấp thấp hơn
...
IT-FIT 20221 25
Nội dung môn học
• Tổ chức máy tính liên quan đến các khối chức năng và
sự kết nối giữa chúng để thực hiện các đặc tả kiến trúc
(nghĩa là làm thế nào hiện thực các tính năng kiến trúc)
• Ví dụ: Tín hiệu điều khiển, giao tiếp giữa máy tính và
các thiết bị ngoại vi, công nghệ bộ nhớ, …(phần cứng)
IT-FIT 20221 26
Nội dung môn học
• Vị trí KTMT và TCMT
IT-FIT 20221 27
Nội dung môn học
• So sánh KTMT và TCMT
– Ví dụ chức năng “nhân”:
• Kiến trúc: có hay không có lệnh nhân.
• Tổ chức: một đơn vị thực hiện chức năng “nhân” đặc biệt hay việc
dùng nhiều đơn vị “cộng” để thực hiện chức năng “nhân”.
• Nhiều nhà sản xuất máy tính đưa ra dòng (họ) các mẫu máy
tính, các máy này có cùng kiến trúc nhưng khác nhau về
mặt tổ chức
– Tất cả máy tính họ x86 của Intel có cùng kiến trúc cơ bản
– Họ System/370 của IBM có cùng kiến trúc cơ bản
• Điều này dẫn đến
– Nhiều máy khác nhau trong cùng họ có giá thành và hiệu suất
khác nhau
– Tổ chức sẽ thay đổi theo công nghệ
• Tương thích về chương trình
• IT-FIT
Tối thiểu
20221 đối với các máy thế hệ trước (backward) 28
Nội dung môn học
• Tại sao học KTMT ?
– Để trở thành chuyên nghiệp trong lĩnh vực máy tính ngày
nay, bạn không nên xem máy tính như một hộp đen (black
box) thực hiện các chương trình bằng ma thuật.
– Bạn nên hiểu các thành phần chức năng của một hệ thống
máy tính, đặc tính, hiệu suất và tương tác của chúng.
– Bạn cần hiểu rõ kiến trúc máy tính để có thể xây dựng các
chương trình chạy hiệu quả trên máy tính.
– Khi chọn lựa để dùng một hệ thống, bạn phải có khả năng
hiểu được ưu và nhược điểm của các thành phần khác nhau,
ví dụ tốc độ xung nhịp CPU so với kích thước bộ nhớ.
IT-FIT 20221 29
Nội dung môn học
• Cấu trúc và Chức năng
– Nhận biết bản chất phân cấp của các hệ thống phức tạp
nhất
• Hệ thống phân cấp là tập hợp các hệ thống con có quan hệ
với nhau, sao cho mỗi hệ thống con này lại có tính phân cấp
về cấu trúc như vậy, cho đến khi chúng ta đạt đến hệ thống
con nguyên tử thấp nhất
– Cấu trúc là cách mà các thành phần quan hệ với các
thành phần khác
– Chức năng là tác vụ của các thành phần chức năng
riêng biệt nằm trong cấu trúc
– Theo cách mô tả, có 2 cách tiếp cận
• Bottom-up
• Top-down
IT-FIT 20221 30
Nội dung môn học
• Chức năng Máy tính
– Xử lý dữ liệu (Data
processing)
– Lưu trữ dữ liệu (Data
storage)
– Dịch chuyển dữ liệu (Data
movement)
– Điều khiển (Control)
IT-FIT 20221 31
Nội dung môn học
• Các tác vụ
Central Main
Processing Memory
Unit
Computer
Systems
Interconnection
Input
Output
Communication
lines
IT-FIT 20221 33
Nội dung môn học
• Cấu trúc - CPU
CPU
Computer Arithmetic
Registers and
I/O Login Unit
System CPU
Bus
Internal CPU
Memory Interconnection
Control
Unit
IT-FIT 20221 34
Nội dung môn học
• Cấu trúc – Bộ điều khiển
IT-FIT 20221 35
Phân lọai máy tính
• Theo công nghệ • Theo khả năng xử lý
– Máy tính tương tự – Máy vi tính (micro
(analog) computer)
– Máy tính số (digital) – Máy mini (mini computer)
• Theo mức độ sử dụng – Máy tính lớn (main frame)
– Siêu máy tính (super
– Máy chuyên dụng
computer)
– Máy đa dụng
• Theo thế hệ
• Theo nguyên lý họat – Thế hệ 1
động – Thế hệ 2
• Von Neumann – Thế hệ 3
• Phi Von Neumann – Thế hệ 4 …
IT-FIT 20221 36
Phân lọai máy tính
• Bài tập phân biệt các lọai máy tính sau:
– Workstation
– Client
– Server
– Desktop
– Laptop
– Palmtop
– Terminal
–…
IT-FIT 20221 37
Lịch sử phát triển máy tính
The zeroth
generation
The first
generation
The second
generation
The third
generation
The fourth
generationIT-FIT 20221 38
Lịch sử phát triển máy tính
• Thế hệ 1 (1945-1955)
– Công nghệ chế tạo: Đèn điện tử
– Phần cứng: chưa có. Sau này xuất hiện băng giấy
và phiếu đục lỗ. Chỉ có 1 lọai máy mainframe.
– Ngôn ngữ lập trình: chưa có, sử dụng ngôn ngữ
máy
– Hệ điều hành: chưa có
– Các máy điển hình: ENIAC, EDVAC, IAS
– Đặc điểm: tính toán chậm, kích thức lớn, tiêu thụ
nhiều năng luợng. Chế tạo đơn lẻ.
IT-FIT 20221 39
Lịch sử phát triển máy tính
• Thế hệ 2 (1955-1965)
– Công nghệ chế tạo: Transistor
– Phần cứng: Băng từ, máy in. Xuất hiện máy mini
– Ngôn ngữ lập trình: Assembly, Fortran, Cobol
– Hệ điều hành: Đơn giản (Control program,
Monitor). Xử lý theo lô, xử lý offline.
– Các máy điển hình: PDP-1, IBM 7094, CDC 6600
– Đặc điểm: Tốc độ nhanh hơn, kích thức thu hẹp
nhưng vẫn còn lớn, tiêu thụ ít năng luợng hơn. Sản
xuất hàng lọat theo đơn đặt hàng.
IT-FIT 20221 40
Lịch sử phát triển máy tính
• Thế hệ 3 (1965-1980)
– Công nghệ chế tạo: Mạch tích hợp IC
– Phần cứng: Màn hình, đĩa cứng. Xuất hiện siêu máy
tính. Xuất hiện họ các máy tính.
– Ngôn ngữ lập trình: Phát triển mạnh: Algol , Pascal, C
– Hệ điều hành: Xử lý đa chương, chia sẻ thời gian, xuất
hiện UNIX
– Các máy điển hình: IBM/360, DEC PDP-11, Cray-1
– Đặc điểm: Tốc độ nhanh, kích thức nhỏ, tiêu thụ ít
năng luợng, ngày càng dễ sử dụng
IT-FIT 20221 41
Lịch sử phát triển máy tính
• Thế hệ 4 (1980 - nay)
– Công nghệ chế tạo: Mạch tích hợp IC cỡ lớn (VLSI).
Độ tích hợp ngày càng cao theo định luật Moore
– Phần cứng: Phát triển đa dạng. Xuất hiện máy vi tính.
– Ngôn ngữ lập trình: Phát triển mạnh hơn và dễ lập
trình hơn: C++, Java, Prolog, Lisp
– Hệ điều hành: Đồ họa, mạng, đa xử lý, xử lý phân tán
– Các máy điển hình: IBM PC, Mac
– Đặc điểm: Tốc độ rất cao, kích thức rất nhỏ, thân thiện
với con nguời, hỗ trợ multimedia,…
IT-FIT 20221 42
Lịch sử phát triển máy tính
• Định luật Moore
– Do Gordon Moore, người đồng sáng lập công ty Intel đưa
ra từ 1965: “Số lượng transistor trong 1 chip tăng gấp đôi
sau 18 tháng”
IT-FIT 20221 43
Lịch sử phát triển máy tính
• Tại sao chưa có thế hệ 5?
– Dự án máy tính thế hệ 5 của Nhật bản
– Xuất hiện máy vi tính
– Xuất hiện mạng Internet tòan cầu
– Xuất hiện các siêu máy tính cực mạnh
– Máy tính đã xâm nhập vào mọi lĩnh vực trong đời
sống con nguời
IT-FIT 20221 44
Tổ chức tổng quát máy tính
• Sơ đồ tổ chức tổng quát
THIẾT BỊ
NGỌAI VI
BUS HỆ THỐNG
IT-FIT 20221 45
Tổ chức tổng quát máy tính
• CPU
– Chức năng: Điều khiển mọi họat động bên trong
MT và thực hiện các phép tính
– Thành phần:
• CU (Control Unit)
• ALU (Arithmetic & Logic Unit)
• Các thanh ghi (Registers)
– Khả năng xử lý : bit
• 8, 16, 32, 64 bit …
– Tốc độ xử lý (tính toán): ???
IT-FIT 20221 46
Tổ chức tổng quát máy tính
• CPU (tiếp)
– Nhiệm vụ: thi hành chương trình
– Chu trình lệnh: Lấy lệnh, thi hành lệnh
IT-FIT 20221 47
Tổ chức tổng quát máy tính
• Bộ nhớ (memory)
– Chức năng: Lưu trữ dữ liệu và chương trình trong máy tính
– Tổ chức : Bộ nhớ đuợc chia ra các ô có kích thước bằng
nhau. Mỗi ô có thể lưu trữ 1 byte hoặc 1 từ máy (word). 1
word có thể chứa 2, 4, 8, 16,… byte tùy theo nhà sản xuất
máy tính.
– Cần địa chỉ (address) để gán cho các ô nhớ. Mục đích để
phân biệt các ô nhớ với nhau khi truy cập dữ liệu
– Phân lọai bộ nhớ:
• RAM (Random Access Memory)
• ROM (Read Only Memory)
• Cache
IT-FIT 20221 48
Tổ chức tổng quát máy tính
• Bộ nhớ (tiếp)
– Phân cấp bộ nhớ
– Khác biệt: Dung lượng, tốc độ truy cập, giá thành
IT-FIT 20221 49
Tổ chức tổng quát máy tính
• Bộ nhớ (tiếp)
– Đặc điểm các loại bộ nhớ
IT-FIT 20221 50
Tổ chức tổng quát máy tính
• Bộ nhớ (tiếp)
– Các mức cache
IT-FIT 20221 51
Tổ chức tổng quát máy tính
• Thiết bị ngọai vi (peripherals)
– Chức năng: giao tiếp giữa máy tính với thế giới
bên ngoài (con người)
– Nhiệm vụ: chuyển đổi dạng dữ liệu giữa con người
và máy tính
– Phân loại:
• Thiết bị nhập (input devices)
• Thiết bị xuất (output devices)
• Thiết bị truyền thông (communication devices)
• Thiết bị lưu trữ (storage devices)
IT-FIT 20221 52
Tổ chức tổng quát máy tính
• Thiết bị ngọai vi (tiếp)
– Các lọai thiết bị lưu trữ
• Giấy
– Băng giấy đục lỗ, Phiếu đục lỗ, …
• Từ tính
– Xuyến từ, Trống từ, Băng từ
– Đĩa từ (Đĩa mềm, Đĩa cứng)
• Quang học
– CD/ DVD
– Blue-ray, HD-DVD
• Quang từ
– MO disk
• Bán dẫn
– USB Flash, SSD, thẻ nhớ, …
• Khác
– Bubble, Hologram, ...
IT-FIT 20221 53
Tổ chức tổng quát máy tính
• Thiết bị ngọai vi (tiếp)
– Tốc độ truy cập 1 số thiết bị ngoại vi thông dụng
IT-FIT 20221 54
Tổ chức tổng quát máy tính
• Bus hệ thống
– Mục đích: Tổ chức dạng bus được dùng để đơn giản
hóa việc tổ chức và phân luồng dữ liệu trong hệ thống
máy tính
– Chức năng: Liên kết & truyền tín hiệu giữa các thành
phần trong MT
– Cần cơ chế sao cho tại một thời điểm, chỉ có 1 thanh
ghi có thể đặt dữ liệu lên bus để tránh tranh chấp bus
– Phân lọai:
• Data bus
• Address bus
– Không gian địa chỉ
• Control bus
IT-FIT 20221 55
Tổ chức tổng quát máy tính
• Bus hệ thống (tiếp)
– Mô hình hệ thống máy tính 3 bus
CPU Memory
Address Address
Address bus
Instruction
Registers Instruction
Control bus :
Data
CU ALU :
Data Data
Data bus
IT-FIT 20221 56
Tổ chức tổng quát máy tính
• Bus hệ thống (tiếp)
– Ví dụ về Control bus
IT-FIT 20221 57
Tổ chức tổng quát máy tính
• Bus hệ thống (tiếp)
– Đồng bộ bus: Các thành phần trong máy tính phải hoạt
động đồng bộ.
• Mỗi họat động cơ bản được chia ra nhiều buớc nhỏ
• Cần 1 trọng tài đánh nhịp để điều khiển từng buớc hoạt động
• Ví dụ: thao tác đọc bộ nhớ được chia ra:
– CPU gửi yêu cầu đọc cho BN (bus điều khiển)
– CPU gửi địa chỉ cần đọc cho BN (bus địa chỉ)
– BN giải mã địa chỉ
– BN xuất dữ liệu cho CPU (bus dữ liệu)
• Một chu kỳ lệnh gồm nhiều chu kỳ máy (4 như VD trên)
• Đơn vị đo tốc độ xung nhịp: Hertz (Hz)
– 2 chế độ tốc độ họat động trong CPU máy tính
– Sự tồn tại BN cache
IT-FIT 20221 58
Tổ chức tổng quát máy tính
• Bus hệ thống (tiếp)
– Ví dụ minh hoạ về sự đồng bộ bus
IT-FIT 20221 59
Tổ chức tổng quát máy tính
• Bus hệ thống (tiếp)
– Trong thực tế người ta phân bus hệ thống ra nhiều mức tốc
độ do có sự chênh lệch của các thành phần trong máy tính
IT-FIT 20221 60
Chương 2
IT-FIT 2021 62
Các hệ thống số
• Hệ thống số theo phép cộng
– Mỗi ký số có giá trị độc lập không lệ thuộc vị trí của ký số.
– Giá trị của con số đuợc tính bằng cách cộng/ trừ giá trị từng
ký số.
– Ví dụ 1: Hệ thống số Hy lạp và La mã
1 I 20 XX
2 II 25 XXV
3 III 29 XIX
4 IV 50 L
5 V 75 LXXV
6 VI 100 C
10 X 500 D
11 XI 1000 M
IT-FIT 2021 63
16 XVI
Các hệ thống số
• Ví dụ về số La mã
1. XXXVI
2. XL
3. XVII
4. DCCLVI
5. MCMLXIX
• Nhược điểm
– Khó biểu diễn và tính tóan với các số lớn
– Cần nhiều ký số để biểu diễn các số lớn
– Không có số không và số âm
– Không nhất quán về quy tắc. VD số 49 biểu diễn bằng
IL (50-1) hay XLIX (40+9)?
IT-FIT 2021 64
Các hệ thống số
• Hệ thống số theo phép cộng (tiếp)
– Ví dụ 2: Hệ Ai cập cổ đại
=?
IT-FIT 2021 65
Các hệ thống số
• Hệ thống số theo vị trí
– Mỗi vị trí số có giá trị khác nhau tùy theo cơ số
– Ví dụ: Hệ thập phân
Hàng trăm Hàng chục Đơn vị
6 3 8
twenties Units
2 x 20 + 7 = 47
twenties units
18 x 20 + 5 = 365
IT-FIT 2021 66
Các hệ thống số
• Hệ thống số theo vị trí (tiếp)
– Ví dụ: Hệ thống lục thập phân Babylon
a .B
i =n
i
i
IT-FIT 2021 68
Các hệ thống số
IT-FIT 2021 69
Các hệ thống số
IT-FIT 2021 70
Các hệ thống số
Thập phân Nhị phân Bát phân Thập lục phân
• Đối 0 0 0 0
chiếu 1
2
1
10
1
2
1
2
giữa các 3 11 3 3
hệ thống 4 100 4 4
số
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
IT-FIT 2021 15 1111 17 F 71
Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số
– Đổi từ số hệ bất kỳ sang hệ thập phân: áp dụng biểu thức
−m
a .B
i =n
i
i
IT-FIT 2021 72
Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Ví dụ 2: Đổi các số sau ra thập phân
• 264.36(8)
• CAFE.85(16)
– Đổi từ hệ thập phân sang hệ bất kỳ:
• Qui tắc 1: Đổi phần nguyên riêng và đổi phần thập phân
(lẻ) riêng sau đó ghép lại
• Qui tắc 2: Đổi số nguyên hệ thập phân sang hệ B bằng
cách chia liên tiếp số cần đổi cho B và giữ lại số dư cho
đến khi thương số bằng không. Số cần tìm là các số dư
viết theo chiều nguợc lại
IT-FIT 2021 73
Các hệ thống số
IT-FIT 2021 74
Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Ví dụ
• Đổi 105(10) ra nhị phân
105 : 2 = 52 dư 1
52 : 2 = 26 dư 0
26 : 2 = 13 dư 0
13 : 2 = 6 dư 1
6 : 2 = 3 dư 0
3 : 2 = 1 dư 1
1 : 2 = 0 dư 1
Kết quả: 105(10) = 1101001(2)
IT-FIT 2021 75
Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Ví dụ
• Đổi 0.6875(10) ra nhị phân
0.6875 x 2 = 1.375 phần nguyên = 1
0.375 x 2 = 0.75 phần nguyên = 0
0.75 x 2 = 1.5 phần nguyên = 1
0.5 x 2 = 1.0 phần nguyên = 1
• Kết quả : 0.6875(10)= 0.1011(2)
– Ghép lại: 105.6875(10) = 1101001.1011(2)
IT-FIT 2021 76
Các hệ thống số
• Qui tắc chuyển đổi giữa các hệ thống số (tiếp)
– Đổi từ hệ nhị phân sang hệ bát phân và nguợc lại
• Qui tắc: ghép 3 ký số nhị phân đổi ra 1 ký số bát phân (hoặc
nguợc lại).
– Đổi từ hệ nhị phân sang hệ thập lục phân và ngược lại
• Qui tắc: ghép 4 ký số nhị phân đổi ra 1 ký số thập lục phân
(hoặc nguợc lại).
– Ví dụ:
• B3(16) = 1011 0011(2)
• 10 110 011(2) = 263(8)
– Đổi giữa bát phân sang thập lục phân và ngược lại
• Qui tắc: Đổi sang 1 hệ trung gian (thường là nhị phân như ví
dụ trên)
IT-FIT 2021 77
Biểu diễn số nguyên
n −1
A= a .2
i =0
i
i
IT-FIT 2021 78
Biểu diễn số nguyên
IT-FIT 2021 79
Biểu diễn số nguyên
• Số nguyên không dấu (tiếp)
– Ví dụ 2. Cho các số nguyên không dấu M, N được
biểu diễn bằng 8-bit như sau:
• M = 0001 0010
• N = 1011 1001
Xác định giá trị của chúng ?
• Giải:
– M = 0001 0010 = 24 + 21 = 16 + 2 = 18
– N = 1011 1001 = 27 + 25 + 24 + 23 + 20
= 128 + 32 + 16 + 8 + 1 = 185
IT-FIT 2021 80
Biểu diễn số nguyên
• Số nguyên không dấu (tiếp)
– Với n = 8 bit
0000 0000 = 0
0000 0001 = 1
0000 0010 = 2
0000 0011 = 3
...
1111 1111 = 255 Biểu diễn được các giá trị từ 0 đến 255
– Chú ý:
1111 1111
+ 0000 0001
1 0000 0000 Vậy: 255 + 1 = 0 ?
➔ do tràn nhớ ra ngoài
IT-FIT 2021 81
Biểu diễn số nguyên
• Số nguyên không dấu (tiếp)
– Trục số học với n = 8 bit
IT-FIT 2021 84
Biểu diễn số nguyên
• Số nguyên có dấu (tiếp)
– Qui tắc 2: Dùng số bù 2 (two’s-complement) để
biểu diễn số âm.
• [Số bù 2] = [Số bù 1] + 1
• Số bù 1 tính bằng cách đảo các bit 1 ➔ 0 và 0 ➔ 1
• Ví dụ tìm số bù 2 của +2
– Số +2 : 0010
– Số bù 1 : 1101 (đảo các bit)
– Công thêm 1: + 1
– Số bù 2 : 1110
IT-FIT 2021 85
Biểu diễn số nguyên
• Số nguyên có dấu (tiếp) Thập Nhị Thập Nhị
– Ví dụ bảng số 4 bit dùng số phân phân phân phân
bù 2 cho số âm +0 0000 - -
– Kết quả: +1 0001 -1 1111
• Chỉ còn 1 số +0 +2 0010 -2 1110
• Bù 2 của bù 2 bằng chính nó
+3 0011 -3 1101
• Mở rộng thêm số -8
+4 0100 -4 1100
• Kết quả tính toán chính xác.
• Ví dụ : tính lại (+4) + (-2) +5 0101 -5 1011
+4 0100 +6 0110 -6 1010
-2 1110 +7 0111 -7 1001
+2 1 0010 (+2)
- - -8 1000
(bỏIT-FIT
qua2021bit tràn số) 86
Biểu diễn số nguyên
• Số nguyên có dấu (tiếp)
– Ví dụ biểu diễn các số nguyên có dấu sau đây bằng 8-bit:
A = +58 ; B = -80
– Giải:
A = +58 = 0011 1010(2)
B = -80
Ta có: + 80 = 0101 0000
Số bù một = 1010 1111
+1
Số bù hai = 1011 0000
Vậy: B = -80 = 1011 0000(2)
IT-FIT 2021 87
Biểu diễn số nguyên
• Số nguyên có dấu (tiếp)
– Trục số học số nguyên có dấu với n = 8 bit
• Dải biểu diễn
-128 … +127
– Với n=16 bit
• -32768 … + 32767
– Với n=32 bit : -2-31 … +231-1
– Với n=64 bit : -2-63 … +263-1
– Nhược điểm: không thể chứa số
lớn hơn dải giới hạn (tràn số)
IT-FIT 2021 88
Biểu diễn số nguyên
• Số nguyên có dấu (tiếp)
• Để tránh việc 2 nửa trục số
không liên tục nhau và khó so
sánh số nào lớn hơn → cần
sắp xếp lại
• Mã thừa 2n-1
– Cộng thêm 2n-1 vào bảng giá trị
theo số bù 2, n=số bit phần số
– Khắc phục được các nhược
điểm trên
– Không cần biểu diễn dấu cho số
âm
• Ví dụ bảng mã thừa 7 cho
trường hợp số 3 bit
IT-FIT 2021 89
Biểu diễn số nguyên
• So sánh các dạng số nguyên 4 bit
IT-FIT 2021 90
Biểu diễn số nguyên
• Số BCD (Binary Code Decimal)
– Số nhị phân có nhược điểm khó biểu diễn chính xác
đối với số rất lớn hoặc rất nhỏ.
– Trong 1 số trường hợp đòi hỏi tính tóan chính xác từng
ký số (ví dụng trong tài chánh, ngân hàng,…)
– Qui tắc : Mã hóa mỗi ký số thập phân 0…9 bằng 1
byte. Chỉ sử dụng 4 bit cuối, 4 bit đầu = 0 hoặc sử
dụng cho các mục đích khác.
– Để tiết kiệm bộ nhớ, có thể ghép 2 ký số vào 1 byte, 4
bit đầu 1 ký số, 4 bit cuối 1 ký sô. Phương pháp này
gọi là số BCD dạng dồn (packed-BCD)
– Áp dụng cho số nguyên hoặc số thực dấu chấm tĩnh.
IT-FIT 2021 91
Biểu diễn số nguyên
• Bảng mã BCD
Ký số BCD Ghi chú:
0 0000 • Mỗi số BCD chính là mã
1 0001 nhị phân của các ký số.
• Có 6 mã không được sử
2 0010 dụng:
3 0011 • 1010
4 0100 • 1011
• 1100
5 0101
• 1101
6 0110 • 1110
7 0111 • 1111
8 1000 • Đơn vị 4 bit (=1/2 byte)
được gọi là nibble
9
IT-FIT 2021 1001 92
Biểu diễn số nguyên
• Số BCD (tiếp)
– Ví dụ biểu diễn số 35:
• Unpacked-BCD: 0000 0011 0000 0101 (2 byte)
• Packed-BCD: 0011 0101 (1 byte)
– Phép cộng trên số BCD
35 0011 0101BCD
+ 61 + 0110 0001BCD
96 1001 0110BCD
kết quả đúng (không phải hiệu chỉnh)
87 1000 0111BCD
+ 96 + 1001 0110BCD
183 1 0001 1101 → kết quả sai
+ 0110 0110 hiệu chỉnh
0001 1000 0011BCD → kết quả đúng 1 8 3
Hiệu chỉnh: cộng thêm 6 ở những vị trí có nhớ (>9)
IT-FIT 2021 93
Biểu diễn số thực
• Số thực dấu chấm tĩnh (fixed-point decimal)
– Qui tắc: Qui ước 1 vị trí chứa dấu chấm thập phân.
Số thực được lưu trữ bằng 2 số nguyên:
• Số nguyên có dấu cho phần nguyên
• Số nguyên không dấu cho phần thập phân
– Ví dụ: Một số thực 16 bit
12 bit integer part 4 bit fractional part
IT-FIT 2021 94
Biểu diễn số thực
• Số thực dấu chấm tĩnh (tiếp)
– Nhược điểm: Khó biểu diễn các số quá nhỏ hoặc
quá lớn
– Ví dụ:
• Số 1,234,000,000,000,000,000.00 cần nhiều bit cho
phần nguyên
• Số 0.000 000 000 000 000 123 456 cần nhiều bit cho
phần thập phân
– Cách khắc phục: Chuyển sang số dạng khoa học
(dấu chấm động)
IT-FIT 2021 95
Biểu diễn số thực
• Số thực dấu chấm động (floating-point decimal)
– Qui tắc : Cho phép thay đổi vị trí dấu chấm thập phân
cho phù hợp nhu cầu với độ chính xác vừa phải
– Ví dụ
• -123,000,000,000,000,000.00 = -123 x 1015 (-123 E+15)
• +0.000 000 000 000 000 123 = 123 x 10-18 (+123 E-18)
– Số thực được lưu trữ bằng 2 số nguyên
• Số nguyên có dấu cho phần định trị
• Số nguyên có dấu cho phần lũy thừa
– Nhược điểm: Độ chính xác giới hạn
IT-FIT 2021 96
Biểu diễn số thực
• Số thực dấu chấm động (tiếp)
– Tổng quát: một số thực X được biểu diễn theo kiểu
số dấu chấm động như sau:
X = M * RE
• M là phần định trị (Mantissa),
• R là cơ số (Radix),
• E là phần mũ (Exponent).
– Trước đây mỗi hãng sản xuất máy tính tự qui định
các thành phần M, R và E riêng biệt dẫn đến khó
trao đổi dữ liệu → cần chuẩn hóa
IT-FIT 2021 97
Biểu diễn số thực
• Chuẩn IEEE754
– Qui định về định dạng và sử dụng số dấu chấm động trong
máy tính
– Do IEEE (Institute of Electrical and Electronic Engineers)
ban hành lần đầu 1985, phiên bản mới nhất ban hành 2008
– Sử dụng cơ số nhị phân (R=2)
– Các định dạng
• Chính xác đơn (single precision): 32 bit
• Chính xác kép (double precision): 64 bit
• Chính xác mở rộng (extended precision) trên CPU Intel: 80 bit
• Phiên bản 2008 có thêm định dạng 128 bit
IT-FIT 2021 98
Biểu diễn số thực
• Chuẩn IEEE754 (tiếp)
– Định dạng số thực theo IEEE754
S e m
– S : là bit dấu của phần định trị M:
• S = 0 : số dương
• S = 1 : số âm
– e : là mã thừa n (excess-n) của phần mũ E, n là số bit biểu
diễn số của E (do đó không cần lưu bit dấu cho E)
• e = E + (2n-1) → E = e – (2n-1)
– m : là phần lẻ của phần định trị M ở dạng chuẩn:
• M = 1.m (Chú ý: Không sử dụng số bù 2)
– Công thức xác định giá trị của số thực:
• X = (-1)S x 1.m x 2E
IT-FIT 2021 99
Biểu diễn số thực
• Chuẩn IEEE754 (tiếp)
Số bit Số bit Mã Giải biểu Ký số
Lọai
của e của m thừa n diễn chính xác
Chính xác
8 23 127 ±1 E ±38 7
đơn 32 bit
Chính xác
11 52 1023 ±1 E ±308 16
kép 64 bit
Mở rộng
15 64 16383 ±1 E ±4932 19
80 bit
– Cần chú ý khi sử dụng và so sánh số thực vì độ chính xác bị giới hạn.
– Ví dụ lưu số 123,456,789,012 bằng số thực 32 bit chỉ bảo đảm chính
xác 7 ký số có nghĩa đầu tiên, các ký số còn lại không chính xác
Ghi chú:
Bảng trình bày theo
số thập lục phân
C dùng ký tự NUL
Pascal dùng 1
byte chiều dài
Mạch logic số
Nội dung
• Transistor và các cổng logic
• Đại số Boole
• Mạch tổ hợp
• Mạch tính toán
• Mạch tuần tự
• Mạch bộ nhớ
– Các cổng cơ bản này lại được lắp ghép thành các phần tử
chức năng lớn hơn như mạch cộng 1 bit, nhớ 1 bit, v.v… từ
đó tạo
IT-FITthành
2021 1 máy tính hoàn chỉnh 131
Transistor và các cổng logic
• Cấu tạo các cổng cơ bản NOT, NAND và NOR
• Ký hiệu
• Đối với các cổng nhiều ngõ vào, ngõ ra X=1 khi:
• AND : mọi ngõ vào bằng 1
• OR: ít nhất 1 ngõ vào bằng 1
• NAND : ít nhất 1 ngõ vào bằng 0
•IT-FITNOR
2021 : mọi ngõ vào bằng 0 133
Transistor và các cổng logic
• Bảng chân trị các cổng OR và AND 3 ngõ vào
M=ABC+ABC+ABC+ABC
IT-FIT 2021 139
Đại số Boole
• Ví dụ 1 (tiếp)
M=ABC+ABC+ABC+ABC
Chú ý:
• Mạch thiết kế theo cách này
chưa tối ưu.
• Có 3 cách biểu diễn 1 hàm logic
IT-FIT 2021 140
Đại số Boole
• Ví dụ 2: Xác định hàm logic từ mạch cho trước
S2 S1 F
0 0 D0
0 1 D1
1 0 D2
1 1 D3
Ký hiệu
A Sum
HA
B Carry
HA HA Ký hiệu
A Sum
B
Carry
FA Carry
in out
FA FA FA FA
F0F1 Functions
00 A AND B
01 A OR B
10 B
11 A + B
Điều kiện
bình thường
ENA=1
ENB=1
INVA=0
Write:
CS=1, RD=0, OE=0
Read:
CS=1, RD=1, OE=1
Ghi chú:
RAS:Row Address Strobe
CAS:Column Address Strobe
CS:Chip select
WE:Write enable
OE:Output enable
D:Data
A:Address
IT-FIT 2021 169
Mạch bộ nhớ
• Chip bộ nhớ (tiếp)
– Mạch giải mã địa chỉ n bit có thể giải mã cho 2n ô nhớ →
cần n chân tín hiệu địa chỉ
– Có thể giảm kích thước bộ giải mã còn n bằng cách tổ
chức thành ma trận các ô nhớ → sử dụng 2 bộ giải mã cho
hàng và cột riêng
– Ví dụ: bộ nhớ 16 ô cần 4 bit địa chỉ có thể tổ chức thành
ma trận 4*4 → chỉ cần giải mã 2 bit cho hàng và 2 bit cho
cột.
– Có thể ghép địa chỉ hàng và cột chung 1 chân tín hiệu →
giảm số chân kết nối bus địa chỉ
– Nhược điểm: cần gấp đôi thời gian truy cập bộ nhớ
IT-FIT 2021 170
Mạch bộ nhớ Row decoder
2-to-4
4-to-16 Word select Decoder 0
Decoder 0 A3 21
A3 23 1 RAM cell RAM cell RAM cell RAM cell
0 1 2 3
2 RAM cell A2 20
A2 2 3 1
2
4
Row RAM cell RAM cell RAM cell RAM cell
A1 1 5 select 4 5 6 7
2
6 RAM cell 2
A0 20 7
RAM cell RAM cell RAM cell RAM cell
8 8 9 10 11
9
3
10
11 RAM cell RAM cell RAM cell RAM cell
12 13 14 15
12
13 Read/Write Read/Write Read/Write Read/Write
logic logic logic logic
14
15 Data in Data in Data in Data in
Data out Data out Data out Data out
Read/ Bit Read/ Bit Read/ Bit Read/ Bit
RAM cell Write select Write select Write select Write select
Data input
Read/Write
Read/Write
logic
X X X X
Column select Data
Data input Data in output
Data 0 1 2 3
Data out output
Read/ Bit Column 2-to-4 Decoder
decoder with enable
Write select
21 20 Enable
Read/Write
Chip select A1 A0
IT-FIT 2021 Chip select 171
Mạch bộ nhớ
• Chip bộ nhớ (tiếp)
– Ví dụ 2: Chip bộ nhớ 512Mbit = 4 bank 128Mbit
• Ma trận 13 bit hàng * 12 bit cột * ô nhớ 4 bit
• Ma trận 13 bit hàng * 10 bit cột * ô nhớ 16 bit
Addressing modes 4 22 11 3 1
Chu kỳ 1 2 3 4 5 6 7 8 9
• Super- Lệnh 1
Lệnh 2
I
I
D
D
F
F
E
E
W
W
Lệnh 3 I D F E W
scalar Lệnh 4 I D F E W
Lệnh 5 I D F E W
Lệnh 6 I D F E W
Lệnh 7 I D F E W
Lệnh 8 I D F E W
Lệnh 9 I D F E W
IT-FIT 2021 Lệnh 10 I D F E W 279
Cấu trúc bộ xử lý tiên tiến
• VLIW
(a) On-chip parallelism (b) Coprocessor (c) Multiprocessor (d) Multicomputer (e) Grid
IT-FIT 2021 282
Cấu trúc bộ xử lý tiên tiến
• Multi-core
72 CPU Dual-core
UltraSPARC IV+
1.95GHz
32MB Cache L3
1.15 TB RAM
250TB HDD
500 TFLOPS
(teraFLOPS)
2 core
PowerPC 440
700 MHz
4MB L3
IT-FIT 2021 296
Cấu trúc bộ xử lý tiên tiến
• Ví dụ: Siêu máy tính Red Storm của Cray
Hệ điều hành: Điều khiển và điều phối việc sử dụng phần cứng
giữa các ứng dụng và người dùng khác nhau
Chương trình ứng dụng: sử dụng tài nguyên của máy tính để
giải quyết các yêu cầu của người sử dụng
Người dùng: Người sử dụng, máy móc hay máy tính khác
Time
Sharing
Multiprogrammed Systems
Batch Systems
Simple
Batch
Systems
Serial
Processing
code
I/O
IT-FIT 2021 RAM 342
Các trạng thái của Tiến trình
• Tiến trình cha tạo các tiến trình con => tạo các tiến trình cháu
=> hình thành cây tiến trình (Linux)
IT-FIT 2021 349
Các thao tác trên process
Tạo tiến trình
init
pid = 1
emacs tcsch
ps
pid = 9204 pid = 4005
pid = 9298
• Đa chương (multiprogramming)
• Hàng đợi Ready list : bao gồm các proccess ở trạng thái sẵn sàng tiếp nhận CPU
• Hàng đợi Waiting list : bao gồm nhiều hàng đợi - mỗi tài nguyên có một hàng
đợi riêng
IT-FIT 2021 366
Mục tiêu điều phối
• Mục tiêu điều phối:
– Công bằng
• Không có tiến trình nào phải chờ vô hạn
– Tối đa thời gian sử dụng CPU (efficiency)
– Thông lượng tối đa (throughput)
• tối đa số công việc được xử lý trong 1 đơn vị thời gian
– Cực tiểu thời gian hoàn thành (turnaround time)
• Là tổng thời gian chờ trong Ready List + thời gian thực thi CPU +
thời gian thực hiện I/O
– Cực tiểu thời gian chờ (waiting time) trong Ready List
– Cực tiểu thời gian đáp ứng (response time )
– Đảm bảo tính ưu tiên
– …
IT-FIT 2021 367
Nguyên tắc điều phối
• Nguyên tắc điều phối độc quyền và không độc
quyền
– Điều phối độc quyền (non-preemptive)
• Điều phối không can thiệp vào thời gian dùng CPU của
process (*)
• thích hợp với hệ xử lý theo lô
– Điều phối không độc quyền (preemptive)
• Điều phối có can thiệp vào thời gian dùng CPU của
process (*)
• thích hợp với hệ thống tương tác và real-time
P1 P2 P3
0 24 27
30
– Thời gian chờ P1 =0 , P2 = 24-1 , P3 = 27 - 2
– Thời gian chờ trung bình : (0+23+25)/3 = 16 miliseconds
• Nhận xét :
– Là giải thuật điều phối không độc quyền
– Thiết kế phù hợp với time-sharing systems và Interactive
systems
– Độ dài của quantum ntn cho hợp lý ?
• Turnaround time also depends on the size of the time quantum
Bộ nhớ
(Memory)
Nội dung
• Tổng quan về hệ thống nhớ
• Bộ nhớ bán dẫn
• Bộ nhớ chính
• Bộ nhớ cache
• Bộ nhớ ngoài
• Bộ nhớ ảo
– Tổng quát
• Bj chỉ có thể nạp vào L(j mod m)
• m là số Line của cache.
IT-FIT 2021 441
Bộ nhớ cache
• Ánh xạ trực tiếp (tiếp)
462
Các thuật toán thay thế trang
• FIFO : số lỗi trang 11
1 2 3 4 2 1 5 6 2 1 2 3 7 6 3
* * * * * * * * * * *
1 1 1 1 1 5 5 5 5 3 3 3
2 2 2 2 2 6 6 6 6 7 7
3 3 3 3 3 2 2 2 2 6
4 4 4 4 4 1 1 1 1 1
1 2 3 4 2 1 5 6 2 1 2 3 7 6 3
* * * * * * *
1 1 1 1 1 1 1 1 1 1 1 7 7
2 2 2 2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3 3 3
4 4 6 6 6 6 6 6 6
464
Các thuật toán thay thế trang
• LRU : số lỗi trang 9
1 2 3 4 2 1 5 6 2 1 2 3 7 6 3
* * * * * * * * *
1 1 1 1 1 1 1 1 1 1 1 1 6
2 2 2 2 2 2 2 2 2 2 2 2 2
3 3 3 5 5 5 5 3 3 3
4 4 4 6 6 6 6 7 7
465
Các thuật toán thay thế trang
• Đánh giá
– Số lỗi trang : FIFO > LRU > OPT
• Nhận xét :
– FIFO : dễ cài đặt
– OPT : Không khả thi
– LRU : cần hỗ trợ của phần cứng để lưu thông tin
về thời gian page được tham chiếu
• Ghi nhận nhãn thời gian
• Hoặc dùng stack
466
Các thuật toán thay thế trang
• Các thuật toán xấp xỉ LRU
(LRU-Approximation)
– Thuật toán với các bit reference phụ trợ
– Thuật toán “cơ hội thứ hai” (Clock or second-
chance)
– Thuật toán “cơ hội thứ hai” nâng cao (Not Recently
Used - NRU)
– Các thuật toán thống kê
Tham khảo :
http://blog.vnamct.com/2014/04/he-dieu-hanh-chuong-7-bo-nho-ao.html
467
Các thuật toán thay thế trang
468
Các thuật toán thay thế trang
• Bài tập 5
Xem xét chuỗi tham chiếu trang sau:
1,2,3,4,2,1,5,6,2,1,4,5,7,6,3,1
Bao nhiêu page_fault xuất hiện đối với giải thuật
thay page FIFO, OPT, LRU
(giả thuyết là được cấp 4 frame).
469
Tóm tắt
• Các mô hình tổ chức bộ nhớ
– Ưu/ nhược điểm
– Cách chuyển đổi địa chỉ logic sang địa chỉ vật lý
• Bộ nhớ ảo
– Khái niệm / ưu điểm
– Các thuật toán thay thế trang
470
Bộ nhớ cache
• Đặc điểm ghi dữ liệu ra cache
– Chỉ ghi vào 1 block trong cache khi nội dung trong
bộ nhớ chính thay đổi
– Nếu CPU ghi ra cache, ô nhớ tương ứng bị lạc hậu
(invalid) → cần update ra BN chính. Ngược lại,
nếu ghi vào BN chính, nội dung trong cache sẽ bị
invalid → cần update lại cache
– Trong hệ đa xử lý có nhiều CPU với cache riêng,
khi ghi vào 1 cache, các cache khác sẽ bị invalid
• Khái niệm:
− Tập tin là một đơn vị lưu trữ thông tin của bộ
nhớ ngoài với một tên xác định.
− Tập tin có thể lưu trữ chương trình hoặc dữ
liệu.
− Một tập tin là một chuỗi các bits, bytes, dòng
hay mẫu tin,..được định nghĩa bởi người tạo
ra nó.
− Cấu trúc của tập tin do chương trình hoặc hệ
điều hành quy định.
23/4/2021 506
Thuộc tính của tập tin
23/4/2021 507
Thuộc tính của tập tin
23/4/2021 509
Thao tác với tập tin
− Ghi file: Tìm tên file trong cấu trúc thư mục,
lấy được số hiệu khối nhớ đầu tiên cấp cho
file, ghi dữ liệu của file vào vị trí này. Dùng
write pointer để ghi nhận vi trí cho lần ghi sau.
23/4/2021 512
Kiểu tập tin (File type)
23/4/2021 515
Các phương pháp truy xuất
23/4/2021 516
Các phương pháp truy xuất
23/4/2021 517
Các phương pháp truy xuất
23/4/2021 519
Các phương pháp truy xuất
23/4/2021 520
Các phương pháp truy xuất
23/4/2021 521
Cấu trúc thư mục
23/4/2021 522
Cấu trúc thư mục
23/4/2021 523
Cấu trúc thư mục
• Thư mục:
− Được xem như một bảng các biểu tượng mà
trên đó tên file được chuyển thành các mục
thư mục của chính nó. Mỗi mục lưu thông tin
một file.
23/4/2021 524
Cấu trúc thư mục
• Thư mục:
− Hệ điều hành cung cấp các hàm gọi hệ thống
để thao tác trên thư mục tương tự như đối với
file
• Tìm kiếm 1 file
• Tạo 1 file
• Xóa 1 file
• Liệt kê danh sách file trong thư mục
• Đổi tên 1 file
• Truy xuất toàn bộ hệ thống file
23/4/2021 525
Cấu trúc thư mục
− Ưu:
• Dễ hiểu, dễ quản lý
• Kích thước nhỏ
− Nhược:
• Mỗi tập tin phải có tên duy nhất
• Không thể gom nhóm
23/4/2021 526
Cấu trúc thư mục
23/4/2021 527
Cấu trúc thư mục
23/4/2021 528
Cấu trúc thư mục
23/4/2021 529
Cấu trúc thư mục
23/4/2021 531
Cấu trúc thư mục
23/4/2021 532
Cấu trúc thư mục
23/4/2021 534
Cấu trúc thư mục
23/4/2021 535
Cấu trúc thư mục
23/4/2021 536
Bản thư mục
• Khái niệm:
− Bảng thư mục có nhiều mục (directory entry),
mỗi mục chứa thông tin của file/thư mục
• Thông tin file: địa chỉ, thuộc tính, số I-node của
file.
− Mỗi đĩa có một bảng thư mục gốc cài đặt ở
phần đầu của đĩa và có thể có nhiều bảng thư
mục con.
23/4/2021 537
Chia sẻ tập tin - File Sharing
23/4/2021 538
Chia sẻ tập tin - File Sharing
23/4/2021 540
Bảo vệ - Protection
23/4/2021 541
Bảo vệ - Protection
23/4/2021 542
Cài đặt hệ thống quản lý file
• Nội dung:
− Lưu trữ và truy xuất tập tin trên các thiết bị lưu
trữ phụ.
− Cấu trúc tập tin, cấp phát không gian đĩa và
phục hồi không gian trống để ghi lại vị trí dữ
liệu và để giao tiếp với các phần khác của hệ
điều hành tới thiết bị lưu trữ phụ.
23/4/2021 543
Cấu trúc hệ thống tập tin
23/4/2021 545
Cấu trúc hệ thống file
23/4/2021 546
Cấu trúc hệ thống file
23/4/2021 548
Cài đặt hệ thống tập tin
23/4/2021 549
Cài đặt hệ thống tập tin
23/4/2021 550
Cài đặt hệ thống tập tin
23/4/2021 551
Cài đặt hệ thống tập tin
23/4/2021 553
Hệ thống tập tin ảo
Virtual File Systems - VFS
23/4/2021 555
Hệ thống tập tin ảo
Virtual File Systems
23/4/2021 556
Hệ thống tập tin ảo
Virtual File Systems
23/4/2021 557
Cài đặt thư mục
23/4/2021 558
Cài đặt thư mục
23/4/2021 559
Các phương pháp cấp phát
23/4/2021 561
Các phương pháp cấp phát
23/4/2021 562
Các phương pháp cấp phát
23/4/2021 563
Các phương pháp cấp phát
• Nhận xét:
− Giảm lảng phí bộ
nhớ do phân
mãnh.
− Nhược điểm:
• Truy xuất ngẫu
nhiên chậm.
• Yêu cầu không
gian cho con trỏ
23/4/2021 564
Các phương pháp cấp phát
23/4/2021 565
Các phương pháp cấp phát
• FAT:
− FAT có một mục từ cho mỗi khối đĩa và được lập
chỉ mục bởi khối đĩa.
− Mục từ thư mục chứa số khối của khối đầu tiên
trong tập tin.
− Mục từ bảng được lập chỉ mục bởi số khối đó,
sau đó chứa số khối của khối tiếp theo trong tập
tin. Chuỗi này tiếp tục cho đến khối cuối cùng.
− Các khối không được dùng được hiển thị bởi giá
trị bảng 0
23/4/2021 566
Các phương pháp cấp phát
Bảng FAT
23/4/2021 567
Các phương pháp cấp phát
23/4/2021 568
Các phương pháp cấp phát
23/4/2021 569
Các phương pháp cấp phát
23/4/2021 570
Các phương pháp cấp phát
23/4/2021 571
Các phương pháp cấp phát
23/4/2021 572
Các phương pháp cấp phát
23/4/2021 573
Các phương pháp cấp phát
23/4/2021 574
Quản lý không gian trống
23/4/2021 575
Quản lý không gian trống
23/4/2021 576
Quản lý không gian trống
Hệ thống IO
(Input Output System)
Nội dung
• Tổng quan về hệ thống IO
• Điều khiển IO
• Nối ghép thiết bị ngoại vi
• Các thiết bị ngoại vi thông dụng