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

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

Đ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

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 ■ Véc tơ nạp vào - lưu trữ đơn vị - đây là bộ nhớ véc tơ nạp vào hoặc lưu trữ véc tơ kia hoặc từ bộ nhớ. VMIPS véc tơ nạp vào và lưu trữ được đầy đủ pipelined, sao cho từ có thể di chuyển giữa thanh ghi véc tơ và bộ nhớ Hình vẽ G.1 cấu trúc cơ bản của véc tơ - thanh ghi kiến trúc, VMIPS. Bộ xử lý này có kiến trúc vô hướng cũng giống như MIPS. Cũng có tám phần 64 - phần tử véc tơ thanh ghi, và tất cả đơn vị chức năng là đơn vị chức năng véc tơ. Lệnh véc tơ đặc biệt là định nghĩa cả hai cho số học và cho truy cập bộ nhớ. Chúng ta cho thấy đơn vị véc tơ cho logic và phép toán với số nguyên. Này được bao gồm sao cho VMIPS trông giống như bộ xử lý đồi nhỏ vec chuẩn, thường bao gồm đơn vị này. Tuy nhiên, chúng ta sẽ không được thảo luận đơn vị này ngoại trừ trong bài tập. Véc tơ và vô hướng thanh ghi có số đáng kể của đọc và viết cổng để cho phép thao tác véc tơ đồng thời nhiều. 5 Cổng này được kết nối đến đầu vào và đầu ra của đơn vị véc tơ chức năng bằng tập hợp các thanh giằng ( được chỉ ra trong tuyến xám dày ). Ở Phần G.4 chúng ta thêm chuỗi, sẽ đòi hỏi khả năng liên kết bổ sung với nhau . với băng thông của 1 chữ mỗi chu kỳ đồng hồ, đằng sau độ trễ ban đầu. Đơn vị này bình thường cũng xử lý vô hướng nạp vào và lưu trữ. ■ tập hợp các thanh ghi vô hướng - thanh ghi Vô hướng cũng có thể cung cấp dữ liệu khi đầu vào đến đơn vị véc tơ chức năng , cũng như tính toán xử lý để chuyển đến véc tơ nạp vào - lưu trữ đơn vị. Đây là 32 thanh ghi đa năng bình thường và 32 thanh ghi dấu phẩy động của MIPS. Giá trị vô hướng được đọc ra tập thanh ghi vô hướng, sau đó chốt một đầu vào véc tơ đơn vị chức năng . Hình vẽ G.2 cho thấy đặc điểm của một số bộ xử lý véc tơ điển hình, bao gồm kích thước và số lượng thanh ghi, số và kiểu đơn vị chức năng, và số đơn vị nạp vào - lưu trữ. Cột cuối cùng trong Hình vẽ G.2 cho thấy số của đường chạy trong máy, là số của đường ống dẫn song song được dùng để thực hiện thao tác trong mỗi lệnh véc tơ. đường chạy được mô tả sau này trong Phần G.4 ; ở đây chúng ta giả định VMIPS mỗi véc tơ đơn vị chức năng chỉ có ống dẫn đơn ( một đường). Ở VMIPS, thao tác véc tơ sử dụng tên tương tự khi thao tác MIPS, nhưng với mẫu từ " V " nối. Vì vậy, ADDV. D là thêm của hai độ chính xác gấp đôi véc tơ. Lệnh véc tơ lấy như đầu vào của chúng hoặc cặp thanh ghi véc tơ ( ADDV. D ) hoặc thanh ghi véc tơ và thanh ghi vô hướng, chỉ định bởi nối " Ngược lại " ( ADDVS. D ). Ở người sau thùng máy, giá trị trong thanh ghi vô hướng được dùng làm đầu vào với mọi thao tác - ADDVS thao tác. D sẽ thêm nội dung của thanh ghi vô hướng cho mỗi phần tử trong thanh ghi véc tơ. Giá trị vô hướng được chép trên đến đơn vị chức năng đồi nhỏ vec ở thời gian vấn đề. Hầu hết mọi thao tác véc tơ có thanh ghi đích véc tơ, mặc dù vài ( số đếm dân số ) tạo ra giá trị vô hướng, được lưu trữ đến thanh ghi vô hướng. Tên LV và SV chỉ véc tơ nạp vào và véc tơ lưu trữ, và chúng nạp vào hoặc lưu trữ toàn bộ véc tơ của dữ liệu độ chính xác gấp đôi. Một toán hạng là thanh ghi véc tơ để được nạp vào hoặc lưu trữ; toán hạng kia, là MIPS thanh ghi đa năng, là địa chỉ bắt đầu của véc tơ trong bộ nhớ. Hình vẽ G.3 danh sách lệnh véc tơ VMIPS. Ngoài thanh ghi véc tơ, chúng ta cần bổ sung hai thanh ghi đa năng : Độ dài véc tơ và Mặt nạ thanh ghi véc tơ. 6 2.3, Công việc của Bộ xử lý Véc tơ như thế nào: Ví dụ? Bộ xử lý véc tơ tốt nhất được hiểu theo nhìn vòng lặp véc tơ trên VMIPS. chúng ta hãy lấy vấn đề véc tơ điển hình, sẽ được dùng khắp phụ lục này : Y = a × X + Y X và Y là véc tơ, ban đầu thường trú trong bộ nhớ, và là sự vô hướng. Đây là cái gọi là SAXPY hoặc DAXPY vòng lặp tạo thành vòng lặp bên trong của điểm chuẩn Linpack. ( SAXPY đứng thế cho đơn - độ chính xác X × cộng Y ; DAXPY cho độ chính xác gấp đôi a × X cộng Y. ) Linpack là tập hợp các thường trình đại số tuyến tính, và thường trình để thực hiện loại trừ là Gaussian những gì được coi là 7 Đặc điểm G.2 hình vẽ của vài véc tơ - thanh ghi kiến trúc. Nếu máy là bộ đa xử lý, mục phù hợp với đặc điểm của một bộ xử lý. Một số máy có tốc độ đồng hồ khác nhau trong véc tơ và vô hướng đơn vị ; tốc độ đồng hồ được chỉ ra dành cho đơn vị véc tơ. Thanh ghi véc tơ của máy Fujitsu là config cho tới - urable : kích thước và số đếm của 8 K mục 64 bit có thể là thay đổi ngược lại nhau ( chẳng hạn như, trên VP200, từ 8 thanh ghi mỗi 1 K phần tử dài tới 256 thanh ghi mỗi phần tử dài 32 ). Máy NEC có tám cứu hoả - đất véc tơ thanh ghi được nối với đơn vị số học cộng 32-64 nền véc tơ thanh ghi kết nối giữa hệ thống bộ nhớ và thanh ghi véc tơ nền trước. Đơn vị lẫn nhau trên bộ xử lý Cray được dùng để thực hiện phép chia ( và căn bậc hai trên Cray - 2 ). Thêm đường ống dẫn thực hiện thêm và bớt. Nhân / chia - thêm đơn vị trên Hitachi S810 / 820 thực hiện FP nhân hoặc chia tiếp theo là thêm hoặc bớt ( trong khi nhân - thêm đơn vị thực hiện nhân đi theo với thêm hoặc bớt ). Lưu ý rằng hầu hết bộ xử lý dùng véc tơ FP nhân và chia đơn vị làm số nguyên véc tơ nhân và chia, và một số bộ xử lý dùng đơn vị cùng làm FP sự vô hướng và FP véc tơ thao tác. Mỗi nạp vào véc tơ - lưu trữ đơn vị đại diện cho khả năng làm độc lập, chồng lấp chuyển giao hoặc từ thanh ghi véc tơ. Số của làn xe chạy là số của đường ống dẫn song song trong mỗi một đơn vị chức năng khi mô tả trong Phần G.4. ví dụ như, NEC SX / 5 có thể hoàn chỉnh 16 nhân mỗi chu kỳ trong đơn vị chức năng nhân. C Phồng lên - 1 có thể chia hẻm 64 bit đơn của nó thành hai làn xe chạy 32 bit để gia tăng hiệu năng cho ứng dụng đòi hỏi chỉ độ chính xác giảm. Cray SV1 có thể nhóm bốn CPUs với hai làn xe chạy mỗi để hành động cùng nhau khi CPU lớn hơn đơn với tám làn xe chạy, Cray gọi Multi - Luồng Bộ xử lý ( MSP ). 8 Kiểm chuẩn Linpack. Thường trình DAXPY, triển khai vòng lặp trước, đặc trưng cho một phần nhỏ mã nguồn của kiểm chuẩn Linpack, nhưng nó giải thích hầu hết thời gian thực hiện cho kiểm chuẩn. Bây giờ, giả sử rằng số phần tử, hoặc độ dài của thanh ghi véc tơ ( 64 ) trùng với độ dài của thao tác véc tơ mà chúng ta quan tâm đến. Hình vẽ G.3 lệnh véc tơ VMIPS. Thao tác FP độ chính xác gấp đôi chỉ có được chỉ ra. Ngoài thanh ghi véc tơ, có hai thanh ghi đặc biệt, VLR và VM Thanh ghi đặc biệt này là giả định để sống ở MIPS bộ đồng xử lý 1 dấu cách cùng với thanh ghi FPU. Thao tác với bước véc tơ được trình bày trong Phần 3, và sử dụng tạo chỉ mục và chỉ mục nạp vào - lưu trữ thao tác được trình bày trong Phần 4. Ví dụ: Cho thấy mã cho MIPS và VMIPS cho vòng lặp DAXPY. Cho rằng địa chỉ bắt đầu của X, Y ở Rx và Ry, tương ứng. 9 Trả lời: đây là mã MIPS. L.D F0 d,a ; Nạp vào sự vô hướng DADDIU R4, Rx, #512 ; Nạp vào địa chỉ cuối cùng Vòng lặp : L.D F2,0 ( Rx ) ; Nạp vào X( i ) MUL.D F2 d, F2, F0 ; X × ( i ) L.D F4,0 ( Ry ) ; Nạp vào Y( i ) Thêm.D F4 d, F4, F2 ; X × ( i ) + Y ( i ) S.D 0 ( Ry ), F4 ; lưu trữ vào Y ( i ) DADDIU Rx, Rx, #8 ; chỉ mục tăng đến X DADDIU Ry, Ry, #8 ; chỉ mục tăng đến Y DSUBU R20, R4, Rx ; tính toán giới hạn BNEZ R20, Vòng lặp ; kiểm tra nếu làm Đây là mã VMIPS cho DAXPY. L.D F0,a ; Nạp vào sự vô hướng a LV V1, Rx ; X véc tơ nạp vào MULVS.D V2 d, V1, F0 ; Nhân véc tơ - vô hướng LV V3, Ry ; Nạp vào véc tơ Y ADDV.D V4 d, V2, V3 ; Thêm SV Ry, V4 ; Lưu trữ kết quả Có một số so sánh thú vị giữa hai đoạn mã trong ví dụ này. Ấn tượng nhất là bộ xử lý véc tơ giảm đáng kể băng thông lệnh động, chỉ thực hiện 6 lệnh so với gần 600 lệnh cho MIPS. Tất cả sự giảm này xảy ra vì thao tác véc tơ làm việc trên 64 phần tử và vì chi phí cho lệnh là nửa vòng lặp trên MIPS không có trong mã VMIPS. Sự khác biệt quan trọng khác là tần số của khoá liên động đường ống.Trong các mã MIPS đơn giản mỗi ADD.D phải chờ MUL. D, và mỗi S. D phải chờ Thêm. D. Trên bộ xử lý véc tơ, mỗi lệnh véc tơ sẽ chỉ ngắt cho 10 [...]... ghi vector như thể có phần tử liền kề hợp lý Vì vậy một bộ xử lý thanh ghi vector có thể xử lý các bước lớn hơn một, gọi là bước đơn vị không , chỉ sử dụng thao tác vector nạp và lưu trữ với khả năng của bước Đây là khả năng truy cập không tuần tự bộ nhớ và để phục hồi bộ nhớ vào cấu trúc dày đặc là một trong những ưu thế chủ yếu của bộ xử lý vector trên một vi xử lý dựa vào bộ nhớ Cache Các bộ nhớ... NGHIÊN CỨU: ĐỘ DÀI VECTOR VÀ CÁC BƯỚC VECTOR Phần này đề cập tới hai vấn đề phát sinh trong các chương trình thực tế: bạn sẽ làm gì khi độ dài vectơ trong một chương trình không hẳn là 64? Làm thế nào để bạn xử lý với các phần tử không nằm kề nhau trong các vector trong bộ nhớ? Trước tiên, chúng ta hãy xem xét vấn đề độ dài vector 3.1 Điều khiển độ dài vector Bộ vi xử lý thanh ghi vector có độ dài... toàn bộ nguồn của bộ vi xử lý vector Trong hình này, biến m được sử dụng cho biểu thức (n mod MVL) Các vòng lặp trong của mã trước đó có thể thay đổi được độ dài VL, đó là bằng hoặc (MVL mod n) hoặc MVL Thanh ghi VLR phải được thiết lập hai lần một tại mỗi nơi biến VL trong mã được gán Với nhiều thao tác thực thi vector song song, phần cứng cần phải sao chép các giá trị của VLR đến đơn vị vector. .. bộ vi xử lý vector Đầu tiên, chuỗi, với việc xử lý làm dãy các thao tác véctơ phụ thuộc chạy nhanh và có nguồn gốc từ Cray - 1 nhưng bây giờ hỗ trợ cho hầu hết bộ vi xử lý véctơ Hai kỹ thuật tiếp theo với việc giải quyết sự mở rộng lớp các vòng giúp chúng có thể chạy được trong chế độ vector bằng cách chống lại tác động của thực hiện có điều kiện và thực hiện các ma trận rải rác với các loại lệnh vector. .. V2, Rb F0, # 0 V1, F0 V1, V1, V2 ; nạp vector A vào V1 ; nạp vector B ; nạp FP không thành F0 ; bộ VM (i) đến 1 nếu V1 (i) ! = F0 ; trừ đi dưới mặt nạ vector ; thiết lập các mặt nạ vector cho tất cả các SV Ra, V1 ; lưu trữ kết quả trong A số 1 Bộ xử lý véctơ mới nhất cung cấp véctơ mặt nạ điều khiển Véctơ mặt nạ khả năng mô tả đây là sẵn có trên một số bộ xử lý, nhưng người khác cho phép sử dụng mặt... thấy trong phần kế tiếp, nhiều bộ xử lý véc tơ hỗ trợ để nạp vào hoặc lưu dữ liệu từ là không tuần tự Trong trường hợp này, không phụ thuộc địa chỉ ngăn nhớ, thay vì là chèn, bắt buộc 3 Nhiều véc tơ máy tính hỗ trợ nhiều bộ xử lý chia sẻ chung hệ thống ory, và mỗi bộ xử lý sẽ tạo ra luồng không phụ thuộc rất riêng của mình về địa chỉ Trong tổ hợp, tính năng này dẫn đến nhiều bộ nhớ máy tính độc lập, khi... mà vẫn là một ưu việt cho bộ xử lý vector đối với một vài vấn đề Trên VMIPS, đơn vị địa chỉ là byte, các bước trong ví dụ là 800 Giá trị phải được tính toán tự động, vì kích thước của ma trận có thể không được biết đến tại thời điểm biên dịch, hoặc giống như độ dài vector có thể thay đổi khi thực hiện các lệnh tương tự khác nhau Các bước vector, như địa chỉ vector đầu, có thể được đặt... địa chỉ vector đầu, có thể được đặt trong thanh ghi đa năng Sau VMIPS lệnh LVWS (nạp các bước vector) có thể được dùng để tìm nạp vector vào thanh ghi vector Tương tự như vậy, khi bước vector đơn vị không được lưu trữ, SVWS (lưu trữ các bước vector) có thể được sử dụng Trong một số bộ xử lý vector nạp vào và lưu trữ luôn có giá trị bước được lưu trữ trong thanh ghi, song chỉ lệnh... 2.167 ns và cấu hình lớn nhất của nó (Cray T932) có 32 bộ xử lý mỗi có khả năng tạo ra bốn nạp vào và hai lưu trữ mỗi chu kỳ đồng hồ CPU Chu kỳ đồng hồ CPU là 2.167 ns, trong khi thời gian chu kỳ của SRAMs được dùng trong hệ thống bộ nhớ là 15 ns Tính số tối thiểu của bộ nhớ máy tính phải để tất cả CPUs lao vào độ rộng dải tần bộ nhớ đầy đủ Trả lời: số bộ nhớ tham chiếu mỗi chu kỳ tối đa là 192 ( 32 CPUs... ta phải đếm cả thời gian khởi động trong và qua các đoạn Với chuỗi, số chime cho một chuỗi được xác định bởi số lượng các đơn vị chức năng khác nhau có sẵn trong bộ xử lý vector và số lượng theo yêu cầu của ứng dụng Đặc biệt, không có đoạn nào có thể chứa một trở ngại trong cơ cấu Điều này có nghĩa, ví dụ, có một chuỗi chứa hai lệnh vector phải mất ít nhất hai đoạn, và vì thế hai chime trên một bộ xử . 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. 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. để bạn xử lý với các phần tử không nằm kề nhau trong các vector trong bộ nhớ? Trước tiên, chúng ta hãy xem xét vấn đề độ dài vector. 3.1 Điều khiển độ dài vector Bộ vi xử lý thanh ghi vector

Ngày đăng: 31/07/2014, 13:21

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan