הבית > חֲדָשׁוֹת > תוכן

Co-Processor מנוע פקודות

Apr 26, 2019

image

מנוע המעבד המשותף מוזן באמצעות זיכרון FVO 4 Kbyte בזיכרון FT800 ב- RAM_CMD. ה

MCU כותב פקודות לתוך FIFO, ואת מעבד מעבד משותף קורא ומבצע

את הפקודות. ה- MCU מעדכן את REG_CMD_WRITE כדי לציין שיש

פקודות חדשות ב- FIFO, ומנוע המעבד המשותף מעדכן את REG_CMD_READ לאחר מכן

פקודות בוצעו.

image

אז כדי לחשב את השטח הפנוי הזמין ב- FIFO, MCU יכול לחשב:

מלאות (REG_CMD_WRITE -REG_CMD_READ) mod 4096

freespace = (4096 - 4);

חישוב זה אינו מדווח על 4096 בתים של שטח פנוי, כדי למנוע לחלוטין

לעטוף את FIFO ולהפוך אותו ריק.

אם מספיק מקום זמין ב FIFO, MCU כותב את הפקודות ב

במיקום המתאים בזיכרון FIFO, ולאחר מכן מעדכנים את REG_CMD_WRITE. כדי לפשט את

MCU קוד, החומרה FT800 באופן אוטומטי עוטפת כותב רציף מ (RAM_CMD

+ 4095) חזרה אל (RAM_CMD + 0).

רשומות FIFO הן תמיד 4 בתים - זוהי שגיאה עבור REG_CMD_READ או

REG_CMD_WRITE יש ערך שאינו מספר של 4 בתים. כל פקודה

שהונפקו למנוע המעבד המשותף עשויות לקחת 1 או יותר מילים: האורך תלוי ב-

הפקודה עצמה, וכל הנתונים המצורפים. פקודות מסוימות ואחריהן נתוני משתנה, כך שגודל הפקודה לא יכול להיות מספר של 4 בתים. במקרה זה, מנוע המעבד מתעלמת מהביצועים הנוספים של 1, 2 או 3 וממשיך לקרוא את הבא

הפקודה בגבול הבא 4 בתים.