123doc.vn cau truc va chuc nang cpu
DESCRIPTION
aaaaaaTRANSCRIPT
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
hiện có thể yêu cầu được ghi vào bộ nhớ hoặc thiết bị vào ra.
I. Tổ chức bộ vi xử lý ( tiếp)
• Cấu trúc CPU với hệ thống Bus
I. Tổ chức bộ vi xử lý ( tiếp)
• Cấu trúc bên trong của CPU
II. Tổ chức thanh ghi
• Là nơi CPU lưu trữ tạm thời dữ liệu và lệnh mà CPU sẽ thực hiện
• Số lượng và chức năng của các thanh ghi là thay đổi giữa các bản thiết kế
• Có 2 loại thanh ghiThanh ghi người dùng lập trình được (User Visible
Registers )Thanh ghi trạng thái và điều khiển ( Control and
Status Registers )
II. Tổ chức thanh ghi (tiếp)
• Thanh ghi người dùng lập trình được Thanh ghi đa năng
Có thể được gán nhiều chức năng khác nhau : cho dữ liệu hoặc cho việc đánh địa chỉ
Thanh ghi dữ liệuLà 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 ghiCá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âmSố 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 Các bộ xử lý khác nhau thì có sự tổ chức thanh ghi là khác nhau. Có 4 loại thanh ghi cơ bản để thực thi lệnh
Program Counter(PC) : Chứa địa chỉ của lệnh được nạp Instruction Decoding Register (IR) : Chứa lệnh được nạp gần nhất Memory Address Register (MAR) : Chứa địa chỉ của một vùng trong bộ nhớ Memory Buffer Register (MBR) : Chứa từ của dữ liệu được viết vào bộ nhớ
hoặc từ được nạp gần nhất PSW (Program Status Word ) : Một thanh ghi hoặc 1 tập các thanh
ghi chứa thông tin trạng thái PSW chứa mã điều kiện và các thông tin trạng thái khác
Sign ( cờ dấu ) Zero ( Cờ 0 ) Carry ( cờ nhớ ) Equal Overflow ( cờ tràn ) Interrupt enable/disable. Supervisor(cờ giám sát)
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 đâyNạp: đọc lệnh tiếp theo từ bộ nhớ vào CPUThực thi: Biên dịch opcode và sử dụng các điều khiển chỉ dẫnNgắ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 trinh gian tiêp: 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ỳ nạpPC chứa địa chỉ của lệnh tiếp
theoĐịa chỉ được chuyển tới
MARĐịa chỉ được đặt trên địa chỉ
busĐiều khiển đơn vị truy vấn
bộ nhớ đọcKết quả đặt trên bus dữ liệu,
được sao chép tới MR, sau đó tới IR
Trong lúc đó PC được tăng lên 1
III. Chu trình lệnh (tiếp)
• Luồng dữ liệu : Chu kỳ gián tiếpN bit bên phải của MBR được chuyển tới MARĐiều khiển đơn vị truy xuất bộ nhớ đọcKết quả (địa chỉ của operand) được chuyển tới MBR
III. Chu trình lệnh (tiếp)
• Luồng dữ liệu : Chu kỳ ngắtĐơn giảnCó thể đoán trướcPC 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)
Kiến trúc pipeline 6 công đoạnBao gồm:• Truy xuất lệnh (FI): Đoc lệnh được mong đợi tiếp theo vào một bộ
đệm.• Giai ma lệnh (DI): Xác định ma hoạt động và các toán hạng ly
thuyết.• Tinh toán các toán hạng (CO): Tinh toán địa chỉ hiệu dung của môi
toán hạng nguôn. Điêu này co thê bao hàm sư dịch chuyên, gián tiếp thanh ghi, trưc tiếp, hay các dạng khác của địa chỉ tinh toán.
• Truy xuất các toán hạng (FO): Truy xuất từng toán hạng từ bộ nhớ. Các toán hạng trong các thanh ghi không cần được truy xuất.
• Thưc thi lệnh (EI): Thưc hiện các điêu khiên được chỉ dân và lưu kết qua, co thê, tại nơi các toán hạng đich định vị theo ly thuyết.
• Ghi toán hạng (WO) : Lưu kết qua vào trong bộ nhớ.
IV. Kiến trúc Pipeline (tiếp)
• Biêu đô thơi gian cho kiến trúc Pipeline
IV. Kiến trúc Pipeline (tiếp)
• Ảnh hưởng của rẽ nhánh trong kiến trúc Pipeline
IV. Kiến trúc Pipeline (tiếp)
• Kiến trúc Pipeline CPU 6 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ướcBộ đệm vòngSự 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.Đích này sau đó được lưu lại tới khi lệnh rẽ nhánh được thực
hiệnSử dụng trong IBM 360/91
IV. Kiến trúc Pipeline (tiếp)
• Bộ đệm vòngLà một bộ nhớ nhỏ tốc độ caoDuy trì bởi giai đoạn tìm nạp lệnh của pipeline.Kiểm tra bộ đệm trước khi tìm nạp từ bộ nhớ.Phù hợp cho các lệnh lặp hoặc lệnh nhảy nhỏ.Nguyên lý tương tự như một bộ nhớ cache dành cho các lệnh.
IV. Kiến trúc Pipeline (tiếp)
• Dự báo nhánh Phân loại dự báo nhánh
Static Dự báo trức khi chạy Bao gồm
Predict never taken 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 takenCho rằng lệnh nhảy sẽ không xảy raLuôn luôn nạp lệnh tiếp theo
Predict always takenCho rằng lệnh nhảy sẽ xảy raLuôn luôn nạp lệnh đích
Predict by opcodeDựa vào opcode của lệnh rẽ nhánhCho rằng rẽ nhánh sẽ xảy ra vì opcode của
nhánh mà không vì cái khácTỷ lệ thành công là hơn 75%
IV. Kiến trúc Pipeline (tiếp)
• Dự báo nhánh Dynamic
Taken/Not taken switchDựa vào quá trình trước đóPhù hợp cho vòng lặp
Branch history table( Bảng quá trình rẽ nhánh )Là một bộ nhớ Cache nhỏ kết hợp với tầng tìm nạp
lệnh của pipeline Mỗi entry trong bảng bao gồm 3 thành phần:
Địa chỉ của lệnh rẽ nhánh, Một vài bit quá trình ghi lại trạng thái sử dụng của lệnh đó, Thông tin về lệnh đích
IV. Kiến trúc Pipeline (tiếp)
• Lưu đồ dự báo nhánh
Đoc lệnh rẽ nhánh co điêu kiện tiếp theo
Dư báo được thưc hiện
Rẽ nhánh được thưc hiện
Đoc lệnh rẽ nhánh co điêu kiện tiếp theo
Dư báo được thưc hiện
Rẽ nhánh được thưc hiện
Đoc lệnh rẽ nhánh co điêu kiện tiếp theo
Rẽ nhánh được thưc hiện
Đoc lệnh rẽ nhánh co điêu kiện tiếp theo
Dư báo không được thưc hiện
Rẽ nhánh được thưc hiện?
Dư báo không được thưc hiện
Yes
No
Yes
Yes
No No
NoYes
IV. Kiến trúc Pipeline (tiếp)
• Intel 80486 Pipelining• Tìm nạp (Fetch)
• Giải mã giai đoạn 1 (D1)
• Giải mã giai đoạn 2 (D2)
• Thực hiện (EX)
• Ghi lại (WB)
IV. Kiến trúc Pipeline (tiếp)
• Ví dụ về kiến trúc Pipeline 80486
VI. Bộ xử lý PowerPC
• Giới thiệu về PowerPC Viết tắt của Power Performance Computing –
PPC Một loại vi xử lý RISC do Motorola chế tạo, đang
cạnh tranh với Intel Pentium Được IBM dùng cho dòng máy RS/6000 Được Apple Corporation dùng làm bộ xử lý cho
thế hệ kế tiếp của máy tính Macintosh Số bits 32/64 bits
VI. Bộ xử lý PowerPC(Tiếp)
• Tổ chức thanh ghi trong PowerPC 64 bitsThanh ghi tổng quátThanh ghi ngoại lệThanh ghi điều khiển và trạng thái dấu phảy độngThanh ghi điều kiệnThanh ghi liên kếtThanh ghi đếm
VI. Bộ xử lý PowerPC (Tiếp)
• Các thanh ghi người dùng lập trình được trong PowerPC
VI. Bộ xử lý PowerPC (Tiếp)
• Định dạng thanh ghi PowerPC
VI. Bộ xử lý PowerPC (Tiếp)
• Sự thể hiện của các bit trong thanh ghi điều kiện
VI. Bộ xử lý PowerPC (Tiếp)
• Xử lý ngắt trong PowerPC Các ngắt được chấp nhận trong PowerPC
Bang ngăt