ما هو التجميع؟

كان ENIAC أول حاسوب إلكتروني عام الغرض. بُني في جامعة بنسلفانيا واكتمل في عام 1945. كانت سنايدر واحدة من ست نساء برمجنه يدويًا.
قبل آلات مثل ENIAC، كانت كلمة حاسوب تعني شخصًا يقوم بالحسابات يدويًا، وقد جُندت النساء الست اللواتي برمجن ENIAC لهذا العمل. لبرمجة الآلة، كنّ يعيدن توصيل أسلاكها: كنّ يوصلن الكابلات ويضبطن المفاتيح في كل مرة تتغير فيها المسألة. إعادة التوصيل هذه هي السبب التاريخي لوجود لغة التجميع. وفي غضون بضع سنوات، بدأ المهندسون في أوروبا وأمريكا يستبدلون الأسلاك وإعدادات المفاتيح برموز مكتوبة قصيرة تمثل التعليمات، بحيث يستطيع الشخص قراءة البرنامج وتغييره دون لمس أي موصل.
أولًا، CPU (وحدة المعالجة المركزية) هي الشريحة الموجودة في قلب حاسوبك، وهي تؤدي مهمة واحدة: تنفيذ قائمة طويلة من الأوامر الصغيرة تسمى التعليمات، واحدًا تلو الآخر، بمليارات في الثانية. كل تعليمة سهلة بحد ذاتها، مثل جمع رقمين، أو نقل قيمة، أو القفز إلى مكان آخر.
لغة التجميع هي الشكل الذي يمكن للإنسان قراءته من التعليمات التي ينفذها المعالج. كل سطر هو (تقريبًا) تعليمة آلة واحدة. لن تحصل على حلقات أو كائنات أو سلاسل نصية. أنت تنقل الأرقام بين السجلات، وهي خانات تخزين صغيرة داخل المعالج، والذاكرة.

شغّل EDSAC برنامج Initial Orders لديفيد ويلر، وهو أحد أوائل البرامج التي ترجمت التعليمات المكتوبة إلى لغة الآلة.
يحتاج كل معالج إلى برنامج يقرأ التعليمات المكتوبة وينتج البتات الخام التي ينفذها العتاد: وهو المجمّع. المجمّع في هذه الصفحة يستهدف مجموعة تعليمات واحدة.
يستخدم هذا المحاكي RISC-V، وهي مجموعة تعليمات حديثة تُستخدم في شرائح حقيقية وتُدرَّس في الجامعات. ما تتعلمه هنا ينطبق مباشرة على العتاد.

RISC-V هي بنية مجموعة تعليمات مفتوحة. يمكن لأي شخص تنفيذ مواصفتها المنشورة في العتاد، دون رسوم أو إذن.
على أي تصميم لمجموعة تعليمات أن يقرر مقدار العمل الذي تؤديه التعليمة الواحدة. شرائح CISC (حاسوب مجموعة التعليمات المعقدة)، بما في ذلك بنية x86 الموجودة في معظم الحواسيب المكتبية والمحمولة، تضع قدرًا كبيرًا من العمل في كل تعليمة. قد تقرأ تعليمة واحدة قيمة من الذاكرة، وتجري عليها عملية حسابية، وتخزن النتيجة مرة أخرى، كل ذلك في خطوة واحدة. تتبع RISC-V التصميم الذي دافع عنه Patterson & Ditzel, 1980: كل تعليمة تؤدي عملية بسيطة واحدة، وأي سلوك معقد ينتج عن دمج العديد من هذه التعليمات.
RISC اختصار لـ Reduced Instruction Set Computer (حاسوب مجموعة التعليمات المختزلة). صُمم العتاد لتشغيل مجموعة صغيرة من التعليمات البسيطة بسرعة عالية. وينتج السلوك المعقد عن دمج هذه الخطوات البسيطة السريعة.
يُعد مجمّع كاثلين بوث لـ ARC (Booth, 1947) وبرنامج Initial Orders لديفيد ويلر لـ EDSAC (Wilkes, Wheeler & Gill, 1951) من أوائل المجمّعات العاملة، ولا يزال المؤرخون يتجادلون حول أيهما جاء أولًا. تحدد RISC-V، مجموعة التعليمات التي يشغلها هذا المحاكي، قائمة صغيرة ومفتوحة من التعليمات يمكن لأي شخص تنفيذها (Asanović & Patterson, 2014). كل درس من هذه النقطة فصاعدًا يعلّم مجموعة التعليمات تلك مباشرة.
المصادر
- [1]IEEE Computer Society. Women of ENIAC.
- [2]Booth, K. General Considerations in the Design of an All Purpose Electronic Digital Computer. 1947.
- [3]Wilkes, M. V., Wheeler, D. J., Gill, S. The Preparation of Programs for an Electronic Digital Computer. Addison-Wesley, 1951.
- [4]Patterson, D. A., Ditzel, D. R. The Case for the Reduced Instruction Set Computer. ACM SIGARCH Computer Architecture News, 1980.
- [5]Asanović, K., Patterson, D. A. Instruction Sets Should Be Free: The Case For RISC-V. UCB/EECS-2014-146, 2014.
- [6]Glen Beck and Betty Snyder program the ENIAC, building 328, Ballistic Research Laboratory. U.S. Army photo, public domain.
- [7]Maurice Wilkes examining a mercury delay line during the construction of EDSAC. Computer Laboratory, University of Cambridge, CC BY 2.0.
- [8]Yunsup Lee holding a RISC-V prototype chip, 2013. CC0.
