آرتیان

معماری CISC چیست و چطور کار می‌کند؟ راهنمای کاربردها، مزایا و معایب

تا‌به‌حال فکر کرده‌اید که وقتی روی یک آیکون کلیک می‌کنید یا یک بازی سنگین را اجرا می‌کنید، در “مغز” کامپیوتر شما چه می‌گذرد؟ پردازنده (CPU) شما چطور زبان انسان را به زبان صفر و یک تبدیل می‌کند؟ پاسخ این سوالات در نحوه طراحی و معماری پردازنده نهفته است. در جهان معماری سخت‌افزار، دو امپراتوری بزرگ وجود دارند که دهه‌هاست بر دنیای محاسبات حکومت می‌کنند: معماری CISC و RISC.

اگر از کامپیوتر رومیزی یا لپ‌تاپ (ویندوزی یا مک‌های قدیمی) استفاده می‌کنید، به احتمال ۹۹ درصد قدرت پردازشی سیستم شما توسط معماری CISC تامین می‌شود. اما این معماری دقیقا چیست و چرا بعد از گذشت نیم قرن، هنوز شرکت‌های غول‌پیکری مثل اینتل (Intel) و AMD به آن وفادار مانده‌اند؟

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

بنر اصلی مقاله معماری CISC چیست و چطور کار میکند

معماری CISC چیست؟

واژه CISC مخفف عبارت Complex Instruction Set Computing است که در زبان فارسی به معنای “مجموعه دستورات محاسباتی پیچیده” ترجمه می‌شود. اما بیایید از تعاریف فاصله بگیریم و ببینیم در عمل چه اتفاقی می‌افتد.

فلسفه اصلی در طراحی پردازنده CISC این است: کار سخت‌افزار را زیاد کن تا کار برنامه‌نویس راحت شود.
در این معماری، یک دستورالعمل پیچیده می‌تواند چندین عملیات سطح پایین (مانند خواندن از حافظه، انجام عملیات ریاضی و ذخیره مجدد در حافظه) را به صورت همزمان و در یک سیکل کاری انجام دهد.

تفاوت نگاه CISC با مثال ساده

برای درک بهتر مفهوم دستورالعمل پیچیده، تصور کنید می‌خواهید یک فایل را کپی کنید:

  • در معماری‌های ساده: شما باید به پردازنده بگویید: ۱. فایل را پیدا کن، ۲. آن را بخوان، ۳. در حافظه موقت نگه دار، ۴. محل جدید را پیدا کن، ۵. آن را آنجا بنویس.
  • در معماری CISC: شما فقط یک دستور می‌دهید: این فایل را کپی کن. سخت‌افزار خودش تمام مراحل ریز را مدیریت می‌کند.

این معماری باعث می‌شود که حجم کدهای نوشته شده توسط برنامه‌نویسان کاهش یابد، زیرا برای انجام کارهای پیچیده نیاز به نوشتن خطوط کد کمتری دارند. این ویژگی در دورانی که حافظه رم (RAM) بسیار گران و محدود بود، یک مزیت حیاتی محسوب می‌شد.

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

تصویر پردازنده CISC اینتل 80486

تاریخچه معماری CISC

برای درک اینکه چرا معماری CISC به این شکل طراحی شد، باید به اوایل دهه ۱۹۷۰ میلادی برگردیم. در آن زمان، حافظه کامپیوتر بسیار گران‌قیمت و کند بود. مهندسان کامپیوتر با یک چالش بزرگ روبرو بودند: چگونه برنامه‌های قدرتمند بنویسیم وقتی حافظه کافی برای ذخیره کدهای طولانی نداریم؟

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

  • ظهور اولین نمونه: اولین جرقه‌های جدی با پردازنده‌هایی مثل Intel 8086 و Motorola 68000 زده شد.
  • استاندارد شدن: با معرفی معماری x86 توسط اینتل، اولین پردازنده CISC مدرن متولد شد و به سرعت به استاندارد صنعت کامپیوترهای شخصی تبدیل شد.
  • تداوم: با وجود گذشت ۵۰ سال، این معماری تکامل یافته و امروزه در قدرتمندترین سرورها و سوپرکامپیوترها استفاده می‌شود. دلیل این ماندگاری، سازگاری با گذشته است؛ یعنی نرم‌افزاری که ۲۰ سال پیش نوشته شده، هنوز هم روی پردازنده‌های مدرن Core i9 اجرا می‌شود.

معماری CISC چطور کار می‌کند؟ آشنایی با ساختار و نحوه عملکرد

در ادامه بررسی می‌کنیم داخل پردازنده چه خبر است. ساختار CISC بر چند پایه اصلی استوار است که آن را از سایر معماری‌ها متمایز می‌کند.

۱. مجموعه دستورات گسترده: یک پردازنده CISC مثل جعبه‌ابزاری است که برای هر کاری یک ابزار مخصوص دارد. این پردازنده‌ها معمولا بین ۱۵۰ تا ۵۰۰ دستور مختلف را پشتیبانی می‌کنند. این تنوع به برنامه‌نویس اجازه می‌دهد دقیقا دستوری را که نیاز دارد پیدا کند.

۲. دستورات با طول متغیر: برخلاف برخی معماری‌ها که همه دستورات باید اندازه ثابتی داشته باشند، در CISC دستورات می‌توانند کوتاه (مثلا ۱ بایت) یا بسیار طولانی و پیچیده (تا ۱۵ بایت یا بیشتر) باشند. این انعطاف‌پذیری باعث استفاده بهینه از فضای حافظه می‌شود.

۳. نقش Microcode (لایه میانی): این بخش مهم‌ترین راز معماری CISC است. پردازنده چطور دستورات پیچیده را می‌فهمد؟ با استفاده از Microcode.

معماری CISC چطور کار می‌کند؟

یک مثال برای درک بهتر Microcode

فرض کنید شما به یک نرم افزار بعنوان مشتری به یک رستوران که همان CPU است برود؛ گارسون (سیستم عامل) سفارش شما را می‌گیرد.

  • دستور CISC: مشتری به گارسون می‌گویید: برای من قورمه‌سبزی بیار. این یک دستور واحد اما پیچیده است. شما نمی‌دانید در آشپزخانه چه می‌گذرد.
  • Microcode (آشپزخانه): در آشپزخانه، سرآشپز این دستور را به ده‌ها ریز-دستور تبدیل می‌کند: سبزی را خرد کن”، “گوشت را تفت بده”، “لوبیا را بپز”، “برنج را دم کن.

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

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

نقش micocode در معماری cisc

جدول مقایسه معماری CISC و RISC

اغلب کاربران هنگام خرید یا مطالعه سخت‌افزار، با دو‌راهی معماری CISC  در برابر معماری RISC مواجه می‌شوند. درک تفاوت CISC و RISC برای شناخت دنیای تکنولوژی امروز حیاتی است. در حالی که CISC بر پیچیدگی سخت‌افزار تمرکز دارد، رقیبش RISC (که در موبایل‌ها استفاده می‌شود) بر سادگی تمرکز کرده است.

در جدول زیر نگاهی دقیق به تفاوت‌های این دو داریم:

ویژگیCISC (Complex Instruction Set)RISC (Reduced Instruction Set)
تعداد دستوراتزیاد (۱۵۰ تا ۵۰۰+ دستور)کم و بهینه (۵۰ تا ۱۰۰ دستور)
پیچیدگی دستوراتپیچیده و چندمنظوره (چند کار در یک دستور)ساده و تک‌منظوره (یک کار در هر دستور)
طول دستورمتغیر (۱ تا ۱۵ بایت)ثابت (معمولا ۴ بایت)
زمان اجراچند سیکل ساعتمعمولا یک سیکل ساعت
تعداد رجیسترهاکم (۸ تا ۱۶ عدد در مدل‌های کلاسیک)زیاد (۳۲ تا ۲۵۶ عدد)
مصرف انرژیبالاتر (نیاز به ترانزیستور بیشتر)بسیار کمتر (بهینه برای باتری)
کاربرد اصلیلپ‌تاپ، دسکتاپ، سرورهای قدرتمندگوشی‌های هوشمند، تبلت، اینترنت اشیا (IoT)
مثال معروفIntel Core, AMD Ryzen (x86)Apple Silicon, Qualcomm Snapdragon (ARM)

همانطور که می‌بینید، معماری CISC برای قدرت خام و انجام کارهای سنگین طراحی شده است، در حالی که RISC پادشاه بهره‌وری انرژی است. به همین دلیل است که لپ‌تاپ شما (CISC) نیاز به فن خنک‌کننده دارد، اما گوشی موبایل شما (RISC) نیازی ندارد. البته باید اشاره کرد که در سال‌های اخیر، خطوط بین این دو کمرنگ شده است؛ اینتل از تکنیک‌های داخلی شبیه به RISC استفاده می‌کند و اپل چیپ‌های RISC بسیار قدرتمندی ساخته است.

مقایسه اجرای دستورات Cisc در برابر RISC

مزایا و چالش‌های معماری CISC

هر یک از این معماری‌های CISC و RISC مزایا و معایب منحصربفرد خود را دارد و نمی‌توان به طور قطع ادعا کرد کدام از آن یکی بهتر است؛ همه چیز بسته به نیاز، توان مالی و زیرساخت‌تان بستگی دارد.

مزایای CISC

  • برنامه‌نویسی آسان‌تر: به دلیل وجود دستورات آماده و پیچیده، نوشتن کامپایلرها و کدهای سطح پایین ساده‌تر است.
  • کد کوتاه‌تر و فشرده‌تر: برنامه‌ها فضای کمتری از رم را اشغال می‌کنند چون تعداد خطوط دستورات کمتر است.
  • سازگاری با گذشته (Backward Compatibility): بزرگترین برگ برنده CISC این است که نرم‌افزارهای قدیمی ویندوز یا لینوکس بدون نیاز به تغییر روی سخت‌افزارهای جدید اجرا می‌شوند.
  • عملکرد عالی در محاسبات پیچیده: برای نرم‌افزارهای مهندسی، رندرینگ و بازی‌های سنگین که نیاز به دستورات محاسباتی متنوع دارند، بسیار کارآمد است.

چالش‌ها و معایب CISC

  • پیچیدگی سخت‌افزاری: طراحی چیپ‌های CISC بسیار دشوار است و به ترانزیستورهای زیادی نیاز دارد که باعث افزایش قیمت می‌شود.
  • مصرف انرژی بالا: تعداد زیاد ترانزیستور و پیچیدگی مدارها باعث تولید گرمای زیاد و مصرف باتری بیشتر می‌شود.
  • قانون ۲۰/۸۰: تحقیقات نشان داده که برنامه‌ها معمولا فقط از ۲۰٪ دستورات پیچیده CISC استفاده می‌کنند و ۸۰٪ دستورات دیگر به ندرت استفاده می‌شوند، اما فضایی از چیپ را اشغال کرده‌اند.
  • محدودیت در فرکانس: به دلیل پیچیدگی مدارها، افزایش سرعت کلاک در این پردازنده‌ها سخت‌تر از معماری‌های ساده است.

نکته: در نسل‌های جدید پردازنده‌ها (مثل سری ۱۲ و ۱۳ اینتل)، مهندسان با استفاده از هسته‌های ترکیبی عملکرد و بهره‌وری بهینه،  سعی کرده‌اند معایب مصرف انرژی را تا حد زیادی برطرف کنند.

مقایسه مزایا و چالش_های معماری CISC

موارد استفاده از معماری CISC

احتمالا همین الان که در حال خواندن این مقاله هستید، یک پردازنده CISC در حال پردازش متن و تصویر برای شماست. بیایید ببینیم قلمرو پادشاهی این معماری کجاست:

  1. کامپیوترهای شخصی و دسکتاپ: تقریبا تمام بازار کامپیوترهای خانگی و اداری در اختیار پردازنده‌های Intel x86 و AMD Ryzen است. قدرت بالا و پشتیبانی از ویندوز، جایگاه آن‌ها را تثبیت کرده است.
  2. لپ‌تاپ‌های ویندوزی و گیمینگ: از لپ‌تاپ‌های دانشجوئی تا هیولاهای گیمینگ، همگی برای اجرای بازی‌ها و نرم‌افزارهای سنگین به معماری x86 (که نوعی CISC است) وابسته‌اند.
  3. سرورهای دیتاسنتر و ابری: قلب تپنده اینترنت و دینتاسنترها، سرورهای قدرتمند Intel Xeon و AMD EPYC هستند. این پردازنده‌ها حجم عظیمی از داده‌ها را مدیریت می‌کنند.
  4. کنسول‌های بازی نسل جدید: پلی‌استیشن ۵ (PS5) و ایکس‌باکس سری X هر دو از پردازنده‌های سفارشی AMD با معماری CISC استفاده می‌کنند تا گرافیک‌های خیره‌کننده را رندر کنند.
  5. ورک استیشن‌ها (Workstations): تدوین‌گران فیلم، انیماتورهای سه‌بعدی و مهندسان سازه برای نرم‌افزارهایی مثل Maya، Premiere و AutoCAD به قدرت محاسباتی خام CISC در ورک استیشن‌های خود نیاز دارند.

آیا CISC شکست ناپذیر است؟

تلاش‌هایی مثل “Windows on ARM” سعی کردند معماری رقیب را وارد دنیای کامپیوتر کنند، اما به دلیل عدم سازگاری نرم‌افزاری گسترده، هنوز نتوانسته‌اند جایگاه CISC را در بازار PC متزلزل کنند. اکوسیستم نرم‌افزاری غنی، بزرگترین محافظ این معماری است.

جمع‌بندی؛ CISC به چه سمتی خواهد رفت؟

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

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

سوالات متداول

۱.  CISC دقیقا چیست و مخفف چه عبارتی است؟

CISC مخفف Complex Instruction Set Computing است که به فارسی یعنی “مجموعه دستورات محاسباتی پیچیده”. در این معماری، یک دستور می‌تواند چندین عملیات سطح پایین را همزمان انجام دهد. این معماری اساس کار پردازنده‌های Intel و AMD است.

۲. تفاوت CISC و RISC در چیست؟

تفاوت اصلی در رویکرد پردازش دستورات است. CISC دارای دستورات پیچیده و تعداد زیاد (۱۵۰-۵۰۰) است که برای کامپیوترها مناسب است، در حالی که RISC بر دستورات ساده، تعداد کم و اجرای سریع تمرکز دارد که منجر به مصرف انرژی کمتر می‌شود و برای موبایل ایده‌آل است.

۳. کدام پردازنده‌ها از معماری CISC استفاده می‌کنند؟

اکثر پردازنده‌های کامپیوترهای شخصی و سرورها از جمله سری Intel Core (i3, i5, i7, i9)، سری Intel Xeon و تمام پردازنده‌های AMD Ryzen و EPYC مبتنی بر معماری CISC (خانواده x86) هستند.

۴. آیا CISC بهتر از RISC است؟

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

۵. چرا پردازنده‌های CISC انرژی بیشتری مصرف می‌کنند؟

به دلیل پیچیدگی سخت‌افزاری و نیاز به مدارهای بیشتر برای ترجمه و اجرای دستورات پیچیده، تعداد ترانزیستورها در CISC بیشتر است. این موضوع باعث تولید گرمای بیشتر و مصرف انرژی بالاتر نسبت به معماری ساده‌تر RISC می‌شود.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

پیمایش به بالا