إنتل 8088
المعالج الدقيق إنتل 8088 (" ثمانية وثمانون "، ويُسمى أيضًا iAPX 88 ) [ 2 ] [ 3 ] [ 4 ] هو نسخة مُعدّلة من معالج إنتل 8086. طُرح في الأول من يونيو عام 1979، [ 5 ] [ 6 ] [ 7 ] [ 8 ] ويحتوي على ناقل بيانات خارجي ثماني البتات بدلًا من ناقل البيانات ذي الستة عشر بتًا في معالج 8086. مع ذلك، لم تتغير سجلات الستة عشر بتًا ونطاق العناوين الذي يبلغ ميغابايتًا واحدًا. في الواقع، وفقًا لوثائق إنتل، يشترك المعالجان 8086 و8088 في وحدة التنفيذ (EU) نفسها ، والاختلاف الوحيد بينهما هو وحدة واجهة الناقل (BIU). استُخدم المعالج 8088 في جهاز IBM PC الأصلي وفي أجهزة الكمبيوتر المتوافقة معه .
التاريخ والوصف
صُمم المعالج 8088 في مختبر إنتل في حيفا ، إسرائيل (كما هو الحال مع عدد كبير من معالجات إنتل) كنسخة أقل تكلفة من المعالج 8086. [ 9 ] استهدف المعالج 8088 الأنظمة الاقتصادية من خلال السماح باستخدام مسار بيانات ثماني بتات ورقائق دعم ووحدات طرفية ثمانية بتات؛ إذ كانت لوحات الدوائر المعقدة لا تزال ضخمة ومكلفة نسبيًا عند إصداره. تم تقصير قائمة جلب البيانات المسبق في المعالج 8088 إلى أربعة بايتات من ستة بايتات في المعالج 8086، وتم تعديل خوارزمية جلب البيانات المسبق تعديلًا طفيفًا للتكيف مع ناقل البيانات الأضيق. [ أ ] كانت هذه التعديلات على تصميم المعالج 8086 الأساسي من أوائل المهام التي أُسندت إلى مكتب التصميم ومختبر إنتل الجديد في حيفا.
تتضمن إصدارات معالج 8088 التي تتجاوز ترددها الأقصى 5 ميجاهرتز، معالج 8088-2، الذي صُنع باستخدام تقنية nMOS المحسّنة الجديدة من إنتل، والمعروفة باسم HMOS، والمُصممة بتردد أقصى يبلغ 8 ميجاهرتز. تبعه لاحقًا معالج 80C88، وهو تصميم CHMOS ثابت بالكامل ، قادر على العمل بترددات تتراوح من 0 إلى 8 ميجاهرتز. كما ظهرت عدة إصدارات أخرى، متشابهة إلى حد كبير، من شركات مصنعة أخرى. على سبيل المثال، كان معالج NEC V20 إصدارًا متوافقًا من حيث عدد الأطراف وأسرع قليلًا (بنفس تردد الساعة) من معالج 8088، صممته وصنعته شركة NEC . وصلت ترددات معالجات NEC المتوافقة مع 8088 اللاحقة إلى 16 ميجاهرتز. في عام 1984، وقّعت شركة كومودور إنترناشونال اتفاقية لتصنيع معالج 8088 لاستخدامه في جهاز مُقلّد من Dynalogic Hyperion ، في خطوة اعتُبرت مؤشرًا على توجه جديد رئيسي للشركة. [ 10 ] تم إسناد تصنيع نسخة CMOS المتاحة إلى شركة أوكي للصناعات الإلكترونية المحدودة. [ 11 ] عند الإعلان عنها، كان سعر معالج 8088 هو 124.80 دولارًا أمريكيًا. [ 12 ] [ 13 ] تم طرح نسخة الغلاف البلاستيكي في يوليو 1981 بسعر 14.10 دولارًا أمريكيًا. الأسعار المذكورة هي لكميات 100 وحدة. [ 14 ] قامت شركة إنتل بتوريد هذا المعالج الدقيق لاحقًا إلى شركة فوجيتسو المحدودة . [ 15 ]
الاختلافات عن 8086
يُشابه المعالج 8088 المعالج 8086 من الناحية المعمارية. ويكمن الاختلاف الرئيسي في وجود ثمانية خطوط بيانات فقط بدلاً من 16 خطًا في المعالج 8086. وتؤدي جميع منافذ الجهاز الأخرى الوظيفة نفسها التي تؤديها في المعالج 8086 باستثناء حالتين. أولاً، لم يعد المنفذ 34 هو BHE (وهو منفذ اختيار البايت الأعلى في المعالج 8086، بينما لا يحتوي المعالج 8088 على بايت أعلى في ناقل البيانات ذي الثمانية بتات). [ 16 ] : 5-97 بدلاً من ذلك، يُخرج حالة الوضع الأقصى، SS0 . وبالاقتران مع إشارتي IO/ M وDT/ R ، يمكن فك تشفير دورات الناقل (يشير هذا عادةً إلى وقت حدوث عملية كتابة أو مقاطعة). أما التغيير الثاني، فهو أن وظيفة المنفذ الذي يُشير إلى ما إذا كان يتم الوصول إلى الذاكرة أو إلى الإدخال/الإخراج قد عُكست. المنفذ في المعالج 8088 هو IO/ M . في الجزء 8086، يكون الترتيب IO /M. والسبب في عكس الترتيب هو جعل 8088 متوافقًا مع 8085. [ 16 ] : 5-98
أداء
اعتمادًا على تردد الساعة ، وعدد حالات انتظار الذاكرة ، بالإضافة إلى خصائص برنامج التطبيق المحدد، تراوح متوسط أداء معالج Intel 8088 تقريبًا من 0.33 إلى مليون تعليمة في الثانية . [ 17 ] في الوقت نفسه، حققت التعليمات التي تستغرق دورتين وثلاث دورات على التوالي، ذروة أداء مطلقة تتراوح بين 0.33 و 0.5 مليون تعليمة في الثانية لكل ميجاهرتز، أي ما يقارب 3-5 مليون تعليمة في الثانية عند 10 ميجاهرتز.mov reg,regALU[b]reg,reg
كانت سرعة وحدة التنفيذ (EU) وناقل البيانات في معالج 8086 متوازنة بشكل جيد؛ فمع مزيج تعليمات نموذجي، كان بإمكان معالج 8086 تنفيذ التعليمات من قائمة الجلب المسبق في معظم الأوقات. أما في معالج 8088، فقد شكّل تقليص سعة الناقل إلى ثمانية بتات عنق زجاجة حقيقيًا. ومع انخفاض سرعة جلب التعليمات بنسبة 50% في معالج 8088 مقارنةً بمعالج 8086، يمكن لسلسلة من التعليمات السريعة أن تُفرغ بسرعة قائمة الجلب المسبق ذات الأربعة بايتات. وعندما تكون القائمة فارغة، تستغرق التعليمات نفس الوقت اللازم لإكمالها كما تستغرقه لجلبها. يستغرق كل من معالجي 8086 و8088 أربع دورات ساعة لإكمال دورة ناقل واحدة؛ فبينما يعني هذا في معالج 8086 أربع دورات ساعة لنقل بايتين، في معالج 8088 أربع دورات ساعة لكل بايت. لذا، على سبيل المثال، تستغرق تعليمة الإزاحة أو التدوير ثنائية البايت، التي تستغرق دورتين فقط من دورة الساعة لتنفيذها، ثماني دورات ساعة لإكمالها فعليًا إذا لم تكن موجودة في قائمة الجلب المسبق. يمنع تسلسل هذه التعليمات السريعة امتلاء قائمة الانتظار بنفس سرعة تفريغها، وبشكل عام، نظرًا لأن العديد من التعليمات الأساسية تُنفذ في أقل من أربع دورات ساعة لكل بايت تعليمة - بما في ذلك جميع تعليمات وحدة الحساب والمنطق تقريبًا وتعليمات نقل البيانات على معاملات المسجلات وبعضها على معاملات الذاكرة - فمن المستحيل عمليًا تجنب خمول وحدة التنفيذ في معالج 8088 لمدة ربع الوقت على الأقل أثناء تنفيذ برامج مفيدة من العالم الحقيقي، وليس من الصعب خمولها لنصف الوقت. باختصار، يعمل معالج 8088 عادةً بنصف سرعة معالج 8086 الذي يعمل بنفس التردد، بسبب اختناق ناقل البيانات (وهو الفرق الرئيسي الوحيد).
من الآثار الجانبية لتصميم 8088، مع ناقل البيانات البطيء وقائمة الانتظار المسبقة الصغيرة، أن سرعة تنفيذ التعليمات البرمجية تعتمد بشكل كبير على ترتيبها. عند برمجة 8088، ولتحقيق كفاءة وحدة المعالجة المركزية، من الضروري دمج التعليمات الطويلة مع التعليمات القصيرة كلما أمكن. على سبيل المثال، تستغرق عملية تكرار سلسلة نصية أو إزاحة بمقدار ثلاثة بايتات أو أكثر وقتًا كافيًا لملء قائمة الانتظار المسبقة ذات الأربعة بايتات بالكامل. إذا وُضعت التعليمات القصيرة (أي التي يبلغ مجموعها بضعة بايتات) بين التعليمات الأبطأ، فستتمكن هذه التعليمات القصيرة من التنفيذ بأقصى سرعة من قائمة الانتظار. أما إذا نُفذت التعليمات البطيئة بالتتابع، فبعد تنفيذ أول تعليمة منها، سيُجبر ناقل البيانات على التوقف عن العمل لأن قائمة الانتظار ستكون ممتلئة، مما سيؤدي إلى تأخيرات في جلب التعليمات الأسرع لاحقًا، والتي كان من الممكن تجنبها. بما أن بعض التعليمات، مثل عمليات الإزاحة والتدوير أحادية البت، تستغرق أربعة أضعاف وقت التنفيذ، [ ج ] فإن التأثير الإجمالي قد يؤدي إلى تباطؤ بمقدار الضعف أو أكثر. وإذا كانت هذه الأجزاء البرمجية هي أجزاء الحلقات، فقد يكون الفرق في وقت التنفيذ ملحوظًا جدًا بالنسبة للوقت البشري.
يُعاني المعالج 8088 (مثل المعالج 8086) من بطء الوصول إلى الذاكرة. تُستخدم وحدة الحساب والمنطق نفسها المُستخدمة لتنفيذ تعليمات الحساب والمنطق لحساب العناوين الفعّالة. يوجد جامع منفصل لإضافة سجل مقطع مُزاح إلى عنوان الإزاحة، ولكن يتم حساب عنوان الإزاحة الفعّال بالكامل داخل وحدة الحساب والمنطق الرئيسية. علاوة على ذلك، يُؤدي الترابط الضعيف بين وحدة التنفيذ ووحدة ناقل البيانات إلى زيادة في عبء الاتصال بينهما، كما أن دورة نقل البيانات عبر الناقل التي تستغرق أربع دورات ساعة ليست مُبسطة بشكل خاص. قارن ذلك بدورة ناقل البيانات التي تستغرق دورتين ساعة في المعالج 6502 ودورة ناقل البيانات التي تستغرق ثلاث دورات ساعة في المعالج 80286 مع تقنية التجزئة إلى دورتين لمعظم عمليات النقل. معظم تعليمات المعالج 8088 التي يُمكنها العمل على السجلات أو الذاكرة، بما في ذلك عمليات الحساب والمنطق الشائعة وعمليات نقل البيانات، أبطأ بأربع مرات على الأقل عند التعامل مع معاملات الذاكرة مقارنةً بالتعامل مع معاملات السجلات فقط. لذا، تتجنب برامج 8088 (و8086) الفعّالة الوصول المتكرر إلى معاملات الذاكرة قدر الإمكان، حيث تُحمّل المعاملات من الذاكرة إلى المسجلات للعمل عليها هناك، ثم تُخزّن النتائج النهائية فقط. وتُساعد مجموعة المسجلات العامة الكبيرة نسبيًا في 8088، مقارنةً بمعالجات أخرى مماثلة، في تطبيق هذه الاستراتيجية. عندما لا تكفي المسجلات لجميع المتغيرات المطلوبة في آنٍ واحد، يُعدّ حفظ المسجلات عن طريق دفعها إلى المكدس ثم سحبها منه لاستعادتها أسرع طريقة لاستخدام الذاكرة لزيادة عدد المسجلات، لأن تعليمات الدفع والسحب من المكدس هي أسرع عمليات الذاكرة. ربما لا ينطبق هذا على معالجات 80186 وما بعدها؛ فهي تحتوي على وحدات حساب ومنطق مخصصة للعناوين، وتُجري عمليات الوصول إلى الذاكرة بسرعة أكبر بكثير من معالجات 8088 و8086.
أخيرًا، نظرًا لأن الاستدعاءات والقفزات والمقاطعات تُعيد ضبط قائمة جلب البيانات المسبق، ولأن تحميل سجل IP يتطلب اتصالًا بين وحدة التنفيذ (EU) ووحدة واجهة الناقل (BIU) (لأن سجل IP موجود في وحدة واجهة الناقل، وليس في وحدة التنفيذ حيث توجد السجلات العامة)، فإن هذه العمليات مكلفة. تستغرق جميع القفزات والاستدعاءات 15 دورة ساعة على الأقل. أي قفزة شرطية تتطلب أربع دورات ساعة إذا لم تُنفذ، ولكن إذا نُفذت، فإنها تتطلب 16 دورة بالإضافة إلى إعادة ضبط قائمة جلب البيانات المسبق؛ لذلك، يجب ترتيب القفزات الشرطية بحيث لا تُنفذ في معظم الأوقات، خاصةً داخل الحلقات. في بعض الحالات، يكون تسلسل عمليات المنطق والحركة أسرع من قفزة شرطية تتجاوز تعليمة أو اثنتين لتحقيق النتيجة نفسها.
أشارت بيانات إنتل للمعالجين 8086 و8088 إلى وجود تعليمات مخصصة للضرب والقسمة (MUL، IMUL، DIV، وIDIV)، إلا أنها بطيئة للغاية، إذ تستغرق كل منها ما بين 100 و200 دورة ساعة. ويمكن تنفيذ العديد من عمليات الضرب البسيطة بثوابت صغيرة (باستثناء قوى العدد 2، التي يمكن استخدام الإزاحة لها) بسرعة أكبر بكثير باستخدام إجراءات فرعية قصيرة مخصصة. وقد حسّن كل من المعالجين 80286 و80386 سرعة تنفيذ تعليمات الضرب والقسمة هذه بشكل كبير. [ د ]
اختيار للاستخدام في جهاز الكمبيوتر الشخصي من IBM

يُعدّ جهاز IBM PC الأصلي أكثر الحواسيب الصغيرة تأثيرًا التي استخدمت معالج 8088. تبلغ سرعة معالجه 4.77 ميجاهرتز (أي ما يعادل 4/3 من تردد نبضات ألوان نظام NTSC ). رغب بعض مهندسي IBM وموظفوها في استخدام معالج IBM 801 ، بينما فضّل آخرون معالج Motorola 68000 الجديد ، [ ] ودعا فريق ثالث إلى استخدام معالج دقيق صغير وبسيط، مثل MOS Technology 6502 أو Zilog Z80 ، اللذين استُخدما في أجهزة الكمبيوتر الشخصية السابقة. مع ذلك، كان لدى IBM تاريخٌ طويل في استخدام رقائق Intel في منتجاتها ، كما حصلت على حقوق تصنيع عائلة معالجات 8086. [ ]
اختارت شركة IBM معالج 8088 بدلاً من 8086 لأن شركة إنتل قدمت سعرًا أفضل للأول، كما استطاعت توفير كميات أكبر منه. [ 18 ] ومن العوامل الأخرى أن معالج 8088 سمح ببناء الحاسوب على تصميم مُعدّل من معالج 8085 ، نظرًا لسهولة توافقه مع معظم رقائق nMOS ذات ناقلات البيانات 8 بت. كانت هذه المكونات ناضجة، وبالتالي اقتصادية. وشمل ذلك الدوائر المتكاملة المُخصصة في الأصل لدعم وظائف الأجهزة الطرفية لمعالج 8085 والمعالجات المشابهة (ليست حصرية لمعالجات إنتل)، والتي كانت معروفة جيدًا لدى العديد من المهندسين، مما ساهم في خفض التكلفة بشكل أكبر. [ g ]
تشمل السلالات المنحدرة من 8088 المعالجات 80188 و 80186 و 80286 و 80386 و 80486 ، بالإضافة إلى المعالجات المتوافقة مع البرامج اللاحقة ، بما في ذلك معالجات Intel Core ، والتي تحظى بشعبية كبيرة اليوم.
معرض

بلاستيك DIP40 8088، منظر علوي
بلاستيك DIP40 8088، منظر سفلي
معالج Intel 80C88A-2، وهو إصدار لاحق بتقنية CMOS
- ↑ أخذ العينات الربع الرابع 1985
الأجهزة الطرفية
- إنتل 8237 : وحدة تحكم الوصول المباشر للذاكرة (DMA)
- معالج Intel 8253 : مؤقت فاصل زمني قابل للبرمجة، 3 × 16 بت، بحد أقصى 10 ميجاهرتز
- Intel 8255 : واجهة طرفية قابلة للبرمجة، 3 دبابيس إدخال/إخراج 8 بت تستخدم لتوصيل الطابعة وما إلى ذلك.
- إنتل 8259 أ: وحدة تحكم المقاطعات القابلة للبرمجة
- معالج Intel 8282 / 8283 : مزلاج 8 بت
- معالج Intel 8284 : مولد الساعة
- إنتل 8286 / 8287 : برنامج تشغيل ثنائي الاتجاه 8 بت. كان كلا الإصدارين من إنتل I8286/I8287 (الدرجة الصناعية) متوفرين بسعر 16.25 دولارًا أمريكيًا بكميات 100 وحدة. [ 20 ]
- وحدة تحكم ناقل البيانات Intel 8288
- إنتل 8289 : مُحكِّم ناقل البيانات
- معالج Intel 8087 المساعد للحسابات
انظر أيضاً
ملحوظات
- ↑ على وجه التحديد، يتمثل التغيير الأبرز في أن وحدة ناقل 8088 ستجلب بايتًا مسبقًا متى أمكنها ذلك إذا كان بايت واحد على الأقل من قائمة الانتظار فارغًا؛ بينما لن تقوم وحدة ناقل 8086 بالجلب المسبق إلا إذا كان بايتان على الأقل من بايتات قائمة الانتظار الستة فارغين، وذلك لكي تتمكن من جلب كلمة كاملة محاذية ذات 16 بت، وهو ما تفعله في دورة ناقل واحدة. وبما أن 8088 يمتلك ناقل بيانات خارجيًا ذو 8 بت، فإنه لا يستطيع جلب سوى بايت واحد لكل دورة ناقل، لذا فإن انتظار جلب كلمة كاملة مسبقًا لن يكون له أي فائدة، بل سيؤدي فقط إلى التأخير، مما يقلل من احتمالية وجود بايت التعليمات التالي بالفعل في قائمة انتظار الجلب المسبق عند الحاجة إليه.
- ↑ ALU تعني إحدى التعليمات التالية: ADD، ADC، SUB، SBC، CMP، AND، OR، XOR، TEST.
- ↑ في معالج 8088، يبلغ طول تعليمة الإزاحة التي تحتوي على عدد إزاحة ضمني قدره 1، والتي يمكن تنفيذها في دورتين من دورات الساعة، بايتين، وبالتالي تستغرق ثماني دورات من دورات الساعة لجلبها.
- ↑ معظم المعلومات التقنية في هذا القسم مستمدة من دليل المستخدم Intel iAPX 86,88، أغسطس 1981 (رقم الطلب: 210201-001) من قبل شركة Intel.
- ↑ استُخدم لاحقًا في حاسوب مختبرات شركة IBM Instruments .
- ↑ في مقابل منح إنتل حقوق تصميمات ذاكرة الفقاعات الخاصة بها . ومع ذلك، ونظرًا للمنافسة الشرسة من الشركات المصنعة اليابانية، التي تمكنت من خفض الأسعار، سرعان ما انسحبت إنتل من هذا السوق وحولت تركيزها إلى المعالجات الدقيقة.
- ↑ لم تكن مكونات 68000 متوفرة على نطاق واسع في ذلك الوقت، على الرغم من أنه كان من الممكن استخدام مكونات موتورولا 6800 إلى حد ما.
مراجع
- ↑ تاريخ وحدة المعالجة المركزية – متحف وحدة المعالجة المركزية – دورة حياة وحدة المعالجة المركزية .
- ↑ "دليل مستخدم iAPX 86 و iAPX 88" (ملف PDF) . تم الاطلاع عليه بتاريخ 5 أكتوبر 2024 .
- ↑ "معالجات iAPX 86 و 88 و 186 الدقيقة الجزء الأول، دفتر ورشة العمل" (PDF) . يونيو 1984.
- ↑ "دليل مرجعي لمبرمجي iAPX 286" (ملف PDF) . 1983. الصفحة 1-1.
- ↑ "دليل مرجعي سريع للمعالجات الدقيقة" . إنتل . إنتل . تم الاطلاع عليه في 1 يونيو 2019 .
- ↑ "دليل مرجعي سريع للمعالجات الدقيقة" . إنتل . إنتل . تم الاطلاع عليه في 1 يونيو 2019 .
- ↑ سينغ، رينو (2006). توصيل المعالجات الدقيقة وتطبيقاتها . نيو إيج إنترناشونال. الصفحات 2-27 . ISBN 81-224-1400-1تم الاطلاع عليه بتاريخ 1 يونيو 2019 .
- ↑ جوفينداراجالو، ب. (2002). أجهزة الكمبيوتر الشخصية من IBM والنسخ المقلدة: الأجهزة، واستكشاف الأخطاء وإصلاحها، والصيانة ( الطبعة الثانية). ماكجرو هيل. ص 248. ISBN 978-0-07-048286-9تم الاطلاع عليه بتاريخ 1 يونيو 2019 .
- ↑ ليبسون، ستيفن. "كيف حصل معالج إنتل 8088 على ناقله" . مجلة الهندسة الإلكترونية . تم الاطلاع عليه في 4 نوفمبر 2025 .
- ↑ كوك، كارين (17 أبريل - 1 مايو 1984). "كومودور تضيف هايبريون ورقائق" . مجلة الكمبيوتر الشخصي . المجلد 1، العدد 8. ص 52.
- ↑ شركة إنتل، "خبر عاجل: إنتل ترخص أوكي على إصدار CMOS من عدة منتجات"، حلول، يوليو/أغسطس 1984، الصفحة 1.
- ↑ "إنتل تُطلق معالجًا دقيقًا 8 بت ببنية 16 بت" . مجلة كمبيوتر وورلد . المجلد الثالث عشر، العدد 20. 14 مايو 1979. ص 71. تاريخ الاطلاع: 21 نوفمبر 2011 .
- ↑ شركة إنتل، "مكونات الحواسيب الصغيرة: إنتل تقدم معالج الإدخال/الإخراج 8089 IOP، وهو معالج إدخال/إخراج لعائلة المعالجات المتقدمة 8088/8086، وهو الأول من سلسلة مكونات النظام الفرعي الجديدة"، معاينة إنتل، مايو/يونيو 1979، صفحة 9.
- ↑ شركة إنتل، "أخبار موجزة"، حلول، يوليو/أغسطس 1981، الصفحة 1
- ^ شركة إنتل، “NewsBits: أخبار المصدر الثاني”، الحلول، يناير/فبراير 1985، الصفحة 1
- 1 2 دليل معالج أوزبورن ذو 16 بت (آدم أوزبورن وجيري كين) ISBN 0-931988-43-8.
- ↑ "Olympus MIC-D: معرض الدوائر المتكاملة - معالج Intel 8088 الدقيق" . مؤرشف من الأصل في 19 مايو 2009.
- ↑ فرايبرغر، بول (23 أغسطس 1982). "بيل غيتس، مايكروسوفت، وحاسوب آي بي إم الشخصي" . إنفوورلد . المجلد 4، العدد 33. ص 22. تاريخ الاسترجاع: 29 يناير 2015 .
- ↑ آشبورن، جيم؛ "التغليف المتقدم: القليل يُحدث فرقًا كبيرًا"، شركة إنتل، حلول، يناير/فبراير 1986، الصفحة 2
- ↑ 8086 متاح للبيئة الصناعية، إصدار خاص من Intel Preview: حلول 16 بت، شركة Intel، مايو/يونيو 1980، الصفحة 29.
روابط خارجية
- معالجات Intel x86 الدقيقة
- معالجات دقيقة 16 بت
- مقدمات متعلقة بالحاسوب في عام 1979
- معمارية X86 الدقيقة
- المنتجات والخدمات التي تم إيقافها في عام 1998
