پرش به محتوا

طراحی پردازنده

از ویکی‌پدیا، دانشنامهٔ آزاد

طراحی پردازنده یک زیرشاخه از علوم رایانه و مهندسی کامپیوتر (ساخت) است که به ایجاد یک پردازنده، یکی از اجزای کلیدی سخت‌افزار رایانه می‌پردازد.

فرآیند طراحی شامل انتخاب یک مجموعه دستورالعمل و یک الگوی اجرایی مشخص (مانند محاسبه با مجموعه دستورالعمل کاهش‌یافته) است و منجر به تولید یک ریزمعماری می‌شود که ممکن است به‌عنوان مثال در وی‌اچ‌دی‌ال یا وریلاگ توصیف گردد. برای طراحی ریزپردازنده، این توصیف سپس با استفاده از برخی از فرآیندهای مختلف ساخت نیمه‌هادی تولید می‌شود و حاصل یک چیپ است که بر روی یک زیرلایهٔ مدار چاپی نصب می‌شود. این زیرلایهٔ مدار چاپی سپس روی یک برد مدار چاپی (PCB) لحیم شده یا در یک سوکت پردازنده قرار می‌گیرد.

نحوهٔ عملکرد هر پردازنده اجرای فهرستی از دستورالعمل‌ها است. دستورالعمل‌ها معمولاً شامل مواردی برای محاسبه یا دستکاری مقادیر داده با استفاده از ثبات پردازنده، تغییر یا بازیابی مقادیر در حافظهٔ حافظه، انجام آزمون‌های رابطه‌ای بین مقادیر داده و کنترل جریان برنامه هستند.

طراحی‌های پردازنده اغلب پیش از ارسال طرح نهایی به کارخانهٔ تولید برای ساخت نیمه‌رسانا، روی یک یا چند آرایهٔ دروازه‌ای قابل برنامه‌ریزی در فیلد آزمایش و تأیید می‌شوند.

جزییات

[ویرایش]

پایه ها

[ویرایش]

طراحی CPU به چندین مؤلفه تقسیم می‌شود. اطلاعات از طریق مسیر دادهها (مانند واحد منطقی و خط لولهها) منتقل می‌شوند. این مسیرهای داده از طریق منطق توسط واحد کنترلها کنترل می‌شوند. مؤلفه‌های حافظه شامل فایل ثباتها و حافظه نهانها برای نگهداری اطلاعات یا انجام برخی عملیات هستند. سیگنال ساعت با استفاده از راننده‌های ساعت، حلقه قفل‌شدهٔ فازها و شبکهٔ توزیع ساعت ریتم و زمان‌بندی داخلی را حفظ می‌کند. مدار گیرنده–فرستندهٔ پد امکان دریافت و ارسال سیگنال‌ها را فراهم می‌کند و یک کتابخانهٔ سلول دروازه منطقی برای پیاده‌سازی منطق استفاده می‌شود. دروازه‌های منطقی پایهٔ طراحی پردازنده‌اند، زیرا برای پیاده‌سازی بیشتر مؤلفه‌های پردازنده به کار می‌روند.

CPUهایی که برای بازارهای با عملکرد بالا طراحی می‌شوند ممکن است نیاز به طراحی‌های سفارشی (بهینه‌شده یا خاص برنامه) برای هر یک از این مؤلفه‌ها داشته باشند تا به اهداف فرکانس، مصرف توان و مساحت تراشه دست یابند؛ در حالی که CPUهایی که برای بازارهای با عملکرد پایین‌تر طراحی می‌شوند ممکن است با خرید برخی از این مؤلفه‌ها به‌عنوان مالکیت معنوی، بار پیاده‌سازی را کاهش دهند. تکنیک‌های پیاده‌سازی منطق کنترل (مثل سنتز منطقی با استفاده از ابزارهای CAD) می‌تواند برای پیاده‌سازی مسیرهای داده، فایل‌های ثبات و مدارهای ساعت استفاده شود. سبک‌های متداول منطق در طراحی CPU شامل منطق تصادفی بدون ساختار، ماشین حالات متناهیها، ریزبرنامه‌نویسی (رایج از ۱۹۶۵ تا ۱۹۸۵) و آرایه منطقی قابل‌‌برنامه‌ریزی (رایج در دههٔ ۱۹۸۰، دیگر رایج نیست) می‌شوند.

منطق اجرایی

[ویرایش]

انواع دستگاه‌هایی که برای پیاده‌سازی منطق استفاده می‌شوند شامل موارد زیر‌اند:

یک پروژهٔ طراحی CPU عموماً دارای وظایف اصلی زیر است:

  • معماری مجموعهٔ دستورالعمل قابل مشاهده توسط برنامه‌نویس، که می‌تواند توسط انواع مختلفی از ریزمعماریها پیاده‌سازی شود
  • مطالعهٔ معماری و مدل‌سازی عملکرد در زبان سی/سی‌پلاس‌پلاس یا سامانه‌سی[نیازمند شفاف‌سازی]
  • پیاده‌سازی سنتز سطح بالا یا سطح انتقال ثبات (RTL، مثلاً منطق)
  • تأیید RTL
  • طراحی مدار مؤلفه‌های بحرانی در سرعت (حافظه نهان، ثبات‌ها، واحد منطقی-حسابی)
  • سنتز منطق یا طراحی در سطح دروازهٔ منطقی
  • تحلیل زمان‌بندی ساکن برای اطمینان از اینکه همهٔ منطق و مدارها در فرکانس عملکرد مشخص کار خواهند کرد
  • طراحی فیزیکی شامل فلوپلن و قراردهی و مسیردهی دروازه‌های منطقی
  • بررسی تطابق نمایش‌های RTL، دروازه‌سطح، ترانزیستور‌سطح و فیزیکی
  • بررسی‌ها برای یکپارچگی سیگنال و چک‌کردن قواعد طراحی (تولیدپذیری تراشه)

طراحی مجدد یک هستهٔ CPU برای کاهش مساحت دای به کوچک‌شدن همهٔ اجزا کمک می‌کند (یک «کوچک‌سازی فوتومسک»)، که منجر به قرارگیری تعداد ترازیستور یکسان روی دای کوچکتر می‌شود. این کار عملکرد را بهبود می‌بخشد (ترانزیستورهای کوچکتر سریع‌تر سوئیچ می‌شوند)، توان را کاهش می‌دهد (سیم‌های کوچکتر ظرفیت خازنی پنهان کمتری دارند) و هزینه را کاهش می‌دهد (تعداد بیشتری CPU روی همان ویفر سیلیکون جای می‌گیرد). عرضهٔ یک CPU روی دای با اندازهٔ ثابت اما با هستهٔ CPU کوچکتر، هزینه را تقریباً ثابت نگه می‌دارد ولی اجازهٔ سطوح بالاتری از یکپارچگی را در یک چیپ فراپهن‌مداری می‌دهد (حافظه نهان اضافی، چندین CPU یا سایر مؤلفه‌ها)، که عملکرد را بهبود داده و هزینهٔ کلی سیستم را کاهش می‌دهد.

همانند بیشتر طراحی‌های پیچیدهٔ الکترونیکی، تلاش برای تأیید منطقی (اثبات اینکه طراحی بدون اشکال است) اکنون بر جدول زمان‌بندی پروژهٔ یک CPU غالب است.

نوآوری‌های معماری کلیدی CPU شامل ثبات شاخص، حافظه نهان پردازنده، حافظه مجازی، خط لوله کردن دستورالعمل، ابرپهنه‌ای، رایانه با مجموعه دستورالعمل پیچیده، رایانه با مجموعه دستورالعمل کاهش‌یافته، ماشین مجازی، شبیه‌سازها، ریزبرنامه و پشته است.

موضوعات تحقیقی

[ویرایش]

طیف متنوعی از ایده‌های جدید طراحی CPU پیشنهاد شده‌اند، از جمله منطق بازپیکربندی‌شدنی، پردازنده بدون ساعتها، RAM محاسباتی و محاسبات نوری.

برسی پردازش

[ویرایش]
  • دستورها در ثانیه – بیشتر کاربران معماری کامپیوتر (عموماً اینتل IA-32) را انتخاب می‌کنند تا بتوانند حجم زیادی از نرم‌افزارهای از پیش کامپایل‌شده را اجرا کنند. به دلیل اطلاع کم از معیارسنجی‌های کامپیوتری، برخی بر اساس فرکانس عملیاتی CPU را انتخاب می‌کنند (رجوع کنید به افسانه مگاهرتز).
  • فلاپس – تعداد عملیات نقطه‌‌شناور در هر ثانیه اغلب در انتخاب کامپیوترها برای محاسبات علمی اهمیت دارد.
  • عملکرد به ازای وات – طراحان سیستم‌های محاسبات موازی مانند گوگل، CPUها را بر اساس سرعت به ازای توان مصرفی انتخاب می‌کنند، زیرا هزینهٔ توان‌رسانی به CPU از خود CPU بیشتر است.
  • برخی طراحان سیستم‌های موازی CPUها را بر اساس سرعت به ازای هزینه انتخاب می‌کنند.
  • طراحان سیستم‌های محاسبات بلادرنگ می‌خواهند پاسخ‌های بدترین حالت را تضمین کنند. این امر وقتی آسان‌تر است که CPU تأخیر وقفهٔ کم و پاسخ تعیین‌شده داشته باشد. (DSP)
  • برنامه‌نویسانی که مستقیماً با زبان اسمبلی برنامه می‌نویسند، می‌خواهند CPU از یک مجموعهٔ دستورالعمل کامل پشتیبانی کند.
  • توان کم – برای سیستم‌هایی با منابع توان محدود (مثلاً خورشیدی، باتری، نیروی انسانی).
  • اندازهٔ کوچک یا وزن کم – برای سیستم‌های جاسازی‌شدهٔ قابل حمل، سیستم‌های فضایی.
  • تأثیر زیست‌محیطی – به حداقل رساندن تأثیر زیست‌محیطی کامپیوترها هنگام ساخت و بازیافت و همچنین در حین استفاده. کاهش ضایعات و مواد مضر. (رجوع کنید به محاسبات سبز).

ممکن است در بهینه‌سازی برخی از این معیارها مصالحه‌هایی لازم باشد. به‌ویژه، بسیاری از تکنیک‌های طراحی که باعث می‌شوند CPU سریع‌تر اجرا شود، معیارهای «عملکرد به ازای توان»، «عملکرد به ازای هزینه» و «پاسخ تعیین‌شده» را بسیار بدتر می‌کنند، و بالعکس.

بازار

[ویرایش]

چندین بازار مختلف وجود دارد که در آن‌ها از CPUها استفاده می‌شود. از آنجا که هر یک از این بازارها در نیازهای خود برای CPUها تفاوت دارند، دستگاه‌های طراحی‌شده برای یک بازار در بیشتر موارد برای بازارهای دیگر نامناسب‌اند.

محاسبات عمومی

[ویرایش]

تا تاریخ ۲۰۱۰، در بازار محاسبات عمومی، یعنی کامپیوترهای دسکتاپ، لپ‌تاپ و سرور که معمولاً در کسب‌وکارها و منازل استفاده می‌شوند، معماری اینتل IA-32 و نسخهٔ ۶۴ بیتی آن x86-64 بازار را به‌طور غالب در اختیار دارند؛ رقبای آن مانند PowerPC و SPARC پایگاه کاربری بسیار کوچکتری دارند. سالانه، صدها میلیون CPU معماری IA-32 توسط این بازار استفاده می‌شود. درصد رو به افزایشی از این پردازنده‌ها برای پیاده‌سازی‌های موبایلی مانند نت‌بوک‌ها و لپ‌تاپ‌ها هستند.

از آنجا که این دستگاه‌ها برای اجرای انواع زیادی از برنامه‌ها استفاده می‌شوند، طراحی CPUهای آن‌ها به‌طور خاص برای یک نوع کاربرد یا عملکرد هدف‌گذاری نشده است. نیاز به اجرای کارآمد مجموعهٔ گسترده‌ای از برنامه‌ها باعث شده است این طراحی‌های CPU از نظر فنی پیشرفته باشند، اگرچه معایبی مانند هزینهٔ نسبتاً بالا و مصرف توان زیاد نیز دارند.

پردازنده با عملکرد بالا

[ویرایش]

در سال ۱۹۸۴، بیشتر CPUهای با عملکرد بالا به چهار تا پنج سال زمان برای توسعه نیاز داشتند.

محاسبات علمی

[ویرایش]

محاسبات علمی یک بازار نیچ بسیار کوچک‌تر است (از نظر درآمد و واحدهای عرضه‌شده). این بازار در آزمایشگاه‌های تحقیقاتی دولتی و دانشگاه‌ها استفاده می‌شود. پیش از سال ۱۹۹۰، طراحی CPU اغلب برای این بازار انجام می‌شد، اما CPUهای بازار انبوه که در خوشه‌های بزرگ سازماندهی شده‌اند، مقرون به صرفه‌تر ثابت شدند. اصلی‌ترین حوزهٔ باقی‌مانده در طراحی و پژوهش سخت‌افزار برای محاسبات علمی، سیستم‌های انتقال داده با سرعت بالا برای اتصال CPUهای بازار انبوه است.

طراحی نهفته

[ویرایش]

از نظر تعداد واحدهای عرضه‌شده، بیشتر CPUها در ماشین‌های دیگر جاسازی می‌شوند، مانند تلفن‌ها، ساعت‌ها، لوازم خانگی، وسایل نقلیه و زیرساخت. CPUهای جاسازی‌شده سالانه به میلیاردها واحد فروخته می‌شوند، اما عمدتاً با قیمت بسیار کمتری نسبت به پردازنده‌های عمومی عرضه می‌شوند.

این دستگاه‌های تک‌عملکردی در چندین جنبه با CPUهای عمومی آشناتر متفاوت‌اند:

  • هزینهٔ کم اهمیت بالایی دارد.
  • حفظ مصرف توان پایین مهم است، زیرا دستگاه‌های جاسازی‌شده اغلب عمر باتری محدودی دارند و تعبیه فن خنک‌کننده اغلب ممکن نیست.
  • برای کاهش هزینهٔ کلی سیستم، سخت‌افزارهای جانبی با پردازنده روی یک تراشهٔ سیلیکونی یکپارچه می‌شوند.
  • نگهداری سخت‌افزارهای جانبی روی تراشه نیز مصرف توان را کاهش می‌دهد، زیرا پورت‌های GPIO خارجی معمولاً نیاز به بافر دارند تا بتوانند بار جریان نسبتاً بالایی را که برای حفظ سیگنال قوی خارج از تراشه لازم است، تأمین یا جذب کنند.
    • بسیاری از کاربردهای جاسازی‌شده فضای فیزیکی محدودی برای مدار دارند؛ نگهداری سخت‌افزارهای جانبی روی تراشه فضای مورد نیاز برای برد مدار را کاهش می‌دهد.
    • حافظهٔ برنامه و داده اغلب روی همان تراشه یکپارچه می‌شوند. وقتی تنها حافظهٔ برنامهٔ مجاز ROM باشد، دستگاه به‌عنوان یک میکروکنترلر شناخته می‌شود.
  • برای بسیاری از کاربردهای جاسازی‌شده، تأخیر وقفه نسبت به برخی CPUهای عمومی بحرانی‌تر است.

اقتصاد مربوط به پردازنده های نهفته

[ویرایش]

خانوادهٔ CPUهای جاسازی‌شده با بیشترین تعداد کل واحدهای عرضه‌شده، 8051 است که به‌طور میانگین نزدیک به یک میلیارد واحد در سال عرضه می‌کند. ۸۰۵۱ به‌دلیل هزینهٔ بسیار پایینش گسترده استفاده می‌شود. زمان طراحی اکنون تقریباً صفر است، زیرا به‌عنوان مالکیت معنوی تجاری به‌طور گسترده در دسترس است. اکنون اغلب به‌عنوان بخشی کوچک از یک سیستم روی تراشهٔ بزرگ‌تر جاسازی می‌شود. هزینهٔ سیلیکون یک ۸۰۵۱ اکنون به کمترین مقدار ممکن (حدود ۰٫۰۰۱ دلار) رسیده است، زیرا برخی از پیاده‌سازی‌ها تنها از ۲۲۰۰ دروازهٔ منطقی استفاده می‌کنند و ۰٫۴۷۳۰ میلی‌متر مربع سیلیکون را اشغال می‌کنند.

تا سال ۲۰۰۹، بیشتر CPUها با استفاده از مجموعهٔ دستورالعمل ARM تولید می‌شوند تا هر مجموعهٔ دستورالعمل ۳۲ بیتی دیگری. معماری ARM و اولین تراشهٔ ARM در حدود یک و نیم سال و ۵ سال انسان کار طراحی شدند.

معماری ۳۲ بیتی پارالاکس پروپلر و اولین تراشهٔ آن توسط دو نفر در حدود ۱۰ سال انسان کار طراحی شدند.

معماری ۸ بیتی آتمِل ای‌وی‌آر و اولین ریزکنترل‌کنندهٔ AVR توسط دو دانشجو در مؤسسه فناوری نروژ ابداع و طراحی شد.

معماری ۸ بیتی ام‌اوس تراشه ۶۵۰۲ در ۱۳ ماه توسط گروهی متشکل از حدود ۹ نفر طراحی شد.

Cpu برای تحقیق و اموزش

[ویرایش]

برخی دوره‌های کارشناسی نیاز دارند تیمی ۲ تا ۵ نفره در عرض یک ترم ۱۵ هفته‌ای یک CPU ساده را در یک آرایهٔ دروازه‌ای قابل برنامه‌ریزی در فیلد طراحی، پیاده‌سازی و آزمایش کند.

CPU MultiTitan با ۲٫۵ نفر-سال تلاش طراحی شد که در آن زمان به‌عنوان «تلاش طراحی نسبتاً کم» در نظر گرفته می‌شد. ۲۴ نفر در پروژهٔ تحقیقاتی MultiTitan به مدت ۳٫۵ سال مشارکت داشتند که شامل طراحی و ساخت یک نمونهٔ اولیهٔ CPU بود.

هسته های نرم پرادزنده ها

[ویرایش]

برای سیستم‌های جاسازی‌شده، سطوح عملکرد بالا اغلب به دلیل نیازمندی‌های مصرف توان لازم یا مطلوب نیست. این امکان را می‌دهد که از پردازنده‌هایی استفاده شود که می‌توانند کاملاً توسط تکنیک‌های سنتز منطقی پیاده‌سازی شوند. این ریزپردازنده‌های سنتزشده را می‌توان در زمان بسیار کوتاه‌تری پیاده‌سازی کرد و زمان رسیدن به بازار را کوتاه‌تر کرد.


منابع

[ویرایش]
  • مقاله CPU design در ویکی‌پدیای انگلیسی