Bài giảng Hệ thống máy tính - Chương 4: Kiến trúc bộ xử lý - Nguyễn Kim Khánh

Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Hệ thống máy tính  
Nội dung học phần  
„ Chương 1. Giới thiệu chung  
„ Chương 2. Kiến trúc bộ nhớ  
„ Chương 3. Kiến trúc vào-ra  
„ Chương 4. Kiến trúc bộ xử lý  
„ Chương 5. Kiến trúc máy tính tiên tiến  
Chương 4  
KIẾN TRÚC BỘ XỬ LÝ  
Nguyễn Kim Khánh  
Trường Đại học Bách khoa Hà Nội  
8 September 2009  
1
8 September 2009  
2
NKK-HUT  
NKK-HUT  
Nội dung  
4.1. Cấu trúc cơ bản của CPU  
1. Nhiệm vụ và cấu trúc của CPU  
4.1. Cấu trúc cơ bản của CPU  
4.2. Tập lệnh  
„ Nhiệm vụ của CPU:  
„
„
„
„
„
Nhận lệnh (Fetch Instruction): CPU đọc lệnh từ bộ  
nhớ.  
4.3. Hoạt động của CPU  
Giải mã lệnh (Decode Instruction): xác định thao tác  
mà lệnh yêu cầu.  
4.4. Kỹ thuật đường ống lệnh  
4.5. Các kiến trúc song song mức lệnh  
4.6. Một số kiến trúc thông dụng  
Nhận dữ liệu (Fetch Data): nhận dữ liệu từ bộ nhớ  
hoặc các cổng vào-ra.  
Xử lý dữ liệu (Process Data): thực hiện phép toán số  
học hay phép toán logic với các dữ liệu.  
Ghi dữ liệu (Write Data): ghi dữ liệu ra bộ nhớ hay  
cổng vào-ra  
8 September 2009  
3
8 September 2009  
4
Nguyễn Kim Khánh - ĐHBKHN  
1
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Sơ đồ cấu trúc cơ bản của CPU  
Các thành phần cơ bản của CPU  
„ Đơn vị điều khiển (Control Unit - CU)  
„ Đơn vị số học và logic (Arithmetic and  
Logic Unit - ALU)  
„ Tập thanh ghi (Register File - RF)  
„ Đơn vị nối ghép bus (Bus Interface Unit -  
BIU)  
„ Bus bên trong (Internal Bus)  
8 September 2009  
5
8 September 2009  
6
NKK-HUT  
NKK-HUT  
2. Đơn vị số học và logic  
Mô hình kết nối ALU  
„ Chức năng: Thực hiện các phép toán  
số học và phép toán logic:  
„
Số học: cộng, trừ, nhân, chia, tăng, giảm,  
đảo dấu  
„
Logic: AND, OR, XOR, NOT, phép dịch bit.  
8 September 2009  
7
8 September 2009  
8
Nguyễn Kim Khánh - ĐHBKHN  
2
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
3. Đơn vị điều khiển  
„ Chức năng  
Mô hình kết nối đơn vị điều khiển  
„
„
„
Điều khiển nhận lệnh từ bộ nhớ đưa vào  
thanh ghi lệnh  
Tăng nội dung của PC để trỏ sang lệnh kế  
tiếp  
Giải mã lệnh đã được nhận để xác định thao  
tác mà lệnh yêu cầu  
„
„
Phát ra các tín hiệu điều khiển thực hiện lệnh  
Nhận các tín hiệu yêu cầu từ bus hệ thống và  
đáp ứng với các yêu cầu đó.  
8 September 2009  
9
8 September 2009  
10  
NKK-HUT  
NKK-HUT  
Các tín hiệu đưa đến đơn vị điều khiển  
Các tín hiệu phát ra từ đơn vị điều khiển  
„ Các tín hiệu điều khiển bên trong CPU:  
„ Clock: tín hiệu nhịp từ mạch tạo dao  
động bên ngoài.  
„
Điều khiển các thanh ghi  
Điều khiển ALU  
„
„ Mã lệnh từ thanh ghi lệnh đưa đến để  
giải mã.  
„ Các tín hiệu điều khiển bên ngoài CPU:  
„
Điều khiển bộ nhớ  
„ Các cờ từ thanh ghi cờ cho biết trạng  
thái của CPU.  
„
Điều khiển các mô-đun vào-ra  
„ Các tín hiệu yêu cầu từ bus điều khiển  
8 September 2009  
11  
8 September 2009  
12  
Nguyễn Kim Khánh - ĐHBKHN  
3
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Đơn vị điều khiển vi chương trình  
Các phương pháp thiết kế đơn vị điều khiển  
„ Đơn vị điều khiển vi chương trình  
(Microprogrammed Control Unit)  
„ Đơn vị điều khiển nối kết cứng  
(Hardwired Control Unit)  
8 September 2009  
13  
8 September 2009  
14  
NKK-HUT  
NKK-HUT  
Đơn vị điều khiển vi chương trình (tiếp)  
Đơn vị điều khiển nối kết cứng  
„ Bộ nhớ vi chương trình (ROM) lưu trữ  
các vi chương trình (microprogram)  
„ Một vi chương trình bao gồm các vi  
lệnh (microinstruction)  
„ Mỗi vi lệnh mã hoá cho một vi thao tác  
(microoperation)  
„ Để hoàn thành một lệnh cần thực hiện  
một hoặc một vài vi chương trình  
„ Tốc độ chậm  
8 September 2009  
15  
8 September 2009  
16  
Nguyễn Kim Khánh - ĐHBKHN  
4
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Đơn vị điều khiển nối kết cứng (tiếp)  
4.Tập thanh ghi  
„ Chức năng và đặc điểm:  
„ Sử dụng mạch cứng để giải mã và tạo  
các tín hiệu điều khiển thực hiện lệnh  
„
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ớ  
„ Tốc độ nhanh  
Số lượng thanh ghi nhiều Æ tăng hiệu năng  
của CPU  
„ Đơn vị điều khiển phức tạp  
„
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  
8 September 2009  
17  
8 September 2009  
18  
NKK-HUT  
NKK-HUT  
Phân loại thanh ghi theo chức năng  
Một số thanh ghi điển hình  
„ 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.  
„ Các thanh ghi địa chỉ  
„
„
„
„
Bộ đếm chương trình PC (Program Counter)  
Con trỏ dữ liệu DP (Data Pointer)  
Con trỏ ngăn xếp SP (Stack Pointer)  
Thanh ghi cơ sở và thanh ghi chỉ số  
(Base Register & Index Register)  
„ Các thanh ghi dữ liệu  
„ Thanh ghi trạng thái  
8 September 2009  
19  
8 September 2009  
20  
Nguyễn Kim Khánh - ĐHBKHN  
5
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Bộ đếm chương trình PC  
Minh họa bộ đếm chương trình  
„ Còn được gọi là con trỏ lệnh IP  
(Instruction Pointer)  
„ Giữ địa chỉ của lệnh tiếp theo sẽ được  
nhận vào.  
„ Sau khi một lệnh được nhận vào, nội  
dung PC tự động tăng để trỏ sang lệnh  
kế tiếp.  
8 September 2009  
21  
8 September 2009  
22  
NKK-HUT  
NKK-HUT  
Thanh ghi con trỏ dữ liệu  
Minh hoạ thanh ghi con trỏ dữ liệu  
„ 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  
8 September 2009  
23  
8 September 2009  
24  
Nguyễn Kim Khánh - ĐHBKHN  
6
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Ngăn xếp (Stack)  
Con trỏ ngăn xếp SP (Stack Pointer)  
„ 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:  
„ Ngăn xếp là vùng nhớ có cấu trúc LIFO  
(Last In - First Out)  
„
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  
„ Ngăn xếp thường dùng để phục vụ cho  
chương trình con  
„
„ Khi lấy một thông tin ra khỏi ngăn xếp:  
„ Đáy ngăn xếp là một ngăn nhớ xác định  
„
Thông tin được đọc từ ngăn nhớ được trỏ bởi  
„ Đỉnh ngăn xếp là thông tin nằm ở vị trí  
trên cùng trong ngăn xếp  
SP  
„
Nội dung của SP tự động tăng  
„ Đỉnh ngăn xếp có thể bị thay đổi  
„ Khi ngăn xếp rỗng, SP trỏ vào đáy  
8 September 2009  
25  
8 September 2009  
26  
NKK-HUT  
NKK-HUT  
Minh họa con trỏ ngăn xếp SP  
Thanh ghi cơ sở và thanh ghi chỉ số  
„ Thanh ghi cơ sở: chứa địa chỉ của ngăn  
nhớ cơ sở (địa chỉ 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ở (chỉ số)  
„ Địa chỉ của ngăn nhớ cần truy nhập =  
địa chỉ cơ sở + chỉ số  
8 September 2009  
27  
8 September 2009  
28  
Nguyễn Kim Khánh - ĐHBKHN  
7
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các thanh ghi dữ liệu  
Minh họa thanh ghi cơ sở và thanh ghi chỉ số  
„ Chứa các dữ liệu tạm thời hoặc các kết  
quả trung gian  
„ Cần có nhiều thanh ghi dữ liệu  
„ Các thanh ghi số nguyên: 8, 16, 32, 64  
bit  
„ Các thanh ghi số dấu phẩy động  
8 September 2009  
29  
8 September 2009  
30  
NKK-HUT  
NKK-HUT  
Thanh ghi trạng thái (Status Register)  
Ví dụ cờ phép toán  
„ Cờ Zero (cờ rỗng): được thiết lập lên 1 khi  
kết quả của phép toán bằng 0.  
„ Còn gọi là thanh ghi cờ (Flag Register)  
„ Chứa các thông tin trạng thái của CPU  
„ Cờ Sign (cờ dấu): được thiết lập lên 1 khi kết  
quả phép toán nhỏ hơn 0  
„
Các cờ phép toán: báo hiệu trạng thái của  
kết quả phép toán  
„ Cờ Carry (cờ nhớ): được thiết lập lên 1 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ác cờ điều khiển: biểu thị trạng thái điều  
khiển của CPU  
„ Cờ Overflow (cờ tràn): được thiết lập lên 1  
nếu cộng hai số nguyên 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 .  
8 September 2009  
31  
8 September 2009  
32  
Nguyễn Kim Khánh - ĐHBKHN  
8
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Ví dụ cờ điều khiển  
4.2. Tập lệnh  
1. Giới thiệu chung về tập lệnh  
„ Cờ Interrupt (Cờ cho phép ngắt):  
„ Mỗi bộ xử lý có một tập lệnh xác định  
„
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  
gửi tới  
„ Tập lệnh thường có hàng chục đến hàng  
trăm lệnh  
„ Mỗi lệnh là một chuỗi số nhị phân mà bộ xử  
lý hiểu được để thực hiện một thao tác xác  
định.  
„
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 gửi  
tới  
„ Các lệnh được mô tả bằng các ký hiệu gợi  
nhớ Æ chính là các lệnh của hợp ngữ  
8 September 2009  
33  
8 September 2009  
34  
NKK-HUT  
NKK-HUT  
Các thành phần của lệnh máy  
Số lượng địa chỉ toán hạng trong lệnh (1)  
„ Ba địa chỉ toán hạng:  
„
„
„
2 toán hạng nguồn, 1 toán hạng đích  
c = a + b  
„ Mã thao tác (operation code Æ opcode):  
mã hóa cho thao tác mà bộ xử lý phải thực  
hiện  
Từ lệnh dài vì phải mã hoá địa chỉ cho cả  
ba toán hạng  
„
Được sử dụng trên các bộ xử lý tiên tiến  
„ Địa chỉ toán hạng: chỉ ra nơi chứa các toán  
hạng mà thao tác sẽ tác động  
„
Toán hạng nguồn: dữ liệu vào của thao tác  
Toán hạng đích: dữ liệu ra của thao tác  
„
8 September 2009  
35  
8 September 2009  
36  
Nguyễn Kim Khánh - ĐHBKHN  
9
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Số lượng địa chỉ toán hạng trong lệnh (2)  
„ Hai địa chỉ toán hạng:  
Số lượng địa chỉ toán hạng trong lệnh (3)  
„ Một địa chỉ toán hạng:  
„
Một toán hạng vừa là toán hạng nguồn  
vừa là toán hạng đích; toán hạng còn lại là  
toán hạng nguồn  
„
Một toán hạng được chỉ ra trong lệnh  
„
Một toán hạng là ngầm định Æ thường là  
thanh ghi (thanh chứa –accumulator)  
„
„
a = a + b  
„
Được sử dụng trên các máy ở các thế hệ  
trước  
Giá trị cũ của 1 toán hạng nguồn bị mất vì  
phải chứa kết quả  
„
„
Rút gọn độ dài từ lệnh  
Phổ biến  
8 September 2009  
37  
8 September 2009  
38  
NKK-HUT  
NKK-HUT  
Số lượng địa chỉ toán hạng trong lệnh (4)  
„ 0 địa chỉ toán hạng:  
Đánh giá về số địa chỉ toán hạng  
„ Nhiều địa chỉ toán hạng  
„
„
„
„
Các lệnh phức tạp hơn  
Cần nhiều thanh ghi  
Chương trình có ít lệnh hơn  
Nhận lệnh và thực hiện lệnh chậm hơn  
„
„
„
Các toán hạng đều được ngầm định  
Sử dụng Stack  
Ví dụ:  
push a  
push b  
add  
pop c  
có nghĩa là : c = a+b  
„ Ít địa chỉ toán hạng  
„
„
„
„
Các lệnh đơn giản hơn  
Cần ít thanh ghi  
Chương trình có nhiều lệnh hơn  
Nhận lệnh và thực hiện lệnh nhanh hơn  
„
không thông dụng  
8 September 2009  
39  
8 September 2009  
40  
Nguyễn Kim Khánh - ĐHBKHN  
10  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các vấn đề của thiết kế tập lệnh (1)  
„ Về thao tác  
Các vấn đề của thiết kế tập lệnh (2)  
„ Các thanh ghi  
„
Số thanh ghi của CPU được sử dụng  
„
„
„
Bao nhiêu thao tác ?  
„
Các thao tác nào được thực hiện trên các  
Các thao tác nào ?  
thanh ghi ?  
Mức độ phức tạp của các thao tác ?  
„ Các phương pháp định địa chỉ (xét sau)  
„ Các kiểu dữ liệu  
(addressing modes)  
„ Các khuôn dạng lệnh  
„
Độ dài của trường mã thao tác  
Số lượng địa chỉ toán hạng  
„
8 September 2009  
41  
8 September 2009  
42  
NKK-HUT  
NKK-HUT  
RISC  
Các đặc trưng của RISC  
„ CISC và RISC  
„ Số lượng lệnh ít  
„
„
CISCÆComplex Instruction Set Computer:  
„ Hầu hết các lệnh truy nhập toán hạng ở  
„
Máy tính với tập lệnh phức tạp  
các thanh ghi  
„
Các bộ xử lý truyền thống: x86, 680x0  
„ Truy nhập bộ nhớ bằng các lệnh  
RISCÆReduced Instruction Set Computer:  
LOAD/STORE  
„
„
„
Máy tính với tập lệnh thu gọn  
SunSPARC, Power PC, MIPS, ARM, …  
RISC đối nghịch với CISC  
„ Thời gian thực hiện lệnh là một chu kỳ  
máy  
„ Các lệnh có độ dài cố định (32 bit)  
8 September 2009  
43  
8 September 2009  
44  
Nguyễn Kim Khánh - ĐHBKHN  
11  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các đặc trưng của RISC (tiếp)  
2. Các kiểu thao tác cơ bản  
„ Số lượng khuôn dạng lệnh là ít (<=4)  
„ CPU có tập thanh ghi lớn  
„ Chuyển dữ liệu  
„ Xử lý số học với số nguyên  
„ Xử lý logic  
„ Có ít mode địa chỉ (<=4)  
„ Hỗ trợ các thao tác của ngôn ngữ bậc  
„ Điều khiển vào-ra  
cao  
„ Chuyển điều khiển (rẽ nhánh)  
„ Điều khiển hệ thống  
„ Đều được thiết kế kiểu pipeline lệnh  
8 September 2009  
45  
8 September 2009  
46  
NKK-HUT  
NKK-HUT  
Các lệnh chuyển dữ liệu  
Các lệnh số học  
„
„
„
„
„
„
„
„
„
ADD  
Cộng hai toán hạng  
„
„
„
„
„
„
„
„
MOVE  
LOAD  
STORE  
Copy dữ liệu từ nguồn đến đích  
Nạp dữ liệu từ bộ nhớ đến bộ xử lý  
Cất dữ liệu từ bộ xử lý đến bộ nhớ  
SUBTRACT  
MULTIPLY  
DIVIDE  
Trừ hai toán hạng  
Nhân hai toán hạng  
Chia hai toán hạng  
EXCHANGE Trao đổi nội dung của nguồn và đích  
CLEAR  
SET  
PUSH  
POP  
ABSOLUTE  
NEGATE  
Lấy trị tuyệt đối toán hạng  
Đổi dấu toán hạng (lấy bù 2)  
Tăng toán hạng thêm 1  
Giảm toán hạng đi 1  
Chuyển các bit 0 vào toán hạng đích  
Chuyển các bit 1 vào toán hạng đích  
INCREMENT  
DECREMENT  
COMPARE  
Cất nội dung toán hạng nguồn vào ngăn xếp  
Lấy nội dung đỉnh ngăn xếp đưa đến  
toán hạng đích  
Trừ hai toán hạng để lập cờ  
8 September 2009  
47  
8 September 2009  
48  
Nguyễn Kim Khánh - ĐHBKHN  
12  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các lệnh logic  
Minh hoạ các lệnh AND, OR, XOR  
„ Giả sử có hai thanh ghi chứa dữ liệu như sau:  
„
„
„
„
„
AND  
OR  
Thực hiện phép AND hai toán hạng  
Thực hiện phép OR hai toán hạng  
Thực hiện phép XOR hai toán hạng  
Đảo bit của toán hạng (lấy bù 1)  
(R1)  
(R2)  
=
=
1010 1010  
0000 1111  
XOR  
NOT  
TEST  
„ R1 Å (R1) AND (R2) = 0000 1010  
Phép toán AND dùng để xoá một số bit và giữ  
nguyên một số bit còn lại của toán hạng.  
Thực hiện phép AND hai toán hạng  
để lập cờ  
„ R1 Å (R1) OR (R2)  
=
1010 1111  
Phép toán OR dùng để thiết lập một số bit và giữ  
nguyên một số bit còn lại của toán hạng.  
„ R1 Å (R1) XOR (R2) = 1010 0101  
Phép toán XOR dùng để đảo một số bit và giữ  
nguyên một số bit còn lại của toán hạng.  
8 September 2009  
49  
8 September 2009  
50  
NKK-HUT  
NKK-HUT  
Các lệnh logic (tiếp)  
Các thao tác SHIFT và ROTATE  
SHIFT  
Dịch trái (phải) toán hạng  
ROTATE Quay trái (phải) toán hạng  
8 September 2009  
51  
8 September 2009  
52  
Nguyễn Kim Khánh - ĐHBKHN  
13  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các lệnh vào ra chuyên dụng  
Các lệnh chuyển điều khiển  
„ JUMP (BRANCH) Lệnh nhảy không điều kiện:  
„
nạp vào PC một địa chỉ xác định  
„ INPUT Copy dữ liệu từ một cổng xác  
định đưa đến đích  
„ JUMP CONDITIONAL Lệnh nhảy có điều kiện:  
„
điều kiện đúng Æ nạp vào PC một địa chỉ xác định  
„ OUTPUT Copy dữ liệu từ nguồn đến  
một cổng xác định  
„
điều kiện sai Æ không làm gì cả  
„ CALL Lệnh gọi chương trình con:  
„
Cất nội dung của PC (địa chỉ trở về) ra một vị trí xác  
định (thường ở Stack)  
„
Nạp vào PC địa chỉ của lệnh đầu tiên của chương trình  
con  
„ RETURN Lệnh trở về từ chương trình con:  
„
Khôi phục địa chỉ trở về trả lại cho PC để trở về  
chương trình chính  
8 September 2009  
53  
8 September 2009  
54  
NKK-HUT  
NKK-HUT  
Lệnh rẽ nhánh không điều kiện  
Lệnh rẽ nhánh có điều kiện  
„ Trong lệnh có kèm theo điều kiện  
„ Kiểm tra điều kiện trong lệnh:  
„ Chuyển tới thực hiện lệnh  
ở vị trí có địa chỉ XXX:  
„
Nếu điều kiện đúng Æ chuyển tới thực hiện  
lệnh ở vị trí có địa chỉ XXX  
PC Å XXX  
PC Å XXX  
„
Nếu điều kiện sai Æ chuyển sang thực hiện  
lệnh_kế_tiếp  
„ Điều kiện thường được kiểm tra thông  
qua các cờ  
„ Có nhiều lệnh rẽ nhánh có điều kiện  
8 September 2009  
55  
8 September 2009  
56  
Nguyễn Kim Khánh - ĐHBKHN  
14  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Minh hoạ lệnh rẽ nhánh có điều kiện  
Lệnh CALL và RETURN  
„ Lệnh gọi chương trình con: lệnh CALL  
„
Cất nội dung PC (chứa địa chỉ của lệnh_kế_tiếp) ra  
Stack  
„
Nạp vào PC địa chỉ của lệnh đầu tiên của chương  
trình con được gọi  
Æ Bộ xử lý được chuyển sang thực hiện chương trình  
con tương ứng  
„ Lệnh trở về từ chương trình con: lệnh RETURN  
„
Lấy địa chỉ của lệnh_kế_tiếp được cất ở Stack nạp  
trả lại cho PC Æ Bộ xử lý được điều khiển quay trở  
về thực hiện tiếp lệnh nằm sau lệnh CALL  
8 September 2009  
57  
8 September 2009  
58  
NKK-HUT  
NKK-HUT  
Minh hoạ lệnh CALL và RETURN  
Gọi các thủ tục lồng nhau  
8 September 2009  
59  
8 September 2009  
60  
Nguyễn Kim Khánh - ĐHBKHN  
15  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Sử dụng Stack  
Các lệnh điều khiển hệ thống  
„ HALT  
„ WAIT  
Dừng thực hiện chương trình  
Tạm dừng thực hiện chương trình,  
lặp kiểm tra điều kiện cho đến khi  
thoả mãn thì tiếp tục thực hiện  
„ NO OPERATION Không thực hiện gì cả  
„ LOCK  
Cấm không cho xin chuyển nhượng  
bus  
„ UNLOCK Cho phép xin chuyển nhượng bus  
8 September 2009  
61  
8 September 2009  
62  
NKK-HUT  
NKK-HUT  
Các phương pháp định địa chỉ thông dụng  
3. Các phương pháp định địa chỉ (addressing modes)  
Khái niệm về định địa chỉ (addressing)  
„ Toán hạng của lệnh có thể là:  
„ Định địa chỉ tức thì  
„ Định địa chỉ thanh ghi  
„ Định địa chỉ trực tiếp  
„
„
„
Một giá trị cụ thể nằm ngay trong lệnh  
Nội dung của thanh ghi  
„ Định địa chỉ gián tiếp qua thanh ghi  
„ Định địa chỉ gián tiếp  
Nội dung của ngăn nhớ hoặc cổng vào-ra  
„ Phương pháp định địa chỉ là cách thức  
địa chỉ hóa trong trường địa chỉ của lệnh  
để xác định nơi chứa toán hạng  
„ Định địa chỉ dịch chuyển  
8 September 2009  
63  
8 September 2009  
64  
Nguyễn Kim Khánh - ĐHBKHN  
16  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Định địa chỉ tức thì  
Sơ đồ định địa chỉ tức thì  
„ Toán hạng nằm ngay trong Trường địa  
chỉ của lệnh  
„ Chỉ có thể là toán hạng nguồn  
„ Ví dụ:  
ADD R1, 5 ; R1Å R1+5  
„ Không tham chiếu bộ nhớ  
„ Truy nhập toán hạng rất nhanh  
„ Dải giá trị của toán hạng bị hạn chế  
8 September 2009  
65  
8 September 2009  
66  
NKK-HUT  
NKK-HUT  
Định địa chỉ thanh ghi  
Sơ đồ định địa chỉ thanh ghi  
„ Toán hạng được chứa trong thanh ghi có  
tên trong Trường địa chỉ  
„ Ví dụ:  
ADD R1, R2  
; R1Å R1+R2  
„ Số lượng thanh ghi ít Æ Trường địa chỉ  
chỉ cần ít bit  
„ Không tham chiếu bộ nhớ  
„ Truy nhập toán hạng nhanh  
„ Tăng số lượng thanh ghi Æ hiệu quả hơn  
8 September 2009  
67  
8 September 2009  
68  
Nguyễn Kim Khánh - ĐHBKHN  
17  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Định địa chỉ trực tiếp  
Sơ đồ định địa chỉ trực tiếp  
„ Toán hạng là ngăn nhớ có địa chỉ được  
chỉ ra trực tiếp trong Trường địa chỉ của  
lệnh  
„ Ví dụ: ADD R1, A  
;R1 Å R1 + (A)  
„
Cộng nội dung thanh ghi R1 với nội dung  
của ngăn nhớ có địa chỉ là A  
„
Tìm toán hạng trong bộ nhớ ở địa chỉ A  
„ CPU tham chiếu bộ nhớ một lần để truy  
nhập dữ liệu  
8 September 2009  
69  
8 September 2009  
70  
NKK-HUT  
NKK-HUT  
Định địa chỉ gián tiếp qua thanh ghi  
Sơ đồ định địa chỉ gián tiếp qua thanh ghi  
„ Toán hạng là ngăn nhớ có địa chỉ nằm  
trong thanh ghi  
„ Trường địa chỉ cho biết tên thanh ghi đó  
„ Thanh ghi có thể là ngầm định  
„ Thanh ghi này được gọi là thanh ghi  
con trỏ  
„ Vùng nhớ có thể được tham chiếu là  
lớn (2n), (với n là độ dài của thanh ghi)  
8 September 2009  
71  
8 September 2009  
72  
Nguyễn Kim Khánh - ĐHBKHN  
18  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Định địa chỉ gián tiếp qua ngăn nhớ  
Sơ đồ định địa chỉ gián tiếp qua ngăn nhớ  
„ Ngăn nhớ được trỏ bởi Trường địa chỉ  
của lệnh chứa địa chỉ của toán hạng  
„ Có thể gián tiếp nhiều lần  
„ Giống như khái niệm biến con trỏ và  
biến động trong lập trình  
„ CPU phải thực hiện tham chiếu bộ nhớ  
nhiều lần để tìm toán hạng Æ chậm  
„ Vùng nhớ có thể được tham chiếu là  
lớn  
8 September 2009  
73  
8 September 2009  
74  
NKK-HUT  
NKK-HUT  
Định địa chỉ dịch chuyển  
Sơ đồ định địa chỉ dịch chuyển  
„ Để xác định toán hạng, Trường địa chỉ  
chứa hai thành phần:  
„
Tên thanh ghi  
„
Hằng số  
„ Địa chỉ của toán hạng = nội dung thanh  
ghi + hằng số  
„ Thanh ghi có thể được ngầm định  
8 September 2009  
75  
8 September 2009  
76  
Nguyễn Kim Khánh - ĐHBKHN  
19  
Bài giảng Hệ thống máy tính  
NKK-HUT  
NKK-HUT  
Các dạng của định địa chỉ dịch chuyển  
„ Địa chỉ hoá tương đối với PC  
4.3. Hoạt động của CPU  
Chu trình lệnh  
„
Thanh ghi là Bộ đếm chương trình PC  
„ Nhận lệnh  
„
Toán hạng có địa chỉ cách ngăn nhớ được  
trỏ bởi PC một độ lệch xác định  
„ Giải mã lệnh  
„ Nhận toán hạng  
„ Thực hiện lệnh  
„ Cất toán hạng  
„ Ngắt  
„ Định địa chỉ cơ sở  
„
Thanh ghi chứa địa chỉ cơ sở  
Hằng số là chỉ số  
„
„ Định địa chỉ chỉ số  
„
Hằng số là địa chỉ cơ sở  
Thanh ghi chứa chỉ số  
„
8 September 2009  
77  
8 September 2009  
78  
NKK-HUT  
NKK-HUT  
Giản đồ trạng thái chu trình lệnh  
Nhận lệnh  
„ CPU đưa địa chỉ của lệnh cần nhận từ bộ  
đếm 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 September 2009  
79  
8 September 2009  
80  
Nguyễn Kim Khánh - ĐHBKHN  
20  
Tải về để xem bản đầy đủ
pdf 28 trang yennguyen 16660 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ thống máy tính - Chương 4: Kiến trúc bộ xử lý - Nguyễn Kim Khánh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_thong_may_tinh_chuong_4_kien_truc_bo_xu_ly_nguy.pdf