
1
1
Chương 3. Tập Lệnh
Phan Trung Kiên
Đại học Tây Bắc
Phan Trung Kiên 2
Chương 3. Kiến Trúc Tập Lệnh
Tập thanh ghi
Tập lệnh
Ví dụnghiên cứu
Phan Trung Kiên 3
3.1. Tập thanh ghi
Chức năng và đặc điểm:
Chứa các thông tin tạm thời phục vụcho hoạt động
ởthời điểm hiện tại của CPU
Được coi là mức đầu tiên của hệthống nhớ
Số lượng thanh ghi nhiều Î tăng hiệu năng của
CPU
Có hai loại thanh ghi:
Các thanh ghi lập trình được
Các thanh ghi không lập trình được
Phan Trung Kiên 4
Phân loại thanh ghi 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 tạm thời các dữliệu.
Thanh ghi đa năng: có thểchứa địa chỉhoặc dữ
liệu.
Thanh ghi điều khiển/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.

2
Phan Trung Kiên 5
Một số thanh ghi điển hình
Các thanh ghi địa chỉ
Các thanh ghi dữliệu
Thanh ghi trạng thái
Phan Trung Kiên 6
Các thanh ghi địa chỉ:
Chức năng: dùng để quản lý địa chỉcủa ngăn nhớhay
cổng vào – ra
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 dữ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.
Phan Trung Kiên 7
Bộ đếm chương trình (Program
Counter – PC):
Còn gọi là con trỏlệnh (Instruction Pointer – IP)
Là thanh ghi chứa địa chỉcảu một 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 nhận.
Phan Trung Kiên 8
Minh họa bộ đếm chương trình

3
Phan Trung Kiên 9
Thanh ghi con trỏdữliệu (Data
Pointer – DP):
Chứa địa chỉcủa ngăn nhớdữliệu mà CPU
muốn truy nhập.
Thường có một sốthanh ghi con trỏdữliệu
Phan Trung Kiên 10
Minh hoạthanh ghi con trỏdữliệu
Phan Trung Kiên 11
Ngăn xếp (Stack)
Ngăn xếp là vùng nhớcó cấu trúc LIFO (Last In
- First Out)
Ngăn xếp thường dùng để phục vụ cho chương
trình con
Đáy ngăn xếp là một ngăn nhớxác định
Đỉnh ngăn xếp là thông tin nằm ởvịtrí trên cùng
trong ngăn xếp
Đỉnh ngăn xếp có thểbị thay đổi
Phan Trung Kiên 12
Thanh ghi con trỏ ngăn xếp (Stack
Pointer – SP):
Chứa địa chỉcủa ngăn nhớ đỉnh ngăn xếp
Khi cất 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 ngăn nhớ được trỏbởi SP
Khi lấy một thông tin ra khỏi ngăn xếp:
Thông tin được đọc từ ngăn nhớ được 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

4
Phan Trung Kiên 13
Minh họa con trỏ ngăn xếp SP
Phan Trung Kiên 14
Thanh ghi cơ sở(Base Register) và
thanh ghi chỉsố(Index Register):
Thanh ghi cơ sởchứa địa chỉcủa ngăn nhớ cơ
sở
Thanh ghi chỉsố: chứa độ lệch địa chỉgiữa
ngăn nhớmà CPU cần truy nhập so với ngăn
nhớ cơ sở.
Địa chỉcủa ngăn nhớcần truy nhập = địa chỉ cơ
sở+ chỉsố
Phan Trung Kiên 15
Minh họa thanh ghi cơ sởvà thanh ghi
chỉsố
Phan Trung Kiên 16
Các thanh ghi dữliệu:
Chức năng: chứa các dữliệu tạm thời hoặc các
kết qủa trung gian phục vụcho việc xửlý các dữ
liệu của CPU.
Các loại 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 (Có trên các bộxử
lý có khối FPU – Floadting Point Unit)

5
Phan Trung Kiên 17
Thanh ghi trạng thái:
Còn gọi là thanh ghi cờ(Flag Register)
Chức năng: 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 qủa
phép toán.
Các cờ điều khiển: biểu thịtrạng thái điều khiển của
CPU.
Phan Trung Kiên 18
Các cờphép toán:
CờZero (ZF - cờrỗng): đựoc thiết lập lên một kết quả
của phép toán vừa thực hiện bằng 0.
CờSign (SF - cờ đấu): được thiết lập lên một kết quả
của phép toán vừa thực hiện nhỏ hơn 0, hay nói cách
khác, cờSign nhận giá trịbằng bit dấu của kết quả.
CờCarry (CF - cờnhớ): cờ được thiết lập nếu phép
toán có nhớra ngoài bit cao nhất →cờbáo tràn với số
không dấu.
CờOverflow (OF - cờtràn): cờ được thiết lập nếu cộng
hai sốcùng dấu mà kết quảcó dấu ngược lại →cờbáo
tràn với sốcó dấu.
Phan Trung Kiên 19
Các cờ điều khiển:
CờInterrupt (IF - cờcho phép ngắt):
Nếu IF = 1 →CPU ởtrạng thái cho phép ngắt với tín
hiệu yêu cầu ngắt từbên ngoài.
Nếu IF = 0 →CPU ởtrạng thái cấm ngắt với tín hiệu
yêu cầu ngắt từbên ngoài.
Phan Trung Kiên 20
Tập thanh ghi của một sốbộxửlý