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 đủ
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:
- bai_giang_he_thong_may_tinh_chuong_4_kien_truc_bo_xu_ly_nguy.pdf