نحوه اجرای دستوالعمل ها آموزش و یادگیری نحوه اجرای دستوالعمل ها به صورت رایگان
برای اجرای هر برنامه (Process) ما نیاز به توالی از دستورالعمل ها (Instructions) تو مموری داریم! این یعنی هر برنامه شامل کلی دستورالعمل میشه که تو مموری ذخیره شده 🔁
به این عملیات Instruction Execution گفته میشه. این عمل به وسیله مکانیزمی به نام Instruction Cycle انجام میشه!
این مکانیزم شامل ۲ استیج مهم به نام Fetch stage و Execute stage هست.
Fetch stage: لود اینستراکشن از مموری و ذخیره اون تو رجیستر IR
Execute stage: اجرای دستورالعمل (برای هر دستورالعمل متفاوته)
یکم بیشتر بدونید
رجیستر هایی که تو این ترد باهاشون آشنا میشم :
IR: Instruction RegistrPC: Program CounterAC: AccumulatorInstruction Cycle
- اولین instruction از مموری لود میشه و تو IR ذخیره میشه.
- مقدار PC برابر آدرس instruction بعدی تو مموری میشه.
- پردازنده شروع به اجرای دستورالعمل لود شده در IR میکنه
- اگر پردازش انجام شده نیازی به ذخیره داده داشته باشه از رجیستر AC برای ذخیره اون استفاده میکنه.
- بعد از اتمام اجرای دستورالعمل با استفاده از مقدار PC دستورالعمل بعدی تو مموری پیدا میشه و این مراحل تا پایان دستورالعمل ها ادامه پیدا میکنه 🍻
یکم بیشتر بدونید
داخل IR ها دقیقا چیه؟
توی PC چی ذخیره میشه؟
چرا دستورالعمل باید رمزگشایی شه؟
اینجا CU وارد عمل میشه و با بررسی بخش opcode اون دستورالعمل, دستورالعمل رو به Decode میکنه!
مثلا:
ورودی: 0101011000110101 (این بیت ها یه الگوی پیوسته دارن و اصلا معلوم نیست چی به چیه)
بعد از دیکود:0001 = ADD0010 = SUB0011 = LOAD0100 = STORE
