وکس مجموعه دستور

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
DEC VAX
Manufacturer: Digital Equipment Corporation
Byte size: 8 bits (octet)
Address bus size: 32 bits
Peripheral bus: Unibus, Massbus, Q-Bus, XMI, VAXBI
Architecture: CISC, virtual memory
Operating systems: اوپن‌وی‌ام‌اس, Ultrix, BSD UNIX, VAXELN

وکس در معماری کامپیوتر نوعی مجموعه دستورالعمل است که توسط شرکت Digital Equipment Corporation در دههٔ ۱۹۷۰ طراحی شد. مدل VAX-11/780 که در ۲۵ اوکتبر ۱۹۷۷ معرفی شد، اولین معماری از طیف معماری‌های متداول و موثر در طراحی‌های کامپیوتر وکس به شمار می‌آید. نام وکس از مخفف قابلیت آدرس دهی مجازی (به انگلیسی: "Virtual Address eXtension") برداشت شده است. این معماری نوعی معماری سیسک ۳۲ بیتی به شمار می‌آید.

نام‌گذاری[ویرایش]

نامگذاری وکس مخفف عبارت قابلیت آدرس دهی مجازی (به انگلیسی: Virtual Address eXtension) و تامیم ۳۲ بیتی سیستم قدیمی تر و ۱۶ بیتی PDP-11 است. تاکید بر این نام به این خاطر است که بعد از کامپیوتر اولیه جزو اولین سیستم‌هایی بود که از آدرس دهی حافظه مجازی استفاده می‌کرد. نسخه‌های اولیه وکس امکان استفاده از حالت ورژنهای قبلی (به انگلیسی: Compatibility Mode) را نیز دارا بودند که به کاربر اجازه می‌داد برنامه‌های PDP-11 را نیز با شبیه‌ساز اجرا کنند. به همین دلیل به وکس، وکس ۱۱ نیز گفته می‌شد زیرا که قابلیت اجرای برنامه‌های خانوادهٔ PDP-11 را نیز داشت و تامیمی از این خانواده محسوب می‌شد. نسخه‌های بعدی قابلیت ورژنهای قبلی را حذف کرده و بعضی از دستورهای پیچیده تر معماری سیسک را به سیستم عامل محول کردند.

مجموعه دستورالعمل[ویرایش]

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

سیستم‌های عامل[ویرایش]

سیستم عامل "بومی" وکس، VAX/VMS توسط شرکت تجهیزات دیجیتالی (DEC) نامگذاری شده است (در سال ۱۹۹۱ یا ۱۹۹۲ میلادی، وقتی که به آلفا منتقل شد، به سیستم حافظه‌ی مجازی باز-Open VMS- تغییر نام پیدا کرد، و توسط کنسرسیوم (ائتلاف چند شرکت باهم برای انجام امور انتفاعی) X-Open گسترش پیدا کرد و مطابق با استانداردهای POSIX (مجموعه‌ای از استانداردهای سیستم عامل که بر پایه یونیکس می‌باشد) اصلاح شد. معماری VAX و سیستم عامل VMS به صورت همزمان مهندسی (ساخت)، می‌شدند تا حداکثر کارایی برای هر دو بوجود آید، که به عنوان پیاده سازی اولیه برای سهولت در گروه وکس-VAXCluster- انجام می‌شد.

دیگر سیستم‌عامل‌های وکس شامل نسخه‌های مختلف از BSD UNIX تا ورژن‌های بالاتر 4.3BSD ،Ultrix-32، VAXELN و Xinu می‌باشند؛ اخیراً NetBSD و OpenBSD از مدل‌های مختلف وکس پشتیبانی می‌نمایند و برخی از کارها بر روی پورت GNU/Linux توسط معماری وکس انجام می‌شود.

تاریخچه[ویرایش]

وکس ۱۱-۷۸۰

اولین مدل وکس که فروخته شد VAX-11/780 نام داشت، که در نشست سالیانه سهام‌داران شرکت تجهیزات دیجیتال DEC معرفی شد. بیل استکر (Bill Strecker) و دانشجوی دکترای دانشگاه کارنگی ملون(Carnegie Mellon University) آقای گوردن بل(Gordon Bell)، مسئول این معماری بودند. پس از آن مدل‌های مختلف بسیاری با قیمت‌ها، سطح عملکرد و ظرفیت‌های مختلف ایجاد شد؛ یکی از آن مدل‌ها، ابر وکس بود که در اوایل دهه‌ی ۱۹۸۰ میلادی بسیار محبوب گشت.

درحالی‌که مدل VAX-11/780 به عنوان یک استاندارد در معیار (Benchmark) در پردازنده‌ها مورد استفاده قرار می‌گرفت، در ابتدا به عنوان یک ماشین MIPS توصیف شده بود، زیرا عملکرد آن با یک آی‌بی‌ام System/360 در MIPS معادل بود و و پیاده سازی آن سیستم‌ها، قبلاً استانداردهای اجرائی بالفعل بوده است. تعداد واقعی دستورات اجرا شده در یک ثانیه حدود ۵۰۰۰۰۰ هزارتا بود که منجر به شکایت از اغراق در بازاریابی شد که نتیجه‌ی آن منجر به تعریف یک VAX MIPS با سرعت نزدیک به VAX-11/780 شد؛ در یک کامپیوتر VAX MIPS حدود ۲۷ بار سریعتر از VAX-11/780 انجام و به اجرا رسیده بود. در جامعه دیجیتال اصطلاح واحد VUP بسیار رایج‌تر بود، چونکه MIPS به خوبی با معماری‌های دیگر مقایسه نمی‌شود. گروه واحد VUP به خوبی در توصیف عملکردهای VAXcluster مورد استفاده قرارگرفت. عملکرد VAX-11/780 هنوز هم به عنوان واحد اندازه گیری (متریک) پایه (خط مبنا) مورد استفاده قرار می‌گیرد. مجموعه تجزیه و تحلیل عملکردهای موجود در BRL-CAD میانگین خوبی برای توزیع مدل سازی نرم‌افزاری می‌باشد. VAX-11/780 شامل تابع مستقلی برای کامپیوتر LSI-11 که برای کد کردن میکروکدها، بوت شدن و عملکرد کامپیوترهای مادر انجام می‌شود. این مدل نسبت به مدل‌های بعدی کاهش یافته است. بنابراین کاربران مشاغل VAX-11/780 می‌توانند سه سیستم عامل مختلف DEC را اجرا نمایند: VMS در پردازنده VAX، RSX-11M یا RT-11 را در LSI-11. وکس توسط پیاده‌سازی‌های مختلفی اجرا شده است، اصلی ترین آن VAX 11/780 است که در TTl مورد استفاده قرار گرفته است. پیاده‌سازی پردازنده شامل چندین آرایه گیت ECL و یا تراشه‌های آرایه‌ای ماکروسل وکس(۸۶۰۰ و ۸۸۰۰) و در نهایت وکس ۹۰۰۰که ماشین کلاس‌های پردازنده مرکزی می‌باشد. پیاده‌سازی پردازنده که شامل چندین تراشه‌های سفارشی MOFSET مانند ماشین‌های کلاس ۸۱۰۰ و ۸۲۰۰ را شامل می‌شود. وکس ۱۱-۷۳۰ و ۷۲۵ با پایینترین ماشین‌آلات و با استفاده از مولفه‌های -قطعه بیتی- ساخته شده است.

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

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «VAX»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۸ بهمن ۱۳۹۲).