واحد پردازش مرکزی

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از پردازشگر)
پردازنده 80486DX2 ساخت شرکت اینتل
تصویر دای میکرو پردازنده Intel 80486DX2

واحد پردازش مرکزی (به انگلیسی: central processing unit) یا همان پردازنده مرکزی، پردازنده اصلی، یا فقط پردازنده، یک مدار الکترونیکی است که دستورالعمل هایی را اجرا می‌کند که تشکیل دهنده یک برنامه کامپیوتری هستند. واحد پردازنده مرکزی، اعمال اصلی حسابی، منطقی، کنترل و ورودی-خروجی (به انگلیسی:input/output) را انجام می دهد. این اعمال توسط دستورالعمل‌های برنامه مشخص می‌شوند. آنچه که ذکر شد تفاوت بسیاری با اجزای خارجی نظیر حافظه اصلی و مدار ورودی- خروجی [۱] و پردازنده های اختصاصی نظیر واحد پردازنده گرافیکی دارد.
فرم، طراحی، و پیاده سازی CPU ها در طول زمان تغییر کرده است، اما عملیات پایه ای آنها تقریباً بدون تغییر باقی مانده است. اجزای اصلی یک CPU عبارتند از: واحد محاسبه و منطق (به انگلیسی: Arithmetic Logic Unit) که عملیات حسابی و منطقی را انجام می دهد، رجیسترهای پردازنده که برای ALU عملوند فراهم می‌کنند و نتایج عملیات را ذخیره می کنند، و یک واحد کنترل که عمل استخراج دستورالعمل ها از حافظه و اجرای آن ها را با هدایت کردن عملیات هماهنگ ALU، رجیسترها و سایر اجزا سازماندهی می کند.
اکثر CPU های جدید، روی ریزپردازنده های مدار مجتمع(به انگلیسی: integrated circuit)، با یک یا بیش از یک CPU، روی یک تراشه ی IC نیمه هادی اکسید فلز (به انگلیسی: metal-oxide-semiconductor) پیاده سازی می شوند. تراشه های ریزپردازنده ها که دارای چندین CPU هستند، پردازنده های چند هسته ای نام دارند. می‌توان CPU های فیزیکی منفرد، با نام هسته های پردازنده، را نیز چند ریسه ای(به انگلیسی: multithread) کرد تا CPU های منطقی یا مجازی بیشتری به وجود آید. [۲] یک IC که حاوی یک CPU است، ممکن است دارای حافظه، رابط های محیطی، و سایر اجزای یک کامپیوتر باشد؛ این ابزارهای مجتمع در مجموع میکروکنترلر یا سیستم های روی یک تراشه (به انگلیسی: systems on a chip) نام دارند.
پردازنده های آرایه ای یا پردازنده های برداری(به انگلیسی: vector) دارای چندین پردازنده هستند که به صورت موازی عمل می کنند و هیچ واحدی در مرکزیت قرار ندارد. CPU های مجازی یک فرم انتزاعی از منابع محاسباتی مجتمع پویا هستند.[۳]

تاریخچه[ویرایش]

EDVAC یکی از اولین رایانه‌هایی بود که قابلیت ذخیره برنامه داشت.

کامپیوترهای ابتدایی همچون ENIAC، برای انجام کارهای مختلف باید سیم کشی مجدد می شدند، از این جهت به آنها "کامپیوترهای برنامه-ثابت" می گفتند.[۴] اصطلاح "واحد پردازش مرکزی"، از اوایل سال ۱۹۵۵ استفاده شده است. [۵][۶] از آنجایی که اصطلاح CPU به طور کلی، به ابزاری برای اجرای نرم افزار (برنامه ی کامپیوتر) اطلاق می شود، ابتدایی‌ترین ابزارهایی که به درستی CPU نام گرفتند، در واقع با ابداع کامپیوترهای ذخیره کننده ی برنامه به وجود آمدند.

ایده ی یک کامپیوتر ذخیره کننده ی برنامه، قبل از این در طراحی سیستم ENIAC آقای J. Presper Eckert و John William Mauchly وجود داشت، اما در ابتدا حذف شد تا زودتر تمام شود.[۷] در ۳۰ ژوئن ۱۹۴۵ و قبل از ساخت ENIAC، ریاضیدانی به نام John von Neumann مقاله ای را تحت عنوان "اولین پیش‌نویس یک گزارش در رابطه با EDVAC"  منتشر کرد ، که توصیفی کلی از یک کامپیوتر ذخیره کننده ی برنامه بود که سرانجام، در آگوست ۱۹۴۹ کامل شد.  [۸] کامپیوتر EDVAC طوری طراحی شد تا تعداد خاصی از دستورالعمل ها (یا عملیات) مختلف را اجرا کند. با تفاوت چشمگیر، برنامه های نوشته شده برای EDVAC قابل ذخیره سازی در حافظه  ی سریع کامپیوتر بود و نه به شکل سیم کشی فیزیکی در کامپیوتر. [۹] این نوآوری موجب برطرف شدن برخی محدودیت های شدید ENIAC شد، که عبارت بودند از: مدت زمان و تلاش زیاد برای پیکربندی مجدد کامپیوتر برای انجام یک کار جدید. [۱۰] با استفاده از طراحی آقای John von Neumann، برنامه ای که کامپیوتر EDVAC می توانست اجرا کند، به سادگی با تغییر دادن محتویات حافظه، قابل تغییر بود. با این وجود، EDVAC اولین کامپیوتر ذخیره کننده ی برنامه نبود. نوزاد منچستر (به انگلیسی: Manchester Baby)، یک کامپیوتر کوچک تحقیقاتی با قابلیت ذخیره سازی برنامه بود که اولین برنامه را در ۲۱ ژوئن ۱۹۴۸ اجرا کرد [۱۱] و کامپیوتر Manchester Mark 1 اولین برنامه خود را در شب ۱۶ یا ۱۷ام ژوئن ۱۹۴۵ اجرا کرد.  [۱۲]

اولین CPU ها دارای طراحی سلیقه ای بودند و به عنوان بخشی از یک کامپیوتر بزرگتر و گاهی خاص استفاده می شدند.[۱۳] با این حال، این روش سلیقه ای طراحی CPU ها برای کاربری خاص، به طور چشمگیری راه را برای تولید پردازنده‌هایی با کاربرد چندگانه و به صورت انبوه هموار کرد. این استاندارد سازی، در دوره ی رایانه های بزرگ (به انگلیسی: mainframe) ترانزیستوری گسسته و ریز کامپیوتر ها(به انگلیسی: minicomputer ) شروع شد و با فراگیری مدارهای مجتمع، به سرعت شتاب پیدا کرد. مدار مجتمع، امکان طراحی و تولید CPU های پیچیده تر را تا حد تحمل نانومتری فراهم کرد. هم کوچک سازی و هم استاندارد سازی CPU ها، موجب افزایش و فراگیری ابزارهای دیجیتال در زندگی مدرن شد، که بسیار بیشتر از کاربرد محدود آن ها در ماشین های محاسباتی اختصاصی بود. ریزپردازنده های جدید در ابزارهای الکترونیک، از خودروها گرفته[۱۴] تا گوشی های همراه [۱۵] و حتی گاهی در اسباب بازی ها موجود. [۱۶][۱۷]
آقای von Neumann، بخاطر طراحی کامپیوتر ذخیره کننده ی برنامه شناخته شده است، که به خاطر تلاش وی برای ساخت EDVAC است. بعدها این طراحی، معماری von Neumann نام گرفت. با این وجود، افرادی قبل از او، نظیر آقای Konrad Zuse ایده های مشابهی را پیشنهاد و پیاده سازی کردند.[۱۸] معماری هاروارد نیز، که مربوط به Harvard Mark I است و قبل از EDVAC کامل شد، [۱۹][۲۰] از طراحی ذخیره سازی برنامه استفاده کرد، که به جای حافظه الکترونیک، از نوار کاغذی سوراخ شده استفاده می کرد. [۲۱] تفاوت کلیدی بین معماری های آقای von Neumann و هاروارد این است که در معماری هاروارد، ذخیره سازی و استفاده از دستورالعملهای CPU از داده ها جدا شده است، در حالیکه در معماری von Neumann از حافظه یکسانی برای ذخیره ی داده ها و دستورالعمل ها استفاده می شود. [۲۲] اکثر CPU های جدید برمبنای von Neumann طراحی شده اند. اما معماری هاروارد نیز وجود دارد، خصوصاً در کاربرد های نهفته، برای مثال، میکروکنترلرهای Atmel AVR، در واقع، پردازنده های مبتنی بر معماری هاروارد هستند. [۲۳]
رله ها و لامپ ها ی خلأ (به انگلیسی: vacuum tubes)  (یا همان لوله های ترمیونیک) به طور شایعی به عنوان عناصر سوئیچ استفاده می شدند.[۲۴][۲۵] یک کامپیوتر کاربردی نیاز به هزاران یا ده ها هزار ابزار سوئیچ دارد. سرعت کلی یک سیستم وابسته به سرعت سوئیچ ها است. کامپیوترهای لامپ خلاء (نظیر EDVAC)، به طور میانگین ۸ ساعت از یک شکست تا شکست بعدی زمان می بردند، در حالیکه کامپیوترهای رله ای، نظیر، Harvard Mark I (که کندتر اما قدیمی تر است) بندرت دچار شکست می‌شدند. درنهایت، CPU های مبتنی بر لامپ خلاء، غلبه پیدا کردند، زیرا مزایای سرعت چشمگیر از مشکلات  قابل اعتماد بودن بیشتر است. اکثر این CPU های همگام، در مقایسه با طراحی های میکرو الکترونیک جدید دارای سرعت های ساعتی پایین بودند. در آن زمان، فرکانس های سیگنال ساعت، به طور شایع در محدوده ۱۰۰ کیلو هرتز تا ۴ مگاهرتز بود، که این سرعت، به میزان زیادی به دلیل سرعت ابزارهای سوئیچ مورد استفاده در داخل آن ها، محدود می‌شد.[۲۶]

پردازنده‌های ترانزیستوری[ویرایش]

پردازنده و حافظه مغناطیسی و رابط BUS رایانه DEC PDP-8/I که از مدارهای الکتریکی سایز متوسط ساخته شده‌اند.

پیچیدگی طراحی پردازنده ها، همزمان با آسان شدن ساخت ابزار های الکترونیک کوچک تر و قابل اعتماد تر در نتیجه ی افزایش تکنولوژی های مختلف، افزایش یافت. اولین پیشرفت در نتیجه ابداع ترانزیستور حاصل شد. در طی دهه های ۱۹۵۰ و ۱۹۶۰، دیگر لازم نبود که برای ساخت پردازنده های ترانزیستوری از عناصر سوئیچ حجیم ،نامطمئن ،و شکننده همچون لامپ های خلاء و رله ها استفاده کرد.[۲۷] با این پیشرفت ها، پردازنده های پیچیده تر و قابل اطمینان تر، بر روی یک یا چندین بورد مدار چاپی(به انگلیسی:printed circuit boards) که حاوی اجزاء گسسته (منفرد) بودند، پیاده سازی شدند.
در سال ۱۹۶۴، شرکت IBM، یک معماری کامپیوتر به نام IBM System/360 ارائه کرد، که در مجموعه ای از کامپیوتر هایی استفاده شد که قادر بودند برنامه های مشابهی را، با سرعت ها و کارایی متفاوت اجرا کنند. [۲۸]  این نوآوری در آن زمان اهمیت چشمگیری داشت، زیرا اکثر کامپیوتر های الکترونیک، حتی آنهایی که توسط یک شرکت ساخته می‌شدند، با یکدیگر ناسازگار بودند. شرکت IBM برای ارتقاء این نوآوری، از مفهوم یک ریز برنامه (یا همان ریز کد) استفاده کرد که هنوز کاربرد گسترده‌ای در پردازنده های جدید دارد. [۲۹] معماری System/360، آنقدر محبوب شد که بمدت دهه ها بازار رایانه های بزرگ را به دست گرفت، و هنوز هم توسط کامپیوترهای جدید مشابهی نظیر IBM zSeries ادامه پیدا کرده است. در سال ۱۹۶۵، شرکت تجهیزات دیجیتال (Digital Equipment Corporation)، یک کامپیوتر تاثیرگذار دیگر را با هدف فروش علمی و تحقیقاتی ارائه کرد، که PDP-8 نام داشت.
کامپیوترهای ترانزیستوری مزایای منحصر به فرد متعددی در مقایسه با کامپیوتر های پیشین داشتند.ترانزیستورها علاوه بر افزایش دادن قابلیت اعتماد و کاهش مصرف انرژی، همچنین به پردازنده ها این امکان را دادند تا با سرعت های بسیار بالا تر کار کنند، زیرا زمان سوئیچ یک ترانزیستور، در مقایسه با یک لامپ خلا یا رله کوتاه تر است.[۳۰] به واسطه افزایش قابلیت اطمینان و سرعت عناصر سوئیچ (که در حال حاضر تقریباً تماما ترانزیستور هستند)، سرعت ساعت پردازنده ها در این زمان، به سادگی، به ده‌ها مگاهرتز رسید. [۳۱] علاوه بر این، در حالیکه ترانزیستورهای گسسته و پردازنده های مدار مجتمع استفاده ی بسیار زیادی داشتند، طراحی هایی جدید با کارایی بالا، همچون پردازنده های برداری SIMD (یک دستورالعمل، چند داده) شروع به ظهور  کردند. [۳۲] این طراحی های تحقیقاتی ابتدایی، بعد ها باعث ظهور دوره ی ابررایانه های اختصاصی، نظیر ابررایانه های ساخته شده توسط شرکت Cray Inc و Fujitsu Ltd شد.

پردازنده‌های مجتمع کوچک-مقیاس[ویرایش]

در این دوره، روشی برای تولید تعداد زیادی ترانزیستور بهم متصل در یک فضای فشرده ابداع شد. مدار مجتمع این امکان را فراهم کرد تا تعداد زیادی ترانزیستور را بتوان بر روی یک دای(به انگلیسی: die) نیمه هادی (یا همان chip) تولید کرد. در ابتدا فقط مدارهای دیجیتال غیر اختصاصی بسیار پایه ای همچون گیت های NOR در داخل آی سی ها کوچک سازی شدند. [۳۳] به طور کلی، پردازنده هایی که مبتنی بر این آی سی های "بلوک سازنده" هستند، ابزارهای "مجتمع کوچک-مقیاس" (به انگلیسی: small-scale integration ) نام دارند. آی سی های SSI، نظیر آی سی هایی که در کامپیوتر هدایت کننده آپولو استفاده شدند، معمولاً حاوی حداکثر ده ها ترانزیستور بودند. برای ساخت یک پردازنده ی کامل با استفاده از آی سی های SSI نیاز به هزاران چیپ بود، با این حال، این ها، در مقایسه با طراحی های ترانزیستوری گسسته ی پیشین، مصرف انرژی و فضای بسیار کمتری داشتند. [۳۴] سیستم IBM System/370، که به دنبال System/360 آمد، به جای ماژول‌های ترانزیستوری-گسسته با تکنولوژی Solid Logic Technology، از آی سی های SSI استفاده کرد. [۳۵][۳۶] سیستم PDP-8/I و KI10 PDP-10 متعلق به شرکت DEC نیز، ترانزیستورهای مورد استفاده در سیستم‌های PDP-8 و PDP-10 را کنار گذاشت، [۳۷] و به سراغ آی سی های SSI رفت و سیستم خطی PDP-11 آن ها، که بسیار محبوب بود، در ابتدا توسط آی سی های SSI ساخته شد، اما سرانجام با استفاده از اجزای LSI،  (در زمانی که این اجزا عملی شده بودند) پیاده‌سازی شد.

پردازنده‌های مجتمع بزرگ-مقیاس[ویرایش]

ماسفت (به انگلیسی: metal-oxide-semiconductor field-effect transistor)، یا همان ترانزیستور MOS، توسط آقایان Mohamed Atalla و Dawon Kahng در آزمایشگاه Bell Labs، در سال ۱۹۵۹ اختراع شدند و در سال ۱۹۶۰ ثبت شدند. [۳۸] این امر منجر به تولید مدار مجتمع MOS شد، که در سال ۱۹۶۰ توسط Atalla  و در سال ۱۹۶۱ توسط Kahng مطرح شد [۳۹] و سپس توسط Fred Heiman و Steven Hofstein در شرکت RCA، در سال ۱۹۶۲ تولید شد. [۳۸] [۴۰] ماسفت با داشتن مقیاس پذیری بالا و مصرف انرژی بسیار کمتر و تراکم بالاتر در مقایسه با ترانزیستور های پیوندی دوقطبی،[۴۱] امکان تولید مدارهای مجتمع با تراکم بالا را فراهم کرد. [۴۲][۴۳]

آقای Lee Boysel مقالات تاثیرگذاری را، از جمله یک بیانیه، در سال ۱۹۶۷ منتشر کرد که توضیح می داد چگونه یک کامپیوتر بزرگ ۳۲ بیتی را با استفاده از تعداد نسبتا کمی از مدارهای مجتمع مقیاس بزرگ بسازیم.[۴۴][۴۵] تنها روش برای ساخت چیپ های LSI که دارای ۱۰۰ یا بیش از ۱۰۰ گیت بودند، استفاده از فرایند تولید نیمه هادی اکسید فلز ( PMOS , NMOS , CMOS ) بود. با این حال، برخی شرکت ها، همچنان پردازنده ها را با استفاده از چیپ های  TTL دوقطبی (به انگلیسی: bipolar transistor–transistor logic ) می ساختند، زیرا ترانزیستورهای پیوند دوقطبی تا زمان دهه ۱۹۷۰ در مقایسه با چیپ های MOS سریع تر بودند (چند شرکت هم چون Datapoint، تا اوایل دهه ۱۹۸۰، پردازنده‌ها را با استفاده از چیپ های TTL می ساختند). در دهه ی ۱۹۶۰، آی سی های MOS کندتر بودند[۴۶][۴۷]  و در ابتدا، فقط در مواردی با مصرف انرژی کمتر، مفید بودند. به دنبال ابداع تکنولوژی MOS بر مبنای گیت سیلیکونی توسط Federico Faggin در شرکت Fairchild Semiconductor، آی سی های MOS به میزان زیادی جایگزین TTL دو قطبی، به عنوان تکنولوژی استاندارد تراشه در اوایل دهه ۱۹۷۰ شدند. [۴۸]

با پیشرفت تکنولوژی میکرو الکترونیک، ترانزیستور های بیشتری در داخل آی سی ها قرار داده شدند، که باعث کاهش تعداد آی سی های مورد نیاز برای یک پردازنده شد. آی سی های MSI و LSI، تعداد ترانزیستور ها را به صدها و سپس هزاران عدد افزایش داد. در سال ۱۹۶۸، تعداد آی سی های مورد نیاز برای ساخت یک پردازنده کامل، به تعداد ۲۴ آی سی از ۸ نوع کاهش پیدا کرد، که هر کدام حاوی تقریباً هزار ماسفت بودند. اولین پیاده سازی سیستم PDP-11 به طریق LSI ، با داشتن تفاوت بسیار با نسل های قبلی SSI و MSI آن، حاوی یک پردازنده بود که فقط از چهار مدار مجتمع LSI تشکیل شده بود. [۴۹] [۵۰]

ریزپردازنده‌ها[ویرایش]

پیشرفت در زمینه تکنولوژی مدار مجتمع MOS، منجر به ابداع ریز پردازنده در اوایل دهه ی ۱۹۷۰ شد. [۵۱] از زمان ارائه ی اولین ریزپردازنده ی تجاری، یعنی اینتل ۴۰۰۴ در سال ۱۹۷۱، و اولین ریزپردازنده ای که به طور گسترده مورد استفاده قرار گرفت، یعنی اینتل ۸۰۸۰ در سال ۱۹۷۴، این کلاس از پردازنده ها، تقریباً به طور کامل، تمام روش های دیگر پیاده سازی پردازنده را از رده خارج کرده اند. تولید کننده های رایانه های بزرگ و مینی کامپیوتر ها در آن زمان، برنامه‌های تولید آی سی مالکیتی را آغاز کردند، تا معماری های کامپیوتری قدیمی خود را ارتقا دهند و سرانجام، ریز پردازنده‌هایی ابداع کردند که با مجموعه ی دستورالعمل و همچنین با سخت‌افزار و نرم‌افزار قدیمی آن ها نیز سازگاری داشتند. با در نظر گرفتن پیشرفت و موفقیت همه گیرکامپیوترهای شخصی، در حال حاضر، اصطلاح CPU تقریباً به طور کامل به ریزپردازنده ها اطلاق می‌شود. می‌توان چندین CPU (به نام هسته) را در یک چیپ پردازشی با هم ترکیب کرد.[۵۲]
نسل های قبلی پردازنده ها، به شکل اجزای گسسته و آی سی های کوچک متعدد در یک یا بیش از یک برد مدار پیاده سازی می ‌شدند.[۵۳] این در حالی است که ریز پردازنده ها، درواقع، پردازنده هایی هستند که با استفاده از تعداد بسیار کمی از آی سی ها (معمولاً فقط یکی) تولید می شوند.[۵۴] در نتیجه ی پیاده سازی روی یک دای، اندازه ی کلی پردازنده ها کوچک تر شد که منجر به افزایش سرعت سوئیچ شد، که دلیل آن، فاکتورهای فیزیکی نظیر کاهش ظرفیت خازنی پارازیتی(به انگلیسی: parasitic capacitance) بود.[۵۵][۵۶] این امر باعث شده است تا ریزپردازنده های همگام، دارای سرعت های ساعتی با محدوده ی ده ها مگاهرتز تا چندین گیگاهرتز باشند. علاوه بر این، قابلیت ساخت ترانزیستور های بسیار کوچک در یک آی سی، باعث افزایش پیچیدگی و تعداد ترانزیستورها در یک پردازشگر، به میزان چندین برابر، شد. این رویه ای که به طور گسترده مشاهده می شود، تحت قانون Moore توصیف می‌شود، که ثابت شده است،  پیش بینی کننده ای نسبتاً دقیق برای رشد پیچیدگی پردازنده (و سایر آی سی ها) تا سال ۲۰۱۶ بود.[۵۷][۵۸]
اگرچه پیچیدگی، اندازه، ساختار، و فرم کلی پردازنده ها از سال ۱۹۵۰ بسیار تغییر کرده است، اما طراحی و عملکرد اساسی آن ها زیاد تغییر نکرده است. [۵۹]تقریباً تمام پردازنده های مرسوم امروزی را می توان به شکل بسیار دقیقی، به فرم ماشین های ذخیره کننده برنامه ای von Neumann، توصیف کرد. [۶۰]از آنجایی که قانون Moore دیگر صدق نمی کند، نگرانی‌هایی پیرامون محدودیت‌های تکنولوژی ترانزیستوری مدار مجتمع بوجود آمده است. کوچک سازی بسیار زیاد گیت های الکترونیک موجب شده است تا اثرات پدیده‌هایی نظیر، مهاجرت الکتریکی(به انگلیسی: electromigration) و نشت تحت-آستانه ای(به انگلیسی:subthreshold leakage) بسیار چشمگیرتر شوند.[۶۱][۶۲] این نگرانی های جدیدتر، از جمله فاکتورهایی هستند که موجب شده اند تا محققان به دنبال روش های جدید محاسبه، نظیر کامپیوتر کوانتومی و همچنین توسعه ی استفاده از موازی گرایی و سایر روش هایی که مزایای مدل کلاسیکvon Neumann را افزایش می دهند، باشند.

پردازنده‌های چندهسته‌ای[ویرایش]

ابتدا پردازنده ها فقط یک هسته داشتند و این به آن معناست که آن ها فقط می توانستند مجموعه ای از تسک ها را انجام دهند. این محدودیت پردازنده باعث شد تا سازندگان به فکر راهی برای بهبود عملکر و کارایی آن ها بیفتند و این موضوع به خلق پردازنده‌های چند هسته ای (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) خود ذخیره می‌کند.

گذرگاه‌ها[ویرایش]

پردازنده برای تعامل با رم و کارت گرافیک می بایست از سه گذرگاه استفاده کند.

  1. گذرگاه کنترل
  2. گذرگاه سامانه
  3. گذرگاه آدرس‌دهی

طراحی پردازنده[ویرایش]

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

واحد کنترل[ویرایش]

واحد کنترل یا 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 چند هسته‌ای (چند پردازشی در سطح تراشه) و به‌طور قابل ذکر طراحی‌های جدیدتر اینتل که مشابه معماری کمتر سوپرسکیلر بودند، مشاهده کرد. طراحی‌های بعدی در چندین خانوادهٔ پردازنده، 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) می توان تا حداکثر امکان پردازش‌های گرافیکی ضعیف را با واحد پردازش مرکزی انجام داد.

مجموعه دستورالعمل[ویرایش]

یک مدل مفهومی رایانه است. همچنین اشاره به معماری و معماری رایانه دارد. مجموعه دستورالعمل شامل چهار دستورالعمل است که پردازنده‌ها وظیفه انجام آنها را دارند:

پردازنده رایانه جیبی[ویرایش]

پردازنده‌­های رایانه جیبی بهینه شده تا با مصرف پایین برق و انرژی زیاد بتوان از آنها استفاده کرد. این نوع پردازنده‌ها ترکیبی از پردازنده، رم و پردازنده گرافیکی هستند که سامانه روی یک تراشه نام دارند.

پردازنده سرور[ویرایش]

پردازنده زی‌آن

این نوع پردازنده ها از توانمندی بالاتری نسبت به پردازنده های معمولی خود برخوردار است.

زی‌آن (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 به معنی مصرف کم هستند.

بازار تولید تراشه[ویرایش]

به‌ دنبال دنیاگیری کووید ۱۹ بسیاری از کارخانه‌های تولیدی به‌صورت موقت تعطیل شدند و همین موضوع باعث شده است. کمبود تراشه روی صنایع مختلفی اثر گذاشته که یکی از مهم‌ترین آن‌ها صنعت گوشی‌ هوشمند است.[۷۱] اپل، سامسونگ و هواوی بزرگترین خریداران تراشه در سال ۲۰۲۰ بوده‌اند. میزان خرید هواوی به علت تحریم‌های ایالات متحده آمریکا در مقایسه با سال ۲۰۱۹ در حدود ۲۳ درصد کمتر شده است.[۷۲]

جستارهای وابسته[ویرایش]

منابع[ویرایش]

  1. Kuck, David (1978). Computers and Computations, Vol 1. John Wiley & Sons, Inc. p. 12. ISBN 978-0471027164.
  2. Thomas Willhalm; Roman Dementiev; Patrick Fay (December 18, 2014).
  3. Liebowitz, Kusek, Spies, Matt, Christopher, Rynardt (2014). VMware vSphere Performance: Designing CPU, Memory, Storage, and Networking for Performance-Intensive Workloads. Wiley. p. 68. ISBN 978-1-118-00819-5.
  4. Regan, Gerard (2008). A Brief History of Computing. p. 66. ISBN 978-1848000834. Retrieved 26 November 2014.
  5. Weik, Martin H. (1955). "A Survey of Domestic Electronic Digital Computing Systems". Ballistic Research Laboratory.
  6. Weik, Martin H. (1961). "A Third Survey of Domestic Electronic Digital Computing Systems". Ballistic Research Laboratory.
  7. "Bit By Bit". Haverford College. Archived from the original on October 13, 2012. Retrieved August 1, 2015.
  8. "First Draft of a Report on the EDVAC" (PDF). Moore School of Electrical Engineering, University of Pennsylvania. 1945.
  9. Stanford University. "The Modern History of Computing". The Stanford Encyclopedia of Philosophy. Retrieved September 25, 2015.
  10. "ENIAC's Birthday". The MIT Press. February 9, 2016. Retrieved October 17, 2018.
  11. Enticknap, Nicholas (Summer 1998), "Computing's Golden Jubilee", Resurrection, The Computer Conservation Society (20), ISSN 0958-7403, retrieved 26 June 2019
  12. "The Manchester Mark 1". The University of Manchester. Retrieved September 25, 2015.
  13. "The First Generation". Computer History Museum. Retrieved September 29, 2015.
  14. Turley, Jim. "Motoring with microprocessors". Embedded. Retrieved November 15, 2015.
  15. "Mobile Processor Guide – Summer 2013". Android Authority. 2013-06-25. Retrieved November 15, 2015.
  16. "Section 250: Microprocessors and Toys: An Introduction to Computing Systems". The University of Michigan. Retrieved October 9, 2018.
  17. "ARM946 Processor". ARM. Archived from the original on 17 November 2015.
  18. "Konrad Zuse". Computer History Museum. Retrieved September 29, 2015.
  19. "Timeline of Computer History: Computers". Computer History Museum. Retrieved November 21, 2015.
  20. White, Stephen. "A Brief History of Computing - First Generation Computers". Retrieved November 21, 2015.
  21. "Harvard University Mark - Paper Tape Punch Unit". Computer History Museum. Retrieved November 21, 2015.
  22. "What is the difference between a von Neumann architecture and a Harvard architecture?". ARM. Retrieved November 22, 2015.
  23. "Advanced Architecture Optimizes the Atmel AVR CPU". Atmel. Retrieved November 22, 2015.
  24. "Switches, transistors and relays". BBC. Archived from the original on 5 December 2016.
  25. "Introducing the Vacuum Transistor: A Device Made of Nothing". IEEE Spectrum. 2014-06-23. Retrieved 27 January 2019.
  26. What Is Computer Performance?. The National Academies Press. 2011. doi:10.17226/12980. ISBN 978-0-309-15951-7. Retrieved May 16, 2016.
  27. "1953: Transistorized Computers Emerge". Computer History Museum. Retrieved June 3, 2016.
  28. "IBM System/360 Dates and Characteristics". IBM. 2003-01-23.
  29. Amdahl, G. M.; Blaauw, G. A.; Brooks, F. P. Jr. (April 1964). "Architecture of the IBM System/360". IBM Journal of Research and Development. IBM. 8 (2): 87–101. doi:10.1147/rd.82.0087. ISSN 0018-8646.
  30. "Transistors, Relays, and Controlling High-Current Loads". New York University. ITP Physical Computing. Retrieved 9 April 2016.
  31. Lilly, Paul (2009-04-14). "A Brief History of CPUs: 31 Awesome Years of x86". PC Gamer. Retrieved June 15, 2016.
  32. Patterson, David A.; Hennessy, John L.; Larus, James R. (1999). Computer Organization and Design: the Hardware/Software Interface (2. ed., 3rd print. ed.). San Francisco: Kaufmann. p. 751. ISBN 978-1558604285.
  33. "1962: Aerospace systems are first the applications for ICs in computers". Computer History Museum. Retrieved October 9, 2018.
  34. "The integrated circuits in the Apollo manned lunar landing program". National Aeronautics and Space Administration. Retrieved October 9, 2018.
  35. "System/370 Announcement". IBM Archives. 2003-01-23. Retrieved October 25, 2017.
  36. "System/370 Model 155 (Continued)". IBM Archives. 2003-01-23. Retrieved October 25, 2017.
  37. "Models and Options". The Digital Equipment Corporation PDP-8. Retrieved June 15, 2018.
  38. ۳۸٫۰ ۳۸٫۱ https://www.computerhistory.org/siliconengine/metal-oxide-semiconductor-mos-transistor-demonstrated/
  39. Moskowitz, Sanford L. (2016). Advanced Materials Innovation: Managing Global Technology in the 21st century. John Wiley & Sons. pp. 165–167. ISBN 9780470508923.
  40. Motoyoshi, M. (2009). "Through-Silicon Via (TSV)". Proceedings of the IEEE. 97 (1): 43–48. doi:10.1109/JPROC.2008.2007462. ISSN 0018-9219. S2CID 29105721.
  41. "Transistors Keep Moore's Law Alive". EETimes. 12 December 2018.
  42. "Who Invented the Transistor?". Computer History Museum. 4 December 2013.
  43. Hittinger, William C. (1973). "Metal-Oxide-Semiconductor Technology". Scientific American. 229 (2): 48–59. Bibcode:1973SciAm.229b..48H. doi:10.1038/scientificamerican0873-48. ISSN 0036-8733. JSTOR 24923169.
  44. Ross Knox Bassett (2007). To the Digital Age: Research Labs, Start-up Companies, and the Rise of MOS Technology. The Johns Hopkins University Press. pp. 127–128, 256, and 314. ISBN 978-0-8018-6809-2.
  45. Ken Shirriff. "The Texas Instruments TMX 1795: the first, forgotten microprocessor".
  46. "Speed & Power in Logic Families"..
  47. T. J. Stonham. "Digital Logic Techniques: Principles and Practice". 1996. p. 174.
  48. "1968: Silicon Gate Technology Developed for ICs". Computer History Museum.
  49. R. K. Booher. "MOS GP Computer". afips, pp.877, 1968 Proceedings of the Fall Joint Computer Conference, 1968 doi:10.1109/AFIPS.1968.126
  50. "LSI-11 Module Descriptions" (PDF). LSI-11, PDP-11/03 user's manual (2nd ed.). Maynard, Massachusetts: Digital Equipment Corporation. November 1975. pp. 4–3.
  51. "1971: Microprocessor Integrates CPU Function onto a Single Chip". Computer History Museum.
  52. Margaret Rouse (March 27, 2007). "Definition: multi-core processor". TechTarget. Retrieved March 6, 2013.
  53. Richard Birkby. "A Brief History of the Microprocessor". computermuseum.li. Archived from the original on September 23, 2015. Retrieved October 13, 2015.
  54. Osborne, Adam (1980). An Introduction to Microcomputers. Volume 1: Basic Concepts (2nd ed.). Berkeley, California: Osborne-McGraw Hill. ISBN 978-0-931988-34-9.
  55. Zhislina, Victoria (2014-02-19). "Why has CPU frequency ceased to grow?". Intel. Retrieved October 14, 2015.
  56. "MOS Transistor - Electrical Engineering & Computer Science" (PDF). University of California. Retrieved October 14, 2015.
  57. Simonite, Tom. "Moore's Law Is Dead. Now What?". MIT Technology Review. Retrieved 2018-08-24.
  58. "Excerpts from A Conversation with Gordon Moore: Moore's Law" (PDF). Intel. 2005. Archived from the original (PDF) on 2012-10-29. Retrieved 2012-07-25.
  59. "A detailed history of the processor". Tech Junkie. 15 December 2016.
  60. Eigenmann, Rudolf; Lilja, David (1998). "Von Neumann Computers". Wiley Encyclopedia of Electrical and Electronics Engineering. doi:10.1002/047134608X.W1704. ISBN 047134608X. S2CID 8197337.
  61. Saraswat, Krishna. "Trends in Integrated Circuits Technology" (PDF). Retrieved June 15, 2018.
  62. "Electromigration". Middle East Technical University. Retrieved June 15, 2018.
  63. "GIGA- | meaning in the Cambridge English Dictionary". dictionary.cambridge.org. Retrieved 2021-01-19.
  64. «تشخیص تعداد هسته پردازنده لپ تاپ و کامپیوتر». علم فردا. ۲۰۱۳-۰۹-۱۹. دریافت‌شده در ۲۰۲۱-۰۱-۱۹.
  65. «پردازنده‌ها چگونه طراحی و ساخته می‌شوند؟ (قسمت اول)». زومیت. ۲۰۱۹-۰۹-۲۲. دریافت‌شده در ۲۰۲۱-۰۱-۰۶.
  66. «انواع سی پی یو(CPU)». تکولایف. ۲۰۲۰-۰۵-۰۸. دریافت‌شده در ۲۰۲۰-۱۲-۲۶.
  67. «تفاوت پردازنده های معمولی و Xeon در چیست؟». Server.ir | نگرش جهانی، میزبانی ایرانی. ۲۰۱۴-۱۱-۱۱. دریافت‌شده در ۲۰۲۱-۰۱-۰۷.
  68. «هر آنچه در مورد پردازنده Core i9 اینتل می‌دانیم». زومیت. ۲۰۱۷-۰۹-۲۸. دریافت‌شده در ۲۰۲۱-۰۱-۱۹.
  69. Kingsley-Hughes, Adrian. "AMD unveils world's most powerful desktop CPUs". ZDNet. Retrieved 2021-01-19.
  70. پردازنده‌ها (PDF).
  71. «بلومبرگ: وضعیت بازار تراشه ممکن است بسیار بدتر شود». زومیت. ۲۰۲۱-۰۲-۱۱. دریافت‌شده در ۲۰۲۱-۰۲-۱۱.
  72. نیکویی، توسط اشکان (۲۰۲۱-۰۲-۱۰). «اپل، سامسونگ و هواوی بزرگترین خریداران چیپ در سال 2020». سخت افزار مگ. دریافت‌شده در ۲۰۲۱-۰۲-۱۱.