WD16
المعالج WD16 هو معالج دقيق ذو 16 بت، طرحته شركة ويسترن ديجيتال في أكتوبر 1976. وهو مبني على شريحة MCP-1600 ، وهي تصميم متعدد الأغراض استُخدم أيضًا في تصنيع الحاسوب المصغر منخفض التكلفة DEC LSI-11 ومعالج Pascal MicroEngine . وقد اختلفت الأنظمة الثلاثة بشكل أساسي في شفرتها البرمجية الدقيقة ، مما منح كل نظام بنية مجموعة تعليمات فريدة (ISA).
تُطبّق وحدة WD16 امتدادًا لبنية مجموعة تعليمات PDP-11 ، لكنها غير متوافقة مع لغة الآلة الخاصة بـ PDP-11. [ 1 ] وقد طوّر ديك ويلكوكس وريتش نوتاري مجموعة التعليمات والترميز الدقيق. [ 2 ] تُعدّ WD16 مثالًا على بنية CISC المتعامدة . تستطيع معظم التعليمات ذات المعاملين العمل من الذاكرة إلى الذاكرة بأي نمط عنونة ، وقد تُؤدي بعض التعليمات إلى ما يصل إلى عشر عمليات وصول إلى الذاكرة.
تُصنع شريحة WD16 في خمس حزم DIP ذات 40 طرفًا . تبلغ سرعة الساعة القصوى 3.3 ميجاهرتز. [ 3 ] وتتصل بالذاكرة عبر ناقل بيانات/عناوين متعدد الإرسال ذي 16 بت. [ 4 ]
اشتهر معالج WD16 باستخدامه في لوحات معالجات AM-100 وAM-100/T من شركة ألفا مايكروسيستمز . [ 5 ] عُرض نموذج أولي منه عام 1977. [ 6 ] وبحلول عام 1981، كان هناك ما لا يقل عن 5000 حاسوب من طراز ألفا مايكرو يعتمد على معالج WD16. [ 7 ] وحتى عام 1982، كانت حواسيب ألفا مايكرو التي تعتمد على معالج WD16 لا تزال تُوصف بأنها "حواسيب فائقة الصغر". [ 8 ] وقد حل معالج موتورولا 68000 محل معالج WD16 في يونيو 1982. [ 9 ]
سجلات وحدة المعالجة المركزية
تحتوي وحدة المعالجة المركزية على ثمانية سجلات عامة الأغراض، كل منها 16 بت ، من R0 إلى R7. يمكن استخدام هذه السجلات لأي غرض باستثناء ما يلي: السجل R7 هو عداد البرنامج (PC). على الرغم من إمكانية استخدام أي سجل كمؤشر للمكدس، إلا أن R6 هو مؤشر المكدس (SP) المستخدم للمقاطعات والاعتراضات في الأجهزة. أما R0 فهو عداد تعليمات نقل الكتل. [ 10 ]
ذاكرة
تنسيقات البيانات
أصغر وحدة للذاكرة القابلة للعنونة والكتابة هي البايت ذو 8 بت . ويمكن أيضًا تخزين البايتات في النصف السفلي من المسجلات من R0 إلى R5. [ 10 ]
تُخزَّن الكلمات ذات 16 بت بنظام الترتيب الصغير (little-endian) ، حيث تكون البايتات الأقل أهمية في العنوان الأدنى. وتكون الكلمات محاذية دائمًا لعناوين الذاكرة الزوجية. ويمكن تخزين الكلمات في المسجلات من R0 إلى R7.
لا يمكن تخزين الكلمات المزدوجة ذات 32 بت إلا في أزواج من المسجلات، حيث تُخزن الكلمة الأصغر في المسجل ذي الرقم الأدنى. وتُستخدم قيم 32 بت في عمليات الضرب والقسمة وبعض تعليمات التدوير والإزاحة الحسابية .
يبلغ طول قيم الفاصلة العائمة 48 بتًا، ولا يمكن تخزينها إلا في الذاكرة. يقع هذا التنسيق بين تنسيقي الفاصلة العائمة أحادية الدقة ومزدوجة الدقة. تُخزَّن هذه القيم بتنسيق "PDP-endian" غير المألوف . تُحاذى قيم الفاصلة العائمة دائمًا إلى عناوين زوجية . تحتوي الكلمة الأولى على الإشارة والأس والبايت الأعلى من الجزء الكسري. يحتوي العنوان الأعلى التالي على البايتين الأوسطين من الجزء الكسري، ويحتوي العنوان الأعلى الذي يليه على البايتين الأدنى من الجزء الكسري. التنسيق الكامل كما يلي:
1. إشارة بت واحد للعدد الكامل، وهي صفر للأعداد الموجبة.
2. أسّ ذو أساس 2 مكون من 8 بتات مكتوب بصيغة الزيادة-128 بنطاق +127، -128. العدد القانوني الوحيد الذي يكون أسه -128 هو الصفر الحقيقي (جميع الأصفار).
3. جزء من العدد مكون من 40 بت مع تضمين البت الأكثر أهمية.
| 15 | 14 | 7 | 6 | 0 | ||||||||||||
| العنوان+0 | S | الأس | مانتيسا (عالية) | |||||||||||||
| 15 | 8 | 7 | 0 | |||||||||||||
| العنوان + 2 | مانتيسا | (وسط) | ||||||||||||||
| 15 | 8 | 7 | 0 | |||||||||||||
| العنوان + 4 | مانتيسا | (قليل) | ||||||||||||||
إدارة الذاكرة
تتيح عناوين WD16 ذات الـ 16 بت الوصول المباشر إلى 64 كيلوبايت من الذاكرة. ولا توفر WD16 أي إدارة أو حماية مدمجة للذاكرة. في تطبيق AM-100، تُربط آخر 256 موقعًا في الذاكرة بمساحة المنفذ . [ 11 ] ولأن معظم أجهزة AM-100 كانت تُستخدم كأجهزة متعددة المستخدمين، كان يتم توسيع الذاكرة عادةً لتتجاوز 64 كيلوبايت عن طريق تبديل البنوك . على الرغم من إمكانية تهيئة AM-100 لما يصل إلى 22 مستخدمًا و512 كيلوبايت من ذاكرة الوصول العشوائي (RAM)، [ 7 ] إلا أن التكوين النموذجي للذاكرة لجهاز AM-100 ذي 9 مستخدمين قد يكون في حدود 352 كيلوبايت. [ 12 ] في عام 1981، تم توفير وحدة إدارة الذاكرة AM-700 الاختيارية لجهاز AM-100/T، والتي سمحت بتقسيم الذاكرة بزيادات قدرها 256 بايت. [ 13 ]
أنماط العنونة
تُخصص معظم التعليمات ستة بتات لتحديد كل مُعامل. ثلاثة بتات منها تُحدد أحد أنماط العنونة الثمانية، وثلاثة بتات أخرى تُحدد سجلًا عامًا. يكون ترميز نمط عنونة المُعامل ذي الستة بتات كما يلي: [ 10 ]
| 5 | 3 | 2 | 0 | ||
| وضع | يسجل | ||||
في الأقسام التالية، يتضمن كل عنصر مثالاً لكيفية كتابة المعامل بلغة التجميع . Rn تعني أحد السجلات الثمانية، المكتوبة من R0 إلى R7.
أنماط عنونة السجلات العامة
يمكن تطبيق الأوضاع الثمانية التالية على أي سجل عام. وسيتم توضيح تأثيراتها عند تطبيقها على R6 (مؤشر المكدس، SP) وR7 (عداد البرنامج، PC) بشكل منفصل في الأقسام التالية.
| شفرة | اسم | مثال | وصف |
|---|---|---|---|
| تشغيل | يسجل | ممرضة مسجلة | المعامل موجود في Rn |
| 1ن | تم تأجيل التسجيل | (Rn) | يحتوي Rn على عنوان المعامل |
| 2ن | الزيادة التلقائية | (Rn)+ | إذا كان Rn يحتوي على عنوان المعامل، فقم بزيادة Rn |
| 3ن | الزيادة التلقائية المؤجلة | @(Rn)+ | إذا كان Rn يحتوي على عنوان المعامل، فقم بزيادة Rn بمقدار 2 |
| 4ن | التناقص التلقائي | −(Rn) | قم بإنقاص قيمة Rn، ثم استخدم النتيجة كعنوان للمعامل. |
| 5ن | تأجيل الإنقاص التلقائي | @−(Rn) | قم بإنقاص قيمة Rn بمقدار 2، ثم استخدم النتيجة كعنوان لعنوان المعامل |
| 6ن | فِهرِس | X(Rn) | Rn+X هو عنوان المعامل |
| 7ن | تم تأجيل الفهرس | @X(Rn) | Rn+X هو عنوان عنوان المعامل |
في نمطي الفهرسة والفهرسة المؤجلة، تكون X قيمةً مكونةً من 16 بت مأخوذةً من الكلمة الثانية للتعليمات. في التعليمات ذات المعاملين، يمكن استخدام هذين النمطين مع كلا المعاملين. تتكون هذه التعليمات من ثلاث كلمات.
تتم عمليات الزيادة التلقائية والنقصان التلقائي على السجل بمقدار 1 في تعليمات البايت، وبمقدار 2 في تعليمات الكلمة، وبمقدار 2 كلما تم استخدام الوضع المؤجل، لأن الكمية التي يعنونها السجل هي مؤشر (كلمة).
أنماط عنونة عداد البرنامج
عند تحديد R7 (عداد البرنامج)، فإن أربعة من أوضاع العنونة تُنتج بشكل طبيعي تأثيرات مفيدة:
| شفرة | اسم | مثال | وصف |
|---|---|---|---|
| 27 | مباشر | فاني | المعامل هو الكلمة التالية في التعليمات |
| 37 | مطلق | @#a | عنوان المعامل هو الكلمة التالية في التعليمات |
| 67 | نسبي | أ | عنوان المعامل هو الكلمة التالية من التعليمات المضافة إلى عداد البرنامج (PC). |
| 77 | مؤجل نسبي | @a | عنوان عنوان المعامل هو الكلمة التالية من التعليمات المضافة إلى عداد البرنامج (PC). |
يُستخدم الوضع المطلق استخدامين شائعين، وهو يجمع في تركيبه بين الوضع الفوري والوضع المؤجل. الأول هو الوصول إلى مواقع المعالج المحجوزة في النطاق 0000-003F. أما الثاني فهو تحديد سجلات الإدخال/الإخراج في مساحة المنفذ، حيث أن سجلات كل جهاز لها عناوين ذاكرة محددة. يتميز الوضع النسبي بتركيب أبسط، وهو أكثر شيوعًا للإشارة إلى متغيرات البرنامج ووجهات القفز. البرنامج الذي يستخدم الوضع النسبي (والوضع النسبي المؤجل) حصريًا للمراجع الداخلية يكون مستقلًا عن الموقع ؛ فهو لا يفترض أي شيء عن موقعه، لذا يمكن تحميله في أي موقع ذاكرة، أو حتى نقله، دون الحاجة إلى تعديل عناوينه لتعكس موقعه. عند حساب هذه العناوين نسبةً إلى الموقع الحالي، يُجري المعالج عملية النقل أثناء التنفيذ.
الوضعان الفوري والمطلق هما ببساطة وضعان للزيادة التلقائية والزيادة التلقائية المؤجلة، على التوالي، مطبقان على عداد البرنامج (PC). عندما تكون الكلمة المساعدة موجودة في التعليمات، يتم زيادة عداد البرنامج للتعليمات التالية تلقائيًا بعد الكلمة المساعدة. وبما أن عداد البرنامج يشير دائمًا إلى الكلمات، فإن عملية الزيادة التلقائية تتم دائمًا بخطوة مقدارها 2.
أنماط عنونة المكدس
يُستخدم المسجل R6، أو SP، كمكدس مادي للمقاطعات والتدخلات. ومن المتعارف عليه في مجموعة أنماط العنونة التي يوفرها معالج WD16 أن المكدس ينمو تنازليًا - باتجاه العناوين الأدنى - عند إضافة عناصر إليه. وعند تطبيق نمط عنونة على SP، أو على أي مسجل يختاره المبرمج لاستخدامه كمكدس برمجي، فإن أنماط العنونة تُحدث التأثيرات التالية:
| شفرة | اسم | مثال | وصف |
|---|---|---|---|
| 16 | مؤجل | (SP) | يوجد المعامل في أعلى المكدس |
| 26 | الزيادة التلقائية | (SP)+ | يكون المعامل في أعلى المكدس، ثم قم بإزالته. |
| 36 | الزيادة التلقائية المؤجلة | @(SP)+ | يوجد مؤشر إلى المعامل في أعلى المكدس؛ قم بإزالة المؤشر منه. |
| 46 | التناقص التلقائي | −(SP) | أضف قيمة إلى المكدس |
| 66 | مفهرس | X(SP) | يقع المعامل على مسافة X من أعلى المكدس |
| 76 | مؤجل مفهرس | @X(SP) | يقع المؤشر إلى المعامل على مسافة X من أعلى المكدس |
على الرغم من أن مكدسات البرامج يمكن أن تحتوي على بايتات، فإن مؤشر المكدس (SP) يشير دائمًا إلى مكدس من الكلمات. تتم عمليات الزيادة والنقصان التلقائي على مؤشر المكدس (SP) دائمًا بخطوة مقدارها 2.
مجموعة التعليمات
تُعالج معظم تعليمات WD16 على مستوى البايتات والكلمات. تُحدد البايتات برقم سجل - يُحدد البايت الأدنى في السجل - أو بموقع في الذاكرة. تُحدد الكلمات برقم سجل أو بموقع البايت الأدنى في الذاكرة، والذي يجب أن يكون عددًا زوجيًا. تُكتب جميع رموز العمليات والعناوين بالنظام الست عشري . [ 10 ]
تعليمات المعامل المزدوج
تحدد البتات الأربع العليا العملية المراد تنفيذها. وتحدد مجموعتان من ست بتات نمط عنونة معامل المصدر ونمط عنونة معامل الوجهة، كما هو موضح أعلاه. وتشغل هذه المجموعة من التعليمات 75% من رموز العمليات المتاحة.
| 15 | 12 | 11 | 9 | 8 | 6 | 5 | 3 | 2 | 0 | ||||||
| رمز العملية | المصدر | يسجل | الوجهة | يسجل | |||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 1000 | يضيف | يضيف:Dest ← Dest + Src |
| 2000 | فرعي | طرح:Dest ← Dest - Src |
| 3000 | و | و:Dest ← Dest ∧ Src |
| 4000 | BIC | واضح بعض الشيء:Dest ← Dest ∧ (-1 - Src) |
| 5000 | مكتب المعايير والمقاييس | مجموعة البتات:Dest ← Dest ∨ Src |
| 6000 | XOR | حصري أو:Dest ← Dest ⊻ Src |
| 9000 | CMP | يقارن:Src − Dest |
| A000 | قليل | اختبار البتات:Dest ∧ Src |
| B000 | فيديو | يتحرك:Dest ← Src |
| C000 | CMBP | مقارنة البايت:Src − Dest |
| D000 | MOVB | نقل البايت: Dest ← Src(يمتد سجل الوجهة إلى البتات من 8 إلى 15) |
| E000 | BISB | بتة مضبوطة بايت:Dest ← Dest ∨ Src |
تستخدم بعض التعليمات ذات المعاملين نمط عنونة لأحد المعاملين وسجلًا للمعامل الثاني:
| 15 | 9 | 8 | 6 | 5 | 3 | 2 | 0 | ||||||||
| رمز العملية | سجل | المصدر/الوجهة | يسجل | ||||||||||||
تُحدد البتات السبع العليا العملية المراد تنفيذها، وتُحدد ست بتات نمط عنونة المعامل، بينما تُحدد ثلاث بتات سجلًا أو زوجًا من السجلات. عند استخدام زوج من السجلات (يُكتب أدناه "Reg+1:Reg")، يحتوي السجل Reg على الجزء الأدنى من المعامل. ويحتوي السجل التالي ذو الرقم الأعلى على الجزء الأعلى من المعامل (أو الباقي).
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 7200 | ليا | تحميل العنوان الفعال:Reg ← ea(Dest) |
| 73C0 | JMP | القفز: PC ← ea(Dest)(هذا هو نفسه LEA PC,Destويشترك في نفس رمز العملية.) |
| 7400 | رماد | الإزاحة الحسابية:if Src < 0 then Reg ← Shift-right(Reg, -Src) else Reg ← Shift-left(Reg, Src) |
| 7800 | XCH | تبادل:Reg ↔ Src |
| 7A00 | ASHC | الإزاحة الحسابية المدمجة (32 بت):if Src < 0 then (Reg+1:Reg) ← Shift-right((Reg+1:Reg), -Src) else (Reg+1:Reg) ← Shift-left((Reg+1:Reg), Src) |
| 7C00 | متعدد الجنسيات | الضرب بدون إشارة:(Reg+1:Reg) ← Reg × Src |
| 7E00 | DIV | القسمة بدون إشارة:Compute (Reg+1:Reg) ÷ Src; Reg ← quotient; Reg+1 ← remainder |
تعليمات المعامل الواحد
تحدد البتات العشر العليا العملية المراد تنفيذها، حيث تحدد البتة 15 عادةً ما إذا كان العنونة تتم على مستوى البايت أم الكلمة. وتحدد مجموعة واحدة من ست بتات المعامل كما هو موضح أعلاه.
| 15 | 6 | 5 | 3 | 2 | 0 | ||||||||||
| رمز العملية | المصدر/الوجهة | يسجل | |||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 0BC0 | مسحة | تبديل بايتات الكلمة:Dest0-7 ↔ Dest8-15 |
| 8BC0 | سواد | تبديل أرقام البايت: |
| 0840 | CLR | واضح:Dest ← 0 |
| 8840 | مجلس مراجعة البناء | |
| 0C00 | كوم | إطراء:Dest ← (-1 - Dest) |
| 8C00 | مشط | |
| 0C80 | شركة | زيادة:Dest ← Dest + 1 |
| 8C80 | الرقابة الدولية على الرقابة | |
| 0CC0 | ديسمبر | انخفاض:Dest ← Dest − 1 |
| 8CC0 | مجلس التعليم العالي | |
| 0C40 | سلبي | نفي:Dest ← -Dest |
| 8C40 | NEGB | |
| 0B00 | تعيين | تعيين:Dest ← -1 |
| 8B00 | SETB | |
| 0A80 | TST | امتحان:Src ∧ Src |
| 8A80 | TSTB | |
| 0A00 | معدل العائد على الاستثمار | أدر إلى اليمين:C ← S0; S0-14 ← S1-15; S15 ← C |
| 8A00 | رورب | قم بتدوير البايت إلى اليمين:C ← S0; S0-6 ← S1-7; S7 ← C |
| 0A40 | دور | أدر إلى اليسار:C ← S15; S1-15 ← S0-14; S0 ← C |
| 8A40 | رولب | تدوير البايت الأيسر:C ← S7; S1-7 ← S0-6; S0 ← C |
| 0B80 | التعرف التلقائي على الكلام | الإزاحة الحسابية إلى اليمين:Dest ← Dest ÷ 2, sign preserved |
| 8B80 | مجلس تسجيل الجمعيات الأمريكية (ASRB) | |
| 0AC0 | لغة الإشارة الأمريكية | الإزاحة الحسابية إلى اليسار:Dest ← Dest × 2 |
| 8AC0 | ASLB | |
| 8D80 | محول تناظري رقمي | أضف حملاً:Dest ← Dest + Cflag |
| 8DC0 | SBC | اطرح الحمل:Dest ← Dest - Cflag |
| 0D00 | IW2 | قم بزيادة الكلمة بمقدار 2:Dest ← Dest + 2 |
| 0DC0 | TJMP | قفزة مُجدولة:PC ← PC + (Dest), PC ← PC + @PC |
| 0D80 | تيكول | مكالمة مؤجلة:-(SP) ← PC, PC ← PC + (Dest), PC ← PC + @PC |
| 0D40 | SXT | تمديد التوقيع:Dest ← 0 - N flag |
| 8D00 | LSTS | حالة معالج التحميل:PSW ← Dest |
| 8D40 | SSTS | حفظ حالة المعالج:Dest ← PSW |
تعليمات فورية قصيرة بمعامل واحد
تُحدد البتات السبع العليا والبتات 5 و4 العملية المراد تنفيذها. وتُحدد مجموعة واحدة من ثلاث بتات السجل. ويحتوي حقل العد المكون من أربع بتات على قيمة فورية صغيرة أو عدد. وفي جميع الحالات، يُضاف واحد إلى هذا الحقل، مما يجعل النطاق من 1 إلى 16.
| 15 | 9 | 8 | 6 | 5 | 4 | 3 | 0 | ||||||||
| رمز العملية | سجل | عملية | عدد | ||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 0800 | أدي | أضف على الفور:Reg ← Reg + Count + 1 |
| 0810 | سوبي | اطرح فوراً:Reg ← Reg - Count - 1 |
| 0820 | بي سي آي | واضحٌ بشكلٍ فوري:Reg ← Reg ∧ (-1 - (Count+1)) |
| 0830 | فيلم | تحرك فوراً:Reg ← Count + 1 |
| 8800 | SSRR | تدوير اليمين عدة مرات:Reg:C-flag ← Rotate-right(Reg:C-flag, Count+1) |
| 8810 | SSLR | تدوير يساري متعدد:C-flag:Reg ← Rotate-left(C-flag:Reg, Count+1) |
| 8820 | SSRA | مضاعف الإزاحة الحسابية لليمين:Reg:C-flag ← Arithmetic-shift-right(Reg, Count+1) |
| 8830 | SSLA | مضاعفات الإزاحة الحسابية إلى اليسار:C-flag:Reg ← Arithmetic-shift-left(Reg, Count+1) |
| 8E00 | SDRR | تدوير مزدوج لليمين (33 بت):Reg+1:Reg:C-flag ← Rotate-right(Reg+1:Reg:C-flag, Count+1) |
| 8E10 | SDLR | تدوير مزدوج لليسار (33 بت):C-flag:Reg+1:Reg ← Rotate-left(C-flag:Reg+1:Reg, Count+1) |
| 8E20 | SDRA | عملية إزاحة حسابية مزدوجة لليمين (32 بت):Reg:Reg+1:C-flag ← Arithmetic-shift-right(Reg:Reg+1, Count+1) |
| 8E30 | SDLA | مضاعف الإزاحة الحسابية لليسار المزدوج (32 بت):C-flag:Reg:Reg+1 ← Arithmetic-shift-left(Reg:Reg+1, Count+1) |
تعليمات الفاصلة العائمة
تُحدد البتات الثمانية العليا العملية المراد تنفيذها. وتُحدد مجموعتان من أربع بتات نمطَي عنونة المصدر والوجهة والسجل. إذا كان الحقل I = 0، فإن السجل المُحدد يحتوي على عنوان المعامل، وهو ما يُعادل نمط العنونة (Rn). أما إذا كان الحقل I = 1، فإن السجل المُحدد يحتوي على عنوان عنوان المعامل، وهو ما يُعادل نمط العنونة @0(Rn).
| 15 | 8 | 7 | 6 | 4 | 3 | 2 | 0 | ||||||||
| رمز العملية | أنا | SReg | أنا | DReg | |||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| F000 | موضة | إضافة عائمة:Dest ← Dest + Src |
| F100 | FSUB | طرح عائم:Dest ← Dest - Src |
| F200 | FMUL | الضرب العائم:Dest ← Dest × Src |
| F300 | FDIV | خط تقسيم عائم:Dest ← Dest ÷ Src |
| F400 | شرطة فلوريدا المدنية | مقارنة عائمة:Dest - Src |
تُخصص التعليمات البرمجية من F500 إلى FFFF لوحدة معالجة دقيقة رابعة لتنفيذ إحدى عشرة تعليمة إضافية للأعداد العشرية. لا يوجد دليل على إنتاج هذه الوحدة الدقيقة الرابعة. عند تنفيذ معالج WD16 القياسي للتعليمات البرمجية من F500 إلى FFFF، يتم استخدام رمز العملية المحجوز، ويتم تحميل عداد البرنامج (PC) من 001A.
تعليمات نقل الكتلة
تُحدد العشر بتات العليا العملية المراد تنفيذها. وتُحدد مجموعتان من ثلاث بتات سجلي المصدر والوجهة. في جميع الحالات، يحتوي سجل المصدر على عنوان أول كلمة أو بايت من الذاكرة المراد نقلها، بينما يحتوي سجل الوجهة على عنوان أول كلمة أو بايت من الذاكرة التي ستستقبل البيانات المنقولة. ويُخزن عدد الكلمات أو البايتات المنقولة في السجل R0 كعدد صحيح غير مُوقّع، ويتراوح هذا العدد بين 1 و65536. هذه التعليمات قابلة للمقاطعة بالكامل.
| 15 | 6 | 5 | 3 | 2 | 0 | ||||||||||
| رمز العملية | SReg | DReg | |||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 0E00 | نقابة عمال البناء والعمال | انقل مجموعة الكلمات إلى الأعلى:(DReg) ← (SReg), SReg ← SReg + 2, DReg ← DReg + 2, R0 ← R0 - 1, until R0 = 0 |
| 0E40 | MBWD | انقل مجموعة الكلمات إلى الأسفل:(DReg) ← (SReg), SReg ← SReg - 2, DReg ← DReg - 2, R0 ← R0 - 1, until R0 = 0 |
| 0E80 | MBBU | انقل كتلة البايتات للأعلى:(DReg) ← (SReg), SReg ← SReg + 1, DReg ← DReg + 1, R0 ← R0 - 1, until R0 = 0 |
| 0EC0 | MBBD | انقل كتلة البايتات إلى الأسفل:(DReg) ← (SReg), SReg ← SReg - 1, DReg ← DReg - 1, R0 ← R0 - 1, until R0 = 0 |
| 0F00 | MBWA | انقل مجموعة الكلمات إلى العنوان التالي:(DReg) ← (SReg), SReg ← SReg + 2, R0 ← R0 - 1, until R0 = 0 |
| 0F40 | ماجستير إدارة الأعمال | نقل كتلة من البايتات إلى العنوان التالي:(DReg) ← (SReg), SReg ← SReg + 1, R0 ← R0 - 1, until R0 = 0 |
| 0F80 | MABW | انقل العنوان إلى كتلة الكلمات:(DReg) ← (SReg), DReg ← DReg + 2, R0 ← R0 - 1, until R0 = 0 |
| 0FC0 | MABB | نقل العنوان إلى كتلة من البايتات:(DReg) ← (SReg), DReg ← DReg + 1, R0 ← R0 - 1, until R0 = 0 |
تعليمات التفرع
يُحدد البايت الأعلى قيمةً في التعليمات العملية. أما البايت الأدنى قيمةً فهو عبارة عن إزاحة بكلمة مُوقّعة نسبةً إلى الموقع الحالي لعداد البرنامج. وهذا يسمح بتنفيذ التفرعات الأمامية والعكسية في الكود. أقصى مدى للتفرع هو +128، -127 كلمة من رمز عملية التفرع.
في معظم تعليمات التفرع، يعتمد تنفيذ التفرع على حالة رموز الحالة. عادةً ما تسبق تعليمة التفرع تعليمة CMP (مقارنة) أو BIT (اختبار بت) ذات معاملين، أو تعليمة TST (اختبار) ذات معامل واحد. كما تُحدد تعليمات الحساب والمنطق رموز الحالة. على عكس معالجات إنتل في بنية x86 ، تُحدد تعليمات MOV هذه الرموز أيضًا، لذا يمكن استخدام تعليمة التفرع للتفرع بناءً على ما إذا كانت القيمة المنقولة صفرًا أم سالبة.
| 15 | 8 | 7 | 0 | ||||||||||||
| رمز العملية | إزاحة | ||||||||||||||
| رمز العملية | ذاكري | الحالة أو التشغيل |
|---|---|---|
| 0100 | BR | الفرع دائماًPC ← PC + (2 × Sign-extend(Offset)) |
| 0200 | بري | قم بالتفرع إذا لم يكن متساوياًZ = 0 |
| 0300 | BEQ | تفرع إذا كان متساوياًZ = 1 |
| 0400 | بي جي إي | قم بالتفرع إذا كان أكبر من أو يساوي(N ⊻ V) = 0 |
| 0500 | بي إل تي | قم بالتفرع إذا كان أقل من(N ⊻ V) = 1 |
| 0600 | برنامج المواهب البريطانية (BGT) | قم بالتفرع إذا كان أكبر من(Z ∨ (N ⊻ V)) = 0 |
| 0700 | بلوتوث | قم بالتفرع إذا كان أقل من أو يساوي(Z ∨ (N ⊻ V)) = 1 |
| 8000 | BPL | افصل إذا كان زائدN = 0 |
| 8100 | مؤشر كتلة الجسم | تفرع إذا كان سالبN = 1 |
| 8200 | BHI | قم بالتفرع إذا كان أعلى(C ∨ Z) = 0 |
| 8300 | بلوس | قم بالتفرع إذا كان الفرع أقل أو متماثلاً(C ∨ Z) = 1 |
| 8400 | بي في سي | قم بفصل الفرع إذا كان التدفق زائداًV = 0 |
| 8500 | بي في إس | قم بالتفرع إذا تم تعيين تجاوز السعةV = 1 |
| 8600 | BCC أو BHIS | تفرع إذا كان الممر خالياً، أو تفرع إذا كان أعلى أو مساوياًC = 0 |
| 8700 | BCS أو BLO | تفرع إذا تم وضع مجموعة حمل، أو تفرع إذا كان أقلC = 1 |
بسبب النطاق المحدود لتعليمات التفرع، قد تصبح عناوين الوجهة لبعض التفرعات غير قابلة للوصول مع ازدياد حجم البرنامج. لذا، يقوم المبرمج بتغيير تعليمة Bcc المكونة من كلمة واحدة إلى تعليمة JMP المكونة من كلمتين. ولأن JMP لا تحتوي على صيغ شرطية، يقوم المبرمج بتغيير Bcc إلى عكس معناها للتفرع حول JMP.
| 15 | 9 | 8 | 6 | 5 | 0 | ||||||||||
| رمز العملية | سجل | إزاحة | |||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 7600 | تنهد | Subtract One and Branch: Reg ← Reg - 1; if Reg ≠ 0 then PC ← PC - (2 × Offset) |
تُعدّ تعليمة SOB (طرح واحد والتفرع) تعليمة تفرع شرطية أخرى. يتم إنقاص قيمة السجل المحدد بمقدار 1، وإذا لم تكن النتيجة صفرًا، يتم اتخاذ تفرع عكسي بناءً على إزاحة الكلمة المكونة من 6 بتات.
تعليمات سابروتين
| 15 | 9 | 8 | 6 | 5 | 3 | 2 | 0 | ||||||||
| رمز العملية | سجل | المصدر | يسجل | ||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 7000 | JSR | انتقل إلى الروتين الفرعي:-(SP) ← Reg; Reg ← PC; PC ← Src |
تستدعي تعليمة JSR روتينًا فرعيًا. تحدد مجموعة من ستة بتات نمط العنونة. يمكن لتعليمة JSR حفظ أي سجل في المكدس. تحدد البرامج التي لا تحتاج إلى هذه الميزة عداد البرنامج (PC JSR PC, address) كسجل، ويعود الروتين الفرعي باستخدام RTN PC. إذا تم استدعاء روتين باستخدام، على سبيل المثال JSR R4, address، ، فسيتم حفظ القيمة القديمة لـ R4 في أعلى المكدس، وسيكون عنوان العودة (مباشرةً بعد JSR) في R4. يتيح هذا للروتين الوصول إلى القيم المشفرة مباشرةً بتحديد (R4)+ أو إلى المؤشرات مباشرةً بتحديد @(R4)+. ينتقل الترقيم التلقائي متجاوزًا هذه البيانات، إلى النقطة التي يستأنف عندها رمز البرنامج المستدعي. سيحدد هذا الروتين RTN R4للعودة إلى البرنامج المستدعي.
يمكن استخدام هذا JSR PC,@(SP)+النموذج لتنفيذ الروتينات الفرعية . في البداية، يُوضع عنوان دخول الروتين الفرعي على المكدس، ومن تلك النقطة JSR PC,@(SP)+تُستخدم التعليمة لكلٍ من عبارة الاستدعاء وعبارة الإرجاع. نتيجةً لتعليمة JSR هذه، يتم تبديل محتويات عداد البرنامج (PC) والعنصر العلوي من المكدس، مما يسمح للروتينين بتبديل التحكم واستئناف العمل من حيث توقف كل منهما بسبب التبديل السابق.
| 15 | 3 | 2 | 0 | ||||||||||||
| رمز العملية | سجل | ||||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 0018 | RTN | العودة من الروتين الفرعي:PC ← Reg; Reg ← (SP)+ |
| 0028 | PRTN | قم بإزالة المكدس ثم أعده:SP ← SP + (2 × @SP), PC ← Reg; Reg ← (SP)+ |
تقوم تعليمة PRTN بحذف عدد من المعاملات من المكدس ثم تعود. تُعدّ PRTN ردّ WD16 على تعليمة MARK المعقدة في PDP-11. على عكس MARK، تُنفّذ PRTN في مساحة البرنامج ويمكنها استخدام أي سجل كسجل ربط. في هذا الشرح، سنستخدم R5 كسجل ربط. أولًا، يدفع المُستدعي قيمة R5 إلى المكدس. بعد ذلك، يمكن وضع أي عدد من كلمات الوسائط على المكدس. ثم يضع المُستدعي عدد كلمات الوسائط + 1 في R5. يُنفّذ المُستدعي تعليمة JSR R5,addressتدفع عدد كلمات الوسائط + 1 إلى المكدس، وتضع عنوان العودة في R5، ثم تنتقل إلى الروتين الفرعي. بعد تنفيذ التعليمات، ينتهي الروتين الفرعي بـ PRTN R5. تُضاعف PRTN الرقم الموجود أعلى المكدس وتضيفه إلى SP، مما يؤدي إلى حذف المعاملات. ثم تستمر PRTN بالعودة إلى المُستدعي بما يُعادل RTN R5، وتحميل R5 في PC ثم سحب R5.
تعليمات التسجيل الفردي
تحتوي هذه التعليمات على رمز عملية مكون من 13 بت ووسيط سجل مكون من ثلاثة بتات.
| 15 | 3 | 2 | 0 | ||||||||||||
| رمز العملية | سجل | ||||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| ٠٠١٠ | IAK | تأكيد المقاطعة:Interrupt acknowledge state code, Reg ← Bus read |
| ٠٠٢٠ | MSKO | ارتداء الكمامة:(002E) ← Reg, Mask out state code |
تعليمات المعلمات الضمنية
| 15 | 0 | ||||||||||||||
| رمز العملية | |||||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| 0000 | برنامج العمل الوطني | لا توجد عملية جراحية:Do nothing |
| ٠٠٠١ | إعادة ضبط | إعادة ضبط:Transmit reset pulse to I/O devices |
| ٠٠٠٢ | IEN | تفعيل المقاطعة:I2 ← 1 |
| ٠٠٠٣ | نظام تحديد الهوية | تعطيل المقاطعات:I2 ← 0 |
| ٠٠٠٤ | وقف | وقف:Executes the selected halt option |
| ٠٠٠٥ | إكس سي تي | تنفيذ تعليمة واحدة:PC ← (SP)+, PS ← (SP)+, set trace flag, execute opcode, -(SP) ← PS, -(SP) ← PC, trace flag reset, If no error PC ← (0020) else PC ← (001E) |
| ٠٠٠٦ | العلاج الطبيعي | فخ نقطة التوقف:-(SP) ← PS, -(SP) ← PC, PC ← (002C) |
| ٠٠٠٧ | WFI | انتظر المقاطعة:Enable interrupts (I2 ← 1). Bus activity ceases. |
| ٠٠٠٨ | RSVC | الرد من مكالمة المشرف (ب أو ج):REST[a], SP ← SP + 2, RTT[b] |
| ٠٠٠٩ | RRTT | استعادة الوضع والعودة من الفخ:REST[a], RTT[b] |
| ٠٠٠أ | يحفظ | حفظ السجلات:-(SP) ← R5, -(SP) ← R4, -(SP) ← R3, -(SP) ← R2, -(SP) ← R1, -(SP) ← R0 |
| 000B | سافس | حفظ الحالة:SAVE[c], -(SP) ← (002E), (002E) ← (002E) ∨ Mask, MSKO, IEN. Note Mask is stored in the second word of instruction. |
| 000C | استراحة | استعادة السجلات:R0 ← (SP)+, R1 ← (SP)+, R2 ← (SP)+, R3 ← (SP)+, R4 ← (SP)+, R5 ← (SP)+ |
| 000D | RRTN | استعادة وإرجاع:REST[a], PC ← (SP)+ |
| 000E | RSTS | استعادة الحالة:(002E) ← (SP)+, MSKO, REST[a], RTT[b] |
| 000 فهرنهايت | RTT | العودة من الفخ:PC ← (SP)+, PS ← (SP)+ |
اتصال من المشرف
تُستخدم هذه التعليمات لتنفيذ استدعاءات نظام التشغيل (المشرف). جميعها تحتوي على وسيطة من سجل مكون من ستة بتات. صُممت تعليمات SVCB وSVCC بحيث يمكن للوسيطة المُقدمة لنظام التشغيل استخدام معظم أنماط العنونة التي تدعمها مجموعة التعليمات الأصلية.
| 15 | 6 | 5 | 0 | ||||||||||||
| رمز العملية | أرج | ||||||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| ٠٠٤٠ | SVCA | مكالمة المشرف أ:-(SP) ← PS ,-(SP) ← PC, PC ← (0022) + Arg × 2, PC ← (PC) |
| 0080 | SVCB | اتصل بالمشرف ب:TMPA ← SP, -(SP) ← PS, -(SP) ← PC, TMPB ← SP, -(SP) ← TMPA, SAVE[a], R1 ← TMPB, R5 ← Arg × 2, PC ← (0024) |
| 00C0 | SVCC | رقم مكالمة المشرف ج:TMPA ← SP, -(SP) ← PS, -(SP) ← PC, TMPB ← SP, -(SP) ← TMPA, SAVE[a], R1 ← TMPB, R5 ← Arg × 2, PC ← (0026) |
عمليات رمز الحالة
| 15 | 4 | 3 | 2 | 1 | 0 | ||||||||||
| رمز العملية | شمال | Z | V | ج | |||||||||||
| رمز العملية | ذاكري | عملية |
|---|---|---|
| ٠٠٣٠ | شركة ذات مسؤولية محدودة | رموز حالة التحميل:Load according to N, Z, V, C bits |
رموز الحالة الأربعة في كلمة حالة المعالج (PSW) هي
- يشير الحرف N إلى قيمة سالبة
- يشير الرمز Z إلى حالة الصفر (المساواة).
- يشير الحرف V إلى حالة تجاوز السعة ، و
- يشير الحرف C إلى حالة الحمل .
المقاطعات
يحتوي معالج WD16 على ثلاثة أنواع من المقاطعات: غير الموجهة، والموجهة، والإيقاف. يتم تفعيل وتعطيل المقاطعات غير الموجهة والموجهة باستخدام IENالتعليمات IDS. أما الإيقاف فلا يمكن تعطيله.
للمقاطعة غير الموجهة (NVI) أولوية على المقاطعات الموجهة. تُستخدم المقاطعة غير الموجهة لغرضين فقط: انقطاع التيار الكهربائي وإشارة الساعة. (إشارة الساعة هي عادةً إشارة دخل بتردد 50 أو 60 هرتز تُستخدم لتقسيم الوقت وحفظه ) . عند استقبال إشارة مقاطعة غير موجهة، يتم دفع كل من PS وPC. يتم التحقق من حالة انقطاع التيار الكهربائي. إذا كان انقطاعًا للتيار الكهربائي، ينتقل WD16 إلى العنوان المخزن في 0014. أما إذا لم يكن انقطاعًا للتيار الكهربائي، فيُفترض وجود نبضة ساعة، وينتقل WD16 إلى العنوان المخزن في 002A.
يدعم النظام ستة عشر متجه مقاطعة . عند استقبال مقاطعة متجهة ، يتم دفع كل من PS وPC. أثناء تأكيد المقاطعة، يستقبل WD16 رقم مقاطعة مكونًا من أربعة بتات من الجهاز المُقاطع. يتم جلب عنوان جدول متجه المقاطعة من 0028، ويُضاف إليه رقم المقاطعة، مشيرًا إلى إحدى الكلمات الست عشرة في الجدول. ثم يتم جلب إزاحة كلمة من الجدول وإضافتها إلى عنوان الجدول الخاص بها. تُحمّل النتيجة في PC، مما يؤدي إلى الانتقال إلى روتين خدمة المقاطعة . يتم تحديد المقاطعات المتزامنة التي يتم أخذها بواسطة قناع أولوية مقاطعة مكون من 16 بتًا، والذي يتم تنفيذه في الغالب باستخدام أجهزة خارجية. يخزن WD16 قناع الأولوية الحالي في 002E، بينما يرسل القناع مباشرةً إلى الأجهزة. يتم التعامل مع القناع باستخدام MSKOالتعليمات SAVSو و RSTS. في حال الحاجة إلى أكثر من 16 مقاطعة متجهة، يمكن بدء هذه المقاطعات من خلال NVI وإرسالها باستخدام IAKالتعليمات .
إشارة التوقف هي مقاطعة غير قابلة للإخفاء، ويمكن استخدامها كمفتاح للمبرمج أو لأغراض أخرى حسب إعدادات وصلاتها. على الرغم من أن إشارة التوقف قادرة على تغيير عنوان التنفيذ، ولا يتم إخفاؤها بتفعيل المقاطعة، إلا أنه لا يمكن استخدامها كمقاطعة غير قابلة للإخفاء لأن عداد البرنامج لا يُضغط. اعتمادًا على الوصلات، قد لا تتوقف إشارة التوقف أصلًا. إذا HALTتم تنفيذ التعليمة، فقد يتم مسحها بواسطة إشارة التوقف، وذلك أيضًا اعتمادًا على الوصلات.
موقع مخصص للذاكرة المنخفضة
مواقع الذاكرة بين 0000 و003F لها وظائف ثابتة محددة من قبل المعالج. جميع العناوين أدناه هي عناوين كلمات. [ 10 ]
| متجه | حالة |
|---|---|
| 0000-0010 | R0 - R5، SP، PC، وPS لخيارات التشغيل/الإيقاف |
| 0012 | خطأ في ناقل الكمبيوتر |
| 0014 | انقطاع التيار الكهربائي غير الموجه للحاسوب |
| 0016 | خيار التشغيل/الإيقاف، استعادة الطاقة، الكمبيوتر الشخصي |
| 0018 | خطأ التكافؤ PC |
| 001A | رمز العملية المحجوز PC |
| 001C | تنسيق رمز العملية غير القانوني للكمبيوتر الشخصي |
| 001E | خطأ XCT في الكمبيوتر الشخصي |
| ٠٠٢٠ | تتبع XCT PC |
| 0022 | عنوان جدول SVCA |
| 0024 | SVCB PC |
| 0026 | SVCC PC |
| 0028 | عنوان جدول المقاطعات الموجهة (I0) |
| 002A | عداد البرنامج (PC) للمقاطعة غير الموجهة (I1) |
| 002C | بي بي تي بي سي |
| 002E | قناع مقاطعة أولوية الإدخال/الإخراج |
| 0030-003C | دفتر ملاحظات بنقطة عائمة |
| 003E | خطأ في الفاصلة العائمة |
أداء
تختلف سرعة معالج WD16 باختلاف سرعة الساعة، وتكوين الذاكرة، ورمز العملية، وأنماط العنونة. يتكون توقيت التعليمات من ثلاثة عناصر: جلب/تنفيذ التعليمات نفسها، ووقت الوصول إلى المصدر والوجهة. يعتمد العنصران الأخيران على نمط العنونة. على سبيل المثال، عند سرعة 3.3 ميجاهرتز، تستغرق تعليمة من الشكل ADD x (R m ), y (R n ) وقت جلب/تنفيذ يبلغ 3.3 ميكروثانية، بالإضافة إلى وقت المصدر البالغ 2.7 ميكروثانية، ووقت الوجهة البالغ 3.0 ميكروثانية، ليصبح إجمالي وقت التعليمة 9.0 ميكروثانية. يتم تنفيذ تعليمة ADD R m ,R n من سجل إلى سجل في 3.3 ميكروثانية. أما العمليات الحسابية ذات الفاصلة العائمة فهي أبطأ بكثير. يتراوح وقت تنفيذ تعليمة الجمع ذات الفاصلة العائمة بدقة 48 بت (دقة مفردة ونصف) عادةً بين 54 و126 ميكروثانية. تمثل دقة معالج WD16 حلاً وسطاً بين دقة الفاصلة العائمة التقليدية (مفردة ومزدوجة). [ 10 ]
على النقيض، كان أسرع حاسوب PDP-11 في ذلك الوقت هو PDP-11/70. تستغرق تعليمة من نوع ADD x (R m ), y (R n ) زمن جلب/تنفيذ يبلغ 1.35 ميكروثانية، بالإضافة إلى زمنَي المصدر والوجهة، كل منهما 0.6 ميكروثانية، ليصبح إجمالي زمن التعليمة 2.55 ميكروثانية. في حال عدم وجود الذاكرة المُعنونة في الذاكرة المخبئية، يُضاف 1.02 ميكروثانية. يمكن تنفيذ تعليمة ADD R m ,R n من المسجلات مباشرةً من الذاكرة المخبئية في 0.3 ميكروثانية. [ 14 ] أما تعليمة الجمع العائم أحادي الدقة التي يُنفذها المعالج المساعد FP11-C، فيتراوح زمنها بين 0.9 و2.5 ميكروثانية، بالإضافة إلى زمن جلب المعاملات الذي قد يصل إلى 4.2 ميكروثانية. [ 15 ]
تُضاعف تعليمات نقل الكتل في معالج WD16 سرعة عمليات النقل والإدخال/الإخراج للكتل تقريبًا. MOV (R1)+,(R2)+, SOB R0,loopتستغرق عملية نقل كلمة واحدة باستخدام هذه التعليمات 9.6 ميكروثانية لكل تكرار، بينما MBWU R1,R2تستغرق العملية المكافئة 4.8 ميكروثانية لكل تكرار.
أجرت جمعية مستخدمي الحاسوب سلسلة من الاختبارات المعيارية على جهاز ألفا مايكروسيستمز AM-100T، الذي يعمل بمعالج WD16، ويبلغ سعره 35,680 دولارًا أمريكيًا ( ما يعادل 139,420 دولارًا أمريكيًا في عام 2025 ). ووجدوا أن الاختبار المعياري الذي يعتمد على وحدة المعالجة المركزية استغرق 31.4 ثانية على جهاز AM-100T، مقارنةً بـ 218 ثانية لمتوسط أجهزة المستخدم الواحد التي تتراوح أسعارها بين 15,000 و25,000 دولارًا أمريكيًا. [ 16 ] وفي مجموعة من أجهزة الحاسوب متعددة المستخدمين التي تتراوح أسعارها بين 25,000 و50,000 دولارًا أمريكيًا، كان أداء جهاز AM-100T ضمن الثلث الأعلى من حيث السرعة. [ 17 ]
أظهر اختبار Creative Computing Benchmark الصادر في مايو 1984 أن جهاز WD16 (في تطبيق AM-100T) احتل المرتبة 34 من بين 183 جهازًا تم اختبارها. بلغ زمن الاختبار 10 ثوانٍ، مقارنةً بـ 24 ثانية لجهاز IBM PC . [ 18 ]
منافس
Virtual Alpha Micro هو برنامج محاكاة مفتوح المصدر لمعالج WD16. كُتب بلغة C، ويحاكي معالج WD16 وبيئة أجهزة Alpha Micro AM-100. يدّعي مطوّره أنه يعمل على أنظمة Linux (بما في ذلك Raspberry Pi ) وWindows وMacintosh المكتبية، مع العلم أنه لا يتم توفير أي ملفات تنفيذية. يدعم البرنامج تشغيل نظام التشغيل Alpha Micro (AMOS) وجميع البرامج المرتبطة به. في عام 2002، منحت شركة Alpha Micro ترخيصًا محدودًا لتوزيع ملفات AMOS التنفيذية 4.x أو 5.0، بما في ذلك الأدلة، للاستخدام الشخصي فقط. [ 19 ]
انظر أيضاً
مراجع
- ^ دانيال فليسترا (أبريل 1977). “نظام الهواة الجديد يدعم المشاركة بالوقت” (PDF) . بايت . 2 (4): 142 – 144 . تم الاسترجاع في 21 نوفمبر 2022 .
- ↑ ويلكوكس، ديك (يناير 1977). "معالج دقيق 16 بت شبيه بمعالج PDP-11 لحافلة S-100" . مجلة دكتور دوبس لتمارين الحاسوب وتقويم الأسنان . 2 (1): 3-7 . تاريخ الاسترجاع: 14 يونيو 2022 .
- ↑ "مجموعة معالجات 16 بت، NMOS، MCP-1600/WD-16" (ملف PDF) . التصميم الإلكتروني . 25 (21): 174. 11 أكتوبر 1977. تاريخ الاسترجاع: 6 مايو 2025 .
- ↑ دليل مستخدم المعالج الدقيق MCP-1600 (ملف PDF) . ويسترن ديجيتال. 1975. تم الاطلاع عليه بتاريخ 28 أبريل 2022 .
- ↑ ستان، فييت (مايو 1983). "معركة أنظمة تشغيل الأقراص" (ملف PDF) . الحواسيب والإلكترونيات . 21 (5): 19. تم الاطلاع عليه في 8 يونيو 2023 .
- ↑ كريج، جون (أبريل 1977). "حول الصناعة" (ملف PDF) . كيلوبود: مجلة الحواسيب الصغيرة (4): 10. تم الاطلاع عليه بتاريخ 23 نوفمبر 2022 .
- 1 2 كي، هانك (أغسطس 1981). "إعادة النظر في نظام ألفا المصغر" (ملف PDF) . الأنظمة المصغرة . 2 (4): 26. تم الاطلاع عليه في 1 مارس 2022 .
- ↑ فوكس، توم (يناير 1982). "أنظمة الأعمال لعام 1982" . مجلة Interface Age . 7 (1): 75. تم الاطلاع عليه في 3 نوفمبر 2022 .
- ↑ "شركة ألفا مايكروسيستمز تحقق مبيعات قياسية" . إنفوورلد . 4 (44): 11. 8 نوفمبر 1982. تم الاطلاع عليه في 3 نوفمبر 2022 .
- 1 2 3 4 5 6 ويلكوكس، ديك (4 أكتوبر 1976). دليل مرجعي لمبرمج الحاسوب الصغير WD16 (ملف PDF) . ويسترن ديجيتال . تم الاطلاع عليه في 21 أغسطس 2025 .
- ↑ "الدليل الفني لجهاز AM-100" (ملف PDF) . شركة ألفا مايكروسيستمز . تم الاطلاع عليه بتاريخ 19 ديسمبر 2021 .
- ↑ "Alpha Micro AM100" . متحف الحواسيب القديمة . تم الاطلاع عليه بتاريخ 19 ديسمبر 2021 .
- ↑ إدارة الذاكرة باستخدام وحدة تحكم تقسيم الذاكرة (ملف PDF) (الطبعة A01 ). ألفا مايكرو. أكتوبر 1981. الصفحات 139-155 . تم الاطلاع عليه في 14 يونيو 2022 .
- ↑ دليل معالج PDP-11/70 (PDF) . ديسمبر 1976. الملحق ج، توقيت التعليمات.
- ↑ دليل معالج DEC PDP-11، 1975، الصفحات 379-391، توقيت تعليمات FP11-C
- ↑ "Alpha Micro AM-100T" . تقرير معياري صادر عن جمعية مستخدمي الحاسوب . 3.2 (6): 9. نوفمبر 1980. تم الاطلاع عليه في 3 نوفمبر 2022 .
- ↑ "ملخص العدد 12" . رابطة مستخدمي الحاسوب: تقرير معياري . 3.2 (14): 4. يونيو 1982. تم الاطلاع عليه في 3 نوفمبر 2022 .
- ↑ أهل، ديفيد هـ. (مايو 1984). "معيار الحوسبة الإبداعية" . مجلة الحوسبة الإبداعية . 10 (5): 6. تم الاطلاع عليه في 2 نوفمبر 2022 .
- ↑ نويل، مايك. "VAM Virtual Alpha Micro" . تم الاسترجاع في 13 يوليو 2022 .
روابط خارجية
- معالجات دقيقة 16 بت
- منتجات ويسترن ديجيتال
- مقدمات متعلقة بالحاسوب في عام 1976
