Cấu trúc máy tính P7
Tổ chức CPU
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S39
CHƯƠNG 4
Tổ chức CPU
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S40
ALU
Cộng
ACC ← ACC / toán hạng
1
Cộng có nhớ R2 ← ACC mod toán hạng
Số Tăng 2 ACC ← ACC - toán hạng - CF
Trừ
3 ACC - toán hạng
học Trừ có mượn
4 ACC ← ACC + toán hạng + CF
Giảm
So sánh 5 Toán hạng ← Toán hạng + 1
Nhân 6 R2,ACC ← ACC * toán hạng
Chia ACC ← ACC - toán hạng
7
8 ACC ← ACC + toán hạng
(không ảnh hưởng CF)
9 Toán hạng ← Toán hạng - 1
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S41
Trái Phải A
CF
ALU
Số học Dịch Luận lý
0
Không qua CF Qua CF CF
Trái
quay Phải
B
C
CF
Not
CF
Luận And G
0
F CF CF
Or D
lý E
Xor CF
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S42
Nhân+= == dịch trái và cộng
bắt đầu : kết quả = 00000000
5 0101
× × dịch trái 1 bit = 00000000
3 0011 b3 = 0 : kết quả = 00000000
15 0101 dịch trái 1 bit = 00000000
0101 b2 = 0 : kết quả = 00000000
+
0000
dịch trái 1 bit = 00000000
0000 b1 = 1 : kết quả = 00000000+0101
= 00000101
0001111
dịch trái 1 bit = 00001010
Giải thuật b0 = 1 : kết quả = 00001010+0101
. Kết quả = 00000000 = 00001111
. Xét các bit của số 0011 từ trái sang
. Dịch trái kết quả 1 bit hết bit : kết quả = 00001111
. Nếu bit = 1 thì kết quả = kết quả + 0101
ngược lại không làm gì cả
. Hết bit của số 0011 thì ngưng
. Kết quả chính là tích số.
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S43
Xây dựng tập lệnh
quá dài
(địa chỉ) (địa chỉ) địa chỉ địa chỉ
opcode toán hạng toán hạng kết quả lệnh kế
1 2
cần giải
dùng thanh ghi PC
mã lệnh
để bỏ vùng này
dùng toán hạng 1 chứa
một số lệnh dùng địa chỉ kết quả để bỏ vùng này
hiểu ngầm để bỏ vùng này
Các phương pháp định địa chỉ toán hạng
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S44
Các phương pháp định địa chỉ toán hạng
Dựa vào một trong các đặc tính sau
- làm ngắn câu lệnh 8
- đơn giản hóa câu lệnh phương
- truy xuất toán hạng nhanh
- làm câu lệnh có tính linh động
pháp
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S45
trực tiếp bộ nhớ
7000 13
lệnh nạp ACC,(7000) 7000
giải thích ACC ← (7000)
dấu ( ) cho biết dùng 13
phương pháp trực tiếp
ACC
Địa chỉ trong lệnh là địa chỉ ô nhớ chứa toán hạng
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S46
gián tiếp bộ nhớ
7000 7010
lệnh cộng R1,@7000 7000
giải thích R1 ← R1 + ((7000))
7010 13
2 dấu ( ) cho biết dùng
phương pháp gián tiếp
13
R1 27
+
27
40
Địa chỉ trong lệnh là địa chỉ ô nhớ chứa địa chỉ toán hạng
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S47
tức thời bộ nhớ
7000 7010
lệnh nạp R1,#23
giải thích R1 ← 23
13
23
R1
15
Toán hạng nằm trong lệnh
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S48
chỉ số bộ nhớ
7000
lệnh nạp ACC,X 10
giải thích ACC ← (IX + 10)
10
7010 7010 13
IX và dấu + cho biết dùng
phương pháp chỉ số
+
7000
IX
7000 13
ACC
7A
Địa chỉ toán hạng là tổng của nội dung thanh ghi chỉ số với độ dời trong lệnh
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S49
tương đối bộ nhớ
7000
lệnh nạp ACC,$ + 6
7006 13
giải thích ACC ← (PC + 6)
6
7006
PC và dấu + cho biết dùng
phương pháp tương đối
+
7000
PC 13
7000
ACC
7A
Địa chỉ toán hạng là tổng của nội dung thanh ghi PC với độ dời trong lệnh
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S50
thanh ghi bộ nhớ
7000
lệnh nạp ACC,R1
7006 13
giải thích ACC ← R1
ACC
5B
R1
13 13
Toán hạng nằm trong thanh ghi
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S51
gián tiếp qua thanh ghi bộ nhớ
7000
lệnh nạp ACC,@ R1
giải thích ACC ← (R1)
7008 13
R1
dấu () cho biết dùng 7008
phương pháp gián tiếp
thanh ghi để truy xuất
toán hạng bộ nhớ ACC 13
5B
Thanh ghi chứa địa chỉ ô nhớ chứa toán hạng
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S52
stack stack
7000
lệnh pop ACC
7004 13
hiểu ngầm
giải thích ACC ← (SP)
SP
SP và dấu () cho biết 7004
dùng phương pháp
stack để truy xuất toán
hạng bộ nhớ ACC 13
6F
Thanh ghi SP chứa địa chỉ ô nhớ chứa toán hạng
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S53
Các nhóm lệnh của tập lệnh Bên trong R R
Chuyển dữ liệu R I
Bộ nhớ M R
M I
Xử lý dữ liệu
Xuất nhập R P
Chuyển điều khiển Số học
Tác
Luận lý
động
Quản lý trạng thái
Dịch, quay cờ
Xử lý bit
Lập xóa cờ
Tuyệt đối (Địa chỉ)
Đặc biệt Nhảy Tương đối (PC+n)
Gọi
Nop Ngắt quãng Không điều kiện (Luôn luôn nhảy)
Halt Trở về IO
Có điều kiện (Lúc nhảy lúc không)
Wait Nhảy nhưng có mapped
Sleep Trực tiếp (PC = địa chỉ) IO
lưu địa chỉ trở
về vào stack Gián tiếp (PC = M/R) Memory
mapped
IO
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S54
+ Có không gian địa chỉ IO riêng.
IO + Có tín hiệu chọn IO và bộ nhớ.
mapped
IO + Mạch giải mã địa chỉ cho IO độc lập với mạch giải mã địa chỉ cho bộ nhớ.
+ Truy xuất cổng xuất nhập bằng lệnh In / Out.
mapped
mapped mapped mapped mapped
mapped
+ Dùng không gian địa chỉ của bộ nhớ.
Memory
+ Không cần tín hiệu chọn IO và bộ nhớ.
mapped
+ Dùng chung mạch giải mã địa chỉ với bộ nhớ. IO
+ Truy xuất cổng xuất nhập bằng lệnh bộ nhớ.
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S55
Mã hóa lệnh
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Opcode Địa chỉ 1 Địa chỉ 2 Địa chỉ 3
Chỉ được tối đa 16 lệnh 3 địa chỉ (0000 ÷ 1111)
Bớt 1 tổ hợp (1111) còn 15 lệnh 3 địa chỉ
31 lệnh
(nhưng thêm được 16 lệnh 2 địa chỉ)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 1
Opcode Địa chỉ 1 Địa chỉ 2
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S56
Bớt tiếp 2 tổ hợp của lệnh 2 địa chỉ (1111 và 1110) còn 14 lệnh 2 địa chỉ
61 lệnh
(thêm được 32 lệnh 1 địa chỉ)
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 1 1 1 1 ×
Opcode Địa chỉ 1
Bớt tiếp tổ hợp cuối của lệnh 1 địa chỉ (1111 1111 1111) còn 31 lệnh 1 địa chỉ
(thêm được 16 lệnh 0 địa chỉ)
76 lệnh
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 1 1 1 1 1 1 1 1 1
Opcode
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S57
CPU 8086/88 :
. Vi xử lý 16 bit.
. Tuyến địa chỉ : A19 ÷ A0 ⇒ Quản lý 1MB bộ nhớ (100 000H)
địa chỉ bộ nhớ 00000 ÷ FFFFF
. Tuyến dữ liệu : D15 ÷ D0 (8086) / D7 ÷ D0 (8088)
. Thực tế sử dụng tuyến địa chỉ dữ liệu chung : AD7 ÷ AD0 ⇒ Cần mạch tách tuyến
2 x LS573
AD15 ÷ AD0 A15 ÷ A0
Cài
ALE LE
LS245
Đệm D15 ÷ D0
2 chiều
DT/R DIR
DEN OE
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh
Tổ chức cấu trúc máy tính C4 Tổ chức CPU / S58
Bộ thanh ghi Bộ thanh ghi
Sơ đồ khối tổng quát đoạn và IP
(8 từ 16 bit) (5 từ 16 bit)
CPU 8086 BIU
(BUS Interface Unit)
Tuyến địa chỉ
ALU
16 bit Tuyến dữ liệu
Khối giao
Thanh ghi cờ tiếp INTA, RD, WR
DT/R, DEN
BUS ALE, M/IO
EU
(Execution Unit)
Đuôi lệnh (6 bytes)
INTR, NMI, TEST LOCK
CLK, RESET, READY
MN/MX Khối điều khiển và định thì QS1,QS0
HOLD
S2,S1,S0
HLDA
Khoa Công nghệ thông tin Đại học Bách khoa tp.HCM Biên soạn : Nguyễn Xuân Minh