Xem mẫu
- Bài 5
om
.c
CẤU TRÚC BỘ XỬ LÝ VÀ
ng
THỰC THI CHƯƠNG TRÌNH
co
an
th
Nguyễn Hồng Sơn
o ng
du
u
cu
1
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Công việc của CPU
om
.c
CPU phải
ng
co
Fetch instructions
an
Interpret instructions
Fetch data
th
o ng
Process data
du
Write data
u
cu
2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- CPU với system bus
om
.c
ng
co
an
th
o ng
du
u
cu
3
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Cấu trúc bên trong của CPU
om
.c
ng
co
an
th
o ng
du
u
cu
4
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tổ chức các thanh ghi
om
.c
CPU cần có các vùng nhớ tạm để làm việc,
ng
gọi là các thanh ghi (registers)
co
an
Số lượng và chức năng thay đổi tùy vào
thiết kế của bộ xử lý.
th
o ng
Là một trong các quyết định thiết kế quan
du
trọng.
u
cu
Mức cao nhất trong phân cấp bộ nhớ.
5
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- User-visible register
om
.c
User-visible register là thanh ghi có thể được tham
ng
chiếu qua ngôn ngữ máy, bao gồm các loại:
co
an
General Purpose: đa chức năng, chứa operand của
th
chỉ thị ng
Data: chỉ chứa data, không được dùng để tính toán
o
du
địa chỉ.
u
cu
Address: dùng cho chế độ địa chỉ như segment
pointer, index register, stack pointer
Condition Codes: chứa các mã điều kiện (còn gọi là
các flag) 6
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Control & status register
om
.c
Có một số thanh ghi được dùng để điều khiển
ng
hoạt động của CPU
co
an
Program Counter
th
Instruction Decoding Register
o ng
Memory Address Register
du
Memory Buffer Register
u
cu
Tất cả các thiết kế đều có một hay tập thanh
ghi gọi là PSW (Program Status Word)
7
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- PSW
om
.c
PSW chứa các mã điều kiện cùng với các thông tin
ng
trạng thái khác. Các field hay flag phổ biến gồm:
co
Sign
an
th
Zero ng
Carry
o
Equal
du
Overflow
u
cu
Interrupt enable/disable
Supervisor: chỉ mode là user hay supervisor
8
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Supervisor mode
om
.c
Các chỉ thị đặc quyền chỉ có thể thực thi
ng
trong supervisor mode.
co
an
Vùng nhớ đặc biệt chỉ có thể truy xuất trong
supervisor mode
th
o ng
Được dùng bởi hệ điều hành
du
u
Không khả dụng đối với các chương trình
cu
của user.
9
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Ví dụ tổ chức thanh ghi
om
.c
ng
co
an
th
o ng
du
u
cu
10
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Tổng quan thực thi chương trình
om
.c
Một chương trình ñược thực thi gồm một
ng
tập chỉ thị được lưu giữ trong bộ nhớ.
co
CPU coù nhiệm vụ thực thi từng chỉ thị được
an
chỉ ñịnh trong chương trình
th
ng
Quùa trình xử lyù chỉ thị gồm coù hai bước:
o
du
CPU ñọc chỉ thị từ bộ nhớ
u
cu
CPU thực thi chỉ thị, coù thể gồm một số hoạt
ñộng
11
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Thực thi chương trình …
om
.c
Chu kỳ chỉ thị (instruction cycle): Quá trình
ng
xử lý cho một chỉ thị.
co
an
Chu kỳ lấy chỉ thị
Chu kỳ thực thi th
ng
o
du
u
cu
12
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chu kỳ chỉ thị cơ bản
om
.c
bắt đầu
ng
co
an
Chu kỳ lấy chỉ thị
th
lấy chỉ thị kế
o ng
du
u
thực thi chỉ thị Chu kỳ thực thi
cu
Kết thúc
13
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chu kỳ lấy chỉ thị và thực thi
om
.c
Bắt ñầu mỗi chu kỳ chỉ thị, CPU nạp chỉ thị từ bộ
ng
nhớ
co
PC (program counter): laø thanh ghi hướng dẫn
an
chọn chỉ thị kế tiếp
th
Mặc ñịnh sau mỗi lần nạp, PC sẽ tăng một ñơn vị
ng
(chỉ tới chỉ thị kế tiếp theo tuần tự trong chương
o
du
trình)
u
cu
Chị thị được nạp vaøo thanh ghi IR (instruction
register)
14
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chu kỳ lấy chỉ thị và thực thi…
om
.c
Chỉ thị tồn tại ở dạng mã nhị phân, chỉ cho CPU
ng
biết noù phải laøm công việc gì.
co
CPU sẽ phiên dịch (giải mã lệnh) ñể nhận biết
an
công việc phải laøm.
th
Caùc công việc thường rơi vaøo một trong bốn
ng
nhoùm:
o
du
CPU-Memory
u
cu
CPU-I/O
Xử lyù data
Điều khiển: ví dụ thay ñổi tuần tự
15
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Chu kỳ lấy chỉ thị và thực thi…
om
.c
Việc thực thi một chỉ thị cụ thể liên quan
ng
đeán nhiều công việc.
co
Một chu kỳ thực thi coù thể coù nhiều tham
an
th
chiếu đến bộ nhớ. ng
Một chu kỳ thực thi coù thể coù nhiều tham
o
du
chiếu đến I/O
u
cu
Một chu kỳ thực thi coù thể coù nhiều tham
chiếu đến bộ nhớ vaø cả I/O
16
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các trạng thái trong một chu kỳ chỉ thị
om
.c
(1)Tính toaùn ñịa chỉ của chỉ thị: xaùc ñịnh ñịa chỉ của chỉ thị kế tiếp,
thường laø cộng một hằng số vaøo ñịa chỉ của chỉ thị trước.
ng
co
(2)Lấy lệnh
(3)Giải mã chỉ thị: phân tích ñể xaùc ñịnh công việc phải laøm vaø toaùn
an
hạng ñược duøng.
th
(4)Tính toaùn ñịa chỉ toaùn hạng: nếu công việc cần lấy thông số (data)
ng
o
từ bộ nhớ hay I/O.
du
(5)Lấy toaùn hạng
u
(6)Xử lý trên dữ liệu theo công việc ñược chỉ ñịnh.
cu
(7)Lưu toaùn hạng (data)
17
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- om
.c
ng
CPU truy xuất 7
2 5
co
MM hay I/O
an
th
nhiều nhiều
toán hạng
o ng kết quả
Hoạt đñộng
du
3 4 6 4
beân trong CPU 1
u
cu
chỉ thị Vetor hay
kế string
18
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Các trạng thái…
om
.c
Trên một số maùy tính, một chỉ thị cuï thể chỉ
ng
ñịnh một toaùn tử thực hiện trên một vector
co
an
(mảng một chiều) hay chuỗi của caùc kyù tự.
th
Điều naøy liên quan ñến lặp ñi lặp lại việc
o ng
lấy dữ liệu hay lưu trữ dữ liệu.
du
u
cu
19
CuuDuongThanCong.com https://fb.com/tailieudientucntt
- Ví dụ máy giả thuyết
om
.c
Từ nhớ 16 bit
Instruction: 4 bit mã vaø 12 bit ñịa chỉ
ng
co
Data: 1 bit dấu vaø 15 bit ñịnh lượng
an
Gồm coù caùc thanh ghi:
th
PC
ng
IR
o
du
AC(accumulator): thanh ghi tạm
u
4 trong số 16 mã lệnh cuï thể
cu
0001: nạp nội dung từ bộ nhớ vaøo AC
0010: ghi nội dung AC vaøo bộ nhớ
0101: cộng nội dung từ bộ nhớ với nội dung của AC.
20
0110: nhân nội dung từ bộ nhớ với nội dung của AC.
CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn