1. Trang chủ
  2. » Luận Văn - Báo Cáo

tóm tắt luận văn thạc sĩ kỹ thuật áp dụng thuật toán FHT để được hiệu quả tính toán nhanh nhất, luận văn giới thiệu một cách tiếp cận để xây dựng một hệ vi xử lý tốc độ cao ứng dụng trong nhữn

24 536 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 2,01 MB

Nội dung

Sử dụng hệ vi xử lý véc tơNM6403 tốc độ cao, áp dụng thuật toán FHT để được hiệu quả tính toánnhanh nhất, luận văn giới thiệu một cách tiếp cận để xây dựng một hệ vi xử lýtốc độ cao ứng

Trang 1

MỞ ĐẦU

1 Cơ sở nghiên cứu và mục đích của luận văn

Ngày nay, với sự phát triển của khoa học kỹ thuật, các yêu cầu về hệ vi

xử lý chuyên dụng ngày càng cấp thiết Đối với một số ứng dụng như trongcác hệ thống quan sát, các hệ thống đo lường, điều khiển vệ tinh… thì sốlượng phép tính phải thực hiện đồng thời là cực lớn

Các hệ siêu máy tính có giá thành cao và sẽ rất lãng phí khi sử dụngtrong các ứng dụng chuyên dụng với lớp bài toán hẹp hơn Vì thế, việc sửdụng vi xử lý với tốc độ tính toán cao kết hợp với việc áp dụng các thuật toántính toán nhanh trong khi vẫn đảm bảo giá thành hợp lý là rất cần thiết

2 Tổ chức luận văn

Luận văn được trình bầy thành 3 chương Phần mở đầu, tác giả trìnhbày tóm tắt cơ sở nghiên cứu và mục đích cũng như tổ chức của luận văn

Chương 1, trình bầy khái quát về lý thuyết xử lý song song Các dòng

vi xử lý trong thực tế và đánh giá về tốc độ cũng như khả năng ứng dụng củachúng trong những lớp bài toán cụ thể

Chương 2, giới thiệu về họ vi xử lý vec tơ NM6403 do hãng modulecủa Nga sản xuất Đây là một hệ vi xử lý tốc độ cao, rất thích hợp cho nhữngứng dụng cụ thể đòi hỏi tốc độ xử lý cực cao

Chương 3, cũng là chương quan trọng nhất Sử dụng hệ vi xử lý véc tơNM6403 tốc độ cao, áp dụng thuật toán FHT để được hiệu quả tính toánnhanh nhất, luận văn giới thiệu một cách tiếp cận để xây dựng một hệ vi xử lýtốc độ cao ứng dụng trong những lớp bài toán cụ thể

Trang 2

CHƯƠNG 1: TỔNG QUAN VỀ LÝ THUYẾT XỬ LÝ SONG SONG 1.1 Phân loại các kiến trúc 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)

Đây chính là kiểu kiến trúc Von Neuman cho hệ vi xử lý tuần tự thôngthườ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 đếnmộ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 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

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

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ềudòng dữ liệu Các lệnh kiểu SIMD giúp giảm bớt các tiếp đầu phần mềm dokhông phải lặp lại trên nhiều dòng dữ liệu khác nhau

Mô hình này có thể cho phép giảm bớt độ phức tạp của cả phần cứnglẫn phần mềm nhưng chỉ thích hợp cho những hệ thống chuyên dụng, chẳnghạ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ệttrong 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)

Hiện nay, phương pháp xử lý này chỉ mới thành công trong thựcnghiệm còn về mặt thương mại thì chưa thực hiện được Tuy nhiên, nhữngthà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

1.1.4 Kiến trúc hệ vi xử lý đa chỉ thị đa dữ liệ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ì 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ữngnghiên cứu về kiến trúc MIMD cho phép xây dựng các hệ vi xử lý song songtốc độ cao, đặc biệt là các hệ siêu máy tính song song đa năng

Trang 3

1.2 Phương pháp tổ chức bộ nhớ của 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

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

1.2.1.2 Tối ưu hóa phân cấp bộ nhớ

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

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

Có hai phương pháp phân chia các địa chỉ giữa các module nhớ 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  i M 1, chứa các địa chỉ liên tiếp i.2n m đến

i 1 2 n m 1

  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)

Trang 4

trong module, như mô tả trong hình 1.6.

Một ưu diểm của đan xen bậc cao là có độ tin cậy hệ thống cao, do mộtmodule lỗi chỉ ảnh hưởng đến một vùng cục bộ của không gian nhớ Ngược

Trang 5

lại, trong phương pháp thứ hai, một lỗi ở một module đơn bất kỳ sẽ ảnhhưởng trầm trọng đến toàn hệ thống Tuy nhiên, phương pháp thứ hai nàydường như tốt hơn nếu vấn đề xung đột bộ nhớ là cơ sở của việc lựa chọn.

1.2.2 Các phương pháp tổ chức bộ nhớ đan xen (Interleaved)

1.2.2.1 Phương pháp tổ chức bộ nhớ S – access

Phương pháp này được gọi là S – access vì tất cả các module được truy nhập đồng thời (Simultaneous) Mỗi module có một chốt dữ liệu Đối với một

thao tác nhận dữ liệu, dữ liệu từ mỗi module được đưa qua chốt, và bộ dồn

kênh (multiplexer) được sử dụng để định hướng dữ liệu mong muốn tới bus

Trang 6

®iÒu khiÓn

Hình 1.9: Cấu hình bộ nhớ C – access

1.2.2.3 Phương pháp truy nhập C/S – access

Đây là cấu hình kết hợp giữa hai cấu hình S – access và C – access ở

trên Các module được sắp xếp trong một mảng hai chiều Trong cấu hình

này, nếu S – access được đan xen M đường và C – access được đan xen L đường thì có thể có tới L truy nhập khác nhau đến các khối M từ lưu giữ được

thực hiện đồng thời Phương pháp này hiệu quả đối với nhiều bộ xử lýpipeline

1.3 Các mô hình hệ vi xử lý song song

1.3.1 Mô hình đa máy tính

Mô hình đa máy tính gồm có một số máy tính Von Neumann (hoặcnhững nút), được liên kết thông qua mạng Mỗi máy tính thực hiện chươngtrình riêng của mình Chương trình này có thể truy nhập bộ nhớ cục bộ và cóthể gửi và nhận những thông báo thông qua mạng

1.3.2 Các mô hình hệ vi xử lý song song khác

Ngoài mô hình đa máy tính, các mô hình khác đối với hệ vi xử lý songsong đã được nghiên cứu phát triển Ở đây ta xem xét ba mô hình điển hìnhngoài mô hình đa máy tính Trong hình vẽ này, kí hiệu P biểu thị một bộ xử lýđộc lập Đầu tiên, trong hình 1.13a, là một máy tính kiểu MIMD có bộ nhớphân tán được liên kết với nhau như một mạng lưới (mesh) Trong đó mỗi bộ

xử lý có bộ nhớ phân tán riêng Hình 1.13b là mô hình bộ đa xử lý với bộ nhớchia sẻ Trong đó, các bộ xử lý truy nhập tới bộ nhớ chung, thông qua mộtbus Để nâng cao hiệu quả và giảm thời gian truy nhập bộ nhớ, các bộ nhớ

Trang 7

cache cho mỗi bộ xử lý được thiết kế để lưu trữ các dữ liệu thường xuyên

được sử dụng Và thứ ba là mô hình đa xử lý với các bộ xử lý được liên kếtqua một mạng cục bộ, ở đây là mạng Ethernet (hình 1.13c)

Trang 8

Hình 1.15 Kiến trúc hệ xử lý song song trên cơ sở bộ vi xử lý NM6403 kết

hợp bộ xử lý tín hiệu số TMS320C40Ngoài ra, có nhiều mô hình hệ xử lý song song khác trên cơ sở bộ vi xử

lý NM6403 có thể được xây dựng

Việc sử dụng bộ xử lý NM6403 trong xây dựng các kiến trúc hệ vi xử

lý chuyên dụng phải được kết hợp với việc tổ chức các bộ nhớ một cách thíchhợp để đạt hiệu năng hệ thống cao nhất

Trang 9

CHƯƠNG 2: KIẾN TRÚC VÀ LẬP TRÌNH TRÊN HỆ XỬ LÝ VÉC TƠ MC431 (NM6403)

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

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

Hầu hết các bộ xử lý vectơ có cấu trúc kiểu đường ống (pipeline).Trong đó, các thao tác trong một chu kỳ lệnh được chia ra thành các chứcnăng con theo mối quan hệ về trình tự thời gian, mỗi tầng trong hệ vi xử lýđường ống tương ứng với một chức năng con Vì vậy, trong trường hợp tổngquát, để phù hợp với phép xử lý hiệu ứng pipeline, các phép tính cần phải cócác đặc tính sau:

a) Các quá trình (hoặc các hàm chức năng) được đòi hỏi lặp lại nhiềulần Mỗi một quá trình lại có thể được phân chia thành các quá trình con(hoặc các hàm con)

b) Các toán hạng kế tiếp được vận chuyển qua các đoạn đường ống vàđòi hỏi phải có các bộ đệm và điều khiển cục bộ tương ứng

c) Các phép toán được thực hiện bằng các đường ống riêng biệt có thểchia sẻ các tài nguyên chung như bộ nhớ và các kênh trong hệ thống

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

Bộ xử lý vô hướng là bộ xử lý thực hiện các thao tác trên dữ liệu vôhướng

Bộ xử lý vectơ gồm toàn bộ tài nguyên phần cứng: các thanh ghi vectơ,các pipeline chức năng, các phần tử xử lý và các bộ đếm thanh ghi phục vụcho việc thực hiện các thao tác vectơ Nói chung, xử lý vectơ cho hiệu quảcao và tốc độ xử lý nhanh hơn xử lý vô hướng

Một trong những ưu điểm của xử lý vectơ so với xử lý vô hướng là

giảm được các tiếp đầu phần mềm (overhead) trong điều khiển vòng lặp.

2.1.3 Quá trình phát triển của xử lý vectơ và xu hướng hiện nay

Các thế hệ của máy tính vectơ chủ yếu thực hiện việc cải thiện về tốc

độ tính toán nhờ cải tiến cấu trúc hệ vi xử lý theo kiểu đường ống hay đa xử

lý Bên cạnh đó, một hướng tiếp cận mới với các hệ vi xử lý vectơ đang đượcnghiên cứu và thực hiện trên quan điểm nâng cao cả về tốc độ tính toán và

Trang 10

khả năng ứng dụng trong các lĩnh vực chuyên biệt, đó là kiến trúc kết hợp xử

lý vectơ và mạng Nơron: kiến trúc Neural-Matrix Điều này bắt nguồn từ

nhận xét rằng mặc dù các thao tác tính toán trong xử lý vectơ cho phép tăngđược tốc độ tính toán một cách mạnh mẽ so với xử lý vô hướng song nếu cáctính toán vectơ được thực hiện ở dạng tường minh đầy đủ thì số phép tính cầnthực hiện vẫn còn lớn và thời gian thực thi còn lớn Tốc độ tính toán và hiệunăng hệ vi xử lý vectơ hoàn toàn có thể tăng lên hơn nữa nếu bộ xử lý vectơ

có khả năng thích nghi theo kiểu trí tuệ nhân tạo trong các thao tác tính toánvectơ

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 rathị 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, mạng Nơron và cáctính toán kiểu vectơ-ma trận Tốc độ của MC431 là 120 MOPS (MillionOperations per Second: Triệu phép tính trong 1 giây) với các thao tác vôhướng và 960 MMAC (Million Multiplication and Accumulation per Second:Triệu phép nhân và tích lũy trong 1 giây) với các thao tác vectơ

2.2.2 Sơ đồ khối và các thành phần của hệ vi xử lý vectơ MC431

Sơ đồ khối của hệ vi xử lý MC431 được thể hiện trong hình vẽ 2.3 Cácthành phần chính của MC431 gồm có:

 Bộ xử lý Neural-Matrix NM6403

 Bộ nhớ 4MB loại SRAM

 Các giao tiếp qua Bus PCI

 Hai cổng truyền thông

Trang 11

BUS PCI Các cổng truyền thông

Hỡnh 2.3: Sơ đồ khối hệ vi xử lý vectơ MC431

2.3 Cấu trỳc của bộ xử lý NM6403

Sơ đồ khối của NM6403 ở trờn hỡnh 2.5

Bộ xử lý Vectơ

Bus địa chỉ cục bộ Bus địa chỉ toàn cục

Bus đầu vào 1 Bus đầu vào 2

Trang 12

 Các khối giao tiếp bộ nhớ toàn cục (GMI) và cục bộ (LMI)

 Các bộ đồng xử lý DMA với các cổng truyền thông tương thíchvới chuẩn TMS320C4x

 Các bus địa chỉ cục bộ và toàn cục

 Hai bus dữ liệu đầu vào và một bus dữ liệu đầu ra

2.3.1 Bộ xử lý vô hướng RISC

Bộ xử lý vô hướng (hình 2.6) được sử dụng cho các tính toán số học –logic và các thao tác dịch trên dữ liệu 32 bit, các tính toán địa chỉ 32 bit của

dữ liệu và lệnh trong truy nhập bộ nhớ, các tính toán trên các thanh ghi đanăng và chuẩn bị dữ liệu cho bộ xử lý vectơ

Hình 2.6: Sơ đồ khối bộ xử lý vô hướng

2.3.2 Bộ xử lý vectơ

Nút trung tâm của bộ xử lý vectơ là khối thao tác OU (Operation Unit),chứa khối ma trận hoạt động/ ma trận phụ và khối số học-logic vectơ(VALU) Khối OU được sử dụng để xử lý các thao tác nhân – cộng, số học-logic, phép hoán vị trên các vectơ dữ liệu đóng gói

Trang 13

2.3.2.1 Ma trận hoạt động

Đõy là một khối thao tỏc thực hiện cỏc phộp nhõn – cộng và chuyển vị.Đặc biệt, thao tỏc tớch lũy trọng số thực hiện tại ma trận hoạt động cú ý nghĩaquan trọng trong cỏc ứng dụng tớnh toỏn của NM6403

RAM

Bộ dịch vòng

Ma trận phụ

Ma trận hoạt động

Bus dữ liệu vectơ đầu ra

VR

X

Y

Hỡnh 2.7: Sơ đồ khối bộ xử lý vectơ trong NM6403

2.3.2.3 Khối số học – logic vectơ (VALU)

Khối này thực hiện cỏc tớnh toỏn số học và logic trờn cỏc từ dữ liệuđúng gúi Cỏc tớnh toỏn được thực hiện đồng thời trờn tất cả cỏc phần tử của

từ dữ liệu đúng gúi

Trang 14

2.3.2.4 Bộ đệm các trọng số kiểu FIFO (wfifo)

Được sử dụng để lưu trữ các trọng số được chuyển từ bộ nhớ ngoài vào

ma trận phụ, như một bộ đệm giữa bộ nhớ ngoài và ma trận phụ

2.3.2.5 Bộ đệm – bộ tích lũy kiểu FIFO (afifo)

Đây là một hàng đợi kiểu FIFO dung lượng 32 từ 64 bit Nó được sửdụng là bộ đệm dích của bất kỳ thao tác nào trong VU

2.3.2.6 Bộ đệm – bộ nhớ trong kiểu FIFO (ram)

Được sử dụng như một trong các bộ đệm đầu vào cho ma trận hoạtđộng hay khối VALU

2.3.2.7 Khối đặt mặt nạ (MAU: Mask Application Unit)

Khối này được sử dụng để đặt mặt nạ tới các vectơ dữ liệu đầu vào

2.3.3 Các thanh ghi trong bộ xử lý NM6403

Bộ xử lý NM6403 chứa 3 tệp thanh ghi sau:

 Tệp thanh ghi chính

 Tệp thanh ghi điều khiển ngoại vi

 Tệp thanh ghi vectơ

Sau đây ta xem xét cụ thể từng tệp thanh ghi trên

2.3.3.1 Tệp thanh ghi chính

Tệp thanh ghi chính gồm 8 thanh ghi địa chỉ và 8 thanh ghi đa năng.Chúng đều là các thanh ghi cho phép truy nhập đọc/ghi 32 bit

2.3.3.2 Tệp thanh ghi điều khiển ngoại vi

Tệp thanh ghi điều khiển ngoại vi được sử dụng để điều khiển các giaodiện bộ nhớ mở rộng, các cổng truyền thông, các bộ đồng xử lý DMA, cácTimer

2.3.3.3 Tệp thanh ghi vectơ

Tệp thanh ghi vectơ được sử dụng để điều khiển bộ xử lý vectơ

2.4 Lập trình trên hệ vi xử lý vectơ MC431

2.4.1 Cấu trúc của chương trình assembly cho hệ vi xử lý vectơ MC431

Trong ngôn ngữ assembly cho NM6403 có 3 kiểu đoạn là:

Trang 15

 Đoạn mã

 Đoạn dữ liệu khởi tạo

 Đoạn dữ liệu không khởi tạo

Một đoạn được khởi đầu bằng một trong các từ khóa sau: begin, data hay nobits và kết thúc với từ khóa end cùng với tên đoạn được đặt trong dấu

ngoặc kép Ở giữa là thân đoạn

2.4.2 Tập lệnh của hệ vi xử lý vectơ MC431

Bộ xử lý NM6403 trong hệ xử lý vectơ MC431 hỗ trợ các lệnh 32 bit

và 64 bit Bất kỳ lệnh nào đều chứa hai thao tác bộ xử lý là định địa chỉ và sốhọc Các lệnh 64 bit (lệnh dài) chứa một hằng số 32 bit còn lệnh 32 bit (lệnhngắn) không chứa hằng số

Trang 16

CHƯƠNG 3: XÂY DỰNG PHẦN MỀM THEO THUẬT TOÁN FHT TRÊN NỀN HỆ VI XỬ LÝ VÉC TƠ MC431

3.1 Xử lý tín hiệu số theo phương pháp FHT

3.1.1 Các phép biến đổi trong xử lý tín hiệu số

Các phép biến đổi Fourier (FT: Fourier Transform) và biến đổi Fourierrời rạc (DFT: Discrete Fourier Transform) được sử dụng rộng rãi trong xử lýtín hiệu số Đặc biệt là, việc xuất hiện thuật toán nhanh cho DFT, được gọi làbiến đổi Fourier nhanh (FFT: Fast Fourier Transform), đã tạo ra một bướcnhảy vọt trong lĩnh vực phân tích, thiết kế và thực hiện các bài toán xử lý tínhiệu số

Biến đổi FHT đặc biệt hiệu quả so với các phép biến đổi khác nhờ sựđơn giản trong tính toán do các phần tử trong ma trận chỉ gồm các con số 1 và-1; thời gian xử lý ngắn; dễ dàng trong thực hiện phần cứng và khả năng bềnvững trước các tác động bên ngoài cũng như các thao tác xử lý ảnh như nénảnh, thay đổi kích thước ảnh Ngoài ra, FHT còn được ứng dụng trong côngnghệ trải phổ đa truy nhập phân chia theo mã CDMA (Code DivisionMultiple Access) để tạo các mã người dùng trực giao hoàn toàn

3.1.2 Ma trận Hadamard và phép biến đổi Hadamard

Ma trận Hadamard được định nghĩa dưới dạng hồi qui như sau

1 1 1

1 1 2

Biến đổi Hadamard (HT: Hadamard Transform) của một vectơ x được

định nghĩa là tích của ma trận Hadamard với vectơ này: y = HN x

Phép biến đổi Hadamard trên là một phép biến đổi rời rạc nên được gọi

là biến đổi Hadamard rời rạc (DHT: Discrete Hadamard Transform)

Ngày đăng: 19/08/2015, 09:41

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w