• پردازنده کمکی در لپ تاپ چیست؟ توابع و اصول عملکرد یک پردازنده کمکی ریاضی. پردازنده کمکی در برنامه نویسی

    انواع زیر از پردازنده های مشترک متمایز می شوند:

    • پردازنده‌های مشترک ریاضی با هدف عمومی، که معمولاً محاسبات ممیز شناور را تسریع می‌کنند،
    • پردازنده‌های مشترک ورودی/خروجی (مثلاً اینتل 8089)، که پردازنده مرکزی را از کنترل عملیات ورودی/خروجی خلاص می‌کند یا فضای آدرس استاندارد پردازنده را گسترش می‌دهد.
    • پردازنده های مشترک برای انجام هر گونه محاسبات بسیار تخصصی.

    پردازنده‌های مشترک می‌توانند بخشی از یک مجموعه منطقی باشند که توسط یک شرکت خاص توسعه یافته است (به عنوان مثال، اینتل پردازنده‌های مشترک و 8089 را برای پردازنده‌های 8086 و 8088، موتورولا - پردازنده‌های مشترک موتورولا 68881) منتشر کرد یا توسط یک سازنده شخص ثالث (مثلا Weitek (انگلیسی) تولید شده باشد. ) برای موتورولا m68k و 1067 برای اینتل 80286).

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

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

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

    نظری در مورد مقاله "همپردازنده" بنویسید

    یادداشت

    همچنین ببینید

    پیوندها

    • whatis.techtarget.com/definition/coprocessor
    • www.webopedia.com/TERM/C/coprocessor.html
    • www.pcmag.com/encyclopedia/term/46625/math-coprocessor
    • www.trevormarshall.com/old_papers/Approaching-Desktop-Supercomputer.pdf 1990 - پردازشگرهای مشترک محاسباتی، پردازشگرهای مشترک محاسباتی 32 بیتی اولیه
    • هانسن، پل مارک، نوامبر 1988

    گزیده ای از ویژگی های Coprocessor

    پرنسس ماریا نوشت که از سوء تفاهمی که بین آنها رخ داده است ناامید شده است. پرنسس ماریا هر چه احساسات پدرش را نوشت ، از ناتاشا خواست باور کند که نمی تواند او را به عنوان کسی که توسط برادرش انتخاب شده است دوست نداشته باشد ، که برای خوشبختی او آماده است همه چیز را فدا کند.
    او نوشت: «با این حال، فکر نکنید که پدرم نسبت به شما بدخلق بوده است. او مردی مریض و پیر است که نیاز به عذر دارد. اما او مهربان، سخاوتمند است و عاشق کسی است که پسرش را خوشحال کند.» شاهزاده ماریا همچنین از ناتاشا خواست که زمانی را تعیین کند که بتواند دوباره او را ببیند.
    پس از خواندن نامه، ناتاشا پشت میز نشست تا پاسخی را بنویسد: "شِرِس پرنسس،" [پرنسس عزیز]، او به سرعت، مکانیکی نوشت و ایستاد. بعد از تمام اتفاقات دیروز چه می تواند بنویسد؟ بله، بله، همه اینها اتفاق افتاد، و حالا همه چیز متفاوت است. "آیا باید او را رد کنم؟ آیا واقعا لازم است؟ این وحشتناک است!»... و برای اینکه به این افکار وحشتناک فکر نکند، به سراغ سونیا رفت و با او شروع به مرتب کردن الگوها کرد.
    پس از شام، ناتاشا به اتاق خود رفت و دوباره نامه پرنسس ماریا را گرفت. - «واقعاً همه چیز تمام شده است؟ او فکر کرد. آیا واقعاً همه اینها به این سرعت اتفاق افتاد و هر آنچه قبلاً بود را نابود کرد؟»! او با تمام قدرت قبلی عشق خود را به شاهزاده آندری به یاد آورد و در عین حال احساس کرد که عاشق کوراگین است. او به وضوح خود را به عنوان همسر شاهزاده آندری تصور می کرد ، تصویر خوشبختی با او را بارها در تصوراتش تکرار می کرد و در همان زمان ، سرخ شده از هیجان ، تمام جزئیات ملاقات دیروز خود را با آناتول تصور می کرد.
    «چرا نمی‌توانستند با هم باشند؟ گاهی در ماه گرفتگی کامل فکر می کرد. در آن زمان فقط من کاملاً خوشحال بودم، اما اکنون باید انتخاب کنم و بدون هیچ کدام از هر دو نمی توانم خوشحال باشم. او فکر کرد یک چیز این است که بگوییم منظور شاهزاده آندری چیست یا پنهان کردن آن به همان اندازه غیرممکن است. و هیچ چیز با این خراب نمی شود. اما آیا واقعاً می توان برای همیشه از این شادی عشق شاهزاده آندری که مدت زیادی با آن زندگی کردم جدا شد؟
    دختر با زمزمه ای با ظاهری مرموز گفت: خانم جوان که وارد اتاق شد. - یک نفر به من گفت بگو. دختر نامه را تحویل داد. دختر هنوز داشت می گفت: "فقط به خاطر مسیح" که ناتاشا، بدون فکر کردن، مهر را با حرکتی مکانیکی شکست و نامه عاشقانه آناتول را خواند، که او بدون اینکه کلمه ای بفهمد فقط یک چیز را فهمید - که این نامه از طرف او، از آن مردی که او را دوست دارد. "بله، او دوست دارد، وگرنه چطور ممکن است اتفاقی بیفتد؟ آیا ممکن است یک نامه عاشقانه از او در دست او باشد؟»
    ناتاشا با دست دادن، این نامه عاشقانه و پرشور را که دولوخوف برای آناتولی نوشته بود، در دست گرفت و با خواندن آن، در آن پژواک همه چیزهایی را یافت که به نظر او احساس می کرد.

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

    • اولاً، این دستگاه برای گسترش قابلیت های محاسباتی پردازنده اصلی در نظر گرفته شده است.
    • ثانیاً به عنوان یک تراشه جداگانه پیاده سازی شد ، یعنی حضور آن اختیاری بود. تراشه کمک پردازنده ریزپردازنده i8086/88 i8087 نام داشت.

    با ظهور مدل‌های جدید ریزپردازنده‌های اینتل، پردازنده‌های کمکی نیز بهبود یافتند، اگرچه مدل نرم‌افزاری آنها تقریباً بدون تغییر باقی ماند. به عنوان دستگاه‌های جداگانه (و بر این اساس، اختیاری در پیکربندی رایانه‌ای خاص)، پردازنده‌های کمکی تا مدل ریزپردازنده i386 حفظ شدند و به ترتیب i287 و i387 نام‌گذاری شدند. با شروع مدل i486، پردازنده مشترک در همان بسته ریزپردازنده اصلی پیاده سازی می شود و بنابراین، بخشی جدایی ناپذیر از رایانه است.

    ویژگی های اصلی پردازنده کمکی ریاضی:

    • پشتیبانی کامل از استانداردهای حسابی IEEE-754 و 854 ممیز شناور. این استانداردها هم فرمت های داده ای را که پردازنده مشترک باید با آنها کار کند و هم مجموعه عملکردهایی را که اجرا می کند توصیف می کند.
    • پشتیبانی از الگوریتم های عددی برای محاسبه مقادیر توابع مثلثاتی، لگاریتم ها و غیره؛
    • پردازش اعداد اعشاری با دقت 18 بیت، که به پردازنده کمکی اجازه می دهد تا عملیات حسابی را بدون گرد کردن اعداد اعشاری کامل با مقادیر تا 10 18 انجام دهد.
    • پردازش اعداد واقعی از محدوده ± 3.37x10 -4932 ...1.18x10 +4932.

    شکل نمایش اعداد ممیز شناور توضیح داده شده است.

    شکل کلی نمایش اعداد واقعی امکان قرار دادن انواع زیر را در شبکه بیتی پیشنهاد می کند.

    نوع اعداد امضا کردن درجه کل مانتیسا
    +∞ 0 11…11 1 00…00
    مثبت
    عادی شده است
    0 00…01 — 11…10 1 00…00 — 11…11
    مثبت غیر استاندارد 0 00…00 0 00…00 — 11…11
    0 0, 1 00…00 0 00…00
    منفی غیر استاندارد 1 00…00 0 00…00 — 11…11
    منفی نرمال شده 1 00…01 — 11…10 1 00…00 — 11…11
    -∞ 1 11…11 1 00…00
    بی شمار
    (NaN - عددی نیست)
    * 11…11 1 **…** ≠0

    اعداد با دقت ساده و دوگانه (به ترتیب شناور (DD) و دو برابر (DQ)) فقط می توانند به صورت استاندارد نمایش داده شوند. در این حالت، بیت قسمت صحیح عدد مخفی است و به معنای 1 منطقی است. 23 (52) بیت باقیمانده مانتیس باینری عدد را ذخیره می کند.

    اعداد دقیق توسعه یافته دوگانه (دبل طولانی (DT)) را می توان به صورت عادی یا غیر استاندارد نشان داد، زیرا بیت عدد صحیح عدد پنهان نیست و می تواند مقادیر 0 یا 1 را بگیرد.

    نوع اصلی داده ای که پردازنده کمکی ریاضی روی آن کار می کند، داده 10 بایتی (DT) است.

    مدل نرم افزار کمک پردازنده

    مدل نرم افزاری کوپروسسور مجموعه ای از رجیسترها است که هر کدام هدف عملکردی خاص خود را دارند.

    در مدل نرم افزار کمک پردازنده، سه گروه از ثبات ها قابل تشخیص هستند:

    • هشت رجیستر r0…r7 که اساس مدل نرم افزار کمک پردازنده را تشکیل می دهند - پشته کمک پردازنده . اندازه هر رجیستر 80 بیت است. این سازمان برای دستگاه های متخصص در پردازش الگوریتم های محاسباتی معمول است.
    • سه ثبت خدمات:
      - ثبت وضعیت کمک پردازنده swr (Status Word Register) - اطلاعاتی را در مورد وضعیت فعلی پردازنده مشترک منعکس می کند.
      - ثبت کنترل پردازنده کمکی cwr (Control Word Register) - حالت های عملکرد پردازنده کمکی را کنترل می کند.
      — ثبت برچسب twr (Tags Word Register) - برای نظارت بر وضعیت هر یک از ثبات های پشته استفاده می شود.
    • دو رجیستر اشاره گر - دستورات dpr (Data Point Register) و ipr (Instruction Point Register). آنها برای ذخیره اطلاعات مربوط به آدرس دستورالعملی که باعث استثنا شده است و آدرس عملوند آن طراحی شده اند. این اشاره گرها هنگام مدیریت استثناها (اما نه برای همه دستورات) استفاده می شوند.

    همه رجیسترهای مشخص شده از نظر برنامه نویسی قابل دسترسی هستند. با این حال، دسترسی به برخی از آنها بسیار آسان است؛ برای این منظور، دستورات ویژه ای در سیستم فرمان coprocessor وجود دارد. دسترسی به سایر رجیسترها دشوارتر است زیرا هیچ دستور خاصی برای این کار وجود ندارد، بنابراین باید مراحل اضافی انجام شود.

    ثبت وضعیت swr- وضعیت فعلی پردازنده مشترک را پس از اجرای آخرین دستور نشان می دهد. ثبات swr حاوی فیلدهایی است که به شما امکان می دهد تعیین کنید: کدام ثبات بالای پشته همپردازنده است، چه استثناهایی پس از اجرای آخرین دستور رخ داده است، چه ویژگی های آخرین اجرای دستور (نوعی آنالوگ ثبت پرچم ها) پردازنده اصلی).

    از نظر ساختاری، رجیستر swr شامل موارد زیر است:

    • 6 پرچم استثنایی PE، OE، UE، ZE، DE، IE.
      استثناها نوعی وقفه هستند که با کمک آن پردازنده برخی از ویژگی های اجرای واقعی برنامه را به اطلاع می رساند. پردازنده کمکی همچنین این توانایی را دارد که چنین وقفه هایی را در زمانی که موقعیت های خاص (نه لزوماً اشتباه) رخ می دهد، ایجاد کند. تمام استثناهای ممکن به 6 نوع کاهش می یابد که هر کدام مربوط به 1 بیت در ثبات swr است. برنامه نویس مجبور نیست برای پاسخ دادن به وضعیتی که منجر به استثنا شده است، یک کنترل کننده بنویسد. پردازنده کمکی می تواند به طور مستقل به بسیاری از آنها پاسخ دهد. به این روش مدیریت استثنا پیش فرض می گویند. برای اینکه یک نوع خاص از استثنا به طور پیش فرض مدیریت شود، استثنا باید بدون ماسک باقی بماند. این عمل با تنظیم بیت مربوطه در رجیستر کنترل کمک پردازنده cwr روی 1 انجام می شود. انواع استثناهای ثبت شده با استفاده از ثبات swr:
      • IE (خطای عملیات نامعتبر) - کد عملیات نامعتبر.
      • DE (خطای عملوند غیرعادی شده) - عملوند غیر عادی.
      • ZE (تقسیم بر صفر خطا) - خطای تقسیم بر صفر.
      • OE (خطای سرریز) - خطای سرریز. زمانی رخ می دهد که ترتیب یک عدد از حداکثر محدوده مجاز فراتر رود.
      • UE (خطای زیر جریان) - خطای ضد سرریز. زمانی رخ می دهد که نتیجه خیلی کوچک باشد (نزدیک به صفر).
      • PE (خطای دقیق) - خطای دقیق. زمانی را تنظیم کنید که پردازنده مشترک باید نتیجه را گرد کند زیرا نمی توان آن را به طور دقیق نشان داد. بنابراین، پردازنده مشترک هرگز نمی تواند 10 را به 3 به طور دقیق تقسیم کند.

      هنگامی که هر یک از این شش نوع استثنا رخ می دهد، بیت مربوطه در ثبات swr روی یک تنظیم می شود، صرف نظر از اینکه آیا استثنا در ثبات cwr پوشانده شده است یا خیر.

    • بیت خطای پشته پردازنده کمکی SF (گسل پشته). اگر یکی از سه حالت استثنا رخ دهد - PE، UE یا IE، بیت روی 1 تنظیم می شود. به ویژه، نصب آن از تلاش برای نوشتن در یک پشته کامل، یا برعکس، تلاش برای خواندن از یک پشته خالی خبر می دهد. پس از آنالیز مقدار این بیت، باید مجدداً به همراه بیت های PE، UE و IE (اگر تنظیم شده بودند) به 0 بازنشانی شود.
    • بیتی از کل خطای پردازنده کمکی ES (خلاصه خطا). اگر هر یک از شش استثنای ذکر شده در بالا رخ دهد، بیت روی 1 تنظیم می شود.
    • چهار بیت c0…c3 (کد شرط) - کد شرط. هدف این بیت ها مشابه پرچم های موجود در رجیستر EFLAGS پردازنده اصلی است - برای منعکس کردن نتیجه اجرای آخرین فرمان مشترک پردازنده.
    • فیلد TOP سه بیتی فیلد حاوی یک اشاره گر ثبت به بالای فعلی پشته است.
    • پردازنده مشترک بیت اشغالی B.

    رجیستر کنترل کمک پردازنده cwr- ویژگی های پردازش داده های عددی را تعیین می کند. با استفاده از فیلدهای موجود در رجیستر cwr، می توانید دقت محاسبات عددی، گرد کردن کنترل و استثناهای ماسک را تنظیم کنید.

    متشکل از:

    • شش ماسک استثنایی PM، UM، OM، ZM، DM، IM.
    • فیلدهای کنترل دقیق رایانه شخصی (کنترل دقیق).
    • فیلدهای کنترل گرد کردن RC (کنترل گرد).

    ماسک های استثنا برای پوشاندن استثناها طراحی شده اند که وقوع آنها با استفاده از شش بیت از ثبات swr ثبت می شود. اگر هر بیت ماسک استثنایی در ثبات cwr روی 1 تنظیم شود، استثناهای مربوطه توسط خود پردازنده پردازش می‌شوند. اگر بیت ماسک استثنای مربوطه رجیستر cwr حاوی 0 برای هر استثنا باشد، آنگاه وقفه int 16 (10h) زمانی که استثنایی از آن نوع رخ دهد، افزایش می‌یابد. سیستم عامل باید حاوی (یا برنامه نویس باید بنویسد) یک کنترل کننده برای این وقفه باشد. او باید علت وقفه را دریابد و سپس در صورت لزوم آن را اصلاح کند و همچنین اقدامات دیگری را انجام دهد.

    کامپیوتر میدان کنترل دقیق 2 بیتی برای انتخاب طول مانتیس استفاده می شود. مقادیر ممکن در این قسمت به این معنی است:

    • PC =00 - طول مانتیس 24 بیت.
    • PC = 10 - طول مانتیس 53 بیت.
    • PC = 11 - طول مانتیس 64 بیت.

    مقدار فیلد پیش فرض PC =11 است.

    فیلد کنترل گرد کردن RC به شما امکان می دهد تا فرآیند گرد کردن اعداد را در طول عملیات همپردازنده کنترل کنید. نیاز به عملیات گرد کردن ممکن است در شرایطی ایجاد شود که پس از اجرای دستور مشترک پردازنده بعدی، یک نتیجه غیرقابل نمایش، به عنوان مثال، یک کسر دوره ای به دست آید. با تنظیم یکی از مقادیر در فیلد RC، می توانید در جهت مورد نیاز گرد کنید.
    مقادیر فیلد RC با الگوریتم گرد کردن مربوطه:

    • 00 - مقدار به نزدیکترین عددی که می تواند در شبکه بیتی ثبات پردازشگر نشان داده شود گرد می شود.
    • 01 - مقدار به پایین گرد شده است.
    • 10 - مقدار به بالا گرد شده است.
    • 11 - قسمت کسری عدد کنار گذاشته می شود. برای کاهش یک مقدار به شکلی استفاده می شود که می تواند در عملیات حسابی اعداد صحیح استفاده شود.

    بیت 12 در ثبات cwr از نظر فیزیکی وجود ندارد و به عنوان 0 خوانده می شود.

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

    • 00 - ثبات پشته پردازنده مشترک با یک مقدار معتبر غیر صفر اشغال شده است.
    • 01 - ثبات پشته پردازنده مشترک حاوی مقدار صفر است.
    • 10 - رجیستر پشته کمک پردازنده شامل یکی از مقادیر عددی خاص به استثنای صفر است.
    • 11 - رجیستر خالی است و می توان در آن نوشت. این مقدار در یک فیلد ثبت تگ دو بیتی به این معنی نیست که همه بیت های ثبت پشته مربوطه باید صفر باشند.
    چگونه پردازنده کمکی کار می کند

    پشته ثبات پردازنده کمکی بر اساس اصل حلقه سازماندهی شده است. در بین هشت رجیستر که پشته را تشکیل می دهند، هیچ کس در بالای پشته وجود ندارد. همه رجیسترهای پشته کاملاً یکسان هستند و از نظر عملکردی دارای حقوق برابر هستند. بالای پشته حلقه کمک پردازنده شناور است. راس فعلی در سخت افزار با استفاده از فیلد بالای 3 بیتی رجیستر swr کنترل می شود.


    فیلد بالایی تعداد ثبت پشته r0…r7 را ثبت می کند که در حال حاضر بالای پشته است.
    دستورالعمل‌های هم‌پردازنده نه با اعداد فیزیکی ثبات‌های پشته‌ای r0…r7، بلکه با اعداد منطقی st(0)...st(7) عمل می‌کنند. با استفاده از اعداد منطقی، آدرس دهی نسبی رجیسترهای پشته همپردازنده اجرا می شود. برای مثال، اگر راس فعلی قبل از نوشتن روی پشته، ثبات پشته فیزیکی r3 باشد، پس از نوشتن روی پشته، راس فعلی به ثبت پشته فیزیکی r2 تبدیل می‌شود. یعنی همانطور که پشته نوشته می شود، نشانگر بالای پشته به سمت اعداد پایین رجیسترهای فیزیکی حرکت می کند (یک عدد کاهش می یابد). اگر راس فعلی r0 باشد، پس از نوشتن مقدار بعدی در پشته همپردازنده، راس فعلی آن به ثبت فیزیکی r7 تبدیل می شود. در مورد اعداد منطقی ثبات های پشته st(0)…st(7)، آنها همراه با تغییر در بالای فعلی پشته حرکت می کنند. بالای منطقی پشته همیشه st(0) نام دارد.
    از آنجایی که توسعه دهنده هنگام نوشتن یک برنامه، اعداد ثبت پشته نسبی را به جای مطلق دستکاری می کند، ممکن است در تفسیر محتویات ثبات تگ twr با ثبات های پشته فیزیکی مربوطه مشکل داشته باشد. به عنوان لینک اتصال، لازم است از اطلاعات فیلد بالای رجیستر swr استفاده شود. به این ترتیب اصل حلقه اجرا می شود.
    این سازمان پشته انعطاف پذیری زیادی دارد، به ویژه هنگام انتقال پارامترها به یک رویه. برای افزایش انعطاف‌پذیری توسعه و استفاده از رویه‌ها، پیوند آنها با منابع سخت‌افزاری (شماره‌های ثبت فیزیکی پردازنده مشترک) از نظر پارامترهای ارسالی توصیه نمی‌شود. تعیین ترتیب پارامترهای ارسال شده در قالب اعداد ثبات منطقی بسیار راحت تر است. چنین روش انتقالی بدون ابهام خواهد بود و نیازی به دانستن جزئیات غیر ضروری در مورد پیاده سازی سخت افزاری پردازنده مشترک از توسعه دهنده نخواهد داشت. شماره‌گذاری منطقی رجیسترهای هم‌پردازنده، که در سطح مجموعه دستورالعمل‌ها پشتیبانی می‌شود، به‌طور ایده‌آل این ایده را پیاده‌سازی می‌کند. در این مورد، مهم نیست که داده‌ها قبل از فراخوانی زیربرنامه در کدام ثبات فیزیکی پشته پردازنده قرار گرفته‌اند، فقط ترتیب پارامترهای روی پشته تعیین می‌شود. به همین دلیل، مهم است که زیربرنامه فقط ترتیب قرار گرفتن پارامترهای ارسال شده در پشته را بداند.

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

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

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

    انواع زیر از پردازنده های مشترک متمایز می شوند:

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

    پردازنده‌های مشترک ورودی/خروجی (مثلاً اینتل 8089)، که پردازنده مرکزی را از کنترل عملیات ورودی/خروجی خلاص می‌کند یا فضای آدرس استاندارد پردازنده را گسترش می‌دهد.

    پردازنده های مشترک برای انجام هر گونه محاسبات بسیار تخصصی.

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

    یکی از طرح‌های تعامل بین پردازنده مرکزی و پردازنده کمکی که به‌ویژه در پردازنده‌های مشترک x86 استفاده می‌شود، به شرح زیر اجرا می‌شود:

    پردازنده کمکی به باس های پردازنده مرکزی متصل است و همچنین دارای چندین سیگنال ویژه برای همگام سازی پردازنده ها با یکدیگر است.

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

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

    یک دستورالعمل انتظار ویژه (FWAIT) وجود دارد که به زور پردازنده را متوقف می کند تا محاسبات کامل شود (در صورتی که نتایج آنها برای ادامه برنامه مورد نیاز باشد). در حال حاضر، از این فرمان فقط برای رسیدگی به استثناها هنگام کار با ممیز شناور استفاده می شود؛ کار پردازنده و پردازنده مشترک به طور شفاف برای برنامه نویس هماهنگ می شود.

    با شروع پردازنده Intel486DX، واحد ممیز شناور در پردازنده مرکزی ادغام شد و FPU نامیده شد. در خط Intel486SX، ماژول FPU غیرفعال شد (در ابتدا، این خط شامل پردازنده هایی با FPU معیوب بود). برای پردازنده‌های Intel486SX، یک "هم‌پردازنده" Intel487SX منتشر شد، اما در واقع یک پردازنده Intel486DX بود و هنگام نصب، پردازنده Intel486SX غیرفعال شد.


    علیرغم ادغام، FPU در پردازنده‌های i486 یک پردازنده مشترک بدون تغییر است که روی همان تراشه پیاده‌سازی شده است؛ علاوه بر این، مدار FPU i486 کاملاً مشابه پردازنده نسل قبلی 387DX تا فرکانس ساعت (نصف فرکانس پردازنده مرکزی) است. ادغام واقعی FPU با پردازنده مرکزی فقط در پردازنده های Pentium مدل MMX آغاز شد.

    در طول دوره مربوطه، پردازنده های مشترک برای پلتفرم x86 تولید شده توسط Weitek گسترده شد - به ترتیب 1167، 2167 در قالب یک چیپست و 3167، 4167 تراشه برای پردازنده های 8086، 80286، 80386، 80486 منتشر شد. در مقایسه با پردازنده های مشترک اینتل، آنها 2-3 برابر عملکرد بیشتری ارائه کردند، اما یک رابط نرم افزاری ناسازگاری داشتند که از طریق فناوری نقشه برداری حافظه پیاده سازی شده بود. این به این واقعیت خلاصه شد که پردازنده اصلی باید اطلاعات را در مناطق خاصی از حافظه که توسط پردازنده مشترک کنترل می شود بنویسد. آدرس خاصی که در آن ضبط انجام شده است به عنوان یک یا آن دستور تفسیر می شود. با وجود ناسازگاری، پردازنده‌های مشترک Weitek به طور گسترده توسط توسعه‌دهندگان نرم‌افزار و سازندگان مادربرد پشتیبانی می‌شدند که شامل استفاده از چنین تراشه‌ای بود.

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

    یک کمک پردازشگر ریاضی یک ماژول ویژه برای انجام عملیات ممیز شناور است که در ارتباط با پردازنده مرکزی کار می کند.
    یک پردازنده کمکی ریاضی عنصر اجباری یک رایانه شخصی نیست. در اصل، شما می توانید آن را رد کنید. این کار در گذشته به دلایل اقتصادی انجام می شد.
    با این حال، هنگام حل مسائلی که به تعداد زیادی محاسبات ریاضی نیاز داشتند، به عنوان مثال، در محاسبات علمی یا مهندسی، مسئله افزایش عملکرد رایانه حاد شد.
    برای انجام این کار، آنها تصمیم گرفتند از یک پردازنده ویژه اضافی استفاده کنند که برای انجام عملیات ریاضی "تنظیم" شده و آنها را چندین برابر سریعتر از پردازنده مرکزی پیاده سازی می کند. بنابراین، افزایش عملکرد پردازنده مرکزی از طریق یک ماژول خاص - یک پردازنده کمکی ریاضی امکان پذیر بود.
    برخلاف پردازنده مرکزی، پردازنده کمکی ریاضی بخش اعظم مدارهای کامپیوتر را کنترل نمی کند. درعوض، تمام فعالیت های کمک پردازنده ریاضی توسط پردازنده مرکزی تعیین می شود، که می تواند دستوراتی را برای اجرای برنامه ها و تولید نتایج به پردازنده کمکی ریاضی ارسال کند. در حالت عادی، واحد پردازش مرکزی تمام عملکردهای کامپیوتر را انجام می دهد. و تنها زمانی که با کاری مواجه می‌شویم که پردازنده‌ی کمکی ریاضی بهتر از عهده آن برآید، داده‌ها و دستورات به آن داده می‌شود و پردازنده مرکزی منتظر نتایج است. چنین مسائلی شامل، برای مثال، عملیات ریاضی بین اعداد حقیقی (عملیات بین اعداد ممیز شناور)، که در آن اعداد با یک مانتیس و یک ارتین (قدرت اعشاری یک عدد که موقعیت نقطه اعشار را تعیین می کند) نشان داده می شوند.
    اگر قبلاً در رایانه های نسل اول (i80386، i80486)، ماژول کمک پردازنده ریاضی به عنوان یک تراشه جداگانه روی مادربرد نصب شده بود، در رایانه های مدرن استفاده از یک پردازنده ریاضی به عنوان یک تراشه جداگانه لازم نیست، زیرا قبلاً در پردازنده مرکزی تعبیه شده است.
    مزایای استفاده از پردازنده کمکی ریاضی به نوع مشکلاتی که در رایانه خود حل می کنید بستگی دارد.
    به گفته INTEL، پردازنده کمکی ریاضی می تواند زمان اجرای عملیات ریاضی مانند ضرب، تقسیم و توان را تا 80 درصد یا بیشتر کاهش دهد. سرعت عملیات ساده ریاضی مانند جمع و تفریق بدون تغییر باقی می ماند.
    از نقطه نظر عملی، عملکرد یک کامپیوتر شخصی مربوط به آماده سازی متن و نگهداری پایگاه داده (عملکردهایی که نیاز به محاسبات پیچیده ریاضی ندارند) توسط یک پردازنده کمکی ریاضی قابل بهبود نیستند. با این حال، هنگام انجام محاسبات علمی و مهندسی، پردازش داده های آماری و همچنین هنگام کار با گرافیک، افزایش قابل توجهی در بهره وری خواهید داشت، زیرا مورد دوم به محاسبات ریاضی فشرده نیاز دارد.

    همپردازنده ریاضی - یک پردازنده مشترک برای گسترش مجموعه دستورات پردازنده مرکزی و ارائه عملکرد واحد ممیز شناور برای پردازنده هایی که ماژول یکپارچه ندارند.

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

    این سیستم شامل حدود 80 فرمان است. طبقه بندی آنها:

    1) دستورات انتقال داده: - داده واقعی. - داده های عدد صحیح؛ - داده های اعشاری

    2) دستورات مقایسه داده ها: - داده های واقعی. - داده های عدد صحیح؛ - تحلیل و بررسی؛ - از صفر

    3) دستورات حسابی: - داده های واقعی: جمع، تفریق، ضرب، تقسیم.

    4) داده های عدد صحیح: جمع، تفریق، ضرب، تقسیم. - دستورات حسابی کمکی (ریشه مربع، مدول، تغییر علامت، توان و مانتیس).

    5) دستورات ماورایی: - مثلثات: سینوس، کسینوس، مماس، متقاطع; - محاسبه لگاریتم ها و توان ها.

    6) دستورات کنترل: - مقداردهی اولیه پردازنده کمکی. - کار با محیط زیست؛ - کار با پشته - تغییر حالت ها

    پردازنده مشترک- یک پردازنده تخصصی که قابلیت های پردازنده مرکزی یک سیستم کامپیوتری را گسترش می دهد، اما به عنوان یک ماژول عملکردی جداگانه طراحی شده است. از نظر فیزیکی، پردازنده کمکی می‌تواند یک تراشه جداگانه باشد یا می‌تواند در واحد پردازش مرکزی ساخته شود (همانطور که در مورد پردازنده‌های کمکی ریاضی در پردازنده‌های رایانه شخصی که با Intel 486DX شروع می‌شوند، وجود دارد).

    پردازنده کمکی ریاضی 80x287 در یک بلوک روی مادربرد یک رایانه شخصی.

    انواع زیر از پردازنده های مشترک متمایز می شوند:

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

    · پردازنده های مشترک ورودی/خروجی (مثلاً اینتل 8089)، که پردازنده مرکزی را از کنترل عملیات ورودی/خروجی خلاص می کند یا فضای آدرس استاندارد پردازنده را گسترش می دهد.

    · پردازنده های مشترک برای انجام هر گونه محاسبات بسیار تخصصی.

    پردازنده‌های کمکی می‌توانند بخشی از یک مجموعه منطقی باشند که توسط یک شرکت خاص توسعه یافته است (به عنوان مثال، اینتل پردازنده‌های مشترک 8087 و 8089 را همراه با پردازنده 8086 منتشر کرد) یا توسط یک سازنده شخص ثالث تولید شده باشد (به عنوان مثال، Weitek 1064 برای موتورولا m68k و 1067 برای اینتل. 80286).

    تراشه های تولید کننده صدا- میکرو مدارهای تخصصی برای تولید صدا. آنها را می توان برای بازتولید جلوه های صوتی و موسیقی سنتز شده (نگاه کنید به chiptune) در رایانه ها، سیستم های بازی (کنسول ها، ماشین ها) و لوازم خانگی استفاده کرد. نام انگلیسی ریز مدارهای این نوع است تراشه صدا، در اصطلاحات فنی روسی مخفف وجود دارد PGZ- تولید کننده صدای قابل برنامه ریزی آنها می توانند همه دیجیتال، تمام آنالوگ یا مخلوط باشند. اینها ممکن است شامل ژنراتورهای فرکانس (معمولاً بر اساس تقسیم فرکانس ساعت ورودی با ضریب تقسیم متغیر نرم‌افزار)، کنترل‌کننده‌های پاکت، مدارهای پخش نمونه، فیلترها و تقویت‌کننده‌های سیگنال باشند.

    مولدهای صدا را می توان به دو دسته اصلی تقسیم کرد - آنهایی که مستقیماً صدا را سنتز می کنند و آنهایی که صداهای از پیش دیجیتالی شده را تولید می کنند. دسته اول را نیز می توان با توجه به اصل عملکرد به سینت سایزرهای فرکانس ساده (ساخته شده بر روی تقسیم کننده های فرکانس با اجزای اضافی) و سینت سایزرهایی با استفاده از روش مدولاسیون فرکانس (سنتز FM، بر اساس مدولاسیون متقابل چندین مولد صدا) تقسیم کرد.

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

    پردازنده گرافیکی(انگلیسی) واحد پردازش گرافیکی, پردازنده گرافیکی) - یک دستگاه جداگانه در رایانه شخصی یا کنسول بازی که رندر گرافیکی را انجام می دهد. GPU های مدرن گرافیک کامپیوتری را بسیار کارآمد پردازش و نمایش می دهند. به لطف معماری تخصصی خطوط لوله، آنها در پردازش اطلاعات گرافیکی بسیار کارآمدتر از یک واحد پردازش مرکزی معمولی هستند. پردازنده گرافیکی در آداپتورهای ویدئویی مدرن به عنوان یک شتاب دهنده گرافیک سه بعدی استفاده می شود.

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

    پردازنده احتمالیبا احتمالات در سطح سخت افزار عمل می کند. دستگاه ریاضی بر اساس قضیه بیز است

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

    · 1 برنامه

    · 2 نمونه اولیه

    حوزه های کاربردی[ویرایش | ویرایش متن منبع]

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

    پیش بینی می شود که پردازنده احتمال می تواند در رایانه های مدرن به عنوان یک پردازنده مشترک دیگر به همراه یک پردازنده گرافیکی، پردازنده سیگنال یا FPGA مورد استفاده قرار گیرد و سرعت و کارایی بالایی را برای حل طیف گسترده ای از مشکلات تخصصی ارائه دهد.

    پردازنده کمکی ریاضی- پردازنده کمکی برای گسترش مجموعه دستورات پردازنده مرکزی و ارائه عملکرد آن واحد ممیز شناور، برای پردازنده هایی که ماژول یکپارچه ندارند.

    واحد ممیز شناور(یا نقطه شناور; انگلیسی واحد ممیز شناور (FPU)) - بخشی از پردازنده برای انجام طیف گسترده ای از عملیات ریاضی بر روی اعداد واقعی.

    پردازشگرهای «اعداد صحیح» ساده برای مدیریت اعداد واقعی و عملیات ریاضی به روال های پشتیبانی مناسب و زمان برای اجرای آنها نیاز دارند. ماژول عملیات ممیز شناور از کار با آنها در سطح اولیه پشتیبانی می کند - بارگیری، تخلیه یک عدد واقعی (به / از رجیسترهای تخصصی) یا یک عملیات ریاضی بر روی آنها توسط یک فرمان انجام می شود، به همین دلیل شتاب قابل توجهی در چنین عملیاتی وجود دارد. به دست آورد.

    · 1 پردازنده مشترک

    o 1.1 پردازنده های مشترک خانواده Intel x86

    o 1.2 پردازنده های مشترک x86 شخص ثالث

    o 1.3 پلتفرم های دیگر

    · 2 دستگاه FPU

    o 2.1 فرمت های داده

    o 2.2 ثبت

    o 2.3 سیستم فرماندهی Coprocessor

    · 3 را نیز ببینید

    · 4 یادداشت

    پردازشگرهای مشترک[ویرایش | ویرایش متن منبع]

    مقاله اصلی:X87

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

    پردازنده های مشترک اینتل از خانواده x86[ویرایش | ویرایش متن منبع]

    برای پردازنده های خانواده x86 از 8086/8088 تا 386، واحد ممیز شناور به یک تراشه جداگانه به نام اختصاص داده شد. پردازنده کمکی ریاضی. یک کانکتور جداگانه برای نصب کوپروسسور بر روی برد کامپیوتر در نظر گرفته شده است.

    پردازنده کمکی یک پردازنده تمام عیار نیست، زیرا نمی داند چگونه بسیاری از عملیات لازم برای این کار را انجام دهد (به عنوان مثال، نمی داند چگونه با یک برنامه کار کند و آدرس های حافظه را محاسبه کند)، که فقط یک ضمیمه است. پردازنده مرکزی

    یکی از طرح‌های تعامل بین پردازنده مرکزی و پردازنده کمکی که به‌ویژه در پردازنده‌های مشترک x86 استفاده می‌شود، به شرح زیر اجرا می‌شود:

    · کوپروسسور به باس های پردازنده مرکزی متصل است و همچنین دارای چندین سیگنال ویژه برای همگام سازی پردازنده ها با یکدیگر است.

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

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

    · همچنین یک فرمان انتظار ویژه (FWAIT) وجود دارد که به زور پردازنده را تا پایان محاسبات متوقف می کند (در صورتی که نتایج آنها برای ادامه برنامه مورد نیاز باشد). در حال حاضر، از این فرمان فقط برای رسیدگی به استثناها هنگام کار با ممیز شناور استفاده می شود؛ کار پردازنده و پردازنده مشترک به طور شفاف برای برنامه نویس هماهنگ می شود.

    با شروع پردازنده Intel486DX، واحد ممیز شناور در پردازنده مرکزی ادغام شد و FPU نامیده شد. در خط Intel486SX، ماژول FPU غیرفعال شد (در ابتدا، این خط شامل پردازنده هایی با FPU معیوب بود). برای پردازنده‌های Intel486SX، یک "هم‌پردازنده" Intel487SX نیز منتشر شد، اما در واقع یک پردازنده Intel486DX بود و هنگام نصب، پردازنده Intel486SX غیرفعال شد.

    علیرغم ادغام، FPU در پردازنده‌های i486 یک پردازنده مشترک بدون تغییر است که روی همان تراشه پیاده‌سازی شده است؛ علاوه بر این، مدار FPU i486 کاملاً مشابه پردازنده نسل قبلی 387DX تا فرکانس ساعت (نصف فرکانس پردازنده مرکزی) است. ادغام واقعی FPU با پردازنده مرکزی فقط در پردازنده های Pentium مدل MMX آغاز شد.