AMD Am29000

معالج AMD 29000
AMD 29030

معالج AMD Am29000 ، المعروف اختصارًا بـ 29k ، هو عائلة من المعالجات الدقيقة ووحدات التحكم الدقيقة RISC ذات 32 بت ، طورتها وصنعتها شركة Advanced Micro Devices (AMD). استنادًا إلى معالج Berkeley RISC الرائد ، أضافت عائلة 29k عددًا من التحسينات الهامة. شاع استخدامها في طابعات الليزر من عدة شركات مصنعة في ذلك الوقت، وموثق جيدًا استخدامها في سلسلة HP Color LaserJet المتطورة، بدءًا من أول طراز Color LaserJet (Am29030) وصولًا إلى HP Color LaserJet 5 الذي يستخدم معالج Am29040.

تم تطويره منذ عام 1984-1985، وأُعلن عنه في مارس 1987 وتم إصداره في مايو 1988، [ 1 ] [ 2 ] [ 3 ] تبعت النسخة الأولية Am29000 عدة إصدارات، وانتهى الأمر بإصدار Am29040 في عام 1995. [ 4 ] تميز الإصدار 29050 بكونه من أوائل الإصدارات التي احتوت على وحدة الفاصلة العائمة القادرة على تنفيذ عملية ضرب وجمع واحدة لكل دورة.

كانت شركة AMD تعمل على تصميم نسخة فائقة التوازي حتى أواخر عام 1995، حين توقفت عن تطوير معالج 29k بعد نقل فريق التصميم لدعم قسم الحواسيب الشخصية ( x86 ). أُعيد توجيه ما تبقى من أعمال AMD في مجال الأنظمة المدمجة نحو عائلة معالجات 186 المدمجة، وهي مشتقات من معالجات 80186. وبحلول ذلك الوقت، كانت غالبية موارد AMD مُركزة على معالجات x86 عالية الأداء لأجهزة الكمبيوتر المكتبية، مستخدمةً العديد من الأفكار والأجزاء الفردية من تصميمات 29k لإنتاج معالج AMD K5 .

تصميم

تطورت معالجات 29k من نفس تصميم Berkeley RISC الذي أدى أيضًا إلى ظهور معالجات Sun SPARC و Intel i960 و ARM و RISC-V .

أحد عناصر التصميم المستخدمة في بعض التصاميم المشتقة من معمارية RISC من بيركلي هو مفهوم نوافذ السجلات ، وهي تقنية تُستخدم لتسريع استدعاء الإجراءات بشكل ملحوظ. تقوم الفكرة على استخدام مجموعة كبيرة من السجلات كمكدس، حيث يتم تحميل البيانات المحلية في مجموعة من السجلات أثناء الاستدعاء، ثم يتم وضع علامة "غير مستخدمة" عليها عند انتهاء الإجراء. تُوضع القيم المُعادة من الإجراءات في "الصفحة العامة"، وهي السجلات الثمانية الأولى في معمارية SPARC (على سبيل المثال). وقد درس تصميم RISC المبكر المنافس من جامعة ستانفورد ، وهو ستانفورد MIPS ، هذا المفهوم أيضًا، لكنه قرر أن المترجمات المُحسّنة يُمكنها استخدام السجلات العامة بكفاءة أكبر من استخدام نافذة ثابتة.

في تصميم بيركلي الأصلي، ومعالجات SPARC وi960، كانت النوافذ ثابتة الحجم. حتى الروتين الذي يستخدم متغيرًا محليًا واحدًا فقط كان سيستهلك ثمانية سجلات على معالج SPARC، مما يهدر هذا المورد الثمين. وهنا يكمن اختلاف معالج 29k عن التصاميم السابقة، حيث استخدم حجم نافذة متغيرًا. في هذا المثال، سيتم استخدام سجلين فقط، أحدهما للمتغير المحلي والآخر لعنوان الإرجاع . كما أضاف المزيد من السجلات، بما في ذلك نفس الـ 128 سجلًا لمكدس الإجراءات، بالإضافة إلى 64 سجلًا آخر للوصول العام. بالمقارنة، كان معالج SPARC يحتوي على 128 سجلًا إجمالًا، وكانت مجموعة السجلات العامة عبارة عن نافذة قياسية من ثمانية سجلات. أدى هذا التغيير إلى استخدام أفضل بكثير للسجلات في معالج 29000 في ظل مجموعة واسعة من أحمال العمل.

قام المعالج 29k أيضًا بتوسيع مكدس نافذة التسجيل بإضافة مكدس في الذاكرة (ونظريًا، في ذاكرة التخزين المؤقت). عند امتلاء النافذة، تُدفع الاستدعاءات من نهاية مكدس التسجيل إلى الذاكرة، وتُستعاد عند الحاجة عند انتهاء الروتين. عمومًا، كان استخدام المسجلات في المعالج 29k أكثر تطورًا بكثير من التصاميم المنافسة القائمة على مفاهيم بيركلي.

AMD 29040

يتمثل أحد الاختلافات الأخرى عن تصميم بيركلي في أن معالج 29k تجنب استخدام رموز الحالة. فعلى الرغم من أن معالج 29k يُولّد علامات NZVC القياسية بعد العمليات الحسابية والمنطقية، إلا أن استخدامها كان مقتصراً على تعليمات الجمع والطرح مع الحمل. واقتصرت التفرعات الشرطية على التفرع بناءً على بت الإشارة الأكثر أهمية في سجل عام، والذي يمكن ضبطه بواسطة إحدى تعليمات المقارنة (مثل "أكبر من" أو "يساوي"). ويمكن استخدام أي سجل لهذا الغرض، مما يسمح بحفظ الشروط بسهولة على حساب تعقيد بعض التعليمات البرمجية. وقد خزّنت ذاكرة التخزين المؤقت لأهداف التفرع (512 بايت في معالج 29000 و1024 بايت في معالج 29050) مجموعات من 4 أو 2 تعليمات متسلسلة موجودة في عنوان هدف التفرع، مما قلل من زمن جلب التعليمات أثناء تنفيذ التفرعات - لم يتضمن معالج 29000 أي نظام للتنبؤ بالتفرعات ، لذا كان هناك تأخير في حالة تنفيذ التفرع. هذا يعني أن المعالج 29000 يحتوي على خانة تأخير واحدة للتفرع . [ 5 ] وقد عالج المخزن المؤقت هذه المشكلة بتخزين أربع أو اثنتين من التعليمات من عنوان الهدف للتفرع، والتي يمكن تنفيذها فورًا بينما يُعاد ملء مخزن الجلب بتعليمات جديدة من الذاكرة. [ 6 ]

اتبع دعم ترجمة العناوين الافتراضية نهجًا مشابهًا لنهج معمارية MIPS. احتفظ مخزن الترجمة المؤقت (TLB) ذو 64 مدخلًا بعمليات الربط بين العناوين الافتراضية والعناوين الفيزيائية، وعند مصادفة عنوان غير مترجم، يتسبب خطأ TLB الناتج في استدعاء المعالج لروتين برمجي مسؤول عن توفير أي ربط مناسب بالذاكرة الفيزيائية. على عكس نهج MIPS الذي استخدم سجلًا عشوائيًا لاختيار مدخل TLB المراد استبداله عند حدوث خطأ TLB، وفرت معمارية 29000 سجلًا مخصصًا للأقل استخدامًا مؤخرًا ( lru ). [ 7 ] وفرت بعض منتجات عائلة 29000 ستة عشر مدخلًا فقط في TLB لتخصيص جزء من السيليكون للأجهزة الطرفية. وللتعويض عن ذلك، زاد الحد الأقصى لحجم الصفحة المستخدمة في الربط من 8  كيلوبايت إلى 16  ميجابايت. [ 8 ] : 305-306

الإصدارات

أُصدر أول معالج Am29000 في عام 1988، وكان مزودًا بوحدة إدارة ذاكرة مدمجة، ولكن تم نقل دعم العمليات الحسابية ذات الفاصلة العائمة إلى وحدة معالجة الفاصلة العائمة Am29027 . أما الوحدات التي تعطلت فيها وحدة إدارة الذاكرة أو ذاكرة التخزين المؤقت للأهداف الفرعية، فقد بيعت تحت اسم Am29005 . [ 6 ]

في عام 1991، تم توسيع سلسلة المعالجات بإضافة Am29030 و Am29035 ، اللذين تضمنا ذاكرة تخزين مؤقت للتعليمات بسعة 8 كيلوبايت و4 كيلوبايت على التوالي. [ 9 ] وبحلول ذلك الوقت [ 10 أصبح Am29050 متاحًا أيضًا، بدون ذاكرة تخزين مؤقت مدمجة، ولكنه يتميز بوحدة حسابية للفاصلة العائمة مع عمليات ضرب وتجميع متوازية بالكامل ، وذاكرة تخزين مؤقت أكبر للأهداف الفرعية بسعة 1 كيلوبايت مع معدل نجاح مزعوم يبلغ 80%، وعمليات تحميل متوازية محسّنة بفضل ذاكرة تخزين مؤقت للعناوين الفيزيائية تشبه ذاكرة الترجمة السريعة (TLB) ذات 4 مداخل . على الرغم من أنه ليس معالجًا فائق التوازي ، إلا أنه يسمح بإكمال عملية حسابية للفاصلة العائمة وعملية حسابية للأعداد الصحيحة في نفس الدورة. ولكل من جانبي الأعداد الصحيحة والفاصلة العائمة منفذ كتابة خاص به إلى السجلات. [ 11 ] احتوى على 428,000 ترانزستور [ 12 ] بتقنية 1 ميكرون [ 13 ] بطول قناة فعال يبلغ 0.8 ميكرون [ 11 ] وكان متوفرًا بترددات 20 و25 و33 و40 ميجاهرتز. لاحقًا، تم إصدار Am29040 بترددات 33 و40 و50 ميجاهرتز، وكان مشابهًا لـ Am29030 باستثناء احتوائه على ذاكرة تخزين مؤقتة للبيانات بسعة 4 كيلوبايت، ووحدة ضرب، وبعض التحسينات الأخرى. [ 14 ] احتوى Am29040، الذي تبلغ مساحته 119 مم² ، على 1.2 مليون ترانزستور بتقنية 0.7 ميكرون. [ 15 ] [ 16 ]     

كان يجري تصميم نسخة فائقة التوازي من معالج 29K، ولكن تم إلغاؤها لصالح معالج x86. أُطلق عليها الاسم الرمزي Jaguar ، [ 3 ] ووُصفت في نوفمبر 1994 وأغسطس 1995. [ 17 ] [ 18 ] كان تصميمًا متطورًا، قادرًا على إرسال التعليمات إلى ست محطات حجز وتنفيذها خارج الترتيب بشكل تخميني ، مع إمكانية إنهاء العملية في أربع محطات. سمح ملف السجلات بأربع عمليات قراءة وعمليتي كتابة في آن واحد. بلغت سعة ذاكرة التخزين المؤقت للتعليمات والبيانات 8 كيلوبايت لكل منهما. يمكن لعمليات التحميل من ذاكرة التخزين المؤقت تجاوز عمليات التخزين . لم يكن يحتوي على وحدة معالجة الفاصلة العائمة (FPU) مدمجة لأسباب تتعلق بالتكلفة والسوق المستهدف. كان من المتوقع أن يصل تردده إلى 100 ميجاهرتز بتقنية تصنيع 0.4 ميكرون. [ 17 ] [ 19 ] 

استخدمت AMD بنية 29K الدقيقة غير المُصدرة كأساس لسلسلة معالجات K5 المتوافقة مع x86 . تم نقل وحدات الحساب والمنطق (ALUs)، وكذلك مخزن إعادة الترتيب مع تعديل طفيف. تم استخلاص وحدة الفاصلة العائمة (FPU) من معالج 29050، ولكن تم توسيعها إلى دقة 80 بت . قام معالج K5 بترجمة تعليمات x86 إلى تعليمات RISC-OPs عند فك التشفير، بمساعدة معلومات ما قبل فك التشفير المخزنة في ذاكرة التخزين المؤقت للتعليمات. زعمت AMD أن معالج 29K فائق التوازي سيكون أداؤه أقل بقليل من معالج K5، ولكنه سيكون أقل تكلفة بكثير نظرًا لاختلاف الحجم. [ 20 ] [ 17 ]

يُعد معالج Honeywell 29KII معالجًا مركزيًا يعتمد على معالج AMD 29050، وقد تم استخدامه على نطاق واسع في إلكترونيات الطيران في الوقت الحقيقي .

المنتجات والتطبيقات

صُمم المعالج 29000 ليكون منتجًا للتطبيقات المدمجة متوسطة إلى عالية الأداء، مع إمكانية استخدامه في محطات عمل يونكس ، [ 7 ] وقد استُخدم في مجموعة متنوعة من المنتجات مثل محطات X الطرفية ، وبطاقات التحكم في طابعات الليزر، وبطاقات تسريع الرسومات ، وحلول التعرف الضوئي على الأحرف ، وجسور الشبكات . [ 21 ] وكانت بنية ذاكرة المعالج 29000 عامل جذب خاص لمصممي المنتجات، إذ سمحت لهم بالاستغناء عن ذاكرة التخزين المؤقت الخارجية واستخدام ذاكرة الوصول العشوائي الديناميكية مباشرةً مع الحفاظ على أداء مقبول، [ 21 ] مما أتاح درجة من المرونة في اختيار تقنيات الذاكرة المستخدمة للاحتفاظ بتعليمات البرنامج والبيانات. [ 22 ]

استُخدم معالج 29k كمُسرِّع حسابي أو مُعالِج مُساعد، لا سيما على منصات ماكنتوش وأجهزة الكمبيوتر الشخصية من IBM. على سبيل المثال، أنتجت شركة Yarc Systems Corporation بطاقات "معالج RISC مُساعد" تعتمد على معالج 29k لأنظمة ماكنتوش II و PC AT ، إلى جانب بطاقات "معالج CISC مُساعد" أخرى مزودة بمعالجات موتورولا 68020 و 68030 ، وبطاقات "معالج مُساعد مُوازٍ" مزودة بمعالجات T800 transputer . [ 23 ] تبع ذلك بطاقات NuSuper (التي كانت تُسمى في الأصل McCray [ 24 ] ) و AT-Super ، والتي تستخدم وحدة المعالجة المركزية Am29000 ومُسرِّع الفاصلة العائمة Am29027، [ 23 ] ثم بطاقة MacRageous التي رُقِّيت فيها وحدة المعالجة المركزية إلى Am29050. [ 25 ] قدمت بطاقات التسريع هذه أداءً يفوق أداء جهاز ماكنتوش II نفسه بعدة مرات، ونافست أداء محطات عمل RISC مثل DECstation 3100. كما أمكن تركيب عدة بطاقات في النظام. مع ذلك، اقتربت تكلفة نظام ماكنتوش II مع هذه البطاقة من تكلفة محطات عمل RISC المعروفة التي تعمل بنظام يونكس. [ 26 ] بلغ سعر جهاز AT-Super حوالي 4600 دولار أمريكي، وأُفيد بأنه يعمل بنظام يونكس، منافسًا بذلك منتجات مماثلة تستخدم معالج Intel i860 . [ 27 ]

من أبرز المنتجات التي استخدمت معالج 29k بطاقة عرض ماكنتوش 8.24 GC من آبل لجهاز ماكنتوش IIfx ، والتي تتميز بمعالج Am29000 بسرعة 30  ميجاهرتز، وذاكرة تخزين مؤقتة ثابتة (SRAM)  بسعة 64 كيلوبايت ، وذاكرة فيديو بسعة 2 ميجابايت ، مع إمكانية إضافة 2 ميجابايت من ذاكرة الوصول العشوائي الديناميكية (DRAM) لاستخدامها مع مجموعة أدوات QuickDraw الرسومية. وقد ميّز تضمين معالج 29k هذا الإصدار من البطاقة عن الإصدارات الأخرى التي باعتها آبل، مما حسّن الأداء بشكل ملحوظ عند معالجة الصور بدقة 24 بت لكل بكسل . [ 28 ]  

انظر أيضاً

مراجع

  1. مارتن، جيمس أ. (23 مارس 1987). "شركة تقول إن شريحة 32 بت تتعامل مع 17 مليون عملية حسابية في الثانية" . مجلة كمبيوتر وورلد . المجلد  21، العدد  12، صفحة  14.
  2. كول، برنارد سي. (28 أبريل 1988). "منافسة RISC الشرسة: هل التسويق أهم من الأداء؟" (ملف PDF) . إلكترونيات . ص 66 (ص 68 من ملف PDF). 
  3. ١ ٢ "التاريخ الشفوي لويليام مايكل 'مايك' جونسون" (ملف PDF) . متحف تاريخ الحاسوب (مقابلة). أجراها كيفن كرويل. ٩ مايو ٢٠١٤. حسنًا، بدأ الأمر في عام ١٩٨٥. واستغرق الأمر، كما أقول، حوالي ثلاث سنوات وربما أربع مراجعات حتى أصبح جاهزًا للعمل.
  4. بيتكر، مايكل ر.؛ فرناندو، جون س.؛ ويلين، شون ب. (خريف 1997). "تاريخ المعالج الدقيق" (ملف PDF) . المجلة التقنية لمختبرات بيل : 48.
  5. "تقييم وبرمجة عائلة معالجات RISC 29K، الطبعة الثالثة - مسودة" (ملف PDF) . صفحة 54. تاريخ الاطلاع: 20 ديسمبر 2023 . 
  6. 1 2 ستيوارت، بريت (1990). "أجيال جديدة من حلول عائلة 29 ألف". ملخص أوراق مؤتمر Compcon ربيع 1990. المؤتمر الدولي الخامس والثلاثون لجمعية مهندسي الكهرباء والإلكترونيات (IEEE) حول الاستفادة الفكرية. الصفحات 295-298 . doi : 10.1109/CMPCON.1990.63690 . 
  7. 1 2 مان، دانيال (أكتوبر 1991). "يونكس والمعالج الدقيق Am29000" . مجلة IEEE Micro . الصفحات 23-31 . الرقم الدولي الموحد للدوريات 0272-1732 . تاريخ الاسترجاع: 19 مايو 2023 .  
  8. مان، دانيال (1995). تقييم وبرمجة عائلة 29K RISC . شركة أدفانسد مايكرو ديفايسز . تم الاطلاع عليه بتاريخ 19 مايو 2023 .
  9. فيكل، لويز (13 مايو 1991). "شركة أدفانسد مايكرو ديفايسز تعزز عائلة 29000 بمعالجين مركزيين من نوع RISC" . إنفوورلد . المجلد 13، العدد 19، صفحة 28.   
  10. "إعلانات ذاكرة الفلاش" . أرشيف مجلة Computer Business Review في Tech Monitor . 9 أكتوبر 1990.
  11. 1 2 "دليل مستخدم المعالج الدقيق Am29050" . archive.org . 1991.
  12. غاناباثي، غوبي؛ أبراهام، جاكوب أ. تسريع الأجهزة وحده لن يجعل تصنيف الأخطاء في الدوائر المتكاملة فائقة الدقة حقيقة واقعة . المؤتمر الدولي للاختبار 1991.
  13. لينش، توماس ووكر؛ شوارتزلاندر (الابن)، إيرل إي. (يوليو 1991). "جامع الخلايا الزائدة" . وقائع الندوة العاشرة لمعهد مهندسي الكهرباء والإلكترونيات حول الحساب الحاسوبي . doi : 10.1109/ARITH.1991.145553 .
  14. "معالج دقيق عالي الأداء من نوع RISC طراز Am29040 مزود بذاكرة تخزين مؤقتة للتعليمات والبيانات" (ملف PDF) . chipdb.org . تاريخ الاطلاع: 18 سبتمبر 2022 .
  15. غويناب، لينلي. "المعالجات الرقمية، MIPS تضيف ملحقات الوسائط المتعددة" (ملف PDF) . تقرير المعالجات الدقيقة . 10 (15): 24-28 .
  16. مجلد منتدى المعالجات الدقيقة . 1994.
  17. 1 2 3 ماكمين، برايان (14 أغسطس 1995). "أول عضو في عائلة Superscaler 29K" (ملف PDF) . هوت تشيبس .
  18. "الكشف عن أول معالج فائق السرعة Am29000" . أرشيف مجلة Computer Business Review على موقع Tech Monitor . 28 نوفمبر 1994.
  19. ديتار، جيم (31 أكتوبر 1994). "شركة AMD تُطوّر معالج Superscalar 29K". أخبار إلكترونية .
  20. سلاتر، مايكل (24 أكتوبر 1994). "معالج AMD K5 مصمم ليتفوق على بنتيوم" (ملف PDF) . تقرير المعالجات الدقيقة . 8 (14): 1-7 .
  21. 1 2 FUSIONews 29K . شركة أدفانسد مايكرو ديفايسز. صيف 1990. تم الاطلاع عليه بتاريخ 20 مايو 2023 .
  22. مارشال، تريفور (مايو 1988). "أنظمة RISC في العالم الحقيقي" . بايت . الصفحات 263-268 . تم الاطلاع عليه بتاريخ 20 مايو 2023 . 
  23. 1 2 يارك، شركة الحلول . شركة يارك سيستمز.
  24. "شركة YARC تدّعي تشغيل لوحة Mac II Booster Board بتردد 50 ميجاهرتز" . بايت . أغسطس 1988. ص 16. تم الاطلاع عليه بتاريخ 20 مايو 2023 . 
  25. نظام المعالج المساعد MacRageous Macintosh-II RISC . شركة Yarc Systems. 1990.
  26. فارهول، بيتر د. (أكتوبر 1989). "حساء YARC's NuSuper يُحسّن مذاق المعكرونة" . MIPS . الصفحات 81-83 . تم الاطلاع عليه بتاريخ 20 مايو 2023 . 
  27. باستور، ريتشارد (3 سبتمبر 1990). "دمج أجهزة الكمبيوتر الشخصية من إنتل مع معالجات RISC" . مجلة Computerworld . ص 37. تم الاطلاع عليه في 3 مارس 2024 . 
  28. سميث، باد إي . (مايو 1990). "جهاز ماكنتوش كبير وسريع مزود برسومات RISC" . محطة عمل شخصية . الصفحات 46-50 . تم الاطلاع عليه بتاريخ 20 مايو 2023 .