Phương pháp bộ đồng xử lý

Một phần của tài liệu luan van tot nghiep ung dung cac dsp kha trinh trong 3g (Trang 25 - 30)

CHƯƠNG 1 : TỔNG QUAN VỀ THÔNG TIN DI ĐỘNG 3G

2.6 Các phương pháp thiết kế phần cứng

2.6.2 Phương pháp bộ đồng xử lý

Trong phần này chúng ta sẽ thảo luận cách các bộ đồng xử lý có thể thực hiện chức năng của các DSP khả trình trong khi bổ sung một nền 3G mềm dẻo. Với một đầu cuối tốc độ thoại WCDMA, nếu chúng ta thực hiện một tính tốn gần đúng của “các hoạt động” đã yêu cầu, chỉ khoảng 10% là phù hợp cho việc thực hiện trên một DSP hiện tại. Nhưng một giải pháp chức năng cố định sẽ là một lựa chọn rủi ro cao bởi vì nó thiếu tính mềm dẻo, đặc biệt trong một tiêu chuẩn mới. Vì vậy, nhà thiết kế hệ thống phải đối mặt với vấn đề cân bằng các yêu cầu về công suất và tính mềm dẻo. Nếu chúng ta thừa nhận một xu hướng dài hạn để tăng cường việc sử dụng của các DSP mạnh hơn thì nhà thiết kế cũng cần một quá trình cho thiết kế đó dịch chuyển tới các thiết bị như vậy.

Một giải pháp hấp dẫn cho vấn đề này là một kiến trúc dựa trên bộ đồng xử lý với một thiết bị khả trình duy nhất tại lõi của kiến trúc. Các bộ đồng xử lý nâng cao khả năng tính tốn của kiến trúc. Cùng lúc đó, chúng cung cấp lượng chương trình phần mềm, tính mềm dẻo và khả năng nâng cấp cần thiết để đáp ứng sự phát triển của tiêu chuẩn, cung cấp sự phân biệt dịch vụ hay sản phẩm, và đơn giản hố xử lí mẫu ban đầu và tích hợp sau cùng.

Chúng ta phân chia thế giới các bộ đồng xử lý thành “được kết hợp lỏng” và “được kết hợp chặt”. Chúng được xác định dựa theo thời gian trung bình để hồn thành một lệnh trên DSP và loại giao diện của nó với bộ xử lý chính. Với một bộ đồng xử lý được ghép chặt (TCC- Tightly Coupled Coprocessor), DSP sẽ khởi tạo một nhiệm vụ trên bộ đồng xử lý, hoàn thành theo trật tự sau khoảng vài chu kỳ lệnh. Một nhiệm vụ được khởi tạo trên một bộ đồng xử lý được ghép lỏng (LCC- Loosely Coupled Coprocessor) sẽ chạy trong nhiều chu kỳ lệnh trước khi nó cần nhiều sự tương tác hơn với DSP.

Các TCC có thể được xem như một sự mở rộng tập lệnh của DSP, theo đó các lệnh lớn hơn, chẳng hạn như là giải mã hóa hình bướm hoặc các tốn tử nhân có nhớ 16 bit, chạy trên một phần cứng chuyên dụng được gắn chặt với DSP thông qua một giao diện chuẩn. Vì vậy, các TCC thu lợi từ khả năng đánh địa chỉ của DSP, băng thông bus địa chỉ/số liệu của DSP, các thanh ghi nội và khơng gian nhớ DSP chung. Thêm vào đó, bộ cơng cụ phát triển của DSP được tái sử dụng cho các mục đích thử nghiệm và phát triển. Vì mỗi thao tác trong TCC chỉ cần một vài chu kỳ nên nó sẽ chỉ liên quan đến một lượng dữ liệu nhỏ. Hơn nữa, chương trình lập thời gian biểu của các thao tác đồng thời trên DSP và TCC sẽ khó khăn, vì DSP sẽ ngắt thao tác của nó sau một vài chu kỳ để phục vụ TCC. Vì vậy, thơng thường DSP sẽ rỗi trong khi TCC hoạt động. Như vậy, TCC là một sự tăng cường tập lệnh có thể định nghĩa của người sử dụng, cung cấp các cải tiến công suất và tốc độ cho các thao tác nhỏ trong đó khơng có tắc nghẽn cổ chai số liệu qua DSP. Một TCC cũng có thể có một thao tác cụ thể và là tương đối nhỏ so với DSP. Theo thời gian, chức năng của TCC có thể được hấp thu vào DSP bằng việc thay thế nó bởi mã trong một DSP cơng suất thấp hơn, nhanh hơn hoặc bằng việc hấp thu chức năng của TCC vào lõi của DSP và dành cho nó một lệnh riêng. Một ví dụ của loại sắp xếp chức năng này là một bộ thuật toán Galois cho các mục đích mã hóa hoặc một bộ đồng xử lý thao tác bit, cung cấp số liệu cho các chuyển đổi ký hiệu mà hiện tại không được thực hiện hiệu quả trong tập lệnh của DSP.

Việc truyền thông từ TCC tới bộ xử lý chính thường xảy ra thơng qua các lệnh đọc và ghi thanh ghi còn điều khiển được truyền trở lại bộ xử lý chính ngay sau khi hồn thành thao tác TCC.

Hiện tại đã có các bộ xử lý thương mại cho phép tập lệnh nguyên thủy được tăng cường nhờ các khối TCC phần cứng bổ sung đặc biệt nhờ một “cổng bộ đồng xử lý”. Các ví dụ là bộ xử lý ARM (ARM7TDMI), và bộ xử lý TMS320C55x. Cổng bộ đồng xử lý cung cấp truy nhập tới tập thanh ghi bộ xử lý, các bus nội, và thậm chí có thể là các bộ nhớ cache số liệu. Trong ARM7TDMI, bộ đồng xử lý gắn với giao diện bộ nhớ của lõi ARM. Bộ đồng xử lý ngắt các lệnh đang được đọc bởi lõi ARM và thực hiện các lệnh phục vụ cho nó. TCC cũng phải truy nhập tới các thanh ghi ARM thông qua giao diện bộ nhớ đó.

Mặt khác trong bộ đồng xử lý C55x, TCC kết nối tới lõi chính thơng qua một cổng riêng. Thơng qua cổng này nó truy nhập tới bộ nhớ của bộ xử lý và tệp thanh ghi (hình 2.6). Đường ống giải mã lệnh chính của bộ xử lý gửi thơng tin điều khiển tới TCC khi nó gặp một lệnh bộ đồng xử lý trong khi thực hiện chương trình. Một TCC có thể sử dụng nhiều chu kỳ đồng hồ để thực hiện chức năng của nó; trong khi đó thì đường ống của bộ xử lý chính sẽ rỗi. Các ví dụ của các bộ đồng xử lý C55x là các khối tăng tốc độ cho biến đổi cosin rời rạc (DCT: Discrete Cosine Tranform), giải mã chiều dài biến đổi (VLD), và ước tính chuyển động. Các TCC xử lý hình ảnh này cho kết quả thực hiện nhanh hơn 4 đến 7 lần so với tập lệnh C55x ngun thủy.

Hình 2.6: Ví dụ bộ đồng xử lý ghép chặt

Các bộ đồng xử lý được ghép lỏng (LCC) giống một lời gọi hàm hơn là một lệnh. Vì chúng thực hiện nhiều hoạt động khơng cần sự can thiệp của DSP nên thông thường chúng sẽ hoạt động trên một tập số liệu lớn. Không giống như TCC, LCC sẽ phải chạy song song với DSP nếu nó muốn đạt được đầy đủ các lợi ích. Nghĩa là lập trình viên sẽ phải cẩn thận hơn với việc lập thời gian biểu cho các lệnh LCC. Nhưng vì LCC giao tiếp rất ít với DSP nên điều này khơng phải là khó khăn lớn. Ưu điểm chính của LCC là nó giải quyết vấn đề nghiêm trọng về băng thơng bus có thể xuất hiện khi tốc độ số liệu đầu vào thô tới hệ thống là rất lớn hoặc số lần dữ liệu được dùng lại trong các tính tốn là rất nhiều. Trong cả hai trường hợp độ rộng băng thông bus đều trở thành nút cổ chai để thực hiện tính tốn bởi vì số liệu được lưu trữ tại đầu kia của bus từ các khối tính tốn. Một LCC loại bỏ nghẽn cổ chai bằng các khối tính tốn cục bộ so với số liệu và sắp xếp một cách đặc biệt để truy nhập số liệu được yêu cầu cho một lớp các tính tốn. Theo thời gian DSP sẽ phát triển tới mức mà ở đó băng thơng bus và cơng suất

tính tốn của nó là đủ cho thao tác của LCC và thủ tục con giả được bổ sung bởi LCC sẽ trở thành một thủ tục con thực.

Thiết kế LCC theo hướng thực hiện vịng kín tới giao diện bus ngồi và khả năng truy nhập bộ nhớ trực tiếp (DMA) của bộ xử lý gốc. Các DSP mới như là TMS320C6x chứa các bộ phận DMA phức tạp có thể thực hiện các truyền dẫn số liệu đa chiều, và có khả năng thực hiện một chuỗi các truyền dẫn độc lập. Các bộ phận DMA như vậy là lý tưởng cho việc truyền số liệu vào/ra các khối LCC với sự can thiệp tối thiểu của DSP. Điều này làm giảm hoặc thậm chí loại bỏ sự bổ sung của DSP vào việc thực hiện di chuyển số liệu, và giảm tốc độ ngắt thực hiện bởi DSP.

Khái niệm LCC ứng dụng một cách dễ dàng tại ranh giới tốc độ chip và tốc độ ký hiệu của một hệ thống CDMA. Trong lớp vật lý của W-CDMA, DSP vẫn sẽ thực hiện phần lớn thao tác xử lý tốc độ ký hiệu như là khơi phục định thời, ước tính kênh và tần số, ấn định ngón, v.v.. Các thao tác xử lý tốc độ chip như là giải trải phổ, ước tính trễ đường truyền, bắt giữ, v.v.. sẽ được đưa ra ngoài tới một bộ đồng xử lý được thiết kế để thực hiện các thao tác này một cách hiệu quả. Để xử lý tốc độ chip, TI đã đề xuất một bộ đồng xử lý tương quan (CCP), thực hiện các thao tác giải trải phổ chung cho các hoạt động nhận dạng và ước tính trễ đường truyền trong bộ thu CDMA (cả cho máy cầm tay cũng như trạm gốc). Bộ đồng xử lý này cũng có thể thực hiện một vài thao tác MIPS đơn giản nhưng nhanh, xuất hiện trực tiếp tại ranh giới chip-ký hiệu. Các ví dụ cho chúng là tính trung bình tương quan và khơng tương quan cho việc ước tính kênh. Tuy nhiên, DSP vẫn chọn loại tính trung bình mà sẽ xuất hiện và làm cách nào để xử lý số liệu sau để đưa ra sự ước tính kênh cuối cùng.

Trong thực tế, hệ thống hồn tồn có khả năng lập trình trong miền xử lý tốc độ chip của CDMA. DSP cũng điều khiển cách thức của các MIPS tương quan được cung cấp bởi CCP đã được phân bố. Chẳng hạn như trong một ngữ cảnh trạm gốc, DSP có thể chọn để ấn định một phần MIPS này cho một người sử dụng với 6 đa đường. Tương tự, DSP đó có thể tái ấn định lại các MIPS này cho vài người sử dụng với số lượng đa đường để giải trải phổ ít hơn. Tương tự như thế, giải trải phổ đa mã cho việc thu tốc độ số liệu cao có thể được xử lý một cách mềm dẻo bởi CCP. Trong ngữ cảnh máy cầm tay, tương quan MIPS có thể được ấn định linh hoạt giữa nhiệm vụ tìm kiếm và nhiệm vụ giải trải phổ nhận dạng RAKE, do đó cung cấp tính mềm dẻo để xử lý các điều kiện kênh và các tốc độ số liệu khác nhau. Ngoài việc cho phép các nhà sản xuất chip-set WCDMA khác nhau phân biệt và cải tiến các giải pháp WCDMA của họ hoàn toàn trong phần mềm, các bộ đồng xử lý mềm dẻo như thế cho phép vẫn hệ thống đó tái lập trình để thực hiện WCDMA, CDMA2000, IS95, GPS và các hệ thống giải điều chế dựa trên CDMA khác. Nó cũng cung cấp một nền chung cho các đầu cuối chỉ thoại chi phí thấp và các đầu cuối đa phương tiện chất lượng cao, và kiến trúc CCP cơ bản như thế có thể áp dụng được cho cả các máy cầm tay cũng như các trạm gốc.

Một sơ đồ khối đã được đơn giản hóa của CCP cùng với mơi trường hệ thống của nó được chỉ ra trong hình 2.7. Chú ý rằng bộ đồng xử lý được kết nối trực tiếp tới đầu vào tương tự để loại bỏ số liệu tốc độ chip vào bus một cách hoàn toàn. Các chip đầu vào được lưu trữ trong một bộ đệm đầu vào, và CCP sẽ xử lý một vectơ N chip trong

mỗi chu kỳ đồng hồ, trong đó N có thể là 16 hoặc 32. Một đặc điểm quan trọng khác là lệnh và các bộ đệm đầu ra sẽ được sắp xếp bộ nhớ để cho phép truy nhập mềm dẻo tới bộ đồng xử lý bởi DSP. DSP ghi các nhiệm vụ (để thiết lập nhận dạng RAKE, hoặc các chức năng tìm kiếm) vào bộ đệm nhiệm vụ. Bộ điều khiển CCP đọc các nhiệm vụ này từ bộ đệm nhiệm vụ và thực hiện hoạt động tương ứng trên tập hợp N chip được lưu trữ trong bộ đệm đầu vào. Tất cả các nhiệm vụ trong bộ đệm nhiệm vụ được xử lý trước khi CCP di chuyển tới tập hợp N chip tiếp theo. Vì vậy, một nhiệm vụ đã được viết vào bộ đệm nhiệm vụ sẽ được thực hiện “mãi mãi” cho tới khi DSP ghi đè lên nó bởi một nhiệm vụ khác, hoặc nó rõ ràng là không thể thực hiện được. Các ký hiệu giải trải phổ được lưu trữ trong bộ đệm đầu ra đã được ánh xạ bộ nhớ; DSP có thể ấn định bộ nhớ đầu ra này một cách mềm dẻo giữa các nhiệm vụ đang chạy trên CCP. Sự mềm dẻo này trở nên rất hữu dụng cho việc xử lý rất nhiều loại tốc độ số liệu được hỗ trợ bởi các tiêu chuẩn CDMA 3G.

Hình 2.7: Hệ thống dựa trên bộ đồng xử lý (bộ tương quan) ghép lỏng

Sự so sánh với các thiết kế chức năng cố định đã chỉ ra rằng, nếu thiết kế cẩn thận logic bộ đồng xử lý thì sẽ khơng có sự mất mát cơng suất đáng kể mà vẫn tạo ra tính mềm dẻo. Điều này là bởi vì về bản chất dịng số liệu chi phối quỹ cơng suất và nó độc lập với tính mềm dẻo của thiết kế. Kích thước của bộ đồng xử lý lớn hơn một thiết kế

riêng một chút, nhưng là khơng đáng kể so với hệ thống hồn chỉnh. Bộ điều khiển trong một thiết kế tập trung ví dụ như CCP là phức tạp hơn một chút so với phương pháp thực hiện “phân tán” kết nối bằng phần cứng, nhưng sự tăng tính phức tạp là đáng giá cho kết quả tăng tính mềm dẻo.

Giải mã là một vùng khác có thể thu lợi từ sự ứng dụng LCC. Giải mã Viterbi tốc độ thoại được thực hiện một cách dễ dàng trên các DSP ngày nay nhưng các yêu cầu tốc độ số liệu cao hơn, xuất hiện trong 3G, làm cho giải mã hóa trở nên khó khăn khi thực hiện bằng lập trình. Tuy nhiên, có thể tìm thấy một sự phân chia bộ đồng xử lý/DSP cho phép duy trì tính mềm dẻo cùng với một mức MIPS hợp lý trên DSP. Ví dụ: để giải mã Viterbi trong trạm gốc, DSP có thể thực hiện xử lý tất cả số liệu đang xử lý phát sinh trên nhánh và một bộ đồng xử lý có thể thực hiện các nhiệm vụ MIPS cịn lại của dị tìm và cập nhật ma trận trạng thái. Điều này cho phép DSP xác định một bộ giải mã cho mã bất kỳ dựa trên một thanh ghi dịch đơn, bao gồm việc chích ra các tốc độ khác. Một bộ đồng xử lý Viterbi như thế đã được triển khai như là một phần DSP trạm gốc TMS320C6416.

Một phần của tài liệu luan van tot nghiep ung dung cac dsp kha trinh trong 3g (Trang 25 - 30)

Tải bản đầy đủ (DOC)

(97 trang)
w