پردازنده 80486DX2 ساخت شرکت اینتل
واحد پردازش مرکزی[۱] (به انگلیسی: Central Processing Unit) یا پردازنده مرکزی (به انگلیسی: Central Processor)، که با نام CPU شناخته میشود، یک مدار الکترونیکی در رایانهها است که وظیفه اجرای مجموعه دستورالعملهای (Instructions Set) یک برنامه رایانهی را از طریق چهار عمل اصلی، منطق و عمل ورودی/خروجی بر عهده دارد.[۲] واحد پردازش مرکزی که از آن با عنوان مغز رایانه یاد میشود، مهمترین پردازشگر رایانه است.
یکی از اجزای اصلی پردازنده مرکزی، واحد محاسبه و منطق (ALU) است که وظیفه اجرای اعمال محاسباتی و اعمال منطقی را بر عهده دارد. واحد ALU همچنین شامل ثبّاتها (Registers) است که وظیفه تغذیه عملوندها به ALU و ذخیره نتایج عملکرد آن را بر عهده دارند. واحد ALU همچنین شامل یک واحد کنترلی است که وظیفه تنظیم واکِشی (Fetching) و اجرای دستورالعملها (از داخل مموری) را از طریق هدایت هماهنگ به ALU، رجیستر ها و سایر اجزا بر عهده دارد.[۲]
اکثر پردازندههای جدید ریزپردازنده ای هستند، که در آن پردازنده بر روی یک مدار مجتمع (IC) تنهای ساخته شده از نیمه رسانای-فلز-اکسید قرار داده میشود. یک IC علاوه بر پردازنده ممکن است شامل حافظه، رابطهای جانبی و دیگر اجزای رایانه باشد؛ این چنین تجهیزات مجتمعی را معمولاً میکروکنترلر یا SoC (سیستم روی یک تراشه) میخوانند. در بعضی رایانهها از پردازندههای چندهستهای استفاده میشود. این پردازندهها شامل یک مدار مجتمع هستند که شامل دو یا چند "هسته" یا "core" میباشند.
آرایهپردازها یا پردازندههای برداری دارای پردازندههای چندگانه هستند که به صورت موازی با هم کار میکنند، و در آن هیچ واحدی مرکزی در نظر گرفته نمیشود.
شکل ظاهری، طراحی و نحوه بهکارگیری پردازندهها در طول دوره تاریخ شکلگیری آنها تغییر کردهاست ولی عملکرد پایه ای آنها بدون تغییر باقی ماندهاست.
مدت زمان انجام یک کار بهوسیله رایانه، به عوامل متعددی بستگی دارد که مهمترین آنها، سرعت پردازنده است. سرعت پردازنده معمولاً بر حسب مگاهرتز یا گیگاهرتز سنجیده میشود. هر چه مقدار این پارامتر بیشتر باشد، پردازنده سریعتر خواهد بود و در نتیجه قادر خواهد بود، محاسبههای بیشتری را در هر ثانیه انجام دهد.
پردازنده ها در همه نوع دستگاههایی از رایانه تا لپتاپ، گوشیهای هوشمند، تبلت، و تلویزیونهای هوشمند حضور دارند.
تاریخچه[ویرایش]
EDVAC یکی از اولین رایانههایی بود که قابلیت ذخیره برنامه داشت.
رایانههای اولیه برای انجام پردازشهای بسیار ساده متکی به کارتهای پانج و لامپهای خلأ بودند ولی حالا به لطف پردازندههایی که از میلیاردها ترانزیستور بهره میبرند، با سرعت زیادی میتوانند در هر ثانیه میلیاردها پردازش را انجام دهند. در رایانههای اولیه مانند انیاک برای تغییر وظایف رایانه نیاز بود که سیم کشی تغییر داده شود، به همین دلیل به آنها «رایانههای برنامه-ثابت» میگفتند.[۳] از آنجایی که پردازنده معمولاً به عنوان وسیله ای که وظیفه اجرای برنامهها را دارد، شناخته میشود، اولین وسایلی را که بتوان واقعاً پردازنده خواند با اختراع رایانههای دارای قابلیت ذخیره برنامه ساخته شدند.
پردازندههای اولیه به عنوان یک بخش از سامانهای بزرگتر که معمولاً یک نوع رایانهاست، دارای طراحی سفارشی بودند. این روش گرانقیمت طراحی سفارشی پردازندهها برای یک بخش خاص، به شکل قابل توجهی، مسیر تولید انبوه آن را که برای اهداف زیادی قابل استفاده بود فراهم نمود. این استانداردسازی روند قابل ملاحظهای را در عصر مجزای ابر رایانههای ترانزیستوری و ریز رایانهها آغاز نمود و راه عمومی نمودن مدارات مجتمع (IC یا Integrated Circuit) را سرعت فراوانی بخشید.
یک مدار مجتمع، امکان افزایش پیچیدگیها برای طراحی پردازندهها و ساختن آنها در مقیاس کوچک را (در حد میلیمتر) امکانپذیر میسازد. هر دو فرایند (کوچکسازی و استانداردسازی پردازندهها)، حضور این تجهیزات رقمی را در زندگی مدرن گسترش داد و آن را به فراتر از یک دستگاه خاص مانند رایانه تبدیل کرد. ریزپردازندههای جدید را در هر چیزی از خودروها گرفته تا تلفنهای همراه و حتی اسباب بازیهای کودکان میتوان یافت.
روی هم رفته ساختار زیربنایی یک پردازنده که ترانزیستورها روی آن قرار میگیرند، از جنس سیلیکون است. سیلیکون یک فلز نیمههادی محسوب میشود زیرا نه جریان را به طور کامل عبور میدهد و نه عایق جریان است.
پردازندههای ترانزیستوری[ویرایش]
پردازنده و حافظه مغناطیسی و رابط BUS رایانه DEC PDP-8/I که از مدارهای الکتریکی سایز متوسط ساخته شدهاند.
پیچیدگی طراحی پردازندهها همزمان با افزایش سریع فناوریهای متنوع که ساختارهای کوچکتر و قابل اطمینان تری را در وسایل الکترونیک باعث میشد، افزایش یافت. اولین موفقیت با ظهور اولین ترانزیستورها حاصل شد. پردازندههای ترانزیستوری در طول دهههای ۵۰ و ۶۰ میلادی دیگر مجبور نبودند از عناصر سوئیچینگ حجیم، غیرقابل اعتماد و شکننده مانند لامپهای خلأ و رلههای الکتریکی در ساختار خود استفاده کنند. پردازنده ها هر چند دارای ابعاد فیزیکی بسیار کوچکی هستند ولی از ابتدایی ترین آنها که از ۲۹۰۰۰ ترانزیستور تا انواع پیشرفته آنها که 7/5 میلیون ترانزیستور می باشد. همچنین ابعاد فیزیکی آنها بسیار محدود و در حد ۲ تا ۳ اینچ می باشد. پردازنده ها چیپ ست های مربعی شکل هستند که روی مادربرد قرار می گیرند و با بقیه ی سخت افزارها در تعامل کامل هستند تا بتوانند دستورات را به درستی انجام دهند. ترانزیستورها نوعی سوئیچ هستند که با اعمال یا قطع ولتاژ خاموش و روشن میشوند و بدین ترتیب حالات صفر و یک منطقی مربوط به زبان ماشین را بیان میکنند. از آنجایی که میلیاردهای ترانزیستور در پردازنده وجود دارد، آنها میتوانند وظایف پیچیده را با سرعت زیادی انجام دهند.
با چنین پیشرفتی پردازندههایی با پیچیدگی و قابلیت اعتماد بیشتری بر روی یک یا چندین برد مدار چاپ شده که شامل قسمتهای تفکیک شده بودند ساخته شدند.
پردازندههای تجمیع اندازه-کوچک[ویرایش]
در این دوره روشی برای ساخت و تجمیع تعداد زیادی ترانزیستور در یک فضای کوچک ساخته شد. مدار مجتمع (IC) این قابلیت را فراهم ساخت تا بتوان تعداد زیادی ترانزیستور را بر روی یک دای از جنس نیمه رسانا، یا «چیپ» جانمایی کرد. در ابتدا مهندسان فقط قادر بودند تعداد کمی از مدارهای ساده دیجیتال مانند NOR Gateها را بر روی ICها کوچک نمایی و جانمایی کنند.[۴] پردازندههایی که طبق این ICها ساخته شدند را معمولاً «پردازندهای تجمیع اندازه-کوچک» مینامند.
پردازندههای تجمیع اندازه-بزرگ[ویرایش]
ماسفت (MOSFET) که "ترانزیستور MOS" نیز خوانده میشود، در سال ۱۹۵۹ ساخته و در ۱۹۶۰ معرفی شد.[۵] این اختراع منجر به ساخت مدار مجتمع MOS شد.[۶] به دلیل قابلیت کوچکسازی بالا[۷] و مصرف انرژی خیلی پایینتر و چگالی خیلی بالاتر آن نسبت به ترانزیستورهای پیوند دوقطبی[۸] ماسفت ساخت مدارهای مجتمع تراکم-بالا را فراهم کرد.[۹][۱۰]
ریزپردازندهها[ویرایش]
پیدایش ریز پردازندهها در سال ۱۹۷۰ بهطور قابل توجهی در طراحی و پیادهسازی پردازندهها تأثیرگذار بود. از زمان ابداع اولین ریزپردازنده یعنی اینتل ۴۰۰۴ در سال ۱۹۷۱ و اولین بهرهبرداری گسترده از ریزپردازنده اینتل ۸۰۸۰ در سال ۱۹۷۴، این روند رو به رشد ریزپردازندهها از دیگر روشهای پیادهسازی واحدهای پردازش مرکزی پیشی گرفت، کارخانهها تولید ابر رایانهها و رایانههای شخصی در آن زمان اقدام به تولید مدارها مجتمع با برنامهریزی پیشرفته نمودند تا بتوانند معماری قدیمی رایانههای خود را ارتقا دهند و در نهایت ریز پردازندهای سازگار با مجموعه دستورالعملها ی خود تولید کردند که با سختافزار و نرمافزارهای قدیمی نیز سازگار بودند. با دستیابی به چنین موفقیت بزرگی امروزه در تمامی رایانههای شخصی پردازندها منحصراً از ریز پردازندهها استفاده میکنند.
در سیستمهای بزرگ مانند سرورها ممکن است چندین پردازنده استفاده شود اما در رایانههای شخصی معمولاً فقط یک ساکت (Socket) برای پردازنده بر روی برد اصلی وجود دارد.
سیستم هایی که دارای چندین پردازنده هستند، امروزه در بین رایانه های شخصی خانگی رایج نیست. حتی یک دسکتاپ بازی پرقدرت با کارت های گرافیکی متعدد، معمولا تنها یک پردازنده خواهد داشت.
پردازندههای چندهستهای[ویرایش]
ابتدا پردازنده ها فقط یک هسته داشتند و این به آن معناست که آن ها فقط می توانستند مجموعه ای از تسک ها را انجام دهند. این محدودیت پردازنده باعث شد تا سازندگان به فکر راهی برای بهبود عملکر و کارایی آن ها بیفتند و این موضوع به خلق پردازندههای چند هسته ای (Multi-core processor) منجر شد. پردازنده دو هستهای (Dual core) رایج ترین نوع پردازنده ها در رایانههای خانگی هستند.
از اجزای رایانشی و محاسباتی است که دو یا چند پردازنده مستقل واقعی (به نام «هسته») دارد، که واحدهایی برای خواندن و اجرای دستورالعملهای برنامه هستند. این دستورالعملها عموماً دستورالعملهای معمولی پردازنده از قبیل اضافه کردن، انتقال دادهها، و انشعاب هستند، اما هستههای متعدد میتوانند در همان زمان دستورالعملهای بیشتری را اجرا کنند که موجب افزایش سرعت کلی برای برنامههای تابع رایانش موازی میشود. به بیان ساده اگر تعداد هسته های بیشتر شود پردازنده ها قادر هستند تا مجموعه عملیات (ریسمان) هم زمان را انجام دهند و همین باعث افزایش عملکرد سیستم و کاهش زمان پردازش می شود و در نتیجه سرعت بالاتر می رود. هسته مهمترین اولیت در سرعت پردازندهها نیست. پردازنده های اینتل نسبت به پردازندههای ایامدی دارای تعداد هسته کمتری هستند اما فرکانس و چندریسمانی بالایی دارند.
هسته و فرکانس[ویرایش]
همیشه تعداد هسته ی بالاتر به معنای سریع تر بودن پردازنده نیست، زیرا مهمترین مؤلفه مطرح شده برای سرعت پردازنده، فرکانس کلاک پردازنده است. افزایش تعداد هسته های پردازنده، همیشه دلیل بر افزایش سرعت پردازش هسته نمی باشد چراکه هنوز هم چیپ هایی هستند که تعداد هسته ی بالایی دارند ولی از روش عملکرد پردازش موازی استفاده نمیکنند. سرعت پردازنده نشانگر تعداد عملی است که یک هسته میتواند در هر ثانیه انجام دهد.
واحد اندازهگیری فرکانس پردازنده، گیگاهرتز است که با علامت GHz نشان داده می شود. پسوند گیگا در زبان انگلیسی به معنی میلیارد است.[۱۱] فرکانس پردازندهها با فرکانس پایه یا بیس کلاک (Base clock) شناخته میشود. پردازندههای جدید شرکتهای اینتل و ایامدی تا 4GHz فرکانس ساخته شده اند.
چندریسمانی[ویرایش]
توانایی یک برنامه در تقسیم شدن به چند ریسه (زیربرنامه) است که میتوانند جداگانه و در عین حال همزمان توسط رایانه اجرا شوند. وانمود می کند هسته های بیشتری نسبت به آنچه در خود دارد، موجود است و از منطق خاص خود برای سرعت بخشیدن به اجرای برنامه استفاده می کند. یک رایانه چندپرداز میتواند همزمان دو یا چند ریسمان را اجرا کند که به معنی اجرای زودتر کل برنامه نسبت به رایانه تکپرداز است. بر روی یک رایانه تکپردازنده یک برنامه چند ریسمانی زودتر اجرا نمیشود اما یک نرمافزار کاربردی چندریسمانی ممکن است با کاربر اندرکنش بیشتری داشته باشد زیرا چندین فعالیت در نرمافزار همزمان اجرا میشوند. پردازنده های اصلی مصرف کننده با رشتههای بیش از حد تنها یک هسته واحد داشتند که به عنوان چند هسته از آن روبرو هستند، اما پردازنده های مدرن اینتل هم دارای هسته های چندگانه هستند و هم فناوری هایپر-تردینگ دارند.
فراریسمانی[ویرایش]
فراریسمانی یک فناوری اختصاصی شرکت اینتل است که برای بهبود «رایانش موازی یا پردازش موازی» (انجام چند دستورالعمل بهطور همزمان) در پردازنده به کار رفتهاست.
پردازنده منطقی[ویرایش]
پردازنده منطقی (Logical processor) یا پردازنده مجازی، پردازنده ساختگی است که در فرآیند چند ریسمانی به سیستم عامل معرفی می کند. در کنار نام و مشخصات هر پردازنده تعداد پردازندههای منطقی مربوط نوشته میشود.[۱۲]
سازوکار[ویرایش]
کارکرد اساسی اکثر ریزپردازندهها، فارغ از شکل فیزیکی آنها، اجرای ترتیبی دستورالعملهایی است که برنامه نامیده میشود. بحث در این مقوله نتیجه پیروی از قانون رایج نیومن را به همراه خواهد داشت. برنامه توسط یک سری از اعداد که در بخشی از حافظه ذخیره شدهاند نمایش داده میشود. چهار مرحله که تقریباً تمامی ریزپردازندههایی که از قانون فون نیومن در ساختارشان استفاده میکنند از آن پیروی میکنند عبارتاند از: واکِشی، دی کد یا رمزگشایی، اجرا و بازگشت برای نوشتن مجدد.
در طراحی یک پردازنده یک لیست از عملیات بنام مجموعهٔ دستوری به صورت ذاتی وجود دارد که پردازنده آنها را انجام میدهد. چنین عملیاتی ممکن است شامل جمع یا تفریق کردن دو عدد، مقایسهٔ اعداد یا پرش به بخشی دیگر از یک برنامه باشد. هرکدام از این عملیات پایهای توسط توالی خاصی از بیتها نمایش داده میشود که این توالی برای چنین عملیات خاصی، Operation Code یا به صورت خلاصه اپکد (Opcode) نام دارد. فرستادن یک اپکد خاص به یک پردازنده باعث میشود تا پردازنده عملی را که توسط اپکد مذکور نمایش داده میشود انجام دهد. برای اجرای یک دستور در یک برنامهٔ رایانهی، پردازنده از اپکد دستور مذکور و نیز نشانوندهای آن (برای مثال، در مورد یک عمل جمع، دو عددی که قرار است با هم جمع شوند) استفاده میکند.
عمل ریاضی واقعی برای هر دستور توسط یک زیرواحد از پردازنده به نام واحد محاسبه و منطق (ALU) انجام میگیرد. یک پردازنده علاوه بر اینکه از ALU خودش برای انجام اعمال استفاده میکند، اعمال دیگری نظیر: خواندن دستور بعدی از حافظه، خواندن اطلاعات مشخص شده به صورت نشانوند از حافظه و نوشتن یافتههای حاصل در حافظه را نیز به عهده دارد.
در بسیاری از طراحیهای پردازنده، یک مجموعهٔ دستوری مشخصا بین اعمالی که اطلاعات را از حافظه بارگیری میکنند و اعمال ریاضی افتراق میدهد. در این مورد اطلاعات بارگیری شده از حافظه در رجیستر ها ذخیره میشود و یک عمل ریاضیاتی هیچ گونه نشانوندی نمیگیرد بلکه به سادگی عمل محاسباتی مذکور را روی اطلاعات موجود در رجیستر ها انجام داده و آن را در یک رجیستر جدید مینویسد.
سازوکار پردازش در واحد پردازش مرکزی اجرای مجموعه دستورالعمل در چرخه دستورالعمل توسط واحدهای کنترل، محاسبه و منطق و ثبات است که به چهار چرخه تقسیم میشود:
هر دستور تنها بخش کوچکی از یک عملیات است. بنابراین، سیپییو نیازمند این است که بداند دستورالعمل بعدی چیست. نشانی دستور فعلی توسط یک شمارنده برنامه و سپس خود دستور توسط ثبات دستورالعمل نگه داشته میشود. پردازنده فقط یک دستور که از شمارنده برنامه ارسال شده را پردازش میکند. پس از اتمام این سه مرحله، درصورتی که دستور دیگری در صف پردازش وجود داشته باشد، توسط شمارنده برنامه به پردازنده داده میشود و مراحل از اول شروع میشوند تا زمانی که تمامی دستورات پردازش شوند.
پردازندهها جریان متناوبی از دادهها را دریافت نمیکنند؛ بلکه آنها دادهها را در بستههای کوچکی که کلمه نامیده میشود میگیرند.
طبق قانون مور تعداد ترانزیستورهای روی هر تراشه هر سال دو برابر مقدار قبلی خواهد بود و با تداوم این قانون به تدریج رایانهها توانایی پشتیبانی از بیش از ۴ گیگابایت رم را یافتند.
واکِشی[ویرایش]
اولین مرحله که واکِشی یا Fetch نام دارد، شامل بدست آوردن یک دستورالعمل (Instruction) از حافظه برنامه است که به صورت عدد یا مجموعه مرتبی از اعداد میباشد. این دستورالعمل به صورت یک سری از اعداد است و از رم به پردازنده ارسال شده و در ثبات ذخیره میشود.
رمزگشایی[ویرایش]
دومین مرحله که رمزگشایی یا Decode نام دارد، واحد کنترل دستوراتی پردازنده این دستور را به مداری به نام رمزگشا (Decoder) فرستاده و به آپکد تبدیل میکند و نتایج این عمل در ثبات پردازنده نوشته می شود تا در دستورت بعدی بتوان به آن مراجعه کرد و از آن استفاده کرد. در مرحله دی کد یا رمزگشایی که توسط مداری که instruction decoder یا رمزگشای دستورالعمل نام دارد، دستورالعمل به سیگنالهایی تغییر داده میشود که سایر قسمتهای پردازنده را کنترل میکند. کدهای پردازشی زبان قابل درک ماشین و سخت افزارها هستند. نوشتن برنامهها به زبان باینری بسیار سخت است به همین خاطر زبانهای برنامه نویسی سطح بالایی وجود دارد که نوشتن برنامه را آسانتر میکند.
به همین دلیل واحدی به نام اسمبلر (تبدیل کننده به اسمبلی) وجود دارد که ابتدا دستورات را به زبان سطح پایین اسمبلی (Assembly) تبدیل کرده سپس واحد دیگری این دستورات اسمبلی را به کدهای OP تبدیل میکند. حال این دستورات که به صورت کدهای OP در آمده اند، آماده پردازش در واحد پردازنده پردازنده هستند. واحدی که بر عملیات رمزگشایی دستورالعمل ها نظارت دارد واحد کنترل می باشد.
اجرا[ویرایش]
سومین مرحله که اجرا یا Execute نام دارد، واحد محاسبه و منطق دستوراتی را که رمزگشایی شدهاند را اجرا میکند. بسته به نوع پردازنده این عمل میتواند یک عمل تنها یا مجموعه ای مرتب از اعمال مختلف باشد. در اغلب موارد، پردازنده این مقدار خروجی را که از مرحله اجرا و پردازش بدست آورده است را در ثبات (Register) خود ذخیره میکند.
گذرگاهها[ویرایش]
پردازنده برای تعامل با رم و کارت گرافیک می بایست از سه گذرگاه استفاده کند.
- گذرگاه کنترل
- گذرگاه سامانه
- گذرگاه آدرسدهی
طراحی پردازنده[ویرایش]
دیاگرام بلوکی عملکرد یک رایانه با یک واحد پردازش مرکزی تنها
واحد کنترل[ویرایش]
واحد کنترل یا CU قسمتی از پردازنده است که مسیر عملکرد پردازنده را تعیین میکند. این واحد تعیین میکند که قسمتهای مختلف رایانه از قبیل حافظه، ALU و ورودی/خروجیها چگونه به یک دستورالعمل که به پردازنده فرستاده شدهاست پاسخ دهند.
نمایش نمادین واحد ALU یا منطق و محاسبه و سیگنالهای ورودی و خروجی آن
واحد محاسبه و منطق[ویرایش]
واحد محاسبه و منطق یا ALU یک مدار دیجیتال داخل پردازنده است که حساب عملیات بیتی را انجام میدهد.
ثبات پردازنده[ویرایش]
نوشتار اصلی: ثبات پردازنده
یک محل است که برای پردازنده یک رایانه به سرعت قابل دستیابی است. ثباتها معمولاً شامل مقدار اندکی حافظهی سریع هستند، اگرچه بعضی از ثباتها عملیات سختافزاری خاصی دارند، و میتوانند فقطخواندنی یا فقطنوشتنی باشند. ثبات یک مکان بسیار کوچک در پردازنده است که وظیفه نگهداری داده ها را به صورت موقت در خود دارد. ثبات برای ذخیره سازی اطلاعاتی نظیر دستورالعمل ها، آدرس های حافظه و هر داده ای نظیر bit sequence ( توالی بیت ها ) و یا کاراکتر ها و ... مورد استفاده قرار میگیرد. رجیستر یا ثبات پردازنده باید به اندازه کافی بزرگ باشد تا بتواند اطلاعاتی را که به آن تحویل داده میشود در خود نگه دارد.
پردازنده های با معماری ۶۴ بیتی دارای ثبات هایی با ظرفیت ۶۴ بیت هستند و پردازنده های با معماری ۳۲ بیتی دارای ثبات هایی با ظرفیت ۳۲ بیت هستند. پردازندههای ۶۴ بیتی میتوانند مقدار زیادی از حافظه را آدرس دهی کنند و بازده و سرعت بسیار بالایی دارند.
اجزا[ویرایش]
واحد تولید آدرس[ویرایش]
واحد آدرس سازی یا AGU که گاهی «واحد محاسبه آدرس» یا ACU نیز خوانده میشود، یک واحد عملکردی در داخل پردازندها ست که آدرسهایی را که پردازنده برای دسترسی به حافظه اصلی استفاده کردهاست، محاسبه میکند.
واحد مدیریت حافظه[ویرایش]
اکثر ریزپردازندههای جدید دارای واحدی به نام واحد مدیریت حافظه یا MMU هستند که آدرسهای منطقی را به آدرسهای RAM فیزیکی ترجمه میکنند.
پریز واحد پردازش مرکزی[ویرایش]
یا سوکت، عنوان مکان جایگیری و نشیمنگاه واحد پردازش مرکزی در مبحث سختافزار رایانهای است. زیر پردازنده صدها پین وجود دارد که با قرارگیری در محل مناسب روی سوکت ارتباط پردازنده و مادربرد را میسر میسازد. پریز شامل یک یا چند بخش مکانیکی میان ریزپردازنده و برد مدار چاپی و جنس آن از پلاستیک است و به واسطهی پین هایی که در داخل آن قرار دارد با پردازنده مرتبط می شود. انواع پریزها: AM2 ،SP3 ،BGA ،PGA ،LGA، sTRX4 و ZIF
معمولا تعداد خارهای پردازشگر را بعداز نوع پریز آن می نویسند. LGA775
فن[ویرایش]
شامل انواع مختلف فن میباشد که شامل فنهای داخل کیس رایانه یا خارج از آن نصب شده و وظیفه خنک کردن سیستم با هوا را بر عهده دارد. ممکن است به عنوان واردکننده هوای خنک به داخل کیس یا خارجکننده هوای گرم از داخل کیس یا خنککننده هیت سینک استفاده شود.
پخشکننده گرمایی[ویرایش]
یک مبدل گرمایی که میان سطح جسم گرم و مبدل گرمایی اصلی قرار میگیرد که از جنس بهتر و ابعاد مناسب تری نسبت سطح جسم اولیه تشکیل میشود که معمولاً صفحه ساده ای از جنس فلز مس یا آلومینیوم یا فلزاتی با رسانندگی گرمایی بالا ساخته میشوند.معمولاً زمانی از پخشکننده گرمایی استفاده میشود که مبدل گرمایی اصلی نتواند به خوبی گرما را منتقل کند و استفاده از پخشکننده راندمان را افزایش دهد.
گریس گرمایی[ویرایش]
گریس گرمایی یا خمیر سیلیکون یک نوع چسب رسانای گرمایی از جنس پلیمر بوده که معمولاً میان گرما بر و قطعه گرم قرار میگیرد و دو قطعه را به هم میچسباند و شکافهای نانومتری هوای میان گرمابر (هیتسینک یا انبار حرارتی) و قطعه را کاهش داده که سبب افزایش انتقال گرما و خنک کاری بهتر قطعه نیز میگردد.
توان طراحی گرمایی[ویرایش]
به حداکثر مقدار توانی که سیستم خنککننده باید در رایانه پراکنده کند، اشاره دارد. به عنوان مثال، یک سیستم خنککننده لپتاپ ممکن است برای یک تیدیپی با مقدار ۲۰ وات طراحی شده باشد، به این معنی که سیستم خنککننده میتواند بیشتر از گرمایی که از ۲۰ وات برای یک پردازنده به وجود میآید را پراکنده کند که این عمل را بوسیله روشهای خنککننده از جمله بادبزن (فن) انجام دهد. هر چه پردازنده با ولتاژ کمتری کار کند توان مصرفی آن کمتر شده و در نتیجه پردازنده کمتر داغ می شود.
توربو بوست[ویرایش]
ابلیتی در پردازندههای شرکت اینتل است که به صورت پویا سرعت پردازنده را تغییر میدهد؛ این افزایش سرعت در مواقع نیاز و به درخواست سیستمعامل رخ میدهد تا پردازنده بتواند در هنگام بیکاری و انجام کارهای سبکتر انرژی کمتری مصرف کند.
دستورات در هر چرخه[ویرایش]
دستورات در هر چرخه یا (instructions per cycle (IPC، میانگین تعداد دستورالعملهای اجراپذیر در هستههای پردازنده در هر سیکل کلاک است. محاسبهی IPC در یک ماشین کار نسبتا پیچیدهای است. برای انجام این کار مجموعهای بهخصوص از کدها برای اجرا به ماشین داده میشود و تعداد دستورالعملهای سطح ماشین برای تکمیل اجرای آن کدها محاسبه میشود.[۱۳]
ماژول تنظیم ولتاژ[ویرایش]
یک مبدل باک است که ولتاژ مناسب برای ریزپردازنده را تنظیم میکند.
حافظه نهان سیپییو[ویرایش]
حافظه نهان پردازنده یک حافظه نهان سختافزاری است که توسط پردازنده استفاده میشود تا هزینه متوسط دسترسی به داده (یعنی زمان و انرژی) از حافظه اصلی کاهش یابد. بدین منظور استفاده میشود که برنامه ها و دستورالعمل هایی که به تعداد زیادی در رایانه استفاده میشود را در خود ذخیره کند. پردازنده برای به دست آوردن داده، ابتدا حافظه نهان را چک میکند و پس از نیافتن اطلاعات، به سراغ حافظه های دیگر از جمله رم می رود. حافظه نهان میتواند دارای چند سطح (Level) باشد که با حرف L در مشخصات پردازنده نوشته میشود. معمولاً پردازندهها تا ۳ لایه حافظه نهان دارند که لایه اول (L1) نسبت به دوم (L2) و دوم نیز نسبت به سوم (L3) دارای سرعت بیشتر و حافظه کمتری است. زمانیکه پردازنده میخواهد داده ای را مورد پردازش قرار دهد ابتدا به نزدیک ترین حافظه سطح حافظه نهان خود نگاه میکند تا در صورت موجود بودن آن دستورالعمل را پردازش کند. سطح ۱ نزدیک ترین سطح به پردازنده است. بدین ترتیب اگر داده ها در نزدیک ترین سطح حافظه پنهان پردازنده یافت شد آن مورد پردازش قرار میگیرد و اگر پیدا نشد به ترتیب به سطح های بعدی می رود و در نهایت اگر پیدا نشد به حافظه اصلی رجوع میکند. کش سطح ۳ بین تمام هستهها به اشتراک گذاشته میشود و به همین خاطر ظرفیت بیشتری دارد.
سرعت ریز پردازنده[ویرایش]
اکثر پردازندهها و در حقیقت اکثر دستگاههایی که با منطق پالسی و تناوبی کار میکنند به صورت طبیعی باید سنکرون یا همزمان باشند. این بدان معناست که آنها به منظور همزمانسازی سیگنالها طراحی و ساخته شدهاند. این سیگنالها به عنوان سیگنال ساعت (پالس ساعت) شناخته میشوند و معمولاً به صورت یک موج مربعی پریودیک (متناوب) میباشند. برای محاسبه بیشترین زمانی که سیگنال قادر به حرکت از قسمتهای مختلف مداری پردازندهاست، طراحان یک دوره تناوب مناسب برای پالس ساعت انتخاب میکنند.
این دوره تناوب باید از مقدار زمانی که برای حرکت سیگنال یا انتشار سیگنال در بدترین شرایط ممکن صرف میشود بیشتر باشد. برای تنظیم دوره تناوب باید پردازندهها باید مطابق حساسیت به لبههای پایین رونده یا بالا رونده حرکت سیگنال در بدترین شرایط تأخیر طراحی و ساخته شوند. در واقع این حالت هم از چشمانداز طراحی و هم از نظر میزان اجزای تشکیل دهنده یک مزیت ویژه در سادهسازی پردازندهها محسوب میشود. اگرچه معایبی نیز دارد، از جمله اینکه پردازنده باید منتظر المانهای کندتر بماند، حتی اگر قسمتهایی از آن سریع عمل کنند. این محدودیت به مقدار زیادی توسط روشهای گوناگون افزایش قدرت موازیسازی (انجام کارها به صورت همزمان) پردازندهها قابل جبران است. پالس ساعت شامل یک لبه بالا روند و یک لبه پایین رونده است که این تغییر حالت با تغییر ولتاژ صورت میپذیرد.
اورکلاک[ویرایش]
نوشتار اصلی: اورکلاک کردن
بالا بردن میزان نرخ زمانی کلاک و که سبب تولید هشریت (میزان محاسبه اطلاعات توسط پردازنده در واحد زمان است)، بیشتر در واحد زمان و انجام سریع تری محاسبه در بازه زمانی میشود. پردازندههای آنلاک را میتوان اورکلاک کرد و مزیت اورکلاک، انجام سریع تر پردازش و رندرهای سنگین توسط پردازنده است. مضرات اورکلاک بالا رفتن دمای پردازنده برای محاسبه و در نتیجه استفاده مداوم سبب پایین آمدن عمر پردازش گر میشود.[۱۴] عمل Overclocking نیازمند دانش کافی در زمینه سخت افزار میباشد و هرگونه اقدام نادرست، آسیبهای جبران ناپذیری به پردازنده ها وارد میکند. تنها پردازندههایی اورکلاک میشوند که قابلیت اورکلاک شدن را در پسوند خود داشته باشند.
دامنه عدد صحیح[ویرایش]
دامنه عدد صحیح (Integer range) روشی که یک پردازنده از طریق آن اعداد را نمایش میدهد یک روش انتخابی در طراحی است که البته در بسیاری از راههای اصولی اثرگذار است. در برخی از رایانههای دیجیتالی اخیر از یک مدل الکترونیکی بر پایه سیستم شمارش دسیمال (مبنای ده) برای نمایش اعداد استفاده شدهاست. برخی دیگر از رایانهها از یک سیستم نامتعارف شمارشی مانند سیستم سه تایی (مبنای سه) استفاده میکنند. در حال حاضر تمامی پردازندههای پیشرفته اعداد را به صورت دودویی (مبنای دو) نمایش میدهند که در آن هر عدد به وسیله چندین کمیت فیزیکی دو ارزشی مانند ولتاژ بالا و پایین نمایش داده میشوند. علت نمایش دهی از طریق اعداد حجم کم و دقت بالا در اعدادی است که پردازشگر میتواند نمایش دهد. در حالت دودویی پردازندهها، یک بیت به یک مکان مشخص در پردازنده اطلاق میشود که پردازنده با آن به صورت مستقیم در ارتباط است. ارزش بیت (مکانهای شمارشی) یک پردازنده که برای نمایش اعداد بکار برده میشود «بزرگی کلمه»، «پهنای بیت»، «پهنای گذرگاه اطلاعات» یا «رقم صحیح» نامیده میشود؛ که البته این اعداد گاهی در بین بخشهای مختلف پردازندههای کاملاً یکسان نیز متفاوت است. برای مثال یک پردازنده ۸ بیتی به محدودهای از اعداد دسترسی دارد که میتواند با هشت رقم دودویی (هر رقم دو مقدار میتواند داشته باشد) ۲ یا ۲۵۶ عدد گسسته نمایش داده شود. نتیجتاً مقدار صحیح اعداد باعث میشود که سختافزار در محدودهای از اعداد صحیح که قابل اجرا برای نرمافزار باشد محدود شود و بدین وسیله توسط پردازنده مورد بهرهبرداری قرار گیرد.
موازی گرایی[ویرایش]
موازی گرایی (پاراللیسم) توصیفی که از عملکرد پایهای یک پردازنده در بخش قبلی شد، سادهترین فرمی است که یک پردازنده میتواند داشته باشد. این نوع از پردازنده که معمولاً آن را ساب اسکیلر مینامند، یک دستور را روی یک یا دو جزو اطلاعاتی، در یک زمان اجرا میکند. این فرایند موجب یک ناکارآمدی ذاتی در پردازندههای ساب اسکیلر میشود. از آنجایی که فقط یک دستور در یک زمان اجرا میشود، کل پردازنده باید منتظر بماند تا آن دستور کامل شود تا بتواند به دستور بعدی برود. در نتیجه پردازندههای ساب اسکیلر در موارد دستوری که بیش از یک پالس ساعت (چرخهٔ ساعتی) برای اجرا شدن کامل طول میکشند، معلق میماند. حتی اضافه کردن یک واحد اجرایی دیگر بهبود زیادی روی عملکرد ندارد، و در این حالت به جای اینکه یک مسیر معلق باشد، دو مسیر معلق میماند و تعداد ترانزیستورهای بلااستفاده افزایش مییابد. این طراحی، که در آن منابع اجرایی پردازنده میتواند فقط یک دستور در یک زمان اجرا کند، قادر خواهد بود تا فقط احتمالاً به عملکردی در حد اسکیلر (یک دستور در یک clock) برسد. با این وجود عملکرد آن تقریباً همیشه ساب اسکیلر (کمتر از یک دستور در یک چرخه) است.
تلاش برای رسیدن به عملکردی در حد اسکیلر یا بهتر از آن منجر به طیفی از روشهای طراحی شد که باعث میشود تا پردازنده کمتر به صورت خطی و بیشتر به صورت موازی عمل کند. در هنگام استفاده از ترم پاراللیسم برای پردازندهها، دو اصطلاح بهطور کلی برای طبقهبندی این تکنیکهای طراحی استفاده میشود. پاراللیسم در سطح دستوری (ILP) که هدف آن افزایش سرعت اجرای دستورها در داخل یک پردازنده است (یا به عبارتی افزایش استفاده از منابع اجرایی روی همان چیپ (on-die))، و پاراللیسم در سطح thread که هدف آن افزایش تعداد threadهایی است (بطور مؤثر برنامههای جداگانه) که یک پردازنده میتواند بهطور همزمان اجرا کند. هر روش با روش دیگر از نظر نحوهٔ اجرا و نیز تأثیر نسبی آنها در افزایش عملکرد پردازنده برای یک برنامه متفاوت است.
پاراللیسم در سطح دستوری[ویرایش]
یکی از سادهترین شیوههای مورد استفاده برای انجام افزایش پاراللیسم این است که اولین مراحل fetching و decoding دستوری را پیش از اینکه اجرای دستور قبلی تمام شود، شروع کنیم. این روش سادهترین فرم یک تکنیک بنام instruction pipelining است و در تقریباً تمام پردازندههای عمومی جدید استفاده میشود. پایپ لاینینگ، با شکستن مسیر دستوری و تبدیل ان به مراحل جداگانه، باعث میشود تا در هر زمان بیش از یک دستور اجرا شود. این جدا کردن را میتوان با خط مونتاژ مقایسه کرد که در آن یک دستور در هر مرحله کاملتر میشود تا اینکه کامل شود.
با این وجود pipelining ممکن است موقعیتی را به وجود آورد که در آن یافتههای عمل قبلی برای کامل کردن عمل بعدی لازم است. این وضعیت را معمولاً آشفتگی ناشی از وابستگی مینامند. برای جلوگیری از این وضعیت، باید توجه بیشتری شود تا در صورت رخ دادن این شرایط بخشی از خط تولید دستوری را به تأخیر اندازیم. بهطور طبیعی برآورده کردن این شرایط نیازمند مدارهایی اضافهاست، بنابراین پردازندههای pipelined پیچیدهتر از انواع ساب اسکیلر هستند (البته نه خیلی چشمگیر). یک پردازندهٔ pipelined میتواند بسیار نزدیک به حد اسکیلر شود، در این شرایط تنها مانع موجود stallها (دستوری که بیش از یک چرخهٔ ساعتی در یک مرحله طول میکشد) هستند. ارتقاء بیشتر در مورد ایدهٔ instruction pipelining منجر به ایجاد روشی شدهاست که زمان خالی اجزای پردازنده را حتی به میزان بیشتری کاهش میدهد. طراحیهایی که گفته میشود سوپراسکیلر هستند شامل یک خط ایجاد(pipeline) دستور طولانی و واحدهای اجرایی مشابه متعدد هستند. در یک خط ایجاد سوپرسکیلر دستورهای متعددی خوانده شده و به dispatcher (توزیع گر) میروند، توزیع گر تصمیم میگیرد که آیا دستورها مذکور میتوانند بهطور موازی (همزمان) اجرا شوند یا نه. در صورتی که پاسخ مثبت باشد، دستورها مذکور به واحدهای اجرایی موجود ارسال (dispatch) میشوند. این کار باعث میشود تا چندین دستور بهطور همزمان اجرا شوند. بهطور کلی هرقدر یک پردازندهی سوپرسکیلر بتواند دستورها بیشتری را بهطور همزمان به واحدهای اجرایی در حال انتظار ارسال (dispatch) کند، دستورها بیشتری در یک سیکل مشخص اجرا میشوند.
بیشترین دشواری در طراحی یک معماری سوپرسکیلر پردازنده مربوط به ساخت یک dispatcher مؤثر است. دیسپچر باید قادر باشد تا به سرعت و بدون اشتباه مشخص کند که آیا دستورها میتوانند بهطور موازی اجرا شوند و آنها را به شیوهای ارسال (dispatch) کند تا بیشترین واحدهای اجرایی ممکن را از بیکاری خارج کند. این امر نیازمند این است که خط ایجاد دستوری حداکثر اوقات ممکن پر باشد و معماریهای سوپرسکیلر را نیازمند مقادیر چشمگیری از حافظه نهان پردازنده(cache) میکند. همچنین در این شرایط تکنیکهای پیشگیری از خطری نظیر پیشبینی شاخهای (branch prediction)، اجرای حدسی (speculative execution) و اجرای خارج از نوبت (out of order execution) برای حفظ سطوح بالای عملکرد ضروری هستند. با تلاش برای پیشبینی اینکه یک دستور شرطی کدام شاخه (یا مسیر) را انتخاب میکند، پردازنده میتواند تعداد زمانهایی را که تمام خط تولید (pipeline) باید منتظر بماند تا یک دستور شرطی کامل شود به حداقل برساند. اجرای حدسی با اجرای بخشهایی از کد که ممکن است بعد از کامل شدن یک عمل شرطی نیاز نباشند، معمولاً موجب افزایش متوسط عملکرد میشود.
اجرای خارج از نوبت ترتیبی را که دستورها اجرا میشوند تا حدی دوباره چینی میکند تا تأخیر ناشی از وابستگی اطلاعات را کاهش دهد. همچنین در موارد یک دستور -چند دیتا (Single Instructions Multiple Data) - زمانیکه اطلاعات زیادی از یک نوع باید پردازش شود، پردازندههای جدید میتوانند بخشهایی از خط ایجاد مذکور را غیرفعال کنند، در این حالت زمانیکه یک دستور چند بار اجرا میشود، پردازنده میتواند از فازهای fetch و decode صرفه نظر کند و بنابراین در موقعیتهای خاصی (خصوصاً در موتورهای برنامهای بسیار مونوتون نظیر نرمافزار ایجاد ویدئو و پردازش عکس) به میزان زیادی عملکرد افزایش مییابد.
در مواردی که فقط بخشی از پردازنده سوپرسکیلر است، بخشی که سوپرسکیلر نیست دچار جبران عملکردی ناشی از وقفههای زمانبندی میشود. Intel P5 Pentium (اینتل پنتیوم ۵)دو تا واحد محاسبه و منطق (ALU) سوپرسکیلر داشت که میتوانست یک دستور را به ازای یک clock بپذیرد اما FPUی آن نمیتوانست یک دستور را به ازای یک clock بپذیرد؛ بنابراین P۵ سوپرسکیلر از نوع integer است اما از نوع floating point (ممیز شناور) نیست. جانشین اینتل برای معماری P۵، نوع P۶ بود که قابلیتهای سوپرسکیلر را به ویژگیهای floating point آن اضافه میکرد و بنابراین موجب افزایش چشمگیری در عملکرد دستوری floating point میشد.
هم طراحی pipeline ساده و هم طراحی سوپر سکیلر موجب میشوند تا یک پردازندهٔ منفرد با سرعتی بیش از یک دستور به ازای یک چرخه (IPC) دستورها را اجرا کند و بدین وسیله ILP ی پردازنده را افزایش میدهند. بیشتر طراحیهای جدید پردازنده حداقل تا حدی سوپرسکیلر هستند و تقریباً تمام پردازندههای عمومی که در دههٔ اخیر طراحی شدهاند سوپرسکیلر هستند. در سالهای اخیر بخشی از تأکید در طراحی رایانههای ILP بالا از حوزهٔ سختافزاری پردازنده خارج شده و در اینترفیس نرمافزاری، یا همان ISA متمرکز شدهاست. استراتژی واژهٔ دستوری خیلی بلند (VLIW) موجب میشود تا بخشی از ILP بهطور مستقیم توسط نرمافزار درگیر شود و بدین وسیله میزان کاری را که پردازنده باید انجام دهد تا ILP را افزایش دهد (بوست کند) و پیچیدگی طراحی مذکور را کاهش دهد، کم میکند.
پاراللیسم در سطح ریسه[ویرایش]
رویکرد دیگر برای دستیابی به عملکرد، اجرای چندین برنامه یا ریسه به صورت موازی است. در تقسیمبندی Flynn این رویکرد چندین دستور روی چندین دیتا (MIMD) نام دارد.
یک تکنولوژی که برای این هدف استفاده شد، تکنولوژی چند پردازشی (MP) نام دارد. چاشنی ابتدایی این نوع تکنولوژی چند پردازشی قرینه(SMP) نام داردکه در آن تعداد محدودی از پردازندهها یک نمای منسجم از سیستم حافظهٔ خودشان را به اشتراک میگذارند. در این طرحریزی هر پردازنده سختافزاری اضافی برای حفظ یک نمای دائماً بروز شده از حافظه دارد. با اجتناب از نماهای کهنه و مانده از پردازنده، پردازندههای مذکور میتوانند روی یک برنامه همکاری کنند و برنامهها میتوانند از یک پردازنده به دیگری مهاجرت کنند. طرحریزیهایی نظیر دستیابی غیر همشکل به حافظه (NUMA) و پروتکلهای وابستهٔ مبتنی بر دایرکتوری در دههٔ ۱۹۹۰ ارائه شدند.
سیستمهای SMP به تعداد کمی از پردازندهها محدود میشوند در حالیکه سیستمهای NUMA با هزاران پردازنده موجود هستند. در ابتدای امر، چند پردازشی با استفاده از چندین پردازنده و صفحهٔ مجزا برای برقراری ارتباط بین پردازندهها ساخته شد. هنگامیکه پردازندهها و ارتباطهای بین آنها تماماً روی یک تراشهٔ سیلیکون منفرد سوار شدند، تکنولوژی مذکور ریزپردازندهٔ چند هستهای نام گرفت.
بعدها مشخص شد که fine-grain parallelism با یک برنامهٔ منفرد ایجاد شد. یک برنامهٔ منفرد ممکن است چندین thread (یا رشته دستورالعمل) داشته باشد که میتوانند بهطور جداگانه یا موازی اجرا شوند. برخی از نمونههای ابتدایی این تکنولوژی، پردازش ورودی/خروجی نظیر دسترسی مستقیم به حافظه را به عنوان یک thread جداگانه از thread محاسبه بکار گرفتند. یک رویکرد عمومی تر به این تکنولوژی در دههٔ ۱۹۷۰ ارائه شد. در آن زمان سیستمها طوری طراحی شدند تا چندین thread محاسبهای را بهطور موازی اجرا کنند. این تکنولوژی (MT)multithreading نام دارد. این رویکرد در مقایسه با چند پردازشی به صرفه تر است زیرا فقط تعداد کمی از اجزا در داخل یک پردازنده به منظور پشتیبانی از MT تکرار میشوند در حالیکه در MP تمام پردازنده تکرار میشود. در MT، واحدهای اجرایی و سیستم حافظه منجمله حافظههای نهان در بین جندین thread به اشتراک گذارده میشوند. عیب MT این است که سختافزاری که از مولتی ثردینگ پشتیبانی میکند در مقایسه با سختافزاری که از MP پشتیبانی میکند برای نرمافزار قابل دیدن تر است و بنابراین نرمافزارهای ناظر نظیر سیستمهای عامل برای پشتیبانی از MT باید متحمل تغییرات بیشتری شوند. یک نوع از MT که بکار گرفته شد block multithreading نام دارد که در آن اجرای یک thread آغاز میشود و زمانیکه برای بازگشت اطلاعات از حافظهٔ خارجی باید منتظر بماند، دچار توقف عملکرد میشود. در این حالت پردازنده بلافاصله به thread دیگر که آمادهٔ اجرا است سوویچ میکند. این سوویچ معمولاً در یک چرخهٔ کلاک از پردازنده انجام میگیرد. اولترااسپارک (UltraSPARC) نمونهای از این تکنولوژی است. نوع دیگری از MT مولتی ثردینگ همزمان (simultaneous multithreading) نام دارد که در آن دستورها چندین thread بهطور موازی در طی یک چرخهٔ کلاک از پردازنده اجرا میشوند.
بمدت چندین دهه از ۱۹۷۰ تا ۲۰۰۰، در طراحی پردازندههای عمومی دارای عملکرد بالا به میزان زیادی روی دستیابی به ILP بالا از طریق تکنولوژیهایی مثل piplining، حافظههای نهان، اجرای سوپراسکیلر، اجرای خارج از نوبت و… تأکید میشد. این رویه منجر به طراحی پردازندههای بزرگ و پر مصرفی نظیر اینتل پنتیوم ۴ شد.
در دههٔ ۲۰۰۰، نابرابری روزافزون بین فرکانسهای عامل پردازنده و فرکانسهای عامل حافظهٔ اصلی و نیز جدی تر شدن مسئلهٔ محو تدریجی پاور پردازنده (power) بعلت تکنیکهای ILP خیلی نامعمول تر موجب شد تا طراحان پردازنده دیگر بدنبال افزایش عملکرد با استفاده از تکنیکهای ILP نباشند. پس از آن، طراحان پردازنده ایدههایی را از بازارهای رایانهٔ تجاری نظیر پردازش دادوستدی که در آن مجموع عملکرد چندین برنامه (پردازش مربوط به کار انجام شده در یک بازهٔ زمانی) مهمتر از عملکرد یک thread یا برنامهاست، به عاریه گرفتند. این تغییر رویکرد میتوان در تکثیر طراحیهای CMP چند هستهای (چند پردازشی در سطح تراشه) و بهطور قابل ذکر طراحیهای جدیدتر اینتل که مشابه معماری کمتر سوپرسکیلر P۶ بودند، مشاهده کرد. طراحیهای بعدی در چندین خانوادهٔ پردازنده، CMP را نشان دادند، از جمله x86-64 Opteron و Athlon 64 X2, SPARC UltraSPARC T۱، IBM POWER۴ و POWER۵ و چندین پردازنده ی کنسول بازی ویدئویی مشابه طراحی powerpc سه هستهای ایکس باکس ۳۶۰ و ریزپردازندههای سلولی ۷ هستهای ۷-core)) پلی استیشن ۳.
موازی گرایی (پاراللیسم) اطلاعات[ویرایش]
یک الگوی غیرمعمول اما بهطور فزایندهای مهم از پردازندهها (و در حقیقت، بهطور کلی پردازش) مربوط به موازی گرایی اطلاعات است. پردازندههایی که قبلاً بحث شدند، تماماً انواعی از ابزارهای اسکیلر نامیده میشوند. همچنان که از نام آن پیداست، پردازندههای برداری (vector processors) با چندین قطعه از اطلاعات در زمینهٔ یک دستور سروکار دارند که با پردازندههای اسکیلر که با یک قطعه از اطلاعات برای هر دستور سروکار دارد، متفاوت است. در طبقهبندی Flynn، این دو نوع مواجه با اطلاعات بهطور کلی و به ترتیب SIMD (یک دستور برای چندین داده) و SISD (یک دستور برای یک داده) نامیده میشود. استفادهٔ مهم در ایجاد پردازندههایی که با بردارهایی از اطلاعات سرو کار دارند، در بهینهسازی اعمالی است که در آنها یک عمل (برای مثال یک جمع یا dot product)باید روی مجموعهٔ بزرگی از اطلاعات صورت گیرد. برخی از مثالهای کلاسیک این نوع از اعمال کاربردهای مولتی مدیا (تصاویر، ویدئو و صدا) و نیز بسیاری از انواع اعمال علمی و مهندسی هستند. در حالیکه یک پردازنده ی اسکیلر باید تمام فرایند fetching، دکودینگ و اجرا ی هر دستور و مقدار را برای مجموعهای از اطلاعات انجام دهد، یک پردازنده ی برداری میتواند یک عمل را روی مجموعهٔ نسبتاً میکند.
اکثر پردازندههای وکتور ابتدایی، نظیر Cray-1 فقط مربوط به تحقیقات علمی و کاربردهای کریپتوگرافی بودند. با این وجود، هنگامیکه مولتی مدیاها به میزان زیادی به Media دیجیتال تغییر پیدا کردند، نیاز به برخی از اشکال SIMD در پردازندههای کاربرد-عمومی نیز برجسته شد. مدت کوتاهی بعد ازاینکه لحاظ شدن واحدهای اجرایی نقطهٔ شناور در پردازندههای کاربرد-عمومی شروع به معمول شدن کرد، اختصاصی شدن و بهکارگیری واحدهای اجرایی SIMD نیز در پردازندههای کاربرد-عمومی شروع به ظهور کرد. برخی از این اختصاصهای SIMD ابتدایی نظیر Multimedia Acceleration eXtensions مربوط به HP و MMX اینتل فقط اینتیجر بودند.
نانومتر[ویرایش]
از آنجا که ترانزیستورهای کوچکتر کارایی بیشتری دارند، میتوانند محاسبات بیشتری را بدون این که بیش از حد داغ شوند، انجام دهند. این وضعیت بسیار مناسب است، زیرا داغ شدن در اغلب موارد یک عامل محدودکننده برای عملکرد پردازنده است. بدین ترتیب امکان ساخت تراشههایی با اندازه کوچکتر نیز فراهم میشود که موجب کاهش هزینه و افزایش چگالی در اندازههای یکسان میشود و این بدان معنی است که تعداد هستههای بیشتری میتوان روی یک تراشه داشت. فناوری 7 نانومتری عملاً دو برابر فشردهتر از فناوری ۱4 نانومتری است و به شرکتهایی مانند AMD امکان میدهد که تراشههای سرور ۶۴ هستهای ارائه کنند.
چندپردازی متقارن[ویرایش]
روشی است که چندین پردازنده به صورت جداگانه اما با یکدیگر بر روی یک مادر بورد کار میکنند و سیستم عامل از هر دوی آنها به صورت یکسان استفاده میکند.
حالت انتظار[ویرایش]
حالت انتظار (Wait state) تاخیر در واکشی اتطلاعات از دستگاههای جانبی است.
رندر[ویرایش]
رندرینگ به فرایند نمایش تصاویر اجسام سه بعدی (3D) بر روی صفحهٔ نمایشگر دو بعدی گفته میشود که این کار بر عهده پردازندهای دیگر به نام واحد پردازش گرافیکی است. البته در فناوری آنبرد (onboard) می توان تا حداکثر امکان پردازشهای گرافیکی ضعیف را با واحد پردازش مرکزی انجام داد.
مجموعه دستورالعمل[ویرایش]
یک مدل مفهومیرایانه است. همچنین اشاره به معماری و معماری رایانه دارد. مجموعه دستورالعمل شامل چهار دستورالعمل است که پردازندهها وظیفه انجام آنها را دارند:
- کپی کردن بیتها
- چهار عمل اصلی (جمع، ضرب، تفریق و تقسیم)
- بیت منطقی (NOT, AND, OR, XOR)
- پرش (شامل پرشهای مشروط) که به منظور پرش از یک آدرس حافظه اصلی (RAM) به آدرس دیگری از حافظه کاربرد دارد.
پردازنده رایانه جیبی[ویرایش]
پردازندههای رایانه جیبی بهینه شده تا با مصرف پایین برق و انرژی زیاد بتوان از آنها استفاده کرد. این نوع پردازندهها ترکیبی از پردازنده، رم و پردازنده گرافیکی هستند که سامانه روی یک تراشه نام دارند.
پردازنده سرور[ویرایش]
این نوع پردازنده ها از توانمندی بالاتری نسبت به پردازنده های معمولی خود برخوردار است.
زیآن (Xeon) نامی است که اینتل بر روی پردازنده های مخصوص به سرور گذاشته که اولین زیآن در سال ۱۹۹۸ به بازار عرضه شد. پردازندههای زیآن با بهرهگیری از فناوری فراریسمانی که اجازه میدهد یک تراشه هم زمان دو ریسمان را با هم اجرا کند، راندمان بهتری ارایه میکنند.[۱۵]
در هر فعالیت یا ایجاد یا اصلاحی در سرور، پردازنده سرور در حالت پردازش خواهد بود.
شرکتهای تولیدکننده[ویرایش]
گاهی بر روی پردازنده ها نام شرکت سازنده به صورت کامل و گاهی به صورت علائم اختصاری مخصوص شرکت مشخص می شود. شرکتهای تولیدکننده پردازنده، هرساله پردازندههای قدرتمندی برای کاربران عادی و گیمرها ارائه میشوند. پیچیدگی طراحی پردازندهها همزمان با افزایش سریع فناوریهای متنوع که ساختارهای کوچکتر و قابل اطمینان تری را در وسایل الکترونیک باعث میشد، افزایش یافت.
اینتل[ویرایش]
شرکت اینتل در سال ۱۹۶۸ توسط رابرت نویس و گوردون مور راهاندازی شد. این شرکت مبدع فناوری ریزپردازندههای X۸۶ است. اینتل در اواسط دهه ۱۹۷۰ میلادی، یکی از قویترین تراشهها یعنی تراشه ۸۰۸۶ را به بازار عرضه کرد. این تراشهها تحولی عظیم در فناوری ریز پردازندهها ایجاد کردند. دفتر مرکزی این شرکت در شهر سانتا کلارا، کالیفرنیا قرار دارد. در سال 2008 بود که شرکت اینتل (Intel) با معرفی معماری نِهِیلِم (Nehalem) پردازندههای سری اینتل کور را به بازار معرفی کرد. روند نامگذاری با اعداد تا زمان ظهور سری پنتیوم ادامه داشت و بعد از آن از نام اختصاصی استفاده شد مانند: Celeron، pentium، Duron، Xeon، Athlon، phenom و …
از آن سال تا به امروز شرکت اینتل همواره پردازندههای جدید خود را با معماری بروزتر ولی با همان غالب Core i همراه با شمارهای بعداز حرف i معرفی میکند. پردازندههای Core i9 برای رقابت با پردازندههای تردریپر شرکت ایامدی وارد بازار شدهاند. این پردازندهها، اولین سری جدید محصولات «Core i» طی ۱۰ سال اخیر هستند. پردازندههای Core i9، پنجمین سری از خانوادهی پردازندههای رایانه خانگی هستند. پردازندههای قدرتمند اینتل ۱۸ هستهای و ۱۶ هستهای هستند.[۱۶]
ایامدی[ویرایش]
شرکت اِیاِمدی در سال ۱۹۶۹ و در ایالت کالیفرنیا شروع به کار کرد. ایامدی یکی از بزرگترین رقیبان این شرکت، که پا به پای اینتل پردازنده های خود را معرفی و عرضه می کند. ایامدی برای جذب مشتری بیشتر و در دست گرفتن بازار پردازندههای گرافیکی و مرکزی، سیاست کاهش قیمت را استفاده کرد و با این روش سعی در برتری نسبت به رقبا دارد. امروزه پردازندههای رایزن شرکت ایامدی پردازندههایی با تعداد ۳۲ هسته هستند.[۱۷]
نسلها[ویرایش]
پردازنده ها بسته به تنوع در مدل و عملکرد آن ها دارای مدل های مختلفی می باشند. معمولا هر گاه یک تغییر اساسی در ساختار یا پردازنده به وجود آمده است نسل جدیدی برای آن نام گذاری شده است. معمولا نسل های مختلف پردازنده ها را با نام، علائم یا شماره های مختلف نشان می دهند. شرکتهای سازنده پردازنده تولیدات خود را بر اساس یک روش استاندارد نام گذاری می کنند. هر کدام از نسل های پردازنده دارای مدلهای مختلفی می باشد که دارای مشخصات متفاوت می باشند.[۱۸] همچنین هر قسمت از نام یک پردازنده، نشان دهنده جزئیاتی از ساختار آن میباشد.
پسوندها[ویرایش]
داشتن آگاهی از پسوندها سبب میشود که پردازنده مورد نظر خود را راحتتر انتخاب کنید و محصولی مطابق با نیازهایتان برگزینید. حرف U اشاره به استفاده از پردازنده برای موبایل دارد و این مدل پردازنده بسیار کممصرف است. HQ اشاره به عملکرد بالای گرافیکی سی پی یو دارد. HK ضمن گرافیک بالا، نشاندهندهی قابلیت اورکلاک است. پیشوندهای دسکتاپ نیز شامل K به معنی توانایی اورکلاک و T به معنی مصرف کم هستند.
بازار تولید تراشه[ویرایش]
به دنبال دنیاگیری کووید ۱۹ بسیاری از کارخانههای تولیدی بهصورت موقت تعطیل شدند و همین موضوع باعث شده است. کمبود تراشه روی صنایع مختلفی اثر گذاشته که یکی از مهمترین آنها صنعت گوشی هوشمند است.[۱۹]اپل، سامسونگ و هواوی بزرگترین خریداران تراشه در سال ۲۰۲۰ بودهاند. میزان خرید هواوی به علت تحریمهای ایالات متحده آمریکا در مقایسه با سال ۲۰۱۹ در حدود ۲۳ درصد کمتر شده است.[۲۰]