1. Trang chủ
  2. » Công Nghệ Thông Tin

Tutorials Vbook v0.1-Thủ Thuật UDS part 49 doc

6 215 0
Tài liệu đã được kiểm tra trùng lặp

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 132,88 KB

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

Nội dung

Tiêu chuẩn đánh giá sức mạnh của một CPU : Hiệu năng : Performance = Frequency x Instructions Per Cycle IPC xem PHỤ LỤC 4 Để tăng sức mạnh cho CPU thì 1 trong 2 cách là tăng frequency ,

Trang 1

Tiêu chuẩn đánh giá sức mạnh của một CPU :

Hiệu năng :

Performance = Frequency x Instructions Per Cycle (IPC)

(xem PHỤ LỤC 4)

Để tăng sức mạnh cho CPU thì 1 trong 2 cách là tăng frequency , tức tăng độ dài pipeline lên , ppipeline càng nhiều "tầng" (xem PHỤ LỤC 3) thì frequency max có thể đạt được càng lớn (xem PHỤ LỤC 2)

Tuy nhiên khi tăng độ dài pipeline thì này sinh vẫn đề là số IPC bị giảm xuống (các yếu tố khác giữ nguyên ) cái này đại loại là : mỗi lần thực hiện instruction CPU có khả năng phải truy xuất thông tin trong cache và trong bộ nhớ trung tâm , pipeline càng nhiều tầng thì thời gian truy xuất càng dài dẫn đến việc IPC bị giảm

đi Ngoài ra còn có lí do quan trọng là (xem PHỤ LỤC 1)

Nếu frequency max có thể được đủ lớn để bù được cho sự giảm IPC này thì kiến trúc pipeline dài sẽ mạnh hơn so với kiến trúc pipeline ngắn

Tóm lại là

tăng độ dài pipeline

> IPC giảm

> frequency max tăng

độ dài pipeline của 1 số kiến trúc CPU Intel

Trang 2

20 tầng với core Willamette và Northwood với frequency tối đa 3,4 GHz

31 tầng với core Prescott và Cedar Mill frequency max 5 GHz

45 tầng với core Tejas frequency max 7 GHz (cái này lẽ ra là thế hệ CPU đươc Intel tung ra để tiếp bước kiến trúc netburst của Pen4 nhưng cuối cùng Intel đã thay thế nó bằng Core )

Qua đây có thể thấy rất nhanh vì sao người ta nói Pen4C mạnh hơn Pen4 E , đơn giản bởi vì Pen4 E chưa đạt tới frequency cần thiết để bù lại sự giảm IPC so với Pen4 C Trên lí thuyết Pen4 E có thể đạt đến tốc độ tối đa 5Gz nhưng vì nhiều yếu

tố cản trở như qui trình sản xuất chưa theo kịp dẫn đến hiện tượng CPU tỏa nhiệt

và tiêu tốn quá nhiều năng lượng Ngước lại dòng Pen4 lúc mới được tung ra chạy với frequency dưới 2Ghz cũng chưa tỏ ra thuyết phục , lí do cũng như trên

Pipeline càng nhiều tầng thì CPU càng có khả năng mạnh hơn Tuy nhiên khi đạt tới 1 giới hạn , frequency cao ko thể bù lại sự giảm IPC được nữa Người ta ước tính được số tầng pipeline tối ưu là vào khoảng 55(!) tức là cao hơn rất nhiều so với kiến trúc netburst hiện nay Tất nhiên yếu tố tỏa nhiệt và tiêu thụ điện năng chưa được tính đên

Trong tương lai xa rất có khả năng Intel sẽ phải quay lại với kiến trúc dựa trên pipeline nhiều tầng khi việc tăng IPC ko thể tiếp tục mãi mãi Bên cạnh việc tăng thêm số core , tốc độ vận hành cao vẫn là yếu tố quan trọng để gia tăng sức mạnh cho CPU Vì vậy rất có thể Pen4 vẫn chưa "chết" hẳn như nhiều người lầm tưởng

PHỤ LỤC 1 : Vì Sao CPU nhiều stage pipeline xử lí nhanh hơn nhưng số IPC lại

có xu hướng giảm : do vấn đề xóa và nạp lại ống pipeline giữa các lệnh + vấn đề

Trang 3

tiên đoán nhánh BPU (ThangMMM)cấu trúc pipeline dài khi xử lý những lệnh độc lập thì ưu việt hơn cấu trúc pipeline ngắn do số lệnh được xử lý đồng thời nhiều hơn Tuy nhiên không phải toàn bộ lệnh được xử lý đều là những lệnh độc lập, mà còn một phần khá lớn những lệnh phụ thuộc Đơn giản nhất là những lệnh trong thuật toán xoay vòng: phép tính sau phải chờ kết quả của phép tính ngay trước mới

có thể thực hiện Đây chính là điểm yếu của kiến trúc pipeline dài Khi lệnh trước (vd lệnh 1) được thực hiện ở bậc n+1 của pipeline, lệnh kế sau nó (vd lệnh 2) đã được nạp vào và thực hiện ở bậc n, nhưng nếu lệnh 2 là phụ thuộc kết quả của lệnh

1, thì mặc dù lệnh 2 này vẫn được nạp vào pipeline nhưng nó vẫn không hề được

xử lý Sau khi lệnh 1 xử lý xong, ra kết quả, toàn bộ lệnh trong pipeline hiện thời

dù đang được xử lý ở bậc nào đều phải "tống ra ngoài" để nạp lệnh 2 lại từ bậc đầu tiên Quá trình thải - nạp - xử lý lại này mất rất nhiều thời gian (có 10bậc thì chỉ phải thải, nạp và xử lý lại 10 lệnh, còn có 30 bậc thì ), nên đây chính là nhược điểm lớn của cấu trúc pipeline dài, tuỳ vào từng soft, nhược điểm này sẽ cân bằng, lớn hơn, hoặc nhở hơn so với ưu điểm nói trên

Chính do trong một tập lệnh có sự tồn tại của cả những lệnh độc lập và phụ thuộc, nên trong CPU mới cần bộ tiên đoán nhánh BPU BPU làm nhiệm vụ tiên đoán xem lệnh nào là phụ thuộc, độc lập, và xếp thứ tự chúng sao cho việc xử lý có lợi nhất VD pipeline có 20 bậc thì 2 lệnh phụ thuộc nhau sẽ được xếp cách nhau 19 lệnh khác lúc đó khi lệnh trước vừa xử lý xong ở bậc thứ 20 thì kết quả của nó sẽ được chuyển ngay đến lệnh phụ thuộc kế sau nó vừa được nạp vào bậc 1, và 19 lệnh xen giữa 2 lệnh này vẫn được xử lý bình thường Về BPU thì AMD K8 hơn hẳn P4

PHỤ LỤC 2 : vì sao pipeline dài cho phép cpu chay xung cao (ls2)Một điểm nữa chưa thấy ai đề cập đến: tại sao kiến trúc pipeline dài lại có thể reach được

clockspeed cao hơn kiến trúc pipeline ngắn? Có thể hiểu nôm na rằng pipeline càng dài thì mỗi stage để xử lý 1 instruction càng làm ít việc Từ đó, mỗi stage của kiến trúc này đơn giản hơn mỗi stage của kiến trúc pipeline ngắn rất nhiều Do đó

mà nó có thể có được clockspeed cao hơn kiến trúc pipeline ngắn rất nhiều (ít nhất

là trên lý thuyết)

Trang 4

PHỤ LỤC 3 : stage hay được dịch là đoạn , bậc (ThangMMM)trong các tài liệu về cấu trúc máy tính, mình thấy người ta thường dịch một stage của Pipeline là một đoạn hoặc một bậc chứ ít khi nói là một tầng (tầng thường chỉ độ cao nhiều hơn là

độ dài)

PHỤ LỤC 4 : Công thức chuẩn được viết dưới dạng sau :

i/s = i/c x c/s

i: instruction c: cycle s: second

Trong đó : c/s = frequency , i/c = IPC (số instruction xử lí trong 1 cyc)

Tức là hiệu năng cuối cùng được đo = số instruction/ giây

Từ công thức trên có thể thấy để tăng hiệu năng của CPU thì có thể tăng Frequency hoặc có thể tăng IPC, IPC phụ thuộc vào kiến trúc của CPU

Sức mạnh CPU phụ thuộc vào tốc độ (frequency) và IPC (số instruction thực hiên được trong 1 cycle)

EDIT 1 : bổ xung công thức chuẩn về tính hiệu năng chung cpu của pumbaa ( PHỤ LỤC 4)

EDIT 2 : góp ý của ThangMMM về ưu điểm + khuyết điểm của cấu trúc pipeline dài và cách dịch từ "stage" (PHỤ LỤC 1 và 3)

Trang 5

EDIT 3 : góp ý của ls2 về nhược điểm của cpu long pipeline và tại sao long

pipeline lại cho phép tăng i/s (PHỤ LỤC 2)

EDIT 4 : thêm source của bài viết

Source :

http://www.x86-secret.com/index.php?option=articles&Itemid=3&topid=2# http://www.behardware.com/articles/623-2/intel-core-2-duo-test.html

http://www.x86-secret.com/index.php?option=articles&Itemid=3&topid=2#

1.Trong một pipeline thì một tầng tương đương với một công đoạn xử lý lệnh Một đặc điểm của pipeline kể từ thời vi xử lý pentium là không cần chờ một lệnh xử lý xong hoàn toàn mới xử lý đến lệnh kế tiếp, mà khi lệnh trước xử lý đến giai đoạn n+1 thì lệnh sau đã được nạp vào và đang được xử lý ở giai đoạn n ngay trước đó

Do vậy theo mình kiến trúc pipeline dài tuy có nhược điểm là thời gian truy xuất chậm (theo bạn nói), nhưng lại có ưu điểm là số lệnh được xử lý đồng thời sẽ nhiều hơn Ví dụ pipeline có 30 stage thì số lệnh được xử lý đồng thời là 30

Góp ý chút xíu, trong các tài liệu về cấu trúc máy tính, mình thấy người ta thường dịch một stage của Pipeline là một đoạn hoặc một bậc chứ ít khi nói là một tầng (tầng thường chỉ độ cao nhiều hơn là độ dài)

2.Có điều bro có thể nói rõ được ko vì như vậy sẽ mâu thuẫn với những gì mình viết ở trên : nếu cấu trúc pipeline dài vừa xử lí nhiều lệnh cùng 1 lúc , vừa có tiềm tăng tăng xung cao thì ko ổn

cấu trúc cpu rất phức tạp mình mới tiìm hiểu được rất ít nên bài viết còn rất đại khái chắc ko nên đi sâu quá ko thì quá tải mất

Ngày đăng: 03/07/2014, 04:20

TỪ KHÓA LIÊN QUAN