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 )

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

XỬ

LÝ TRUNG TÂM (CPU)
Phan Trung Kiên
2
Nội dung chương 4


Cấu trúc chung của bộ

xử




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
3
Sơ đồ

cấu trúc cơ bản của CPU
Phan Trung Kiên
4
Cấu trúc chung của bộ

xử


(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
5
Cấu trúc chung của bộ

xử


(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
6
Cấu trúc chung của bộ

xử


(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 ngoài
vào



Xử

lý dữ

liệu: Lệnh có

thể

yêu cầu thực hiện một phép toán
nào đó


Ghi dữ

liệu: Lệnh có

thể

yêu cầu cất kết quả

ra ngoài
Ngoài ra, trong quá

trình thực hiện chương trình còn
nhận

các yêu cầu từ


bên ngoài, xử



các yêu cầu đó
Phan Trung Kiên
7
BXL với bus hệ

thống
Phan Trung Kiên
8
Cấu trúc bên trong của BXL
Phan Trung Kiên
9
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
10
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
11
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
12
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
13
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 yêu cầu từ

bên ngoài, xử

lý các tín hiệu
đó.
Phan Trung Kiên
14
Mô hình kết nối KĐK
Khối điều
khiển
Thanh ghi lệnh
Các t/h điều
khiển bên
trong BXL
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
Các cờ

. . .

Xung
nhịp
Bus hệ

thống
Phan Trung Kiên
15
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:


T
0



chu kỳ

của xung nhịp


Mỗi thao tác của BXL cần k.T
0
, k ? N



Tần số xung đồng hồ: f
0

= 1/T
0




dụ: máy tính dùng BXL có

tốc độ

5GHz
Ta có: f
0

= 5GHz = 5*10
9
Hz ? T
0

= 1/f
0

= 1/(5*10
9
) = 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
T
0
Phan Trung Kiên
16
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 ngoài BXL:


Điều khiển bộ

nhớ


Điều khiển các modul vào-ra
Phan Trung Kiên
17
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

18
Đơn vị điều khiển vi chương trình
Phan Trung Kiên
19
Đơ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ã 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
Phan Trung Kiên
20
Đơn vị điều khiển nối kết cứng
Phan Trung Kiên
21
Đơ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
22
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
23
Mô hình kết nối ALU
ALU
Thanh ghi cờ
Dữ

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

liệu vào từ


các
thanh ghi
T/h điều khiển từ
KĐK
Phan Trung Kiên
24
Hoạt động của CPU


Chu trình lệnh


Nhận lệ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
Phan Trung Kiên
25

Giản đồ

trạng thái của chu kỳ

lệnh
Tính toán
địa chỉ
lệnh
Giải mã
thao tác
lệnh
Tính toán
địa chỉ
toán hạng
Xử

lý dữ
liệu
Tính toán
địa chỉ
toán hạng
Nhận lệnh
Nhận toán
hạng
Cất toán
hạng
Nhiều
toán
hạng
Nhiều

kết
quả
DL dạng
xâu hoặc
vectơ
Kết thúc lênh,
nhận lệnh
tiếp theo
Kiểm tra
ngắt
Ngắt
Không


ngắt

×