پردازنده چیست؟
  1399/05/01 

تعریف پردازنده:

واحد پردازش مرکزی (پردازنده) یا CPU که مخفف عبارت Central Processor Unit می‌باشد مانند مغز و بخش اصلی کامپیوتر است که مسئول پردازش تمامی دستورالعمل‌‌ها و مدیریت کلیه مراحل پردازش داده‌ها است.


انواع پردازنده:

1-پردازنده‌های دسکتاپ: به پردازنده‌هایی گفته می‌شود که برای کامپیوترهای رومیزی که غالباً در خانه یا محل کار از آن‌ها استفاده می‌شود ساخته می‌شوند.

2-پردازنده‌های موبایلی (soc): این نوع از پردازنده‌ها برای دستگاه‌های کوچک و قابل‌حمل مانند لپ‌تاپ و یا گوشی‌های هوشمند طراحی‌شده‌اند که در مقایسه با پردازنده‌های دسکتاپ مصرف انرژی پایین‌تری دارند. اکثر پردازنده‌های موبایلی دارای قابلیت‌هایی مانند نمایشگر بی‌سیم (WiDi) هستند که به آن‌ها SOC می‌گویند.

3-پردازنده‌های سرور: پردازنده‌های سرور نسبت به پردازنده‌های دیگر توان بالاتری دارند و در شرایط خاص عملکرد قوی و قابل‌اطمینانی دارند و به همین دلایل مبلغ بالاتری هم برای آن‌ها باید پرداخت شود.

 

پردازنده‌های دسکتاپ ، پردازنده‌های سرور ، پردازنده‌های موبایل

 

عملکرد پردازنده:

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


عملکرد پردازنده شامل سه مرحله است:


1-واکشی (Fetch):

واکشی یا همان دریافت داده‌ها و دستورالعمل اولین مرحله از مراحل عملکرد پردازنده است. در این مرحله سی پی یو دستورالعمل‌هایی که توسط کاربر به کامپیوتر داده می‌شود در قالب صفر و یک از RAM دریافت می‌کند که این دستورالعمل‌ها یک بخش کوچک از عملیاتی است که قرار است بر روی داده‌ها انجام شود؛ بنابراین سی پی یو برای انجام کامل عملیات باید بداند دستورالعمل بعدی کاربر چیست. آدرس دستور فعلی داده‌شده به سیستم توسط شمارنده سیستم یا (Program Counter) که به‌اصطلاح به آن PC می‌گویند نگهداری می‌شود سپس PC به همراه دستورالعمل‌ها در واحد ثبت دستور (Instruction Register) که اصطلاحاً به آن IR می‌گویند درج می‌شوند و در آخر مقدار PC یک واحد افزایش می‌یابد تا به نشانی دستورالعمل بعدی ارجاع داده شود. در فرآیند واکشی با توجه به محتوای PC محل قرار گرفتن دستور بر روی حافظه مشخص می‌شود و درصورتی‌که یک دستور به‌صورت جهش (Jump) اجرا شود شمارنده برنامه به آدرس دستوری که جهش به آن نقطه انجام‌شده است تغییر پیدا می‌کند.


2-رمزگشایی (Decode):

وقتی‌که یک دستور واکشی شد در واحدی به نام ثبت دستورالعمل (Instruction Register) ذخیره می‌شود و سی پی یو دستورالعمل‌ها را به یک واحد به نام رمزگشای دستورالعمل (مدار کدگشایی دستورالعمل) که با نام خارجی (Instruction Decoder) شناخته می‌شود ارسال می‌کند. در واحد رمزگشایی دستورات به سیگنال‌هایی تبدیل می‌شوند و برای اقدام‌های مختلف به واحدهای دیگر پردازنده فرستاده می‌شوند.


3-اجرا (Execute):

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

 

عملیات واحدهای یک پردازنده:


1-واحد محاسبه و عملیات منطقی (ALU):

واحد محاسبه و عملیات منطقی (ALU) یک مدار دیجیتالی پیچیده است که عملیات ریاضی و مقایسه‌ای را انجام می‌دهد و بعد از پردازش اطلاعات توسط ALU آن‌ها را حافظه کامپیوتر ارسال می‌نماید. چندین واحد محاسبه و منطق را می‌توان در CPU، GPU و FPU یافت. در برخی پردازنده‌های رایانه‌ای، ALU به AU و LU تقسیم می‌شود. AU عملیات حسابی را انجام می‌دهد و LU عملیات منطقی را انجام می‌دهد.


2-واحد کنترل حافظه (CU):

واحد کنترل یا CU مداری است که عملیات را درون پردازنده رایانه هدایت و مدیریت می‌کند و این امکان را به واحد محاسبه و منطق و همچنین دستگاه‌های ورودی و خروجی می‌دهد که چگونه می‌توانند به دستورالعمل‌های دریافت شده از یک برنامه پاسخ دهند. واحد کنترل با دریافت اطلاعات ورودی که آن را به سیگنال‌های کنترلی تبدیل می‌کند، کار می‌کند و سپس به پردازنده مرکزی ارسال می‌شود و پردازنده به سخت‌افزار متصل می‌گوید چه عملیاتی را باید انجام دهد. کارکردهایی که یک واحد کنترل انجام می‌دهد، به دلیل واریانس معماری بین تولیدکنندگان مختلف، به نوع CPU بستگی دارد.


3-واحد حافظه ثبات (Register):

CPU های مختلف دارای حافظه ثبات‌های گوناگون می‌باشند. بعضی از رجیسترها برای نگهداری نتایج اعمال استفاده می‎شوند و بعضی دیگر به‌عنوان اشاره‌گر و برخی نیز برای اهداف دیگر می‌باشند. دستورالعمل‌ها مجاز هستند که با سرعتی برابر با 16، 32 یا 64 بیت پردازش شوند و به‌عنوان‌مثال اگر برنامه‌ای برای پردازش دستورالعمل‌های 64 بیتی طراحی‌شده باشد، پردازنده‌ای با ثبت 32 بیتی قادر به اجرای آن برنامه نیست.


مراحل کار کردن عملیات واحدهای یک پردازنده

 

فرکانس پردازنده به چه معناست؟


تمامی عبارات فرکانس پردازنده، سرعت ساعت، سرعت پردازنده، فرکانس کاری، Clock Speed که می‌شنویم همگی به معنی سرعتی است که ریز پردازنده یک دستورالعمل را اجرا می‌نماید. CPU برای اجرای هر دستورالعمل به تعداد مشخصی از علائم یا چرخه نیاز دارد. هرچه فرکانس پردازنده سرعت بیشتری داشته باشد، CPU سریع‌تر می‌تواند دستورالعمل‌ها را اجرا کند.

واحد سنجیدن سرعت پردازنده هرتز (Hertz) می‌باشد، بنابراین زمانی که می‌گوییم فرکانس پردازنده 1 مگاهرتز است یعنی یک‌میلیون چرخه در ثانیه یا زمانی که می‌گوییم 1 گیگاهرتز یعنی یک هزار میلیون چرخه در ثانیه، به‌طورکلی این واحد به این معنی است که یک پردازنده در هر ثانیه چند چرخه یا سیکل کاری را می‌تواند انجام دهد و هر چه این واحد بالاتر باشد کامپیوتر عملکرد بهتری خواهد داشت البته موارد دیگری مانند RAM، هارددیسک، مادربرد و تعداد هسته‌های پردازنده (مانند دو هسته یا چهار هسته‌ای) نیز می‌توانند سرعت کامپیوتر را بهبود بخشند.

نکته دیگری که در اینجا باید به آن اشاره‌کنیم این است که هر دستورالعملی که به پردازنده ارسال می‌شود ممکن است به 2، 3 و یا حتی 10 سیکل کاری تبدیل شود که به هر سیکل کاری اصطلاحاً کلاک (Clock) می‌گویند. با توجه به مثال‌های زده شده سرعت پردازنده معادل با 1 گیگاهرتز یعنی کلاک پردازنده یک هزار میلیون بار در یک ثانیه ضربه میزند.

سرعت پردازنده یا همان فرکانس پردازنده تعیین می‌کند که یک سی پی یو در یک ثانیه چه تعداد محاسبه می‌تواند انجام دهد، هرچه سرعت بیشتر باشد تعداد محاسبات بیشتری می‌تواند انجام شود، در نتیجه کامپیوتر سریع‌تر عمل می‌نماید. اگر یک پردازنده دو یا چهار هسته‌ای باشد، عملکرد کامپیوتر حتی اگر سرعت پردازنده یکسان باقی بماند می‌تواند افزایش یابد. یک پردازنده دو هسته‌ای 3.0 گیگاهرتزی قادر به انجام دو برابر تعداد محاسبات نسبت به یک پردازنده 3.10 گیگاهرتزی تک‌هسته‌ای است. پردازنده‌های رایانه بسته به نوع پردازنده می‌توانند یک یا چند دستورالعمل را در هر چرخه ساعت اجرا کنند.

 

سرعت فرکانس پردازنده


نانومتر چیست؟

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

 

لیتوگرافی چیست؟

لیتوگرافی (lithography) یک واژه یونانی به معنای سنگ‌نگاری است که در پردازنده به طراحی مدارات CPU و نحوه قرار دادن اجزاء CPU یا همان فرآیند تولید و شکل‌گیری مدارها و اجزاء CPU اشاره دارد که توسط دستگاه‌های مخصوص چاپ می‌شود. اینکه اجزای یک سی پی یو با چه فاصله‌ای در کنار هم باشند همه به لیتوگرافی بستگی دارد؛ اگر لیتوگرافی در یک پردازنده برابر با 14 نانومتر باشد به معنای این است که اجزای سازنده آن پردازنده بافاصله 14 نانومتر از هم قرار گرفته‌اند. 14 نانومتر فاصله بسیار ناچیزی است و معمولاً هر چه لیتوگرافی یک پردازنده کمتر باشد بهتر است.


شرکت اینتل (Intel) پرچم‌دار رقابت لیتوگرافی است و دیگر رقبای اینتل همچون AMD در زمینه لیتوگرافی از شرکت اینتل بسیار عقب‌تر هستند. در جدول زیر لیتوگرافی سی‌پی‌یوهای اینتل با معماری‌های مختلف را مشاهده خواهید کرد. این لیتوگرافی سی‌پی‌یوهای اینتل از سال ۲۰۰۸ به بعد می‌باشند:

 

سال تولید معماری به کار رفته لیتوگرافی                
2008 Nehalem چهل و پنج نانومتری
2011 Sandy Bridge سی و دو نانومتری
2012 lvy Bridge بیست و دو نانومتری
2013 Haswell بیست و دو نانومتری
2014 Broadwell چهارده نانومتری
2015 SKYLAKE چهارده نانومتری
2016   Kaby Lake چهارده نانومتری
2017 CannonLake ده نانومتری
2018 ICE Lake ده نانومتری
2019 TIGER Lake ده و هفت نانومتری


حافظه نهان Cache

حافظه نهان یا همان Cache بخشی از SRAM است که داده‌ها یا دستورالعمل‌هایی که اغلب برای پردازش مورداستفاده قرار می‌گیرند را نگهداری می‌کند و با همین کار باعث می‌شود کارایی پردازنده بیشتر شود؛ این حافظه سریع با نگهداری داده‌ها تأخیر زمانی بین پردازنده و حافظه رم را از بین می‌برد دیگر نیازی نیست پردازنده برای دسترسی به اطلاعات به سراغ DRAM برود و سرعتش کاهش یابد.

 

انواع حافظه کش

به دلیل افزایش اطلاعات موردنیاز پردازنده حافظه کش در سه الی چهار سطح در پردازنده مورداستفاده قرار می‌گیرد.


حافظه نهان سطح یک یا حافظه نهان L1 که حافظه کش اولیه یا داخلی نام دارد و نزدیک‌ترین حافظه به پردازنده می‌باشد؛ این حافظه سرعت‌بالا و حجم کمتری نسبت به دیگر سطوح حافظه کش دارد، حافظه کش L1 مهم‌ترین داده‌ها را که برای پردازش لازم است درون خود ذخیره می‌کند زیرا پردازنده هنگام انجام یک دستورالعمل به اولین جایی که مراجعه می‌کند حافظه کش سطح یک می‌باشد.


حافظه کش سطح دو یا حافظه کش L2 که به آن حافظه کش ثانویه یا خارجی می‌گویند نسبت به L1 سرعت کمتر و حجم بیشتری دارد و با توجه به ساختار پردازنده ممکن به‌صورت مشترک یا مخصوص استفاده شود. L2 برخلاف L1 در رایانه‌های قدیمی بر روی مادربرد قرار می‌گرفت ولی با ساخت پردازنده‌های جدید این حافظه بر روی خود تراشه پردازنده قرار می‌گیرد و چون نزدیک به CPU قرار دارد دارای تأخیر کمتری نسبت به حافظه کش L3 است.


حافظه کش L3 حافظه نهانی است که بر روی قالب CPU قرار داده‌شده است و بین تمام هسته‌های CPU مشترک است از لحاظ ظرفیت نسبت به حافظه کش L1 یا L2 حجم بیشتری دارد ولی از نظر سرعت کندتر است.


حافظه کش L4 هم مانند سطح قبلی خود نسبت به L1 یا L2 حجم بیشتر و سرعت کمتری دارد. هر دو سطح L3 یا L4 معمولاً به‌صورت اشتراکی مورداستفاده قرار می‌گیرند.

 

حافظه کش اشتراکی یا هوشمند چیست؟

در پردازنده‌هایی که قبلاً ساخته می‌شد اگر حافظه‌های کش سطح یک و دو جوابگوی نیاز پردازنده نبود، پردازنده‌ها به حافظه رم مراجعه می‌کردند؛ ولی با طراحی حافظه کش اشتراکی و هوشمند توسط شرکت اینتل این مشکل تا حد زیادی حل‌شده است. در پردازنده‌هایی که از تکنولوژی حافظه کش اشتراکی در ساخت آن‌ها استفاده‌شده است هر کدام از هسته‌های پردازنده به مقدار نیاز خود از حافظه کش استفاده می‌نمایند و اگر یک هسته نیاز به کش بیشتری داشته باشد و هسته‌های دیگر درگیر نبوده و بدون بار باشند آن هسته می‌تواند از تمام ظرفیت حافظه کش استفاده نماید.

 

هسته در پردازنده چیست؟

هسته مغز یک CPU است که دستورالعمل را دریافت و محاسبات و عملیات پردازش را بر روی آن انجام می‌دهد. هر سی پی یو می‌تواند چندین هسته داشته باشد و هر هسته قابلیت انجام عملیات جداگانه‌ای از سایر هسته‌ها را دارد همچنین چندین هسته می‌توانند هم‌زمان با هم کار کنند تا یک عملیات موازی روی یک مجموعه از داده‌ها در حافظه کش پردازنده انجام دهند. به یک پردازنده با دو هسته پردازنده دو هسته‌ای؛ با چهار هسته، چهار هسته‌ای؛ شش هسته، هسته hexa و هشت هسته، هشت هسته‌ای می‌گویند. از سال 2019، اکثر CPU های ساخته‌شده بین دو تا دوازده هسته دارند و CPU های ایستگاه‌های کاری و سرور ممکن است حداکثر تا 48 هسته داشته باشند.

 

رشته‌های پردازشی (Threads) چیست؟

Thread به یک‌رشته از دستورالعمل‌هایی گفته می‌شود که برای پردازش به پردازنده ارسال می‌شوند این در صورتی است که هر پردازنده در حالت عادی قابلیت پردازش یک دستورالعمل را دارد که به آن Main می‌گویند. در این حالت اگر دو دستورالعمل به پردازنده ارسال شود دستورالعمل 2 باید منتظر بماند تا دستورالعمل 1 اجرا شود و پس از آن نوبت دستورالعمل 2 شود که این روند کاری باعث کند شدن سرعت و کارایی پردازنده می‌شود؛ اما تراشه‌سازان با به کار بردن شیوه‌های جدید در ساخت پردازنده هر هسته فیزیکی پردازنده را به دو هسته‌ی مجازی (Thread) تقسیم‌بندی می‌کنند که هر یک از این هسته‌ها امکان اجرای یک‌رشته پردازش مجزا را دارد و این بدین معنی است که هر هسته با داشتن دو ترد، دو رشته‌ی پردازشی را به‌طور هم‌زمان می‌تواند اجرا نماید. AMD این تکنیک را در پردازنده‌های خود Simultaneous Threading یا به اختصار SMT نام‌گذاری کرده و اینتل هم هایپرتردینگ (Hyper Threading) را بر روی این تکنولوژی گذاشته است؛ یعنی اگر پردازنده ۲ هسته‌ای باشد، این دو هسته هر کدام به ۲ هسته مجازی تقسیم می‌شوند که هر یک از آن‌ها می‌توانند یک دستورالعمل را به‌صورت مجزا اجرا کنند، یعنی ما با دو هسته واقعی به‌طور هم‌زمان ۴ دستور اجرا می‌کنیم. اجرای Threading بیشتر باعث بهبود روند مالتی تسکینگ می‌شود و عملیاتی نظیر ویرایش ویدئو که تمام پردازنده را درگیر خود می‌نماید، با پردازش چند رشته‌ای هم‌زمان بسیار روان‌تر اجرا می‌شوند.


نظرات کاربران
  • ثمین4/30/2020 10:17:37 PM
    ممنون از مقاله که نوشتید میشه بگیدبازم هم ادامه داره؟
    • پاسخ
      مدیریت5/2/2020 7:02:51 PM
      سلام
      تشکر،بله ادامه داره و مقالات بصورت کامل آماده میشه و در سایت بارگذاری می شود.
  • مقالات
    doorbinstore12/6/2019 10:11:24 PM
    ممنون بابت مقاله خوبتون
ارسال نظر
کالاهای گروه

با عضو شدن در کالکتر نیوز از آخرین اخبار سایت با خبر شوید