Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 5: Bộ xử lý trung tâm (CPU)

Chức năng:

Điều khiển nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh (IR) và tăng nội dung của PC để trỏ sang lệnh kế tiếp.

Giải mã lệnh nằm trong thanh ghi lệnh để xác định thao tác cần thực hiện và phát ra tín hiệu điều khiển thực hiện lệnh đó.

Nhận tín hiệu yêu cầu từ bus hệ thống và đáp ứng với các yêu cầu đó.

Các tín hiệu đưa đến Control Unit:

Mã lệnh từ thanh ghi lệnh đưa đến để giải mã

Các cờ từ thanh ghi cờ cho biết trạng thái của CPU

Xung clock từ bộ tạo xung bên ngoài cung cấp cho đơn vị điều khiển làm việc

Các tín hiệu yêu cầu từ bus điều khiển

 

pptx 75 trang kimcuc 11340
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 5: Bộ xử lý trung tâm (CPU)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 5: Bộ xử lý trung tâm (CPU)

Bài giảng Kiến trúc máy tính và hợp ngữ - Chương 5: Bộ xử lý trung tâm (CPU)
CHƯƠNG 5: Bộ xử lý trung tâm (CPU) 
KiẾN TRỨC MÁY TÍNH VÀ HỢP NGỮ 
CPU 
2 
5 .2.1. Cấu trúc cơ bản của CPU 
5 .2.2. Tập lệnh 
5 .2.3. Hoạt động của CPU 
5 .2.1. Cấu trúc cơ bản của CPU 
3 
Đơn vị ghép nối Bus 
1. Đơn vị điều khiển (CU) 
4 
Chức năng: 
Điều khiển nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh (IR) và tăng nội dung của PC để trỏ sang lệnh kế tiếp. 
Giải mã lệnh nằm trong thanh ghi lệnh để xác định thao tác cần thực hiện và phát ra tín hiệu điều khiển thực hiện lệnh đó. 
Nhận tín hiệu yêu cầu từ bus hệ thống và đáp ứng với các yêu cầu đó. 
Đơn vị điều khiển (tiếp) 
5 
Mô hình kết nối của đơn vị điều khiển: 
IR 
Đơn vị điều khiển – Control Unit (tiếp) 
6 
Các tín hiệu đưa đến Control Unit : 
Mã lệnh từ thanh ghi lệnh đưa đến để giải mã 
Các cờ từ thanh ghi cờ cho biết trạng thái của CPU 
Xung clock từ bộ tạo xung bên ngoài cung cấp cho đơn vị điều khiển làm việc 
Các tín hiệu yêu cầu từ bus điều khiển 
Đơn vị điều khiển Control Unit (tiếp) 
7 
Các tín hiệu phát ra từ đơn vị điều khiển: 
Các tín hiệu điều khiển bên trong CPU: 
Điều khiển các thanh ghi 
Điều khiển hoạt động của ALU 
Các tín hiệu điều khiển bên ngoài CPU: 
Điều khiển bộ nhớ chính 
Điều khiển các module vào-ra 
2. Đơn vị số học và logic (ALU) 
8 
Chức năng: Thực hiện các phép toán số học và các phép toán logic. 
Số học: cộng, trừ, nhân, chia, tăng, giảm, đảo dấu,  
Logic: AND, OR, XOR, NOT, các phép dịch và quay bit 
Đơn vị số học và logic (tiếp) 
9 
Mô hình kết nối của ALU 
Mô hình kết nối của ALU 4 bit 
10 
Mô hình kết nối của ALU 16 bit 
11 
3. Tập thanh ghi (RF) 
12 
a. Chức năng và phân loại 
b. Một số thanh ghi điển hình 
a. Chức năng và phân loại 
13 
Chức năng: 
Là tập hợp các thanh ghi nằm trong CPU 
Chứa các thông tin tạm thời phục vụ cho hoạt động hiện tại của CPU. 
Phân loại tập thanh ghi 
Phân loại theo khả năng can thiệp của người lập trình: 
Các thanh ghi không lập trình được: người lập trình không can thiệp được 
 Các thanh ghi lập trình được: người lập trình can thiệp được 
Phân loại theo chức năng: 
Thanh ghi địa chỉ: quản lý địa chỉ của ngăn nhớ hay cổng vào-ra 
Thanh ghi dữ liệu: chứa các dữ liệu tạm thời hoặc kết quả trung gian phục vụ cho việc xử lý dữ liệu của CPU 
Thanh ghi điều khiển và trạng thái: chứa các thông tin điều khiển và trạng thái của CPU 
Thanh ghi lệnh: chứa lệnh đang được thực hiện 
Thanh ghi đa năng: có thể chứa địa chỉ hoặc dữ liệu 
b. Một số thanh ghi điển hình 
14 
Các thanh ghi địa chỉ 
Bộ đếm chương trình (Program Counter – PC) 
Con trỏ dữ liệu (Data Pointer – DP) 
Con trỏ ngăn xếp (Stack Pointer – SP) 
Thanh ghi cơ sở và thanh ghi chỉ số (Base Register & Index Register) 
Các thanh ghi dữ liệu 
Thanh ghi trạng thái 
Các vùng nhớ cơ bản của CT 
15 
Chương trình đang thực hiện phải nằm trong bộ nhớ chính và nó chiếm 3 vùng nhớ cơ bản sau: 
Vùng nhớ lệnh (Code): chứa các lệnh của chương trình. 
Vùng dữ liệu (Data): chứa dữ liệu của chương trình. Thực chất đây là nơi cấp phát các ngăn nhớ cho các biến nhớ. 
Vùng ngăn xếp (Stack): là vùng nhớ có cấu trúc LIFO (Last In First Out) dùng để cất giữ thông tin và sau đó có thể khôi phục lại. Thường dùng cho việc thực hiện các chương trình con. 
Ví dụ minh họa thực thi một chương trình 
16 
Bộ đếm chương trình (PC) 
17 
Còn gọi là con trỏ lệnh (Instruction Pointer - IP) 
Là thanh ghi chứa địa chỉ của lệnh tiếp theo sẽ được nhận vào. 
Sau khi một lệnh được nhận vào thì nội dung của PC tự động tăng để trỏ sang lệnh kế tiếp nằm ngay sau lệnh vừa được nhận. 
Minh họa hoạt động của PC 
18 
Thanh ghi con trỏ dữ liệu (DP) 
19 
Chứa địa chỉ của ngăn nhớ dữ liệu mà CPU muốn truy cập. 
Thường có một số thanh ghi con trỏ dữ liệu. 
Minh họa hoạt động của DP 
20 
Con trỏ ngăn xếp (SP) 
21 
Chứa địa chỉ của ngăn nhớ đỉnh ngăn xếp (ngăn xếp có chiều từ đáy lên đỉnh , ngược với chiều tăng của địa chỉ) 
Khi cất thêm một thông tin vào ngăn xếp: 
Nội dung của SP tự động giảm 
Thông tin được cất vào stack được tính bắt đầu từ ngăn nhớ trỏ bởi SP 
Khi lấy một thông tin ra khỏi ngăn xếp: 
Thông tin được lấy ra từ stack được tính bắt đầu từ ngăn nhớ trỏ bởi SP 
Nội dung của SP tự động tăng 
Khi ngăn xếp rỗng: SP trỏ vào đáy ngăn xếp 
Minh họa hoạt động của SP 
22 
Thanh ghi cơ sở và thanh ghi chỉ số 
23 
Thanh ghi cơ sở: chứa địa chỉ của ngăn nhớ cơ sở (địa chỉ cơ sở). 
Thanh ghi chỉ số: chứa độ lệch địa chỉ giữa ngăn nhớ cơ sở so với ngăn nhớ mà CPU cần truy cập (chỉ số). 
 Địa chỉ của ngăn nhớ cần truy cập = địa chỉ cơ sở + chỉ số 
Minh họa thanh ghi cơ sở và chỉ số 
24 
Các thanh ghi dữ liệu 
25 
Chứa các dữ liệu tạm thời hoặc các kết quả trung gian phục vụ cho việc xử lý dữ liệu của CPU 
Cần có nhiều thanh ghi dữ liệu 
Các thanh ghi số nguyên: 8, 16, 32, 64 bit 
Các thanh ghi số dấu chấm động 
Thanh ghi trạng thái 
26 
Còn gọi là thanh ghi cờ (Flag Register) 
Chứa các thông tin trạng thái của CPU 
Các cờ phép toán: biểu thị trạng thái của kết quả phép toán 
Các cờ điều khiển: điều khiển chế độ làm việc của CPU 
Ví dụ cờ phép toán 
27 
Cờ Zero (ZF - cờ rỗng): được thiết lập lên 1 khi kết quả của phép toán vừa thực hiện xong bằng 0. 
Cờ Sign (SF - cờ dấu): được thiết lập lên 1 khi kết quả của phép toán vừa thực hiện nhỏ hơn 0. 
Cờ Carry (CF - cờ nhớ): được thiết lập lên 1 nếu phép toán xảy ra hiện tượng carry-out (có nhớ) . 
Cờ Overflow (OF - cờ tràn): được thiết lập lên 1 nếu phép toán xảy ra hiện tượng overflow (Tràng số) 
Ví dụ cờ điều khiển 
28 
Cờ Interrupt (IF - cờ cho phép ngắt): 
Nếu IF = 1 thì CPU ở trạng thái cho phép ngắt đối với tín hiệu yêu cầu ngắt từ bên ngoài gửi tới. 
Nếu IF = 0 thì CPU ở trạng thái cấm ngắt đối với tín hiệu yêu cầu ngắt từ bên ngoài. 
Bài tập 
29 
Giả sử có các biến nhớ a, b, c, d, e, f thuộc kiểu số nguyên có dấu 8 bit. Các biến a, b được gán giá trị như sau: 
	 a:=-58 b:=72 
Hãy biểu diễn các phép tính sau đây dưới dạng số nhị phân và cho biết kết quả dạng thập phân cùng với giá trị của các cờ ZF, SF, CF, OF tương ứng. c:=a-b d:=a+b e:=b-a f:=-a-b 
Bộ xử lý trung tâm 
30 
5 .2.1. Cấu trúc cơ bản của CPU 
5 .2.2. Tập lệnh 
5 .2.3. Hoạt động của CPU 
5.2.2. Tập lệnh 
31 
1. Giới thiệu chung về tập lệnh 
2. Các kiểu thao tác điển hình 
3. Các phương pháp địa chỉ hóa toán hạng 
1. Giới thiệu chung về tập lệnh 
32 
Mỗi bộ xử lý có một tập lệnh xác định (mang tính kế thừa trong cùng một dòng họ). 
Tập lệnh thường có hàng chục đến hàng trăm lệnh. 
Mỗi lệnh là một chuỗi số nhị phân mà bộ xử lý hiểu được để thực hiện một thao tác xác định. 
Các lệnh được mô tả bằng các kí hiệu gợi nhớ các lệnh hợp ngữ. 
Khuôn dạng của một lệnh máy 
33 
Mã thao tác 
Tham chiếu toán hạng 
Mã thao tác (Operation Code - Opcode): mã hóa cho thao tác mà CPU phải thực hiện. 
Tham chiếu toán hạng: mã hóa cho toán hạng hoặc nơi chứa toán hạng mà thao tác sẽ tác động. 
	 Toán hạng nguồn (Source Operand): dữ liệu vào của thao tác (CPU sẽ đọc) 
	 Toán hạng đích (Destination Operand): dữ liệu ra của thao tác (CPU sẽ ghi) 
Số l ư ợng toán hạng trong lệnh 
34 
Ba toán hạng: 
2 toán hạng nguồn, 1 toán hạng đích 
VD: c = a + b 
Từ lệnh dài vì phải mã hóa địa chỉ cho cả 3 toán hạng 
Thường được sử dụng trên các bộ xử lý tiên tiến 
Hai toán hạng: 
1 toán hạng là toán hạng nguồn, toán hạng còn lại vừa là nguồn vừa là đích. 
VD: a = a + b 
Giá trị cũ của 1 toán hạng nguồn sẽ bị ghi đè bằng KQ 
Rút gọn độ dài từ lệnh 
Thường được dùng phổ biến 
Số l ư ợng toán hạng trong lệnh (tiếp) 
35 
Một toán hạng: 
Chỉ có 1 toán hạng được chỉ ra trong lệnh 
Toán hạng còn lại được ngầm định, thường là thanh ghi (VD: thanh chứa – Accumulator) 
Thường được sử dụng trên các bộ xử lý thế hệ cũ 
Không có toán hạng: 
Các toán hạng đều được ngầm định 
Sử dụng Stack 
VD: lệnh c = a + b 
push a 
push b 
add 
pop c 
Không thông dụng 
2. Các kiểu thao tác điển hình 
36 
Chuyển dữ liệu 
Xử lý số học với số nguyên 
Xử lý logic 
Điều khiển vào-ra 
Chuyển điều khiển (rẽ nhánh) 
Điều khiển hệ thống 
Các lệnh chuyển dữ liệu 
37 
MOVE 
Copy dữ liệu từ nguồn đến đích 
LOAD 
Copy dữ liệu từ bộ nhớ đến bộ xử lý 
STORE 
Copy dữ liệu từ bộ xử lý đến bộ nhớ 
EXCHANGE 
Tráo đổi nội dung của nguồn và đích 
CLEAR 
Chuyển các bit 0 vào toán hạng đích 
SET 
Chuyển các bit 1 vào toán hạng đích 
PUSH 
Copy dữ liệu từ nguồn đến đỉnh ngăn xếp 
POP 
Copy dữ liệu từ đỉnh ngăn xếp đến đích 
Các lệnh số học 
38 
ADD 
Tính tổng hai toán hạng 
SUBTRACT 
Tính hiệu hai toán hạng 
MULTIPLY 
Tính tích hai toán hạng 
DIVIDE 
Tính thương hai toán hạng 
ABSOLUTE 
Thay toán hạng bằng trị tuyệt đối của nó 
NEGATE 
Đổi dấu toán hạng (lấy bù 2) 
INCREMENT 
Cộng 1 vào toán hạng 
DECREMENT 
Trừ toán hạng đi 1 
COMPARE 
So sánh hai toán hạng để lập cờ 
Các lệnh logic 
39 
AND 
Thực hiện phép AND hai toán hạng 
OR 
Thực hiện phép OR hai toán hạng 
XOR 
Thực hiện phép XOR hai toán hạng 
NOT 
Đảo bit của toán hạng (lấy bù 1) 
TEST 
Thực hiện phép AND hai toán hạng để lập cờ 
SHIFT 
Dịch trái (phải) toán hạng 
ROTATE 
Quay trái (phải) toán hạng 
CONVERT 
Chuyển đổi dữ liệu từ dạng này sang dạng khác 
VD các lệnh AND, OR, XOR, NOT 
40 
Giả sử có hai thanh ghi chứa dữ liệu như sau: 
	 (R1) = 1010 1010 
	 (R2) = 0000 1111 
Khi đó ta có: 
	 (R1) AND (R2) = 0000 1010 
Phép toán AND có thể được dùng để xoá một số bit và giữ nguyên các bit còn lại của toán hạng. 
	 (R1) OR (R2) = 1010 1111 
Phép toán OR có thể được dùng để thiết lập một số bit và giữ nguyên các bit còn lại của toán hạng. 
	 (R1) XOR (R2) = 1010 0101 
Phép toán XOR có thể được dùng để đảo một số bit và giữ nguyên các bit còn lại của toán hạng. 
	 NOT (R1) = 0101 0101 
Phép toán NOT dùng để đảo tất cả các bit của toán hạng. 
Các lệnh SHIFT và ROTATE 
41 
Các lệnh vào-ra chuyên dụng 
42 
IN 
 Copy dữ liệu từ một cổng xác định đến đích 
OUT 
 Copy dữ liệu từ nguồn đến một cổng xác định 
Các lệnh chuyển điều khiển 
43 
JUMP (BRANCH) 
Nhảy (rẽ nhánh) không điều kiện; nạp vào PC một địa chỉ xác định 
JUMP CONDITIONAL 
Kiểm tra điều kiện xác định, hoặc nạp vào PC một địa chỉ xác định hoặc không không làm gì cả 
CALL 
Cất nội dung PC vào ngăn xếp, nạp vào PC địa chỉ 
xác định để nhảy đến thực hiện chương trình con 
RETURN 
Khôi phục nội dung PC từ đỉnh ngăn xếp để trở về 
chương trình chính 
Lệnh rẽ nhánh không điều kiện 
44 
Chuyển tới thực hiện lệnh ở vị trí có địa chỉ là XXX: PC ← XXX 
Lệnh rẽ nhánh có điều kiện 
45 
Kiểm tra điều kiện trong lệnh: 
Nếu điều kiện đúng chuyển tới thực hiện lệnh ở vị trí có địa chỉ XXX 
	 PC  XXX 
Nếu điều kiện sai chuyển sang thực hiện lệnh_kế_tiếp 
Điều kiện thường được kiểm tra thông qua các cờ. 
Có nhiều lệnh rẽ nhánh có điều kiện. 
Minh họa lệnh rẽ nhánh có điều kiện 
46 
Lệnh CALL và RETURN 
47 
Lệnh gọi chương trình con: lệnh CALL 
Cất nội dung PC (chứa địa chỉ của lệnh_kế_tiếp) vào Stack 
Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình con được gọi 
	 → Bộ xử lý chuyển sang thực hiện chương trình con tương ứng 
Lệnh trở về từ chương trình con: lệnh RETURN 
Lấy địa chỉ của lệnh_kế_tiếp được cất ở Stack nạp trả lại cho PC 
	 → Bộ xử lý được điều khiển quay trở về thực hiện tiếp lệnh nằm sau lệnh CALL 
Minh họa lệnh CALL và RETURN 
48 
Các lệnh điều khiển hệ thống 
49 
HALT 
Dừng thực hiện chương trình 
WAIT 
Dừng thực hiện chương trình, lặp kiểm tra điều kiện cho đến khi thoả mãn thì tiếp tục thực hiện 
NO OPERATION (NOP) 
Không thực hiện gì cả 
LOCK 
Cấm không cho xin chuyển nhượng bus 
UNLOCK 
Cho phép xin chuyển nhượng bus 
3. Các phương pháp địa chỉ hóa toán hạng 
50 
Phương pháp địa chỉ hóa toán hạng là cách thức chỉ ra nơi chứa các toán hạng mà thao tác sẽ tác động. 
Toán hạng có thể là: 
Hằng số → cần cho biết giá trị của hằng số đó 
Nội dung của một thanh ghi bên trong CPU → cần cho biết tên của thanh ghi 
Nội dung của một ngăn nhớ → cần cho biết địa chỉ ngăn nhớ 
Nội dung của một cổng vào-ra → cần cho biết địa chỉ của cổng vào-ra 
Các chế độ địa chỉ thông dụng 
51 
Chế độ địa chỉ tức thì 
Chế độ địa chỉ thanh ghi 
Chế độ địa chỉ trực tiếp 
Chế độ địa chỉ gián tiếp qua thanh ghi 
Chế độ địa chỉ dịch chuyển 
Chế độ địa chỉ tức thì 
52 
Immediate Addressing Mode 
Toán hạng là một hằng số ở ngay trong lệnh 
Ví dụ: 
 ADD AX, 5 ; AX ← AX + 5 
Truy nhập toán hạng rất nhanh 
Mã thao tác 
Toán hạng 
Chế độ địa chỉ thanh ghi 
53 
Register Addressing Mode 
 Toán hạng là nội dung của 
 một thanh ghi mà tên thanh 
 ghi được cho biết ở trong lệnh. 
Ví dụ: 
 MOV AX, BX ; AX ← BX 
Tốc độ truy cập nhanh hơn 
 so với những lệnh có truy cập 
 đến bộ nhớ. 
Chế độ địa chỉ trực tiếp 
54 
Direct Addressing Mode 
Toán hạng là nội dung của một 
 ngăn nhớ mà địa chỉ ngăn nhớ 
 được cho trực tiếp ở trong lệnh. 
Ví dụ: 
 MOV AL, [1000] 
 ; AL ← nội dung byte nhớ có 
 địa chỉ là 1000 
Chế độ địa chỉ gián tiếp qua thanh ghi 
55 
Register Indirect Addressing Mode 
 Ví dụ: MOV AL, [BX] ; AL ← nội dung của byte 	 nhớ có địa chỉ bằng giá trị của thanh ghi BX 
Chế độ địa chỉ dịch chuyển 
56 
Displacement Addressing Mode 
Trường địa chỉ chứa 2 thành phần: 
Tên thanh ghi 
Hằng số 
Địa chỉ của toán hạng = nội dung thanh ghi + hằng số 
Thanh ghi có thể được ngầm định 
Minh họa chế độ địa chỉ dịch chuyển 
57 
Các dạng chế độ địa chỉ dịch chuyển 
58 
Địa chỉ hóa tương đối với PC: 
Thanh ghi là PC 
VD: các lệnh chuyển điều khiển 
Định địa chỉ cơ sở: 
Thanh ghi là thanh ghi cơ sở (chứa địa chỉ cơ sở) 
Hằng số là chỉ số 
Định địa chỉ chỉ số: 
Thanh ghi là thanh ghi chỉ số (chứa chỉ số) 
Hằng số là địa chỉ cơ sở 
5 .3.3. Hoạt động của CPU 
59 
1. Chu trình lệnh 
2. Đ ư ờng ống lệnh 
1. Chu trình lệnh 
60 
Bao gồm các công đoạn chính sau đây: 
Nhận lệnh 
Giải mã lệnh 
Nhận toán hạng 
Thực hiện lệnh 
Cất toán hạng 
Ngắt 
Giản đồ trạng thái chu trình lệnh 
61 
Nhận lệnh 
62 
CPU đưa địa chỉ của lệnh cần nhận từ thanh ghi bộ đếm chương trình PC ra bus địa chỉ 
CPU phát tín hiệu điều khiển đọc bộ nhớ 
Lệnh từ bộ nhớ được đặt lên bus dữ liệu và được CPU copy vào trong thanh ghi lệnh IR 
CPU tăng nội dung của PC để trỏ sang lệnh kế tiếp 
Minh họa quá trình nhận lệnh 
63 
Giải mã lệnh 
64 
Lệnh từ thanh ghi lệnh IR được đưa đến đơn vị điều khiển 
Đơn vị điều khiển tiến hành giải mã lệnh để xác định thao tác cần phải thực hiện 
Nhận toán hạng 
65 
CPU đưa địa chỉ của toán hạng ra bus địa chỉ 
CPU phát tín hiệu điều khiển đọc 
Toán hạng được chuyển vào trong CPU 
Nhận toán hạng gián tiếp 
66 
CPU đưa địa chỉ ra bus địa chỉ 
CPU phát tín hiệu điều khiển đọc 
Nội dung ngăn nhớ được chuyển vào CPU, đó chính là địa chỉ của toán hạng 
CPU phát địa chỉ này ra bus địa chỉ 
CPU phát tín hiệu điều khiển đọc 
Nội dung của toán hạng được chuyển vào CPU 
Minh họa nhận toán hạng gián tiếp 
67 
Thực hiện lệnh 
68 
Có nhiều dạng thao tác tùy thuộc vào lệnh 
Có thể là: 
Đọc/ghi bộ nhớ 
Vào-ra dữ liệu 
Chuyển dữ liệu giữa các thanh ghi 
Thực hiện phép toán số học hoặc logic 
Chuyển điều khiển (rẽ nhánh) 
Ghi toán hạng 
69 
CPU đưa địa chỉ ra bus địa chỉ 
CPU đưa dữ liệu cần ghi ra bus dữ liệu 
 CPU phát tín hiệu điều khiển ghi 
Dữ liệu trên bus dữ liệu được copy đến vị trí xác định 
Minh họa quá trình ghi toán hạng 
70 
Ngắt 
71 
CPU lưu lại giá trị hiện tại của PC (là địa chỉ trở về sau khi hoàn thành ngắt) – thường lưu vào Stack: 
CPU đưa nội dung của PC ra bus dữ liệu 
CPU đưa địa chỉ (thường được xác định từ con trỏ ngăn xếp SP) ra bus địa chỉ 
CPU phát tín hiệu điều khiển ghi bộ nhớ 
Địa chỉ trở về (nội dung của PC) trên bus dữ liệu được lưu vào ngăn nhớ tương ứng ở ngăn xếp 
CPU nạp vào PC địa chỉ lệnh đầu tiên của chương trình con phục vụ ngắt tương ứng: 
CPU xác định địa chỉ của vector ngắt tương ứng 
CPU phát địa chỉ này ra bus địa chỉ 
CPU phát tín hiệu điều khiển đọc bộ nhớ 
Giá trị của vector ngắt (địa chỉ lệnh đầu tiên của CTC phục vụ ngắt) được chuyển ra bus dữ liệu 
Giá trị này được nạp vào trong PC 
Minh họa thực hiện 1 chương trình 
72 
2. Đ ư ờng ống lệnh 
73 
Nguyên tắc của Pipeline: chia chu trình lệnh thành các công đoạn và cho phép thực hiện gối lên nhau theo kiểu dây chuyền. 
Giả sử chu trình lệnh gồm 6 công đoạn với thời gian thực hiện như nhau (T): 
Nhận lệnh (Fetch Instruction – FI) 
Giải mã lệnh (Decode Instruction – DI) 
Tính đ/chỉ toán hạng (Calculate Operand Address – CO) 
Nhận toán hạng (Fetch Operands – FO) 
Thực hiện lệnh (Execute Instruction – EI) 
Ghi toán hạng (Write Operands – WO) 
Biểu đồ thời gian của đường ống lệnh 
74 
Các xung đột của đường ống lệnh 
75 
Xung đột cấu trúc: do nhiều công đoạn dùng chung một tài nguyên 
Xung đột dữ liệu: lệnh sau sử dụng kết quả của lệnh trước 
Xung đột điều khiển: do rẽ nhánh gây ra 

File đính kèm:

  • pptxbai_giang_kien_truc_may_tinh_va_hop_ngu_chuong_5_bo_xu_ly_tr.pptx