واحد پردازش مرکزی به اختصار سیپییو ، یک مدار الکترونیکی است که دستورالعملهایی را اجرا میکند که یک برنامهٔ رایانهای را تشکیل میدهند. واحد پردازندهٔ مرکزی، اعمال اصلی محاسباتی، منطقی، کنترل و ورودی/خروجی (input/output) را انجام میدهد. این اعمال توسط دستورالعملهای برنامه مشخص میشوند. آنچه که ذکر شد تفاوت بسیاری با اجزای خارجی، نظیر: حافظهٔ اصلی و مدار ورودی/خروجی و پردازندههای اختصاصی نظیر واحد پردازندهٔ گرافیکی (graphics processing units) دارد.
شکل، طراحی و پیادهسازی CPUها در طول زمان تغییر کردهاست، اما عملیات پایهای آنها تقریباً بدون تغییر باقی ماندهاست. اجزای اصلی یک CPU عبارتاند از: واحد منطق و محاسبه (Arithmetic logic unit) که عملیات حسابی و منطقی را انجام میدهد، رجیسترهای (ثباتهای) پردازنده که برای ALU عملوند فراهم میکنند و نتایج عملیات را ذخیره میکنند، و یک واحد کنترل که عمل واکشی دستورالعملها از حافظه و اجرای آنها را با هدایت کردن عملیات هماهنگ ALU، رجیسترها و سایر اجزا سازماندهی میکند.
اکثر CPUهای جدید، روی ریزپردازندههای مدار مجتمع (integrated circuit)، با یک یا بیش از یک CPU، روی یک تراشهٔ IC نیمهرسانا اکسید فلز (metal-oxide-semiconductor) پیادهسازی میشوند. تراشههای ریزپردازندهها که دارای چندین CPU هستند، پردازندههای چندهستهای نام دارند. میتوان CPUهای فیزیکی منفرد، با نام هستههای پردازنده را نیز چندریسمانی (Multithreading) کرد تا CPUهای منطقی یا مجازی بیشتری به وجود آید.
یک آیسی که حاوی یک CPU است، ممکن است دارای حافظه، رابطهای محیطی، و سایر اجزای یک کامپیوتر باشد؛ این ابزارهای مجتمع در مجموع میکروکنترلر یا سیستمهای روی یک تراشه (Systems on a chip) نام دارند.
پردازندههای آرایهای یا پردازندههای برداری (vector) دارای چندین پردازنده هستند که به صورت موازی عمل میکنند و هیچ واحدی در مرکزیت قرار ندارد CPUهای مجازی یک فرم انتزاعی از منابع محاسباتی مجتمع پویا هستند.

کامپیوترهای ابتدایی همچون انیاک، برای انجام کارهای مختلف باید سیمکشی مجدد میشدند، از این جهت به آنها «کامپیوترهای برنامه-ثابت» میگفتند.اصطلاح «واحد پردازش مرکزی»، از اوایل سال ۱۹۵۵ استفاده شدهاست. از آنجایی که اصطلاح CPU بهطور کلی، به ابزاری برای اجرای نرمافزار (برنامهٔ کامپیوتر) گفته میشود، ابتداییترین ابزارهایی که به درستی CPU نام گرفتند، در واقع با ابداع رایانههای با قابلیت ذخیرهٔ برنامه به وجود آمدند.
ایدهٔ یک کامپیوتر ذخیره کنندهٔ برنامه، قبل از این در طراحی سیستم انیاک آقای جان پرسپر اکرت و جان ماکلی وجود داشت، اما در ابتدا حذف شد تا پروژه زودتر تمام شود. در ۳۰ ژوئن ۱۹۴۵ و قبل از ساخت انیاک، ریاضیدانی به نام جان فون نویمان مقالهای را با عنوان “اولین پیشنویس یک گزارش در رابطه با ادواک (EDVAC)” منتشر کرد، که توصیفی کلی از یک کامپیوتر ذخیرهکنندهٔ برنامه بود که سرانجام، در اوت ۱۹۴۹ کامل شد. کامپیوتر ادواک طوری طراحی شد تا تعداد خاصی از دستورالعملها (یا عملیات)
مختلف را اجرا کند. با تفاوت چشمگیر، برنامههای نوشته شده برای EDVAC قابل ذخیرهسازی در حافظهٔ سریع کامپیوتر بود و نه به شکل سیمکشی فیزیکی در کامپیوتر. این نوآوری موجب برطرف شدن برخی محدودیتهای شدید انیاک شد، که عبارت بودند از: مدت زمان و تلاش زیاد برای پیکربندی مجدد کامپیوتر برای انجام یک کار جدید. با استفاده از طراحی جان فون نویمان، برنامهای که کامپیوتر EDVAC میتوانست اجرا کند، به سادگی با تغییر دادن محتویات حافظه قابل تغییر بود. با این وجود، EDVAC اولین
کامپیوتر ذخیرهکنندهٔ برنامه نبود. منچستر بیبی یک کامپیوتر کوچک تحقیقاتی با قابلیت ذخیرهسازی برنامه بود که اولین برنامه را در ۲۱ ژوئن ۱۹۴۸ اجرا کرد و کامپیوتر Manchester Mark 1 اولین برنامهٔ خود را در شب ۱۶ یا ۱۷ ژوئن ۱۹۴۵ اجرا کرد.
اولین CPUها دارای طراحی سلیقهای بودند و بهعنوان بخشی از یک کامپیوتر بزرگتر و گاهی خاص استفاده میشدند. با این حال، این روش سلیقهای طراحی CPUها برای کاربری خاص، بهطور چشمگیری راه را برای تولید پردازندههایی با کاربرد چندگانه و به صورت انبوه هموار کرد. این استانداردسازی، در دورهٔ رایانههای بزرگ (Mainframe) ترانزیستوری گسسته و ریزرایانهها (Minicomputer) شروع شد و با فراگیری مدارهای مجتمع (آیسیها)، بهسرعت شتاب پیدا کرد. آیسی، امکان طراحی و تولید CPUهای
پیچیدهتر را تا حد تحمل نانومتری فراهم کرد. هم کوچکسازی و هم استانداردسازی CPUها، موجب افزایش و فراگیری ابزارهای دیجیتال در زندگی مدرن شد، که بسیار بیشتر از کاربرد محدود آنها در ماشینهای محاسباتی اختصاصی بود. ریزپردازندههای جدید در ابزارهای الکترونیک، از خودروها گرفته تا گوشیهای همراه و حتی گاهی در اسباببازیها وجود دارند.
جان وان نویمان، به دلیل طراحی کامپیوتر ذخیره کنندهٔ برنامه شناخته شدهاست، که به خاطر تلاش وی برای ساخت EDVAC است. بعدها این طراحی، معماری وان نویمان نام گرفت. با این وجود، افرادی قبل از او، نظیر کنراد تسوزه ایدههای مشابهی را پیشنهاد و پیادهسازی کردند. معماری هاروارد نیز، که مربوط به Harvard Mark I است و قبل از EDVAC کامل شد، از طراحی ذخیرهسازی برنامه استفاده کرد، که به جای حافظهٔ الکترونیک، از نوار کاغذی سوراخ شده استفاده میکرد. تفاوت کلیدی بین
معماریهای جان فون نویمان و هاروارد این است که در معماری هاروارد، ذخیرهسازی و استفاده از دستورالعملهای CPU از دادهها جدا شدهاست، درحالیکه در معماری جان فون نویمان از حافظهٔ یکسانی برای ذخیرهٔ دادهها و دستورالعملها استفاده میشود. بیشتر CPUهای جدید برمبنای جان فون نویمان طراحی شدهاند. اما معماری هاروارد نیز وجود دارد، خصوصاً در کاربردهای نهفته، برای مثال، میکروکنترلرهای ای وی آر Atmel، در واقع پردازندههای مبتنی بر معماری هاروارد هستند.
رلهها و لامپهای خلاء یا همان لولههای ترمیونیک بهطور شایعی به عنوان عناصر سوئیچ استفاده میشدند. یک کامپیوتر کاربردی نیاز به هزاران یا دهها هزار ابزار سوئیچ دارد. سرعت کلی یک سیستم وابسته به سرعت سوئیچها است. کامپیوترهای لامپ خلاء (نظیر EDVAC) بهطور میانگین ۸ ساعت از یک شکست تا شکست بعدی زمان میبردند، درحالیکه کامپیوترهای رلهای نظیر، Harvard Mark I (که کندتر اما قدیمیتر است) بهندرت دچار شکست میشدند. درنهایت، CPUهای مبتنی بر لامپهای خلاء
غلبه پیدا کردند، زیرا مزایای سرعت چشمگیر بیشتر از مشکل قابل اعتماد بودن است. بیشتر این CPUهای همگام، در مقایسه با طراحیهای میکروالکترونیک جدید دارای سرعتهای ساعتی پایین بودند. در آن زمان، فرکانسهای سیگنال ساعت بهطور شایع در محدودهٔ ۱۰۰ کیلو هرتز تا ۴ مگاهرتز بود که این سرعت، به میزان زیادی به دلیل سرعت ابزارهای سوئیچ مورد استفاده در داخل آنها، محدود میشد.
پیچیدگی طراحی پردازندهها، همزمان با آسان شدن ساخت ابزارهای الکترونیک کوچکتر و قابل اعتمادتر در نتیجهٔ افزایش تکنولوژیهای مختلف، افزایش یافت. اولین پیشرفت در نتیجهٔ ابداع ترانزیستور حاصل شد. در طی دهههای ۱۹۵۰ و ۱۹۶۰، دیگر لازم نبود که برای ساخت پردازندههای ترانزیستوری از عناصر سوئیچ حجیم، نامطمئن، و شکننده همچون لامپهای خلاء و رلهها استفاده کرد. با این پیشرفتها، پردازندههای پیچیدهتر و قابل اطمینانتر، بر روی یک یا چندین برد مدار چاپی که حاوی اجزاء گسسته (منفرد) بودند، پیادهسازی شدند.
در سال ۱۹۶۴، شرکت آیبیام، یک معماری رایانه به نام آیبیام سیستم ۳۶۰ IBM System/360 ارائه کرد، که در مجموعهای از کامپیوترهایی استفاده شد که قادر بودند برنامههای مشابهی را، با سرعتها و کارایی متفاوت اجرا کنند.ج این نوآوری در آن زمان اهمیت چشمگیری داشت، زیرا بیشتر کامپیوترهای الکترونیک، حتی آنهایی که توسط یک شرکت ساخته میشدند، با یکدیگر ناسازگار بودند. شرکت آیبیام برای ارتقاء این نوآوری، از مفهوم یک ریزبرنامه
(یا همان ریزکد) استفاده کرد که هنوز کاربرد گستردهای در پردازندههای جدید دارد.ج معماری System/360، آنقدر محبوب شد که برای دههها بازار رایانههای بزرگ را به دست گرفت و هنوز هم توسط کامپیوترهای جدید مشابهی نظیر آیبیام سری زد ادامه پیدا کردهاست در سال ۱۹۶۵، شرکت تجهیزات دیجیتال ایکویپمنت کورپوریشن، یک کامپیوتر تأثیرگذار دیگر را با هدف فروش علمی و تحقیقاتی ارائه کرد، که PDP-8 نام داشت.ج کامپیوترهای ترانزیستوری مزایای
منحصر به فرد متعددی در مقایسه با کامپیوترهای پیشین داشتند. ترانزیستورها علاوه بر افزایش دادن قابلیت اعتماد و کاهش مصرف انرژی، همچنین به پردازندهها این امکان را دادند تا با سرعتهای بسیار بالاتر کار کنند، زیرا زمان سوئیچ یک ترانزیستور، در مقایسه با یک لامپ خلأ یا رله کوتاهتر است.
به واسطهٔ افزایش قابلیت اطمینان و سرعت عناصر سوئیچ (که در حال حاضر تقریباً تماماً ترانزیستور هستند)، سرعت ساعت پردازندهها در این زمان، به سادگی، به دهها مگاهرتز رسید.علاوه بر این، درحالیکه ترانزیستورهای گسسته و پردازندههای مدار مجتمع استفادهٔ بسیار زیادی داشتند، طراحیهایی جدید با کارایی بالا، همچون پردازندههای برداری اسامدی (تک دستورالعمل، چندین داده) شروع به ظهور کردند. این طراحیهای تحقیقاتی ابتدایی، بعدها باعث ظهور دورهٔ ابررایانههای اختصاصی، نظیر ابررایانههای ساخته شده توسط شرکت کری و فوجیتسو شد.

در این دوره، روشی برای تولید تعداد زیادی ترانزیستور بهم متصل در یک فضای فشرده ابداع شد. مدار مجتمع این امکان را فراهم کرد تا تعداد زیادی ترانزیستور را بتوان بر روی یک دای نیمهرسانا یا همان chip تولید کرد.
در ابتدا فقط مدارهای دیجیتال غیر اختصاصی بسیار پایهای همچون گیتهای NOR در داخل آیسیها کوچکسازی شدند.بهطور کلی، پردازندههایی که مبتنی بر این آیسیهای «بلوک سازنده» هستند، ابزارهای «مجتمع کوچک-مقیاس» (small-scale integration) نام دارند. آیسیهای SSI، نظیر آیسیهایی که در کامپیوتر هدایت کننده آپولو استفاده شدند، معمولاً حاوی حداکثر دهها ترانزیستور بودند. برای ساخت یک پردازندهٔ کامل با استفاده از آیسیهای SSI نیاز به هزاران چیپ بود، با این حال،
اینها در مقایسه با طراحیهای ترانزیستوری گسستهٔ پیشین، مصرف انرژی و فضای بسیار کمتری داشتند. سیستم ۳۷۰ آیبیام، که به دنبال ۳۶۰ آیبیام آمد، به جای ماژولهای ترانزیستوری-گسسته با تکنولوژی 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)، یا همان ترانزیستور ماس، توسط آقایان Mohamed Atalla و Dawon Kahng در آزمایشگاه Bell Labs، در سال ۱۹۵۹ اختراع شد و در سال ۱۹۶۰ ثبت شد.این امر منجر به تولید مدار مجتمع MOS شد، که در سال ۱۹۶۰ توسط Atalla و در سال ۱۹۶۱ توسط Kahng مطرح شدو سپس توسط Fred Heiman و Steven Hofstein در شرکت RCA، در سال ۱۹۶۲ تولید شد. ماسفت با داشتن مقیاس پذیری بالاو مصرف انرژی بسیار کمتر و تراکم بالاتر در مقایسه با ترانزیستورهای پیوند دوقطبی، امکان تولید مدارهای مجتمع با تراکم بالا را فراهم کرد.
آقای Lee Boysel مقالات تأثیرگذاری را، از جمله یک «بیانیه» در سال ۱۹۶۷، که در آن توضیح میداد چگونه یک کامپیوتر بزرگ ۳۲ بیتی را با استفاده از تعداد نسبتاً کمی از مدارهای مجتمع مقیاس بزرگ بسازیم، منتشر کرد. تنها روش برای ساخت چیپهای LSI که دارای ۱۰۰ یا بیش از ۱۰۰ گیت بودند،استفاده از فرایند تولید نیمه هادی اکسید فلز (PMOS , NMOS , CMOS) بود. با این حال، برخی شرکتها، همچنان پردازندهها را با استفاده از چیپهای منطق
ترانزیستور-ترانزیستور (transistor–transistor logic) دوقطبی میساختند، زیرا ترانزیستورهای پیوند دوقطبی تا زمان دهه ۱۹۷۰ در مقایسه با تراشههای ماس سریع تر بودند (چند شرکت، هم چون Datapoint، تا اوایل دهه ۱۹۸۰، پردازندهها را با استفاده از چیپهای TTL میساختند). در دههٔ ۱۹۶۰، آی سیهای ماس کندتر بودند و در ابتدا، فقط در مواردی که مصرف انرژی کمتربود، مفید بودند. به دنبال ابداع تکنولوژی ماس بر مبنای دروازه سیلیکونی توسط Federico Faggin در شرکت Fairchild Semiconductor، آی سیهای MOS به میزان زیادی جایگزین TTL دو قطبی، به عنوان تکنولوژی استاندارد تراشه در اوایل دهه ۱۹۷۰ شدند.

طرز کار کارکرد اساسی اکثر پردازندهها، صرف نظر از فرم فیزیکی آنها، اجرای مجموعه ای از دستورالعملهای ذخیره شدهاست که برنامه نام دارد. دستورالعملهایی که قرار است اجرا شوند، در نوعی حافظهٔ کامپیوتر ذخیره میشوند. تقریباً تمام پردازندهها در طی عملکرد خود، از سه مرحلهٔ واکشی، کد گشایی، و اجرا که در مجموع چرخهٔ دستورالعمل نامیده میشود، تبعیت میکنند.
بعد از اجرای یک دستورالعمل، کل فرایند تکرار میشود و چرخهٔ بعدی دستورالعمل، بهطور معمول، دستورالعمل بعدی را، در نتیجهٔ افزایش مقدار شمارنده برنامه، واکشی میکند. اگر یک دستورالعمل پرش اجرا شود، مقدار شمارندهٔ برنامه طوری تغییر میکند که آدرس دستورالعملی که به آن پرش انجام شدهاست، در آن ذخیره شود و اجرای برنامه بهطور نرمال ادامه پیدا میکند. در پردازندههای پیچیدهتر میتوان چندین دستورالعمل را بهطور همزمان واکشی،
رمزگشایی، و اجرا کرد. در این قسمت، آنچه که توصیف میشود، بهطور کلی خط تولید RISC کلاسیک نام دارد که استفادهٔ زیادی در پردازندههای ساده در بسیاری از ابزارهای الکترونیک دارد (که معمولاً با نام میکروکنترلر شناخته میشوند) و به میزان زیادی نقش مهم حافظه نهان پردازنده را و همچنین مرحله واکشی خط تولید را نادیده میگیرد.
برخی دستورالعملها به جای اینکه دادهٔ حاصل را بهطور مستقیم تولید کنند، شمارنده برنامه را دستکاری میکنند. چنین دستورالعملهایی بهطور کلی، پرش نام دارند و موجب تسهیل اجرای رفتارهایی از برنامه، از جمله: حلقهها،
اجرای شرطی برنامه (از طریق استفاده از یک پرش شرطی) و همچنین موجودیت توابع را تسهیل میکنند. در برخی پردازندهها، برخی دستورالعملها قادرند تا وضعیت بیتها را در یک رجیستر فلگ تغییر دهند. این فلگها را میتوان برای تأثیرگذاری روی رفتار یک برنامه استفاده کرد، زیرا معمولاً نشان دهنده نتایج عملیات مختلف هستند. برای مثال، در چنین پردازندههایی یک دستورالعمل «مقایسه»، دو مقدار را ارزیابی میکند و بیتهای موجود در رجیستر فلگ را
ست میکند یا پاک میکند، که نشان میدهد کدام یک بزرگتر است و اینکه آیا آنها برابرند یا خیر. یکی از این فلگها را مجدداً میتوان توسط یک دستورالعمل پرش، برای تعیین جریان برنامه استفاده کرد.
پردازندهها بسته به تنوع در مدل و عملکرد آنها دارای مدلهای مختلفی هستند. معمولاً هر گاه یک تغییر اساسی در ساختار یا پردازنده به وجود آمدهاست نسل جدیدی برای آن نامگذاری شدهاست. معمولاً نسلهای مختلف پردازندهها را با نام، علائم یا شمارههای مختلف نشان میدهند. شرکتهای سازندهٔ پردازنده تولیدات خود را بر اساس یک روش استاندارد نامگذاری میکنند. هر کدام از نسلهای پردازنده دارای مدلها و مشخصات متفاوت هستند. همچنین هر قسمت از نام یک پردازنده، نشاندهندهٔ جزئیاتی از ساختار آن است.
این نوع پردازندهها از توانمندی بالاتری نسبت به پردازندههای معمولی خود برخوردار است.
زیآن (Xeon) نامی است که اینتل بر روی پردازندههای مخصوص به سرور گذاشته که اولین زیآن در سال ۱۹۹۸ به بازار عرضه شد. پردازندههای زیآن با بهرهگیری از فناوری فراریسمانی که اجازه میدهد یک تراشه همزمان دو ریسمان را با هم اجرا کند، راندمان بهتری ارایه میکنند.
در هر فعالیت یا ایجاد یا اصلاحی در سرور، پردازنده سرور در حالت پردازش خواهد بود.
عملکرد یا سرعت یک پردازنده بستگی به فاکتورهایی از جمله سرعت ساعت (بهطور کلی، به صورت مضربهایی از هرتز داده میشود) و تعداد دستورالعملها در هر کلاک (Instructions per clock, IPC) دارد، که مجموعاً با یکدیگر، معیار تعداد دستورالعملهای انجام شده در هر ثانیه(instructions per second, IPS) را تشکیل میدهند.
بسیاری از مقادیر IPS گزارش شده، نشاندهندهٔ نرخ اجرای «حداکثری» بر روی توالیهای دستورالعمل ساختگی با انشعابات معدود هستند، درحالیکه بار کاری واقعی، شامل ترکیبی از دستورالعملها و اپلیکیشنهایی میشود که مدت زمان اجرای برخی از آنها نسبت به بقیه بیشتر است. کارایی سلسلهمراتب حافظه نیز به میزان زیادی روی کارایی پردازنده تأثیر میگذارد. این موضوع به ندرت در محاسبات میپس لحاظ شدهاست. به خاطر این مشکلات، تستهای استاندارد مختلفی که معمولاً برای این هدف محک (Benchmark) نامیده میشوند- همچون SPECint- ابداع شدهاند، تا بتوانند کارایی واقعی را در موارد رایج اندازهگیری کنند.
کارایی پردازش کامپیوترها، با استفاده از پردازندههای چندهستهای که اساساً اتصال دو یا بیش از دو پردازندهٔ مجزا (با نام هستهها، در این زمینه) در یک مدار مجتمع است، افزایش مییابد. بهطور ایدئال، یک پردازندهٔ دو هستهای تقریباً قدرت معادل دو برابر یک پردازندهٔ تکهستهای دارد، اما در واقعیت، افزایش کارایی بسیار کمتر از این است و حدود تقریباً ۵۰٪ است که دلیل آن، الگوریتمهای نرمافزاری و پیادهسازیهای ناکامل است. افزایش تعداد هستهها در یک
پردازنده (یعنی دو هستهای، چهار هستهای و …) موجب افزایش میزان بار کاری قابل انجام توسط پردازنده میشود. این بدان معنی است که این پردازندهها میتوانند وقایع ناهمگام، وقفهها و … را که در حجم زیاد میتوانند اثرات مخربی روی عملکرد پردازنده داشته باشند، مدیریت کنند. این هستهها را میتوان به شکل طبقات مختلف در یک ساختمان پردازش در نظر گرفت که هر طبقه یک وظیفهٔ متفاوت را انجام میدهد. گاهی این هستهها، در زمانی که یک هسته به
تنهایی برای مدیریت اطلاعات کافی نباشد، میتوانند کاری مشابه با هستههای مجاور خود انجام دهند.
به دلیل قابلیتهای خاص پردازندههای جدید همچون: چندریسمانی همزمان و فناوری Uncore، که شامل اشتراکگذاری منابع واقعی پردازنده، در کنار میل به افزایش بهرهوری میشود، نظارت کردن بر سطوح کارایی و میزان استفاده از سختافزار بهتدریج، تبدیل به یک عمل پیچیدهتر شدهاست. در نتیجه برخی پردازندهها، منطق سختافزاری اضافهای را پیادهسازی میکنند که کار آن نظارت بر میزان استفادهٔ واقعی از قسمتهای مختلف پردازنده است و میتوانند شمارندههای مختلفی را برای نرمافزار فراهم میکنند؛ به عنوان: مثال تکنولوژی Performance Counter Monitor اینتل

