Bài giảng Kiến trúc máy tính - Chương 11: Bộ xử lý trung tâm cung cấp cho người học các kiến thức: Cấu trúc cơ bản của CPU, đế độ địa chỉ, hoạt động của CPU, các kỹ thuật tiên tiến của bộ xử lý, kiến trúc intel. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 311.1 Câu trúc cơ bản của CPU
@Nhiém vu cia CPU
m Nhận lệnh (Fetch Instruction): CPU đọc lệnh từ bộ nhớ
n Giải mã lệnh (Decode Instruction): xác định thao tác mà lệnh yêu câu
m Nhận dữ liệu (Fetch Data): nhận dữ liệu từ bộ nhớ hoặc các công vào-ra
m 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 đữ liệu
n Ghi đữ liệu (Write Data): ghi dữ liệu ra bộ nhớ hay công vào-ra
Trang 5
11.1 Câu trúc cơ bản của €
a Don vi diéu khién (CU)
` Chức năng: m Điều khiến nhận lệnh từ bộ nhớ đưa vào thanh ghi lệnh và tăng nội dung của
PC để trỏ sang lệnh kế tiếp
m Giải mã lệnh nằm trong thanh ghi lệnh để xác định thao tác cần thực hiện và phát ra tín hiệu điều khiên thực hiện lệnh đó
m Nhận tín hiệu yêu câu từ bus hệ thông và đáp ứng với các yêu câu đó
Trang 6
11.1 Câu trúc cơ bản của €
a Don vi diéu khién (CU)
Trang 7
11.1 Câu trúc cơ bản của
a Don vi diéu khién (CU)
® Các tin hiéu dua dén don vi điều khién:
m Mã lệnh từ thanh ghi lệnh đưa đến để giải mã
m Các cờ từ thanh ghi cò cho biết trạng thái của CPU
m Xung clock từ bộ tạo xung bên ngoài cung cấp cho đơn vị điều khiến lam việc
m Các (ín hiệu yêu cầu từ bus điều khiên
Trang 8
11.1 Câu trúc cơ bản của
a Don vi diéu khién (CU)
@ Các tín hiệu phát ra từ đơn vị điêu khiến: m Các tín hiệu điều khiến bên trong CPU:
5 Điều khiến các thanh ghi
5 Điều khiến hoạt động của ALU
m Các tín hiệu điều khiến bên ngoài CPU:
5 Điều khiến bộ nhớ chính
s Điều khiển cac module vao-ra
Trang 9
11.1 Câu trúc cơ bản củ
b Đơn vị sô học va logic (ALU)
® Chức năng: Thực hiện các phép toán sô học và các phép toán logic
m SỐ học: cộng, trừ, nhân, chia, tăng, øiảm, đảo dau,
s Logic: AND, OR, XOR, NOT, cac phép dịch và quay bịt
Trang 10
11.1 Câu trúc cơ bản của CP
b Don vi số hoc va logic (ALU) @ M6 hinh két néi cla ALU:
Dữ liệu vào từ Dữ liệu ra đến
Trang 1111.1 Câu trúc cơ bản của €
c Các thanh ghi
€ ` Chức năng và đặc điểm: m Tập hợp các thanh ghi năm trong CPU
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
m Được coi là mức đâu tiên của hệ thông nhớ
m Tuỳ thuộc vào bộ xử lý cụ thê
m Số lượng thanh ghi nhiều tăng hiệu năng của CPU m Có hai loại thanh ghi:
s Các thanh phi lập trình được
s Các thanh ghi không lập trình được
Trang 12
11.1 Câu trúc cơ bản của €
c Các thanh ghi
` Các thanh ghi địa chỉ
m Bộ đếm chương trình (Program Counter — PC) =» Con tro dé liéu (Data Pointer — DP)
m Con trỏ ngăn xếp (Stack Pointer — SP)
m Thanh ghi cơ sở và thanh ghi chỉ số (Base Register & Index Register)
` Các thanh ghi dữ liệu
` Thanh ghi trang thái
Trang 13
11.1 Câu trúc cơ bản của CP
c Các thanh ghi
Thanh ghi PC
Còn gọi là con trỏ lệnh
(Instruction Pointer - IP)
® La thanh ghi chira địa chỉ của lệnh Vùng nhớ lệnh (Code) Lệnh tiêp theo sẽ được nhận vào Lệnh
€ 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
Trang 1411.1 Câu trúc cơ bản của € c Các thanh ghi Thanh ghi con trỏ dữ liệu (DP) ° Dữ liệu
` Chứa địa chỉ của ngăn nhớ dữ liệu Dữ liệu
mà CPU muôn truy cập Dữ liệu
DP —+—+» Di liéu can doc/ghi
Trang 1511.1 Câu trúc cơ bản của CP
c Các thanh ghi og
Con tro ngăn xép (SP)
@ Ngan xép la ving nhé cé cautric ® SP chứa địa chỉ của ngăn nhớ đỉnh ngăn
LIEO (Last In - Eirst Out) xep
@ Khi cat mét thong tin vao ngan xép:
@ Ngan xép thường dùng đề phục vụ m Nội dung của SP tự động giảm
cho chương trình con m Thông tin được cất vào ngăn nhớ được trỏ bởi SP
Đ r « iA là ^ w h z £ ; ,
y
® Dáy ngăn xếp là một ngăn nhớ xác 4® Khi lây một thông tin ra khỏi ngăn xêp:
định m Thông tin được đọc từ ngăn nhớ được
trỏ bởi SP
m Nội dung của SP tự động tăng
® Dinh ngăn xếp là thông tin năm ở
vị trí trên cùng trong ngăn xế 6 inne Hệ P @ Khi ngan xép rong, SP trỏ vào đáy Log ¬
@ Dinh ngăn xếp có thê bị thay đôi
Trang 16
11.1 Câu trúc cơ bản của € Xá e c Các thanh ghi Minh họa hoạt động của SP Lư a
_ Dinh Stack ca! _-¥ Dinh Stack modi
sp —=—< - >| Dinh Stack moi | | 2 sp =<" »! binh Stack ca ©
= s
© ©
= >
Day Stack Day Stack
Khi lấy 1 thông tin ra khỏi ngăn xếp, SP tự động tăng Khi cắt 1 thông tin vào ngăn xếp, SP tự động giảm
Trang 17
11.1 Câu trúc cơ bản của €
c Các thanh ghi
Thanh øhi cơ sở và thanh ghi chi so
@ 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 cập so với ngăn nhớ cơ sở
® Dia chi cua ngăn nhớ cân truy cập = địa chỉ cơ sở + chỉ sô
Trang 19
11.1 Câu trúc cơ bản của €
c Các thanh ghi
Thanh ghi dữ liệu
€ Chứa các dữ liệu tạm thời hoặc các kết quả trung gian phục vụ cho việc xử lý dữ liệu của CPU
@ Can có nhiêu thanh ghi dữ liệu
® Các thanh ghi số nguyên: 8, 16, 32, 64 bit
4 Các thanh ghi số dâu châm động
Trang 20
11.1 Câu trúc cơ bản của CP
c Các thanh ghi
Thanh ghi trang thai
® Con goi la thanh ghi cd (Flag Register)
® Chita cac thơng tin trạng thái của CPU
m Các cờ phép toán: biểu thị trạng thái của kết quả phép toán
m Các cờ điều khiên: điêu khiên chê độ làm việc của CPU
Trang 21
11.1 Câu trúc cơ bản của €
Ví dụ cờ phép toán
4® Cò Zecro (ZF - cờ rỗng): được thiết lập lên 1 khi kết quả của phép toán vừa thực hiện xong băng 0
@ Cò Sien (SF - cờ dấu): được thiết lập lên 1 khi 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ả
Trang 2211.2 Các chê độ địa chỉ
Chê độ địa chỉ tức thì
Chế độ địa chỉ trực tiếp
Chê độ địa chỉ gián tiếp Chê độ địa chỉ thanh ghi
Chê độ địa chỉ thanh ghi gián tiếp Chê độ địa chỉ dịch chuyển
Trang 23
Các chê độ định địa chỉ cœ bản
Mode Algorithm Principal Advantage Principal Disadvantage Immediate Operand = A No memory reference Limited operand magnitude
Direct EA=A Simple Limited address space
Indirect EA = (A) Large address space Multiple memory references Register EA=R No memory reference Limited address space
Register indirect EA =(R) Large address space Extra memory reference Displacement EA =A +(R) Flexibility Complexity
Stack EA =topofstack Nomemory reference Limited applicability
Trang 24
a Định địa @ Dang don giản nhất của định địa chỉ @ Toan hang =A
@ Ché độ nay co thể được sử dụng để định nghĩa vàsử - dụng các hăng sô và thiệt lập các giá trị ban đâu của biên
m Các sô thường được lưu trữ dưới dạng sô bù m Bit ngoài cùng bên trái của trường toán hạng được sử dụng như bit dau @ Uu diém:
m Chỉ cần truy xuất bộ nhớ một lân (để lây lệnh), do vậy tiết kiệm một chu kỳ cache hoặc bộ nhớ trong chu kỳ lệnh
@ Nhược điểm:
m Kích thước của số bị giới hạn bởi kích thước của trường địa chỉ
Trang 25b Định địa c
@ Trường địa chỉ chứa địa chỉ
hiệu dụng của toán hạng
@ Dia chi hiéu dung (Effective
address (EA)) = truong dia chi
(Address field (A))
@ Ph6 bién trong cac thé hé may
tính trước đây
® Tham chiếu bộ nhớ một lần để
lây dữ liệu toán hạng
@ Han chê: chỉ cung cấp một
Trang 26c Định địa
® Tham chiếu đến địa chỉ của một từ trong
bộ nhớ chứa nà i" đây đủ của toán hạng
=(A
= Dau ngoac ton duoc toc liệu như là nội dung của
@ Uu điểm:
s_ Với một từ có kích thước N cho phép mot
không gian địa chỉ là 2X
@ Nhược điểm:
-_ Thực thi câu lệnh đòi hỏi hai lần tham chiếu bệ nhớ để truy xuất hoạt động: mot dé lay ra dia chỉ, hai là để lay ra gia tri của nó
@ Mot bién thé hiém gap cua dia chỉ gián
tiép la dia chi gian tiêp nhiêu câp hoặc nhiéu tang
a EA=( (A) )
= Nhược điểm là cân ba hoặc nhiêu hơn tham
Trang 27
d Định địa ch
® Trường địa chỉ dùng để tham chiêu
thanh ghi chứ không phải địa chỉ bộ nhớ chính
@EA=R
@ Uu diém:
m Chỉ cần một trường địa chỉ nhỏ
trong lệnh (do sô lượng thanh ghi Ít) n Khơng cân tham chiếu bộ nhớ (tôn
Trang 28
e Định địa chỉ gi
® Tương tự như địa chỉ gián tiếp,
sự khác biệt duy nhất là trường địa chỉ tham chiêu đến thanh
chi
@ EA =(R)
@ Khong gian địa chỉ lớn hơn
(trường địa chỉ tham chiếu đến
vị trí chứa địa chỉ có độ dài
băng một từ )
® Tham chiêu bộ nhớ ít hơn định
Trang 29f Dinh địa chỉ dịch chuyên
kê: hợp chế độ định địa chỉ trực tiếp và định địa chỉ trực
tiêp thanh shi
@EA=A+(R)
® Yêu cầu lệnh phải có hai trường địa chỉ, ít nhất một trong hai phải có gia tri cu the
= Mot gia tri trong mot truong dia chi (gia tri = A) dugce sử dụng trực
tiêp
s_ Một trường địa chỉ khác tham chiếu đến thanh ghi trong đó nội dung
được cộng với A đề tạo ra địa chỉ hiệu dụng | Mã thao tác | | Tên thanh gh = Hau hét str dung:
= Dinh dia chi tuong déi
Trang 3111.3 Hoạt động của CPU Giản đồ trạng thái chu kỳ lệnh Nhận từ bệ - Từ bộ nhớ - Ra bộ nhó nhớ chính - Từ công vàc - Đến cơng ra Nhận tốn Cắt toán Nhận lệnt hạng hạng
địa chỉ của Xác định lệnF Tính địa chỉ toán hang Tinh địa chỉ toán hang ens 3 Có Ngắt
Lệnh tiếp thec Lệnh xử ly STRING hay VECTOR Không
Trang 32
11.3 Hoạt động của CPU
Truy xuất lệnh
4 CPU đưa địa chỉ của lệnh cân nhận từ thanh ghi 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
trong thanh ghi lệnh LIR
€® CPU tăng nội dung của PC để trỏ sang lệnh kê tiếp
Trang 33
11.3 Hoạt động của CPU Minh họa quá trình truy xuất lệnh CPU
PC : Bộ đếm chương trình Bus Bus Bus
IR : Thanh ghi lệnh dia dữ điệu
chỉ liệu khiển
Trang 34
11.3 Hoạt động của CPU
Giải mã lệnh
4 Lệnh từ thanh ghi lệnh IR được đưa đến đơn vị điêu khiên
@ Don vi diéu khién tiên hành giải mã lệnh đề xác định thao tác cần
phải thực hiện
Nhận toán hạng
$*CPU đưa địa chỉ của toán hạng ra bus địa chỉ
CPU phát tín hiệu điều khiến đọc
® Tốn hạng được chuyên vào trong CPU
Trang 35
11.3 Hoạt động của CPU
Nhận toán hạng gián tiếp
@ CPU dua dia chỉ ra bus địa chỉ
CPU phát tín hiệu điều khiến đọc
® Nội dung ngăn nhớ được chuyên vào CPU, đó chính là địa chỉ của
toán hạng
$*CPU phát địa chỉ này ra bus địa chỉ
CPU phát tín hiệu điều khiến đọc
€ Nội dung của toán hạng được chuyên vào CPU
Trang 36
11.3 Hoạt động của CPU Minh họa nhận toán hạng gián tiếp CPU —\N|] MAR › K——— TH MeR
MAR (Memory Address Register) :
Thanh ghi địa chỉ bộ nhớ ‘on a điều
MBR (Memory Buffer Register): chỉ liệu khiển Thanh ghi đệm bộ nhớ
Trang 3711.3 Hoạt động của CPU Thực thi lệnh @ Có nhiêu dạng thao tác tùy thuộc vào lệnh $ Có thẻ là: m Đọc/phi bộ nhớ m Vào-ra dữ liệu
m Chuyên dữ liệu giữa các thanh ghi
m Thực hiện phép toán số học hoặc logic
s Truyén diéu khién (ré nhanh)
Trang 38
11.3 Hoạt động của CPU
Ghi toán hạng
@ CPU đưa địa chỉ ra bus địa chỉ
@ CPU dua dữ liệu cần ghi ra bus dữ liệu
® CPU phát tín hiệu điều khiến ghi
® Dữ liệu trên bus dữ liệu được copy đến vị trí xác định
Trang 39
11.3 Hoạt động của CPU Minh họa quá trình ghi toán hạng CPU a I
MAR : Thanh ghi địa chỉ bộ nhớ Bus Bus Bus
MIBR : Thanh ghi đệm bộ nhớ đa dữ điều ch liệu khiển
Trang 40
11.3 Hoạt động của CPU
Ngắt
4 CPU lưu lại giá trị hiện tại của PC (là địa chỉ trở về sau khi hoàn thành ngắt) —
thường lưu vào Stack:
m CPU đưa nội dung của PC ra bus dữ liệu
m CPU đưa địa chỉ (thường được xác định từ con trỏ ngăn xếp SP) ra bus địa chỉ
m CPU phát tín hiệu điều khiến ghi bộ nhớ
m_ Địa chỉ trở về (nội dung của PC) trên bus đữ liệu được lưu vào ngăn nhớ tương ứng ở ngăn xêp
4 CPU nạp vào PC địa chỉ lệnh đầu tiên của chương trình con phục vụ ngắt tương ứng:
m CPU xác định địa chỉ của vector ngắt tương ứng
m CPU phát địa chỉ này ra bus địa chỉ
m CPU phát tín hiệu điều khiến đọc bộ nhớ
m Giá frỊ CỦa V€C{OF ngắt (địa chỉ lệnh đầu tiên của CTC phục vụ ngắt) được chuyển ra bus dữ liệu
m Giá trị này được nạp vào trong PC
Trang 41
11.3 Hoạt động của CPU
b Đường ông lệnh
€ Nguyên tắc của Pipeline: chia chu trình lệnh thành các công đoạn va cho phép thực hiện gối lên nhau theo kiêu dây chuyên
$4 Giả sử chu trình lệnh gom 6 công đoạn với thời gian thực hiện như nhau (T):
m Truy xuất lệnh (Fetch Instruction — F]) m Giải mã lệnh (Decode Instruction — DĨ)
a Tinh dia chi toan hang (Calculate Operand Address — CO) =» Nhdan toan hang (Fetch Operands — FO)
a» Thuc hién lénh (Execute Instruction — EI)
=» Ghi toan hang (Write Operands — WO)
Trang 43
11.3 Hoạt động của CPU
b Đường ông lệnh
Các xung đột của đường ống lệnh
® Xung đột cấu trúc: do nhiều công đoạn dùng chung một tài nguyên (thêm các bộ phận chức năng cân thiết và hữu hiệu)
® Xung đột dữ liệu: lệnh sau sử dụng kết quả của lệnh trước (một bộ phận phân cứng được dùng dé đưa kết quả từ ngõ ra ALU trực tiếp vào một trong các thanh ghi ngõ vào)
® Xung đột điều khiến: do rẽ nhánh gây ra (đóng băng kỹ thuật ông dẫn trong một chu kỳ)