Nghiên cứu hệ vi xử lý vectơ mc431

77 362 0
Nghiên cứu hệ vi xử lý vectơ mc431

Đ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

Chơng 1 Lý thuyết về xử lý song song 1.1 Phân loại các kiến trúc hệ vi xử lý song song Có nhiều phơng án phân loại kiến trúc các hệ vi xử lý, mỗi phơng án dựa trên các tiêu chí khác nhau. Trong đó, phơng án phân loại nổi tiếng nhất và đợc sử dụng rộng rãi nhất là phơng án phân loại của Flynn, dựa trên hai khái niệm là dòng lệnh (Instruction stream) và dòng dữ liệu (Data stream). Theo đó, kiến trúc hệ vi xử lý đợc chia thành 4 loại sau: SISD (Single Instruction stream, Single Data stream): Kiểu kiến trúc đơn dòng lệnh, đơn dòng dữ liệu. SIMD (Multiple Instruction stream, Multiple Data stream): Kiểu kiến trúc đơn dòng lệnh, đa dòng dữ liệu. MISD (Multiple Instruction stream, Single Data stream): Kiểu kiến trúc đa dòng lệnh, đơn dòng dữ liệu. MIMD (Multiple Instruction stream, Mutiple Data stream): Kiểu đa dòng lệnh, đa dòng dữ liệu. Sau đây ta sẽ xem xét từng kiểu kiến trúc trên. Trong đó, SISD chính là kiểu kiến trúc Von Neuman cho các hệ vi xử lý tuần tự thông thờng, còn lại là các kiểu kiến trúc cho hệ vi xử lý song song. 1.1.1 Kiến trúc hệ vi xử lý theo cách thông thờng đơn chỉ thị đơn dữ liệu (SISD) Trong kiến trúc này (hình 1.1), tại một thời điểm chỉ có một dòng lệnh thao tác trên một dòng dữ liệu. Đây chính là kiểu kiến trúc Von Neuman cho hệ vi xử lý tuần tự thông thờng, có u điểm là đơn giản cả về cấu trúc phần cứng và phần mềm hệ thống. Tuy nhiên, với cách truyền thống này thì tốc độ xử lý sẽ chỉ đạt đến một giới hạn nào đó, bởi vì không thể nâng tốc độ của bộ xử lý đơn lên mãi đợc, trong khi yêu cầu về tốc độ xử lý luôn đợc đặt ra hàng đầu đối với một hệ vi xử lý hiện đại. Vì vậy, kiến trúc này không đợc áp dụng cho các hệ vi xử lý tốc độ cao hiện đại. 30 Hình 1.1. Kiến trúc hệ vi xử lý truyền thống xử lý theo kiểu SISD 1.1.2 Kiến trúc hệ vi xử lý đơn chỉ thị đa dữ liệu (SIMD) Hình 1.2. Kiến trúc hệ vi xử lý kiểu SIMD Kiểu kiến trúc này (hình 1.2) cho phép tại một thời điểm một dòng lệnh có thể thao tác trên nhiều dòng dữ liệu. Các hệ vi xử lý vectơ là một ví dụ điển hình cho kiểu kiến trúc này. ở đó, một dòng lệnh (thao tác) đợc đa đồng thời tới nhiều dòng dữ liệu (ví dụ nh một vectơ chứa các phần tử dữ liệu vô hớng) và thực hiện trên các bộ xử lý khác nhau. Các lệnh kiểu SIMD giúp giảm bớt các tiếp đầu phần mềm do không phải lặp lại trên nhiều dòng dữ liệu khác nhau. 31 Theo đó, nếu trong mô hình một hệ xử lý đơn có nhiều bộ xử lý thì một chỉ thị đợc phát tới các bộ xử lý, mỗi bộ xử lý thực hiện xử lý dữ liệu riêng của mình và kết quả đầu ra có thể đợc tổng hợp lại hoặc thực hiện tiếp các thao tác tiếp theo. Còn đối với mô hình nhiều bộ xử lý đợc kết nối với nhau qua mạng thì một chơng trình sẽ đợc khởi động trên các bộ xử lý đó, mỗi bộ xử lý cũng làm việc với dữ liệu riêng của mình và kết quả đầu ra đ- ợc tiếp tục xử lý theo ý đồ của ngời lập trình. Mô hình này có thể cho phép giảm bớt độ phức tạp của cả phần cứng lẫn phần mềm nhng chỉ thích hợp cho những hệ thống chuyên dụng, chẳng hạn nh trong xử lý ảnh và những ứng dụng mô phỏng số. Hiện nay các hệ xử lý song song theo kiến trúc SIMD đang đợc phát triển mạnh mẽ, đặc biệt trong thiết kế các hệ vi xử lý chuyên dụng có tốc độ và hiệu quả cao với giá thành hợp lý. 1.1.3 Kiến trúc hệ vi xử lý đa chỉ thị đơn dữ liệu (MISD) Trong mô hình này, nhiều chỉ thị đợc phân tán tới các bộ xử lý và các bộ xử lý đó thực hiện xử lý một dữ liệu chung và kết quả đầu ra của chúng đợc tổng hợp lại thành một dữ liệu đơn (hình 1.3). Có thể mô tả cơ chế của kiến trúc MISD bằng mô hình các lớp hệ vi xử lý có các đơn vị xử lý riêng nhận các lệnh riêng biệt xử lý trên cùng một dữ liệu, hoặc các lớp hệ vi xử lý trong đó dữ liệu chuyển qua một dãy các đơn vị xử lý. Hiện nay, phơng pháp xử lý này chỉ mới thành công trong thực nghiệm còn về mặt thơng mại thì cha thực hiện đợc. Tuy nhiên, những thành công ban đầu của nó trong nghiên cứu hứa hẹn nhiều kết quả và những ứng dụng khả quan trong tơng lai. 32 Hình 1.3. Kiến trúc hệ vi xử lý kiểu MISD 1.1.4 Kiến trúc hệ vi xử lý đa chỉ thị đa dữ liệu (MIMD) Trong kiến trúc này (hình 1.4), các chỉ thị đợc phân phát đến các bộ xử lý. Các bộ xử lý này thực hiện xử lý trên dữ liệu của riêng mình và kết quả đầu ra của chúng cũng là những dữ liệu đã đợc xử lý phục vụ cho mục đích tính toán nhất định. Vì vậy, tại một thời điểm có nhiều dòng lệnh đợc thực hiện đồng thời trên nhiều dòng dữ liệu. Hình 1.4. Kiến trúc hệ vi xử lý kiểu MIMD Mô hình này đang đợc tập trung nghiên cứu ở nhiều nớc trên thế giới do tính dễ hiểu, hiệu quả, linh hoạt và sự phù hợp của nó với những gì 33 chúng ta đang có (ví dụ những máy tốc độ thấp ta có rất nhiều). Kết quả những nghiên cứu về kiến trúc MIMD cho phép xây dựng các hệ vi xử lý song song tốc độ cao, đặc biệt là các hệ siêu máy tính song song đa năng. 1.2 Phơng pháp tổ chức bộ nhớ của hệ vi xử lý song song Trong các hệ vi xử lý song song, việc truy nhập và sử dụng hiệu quả các tài nguyên hệ thống là yêu cầu hết sức quan trọng. Bộ nhớ là một tài nguyên có quan trọng hàng đầu của hệ xử lý. Vì vậy, việc tổ chức bộ nhớ cho các hệ vi xử lý song song một cách hợp lý sẽ giúp phát huy hiệu năng, tính song song của hệ vi xử lý. Đầu tiên ta xem xét phơng pháp tổ chức bộ nhớ phân cấp cho các hệ vi xử lý song song. 1.2.1 Phơng pháp tổ chức bộ nhớ phân cấp 1.2.1.1 Khái niệm về bộ nhớ phân cấp Mục đích của việc tổ chức bộ nhớ phân cấp là nhằm tạo ra sự phối hợp giữa tốc độ của bộ xử lý với tốc độ truyền dữ liệu hay băng thông của bộ nhớ. Đối với các bộ xử lý song song, sự tồn tại của nhiều bộ xử lý dẫn đến khả năng xuất hiện đồng thời các yêu cầu tham chiếu tới bộ nhớ ở cùng mức trong phân cấp. Nếu có hai hoặc nhiều hơn các yêu cầu tham chiếu tới cùng một vị trí trong bộ nhớ ở cùng cấp thì sẽ xảy ra xung đột, làm giảm hiệu năng của hệ thống. Vì vậy trong các hệ xử lý song song, bộ nhớ phải đợc tổ chức để giảm tới mức thấp nhất khả năng xảy ra xung đột tại mỗi cấp. Điều này thờng đợc thực hiện bằng cách phân vùng bộ nhớ tại cấp xác định thành các module sao cho sự truy nhập đồng thời có thể thực hiện đợc ở mức độ nào đó. Nói chung, phân cấp bộ nhớ đợc cấu trúc sao cho các bộ nhớ ở cấp i là cao hơn các bộ nhớ ở cấp i+1. Gọi c i , t i và s i tơng ứng là chi phí trên một byte, thời gian truy nhập trung bình và kích thớc bộ nhớ tổng cộng ở cấp i, ta có quan hệ giữa các cấp i và i+1 nh sau: Về chi phí trên một byte nhớ: c i > c i +1 Về thời gian truy nhập trung bình: t i < t i +1 Về kích thớc bộ nhớ: s i < s i +1 Nh vậy bộ nhớ ở cấp i có chi phí cao hơn nhng thời gian truy nhập ngắn hơn (nhanh hơn) và có kích thớc nhỏ hơn bộ nhớ ở cấp i+1. Bộ nhớ 34 cấp 1 là bộ nhớ gắn liền với mỗi bộ xử lý và đợc gọi là bộ nhớ cục bộ (bộ nhớ cache). Bộ xử lý thờng tham chiếu tới một nội dung trong bộ nhớ bằng cách đa ra vị trí hay địa chỉ của ô nhớ. Một phân cấp bộ nhớ thờng đợc tổ chức sao cho không gian địa chỉ ở cấp i là một bộ phận của không gian địa chỉ ở cấp i+1. Tuy nhiên, điều này chỉ đúng trong mối quan hệ giữa các cấp. Địa chỉ A k tại cấp i không nhất thiết là địa chỉ A k ở cấp i+1, nhng bất kỳ dữ liệu ở cấp i có thể cũng có ở cấp i+1. Tuy vậy, một số dữ liệu ở cấp i có thể đợc sử dụng thờng xuyên hơn cũng dữ liệu ấy ở cấp i+1. Điều này làm nảy sinh vấn đề về tính nhất quán dữ liệu hay vấn đề tính tơng hợp giữa các cấp kế cận do chúng chứa các bản sao khác nhau của cùng một dữ liệu. Thông th- ờng cấp i+1 cuối cùng đợc cập nhật với dữ liệu đã đợc thay đổi từ cấp i. Vấn đề về tính nhất quán dữ liệu cũng có thể tồn tại giữa các bộ nhớ cục bộ hay các cache khi hai quá trình đồng thao tác, có thể đợc thực thi đồng thời hay trên các bộ xử lý riêng, tơng tác qua một hay nhiều biến chia sẻ. Một quá trình có thể cập nhật bản sao của một biến chia sẻ vào trong bộ nhớ cục bộ của nó trong khi quá trình khác tiếp tục truy nhập bản sao trớc của biến trong bộ nhớ cục bộ của nó. Điều này có thể gây ra sự thực thi không đúng với các quá trình đồng thao tác. Nói chung, một phân cấp bộ nhớ gặp phải vấn đề tính nhất quán này ngay khi một trong các cấp của nó đợc chia thành một số khối độc lập mà chúng không cho phép truy nhập nh nhau từ các cấp hay các bộ xử lý nhanh hơn. Để giải quyết vấn đề này, có một số giải pháp đợc đề xuất nh: phân phối và quản lý bộ nhớ một cách hợp lý, tổ chức các phân hệ vào/ra và bộ nhớ song song một cách hiệu quả. Để mô hình hóa hiệu năng của bộ nhớ phân cấp, ta thờng công nhận rằng việc kiểm soát điều hành bộ nhớ đợc đặc trng bởi hàm thành công (success function) hay hệ số đạt đợc (hit ratio) H, là xác suất tìm thấy dữ liệu yêu cầu trong bộ nhớ của một cấp nhất định. Nói chung, H phụ thuộc vào độ chia nhỏ (granularity) của việc truyền dữ liệu, dung lợng của bộ nhớ tại cấp đó, chiến lợc giám sát và các yếu tố khác. Tuy nhiên, đối với hầu hết các phơng pháp kiểm soát điều hành, có thể thấy rằng H chịu ảnh hởng nhiều nhất bởi kích thớc bộ nhớ s. Vì vậy hàm thành công có thể đợc viết là H(s). Hệ số hay xác suất nhỡ đợc xác định bởi F(s) = 1 H(s). Do các bản sao của dữ liệu ở cấp i đợc giả định là tồn tại ở các cấp lớn hơn i, xác suất đạt đợc tại cấp i và nhỡ tại các cấp cao hơn (1 đến i 1) là: 35 h i = H(s i ) H(s i 1 ) (1.1) Trong đó h i là tần số truy nhập tại cấp i và chỉ thị số tơng đối các truy nhập thành công tới cấp i. Tần số hỏng do nhỡ nội dung tại cấp i là: f i = 1 h i 1.2.1.2 Tối u hóa phân cấp bộ nhớ Mục tiêu của kiến trúc phân cấp bộ nhớ n cấp là nhằm đạt đợc hiệu năng gần bằng hiệu năng của bộ nhớ nhanh nhất (cấp 1) và giá thành trên mỗi bit nhớ gần bằng giá thành của bộ nhớ rẻ nhất (cấp n). Hiệu năng của bộ nhớ có thể đợc chỉ thị bởi thời gian truy nhập phân cấp hiệu dụng trên mỗi tham chiếu bộ nhớ. Tuy nhiên, cần chú ý rằng hiệu năng phụ thuộc vào nhiều hệ số liên quan lẫn nhau, gồm cách xử lý của chơng trình với các tham chiếu bộ nhớ, thời gian truy nhập và kích thớc bộ nhớ của mỗi cấp, độ chia nhỏ của việc truyền dữ liệu (kích thớc khối) và phơng pháp kiểm soát điều hành. Một hệ số quan trọng khác cũng ảnh hởng đến thời gian truy nhập hiệu dụng là việc thiết kế mạng liên kết bộ xử lý bộ nhớ. Tơng quan giữa các hệ số này có thể đợc sử dụng để đa ra một tiêu chuẩn cho việc tối u hóa hiệu năng của phân cấp bộ nhớ. Một tham số xác định hiệu năng là thời gian truy nhập bộ nhớ hiệu dụng. Tham số khác là hiệu suất sử dụng bộ xử lý. Thời gian truy nhập hiệu dụng T i từ bộ xử lý tới cấp i trong phân cấp bộ nhớ bằng tổng các thời gian truy nhập trung bình riêng lẻ của mỗi cấp từ k = 1 đến i: 1 i i k k T t = = (1.2) Tổng quát, t k gồm thời gian chờ do các xung đột bộ nhớ tại cấp k và độ trễ trong mạng chuyển mạch giữa các cấp k 1 và k. Mức độ các xung đột thờng là một hàm của số lợng bộ xử lý, số lợng module nhớ và mạng liên kết giữa các bộ xử lý với các module nhớ. Trong hầu hết các hệ thống, một yêu cầu tới một từ nhớ không nằm ở cấp i sẽ làm xuất hiện khối dữ liệu chứa từ đợc yêu cầu đợc truyền từ cấp i+1 tới cấp i. Khi việc truyền khối dữ liệu tới cấp 1 hoàn thành, từ yêu cầu đợc truy nhập tại bộ nhớ cục bộ (cache). Thời gian truy nhập trung bình đối với mỗi tham chiếu bộ nhớ trong phân cấp bộ nhớ n cấp là: 1 n i i i T hT = = (1.3) Thay h i và T i từ các biểu thức trên vào (1.3) ta có: 36 ( ) ( ) 1 1 n n i i i T H s H s t = = (1.4) Giả thiết rằng có một bản sao của mọi dữ liệu yêu cầu tại cấp thấp nhất (n), nên H(s n ) = 1. Trong (1.4) ta định nghĩa H(s 0 ) = 0, do đó F(s 0 ) = 1. Khi đó có thể viết lại (1.4) nh sau: ( ) 1 1 1 n i i i T H s t = = Do ( ) ( ) 1 1 1 i i H s F s = , ta có: ( ) 1 1 n i i i T F s t = = (1.5) Nếu c(t i ) là giá thành trên một byte của bộ nhớ tại cấp i, đợc biểu diễn nh một hàm của thời gian truy nhập trung bình của nó, chi phí tổng cộng của hệ thống bộ nhớ là: ( ) 1 n i i i C c t s = = (1.6) Vấn đề đặt ra trong thiết kế một phân cấp bộ nhớ điển hình là việc tối u hóa để giảm đến thấp nhất thời gian truy nhập phân cấp hiệu dụng T với chi phí hệ thống bộ nhớ cho trớc là C 0 và các ràng buộc về kích thớc. Tức là tối thiểu hóa ( ) 1 1 n i i i T F s t = = với điều kiện ràng buộc ( ) 0 1 n i i i C c t s C = = , trong đó s i > 0 và t i > 0 với i = 1, 2, , n. Trong thực tế, các ràng buộc về chi phí bao gồm cả chi phí của mạng liên kết bộ xử lý bộ nhớ. 1.2.1.3 Các phơng pháp địa chỉ hóa cho bộ nhớ chính Trong môi trờng xử lý song song, bộ nhớ chính là một tài nguyên hệ thống quan trọng hàng đầu, thờng đợc chia sẻ cho tất cả các bộ xử lý hay các khối độc lập trong bộ xử lý đờng ống. Hệ thống bộ nhớ phải đợc tổ chức hợp lý để loại trừ sự suy giảm trầm trọng hiệu năng hệ thống do xung đột bộ nhớ gây ra bởi hai hay nhiều bộ xử lý cùng cố gắng truy nhập tới cùng các module trong hệ thống bộ nhớ. Điều này sẽ gây khó khăn cho việc có một khối bộ nhớ vững chắc chia sẻ giữa một vài bộ xử lý, vì xung đột bộ nhớ nghiêm trọng. Do vậy, bộ nhớ chính đợc chia thành vài module nhớ độc lập và các địa chỉ đợc phân phối qua các module này. Phơng pháp này, đợc gọi là đan xen (Interleaving), giải quyết xung đột bằng cách cho phép các truy nhập đồng thời tới nhiều hơn một module. Việc đan xen các địa chỉ giữa M module đợc gọi là đan xen M đờng. 37 Có hai phơng pháp phân chia các địa chỉ giữa các module nhớ. Giả thiết rằng có tổng cộng N = 2 n từ trong bộ nhớ chính. Khi đó địa chỉ vật lý cho mỗi từ trong bộ nhớ gồm n bit a n 1 a n 2 a 1 a 0 . Một phơng pháp, gọi là đan xen bậc cao, phân chia địa chỉ trong M = 2 m module sao cho mỗi module i, với 0 1i M , chứa các địa chỉ liên tiếp .2 n m i đến ( ) 1 .2 1 n m i + . Trong đó m bit cao đợc sử dụng để chọn module còn n m bit thấp đợc sử dụng để chọn địa chỉ bên trong module (hình 1.5). Hình 1.5. Hệ thống bộ nhớ song song với các từ kế tiếp trong một module (Đan xen bậc cao) 38 Hình 1.6. Hệ thống bộ nhớ song song với các từ kế tiếp trong các module kế tiếp (Đan xen bậc thấp) Phơng pháp thứ hai, đan xen bậc thấp, phân chia địa chỉ sao cho các địa chỉ kế tiếp đợc đặt trong các module kế tiếp. Trong đó m bit thấp của địa chỉ đợc sử dụng để chọn module, trong khi n m bit cao chọn địa chỉ bên trong module, nh mô tả trong hình 1.6. Nh vậy, một địa chỉ A đợc đặt tại module A mod M. Hai phơng pháp trên thể hiện hai hớng giải quyết hoàn toàn khác nhau trong lựa chọn việc giải mã địa chỉ. Phơng pháp thứ nhất cho phép mở rộng bộ nhớ dễ dàng bằng cách thêm một hay nhiều module nhớ nếu cần thiết với giá trị tối đa là M 1 module. Tuy nhiên, việc đặt các địa chỉ bộ nhớ liên tục trong một module có thể gây ra các xung đột bộ nhớ đáng kể trong các bộ xử lý kiểu đờng ống, vectơ hay kiểu mảng (SIMD). Tính liên tục của các lệnh trong chơng trình và tính liên tục của dữ liệu trong các bộ xử lý vectơ tạo ra các lệnh hay dữ liệu liên tiếp nhau trong cùng một module. Do thời gian chu kỳ bộ nhớ lớn hơn nhiều thời gian clock của pipeline, một yêu cầu bộ nhớ trớc đó cha hoàn thành việc truy nhập của nó trớc khi một yêu cầu tiếp theo đến, vì vậy gây ra trễ. Trong các bộ xử lý mảng, nếu các phần tử dữ liệu của một vectơ nằm ở cùng một module, sự song song hóa trong tính toán sẽ không có ý nghĩa bởi vì mọi bộ xử lý không thể nhận đồng thời các phần tử dữ liệu theo kiểu kế tiếp sát nhau nh vậy. Đan xen bậc cao có thể đợc sử dụng mà không gây xung đột trong các bộ đa xử lý nếu các module đợc chia theo các quá trình 39 [...]... xử lý vectơ MC431, với bộ xử lý trung tâm là bộ xử lý NM6403 2.2 Hệ vi xử lý vectơ MC431 2.2.1 Giới thiệu chung về hệ vi xử lý vectơ MC431 Hệ vi xử lý vectơ MC431 đợc hãng Module (Nga) công bố và đa ra thị trờng năm 2003, là một hệ vi xử lý vectơ tốc độ cao, giá thành hợp lý đợc thiết kế cho nhiều chức năng hệ thống khác nhau, đặc biệt hiệu quả trong các ứng dụng về xử lý tín hiệu số, xử lý ảnh-video,... tác xử lý tín hiệu số, mạng Neural và tính toán kiểu vectơ ma trận Đó là hệ vi xử lý vectơ MC431 54 Chơng 2 Kiến trúc và lập trình hệ vi xử lý vectơ mc431 Đặc điểm nổi bật của hệ vi xử lý MC431 khả năng tính toán mạnh mẽ trong các hệ thống chuyên dụng nhờ có bộ xử lý NM6403 với khả năng xử lý mạnh mẽ trên dữ liệu vectơ Vì vậy, trớc khi nghiên cứu kiến trúc và phơng pháp lập trình trên hệ vi xử lý MC431, ... độ của hệ vi xử lý so với hệ vi xử lý đơn Các hệ vi xử lý kiểu pipeline vô hớng có tốc độ và hiệu năng cao hơn đáng kể so với các hệ vi xử lý đơn Tuy nhiên, tốc độ của hệ vi xử lý sẽ đợc nâng cao mạnh mẽ khi nó đợc cấu trúc theo một giải pháp mới: hệ vi xử lý vectơ Hiệu năng của một hệ vi xử lý song song phụ thuộc vào nhiều yếu tố khác nhau, trớc hết là số lợng CPU đợc sử dụng trong hệ vi xử lý song... đợc xử lý là dữ liệu vô hớng Khi đó, hiệu năng của hệ vi xử lý vectơ sẽ bị giảm sút trầm trọng Ngoài ra, các hệ vi xử lý song song tốc độ cao còn có thể đợc xây dựng bằng cách kết hợp một mạng các bộ xử lý song song, chẳng hạn NM6403 nh đã đợc đề ở trên Vì vậy, chơng 2 sẽ trình bày lý thuyết tổng quan cơ bản nhất về xử lý vectơ và đi vào nghiên cứu một hệ vi xử lý vectơ hiện đại dựa trên bộ xử lý NM6403,... phơng pháp xử lý vectơ 53 là hợp lý và hiệu quả Ưu điểm của xử lý vectơ so với xử lý vô hớng khi dữ liệu đợc tổ chức dạng vectơ là tốc độ xử lý đợc tăng lên một cách tối đa và vi c lập trình cho các hệ vi xử lý vectơ cũng đơn giản hơn nhờ giảm đợc phần mào đầu phần mềm (overhead) Vi c vectơ hóa các hệ vi xử lý cần đợc thực hiện cả về cấu trúc phần cứng và về tổ chức dữ liệu Bởi vì, vi c vectơ hóa chỉ... Hình 1.14 Các kiến trúc hệ vi xử lý song song chuyên dụng trên cơ sở bộ xử lý NM6403 49 Mô hình này có thể ứng dụng trong các thao tác tính toán ma trận, xây dựng hệ vi xử lý mạng Neural kiểu lan truyền thẳng hay các hệ vi xử lý kiểu đờng ống (Pipeline) tuyến tính, trong đó, mỗi bộ xử lý NM6403 đóng vai trò một tầng trong hệ vi xử lý pipeline này Nhiệm vụ toàn thể của hệ vi xử lý đợc chia thành các nhiệm... phơng án hợp lý là xây dựng hệ đa xử lý gồm các bộ xử lý song song đợc kết hợp với nhau thành một mạng cùng với vi c phân phối hợp lý tài nguyên bộ nhớ Bộ xử lý kiểu Neural-Matrix NM6403 (sẽ đợc nghiên cứu chi tiết trong chơng hai) có kiến trúc phù hợp và hiệu quả cho các hệ vi xử lý kiểu này Sau đây là một số kiến trúc hệ vi xử lý song song chuyên dụng đợc xây dựng trên cơ sở các bộ xử lý NM6403 1.3.3... NM6403 1.3.3 Các mô hình hệ vi xử lý song song chuyên dụng trên cơ sở bộ xử lý NM6403 Các bộ xử lý NM6403 có thể đợc liên kết với nhau bằng các cổng truyền thông để tạo thành hệ vi xử lý song song chuyên dụng kiểu đa xử lý Mỗi bộ xử lý NM6403 đều có giao tiếp với bộ nhớ ngoài (hình 1.14) Đầu tiên là mô hình kiến trúc hệ vi xử lý kiểu mạng song hớng một chiều, trong đó các bộ xử lý NM6403 đợc liên kết... nhập bộ nhớ Trong đó, mỗi bộ xử lý NM6403 có bộ nhớ cục bộ riêng nhng đều có thể truy nhập đến bộ nhớ toàn cục (hình 1.16c) Nh vậy, chơng 1 đã trình bày lý thuyết tổng quan về xử lý song song, đa ra một số mô hình hệ vi xử lý song song cơ bản và các mô hình hệ vi xử lý song song chuyên dụng trên cơ sở bộ xử lý NM6403 và bộ xử lý tín hiệu số TMS320C40 Các kiến trúc hệ vi xử lý song song khác nhau đợc... hình hệ vi xử lý song song khác 45 Bộ nhớ Mỗi mô hình hệ vi xử lý song song thể hiện một phơng án tổ chức hệ xử lý song song cụ thể nhằm đạt đợc hiệu quả xử lý cao nhất Ngoài mô hình đa máy tính, các mô hình khác đối với hệ vi xử lý song song đã đợc nghiên cứu phát triển (hình 1.13) ở đây ta xem xét ba mô hình điển hình ngoài mô hình đa máy tính Trong hình vẽ ny, kí hiệu P biểu thị một bộ xử lý độc . = 1. Trong (1. 4) ta định nghĩa H(s 0 ) = 0, do đó F(s 0 ) = 1. Khi đó có thể viết lại (1. 4) nh sau: ( ) 1 1 1 n i i i T H s t = = Do ( ) ( ) 1 1 1 i i H s F s = , ta có: ( ) 1 1 n i. Hình 1. 11. Mô hình hệ xử lý tuần tự kiểu Von Neumann 44 CPU Bộ nhớ 1. 3 .1 Mô hình đa máy tính Một mô hình máy song song gồm nhiều máy tính phục vụ cho các yêu cầu. Nh minh họa ở hình 1. 12 dới. đại. 30 Hình 1. 1. Kiến trúc hệ vi xử lý truyền thống xử lý theo kiểu SISD 1. 1.2 Kiến trúc hệ vi xử lý đơn chỉ thị đa dữ liệu (SIMD) Hình 1. 2. Kiến trúc hệ vi xử lý kiểu SIMD Kiểu kiến trúc này (hình 1. 2)

Ngày đăng: 01/02/2015, 13:32

Mục lục

  • Lý thuyết về xử lý song song

    • 1.1 Phân loại các kiến trúc hệ vi xử lý song song

    • Có nhiều phương án phân loại kiến trúc các hệ vi xử lý, mỗi phương án dựa trên các tiêu chí khác nhau. Trong đó, phương án phân loại nổi tiếng nhất và được sử dụng rộng rãi nhất là phương án phân loại của Flynn, dựa trên hai khái niệm là dòng lệnh (Instruction stream) và dòng dữ liệu (Data stream). Theo đó, kiến trúc hệ vi xử lý được chia thành 4 loại sau:

      • 1.1.3 Kiến trúc hệ vi xử lý đa chỉ thị đơn dữ liệu (MISD)

      • Kiến trúc và lập trình hệ vi xử lý

      • 2.1 Tổng quan về xử lý vectơ

      • 2.2.1 Các đặc trưng cơ bản của phép xử lý vectơ

      • 2.1.2 Bộ xử lý vô hướng và bộ xử lý vectơ

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

Tài liệu liên quan