تاریخ امروز : 1403/01/16

رجیسترها (ثبات ها) در پردازنده ها

رجیسترها (ثبات ها) در پردازنده ها

رجیستر (ثبات) های پردازنده یکی از اجزای مهم و جدایی ناپذیر در پردازنده ها هستند. رجیسترها، کوچک ترین و پر سرعت ترین نوع حافظه ها در کامپیوتر هستند و داده ها و دستورالعمل ها و آدرس های حافظه مورد استفاده توسط پردازنده را به صورت موقت در خود ذخیره می کنند.رجیستر ها به گونه ای طراحی شده اند که بسیار سریع تر از حافظه های معمولی عملیات را انجام می دهند. پردازنده از  رجیستر ها برای پردازش داده های مورد نیاز کاربر استفاده می کند و رجیستر ها دستورالعمل ها و آدرس هایی را نگه داری می کنند که توسط پردازنده برای پردازش داده ها استفاده می شود.

رجیستر ها بر اساس کاربرد های آن ها، داری انواع مختلفی هستند. رجیستر ها در پردازش دستورات 3 وظیفه اساسی Fetch (واکشی داده ها)، Decode (کد گشایی دستورات) و Execute (اجرای دستورات) را بر عهده دارند. مرحله ی Fetch ، برای گرفتن دستورالعمل های کاربر به کار گرفته می شود. مرحله Decode، برای رمز گشایی دستور العمل ها به کار می رود و پردازنده متوجه نوع دستور العمل می شود. مرحله Execute، دستور العمل های رمز گشایی شده توسط پردازنده اجرا می شوند و به کاربر نمایش داده می شود.

رجیستر ها سایز محدودی از داده ها را می توانند ذخیره کنند. رجیستر ها 1 بایتی، 2بایتی، 4بایتی و یا 8 بایتی اند. هر چه رجیستر ها سایز بزرگتری داشته باشند میتوانند عملکرد پردازنده را افزایش دهند.

رجیستر ها بر اساس عملکردشان می توان در 2 دسته کلی رجیستر های در دسترسی کاربر (User Accessible Register) و رجیستر های داخلی (internal Registers) دسته بندی کرد.

رجیستر های با دسترسی کاربر (User Accessible Register)

این نوع رجیستر ها  با وارد کردن دستورات از سمت کاربر ، قابل دسترسی هستند.

  • رجیستر های عمومی (General Purpose Registers) : کاربران می توانند به این رجیستر ها دسترسی داشته باشند و آن ها را تغییر دهند و شامل آدرس ها و یا داده ها هستند.
  • رجیستر های ویژه (Special Purpose Registers) : این رجیستر ها به طور مستقیم توسط کاربر قابل دسترسی نیستند و به پردازنده تعلق دارند. یک مثال برای این دسته، رجیستر شمارنده برنامه (Progeam Counter) یا به اصطلاح PC  است که آدرس دستور بعدی که باید پردازش شود را در خود نگه می دارد و با دریافت یک دستور، مقدار 1 واحد به آن افزوده می شود.

رجیستر های داخلی (internal Registers)

این رجیسترهای CPU برای کاربر قابل دسترسی نیستند و فقط در حین پردازش توسط خود پردازنده قابل دسترسی هستند و انواعی دارند .

Memory Data Register (MDR)

 یکی از رجیستر های بسیار مهم پردازنده است که در نقش بافر عمل می کند و داده ها و اطلاعاتی که طی عملیات Fetch از حافظه Ram به این رجیستر انتقال یافته را کپی کرده تا پردازنده بتواند از این داده ها برای پردازش استفاده کند.

Memory Address Register (MAR)

هنگامی که پردازنده می خواهد داده ای را در حافظه Ram ذخیره کرده یا از آن بخواند ، در این هنگام پردازنده آدرس آن داده ها و دستورالعمل هایی که موردنیازش است را در رجیستر  MAR به صورت موقت دخیره می کند تا از آن ها استفاده کند.

Memory Buffer Register (MBR)

رجیستر MBR تفاوتی با رجیستر MDR ندارد و همان عملیات را انجام می دهد و مانند MDR ، نقش بافر عمل می کند و داده ها و اطلاعاتی که طی عملیات Fetch از حافظه Ram به این رجیستر انتقال یافته را کپی کرده تا پردازنده بتواند از این داده ها برای پردازش استفاده کند.

انواع رجیستر های مهم در پردازنده ها

در این جا می خواهیم انواع رجیستر های مهم در پردازنده ها و ریز پردازنده ها را بررسی کنیم:

Flag Register (FR)

رجیستر Flag برای نشان دادن یک حالت و شرایط خاص استفاده می شود. رجیستر Flag از 1 یا 2 بایت تشکیل شده است. هر بایت به 8 بیت تقسیم می شود و هر بیت یک حالت را نشان می دهد. برخی از این رجیستر های Flag عبارتند از Zero Flag ( برای نشان دادن این که حاصل محاسبه صفر شده است یا خیر) ، Carry Flag (برای نشان دادن این که مقدار قرضی در محاسبه داریم یا خیر)، Paritty Flag ( برای نشان دادن این که مقدار paritty در محاسبه داریم یا خیر) ، Sign Flag (برای نشان دادن این که مقدار ما علامت دار است یا بی علامت ) ، OverFlow Flag ( برای نشان دادن این که در محاسبه مقدار ما از حد بیشتر شده یا خیر)، Interrupt Enable  ( برای نشان دادن که اینکه interrupt اتفاق افتاده یا خیر) ، Decimal Mode Flag ( برای نسان دادن این که عدد حاصل در حالت دسیمال ( ده دهی ) قرار دارد یا خیر).

Accumulator Register

عملکرد رجیسترهای تجمعی مدیریت عملیات ریاضی و منطقی است. این رجیستر ها بخشی از ALU ( واحد ریاضی و منطق ) هستند. تقریباً چهار نوع رجیستر Accumulative وجود دارد که EAX ، EBX ، ECX و EDX نامیده می شوند. اندازه این رجیستر ها از 1 تا 4 بایت می باشد. رجیستر های AX , BX, CX, DX ، 2 بایتی هستند و مرتبه پایین و بالای آن به ترتیب به صورت AL, BlL, CL, DL و AH, BH, CH, DH هستند.

Instruction Pointer Register (IPR)

یک رجیستر خاص است که آدرس دستورالعمل بعدی که باید توسط پردازنده پردازش شود را در خود نگه می دارد و به آن Program Counter یا PC هم گفته می شود.

Index Register

به طور کلی یک رجیستری در داخل پردازنده است که برای تغییر آدرس های عملوند (Operand) در حین اجرای برنامه کار می کند و هدف این رجیستر ذخیره اعدادی در پردازنده است که بتواند منفی باشد و یا بخشی از آدرس دستوری که آمده باشد تا بتواند آن را به یک آدرس کارآمد تبدیل کند. نکته ای که وجود دارد این است که به Index Register گاهی اوقات Base Register هم اطلاق می شود.

Data Register (DX)

از این رجیستر برای ذخیره داده های خوانده شده یا نوشته شده از حافظه های ذخیره سازی به طور موقت استفاده می شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

محصولات پیشنهادی سردبیر

سایر مقالات مربتط با سرور HP

مقالات اموزشی

انواع VPN و پروتکل های آن

VPN (virtual private network) یک راهکار امن برای دسترسی به شبکه ای دیگر از طریق اینترنت است. VPN با ایجاد

what is VDI
مقالات اموزشی

VDI چیست؟

 Virtual Desktop Infrastructure یا VDI برنامه ای برای مجازی سازی دسکتاپ در یک سرور مرکزی است. VDI نوعی مجازی سازی

سبد خرید
فروشگاه
حساب من
0 مورد سبد خرید