GIỚI THIỆU BỘ XỬ LÝ TÍN HIỆU SỐ DSPDigital Signal Procesor Cơ bản về DSP Kiến trúc của DSP : bộ nhớ, đánh địa chỉ, đơn vị điều khiển chương trình, cộng/ nhân, dịch, khối số học & luậ
Trang 1GIỚI THIỆU BỘ XỬ LÝ TÍN HIỆU SỐ DSP
(Digital Signal Procesor)
Cơ bản về DSP
Kiến trúc của DSP : bộ nhớ, đánh địa chỉ, đơn vị điều khiển chương trình, cộng/ nhân, dịch, khối số học & luận lý, thiết bị vào/ ra, bus địa chỉ, bus dữ liệu
Định dạng số : dạng dấu phẩy tĩnh và dấu phẩy
động
Các đơn vị xử lý trong DSP : cộng, nhân, dịch,
đánh địa chỉ
Ngôn ngữ assembly của DSP
Lựa chọn DSP cho phù hợp với ứng dụng, bao
gồm : tốc độ, bộ nhớ, công suất, sự tiện lợi, giá
cả
Giới thiệu ba nhà sản xuất DSP chính : Analog
Devices, Texas Instruments, Motorola
Trang 2 Thời gian thực nghĩa là đầu ra giữ tốc độ với các mẫu vào trong suốt quá trình xử lý thực tế
Ví dụ, trong bộ lọc số, mẫu ra mới được tạo ra ngay khi bộ lọc nhận được mẫu vào mới.
Trang 31 Kiến trúc tối ưu cho hoạt động xử lý tín hiệu số
Nhiều bus và các bộ nhớ on-chip
Nhiều bộ nhớ truy cập trong một chu kỳ lệnh đơn
2 Các đơn vị phần cứng chuyên dụng
Các bộ nhân/ cộng, dịch tốc độ cao
Độ rộng thanh ghi đủ để thực hiện các tính toán mà không
bị tràn
Hỗ trợ cho bộ đệm vòng
Các bộ tạo địa chỉ
Sử dụng song song
3 Lệnh lập trình bằng ngôn ngữ assembly
Định dạng số mềm dẻo
Vòng lặp hiệu quả với mào đầu là số 0
Tối thiểu một lệnh trong một chu kỳ đồng hồ
CÁC ĐẶC ĐIỂM
CỦA DSP
Trang 4KIẾN TRÚC CỦA DSP
Nhiều bộ xử lý chuẩn đều dựa trên kiến trúc Von Neumann.
Bộ xử lý Von Neumann đơn giản nhất gồm một bộ nhớ đơn dùng chung cho cả chương trình và dữ liệu, với một bus đơn cho truy cập bộ nhớ
Hầu hết các phần của bộ xử lý không hoạt đông
“unactive” vào một thời điểm nào đó.
Chương trình xử lý diễn ra theo kiểu tuần tự:
lấy lệnh từ bộ nhớ -> giải mã lệnh -> thực hiện
Cách duy nhất để tăng tốc độ xử lý là tăng tốc độ bus, bộ nhớ và các đơn vị tính toán.
Trang 5KIẾN TRÚC Von Neumann
Trang 6Thứ tự thời gian trong hoạt động
của kiến trúc Von Neumann
Trang 7CHU KỲ LẤY VÀ THI HÀNH LỆNH TRONG KIẾN
TRÚC VON NEUMANN
Bước Hoạt động Trạng thái
bus
Lấy lệnh 1 Đọüc lệnh từ bộ nhớ Bus bận
Thi hành lệnh 1 Đọc toán hạng #1 từ bộ nhớ Bus bận
Lấy lệnh 2 Đọüc lệnh từ bộ nhớ Bus bận
Thi hành lệnh 2 Đọc toán
hạng #2 từ bộ nhớ Bus bận
Lấy lệnh 3 Đọüc lệnh từ bộ nhớ Bus bận
Thi hành lệnh 3 Cộng toán hạng #1 và #2 trong ALU
Trang 8KIẾN TRÚC Harvard
Trang 9CHU KỲ LẤY VÀ THI HÀNH LỆNH TRONG KIẾN
hạng #2 từ bộ nhớ DL Bus DL bậnLấy lệnh 3 Đọüc lệnh từ bộ nhớ CT Bus CT bậnThi hành lệnh 3 Cộng toán hạng #1 và #2 trong ALU
CT: chương trình; DL: dữ liệu
Trang 10Pipelining trong kiến trúc Harvard
Trang 11CẤU TRÚC CỦA MAC (Multiplier- accumulator)
Trang 12???DẤU PHẨY ĐỘNG HAY DẤU
PHẨY TĨNH ???
Lựa chọn giữa DSP dấu phẩy động hay dấu phẩy tĩnh là một trong những quyết định quan trọng nhất của
người thiết kế DSP.
Với thiết bị dấu phẩy tĩnh , người lập trình phải lựa
chọn kiểu định dạng số và biết rõ về nó trong suốt
quá trình lập trình Thỉnh thoảng, phải giảm tỷ lệ các con số xuống trước khi tính toán rồi tăng tỷ lệ lại sau đó
Thiết bị dấu phẩy động đưa ra cách biểu diễn thuận tiện và tự nhiên cho các giá trị thập phân Không cần tỷ lệ để thực hiện tính toán Vì vậy, chương trình viết cho các bộ xử lý dấu phẩy động đơn giản hơn viết cho bộ xử lý dấu phẩy tĩnh
Trang 13??? DẤU PHẨY ĐỘNG HAY DẤU
DSP dấu phẩy tĩnh rẻ hơn DSP dấu phẩy động.
Chip DSP dấu phẩy tĩnh thường nhỏ hơn chip dấu
Trang 14Độ rộng dữ liệu lớn => chính xác hơn
Độ rộng dữ liệu lớn => định dạng mềm dẻo => dễ lập trình
Độ rộng dữ liệu lớn => đưa ra các mức phân giải phù hợp với ứng dụng
Độ rộng dữ liệu lớn => chậm hơn & kích thước chip lớn hơn.
Trang 15BỘ NHỚ
Hầu hết các DSP đều đưa ra cả bộ nhớ on-chip và
off-chip
Bộ nhớ on-chip có thể truy xuất nhanh hơn bộ nhớ
off-chip Hầu hết các DSP đều có RAM và ROM on-chip Một phần của bộ nhớ có thể dùng làm bộ nhớ chương trình,
phần còn lại có thể dùng làm bộ nhớ dữ liệu Ưu điểm của nhiều bộ nhớ chỉ có được khi truy xuất bộ nhớ bằng các bus riêng Theo cách này, có thể truy xuất bộ nhớ cùng
lúc mà không bị va chạm
Thường thì bộ nhớ ngoài có thể kết nối đến DSP thông
qua cổng input/output Tuy nhiên, truy xuất bộ nhớ ngoài chậm hơn bộ nhớ trong
Các DSP ngày nay có bộ nhớ trong lớn hơn nhiều so với trước đây, do đó có thể không cần hay chỉ cần rất ít bộ
nhớ ngoài
Trang 16TỐC ĐỘ
Dùng Instruction cycle time là cách đơn giản nhất để
đánh giá tốc độ của DSP Đây là khoảng thời gian cần
thiết để thi hành một lệnh Nghịch đảo của nó là MIPS
(millions of instructions per second) đối với DSP dấu
phẩy tĩnh và MFLOPS (millions of floating point
operations per second) đối với DSP dấu phẩy động
DSP mới đưa ra BOPS (billions of operations per second)
và GFLOPS (giga of floating point operations per
Trang 17CÔNG SUẤT
Người sử dụng DSP yêu cầu công suất tiêu thụ
càng thấp càng tốt, đặc biệt khi không cắm vào
Trang 18 Nhiều nhà sản xuất sản xuất luôn A/D - D/A chuyên dụng cho DSP của họ Chọn lựa luôn A/D - D/A
chuyên dụng này có thể giúp cho việc kết nối giữa
A/D - D/A và DSP thuận tiện hơn
Trang 19trình cả bằng C và assembly
Các nhà lập trình DSP yêu cầu được hỗ trợ công cụ gỡ rối, phần mô phỏng
Đối với các ứng dụng yêu cầu nhiều DSP làm việc song song, người ta quan tâm đến khả năng kết nối nhiều DSP với nhau
Quảng cáo, chăm sóc khách hàng tốt cũng góp phần làm cho DSP phổ biến hơn Đối với các DSP đang được sử dụng rộng rãi, có sẵn rất nhiều phần mềm cho các ứng dụng phổ biến trên internet Dùng lại hay thay đổi các phần mềm này nhanh hơn là viết mới
Trang 20GIÁ CẢ
động
hơn mua riêng lẻ
của các DSP ngày nay quá rẻ so với năng
lực tính toán khổng lồ do các DSP mang lại
Trang 21 Bảng sau nêu ra một số ứng dụng của DSP và
yêu cầu tương ứng về kiểu định dạng sô, bộ nhớ, giá cảú
time cycle
n instructio
period
sampling sample
per ns
instructio
Trang 22YÊU CẦU ĐỐI VỚI DSP TUỲ THEO ỨNG DỤNG
Ứïng dụng Định dạng số Bộ nhớ Giá
Trang 23KIẾN TRÚC CƠ BẢN CỦA HỌ ADSP (Analog
Devices)
Trang 24KIẾN TRÚC CƠ BẢN CỦA HỌ TMS320C54x
(Texas Instruments)
Trang 25KIẾN TRÚC CƠ BẢN CỦA DSP56000 (Motorola)