Tính về chu kỳ, nếu 89 thực hiện hết khoảng 50 chù kỳ thì lúc đó PIC thực hiện hết khoảng 150 chu kỳ máy. Tức là gấp 3 lần. Trong khi đoạn code khoảng 6,7 chù kỳ của việc nhân 8 bit x 8 bit, với PIC là khoảng 34, tức gấp 5,6 lần. Đến 32 bit thì thuật toán gần như được giảm đi rất nhiều, vì thuật toán nhân 32 bit gần như chỉ chênh lệch nhau theo hệ số cộng của lệnh nhân 8 bit.
Chính vì thế nên tôi mới so sánh là như nhau, chắc CB chưa tính và ước lượng thử con số này cụ thể nên cho rằng tôi áp đặt.
Còn trong công thức PID, thực chất chỉ có 3 phép nhân, đó là nhân các hệ số PID. Với thông số thực tế tôi đưa, và những ứng dụng thực tế nhân với số float 32 bit, kể cả 16 bit đi nữa, đố ai viết được PID trên 89 với 100 chu kỳ máy.
Thông số này cho thấy cần ít nhất khoảng 200 (50 x 3 + 50)chu kỳ. Trogn khi đó PID trên PIC khoảng 500 (150 x 3 + 50) chu kỳ với phép nhân 16 bit.
Đây là một yếu điểm của PIC nhưng nhắc lại, nó không phải là do kiến trúc RISC hay CISC quyết định mà do phần core của PICmidrange không hỗ trợ lệnh nhân. Các bạn sẽ có thể tính thế này:
Lệnh của PIC midrange có 14 bit. Khi đó 8 bit dùng để lưu địa chỉ thanh ghi hoặc hằng số k. Khi đó nó còn lại 6 bit, nghĩa là có thể lập được 64 lệnh.
Trong khi đó, có những lệnh cần chỉ số d = f or w, nên số lệnh này nếu tính thêm một bit d thì còn lại 32. Nhưng thực ra, trong 32 lệnh tạo ra, và trong 32 lệnh có thể tạo ra này, các bạn xem lại, sẽ thấy có những lệnh chỉ tương tác với W, không cần giá trị d, vì vậy thừa 1 bit. Số lệnh này nhiều hơn 5 lệnh, cho nên có thể tạo ra một lệnh nên vẫn còn thừa 1,2 lệnh có thể tạo ra để tương tác với W, d. Và đảm bảo còn thừa chỗ để mã hóa cả lệnh nhân và lệnh chia.
Nhưng rất tiếc là phần cứng không hỗ trợ. Vậy thì không thể thực hiện được.
Như vậy, nhận xét về CISC và RISC không thể hiện ở chỗ này. Kết luận của CB là sai, vì lệnh nhân không phải do vấn đề RISC hay CISC quyết định.
Chúc vui.
Chính vì thế nên tôi mới so sánh là như nhau, chắc CB chưa tính và ước lượng thử con số này cụ thể nên cho rằng tôi áp đặt.
Còn trong công thức PID, thực chất chỉ có 3 phép nhân, đó là nhân các hệ số PID. Với thông số thực tế tôi đưa, và những ứng dụng thực tế nhân với số float 32 bit, kể cả 16 bit đi nữa, đố ai viết được PID trên 89 với 100 chu kỳ máy.
Thông số này cho thấy cần ít nhất khoảng 200 (50 x 3 + 50)chu kỳ. Trogn khi đó PID trên PIC khoảng 500 (150 x 3 + 50) chu kỳ với phép nhân 16 bit.
Đây là một yếu điểm của PIC nhưng nhắc lại, nó không phải là do kiến trúc RISC hay CISC quyết định mà do phần core của PICmidrange không hỗ trợ lệnh nhân. Các bạn sẽ có thể tính thế này:
Lệnh của PIC midrange có 14 bit. Khi đó 8 bit dùng để lưu địa chỉ thanh ghi hoặc hằng số k. Khi đó nó còn lại 6 bit, nghĩa là có thể lập được 64 lệnh.
Trong khi đó, có những lệnh cần chỉ số d = f or w, nên số lệnh này nếu tính thêm một bit d thì còn lại 32. Nhưng thực ra, trong 32 lệnh tạo ra, và trong 32 lệnh có thể tạo ra này, các bạn xem lại, sẽ thấy có những lệnh chỉ tương tác với W, không cần giá trị d, vì vậy thừa 1 bit. Số lệnh này nhiều hơn 5 lệnh, cho nên có thể tạo ra một lệnh nên vẫn còn thừa 1,2 lệnh có thể tạo ra để tương tác với W, d. Và đảm bảo còn thừa chỗ để mã hóa cả lệnh nhân và lệnh chia.
Nhưng rất tiếc là phần cứng không hỗ trợ. Vậy thì không thể thực hiện được.
Như vậy, nhận xét về CISC và RISC không thể hiện ở chỗ này. Kết luận của CB là sai, vì lệnh nhân không phải do vấn đề RISC hay CISC quyết định.
Chúc vui.
Comment