Tải bản đầy đủ (.pdf) (67 trang)

Bài giảng Kiến trúc máy tính: Chương 4 - Phan Trung Kiên

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (985.78 KB, 67 trang )

Kiến trúc máy tính
Chương 4

BỘ XỬ LÝ TRUNG TÂM (CPU)

1


Nội dung chương 4






Cấu trúc chung của bộ xử lý
Khối điều khiển
Khối số học & logic
Ho?t d?ng c?a CPU
RISC & CISC

Phan Trung Kiên

2


Sơ đồ cấu trúc cơ bản của CPU

Phan Trung Kiên

3




Cấu trúc chung của bộ xử lý
(BXL)


Cấu trúc








Đơ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)
Các thanh ghi (Registers)

Phan Trung Kiên

4


Cấu trúc chung của bộ xử lý
(BXL)



Chức năng





Điều khiển toàn bộ hoạt động của hệ thống
Xử lý dữ liệu

Nguyên tắc hoạt động


BXL hoạt động dựa theo chương trình nằm sẵn trong
bộ nhớ

Phan Trung Kiên

5


Cấu trúc chung của bộ xử lý
(BXL)


Các nhiệm vụ của BXL









Nhận lệnh: nhận lệnh từ bộ nhớ
Giải mã lệnh: Giải mã lệnh được nhận vào để biết lệnh làm gì
Nhận dữ liệu: Lệnh có thể yêu cầu nhận dữ liệu từ bên ngồi
vào
Xử lý dữ liệu: Lệnh có thể u cầu thực hiện một phép tốn
nào đó
Ghi dữ liệu: Lệnh có thể u cầu cất kết quả ra ngồi

Ngồi ra, trong q trình thực hiện chương trình cịn
nhận các u cầu từ bên ngồi, xử lý các u cầu đó

Phan Trung Kiên

6


BXL với bus hệ thống

Phan Trung Kiên

7


Cấu trúc bên trong của BXL

Phan Trung Kiên


8


Phân tích nhiệm vụ của BXL


Nhận lệnh (Fetch Instructions - FI)






Địa chỉ của lệnh cần thực hiện nằm trong bộ đếm
chương trình (PC - Program Counter), được đưa qua
bộ đệm địa chỉ, qua bus địa chỉ để tìm ra ngăn nhớ
chứa lệnh
Tiếp theo, BXL phát ra tín hiệu đọc ngăn nhớ vừa tìm
được
Nội dung của ngăn nhớ được chuyển qua bus dữ liệu
và đưa đến thanh ghi lệnh (Instruction Reg.)

Phan Trung Kiên

9


Phân tích nhiệm vụ của BXL



Giải mã lệnh (Interpret Instructions - II)





Lệnh từ thanh ghi lệnh được đưa đến khối điều khiển
Tại đây, lệnh được giải mã để xác định thao tác mà
lệnh yêu cầu
Khi đó, khối điều khiển sẽ phát ra tín hiệu điều khiển
tương ứng với lệnh đó.

Phan Trung Kiên

10


Phân tích nhiệm vụ của BXL


Nhận dữ liệu (Fetch Data - FD)






BXL phát ra địa chỉ của ngăn nhớ/cổng vào ra chứa
dữ liệu cần nhận

BXL phát ra tín hiệu điều khiển đọc ngăn nhớ/cổng
vào ra tương ứng
Dữ liệu được chuyển qua bus dữ liệu đưa vào tập
thanh ghi bên trong

Phan Trung Kiên

11


Phân tích nhiệm vụ của BXL


Xử lý dữ liệu (Process Data - PD)





Dữ liệu được chuyển từ các thanh ghi vào ALU
ALU sẽ thực hiện các phép toán dưới sự điều khiển
của khối điều khiển
Kết quả phép toán được cất tạm thời vào thanh ghi
dữ liệu

Phan Trung Kiên

12



Khối điều khiển (CU)


Chức năng








ĐK nhận lệnh tiếp theo từ bộ nhớ, đưa vào thanh ghi
lệnh
Tăng nội dung của PC để trỏ sang lệnh tiếp theo
Giải mã lệnh nằm trong thanh ghi lệnh để 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 tín hiệu u cầu từ bên ngồi, xử lý các tín hiệu
đó.

Phan Trung Kiên

13


Mơ hình kết nối KĐK
Thanh ghi lệnh

Các t/h điều

khiển bên
trong BXL

Các cờ . . .

Khối điều
khiển
Xung
nhịp

Các t/h điều
khiển từ bus hệ
thống
Các t/h điều
khiển đến bus
hệ thống

Bus hệ thống
Phan Trung Kiên

14


Các tín hiệu đưa đến KĐK


Nhịp: tín hiệu đồng hồ từ mạch tạo nhịp bên ngoài:

T0










T0 là chu kỳ của xung nhịp
Mỗi thao tác của BXL cần k.T0 , k ? N
Tần số xung đồng hồ: f0 = 1/T0
Ví dụ: máy tính dùng BXL có tốc độ 5GHz
Ta có: f0 = 5GHz = 5*109 Hz ? T0 = 1/f0 = 1/(5*109) = 0.2 ns

Mã lệnh từ thanh ghi lệnh đưa đến để giải mã
Các cờ từ thanh ghi cờ cho biết trạng thái của BXL
Các tín hiệu điều khiển từ bus điều khiển yêu cầu BXL
Phan Trung Kiên

15


Các tín hiệu phát ra từ KĐK


Các tín hiệu điều khiển bên trong BXL:






Điều khiển các thanh ghi
Điều khiển ALU

Các tín hiệu điều khiển bên ngồi BXL:



Điều khiển bộ nhớ
Điều khiển các modul vào-ra

Phan Trung Kiên

16


Các phương pháp thiết kế KĐK


KĐK vi chương trình
(Microprogrammed Control Unit)



KĐK nối kết cứng
(Hardwired Control Unit)

Phan Trung Kiên

17



Đơn vị điều khiển vi chương trình

Phan Trung Kiên

18


Đơn vị điều khiển vi chương trình










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ã hố 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
Phan Trung Kiên


19


Đơn vị điều khiển nối kết cứng

Phan Trung Kiên

20


Đơn vị điều khiển nối kết cứng





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
Tốc độ nhanh
Đơn vị điều khiển phức tạp

Phan Trung Kiên

21


Khối số học và logic (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, NOT, XOR, dịch bit, quay bit

Phan Trung Kiên

22


Mơ hình kết nối ALU
Dữ liệu vào từ các
thanh ghi

ALU

Dữ liệu ra đến các
thanh ghi

T/h điều khiển từ
KĐK

Thanh ghi cờ

Phan Trung Kiên

23



Hoạt động của CPU


Chu trình lệnh







Nhận lệnh
Giải mã lệnh
Nhận tốn hạng
Thực hiện lệnh
Cất toán hạng
Ngắt

Phan Trung Kiên

24


Giản đồ trạng thái của chu kỳ lệnh
Nhận toán
hạng

Nhận lệnh


Cất tốn
hạng
Nhiều
kết
quả

Nhiều
tốn
hạng

Tính tốn
địa chỉ
lệnh

Giải mã
thao tác
lệnh

Kết thúc lênh,
nhận lệnh
tiếp theo

Tính tốn
địa chỉ
tốn hạng

Xử lý dữ
liệu
DL dạng

xâu hoặc
vectơ

Phan Trung Kiên

Tính tốn
địa chỉ
tốn hạng

Kiểm tra
ngắt

Ngắt

Khơng
có ngắt

25


×