1. Trang chủ
  2. » Luận Văn - Báo Cáo

cấu trúc và chức năng cpu

35 694 9

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 35
Dung lượng 1,42 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

cấu trúc và chức năng cpu

Trang 1

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

FSSGroup_DT8_K50

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

Trang 3

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.

Trang 4

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

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

Trang 5

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

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

Trang 6

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 ghi

 Thanh 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 )

Trang 7

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ệu

 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

Trang 8

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

Trang 9

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

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

Trang 10

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

Trang 11

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

trình gián 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

Trang 12

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

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

Trang 13

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

• Luồng dữ liệu : Chu kỳ nạp

 PC chứa địa chỉ của lệnh tiếp

 Kế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

Trang 14

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

• Luồng dữ liệu : Chu kỳ gián tiếp

N 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ớ đọc

Kết quả (địa chỉ của operand) được chuyển tới MBR

Trang 15

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

Trang 16

IV Kiến trúc Pipeline

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

Trang 17

IV Kiến trúc Pipeline (Tiếp)

Kiến trúc pipeline 6 công đoạ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 quả, có thể, tại nơi các toán hạng đích định vị theo lý thuyết.

• Ghi toán hạng (WO) : Lưu kết quả vào trong bộ nhớ.

Trang 18

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

• Biểu đồ thời gian cho kiến trúc Pipeline

Trang 19

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

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

Trang 20

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

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

Trang 21

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

Trang 22

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

Trang 23

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

• Bộ đệm vòng

Là một bộ nhớ nhỏ tốc độ cao

Duy 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.

Trang 24

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

 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 )

Trang 25

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

 Luôn luôn nạp lệnh đích

 Predict by opcode

 Dựa vào opcode của lệnh rẽ nhánh

 Cho rằng rẽ nhánh sẽ xảy ra vì opcode của nhánh mà không vì cái khác

 Tỷ lệ thành công là hơn 75%

Trang 26

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

• Dự báo nhánh

 Dynamic

Taken/Not taken switch

Dự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

Trang 27

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

• Lưu đồ dự báo

nhánh

Trang 28

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)

Trang 29

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

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

Trang 30

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

Trang 31

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

• Tổ chức thanh ghi trong PowerPC 64 bits

 Thanh ghi tổng quát

 Thanh ghi ngoại lệ

 Thanh ghi điều khiển và trạng thái dấu phảy động

 Thanh ghi điều kiện

 Thanh ghi liên kết

 Thanh ghi đếm

Trang 32

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

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

PowerPC

Trang 33

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

• Định dạng thanh ghi PowerPC

Trang 34

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

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

Trang 35

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

• Xử lý ngắt trong PowerPC

 Các ngắt được chấp nhận trong PowerPC Bảng ngắt

Ngày đăng: 18/11/2014, 08:56

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w