1. Trang chủ
  2. » Ngoại Ngữ

kien truc may tinh

33 7 0

Đ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

Nội dung

việc gì, chỉ để trì hoãn thời gian) hoặc hoãn việc nạp (fetch) sang lệnh kế (trong 2 chu kỳ clock).  Nhược điểm: Điều kiện rẽ nhánh phải làm đến 3.[r]

(1)

KIẾN TRÚC MÁY TÍNH &

HỢP NGỮ

(2)

Cải thiện tốc độ?

2

Có cách tiếp cận phổ biến:

Latency:

Thời gian

hồn thành cơng việc nhất

định

 Ví dụ: Thời gian để đọc sector từ đĩa gọi disk

access time disk latency

(3)

Giải pháp giặt ủi

(4)

Pipeline

4

 Pipeline giải pháp giúp tăng tốc theo kiểu

Latency, mà Throughput toàn công việc giao

 Trên lượng tài nguyên không đổi, công việc tiến hành song song thay tuần tự, cơng việc chạy pipepline (đường ống)

 Pipelining kỹ thuật thực lệnh lệnh

(5)

Pipeline

5

Khả tăng tốc phụ thuộc vào số lượng đường

ống (pipeline) sử dụng

Thời gian chảy đầy (fill) đường ống và

Thời gian để làm khô (drain) làm giảm khả

năng tăng tốc

 Ví dụ giặt ủi khơng tính thời gian fill drain

(6)

Pipeline

6

 Giả sử máy giặt giặt 20 phút, gấp đồ 20 phút Vậy dùng giải pháp pipeline nhanh bình thường bao nhiêu?

 Tổng thời gian cho giải pháp pipeline bị giới hạn thời gian thực thi đường ống chậm

(7)

Các bước thực thi lệnh MIPS

7

 IFtch: Instruction Fetch, Increment PC (Nạp lệnh)

 Dcd: Instruction Decode, Read Registers (Giải mã lệnh)  Exec: (Thực thi)

 Mem-ref: Calculate Address (Tính tốn địa tốn hạng)  Arith-log: Perform Operation (Tính tốn số học, luận lý)

 Mem: (Lưu chuyển với nhớ)

 Load: Read Data from Memory  Store: Write Data to Memory

(8)(9)

Ý tưởng Pipeline

(10)(11)

Các trở ngại (Hazards) pipeline

11

 Structural hazards: nhiều lệnh dùng chung tài nguyên thời điểm

 Data hazard: lệnh sau sử dụng liệu kết lệnh trước

 Control hazard: rẽ nhánh gây ra, lệnh sau phải đợi kết rẽ nhánh lệnh trước

 Gây tượng “stalls” “bubbles”

(12)(13)

Structural hazards #1:

Single memory

13

Giải pháp:

Tạo nhớ đệm

Cache Level

trên CPU

 L1 Instruction Cache L1 Data Cache

Càn phần cứng phức tạp để điều

(14)(15)

Structural hazards #2:

Registers

15

Có giải pháp khác dùng:

RegFile có tốc độ truy cập nhanh (thường ít

hơn nửa thời gian thực thi ALU tính

chu kỳ clock)

 Write vào RegFile suốt nửa đầu chu kỳ clock  Read từ RegFile nửa chu kỳ clock lại

(16)(17)

Control hazard: Rẽ nhánh

17

 Chúng ta phải đặt điều kiện rẽ nhánh vào ALU

 Do có lệnh sau phần rẽ nhánh

fetch, điều kiện rẽ nhánh có thực hay khơng

 Nếu không thực rẽ nhánh  Cứ thực thi theo trình tự bình thường

(18)

Control hazard: Rẽ nhánh

18

Giải pháp ban đầu:

Trì hỗn (stall) khi

điều kiện rẽ nhánh thực hiện

Chèn lệnh rác “no-op”

(chẳng thực hiện

việc gì, để trì hỗn thời gian) hoặc

hỗn việc

nạp (fetch) sang lệnh kế (trong chu kỳ clock)

(19)

Control hazard: Optimization 1

19

Giải pháp tối ưu hoá 1:

 Chèn thêm phép so sánh rẽ nhánh đặc biệt

Stage (decode)

 Ngay sau lệnh decode, định

giá trị cho ghi PC

 Lợi ích: Bởi điều kiện rẽ nhánh làm xong

stage 2, nên có lệnh khơng cần thiết nạp

(20)(21)

Minh hoạ

(22)(23)

Control hazard: Optimization 2

23

 Giải pháp tối ưu hoá 2: Tái định nghĩa rẽ nhánh

 Định nghĩa cũ: Nếu thực rẽ nhánh

khơng có lệnh sau lệnh rẽ nhánh làm cách “vơ tình” (khơng mong muốn)

 Định nghĩa mới: Bất thực rẽ nhánh,

lệnh sau lệnh rẽ nhánh thực thi (gọi branch-delay slot)

 Ý nghĩa: Chúng ta thực thi lệnh phía sau lệnh

(24)

Control hazard: Optimization 2

24

 Lưu ý Branch-Delay Slot:

 Trường hợp xấu nhất: ln phải đặt lệnh no-op

vào branch-delay slot

 Trường hợp tốt hơn: tìm lệnh trước lệnh rẽ

nhánh để đặt branch-delay slot mà không làm ảnh hưởng chương trình

 Thủ cơng: Tái cấu trúc thứ tự lệnh cách làm phổ biến

(25)

Nondelayed vs Delayed

(26)

Data hazards

26

Xem xét dãy lệnh sau:

(27)

Data hazards

(28)(29)

Forwarding không giải được…

29

Giải pháp: Phải trì hỗn lệnh sub lại (stall) sau

(30)(31)

Data hazards: Loads

31

Vị trí lệnh (instruction slot) sau load gọi

là “load delay slot”

Nếu lệnh dùng kết load, hardware

interlock hỗn (stall) chu kỳ

clock

Nếu sau load lệnh không liên quan, khơng

(32)(33)

Homework

33

Ngày đăng: 19/05/2021, 17:44

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w