Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý

1. Tổ chức của Bộ xử lý

2. Tổ chức thanh ghi

3. Chu kỳ lệnh

4. Kỹ thuật đường ống lệnh (Pipelining)

5. Kiến trúc VXL tiên tiến

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 1

Trang 1

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 2

Trang 2

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 3

Trang 3

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 4

Trang 4

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 5

Trang 5

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 6

Trang 6

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 7

Trang 7

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 8

Trang 8

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 9

Trang 9

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 38 trang Danh Thịnh 09/01/2024 5480
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý", để 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 - Chương 12: Chức năng và cấu trúc Vi xử lý

Bài giảng Kiến trúc máy tính - Chương 12: Chức năng và cấu trúc Vi xử lý
+ 
Chương 12
Chức năng và cấu trúc Vi xử lý
+
Nội dung
1. Tổ chức của Bộ xử lý
2. Tổ chức thanh ghi
3. Chu kỳ lệnh
4. Kỹ thuật đường ống lệnh (Pipelining)
5. Kiến trúc VXL tiên tiến
+
12.1 Tổ chức bộ vi xử lý
 Truy xuất lệnh: Bộ xử lý đọc lệnh từ bộ nhớ (thanh ghi, bộ nhớ 
cache, bộ nhớ chính).
 Giải mã lệnh: Lệnh được giải mã để xác định hành động nào được 
yêu cầu.
 Truy xuất dữ liệu: Việc thực thi một lệnh có thể yêu cầu đọc dữ liệu 
từ bộ nhớ hoặc một module vào/ra
 Xử lý dữ liệu: Việc thực thi một lệnh có thể yêu cầu thực hiện một 
số phép toán số học hoặc logic trên dữ liệu.
 Ghi dữ liệu: Kết thúc việc thực hiện có thể yêu cầu ghi dữ liệu vào 
bộ nhớ hoặc một module vào/ra.
Để thực hiện những việc này, bộ vi xử lý cần lưu tạm thời một số dữ 
liệu cần một bộ nhớ nhỏ bên trong thanh ghi
Các yêu cầu xử lý:
+
Tổ chức VXL
 ALU: khối tính toán số 
học và logic
 CU: khối điều khiển: 
kiểm soát việc di 
chuyển dữ liệu và lệnh 
vào và ra khỏi bộ xử lý 
và điều khiển hoạt 
động của ALU
 Các thanh ghi: lưu trữ 
dữ liệu tạm thời trong 
quá trình lệnh được 
thực hiện 
Cấu trúc bên trong CPU
+
12.2 Tổ chức thanh ghi
 Cho phép người lập trình ngôn 
ngữ assembly hoặc ngôn ngữ 
máy sử dụng trong các câu 
lệnh
 VD: ADD AX, 300: lấy dữ liệu 
ở ngăn nhớ 300 cộng với AX 
và ghi kết quả vào AX
 Giảm thiểu các tham chiếu bộ 
nhớ chính bằng cách sử dụng 
thanh ghi
 Được sử dụng bởi CU để điều 
khiển hoạt động của bộ vi xử 
lý và bởi các chương trình hệ 
điều hành được đặc quyền 
(privileged) để kiểm soát việc 
thực thi chương trình
 VD: thanh ghi PC chứa địa 
chỉ lệnh tiếp theo của 
chương trình
Thanh ghi hiển thị với người 
dùng
Thanh ghi điều khiển và 
trạng thái
 Các thanh ghi là một loại bộ nhớ. 
 Vai trò của thanh ghi:
a. Thanh ghi hiển thị với người 
dùng
 Là các thanh ghi lập trình viên có thể sử dụng trong các lệnh 
để phục vụ cho mục đích viết chương trình của mình
 Phân loại
 Thanh ghi đa năng: lập trình viên có thể sử dụng các 
thanh ghi nhóm này cho nhiều mục đích khác nhau
 Thanh ghi dữ liệu: sử dụng để chứa dữ liệu và không 
dùng để tính toán địa chỉ toán hạng.
 Thanh ghi địa chỉ: có thể là thanh ghi đa năng hoặc là 
thanh ghi dành riêng cho một chế độ địa chỉ cụ thể. 
 VD: thanh ghi SP (con trỏ đoạn), thanh ghi index, thanh ghi 
SP (con trỏ ngăn xếp)
 Mã điều kiện
 Còn gọi là bit cờ 
 Là các bit do phần cứng của bộ xử lý đặt theo kết quả của 
hoạt động
+
b. Thanh ghi điều khiển và trạng thái
 Thanh ghi PC - Bộ đếm chương trình
 Chứa địa chỉ của lệnh sắp được truy xuất
 Thanh ghi IR – thanh ghi lệnh
 Chứa lệnh đang được truy xuất
 Thanh ghi MAR – thanh ghi địa chỉ bộ nhớ
 Chứa địa chỉ của một vị trí trong bộ nhớ
 Thanh ghi MBR (hoặc MDR) – thanh ghi đệm bộ nhớ 
 Chứa một từ dữ liệu sắp được ghi vào bộ nhớ hoặc từ vừa được đọc ra 
từ BN
 Một số BXL còn có một hoặc nhiều thanh ghi PSW (program status 
word - từ trạng thái chương trình): chứa thông tin trạng thái của 
chương trình đang được thực hiện
Bốn thanh ghi cần thiết để thực thi lệnh:
+ Thanh ghi hoặc tập hợp thanh ghi chứa thông tin trạng thái và mã 
điều kiện
 Các trường hoặc cờ phổ biến gồm:
 Sign: Chứa bit dấu của kết quả của phép tính số học cuối cùng. 
 Zero: Thiết lập khi kết quả bằng 0.
 Carry: Thiết lập nếu một phép tính có nhớ (phép cộng) hoặc vay 
(phép trừ) vào bit có bậc lớn hơn. Được sử dụng cho các phép tính 
số học nhiều từ.
 Equal: Thiết lập nếu kết quả so sánh logic là bằng nhau.
 Overflow: Được sử dụng để chỉ định sự tràn số học.
 Interrupt Enable/Disable: Được sử dụng để cho phép hoặc vô hiệu 
hoá ngắt.
 Supervisor: Cho biết bộ xử lý đang thực hiện trong chế độ giám sát 
hay chế độ người dùng. Một số lệnh privileged chỉ có thể được thực 
hiện trong chế độ giám sát, và một số vùng bộ nhớ chỉ có thể được 
truy cập trong chế độ giám sát.
Thanh ghi PSW – Thanh ghi trạng thái chương trình
b. Thanh ghi điều khiển và trạng thái
+ c. Ví dụ tổ chức thanh ghi 
MC68000, Intel 8086, Intel 80386
12.3 Chu kỳ lệnh
Bao gồm các tầng sau:
 Truy xuất
 Đọc lệnh tiếp theo từ bộ nhớ vào bộ vi xử lý
 Thực thi
 Giải mã opcode và thực hiện hoạt động được chỉ định
 Ngắt
 Nếu có yêu cầu ngắt được gửi đến, VXL lưu trạng thái 
hiện tại của chương trình và chuyển sang phục vụ ngắt
Sơ đồ trạng thái chu kỳ lệnh
Luồng dữ liệu, chu kỳ truy xuất
Luồng dữ liệu chu kỳ ngắt
12.4 Kỹ thuật đường ống Pipelining
 Chu kỳ lệnh được chia thành 6 giai đoạn:
 Truy xuất lệnh (FI – Fetch instruction): Đọc lệnh tiếp theo 
vào bộ đệm.
 Giải mã lệnh (DI – Decode instruction): Giải mã opcode và 
nhận diện toán hạng.
 Tính toán địa chỉ toán hạng (CO – Calculate operands): 
Tính toán địa chỉ hiệu dụng của từng toán hạng nguồn: địa 
chỉ dịch chuyển, gián tiếp thanh ghi, gián tiếp .v.v....
 Truy xuất toán hạng (FO – Fetch operands): Truy xuất 
từng toán hạng từ bộ nhớ. Không cần truy xuất toán hạng 
từ thanh ghi
 Thực thi lệnh (EI – Execute instruction): Thực hiện hành 
động và lưu trữ kết quả (nếu có) trong vị trí toán hạng đích 
đã định.
 Ghi toán hạng (WO – Write operand): Lưu kết quả vào bộ 
nhớ.
Biểu đồ thời gian của pipeline lệnh
Ví dụ: kỹ thuật đường ống lệnh trong 
trường hợp câu lệnh rẽ nhánh
+
Pipeline lệnh 
6 giai đoạn
Mô tả khác 
về Pipeline
Xung đột trong kỹ thuật đường ống 
(Pipeline Hazard)
 Trong một số trường hợp, kỹ thuật đường ống bị đình trệ 
do một số xung đột như sau:
• Xung đột tài nguyên: 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 
(một bộ phận phần cứng được dùng để đưa kết quả từ đầu ra 
ALU trực tiếp vào một trong các thanh ghi đầu vào)
• Xung đột điều khiển: do rẽ nhánh gây ra (đóng băng kỹ thuật 
ống dẫn trong một chu kỳ)
Xung đột
tài nguyên
 Hazard tài nguyên xảy ra 
khi hai hoặc nhiều lệnh 
đã ở trong đường ống 
cần dùng cùng một tài 
nguyên
 VD: Lệnh I

File đính kèm:

  • pdfbai_giang_kien_truc_may_tinh_chuong_12_chuc_nang_va_cau_truc.pdf