پاسخ : آشنایی با پردازنده (cpu) نسل قبلی ریزپردازندهها از اجزا و قسمتهای بیشمار مجزا از هم تشکیل میشد که در یک یا چندین برد مداری قرار داشتند. اما ریزپردازندهها ، cpuهایی هستند که با تعداد خیلی کمی ic ساخته میشوند ، معمولا فقط از یک ic ساخته میشوند. کارکرد در یک قالب مداری به مفهوم زمان سوئیچینگ سریعتر به دلیل حذف عوامل فیزیکی میباشد. مانند کاهش بهره پارازیتی خازنها ، که همگی در نتیجه کوچکی اندازه cpu هاست. این حالت باعث همزمان سازی ریزپردازندهها میشود تا بتوانند پالس ساعتی در رنج چند ده مگا هرتز تا چندین گیگا هرتز داشته باشند. به علاوه تعداد مینی ترانزیستورها روی یک ic افزایش مییابد و پیچیدگی عملکرد با افزایش ترانزیستورها در یک پردازنده به طرز چشمگیری باعث افزایش قابلیت cpuها میشود. این واقعیت به طور کامل مبین قانون مور میباشد که در آن بطور کامل و دقیق رشد افزایشی ریزپردازندهها و پیچیدگی آنها با گذر زمان پیش بینی شده بود.
پاسخ : آشنایی با پردازنده (cpu) در حالیکه پیچیدگی ، اندازه ، ساختمان و شکل کلی ریزپردازندهها نسبت به 60 سال گذشته کاملا تغییر کرده ، این نکته قابل توجهاست که طراحی بنیادی و ساختاری آنها تغییر چندانی نکردهاست. امروزه تقریبا تمام ریزپردازندههای معمول میتوانند پاسخگوی اصل نیومن در مورد ماشینهای ذخیره کننده برنامه باشند. مطابق قانون مور که در حال حاضر نیز مطابق آن عمل میشود ، روی کرد استفاده از فناوری جدید کاهش در مدارات مجتمع ترانزیستوری مد نظر است. در نهایت مینیاتوری کردن مدارهای الکترونیکی باعث ادامه تحقیقات و ابداع روشهای جدید محاسباتی مانند ایجاد کامپیوترهای ذرهای (کوانتومی) شد . به علاوه موجب گسترش کاربرد موازی سازی و روشهای دیگر که ادامه دهنده قانون سودمند کلاسیک نیومن است گردید.
پاسخ : آشنایی با پردازنده (cpu) عملکرد ریزپردازندهها: کارکرد بنیادی بیشتر ریزپردازندهها علیرغم شکل فیزیکی که دارند ، اجرای ترتیبی برنامههای ذخیره شده را موجب میشود. بحث در این مقوله نتیجه پیروی از قانون رایج نیومن را به همراه خواهد داشت. برنامه توسط یک سری از اعداد که در بخشی از حافظه ذخیره شدهاند نمایش داده میشود.چهار مرحله که تقریبا تمامی ریزپردازندههایی که از [ قانون نیومن] در ساختارشان استفاده میکنند از آن پیروی میکنند عبارتاند از : فراخوانی ،رمز گشایی ، اجرا ، بازگشت برای نوشتن مجدد. مرحله اول ، فراخوانی ، شامل فراخوانی یک دستورالعمل (که به وسیله یک عدد و یا ترتیبی از اعداد نمایش داده میشود) از حافظه برنامه میباشد. یک محل در حافظه برنامه توسط شمارنده برنامه(pc) مشخص میشود که در آن عددی که ذخیره میشود جایگاه جاری برنامه را مشخص میکند.به عبارت دیگر شمارنده برنامه از مسیرهای پردازنده در برنامه جاری نگهداری میکند. بعد از اینکه یک دستورالعمل فراخوانی شد شمارنده برنامه توسط طول کلمه دستورالعمل در واحد حافظه افزایش مییابد. گاهی اوقات برای اینکه یک دستورالعمل فراخوانی شود بایستی از حافظه کند بازخوانی شود. که این عمل باعث میشود ریزپردازنده همچنان منتظر بازگشت دستورالعمل بماند. این موضوع به طور گستردهای در پردازندههای مدرن با ذخیره سازی و معماری مخفی سازی در حافظههای جانبی مورد توجه قرار گرفت. دستورالعملی که پردازنده از حافظه بازخوانی میکند باید معین شده باشد که چه عملی را cpu می خواهد انجام دهد.
پاسخ : آشنایی با پردازنده (cpu) در مرحله رمزگشایی ، دستورالعمل به بخشهایی که قابل فهم برای قسمتهای پردازنده هستند تفکیک میشود. روشی که در آن مقادیر دستورالعمل شمارشی ترجمه میشود توسط معماری مجموعه دستورالعملها (isa) تعریف میشود. اغلب یک گروه از اعداد در یک دستورالعمل که شناسنده نامیده میشوند بیانگر این هستند که کدام فرایند باید انجام گیرد. قسمت باقیمانده اعداد معمولا اطلاعات مورد نیاز برای دستور را در بر دارند ، مانند عملوندهای یک عملیات اضافی که در واقع چنین عملوندهایی ممکن است به عنوان یک مقدار ثابت داده شوند(مقدار بی واسطه) ، یا اینکه به عنوان یک محل برای مکان یابی یک مقدار ، یک ثبات و یا آدرس حافظه که به وسیله گروهی از مدهای آدرس دهی تعیین میگردد داده شوند. در طرحهای قدیمی سهم پردازندهها یی که در رمزگشایی دستورالعملها نقش داشتند از واحد سخت افزاری غیر قابل تغییر برخوردار بودند. اگرچه در بیشتر پردازندهها و isaهای انتزاعی و پیچیده اغلب یک ریز برنامه دیگر جهت ترجمه دستورالعمل به صورت ترکیب سیگنالهای مختلف برای cpu ها وجود دارد. این ریز برنامه گاهی قابلیت دوباره نویسی را دارد ، بنابراین آنها میتوانند برای تغییر نحوه رمز گشایی دستورالعملها حتی پیش از آنکه cpu ها تولید شدند اصلاحاتی را مجددا انجام دهند.
پاسخ : آشنایی با پردازنده (cpu) بعد از مراحل فراخوانی و رمزگشایی مرحله اجرای دستور انجام میگیرد. در طول این مرحله قسمتهای مختلفی از پردازنده با هم مرتبط هستند و میتوانند یک عملکرد مطلوب ایجاد کنند. برای مثال اگر یک عملکرد اضافی درخواست شود واحد محاسبه و منطق (alu)با یک سری از ورودیها و خروجیها مرتبط خواهد شد. ورودیها اعداد مورد نیاز برای افزوده شدن را فراهم میکنند و خروجیها شامل جمع نهایی اعداد میباشند. Alu شامل مجموعهای از مدارهاست تا بتواند عملیاتهای ساده محاسباتی و منطقی را روی ورودیها انجام دهد. اگر فرایند اضافی نتیجه بزرگی برای کارکرد پردازنده ایجاد کند یک پرچم سر ریز محاسباتی در ثبات پرچمها ایجاد میشود.
پاسخ : آشنایی با پردازنده (cpu) مرحله پایانی یعنی بازگشت به مکان اولیه و آمادگی برای نوشتن مجدد پس از مرحله اجرا در قسمتی از حافظه به وجود میآید. گاهی اوقات نتایج محاسبات در ثباتهای پردازندههای خارجی نوشته میشوند که اینکار برای دسترسی سریع به وسیله دستورهایی که بعدا به برنامه داده میشود انجام میگیرند. در حالت دیگر ممکن است نتایج با سرعت کمتری نوشته شوند اما در حجم بزرگتر و ارزش کمتر ، که این نتایج در حافظه اصلی ذخیره خواهند شد. برخی از دستورات شمارنده برنامه که قابل تغییر هستند نسبت به آن دسته از اطلاعاتی که مستقیما نتایج را تولید میکنند ترجیح داده میشوند. در اصل همگی این موارد خیزش نامیده میشوند و رفتارهایی شبیه حرکت در یک لوپ ، زمان اجرای برنامه (در طول استفاده از خیزشهای شرطی) و همچنین روند توابع در برنامهها را تسهیل میدهند. تعداد بسیاری از دستورات وضعیت یک رقم در ثبات پرچمها را تغییر میدهند. این پرچمها میتوانند برای تاثیر گذاری در چگونگی عملکرد یک برنامه مورد استفاده قرار گیرند. برای مثال یک نوع از دستورات مقایسهای به مقایسه یک عدد و مقدار موجود در ثبات پرچمها رسیدگی میکند. این پرچم ممکن است بعدا با یک دستورالعمل جهشی برای مشخص کردن روند برنامه مورد استفاده قرار بگیرد. بعد از اجرای دستورالعمل و نوشتن مجدد روی اطلاعات منتجه فرآیند به طور کامل تکرار میشود و با دستور بعدی چرخه به طور معمول مقدار بعدی را از ترتیب شمارشی فراخوانی میکند، که این عمل به دلیل روند افزایشی مقدار شمارنده برنامه میباشد. در پردازندههای خیلی پیچیده تر نسبت به آنچه توضیح داده شد چندین دستورالعمل قابل فراخوانی ، رمز گشایی و اجرا به صورت همزمان میباشند. این امر به طور کلی بیان میدارد که چه مباحثی به روش زمانبندی کلاسیک risc مربوط میشود ، که در حقیقت این فرایند در پردازندههای معمولی که در بسیاری از دستگاههای الکترونیکی مورد استفاده قرار میگیرند متداول است. (ریز کنترل کننده یا میکرو کنترولر)
پاسخ : آشنایی با پردازنده (cpu) دامنه صحیح (رنج کاری) : روشی که یک پردازنده از طریق آن اعداد را نمایش میدهد یک روش انتخابی در طراحی است که البته در بسیاری از راههای اصولی اثر گذار است. در برخی از کامپیوترهای دیجیتالی اخیر از یک مدل الکترونیکی بر پایه سیستم شمارش دسیمال (مبنای ده) برای نمایش اعداد استفاده شدهاست. برخی دیگر از کامپیوترها از یک سیستم نامتعارف شمارشی مانند سیستم سه تایی(مبنای سه) استفاده میکنند. در حال حاضر تمامی پردازندههای پیشرفته اعداد را به صورت دودویی (مبنای دو) نمایش میدهند که در آن هر عدد به وسیله چندین کمیت فیزیکی دو ارزشی مانند ولتاژ بالا و پایین نمایش داده میشوند.
پاسخ : آشنایی با پردازنده (cpu) علت نمایش دهی از طریق اعداد حجم کم و دقت بالا در اعدادی است که پردازشگر میتواند نمایش دهد. در حالت دودویی پردازندهها , یک بیت به یک مکان مشخص در پردازنده اطلاق میشود که پردازنده با آن به صورت مستقیم در ارتباط است. ارزش بیت (مکانهای شمارشی) یک پردازنده که برای نمایش اعداد بکار برده میشود «بزرگی کلمه»، «پهنای بیت»،«پهنای گذرگاه اطلاعات» و یا «رقم صحیح» نامیده میشود.که البته این اعداد گاهی در بین بخشهای مختلف پردازندههای کاملا یکسان نیز متفاوت است. برای مثال یک پردازنده 8 بیتی به محدودهای از اعداد دسترسی دارد که میتواند با هشت رقم دودویی (هر رقم دو مقدار میتواند داشته باشد) 2 یا 256 عدد گسسته نمایش داده شود. نتیجاتا مقدار صحیح اعداد باعث میشود که سخت افزار در محدودهای از اعداد صحیح که قابل اجرا برای نرم افزار باشد محدود شود و بدین وسیله توسط پردازنده مورد بهره برداری قرار گیرد.
پاسخ : آشنایی با پردازنده (cpu) دامنه صحیح همچنین میتواند در تعداد مکانهایی از حافظه که قابل آدرس دهی در پردازنده هستند تاثیر گذار باشد. به عنوان مثال اگر یک پردازنده از 32 بیت برای نمایش آدرس حافظه استفاده کند و هر آدرس حافظهای یک بایت (8بیت) را نمایش دهد ، ماکزیمم مقدار حافظه چنین پردازندهای میتواند 2 بایت یا 4 گیگا بایت را آدرس دهی کند. این یک نمای ساده از فضای آدرس دهی پردازنده هاست و بسیاری از طراحیها از روشهای آدرس دهی پیشرفته تری مانند استفاده از حافظههای مجازی استفاده میکنند تا بتوانند مکانهای بیشتری از حافظه را آدرس دهی کنند.
پاسخ : آشنایی با پردازنده (cpu) سطوح بالا تر دامنه صحیح (رنج کاری) به تشکیلات بیشتری برای رسیدگی به رقمهای افزوده نیازمند است و بنابراین پیچیدگی ، اندازه ،توان مصرفی و حتی هزینه عمومی بیشتری را در پی خواهد داشت.و این امر به هیچ وجه مقبول نیست. بنابر این استفاده از ریز کنترل کنندههای 4و 8 بیتی که در کاربردها پیشرفته مورد استفاده قرار میگیرد متداول تر است. هرچند پردازندههای با دامنه کاری بالاتر (مثل 16 ،32 ،64 ویا حتی 128 بیتی)نیز موجود میباشد. میکرو کنترل کنندههای ساده تر معمولا ارزانتر بوده و توان مصرفی کمتری دارند و نتیجاتا گرمای کمتری نیز تولید میکنند که همگی این موارد در طراحی قطعات الکترونیکی مدنظر قرار میگیرند. به عنوان مثال سیستم 370 شرکت ibm از یک پردازندهای استفاده میکند که در حالت اولیه 32 بیتی است اما در قسمت متغیر درونی خود از 128 بیت برای تسهیل و دقت بیشتر استفاده میکند. بسیاری از پردازندههای اخیر از پهنای بیت ترکیبی مشابهی استفاده میکنند ، خصوصا زمانیکه پردازنده برای کاربردهای عمومی مورد استفاده قرار میگیرد و نیازمند ایجاد تعادل بین قسمت متغیر و صحیح میباشد.