سیستم عامل به سبک تِرِد سیستم عامل به سبک تِرِد



شما این تِرِد رو مطالعه کردید آفرین.🍻
تصویر: اوپس 502
اوپس: تصویر 502
فرزاد 1405/3/29

نحوه اجرای دستوالعمل ها آموزش و یادگیری نحوه اجرای دستوالعمل ها به صورت رایگان


برای اجرای هر برنامه (Process) ما نیاز به توالی از دستورالعمل ها (Instructions) تو مموری داریم! این یعنی هر برنامه شامل کلی دستورالعمل میشه که تو مموری ذخیره شده 🔁
به این عملیات Instruction Execution گفته میشه. این عمل به وسیله مکانیزمی به نام Instruction Cycle انجام میشه!
این مکانیزم شامل ۲ استیج مهم به نام Fetch stage و Execute stage هست.
Fetch stage: لود اینستراکشن از مموری و ذخیره اون تو رجیستر IR
Execute stage: اجرای دستورالعمل (برای هر دستورالعمل متفاوته)

یکم بیشتر بدونید
رجیستر (Register) های CPU حافظه هایی درون پردازنده هستن که سرعت فوق العاده بالایی دارن و دیتا هایی که CPU در حال حاضر داره پردازششون میکنه توی اون ها قرار میگیرن! (در ترد های بعدی به طور مفصل تر درباره رجسیتر ها صحبت خواهیم کرد!)
رجیستر هایی که تو این ترد باهاشون آشنا میشم :
IR: Instruction Registr
PC: Program Counter
AC: Accumulator

Instruction Cycle

  1. اولین instruction از مموری لود میشه و تو IR ذخیره میشه.
  2. مقدار PC برابر آدرس instruction بعدی تو مموری میشه.
  3. پردازنده شروع به اجرای دستورالعمل لود شده در IR میکنه
  4. اگر پردازش انجام شده نیازی به ذخیره داده داشته باشه از رجیستر AC برای ذخیره اون استفاده میکنه.
  5. بعد از اتمام اجرای دستورالعمل با استفاده از مقدار PC دستورالعمل بعدی تو مموری پیدا میشه و این مراحل تا پایان دستورالعمل ها ادامه پیدا میکنه 🍻
یکم بیشتر بدونید
البته اجرای instruction ها ۲ مرحله دیگه هم داره به نام های Store و Decode که خیلی خلاصه هستن و به صورت دو مرحله اصلی توی کتاب رفرنسمون ازش یاد نشده! به طور خلاصه مرحله Store مربوط به ذخیره داده تولید شده یا پردازش شده توی AC یا مموری اصلی هستش که تو مرحله چهارم Instruction Cycle گفته شد. مرحله Decode هم شامل رمزگشایی دستورالعمل ها قبل از Execute stage هستش❗

داخل IR ها دقیقا چیه؟
یه سری بیت که یه کار بخصوصی رو انجام میدن. مثل محاسبه یه عمل ریاضی، خوندن یه فایل، ذخیره یه متغیر تو مموری و …
توی PC چی ذخیره میشه؟
تو رجیستر PC آدرس دستورالعمل بعدی ذخیره میشه. با استفاده از این مقدار پردازنده قادر هستش که دستورالعمل بعدی رو توی مموری پیدا کنه.
چرا دستورالعمل باید رمزگشایی شه؟
چون وقتی دستوالعمل از حافظه میاد یه سری بیت خام هستش و برای CPU معنایی ندارن. پس باید بیت های دستور به سیگنال های کنترلی تفسیر بشن.
اینجا CU وارد عمل میشه و با بررسی بخش opcode اون دستورالعمل, دستورالعمل رو به Decode میکنه!
مثلا:
ورودی: 0101011000110101 (این بیت ها یه الگوی پیوسته دارن و اصلا معلوم نیست چی به چیه)
بعد از دیکود:
0001 = ADD
0010 = SUB
0011 = LOAD
0100 = STORE

شماره تِرِد : شماره 8 از 13

نظرات