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

Đ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 MỞ ĐẦU Cơ sở nghiên cứu mục đích luận văn Ngày nay, với phát triển khoa học kỹ thuật, yêu cầu hệ vi xử lý chuyên dụng ngày cấp thiết Đối với số ứng dụng hệ thống quan sát, hệ thống đo lường, điều khiển vệ tinh… số lượng phép tính phải thực đồng thời cực lớn Các hệ siêu máy tính có giá thành cao lãng phí sử dụng ứng dụng chuyên dụng với lớp tốn hẹp Vì thế, việc sử dụng vi xử lý với tốc độ tính tốn cao kết hợp với việc áp dụng thuật tốn tính tốn nhanh đảm bảo giá thành hợp lý cần thiết Tổ chức luận văn Luận văn trình bầy thành chương Phần mở đầu, tác giả trình bày tóm tắt sở nghiên cứu mục đích tổ chức luận văn Chương 1, trình bầy khái quát lý thuyết xử lý song song Các dòng vi xử lý thực tế đánh giá tốc độ khả ứng dụng chúng lớp toán cụ thể Chương 2, giới thiệu họ vi xử lý vec tơ NM6403 hãng module Nga sản xuất Đây hệ vi xử lý tốc độ cao, thích hợp cho ứng dụng cụ thể địi hỏi tốc độ xử lý cực cao Chương 3, chương quan trọng Sử dụng hệ vi xử lý véc tơ NM6403 tốc độ cao, áp dụng thuật toán FHT để hiệu tính tốn nhanh nhất, luận văn giới thiệu cách tiếp cận để xây dựng hệ vi xử lý tốc độ cao ứng dụng lớp toán cụ thể 2 CHƯƠNG 1: TỔNG QUAN VỀ LÝ THUYẾT XỬ LÝ SONG SONG 1.1 Phân loại 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 thị đơn liệu (SISD) Đây kiểu kiến trúc Von Neuman cho hệ vi xử lý thơng thường, có ưu điểm đơn giản cấu trúc phần cứng phần mềm hệ thống Tuy nhiên, với cách truyền thống tốc độ xử lý đạt đến giới hạn đó, khơng thể nâng tốc độ xử lý đơn lên kiến trúc không áp dụng cho hệ vi xử lý tốc độ cao đại 1.1.2 Kiến trúc hệ vi xử lý đơn thị đa liệu (SIMD) Cho phép thời điểm dòng lệnh thao tác nhiều dịng liệu Các lệnh kiểu SIMD giúp giảm bớt tiếp đầu phần mềm khơng phải lặp lại nhiều dịng liệu khác Mơ hình cho phép giảm bớt độ phức tạp phần cứng lẫn phần mềm thích hợp cho hệ thống chuyên dụng, chẳng hạn xử lý ảnh ứng dụng mô số Hiện hệ xử lý song song theo kiến trúc SIMD phát triển mạnh mẽ, đặc biệt thiết kế hệ vi xử lý chuyên dụng có tốc độ hiệu cao với giá thành hợp lý 1.1.3 Kiến trúc hệ vi xử lý đa thị đơn liệu (MISD) Hiện nay, phương pháp xử lý thành cơng thực nghiệm cịn mặt thương mại chưa thực Tuy nhiên, thành cơng ban đầu nghiên cứu hứa hẹn nhiều kết ứng dụng khả quan tương lai 1.1.4 Kiến trúc hệ vi xử lý đa thị đa liệu (MIMD) Mơ hình tập trung nghiên cứu nhiều nước giới tính dễ hiểu, hiệu quả, linh hoạt phù hợp với có (ví dụ máy tốc độ thấp ta có nhiều) Kết nghiên cứu kiến trúc MIMD cho phép xây dựng hệ vi xử lý song song tốc độ cao, đặc biệt hệ siêu máy tính song song đa 3 1.2 Phương pháp tổ chức nhớ hệ vi xử lý song song 1.2.1 Phương pháp tổ chức nhớ phân cấp 1.2.1.1 Khái niệm nhớ phân cấp Phân cấp nhớ cấu trúc cho nhớ cấp i “cao hơn” nhớ cấp i+1 Gọi ci, ti si tương ứng chi phí byte, thời gian truy nhập trung bình kích thước nhớ tổng cộng cấp i, ta có quan hệ cấp i i+1 sau: • Về chi phí byte nhớ: ci > ci+1 • Về thời gian truy nhập trung bình: ti < ti+1 • Về kích thước nhớ: si < si+1 Như nhớ cấp i có chi phí cao thời gian truy nhập ngắn (nhanh hơn) có kích thước nhỏ nhớ cấp i+1 Bộ nhớ cấp nhớ gắn liền với xử lý gọi nhớ cục (bộ nhớ cache) 1.2.1.2 Tối ưu hóa phân cấp nhớ Vấn đề đặt thiết kế phân cấp nhớ điển hình việc tối ưu hóa để giảm đến thấp thời gian truy nhập phân cấp hiệu dụng T với chi phí hệ thống nhớ cho trước C0 ràng buộc kích thước Tức n n i =1 i =1 tối thiểu hóa T = ∑  F ( si −1 )  ti với điều kiện ràng buộc C = ∑ c ( ti ) si ≤ C0 ,   si > ti > với i = 1, 2, …, n Trong thực tế, ràng buộc chi phí bao gồm chi phí mạng liên kết xử lý – nhớ 1.2.1.3 Các phương pháp địa hóa cho nhớ Có hai phương pháp phân chia địa module nhớ Một phương pháp, gọi đan xen bậc cao, phân chia địa M = 2m module cho module i, với ≤ i ≤ M − , chứa địa liên tiếp i.2n−m đến ( i + 1) 2n−m − Trong m bit cao sử dụng để chọn module n – m bit thấp sử dụng để chọn địa bên module (hình 1.5) 4 Hình 1.5: Đan xen bậc cao Hình 1.6: Đan xen bậc thấp Phương pháp thứ hai, đan xen bậc thấp, phân chia địa cho địa đặt module Trong m bit thấp địa sử dụng để chọn module, n – m bit cao chọn địa bên module, mơ tả hình 1.6 Một ưu diểm đan xen bậc cao có độ tin cậy hệ thống cao, module lỗi ảnh hưởng đến vùng cục không gian nhớ Ngược lại, phương pháp thứ hai, lỗi module đơn ảnh hưởng trầm trọng đến toàn hệ thống Tuy nhiên, phương pháp thứ hai dường tốt vấn đề xung đột nhớ sở việc lựa chọn 1.2.2 Các phương pháp tổ chức nhớ đan xen (Interleaved) 1.2.2.1 Phương pháp tổ chức nhớ S – access Phương pháp gọi S – access tất module truy nhập đồng thời (Simultaneous) Mỗi module có chốt liệu Đối với thao tác nhận liệu, liệu từ module đưa qua chốt, dồn kênh (multiplexer) sử dụng để định hướng liệu mong muốn tới bus từ liệu đơn Hình 1.7: Cấu hình nhớ S – access 1.2.2.2 Phương pháp tổ chức nhớ C – access Để tăng hiệu việc sử dụng băng nhớ giảm giá thành băng nhớ nhiều module nhớ chia sẻ băng nhớ Cấu hình gọi C – access (hình 1.8) module nhớ truy nhập lúc (Concurrent) 6 Hình 1.9: Cấu hình nhớ C – access 1.2.2.3 Phương pháp truy nhập C/S – access Đây cấu hình kết hợp hai cấu hình S – access C – access Các module xếp mảng hai chiều Trong cấu hình này, S – access đan xen M đường C – access đan xen L đường có tới L truy nhập khác đến khối M từ lưu giữ thực đồng thời Phương pháp hiệu nhiều 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ó số máy tính Von Neumann (hoặc nút), liên kết thơng qua mạng Mỗi máy tính thực chương trình riêng Chương trình truy nhập nhớ cục gửi nhận 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 Ngồi mơ hình đa máy tính, mơ hình khác hệ vi xử lý song song nghiên cứu phát triển Ở ta xem xét ba mơ hình điển hình ngồi mơ hình đa máy tính Trong hình vẽ này, kí hiệu P biểu thị xử lý độc lập Đầu tiên, hình 1.13a, máy tính kiểu MIMD có nhớ phân tán liên kết với mạng lưới (mesh) Trong xử lý có nhớ phân tán riêng Hình 1.13b mơ hình đa xử lý với nhớ chia sẻ Trong đó, xử lý truy nhập tới nhớ chung, thông qua bus Để nâng cao hiệu giảm thời gian truy nhập nhớ, nhớ cache cho xử lý thiết kế để lưu trữ liệu thường xuyên sử dụng Và thứ ba mơ hình đa xử lý với xử lý liên kết qua mạng cục bộ, mạng Ethernet (hình 1.13c) (a) (b) (c) 1.3.3 Các mơ hình hệ vi xử lý song song chun dụng sở xử lý NM6403 Các hệ vi xử lý song song chuyên dụng tốc độ cao xây dựng sở xử lý NM6403 kết hợp với xử lý tín hiệu số TMS320C40, TMS320C40 đóng vai trị nút chuyển mạch Kiến trúc cho phép nâng cao mạnh mẽ hiệu hệ thống, đặc biệt ứng dụng chuyên biệt yêu cầu tốc độ tính tốn cực nhanh với độ xác cao Hình 1.15 sau đưa hai mơ hình kiến trúc theo nguyên tắc 8 Hình 1.15 Kiến trúc hệ xử lý song song sở vi xử lý NM6403 kết hợp xử lý tín hiệu số TMS320C40 Ngồi ra, có nhiều mơ hình hệ xử lý song song khác sở vi xử lý NM6403 xây dựng Việc sử dụng xử lý NM6403 xây dựng kiến trúc hệ vi xử lý chuyên dụng phải kết hợp với việc tổ chức nhớ cách thích hợp để đạt hiệu hệ thống cao 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 xử lý vectơ 2.1.1 Các đặc trưng phép xử lý vectơ Hầu hết xử lý vectơ có cấu trúc kiểu đường ống (pipeline) Trong đó, thao tác chu kỳ lệnh chia thành chức theo mối quan hệ trình tự thời gian, tầng hệ vi xử lý đường ống tương ứng với chức Vì vậy, trường hợp tổng quát, để phù hợp với phép xử lý hiệu ứng pipeline, phép tính cần phải có đặc tính sau: a) Các q trình (hoặc hàm chức năng) đòi hỏi lặp lại nhiều lần Mỗi q trình lại phân chia thành trình (hoặc hàm con) b) Các toán hạng vận chuyển qua đoạn đường ống địi hỏi phải có đệm điều khiển cục tương ứng c) Các phép toán thực đường ống riêng biệt chia sẻ tài nguyên chung nhớ kênh hệ thống 2.1.2 Bộ xử lý vô hướng xử lý vectơ Bộ xử lý vô hướng xử lý thực thao tác liệu vô hướng Bộ xử lý vectơ gồm toàn tài nguyên phần cứng: ghi vectơ, pipeline chức năng, phần tử xử lý đếm ghi phục vụ cho việc thực thao tác vectơ Nói chung, xử lý vectơ cho hiệu cao tốc độ xử lý nhanh xử lý vô hướng Một ưu điểm xử lý vectơ so với xử lý vô hướng giảm tiếp đầu phần mềm (overhead) điều khiển vòng lặp 2.1.3 Quá trình phát triển xử lý vectơ xu hướng Các hệ máy tính vectơ chủ yếu thực việc cải thiện 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 đó, hướng tiếp cận với hệ vi xử lý vectơ nghiên cứu thực quan điểm nâng cao tốc độ tính toán 10 khả ứng dụng lĩnh vực chuyên biệt, kiến trúc kết hợp xử lý vectơ mạng Nơron: kiến trúc Neural-Matrix Điều bắt nguồn từ nhận xét thao tác tính tốn xử lý vectơ cho phép tăng tốc độ tính tốn cách mạnh mẽ so với xử lý vơ hướng song tính tốn vectơ thực dạng tường minh đầy đủ số phép tính cần thực cịn lớn thời gian thực thi cịn lớn Tốc độ tính tốn hiệu hệ vi xử lý vectơ hồn tồn tăng lên xử lý vectơ có khả thích nghi theo kiểu trí tuệ nhân tạo thao tác tính tốn vectơ 2.2 Hệ vi xử lý vectơ MC431 2.2.1 Giới thiệu chung hệ vi xử lý vectơ MC431 Hệ vi xử lý vectơ MC431 hãng Module (Nga) công bố đưa thị trường năm 2003, hệ vi xử lý vectơ tốc độ cao, giá thành hợp lý thiết kế cho nhiều chức hệ thống khác nhau, đặc biệt hiệu ứng dụng xử lý tín hiệu số, xử lý ảnh-video, mạng Nơron tính tốn kiểu vectơ-ma trận Tốc độ MC431 120 MOPS (Million Operations per Second: Triệu phép tính giây) với thao tác vơ hướng 960 MMAC (Million Multiplication and Accumulation per Second: Triệu phép nhân tích lũy giây) với thao tác vectơ 2.2.2 Sơ đồ khối thành phần hệ vi xử lý vectơ MC431 Sơ đồ khối hệ vi xử lý MC431 thể hình vẽ 2.3 Các thành phần 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 11 Hình 2.3: Sơ đồ khối hệ vi xử lý vectơ MC431 2.3 Cấu trúc xử lý NM6403 Sơ đồ khối NM6403 hình 2.5 Hình 2.5: Sơ đồ khối xử lý NM6403 Bộ xử lý NM6403 gồm thành phần sau: • Bộ xử lý vơ hướng RISC • Bộ xử lý vectơ 12 • Các khối giao tiếp nhớ toàn cục (GMI) cục (LMI) • Các đồng xử lý DMA với cổng truyền thơng tương thích với chuẩn TMS320C4x • Các bus địa cục tồn cục • Hai bus liệu đầu vào bus liệu đầu 2.3.1 Bộ xử lý vô hướng RISC Bộ xử lý vơ hướng (hình 2.6) sử dụng cho tính tốn số học – logic thao tác dịch liệu 32 bit, tính tốn địa 32 bit liệu lệnh truy nhập nhớ, tính tốn ghi đa chuẩn bị liệu cho xử lý vectơ Hình 2.6: Sơ đồ khối xử lý vô hướng 2.3.2 Bộ xử lý vectơ Nút trung tâm xử lý vectơ khối thao tác OU (Operation Unit), chứa khối ma trận hoạt động/ ma trận phụ khối số học-logic vectơ (VALU) Khối OU sử dụng để xử lý thao tác nhân – cộng, số họclogic, phép hoán vị vectơ liệu đóng gói 13 2.3.2.1 Ma trận hoạt động Đây khối thao tác thực phép nhân – cộng chuyển vị Đặc biệt, thao tác tích lũy trọng số thực ma trận hoạt động có ý nghĩa quan trọng ứng dụng tính tốn NM6403 2.3.2.2 Ma trận phụ Ma trận phụ sử dụng để tải trước lưu trữ trọng số sử dụng cho ma trận hoạt động Hình 2.7: Sơ đồ khối xử lý vectơ NM6403 2.3.2.3 Khối số học – logic vectơ (VALU) Khối thực tính tốn số học logic từ liệu đóng gói Các tính tốn thực đồng thời tất phần tử từ liệu đóng gói 14 2.3.2.4 Bộ đệm trọng số kiểu FIFO (wfifo) Được sử dụng để lưu trữ trọng số chuyển từ nhớ vào ma trận phụ, đệm nhớ ma trận phụ 2.3.2.5 Bộ đệm – tích lũy kiểu FIFO (afifo) Đây hàng đợi kiểu FIFO dung lượng 32 từ 64 bit Nó sử dụng đệm dích thao tác VU 2.3.2.6 Bộ đệm – nhớ kiểu FIFO (ram) Được sử dụng đệ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 sử dụng để đặt mặt nạ tới vectơ liệu đầu vào 2.3.3 Các ghi xử lý NM6403 Bộ xử lý NM6403 chứa tệp ghi sau: • Tệp ghi • Tệp ghi điều khiển ngoại vi • Tệp ghi vectơ Sau ta xem xét cụ thể tệp ghi 2.3.3.1 Tệp ghi Tệp ghi gồm ghi địa ghi đa Chúng ghi cho phép truy nhập đọc/ghi 32 bit 2.3.3.2 Tệp ghi điều khiển ngoại vi Tệp ghi điều khiển ngoại vi sử dụng để điều khiển giao diện nhớ mở rộng, cổng truyền thông, đồng xử lý DMA, Timer 2.3.3.3 Tệp ghi vectơ Tệp ghi vectơ sử dụng để điều khiển xử lý vectơ 2.4 Lập trình hệ vi xử lý vectơ MC431 2.4.1 Cấu trúc chương trình assembly cho hệ vi xử lý vectơ MC431 Trong ngơn ngữ assembly cho NM6403 có kiểu đoạn là: 15 • Đoạn mã • Đoạn liệu khởi tạo • Đoạn liệu khơng khởi tạo Một đoạn khởi đầu từ khóa sau: begin, data hay nobits kết thúc với từ khóa end với tên đoạn đặt dấu ngoặc kép Ở thân đoạn 2.4.2 Tập lệnh hệ vi xử lý vectơ MC431 Bộ xử lý NM6403 hệ xử lý vectơ MC431 hỗ trợ lệnh 32 bit 64 bit Bất kỳ lệnh chứa hai thao tác xử lý định địa số học Các lệnh 64 bit (lệnh dài) chứa số 32 bit lệnh 32 bit (lệnh ngắn) không chứa số 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 xử lý tín hiệu số Các phép biến đổi Fourier (FT: Fourier Transform) biến đổi Fourier rời rạc (DFT: Discrete Fourier Transform) sử dụng rộng rãi xử lý tín hiệu số Đặc biệt là, việc xuất thuật toán nhanh cho DFT, gọi biến đổi Fourier nhanh (FFT: Fast Fourier Transform), tạo bước nhảy vọt lĩnh vực phân tích, thiết kế thực toán xử lý tín hiệu số Biến đổi FHT đặc biệt hiệu so với phép biến đổi khác nhờ đơn giản tính tốn phần tử ma trận gồm số -1; thời gian xử lý ngắn; dễ dàng thực phần cứng khả bền vững trước tác động bên thao tác xử lý ảnh nén ảnh, thay đổi kích thước ảnh Ngồi ra, FHT cịn ứng dụng cơng nghệ trải phổ đa truy nhập phân chia theo mã CDMA (Code Division Multiple Access) để tạo mã người dùng trực giao hoàn toàn 3.1.2 Ma trận Hadamard phép biến đổi Hadamard Ma trận Hadamard định nghĩa dạng hồi qui sau H2 = 1    1 −1 H 2N = H N  H N HN  -H N   Các Hadamard có số tính chất đặc biệt Các tính chất khai thác tạo nên tính hiệu cao phép biến đổi Hadamard Ma trận Hadamard ma trận thực, có tính đối xứng trực giao hoàn toàn Tức là: H = H* = HT = H-1 Biến đổi Hadamard (HT: Hadamard Transform) vectơ x định nghĩa tích ma trận Hadamard với vectơ này: y = HN x Phép biến đổi Hadamard phép biến đổi rời rạc nên gọi biến đổi Hadamard rời rạc (DHT: Discrete Hadamard Transform) 17 Biến đổi DHT ngược (IDHT: Inverse Discrete Hadamard Transform) vectơ y có đọ dài N vectơ x có độ dài N sau: x= H N y N 3.1.3 Biến đổi Hadamard nhanh (FHT) Tính tốn cho thấy, tương tự với DFT, số phép tính cần thực DHT N2 (N độ dài vectơ đầu vào vectơ kết quả) Hiệu thuật toán FHT so với DHT thể chỗ: số phép tính cần thực giảm cịn Nlog2N (rõ ràng số phép tính giảm nhiều N lớn) Thuật tốn tính FHT ma trận Hadamard bậc N (gọi FHT N điểm) tóm tắt sau:  Bước 1: Vectơ liệu đầu vào với chiều dài N chia thành N/2 khối, khối gồm phần tử, thực phép tính khối theo đẳng thức (1) (2)  Bước 2: Vectơ đầu vào vectơ kết bước Vectơ chia thành N/4 khối, khối gồm phần tử Thực phép tính khối theo đẳng thức (3) (4)  Tại bước k thực tính tốn hình 3.1, tức bước nỗi phần tử tương tác với phần tử cách k-1 phần tử Lặp lại bước đến bước thứ n =log2N Kết cuối thu vectơ có chiều dài N, biến đổi Hadamard vectơ đầu vào Kết thu sau bước vectơ có chiều dài N Trong trường hợp tổng quát, thuật toán phải thực log2N bước Số phép tính bước N Do tổng số phép tính phải thực FHT N điểm Nlog2N 3.2 Ứng dụng FHT kỹ thuật giấu tin ảnh số 3.2.1 Khái niệm kỹ thuật giấu thông tin liệu số 18 Giấu thông tin kỹ thuật nhúng (embedding) lượng thơng tin số vào đối tượng liệu số khác Một yêu cầu giấu tin đảm bảo tính chất ẩn thơng tin giấu đồng thời không làm ảnh hưởng đến chất lượng liệu gốc 3.2.2 Ứng dụng kỹ thuật giấu thông tin liệu số - Bảo vệ quyền tác giả - Nhận thực thông tin phát xuyên tạc thông tin - Dấu vân tay dán nhãn - Điều khiển chép - Truyền thông tin mật 3.2.3 Phân loại hệ thống giấu thông tin liệu số Theo đặc tính q trình tách thơng tin giấu, hệ thống giấu tin chia làm ba loại sau: không mù (non-blind), bán mù (semi-blind) mù (blind) Theo kiểu khóa sử dụng, hệ thống giấu tin chia làm hai loại: kiểu cơng cộng (sử dụng khóa cơng khai) kiểu bí mật (sử dụng khóa riêng) Nếu dựa theo ảnh hưởng tác động từ bên ngồi chia thành hai loại, loại bền vững với tác động chép trái phép loại thứ hai lại có tính chất hồn tồn đối lập: dễ bị phá hủy trước tác động Cũng chia hệ thống giấu tin theo đặc tính nhìn thấy, loại cần che giấu để có số người tiếp xúc với thấy thơng tin (kiểu vơ hình); loại thứ hai ngược lại, cần người nhìn thấy (kiểu hữu hình) 3.2.4 Kỹ thuật giấu thông tin ảnh số sử dụng FHT Có nhóm phương pháp dấu tin ảnh số: - Nhóm phương pháp miền khơng gian: lượng giấu tin thấp, bền vững - Nhóm phương pháp giấu ảnh miền biến đổi: (DFT, DWT, DHT) có khả cho dung lượng thơng tin giấu cao khả bền vững trước tác động bên thao tác xử lý ảnh 19 Kí hiệu giá trị điểm ảnh ảnh gốc B thông tin cần dấu BW Cả hai biến đổi FHT để giá trị hệ số biến đổi tương ứng f w Bộ mã hóa sử dụng hệ số để mã hóa giá trị hàm mã hóa: e=α.w.f Trong ỏ hệ số mã hóa, chẳng hạn chọn ỏ = 0,1 Sau cộng ta hàm fW: fW = f + α w f Và sau biến đổi IFHT fw thu B1 giá trị ảnh giấu tin, từ ảnh gửi kênh truyền a Quá trình nhúng thơng tin giấu b Q trình tách thơng tin giấu Hình 3.3: Các q trình nhúng tách thơng tin giấu ảnh sử dụng biến đổi FHT Tại phía thu nhận ảnh giấu tin với giá trị điểm ảnh B1 sai khác so với B1 tác động kênh truyền Thực biến đổi FHT ảnh thu hệ số f w đưa tới giải mã với khóa k giống hệt phía phát để tách riêng hệ số biến đổi Hadamard ảnh gốc ( f ) thông tin giấu ( w ) Từ đó, phép biến đổi FHT ngược (IFHT) thực hệ số để khôi phục lại ảnh gốc ( B ) thông tin giấu ( Bw ) 20 3.3 Lập trình xử lý tín hiệu số theo phương pháp FHT hệ xử lý vectơ MC431 Bài tốn lập trình tính FHT 256 điểm hệ xử lý vectơ MC431 đặt với thơng số sau đây: • Dữ liệu đầu vào vectơ có chiều dài N = 256 Mỗi phần tử vectơ số nguyên có dấu biểu thị Byte (8 bit) • Kết FHT vectơ có chiều dài N = 256 Mỗi phần tử vectơ số nguyên có dấu biểu thị 16 bit (kiểu từ ngắn) • Số bước tính tốn (28 = 256) 3.3.1 Thực bước FHT 256 điểm Hình 3.4: Quá trình chia ma trận Hadamard bậc thành hai ma trận Các tính tốn thực theo trình tự sau:  Nạp ma trận trọng số Hadamard thứ vào ma trận hoạt động xử lý  Tính từ long chẵn vectơ kết Các kết tích lũy đệm afifo Dung lượng afifo 32 từ long (64 bit)  Lưu trữ kết tính bước vào vị trí chẵn mảng kết 21  Đồng thời nạp trọng số vào ma trận hoạt động  Thực tính tốn cho từ long lẻ lưu kết vào vị trí lẻ mảng kết Sau ta thực lập trình tính tốn cho bước 3.3.1.1 Nạp trọng số vào ma trận hoạt động branch; // Cho phép thực thi lệnh vectơ song song nb1 = 80008000h; // Đặt cấu hình cột ma trận cột sb = 03030303h; ar0 = M_1_3; // Đặt cấu hình hàng ma trận, hàng // Địa mảng trọng số (đã khai báo đoạn liệu) rep 16 wfifo = [ar0++], ftw, wtw; // Nạp trọng số a Tầng tính tốn (các từ chẵn kết quả) 22 a Tầng tính tốn (các từ chẵn kết quả) Hình 3.5: Quá trình sử lý liệu ma trận hoạt động 3.3.1.2 Thực tính tốn Thủ tục assembly Steps_1_3 (phụ lục 1) thực thao tác tính tốn bước FHT 256 điểm 3.3.2 Thực bước FHT 256 điểm Các tính tốn bước thực theo thứ tự sau:  Nạp trọng số từ nhớ vào ram  Nạp 32 từ long chẵn liệu đầu vào tới wfifo, đến ma trận phụ, sau tới ma trận hoạt động  Nạp 32 từ long lẻ liệu đầu vào tới wfifo, đến ma trận phụ Đồng thời lệnh, thực song song tính tốn cho từ chẵn  Lưu từ chẵn kết vào nhớ  Thực tính tốn từ lẻ lưu kết vào nhớ Thủ tục assembly Steps_4_8 (phụ lục 1) thực thao tác tính tốn bước FHT 256 điểm 3.3.3 Chạy mô phần mềm  File assembly hadam256.asm chứa thủ tục tính tốn bước bước cuối thuật tốn tính FHT 256 điểm  File mào đầu (header) hadam256.h chứa khai báo thủ tục assembly gọi chương trình C++  File chương trình C++ hadamard.cpp để khởi tạo liệu chứa lệnh gọi thủ tục assembly Kết chạy debug cho biết số chu kỳ sử dụng tính tốn FHT 256, xác định hiệu giá trị Timer lúc bắt đầu kết thúc chương trình tính FHT 256 Giá trị ghi t1 (của Timer 1) lúc bắt đầu tính tốn 711h kết thúc 8BBh nên số chu kỳ sử dụng là: 8BBh – 711h = 1AAh = 426 chu kỳ Tần số clock MC431 40MHz nên thời gian chu kỳ là: 1/(40.106) = 25.10-9 s = 25 ns 23 Do đó, thời gian chạy chương trình FHT 256 điểm MC431 là: 426.25 ns = 10650 ns = 10,65 µs 3.3.4 Đánh giá kết Hiệu hiệu dụng xử lý là: phép tính x 256 phần tử / 426 chu kỳ = 4,8 phép tính số học / chu kỳ Tuy nhiên số phép tính thực tế khác so với lý thuyết Vì bước tính tốn thực số bước tính tốn thực số 32 nên tổng số phép tính thực phần tử 40 Và hiệu thực tế NM6403 là: 40 phép tính x 256 phần tử / 426 chu kỳ = 24,0 phép tính số học / chu kỳ Để đánh giá cách cụ thể hiệu hệ vi xử lý vectơ MC431, ta so sánh thời gian thực thi chương trình tính tốn MC431 máy tính PC có kiến trúc kiểu Pentium Bộ xử lý NM6403 Pentium II Pentium III Pentium IV 450 MHz 933 Mz 2,66 GHz Thời gian chạy 10,65 µs 56,1 µs 28,2 µs 16,4 µs Số chu kỳ 2,52.104 2,63.104 4,36.104 426 Kết mơ cho thấy với tốn tính FHT 256 điểm, thời gian tính tốn MC431 khoảng nửa thời gian cần thiết cho xử lý Pentium 2,66 GHz Điều minh chứng cho khả xử lý mạnh mẽ MC431, hẳn máy tính đại thao tác tính tốn với liệu vectơ 24 KẾT LUẬN VÀ KIẾN NGHỊ Kết mô cho thấy với tốn tính FHT 256 điểm, thời gian tính tốn MC431 khoảng nửa thời gian cần thiết cho xử lý Pentium 2,66 GHz Điều minh chứng cho khả xử lý mạnh mẽ MC431, đặc biệt ứng dụng chuyên dụng với lớp toán hẹp Kiến nghị: - Nghiên cứu ứng dụng thuật toán nhanh khác FFT, FDCT, FWT Trên hệ vi xử lý véctơ MC431 ứng dụng chuyên dụng địi hỏi tốc độ tính tốn cực nhanh - Nghiên cứu kết hợp xử lý vectơ với mạng Nơron (Neural-Matrix) ứng dụng đòi hỏi tốc độ xử lý cao nhận dạng đối tượng bay … ... hình hệ xử lý song song khác sở vi xử lý NM6403 xây dựng Vi? ??c sử dụng xử lý NM6403 xây dựng kiến trúc hệ vi xử lý chuyên dụng phải kết hợp với vi? ??c tổ chức nhớ cách thích hợp để đạt hiệu hệ thống... vi xử lý vectơ MC431 2.2.1 Giới thiệu chung hệ vi xử lý vectơ MC431 Hệ vi xử lý vectơ MC431 hãng Module (Nga) công bố đưa thị trường năm 2003, hệ vi xử lý vectơ tốc độ cao, giá thành hợp lý thiết... biệt ứng dụng chuyên dụng với lớp toán hẹp Kiến nghị: - Nghiên cứu ứng dụng thuật toán nhanh khác FFT, FDCT, FWT Trên hệ vi xử lý véctơ MC431 ứng dụng chun dụng địi hỏi tốc độ tính tốn cực nhanh

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

Từ khóa liên quan

Mục lục

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

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

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

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

  • Đang cập nhật ...

Tài liệu liên quan