Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

TẠI SAO PHẢI DÙNG BỘ XỬ LÝ VECTOR pptx
PREMIUM
Số trang
44
Kích thước
848.1 KB
Định dạng
PDF
Lượt xem
1739

TẠI SAO PHẢI DÙNG BỘ XỬ LÝ VECTOR pptx

Nội dung xem thử

Mô tả chi tiết

1, TẠI SAO PHẢI DÙNG BỘ XỬ LÝ VECTOR ?

Chúng ta đã biết cách để có thể tăng đáng kể hiệu suất của một bộ xử lý

bằng cách thiết lập nhiều lệnh trên một chu kỳ đồng hồ và độ sâu hơn đường

ống dẫn các đơn vị thực hiện để cho phép khai thác lớn hơn của chỉ thị cấp

xử lí song song. Tuy nhiên,bao giờ chúng ta cũng thấy rằng có những khó

khăn lớn trong việc khai thác độ lớn của ILP.

Khi chúng ta tăng cả chiều rộng của vấn đề lệnh và độ độ sâu của ống

dẫn máy tính, chúng ta cũng tăng số lượng các lệnhđộc lập cần thiết để giữ

cho các bộ xử lý hoạt động rộn với công việc hữu ích. Điều này có nghĩa là

sự gia tăng số lượng lệnh thực hiện đồng thời cùng một thời gian. Đối với

một máy tính tự động theo lịch trình, cấu trúc phần cứng, chẳng hạn như cửa

sổ hướng dẫn, sắp xếp lại bộ đệm, và đổi tên thanh ghi tập tin, phải phát

triển để có đủ năng lực để giữ tất cả trong các lệnh trên máy bay, và tệ hơn,

số cổng trên mỗi phần tử của các cấu trúc phải phát triển với vấn đề chiều

rộng . Các logic để theo dõi phụ thuộc giữa tất cả các lệnh trong chuyến bay

bình phương phát triển về số lượng lệnh. Ngay cả một VLIW tĩnh máy dự

kiến, mà thay đổi nhiều khó khăn lên trình tự để biên dịch, thanh ghi yêu cầu

nhiều hơn, các cổng mỗi thanh ghi nhiều hơn, và khóa liên động nguy hiểm

hơn logic (giả định một vấn đề thiết kế hợp phần cứng quản lý các khóa liên

động sau thời gian) để hỗ trợ nhiều hơn trong việc chuyển lệnh, mà tương tự

gây ra mạch tăng hai bậc có kích thước và độ sâu. Sự gia tăng nhanh chóng

trong mạch độ sâu làm khó khăn cho máy tính có thể kiểm soát số lượng

lớn các lệnh chuyển, và do đó giới hạn độ độ sâu thực tế vấn đề độ rộng

đường ống .

Bộ xử lý véc tơ đã được sử dụng thành công từ lâu trước khi lệnh - mức

lệnh máy song song và lấy phương pháp khác để kiểm soát đơn vị chức năng

với nhiều đường ống dẫn độ sâu. Bộ xử lý véc tơ cung cấp thao tác cao cấp

làm việc trên véc tơ - tuyến tính mảng của số. Thao tác véc tơ điển hình có

thể thêm hai phần 64 - phần tử, véc tơ dấu phẩy động để đạt được kết quả

hơn 64 - phần tử véc tơ . Lệnh véc tơ tương đương với toàn bộ vòng lặp, với

mỗi một máy tính lặp đi lặp lại kết quả của 64 phần tử , cập nhật các chỉ số ,

và phân nhánh ở đầu. Lệnh véc tơ có vài thuộc tính quan trọng giải quyết

hầu hết các vấn đề đề cập ở trên :

■ lệnh véc tơ đơn xác định nhiều công việc - nó tương đương với thực

hiện toàn bộ vòng lặp. Mỗi lệnh đại diện cho hàng chục hoặc hàng trăm thao

tác, và vì thế tìm nạp lệnh và giải mã băng thông cần giữ nhiều đơn vị chức

năng là giảm đáng kể thao tác của các đường ống dẫn độ sâu.

1

■ bằng cách sử dụng lệnh véc tơ, trình biên dịch hoặc lập trình viên cho

thấy tính toán mỗi lệnh đến véc tơ không lệ thuộc vào tính toán khác mà

lệnh đến véc tơ giống nhau và phần cứng không cần phải kiểm tra những

kho khăn về dữ liệu trong lệnh véc tơ. Phần tử trong véc tơ có thể tính toán

sử dụng mảng của đơn vị xử lí song song, hoặc rất độ sâu đơn vị chức năng,

hoặc bất kỳ cấu hình trung gian của xử lí song song và đường ống dẫn đơn

vị chức năng.

■ Phần cứng chỉ cần kiểm tra những khó khăn về dữ liệu giữa hai véctơ

lệnh một lần mỗi toán hạng véc tơ, không kiểm tra cho mỗi một phần tử

trong véc tơ. Điều đó có nghĩa là tính phụ thuộc kiểm tra lôgic cần thiết giữa

hai véc tơ lệnh là khoảng như bắt buộc giữa hai lệnh vô hướng, nhưng bây

giờ nhiều thao tác căn bản có thể đang chuyển cho độ độ sâu hơn tương tự

của lôgic điều khiển .

■ lệnh Véc tơ được bộ nhớ truy cập có mẫu truy cập biết đến. Nếu tất cả

các phần tử của véc tơ được liền kề, vậy thì tìm nạp xen kẽ nhiều véc tơ từ

tập hợp các bộ nhớ máy tính làm việc rất tốt . Độ trễ cao của khởi xướng

truy cập bộ nhớ chính đối với truy cập bộ nhớ cache được truyền lại, vì truy

cập đơn được khởi tạo cho toàn bộ véc tơ thay vì đến một từ riêng lẻ. Vì

vậy, chi phí của độ trễ cho bộ nhớ chính là xem toàn bộ véc tơ một lần, thay

vì mỗi lần đối với mỗi từ của véc tơ.

■ Vì toàn bộ vòng lặp được thay bằng lệnh véc tơ được thực hiện là xác

định trước, những hiểm nguy điều khiển thường phát sinh từ nhánh vòng lặp

là không còn nữa.

Vì những lý do này, thao tác véc tơ có thể làm nhanh hơn dãy các thao

tác ống xoắn trên cùng một số các tập dữ liệu, và người thiết kế được thúc

đẩy để bao gồm đơn vị véc tơ nếu lĩnh vực ứng dụng có thể sử dụng chúng

thường xuyên.

Như đã đề cập trên đây, ống dẫn bộ xử lý véc tơ và đặt ngang hàng thao

tác trên các phần tử riêng lẻ của véc tơ. Thao tác bao gồm không những phép

toán số học ( phép nhân,v.v..), mà còn cơ sở dữ liệu bộ nhớ và hiệu quả tính

toán địa chỉ. Ngoài ra, hầu hết bộ xử lý véc tơ cao cấp để nhiều lệnh véc tơ

được tiến hành cùng một lúc, tạo ra tính tương đương giữa thao tác trên véc

tơ khác nhau.

Bộ xử lý véc tơ có hữu ích đặc biệt lớn cho khoa học và kỹ thuật ứng

dụng, bao gồm mô phỏng các vụ đâm xe và dự báo thời tiết, theo đó việc

điển hình có thể lấy hàng tá giờ thời gian siêu máy tính chạy trên thiết lập dữ

liệu nhiều gigabyte. Ứng dụng đa phương tiện cũng có ứng dụng từ xử lý

véc tơ, khi chúng chứa nhiều dữ liệu tính tương đương và dữ liệu luồng với

2

quy trình lớn. Đường ống dẫn bộ xử lý cao tốc sẽ thường dùng bộ nhớ cache

để tránh sự dàng buộc lệnh tham chiếu bộ nhớ phải có độ trễ rất dài. Tuy

nhiên ,một số lớn các chương trình khoa học có thiết lập dữ liệu thao tác rất

lớn là thỉnh thoảng truy cập với địa chỉ thấp, lam cho khả năng truy cập kém

từ hệ thống phân cấp bộ nhớ. Vấn đề này có thể khắc phục bằng cách lưu trữ

tạm vào bộ nhớ cache cấu trúc này nếu nó được xác định mẫu hình truy cập

bộ nhớ và ống dẫn truy cập bộ nhớ hiệu quả. Kiến trúc bộ nhớ cache tiểu

thuyết và trợ giúp trình biên dịch qua tạo khối cô lập và prefetching đang

giảm vấn đề hệ thống phân cấp bộ nhớ này, bù lại chúng tiếp tục nghiêm túc

trong ứng dụng nào đó.

2, KIẾN TRÚC VECTOR CĂN BẢN:

Bộ xử lý véc tơ thường bao gồm đơn vị ống dẫn vô hướng bình thường

cộng đơn vị véc tơ. Tất cả đơn vị chức năng trong đơn vị véc tơ có độ trễ của

vài chu kỳ đồng hồ. Điều này cho phép thời gian chu kỳ đồng hồ ngắn và

tương thích với thao tác véc tơ liên tục lâu dài có thể độ sâu đường ống dẫn

không có tạo ra những sai lầm. Hầu hết mọi bộ xử lý véc tơ để véc tơ được

xử lý số dấu phẩy động như số nguyên, hay như dữ liệu logic. Ở đây chúng

ta sẽ chú trọng vào việc trôi nổi điểm. Đơn vị vô hướng là về cơ bản chẳng

khác gì so với cải thiện đường ống dẫn CPU, và thương mại máy véc tơ có

bao gồm cả hai đơn vị vô hướng (NEC SX / 5 ) và đơn vị vô hướng VLIW

( Fujitsu VPP5000 ).

2.1, Có hai chính kiểu kiến trúc cho bộ xử lý véc tơ :- bộ xử lý thanh

ghi véc tơ và bộ xử lý bộ nhớ - bộ nhớ véc tơ .

Ở bộ xử lý thanh ghi véc tơ , tất cả thao tác véc tơ ngoại trừ nạp vào và

lưu trữ là một trong số thanh ghi véc tơ. Kiến trúc này là đối tác là hàm véc

tơ của nạp vào - lưu trữ kiến trúc. Tất cả máy tính véc tơ từ cuối những năm

1980 sử dụng kiến trúc thanh ghi véc tơ , bao gồm bộ xử lý Nghiên cứu

Cray ( Cray - 1, Cray - 2, X - MP, Y - MP, C90, T90, và SV1 ), siêu máy

tính Nhật Bản ( NEC SX / 2 qua SX / 5, Fujitsu VP200 qua VPP5000, và

Hitachi S820 và S - 8300 ), và siêu máy tính váy ngắn ( Convex C - 1 qua C

- 4 thể hiện ). Ở bộ nhớ - bộ nhớ véc tơ bộ xử lý, tất cả thao tác véc tơ là bộ

nhớ đến bộ nhớ. Máy tính véc tơ đầu tiên đều loại này, khi đã máy tính véc

tơ của CDC. Chúng ta bắt đầu bằng véc tơ - thanh ghi bộ xử lý bao gồm

thành phần chính được chỉ ra ở hình G.1. bộ xử lý Này, rất lỏng lẻo dựa trên

Cray - 1, là nền tảng cho thảo luận khắp hầu hết phụ lục này. Chúng ta sẽ gọi

nó VMIPS ; phần vô hướng của nó là MIPS, và véc tơ của nó phần là véc tơ

logic mở rộng MIPS. Phần còn lại phần này kiểm tra cách kiến trúc cơ bản

của VMIPS liên quan đến bộ xử lý khác.

3

2.2, Thành phần chính của kiến trúc tập lệnh của VMIPS gồm những

thành phần sau đây:

■ thanh ghi Véc tơ - Mỗi véctơ thanh ghi là ngăn nhớ có độ dài cố định

giữ véc tơ đơn. VMIPS có 8 thanh ghi véc tơ, và mỗi thanh ghi véc tơ giữ 64

phần tử. Mỗi thanh ghi véc tơ phải có Ít nhất hai đọc cổng và một cổng ghi

trong VMIPS. Điều này sẽ cho phép bằng cấp cao của chồng lấp những thao

tác véc tơ để thanh ghi véc tơ khác nhau. ( Chúng ta không coi vấn đề về

ngắn tuổi véc tơ - thanh ghi cổng. Ở máy thực điều này sẽ dẫn đến nguy cơ

cấu trúc. ) Đọc và ghi cổng, tổng số ít nhất 16 cổng đọc và 8 cổng ghi, được

kết nối đến đơn vị chức năng đầu vào và đầu ra bằng cặp thanh giằng. ( Mô

tả về véc tơ - thanh ghi tập tin thiết kế đã được đơn giản hóa ở đây. Máy

thực sử dụng mẫu truy cập thường xuyên trong lệnh véc tơ để giảm chi phí

của véc tơ - thanh ghi tập tin hệ mạch [ Asanovic 1998 ]. Chẳng hạn như,

Cray - 1 quản lý để triển khai thanh ghi tập tin chỉ với cổng đơn mỗi thanh

ghi. )

■ đơn vị chức năng Véc tơ - Mỗi đơn vị hoàn toàn pipelined và có thể bắt

đầu thao tác mới trên mỗi chu kỳ đồng hồ. Thiết bị điều khiển cần có để phát

hiện những sai lầm, cả hai từ tranh chấp cho đơn vị chức năng ( những hiểm

nguy cấu trúc ) và từ tranh chấp cho truy cập thanh ghi ( những hiểm nguy

dữ liệu ). VMIPS có năm đơn vị chức năng, như đã nêu trong Hình vẽ G.1.

để dễ hiễu, chúng ta sẽ dành riêng tập trung vào đơn vị chức năng dấu phẩy

động. Tùy vào bộ xử lý véc tơ, thao tác vô hướng hoặc sử dụng đơn vị chức

năng véc tơ hoặc sử dụng thiết lập dành riêng. Chúng ta giả định đơn vị chức

năng được chia sẻ, nhưng lại, để dễ hiễu, chúng ta bỏ qua mâu thuẫn tiềm

ẩn.

4

Tải ngay đi em, còn do dự, trời tối mất!