.c
om
cu
u
du
o
ng
th
an
co
ng
BỘ XỬ LÝ TRUNG TÂM
(CPU)
1
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
CÁC THÀNH PHẦN
CỦA MÁY TÍNH
2
CuuDuongThanCong.com
/>
.c
om
CÁC THÀNH PHẦN CỦA CPU
ng
CPU
Registers
an
I/O
th
CPU
ng
System
Bus
Arithmetic
and
Logic Unit
co
Computer
cu
u
du
o
Memory
Internal CPU
Interconnection
Control
Unit
3
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
CẤU TRÚC BÊN TRONG CPU
4
CuuDuongThanCong.com
/>
.c
om
NHIỆM VỤ CỦA CPU
Nhận lệnh (fetch instruction): CPU đọc lệnh từ bộ
ng
co
an
th
cu
u
ng
du
o
nhớ
Giải mã lệnh (decode instruction ): xác định thao
tác mà lệnh yêu cầu
Nhận dữ liệu (fetch data): nhận dữ liệu mới từ bộ
nhớ hoặc các cổngvào/ra
Xử lý dữ liệu (process data): thực hiện các phép
toán số hoặc hay logic với các dữ liệu
Ghi dữ liệu (write data): ghi dữ liệu ra bộ nhớ
hoặc các cổng vào/ra
5
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
CHU KỲ LỆNH
6
CuuDuongThanCong.com
/>
.c
om
CHU KỲ LỆNH
Nhận lệnh
ng
Giải mã lệnh
co
Nhận toán hạng
ng
du
o
cu
u
Ngắt
th
Cất toán hạng
an
Thực hiện lệnh
7
CuuDuongThanCong.com
/>
.c
om
NHẬN LỆNH
CPU đƣa địa chỉ của lệnh cần nhận từ bộ đếm
cu
u
du
o
ng
th
an
co
ng
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 thanh ghi lệnh IR
CPU tăng nội dung PC để trỏ sang lệnh kế tiếp
8
CuuDuongThanCong.com
/>
.c
om
GIẢI MÃ LỆNH
Lệnh từ thanh ghi lệnh IR đƣợc đƣa đến đơn vị
cu
u
du
o
ng
th
an
co
ng
đ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 phải thực hiện
Giải mã lệnh xảy ra bên trong CPU
9
CuuDuongThanCong.com
/>
.c
om
NHẬN DỮ LIỆU
CPU đƣa địa chỉ của toán hạng ra bus địa chỉ
ng
CPU phát tín hiệu điều khiển đọc
co
Toán hạng đƣợc đọc vào CPU
cu
u
du
o
ng
th
an
Tƣơng tự nhƣ nhận lệnh
10
CuuDuongThanCong.com
/>
CPU đƣa địa chỉ ra bus địa chỉ
CPU phát tín hiệu điều khiển đọc
.c
om
NHẬN DỮ LIỆU GIÁN TIẾP
ng
Nội dung ngăn nhớ đƣợc đọc vào CPU, đó chính là địa chỉ của
cu
u
du
o
ng
th
an
co
toán hạng (gián tiếp)
Địa chỉ này đƣợc CPU phát ra bus địa chỉ để tìm ra tốn hạng
CPU phát tín hiệu điều khiển đọc
Tốn hạng đƣợc đọc vào CPU
11
CuuDuongThanCong.com
/>
.c
om
THỰC THI LỆNH
Đọc/Ghi bộ nhớ
ng
Vào/Ra
an
Thao tác số học/logic
co
Chuyển giữa các thanh ghi
du
o
cu
u
…
ng
th
Chuyển điều khiển (rẽ nhánh)
12
CuuDuongThanCong.com
/>
.c
om
GHI TOÁN HẠNG
CPU đƣa địa chỉ ra bus địa chỉ
ng
CPU đƣa dữ liệu cần ghi ra bus dữ liệu
co
CPU phát tín hiệu điều khiển ghi
an
Dữ liệu trên bus dữ liệu đƣợc copy đến vị trí xác
cu
u
du
o
ng
th
định
13
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
VÍ DỤ VỀ THỰC THI
CHƢƠNG TRÌNH
14
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
LƢU ĐỒ TRẠNG THÁI
15
CuuDuongThanCong.com
/>
.c
om
NGẮT (INTERRUPTS)
Là kỹ thuật cho phép các module khác (I/O) có
cu
u
du
o
ng
th
an
co
ng
thể ngắt ngang tiến trình xử lý bình thƣờng
Các loại ngắt:
Chƣơng trình (program)
Định thời (Timer)
I/O
Lỗi phần cứng
16
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
TƢƠNG TÁC GIỮA NGẮT
VÀ CHƢƠNG TRÌNH
17
CuuDuongThanCong.com
/>
.c
om
CHU KỲ LỆNH CÓ NGẮT
Nội dung của bộ đếm chƣơng trình PC (địa chỉ trả về sau khi ngắt)
đƣợc đƣa ra bus dữ liệu
ng
CPU đƣa địa chỉ (thƣờng đƣợc lấy từ con trỏ ngăn xếp SP) ra bus địa
co
chỉ
CPU phát tín hiệu điều khiển ghi bộ nhớ
an
Địa chỉ trả về trên bus dữ liệu đƣợc ghi ra vị trí xác định (ở ngăn xếp)
th
Địa chỉ lệnh đầu tiên của chƣơng trình con điều khiển ngắt đƣợc nạp
cu
u
du
o
ng
vào PC
18
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
LƢU ĐỒ TRẠNG THÁI TRONG
CHU KỲ LỆNH CÓ NGẮT
19
CuuDuongThanCong.com
/>
.c
om
ĐA NGẮT
Cấm ngắt
cu
u
du
o
ng
th
an
co
ng
Độ ƣu tiên ngắt
20
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
ĐA NGẮT – TUẦN TỰ
21
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
ĐA NGẮT – LỒNG
22
CuuDuongThanCong.com
/>
.c
om
ĐƢỜNG ỐNG LỆNH
(INSTRUCTION PIPELINE)
Chia chu trình lệnh thành các công đoạn và cho
cu
u
du
o
ng
th
an
co
ng
phép thực hiện gối lên nhau (nhƣ dây chuyền lắp
ráp)
Chẳng hạn có 6 cơng đoạn:
Nhận lệnh (Fetch Instruction – FI)
Giải mã lệnh (Decode Instruction – DI)
Tính địa 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)
23
CuuDuongThanCong.com
/>
cu
u
du
o
ng
th
an
co
ng
.c
om
BIỂU ĐỒ THỜI GIAN
CỦA ĐƢỜNG ỐNG LỆNH
24
CuuDuongThanCong.com
/>
.c
om
CÁC XUNG ĐỘT
CỦA ĐƢỜNG ỐNG LỆNH
Xung đột cấu trúc: do nhiều công đoạn dùng
cu
u
du
o
ng
th
an
co
ng
chung một tài nguyên
Xung đột dữ liệu: lệnh sau sử dụng dữ liệu kết
quả của lệnh trƣớc
Xung đột điều khiển: do rẽ nhánh gây ra
25
CuuDuongThanCong.com
/>