Chương 1: Đ t vấn đề: đề cập đến những vấn đề liên quan bức thiết đối với việc tính toán những hàm lượng giác Sine và Cosine, lý do chọn đề tài nghiên cứu, mục tiêu, kết quả, định hướng của nghiên cứu. Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit - Chương 2: Tổng quan về những kiến trúc DSP hiện nay, và trình bày một số chi tiết kiến trúc DSP dấu chấm tĩnh 32 bit mà giải thuật dựa vào đó để phát triển. - Chương 3: Tìm hiểu một số phương pháp dùng để tính toán những hàm siêu việt bẳng phần cứng.
- Chương 4: Trình bày giải thuật dùng để tính toán hàm Sine, Cosine dựa vào phần cứng. Nêu ra chi tiết từng bước để hiện thực giải thuật. - Chương 5: Hiện thực hệ thống và kết quả: trình bày những cái đã đạt được, những vấn đề còn tồn đọng trong nghiên cứu. - Chương 6: Kết luận và đề nghị: kết luận tổng kết báo cáo, đưa ra những đề nghị cho hướng nghiên cứu và phát triển trong tương lai trên hướng nghiên cứu này.
Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit Chương 2. Tổng quan về lõi xử lý tín hiệu số dấu chấm tĩnh 32-bit 2.1 Các iến tr c DSP cao cấp hiện nay 2.1 Các d ng DSP tru ền thống (Conventional DSP processor) Hiệu suất và giá thành của các bộ xử lý DSP rất đa dạng. Các bộ DSP với giá thành thấp và hiệu suất thấp thường dựa trên kiến trúc DSP truyền thống.
Kiến trúc này tương tự như kiến trúc của bộ xử lý DSP đầu những năm 1980. Tập lệnh thường phức tạp với mỗi lệnh bao gồm nhiều tác vụ nhỏ. Mỗi lệnh được thực thi mỗi chu k xung clock. Trong kiến trúc thường chỉ có một bộ nhân ho c một bộ MAC và một bộ ALU.
Các DSP thuộc dòng này bao gồm họ ADSP-21xx của Analog Devices, họ TMS320C2xx của Texas Instruments, và họ DSP560xx của Motorola.1thể hiện sơ đồ khối của DSP TMS320C25. Các thành phần phần cứng được xây dựng xung quanh bus chương trình và bus dữ liệu. DSP TMS320C25 sử dụng 4K ô nhớ 16-bit cho bộ nhớ chương trình và 544 ô nhớ 16-bit cho bộ nhớ dữ liệu. Bùi Trọng Tú Xây dựng bộ tính toán PGS.
Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit Hình 2. Sơ đồ khối DSP TMS320C25 5 CBHDKH: TS. Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit 2.2 Các d ng DSP tầm trung (Midrange DSP processors) Các DSP ở dòng này đạt được hiệu suất cao hơn so với các DSP dòng truyền thống nhờ vào sự kết hợp giữa tăng tốc độ xung clock và áp dụng kiến trúc phức tạp hơn.
Sơ đồ khối DSP TMS32 C54x 6 CBHDKH: TS. Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit Dòng DSP tầm trung có khuynh hướng được pipeline thành nhiều tầng hơn so với dòng DSP truyền thống. Ngoài ra, các thành phần phần cứng thường được thêm vào để tăng tốc, chẳng hạn như bộ barrel shifter ho c bộ nhớ cache lệnh.
Ngoài những khác biệt trên, dòng DSP tầm trung có nhiều n t tương tự như dòng truyền thống. Dòng này bao gồm các họ DSP563xx của Motorola và họ TMS320C54x của Texas Instruments.2 thể hiện sơ đồ khối của DSP TMS320C54x. Kiến trúc Harvard sửa đổi được sử dụng. Do vậy, bộ nhớ chương trình và bộ nhớ dữ liệu có không gian riêng biệt và có thể truy cập đồng thời.
Kiến trúc có một bus bộ nhớ chương trình và ba bus bộ nhớ dữ liệu. Tập lệnh có tính chuyên biệt cao.3 Các d ng DSP tru ền thống được mở rộng (Enhanced- Conventional DSP Processors) Để tăng cao hiệu suất hơn nữa, kiến trúc DSP truyền thống được mở rộng bằng cách thêm vào các đơn vị tính toán song song, thường là một bộ nhân và một bộ cộng thứ hai. Để tận dụng sức mạnh phần cứng, tập lệnh được mở rộng để cho ph p nhiều hoạt động được mã hóa trong một câu lệnh duy nhất. Các hoạt động này sẽ được thực hiện song song khi câu lệnh được thực thi.
Các DSP này thường có bus dữ liệu rộng để lấy nhiều dữ liệu hơn trên mỗi chu k xong clock. Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit Hình 2. Các đơn vị tính toán và đường bus của DSP truyền thống và m rộng Chúng được gọi là dòng DSP truyền thống được mở rộng bởi vì chúng dựa trên kiến trúc bộ xử lý DSP truyền thống chứ không phải một kiến trúc hoàn toàn mới.3 so sánh các đơn vị tính toán và đường bus của một DSP truyền thống (dòng DSP16xx của Lucent Technologies) và một DSP mở rộng của nó (dòng DSP16xxx của Lucent Technologies).4 Các d ng DSP theo iến tr c Multi-Issue (Multi-Issue Architectures) Dòng DSP truyền thống được mở rộng cải thiện hiệu suất bằng cách cho ph p nhiều hoạt động được mã hóa trong mỗi lệnh, nhưng vẫn theo xu hướng của việc sử dụng phần cứng chuyên biệt với tập lệnh phức tạp.
Do vậy, nó g p số vấn đề tương tự như DSP truyền thống: rất khó để viết chương trình theo ngôn ngữ assembly và rất khó để xây dựng compiler cho kiến trúc này một cách hiệu quả. Với mục tiêu đạt được hiệu suất cao và có thể tận dụng các compiler, một số bộ vi xử lý DSP mới sử dụng kiến trúc song song "multi-issue". Ngược lại với bộ DSP truyền thống và DSP truyền thống mở rộng, nó sử dụng tập lệnh với những câu lệnh rất đơn giản, mỗi câu lệnh thường mã hóa một hoạt động duy nhất. Điều này giúp cho DSP Multi-Issue có thể chạy ở xong clock cao hơn.
Ngoài ra, DSP dòng này thực hiện nhiều tính toán song song bằng cách thực thi một nhóm câu lệnh cùng một lúc. Hai loại của dòng DSP này là VLIW (very long instruction word) và superscalar. Hai loại này có kiến trúc khá giống nhau, khác nhau chủ yếu nằm ở cách nhóm các câu lệnh lại để thực hiện song song. Đa số các bộ xử lý DSP Multi-Issue hiện nay sử dụng phương pháp VLIW.
Các họ DSP theo kiến trúc này gồm có C62x, C64x và C67x của Texas Instruments. Sơ đồ khối của họ C6x được thể hiện ở H NH 2. Kiến trúc này có 8 bộ tính toán: L1, S1, M1, D1, L2, S2, M2 và D2 cho ph p thực hiện tối đa 8 lệnh cùng một lúc. Có hai Register file A và B, 16 thanh ghi đa dụng mỗi Register file, mỗi thanh ghi 32-bit.
Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit Tập lệnh của họ này theo kiến trúc RISC (Reduced Instruction Set Computer) với các câu lệnh Load store riêng biệt để truy xuất các thành phần bộ nhớ. Sơ đồ khối của họ DSP TMS C6x 2.2 Lõi DSP 32-bit của đề tài 2.1 Tổng quan về iến tr c VLIW cho l i DSP 32-bit 2.1 Thiết ế iến tr c ở cấp cao Các kiến trúc DSP chủ yếu dựa trên mô hình Harvard, ho c phiên bản nâng cấp của mô hình này, ví dụ như kiến trúc Super-Harvard được thể hiện trong H NH 2. Kiến trúc Harvard bao gồm các bộ nhớ riêng biệt cho dữ liệu và lệnh, cùng các 9 CBHDKH: TS.
Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit đường bus riêng biệt để kết nối chúng với lõi DSP. Kiến trúc Harvard có thể được phát triển lên bằng cách thêm vào một vùng bộ nhớ nhỏ có tốc độ nhanh, gọi là bộ nhớ đệm lưu trữ lệnh (instruction cache). Bên cạnh đó, bộ nhớ lệnh (hay bộ nhớ chương trình) có thể lưu trữ đồng thời dữ liệu và lệnh.
Kiến tr c Super-Harvard Các vi xử lý tín hiệu số nhìn chung bao gồm lõi DSP, thành phần điều khiển ngoại vi (peripheral controller), thành phần điều khiển bộ nhớ ngoài (external memory con- troller), bộ quản lý nguồn điện (power management), và một số phần cứng hỗ trợ tăng tốc như lõi FFT (Fast Fourier Transform), lõi DCT (Discrete Cosine Transform), đơn vị truy cập bộ nhớ trực tiếp DMA (Direct Memory Access) như mô tả trong H NH 2. Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit Hình 2. Kiến tr c của vi xử lý DSP Nhìn chung, kiến trúc lõi DSP bao gồm hai phần chính: đường điều khiển (Control Path - CP) và đường dữ liệu (Data Path - DP) như trong H NH 2.
Bộ nhớ on-chip nằm bên ngoài lõi DSP chứa bộ nhớ chương trình và hai bộ nhớ dữ liệu (DMX và DMY). Ngoài ra, sẽ có một bộ nhớ đệm (cache) lưu trữ lệnh được tích hợp vào trong nhân DSP. Đường DP sẽ chứa bộ nhớ chương trình, bộ nhớ đệm, đơn vị nạp lệnh, giải mã lệnh và thực thi. Đơn vị thực thi gồm bốn khối chức năng chính: FALU (Arithmetic Logic Unit for Floating-point computation), MAC (Multiplication and Accumulation unit), BALU (Arithmetic Logic Unit for Branching computation) và LSU (Loading/Storing Unit).
Ngoài ra, đường DP cũng bao gồm một tập các thanh ghi (Register File) với 32 thanh ghi đa dụng 32-bit, bus cho thanh ghi, và hỗ trợ một số lệnh tăng tốc. Kiến tr c cấp cao của lõi DSP Đường dữ liệu có thể thực hiện các ph p tính số học (cộng, trừ , nhân, chia), luận lý (and, or, not, ), so sánh (<, >, =, ) và bao gồm 32 thanh ghi đa dụng 32-bit (A0- 11 CBHDKH: TS. Bùi Trọng Tú Xây dựng bộ tính toán PGS. Đinh Đức Anh Vũ Sine và Cosine dựa trên Học viên: Nguyễn Xuân Mỹ lõi xử lý dấu chấm tĩnh 32 bit A15, B0-B15).
Trong mỗi chu k xung clock, đợn vị nạp và giải mã lệnh có thể cung cấp tối đa bốn lệnh cho các đợn vị chức năng xử lý.2 Khối chức năng FALU v ALU Nhằm mục đích tăng khả năng xử lý song song cho lõi DSP, nhóm đã thiết kế hai bộ ALUs cho các mục đích khác nhau. Bộ FALU xử lý các tính toán cho số dấu chấm động (cos, sin, hàm log, hàm mũ, v.