وکس مجموعه دستور
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 مانند ماشینهای کلاس ۸۱۰۰ و ۸۲۰۰ را شامل میشود. وکس ۱۱–۷۳۰ و ۷۲۵ با پایینترین ماشینآلات و با استفاده از مؤلفههای -قطعه بیتی- ساخته شدهاست.
یکی از ویژگیهای غیرعادی مجموعه دستورالعمل وکس، حضور ماسک ثبات در ابتدای هر زیر برنامه است. این قسمت اختیاری، الگوهای بیتی هستند که نشان میدهند هنگام اجرای زیر برنامهها مقادیر کدام ثباتها باید دست نخورده باقی بمانند. از آنجایی که ماسک ثبات نوعی داده است که همراه کد اجرایی ارائه میشود، عمل اشتقاق خطی (در کامیایلر) سختتر خواهد شد. این قسمت باعث پیچیدگی روشهای بهینهسازی کد ماشین (در کامیایلر) خواهد شد.