moaminsharifi/fa-wiki-spell-checker huggingface dataset:
سیستم ترجمه عصبی گوگل ترنسلیت از یک شبکه عصبی مصنوعی بزرگ که قادر به یادگیری عمیق است استفاده می‌کند. با استفاده از میلیون‌ها نمونه، ترجمه ماشینی عصبی گوگل کیفیت ترجمه را بهبود می‌بخشد، سپس نتیجه تغییر ساختار داده شده و با گرامر زبان انسانی سازگار می‌شود. معماری پیشنهادی ترجمه ماشینی عصبی گوگل ابتدا بر روی بیش از صد زبان پشتیبانی شده توسط گوگل ترنسلیت آزمایش شد. ترجمه ماشینی عصبی گوگل زبان میانی خود را نساخت، بلکه از اشتراکاتی که میان تعداد زیادی زبان وجود داشت استفاده کرد، فعالیتی که بیشتر روانشناسان و زبان‌شناسان را درگیر می‌کرد تا دانشمندان حوزه کامپیوتر. موتور جدید ترجمه برای اولین بار در سال ۲۰۱۶ برای هشت زبان انگلیسی و فرانسوی، آلمانی، اسپانیایی، پرتغالی، چینی، ژاپنی، کره ای و ترکی فعال شد. در مارس ۲۰۱۷، سه زبان دیگر فعال شد: روسی، هندی و ویتنامی همراه با تایلندی پشتیبانی از آن بعداً اضافه شد. پشتیبانی از زبان عبری و عربی نیز با کمک انجمن ترجمه گوگل (متشکل از کاربران داوطلب) در همان ماه اضافه شد. در اواسط آوریل ۲۰۱۷، گوگلِ هلند پشتیبانی از زبان هلندی و دیگر زبان‌های اروپایی نزدیک به انگلیسی را اعلام کرد. پشتیبانی بیشتر برای نه زبان هندی، یعنی: هندی، بنگالی، مراتی، گجراتی، پنجابی، تامیل، تلوگو، مالایالام و کاناده در پایان آوریل ۲۰۱۷ اضافه.
در ادامه لیستی از جفت زبان‌های قابل ترجمه توسط ماشین ترجمه عصبی گوگل ارائه شده‌است. (نام زبان‌ها ترجمه نشده‌است)
گفته می‌شود سیستم ترجمه ماشینی عصبی گوگل پیشرفتی را نسبت به گوگل ترنسلیت پیشین از لحاظ توانایی در «ترجمه زیرو شات» نشان می‌دهد، یعنی به‌طور مستقیم یک زبان را به زبانی دیگر ترجمه می‌کند (به عنوان مثال از ژاپنی به کره ای). گوگل ترنسلیت قبلاً ابتدا زبان منبع را به زبان انگلیسی ترجمه می‌کرد و سپس انگلیسی را به زبان مقصد، نه به‌طور مستقیم از یک زبان به زبان دیگر. در حال حاضر، هیچ جفت زبان غیر انگلیسی پشتیبانی نمی‌شود.
هسته سپتال (فضای بویایی میانی) مجموعه ای از ساختارها هستند که زیر تاج کورپوس کولاسوم و در جلوی لمینا ترمینالیس (لایه ای از جسم خاکستری در مغز که کیاسمای بینایی را متصل می‌کند و سطح اتصال قدامی که در ادامه به به روسترال لمینا متصل میشود) قرار دارند. هسته سپتال متشکل از هسته‌هایی با اندازه متوسط است که به گروه‌های میانی، جانبی و خلفی تفسیم میشوند. هسته سپتال اتصالهایی دو طرفه را از پیاز بویایی، هیپوکمپ، آمیگدال، هیپوتالاموس، میان مغز، عضو نواری شکل، شکنچ کمربندی و تالاموس دریافت میکند.
فضای سپتال (فضای بویایی میانی) ارتباطی با حس بویایی ندارد بلکه در حیوانات تحت عنوان منطقه لذت شناخته میشود. هسته سپتال همراه با هسته اکامبنس در پاداش و تقویت نقش ایفا میکند. در دهه ۱۹۵۰ اولدز و میلنر نشان دادند که موش‌هایی که دارای الکترودهایی در این منطقه بودند به صورت مکرر خود اقدام به تحریک این منطقه نموده‌اند (یعنی اهرمی را فشار میدادند تا جریان الکتریکی را که منجر به تحریک این نرون‌ها میشود را دریافت نمایند). آزمایش‌های دیگری بر روی فضای سپتال انسانها از دهه ۱۹۶۰ صورت گرفته‌است.
تیغه خلفی اطلاعات را به فضای پیش بینایی جانبی، هیپوتالاموس جانبی، پری ونتریکولار هیپوتالاموس و تالاموس میانی ارسال میکند.
تارهای عصبی از نیمه شکمی سپتوم به ساختار هیپوکمپ، تالاموس، هیپوتالاموس و مغز میانی اطلاعات را ارسال مینمایند. به ویزه، نرون‌هایی که در خط میانی اندام‌های عمودی نوار مورب بروکا قرار دارند اطلاعات را از طریق فورنیکس پشتی به تمامی زمینه‌های CA هیپوکمپ خلفی و قشر سابیکولار مجاور ارسال میکنند. سایر تارهای این منطقه اطلاعات را از طریف استریا مدولاریس به هسته هابلنواتر میانی و خلفی، هسته قدامی-جانبی و پاراتنیال تالاموس و از طریق دسته میانی مغز قدامی به بخش خلفی هسته پستانی میانی ارسال میکند.
سلولهای واقع در تیغه بینابینی میانی-جانبی اطلاعات را از طریف بخش جانبی فیمبریا به تمامی زمینه‌های CA هیپوکمپ شکمی و قشرهای سابیکولار و انتورینال ارسال میکنند. این سلولها همچنین تارها را از طریق استریا مدولاریس به هسته هابنولار جانبی و هسته تالاموسی میانی-خلفی ارسال میکنند. سایر آکسونهایی که از این سلولها خارج میشوند از طریف دسته میانی بخش قدامی مغز به پایین رفته تا نهایتاً در ناحیه پشتی هسته اینترپندنکولار خاتمه پیدا میکنند.
تیغه پشتی به عنوان مغز تقویت اتصالات از CA# هیپوتالاموس به منقطه تگمنتال شکمی است. این اتصالات به ایجاد اتصال سیگنالهای پاداش و محتوایی که منجر به ایجاد آنها میشود، کمک مینمایند.
تارهای خارجی‌ترین بخش تیغه شکمی (یعنی هسته زمینه ای اتصالات قدامی) اطلاعات را از طریق پایانه استریا به سوبیکولوم شکمی ارسال میکنند. علاوه بر این، سلولهای واقع در اندام افقی نوار مورب بخش اعظم اطلاعات را به بخش خلفی هسته پستانی میانی، ونترال تگمنتال آریا و آمیگدال ارسال میکنند.
گابا و گلوتامات که فعالیت تیغه خارجی را تنظیم مینمایند مشخص شده‌است که در حین بازی‌های اجتماعی در موشهای نوجوان افزایش پیدا میکند. در حین بازیهای اجتماعی تفاوتی در غلظت GABA خارج سلولی بین دو جنس مشاهده نشده‌است هرچند، گلوتامات نفش اساسی را در بازیهای اجتماعی زنان بازی میکند. زمانی که گیرنده‌های گلوتامات به صورت دارویی در تیغه خارجی مهار میشوند، کاهش معناداری در فعالیت‌های اجتماعی زنان مشاهده شده‌است در حالی که چنین کاهشی در مردان مشاهده نشده‌است. در نتیجه پنین به نظر میرسد که انتقال عصبی GABA در تنظیم رفتار احتماعی هر دو جنس دخیل است درحالی که انتقال عصبی گلوتامات وابسته به جنس بوده و تنها در تنظیم رفتار اجتماعی موشهای نوجوان زن دخیل است.
آبزیم (برگرفته شده از آنتی‌بادی و آنزیم) که همچنین "(catmab(catalyc monoclonal antibody" و آنتی‌بادی کاتالیک نیز نامیده می‌شود، یک آنتی‌بادی مونوکلونال با فعالیت کاتالیکی است. آبزیم‌ها معمولاً در آزمایشگاه‌های ایمن حیوانات علیه هاپتن‌های سنتتیک برمی‌آیند اما بعضی آبزیم‌های طبیعی ممکن است در بدن انسان‌ها یافت می‌شوند. (اتوآنتی بادی‌های پپتید روده‌ای آنتی وازو-اکتیو) و در بیماران خودایمنی همانند اریتماتوز جلدی سیستمیک به دی‌اِن‌اِی متصل شده و آن را تجزیه می‌کنند. تا به امروز آبزیم‌ها تنها به‌صورت ضعیف، با فعالیت کاتالیکی متوسط و بدون استفاده عملی ثابت شده‌ای پدید آمده‌اند. اما آن‌ها موضوعی از علاقهٔ علمی قابل توجهی هستند. مطالعهٔ آن‌ها بینش مهمی در مکانیسم‌های واکنش، ساختار و عملکرد آنزیم، کاتالیز و سیستم ایمنی به همراه داشته‌است. آنزیم‌ها با کاهش انرژی فعال سازی وضعیت گذار یک واکنش عمل می‌کنند؛ بدین وسیله که تشکیل یک واسطهٔ مولکولی کمتر مطلوب میان واکنشگر(ها) و محصول(ها) را قادر می‌سازند. اگر یک آنتی‌بادی به گونه‌ای سازمان یابد که به مولکولی که از لحاظ ساختاری و الکترونیکی مشابه وضعیت گذار واکنش شیمیایی داده شده‌است، متصل شود؛ آنتی‌بادی سازمان یافته به وضعیت گذار متصل شده تثبیت می‌گردد و درست همانند یک آنزیم طبیعی انرژی فعال‌سازی واکنش را کاهش داده و در نتیجه واکنش را کاتالیز می‌کند. با بارآوردن یک آنتی‌بادی برای اتصال به یک وضعیت گذار پایدار قابل مقایسه، نوع نو و منحصر به‌فردی از آنزیم تولید می‌شود. تاکنون تمام آنتی‌بادی‌های کاتالیکی تولید شده تنها به‌صورت متوسط، با فعالیت آنزیمی ضعیف پدید آمده‌اند. دلیل پایین بودن فعالیت کاتالیکی این آنزیم‌ها به‌صورت گسترده‌ای موردبحث قرار گرفته‌است. فرصت‌ها نشان می‌دهند که فاکتورهای خارج از جایگاه اتصال می‌توانند نقش مهمی، به ویژه از راه پروتئین‌های پویا داشته باشند. بعضی آبزیم‌ها طراحی شده‌اند تا از یون‌های فلزی و دیگر کوفاکتورها برای افزایش فعالیت کاتالیکی خود استفاده کنند.
امکان کاتالیز یک واکنش با استفاده از یک آنتی‌بادی که به وضعیت گذار متصل می‌شود نخستین بار توسط ویلیام پ. جنکز در سال ۱۹۶۹ مطرح شد. در سال ۱۹۹۴ پیتر ج. شولز و ریچارد آ. لرنر به علت ساماندهی آنتی‌بادی‌های کاتالیکی برای بسیاری از واکنش‌ها و محبوب ساختن مطالعهٔ خویش در قالب زیرمجموعه‌ای قابل توجه از آنزیم‌شناسی، موفق به دریافت جایزهٔ معتبر "wolf prize in chemistry" گشتند.
در ژوئن ۲۰۰۸ موضوع نشریهٔ خودایمنیکه پژوهشگران آن س. پلانک، س. پاول و یاسوهیرو نیشیاما، دکتراهای دانشگاه علوم پزشکی تگزاس واقع در هیوستون بودند، اعلان کردند که آبزیمی را ساخته‌اند که می‌تواند ناحیهٔ سوپر-آنتی‌ژنی جایگاه اتصال "gp120CD4" را تجزیه کند. این یکی از قسمت‌های پوشش خارجی ویروس اچ آی وی است که عوض نمی‌شود زیرا محل ضمیمه شدن به لنفوسیتT، سلول کلیدی در ایمنی سلولی واسط، است. بار اول در اثر اچ آی وی مبتلایان آنتی‌بادی‌هایی را برای قسمت‌های بسیار متغیر پوشش ویروسی می‌سازند. آنتی‌بادی غیرفعال است زیرا ویروس این قابلیت را دارد که پوششهای خود را به سرعت تغییر دهد. چون پروتئین "gp120" جهت حمله برای ویروس ضروری است در کشش‌های مختلف عوض نمی‌شود و به‌عنوان یک نقطهٔ آسیب‌پذیری در میان کل محدودهٔ جمعیت متنوع اچ‌آی‌وی است. آبزیم فراتر از اتصال به جایگاه را انجام می‌دهد، به‌صورت کاتالیکی جایگاه را نابود کرده با تفسیر ویروس راکد می‌تواند به دیگر ویروس‌های اچ‌آی‌وی حمله کند. یک مولکول مستقل آبزیم می‌تواند هزاران ویروس اچ‌آی‌وی را نابود کند.
سخت‌افزار شبکه که با نام‌های تجهیزات شبکه یا دستگاه‌های شبکه رایانه‌ای نیز شناخته می‌شود دستگاه‌های فیزیکی هستند که برای برقراری ارتباط و تعامل بین دستگاه‌ها در یک شبکه رایانه‌ای بکار می‌روند. IEEE 802.3-2012 بند 9.1 واحدهایی که گیرنده نهایی یا تولیدکننده داده‌ها هستند میزبان (host) یا تجهیزات پایانه (terminal) نامیده می‌شوند.
با پیشرفت فناوری و ادغام شبکه‌های مبتنی بر پروتکل اینترنت (IP) با زیرساخت‌های ساختمانی و لوازم خانگی، سخت‌افزار شبکه به دلیل تعدد به شدت فزاینده نقاط پایانی توانای شبکه، به یک گزاره مبهم تبدیل خواهد شد.
دستگاه‌های شبکه ممکن است شامل دروازه، رهیاب (routers)، پل شبکه، مودم، نقطه دسترسی بی‌سیم، کابل شبکه، تقویت‌کننده خط، سوئیچ شبکه،‌ هاب و تکرارگر باشند. همچنین ممکن است دستگاه‌های ترکیبی شبکه مانند سوئیچ چند لایه، مبدل پروتکل، پل - رهیاب، پراکسی سرور، دیوار آتش، برگردان نشانی شبکه، تسهیم‌کننده، کنترل‌کننده‌های رابط شبکه (کارت شبکه)، کنترل‌کننده رابط شبکه بی‌سیم (کارت شبکه بی‌سیم)، آداپتور ترمینال، و دیگر سخت‌افزارهای مربوط باشند.
یکی از رایج‌ترین نوع سخت‌افزار شبکه، یک کارت شبکه اترنت مبتنی بر کار با سیم مس است که یک درگاه ورودی استاندارد در بسیاری از سیستم‌های رایانه‌ای مدرن است. شبکه‌های بی‌سیم، به ویژه برای دستگاه‌های قابل حمل و دستی محبوب شده‌اند.
دیگر سخت‌افزارهای شبکه مورد استفاده در رایانه‌ها شامل تجهیزات مرکز داده (مانند سرویس‌دهنده فایل، سرویس‌دهنده پایگاه داده و شبکه ذخیره‌سازی)، خدمات شبکه (مانند سامانه نام دامنه (DNS)، قرارداد پیکربندی پویای میزبان (DHCP)، رایانامه و غیره) و همچنین دستگاه‌هایی که تحویل محتوا را تضمین می‌کنند.
با دید وسیع تر، تلفن همراه، تبلت و دستگاه‌های مرتبط با اینترنت اشیاء نیز ممکن است سخت‌افزار شبکه به حساب بیایند.
دستگاه‌های تک کاربرد معمول شبکه عبارتند از:
دستگاه‌های ترکیبی شبکه عبارتند از:
اجزای سخت‌افزاری یا نرم‌افزاری که معمولاً بر روی نقطه اتصال شبکه‌های مختلف قرار می‌گیرند (مثلاً بین یک شبکه داخلی و یک شبکه خارجی) عبارتند از:
دستگاه‌های سخت‌افزاری دیگر که برای ایجاد شبکه‌ها یا ارتباطات از طریق خط تلفن استفاده می‌شود عبارتند از:
سخت‌افزار شبکه به چند دسته تقسیم می‌شوند :
سخت‌افزار فعال سخت‌افزاری است که فعالیت الکترونیکی در درون آن صورت می‌گیرد و اطلاعات وارد شده به آن بسته به شرایط تعریف‌شده برای دستگاه، پردازش و منتقل می‌شود.
گونه‌های سخت‌افزار فعال عبارتند از:
دسته‌بندی سخت‌افزار فعال شبکه
سخت‌افزار غیر فعال سخت‌افزاری است که قابل برنامه‌ریزی نبوده و نمی‌تواند تغییری روی اطلاعات یا محتوای تبادل شده در شبکه بدهد. بخشی از سخت‌افزار شبکه که به منظور نصب و پیکر بندی سخت‌افزار شبکه (مانند کابل‌کشی و نصب دستگاه‌ها) استفاده می‌شود در این دسته جای می‌گیرند.
گونه‌های سخت‌افزار غیر فعال عبارتند از:
نام چند تولیدکننده مطرح سخت‌افزار شبکه در جهان:
زیر تخت یک فیلم ترسناک آمریکایی محصول سال۲۰۱۲ به کارگردانی استیون سی میلر می‌باشد.
Streaming SIMD Extensions 3 ،SSE3، همچنین شناخته شده با اسم کد Intel آن (Prescott New Instructions (PNI، سری سوم دستورالعمل‌های SSE برای معماری (IA-32 (x86 است. اینتل SSE3 را در اوایل سال ۲۰۰۴ با Prescott revision از نوع پردازنده Pentium 4 خود معرفی کرد. در آوریل ۲۰۰۵، AMD یک زیر مجموعه از SSE3 را در نسخه E (ونیز و سان دیگو) پردازنده Athlon 64 خود معرفی کرد. دستورالعمل SIMD قبلی بر روی پلت فرم x86، از قدیمی‌ترین به جدیدترین، ، (توسط AMD توسعه یافته‌است، اما توسط پردازنده‌های اینتل پشتیبانی نمی‌شود)، و هستند.
SSE3 نسبت به SSE2 شامل ۱۳ دستورالعمل جدید می‌باشد.
تغییر قابل توجهی این است که توانایی کار به صورت افقی در یک ثبات است، به عنوان مخالف حرکت یا عملیات نسبتاً کمتر عمودی تمام دستورالعمل‌های قبلی SSE است. به‌طور خاص، دستورالعمل‌هایی برای افزودن و تفریق مقادیر متعدد ذخیره شده در یک ثبات واحد اضافه شده‌است. این دستورالعمل‌ها می‌توانند برای افزایش سرعت پیاده‌سازی برخی از عملیات DSP و 3D استفغده شوند. همچنین یک دستورالعمل جدید بدون نیاز به تغییر حالت گرد کردن کلی، برای تبدیل مقادیر شناور به اعداد صحیح وجود دارد، از این رو از حالت تعلیق‌های پر هزینه جلوگیری می‌شود. در نهایت، این افزونه LDDQU را اضافه می‌کند، بارگذاری بردار عدد صحیح جایگزین است که عملکرد بهتر در سیستم عامل مبتنی بر NetBurst برای بارگیری‌هایی که نیازمند عبور از مرزهای cacheline هستند.
AOS (آرایه ای از سازه‌ها)
کولپوسکوپی یک روش تشخیصی پزشکی برای بررسی یک دید و مقیاس روشن از دهانهٔ رحم و بافت‌های واژن و اندام تناسلی زنان است. بسیاری از ضایعات ضعیف و ضایعات بدخیم در این مناطق ویژگی‌های قابل تشخیصی دارند که می‌توانند از طریق معاینه تشخیص داده شوند. این کار با استفاده از کولپوسکوپ انجام می‌شود که دید وسیع و کاملی را از نواحی داخلی اندام تناسلی زنان فراهم می‌کند و اجازه می‌دهد تا کولپوسکوپیست با مشاهدهٔ دقیق از عادی بودن بافت ظاهری یا غیرطبیعی آن و نتایج بافت‌برداری و بیوپسی‌های آزمایشگاهی برای بررسی معاینهٔ پاتولوژیک مطمئن شود.
هدف اصلی از کولپوسکوپی جلوگیری از سرطان سرویکس یا دهانهٔ رحم با تشخیص ضایعات پیش‌سرطانی زودرس و درمان آن‌هاست. این روش توسط دکتر هانس هینسلمن و با کمک ادوارد وریث طراحی و کشف شده‌است. توسعه و پیشرفت کولپوسکوپی به دلیل آزمایش‌های مربوط به زندانیان یهودی از آشویتس بود. همچنین، کولپوسکوپ‌های تخصصی مجهز به دوربین برای بررسی و جمع‌آوری شواهدی برای قربانیان تجاوز جنسی استفاده می‌شود.
وقتی یک زن برخی نشانه‌ها و علائم سرطان سرویکس یا سرطان گردن رحم را داشته باشد یا در تست پاپ اسمیر او سلول‌های غیرطبیعی مشاهده شود، تست کولپوسکوپ برای تشخیص دقیق انجام می‌شود. کولپوسکوپ یک وسیلهٔ پزشکی با لنزهایی است که قدرت بزرگ‌کننده دارد و برای مشاهدهٔ دهانهٔ سرویکس و بافت اطراف آن به کار می‌رود. این آزمایش بدون درد و عوارض است.
برای انجام کولپوسکوپی باید در حالتی مثل انجام معاینه لگن قرار بگیرید که پاها و باسن در پایین باشد. سپس یک اسپکولوم درون واژن قرار می‌گیرد و بعد پزشک با وارد کردن محلول‌هایی بررسی لازم را انجام می‌دهد.
این آزمایش بهتر است زمانی انجام شود که زنان در دورهٔ قاعدگی خود نیستند. حداقل ۲۴ ساعت قبل از آزمون، شما نباید کارهای زیر را انجام دهید:
بیشتر زنان به این دلیل تحت معاینهٔ کولپوسکوپی قرار می‌گیرند تا پزشک بتواند بیشتر در مورد معاینهٔ سیتولوژی در پاپ اسمیر آنها تحقیق کند. به عبارت دیگر، پزشک به این دلیل کولپوسکوپی را توصیه می‌کند که یک آزمایش پاپ اسمیر یا لگن ناهنجاری‌هایی را نشان دهد. سایر علائم بیمار برای لزوم انجام کولپوسکوپی عبارتند از:
بسیاری از پزشکان تصمیمات ارزیابی و درمان خود را بر اساس گزارش «راهنمای مدیریت ناهنجاری‌های سیتولوژی و پیشکاران سرطان دهانهٔ رحم»، که توسط انجمن آمریکایی کولپوسکوپی و آسیب‌شناسی سرویکس در طی یک کنفرانس در سپتامبر ۲۰۰۱ انجام شد می‌گیرند. بر این اساس، اگر آزمایش‌ها پاپ اسمیر یک بیمار ضایعه‌ای داخل شکمی را نشان دهد، کولپوسکوپی برای افراد نباید انجام شود، چون کولپوسکوپی برای این بیماران تا زمانی که فرد مبتلا به ضایعه قابل مشاهده نیست، عود بیماری را تشخیص نمی‌دهد.
کولپوسکوپی یک روش ایمن است که به ندرت خطری دارد. اما برخی عوارض ناشی از کولپوسکوپی ممکن است شامل موارد زیر باشد:
همچنین کولپوسکوپی با بیوپسی باعث ناباروری یا عقیم شدن نمی‌شود.
این وسیله به عنوان یک میکروسکوپ دوقطبی روشن یا مونوکولر عمل می‌کند تا تصویرهایی از سطح گردن رحم، واژن و اندام تناسلی داخلی را افزایش دهد.
حُسَی ( برگرفته از حسین) سوگواری محرم رایج در میان هندی‌های کارائیب به ویژه ترینیداد و توباگو، گویان، سورینام , جامائیکا است.
در ترینیداد و توباگو، مقبره‌های چند رنگ مدل یا مقبره‌هایی به شکل مسجد معروف به تادجه برای نمایش قسمت نمادین این بزرگداشت استفاده می‌شود. با این مقبره‌ها رژه می‌روند، سپس در آخرین روز به صورت آئینی به دریا منتقل می‌شوند و در نهایت در آب دور ریخته می‌شوند. به‌طور کلی، حسی ده روز طول می‌کشد و مطابق تقویم هجری قمری و مطابق با ده روز عاشورا که توسط مسلمانان شیعه در سراسر جهان گرامی داشته می‌شود، اجرا می‌شود. چهار روز آخر بیشترین فعالیت را دارد زیرا شش روز اول برای آن‌ها روزهای روزه داری، نماز و ساختن تادجه ها است. اگرچه حسی به‌طور سنتی برای حسین گرامی داشته می‌شد، اما جشن آن در دوران اخیر همه انواع رنگ‌ها و شخصیت‌هایی از اسلام سنی و ادیان دیگر از جمله هندوها و مسیحیان را دربر گرفته‌است و این رویداد مدرن را آمیزه ای از فرهنگ‌ها و ادیان مختلف کرده‌است. در این رویداد هم مسلمانان و هم غیرمسلمانان حضور دارند و محیطی از احترام و تحمل متقابل را به تصویر می‌کشند. طرحی منحصر به فرد در مراسم حسی در سدروس، روستای ساحلی واقع در انتهای جنوب غربی ترینداد یافت می‌شود که از نظر هنر به سبک منحصر به فردی ساخته شده‌است که در هیچ جای دیگر جهان یافت نمی‌شود. در روزنامه‌های ترینیداد و همچنین گزارش‌های دولتی در قرن نوزدهم، هوسی را «کارناوال جالب» نامیده‌اند.
در دهه ۱۸۸۰ مقامات استعماری بریتانیا به‌طور فزاینده ای نگران تجمعات عمومی بودند و در سال ۱۸۸۴ فرمان ممنوعیت از برگزاری مراسم عمومی هوسی را صادر کردند.
هزاران کارگر که سالی را صرف ساختن تادجه خود کرده بودند، به یک هندو به نام سوخو پیوستند و از دولت درخواست کردند که طبق توافق خود با فرماندار اجازه برگزاری جشنواره را بدهد. هنگامی که همه درخواست‌ها نادیده گرفته شد، به دلیل نادیده گرفتن ممنوعیت جدید در زمان مقرر اعتراضات به خیابان‌ها کشانده شد. اولین کسی که تاجه خود را به خیابان آورد در ماه‌های گذشته این حق را کسب کرده بود، و در برخی از شهرها، حسی پیش رفت. در بندر اسپانیا (سنت جیمز) پلیس مداخله ای نکرد،
اما در مون رپوس، سان فرناندو، در پنجشنبه، ۳۰ اکتبر ۱۸۸۴، به سوی جمعیت زنان، کودکان و مردان شلیک شد. پس از شلیک‌های پلیس برای متفرق کردن راهپیمایی، ۲۲ سرخپوست کشته شدند و ۱۲۰ نفر مجروح شدند. آن روز معمولاً در تاریخ ترینیداد به عنوان قتل‌عام محرم سرخپوستان و به عنوان شورش‌های حسی در سوابق بریتانیا و استعمار نامیده می‌شود.
با توجه به نژادها و مذاهب مختلف مسلمان این مراسم تغییرات و حواشی زیادی داشته به طوری که این مراسم بیشتر از اینکه شبیه تعزیه و عزاداری شبیه به یک کارناوال شده است.
مراسم «حسی» یک نمونه کوچک از سیاست «کشاکش فرهنگی» است.
دولت ترینیداد هم سعی دارد از این مراسم برای جذب گردشگر و تبدیل آن به جشنواره ملی استفاده کند و حتی خواستار برگزاری این مراسم در سالروز استقلال این کشور بود که با مخالفت روبرو شد.
هدف ۸۰۸۷ افزایش دادن سرعت محاسبات ریاضی عدد اعشاری، مانند جمع، تفریق، ضرب، تقسیم و ریشه مربع بود. ۸۰۸۷ همچنین توابع غیر جبری، مانند محاسبات نمایی، لگاریتمی یا مثلثاتی را محاسبه کرد، و علاوه بر عدد اعشاری، ۸۰۸۷ همچنین توانست بر روی اعداد صحیح دودویی بزرگ و اعداد صحیح دهدهی عمل کند. بسته به کاربرد خاص، بهبود عملکردی حدوداً از ۲۰ تا بیش از ۵۰۰ درصد، داشت. ۸۰۸۷ توانست حدود ۵۰۰۰۰ FLOPS را با استفاده از حدود ۲٫۴ وات انجام دهد. از نصب ۸۰۸۷ فقط عملیات ریاضی منتفع شدند؛ برای مثال، رایانه‌هایی که کاربرد آن‌ها پردازش متن بود، از هزینه اضافی (حدود ۱۵۰ دلارScott Mueller, "Upgrading and repairing PCs, second edition", Que Books, 1992 , pages 395-403) و مصرف برق ۸۰۸۷ سودی نمی‌بردند.
۸۰۸۷ برای زمان خود یک IC پیشرفته بود، که محدودهٔ سیکل تولید تکنولوژی را جابه‌جا کرد. محصولات اولیه بسیار اندک بود.
فروش ۸۰۸۷ افزایش قابل ملاحظه ای داشت، زمانی که IBM یک سوکت پردازنده کمکی روی مادربرد IBM PC اضافه کرد. با توجه به کمبود تراشه‌ها، آی بی ام ۸۰۸۷ را به عنوان یک گزینه برای PC ارائه نداد تا زمانی که شش ماه در بازار بود. توسعه ۸۰۸۷ منجر به استاندارد IEEE 754-1985 برای محاسبات عدد اعشاری شد. بعدها کمک-پردازنده‌های x87 برای پردازنده‌های ۸۰۱۸۶ (که در سازگاری‌های PC استفاده نمی‌شد)، ۸۰۲۸۶، ۸۰۳۸۶ و 80386SX شدند. بعد از پردازشگر ۸۰۴۸۶، پردازنده Intel x86 دیگر از یک کمک-پردازندهٔ عدد اعشاری جداگانه استفاده نکردند؛ توابع عدد اعشاری با پردازنده یکپارچه شدند.
اینتل قبل از این، واحد "پردازنده محاسباتی" ۸۲۳۱ و پردازنده عدد اعشاری ۸۲۳۲ تولید کرده بود. این‌ها برای استفاده با ۸۰۸۰ یا پردازنده‌های مشابه طراحی شده بود و به عنوان یک bus داده‌ای ۸ بیتی استفاده می‌شد. آن‌ها به یک سیستم میزبان از طریق یک سیستم I/O برنامه‌ریزی شده یا یک کنترل‌کننده DMA متصل می‌شدند. اینتل "اطلاعات کامپوننت کاتالوگ 1980"، کاتالوگ اینتل. C-864/280 / 150K / CP، صفحات 8-21، 8-28
۸۰۸۷ در ابتدا توسط بیل پولمن، مدیر مهندسی اینتل که به توسعه تراشه ۸۰۸۶ نظارت داشت، درک شد. بیل اقدام‌های لازم را برای اطمینان از اینکه تراشه ۸۰۸۶ می‌تواند از یک تراشه ریاضی هنوز در حال توسعه پشتیبانی کند، انجام داد.
ولمن در سال ۱۹۷۷ برای طراحی تراشه ریاضی ۸۰۸۷ اقدام کرد. بروس راونال به عنوان معمار منسوب شد و جان پالمر به عنوان کمک-معمار و ریاضیدان برای این پروژه استخدام شد. این دو با یک طراحی انقلابی با ۶۴ بیت mantissa و ۱۶ بیت نما برای طولانی‌ترین فرمت عدد حقیقی، با پردازندهٔ معماری پشته‌ای و ۸ ثبات پشته ۸۰ بیتی، با مجموعه ای از دستورالعمل‌های محاسباتی غنی آمدند. این طراحی چند مشکل عمده شناخته شده در محاسبات عددی و نرم‌افزار عددی را حل کرد: ایرادات خطای گرد کردن برای عملوندهای ۶۴ بیتی حذف شدند و تبدیل‌های عددی برای تمام اعداد ۶۴ بیتی حل شد. پالمر نوشته‌های ویلیام کاهان در مورد عدد اعشاری را عامل مؤثر قابل توجهی در طراحی‌شان نسبت داد.
طراحی ۸۰۸۷ در آغاز به دلیل طراحی جنجالی آن، در سانتا کلارا پذیرفته شد. در نهایت، این طراحی به اینتل اسرائیل نسبت داده شد، و رفی نوا یه عنوان راهنما پیاده‌سازی این تراشه انتخاب شد.
به پالمر، راونال و نوا حق امتیاز برای این طراحی اهدا شد. اختراع 4،484،259 رابرت کوهلر و جان بیلیس نیز حق ثبت اختراع برای این تکنیک اعطا شد که در آن برخی از دستورالعمل‌ها با الگوی بیتی خاصی به کمک-پردازنده تخلیه شده بود. ثبت اختراع 4،270،167
۸۰۸۷ دارای ۴۵٬۰۰۰ ترانزیستور بود و به عنوان یک تخلیه بار ۳ میکرومتر مدار HMOS ساخته شده بود. آن در کنار ۸۰۸۶ یا ۸۰۸۸ کار کرد و حدود ۶۰ دستورالعمل جدید معرفی کرد. بیشتر ۸۰۸۷mnemonicهای اسمبلی با حرف F شروع می‌شوند مانند FADD FMUL , FCOM و … که باعث می‌شود از دستورالعمل‌های ۸۰۸۶ به راحتی قابل تشخیص باشند. رمزگذاری دودویی برای تمام دستورالعمل‌های ۸۰۸۷ با الگوی ۱۱۰۱۱های اعشاری، ۲۷ در مبنای ده، همان کاراکتر اسکی ESC اگر چه در مرتبه بالاتر بیت از یک بایت؛ پیشوندهای دستورالعمل‌های مشابه نیز گاهی به عنوان
"کدهای فرار" معرفی می‌شوند. دستور حفظی اختصاص داده شده توسط اینتل برای این کمک-پردازنده‌ها دستورالعمل "ESC" است.
زمانی که پردازنده ۸۰۸۶ یا ۸۰۸۸ دستور ESC را اجرا می‌کرد، اگر بایت دوم (بایت ModR/M) یک عملوند حافظه را مشخص می‌کرد، پردازنده برای خواندن یک کلمه از حافظه مشخص شده در دستورالعمل (با استفاده از هر مد آدرس‌دهی) یک چرخه bus اجرا می‌کرد، ولی عملوند خوانده شده را در ثبات‌های CPU ذخیره نمی‌کرد یا عملیاتی روی آن انجام نمی‌داد؛ 8087 bus را مشاهده و دستورالعمل‌های جریان همگام با ۸۰۸۶ را رمزگشایی می‌کرد، تشخیص دستورالعمل‌های کمک-پردازنده برای خودش ارزشمند بود. برای یک ۸۰۸۷ دستورالعمل با عملوند حافظه، اگر دستورالعمل فراخوانی شده برای عملوندی که خوانده شود، ۸۰۸۷ کلمهٔ داده خوانده شده توسط پردازنده اصلی را از اتوبوس داده می‌گیرد. اگر عملوند مقرر به خوانده شدن بلندتر از یک کلمه بود، ۸۰۸۷ نیز آدرس را از اتوبوس آدرس کپی خواهد کرد؛ سپس بعد از اتمام خواندن داده‌های چرخه رانده شده توسط پردازنده، ۸۰۸۷ بلافاصله با استفاده از DMA کنترل اتوبوس را گرفته و بایت‌های عملوند اضافی را خودش منتقل می‌کند. اگر یک دستورالعمل۸۰۸۷ با یک عملوند حافظه برای آن عملوندی که باید نوشته شود فراخوانی شود، ۸۰۸۷ کلمه خوانده شده از اتوبوس داده را در نظر نمی‌گیرد و فقط آدرس را کپی می‌کند، سپس از DMA درخواست می‌کند و کل عملوند را می‌نویسد، به همان طریقی که از انتهای یک عملوند گسترده شده می‌خواند. در این راه، پردازنده اصلی کنترل کلی اتوبوس و زمان‌بندی اتوبوس را در حالی که ۸۰۸۷ باقی زمینه‌های اجرای دستورالعمل‌های کمک-پردازنده را مدیریت می‌کند، حفظ می‌کند، بجز دوره‌های زمانی کوتاه DMA، زمانی که ۸۰۸۷ کنترل اتوبوس را برای خواندن یا نوشتن از یا در ثبات‌های خود در دست می‌گیرد. به عنوان یک نتیجه از این طرح، ۸۰۸۷ تنها بر روی عملوندهایی که از حافظه یا از ثبات‌های خودش گرفته بود می‌توانست عمل کند، و هر تبادل اطلاعات بین ۸۰۸۷ و ۸۰۸۶ تنها از طریق RAM امکان‌پذیر بود.
برنامه اصلی پردازنده (CPU) در حالی که ۸۰۸۷ یک دستورالعمل را اجرا کرده‌است، به اجرا ادامه می‌دهد؛ از منظر ۸۰۸۶ اصلی یا پردازنده ۸۰۸۸، یک دستورالعمل کمک-پردازنده به مدت پردازش opcode و هر چرخه عملوند حافظه (۲ چرخه ساعت برای بی‌عملوند، ۸ چرخه ساعت به علاوهٔ زمان محاسبه EA [پنج تا ۱۲ چرخه ساعت]، برای یک عملوند حافظه [به علاوهٔ ۴ چرخه ساعت بیشتر بر روی یک ۸۰۸۸]، برای انتقال دومین بایت از کلمه ،۸ بایت، عملوند)
زمان می‌گیرد، پس از آن که CPU دستورالعمل بعدی برنامه را اجرا کند.
بنابراین، یک سیستم با یک ۸۰۸۷ به‌طور واقع توانایی پردازش موازی را داشت، اجرا کردن یک عملیات داخل ALU عدد صحیحِ پردازنده اصلی در حالی که در همان زمان یک عملیات عدد صحیح در کمک-پردازنده ۸۰۸۷ اجرا می‌شود.
از آنجایی که ۸۰۸۶ یا ۸۰۸۸ منحصراً جریان دستورالعمل‌ها وزمان‌بندی را کنترل می‌کردند و هیچ دسترسی مستقیمی به وضعیت داخلی ۸۰۸۷ ندارد، و به دلیل اینکه ۸۰۸۷ می‌توانست یک دستور بر واحد زمان اجرا کند، برنامه‌های سیستم‌های ۸۰۸۶/۸۰۸۷ یا ۸۰۸۸/۸۰۸۷ باید مطمئن می‌شدند که ۸۰۸۷ زمان کافی برای کامل اجرا کردن دستورالعمل قبلی مواجه شده را داشته باشد قبل از اینکه با دستور دیگری مواجه شود. دستورالعمل WAIT (برای پردازنده اصلی) برای این هدف درست شده بود، و اکثر اسمبلرها به‌طور ضمنی قبل از بیشتر دستورها عدد اعشاری کمک-پردازنده‌ها دستور WAIT را قرار می‌دهند. (در صورتی که برنامه از طرق دیگر اطمینان حاصل کند که زمان کافی بین اجرای دستورها ۸۰۸۷ حساس به زمان وجود دارد تا ۸۰۸۷ دستورالعمل دیگری قبل از اینکه دستور قبلی تمام شود دریافت نکند، دیگر لازم نیست قبل از اجرای یک دستور ۸۰۸۷ از دستور WAIT استفاده کرد. همچنین لزوماً به این شکل نیست که اگر WAIT به کار برده شد، بالافاصله به دستور ۸۰۸۷ بعدی برود) دستور WAIT منتظر پین ورودی -TEST 8086/8088 برای اعلام کردن می‌ماند، و این پین به پین BUSY 8087 داخل تمام سیستم‌هایی که یک ۸۰۸۷ داشتند، متصل شده بود. (پس زمانی TEST اعلام می‌شود که BUSY از حالت اعلام شدن خارج شود).
به دلیل دستورالعمل پیش-فتچ شده صف‌های ۸۰۸۶ و ۸۰۸۸ زمان مورد نیاز برای اجرای یک دستور تا اجرا شود همیشه با زمان لازم برای فتچ کردن یکسان نیست، یک کمک-پردازنده مثل ۸۰۸۷ نمی‌تواند به‌تنهایی با دیدن bus تشخیص دهد که چه زمانی به دستورالعمل بعدی اجرا می‌شود. ۸۰۸۶ و ۸۰۸۸ دارای دو صف سیگنال‌های وضعیت هستند که به کمک-پردازنده متصلند تا به آن امکان همگام‌سازی خود با زمان‌بندی داخلی CPU برای اجرای دستورالعمل‌ها از صف از پیش فتچ شده داشته باشد. ۸۰۸۷ صف از پیش فتچ شدهٔ خود را حفظ می‌کند، از جایی که آپکدهای کمک-پردازنده را می‌خواند و اجرا می‌کند. به‌دلیل اینکه صف‌های از پیش فتچ شده سایزهای متفاوت و الگوریتم‌های متفاوت مدیریتی دارند، ۸۰۸۷ با مشاهده خاط‌های معین bus پردازنده زمانی که سیستم ریسِت می‌شود، مشخص می‌کند که به چه نوع پردازنده‌ای متصل شده‌است و بر این اساس صف دستورالعمل داخلی خود را تنظیم می‌کند. کپی کردن زائد صف پیش-فتچ شده سخت‌افزار در CPU و کمک-پردازنده از جهت مصرف توان و از بین بردن فضای کلی ناکار آمد است، ولی باعث شد که رابط کمک-پردازنده به تعداد خیلی کمی پین‌های IC اختصاص پیدا کند، که این مهم بود. در آن زمان که ۸۰۸۶، که رابط کمک-پردازنده را تعریف می‌کرد، معرفی شد ،ICهایی با بیش از ۴۰ پین کمیاب، گران بودند و مشکلاتی از قبیل ظرفیت اضافی lead ،که یک دلیل اصلی در محدود کردن سرعت سیگنال کردن بود، داشت.
کدهای عملیاتی کمک-پردازنده‌ها به کدهایی از ۶ بیت تا ۲ بایت، شروع شده با توالی فرار رمزنگاری می‌شوند.
│ 1xxx ۱۱۰۱ │ mmxx xrrr │
سه Xs اول، سه بیت اول آپکد عدد اعشاری هستند. سپس دوتا Ms، بعد از آن سه بیت آپکد عدد اعشاری نیمه دوم، دنبالش سه تا Rs هستند. Ms و Rs اطلاعات مد آدرس‌دهی را مشخص می‌کند. برنامه‌نویسی زبان و سیستم مجمع برای IBM PC و سازگاری، Karen A. Lemone، صفحه 302
برنامه‌های کاربردی باید نوشته می‌شدند تا از دستورالعمل خاص عدد اعشاری استفاده کنند. دز زمان اجرا، نرم‌افزار قادر بود تا کمک-پردازنده را برای عملیات‌های عدد اعشاری پیدا کند. زمانی که نمی‌توانست پیدا کند، برای سازگاری عددی دقیق همان توابع عدد اعشاری می‌بایست داخل نرم‌افزار محاسبه شود یا تمام کمک-پردازنده در نرم‌افزار شبیه‌سازی شود.Scott Mueller, "Upgrading and repairing PCs, second edition", Que Books, 1992 , pages 395-403
خانوادهٔ x87 از سری ثبات‌های قابل آدرس‌دهی مانند ثبات‌های اصلی پردازنده‌های x86 به‌طور مستقیم استفاده نمی‌کنند؛ جای آن، ثبات‌های x87 یک ساختار پشتهای با ۸ سطح عمق که از st0 تا st7 سطح‌بندی می‌شوند، تشکیل می‌دهند. st0 بر روی پشته قرار دارد. عملیات‌های دستورالعمل‌های x87 با push کردن، محاسبه، و pop کردن مقادیر روی این پشته اجرا می‌شوند. اگرچه عملیات‌های دوتایی مثل FADD , FMUL ,FCMP و غیره ممکن است ضمناً از st0 و st1 یا st0 با یک حافظه یا یک ثبات به‌طور غیر ضمنی استفاده کند؛ ثبات st0 می‌تواند به عنوان جمع‌کننده () استفاده شود و همچنین می‌تواند با هر یک از ۸ ثبات پشته از طریق فراخوانی دستورالعمل FXCH stX (کدهای D9C8..D9CFh) جابه‌جا شود. این موجب می‌شود که پشته x87 قابل استفاده به عنوان ۷ ثبات آزاد قابل آدرس‌دهی به علاوه یک جمع‌کننده شود. این مخصوصاً کارآمد بر روی پردازنده‌های x86 superescalar (پنتیوم ۱۹۹۳ و بعد از آن) است جایی که دستورالعمل تعویض به خطای صفر کلاک بهینه‌سازی شده‌اند.
هنگامی که اینتل ۸۰۸۷ را طراحی کرد، تصمیم گرفت که یک فرمت استاندارد عدد اعشاری برای طرح‌های آینده درست کند. یک وجه مهم از لحاظ تاریخی این بود که به پایه استاندارد IEEE 754 تبدیل شد. ۸۰۸۷ همهٔ شروط مطرح شده در استاندارد IEEE 754 را پیاده‌ساری نکرد، به‌طوری که استاندارد تا ۱۹۸۵ به اتمام نرسید ولی ۸۰۳۸۷ به پایان رسید. ۸۰۸۷، دو نوع داده عدد اعشاری 32 / ۶۴ بیتی و یک فرمت موقت افزایش‌یافته ۸۰ بیتی (که در حافظه هم می‌توانست ذخیره شود) برای ارتقا دقت در محاسبات پیچیده و بزرگ تأمین کرد. جدا از این ۸۰۸۷ یک فرمت پک‌شده BCD (دهدهی به رمز دودویی) ۸۰ بیتی/ ۱۸ رقمی و نوع داده‌های ۱۶٬۳۲، و ۶۴ بیت عدد صحیح پیشنهاد داد.
۸۰۸۷ مقادیر بی‌نهایت را به صورت روش وابسته یا طرحی مدیریت می‌کند (از طریق وضعیت ثبات انتخاب می‌شود). در روش وابسته، با بی‌نهایت‌های مثبت و منفی به صورت دو مقدار متفاوت رفتار می‌شود. در روش طرحی، به عنوان نمایش بی علامتی برای اعداد بسیار کوچک یا بسیار بزرگ به کار برده می‌شود. این دو روش برخورد با بی‌تهایتدر نسخه پیش‌نویس استاندارد IEEE 754 گنجانده شده‌است. اگرچه، روش طرحی از نسخه رسمی IEEE 754 در سال ۱۹۸۵ برداشته شد. ۸۰۲۸۷ روش طرحی را به عنوان یک انتخاب حفظ کرد، اما ۸۰۳۸۷ و کمک-پردازنده‌های بعد از آن (شامل ۸۰۱۸۷) فقط روش وابسته را پشتیبانی می‌کردند.
۸۰۸۷ با کمک-پردازنده‌های بعدی متفاوت بود و آن اتصال مستقیم به busهای داده و آدرس بود. ۸۰۸۷ دنبال دستورالعمل‌هایی که با توالی "۱۱۰۱۱" آغاز می‌شد می‌گشت و با آن‌ها رفتار به خصوصی انجام می‌داد، به سرعت از پردازنده اصلی به DMA درخواست دسترسی اضطراری به عملوندهای حافظه بزرگتر از یک کلمه(۱۶ بیت) می‌داد، سپس بالافاصله کنترل bus را رها می‌کرد و یه پردازنده اصلی می‌داد. کمک-پردازنده تا زمانی که دستورالعمل کمک-پردازنده تمام نشده بود مانع اجرای برنامه نمی‌شد و برنامه باید دو پردازنده را با هم همگام کند، همان‌طور که بالا ذکر شد (در بخش «طراحی و توسعه»). یک پتانسیل کرش کردن وجود داشت اگر دستورالعمل کمک-پردازنده نتواند به کدی قابل فهم برای کمک-پردازنده دیکد کند. کمک-پردازنده‌های بعدی اینتل به این صورت به bus نمی‌شدند، ولی دستورالعمل‌ها را از طریق پردازنده اصلی با استفاده از پرت‌های ورودی/خروجی.
این به خطای زمان اجرا منجر شد، ولی از پتانسیل کرش کردن جلوگیری شد زیرا پردازنده می‌تواست دستورالعملی که کمک-پردازنده نپذیرفته بود، را نادیده بگیرد.
۸۰۸۷ با استفاده از کنترل کردن bus حین ریست کردن چرخه، قادر بود تشخیص دهد که به یک ۸۰۸۸ متصل است یا به یک ۸۰۸۶.
۸۰۸۷ در تئوری قادر به همزمان کار کردن بود در هالی که ۸۰۸۶/۸۰۸۸ قادر به پردازش دستورالعمل‌های بیشتر بودند. در عمل، این احتمال وجود داشت که برنامه کار نکند اگر قبل از مواجه شدن با دستورالعمل بعدی، دستور قبلی کامل نشده باشد. اسمبلر به‌طور اتوماتیک یک دستور 'FWAIT' بعد از هر آپکد کمک-پردازنده قرار می‌دهد و ۸۰۸۶/۸ را وادار به توقف اجرا می‌کند تا زمانی که ۸۰۸۷ سیگنال پایان بدهد برنامه‌نویسی زبان و سیستم مجمع برای IBM PC و Compatibles, Karen A. Lemone, p300 این محدودیت در طرح‌های بعدی برداشته شد.
کمک-پردازنده‌های اینتل ۸۰۸۷ در دو نوع ساخته شده بودند، یکی به صورت سرامیک پیچ‌خورده DIP و یکی هم به DIP هرمی و طراحی شده بودند تا در بازه دمایی مقابل عمل کنند:
پسوندهای C,D،QD: صفر درجه سانتی‌گراد تا مثبت ۷۰ درجه سانتی‌گراد (مصرف تبلیغاتی)
پیشوندهای LC,LD,TC و TD: منفی ۴۰ درجه سیلسیوس تا مثبت ۸۵ درجه سیلسیوس (مصرف صنعتی)
پیشوندهای MC , MD: منفی ۵۵ درجه تا مثبت ۱۲۵ درجه (مصرف نظامی)
تمام مدل‌های ۸۰۸۷ یک پک DIP چهل پینه داشتند و با ولتاژ ۵ ولت عمل می‌کرد، حدود ۲٫۴ وات مصرف می‌کرد. برخلاف کمک-پردازنده‌های بعد ۸۰۸۷ می‌بایست با همان سرعت clock پردازنده اصلی اجرا می‌کرد.Scott Mueller, "Upgrading and repairing PCs, second edition", Que Books, 1992 , pages 395-403 پسوندهای قسمت عدد، سرعت clock را نشان می‌دهد:
همان‌طور که پردازنده‌های ۸۰۸۸ و ۸۰۸۶ با قطعات بعدی جایگزین شدند، ۸۰۸۷ هم جایگزین شد. باقی کمک-پردازنده‌های اینتل ۸۰۲۸۷، ۸۰۳۸۷ و ۸۰۱۸۷ بودند.
از ۸۰۴۸۶ به بعد پردازنده‌های اینتل از کمک-پردازنده‌های عدد اعشاری جداگانه استفاده نمی‌کردند؛ عملاً همه‌شان، کمک-پردازنده‌ها را در خودشان قرار داده بودند، بجز یک استثنای مهم که 80486SX، تغییر یافتهٔ 80486DX که FPU در آن غیرفعال شده بود. ۸۰۴۸۷ در واقع یک چیپ 80486DX با پین اضافی بود. هنگامی که نصب می‌شد پردازنده 80486SX را غیرفعال می‌کرد. پردازنده‌های 80486DX و Pentium و پردازنده‌های بعدی بر روی هسته پردازنده کارکرد عدد اعشاری داشتند.
مخفف‌ها:
جدول شامل دستورالعمل کامل FPUهای ۸۰۸۷، ۸۰۲۸۷، ۸۰۳۸۷ و آخرین افزانه در FPUهای مبتنی بر Pentium است.
بانک هالیدی () یکی از تعطیلات رسمی در بریتانیا ، برخی از کشور های مشترک‌المنافع هنگ کنگ و جمهوری ایرلند است.
یک ماکرو در علوم رایانه یک الگو یا قاعده است که مشخص می‌کند چگونه بر اساس یک فرایند از قبل معین شده، یک ترتیب ورودی بخصوص (که معمولاً ترتیبی از نویسه‌ها هستند) باید به یک ترتیب خروجی جایگزین‌شده (که آن نیز معمولاً ترتیبی از نویسه‌ها می‌باشد) نگاشت (تناظر) یابد.
کلمهٔ ماکرو کوتاه شده عبارت «macroinstruction» به معنی «دستورات ماکرو» است. در زبان یونانی ماکرو (μακρός) به معنی «بزرگ یا کلان» (long) می‌باشد.
فرایندی نگاشتی که در آن «ماکروی استفاده شده» به یک «ترتیب خاص» نمونه‌برداری (تبدیل) می‌شود، به عنوان «گسترش ماکرو» شناخته می‌شود. امکانات نوشتن ماکرو می‌تواند به عنوان یک نرم‌افزار کاربردی یا بخشی از زبان برنامه‌نویسی فراهم شود. در حالت اول، از ماکروها برای ساخت فعالیت‌هایی به وسیلهٔ برنامه‌های کم تکرارتر استفاده می‌شد. در حالات دوم، آنها یک ابزاراند که برنامه‌نویس امکان استفاده مجدد از کد، یا حتی امکان طراحی زبان‌های خاص منظوره را می‌دهند.
از ماکرو برای فراهم ساختن ترتیبی از دستورالعمل‌های محاسباتی برای برنامه‌نویس، به صورت یک عبارت برنامه ای منفرد، استفاده می‌شود. استفاده از ماکروها باعث کمتر «مستعد خطر بودن» و «کمتر خسته‌کننده بودن» برنامه‌نویسی استفاده می‌شود. (از این جهت، به آن‌ها ماکرو می‌گویند، که یک بلاک «بزرگ» کد می‌تواند از یک ترتیب «کوچک» از نویسه‌ها گسترش بیابند). ماکروها اکثراً استفاده از پراسنجه‌های کلمه کلیدی یا موقعیتی (که مشخص می‌کنند که برنامهٔ اتصال شرطی چه چیزی را تولید می‌کند) را مجاز می‌داند و از آن‌ها برای ساخت برنامه‌های کامل یا مجموعه برنامه‌هایی برای سیستم عامل، سکوی رایانش، یا انواع دیگر برنامه استفاده می‌کند. عبارت «ماکرو» از «macro instruction» گرفته شده‌است، و از این گسترش‌ها در گذشته در اساس برای ساخت کدهای زبان اسمبلی استفاده می‌شد.
ماکروهای صفحه کلید و ماکروهای ماوس اجازه می‌دهد که توالی‌های کوتاهی از عملکردهای کلیدی و ماوس برای تبدیل شدن به توالی‌های کلیدی و اقدامات ماوس دیگر، معمولاً بیشتر وقت گیر باشند. به این صورت، استفاده‌های مکرر یا دنباله‌های تکراری از عملکردهای کلیدی و حرکت‌های موس می‌تواند به صورت خودکار انجام شود. برنامه‌های دیگر برای درست کردن این ماکروها را ضبظ کنندهٔ ماکرو می‌نامند.
در طول دهه ۱۹۸۰، برنامه‌های مارکرو - اول SmartKey، سپس SuperKey, KeyWorks, Prokey-ابتدا به عنوان وسیله ای برای فرمت خودکار صفحه نمایش، سپس برای انواع کارهای ورودی کاربر بسیار محبوب بودند. این برنامه‌ها بر اساس حالت عملیاتی TSR (خاتمه و اقامت) و بر روی تمام ورودی‌های صفحه کلید اعمال می‌شود، مهم نیست که در کدام زمینه رخ داده باشد. پس از ظهور واسط کاربر - و در دسترس بودن صفحه‌کلید و ماکروهای موس در برنامه‌های کاربردی مانند پردازشگرهای کلمه و صفحات گسترده، آن‌ها تا حدی در حال از بین رفتن هستند و امکان ایجاد ماکروهای صفحه کلید را برای کاربر ایجاد می‌کند.
ماکروهای صفحه کلید و ماوس که با استفاده از ویژگی‌های کلیدی ساخته شده در برنامه ایجاد می‌شوند گاهی به نام ماکرو برنامه شناخته می‌شوند. آن‌ها با انجام دادن توالی زمانی و اجازه دادن به ثبت اعمال، ایجاد می‌شوند. یک زبان برنامه‌نویسی ماکرو، اغلب زبان اسکریپتی، با دسترسی مستقیم به ویژگی‌های برنامه ممکن است وجود داشته باشد.
ویرایشگر متن برنامه نویسان، Emacs (کوتاه شدهٔ «ویرایش ماکروها») از این ایده به نتیجه می‌رسد. در واقع بیشتر ویرایشگر از macros ساخته شده‌است.Emacs در ابتدا به عنوان یک مجموعه از ماکروها در زبان ویرایش TECO ابداع شد؛ بعدها به گویش lispمنتقل شد.
ویرایشگر متن برنامه نویسان دیگر، Vim (از نوادگان ششم)، نیز اجرای کامل ماکرو را دارد. این دستگاه می‌تواند در یک رجیستر (ماکرو) ثبت شود که چه کسی روی صفحه کلید قرار دارد و می‌تواند درست مانند VBA macros برای مایکروسافت تکرار یا ویرایش شود. Vim همچنین دارای یک زبان برنامه‌نویسی به نام Vimscript http://www.vim.org/scripts/index.php برای ایجاد ماکروها است.
ویژوال بیسیک برای برنامه‌های کاربردی (VBA) یک زبان برنامه‌نویسی است که در Microsoft Office از Office 97 از طریق Office 2019 موجود است (اگر چه در بعضی از اجزای Office قبل از Office 97 موجود بود). با این حال، عملکرد آن از زبان ماکرو شکل‌گرفته و جایگزین زبان‌های ماکرو شده‌است که در اصل در برخی از این برنامه‌ها گنجانده شده‌اند.
VBA به بسیاری از فراخوانی‌های سیستم ویندوز مایکروسافت دسترسی دارد و زمانی که اسناد بازمی‌شوند اجرا می‌شود. این موضوع نوشتن ویروس‌های کامپیوتری در VBA را نسبتاً آسان می‌کند، که معمولاً به عنوان ویروس‌های ماکرو شناخته می‌شوند. در اواسط تا اواخر دهه ۱۹۹۰، این نوع یکی از رایج‌ترین انواع ویروس‌های کامپیوتر شد. با این حال، در اواخر دهه ۱۹۹۰ و تا به امروز، مایکروسافت برنامه‌های خود را تعمیر و به روز کرده‌است. افزون بر این، برنامه‌های ضد ویروس فعلی فوراً چنین حملاتی را بی‌اثر می‌کنند.
یک ماکرو پارامتری یک ماکرو است که می‌تواند اشیا داده‌شده را به بسط خود وارد کند. این به ماکرو مقداری از قدرت یک تابع را می‌دهد
یک مثال ساده، در زبان برنامه‌نویسی C، این ماکرو معمولی است "که" ماکرو پارامتری نیست:
این باعث می‌شود رشته "PI" با "۳٫۱۴۱۵۹" جایگزین شود هر کجا که رخ دهد. این رشته همواره با این رشته جایگزین خواهد شد و ریسمان حاصل را نمی‌توان به هر نحوی تغییر داد. یک مثال از ماکروی پارامتری:
حاصل تابع ماکرو بستگی به (x) ورودی آن دارد. چند مثال:
ماکروهای پارامتری یک مکانیزم مفید در سطح منبع برای توسعه گسترش درون خطی است، اما در زبان‌هایی مانند C که از جایگزینی متنی ساده استفاده می‌کنند، برخی مضرات شدید برمکانیزم‌های دیگر برای انجام توسعه در خط، مانند توابع inline دارند.
ماکروهای پارامتری در زبان‌هایی مانند lisp, PL/I و Scheme استفاده می‌شود، از طرف دیگر، بسیار قدرتمندتر هستند و قادر به تصمیم‌گیری دربارهٔ آنچه که براساس استدلالات آن‌هاتولید می‌شود، هستند. از این رو، آن‌ها می‌توانند به‌طور مؤثر برای اجرای تولید کد زمانی استفاده شوند.
زبان‌هایی مانند C و برخی از زبان‌های مونتاژ دارای سیستم‌های کلان اولیه هستند که به عنوان پیش پردازنده‌های کامپایلر یا مونتاژکننده اجرا می‌شوند. ماکرو هایپیش پردازندهٔ C با جایگزینی متنی ساده در نشانه، به جای کاراکتر کار می‌کند. **با این حال، امکانات ماکرو اسمبلرهای پیچیده‌تر، به عنوان مثال، IBM High Level Assembler (HLASM) با یک پیش پردازنده قابل اجرا نیست؛ کد مونتاژ دستورالعمل‌ها و داده‌ها با کد مونتاژ فراخوانی‌های کلان در هم آمیخته‌است. ** استفاده کلاسیک از ماکرو در سیستم تایپ کامپیوتری TeX و مشتقات آن است، که اکثر این قابلیت‌ها بر اساس ماکرو است. MacroML یک سیستم آزمایشی است که به دنبال تطبیق سیستم‌های تایپ دهی ایستا و سیستم‌های ماکرو است. Nemerle ماکروهای نحوی را تایپ کرده‌است و یکی از راه‌های کارآمد برای فکر کردن به این ماکروهای نحوی به عنوان یک محاسبه چند مرحله ای است. مثال‌های دیگر:
برخی از برنامه‌های اصلی به عنوان ماکرو متنی که توسط برنامه‌های دیگر به کار گرفته شده‌اند، به عنوان مثال، توسط XEDIT در CMS نوشته شده‌اند.
بعضی از زبان‌ها مانند PHP می‌توانند در متن فرمت آزاد یا کد مبدأ زبان‌های دیگر تعبیه شوند. مکانیزمی که با آن قطعات کد شناسایی می‌شود (برای مثال، که با codice_1 و codice_2) شبیه به یک زبان ماکروی متنی است، اما آن‌ها بسیار قدرتمند و کاملاً برجسته هستند.
ماکروها در زبان PL / I در یک زیر مجموعه از PL / I نوشته شده‌اند: کامپایلر " دستورات پیش پردازنده " را در زمان کامپایل اجرا می‌کند و خروجی این اجرا بخشی از کد تدوین‌شده توسط آن است. توانایی استفاده از یک زبان پردازشی به عنوان زبان ماکرو، بسیار بیشتر از زبان جایگزینی متن با هزینه یک کامپایلر بزرگ‌تر و کندتر است.
چارچوب ماکروهای 's دارای نحو فرماندهی خاص خود است، اما همچنین می‌تواند حاوی متن به هر زبانی باشد. هر فریم یک جز کلی در یک سلسله مراتب از زیر مجموعه‌های تودرتو و یک روش برای ادغام خود با چارچوب‌های فرعی خود (یک فرایند بازگشتی که تضادهای یکپارچه‌سازی را به نفع زیرمجموعه‌های سطح بالاتر حل می‌کند) است. خروجی‌ها اسناد سفارشی هستند، معمولاً ماژول‌های منبع کامپایل را دارند. تکنولوژی چارچوب می‌تواند از تکثیر قطعات مشابه اما بسیار متفاوت اجتناب کند، مسئله‌ای که از زمان اختراع ماکروها، توسعه نرم‌افزار را مختل کرده‌است.
اکثر زبان‌های اسمبلی دارای امکانات ماکروی دارای رویه‌ای کم‌تر هستند، به عنوان مثال اجازه می‌دهند که یک بلوک از کد را برای بازکردن حلقه تکرار کنند؛ اما این‌ها یک نحو کاملاً متفاوت از زبان اسمبلی واقعی دارند.
سیستم‌های ماکرو-مانند پردازنده C که پیشتر توضیح داده شد که کار در سطح نشانه‌های واژگانی نمی‌توانند به‌طور قابل‌اطمینان ساختار واژگانی را حفظ کنند. سیستم‌های کلان همگانی در عوض در سطح درختان انتزاعی نحوه کار می‌کنند و ساختار واژگانی برنامه اصلی را حفظ می‌کنند. کاربرد گسترده‌ای از سیستم‌های ماکرو نحوی در زبان‌های Lisp مانند Common Lisp، Clojure، Scheme , ISLISP و Racket یافت می‌شود. این زبان‌ها به خصوص برای این سبک ماکرو به خاطر اونیفورم و نحو پرانتز (که به عنوان S-عبارات شناخته می‌شود) مناسب هستند. به‌طور خاص، رکیب نحو را راحت‌تر می‌کند تا تعیین کردن فراخوانی ماکروها را آسان‌تر کند. ماکروهای Lisp ساختار برنامه خود را با استفاده از زبان کامل موجود برای بیان چنین تغییرات تبدیل می‌کند. در حالی که ماکروهای نحوی اغلب در زبان‌های Lisp یافت می‌شوند، آن‌ها نیز در زبان‌های دیگر مانند Prolog , Dylan، Scala , Nemerle، Rust، Elixir , Nim , Haxe , http://haxe.org/manual/macro.html و Julia در دسترس هستند. آن‌ها همچنین به عنوان پسوند شخص ثالث به جاوا اسکریپت، http://sweetjs.org/ C # و پایتون در دسترس هستند. https://github.com/lihaoyi/macropy http://ecsharp.net/lemp
قبل از این که lisp ماکروها را داشته باشد، آن‌ها به اصطلاح FEXPR، عملگرهای تابع-مانند operators که ورودی آن مقادیر محاسبه‌شده توسط آرگومان‌ها نبود، بلکه به جای اشکال نحوی آرگمان‌ها، و خروجی آن مقادیری بود که باید در محاسبات استفاده شود. به عبارت دیگر، FEXPRها در همان سطح EVAL اجرا شدند و پنجره ای را به لایه متا ارزیابی ارائه دادند. به‌طور کلی مشخص شد که این یک مدل مشکل است تا به‌طور مؤثر دلیل آن را توضیح دهد.
در سال ۱۹۶۳ تیموتی هارت پیشنهاد افزودن ماکروها به Lisp 1.5 در AI Memo 57 کرد: تعاریف MACRO برای LISP.
یک ماورای فریبنده، نوعی از ماژول برنامه‌نویسی است که به عمد برخی از فرم‌های عرضه‌شده به ماکرو را می‌گیرد که ممکن است توسط یک anaphor (با اشاره به دیگری) ارجاع داده شود. ماکروسکوپ‌های Anaphoric در ابتدا در پل Graham's در lisp ظاهر شدند و نام آن‌ها اشاره به anaphora زبانی است - استفاده از کلمات به عنوان جایگزین برای کلمات قبلی.
در اواسط دهه هشتاد، تعدادی از مقالات [۱۱] [۱۲] مفهوم توسعه ماکرو بهداشتی (codice_3)، یک سیستم مبتنی بر الگو را معرفی کردند که در آن محیط‌های نحوی تعریف ماکرو و استفاده ماکرو متمای زهستند، که به تعریف کننده‌های ماکرو و کاربران اجازه نمی‌دهند که در مورد تصرف غیرعمدی متغیرنگران باشند (به رغم شفافیت رفرال). ماکروهای بهداشتی برای طرح در استانداردهای R5RS، R6RS و R7RS استاندارد شده‌است. تعدادی از پیاده‌سازی‌های رقابتی با استفاده از ماکروها، مانند قواعد سینتکس، حالت نحوی، تغییر نامصریح، و بسته شدن نحوی وجود دارد. هر دو codice_3 و codice_5 در استانداردهای Scheme استاندارد شده‌است.
اخیراً، racket مفاهیم بهداشتی ماکرو با یک " برج ارزیابان " را ترکیب کرده‌است، به طوریکه زمان توسعه معنایی یک سیستم ماکرو، زمان اجرای معمولی یک بلوک دیاگرام دیگر است و نشان داد که چگونه تجزیه و تحلیل را در یک زبان غیر پرانتز اعمال کرد.
تعدادی از زبان‌ها غیر از Scheme یا ماکروهای بهداشتی را اعمال می‌کنند یا سیستم‌های بهداشتی جزئی را اجرا می‌کنند. نمونه‌هایی از Scala، Rust، Elixir، Julia , Dylan و Nemerle هستند.
فرضیات نشان می‌دهند که این سه مقوله از استفاده قانونی اولیه ازماکروها در چنین سیستمی استفاده می‌کنند. برخی دیگر استفاده از ماکروها را مانند anaphoric macros در سیستم‌های ماکرو که غیربهداشتی هستند یا تغییر شکل غیربهداشتی را ممکن می‌سازند، پیشنهاد کرده‌اند.
تعامل بین ماکروها و دیگر ویژگی‌های زبان یک حوزه مفید از تحقیق بوده‌است. برای مثال، مؤلفه‌ها و ماژول‌ها برای برنامه‌نویسی در مقیاس بزرگ مفید هستند، امابرهمکنش ماکروها و این ساختارها باید برای استفاده آن‌ها با هم تعریف شوند. ماژول و سیستم‌های جزئی که می‌توانند با ماکروها تعامل داشته باشند برای Scheme و سایر زبان‌ها با ماکرو پیشنهاد شده‌اند. به عنوان مثال، زبان racket مفهوم یک سیستم ماکرو را به یک برج نحوی بسطمی‌دهد که در آن ماکروها را می‌توان با زبان از جمله ماکروها، با استفاده از بهداشتبرای تضمین این که لایه‌های نحوی متمایز هستند و اجازه دادن ماژول برای صادراتماکروها به حوزه‌های دیگر را می‌دهد، بسط می‌دهد.
ماکروها معمولاً برای نگاشت یک رشته کوتاه (فراخوانی ماکرو) به یک توالی طولانی‌تر از دستورالعمل‌ها مورد استفاده قرار می‌گیرند. یکی دیگر که کم‌تر متداول است، استفاده از ماکروها این است که معکوس شود: نگاشت یک توالی دستورالعمل‌ها به یک رشته ماکرو. این رویکرد توسط سیستم برنامه‌نویسی موبایل STAGE۲ اتخاذ شد، که از یک کامپایلر ماکروی ابتدایی (به نام SIMCMP)استفاده می‌کرد تا یک مجموعه دستورالعمل خاص از یک کامپیوتر داده‌شده به counterpart macros را نگاشت کند. برنامه‌های کاربردی (به‌طور خاص کامپایلرها) که در این ماکروها مستقل از دستگاه نوشته شده‌است، بدون تغییر در هر کامپیوتری که مجهز به کامپایلر ماکروی اولیه است اجرا می‌شود. اولین برنامه کاربردی که در چنین زمینه ای اجرا می‌شود، یک کامپایلر ماکرو پیچیده‌تر و قدرتمند است که در زبان ماکروی مستقل از دستگاه نوشته شده‌است. این کامپایلر ماکرو برای خودش، به روش بوت استرپ، برای تولید یک نسخه ترجمه‌شده و بسیار کارآمدتر از خودش استفاده می‌شود. مزیت این رویکرد این است که برنامه‌های پیچیده را می‌توان از یک کامپیوتر به یک کامپیوتر بسیار متفاوت با تلاش بسیار کمی (برای هر معماری ماشین هدف، فقط نوشتن یک compiler ابتدایی)منتقل کرد. ظهور زبان‌های برنامه‌نویسی مدرن، به خصوص C، که کامپایلرها در تمام رایانه‌ها در دسترس هستند، این رویکرد را بی‌فایده کرده‌است. با این وجود، این یکی از اولین نمونه از بوت استرپینگ کامپایلر بود.
در حالی که دستورالعمل‌های ماکرو را می‌توان توسط برنامه‌نویس برای هر مجموعه دستورها برنامه اسمبلر محلی تعریف کرد، معمولاً ماکروها با کتابخانه‌های ماکرو مرتبط با سیستم عملیاتی که امکان دسترسی بهتوابع سیستم‌عامل را فراهم می‌کند، مرتبط هستند. مانند:
در سیستم‌های عملیاتی قدیمی‌تر مثل آن‌هایی که در پردازنده‌های مرکزی IBM مورد استفاده قرار می‌گرفتند، عملکرد سیستم‌عامل کامل تنها برای برنامه‌های زبانی assembler در دسترس بود (مگر اینکه از subroutines زبان اسمبلی استفاده شود)، همان‌طور که دستورالعمل‌های استاندارد ماکرو معمولاً دارای همتایان دارای سطح بالا نیستند.
در اواسط دهه ۱۹۵۰، زمانی که برنامه‌نویسی مونتاژ مکرر برای نوشتن برنامه های رایانه‌های دیجیتال مورد استفاده قرار گرفت، استفاده از دستورالعمل‌های ماکرو برای دو هدف اصلی آغاز شد: کاهش مقدار کدگذاری برنامه که می‌بایست با ایجاد چندین بیانیه زبان اسمبلی از یک دستور ماکرو و اجرای استانداردهای نوشتن برنامه، نوشته شود، به عنوان مثال، تعیین فرمان‌های ورودی / خروجی به روش‌های استاندارد. دستورالعمل‌های ماکرو به‌طور مؤثر یک قدم میانی بین برنامه‌نویسی زبان اسمبلی و زبان‌های برنامه‌نویسی سطح بالا بود که بعد از آن، مثل FORTRAN و کوبول معرفی شدند.. دو مورد از اولین تأسیسات برنامه‌نویسی برای توسعه «زبان‌های ماکرو» برای تولید IBM ۷۰۵، در شرکت شیمیایی داو در دلاور و فرماندهی متریال هوایی، ballistics Missile Logistics در کالیفرنیا بود. یک دستور ماکرو که در فرمت زبان اسمبلی هدف نوشته می‌شود، توسط یک مترجم ماشینی پردازش می‌شود، که برای تولید یک یا چند دستورالعمل زبان اسمبلی در کنار برنامه assembler پردازش می‌شود که دستورالعمل زبان اسمبلی را به دستورالعمل‌های زبان ماشین ترجمه می‌کند. [۲۲]
در اواخر دهه ۱۹۵۰، زبان ماکرو توسط Macro Assemblers دنبال شد. این ترکیبی از هر دو برنامه بود که در یک برنامه برای هر دو عمل می‌کرد، که از پیشپردازنده و یک موتاژکننده تشکیل شده بود. ین به برنامه نویسان زبان اسمبلی اجازه داد تا زبان ماکروی خود را پیاده کنند و قابلیت انتقال محدود کدها را بین دو ماشین اجرا کنند که همان CPU را در سیستم‌عامل متفاوت اجرا می‌کردند، برای مثال، نسخه‌های ابتدایی MSDOS و CPM - ۸۶. کتابخانه ماکرو باید برای هر ماشین هدف نوشته شود، نه برای برنامه کلی زبان اسمبلی. توجه داشته باشید که اسمبلرهای قدرتمندتر می‌توانند از ساختارهای مونتاژ مشروط در دستورالعمل‌های ماکرو استفاده کنند که می‌توانند کدهای مختلف را روی دستگاه‌های مختلف یا سیستم عامل‌های مختلف تولید کنند و نیاز به کتابخانه‌های مختلف را کاهش دهند.
در دهه ۱۹۸۰ و اوایل دهه ۱۹۹۰، رایانه‌های رومیزی تنها در چند مگاهرتز کار می‌کردند و برنامه‌های مونتاژ زبان به‌طور معمول برای سرعت بخشیدن به برنامه‌های نوشته شده در C, Fortran, Pascal و دیگران استفاده می‌شد. این زبان‌ها در آن زمان، از کنوانسیون‌های مختلف تماس استفاده می‌کردند. **ماکروها می‌توانند برای روتین‌های رابط نوشته شده در زبان مونتاژ به قسمت اولیهٔ برنامه‌های نوشته شده در هر زبان نوشته شوند. ** باز هم، کد زبان اسمبلی اصلی همان بود، فقط کتابخانه‌های ماکرو مورد نیاز برای هرزبان مقصد نوشته می‌شدند.
در سیستم‌های عملیاتی مدرن مانند یونیکس و مشتقات آن، دسترسی به سیستم از طریق subroutines ارائه می‌شود که معمولاً توسط کتابخانه‌های پویا ارائه می‌شود. زبان‌های سطح بالا مانند C، دسترسی جامع به توابع سیستم‌عامل را ارائه می‌کنند و نیاز به برنامه‌های زبانی assembler برای این قابلیت را فراهم می‌کنند.
عملکرد شبکه به اندازه‌گیری‌های کیفیت خدمات یک شبکه از دید مشتری اشاره دارد.
روش‌های مختلفی برای اندازه‌گیری عملکرد یک شبکه وجود دارد، همان‌طور که هر شبکه در ماهیت و طراحی متفاوت است. عملکرد نیز می‌تواند به جای اندازه‌گیری، مدل‌سازی شده و شبیه‌سازی شود. یک مثال از این می‌تواند استفاده از نمودارهای گذار حالت برای مدل‌سازی عملکرد صف بندی یا استفاده از یک شبیه‌ساز شبکه است.
معیارهای زیر اغلب مهم شمرده می‌شوند:
پهنای باند که معمولاً با بیت / ثانیه اندازه‌گیری می‌شود، حداکثر سرعتی است که اطلاعات انتقال می‌یابد
پهنای باند کانال موجود و نسبت سیگنال به نویز قابل دستیابی، حداکثر بازدهی ممکن را تعیین می‌کنند. به‌طور کلی نمی‌توان داده‌های بیشتری را از آنچه نظریه شانون-هارتلی قانون گذاری کرده ارسال کرد.
"بازدهی" تعداد پیام‌هایی است که به‌طور موفقیت‌آمیز در هر واحد از زمان تحویل می‌شوند. بازدهی با پهنای باند موجود و نیز نسبت سیگنال به نویز و محدودیت‌های سخت‌افزاری کنترل می‌شود. بازدهی از مقصود این مقاله اینگونه فهمیده می‌شود که با زمان رسیدن اولین بیت داده گیرنده سنجیده می‌شود تا مفهوم بازده از مفهوم تأخیر جدا شود. برای بحث در مورد این نوع، اصطلاحات «بازدهی» و «پهنای باند» اغلب به‌طور متناوب استفاده می‌شود.
"پنجره زمان" دوره ای است که بازدهی اندازه‌گیری می‌شود. انتخاب یک پنجره زمانی مناسب اغلب بر محاسبات میزان بهره‌وری تأثیر می‌گذارد و اینکه آیا تأخیر در نظر گرفته می‌شود یا نه، تعیین می‌کند که آیا تأخیر روی عملکرد تأثیر می‌گذارد یا خیر.
سرعت نور حداقل زمان انتشار را بر روی تمام سیگنال‌های الکترومغناطیسی تحمیل می‌کند. غیرممکن است تأخیر را به کمتر از این کاهش داد
جایی که s فاصله است و c سرعت متوسط نور در محیط است. این تقریباً به معنی ۱ دور در میلی ثانیه (RTT) برای ۱۰۰ کیلومتر / ۶۲ مایل فاصله بین میزبان هاست.
تاخیرهای دیگر نیز در گره‌های میانی اتفاق می‌افتد. در شبکه‌هایی که بسته‌ها سوئیچ می‌شوند، تاخیرها می‌توانند به علت صف بندی ایجاد شوند.
ژیتر، انحرافی ناخواسته از دوره واقعی یک سیگنال دوره ای فرض شده در الکترونیک و ارتباطات مخابراتی است، که اغلب در ارتباط با یک منبع ساعت مرجع است. ژیتر ممکن است در ویژگی‌هایی مانند فرکانس پالس‌های متوالی، دامنه سیگنال یا فاز سیگنال‌های دوره ای مشاهده شود. ژیتر عاملی مهم و معمولاً ناخواسته در طراحی تقریباً تمام اتصالات ارتباطی (مانند USB، PCI-E، SATA , OC-48) است؛ و در برنامه‌های بازیابی ساعت، ژیتر زمانی نامیده می‌شود. Wolaver، 1991، p.211