مقدمه‌ای بر طراحی پردازنده و قوانین منطق دیجیتال

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

طراحی پردازندهقراردادهای طراحی منطقیمنطق ترکیبی و ترتیبی

~3 min read · Updated Sep 6, 2026

ساخت یک پردازنده واقعاً یعنی چه

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

پیاده‌سازی‌های پردازنده در این فصل از طریق دو طراحی مرتبط اما متمایز بررسی می‌شوند: یک Single-Cycle Implementation، جایی که هر دستور دقیقاً در یک سیکل ساعت کامل می‌شود، و یک Pipelined Implementation، جایی که چند دستور به‌طور هم‌زمان در مراحل هم‌پوشان پردازش می‌شوند. درک نسخه تک‌سیکلی ساده‌تر ابتدا، پیچیدگی اضافه‌شده پایپ‌لاینینگ را بعداً بسیار راحت‌تر برای دنبال کردن می‌کند.

دو دسته از منطق دیجیتال

مدارهای دیجیتال مورد استفاده برای ساخت یک پردازنده در دو دسته بنیادین قرار می‌گیرند، و دانستن اینکه یک قطعه مدار به کدام دسته تعلق دارد تعیین می‌کند که چگونه در طول زمان رفتار می‌کند.

  • Combinational Logic خروجی‌هایی تولید می‌کند که فقط به ورودی‌های فعلی بستگی دارند، بدون هیچ حافظه‌ای از ورودی‌های گذشته. یک مدار جمع‌کننده مثالی معمول است: با همان دو مقدار ورودی، همیشه همان مجموع را تولید می‌کند، صرف‌نظر از اینکه قبلاً چه اتفاقی افتاده است.
  • Sequential Logic خروجی‌هایی تولید می‌کند که هم به ورودی‌های فعلی و هم به وضعیت داخلی ذخیره‌شده‌ای از عملیات‌های قبلی بستگی دارند. یک رجیستر مثالی معمول است: خروجی آن به مقداری که پیش‌تر در آن نوشته شده بستگی دارد، نه فقط به آنچه اکنون در حال رخ دادن است.

چرا یک مجموعه مشترک از قراردادهای طراحی ضروری است

ترکیب صحیح مدارهای ترکیبی و ترتیبی نیازمند توافق روی یک مجموعه مشترک از قوانین است، که در مجموع Logic Design Conventions نامیده می‌شوند، که هر بخش پردازنده از آن‌ها پیروی می‌کند.

  • یک Clock Signal یک مرجع زمان‌بندی منظم و تکرارشونده فراهم می‌کند که هماهنگ می‌کند چه زمانی عناصر ترتیبی مجاز به به‌روزرسانی مقادیر ذخیره‌شده خود هستند.
  • Edge-Triggered Clocking یعنی عناصر نگه‌دارنده وضعیت فقط در یک لحظه مشخص و دقیق از سیگنال ساعت مقادیر جدید را می‌گیرند، مانند وقتی ساعت از پایین به بالا تغییر می‌کند، نه به‌طور پیوسته.
  • سیگنال‌ها باید زمان کافی برای پایدار شدن پیش از رسیدن لبه ساعت داشته باشند، چون منطق ترکیبی مقدار کمی اما غیرصفر زمان برای محاسبه خروجی خود پس از تغییر ورودی‌هایش نیاز دارد.

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

چرا این پایه پیش از ساخت یک datapath اهمیت دارد

هر مداری که در باقی این فصل ساخته می‌شود — از datapath هایی که داده را بین رجیسترها جابه‌جا می‌کنند تا منطق کنترلی که تصمیم می‌گیرد کدام عملیات انجام شود — به این تمایز پایه بین رفتار ترکیبی و ترتیبی، و به پایبندی دقیق به قراردادهای ساعت‌بندی متکی است. رد شدن از این پایه، درک اینکه چرا طراحی‌های بعدی به این شکل ساختاردهی شده‌اند را بسیار سخت‌تر می‌کند.

Written & researched by Dr. Shahin Siami

Related Articles

تصورات غلط رایج درباره محاسبات موازی و درس‌های نهایی کتاب

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

Continue

واقعیت‌های عملی: بنچمارک CPU در مقابل GPU و ضرب ماتریس چندپردازنده‌ای

مقایسه منصفانه یک CPU و یک GPU نیازمند مدلی است که هم توان عملیاتی محاسباتی و هم محدودیت‌های پهنای باند حافظه را با هم در نظر بگیرد. این مقاله مدل roofline مورد استفاده برای مقایسه سخت‌افزار واقعی مانند Intel Core i7 و NVIDIA Tesla GPU را معرفی می‌کند، سپس نشان می‌دهد ضرب ماتریس چگونه در سراسر چند پردازنده تسریع می‌شود، به‌عنوان کاربرد عملی نهایی مفاهیم موازی این فصل.

Continue

بنچمارک کردن چندپردازنده‌ها و مدل‌سازی کارایی موازی

سنجش کارایی یک سیستم موازی نیازمند ابزارها و سنجه‌های متفاوتی نسبت به سنجش یک پردازنده تک‌هسته‌ای است. این مقاله بنچمارک‌های تخصصی مورد استفاده برای ارزیابی سیستم‌های چندپردازنده را پوشش می‌دهد، توضیح می‌دهد چگونه رفتار مقیاس‌پذیری را با افزودن پردازنده‌های بیشتر مدل‌سازی کنیم، و قانون آمدال را در زمینه سنجش کارایی دنیای واقعی بازبینی می‌کند.

Continue

شبکه‌سازی کلاستر: ارتباط با دنیای بیرون

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

Continue

کلاسترها، کامپیوترهای در مقیاس انبار، و توپولوژی‌های شبکه

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

Continue

مقدمه‌ای بر GPU: موازی‌سازی عظیم برای بارهای کاری سنگین از نظر داده

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

Continue