پردازنده (CPU) چیست؟ + بررسی کامل پردازنده ها
به طور کلی، پردازنده یا واحد پردازش مرکزی (CPU) یکی از اجزای اصلی یک کامپیوتر است که وظیفه اجرای عملیاتهای محاسباتی و کنترلی را بر عهده دارد. در اینجا مقالهای درباره پردازندههای کامپیوتری برای شما تهیه شده است.
پردازنده یا واحد پردازش مرکزی (Central Processing Unit) یا CPU، قلب و مغز هر سیستم کامپیوتری است. این قطعه مسئول بخشی از کنترل و اجرای عملیاتهای محاسباتی و کنترلی سیستم است و در عملکرد و کارایی کامپیوتر نقش بسیار مهمی را ایفا میکند. در این مقاله، به بررسی عملکرد، ساختار و ویژگیهای پردازندههای کامپیوتری میپردازیم.
در این مقاله به عناوین زیر میپردازیم :
بخش اول: تاریخچه
- معرفی اولین پردازندههای کامپیوتری
- تکامل پردازندهها از دهه ۱۹۴۰ تا به امروز
- اهمیت پردازندهها در توسعه صنعت کامپیوتر
بخش دوم: بررسی کامل پردازندههای کامپیوتری
- معماری و ساختار پردازندههای کامپیوتری
- نحوه اجرای دستورات و محاسبات در پردازنده
- واحدهای عملیاتی داخلی پردازنده ALU، CU و غیره
- نحوه ارتباط پردازنده با سایر اجزای سیستم
بخش سوم: انواع پردازندهها
- پردازندههای CISC (Complex Instruction Set Computing)
- پردازندههای RISC (Reduced Instruction Set Computing)
- پردازندههای VLIW (Very Long Instruction Word)
- پردازندههای موازی (Multi-core Processors)
بخش چهارم: ویژگیها و عوامل تاثیرگذار در پردازندهها
- فرکانس و سرعت پردازنده
- ظرفیت حافظه نهان و سازماندهی حافظه
- مصرف برق و کارایی انرژی
- فناوری تولید و تکنولوژی ساخت پردازندهها
بخش پنجم: پردازندههای معروف و معرفی شرکتهای تولید کننده
- معرفی پردازندههای معروف مانند Intel و AMD
- شرکتهای دیگر تولید کننده پردازنده
بریم سره اصل مطلب …
تاریخچه پردازنده های کامپیوتری
اصطلاح “واحد پردازش مرکزی” از اوایل سال 1955 مورد استفاده قرار گرفت. از آنجایی که اصطلاح “CPU” به طور کلی به عنوان وسیله ای برای اجرای نرم افزار (برنامه کامپیوتری) تعریف می شود، اولین دستگاه هایی که به درستی CPU نامیده می شوند، با ظهور کامپیوتر برنامه ذخیره شده به وجود آمدند.
امروزه کامپیوترها بخشی از سبک زندگی ما هستند، اما اولین کامپیوتری که مورد استفاده قرار گرفت در سال 1946 در دانشگاه پنسیلوانیا ساخته شد! این پردازنده ENIACنام داشت. ویژگی برنامه ریزی مجدد که امروزه بسیار مورد استفاده قرار می گیرد، توسط آلن تورینگ و جان فون نویمان به همراه تیم هایشان معرفی شد. معماری فون نویمان اساس کامپیوترهای مدرن است.
تاریخچه پردازنده های کامپیوتری سفری جذاب است که چندین دهه را در بر می گیرد. در اینجا مروری کوتاه بر نقاط عطف اصلی در تکامل پردازنده های کامپیوتری را برای شما شرح میدهیم:
از توسعه اولین ریزپردازنده 4004 اینتل تا آخرین آنها ، ریزپردازنده ها راه زیادی را پیموده اند.
- 1. نسل اول: لوله های خلاء (1940-1950)
- اولین کامپیوترهای الکترونیکی مانند ENIAC و UNIVAC از لوله های خلاء به عنوان قطعات الکترونیکی اولیه استفاده می کردند.
- پردازنده های مبتنی بر لوله خلاء بزرگ بودند، انرژی زیادی مصرف می کردند و گرمای قابل توجهی تولید می کردند.
- 2. نسل دوم: ترانزیستورها (اواخر دهه 1950-1960)
- اختراع ترانزیستورها انقلابی در حوزه الکترونیک و پردازنده های کامپیوتر ایجاد کرد.
- ترانزیستورها جایگزین لولههای خلاء شدند و در نتیجه پردازندههای کوچکتر، قابل اعتمادتر و کممصرفتر تولید شدند.
- سری System/360 شرکت IBM که در دهه 1960 معرفی شد، نمونه قابل توجهی از پردازنده های نسل دوم بود.
- 3. نسل سوم: مدارهای مجتمع (دهه 1960-1970)
- مدارهای مجتمع (ICs) مفهوم کوچک سازی را به پردازنده های کامپیوتری آوردند.
- آی سی ها چندین ترانزیستور، مقاومت و خازن را روی یک تراشه از مواد نیمه هادی (معمولاً سیلیکون) ترکیب می کنند.
- این دوره شاهد توسعه ریزپردازنده ها بود که کل CPU را روی یک تراشه قرار می داد.
- اینتل 4004 که در سال 1971 عرضه شد، اولین ریزپردازنده تجاری موجود در بازار بود که توسط شرکت اینتل تولید شده بود.
- 4. نسل چهارم: ریزپردازنده ها (دهه 1970 تا کنون)
- نسل چهارم شاهد پیشرفت های چشمگیری در فناوری ریزپردازنده ها بود.
- شرکت هایی مانند اینتل، AMD و موتورولا ریزپردازنده های قدرتمند و پیچیده ای را معرفی کردند.
- معرفی معماری های 8 بیتی، 16 بیتی و بعداً 32 بیتی، قابلیت های رایانه ها را گسترش داد.
- اینتل 8086 که در سال 1978 منتشر شد، پایه و اساس معماری x86 شد که امروزه در رایانه های شخصی غالب باقی مانده است.
- 5. نسل پنجم: پیشرفتها در معماری (دهه 1990 تا کنون)
- نسل پنجم پیشرفت های بیشتری در معماری و طراحی پردازنده به ارمغان آورد.
- پردازنده های RISC (Reduced Instruction Set Computer) به دلیل مجموعه دستورالعمل های ساده و عملکرد بهبود یافته محبوبیت پیدا کردند.
- پردازش موازی و معماریهای چند هستهای رایج شد و رایانهها را قادر میسازد تا چندین کار را به طور همزمان انجام دهند.
- پردازندههای موبایل نیز ظهور کردند که تقاضای فزاینده برای دستگاههای قابل حمل مانند گوشیهای هوشمند و تبلتها را تامین میکردند.
- 6. پردازنده های مدرن
- پردازنده های مدرن همچنان مرزهای عملکرد و بهره وری انرژی را جابجا می کنند.
- قانون مور، که می گوید تعداد ترانزیستورهای روی یک تراشه تقریباً هر دو سال یکبار دو برابر می شود، باعث پیشرفت سریع پردازنده ها شده است.
- پردازندههای تخصصی مانند واحدهای پردازش گرافیکی (GPU) و شتابدهندههای هوش مصنوعی (AI) برای برخی وظایف ضروری شدهاند.
- پیشرفتها در محاسبات کوانتومی نیز در حال بررسی است که پتانسیل پیشرفتهای نمایی در قدرت پردازش را ارائه میدهد.
ذکر این نکته ضروری است که این مرور کلی یک جدول زمانی کلی از تکامل پردازندههای رایانه ارائه میدهد و جزئیات و پیشرفتهای فنی بسیار بیشتری وجود دارد که تاریخچه آنها را شکل داده است.
CPU های اولیه طرح های سفارشی بودند که به عنوان بخشی از یک کامپیوتر بزرگتر و گاه متمایز استفاده می شدند. با این حال، این روش طراحی CPU های سفارشی برای یک برنامه خاص تا حد زیادی جای خود را به توسعه پردازنده های چند منظوره تولید شده در مقادیر زیاد داده است. این استانداردسازی در عصر کامپیوترهای بزرگ ترانزیستوری گسسته و مینی کامپیوترها آغاز شد و با رواج مدارهای مجتمع (IC) به سرعت شتاب گرفت.
IC اجازه داده است که CPUهای پیچیدهتر به طور فزایندهای با تلورانسهایی در حد نانومتر طراحی و تولید شوند. هر دو کوچک سازی و استانداردسازی CPU ها حضور دستگاه های دیجیتال را در زندگی مدرن بسیار فراتر از کاربرد محدود ماشین های محاسباتی اختصاصی افزایش داده است. ریزپردازندههای مدرن در دستگاههای الکترونیکی از اتومبیلها تا تلفنهای همراه، و حتی گاهی اوقات در اسباببازیها ظاهر میشوند.
بررسی کامل پردازندههای کامپیوتری
به طور کلی، پردازنده یا واحد پردازش مرکزی (CPU) یکی از اجزای اصلی یک کامپیوتر است که وظیفه اجرای عملیاتهای محاسباتی و کنترلی را بر عهده دارد.
سی پی یو (پردازنده) چیست؟
سی پی یو یکی از مهمترین قطعات کامپیوتر است که از آن با عنوان مغز سیستم هم یاد میشود. این واژه که از دهه ۵۰ میلادی رایج بوده و همچنان نیز مورد استفاده قرار میگیرد. البته کاربرد «CPU» به آنچه درون کامپیوترها و مادربردها مییابید محدود نمیشود و این قطعه در بسیاری از محصولات الکترونیکی دیگر مانند موبایلها و تبلتها هم به کار گرفته شده است. اما سی پی یو چیست و چگونه کار میکند؟ در مطلب پیش رو میخواهیم به همین سوالات پاسخ دهیم.
یک CPU یا واحد پردازش مرکزی، جزء اصلی یک کامپیوتر است که مسئول اجرای دستورالعمل ها و انجام محاسبات است. این به عنوان “مغز” رایانه عمل می کند و اکثر وظایف پردازش و کنترل داده ها را انجام می دهد.
CPU با انجام عملیات اساسی حسابی، منطقی، کنترلی و ورودی/خروجی (I/O) دستورات برنامه های کامپیوتری را تفسیر و اجرا می کند. دستورالعمل ها را از حافظه واکشی می کند، آنها را رمزگشایی می کند و سپس آنها را به ترتیب اجرا می کند.
نحوه اجرای دستورات و محاسبات در پردازنده
پردازنده یا واحد پردازش مرکزی (CPU) قسمتی از سیستم کامپیوتری است که عملیاتهای محاسباتی و کنترلی را انجام میدهد. پردازندهها اطلاعات را از حافظهی اصلی خوانده، آنها را پردازش کرده و نتیجهی محاسبات را برگردانده یا در حافظهی اصلی ذخیره میکنند. این عملیات بر اساس دستوراتی صورت میگیرد که توسط برنامههای کامپیوتری تعریف شدهاند.
در ابتدا باید گفت تمام پردازندهها در دل خود عملکرد یکسانی دارند، این مسئله چیزی است که آنها را در نهایت مهم میکند. تمام پردازندهها از ۴ تابع یا فانکشن (Function) اصلی تشکیل میشوند:
- تابع Fetch
- تابع Decode
- تابع Execute
- تابع Store
در ادامه این توابع را که در نحوه عملکرد پردازنده تاثیر می گذارند به طور مختصر شرح خواهیم داد.
- فراخوانی یا واکشی دستورالعملها از حافظه (Fetch):
پردازنده ابتدا به منظور آگاهی از نحوهی مدیریت ورودی و دانستن دستورالعملهای مرتبط با آن، این دستورها را از حافظه دریافت میکند. این ورودی ممکن است یک یا بینهایت دستور باشد که باید در محلهای جداگانه آدرسدهی شوند. به این منظور واحدی به نام PC (مخفف Program Counter) یا شمارندهی برنامه، وجود دارد که ترتیب دستورهای ارسالشده را حفظ میکند؛ پردازنده نیز در تعاملی مشترک برای یافتن آدرس دستورالعمل دائماً با رم در ارتباط است (خواندن از حافظه).
- رمزگشایی یا ترجمهی دستورالعملها (Decode):
دستورالعملها به فرمی که برای پردازنده قابل درک باشند (زبان ماشین یا باینری) ترجمه میشوند. پردازنده پس از دریافت دستورها، برای درک آنها نیاز دارد تا این کدها به زبان ماشین (یا باینری) ترجمه شوند. نوشتن برنامهها به زبان باینری، از همان ابتدای امر، کار دشواری است و به همین دلیل کدها به زبانهای برنامهنویسی سادهتری نوشته میشوند و سپس واحدی به نام Assembler، این دستورها را به کدهای اجرایی و آماده برای پردازش پردازنده تبدیل میکند.
- پردازش یا اجرای دستورهای ترجمهشده : (Execute)
مهمترین مرحله در عملکرد پردازنده، پردازش و اجرای دستورها است. در این مرحله دستورالعملهای رمزگشاییشده و باینری برای اجرا به کمک واحد ALU مخفف( Arithmetic & Logic Unit) یا واحد محاسبه و منطق، در آدرسی مخصوص پردازش میشوند.
- ذخیرهی نتایج اجرا (Store):
نتایج و خروجی دستورها به کمک واحد ثبات (Register) در حافظهی جانبی پردازنده ذخیره میشوند تا در دستورالعملهای آتی برای بالا بردن سرعت به آنها رجوع شود (نوشتن در حافظه).
ویژگی ها و اجزای اصلی یک CPU
- واحد منطق حسابی (ALU)
ALU محاسبات ریاضی (جمع، تفریق، ضرب، تقسیم) و عملیات منطقی (AND، OR، NOT) را روی داده های باینری انجام می دهد.
- واحد کنترل (CU)
CU اجرای دستورالعمل ها را هماهنگ و مدیریت می کند. جریان داده ها و دستورالعمل ها را بین CPU، حافظه و سایر دستگاه های جانبی هدایت می کند.
- رجیسترها
رجیسترها واحدهای حافظه کوچک و پرسرعت در CPU هستند که داده ها، دستورالعمل ها و نتایج میانی را در طول پردازش ذخیره می کنند. آنها دسترسی سریع به اطلاعات پرکاربرد را امکان پذیر می کنند.
- Instruction Pointer (IP)
که به عنوان شمارنده برنامه نیز شناخته می شود، آدرس حافظه دستورالعمل بعدی را که باید واکشی و اجرا می شود را پیگیری می کند.
- Clock CPU
در هماهنگی با سیگنال ساعت کار می کند که سرعت اجرای دستورالعمل ها را تعیین می کند. سیگنال ساعت زمان را به فواصل مجزا تقسیم می کند که به چرخه های ساعت معروف هستند.
- کش:
حافظه پنهان CPU یک حافظه کوچک و سریع است که روی تراشه CPU قرار دارد. دادهها و دستورالعملهایی که اغلب به آنها دسترسی دارند را ذخیره میکند تا زمان لازم برای واکشی آنها از حافظه اصلی را کاهش دهد.
- رابط CPU BUS
از طریق یک رابط BUS به سایر اجزای سیستم کامپیوتری مانند حافظه و دستگاه های جانبی متصل می شود. این امکان انتقال داده ها و دستورالعمل ها را بین این اجزا فراهم می کند.
CPU ها در معماری های مختلفی مانند x86 اینتل و AMD، ARM، PowerPC و غیره عرضه می شوند. آنها از نظر عملکرد، بهره وری توان و معماری مجموعه دستورالعمل (ISA) متفاوت هستند، که دستورالعمل هایی را که CPU می تواند اجرا کند، تعریف می کند.
شایان ذکر است که CPU های چند هسته ای وجود دارند که شامل چندین واحد پردازش مستقل (هسته) روی یک تراشه هستند. این هستهها میتوانند دستورالعملها را به صورت همزمان اجرا کنند، عملکرد کلی را بهبود بخشیده و چندوظیفگی را امکانپذیر میسازند.
انواع پردازندهها
- پردازندههای CISC (Complex Instruction Set Computing)
رایانه با دستورهای پیچیده به انگلیسی (Complex instruction set computer) با کوته نوشت سیسک به انگلیسی CISC، نوعی معماری رایانهای است که در آن یک دستورالعمل میتواند چندین دستورالعمل سطح پایین دیگر را اجرا کند (مانند خواندن از حافظه، عملیات حسابی و ذخیره در حافظه) و یا میتواند دستورالعملی چند مرحلهای باشد.این نوع معماری در مقابل معماری رایانه کم دستور اختصاری (RISC) قرار میگیرد.
از نمونه ریزپردازندههایی که از این معماری استفاده کردهاند میتوان به ایکس۸۶، موتورولا۶۸کا و واکس اشاره کرد.
- پردازندههای RISC (Reduced Instruction Set Computing)
رایانه کم دستور به انگلیسی Reduced instruction set computer)) با کوتهنوشت ریسک به انگلیسیRISC یک نوع معماری ساخت ریزپردازنده است. یک رایانه RISC به جای مجموعه بزرگی از دستورالعملهای پیچیده و تخصصی، مجموعه ای کوچک از دستورالعملهای ساده و عمومی دارد. وجه تمایز اصلی معماری RISC این است که مجموعه دستورالعمل با استفاده از تعداد زیادی رجیستر و یک خط لوله دستورالعمل بسیار منظم بهینه شدهاست که این امر باعث میشود تا تعداد کمی سیکل ساعت به ازای هر دستورالعمل (به انگلیسی: CPI) داشته باشیم. یکی دیگر از ویژگیهای معمول RISC، معماری بارگیری/ذخیره (به انگلیسی: load/store) است، که در آن از طریق دستورالعملهای خاص و نه به عنوان بخشی از اکثر دستورالعملها، به حافظه دسترسی پیدا میکنیم.
- پردازندههای VLIW (Very Long Instruction Word)
کلمه دستورالعملی بسیار طولانی (به انگلیسی: Very long instruction word) (اختصاری VLIW) به معماری واحد پردازنده مرکزی اشاره میکند که برای بهرهبرداری از فواید توازی در سطح دستورالعمل (ILP) طراحی شدهاست. پردازشگری که هر دستورالعمل را بعد از دیگری اجرا میکند (معماری غیر خط لولهای دارد)، ممکن است منابع پردازش را به نحو فریبندهای استفاده کند که این امر میتواند باعث عملکرد ضعیف شود. کارایی میتواند با اجرای همزمان زیر گامهای مختلف از دنبالههای دستورها (Pipelining) یا حتی اجرای دستورها چندتایی به شکل کاملاً همزمان درست مانند معماریهای Superscalar، بهبود یابد. برای بهبود بیشتر میتوان دستورالعملها را با نظمی متفاوت از آنچه در برنامه نشان داده شدهاند اجرا کرد. به این عمل اجرای خارج از نظم گفته میشود.
- پردازندههای موازی (Multi-core Processors)
رایانش موازی نوعی رایانش است که در آن بسیاری از محاسبات یا فرایندها بهطور همزمان انجام میشوند. مشکلات بزرگ را اغلب میتوان به مشکلات کوچکتر تقسیم کرد، سپس میتوان همزمان آنها را حل کرد. چندین فرم مختلف رایانش موازی وجود دارد: سطح بیت، سطح دستورالعمل، دادهها و موازی کاری.
موازی سازی مدت هاست که در رایانش دارای عملکرد بالا (ابر رایانه) مورد استفاده قرار میگیرد، اما به دلیل محدودیتهای فیزیکی که مانع از افزایش فرکانس (frequency scaling) بیشتر میشوند، اقبال گستردهتری پیدا کردهاست. از آنجا که مصرف برق (و در نتیجه تولید گرما) توسط رایانهها در سالهای اخیر به یک نگرانی تبدیل شدهاست، رایانش موازی به الگوی غالب در معماری رایانه تبدیل شدهاست، که عمدتاً به صورت پردازندههای چند هسته ای است.
یه مقاله کامل درباره بررسی و مقایسه کامل پردازنده های Intel core vs Intel xeon داریم ، که اینجا میتونید بخونید.
مفاهیم کلیدی مرتبط با پردازندههای کامپیوتری
- معماری پردازنده
معماری پردازنده شامل ساختار داخلی پردازنده و نحوه اجرای دستورات است. معماری میتواند CISC مجموعه دستورات پیچیده یا RISC مجموعه دستورات کاهش یافته باشد.
- هستههای پردازشی
برخی پردازندهها دارای چندین هسته پردازشی هستند که به صورت موازی عمل میکنند و بهبود عملکرد و کارایی سیستم را فراهم میکنند.
- سرعت پردازنده
سرعت پردازنده به هر ثانیهای که پردازنده میتواند تعداد دستورات را اجرا کند، اشاره دارد. این سرعت به واحد هرتز (Hz) اندازه گیری میشود.
- حافظه نهان
پردازندهها دارای حافظههای نهان هستند که استفاده از آنها باعث افزایش سرعت اجرای دستورات میشود. حافظههای نهان به صورت سلسله مراتبی و در سطوح مختلف (مانند حافظه نهان سطح یک، دو و سه) در پردازنده وجود دارند.
- فناوری ساخت
پردازندهها با استفاده از فناوریهای ساخت مختلف تولید میشوند.
- نوع ارتباط با سایر اجزای سیستم
پردازنده با سایر اجزای سیستم کامپیوتری از طریق رابطهای ارتباطی مختلف ارتباط برقرار میکند. این شامل رابطهایی مانند رابط حافظه (Memory Interface)، رابط ورودی/خروجی I/O Interface و رابط سیستم (System Interface) است.
- مصرف برق و کارایی انرژی
با توجه به افزایش توان محاسباتی و عملکرد پردازندهها، مصرف برق نیز افزایش یافته است. اما تلاشهایی نیز برای بهینهسازی مصرف انرژی و افزایش کارایی انرژی در پردازندههای جدید صورت گرفته است.
- تکنولوژی تولید
فناوری تولید پردازندهها در طول سالیان گذشته به طور چشمگیری پیشرفت کرده است. این پیشرفت باعث کاهش اندازه، افزایش تعداد ترانزیستورها در یک پردازنده و افزایش سرعت عملکرد آن میشود.
یه مقاله کامل با موضوع نقد و بررسی پردازنده Core i7 4770 Haswell داریم که اینجا میتونید بخونید.
شرکت های تولید پردازنده های کامپیوتری
پردازندههای معروف و شرکتهای تولید کننده در بازار پردازندهها، شرکتهایی مانند Intel و AMD به عنوان دو شرکت بزرگ و معروف شناخته میشوند. هر یک از این شرکتها پردازندههای متنوعی برای مصارف مختلف ارائه میدهند.
پردازندههای Ryzen 9 7950X و Ryzen 5 7600X، جدیدترین مدلها از خانوادهی پردازندههای دسکتاپ AMD هستند که قرار است نام این شرکت را بار دیگر بر سر زبانها بیندازند.
شرکت اینتل از نسل ۱۴ پردازنده های خودش رونمایی کرد. نسل ۱۴ پردازندههای اینتل برای کامپیوترهای دسکتاپ مدلی جدید از معماری Raptor Lake به حساب میآیند. پردازنده نسل ۱۴ اینتل شامل Core i9-14900K/KF، Core i7-14700K/KF و Core i5-14600K/KF میشود.
تحولات آینده: با پیشرفت فناوری و رشد نیازهای محاسباتی، پردازندههای آینده ممکن است با تغییرات و بهبودهای جدیدی مواجه شوند. ممکن است از تکنولوژیهای جدیدی مانند پردازندههای کوانتومی استفاده شود و یا معماریهای جدیدی برای بهبود عملکرد و کارایی پردازندهها توسعه یابد.
در کل، پردازندههای کامپیوتری از طریق توانمندیها و قابلیتهای خود، نقش بسیار مهمی در اجرای برنامهها و عملکرد کامپیوترها ایفا میکنند. با پیشرفت تکنولوژی و نیازهای روزافزون کاربران، پردازندههای کامپیوتری نیز بهبودها و نوآوریهای جدیدی را تجربه کردهاند.
مطالب مرتبط