আমি ইএফএম গেকো নিয়ন্ত্রকগুলি (http://energymicro.com/) ব্যবহার করে ব্যাটারি চালিত সফ্টওয়্যারটি বিকাশ করতে চাইছি এবং নিয়ন্ত্রকটি ঘুমানোর জন্য চাইবেন যখনই এটির জন্য কার্যকর কিছু নেই। ডাব্লুএফআই (ইন্টারপ্রেটের জন্য অপেক্ষা করুন) নির্দেশাবলী এই উদ্দেশ্যে ব্যবহৃত হয়; এটি কোনও প্রকার বাধাগ্রস্ত না হওয়া অবধি প্রসেসরটিকে ঘুমাতে দেবে।
যদি ঘুম কোথাও কোনও কিছু সঞ্চয় করে রাখে, তবে লোড-এক্সক্লুসিভ / স্টোর-এক্সক্লুসিভ ক্রিয়াকলাপগুলি এমন কিছু করতে ব্যবহার করতে পারে:
// ড্যান্ট_স্লিপ 2 এর সাথে লোড হয়ে যায় যে কোনও সময় এটি ঘটে // কমপক্ষে একবারে প্রধান লুপটিকে চক্র করতে বাধ্য করা উচিত। যদি বাধা দেয় // ঘটে যা নিম্নলিখিত বিবৃতি চলাকালীন এটি 2 এ রিসেট হয়ে যায়, // আচরণ এমন হবে যেন এর পরে বাধা ঘটেছে। store_exclusive (লোড_ এক্সক্লুসিভ (ডান_স্লিপ) >> 1); যখন (! dont_sleep) { // পরবর্তী বিবৃতি এবং store_exclusive এর মধ্যে যদি বাধা ঘটে তবে ঘুমোবেন না load_exclusive (SLEEP_TRIGGER); যদি (! না ঘুমো) store_exclusive (SLEEP_TRIGGER); }
যদি লোড_এক্সক্লুসিভ এবং স্টোর_ এক্সক্লুসিভ ক্রিয়াকলাপগুলির মধ্যে কোনও বিঘ্ন ঘটে থাকে তবে এর প্রভাব স্টোর_এক্সক্লুসিভ এড়িয়ে যায়, ফলে সিস্টেমটি আরও একবার লুপের মধ্য দিয়ে চলে যেতে পারে (দেখুন বাধাগ্রস্থটি ডান_স্লিপ সেট করেছে কিনা)। দুর্ভাগ্যক্রমে, গেককো স্লিপ মোডে ট্রিগার করার জন্য লিখিত ঠিকানার পরিবর্তে ডাব্লুএফআই নির্দেশ ব্যবহার করে; লেখার কোডের মতো
যদি (! না ঘুমো) WFI ();
'if' এবং 'wfi' এর মধ্যে একটি বাধা সৃষ্টি হতে পারে এবং স্লিপ না ঘুমানোর ঝুঁকিটি চালায়, তবে ডাব্লুএইচপি আরও এগিয়ে যেতে পারে এবং যাইহোক কার্যকর করতে পারে। এটি প্রতিরোধের সেরা প্যাটার্নটি কী? ডাব্লুএফআই চালানোর ঠিক আগে প্রসেসরের বাধা রোধ করতে প্রাইমস্ককে 1 এ সেট করুন এবং এরপরেই সাফ করবেন? নাকি এর থেকে আরও ভাল কৌশল আছে?
সম্পাদনা
আমি ইভেন্ট বিট সম্পর্কে ভাবছি। সাধারণ বিবরণ দ্বারা, এটি এটি মাল্টি-প্রসেসর সহায়তার উদ্দেশ্যে করা চাইবে তবে নীচের মতো কিছু কাজ করতে পারে কিনা তা নিয়ে ভাবছিলেন:
যদি (ঘুম না) Sev (); / * নিম্নলিখিত ডাব্লুএফই পরিষ্কার ইভেন্ট পতাকা তৈরি করবে কিন্তু ঘুমাবে না * / WFE ();
প্রতিটি বিঘ্নিত যা ঘুমোচ্ছে না সেটগুলিও একটি এসইভি নির্দেশ কার্যকর করতে হবে, সুতরাং "যদি" পরীক্ষার পরে যদি বাধা ঘটে তবে ডাব্লুএফইই ইভেন্টের পতাকা সাফ করবে তবে ঘুমাতে যাবে না। ভালো দৃষ্টান্তের মতো শব্দটি কি শোনাচ্ছে?