|
Tài trợ cho PIC Vietnam |
dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
|
Ðiều Chỉnh | Xếp Bài |
19-11-2009, 12:15 PM | #5 |
Đệ tử 1 túi
Tham gia ngày: Apr 2009
Bài gửi: 16
: |
Nhìn duới góc độ mã ASM đi, với dspic
một lệnh ghi hoặc đọc dữ liệu bình thường sẽ thực hiện tốt nhất là 1 chu kì lệnh nếu có tham số là thanh ghi. Cứ kể nó là 3 chu kì lệnh (để bù vào các cái râu ria đi). Ở trường hợp này (Mình chỉ lấy ví dụ của anh Tuan để giải thích, không có ý gì khác, mong anh Tuan bỏ qua) Code:
BYTE push(BYTE b) { if(wrHead>1023) return 0; fifo[wrHead] = b; wrHead++; return 1; } Thực hiện so sánh 1 lần ==> một lệnh so sánh Thực hiện lệnh rẽ nhánh, trường hợp code tốt nhất thì vẫn tốn một chu kì lệnh ==> Tốn thêm 3 chu kì lệnh. Như vậy để thực hiện việc di chuyển 1 dữ liệu chúng ta cần 6 chu kì lệnh, 3 để di chuyển, 3 để kiểm tra hiệu suất của quá trình này là 3/(3+3) = 50%, từ 100% xuống còn 50% là nhiều rồi |
|
|