payamvha/North_RAG huggingface dataset:
دادن قابلیت اعتماد و کاهش مصرف انرژی، همچنین به پردازنده‌ها این امکان را دادند تا با سرعت‌های بسیار بالاتر کار کنند، زیرا زمان سوئیچ یک ترانزیستور، در مقایسه با یک لامپ خلأ یا رله کوتاه‌تر است. به واسطهٔ افزایش قابلیت اطمینان و سرعت عناصر سوئیچ (که در حال حاضر تقریباً تماماً ترانزیستور هستند)، سرعت ساعت پردازنده‌ها در این زمان، به سادگی، به ده‌ها مگاهرتز رسید. علاوه بر این، درحالی‌که ترانزیستورهای گسسته و پردازنده‌های مدار مجتمع استفادهٔ بسیار زیادی داشتند، طراحی‌هایی جدید با کارایی بالا، همچون
داشتند، طراحی‌هایی جدید با کارایی بالا، همچون پردازنده‌های برداری اس‌ام‌دی (تک دستورالعمل، چندین داده) شروع به ظهور کردند. این طراحی‌های تحقیقاتی ابتدایی، بعدها باعث ظهور دورهٔ ابررایانه‌های اختصاصی، نظیر ابررایانه‌های ساخته شده توسط شرکت کری و فوجیتسو شد. CPUهای مجتمع کوچک-مقیاس. در این دوره، روشی برای تولید تعداد زیادی ترانزیستور بهم متصل در یک فضای فشرده ابداع شد. مدار مجتمع این امکان را فراهم کرد تا تعداد زیادی ترانزیستور را بتوان بر روی یک دای نیمه‌رسانا یا همان chip تولید کرد. در ابتدا فقط مدارهای
یا همان 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 ساخته شد، اما سرانجام با
ابتدا توسط آی‌سی‌های SSI ساخته شد، اما سرانجام با استفاده از اجزای LSI، در زمانی که این اجزا عملی شده بودند، پیاده‌سازی شد. CPUهای مجتمع بزرگ-مقیاس. ماسفت (metal-oxide-semiconductor field-effect transistor)، یا همان ترانزیستور ماس، توسط آقایان Mohamed Atalla و Dawon Kahng در آزمایشگاه Bell Labs، در سال ۱۹۵۹ اختراع شد و در سال ۱۹۶۰ ثبت شد. این امر منجر به تولید مدار مجتمع MOS شد، که در سال ۱۹۶۰ توسط Atalla و در سال ۱۹۶۱ توسط Kahng مطرح شد و سپس توسط Fred Heiman و Steven Hofstein در شرکت RCA، در سال ۱۹۶۲
Heiman و Steven Hofstein در شرکت RCA، در سال ۱۹۶۲ تولید شد. ماسفت با داشتن مقیاس پذیری بالا و مصرف انرژی بسیار کمتر و تراکم بالاتر در مقایسه با ترانزیستورهای پیوند دوقطبی، امکان تولید مدارهای مجتمع با تراکم بالا را فراهم کرد. آقای Lee Boysel مقالات تأثیرگذاری را، از جمله یک «بیانیه» در سال ۱۹۶۷، که در آن توضیح می‌داد چگونه یک کامپیوتر بزرگ ۳۲ بیتی را با استفاده از تعداد نسبتاً کمی از مدارهای مجتمع مقیاس بزرگ بسازیم، منتشر کرد. تنها روش برای ساخت چیپ‌های LSI که دارای ۱۰۰ یا بیش از ۱۰۰ گیت بودند، استفاده از
که دارای ۱۰۰ یا بیش از ۱۰۰ گیت بودند، استفاده از فرایند تولید نیمه هادی اکسید فلز (PMOS , NMOS , CMOS) بود. با این حال، برخی شرکت‌ها، همچنان پردازنده‌ها را با استفاده از چیپ‌های منطق ترانزیستور-ترانزیستور (transistor–transistor logic) دوقطبی می‌ساختند، زیرا ترانزیستورهای پیوند دوقطبی تا زمان دهه ۱۹۷۰ در مقایسه با تراشه‌های ماس سریع تر بودند (چند شرکت، هم چون Datapoint، تا اوایل دهه ۱۹۸۰، پردازنده‌ها را با استفاده از چیپ‌های TTL می‌ساختند). در دههٔ ۱۹۶۰، آی سی‌های ماس کندتر بودند و در ابتدا، فقط در مواردی
سی‌های ماس کندتر بودند و در ابتدا، فقط در مواردی که مصرف انرژی کمتربود، مفید بودند. به دنبال ابداع تکنولوژی ماس بر مبنای دروازه سیلیکونی توسط Federico Faggin در شرکت Fairchild Semiconductor، آی سی‌های MOS به میزان زیادی جایگزین TTL دو قطبی، به عنوان تکنولوژی استاندارد تراشه در اوایل دهه ۱۹۷۰ شدند. با پیشرفت تکنولوژی میکرو الکترونیک، ترانزیستورهای بیشتری در داخل آی سی‌ها قرار داده شدند، که باعث کاهش تعداد آی سی‌های مورد نیاز برای یک پردازنده شد. آی سی‌های MSI و LSI، تعداد ترانزیستورها را به صدها و سپس
MSI و LSI، تعداد ترانزیستورها را به صدها و سپس هزاران عدد افزایش داد. در سال ۱۹۶۸، تعداد آی سی‌های مورد نیاز برای ساخت یک پردازنده کامل، به تعداد ۲۴ آی سی از ۸ نوع کاهش پیدا کرد، که هر کدام حاوی تقریباً هزار ماسفت بودند. اولین پیاده‌سازی سیستم PDP-11 به طریق LSI، با داشتن تفاوت بسیار با نسل‌های قبلی SSI و MSI آن، حاوی یک پردازنده بود که فقط از چهار مدار مجتمع LSI تشکیل شده بود. ریزپردازنده‌ها. پیشرفت در زمینه تکنولوژی مدار مجتمع ماس، منجر به ابداع ریز پردازنده در اوایل دههٔ ۱۹۷۰ شد. از زمان ارائهٔ اولین
در اوایل دههٔ ۱۹۷۰ شد. از زمان ارائهٔ اولین ریزپردازندهٔ تجاری، یعنی اینتل ۴۰۰۴ در سال ۱۹۷۱، و اولین ریزپردازنده ای که به‌طور گسترده مورد استفاده قرار گرفت، یعنی اینتل ۸۰۸۰ در سال ۱۹۷۴، این کلاس از پردازنده‌ها، تقریباً به‌طور کامل، تمام روش‌های دیگر پیاده‌سازی پردازنده را از رده خارج کردند. تولیدکننده‌های رایانه‌های بزرگ و مینی کامپیوترها در آن زمان، برنامه‌های تولید آی سی مالکیتی را آغاز کردند، تا معماری‌های کامپیوتری قدیمی خود را ارتقا دهند و سرانجام، ریز پردازنده‌هایی ابداع کردند که با مجموعهٔ
ریز پردازنده‌هایی ابداع کردند که با مجموعهٔ دستورالعمل و همچنین با سخت‌افزار و نرم‌افزار قدیمی آن‌ها نیز سازگاری داشتند. با در نظر گرفتن پیشرفت و موفقیت همه‌گیر کامپیوترهای شخصی، در حال حاضر، اصطلاح CPU تقریباً به‌طور کامل به ریزپردازنده‌ها گفته می‌شود. می‌توان چندین CPU (به نام هسته) را در یک چیپ پردازشی با هم ترکیب کرد.نسل‌های قبلی پردازنده‌ها، به شکل اجزای گسسته و آی سی‌های کوچک متعدد در یک یا بیش از یک برد مدار پیاده‌سازی می‌شدند. این در حالی است که، ریز پردازنده‌ها، درواقع، پردازنده‌هایی هستند که با
پردازنده‌ها، درواقع، پردازنده‌هایی هستند که با استفاده از تعداد بسیار کمی از آی سی‌ها (معمولاً فقط یکی) تولید می‌شوند. در نتیجهٔ پیاده‌سازی روی یک دای، اندازهٔ کلی پردازنده‌ها کوچک‌تر شد که منجر به افزایش سرعت سوئیچ شد، که دلیل آن، فاکتورهای فیزیکی نظیر کاهش ظرفیت خازنی پارازیتی بود. این امر باعث شده‌است تا ریزپردازنده‌های همگام، دارای سرعت‌های ساعتی با محدودهٔ ده‌ها مگاهرتز تا چندین گیگاهرتز باشند. علاوه بر این، قابلیت ساخت ترانزیستورهای بسیار کوچک در یک آی سی، باعث افزایش پیچیدگی و تعداد ترانزیستورها در
سی، باعث افزایش پیچیدگی و تعداد ترانزیستورها در یک پردازشگر، به میزان چندین برابر، شد. این رویه ای که به‌طور گسترده مشاهده می‌شود، تحت قانون مور توصیف می‌شود، که ثابت شده‌است، پیش‌بینی کننده ای نسبتاً دقیق برای رشد پیچیدگی پردازنده (و سایر آی سی‌ها) تا سال ۲۰۱۶ بود. اگرچه پیچیدگی، اندازه، ساختار، و فرم کلی پردازنده‌ها از سال ۱۹۵۰ بسیار تغییر کرده‌است، اما طراحی و عملکرد اساسی آن‌ها زیاد تغییر نکرده‌است. تقریباً تمام پردازنده‌های مرسوم امروزی را می‌توان به شکل بسیار دقیقی، به فرم ماشین‌های ذخیره کننده
به شکل بسیار دقیقی، به فرم ماشین‌های ذخیره کننده برنامه ای فون نویمان، توصیف کرد. از آنجایی که قانون مور دیگر صدق نمی‌کند، نگرانی‌هایی پیرامون محدودیت‌های تکنولوژی ترانزیستوری مدار مجتمع به‌وجود آمده‌است. کوچک سازی بسیار زیاد دروازه‌های الکترونیک موجب شده‌است تا اثرات پدیده‌هایی نظیر، مهاجرت الکتریکی (electromigration) و نشت تحت-آستانه ای (subthreshold leakage) بسیار چشمگیرتر شوند. این نگرانی‌های جدیدتر، از جمله فاکتورهایی هستند که موجب شده‌اند تا محققان به دنبال روش‌های جدید محاسبه، نظیر کامپیوتر کوانتومی
دنبال روش‌های جدید محاسبه، نظیر کامپیوتر کوانتومی و همچنین توسعهٔ استفاده از موازی سازی و سایر روش‌هایی که مزایای مدل کلاسیک فون نویمان را افزایش می‌دهند، باشند. هسته و فرکانس. همیشه تعداد هستهٔ بالاتر به معنای سریع تر بودن پردازنده نیست، زیرا مهم‌ترین مؤلفه مطرح شده برای سرعت پردازنده، فرکانس کلاک پردازنده است. افزایش تعداد هسته‌های پردازنده، همیشه دلیل بر افزایش سرعت پردازش هسته نمی‌باشد چراکه هنوز هم چیپ‌هایی هستند که تعداد هستهٔ بالایی دارند ولی از روش عملکرد پردازش موازی استفاده نمی‌کنند. سرعت
از روش عملکرد پردازش موازی استفاده نمی‌کنند. سرعت پردازنده نشانگر تعداد عملی است که یک هسته می‌تواند در هر ثانیه انجام دهد. واحد اندازه‌گیری فرکانس پردازنده، گیگاهرتز است که با علامت GHz نشان داده می‌شود. پسوند گیگا در زبان انگلیسی به معنی میلیارد است. فرکانس پردازنده‌ها با فرکانس پایه یا کلاک پایه (Base clock) شناخته می‌شود. پردازنده‌های جدید شرکت‌های اینتل و AMD تا 5.5 GHz فرکانس ساخته شده‌اند. طرز کار. طرز کار کارکرد اساسی اکثر پردازنده‌ها، صرف نظر از فرم فیزیکی آنها، اجرای مجموعه ای از دستورالعمل‌های
فیزیکی آنها، اجرای مجموعه ای از دستورالعمل‌های ذخیره شده‌است که برنامه نام دارد. دستورالعمل‌هایی که قرار است اجرا شوند، در نوعی حافظهٔ کامپیوتر ذخیره می‌شوند. تقریباً تمام پردازنده‌ها در طی عملکرد خود، از سه مرحلهٔ واکشی، کد گشایی، و اجرا که در مجموع چرخهٔ دستورالعمل نامیده می‌شود، تبعیت می‌کنند. بعد از اجرای یک دستورالعمل، کل فرایند تکرار می‌شود و چرخهٔ بعدی دستورالعمل، به‌طور معمول، دستورالعمل بعدی را، در نتیجهٔ افزایش مقدار شمارنده برنامه، واکشی می‌کند. اگر یک دستورالعمل پرش اجرا شود، مقدار شمارندهٔ
اگر یک دستورالعمل پرش اجرا شود، مقدار شمارندهٔ برنامه طوری تغییر می‌کند که آدرس دستورالعملی که به آن پرش انجام شده‌است، در آن ذخیره شود و اجرای برنامه به‌طور نرمال ادامه پیدا می‌کند. در پردازنده‌های پیچیده‌تر می‌توان چندین دستورالعمل را به‌طور همزمان واکشی، رمزگشایی، و اجرا کرد. در این قسمت، آنچه که توصیف می‌شود، به‌طور کلی خط تولید RISC کلاسیک نام دارد که استفادهٔ زیادی در پردازنده‌های ساده در بسیاری از ابزارهای الکترونیک دارد (که معمولاً با نام میکروکنترلر شناخته می‌شوند) و به میزان زیادی نقش مهم حافظه
شناخته می‌شوند) و به میزان زیادی نقش مهم حافظه نهان پردازنده را و همچنین مرحله واکشی خط تولید را نادیده می‌گیرد. برخی دستورالعمل‌ها به جای اینکه دادهٔ حاصل را به‌طور مستقیم تولید کنند، شمارنده برنامه را دستکاری می‌کنند. چنین دستورالعمل‌هایی به‌طور کلی، پرش نام دارند و موجب تسهیل اجرای رفتارهایی از برنامه، از جمله: حلقه‌ها، اجرای شرطی برنامه (از طریق استفاده از یک پرش شرطی) و همچنین موجودیت توابع را تسهیل می‌کنند. در برخی پردازنده‌ها، برخی دستورالعمل‌ها قادرند تا وضعیت بیت‌ها را در یک رجیستر فلگ تغییر دهند.
تا وضعیت بیت‌ها را در یک رجیستر فلگ تغییر دهند. این فلگ‌ها را می‌توان برای تأثیرگذاری روی رفتار یک برنامه استفاده کرد، زیرا معمولاً نشان دهنده نتایج عملیات مختلف هستند. برای مثال، در چنین پردازنده‌هایی یک دستورالعمل «مقایسه»، دو مقدار را ارزیابی می‌کند و بیت‌های موجود در رجیستر فلگ را ست می‌کند یا پاک می‌کند، که نشان می‌دهد کدام یک بزرگتر است و اینکه آیا آنها برابرند یا خیر. یکی از این فلگ‌ها را مجدداً می‌توان توسط یک دستورالعمل پرش، برای تعیین جریان برنامه استفاده کرد. واکشی. اولین مرحله واکشی (Fetch) نام
استفاده کرد. واکشی. اولین مرحله واکشی (Fetch) نام دارد که در واقع وظیفهٔ استخراج یک دستورالعمل (که توسط تعدادی یا صفی از اعداد نشان داده می‌شود) را از حافظه برنامه بر عهده دارد. مکان دستورالعمل (آدرس) در حافظهٔ برنامه، توسط شمارنده برنامه (Program Counter یا PC، که در ریزپردازنده‌های x86 اینتل به آن «اشاره‌گر دستورالعمل» نیز گفته می‌شود) تعیین می‌شود، که عددی را ذخیره می‌کند که نشانگر آدرس دستورالعمل بعدی برای واکشی است. بعد از اینکه دستورالعمل واکشی شد، مقدار شمارندهٔ برنامه به میزان اندازهٔ دستورالعمل
مقدار شمارندهٔ برنامه به میزان اندازهٔ دستورالعمل افزایش می‌یابد، تا آدرس دستورالعمل بعدی در توالی مورد نظر، در آن قرار گیرد. معمولاً دستورالعملی که قرار است واکشی شود، باید از یک حافظهٔ نسبتاً کند واکشی شود، که باعث می‌شود تا پردازنده منتظر بماند تا دستورالعمل برگردد. این مشکل به میزان زیادی در پردازنده‌های جدید، با استفاده از حافظه‌های نهان و معماری‌های خط تولید، کمتر شده‌است. رمزگشایی. دستورالعملی که توسط پردازنده از حافظه واکشی می‌شود، در واقع مشخص می‌کند که پردازنده قرار است چه کاری انجام دهد. در
می‌کند که پردازنده قرار است چه کاری انجام دهد. در مرحلهٔ رمزگشایی (decoding) که توسط یک مدار با نام رمزگشاء دستورالعمل انجام می‌شود، دستورالعمل مورد نظر به سیگنال‌هایی تبدیل می‌شود که قسمت‌های دیگر پردازنده را کنترل می‌کنند. شیوهٔ تفسیر دستورالعمل، توسط معماری مجموعه دستورالعمل (ISA) پردازنده تعریف می‌شود. معمولاً، گروهی از بیت‌ها (با نام، یک فضا) در داخل دستورالعمل، که آپ کد نام دارد، مشخص می‌کند که چه عملیاتی باید انجام شود و معمولاً، فضای باقی مانده، اطلاعات تکمیلی مورد نیاز برای عملیات مذکور، مثلاً
اطلاعات تکمیلی مورد نیاز برای عملیات مذکور، مثلاً عملوندها را فراهم می‌آورد. این عملوندها ممکن است به شکل یک مقدار ثابت (مقدار فوری) باشند، یا به شکل مکان یک مقدار باشند که ممکن است، این مکان یک رجیستر پردازنده یا یک آدرس حافظه باشد. انتخاب هر یک از این حالت‌ها، از طریق حالت‌های آدرس دهی انجام می‌شود. در برخی طراحی‌های پردازنده، رمزگشاء دستورالعمل به شکل یک مدار سخت‌افزاری شش میخه و غیرقابل تغییر پیاده‌سازی می‌شود، درحالی‌که در پردازنده‌های دیگر، برای ترجمهٔ دستورالعمل‌ها به مجموعه‌هایی از سیگنال‌های
ترجمهٔ دستورالعمل‌ها به مجموعه‌هایی از سیگنال‌های پیکربندی پردازنده، از یک ریز برنامه استفاده می‌شود. این سیگنال‌ها در طی چندین پالس ساعت، به‌طور متوالی اعمال می‌شوند. در برخی موارد، حافظه ای که برنامه را ذخیره می‌کند، قابل نوشتن مجدد است، که در نتیجه می‌توان روش رمزگشایی دستورالعمل‌ها توسط پردازنده را تغییر داد. اجرا. بعد از مراحل واکشی و رمزگشایی، مرحله اجرا(execution) انجام می‌شود. بسته به معماری پردازنده، این مرحله ممکن است حاوی یک عمل یا صفی از اعمال باشد. در طی هر عمل، قسمت‌های مختلف پردازنده به صورت
در طی هر عمل، قسمت‌های مختلف پردازنده به صورت الکتریکی به گونه‌ای متصل می‌شوند تا بتوانند تمام یا بخشی از عملیات مورد نظر را انجام دهند و سپس عمل، به‌طور معمول، در پاسخ به یک پالس ساعت کامل می‌شود. در بسیاری مواقع، نتایج حاصل، در داخل یک رجیستر داخلی پردازنده نوشته می‌شوند تا توسط دستورالعمل‌های بعدی به سرعت قابل دسترسی باشند. در سایر موارد، نتایج ممکن است در حافظه اصلی نوشته شوند که کندتر است اما ارزان‌تر و دارای ظرفیت بالاتر است. برای مثال، اگر قرار باشد که یک دستورالعمل جمع اجرا شود، ورودی‌های واحد
که یک دستورالعمل جمع اجرا شود، ورودی‌های واحد محاسبه و منطق به یک جفت از منابع عملوند (اعدادی که قرار است جمع شوند) متصل می‌شوند، سپس ALU، طوری پیکربندی می‌شود تا یک عمل جمع را انجام دهد و حاصل جمع عملوندهای ورودی‌های آن، در خروجی آن ظاهر می‌شود، و خروجی ALU، به محل ذخیره ای (مثلاً، یک رجیستر یا حافظه) که قرار است حاصل جمع را دریافت کند، متصل می‌شود. هنگامی که یک پالس ساعت رخ می‌دهد، این حاصل جمع، به محل ذخیره منتقل می‌شود و اگر حاصل جمع خیلی بزرگ باشد (یعنی بزرگتر از اندازه کلمهٔ خروجی ALU) باشد، آنگاه،
بزرگتر از اندازه کلمهٔ خروجی ALU) باشد، آنگاه، یک فلگ سرریز محاسبه ای ست خواهد شد. ساختار و پیاده‌سازی. در داخل مدار پردازندهٔ اصلی، مجموعه‌ای از عملیات اساسی شش میخ (Hardwired) شده‌است که مجموعهٔ دستورالعمل نام دارد. چنین عملیاتی ممکن است شامل مثلاً: جمع کردن یا تفریق کردن دو عدد، مقایسهٔ دو عدد، یا پرش به بخش دیگری از یک برنامه باشد. هر عملیات اساسی توسط ترکیب خاصی از بیت‌ها با نام آپ کد زبان ماشین نمایش داده می‌شود. پردازندهٔ اصلی در زمان اجرای دستورالعمل‌ها در یک برنامه زبان ماشین، تصمیم می‌گیرد که چه
در یک برنامه زبان ماشین، تصمیم می‌گیرد که چه عملیاتی را با کد گشایی آپ کد مورد نظر انجام دهد. یک دستورالعمل زبان ماشین کامل حاوی یک آپ کد، و در بسیاری موارد بیت‌های دیگری است که آرگومان‌های خاصی را برای عملیات مذکور مشخص می‌کنند (برای مثال اعدادی که باید با هم جمع شوند، در یک عملیات جمع). یک برنامهٔ زبان ماشین، مجموعه ای از دستورالعمل‌های زبان ماشین است که پردازنده اجرا می‌کند. عملیات ریاضی واقعی برای هر دستورالعمل، توسط یک مدار منطقی ترکیبی در داخل پردازنده CPU به نام واحد محاسبه و منطق یا همان ALU انجام
CPU به نام واحد محاسبه و منطق یا همان ALU انجام می‌گیرد. به‌طور کلی، یک پردازنده برای انجام یک دستورالعمل مراحل زیر را انجام می‌دهد: ابتدا آن را از حافظه واکشی می‌کند، سپس برای انجام یک عملیات از ALU استفاده می‌کند، و در نهایت نتیجه را در حافظه ذخیره می‌کند. علاوه بر دستورالعمل‌های ریاضیاتی اعداد صحیح و عملیات منطقی، دستورالعمل‌های ماشین مختلف دیگری وجود دارد، نظیر: دستورالعمل‌های مربوط به بارگیری داده از حافظه و ذخیره‌سازی آن در حافظه، عملیات انشعاب و عملیات ریاضی روی اعداد ممیز شناور که توسط واحد ممیز
ریاضی روی اعداد ممیز شناور که توسط واحد ممیز شناور (FPU) در CPU انجام می‌شود. واحد کنترل. واحد کنترل (Control unit)، جزئی از CPU است که عملیات پردازنده را هدایت می‌کند. این واحد به حافظهٔ کامپیوتر، واحد محاسبه و منطق، و ابزارهای ورودی و خروجی می‌گوید که چگونه به دستورالعمل‌هایی که به پردازنده فرستاده شده‌اند، پاسخ دهند.این واحد با فراهم کردن سیگنال‌های زمانبندی و کنترل، عملیات سایر واحدها را هدایت می‌کند. بیشتر منابع کامپیوتر، توسط واحد کنترل مدیریت می‌شود. واحد کنترل، جریان داده را بین CPU و سایر ابزارها
واحد کنترل، جریان داده را بین CPU و سایر ابزارها هدایت می‌کند. جان فون نویمن واحد کنترل را به‌عنوان بخشی از معماری فون نویمان اضافه کرد. در طراحی‌های کامپیوتری جدید، واحد کنترل معمولاً یک بخش داخلی از CPU است که نقش و عملیات کلی آن، از اول تغییری نکرده‌است. واحد محاسبه و منطق. واحد محاسبه و منطق (The arithmetic logic unit)، یک مدار دیجیتال در داخل پردازنده است که عملیات محاسباتی و عملیات منطقی بیت به بیت را انجام می‌دهد. ورودی‌های ALU عبارتند از: کلمات داده که قرار است روی آن عملیات انجام شود (با نام
داده که قرار است روی آن عملیات انجام شود (با نام عملوند)، اطلاعات وضعیتی از عملیات قبلی، و یک کد از واحد کنترل که نشان می‌دهد کدام عملیات باید انجام شود. بسته به دستورالعملی که اجرا می‌شود، عملوندهای مورد نیاز ممکن است از رجیسترهای داخلی پردازنده یا حافظه خارجی بیایند، یا این‌که ثابت‌هایی باشند که توسط خود ALU تولید می‌شوند.زمانی که تمام سیگنال‌ها برقرار می‌شوند و در سرتاسر مدار منتشر می‌شوند، نتیجهٔ عملیات انجام گرفته در خروجی‌های ALU ظاهر می‌شود. این نتایج شامل یک کلمهٔ داده می‌شود که ممکن است در یک
نتایج شامل یک کلمهٔ داده می‌شود که ممکن است در یک رجیستر یا حافظه ذخیره شود و همچنین شامل اطلاعات وضعیتی می‌شود، که به‌طور معمول در یک رجیستر داخلی خاص CPU که برای این هدف منظور شده‌است، ذخیره می‌شود. واحد تولید آدرس. واحد تولید آدرس (Address generation unit) که گاهی واحد محاسبهٔ آدرس (Address computation unit) نیز نامیده می‌شود، یک واحد اجرایی در داخل پردازنده است که آدرس‌هایی را که توسط CPU برای دسترسی به حافظهٔ اصلی استفاده می‌شوند، محاسبه می‌کند. با محول کردن وظیفه محاسبات آدرس به یک مدار جداگانه که
کردن وظیفه محاسبات آدرس به یک مدار جداگانه که به‌طور موازی با مابقی CPU کار می‌کند، می‌توان تعداد چرخه‌های مورد نیاز CPU برای اجرای دستورالعمل‌های مختلف ماشین را کاهش داد، و بدین طریق عملکرد را بهبود داد.پردازنده، در حالی که عملیات مختلفی را انجام می‌دهد، لازم است تا آدرس‌هایی را که برای واکشی داده از حافظه لازم هستند، محاسبه کند. برای مثال، باید قبل از این‌که CPU بتواند داده را از مکان‌های واقعی حافظه واکشی کند، مکان‌های داخل-حافظه‌ای عناصر آرایه محاسبه شوند. این محاسبات تولید آدرس عبارت‌اند از: عملیات
شوند. این محاسبات تولید آدرس عبارت‌اند از: عملیات محاسباتی مختلف برای اعداد صحیح نظیر، "جمع کردن، تفریق کردن، عملیات باقیمانده (Modulo) و جابه‌جایی‌های بیت". معمولاً محاسبه کردن یک آدرس حافظه، نیاز به بیش از یک دستورالعمل عمومی ماشین دارد، که لزوماً به سرعت کدگشایی و اجرا نمی‌شود. با اضافه کردن یک AGU به طراحی یک پردازنده و همچنین با ارائهٔ دستورالعمل‌های اختصاصی که از AGU استفاده می‌کنند، می‌توان بار محاسبات مختلف تولید آدرس را از گردن مابقی CPU برداشت و این محاسبات معمولاً به سرعت در یک چرخهٔ CPU قابل
این محاسبات معمولاً به سرعت در یک چرخهٔ CPU قابل اجرا هستند. قابلیت‌های یک AGU بستگی به یک CPU خاص و معماری آن دارد؛ بنابراین، برخی AGUها عملیات بیشتری را برای محاسبهٔ آدرس، پیاده‌سازی و نمایان می‌کنند، درحالی‌که برخی دیگر، علاوه بر این، دستورالعمل‌های اختصاصی پیشرفته ای را لحاظ می‌کنند که می‌توانند روی عملوندهای متعدد به صورت همزمان اجرا شوند. علاوه بر این، برخی معماری‌های CPU، دارای شیوه‌های متعددی هستند تا بتوانند بیش از یک عملیات محاسبه آدرس را، به صورت همزمان انجام دهند و به این طریق، با بهره‌گیری از
همزمان انجام دهند و به این طریق، با بهره‌گیری از ماهیت سوپراسکالر طراحی‌های پیشرفتهٔ CPU، کارایی را بالا ببرند. برای مثال، اینتل، AGUهای متعددی را در داخل ریزمعماری‌های Sandy Bridge و Haswell خود ادغام می‌کند، که باعث می‌شود تا از طریق فراهم آوردن امکان اجرای چندین دستورالعمل دسترسی-به -حافظه به صورت موازی، پهنای باند زیر-سیستم حافظهٔ CPU افزایش یابد. واحد مدیریت حافظه. بیشتر ریزپردازنده‌های پیشرفته (در کامپیوترهای رومیزی، لپ‌تاپ، و سرور) دارای یک واحد مدیریت حافظه (Memory management unit) هستند که
مدیریت حافظه (Memory management unit) هستند که آدرس‌های منطقی را به آدرس‌های فیزیکی RAM ترجمه می‌کنند و همچنین موجب حفاظت از حافظه و قابلیت صفحه‌بندی (Paging) می‌شوند که برای حافظهٔ مجازی مفید است. پردازنده‌های ساده‌تر، خصوصاً میکروکنترلرها، معمولاً فاقد واحد مدیریت حافظه هستند. حافظهٔ نهان (کش). حافظهٔ نهان (Cache) پردازنده، در واقع، نوعی حافظهٔ نهان سخت‌افزاری است که توسط واحد پردازش مرکزی یک کامپیوتر، برای کاهش میانگین هزینهٔ (زمان یا انرژی) دسترسی به داده موجود در حافظهٔ اصلی استفاده می‌شود. یک حافظهٔ
موجود در حافظهٔ اصلی استفاده می‌شود. یک حافظهٔ نهان، در واقع یک حافظهٔ کوچک‌تر و سریع‌تر است که به هستهٔ یک پردازنده نزدیک‌تر است و کپی‌هایی از داده‌هایی از مکان‌های حافظه اصلی که مکرراً استفاده می‌شوند را ذخیره می‌کند. بیشتر CPUها، دارای کش‌های مستقل و متنوع، از جمله: کش‌های دستورالعمل و کش‌های داده هستند، که در آن، کش داده معمولاً به شکل یک سلسله مراتب از سطوح بیشتر کش سازماندهی می‌شود (L1, L2, L3, L4, ...).تمام پردازنده‌های جدید (سریع) (به استثناء موارد اختصاصی اندک)، دارای سطوح متعددی از کش‌های
موارد اختصاصی اندک)، دارای سطوح متعددی از کش‌های پردازنده هستند. اولین پردازنده‌ها که از کش استفاده کردند، فقط دارای یک سطح کش بودند که برخلاف کش‌های سطح یک جدید، به دو قسمت: L1d (برای داده) و L1i (برای دستورالعمل) تقسیم نمی‌شدند. تقریباً تمام پردازنده‌های جدید که دارای کش هستند، دارای یک کش دو قسمتی در سطح یک هستند و همچنین دارای کش سطح ۲ و در پردازنده‌های بزرگ‌تر، کش سطح سه نیز هستند. سطح دوم کش معمولاً تقسیم نمی‌شود و به شکل یک مخزن مشترک برای کش تقسیم شدهٔ سطح ۱ عمل می‌کند. هر هسته از یک پردازنده چند
شدهٔ سطح ۱ عمل می‌کند. هر هسته از یک پردازنده چند هسته ای، دارای کش اختصاصی سطح ۲ است، که معمولاً بین هسته‌ها به اشتراک گذاشته نمی‌شود. کش سطح ۳ و کش‌های سطوح بالاتر، بین هسته‌ها مشترک هستند و تقسیم نمی‌شوند. کش سطح ۴ در حال حاضر رایج نیست، و به‌طور کلی، از جنس حافظهٔ دسترسی تصادفی پویا(DRAM) در یک چیپ یا دای مجزا قرار دارد و به شکل حافظهٔ دسترسی تصادفی ایستا (SRAM) نیست. به‌طور تاریخی، این قضیه، در رابطه با سطح ۱ نیز صادق بود، این در حالی است که، چیپ‌های بزرگ‌تر، امکان ادغام آن و به‌طور کلی تمام سطوح کش
بزرگ‌تر، امکان ادغام آن و به‌طور کلی تمام سطوح کش را، به استثناء سطح آخر فراهم آورده‌اند. هر سطح اضافه‌ای از کش معمولاً بزرگ‌تر است و به شکل متفاوتی بهینه‌سازی می‌شود.پردازنده برای به‌دست آوردن داده، ابتدا حافظهٔ نهان را چک می‌کند و پس از نیافتن اطلاعات، به سراغ حافظه‌های دیگر از جمله RAM می‌رود. حافظهٔ نهان می‌تواند دارای چند سطح (Level) باشد که با حرف L در مشخصات پردازنده نوشته می‌شود. معمولاً پردازنده‌ها تا ۳ لایه حافظهٔ نهان دارند که لایهٔ اول (L1) نسبت به دوم (L2) و دوم نیز نسبت به سوم (L3) دارای سرعت
به دوم (L2) و دوم نیز نسبت به سوم (L3) دارای سرعت بیشتر و حافظهٔ کمتری است. زمانی‌که پردازنده می‌خواهد داده‌ای را مورد پردازش قرار دهد ابتدا به نزدیک‌ترین حافظه سطح حافظهٔ نهان خود نگاه می‌کند تا در صورت موجود بودن آن دستورالعمل را پردازش کند. سطح ۱ نزدیک‌ترین سطح به پردازنده است. بدین ترتیب اگر داده‌ها در نزدیک‌ترین سطح حافظهٔ پنهان پردازنده یافت شد، مورد پردازش قرار می‌گیرد و اگر پیدا نشد به ترتیب به سطح‌های بعدی می‌رود و در نهایت اگر پیدا نشد به حافظهٔ اصلی رجوع می‌کند. کش سطح ۳ بین تمام هسته‌ها به
اصلی رجوع می‌کند. کش سطح ۳ بین تمام هسته‌ها به اشتراک گذاشته می‌شود و به همین خاطر ظرفیت بیشتری دارد. انواع دیگری از کش‌ها نیز وجود دارند (که جزو «اندازه کش» مهم‌ترین کش‌هایی که در بالا ذکر شد، محسوب نمی‌شوند)، مثلاً translation lookaside buffer، که بخشی از واحد مدیریت حافظه(MMU) در اکثر پردازنده‌ها است.کش‌ها، معمولاً دارای اندازه‌هایی به شکل توان‌هایی از دو هستند: ۴، ۸، ۱۶ و … کیبی بایت (KiB) یا مبی بایت (MiB) (برای کش‌های بزرگ‌تر، غیر سطح ۱) اگرچه IBM z13، دارای ۹۶ KiB کش دستورالعمل سطح ۱ است. سرعت ساعت.
دارای ۹۶ KiB کش دستورالعمل سطح ۱ است. سرعت ساعت. بیشتر CPUها، مدارهای همگام هستند، به این معنی است که آنها از یک سیگنال ساعت برای هماهنگ‌کردن عملیات متوالی خود استفاده می‌کنند. سیگنال ساعت توسط یک مدار نوسانگر خارجی تولید می‌شود، که تعداد ثابتی از پالس‌ها را در هر ثانیه، به شکل یک موج مربعی متناوب تولید می‌کند. فرکانس پالس‌های ساعت مشخص می‌کند که CPU با چه سرعتی دستورالعمل‌ها را اجرا کند و در نتیجه، با افزایش سرعت ساعت، دستورالعمل‌های بیشتری توسط CPU در هر ثانیه اجرا خواهند شد. برای اطمینان از عملکرد صحیح
ثانیه اجرا خواهند شد. برای اطمینان از عملکرد صحیح پردازنده، باید مدت دورهٔ ساعت، بیشتر از حداکثر زمان مورد نیاز برای منتشر شدن تمام سیگنال‌ها در سرتاسر CPU باشد. با ست کردن طول دورهٔ ساعت به میزان بالاتری از بدترین حالت مدت زمان تأخیر انتشار، می‌توانیم تمام CPU و روشی را که برای انتقال داده برمبنای لبه‌های بالا رونده و پایین روندهٔ سیگنال ساعت استفاده می‌کند، طراحی کنیم. مزیت این کار این است که پردازنده به‌طور چشمگیری ساده‌تر می‌شود؛ هم از نظر طراحی و هم از نظر تعداد اجزا. البته این مشکل نیز وجود دارد که
نظر تعداد اجزا. البته این مشکل نیز وجود دارد که تمام CPU باید منتظر کندترین عناصر خود باشد، حتی اگر بخش‌هایی از CPU بسیار سریع تر باشد. این محدودیت، به میزان زیادی به وسیلهٔ روش‌هایی که موازی‌سازی CPU را افزایش می‌دهند، جبران شده‌است. با این حال، بهبودهای معماری به تنهایی قادر به حل تمام معایب پردازنده‌های تماماً همگام نیستند. برای مثال، سیگنال ساعت، در معرض تأخیرهای ناشی از هرگونه سیگنال‌های الکتریکی دیگر است. سرعت‌های بالای ساعت در CPUهایی که به‌طور فزاینده پیچیده شده‌اند، باعث می‌شود تا نگه داشتن سیگنال