Cấu trúc và chức năng CPU
Giảng viên hướng dẫn : TS.Nguyễn Tiến Dũng
Nhóm sinh viên : Nhóm
FSSGroup_DT8_K50
Thành viên : Trịnh Văn Sơn
Phạm Hải Tuấn
Phạm Gia Như
Nguyễn Thanh Hải
Nguyễn Thị Xuyên
Nguyễn Thị Thùy
Nội dung
1. Tổ chức bộ vi xử lý
2. Tổ chức thanh ghi
3. Chu trình dòng lệnh
4. Kiến trúc Pipeline
5. Bộ xử lý PowerPC
I. Tổ chức bộ vi xử lý
Các chức năng của CPU
Nạp lệnh ( Fetch Instructions ) : CPU đọc 1 lệnh từ bộ nhớ
Biên dịch lệnh ( Interpret Instructions ) : Lệnh được mã hóa
để xác định hành động gì được yêu cầu.
Nạp dữ liệu ( Fetch Data ) : Sự thực thi 1 lệnh có thể yêu cầu
dữ liệu đang đọc từ bộ nhớ hoặc từ thiết bị vào ra
Xử lý dữ liệu ( Process Data ) : Một lệnh thi hành có thể phải
sử dụng một vài phép toán số học hoặc logic trên dữ liệu
Ghi dữ liệu ( Write Data ) : Kết quả của một thao tác thực
Là các thanh ghi tích lũy
Thanh ghi địa chỉ
Con trỏ đoạn (Segment pointers) : Nắm giữ địa chỉ cơ sở của thanh ghi
Các thanh ghi chỉ số (Index Registers ) :Được sử dụng cho việc đánh địa
chỉ
Con trỏ Stack (Stack pointers) : Thanh ghi chuyên dụng trỏ đến đỉnh
của ngăn xếp (Stack) , cho phép địa chỉ hóa ẩn
Các thanh ghi mã điều kiện (Flags)
Các bit được thiết lập bởi phần cứng CPU như là một kết quả của phép
toán.
Các vấn đề cần quan tâm
Số lượng thanh ghi
Độ dài các thanh ghi
II. Tổ chức thanh ghi (tiếp)
Thanh ghi trạng thái và điều khiển
Điều khiển hoạt động của CPU
Các thanh ghi này là ẩn với người sử dụng
5* 6 ??
II. Tổ chức thanh ghi (tiếp)
Ví dụ về sự tổ chức các thanh ghi
III. Chu trình lệnh
Chu trình vòng lệnh gồm các chu trình con dưới đây
Nạp: đọc lệnh tiếp theo từ bộ nhớ vào CPU
Thực thi: Biên dịch opcode và sử dụng các điều khiển chỉ dẫn
Ngắt: Nếu ngắt được kích hoạt và một ngắt đã xuất hiện, lưu trạng thái
lệnh hiện tại và phục vụ ngắt
III. Chu trình lệnh (Tiếp)
Để cụ thể hóa chu trình lệnh, chúng ta phải đưa vào một chu trình con, gọi là chu
trnh gin tip:
Có thể yêu cầu bộ nhớ truy nhập để truy xuất các operand
Địa chỉ gián tiếp yêu cầu nhiều bộ nhớ truy nhập hơn
Có thể xem như chu trình lệnh phụ thêm vào
III. Chu trình lệnh (tiếp)
Biểu đồ trạng thái chu trình lệnh
III. Chu trình lệnh (tiếp)
Luồng dữ liệu : Chu kỳ ngắt
Đơn giản
Có thể đoán trước
PC hiện tại được lưu để cho
phép khôi phục sau khi
ngắt
Nội dung của PC được sao
chép tới MBR
Vị trí bộ nhớ đặc biệt ( như
con trỏ ngăn xếp) được nạp
vào MAR
MBR được ghi vào bộ nhớ
PC được nạp với địa chỉ
của chương trình con quản
lý ngắt
Lệnh tiếp theo ( đầu tiên
của trình quản lý ngắt) có
thể được truy xuất
IV. Kiến trúc Pipeline
Kiến trúc Pipeline 2 công đoạn
IV. Kiến trúc Pipeline (tiếp)
Phân chia với các lệnh rẽ nhánh
Đa dòng
Đích rẽ nhánh tìm nạp trước
Bộ đệm vòng
Sự dự báo nhánh
IV. Kiến trúc Pipeline (tiếp)
Đa dòng
Có 2 xử lý liên lệnh
Tìm nạp trước mỗi nhánh rẽ vào một xử lý liên lệnh riêng biệt
Xử dụng xử lý liên lệnh tương thích
Nạp vào bộ nhớ kết hợp bus & thanh ghi
Nhiều nhánh nạp vào xử lý liên lệnh sau đó là cần thiết
Đích rẽ nhánh tìm nạp trước
Đích của lệnh rẽ nhánh được tìm nạp trước, thêm vào đó là các
lệnh theo sau lệnh rẽ nhánh.
Predict always taken
Predict by opcode
Dynamic
Có thể thay đổi trong khi thực thi chương trình
Bao gồm
Taken/Not taken switch
Branch history table( Bảng quá trình rẽ nhánh )
IV. Kiến trúc Pipeline (tiếp)
•
Dự báo nhánh
Static
Predict never taken
Cho rằng lệnh nhảy sẽ không xảy ra
Luôn luôn nạp lệnh tiếp theo
Predict always taken
Cho rằng lệnh nhảy sẽ xảy ra