Tài liệu Kiến trúc máy tính và hợp ngữ - Bài 4: Cấu trúc và hoạt động của bộ xử lý - Phạm Tuấn Sơn: Bài 04: Cấu trúc và hoạt động của
Bộ xử lý
Phạm Tuấn Sơn
ptson@fit.hcmus.edu.vn
Cấu trúc máy tính
2
Máy tính
(Computer)
Bộ nhớ chính
(Main
Memory)
Thiết bị
nhập xuất
(Input
Output)
Hệ thống
kết nối
(Bus)
Bộ xử lý
(Central
Processing
Unit)
Máy tính
Thực thi chương trình
3
Cấu trúc bộ xử lý
4
Computer
CPU
I/O
Memory
System
Bus
Đơn vị
xử lý
(Arithmetic &
Logic Unit)
Đơn vị
điều khiển
(Control Unit)
Internal Bus
Thanh ghi
(Registers)
Bộ xử lý
(CPU)
Xử lý, tính toán
trên dữ liệu lưu
trong thanh ghi
Điều khiển xử
lý của ALU và
dữ liệu trên
thanh ghi
Lưu trữ tạm dữ
liệu để ALU,
CU xử lý và
điều khiển
Kết nối giữa các
thành phần CU,
ALU và Register
trong CPU
Lệnh máy
• Lệnh máy (machine instruction/ instruction/ machine
code) là dãy bit chứa yêu cầu mà bộ xử lý phải thực hiện
• Cấu trúc của một lệnh máy thường gồm:
– Mã thao tác (opcode): cho biết lệnh thực hiện thao tác gì (+. –,
and, or, )
– Các toán hạng (op...
14 trang |
Chia sẻ: putihuynh11 | Lượt xem: 1046 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Kiến trúc máy tính và hợp ngữ - Bài 4: Cấu trúc và hoạt động của bộ xử lý - Phạm Tuấn Sơn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 04: Cấu trúc và hoạt động của
Bộ xử lý
Phạm Tuấn Sơn
ptson@fit.hcmus.edu.vn
Cấu trúc máy tính
2
Máy tính
(Computer)
Bộ nhớ chính
(Main
Memory)
Thiết bị
nhập xuất
(Input
Output)
Hệ thống
kết nối
(Bus)
Bộ xử lý
(Central
Processing
Unit)
Máy tính
Thực thi chương trình
3
Cấu trúc bộ xử lý
4
Computer
CPU
I/O
Memory
System
Bus
Đơn vị
xử lý
(Arithmetic &
Logic Unit)
Đơn vị
điều khiển
(Control Unit)
Internal Bus
Thanh ghi
(Registers)
Bộ xử lý
(CPU)
Xử lý, tính toán
trên dữ liệu lưu
trong thanh ghi
Điều khiển xử
lý của ALU và
dữ liệu trên
thanh ghi
Lưu trữ tạm dữ
liệu để ALU,
CU xử lý và
điều khiển
Kết nối giữa các
thành phần CU,
ALU và Register
trong CPU
Lệnh máy
• Lệnh máy (machine instruction/ instruction/ machine
code) là dãy bit chứa yêu cầu mà bộ xử lý phải thực hiện
• Cấu trúc của một lệnh máy thường gồm:
– Mã thao tác (opcode): cho biết lệnh thực hiện thao tác gì (+. –,
and, or, )
– Các toán hạng (operand): cho biết các đối tượng bị tác động bởi
thao tác trong mã thao tác (thanh ghi, vùng nhớ, hằng số, )
• Mỗi bộ xử lý chỉ hiểu được một số lệnh với một vài cấu
trúc nhất định
5
Thực thi chương trình
cụ thể hơn
6
Hoạt động của CPU
• Xử lý lệnh máy qua 2 bước, gọi là chu kỳ lệnh
(instruction cycle)
– Nạp lệnh (Fetch)
• Di chuyển lệnh từ bộ nhớ vào thanh ghi
– Thực thi lệnh
• Giải mã lệnh và thực hiện thao tác yêu cầu
7
Quá trình nạp lệnh
8
• Thanh ghi MAR (Memory Address
Register)
– Lưu địa chỉ được gửi ra/ nhận vào
từ bus địa chỉ.
• Thanh ghi MBR (Memory Buffer
Register)
– Lưu giá trị được gửi ra/ nhận vào
từ bus dữ liệu.
• Thanh ghi PC (Program Counter)
– Lưu địa chỉ của lệnh sẽ được nạp.
• Thanh ghi IR (Instruction Register)
– Lưu lệnh sẽ được xử lý.
• Bộ xử lý di chuyển lệnh từ vùng
nhớ có địa chỉ trong thanh ghi PC
vào thanh ghi IR.
• Mặc định, giá trị thanh ghi PC
được tăng 1 lượng bằng chiều dài
của lệnh được nạp.
• MAR ß (PC)
• MBR ß Memory
• IR ß (MBR)
• PC ß (PC) + 1
Quá trình thực thi lệnh
9
• Bộ xử lý giải mã lệnh trong thanh ghi IR và thực
hiện thao tác yêu cầu như:
– Thực hiện các phép tính số học và luận lý
– Thực hiện di chuyển dữ liệu giữa thanh ghi và bộ nhớ
– Thực hiện di chuyển dữ liệu giữa thanh ghi và thiết bị
nhập xuất
– Thực hiện các thao tác điều khiển như rẽ nhánh
Ví dụ quá trình xử lý lệnh của CPU
Mã thao tác Địa chỉ
10
4 bit 12 bit
Cấu trúc lệnh
Mã thao tác
0001 = Nạp dữ liệu từ “địa chỉ”
vào thanh ghi AC
0010 = Lưu dữ liệu từ thanh ghi AC
vào bộ nhớ tại “địa chỉ”
0101 = Cộng dồn giá trị tại “địa chỉ”
vào thanh ghi AC
Các thanh ghi: PC, IR, AC
Nạp lệnh Thực thi lệnh
Chu kỳ lệnh tổng quát
11
1. Tính địa chỉ
của lệnh
2. Nạp lệnh
3. Giải mã lệnh
4. Tính địa chỉ
của toán hạng
5. Nạp toán hạng
6. Thực thi lệnh
7. Tính địa chỉ của
toán hạng
chứa kết quả
8. Ghi kết quả
12
Ngắt
• Ngắt (Interrupt) là cơ chế cho phép ngắt quá trình thực
thi tuần tự thông thường từng lệnh của bộ xử lý để phục
vụ công việc khác như nhập xuất.
• Một số loại ngắt
– Ngắt chương trình
• Debug chương trình
• Trường hợp tràn số, chia cho 0,
– Ngắt đồng hồ
• Được phát sinh bởi bộ định giờ bên trong bộ xử lý
• Được sử dụng trong các môi trường đa nhiệm
– Nhập xuất
• Ví dụ: nhập ký tự,
– Lỗi phần cứng
• Ví dụ: lỗi truyền dữ liệu,..
13
Quá trình phục vụ ngắt
• Bộ xử lý kiểm tra ngắt mỗi khi thực thi xong 1 lệnh dựa vào tín hiệu ngắt
• Nếu không có ngắt, nạp lệnh kế tiếp có địa chỉ trong PC.
• Nếu có ngắt:
– Tạm ngừng thực thi tiếp các lệnh của chương trình đang được thực hiện.
– Lưu lại các dữ liệu đang thực hiện dang dở của chương trình.
– Đặt địa chỉ bắt đầu thủ tục xử lý ngắt vào thanh ghi PC.
– Xử lý ngắt
– Khôi phục các dữ liệu đang thực hiện dang dở của chương trình bị ngắt và tiếp
tục thực hiện chương trình này
Tham khảo
• Chương 12, William Stallings
14
Các file đính kèm theo tài liệu này:
- kien_truc_may_tinh_va_hop_ngu_bai04_bo_xu_ly_8315_1996743.pdf