بخش میکروپروسسورها Microprocessor (ریزپردازنده)

آشنایی با بخش (Timer تایمِر یا ساعت) میکرو پروسِسورها Microprocessor 

پژوهشگر و نویسنده:  دکتر  (  افشین رشید)

نکته: یک میکرو پروسِسور باید بتواند یک فعالیت را در آینده برنامه ریزی کند. مکانیزمی مورد نیاز است که به موجب آن بتوان فعالیت ها را در زمان نسبتاً دقیقی برنامه ریزی کرد. هر ریزپردازنده ای که بخواهد از یک سیستم عامل پشتیبانی کند باید دارای تایمر بازه ای قابل برنامه ریزی باشد که به صورت دوره ای پردازنده را قطع می کند. این وقفه دوره ای به عنوان تیک ساعت سیستم شناخته می شود و مانند مترونوم عمل می کند و فعالیت های سیستم را هماهنگ می کند.  

میکرو پروسِسور دید بسیار ساده ای از زمان آن دارد. از زمانی که سیستم بوت شده است، زمان را با تیک های ساعت اندازه گیری می کند. همه زمان‌های سیستم بر اساس این اندازه‌ گیری است که به نام بخش (Timer یا تایمِر) میکرو پروسِسورها پس از متغیر موجود  با همین نام شناخته می‌شود.   میکرو پروسِسوردارای دو نوع تایمر سیستم است، هر دو روتین صف در برخی زمان های سیستم فراخوانی می شوند، اما در پیاده سازی آنها کمی متفاوت هستند. 


اولین، مکانیزم تایمر قدیمی، دارای یک آرایه ایستا از 32 اشاره گر به ساختارهای داده timer_struct  و یک ماسک از تایمرهای فعال، timer_active  است . جایی که تایمرها در جدول تایمر می روند به طور ایستا تعریف شده است (به جای جدول کنترل کننده نیمه پایینی). ورودی ها بیشتر در زمان اولیه سازی سیستم به این جدول اضافه می شوند. مکانیسم دوم، جدیدتر، از یک لیست پیوندی از ساختارهای داده timer_list استفاده می کند که به ترتیب زمان انقضا صعودی نگهداری می شوند.هر دو روش از زمان در بخش (Timer یا تایمِر) میکرو پروسِسورها به عنوان زمان انقضا استفاده می کنند به طوری که تایمری که می خواهد در 5 ثانیه اجرا شود باید 5 ثانیه را به واحد بخش (Timer یا تایمِر) میکرو پروسِسورها تبدیل کند و آن را به زمان فعلی سیستم اضافه کند تا زمان سیستم را به صورت بخش (Timer یا تایمِر) میکرو پروسِسورها  در زمانی که تایمر منقضی شود به دست آورد. هر تیک ساعت سیستم، کنترل کننده نیمه پایین تایمر به عنوان فعال علامت گذاری می شود تا زمانی که زمان بندی بعدی اجرا شود، صف های تایمر پردازش شوند. کنترل کننده نیمه پایین تایمر هر دو نوع تایمر سیستم را پردازش می کند. برای تایمرهای سیستم قدیمی، ماسک بیت timer_active  برای بیت های تنظیم شده بررسی می شود.


اگر زمان انقضای یک تایمر فعال منقضی شده باشد (زمان انقضا کمتر از بخش (Timer یا تایمِر) میکرو پروسِسور فعلی است )، روال تایمر آن فراخوانی می شود و بیت فعال آن پاک می شود. برای تایمرهای سیستم جدید، ورودی‌های فهرست پیوندی ساختارهای داده timer_list  بررسی می‌شوند.هر تایمر منقضی شده از لیست حذف می شود و روال آن فراخوانی می شود. مکانیسم جدید تایمر این مزیت را دارد که می‌ تواند آرگومان را به روال تایمر منتقل کند.

پژوهشگر و نویسنده:  دکتر  (  افشین رشید)

دکترایِ  تخصصی نانو _ میکرو الکترونیک