123doc.vn cau truc va chuc nang cpu

35
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

Upload: mapp-pq

Post on 10-Dec-2015

260 views

Category:

Documents


5 download

DESCRIPTION

aaaaaa

TRANSCRIPT

Page 1: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 2: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 3: 123doc.vn Cau Truc Va Chuc Nang Cpu

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.

Page 4: 123doc.vn Cau Truc Va Chuc Nang Cpu

I. Tổ chức bộ vi xử lý ( tiếp)

• Cấu trúc CPU với hệ thống Bus

Page 5: 123doc.vn Cau Truc Va Chuc Nang Cpu

I. Tổ chức bộ vi xử lý ( tiếp)

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

Page 6: 123doc.vn Cau Truc Va Chuc Nang 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 )

Page 7: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 8: 123doc.vn Cau Truc Va Chuc Nang Cpu

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)

Page 9: 123doc.vn Cau Truc Va Chuc Nang Cpu

II. Tổ chức thanh ghi (tiếp)

• Ví dụ về sự tổ chức các thanh ghi

Page 10: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 11: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 12: 123doc.vn Cau Truc Va Chuc Nang Cpu

III. Chu trình lệnh (tiếp)

• Biểu đồ trạng thái chu trình lệnh

Page 13: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 14: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 15: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 16: 123doc.vn Cau Truc Va Chuc Nang Cpu

IV. Kiến trúc Pipeline

• Kiến trúc Pipeline 2 công đoạn

Page 17: 123doc.vn Cau Truc Va Chuc Nang Cpu

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ớ.

Page 18: 123doc.vn Cau Truc Va Chuc Nang Cpu

IV. Kiến trúc Pipeline (tiếp)

• Biêu đô thơi gian cho kiến trúc Pipeline

Page 19: 123doc.vn Cau Truc Va Chuc Nang Cpu

IV. Kiến trúc Pipeline (tiếp)

• Ảnh hưởng của rẽ nhánh trong kiến trúc Pipeline

Page 20: 123doc.vn Cau Truc Va Chuc Nang Cpu

IV. Kiến trúc Pipeline (tiếp)

• Kiến trúc Pipeline CPU 6 công đoạn

Page 21: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 22: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 23: 123doc.vn Cau Truc Va Chuc Nang Cpu

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.

Page 24: 123doc.vn Cau Truc Va Chuc Nang Cpu

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 )

Page 25: 123doc.vn Cau Truc Va Chuc Nang Cpu

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%

Page 26: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 27: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 28: 123doc.vn Cau Truc Va Chuc Nang Cpu

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)

Page 29: 123doc.vn Cau Truc Va Chuc Nang Cpu

IV. Kiến trúc Pipeline (tiếp)

• Ví dụ về kiến trúc Pipeline 80486

Page 30: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 31: 123doc.vn Cau Truc Va Chuc Nang Cpu

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

Page 32: 123doc.vn Cau Truc Va Chuc Nang Cpu

VI. Bộ xử lý PowerPC (Tiếp)

• Các thanh ghi người dùng lập trình được trong PowerPC

Page 33: 123doc.vn Cau Truc Va Chuc Nang Cpu

VI. Bộ xử lý PowerPC (Tiếp)

• Định dạng thanh ghi PowerPC

Page 34: 123doc.vn Cau Truc Va Chuc Nang Cpu

VI. Bộ xử lý PowerPC (Tiếp)

• Sự thể hiện của các bit trong thanh ghi điều kiện

Page 35: 123doc.vn Cau Truc Va Chuc Nang Cpu

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