You are on page 1of 32

12/03/2022

Chương 4:
BỘ XỬ LÝ

ThS. GVC Tô Oai Hùng 1

4.1 TỔ CHỨC BỘ XỬ LÝ

ThS. GVC Tô Oai Hùng 2

1
12/03/2022

4.1.1 Tổ Chức Bộ Xử Lý
 Để hiểu tổ chức của bộ xử lý, hãy xét các
công việc mà bộ xử lý thực hiện:
 Lấy lệnh (fetch instruction): Đọc một lệnh
từ bộ nhớ (thanh ghi, cache, bộ nhớ
chính).
 Thông dịch lệnh (interpret instruction):
Lệnh đã lấy được giải mã để xác định
hành động của nó.
 Lấy dữ liệu (fetch data): Sự thực thi của
một lệnh có thể cần phải đọc dữ liệu từ bộ
nhớ hay thiết bị nhập/xuất.
 Xử lý dữ liệu (process data): Sự thực thi
của một lệnh có thể cần phải thực hiện
ThS. GVC Tô Oai Hùng 3

4.1.1 Tổ Chức Bộ Xử Lý
phép toán số học hay luận lý trên dữ liệu.
 Ghi dữ liệu (write data): Kết quả của sự
thực thi cần ghi đến bộ nhớ hay thiết bị
nhập/xuất.
 Bộ xử lý cần phải có bộ nhớ để lưu trữ dữ
liệu tạm thời bên trong nó, được gọi là các
thanh ghi (register).
 Hình 4.1 cho thấy chi tiết bên trong của bộ
xử lý.

ThS. GVC Tô Oai Hùng 4

2
12/03/2022

4.1.1 Tổ Chức Bộ Xử Lý

Hình 4.1: Cấu trúc bên trong CPU.


ThS. GVC Tô Oai Hùng 5

4.1.1 Tổ Chức Bộ Xử Lý
 Các đường truyền dữ liệu (internal
processor bus) và các đường điều khiển
luận lý (logic control path) được chỉ ra.
 Đường truyền dữ liệu dùng để truyền dữ
liệu giữa các thanh ghi với đơn vị ALU.
 Bởi vì ALU thực sự chỉ thao tác với dữ
liệu trong các thanh ghi.
 Hình trên cũng cho thấy các thành phần
cơ bản của ALU.
 Sự kết nối giữa các thành phần trong bộ
xử lý cũng tương tự với sự kết nối giữa
các thành phần trong máy tính.

ThS. GVC Tô Oai Hùng 6

3
12/03/2022

4.1.2 Đơn Vị ALU


 Đơn vị số học và luận lý (Arithmetic and
logic unit - ALU) là một phần của bộ xử lý.
 Thực hiện các phép toán số học và luận lý.
 Các thành phần khác của máy tính là những
thành phần mang dữ liệu đến ALU để đơn vị
này xử lý và lấy kết quả trở lại (Hình 4.2).

Hình 4.2:
Nhập và
xuất của
ALU.

ThS. GVC Tô Oai Hùng 7

4.1.2 Đơn Vị ALU


 Các toán hạng của phép toán số học và luận
lý được đưa đến ALU bằng các thanh ghi và
kết quả của phép toán cũng được chứa
trong các thanh ghi.
 Các thanh ghi này là nơi lưu trữ tạm thời
bên trong bộ xử lý mà chúng được kết nối
bởi các đường truyền tín hiệu đến ALU.
 ALU cũng thiết lập các cờ dựa trên kết quả
của phép toán.
 Các giá trị cờ cũng được chứa trong thanh
ghi bên trong bộ xử lý.
 Bộ xử lý cung cấp các tín hiệu để điều khiển
hoạt động của ALU và điều khiển sự di
chuyển dữ liệu vào và ra khỏi đơn vị này.
ThS. GVC Tô Oai Hùng 8

4
12/03/2022

4.1.3 Đơn Vị CU
 Đơn vị điều khiển (Control unit - CU) cũng là
một phần của bộ xử lý.
 Thực hiện lấy lệnh, giải mã lệnh, tạo các tín
hiệu điều khiển bus và điều khiển ALU.
 Để CU thực hiện các chức năng của nó, phải
có tín hiệu nhập để cho phép nó xác định
trạng thái của hệ thống và tín hiệu xuất để
cho phép nó điều khiển hành vi của hệ
thống (Hình 4.3).
 Các tính hiệu nhập:
 Clock: Trong mỗi xung nhịp, CU làm cho
một vi thao tác được thực thi.

ThS. GVC Tô Oai Hùng 9

4.1.3 Đơn Vị CU

Hình 4.4: Sơ đồ khối của đơn vị CU.

ThS. GVC Tô Oai Hùng 10

5
12/03/2022

4.1.3 Đơn Vị CU
 Thanh ghi lệnh (instruction register):
Chứa mã thao tác và kiểu định địa chỉ của
lệnh hiện tại để xác định vi thao tác nào
được thực thi.
 Các cờ (flag): Các bit cờ được CU cần đến
để xác định trạng thái của bộ xử lý và kết
quả của việc thực hiện phép toán trước
đây ở ALU.
 Các tín hiệu điều khiển từ bus điều khiển:
Bus điều khiển là một phần của bus hệ
thống, nó cung cấp các tín hiệu điều khiển
đến CU.

ThS. GVC Tô Oai Hùng 11

4.1.3 Đơn Vị CU
 Các tính hiệu xuất:
 Các tín hiệu điều khiển bên trong bộ xử lý:
Các tín hiệu này có hai loại: Điều khiển dữ
liệu di chuyển từ thanh ghi này đến thanh
ghi khác và điều khiển chức năng cụ thể
của ALU.
 Các tín hiệu điều khiển đến bus điều
khiển: Các tín hiệu này cũng có hai loại:
Các tín hiệu điều khiển bộ nhớ và các tín
hiệu điều khiển đơn vị nhập/xuất.

ThS. GVC Tô Oai Hùng 12

6
12/03/2022

4.1.4 Tổ Chức Thanh Ghi


 Trong bộ xử lý, có một tập các thanh ghi
(register) ở mức phân cấp cao hơn bộ nhớ
chính và bộ nhớ đệm (cache).
 Các thanh ghi dùng để lưu trữ dữ liệu tạm
thời phát sinh trong chu kỳ lệnh của bộ xử
lý. Chúng có hai vai trò:
 Các thanh ghi lập trình được (user-visible
register): Được sử dụng bởi người lập
trình nhằm giảm thiểu các truy xuất đến
bộ nhớ chính.
 Các thanh ghi điều khiển và trạng thái
(control and status register): Được sử
dụng bởi đơn vị điều khiển để điều khiển
ThS. GVC Tô Oai Hùng 13

4.1.4 Tổ Chức Thanh Ghi


hoạt động của bộ xử lý và được sử dụng
bởi hệ điều hành để kiểm soát sự thực thi
của các chương trình.
 Không có sự phân biệt rõ ràng giữa các
thanh ghi trong hai loại này trong tất cả các
loại máy tính.

ThS. GVC Tô Oai Hùng 14

7
12/03/2022

Các Thanh Ghi Lập Trình Được


 Bao gồm:
 Thanh ghi đa dụng (general purpose
register): AX, BX, CX, DX dùng để chứa dữ
liệu hoặc định địa chỉ.
 Thanh ghi dữ liệu (data register): Chứa dữ
liệu mà không được sử dụng để tính địa
chỉ của toán hạng (trong bộ xử lý của Intel
là các thanh ghi đa dụng).
 Thanh ghi địa chỉ (address register): SP,
BP, SI, DI, CS, DS, ES, SS có thể dùng như
các thanh ghi đa dụng, cũng dùng để định
địa chỉ.

ThS. GVC Tô Oai Hùng 15

Các Thanh Ghi Điều Khiển và


Trạng Thái
 Bao gồm:
 Bộ đếm chương trình (program counter -
PC): Chứa địa chỉ của lệnh được lấy.
 Thanh ghi lệnh (instruction register – IR):
Chứa lệnh vừa được lấy.
 Thanh ghi địa chỉ bộ nhớ (memory
address register - MAR): Chứa địa chỉ của
một vị trí trong bộ nhớ.
 Thanh ghi đệm bộ nhớ (memory buffer
register - MBR): Chứa dữ liệu để ghi đến
hoặc được đọc từ bộ nhớ.
 Thanh ghi mã điều kiện (condition code
register): Chứa các bit là mã điều kiện
(hay các cờ) được thiết lập bởi bộ xử lý: 16
ThS. GVC Tô Oai Hùng

8
12/03/2022

Các Thanh Ghi Điều Khiển và


Trạng Thái
• Cờ dấu (SF - sign flag).
• Cờ zero (ZF - zero flag).
• Cờ nhớ (CF - carry flag).
• Cờ nhớ phụ/nhớ nửa (AF – auxiliary flag /
half-carry).
• Cờ chẵn lẻ (PF - parity flag).
• Cờ tràn (OF - overflow flag).
• Cờ ngắt (IF - interrupt flag).

ThS. GVC Tô Oai Hùng 17

Tổ Chức Thanh Ghi của CPU


 Xét hai bộ vi xử lý 16 bit được thiết kế trong
cùng thời gian là Motorola MC68000 và Intel
8086.
 Hình 4.5 (a) và (b) mô tả tổ chức thanh ghi
của mỗi bộ xử lý tương ứng.

ThS. GVC Tô Oai Hùng 18

9
12/03/2022

Tổ Chức Thanh Ghi của CPU

Hình 4.5: Tổ
chức thanh
ghi của bộ xử
lý MC68000 và
8086.
ThS. GVC Tô Oai Hùng 19

Tổ Chức Thanh Ghi của CPU


 Hình 4.6 cho thấy tổ chức thanh ghi lập trình
được của bộ xử lý Intel 80386.
 Đây là bộ vi xử lý 32 bit, sử dụng các thanh
ghi 32 bit.
 Bộ xử lý Intel 80386 tương thích với các
chương trình được viết trên các máy tính
trước đây, nó giữ lại tổ chức thanh ghi ban
đầu và nhúng thêm tổ chức mới.

ThS. GVC Tô Oai Hùng 20

10
12/03/2022

Tổ Chức Thanh Ghi Của Một Số CPU

Hình 4.6: Tổ chức thanh ghi của Intel 80386.


ThS. GVC Tô Oai Hùng 21

4.2 CÁC PHƯƠNG PHÁP NÂNG CAO


KHẢ NĂNG HOẠT ĐỘNG BỘ XỬ LÝ

ThS. GVC Tô Oai Hùng 22

11
12/03/2022

4.2.1 Giới Thiệu


 Khi hệ thống máy tính phát triển, để đạt
được hiệu suất cao hơn, người ta tận dụng
các cải tiến trong công nghệ.
 Các cải tiến tổ chức bộ xử lý có thể cải thiện
hiệu suất của máy tính.
 Nhìn chung, có 4 cách sau:
1. Tác động clock:
 Tăng tần số clock trong CPU (internal
clock) sẽ làm tăng tốc độ thực hiện
lệnh.
 Tần số internal clock là bội số của tần
số clock ngoài.
2. Thực thi lệnh song song: Máy tính có
nhiều bộ xử lý.
ThS. GVC Tô Oai Hùng 23

4.2.1 Giới Thiệu


3. Sử dụng bộ nhớ cache: Xem chương 5.
4. Cơ chế đường ống.
 Trong phần này chúng ta sẽ mô tả chi tiết về
cơ chế đường ống.

ThS. GVC Tô Oai Hùng 24

12
12/03/2022

4.2.2 Cơ Chế Đường Ống


 Một cách tiếp cận tổ chức khác để cải thiện
hiệu suất của máy tính là sử dụng đường
ống lệnh (instruction pipelining).
 Cơ chế đường ống (pipelining strategy) là
kỹ thuật thực hiện các lệnh theo kiểu gối
đầu, nhằm tận dụng những khoảng thời gian
rỗi giữa các công đoạn.
 Việc thực hiện lệnh được chia thành một số
công đoạn, mỗi công đoạn được thực thi
bởi một đơn vị chức năng của bộ xử lý.
 Nhờ vậy, bộ xử lý có thể tận dụng tối đa khả
năng xử lý của các đơn vị của mình, giảm
thời gian chờ đợi giữa các công đoạn.
ThS. GVC Tô Oai Hùng 25

4.2.2 Cơ Chế Đường Ống


 Để tiếp cận được đơn giản, giả sử chu kỳ
lệnh chỉ gồm 2 công đoạn: Lấy lệnh và thực
thi lệnh (Hình 4.7).

Hình 4.7: Chu kỳ lệnh đơn giản.


 Trong hình trên, công đoạn đầu tiên lấy lệnh
và truyền nó cho công đoạn thứ hai.
 Khi công đoạn thứ hai thực thi lệnh, bộ nhớ
không được truy cập, nên công đoạn đầu
được sử dụng để lấy lệnh tiếp theo song
song với việc thực thi lệnh.
 Điều này được gọi là lấy trước hoặc lấy gối
đầu
ThS. GVC Tô Oai(fetch
Hùng overlap). 26

13
12/03/2022

4.2.2 Cơ Chế Đường Ống


 Nếu công đoạn lấy và thực thi lệnh có thời
lượng bằng nhau, thời gian của chu kỳ lệnh
sẽ giảm một nửa.
 Tuy nhiên, hãy xét kỹ hơn đường ống này
như Hình 4.8.

Hình 4.8: Chu kỳ lệnh chi tiết.


ThS. GVC Tô Oai Hùng 27

4.2.2 Cơ Chế Đường Ống


 Ta sẽ thấy rằng việc giảm thời gian chu kỳ
lệnh theo tỷ lệ này là không thể, vì hai lý do:
 Thời gian thực thi lệnh thường sẽ dài hơn
lấy lệnh. Vì sự thực thi có liên quan đến
việc đọc và lưu các toán hạng.
 Lệnh rẽ nhánh có điều kiện làm cho CPU
không biết địa chỉ của lệnh kế tiếp sẽ lấy.
Vì vậy, công đoạn lấy lệnh phải chờ cho
đến khi nhận được địa chỉ lệnh kế tiếp
(new address). Lúc này, công đoạn thực
thi có thể phải chờ trong khi đang lấy lệnh
kế tiếp.

ThS. GVC Tô Oai Hùng 28

14
12/03/2022

4.2.2 Cơ Chế Đường Ống


 Câu hỏi đặt ra là làm thế nào để giảm thời
gian chờ trong lý do thứ hai?
 Sử dụng một quy tắc đơn giản sau:
"Khi lệnh rẽ nhánh có điều kiện được
truyền từ công đoạn lấy lệnh đến thực thi
lệnh, công đoạn lấy lệnh sẽ lấy lệnh kế
tiếp trong bộ nhớ nằm sau lệnh rẽ nhánh
đó. Sau đó, nếu lệnh rẽ nhánh không
được thực hiện thì sẽ không có thời gian
chờ. Nếu lệnh rẽ nhánh được thực thì bỏ
lệnh đã lấy và lấy lệnh mới từ kết quả của
lệnh rẽ nhánh".

ThS. GVC Tô Oai Hùng 29

4.2.2 Cơ Chế Đường Ống


 Để tăng hiệu suất của CPU hơn nữa, đường
ống phải có nhiều công đoạn hơn.
 Giả sử các công đoạn của chu kỳ lệnh như
sau:
 Fetch instruction (FI).
 Decode instruction (DI).
 Calculate operands (CO).
 Fetch operands (FO).
 Execute instruction (EI).
 Write operand (WO).
 Giả sử thời lượng của các công đoạn bằng
nhau.
ThS. GVC Tô Oai Hùng 30

15
12/03/2022

4.2.2 Cơ Chế Đường Ống


 Đường ống gồm 6 công đoạn sẽ làm giảm
thời gian thực thi của 9 lệnh từ 54 chỉ còn
14 đơn vị thời gian (Hình 4.9).

Hình 4.9:
Biểu đồ
thời gian
của đường
ống lệnh.

ThS. GVC Tô Oai Hùng 31

4.2.2 Cơ Chế Đường Ống


 Hình 4.10 minh họa tác động của lệnh rẽ
nhánh có điều kiện, sử dụng các công đoạn
như Hình 4.9.
 Giả sử lệnh 3 là lệnh rẽ nhánh đến lệnh 15.
 Cho đến khi lệnh 3 được thực thi (EI), không
có cách nào khác để biết lệnh nào sẽ là lệnh
kế tiếp.
 Trong ví dụ này, chỉ cần nạp lệnh kế tiếp
theo thứ tự (lệnh 4) và tiếp tục.
 Không có lệnh nào hoàn thành trong các
đơn vị thời gian từ 9 đến 12. Đây chính là
khoảng thời gian làm giảm hiệu suất của
CPU, bởi vì chúng ta không thể biết trước
được có sự rẽ nhánh hay không.
ThS. GVC Tô Oai Hùng 32

16
12/03/2022

4.2.2 Cơ Chế Đường Ống

Hình 4.10: Tác động của lệnh rẽ nhánh


ThS. GVC Tô Oai Hùng
có điều kiện trong đường ống lệnh. 33

4.2.2 Cơ Chế Đường Ống


 Cơ chế đường ống giúp giảm thời gian
trung bình thực hiện từng lệnh và tăng đáng
kể hiệu suất xử lý lệnh của CPU.
 Tuy nhiên, cơ chế đường ống cũng gặp phải
một số vấn đề làm giảm hiệu suất thực hiện
lệnh.
 Nói chung, có ba vấn đề thường gặp với cơ
chế đường ống:
 Vấn đề xung đột tài nguyên (resource
conflict).
 Vấn đề tranh chấp dữ liệu (data hazard).
 Vấn đề phát sinh do các lệnh rẽ nhánh
(branch instruction).
ThS. GVC Tô Oai Hùng 34

17
12/03/2022

4.2.2 Cơ Chế Đường Ống


 Ứng với mỗi nhược điểm đều có cách khắc
phục riêng.
 Ví dụ trường hợp xung đột tài nguyên:
 Giả sử đường ống có năm công đoạn.
 Mỗi công đoạn cần một chu kỳ đồng hồ.
 Hình 4.11 cho thấy trường hợp lý tưởng.

Hình 4.11:
Trường hợp
lý tưởng của
đường ống.

ThS. GVC Tô Oai Hùng 35

4.2.2 Cơ Chế Đường Ống


 Giả sử việc đọc/ghi bộ nhớ được thực
hiện tuần tự.
 Giả sử toán hạng nguồn (ở công đoạn FO)
của lệnh I1 nằm trong bộ nhớ, không phải
trong thành ghi.
 Vì vậy, công đoạn lấy lệnh (FI) của đường
ống phải tạm dừng (idle) một chu kỳ trước
khi thực hiện lấy lệnh cho lệnh I3 (Hình
4.12).

ThS. GVC Tô Oai Hùng 36

18
12/03/2022

4.2.2 Cơ Chế Đường Ống

Hình 4.12:
Toán hạng
nguồn của I1
trong bộ nhớ.

 Một ví dụ khác về xung đột tài nguyên là có


nhiều lệnh có thể thực thi đồng thời nhưng chỉ
có một ALU.
 Một giải pháp cho trường hợp xung đột tài
nguyên là tăng thêm tài nguyên có sẵn, trong
ví dụ là cho phép đọc/ghi đồng thời bộ nhớ và
ThS. GVC Tô Oai Hùng 37
thêm đơn vị ALU.

4.3 CHU KỲ LỆNH

ThS. GVC Tô Oai Hùng 38

19
12/03/2022

Chu Kỳ Lệnh
 Các công đoạn cần thiết để thực thi một
lệnh được gọi là chu kỳ lệnh (instruction
cycle).
 Chu kỳ lệnh của bộ xử lý gồm :
 Tính địa chỉ lệnh (instruction address
calculation – IAC): Xác định địa chỉ của
lệnh kế tiếp được thực thi.
 Lấy lệnh (instruction fetch – IF): Đọc lệnh
từ bộ nhớ vào bộ xử lý.
 Giải mã thao tác lệnh (instruction
operation decoding - IOD): Phân tích lệnh
để xác định thao tác được thực thi và các
toán hạng được sử dụng.
ThS. GVC Tô Oai Hùng 39

Chu Kỳ Lệnh
 Tính địa chỉ toán hạng (operand address
calculation - OAC): Nếu thao tác có tham
chiếu đến toán hạng trong bộ nhớ hoặc
nhập/xuất.
 Lấy toán hạng (operand fetch - OF): Lấy
toán hạng từ bộ nhớ hoặc đọc từ thiết bị.
 Thao tác dữ liệu (data operation - DO):
Thực hiện thao tác được chỉ ra trong lệnh.
 Lưu toán hạng (operand store - OS): Ghi
kết quả vào bộ nhớ hoặc xuất đến thiết bị.

ThS. GVC Tô Oai Hùng 40

20
12/03/2022

Chu Kỳ Lệnh
 Hình 4.13 cho thấy đầy đủ về chu kỳ lệnh.

Hình 4.13: Biểu đồ trạng thái của chu kỳ lệnh.


ThS. GVC Tô Oai Hùng 41

Ví Dụ Thực Thi Chu Kỳ Lệnh


 Giả sử một máy tính được tổ chức như sau:
 Thanh ghi AC dùng để lưu trữ dữ liệu tạm.
 Lệnh và dữ liệu dài 16 bit, trong đó mã
thao tác dài 4 bit và toán hạng (địa chỉ của
ô nhớ) dài 12 bit.
 Bộ nhớ được tổ chức thành các ô nhớ dài
16 bit.
 Mã thao tác 1: Nạp nội dung ô nhớ (có địa
chỉ là giá trị của toán hạng) vào AC.
 Mã thao tác 5: Cộng giá trị trong AC với
nội dung ô nhớ.
 Mã thao tác 2: Lưu giá trị của AC vào ô
nhớ.
 Hình 4.14 minh họa thực thi 3 chu kỳ lệnh. 42
ThS. GVC Tô Oai Hùng

21
12/03/2022

Ví Dụ Thực Thi Chu Kỳ Lệnh


Lưu ý: Hình 4.14
có liên quan đến
thanh ghi MAR và
MBR (xem phần
bài tập). Để đơn
giản, các thanh ghi
này được bỏ qua.

Hình 4.14: Ví dụ về
sự thực thi chương
trình (giá trị dạng
hexa).

ThS. GVC Tô Oai Hùng 43

4.4 TỔ CHỨC CỦA MỘT SỐ


BỘ XỬ LÝ ĐA NHÂN

ThS. GVC Tô Oai Hùng 44

22
12/03/2022

Phân Loại Hệ Thống Máy Tính


 Sự phân loại đầu tiên được giới thiệu bởi
Michael Flynn vẫn còn là cách phổ biến để
phân loại khả năng xử lý song song của các
hệ thống máy tính:
 SISD (single instruction, single data
stream - một dòng lệnh, một dòng dữ
liệu):
 SIMD (single instruction, multiple data
stream - một dòng lệnh, nhiều dòng dữ
liệu).
 MISD (multiple instruction, single data
stream - nhiều dòng lệnh, một dòng dữ
liệu).
ThS. GVC Tô Oai Hùng 45

Phân Loại Hệ Thống Máy Tính



MIMD (multiple instruction, multiple data
stream - nhiều dòng lệnh, nhiều dòng dữ
liệu).
 Hình 4.15 cho thấy sơ đồ phân loại.

ThS. GVC Tô Oai Hùng 46

23
12/03/2022

Phân Loại Hệ Thống Máy Tính

Hình 4.15: Sự
phân loại các kiến
trúc máy tính.
ThS. GVC Tô Oai Hùng 47

Phân Loại Hệ Thống Máy Tính


 Hình 4.16 cho thấy tổ chức các phân loại
của Flynn.

ThS. GVC Tô Oai Hùng


Hình 4.16: Các tổ chức máy tính. 48

24
12/03/2022

Bộ Đa Xử Lý Đối Xứng
 Bộ đa xử lý đối xứng (symmetric multi-
processor - SMP): SMP được định nghĩa là
một hệ thống máy tính độc lập cùng với các
nét đặc trưng sau:
 Có hai hay nhiều hơn bộ xử lý cùng loại.
 Các bộ xử lý này chia sẻ cùng bộ nhớ
chính và được kết nối với nhau. Thời gian
truy xuất bộ nhớ của mỗi bộ xử lý xấp xỉ
nhau.
 Tất cả bộ xử lý chia sẻ truy xuất các thiết
bị nhập/xuất.
 Tất cả bộ xử lý có thể thực hiện cùng các
chức năng (đối xứng – symmetric).
ThS. GVC Tô Oai Hùng 49

Bộ Đa Xử Lý Đối Xứng

Hệ thống được điều khiển bởi một hệ điều
hành phân tán.
 Ưu điểm của SMP:
 Hiệu năng: Nếu công việc có thể tổ chức
thành nhiều phần để thực hiện song song,
thì một hệ thống với nhiều bộ xử lý sẽ
mang lại hiệu năng lớn hơn hệ thống có
một bộ xử lý cùng loại (Hình 4.17).
 Tính sẵn dùng: Các bộ xử lý có thể thực
hiện các chức năng giống nhau, vì vậy lỗi
của một bộ xử lý sẽ không làm dừng hệ
thống.

ThS. GVC Tô Oai Hùng 50

25
12/03/2022

Bộ Đa Xử Lý Đối Xứng

Hình 4.17: Đa chương và đa xử lý.


ThS. GVC Tô Oai Hùng 51

Bộ Đa Xử Lý Đối Xứng
 Khả năng mở rộng: Người sử dụng có thể
tăng hiệu năng của hệ thống bằng cách
thêm bộ xử lý.
 Khả năng lựa chọn: Nhà cung cấp cho thể
đưa ra nhiều loại hệ thống với giá cả và
hiệu năng khác nhau dựa vào số bộ xử lý
được tích hợp trong hệ thống.

ThS. GVC Tô Oai Hùng 52

26
12/03/2022

Tổ Chức của SMP


 Hình 4.18 mô tả sự tổ chức của hệ thống đa
xử lý đối xứng.

Hình 4.18: Tổ chức của SMP.


ThS. GVC Tô Oai Hùng 53

Bộ Xử Lý Đa Nhân
 Bộ xử lý đa nhân/đa lõi (multicore process-
sor), còn được gọi là chip multiprocessor.
 Kết hợp hai hay nhiều bộ xử lý (gọi là
lõi/nhân - core) trên một chip đơn.
 Mỗi nhân gồm tất cả thành phần của bộ xử
lý độc lập, như các thanh ghi, ALU, CU,
cùng với cache L1-I và L1-D.
 Các bộ xử lý đa nhân hiện tại cũng bao gồm
cache L2 và L3.
 Một tổ chức đa nhân bao gồm các yếu tố
sau:
 Số nhân trên một chip.
ThS. GVC Tô Oai Hùng 54

27
12/03/2022

Bộ Xử Lý Đa Nhân

Số mức của bộ nhớ cache.

Số lượng bộ nhớ cache dùng chung.

Kiểu của các nhân.
 Hình 4.19 cho thấy bốn tổ chức phổ biến
của các hệ thống đa nhân.
 Bộ nhớ cache dùng chung trên chip có một
số ưu điểm hơn so với cache dùng riêng:
 Không cần sao chép dữ liệu được chia sẻ.
 Giao tiếp giữa các nhân dễ thực hiện.

ThS. GVC Tô Oai Hùng 55

Bộ Xử Lý Đa Nhân

Hình 4.19:
Các tổ chức
đa nhân.

ThS. GVC Tô Oai Hùng 56

28
12/03/2022

Intel Core i7-5960X


 Intel Core i7-5960X được giới thiệu ngày
29/8/2014, nó có tám lõi, mỗi lõi có cache L2
riêng và cache L3 20-MB dùng chung (Hình
4.20).

Hình 4.20: Sơ
đồ khối của
Intel Core i7-
5960X.

ThS. GVC Tô Oai Hùng 57

Câu Hỏi và Bài Tập Chương 4


1. Các tác vụ cơ bản mà ALU thực hiện là gì?
2. Các tác vụ cơ bản mà CU thực hiện là gì?
3. Liệt kê các tín hiệu vào và ra của CU.
4. Các vai trò chung được thực hiện bởi các
thanh ghi là gì?
5. Liệt kê các thanh ghi lập trình được.
6. Chức năng của mã điều kiện là gì?
7. Từ trạng thái chương trình (PSW) là gì?
8. Bộ vi xử lý cung cấp một lệnh có khả năng
di chuyển một chuỗi byte từ vùng nhớ này
đến vùng nhớ khác. Việc lấy lệnh và giải mã
lệnh mất 10 chu kỳ xung nhịp. Sau đó, phải
mất thêm 15 chu kỳ xung nhịp để chuyển
ThS. GVC Tô Oai Hùng

29
12/03/2022

Câu Hỏi và Bài Tập Chương 4


mỗi byte. Bộ vi xử lý hoạt động ở tần số
xung nhịp là 10 GHz.
a) Xác định số chu kỳ xung nhịp được sử
dụng trong một chu kỳ lệnh khi thực hiện
chuyển một chuỗi có 64 byte.
b) Thời gian chờ ít nhất để chấp nhận ngắt
là bao nhiêu giây nếu lệnh đó không cho
phép ngắt?
c) Tương tự câu b) giả sử lệnh đó có thể bị
ngắt tại thời điểm bắt đầu của mỗi lần
chuyển một byte dữ liệu.
9. a) Nếu phép toán cộng được thực hiện trên
máy tính có từ nhớ là 8 bit với hai toán hạng
là 00000010 và 00000011, giá trị gì được
ThS. GVC Tô Oai Hùng

Câu Hỏi và Bài Tập Chương 4


gán cho các cờ sau: Carry, Zero, Over-
flow, Sign, Parity, Half-carry.
b) Thực hiện lại cho hai toán hạng -1 và 1.
10. Giống như câu 9) nhưng thực hiện phép
toán A – B, trong đó A = 11110000 và B =
00010100.
11. Thực hiện 6 bước như trong Hình 4.8 để mô
tả (dùng ký hiệu gán () và tên thanh ghi)
sự thực thi của đoạn chương trình sau
(gồm 4 bit mã lệnh và 12 bit địa chỉ toán
hạng dạng thập lục phân):

ThS. GVC Tô Oai Hùng

30
12/03/2022

Câu Hỏi và Bài Tập Chương 4


- Nạp giá trị đọc từ thiết bị nhập/xuất 5 vào
thanh ghi AC (mã lệnh = 3, địa chỉ toán
hạng = 005).
- Cộng nội dung của thanh ghi AC với nội
dung bộ nhớ ở địa chỉ 940 (mã lệnh = 5,
địa chỉ toán hạng = 940).
- Lưu nội dung của thanh ghi AC vào thiết
bị nhập/xuất 6 (mã lệnh = 7, địa chỉ toán
hạng = 006).
Giả sử giá trị đọc từ thiết bị nhập/xuất 5 là
0003. Mã lệnh và địa chỉ toán hạng của các
lệnh trên được chứa trong bộ nhớ như sau:
ThS. GVC Tô Oai Hùng

Câu Hỏi và Bài Tập Chương 4

12. Sự thực thi chương trình của Hình 4.8 đã


được mô tả trong sáu bước. Hãy mở rộng
mô tả này (bằng văn bản hoặc bằng ký hiệu
như câu 11) để thể hiện việc sử dụng thanh
ghi MAR và MBR (xem lại Hình 1.7).
ThS. GVC Tô Oai Hùng 62

31
12/03/2022

Câu Hỏi và Bài Tập Chương 4


13. Tại sao thời gian thực thi của đường ống
lệnh có hai công đoạn khác với một nửa
thời gian chu kỳ lệnh?
14. Xét biểu đồ thời gian của Hình 4.12. Giả sử
rằng chỉ có hai công đoạn trong đường
ống: Lấy lệnh (FI) và thực thi lệnh (EI). Hãy
vẽ lại biểu đồ để cho thấy cần bao nhiêu
đơn vị thời gian để thực hiện bốn lệnh.
15. Giả sử đường ống có bốn công đoạn: Lấy
lệnh (FI), giải mã lệnh và tính địa chỉ (DI),
lấy toán hạng (FO) và thực thi lệnh (EI). Hãy
vẽ biểu đồ để cho thấy cần bao nhiêu đơn
vị thời gian để thực hiện bảy lệnh, trong đó
lệnh thứ ba là lệnh rẽ nhánh đến lệnh 15. 63
ThS. GVC Tô Oai Hùng

Câu Hỏi và Bài Tập Chương 4


16. Liệt kê và tóm tắt định nghĩa của ba kiểu tổ
chức hệ thống máy tính.
17. Các nét đặc trưng chính của bộ đa xử lý đối
xứng (SMP) là gì?
18. Một số ưu điểm của SMP so với bộ xử lý
đơn là gì?
19. Những yếu tố chính trong thiết kế một tổ
chức đa nhân là gì?

ThS. GVC Tô Oai Hùng 64

32

You might also like