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