إنتل 8086

المعالج 8086 [ 3 ] (المعروف أيضًا باسم iAPX 86 ) [ 4 ] هو شريحة معالج دقيق 16 بت، أصدرتها شركة إنتل في 8 يونيو 1978 [ 5 ] بعد أن بدأ تطويرها في أوائل عام 1976. [ 6 ] تبعه معالج إنتل 8088 في عام 1979، [ 7 ] وهو شريحة معدلة قليلاً مزودة بناقل بيانات خارجي 8 بت (مما يسمح باستخدام دوائر متكاملة داعمة أرخص وأقل عددًا ). ​​[ ملاحظة 1 ]

أدى معالج 8086 إلى ظهور معمارية x86 ، التي أصبحت فيما بعد أنجح سلسلة معالجات لشركة إنتل. في 5 يونيو 2018، أصدرت إنتل معالجًا مركزيًا محدود الإصدار احتفالًا بالذكرى الأربعين لمعالج إنتل 8086، وهو معالج Intel Core i7-8086K . [ 5 ]

تاريخ

خلفية

في عام 1972، أطلقت شركة إنتل معالج 8008 ، وهو أول معالج دقيق من إنتاجها ذو 8 بتات. [ ملاحظة 2 ] وقد اعتمد هذا المعالج مجموعة تعليمات صممتها شركة داتابوينت خصيصًا لشاشات CRT القابلة للبرمجة ، والتي أثبتت أيضًا أنها متعددة الأغراض إلى حد كبير. احتاج الجهاز إلى عدة دوائر متكاملة إضافية لإنتاج حاسوب عملي، ويعود ذلك جزئيًا إلى تغليفه في حزمة ذاكرة صغيرة ذات 18 طرفًا، مما حال دون استخدام ناقل عناوين منفصل (إذ كانت إنتل آنذاك شركة مصنعة لذاكرة الوصول العشوائي الديناميكية DRAM بشكل أساسي).

بعد عامين، أطلقت إنتل معالج 8080 ، مستخدمةً حزم DIL الجديدة ذات الأربعين طرفًا، والتي طُوّرت في الأصل لدوائر الحاسبات المتكاملة، لتمكين ناقل عناوين منفصل. امتلك المعالج مجموعة تعليمات موسعة متوافقة مع المصدر (وليست ثنائية ) مع معالج 8008 [ 8 ] ، كما تضمنت بعض التعليمات ذات 16 بت لتسهيل البرمجة. استُبدل معالج 8080 لاحقًا بمعالج 8085 (1977) القائم على تقنية استنزاف الحمل ، والذي استخدم مصدر طاقة واحد +5 فولت بدلًا من جهود التشغيل الثلاثة المختلفة للرقائق السابقة. [ ملاحظة 3 ] من المعالجات الدقيقة الأخرى المعروفة ذات 8 بت التي ظهرت خلال هذه السنوات: موتورولا 6800 (1974)، وجنرال إنسترومنت PIC16X (1975)، وموس تكنولوجي 6502 (1975)، وزيلوغ Z80 (1976)، وموتورولا 6809 (1978). 

أول تصميم x86

صورة شريحة معالج Intel 8086

بدأ مشروع 8086 في مايو 1976 [ 9 ] وكان الهدف منه في الأصل أن يكون بديلاً مؤقتاً لمشروع iAPX 432 الطموح والمتأخر . وكان محاولة لجذب الانتباه بعيداً عن معالجات 16 بت و 32 بت الأقل تأخيراً من مصنعين آخرين - موتورولا ، وزيلوغ ، وناشونال سيميكوندكتور .

على الرغم من أن المعالج 8086 كان معالجًا دقيقًا من 16 بت، إلا أنه استخدم بنية مشابهة لمعالجات إنتل الدقيقة من 8 بت (8008، 8080، و8085). وقد سمح هذا لبرامج لغة التجميع المكتوبة بلغة 8 بت بالانتقال بسلاسة . [ 10 ] أُضيفت تعليمات وميزات جديدة، مثل الأعداد الصحيحة الموقعة، وعنونة الأساس والإزاحة، والعمليات المتكررة ذاتيًا. كما أُضيفت تعليمات للمساعدة في تجميع الشفرة المصدرية للدوال المتداخلة في عائلة لغات ALGOL ، بما في ذلك باسكال و PL/M . ووفقًا للمهندس المعماري الرئيسي ستيفن ب. مورس ، كان هذا نتيجة لنهج أكثر تركيزًا على البرمجيات. وشملت التحسينات الأخرى تعليمات الشفرة الدقيقة لتعليمات الضرب والقسمة في لغة التجميع. كما توقع المصممون وجود معالجات مساعدة ، مثل 8087 و 8089 ، لذلك صُممت بنية ناقل البيانات لتكون مرنة.

أُنجزت المراجعة الأولى لمجموعة التعليمات والبنية عالية المستوى بعد حوالي ثلاثة أشهر، [ ملاحظة 4 ] ونظرًا لعدم استخدام أي أدوات تصميم بمساعدة الحاسوب تقريبًا،  عمل أربعة مهندسين و12 مصممًا على الشريحة في وقت واحد. [ ملاحظة 5 ] استغرق تطوير معالج 8086 ما يزيد قليلاً عن عامين من الفكرة إلى المنتج النهائي، وهو ما كان يُعتبر سريعًا بالنسبة لتصميم معقد في سبعينيات القرن الماضي.

تمت برمجة معالج 8086 [ ملاحظة 6 ] باستخدام مزيج من المنطق العشوائي [ 11 ] والبرمجيات الدقيقة ، ونُفذ باستخدام دوائر nMOS ذات التحميل الاستنزافي مع ما يقارب 20,000 ترانزستور  نشط (29,000 مع احتساب جميع مواقع ROM و PLA ). وسرعان ما نُقل إلى عملية تصنيع nMOS مُحسّنة جديدة تُسمى HMOS (اختصارًا لـ High performance MOS)، والتي طورتها إنتل في الأصل لتصنيع منتجات ذاكرة الوصول العشوائي الثابتة السريعة. [ ملاحظة 7 ] تبع ذلك إصدارات HMOS-II وHMOS-III، وفي النهاية، إصدار CMOS ثابت بالكامل للأجهزة التي تعمل بالبطاريات، تم تصنيعه باستخدام عمليات CHMOS من إنتل . [ ملاحظة 8 ] بلغت مساحة الشريحة الأصلية 33 مم²، وكان الحد الأدنى لحجم الميزة 3.2 ميكرومتر. كانت تعليمات الضرب والقسمة بطيئة للغاية بسبب برمجتها الدقيقة، لذا كان مبرمجو x86 يستخدمون عادةً تعليمات إزاحة البتات للضرب والقسمة بدلاً من ذلك.  

تم تصغير حجم شريحة المعالج 8086 إلى 2 ميكرومتر في عام 1981؛ كما عالج هذا الإصدار خطأً في سجل المكدس في الرقائق الأصلية بحجم 3.5 ميكرومتر. أما الإصدارات اللاحقة بحجم 1.5 ميكرومتر وCMOS، فقد تم إسناد تصنيعها إلى شركات أخرى ولم يتم تطويرها داخليًا.

وضع ستيفن ب. مورس تصميم المعالج بمساعدة بروس رافينيل (مصمم معالج 8087) في تنقيح النسخ النهائية. وكان مصمم المنطق جيم مكيفيت وجون بايليس كبيري مهندسي فريق تطوير مستوى الأجهزة [ ملاحظة 9 ] ، بينما تولى بيل بولمان إدارة المشروع. ولا يزال إرث معالج 8086 حاضرًا في مجموعة التعليمات الأساسية لأجهزة الكمبيوتر الشخصية والخوادم الحالية؛ كما أُطلق آخر رقمين من اسم 8086 على الإصدارات اللاحقة الموسعة من التصميم، مثل معالج Intel 286 ومعالج Intel 386 ، والتي عُرفت جميعها لاحقًا باسم عائلة x86 . بالإضافة إلى ذلك، فإن مُعرّف مُورّد PCI لأجهزة النظام التي تُنتجها شركة Intel هو 8086. [ 12 ]

تفاصيل

تخصيصات دبابيس 8086 في الوضع الأدنى والأقصى

الحافلات والتشغيل

جميع السجلات الداخلية، بالإضافة إلى ناقلات البيانات الداخلية والخارجية،  بعرض 16 بت، مما رسخ هوية "المعالج الدقيق ذو 16 بت" للمعالج 8086. توفر ناقلة عناوين خارجية بعرض 20 بت مساحة عناوين فعلية تبلغ 1 ميجابايت (2^ 20 = 1,048,576 × 1 بايت ). يتم الوصول إلى مساحة العناوين هذه عن طريق "تجزئة" الذاكرة الداخلية. يتم دمج ناقلة البيانات مع ناقلة العناوين لتناسب جميع خطوط التحكم في حزمة قياسية ثنائية الخطوط ذات 40 طرفًا . توفر ناقلة عناوين إدخال/إخراج بعرض 16 بت، تدعم مساحة إدخال/إخراج منفصلة تبلغ 64 كيلوبايت . تقتصر مساحة العناوين الخطية القصوى على 64 كيلوبايت، ببساطة لأن سجلات العناوين/الفهارس الداخلية بعرض 16 بت فقط. تتطلب البرمجة على حدود ذاكرة تزيد عن 64 كيلوبايت ضبط سجلات القطاعات (انظر أدناه). استمرت هذه الصعوبة حتى قدمت بنية 80386 سجلات أوسع (32 بت) ( لم تساعد أجهزة إدارة الذاكرة في 80286 في هذا الصدد، حيث أن سجلاتها لا تزال بعرض 16 بت فقط).     

أوضاع الأجهزة في 8086

تؤدي بعض دبابيس التحكم، التي تحمل إشارات أساسية لجميع العمليات الخارجية، أكثر من وظيفة واحدة اعتمادًا على ما إذا كان الجهاز يعمل في وضع الحد الأدنى أو وضع الحد الأقصى . يُستخدم وضع الحد الأدنى للأنظمة الصغيرة أحادية المعالج، بينما يُستخدم وضع الحد الأقصى للأنظمة المتوسطة أو الكبيرة التي تستخدم أكثر من معالج (وهو نوع من وضع المعالجات المتعددة). يُشترط استخدام وضع الحد الأقصى عند استخدام معالج مساعد 8087 أو 8089. يحدد الجهد الكهربائي على الدبوس 33 (MN/ MX ) وضع التشغيل. يؤدي تغيير حالة الدبوس 33 إلى تغيير وظيفة بعض الدبابيس الأخرى، والتي يرتبط معظمها بكيفية تعامل وحدة المعالجة المركزية مع ناقل البيانات (المحلي). [ ملاحظة 10 ] عادةً ما يكون وضع التشغيل مُبرمجًا في الدائرة، وبالتالي لا يمكن تغييره برمجيًا. تُشرح آلية عمل هذه الأوضاع من خلال مخططات التوقيت في جداول بيانات وأدلة Intel. في وضع الحد الأدنى، يتم توليد جميع إشارات التحكم بواسطة المعالج 8086 نفسه.

السجلات والتعليمات

يحتوي المعالج 8086 على ثمانية سجلات عامة تقريبًا، كل منها 16 بت (بما في ذلك مؤشر المكدس ، ولكن باستثناء مؤشر التعليمات وسجل العلامات وسجلات القطاعات). يمكن الوصول إلى أربعة منها، وهي AX وBX وCX وDX، كأزواج سجلات 8 بت (انظر الشكل)، بينما السجلات الأربعة الأخرى، وهي SI وDI وBP وSP، هي سجلات 16 بت فقط. [ 13 ]

بفضل التشفير المضغوط المستوحى من معالجات 8 بت، فإن معظم التعليمات عبارة عن عمليات عنوان واحد أو عنوانين، مما يعني أن النتيجة تُخزَّن في أحد المعاملات. يمكن أن يكون أحد المعاملات على الأكثر في الذاكرة، ولكن يمكن أن يكون هذا المعامل في الذاكرة هو الوجهة ، بينما يمكن أن يكون المعامل الآخر، وهو المصدر ، إما سجلًا أو قيمة فورية . غالبًا ما يمكن استخدام موقع ذاكرة واحد كمصدر ووجهة في آنٍ واحد، وهو ما يُسهم ، من بين عوامل أخرى، في كثافة التعليمات البرمجية التي تُضاهي (بل وتتفوق في كثير من الأحيان) على معظم أجهزة 8 بت في ذلك الوقت.

تتميز معظم سجلات 8086 بدرجة عمومية أعلى بكثير مما هي عليه في معالجات 8080 أو 8085. مع ذلك، كانت سجلات 8086 أكثر تخصصًا من معظم الحواسيب الصغيرة المعاصرة ، كما أنها تُستخدم ضمنيًا في بعض التعليمات. ورغم أن هذا الأمر منطقي تمامًا لمبرمج لغة التجميع، إلا أنه يجعل تخصيص السجلات للمترجمات أكثر تعقيدًا مقارنةً بمعالجات 16 بت و32 بت الأكثر استقلالية في ذلك الوقت، مثل PDP-11 و VAX و 68000 و 32016 ، وغيرها. من ناحية أخرى، ولأنها أكثر انتظامًا من المعالجات الدقيقة 8 بت البسيطة نسبيًا ولكنها واسعة الانتشار، مثل 6502 و 6800 و 6809 و 8085 و MCS-48 و 8051 ، وغيرها من الأجهزة المعاصرة القائمة على المُراكم، فإنه من الأسهل بكثير إنشاء مُولِّد أكواد فعال لبنية 8086.

ومن العوامل الأخرى التي ساهمت في ذلك أن معالج 8086 قدّم أيضًا بعض التعليمات الجديدة (غير الموجودة في معالجي 8080 و8085) لتحسين دعم لغات البرمجة عالية المستوى القائمة على المكدس، مثل باسكال و PL/M ؛ ومن بين التعليمات الأكثر فائدة ، تعليمة ` return size` ، التي تدعم " اتفاقية استدعاء باسكال " بشكل مباشر. (أُضيفت تعليمات أخرى، مثل ` return size` و` return size` ، في معالجات 80186 و80286 و80386 اللاحقة).pushmem-oppush immedenter

يدعم الجهاز مكدسًا بسعة 64  كيلوبايت (قطاع واحد) ينمو باتجاه العناوين الأدنى ؛ حيث تُضاف الكلمات ذات 16 بت إلى المكدس، ويشير SS:SP إلى أعلى المكدس. يوجد 256 مقاطعة ، يمكن استدعاؤها بواسطة كل من الأجهزة والبرامج. يمكن للمقاطعات أن تتتالي، مستخدمةً المكدس لتخزين عناوين العودة . 

يحتوي المعالج 8086 على مساحة منفذ إدخال/إخراج  تبلغ 64 كيلوبايت من 8 بت (أو بديلًا لذلك 32  كيلوبايت من 16 بت) .

الأعلام

يحتوي المعالج 8086 على سجل علامات مكون من 16 بت . تسعة من علامات رمز الحالة هذه نشطة، وتشير إلى الحالة الحالية للمعالج: علامة الحمل (CF)، علامة التكافؤ (PF)، علامة الحمل الإضافي (AF)، علامة الصفر (ZF)، علامة الإشارة (SF)، علامة المصيدة (TF)، علامة المقاطعة (IF)، علامة الاتجاه (DF)، وعلامة الفائض (OF). يُشار إلى سجل العلامات أيضًا باسم كلمة الحالة، ويكون تخطيطه كما يلي: [ 14 ]

قليل15-1211109876543210
علَم لدي إفلوتي إفسان فرانسيسكوZF AF PF التليف الكيسي

التجزئة

يوجد أيضًا أربعة سجلات قطاعية سعة كل منها 16 بت (انظر الشكل) تُمكّن وحدة المعالجة المركزية 8086 من الوصول إلى ميغابايت واحد من الذاكرة بطريقة غير مألوفة. فبدلًا من دمج سجل القطاع مع سجل العنوان، كما هو الحال في معظم المعالجات التي يتجاوز حجم مساحة عناوينها حجم سجلاتها، يقوم معالج 8086 بإزاحة القطاع ذي الـ 16 بت أربع بتات إلى اليسار قبل إضافته إلى الإزاحة ذات الـ 16 بت (16 × القطاع + الإزاحة)، مما ينتج عنه عنوان خارجي (أو فعلي أو فيزيائي) ذو 20 بت من زوج القطاع والإزاحة ذي الـ 32 بت. ونتيجة لذلك، يمكن الإشارة إلى أي عنوان خارجي بما يصل إلى 2^ 12 = 4096 زوجًا مختلفًا من القطاع والإزاحة. [ 15 ]

 0110 1000 1000 01110000شريحة ،16 بت، تم إزاحتها 4 بتات إلى اليسار (أو ضربها في 0x10)
+     1011 0100 1010 1001إزاحة ،16 بت
                        
 0111 0011 1101 0001 1001عنوان ،20 بت

على الرغم من أن العديد من المبرمجين يعتبرون هذا المخطط معقدًا ومرهقًا، إلا أنه يتمتع أيضًا بمزايا؛  حيث يمكن تحميل برنامج صغير (أقل من 64 كيلوبايت) بدءًا من إزاحة ثابتة (مثل 0000) في مقطعه الخاص، مما يجنب الحاجة إلى إعادة التوطين  ، مع هدر محاذاة لا يتجاوز 15 بايت.

تدعم مُجمِّعات برامج عائلة 8086 عادةً نوعين من المؤشرات : المؤشرات القريبة والمؤشرات البعيدة . المؤشرات القريبة عبارة عن إزاحات 16 بت مرتبطة ضمنيًا بجزء التعليمات البرمجية أو البيانات في البرنامج، وبالتالي لا يمكن استخدامها إلا ضمن أجزاء البرنامج الصغيرة بما يكفي لتناسب جزءًا واحدًا. أما المؤشرات البعيدة فهي أزواج من الجزء والإزاحة 32 بت، تُحلَّل إلى عناوين خارجية 20 بت. تدعم بعض المُجمِّعات أيضًا المؤشرات الضخمة ، وهي تُشبه المؤشرات البعيدة باستثناء أن العمليات الحسابية على المؤشر الضخم تُعامله كمؤشر خطي 20 بت، بينما تلتف العمليات الحسابية على المؤشر البعيد ضمن إزاحته 16 بت دون المساس بجزء الجزء من العنوان.

لتجنب الحاجة إلى تحديد مفهومي " القريب " و" البعيد " للعديد من المؤشرات وهياكل البيانات والدوال، تدعم المترجمات أيضًا "نماذج الذاكرة" التي تحدد أحجام المؤشرات الافتراضية. تغطي النماذج الصغيرة جدًا (بحد أقصى 64 كيلوبايت)، والصغيرة (بحد أقصى 128 كيلوبايت) ، والمضغوطة (بيانات > 64 كيلوبايت)، والمتوسطة (كود > 64 كيلوبايت)، والكبيرة (كود، بيانات > 64 كيلوبايت)، والضخمة (مصفوفات فردية > 64 كيلوبايت) تركيبات عملية من المؤشرات القريبة والبعيدة والضخمة للكود والبيانات. يعني النموذج الصغير جدًا أن الكود والبيانات يُشاركان في مقطع واحد، تمامًا كما هو الحال في معظم المعالجات ذات 8 بت، ويمكن استخدامه لإنشاء ملفات .com على سبيل المثال. غالبًا ما تأتي المكتبات المُجمّعة مسبقًا في عدة إصدارات مُجمّعة لنماذج ذاكرة مختلفة.

بحسب مورس وآخرون [ 16 فكّر المصممون في استخدام إزاحة 8 بت (بدلاً من 4 بت) لإنشاء  مساحة عناوين فعلية بحجم 16 ميجابايت. إلا أنه نظرًا لأن ذلك كان سيُجبر المقاطع على البدء من حدود 256 بايت، ولأن 1  ميجابايت كان يُعتبر حجمًا كبيرًا جدًا للمعالجات الدقيقة في عام 1976 تقريبًا، فقد تم التخلي عن الفكرة. إضافةً إلى ذلك، لم تكن هناك منافذ كافية متاحة في حزمة 40 منفذًا منخفضة التكلفة لأربعة منافذ إضافية لحافلة العناوين.

من حيث المبدأ، كان من الممكن توسيع نطاق عناوين سلسلة x86 في المعالجات اللاحقة عن طريق زيادة قيمة الإزاحة، شريطة أن تحصل التطبيقات على قطاعاتها من نظام التشغيل دون افتراض تكافؤ أزواج القطاعات والإزاحات المختلفة. [ ملاحظة 11 ] عمليًا، كان استخدام المؤشرات "الضخمة" والآليات المشابهة شائعًا، وقد أدى نظام العنونة المسطحة 32 بت، الذي أصبح ممكنًا بفضل سجلات الإزاحة 32 بت في معالج 80386، إلى توسيع نطاق العنونة المحدود بشكل أكثر شمولًا.

يتم جلب سلسلة التعليمات من الذاكرة على شكل كلمات، ويقوم المعالج بمعالجتها داخليًا على مستوى البايت حسب الحاجة. تسمح آلية طابور سلسلة التعليمات بتخزين ما يصل إلى 6 بايتات من سلسلة التعليمات في الطابور أثناء انتظار فك التشفير والتنفيذ. يعمل الطابور كمخزن مؤقت يعمل وفق مبدأ " الأول يدخل الأول يخرج" (FIFO)، حيث تستخرج وحدة التنفيذ (EU) بايتات التعليمات منه حسب الحاجة. عندما يتوفر في الطابور مساحة لبايتين على الأقل، تحاول وحدة واجهة البايت (BIU) تنفيذ دورة جلب كلمة من الذاكرة. إذا كان الطابور فارغًا (بعد تنفيذ تعليمة تفرع، على سبيل المثال)، يصبح البايت الأول في الطابور متاحًا فورًا لوحدة التنفيذ. [ 17 ]

نقل البرامج القديمة

يمكن للبرامج الصغيرة تجاهل التجزئة واستخدام عناوين 16 بت فقط. وهذا يُسهّل نقل برامج 8 بت إلى معالج 8086. وقد استغل نظام MS-DOS هذه الميزة بتوفير واجهة برمجة تطبيقات مشابهة جدًا لنظام CP/M ، بالإضافة إلى تضمينه تنسيق ملف تنفيذي بسيط بامتداد .com ، مطابقًا لتنسيق CP/M. كان هذا الأمر بالغ الأهمية عندما كان معالج 8086 ونظام MS-DOS حديثين، لأنه سمح بتوفير العديد من تطبيقات CP/M (وغيرها) بسرعة، مما سهّل بشكل كبير قبول المنصة الجديدة.

المقاطعات

تنسيق جدول متجه المقاطعة الخاص بمعالج 8086

يمكن أن تكون المقاطعات في معالج 8086 برمجية أو عتادية. المقاطعات عبارة عن استدعاءات طويلة تحفظ حالة المعالج. تنتهي إجراءات المقاطعة عادةً بتعليمات IRET. لكل مقاطعة رقم مقاطعة مكون من 8 بتات. يُستخدم هذا الرقم للبحث عن مقطع:إزاحة في جدول متجه المقاطعات المكون من 256 عنصرًا والمخزن في العناوين من 0 إلى 3FFH. عند مواجهة أي نوع من المقاطعات، تُدفع حالة المعالج، ويُدفع كل من CS وIP، ويُضرب رقم المقاطعة في أربعة لتحديد عنوان تنفيذ جديد يتم تحميله من جدول المتجهات.

هناك ثلاثة أنواع من تعليمات مقاطعة البرامج : INT n، INTO، و بايت واحد INT 3يستخدم لتصحيح الأخطاء.

هناك نوعان من مقاطعات الأجهزة: قابلة للإخفاء وغير قابلة للإخفاء.

تُعطى المقاطعات غير القابلة للإخفاء أولوية أعلى من المقاطعات القابلة للإخفاء، ولا يمكن تعطيلها بتفعيل المقاطعة. يؤدي الانتقال من حالة منخفضة إلى حالة عالية على طرف NMI INT 2إلى تنفيذ المقاطعة.

يتم تفعيل المقاطعات القابلة للإخفاء وتعطيلها بواسطة التعليمات ` STIint` و`int` CLIعلى التوالي. عندما يتم تفعيل المقاطعة `INTR` بواسطة جهاز مادي، يقوم المعالج 8086 بتفعيل المقاطعة `INTA` مرتين، ويقرأ رقم مقاطعة مكون من 8 بتات من ناقل البيانات. يُضرب هذا الرقم في أربعة للإشارة إلى عنوان روتين خدمة المقاطعة المرتبط في جدول المتجهات. يتم تعطيل المقاطعات القابلة للإخفاء عند تفعيل المقاطعة `INTA`، ولكن يُعاد تفعيلها عند تنفيذ التعليمة `int` IRETفي نهاية روتين خدمة المقاطعة. [ 17 ]

مثال على التعليمات البرمجية

يُمثل كود التجميع التالي لمعالج 8086 روتينًا فرعيًا يقوم بنسخ سلسلة أحرف ASCII_strtolower منتهية بـ null من موقع إلى آخر، مع تحويل جميع الأحرف الأبجدية إلى أحرف صغيرة. يتم نسخ السلسلة بايتًا واحدًا (حرفًا من 8 بت) في كل مرة.

 0000 0000 55 0001 89 E5 0003 56 0004 57 0005 8B 75 06 0008 8B 7D 04 000B FC 000C AC 000D 3C 41 000F 7C 06 0011 3C 5A 0013 7F 02 0015 04 20 0017 AA 0018 08 C0 001A 75 F0 001C 5F 001D 5E 001E 5D 001F C3 001F 
; _strtolower: ; نسخ سلسلة ASCII منتهية بـ null، مع تحويل ; جميع الأحرف الأبجدية إلى أحرف صغيرة. ; ES=DS ; معلمات مكدس الإدخال ; [SP+4] = src، عنوان سلسلة المصدر ; [SP+2] = dst، عنوان سلسلة الهدف ; [SP+0] = عنوان الإرجاع ; _strtolower proc push bp ; إعداد إطار الاستدعاء mov bp , sp push si push di mov si ,[ bp + 6 ] ; تعيين si = src (+2 بسبب push bp) mov di ,[ bp + 4 ] ; تعيين di = dst cld ; اتجاه السلسلة تصاعدي loop: lodsb ; تحميل al من [si]، inc si cmp al , 'A' ; إذا كان al < 'A'، jl copy ; تخطي التحويل cmp al , 'Z' ; إذا كان al > 'Z'، jg copy ; تخطي التحويل add al , 'a' - 'A' ; تحويل al إلى أحرف صغيرة copy: stosb ; تخزين al في es:[di], inc di or al , al ; إذا كان al <> 0، jne loop ; تكرار الحلقة done: pop di ; استعادة di و si pop si pop bp ; استعادة إطار الاستدعاء السابق ret ; العودة إلى المُستدعي end proc

يستخدم مثال الكود سجل BP (مؤشر القاعدة) لإنشاء إطار استدعاء ، وهو منطقة في المكدس تحتوي على جميع المعاملات والمتغيرات المحلية اللازمة لتنفيذ الروتين الفرعي. يدعم هذا النوع من اصطلاحات الاستدعاء التعليمات البرمجية القابلة لإعادة الدخول والتعليمات البرمجية المتكررة ، وقد استُخدم في لغات شبيهة بلغة Algol منذ أواخر الخمسينيات. يُفترض نموذج ذاكرة مسطح، وتحديدًا أن مقطعي DS وES يُشيران إلى نفس منطقة الذاكرة.

أداء

مخطط كتلي مبسط لمعالج Intel 8088 (وهو نوع من معالج 8086)؛ 1= سجلات رئيسية وسجلات فهرسة؛ 2= سجلات القطاعات وIP؛ 3= جامع العناوين؛ 4= ناقل العناوين الداخلي؛ 5= طابور التعليمات؛ 6= وحدة التحكم (مبسطة للغاية!)؛ 7= واجهة الناقل؛ 8= ناقل البيانات الداخلي؛ 9= وحدة الحساب والمنطق؛ 10/11/12= ناقل العناوين/البيانات/التحكم الخارجي.

على الرغم من أن خيارات التصميم الأخرى في هذه الشريحة تحديدًا تُخفي بعضًا من تأثيرها، إلا أن ناقلات العناوين والبيانات المتعددة تحدّ من الأداء بشكل طفيف؛ إذ تتم عمليات نقل كميات 16 بت أو 8 بت في دورة وصول إلى الذاكرة مدتها أربع دورات ساعة، وهي أسرع مع كميات 16 بت، ولكنها أبطأ مع كميات 8 بت، مقارنةً بالعديد من وحدات المعالجة المركزية المعاصرة القائمة على 8 بت. ولأن التعليمات تتراوح من بايت واحد إلى ستة بايتات، يتم جعل جلب التعليمات وتنفيذها متزامنين ومفصولين إلى وحدات منفصلة (كما هو الحال في معالجات x86 الحالية): تقوم وحدة واجهة الناقل بتغذية دفق التعليمات إلى وحدة التنفيذ من خلال قائمة انتظار جلب مسبق بحجم 6 بايتات (وهو شكل من أشكال الترابط المرن )، مما يُسرّع العمليات على السجلات والقيم الفورية ، بينما أصبحت عمليات الذاكرة أبطأ (بعد أربع سنوات، تم حل مشكلة الأداء هذه مع معالجي 80186 و 80286 ). مع ذلك، فإنّ بنية 16 بت الكاملة (بدلاً من الجزئية) مع وحدة حساب ومنطق كاملة العرض، أتاحت تنفيذ تعليمات الحساب ذات 16 بت بدورة واحدة فقط (بدلاً من دورتين، عبر الحمل الداخلي، كما في معالجي 8080 و8085)، مما أدى إلى تسريع هذه التعليمات بشكل ملحوظ. وبالإضافة إلى تعامد العمليات مع أنواع المعاملات وأنماط العنونة ، فضلاً عن تحسينات أخرى، فقد جعل هذا التحسن في الأداء مقارنةً بمعالجي 8080 أو 8085 كبيرًا جدًا، على الرغم من الحالات التي قد تكون فيها الرقاقات الأقدم أسرع (انظر أدناه).

أوقات تنفيذ التعليمات النموذجية (بالدورات الزمنية) [ 18 ]
تعليماتالتسجيل-التسجيلسجل فوراًالذاكرة المسجلةسجل الذاكرةالذاكرة الفورية
mov248+EA9+EA10+EA
ألو349+EA،16+EA،17+EA
قفزةسجل ≥ 11  ؛ تسمية ≥ 15  ؛ حالة، تسمية ≥ 16
ضرب الأعداد الصحيحة70 إلى 160 (حسب بيانات المعامل وحجمه) بما في ذلك أي خبير آلي
قسمة عدد صحيح80 إلى 190 (حسب بيانات المعاملات وحجمها) بما في ذلك أي خبير آلي
  • EA = الوقت اللازم لحساب العنوان الفعال، ويتراوح من 5 إلى 12 دورة.
  • تُعتبر التوقيتات هي أفضل الحالات، وتعتمد على حالة الجلب المسبق، ومحاذاة التعليمات، وعوامل أخرى.

كما يتضح من هذه الجداول، كانت العمليات على المسجلات والقيم الفورية سريعة (بين دورتين وأربع دورات)، بينما كانت تعليمات معاملات الذاكرة والقفزات بطيئة للغاية؛ إذ استغرقت القفزات دورات أكثر من تلك التي استغرقتها في المعالجين 8080 و 8085 البسيطين ، كما أن المعالج 8088 (المستخدم في حاسوب IBM الشخصي) كان يعاني من بطء إضافي بسبب ناقله الأضيق. وتتلخص أسباب بطء معظم التعليمات المتعلقة بالذاكرة في ثلاثة أمور:

  • تعتبر وحدات الجلب والتنفيذ المترابطة بشكل فضفاض فعالة لجلب التعليمات المسبق، ولكن ليس للقفزات والوصول العشوائي للبيانات (بدون تدابير خاصة).
  • لم يتم توفير جامع مخصص لحساب العناوين؛ كان على إجراءات الشفرة المصغرة استخدام وحدة الحساب والمنطق الرئيسية لهذا الغرض (على الرغم من وجود جامع مخصص للقطاعات والإزاحة ) .
  • تم دمج ناقلي العناوين والبيانات ، مما أدى إلى دورة ناقل أطول قليلاً (33 ~ 50٪) مقارنة بالمعالجات المعاصرة النموذجية ذات 8 بت.

مع ذلك، شهد أداء الوصول إلى الذاكرة تحسناً ملحوظاً مع الجيل التالي من معالجات عائلة 8086 من إنتل. فقد احتوى كل من معالجي 80186 و 80286 على وحدة معالجة مخصصة لحساب العناوين، مما وفر دورات معالجة كثيرة، كما تميز معالج 80286 أيضاً بوجود ناقلين منفصلين (غير متداخلين) للعناوين والبيانات.

الفاصلة العائمة

كان من الممكن ربط معالجي 8086/8088 بمعالج رياضي مساعد لإضافة أداء حسابي للفاصلة العائمة يعتمد على المكونات المادية/البرمجة الدقيقة. وكان معالج Intel 8087 هو المعالج الرياضي المساعد القياسي لمعالجي 8086 و8088، ويعمل على أرقام 80 بت. وفي نهاية المطاف، طورت شركات مصنعة مثل Cyrix (المتوافقة مع 8087) و Weitek ( غير المتوافقة مع 8087) معالجات مساعدة عالية الأداء للفاصلة العائمة تنافس معالج 8087.

إصدارات الرقائق

كان تردد الساعة محدودًا في الأصل إلى 5  ميجاهرتز، [ ملاحظة 12 ] ولكن تم تحديد تردد 10 ميجاهرتز في الإصدارات الأخيرة من HMOS . تم تصنيع إصدارات HMOS-III و CMOS لفترة طويلة (على الأقل حتى فترة من التسعينيات) للأنظمة المدمجة ، على الرغم من أن خليفتها، 80186 / 80188 (التي تتضمن بعض الأجهزة الطرفية المدمجة)، كانت أكثر شيوعًا للاستخدام المدمج. 

تم استخدام 80C86، وهو إصدار CMOS من 8086، في العديد من أجهزة الكمبيوتر المحمولة والأنظمة المدمجة، بما في ذلك GridPad و Toshiba T1200 و HP 110 ، وأخيرًا Lunar Prospector 1998-1999 .

أما بالنسبة للتغليف، فقد كان معالج Intel 8086 متوفرًا في عبوات DIP خزفية وبلاستيكية.

قائمة معالجات إنتل 8086

رقم الطرازتكرارتكنولوجيانطاق درجة الحرارةطَردتاريخ الإصدارالسعر (بالدولار الأمريكي) [ القائمة 2 1 ]
80865  ميجاهرتز [ 19 ]HMOSمن 0  درجة مئوية إلى 70  درجة مئوية [ 20 ]8 يونيو 1978 [ 21 ]86.65 دولارًا [ 22 ]
8086-110  ميجاهرتزHMOS IIتجاري
8086-28  ميجاهرتز [ 19 ]HMOS IIتجارييناير/فبراير 1980 [ 23 ]200 دولار [ 23 ] [ 24 ]
8086-44  ميجاهرتز [ 19 ]HMOSتجاري72.50 دولارًا [ القائمة 2 2 ] [ 25 ]
I80865  ميجاهرتزHMOSنطاق درجة الحرارة الصناعية من -40  درجة مئوية إلى +85  درجة مئوية [ 20 ]مايو/يونيو 1980 [ 20 ]173.25 دولارًا [ 20 ]
M80865  ميجاهرتزHMOSدرجة عسكرية من -55  درجة مئوية إلى +125  درجة مئوية [ 26 ]
80C86 [ 27 ]CMOS44 دبوس PLCC [ القائمة 2 3 ] [ 28 ]
  1. بكمية 100.
  2. تم تخفيض السعر بنسبة 21% من 99.00 دولارًا أمريكيًا، ولا توجد معلومات في قيمة الكمية المدرجة.
  3. أخذ العينات الربع الرابع 1985

المشتقات والنسخ المستنسخة

تم تصنيع نسخ متوافقة، بل ومحسّنة في كثير من الحالات، من قِبل شركات فوجيتسو [ 29 ] ، وهاريس / إنترسيل ، وأوكي ، وسيمنز ، وتكساس إنسترومنتس ، وإن إي سي ، وميتسوبيشي ، وإيه إم دي . على سبيل المثال، كان معالجا إن إي سي V20 و NEC V30 متوافقين من حيث المكونات مع معالجي 8088 و8086، على الرغم من أن إن إي سي أنتجت نسخًا طبق الأصل من معالجات إنتل، وهما μPD8088D وμPD8086D على التوالي، إلا أنها دمجت مجموعة تعليمات معالج 80186 مع بعض (وليس كل) تحسينات السرعة الخاصة به، مما يوفر إمكانية ترقية مجموعة التعليمات وسرعة المعالجة دون الحاجة إلى تعديل التصاميم. ولا تزال هذه المعالجات البسيطة نسبيًا ومنخفضة الطاقة والمتوافقة مع معالج 8086، والمصنوعة بتقنية CMOS، تُستخدم في الأنظمة المدمجة.

استطاعت صناعة الإلكترونيات في الاتحاد السوفيتي استنساخ معالج 8086 من خلال التجسس الصناعي والهندسة العكسية . وكانت الشريحة الناتجة، K1810VM86 ، ثنائية ومتوافقة من حيث التوصيلات مع معالج 8086.

كان المعالجان i8086 وi8088 هما النواة الأساسية لجهازي الكمبيوتر المكتبيين EC1831 و EC1832 ، المتوافقين مع أجهزة الكمبيوتر الشخصية السوفيتية الصنع . (يشير EC1831 إلى معالج IZOT 1036C، بينما يشير EC1832 إلى معالج IZOT 1037C، وكلاهما طُوّر وصُنع في بلغاريا. EC اختصار لـ Единая Система). مع ذلك، اختلف جهاز الكمبيوتر EC1831 (IZOT 1036C) اختلافًا كبيرًا في مكوناته المادية عن النموذج الأولي لجهاز IBM PC. وكان EC1831 أول جهاز كمبيوتر متوافق مع أجهزة الكمبيوتر الشخصية مزود بتقنية تغيير حجم ناقل البيانات ديناميكيًا (براءة الاختراع الأمريكية رقم 4,831,514). وفي وقت لاحق تم اعتماد بعض مبادئ EC1831 في PS/2 (براءة الاختراع الأمريكية رقم 5,548,786) وبعض الآلات الأخرى (طلب براءة اختراع المملكة المتحدة، رقم النشر GB-A-2211325، تم النشر في 28 يونيو 1989).

رقائق الدعم

  • إنتل 8237 : وحدة تحكم الوصول المباشر للذاكرة (DMA)
  • إنتل 8251 : جهاز إرسال/استقبال متزامن/غير متزامن عالمي بسرعة 19.2  كيلوبت/ثانية
  • معالج Intel 8253 : مؤقت فاصل زمني قابل للبرمجة، 3 × 16 بت، بحد أقصى 10  ميجاهرتز
  • Intel 8255 : واجهة طرفية قابلة للبرمجة، 3 دبابيس إدخال/إخراج 8 بت تستخدم لتوصيل الطابعة وما إلى ذلك.
  • إنتل 8259 : وحدة تحكم المقاطعات القابلة للبرمجة
  • معالج Intel 8279 : وحدة تحكم لوحة المفاتيح/الشاشة، يقوم بمسح مصفوفة لوحة المفاتيح ومصفوفة الشاشة مثل شاشة العرض ذات 7 أجزاء
  • معالج Intel 8282 / 8283 : مزلاج 8 بت
  • معالج Intel 8284 : مولد الساعة
  • إنتل 8286 / 8287 : برنامج تشغيل ثنائي الاتجاه 8 بت. في عام 1980، كان كلا الإصدارين من إنتل I8286/I8287 (الدرجة الصناعية) متاحين بسعر 16.25 دولارًا أمريكيًا بكميات 100. [ 20 ]
  • وحدة تحكم ناقل البيانات Intel 8288
  • إنتل 8289 : مُحكِّم ناقل البيانات
  • NEC μPD765 أو Intel 8272A : وحدة تحكم القرص المرن [ 30 ]

الحواسيب الصغيرة التي تستخدم معالج 8086

  • تم الإعلان عن جهاز الكمبيوتر أحادي اللوحة المتوافق مع ناقل Intel المتعدد ISBC 86/12 في عام 1978. [ 31 ]
  • كان جهاز Xerox NoteTaker أحد أوائل تصميمات أجهزة الكمبيوتر المحمولة في عام 1978 واستخدم ثلاث رقائق 8086 (كوحدة معالجة مركزية ومعالج رسومات ومعالج إدخال/إخراج)، لكنه لم يدخل الإنتاج التجاري أبدًا.
  • قامت شركة Seattle Computer Products بشحن أنظمة 8086 القائمة على ناقل S-100 (SCP200B) في وقت مبكر من نوفمبر 1979.
  • تم طرح جهاز Mycron 2000 النرويجي في ثمانينيات القرن العشرين
  • استخدم جهاز Compaq Deskpro الأول معالج 8086 يعمل بسرعة 7.16  ميجاهرتز، ولكنه كان متوافقًا مع بطاقات الإضافة المصممة لجهاز IBM PC XT بسرعة  4.77 ميجاهرتز، وكان بإمكانه خفض سرعة وحدة المعالجة المركزية إلى السرعة المنخفضة (والتي كانت تقوم أيضًا بتشغيل مخزن مؤقت لناقل الذاكرة لمحاكاة الوصول الأبطأ للمعالج 8088) لتجنب مشاكل توقيت البرامج.
  •  استُخدم معالج 8086-2 بتردد 8 ميجاهرتز في جهاز الكمبيوتر AT&T 6300 (من إنتاج شركة أوليفيتي ، والمعروف عالميًا بعدة علامات تجارية وأرقام طرازات)، وهو حاسوب مكتبي صغير متوافق مع أجهزة IBM PC. يحتوي جهاز M24 / PC 6300 على فتحات توسعة 8 بت متوافقة مع IBM PC/XT، ولكن بعضها مزود بوحدة توسعة خاصة توفر ناقل بيانات 16 بت كامل لمعالج 8086 (مشابهة في المفهوم لفتحات 16 بت في IBM PC AT ، ولكنها تختلف في تفاصيل التصميم، وغير متوافقة فعليًا)، وتتمتع جميع ملحقات النظام، بما في ذلك نظام الفيديو المدمج، بنقل بيانات 16 بت. أما جهاز أوليفيتي M24SP اللاحق، فقد زُوّد بمعالج 8086-2 يعمل بتردده الأقصى الكامل 10  ميجاهرتز.
  • تم بناء طرازات IBM PS/2 25 و 30  باستخدام معالج 8086 بسرعة 8 ميجاهرتز.
  • استخدمت أجهزة Amstrad PC1512 و PC1640 و PC2086 و PC3086 و PC5086 جميعها معالجات 8086 بسرعة 8  ميجاهرتز.
  • جهاز NEC PC-9801 .
  • استخدمت أجهزة Tandy 1000 SL-series و RL  معالجات 8086 بسرعة 9.47 ميجاهرتز.
  • كما استخدمت آلة معالجة النصوص IBM Displaywriter [ 32 ] وجهاز Wang Professional Computer، الذي صنعته شركة Wang Laboratories ، معالج 8086.
  • استخدمت وكالة ناسا معالجات 8086 الأصلية في معدات الصيانة الأرضية لمكوك الفضاء ديسكفري حتى نهاية برنامج مكوك الفضاء في عام 2011. وقد اتُخذ هذا القرار لمنع تراجع أداء البرمجيات الذي قد ينتج عن الترقية أو عن التحول إلى نسخ غير مثالية. [ 33 ]
  • أجهزة مراقبة الإشعاع في العمليات والمناطق من شركة كامان [ 34 ]
  • كان جهاز Tektronix 4170 يعمل بنظام CP/M-86 ويستخدم دليل تعليمات وحدة معالجة الرسومات المحلية 8086 4170 (PDF).

كان جهاز IBM PC أحد أكثر أجهزة الكمبيوتر الصغيرة تأثيرًا على الإطلاق، حيث استخدم معالج Intel 8088 ، وهو نسخة من معالج 8086 مع ناقل بيانات 8 بت .

انظر أيضاً

ملحوظات

  1. انخفاض عدد مخازن TTL المؤقتة، والمثبتات، والمضاعفات (مع أن كمية منطق TTL لم تنخفض بشكل كبير). كما يسمح ذلك باستخدام دوائر متكاملة رخيصة من عائلة 8080، حيث استُخدمت دوائر 8254 CTC و 8255 PIO و8259 PIC في تصميم حاسوب IBM الشخصي. إضافةً إلى ذلك، يُبسّط ذلك تصميم لوحات الدوائر المطبوعة ويجعلها أرخص، كما يقلل من الحاجة إلى رقائق ذاكرة الوصول العشوائي الديناميكية (بعرض 1 أو 4 بت).
  2. باستخدام منطق PMOS المحسن للحمل(يتطلب 14 فولت ، ويحقق توافق TTL من خلال وجود V CC عند +5فولت و V DD عند -9فولت).   
  3. أصبح ذلك ممكناً بفضل منطق nMOS ذي الحمل المستنفد (تم تصنيع 8085 لاحقاً باستخدام معالجة HMOS، تماماً مثل 8086).
  4. كان الإصدار 0 من مجموعة التعليمات والبنية جاهزًا في غضون ثلاثة أشهر تقريبًا، وفقًا لمورس.
  5. باستخدام روبيليث ، وألواح الإضاءة، والمساطر، والممحاة الكهربائية، وجهاز التحويل الرقمي (وفقًا لجيني هيرنانديز، عضوة فريق تصميم 8086، في بيان نُشر على صفحة إنتل الإلكترونية بمناسبة الذكرى السنوية الخامسة والعشرين لتأسيسها).
  6. استخدم معالج 8086 شفرة برمجية دقيقة أقل من العديد من تصميمات المنافسين، مثل MC68000 وغيرها.
  7. كانت ذاكرة الوصول العشوائي الثابتة السريعة بتقنية MOS (بسرعة ذاكرة الوصول العشوائي ثنائية القطب) منتجًا مهمًا لشركة Intel خلال هذه الفترة.
  8. CHMOS هو اسم شركة إنتل لدوائر CMOS المصنعة باستخدام خطوات معالجة مشابهة جدًا لـ HMOS .
  9. كان من بين أعضاء فريق التصميم الآخرين بيتر أ. ستول وجيني هيرنانديز.
  10. يستخدم جهاز IBM PC وجهاز PC/XT معالج Intel 8088 يعمل بأقصى طاقة، مما يسمح للمعالج بالعمل مع معالج مساعد 8087 اختياري مثبت في مقبس المعالج المساعد الرياضي على اللوحة الأم لجهاز PC أو PC/XT. (قد يتطلب جهاز PC وجهاز PC/XT وضع أقصى طاقة لأسباب أخرى، مثل دعم وحدة تحكم DMA).
  11. قامت بعض النسخ المقلدة من 80186 بتغيير قيمة الإزاحة، لكنها لم تستخدم بشكل شائع في أجهزة الكمبيوتر المكتبية.
  12. (استخدم جهاز IBM PC تردد 4.77 ميجاهرتز، أي 4/3 من تردد نبضات الألوان  القياسي NTSC)

مراجع

  1. "دورة حياة وحدة المعالجة المركزية" . www.cpushack.com . مؤرشف من الأصل في 20 يوليو 2021. تم الاطلاع عليه في 26 يناير 2025 .
  2. "عدّ الترانزستورات في معالج 8086: الأمر أصعب مما تتخيل" . كين شريف. مؤرشف من الأصل بتاريخ 28 ديسمبر 2025. تم الاطلاع عليه بتاريخ 27 يناير 2026 .
  3. "قاعة مشاهير المعالجات الدقيقة" . إنتل. مؤرشف من الأصل بتاريخ 2007-07-06 . تم الاطلاع عليه بتاريخ 2007-08-11 .
  4. دليل مبرمج iAPX 286 (ملف PDF) . إنتل. 1983. ص 1-1. مؤرشف (ملف PDF) من الأصل بتاريخ 28-08-2017 . تم الاطلاع عليه بتاريخ 28-08-2017 . 
  5. ١ ٢ "عيد ميلاد سعيد، ٨٠٨٦: معالج Intel Core i7-8086K من الجيل الثامن بإصدار محدود يُقدّم تجربة ألعاب فائقة" . غرفة أخبار إنتل (بيان صحفي). إنتل. ٥ يونيو ٢٠١٨. مؤرشف من الأصل في ١٢ فبراير ٢٠٢٣.
  6. شوجات، ز.؛ سكالا، ك.؛ روجينا، ب.م.؛ شكودا، ب.؛ سوفيتش، إ. (2016). "تنفيذ معماريات الحاسوب التاريخية المتقدمة §2.5 المعالجات الدقيقة" . في: شيفشيك، ر.؛ كاستيلان، إ.؛ تيميريناك، م.؛ باراك، م.؛ سروك، ف. (محررون). تعليم هندسة الأنظمة المدمجة . سبرينغر. ISBN 978-3-319-27540-6أُرشف من المصدر الأصلي بتاريخ 13 نوفمبر 2025. تم الاطلاع عليه بتاريخ 4 أغسطس 2025 .
  7. "معالج 8088" . timeline.intel.com . إنتل. مؤرشف من الأصل بتاريخ 27 يناير 2025. تم الاطلاع عليه بتاريخ 26 يناير 2025 .
  8. "عائلة 8080" . عالم المعالجات المركزية . مؤرشف من الأصل بتاريخ 27-10-2022 . تم الاطلاع عليه بتاريخ 27-10-2022 .
  9. «ميلاد معيار: المعالج الدقيق إنتل 8086 يبلغ من العمر 40 عامًا اليوم» . PCWorld . مؤرشف من الأصل بتاريخ 10 فبراير 2025. تم الاطلاع عليه بتاريخ 8 مارس 2025 .
  10. ↑ سكانلون ، ليو ج. (1988). لغة التجميع 8086/8088/80286 . دار برادي للنشر. ص 12. ISBN  978-0-13-246919-7. […] يتوافق معالج 8086 برمجياً مع معالج 8080 على مستوى لغة التجميع. […]
  11. جايجر، راندال ل.؛ ألين، فيليب إي.؛ سترادر، نويل ر. (1990). "المنطق العشوائي مقابل أشكال المنطق المهيكل". تقنيات تصميم الدوائر المتكاملة واسعة النطاق للدوائر التناظرية والرقمية . ماكجرو هيل. ص 779. ISBN  0-07-023253-9.— توضيح لاستخدام كلمة "عشوائي" لوصف منطق التحكم في وحدة المعالجة المركزية
  12. "PCI\VEN_8086 - شركة إنتل" . موقع Device Hunt . 4 أغسطس 2025. مؤرشف من الأصل بتاريخ 23 أغسطس 2025. تم الاطلاع عليه بتاريخ 14 أغسطس 2025 .
  13. مورس، ستيفن ب. (1982). دليل 8086/8088: مقدمة في بنيتها وتصميم أنظمتها وبرمجتها (ملف PDF) (الطبعة الثانية ). روشيل بارك، نيوجيرسي: شركة هايدن بوك. ISBN  0-8104-6255-9تمت أرشفة الملف (PDF) من النسخة الأصلية بتاريخ 10 فبراير 2025. تم الاطلاع عليه بتاريخ 23 نوفمبر 2025 .
  14. شركة إنتل (1983). دليل مستخدم IAPX 86 و88 و186 و188 : مرجع للمبرمج . إنتل. الصفحات 3-5 . ISBN   978-0835930352. OCLC 11091251 . 
  15. سيدوري، دانيال ب. "مخطط عنونة الإزاحة القطاعية" . thestarman.pcministry.com . مؤرشف من الأصل في 10 مارس 2025. تم الاطلاع عليه في 6 مارس 2025 .
  16. مورس، ستيفن ب.؛ رافينيل، بروس و.؛ مازور، ستانلي؛ بولمان، ويليام ب. (أكتوبر 1980). " معالجات إنتل الدقيقة: من 8008 إلى 8086" . مجلة IEEE Computer . 13 (10): 42-60 . doi : 10.1109/MC.1980.1653375 . S2CID 206445851. مؤرشف من الأصل بتاريخ 27-10-2022 . تم الاطلاع عليه بتاريخ 27-10-2022 . 
  17. 1 2 "ورقة بيانات معالج 8086 ذو 16 بت HMOS" (ملف PDF) . إنتل. مؤرشف من الأصل (ملف PDF) بتاريخ 26 نوفمبر 2021. تم الاطلاع عليه بتاريخ 26 نوفمبر 2021 .
  18. دليل مرجعي لبرنامج Microsoft Macro Assembler 5.0 . شركة مايكروسوفت. 1987. تم استخدام التوقيتات والترميزات الواردة في هذا الدليل بإذن من شركة إنتل، وهي مأخوذة من المنشورات التالية: شركة إنتل. دليل المستخدم iAPX 86 و88 و186 و188، مرجع المبرمج، سانتا كلارا، كاليفورنيا. 1986.(وينطبق الأمر نفسه على iAPX 286 و80386 و80387.)
  19. 1 2 3 دليل مستخدم عائلة 8086. شركة إنتل. أكتوبر 1979. ص. ب-1. OCLC 65699372 .  
  20. ١ ٢ ٣ ٤ ٥ شركة إنتل (مايو - يونيو ١٩٨٠). "معالج ٨٠٨٦ متاح للبيئات الصناعية". معاينة إنتل (عدد خاص: حلول ١٦ بت): ٢٩. OCLC ٨٠٣٢٥١٩٩٣ . 
  21. "دليل مرجعي سريع لمعالجات إنتل® الدقيقة - السنة" . www.intel.com . مؤرشف من الأصل بتاريخ 2021-10-06 . تم الاطلاع عليه بتاريخ 2021-02-28 .
  22. شركة إنتل (مايو-يونيو 1980). "عائلة 8086: مفاهيم وحقائق". معاينة إنتل (عدد خاص: حلول 16 بت): 19. ISSN 1041-8547 . OCLC 10331599 .  
  23. ١ ٢ شركة إنتل (يناير - فبراير ١٩٨٠). "منتجات جديدة: معالج ٨٠٨٦ الأسرع يوفر أداءً أفضل بنسبة ٦٠٪". معاينة إنتل : ٢٢.
  24. شركة إنتل (مايو-يونيو 1980). "منتجات عائلة 8086 الجديدة تعزز أداء المعالج بنسبة 50 بالمائة". معاينة إنتل (عدد خاص: حلول 16 بت): 17.
  25. شركة إنتل (مايو-يونيو 1979). "مكونات الحواسيب الصغيرة: تخفيضات جديدة في الأسعار وتحسينات في الإنتاج تجعل المعالج الدقيق 8086 الشهير أكثر جاذبية". معاينة إنتل : 11.
  26. شركة إنتل (أغسطس 1981). دليل مستخدم Intel iAPX86، 88. شركة إنتل. ص. ب-25. ISBN  0835930165. OCLC 8459750 . 
  27. شركة إنتل، "خبر عاجل: إنتل ترخص أوكي على إصدار CMOS من عدة منتجات"، حلول، يوليو/أغسطس 1984، الصفحة 1.
  28. آشبورن، جيم؛ "التغليف المتقدم: القليل يُحدث فرقًا كبيرًا"، شركة إنتل، حلول، يناير/فبراير 1986، الصفحة 2
  29. ^ شركة إنتل، “NewsBits: أخبار المصدر الثاني”، الحلول، يناير/فبراير 1985، الصفحة 1
  30. "تطور وحدة تحكم الأقراص المرنة | متحف نظام التشغيل OS/2" . 26 مايو 2011. مؤرشف من الأصل في 5 مايو 2016. تم الاطلاع عليه في 12 مايو 2016. في جهاز IBM PC الأصلي (1981) وجهاز PC/XT (1983)، كانت وحدة تحكم الأقراص المرنة موجودة فعليًا على بطاقة محول أقراص مرنة منفصلة. وكانت وحدة التحكم نفسها عبارة عن NEC μPD765A أو جزء متوافق، مثل Intel 8272A.
  31. "إنتل تضيف لوحة واحدة 16 بت" . مجلة كمبيوتر وورلد . المجلد الثاني عشر، العدد 50. 11 ديسمبر 1978. ص 86. الرقم الدولي الموحد للدوريات 0010-4841 .    
  32. زاكمان، مارك (23 أغسطس 1982). "عيوب في حاسوب IBM الشخصي تُحبط ناقدًا" . إنفوورلد . المجلد 4، العدد 33. الصفحات 57-58 . الرقم الدولي الموحد للدوريات 0199-6649 . يُعدّ جهاز IBM Displaywriter أغلى ثمنًا بشكل ملحوظ من أجهزة الحاسوب الصناعية الصغيرة الأخرى التي تستخدم معالج 8086.    
  33. "وكالة ناسا تتجه بجرأة إلى موقع إيباي لشراء قطع غيار قديمة" . صحيفة نيويورك تايمز . ١٢ مايو ٢٠٠٢. مؤرشف من الأصل في ٢٩ يونيو ٢٠١٦. تم الاطلاع عليه في ١٩ فبراير ٢٠١٧ .
  34. دليل كامان التقني