إنتل 8008
معالج إنتل 8008 (" ثمانية آلاف وثمانية " أو " ثمانية وثمانون ") هو معالج دقيق مبكر من فئة 8 بت، قادر على معالجة 16 كيلوبايت من الذاكرة ، وقد طُرح في أبريل 1972. صُممت بنية 8008 بواسطة شركة Computer Terminal Corporation (CTC)، ونُفذت وصُنعت بواسطة شركة إنتل . في حين أن 8008 صُمم في الأصل للاستخدام في جهاز Datapoint 2200 القابل للبرمجة من CTC ، إلا أن اتفاقية بين CTC وإنتل سمحت لشركة إنتل بتسويق الشريحة لعملاء آخرين بعد أن أبدت شركة سيكو اهتمامًا باستخدامها في آلة حاسبة .
تاريخ

لمعالجة العديد من المشكلات التي واجهها جهاز Datapoint 3300 ، بما في ذلك الإشعاع الحراري المفرط، صممت شركة Computer Terminal Corporation (CTC) بنية الجهاز الذي كان من المقرر أن يخلف 3300، بحيث أُعيد تنفيذ وحدة المعالجة المركزية كجزء من الدوائر الداخلية على شريحة واحدة. وبحثًا عن شركة قادرة على إنتاج تصميم الشريحة، توجه أوستن أو. "غاس" روش، المؤسس المشارك لشركة CTC، إلى شركة إنتل، التي كانت آنذاك موردًا رئيسيًا لشرائح الذاكرة. [ 3 ] التقى روش مع بوب نويس ، الذي أبدى قلقه بشأن الفكرة؛ ويتذكر جون فراسانيتو ما يلي: [ 3 ]
قال نويس إنها فكرة مثيرة للاهتمام، وإن شركة إنتل قادرة على تنفيذها، لكنها ستكون خطوة غير حكيمة. وأوضح أنه إذا كان لديك شريحة كمبيوتر، فلا يمكنك بيع سوى شريحة واحدة لكل جهاز كمبيوتر، بينما في مجال الذاكرة، يمكنك بيع مئات الشرائح لكل جهاز كمبيوتر.
كان من بين المخاوف الرئيسية الأخرى أن قاعدة عملاء إنتل الحالية كانت تشتري رقائق الذاكرة الخاصة بها لاستخدامها في تصميمات معالجاتها الخاصة؛ فإذا طرحت إنتل معالجها الخاص، فقد يُنظر إليها كمنافس، وقد يبحث عملاؤها عن مصادر ذاكرة أخرى. ومع ذلك، وافق نويس على عقد تطوير بقيمة 50,000 دولار أمريكي في أوائل عام 1970 ( ما يعادل 415,000 دولار أمريكي في عام 2025 ). كما تم إشراك شركة تكساس إنسترومنتس (TI) كمورد ثانٍ.
في ديسمبر 1969، اجتمع ستان مازور، مهندس شركة إنتل ، مع ممثل عن شركة CTC لمناقشة خيارات شريحة المنطق لتشغيل محطة أعمال جديدة تابعة لشركة CTC. اقترح مازور، الذي كان يعمل مع تيد هوف على تطوير معالج إنتل 4004 ، أن معالجًا دقيقًا قابلًا للبرمجة على شريحة واحدة قد يكون أقل تعقيدًا وأكثر فعالية من حيث التكلفة في نهاية المطاف من بناء شريحة منطق مخصصة. وافقت شركة CTC على ذلك، وبدأ العمل على تطوير الشريحة، التي كانت تُعرف آنذاك باسم 1201. [ 4 ]
تمكنت شركة تكساس إنسترومنتس (TI) من إنتاج نماذج أولية من معالج 1201 استنادًا إلى رسومات إنتل، وأطلقت عليه اسم TMX 1795. إلا أن هذه النماذج تبين أنها مليئة بالأخطاء، فتم رفضها. [ 5 ] وتأخرت إصدارات إنتل الخاصة. قررت شركة CTC إعادة تصميم النسخة الجديدة من الجهاز الطرفي باستخدام تقنية TTL التسلسلية المنفصلة بدلًا من انتظار معالج أحادي الشريحة. أُصدر النظام الجديد باسم Datapoint 2200 في ربيع عام 1970، وكانت أول عملية بيع له لشركة جنرال ميلز في 25 مايو 1970. [ 3 ] أوقفت CTC تطوير معالج 1201 بعد إصدار Datapoint 2200، لعدم الحاجة إليه. وفي أوائل عام 1971، تواصلت شركة سيكو مع إنتل، معربةً عن رغبتها في استخدام معالج 1201 في آلة حاسبة علمية، على الأرجح بعد أن لمست نجاح معالج 4004 الأبسط الذي استخدمته شركة Busicom في آلاتها الحاسبة التجارية. [ 4 ] تبع ذلك إعادة تصميم صغيرة، تحت قيادة فيديريكو فاجين ، مصمم 4004 ، والذي أصبح الآن قائد مشروع 1201، حيث تم التوسع من تصميم 16 دبوسًا إلى تصميم 18 دبوسًا، وتم تسليم 1201 الجديد إلى CTC في أواخر عام 1971. [ 3 ]
بحلول ذلك الوقت، كانت شركة CTC قد انتقلت مرة أخرى، هذه المرة إلى معالج Datapoint 2200 II ذي البنية المتوازية، والذي كان أسرع من معالج 1201. صوتت CTC على إنهاء مشاركتها في مشروع 1201، تاركةً حقوق الملكية الفكرية للتصميم لشركة إنتل بدلاً من دفع قيمة العقد البالغة 50,000 دولار. أعادت إنتل تسميته إلى 8008 وأدرجته في كتالوجها في أبريل 1972، بسعر 120 دولارًا أمريكيًا ( ما يعادل 924 دولارًا في عام 2025 ). حاولت هذه التسمية الجديدة استغلال نجاح شريحة 4004، من خلال تقديم 8008 على أنه مجرد منفذ من 4 إلى 8 أنوية، لكن 8008 ليس مبنيًا على 4004. [ 6 ] حقق 8008 نجاحًا تجاريًا كبيرًا . تبعه معالج Intel 8080 الشهير ، ثم عائلة Intel x86 الناجحة للغاية . [ 3 ]
في المملكة المتحدة، قام فريقٌ بقيادة توم سبينك في مختبرات إس إي الهندسية (EMI) عام ١٩٧٢ ببناء حاسوبٍ صغيرٍ بالاعتماد على نموذجٍ تجريبيٍّ من معالج ٨٠٠٨. قام جو هاردمان بتطوير الشريحة بإضافة مكدسٍ خارجيّ، مما أتاح لها، من بين أمورٍ أخرى، إمكانية حفظ البيانات واستعادتها في حال انقطاع التيار الكهربائي. كما طوّر جو طابعةً مباشرةً للشاشة. كُتب نظام التشغيل باستخدام مُجمِّعٍ فائقٍ طوّره إل. كروفورد وجيه. بارنيل لجهاز PDP-11 التابع لشركة ديجيتال إكويبمنت . [ ٧ ] دُرس نظام التشغيل على ذاكرة PROM، وكان يعتمد على المقاطعات، وقوائم الانتظار، وحجم صفحةٍ ثابتٍ للبرامج والبيانات.
كان المعالج 8008 هو المعالج المركزي لأولى أجهزة الكمبيوتر الشخصية التجارية غير الحاسبة (باستثناء جهاز Datapoint 2200 نفسه): مجموعة SCELBI الأمريكية، وجهاز Micral N الفرنسي الجاهز، وجهاز MCM/70 الكندي . كما كان المعالج الدقيق المتحكم في العديد من طرازات عائلة 2640 من أجهزة الكمبيوتر الطرفية من شركة هيوليت-باكارد. [ 8 ]
في عام 1973، قدمت شركة إنتل برنامج محاكاة لمجموعة التعليمات الخاصة بمعالج 8008 باسم INTERP/8. [ 9 ] وقد كُتب البرنامج بلغة فورتران 4 بواسطة غاري كيلدال أثناء عمله كمستشار لدى إنتل. [ 10 ] [ 11 ]
سمات
تتضمن بنية 8008 الميزات التالية: [ 12 ]
- 48 تعليمات؛
- مُجمِّع واحد 8 بت (A)؛
- ستة سجلات 8 بت (B، C، D، E، H، L)
- الوصول إلى الذاكرة بحجم 16 كيلوبايت باستخدام سجلات H و L (HL) كعنوان 14 بت (يتم تجاهل البتتين العلويتين)؛
- 8 بتات لكل خلية ذاكرة؛
- إمكانية المقاطعة؛
- عداد برنامج ذو 14 بت؛
- مكدس استدعاء مكون من سبعة مستويات، 14 بت ؛
- أربعة بتات لرمز الحالة : الحمل (C)، والتكافؤ الزوجي (P)، والصفر (Z)، والإشارة (S).
تم توفير المعالج 8008 في حزمة ثنائية الخط ذات 18 سنًا . [ 12 ]
تصميم

تم تنفيذ معالج 8008 بتقنية 10 ميكرومتر باستخدام دارة PMOS ذات بوابة سيليكونية محسّنة . كانت الإصدارات الأولى تعمل بترددات ساعة تصل إلى 0.5 ميجاهرتز، ثم رُفعت هذه الترددات لاحقًا في معالج 8008-1 إلى حد أقصى محدد يبلغ 0.8 ميجاهرتز. تستغرق التعليمات ما بين 3 و11 دورة زمنية (T-states)، حيث تمثل كل دورة زمنية دورتين ساعة. [ 14 ] تستغرق عمليات تحميل السجلات وعمليات وحدة الحساب والمنطق (ALU) 5 دورات زمنية (20 ميكروثانية عند 0.5 ميجاهرتز)، بينما تستغرق عمليات تحميل السجلات من الذاكرة 8 دورات زمنية (32 ميكروثانية)، في حين تستغرق عمليات استدعاء الدوال والقفزات (عند تنفيذها) 11 دورة زمنية (44 ميكروثانية). [ 15 ] يُعد معالج 8008 أبطأ قليلاً من معالجي Intel 4004 و Intel 4040 ذوي الأربع بتات من حيث عدد التعليمات في الثانية (من 36000 إلى 80000 عند 0.8 ميجاهرتز) . [ 16 ] ولكن نظرًا لأن المعالج 8008 يعالج البيانات 8 بتات في المرة الواحدة ويمكنه الوصول إلى ذاكرة وصول عشوائي (RAM) أكبر بكثير، فإنه يتمتع في معظم التطبيقات بميزة سرعة كبيرة مقارنةً بهذه المعالجات. يحتوي المعالج 8008 على 3500 ترانزستور . [ 17 ]
تحتوي الشريحة، المحدودة بحجمها ذي 18 طرفًا في حزمة DIP ، على ناقل بيانات واحد بسعة 8 بتات يعمل بثلاث وظائف: نقل 8 بتات للبيانات، و14 بتًا للعناوين، وبتتين للحالة. تتطلب هذه الحزمة الصغيرة حوالي 30 شريحة دعم TTL للربط بالذاكرة. [ 18 ] على سبيل المثال، يحتاج عنوان الـ 14 بت، الذي يمكنه الوصول إلى "16 كيلو × 8 بت من الذاكرة"، إلى التخزين المؤقت بواسطة بعض هذه الدوائر المنطقية في سجل عناوين الذاكرة الخارجية (MAR). يمكن للمعالج 8008 الوصول إلى 8 منافذ إدخال و24 منفذ إخراج. [ 14 ]
تصميمات المعالجات ذات الصلة
قام معالج Intel 8080 اللاحق ذو الأربعين طرفًا بتقنية NMOS بتوسيع نطاق سجلات ومجموعة تعليمات معالج 8008، كما نفّذ واجهة ناقل خارجي أكثر كفاءة (باستخدام الأطراف الإضافية البالغ عددها 22 طرفًا). على الرغم من التشابه المعماري الوثيق، لم يكن معالج 8080 متوافقًا ثنائيًا مع معالج 8008، لذا لم يكن بالإمكان تشغيل برنامج 8008 على معالج 8080. مع ذلك، وُجدت مُجمّعات لمعالج 8080 تدعم نفس الصيغة ورموز التعليمات الخاصة بمُجمّع 8008، ولكنها تُنتج شفرة آلة 8080، وبالتالي كان من الممكن تجميع شفرة لغة التجميع الخاصة بمعالج 8008 إلى شفرة آلة 8080. [ 19 ]
إن معالج Intel 8085 هو نسخة محدثة كهربائياً من معالج 8080 الذي يستخدم ترانزستورات وضع الاستنزاف ، كما أضاف تعليمات جديدة.
يُعدّ معالج Intel 8086 ، وهو المعالج الأصلي من نوع x86، امتدادًا غير دقيق للمعالج 8080، لذا فهو يُشبه إلى حدٍ ما تصميم معالج Datapoint 2200 الأصلي. تقريبًا كل تعليمة من تعليمات Datapoint 2200 و8008 لها ما يُقابلها ليس فقط في مجموعة تعليمات المعالجات 8080 و8085 و Z80 ، بل أيضًا في مجموعة تعليمات معالجات x86 الحديثة (مع اختلاف ترميز التعليمات).
مجموعة التعليمات
يتراوح طول التعليمات بين بايت واحد وثلاثة بايتات. يتكون تنسيق التعليمات من بايت رمز العملية، متبوعًا بما يصل إلى بايتين من المعاملات. يمكن أن تكون المعاملات عنوانًا، أو قيمة ثابتة، أو سجلًا، أو الذاكرة التي يشير إليها زوج السجلات HL، والمشار إليها بالرمز M. يحتوي المعالج 8008 على تعليمة JMP (القفز) التي تستبدل عداد البرنامج بعنوان ذاكرة جديد. بالإضافة إلى ذلك، توفر تعليمتا CAL (الاستدعاء) وRET (العودة) سبعة مستويات من استدعاءات البرامج الفرعية. تعليمة RST (إعادة التشغيل) هي اختصار من بايت واحد لتنفيذ ثمانية برامج فرعية موجودة في أول 64 بايت من التعليمات. تقع البرامج الفرعية في عناوين ثابتة هي 00h، 08h، 10h، ...، 38h. يُقصد بهذه العناوين تزويد الأجهزة الخارجية بها لاستدعاء إجراءات خدمة المقاطعة، أو يمكن استخدامها كاستدعاءات سريعة. يمكن إجراء نسخ مباشر بين أي سجلين أو بين سجل وذاكرة. يدعم المعالج ثماني دوال رياضية/منطقية بين المُراكم (A) وأي سجل أو ذاكرة أو قيمة فورية. تُودع النتائج دائمًا في السجل A. تعمل التعليمات على 8 بتات فقط؛ ولا توجد عمليات على 16 بت. يدعم المعالج عمليات الزيادة والنقصان لمعظم السجلات، ولكن الغريب أنه لا يدعم السجل A. يدعم السجل A أربع تعليمات تدوير.
تُنفذ جميع التعليمات في 3 إلى 11 حالة. تتطلب كل حالة ساعتين.
| رمز العملية | المعاملات | ذاكري | الولايات | وصف | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ب2 | ب3 | |||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | X | — | — | HLT | 4 | وقف |
| 0 | 0 | DDD | 0 | 0 | 0 | — | — | الرقم الدولي للروبية الهندية | 5 | DDD ← DDD + 1 (باستثناء A و M) | ||
| 0 | 0 | DDD | 0 | 0 | 1 | — | — | DCr | 5 | DDD ← DDD - 1 (باستثناء A و M) | ||
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | — | — | RLC | 5 | A 1-7 ← A 0-6 ; A 0 ← Cy ← A 7 |
| 0 | 0 | نسخة | 0 | 1 | 1 | — | — | Rcc (RET conditional) | 3/5 | إذا كانت قيمة cc صحيحة، فإن P ← (مكدس) | ||
| 0 | 0 | ألو | 1 | 0 | 0 | بيانات | — | بيانات ADI ACI SUI SBI NDI XRI ORI CPI | 8 | بيانات [عملية وحدة الحساب والمنطق] A ← A | ||
| 0 | 0 | شمال | 1 | 0 | 1 | — | — | RST n | 5 | (مكدس) ← P، P ← N × 8 | ||
| 0 | 0 | DDD | 1 | 1 | 0 | بيانات | — | بيانات LrI (تحميل r بالبيانات الفورية) | 8/9 | DDD ← بيانات | ||
| 0 | 0 | X | X | X | 1 | 1 | 1 | — | — | متقاعد | 5 | P ← (مكدس) |
| 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | — | — | RRC | 5 | A 0-6 ← A 1-7 ; A 7 ← Cy ← A 0 |
| 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | — | — | RAL | 5 | A 1-7 ← A 0-6 ; Cy ← A 7 ; A 0 ← Cy |
| 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | — | — | ملف RAR | 5 | A 0-6 ← A 1-7 ; Cy ← A 0 ; A 7 ← Cy |
| 0 | 1 | نسخة | 0 | 0 | 0 | أدلو | أدهي | Jcc add (JMP conditional) | 11 سبتمبر | إذا كانت قيمة cc صحيحة، فإن P ← إضافة | ||
| 0 | 1 | 0 | 0 | ميناء | 1 | — | — | ميناء INP | 8 | A ← منفذ (0-7) | ||
| 0 | 1 | ميناء | 1 | — | — | منفذ الخروج | 6 | المنفذ (8-31) ← أ | ||||
| 0 | 1 | نسخة | 0 | 1 | 0 | أدلو | أدهي | Ccc add (CAL conditional) | 11 سبتمبر | إذا كانت قيمة cc صحيحة، فإن (المكدس) ← P، و P ← إضافة | ||
| 0 | 1 | X | X | X | 1 | 0 | 0 | أدلو | أدهي | JMP إضافة | 11 | P ← إضافة |
| 0 | 1 | X | X | X | 1 | 1 | 0 | أدلو | أدهي | إضافة سعرات حرارية | 11 | (مكدس) ← P، P ← إضافة |
| 1 | 0 | ألو | SSS | — | — | ADr Acr SUr SBr NDr XRr ORr Cpr | 5/8 | A ← A [عملية وحدة الحساب والمنطق] SSS | ||||
| 1 | 1 | DDD | SSS | — | — | Lds (حمل d مع s) | 5/7/8 | DDD ← SSS | ||||
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | — | — | HLT | 4 | وقف |
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ب2 | ب3 | ذاكري | الولايات | وصف |
| SSS DDD | 2 | 1 | 0 | نسخة | ألو | |||||||
| أ | 0 | 0 | 0 | FC، C خطأ | ADr ADI (A ← A + arg) | |||||||
| ب | 0 | 0 | 1 | FZ، Z خطأ | ACr ACI (A ← A + arg + Cy) | |||||||
| ج | 0 | 1 | 0 | FS، خطأ S | SUr SUI (A ← A - arg) | |||||||
| د | 0 | 1 | 1 | FP، P فردي | SBr SBI (A ← A - arg - Cy) | |||||||
| هـ | 1 | 0 | 0 | TC، C صحيح | NDr NDI (A ← A ∧ arg) | |||||||
| ح | 1 | 0 | 1 | TZ، Z صحيح | XRr XRI (A ← A ⊻ arg) | |||||||
| ل | 1 | 1 | 0 | TS، S صحيح | ORr ORI (A ← A ∨ arg) | |||||||
| م | 1 | 1 | 1 | TP، P حتى | CPr CPI (A - arg) | |||||||
| SSS DDD | 2 | 1 | 0 | نسخة | ألو | |||||||
مثال برمجي 1
يُمثل كود التجميع التالي لمعالج 8008 روتينًا فرعيًا MEMCPYيقوم بنسخ كتلة من بايتات البيانات بحجم مُحدد من موقع إلى آخر. كان مُجمِّع معالج 8008 من إنتل يدعم عاملي الجمع (+) والطرح (-) فقط. يستعير هذا المثال عاملي AND وSHR (الإزاحة إلى اليمين) من مُجمِّع معالج 8080 لاختيار البايتات الدنيا والعليا لعنوان 14 بت لوضعها في سجلات 8 بت. كان من المُتوقع أن يقوم مُبرمج معالج 8008 في ذلك الوقت بحساب الأرقام وكتابتها للمُجمِّع.
001700 000 001701 000 001702 000 001703 000 001704 000 001705 000 002000 066 304 002002 056 003 002004 327 002005 060 002006 317 002007 302 002010 261 002011 053 002012 302 002013 024 001 002015 320 002016 301 002017 034 000 002021 310 002022 066 300 002024 056 003 002026 302 002027 207 002030 340 002031 060 002032 301 002033 217 002034 350 002035 364 002036 337 002037 066 302 002041 056 003 002043 302 002044 207 002045 340 002046 060 002047 301 002050 217 002051 350 002052 364 002053 373 002054 104 007 004 002057 | ; MEMCPY -- ; نسخ كتلة من الذاكرة من موقع إلى آخر. ; ; معلمات الإدخال ; SRC: عنوان 14 بت لكتلة بيانات المصدر ; DST: عنوان 14 بت لكتلة بيانات الهدف ; CNT: عدد البايتات المراد نسخها (14 بت) ORG 1700Q ; البيانات في 001700q SRC DFB 0 ; SRC، البايت الأدنى DFB 0 ; البايت الأعلى DST DFB 0 ; DST، البايت الأدنى DFB 0 ; البايت الأعلى CNT DFB 0 ; CNT، البايت الأدنى DFB 0 ; البايت العالي ORG 2000Q ; الكود في 002000q MEMCPY LLI CNT AND 255 ;HL = addr(CNT) LHI CNT SHR 8 ; (عمليتا AND و SHR غير مدعومتين) LCM ;BC = CNT INL LBM LOOP LAC ; إذا كانت BC = 0، ORB RTZ ; إرجاع DECCNT LAC ;BC = BC - 1 SUI 1 LCA LAB SBI 0 LBA GETSRC LLI SRC AND 255 ;HL = addr(SRC) LHI SRC SHR 8 LAC ;HL = SRC + BC ADM ;E = C + (HL) LEA ; (المجموع الأدنى) INL ; الإشارة إلى SRC الأعلى LAB ACM ;H = B + (HL) + CY LHA ; (المجموع الأعلى) LLE ;L = E LDM ; تحميل D من (HL) GETDST LLI DST AND 255 ;HL = addr(DST) LHI DST SHR 8 LAC ;HL = DST + BC ADM ;ADD code same as above LEA INL LAB ACM LHA LLE LMD ;Store D to (HL) JMP LOOP ;Recurse the loop END |
في الكود أعلاه، جميع القيم مُعطاة بالنظام الثماني. المواقع SRCو DSTو CNTهي معاملات 16 بت للروتين الفرعي المسمى MEMCPY. في الواقع، يُستخدم 14 بت فقط من القيم، لأن وحدة المعالجة المركزية لا تملك سوى مساحة ذاكرة قابلة للعنونة بحجم 14 بت. تُخزَّن القيم بتنسيق little-endian ، مع أن هذا اختيار اعتباطي، لأن وحدة المعالجة المركزية غير قادرة على قراءة أو كتابة أكثر من بايت واحد في الذاكرة في المرة الواحدة. بما أنه لا توجد تعليمة لتحميل سجل مباشرةً من عنوان ذاكرة مُحدد، يجب أولاً تحميل زوج السجلات HL بالعنوان ، ثم يُمكن تحميل السجل المستهدف من المعامل M، وهو تحميل غير مباشر من موقع الذاكرة في زوج السجلات HL. يُحمَّل زوج السجلات BC بقيمة CNTالمعامل ويُنقص في نهاية الحلقة حتى يصبح صفرًا. لاحظ أن معظم التعليمات المُستخدمة تشغل رمز عملية واحد بحجم 8 بت.
مثال برمجي 2
يُقدّم الكود المصدري التالي بلغة التجميع للمعالج 8008 روتينًا فرعيًا مُبسّطًا يُدعى MEMCPY2، يقوم بنسخ كتلة من بايتات البيانات من موقع إلى آخر. بتقليل عداد البايتات إلى 8 بتات، تتوفر مساحة كافية لتحميل جميع معلمات الروتين الفرعي في ملف سجلات المعالج 8008.
002000 307 002001 206 015 004 002004 370 002005 206 015 004 002010 021 002011 110 000 004 002014 007 002015 316 002016 364 002017 341 002020 315 002021 353 002022 331 002023 040 002024 013 002025 030 002026 007 002027 | ; MEMCPY2 -- ; نسخ كتلة من الذاكرة من موقع إلى آخر ; ; معلمات الإدخال في السجلات ; HL: عنوان 14 بت لكتلة بيانات المصدر ; DE: عنوان 14 بت لكتلة بيانات الهدف ; C: عدد البايتات المراد نسخها (8 بت). (من 1 إلى 256 بايت) ORG 2000Q ; الكود في 002000q MEMCPY2 LAM ; قراءة بايت المصدر إلى A CAL XCHGI ; تبديل HL<->DE وزيادة DE LMA ; حفظ A في بايت الهدف CAL XCHGI ; تبديل HL<->DE وزيادة DE DCC ; إنقاص عداد البايت JFZ MEMCPY2 ; المتابعة لجميع البايتات RET ; تبديل أزواج سجلات DE وHL ثم زيادة DE بمقدار 16 بت XCHGI LBL ; تبديل L وE LLE LEB LBH ; تبديل H وD LHD LDB INE ; زيادة E، البايت الأدنى من DE RFZ ; العودة إذا لم يكن هناك حمل IND ; وإلا زيادة البايت الأعلى D RET END |
المقاطعات

لا تُنفَّذ المقاطعات في معالج 8008 بشكل كامل. بعد تفعيل خط المقاطعة، يُقرّ المعالج بالمقاطعة بإخراج رمز الحالة S0,S1,S2 = 011 عند زمن T1I. في دورة جلب التعليمات اللاحقة، تُعطَّل تعليمة (بحسب مصطلحات إنتل) بواسطة مكونات خارجية على ناقل البيانات. عادةً ما تكون هذه التعليمة تعليمة إعادة ضبط (RST) بحجم بايت واحد.
هنا تكمن المشكلة. لا يمتلك المعالج 8008 آلية لحفظ حالته المعمارية . إذ لا يمكنه الكتابة إلى الذاكرة إلا عبر عنوان في زوج سجلات HL. عند حدوث مقاطعة، لا توجد آلية لحفظ HL، وبالتالي لا توجد طريقة لحفظ السجلات والعلامات الأخرى عبر HL. لهذا السبب، يجب توصيل نوع من أجهزة الذاكرة الخارجية، مثل مكدس الأجهزة أو زوج من سجلات القراءة/الكتابة ، بالمعالج 8008 عبر منافذ الإدخال/الإخراج للمساعدة في حفظ حالته. [ 20 ]
المصممون
- CTC ( مجموعة التعليمات والبنية ): فيكتور بور وهاري بايل .
- إنتل ( التنفيذ في السيليكون ):
- اقترح تيد هوف وستان مازور تطبيقًا أحادي الشريحة لبنية CTC، باستخدام ذاكرة RAM-register بدلاً من ذاكرة shift-register، وأضافا أيضًا بعض التعليمات ووظيفة المقاطعة. بدأ تصميم شريحة 8008 (التي كانت تُسمى في الأصل 1201) قبل تطوير شريحة 4004. مع ذلك، لم يتمكن هوف ومازور من تطوير "تصميم سيليكوني" ولم يفعلا ذلك، لأنهما لم يكونا مصممي شرائح ولا مطوري عمليات، علاوة على ذلك، لم تكن منهجية ودوائر تصميم بوابة السيليكون اللازمة لتحميل التمهيد ، والتي كان فيديريكو فاجين يطورها لشريحة 4004، متاحة بعد. [ 21 ]
- أصبح فيديريكو فاجين ، بعد أن أنهى تصميم 4004، قائدًا للمشروع من يناير 1971 حتى اكتماله بنجاح في أبريل 1972، بعد أن تم تعليقه - بسبب عدم إحراز تقدم - لمدة سبعة أشهر تقريبًا.
- قام هال فيني ، مهندس المشروع، بتصميم المنطق التفصيلي وتصميم الدوائر والتخطيط المادي تحت إشراف فاجين، مستخدماً نفس منهجية التصميم التي طورها فاجين في الأصل للمعالج الدقيق Intel 4004، وباستخدام الدوائر الأساسية التي طورها للمعالج 4004. تم نقش شعار "HF" المدمج على الشريحة في منتصف المسافة تقريباً بين وسادات التوصيل D5 وD6.
مصادر ثانوية
- مصادر Intel 8008 الثانية

مايكروسيستمز إنترناشونال (MIL) MF8008
سيمنز SAB8008
انظر أيضاً
- إنتل إنتيلك 8
- مجموعات الكمبيوتر Mark-8 و SCELBI ، القائمة على معالج 8008
- MCM/70 و Micral ، الحواسيب الصغيرة الرائدة
- لغة البرمجة PL/M ، وهي أول لغة برمجة تستهدف المعالج الدقيق Intel 8008، والتي طورها غاري كيلدال
ملحوظات
- ↑ يتم عرض علامات CPZS كمجموعة بهذا الترتيب خلال الحالة 4 من دورة PCC لتعليمات INP.
مراجع
- ↑ "دورة حياة وحدة المعالجة المركزية" . www.cpushack.com .
- ↑ "ثلاثون عامًا في مجال الروبوتات - الروبوتات" . ١٩ مايو ٢٠١٤. مؤرشف من الأصل في ١٩ مارس ٢٠١٤. تم الاطلاع عليه بتاريخ ١١ أبريل ٢٠١٨ .
- 1 2 3 4 5 وود، لامونت (2008-04-08)، "تاريخ الحاسوب الشخصي المنسي: الأصول الحقيقية للحاسوب الشخصي" ، مجلة Computerworld ، مؤرشف من الأصل في 2018-11-16 ، تم الاطلاع عليه في 2014-12-02.
- 1 2 "معالج إنتل 8008" . إنتل . تم الاطلاع عليه بتاريخ 15-12-2024 .
- ↑ شيريف، كين. "معالج تكساس إنسترومنتس TMX 1795: المعالج الدقيق (شبه) الأول المنسي" . مدونة كين شيريف . تاريخ الاسترجاع: 6 مارس 2025 .
- ↑ كين شريف (26 يناير 2021). "على المعدن: كين شريف" . بودكاست أوكسايد للحوسبة (مقابلة). أجرى المقابلة كل من برايان كانتريل، وجيسي فرازيل، وستيف تاك. يبدأ الحدث عند الدقيقة 19:52.
أولًا، المعالجان 4004 و8008 مختلفان تمامًا. يُصوّر التسويق الأمر وكأنه مجرد إصدارين، أحدهما 4 بت والآخر 8 بت، لكنهما مختلفان تمامًا.
- ↑ جامعة برونيل، 1974. رسالة ماجستير في التكنولوجيا، إل. آر. كروفورد.
- ↑ "HP 2640A" . ويكي المحطات الطرفية . تم الاسترجاع بتاريخ 22-08-2025 .
- ↑ "الملحق الحادي عشر. الملحق الثالث. حزمة برامج MCS-8 - المحاكي". مجموعة الحواسيب الصغيرة MCS-8 - 8008 - وحدة المعالجة المركزية المتوازية 8 بت - دليل المستخدم (PDF) . المراجعة 4، الطبعة الثانية. سانتا كلارا، كاليفورنيا، الولايات المتحدة الأمريكية: شركة إنتل . 1974 [نوفمبر 1973]. الصفحات 84-94 . MCS-056-0574/25K. مؤرشف (PDF) من الأصل بتاريخ 25-11-2023 . تم الاسترجاع بتاريخ 25-11-2023 .
- ↑ كيلدال، غاري آرلين (27 يونيو 1974). "لغة برمجة عالية المستوى تُبسط برمجة الحواسيب الصغيرة" (ملف PDF) . إلكترونيات . ماكجرو هيل للتعليم . الصفحات 103-109 [108]. مؤرشف (ملف PDF) من الأصل بتاريخ 14 نوفمبر 2021. تم الاطلاع عليه بتاريخ 14 نوفمبر 2021 .
- ↑ "محاكي 8008 INTERP/8" (ملف PDF) . برمجيات الحواسيب الصغيرة. سانتا كلارا، كاليفورنيا، الولايات المتحدة الأمريكية: شركة إنتل . مارس 1975. رمز المنتج 98-118A. MCS-514-0375/27.5K. مؤرشف (ملف PDF) من الأصل بتاريخ 25 نوفمبر 2023. تم الاطلاع عليه بتاريخ 25 نوفمبر 2023 .
- 1 2 "دليل مستخدم مجموعة الحواسيب الصغيرة MCS-8" ( ملف PDF) . شركة إنتل . 1972. الصفحات 3-10 . تاريخ الاسترجاع: 22-07-2025 .
- 1 2 8008 وحدة المعالجة المركزية المتوازية ذات 8 بت (ملف PDF) (المراجعة 4، الطبعة الثانية ). إنتل. نوفمبر 1973. الصفحات 14، 17. تاريخ الاسترجاع: 30 أبريل 2024 .
- 1 2 "دليل مستخدم مجموعة الحواسيب الصغيرة MCS-8" (ملف PDF) . شركة إنتل . 1972. تم الاطلاع عليه بتاريخ 4 ديسمبر 2010 .
- ↑ "رموز عمليات Intel 8008" . تم الاطلاع عليه بتاريخ 2010-12-04 .
- ↑ "عائلة معالجات Intel 8008 (i8008) الدقيقة" . عالم المعالجات. 2003-2010 . تم الاطلاع عليه بتاريخ 4 ديسمبر 2010 .
- ↑ إنتل (2008). "دليل مرجعي سريع للمعالجات الدقيقة" .
- ↑ التاريخ الشفوي لفيديريكو فاجين (ملف PDF) (إصدار X2941.2005 ). متحف تاريخ الحاسوب. 22-09-2004. ص 82. تاريخ الاطلاع: 14-07-2023 .
- ↑ دليل مستخدم أنظمة الحواسيب الصغيرة Intel 8080 (ملف PDF) . Intel. سبتمبر 1975. صفحة 1.
يمكن تجميع البرامج المكتوبة للمعالج 8008 وتشغيلها على المعالج 8080.
- ↑ تشامبركلين، هال (أكتوبر 1975). ""أضف مكدسًا إلى معالج 8008 الخاص بك" . بايت . 0 (2): 52-56 . تم الاسترجاع في 2024-10-05 .
- ^ فاجين، فيديريكو ؛ هوف الابن، مارسيان إي . الأماكن القريبة : شيما ماساتوشي (ديسمبر 1996). “تاريخ 4004”. آي إي إي مايكرو . 16 (6). لوس ألاميتوس، الولايات المتحدة الأمريكية: جمعية IEEE للكمبيوتر: 10-19 . دوى : 10.1109/40.546561 . ISSN 0272-1732 .
روابط خارجية
- دليل مستخدم MCS-8 مع ورقة بيانات 8008 (1972)
- وود، لامونت (8 أغسطس/آب 2008). "تاريخ الحاسوب الشخصي المنسي: الأصول الحقيقية للحاسوب الشخصي" . مجلة عالم الحاسوب . مؤرشف من الأصل بتاريخ 16 نوفمبر/تشرين الثاني 2018. تاريخ الاسترجاع: 2 ديسمبر/كانون الأول 2014 .
- صفحة دعم Intel 8008 غير الرسمية
- مارتن، دونالد ب. (1974). تصميم الحواسيب الصغيرة . أبحاث مارتن .
- — (1976). تصميم الحواسيب الصغيرة ( الطبعة الثانية). مارتن ريسيرش . OCLC 911808003 .
- رونيان، غرانت (أبريل 1977). "الآن - لغة BASIC لجهاز 8008 - حتى!" . مجلة كيلوبود : 116-118 .
- "مترجم لغة BASIC للمعالج الدقيق Intel 8008" . جامعة إلينوي. 1974.
- بطاقة مرجعية للغة التجميع 8008
- شريف، كين (ديسمبر 2016). "صور وتحليل رقاقة المعالج الدقيق الثوري 8008، عمره 45 عامًا" .
- — (فبراير 2017). "الهندسة العكسية لوحدة الحساب والمنطق المتقدمة بشكل مدهش للمعالج الدقيق 8008" .
- — (أكتوبر 2020). "كيف جعل تحميل التمهيد معالج Intel 8008 التاريخي ممكنًا" .
- — (نوفمبر 2020). "الهندسة العكسية لدائرة التنبؤ بالحمل في معالج Intel 8008" .
- معالجات إنتل الدقيقة
- معالجات دقيقة 8 بت
- مقدمات متعلقة بالحاسوب في عام 1972
- المنتجات والخدمات التي تم إيقافها في عام 1983
