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

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