المُراكم (الحوسبة)

في وحدة المعالجة المركزية (CPU) في الكمبيوتر ، يكون المُراكم عبارة عن سجل يتم فيه تخزين نتائج وحدة الحساب والمنطق الوسيطة.
بدون وجود مسجل مثل المُراكم، سيكون من الضروري كتابة نتيجة كل عملية حسابية (جمع، ضرب، إزاحة ، إلخ) إلى ذاكرة التخزين المؤقت أو الذاكرة الرئيسية ، وربما فقط لقراءتها مرة أخرى لاستخدامها في العملية التالية. [ 1 ]
يُعدّ الوصول إلى الذاكرة أبطأ من الوصول إلى سجلّ مثل المُراكم، لأنّ التقنية المستخدمة في الذاكرة الرئيسية الكبيرة أبطأ (لكنها أرخص) من تلك المستخدمة في السجلّ. وكانت أنظمة الحاسوب الإلكترونية المبكرة تُقسّم غالبًا إلى مجموعتين: تلك التي تحتوي على مُراكم، وتلك التي لا تحتوي عليه.
تحتوي أنظمة الحاسوب الحديثة غالبًا على عدة سجلات عامة الأغراض يمكن أن تعمل كمراكم، ولم يعد هذا المصطلح شائعًا كما كان في السابق. ومع ذلك، ولتبسيط تصميمها، لا يزال عدد من المعالجات ذات الأغراض الخاصة يستخدم مركمًا واحدًا.
المفهوم الأساسي
تُجرى العمليات الحسابية غالبًا بشكل تدريجي، حيث تُستخدم نتائج كل عملية كمدخلات للعملية التالية. على سبيل المثال، قد تبدو عملية حساب الراتب الأسبوعي للعامل يدويًا على النحو التالي:
- ابحث عن عدد ساعات العمل من بطاقة دوام الموظف
- ابحث عن معدل أجر ذلك الموظف من جدول.
- اضرب عدد الساعات في معدل الأجر للحصول على أجرهم الأسبوعي الأساسي
- يتم ضرب رواتبهم الأساسية بنسبة مئوية ثابتة لحساب ضريبة الدخل
- اطرح هذا الرقم من راتبهم الأساسي لتحصل على راتبهم الأسبوعي بعد خصم الضرائب
- اضرب تلك النتيجة بنسبة مئوية ثابتة أخرى لمراعاة خطط التقاعد
- اطرح هذا الرقم من راتبهم الأساسي لتحصل على راتبهم الأسبوعي بعد جميع الاستقطاعات
سيتبع برنامج الحاسوب الذي يؤدي المهمة نفسها نفس التسلسل الأساسي للعمليات، مع أن القيم التي يتم البحث عنها ستُخزَّن جميعها في ذاكرة الحاسوب. في الحواسيب القديمة، كان عدد الساعات يُسجَّل على الأرجح على بطاقة مثقبة ، ومعدل الأجر على شكل آخر من أشكال الذاكرة، ربما أسطوانة مغناطيسية . بمجرد اكتمال عملية الضرب، يجب وضع النتيجة في مكان ما. في حالة الأسطوانة، يُرجَّح أن يكون ذلك بإعادة القيمة إلى الأسطوانة نفسها، وهي عملية تستغرق وقتًا طويلًا. ثم يتعين على العملية التالية قراءة تلك القيمة مرة أخرى، مما يُضيف تأخيرًا كبيرًا آخر.
تُحسّن المُجمّعات الأداء بشكلٍ كبير في أنظمة كهذه، إذ تُوفّر مساحة تخزين مؤقتة يُمكن فيها استخدام نتائج عملية ما في العملية التالية دون أي تأثير يُذكر على الأداء. في المثال أعلاه، يتم حساب الراتب الأسبوعي الأساسي ووضعه في المُجمّع، والذي يُمكن استخدامه مباشرةً في حساب ضريبة الدخل. هذا يُلغي عملية حفظ وقراءة من التسلسل، وهما عمليتان كانتا تستغرقان عادةً عشرات أو مئات المرات من وقت عملية الضرب نفسها.
آلات التجميع
آلة المُراكم ، وتُسمى أيضًا آلة المعامل الواحد ، أو وحدة المعالجة المركزية ذات البنية المُراكمة ، هي نوع من وحدات المعالجة المركزية التي، على الرغم من احتوائها على عدة سجلات، تُخزن في الغالب نتائج العمليات الحسابية في سجل خاص واحد، يُسمى عادةً "المُراكم". كانت جميع الحواسيب المبكرة تقريبًا من آلات المُراكم. بعضها كان يحتوي على مُراكمين بأسماء مختلفة، [ أ ] وبعضها الآخر كان يحتوي على أكثر من سجلين يُطلق عليهما مُراكم، ويُشار إليهما بالأرقام. [ ب ] ثم، مع ظهور المعالجات الدقيقة ، عادت بنية المُراكم إلى رواجها، وكان MOS 6502 مثالًا بارزًا عليها. ولا تزال العديد من وحدات التحكم الدقيقة ذات 8 بت شائعة حتى عام 2014 .، مثل PICmicro و 8051 ، هي آلات تعتمد على المراكم.
تُصنّف وحدات المعالجة المركزية الحديثة عادةً ضمن فئة المعالجات ثنائية أو ثلاثية المعاملات. وتُحدد المعاملات الإضافية أيًّا من سجلات الأغراض العامة (المعروفة أيضًا باسم "المراكم العامة" [ 2 ] أو "المراكم" [ 3 ] [ 4 ] ) يُستخدم كمصدر ووجهة للحسابات. ولا تُعتبر هذه المعالجات من فئة "أجهزة المراكم".
السمة المميزة التي تجعل أحد السجلات بمثابة المُراكم في بنية الحاسوب هي أن المُراكم (إن وُجد) يُستخدم كمعامل ضمني في تعليمات العمليات الحسابية . على سبيل المثال، قد تحتوي وحدة المعالجة المركزية على تعليمة مثل: تُضيف القيمة المقروءة من موقع الذاكرة memaddress إلى القيمة الموجودة في المُراكم، ثم تُعيد النتيجة إلى المُراكم. لا يُحدد المُراكم في التعليمة برقم سجل؛ فهو مُضمن فيها، ولا يُمكن تحديد أي سجل آخر. تستخدم بعض البنى سجلًا مُعينًا كمُراكم في بعض التعليمات، بينما تستخدم تعليمات أخرى أرقام السجلات لتحديد المعامل بشكل صريح.ADD memaddress
تاريخ مُراكم الحاسوب
يمكن اعتبار أي نظام يستخدم "ذاكرة" واحدة لتخزين نتيجة عمليات متعددة نظامًا تراكميًا. يشير ج. بريسبر إيكرت إلى حتى أقدم آلات الجمع التي صممها غوتفريد لايبنتز وبليز باسكال على أنها أنظمة قائمة على التراكم. [ 5 ] كان بيرسي لودجيت أول من ابتكر نظام المضاعف التراكمي (MAC) في آلته التحليلية عام 1909. [ 6 ]
يخصص العرف التاريخي سجلاً لـ "المراكم"، وهو "جهاز حسابي" يقوم حرفياً بتجميع رقمه أثناء سلسلة من العمليات الحسابية:
- "يجب أن يكون الجزء الأول من جهازنا الحسابي ... عبارة عن جهاز تخزين متوازٍ يمكنه استقبال رقم وإضافته إلى الرقم الموجود فيه، كما أنه قادر على مسح محتوياته وتخزين ما يحتويه. سنطلق على هذا الجهاز اسم "المراكم". وهو أمر شائع من حيث المبدأ في أجهزة الحوسبة القديمة والحديثة من مختلف الأنواع، مثل مضاعفات المكتب، وعدادات IBM القياسية، وأجهزة الترحيل الحديثة، وجهاز ENIAC" (جولدستين وفون نيومان، 1946؛ ص 98 في بيل ونيويل 1971).
بعض هذه التعليمات، على سبيل المثال (مع بعض التفسيرات الحديثة):
- قم بمسح المُجمِّع وأضف الرقم من موقع الذاكرة X
- قم بمسح المُجمِّع واطرح الرقم من موقع الذاكرة X
- أضف الرقم المنسوخ من موقع الذاكرة X إلى محتويات المُراكم
- اطرح العدد المنسوخ من موقع الذاكرة X من محتويات المُراكم
- قم بمسح المُراكم ونقل محتويات السجل إلى المُراكم
لا يوجد اتفاق موحد بشأن أسماء العمليات التي تُجرى من المسجلات إلى المُراكم، ومن المُراكم إلى المسجلات. على سبيل المثال، يستخدم التقليد (مثل حاسوب MIX الافتراضي لدونالد كنوث (1973) ) تعليمتين تُسميان تحميل المُراكم من المسجل/الذاكرة (مثل "LDA r") وتخزين المُراكم في المسجل/الذاكرة (مثل "STA r"). ويحتوي نموذج كنوث على العديد من التعليمات الأخرى أيضًا.
الحواسيب البارزة القائمة على البطاريات التراكمية

كان جهاز إينياك (ENIAC) بتكوينه لعام 1945 يحتوي على 20 مُراكمًا، تعمل بالتوازي. [ 7 ] : 46 وكان بإمكان كل مُراكم تخزين عدد مكون من ثمانية أرقام عشرية وإضافة (أو طرح) عدد مُستقبل إليه. [ 7 ] : 33 استخدمت معظم أجهزة الكمبيوتر الثنائية "العلمية" المبكرة من شركة IBM، بدءًا من جهاز IBM 701 الذي يعمل بتقنية الصمامات المفرغة عام 1952، مُراكمًا واحدًا بسعة 36 بت ، بالإضافة إلى مُسجل ضرب/قسمة منفصل للتعامل مع العمليات ذات النتائج الأطول. أما جهاز IBM 650 ، وهو جهاز عشري، فكان يحتوي على مُوزع واحد بسعة 10 أرقام ومُراكمين بسعة 10 أرقام لكل منهما؛ بينما احتوى جهاز IBM 7070 ، وهو جهاز عشري لاحق يعمل بتقنية الترانزستور، على ثلاثة مُراكم. كان لدى نظام IBM System/360 وجهاز PDP-6 من شركة Digital Equipment Corporation ستة عشر مسجلاً للأغراض العامة، على الرغم من أن جهاز PDP-6 وخليفته PDP-10 يُطلقان عليها اسم "المراكم". أما سلسلة GE-600 فكانت جهازاً بمراكم واحد، تميز بامتلاكه ثمانية مسجلات عناوين قوية مُوسومة للوصول إلى معامل ثانٍ.
كان جهاز PDP-8 ذو الـ 12 بت من أوائل الحواسيب الصغيرة التي استخدمت المُراكم، وقد ألهم العديد من الأجهزة اللاحقة. [ 8 ] احتوى PDP-8 على مُراكم واحد فقط. بينما احتوى كل من HP 2100 و Data General Nova على مُراكمين وأربعة مُراكم على التوالي. تم تصميم Nova عندما تم رفض هذا الجهاز، الذي كان يُعتبر خليفةً لـ PDP-8، لصالح ما أصبح لاحقًا PDP-11 . زوّد Nova الجهاز بأربعة مُراكم، من AC0 إلى AC3، مع إمكانية استخدام AC2 و AC3 أيضًا لتوفير عناوين الإزاحة، مما يُشير إلى استخدام أكثر عمومية للمُسجلات. احتوى PDP-11 على 8 مُسجلات للأغراض العامة، على غرار System/360 و PDP-10؛ بينما زوّدت معظم أجهزة CISC و RISC اللاحقة مُسجلات متعددة للأغراض العامة.
كانت المعالجات الدقيقة المبكرة ذات 4 بت و8 بت، مثل 4004 و 8008 وغيرها الكثير، تحتوي عادةً على مُراكم واحد. أما وحدة التحكم الدقيقة 8051 ، فتحتوي على مُراكمين: مُراكم أساسي ومُراكم ثانوي. يُستخدم المُراكم الثانوي فقط في عمليات الضرب (MUL AB) أو القسمة (DIV AB)؛ حيث يقوم الأول بتقسيم الناتج ذي 16 بت بين المُراكمين ذوي 8 بت، بينما يقوم الثاني بتخزين ناتج القسمة في المُراكم الأساسي A والباقي في المُراكم الثانوي B. وباعتبارها امتدادًا مباشرًا للمعالجات 8008 و 8080 و 8086 ، لا تزال معالجات Intel x86 الحديثة واسعة الانتشار تستخدم المُراكم الأساسي EAX والمُراكم الثانوي EDX لعمليات ضرب وقسمة الأعداد الكبيرة. على سبيل المثال، تقوم تعليمة MUL ECX بضرب المسجلين ECX وEAX ( 32 بت) وتقسيم الناتج (64 بت) بين EAX وEDX. مع ذلك، تُعدّ تعليمتا MUL وDIV حالتين خاصتين؛ إذ يمكن لتعليمات حسابية منطقية أخرى (ADD، SUB، CMP، AND، OR، XOR، TEST) تحديد أي من المسجلات الثمانية EAX، ECX، EDX، EBX، ESP، EBP، ESI، EDI كمُجمِّع (أي المعامل الأيسر والوجهة). يمكن استخدام الذاكرة كمُجمِّع إذا تم استخدام مسجل أو قيمة فورية كمصدر. هذا مدعوم أيضًا في عملية الضرب إذا لم يكن النصف العلوي من الناتج مطلوبًا. بالتالي، تُعتبر بنية x86 بنية مسجلات عامة إلى حد كبير، على الرغم من كونها مبنية على نموذج المُجمِّع. [ 9 ] وقد تم تعميم امتداد x86 ذي الـ 64 بت، x86-64 ، ليضم 16 مسجلاً عامًا بدلاً من 8.
ملاحظات توضيحية
- ↑ مثال،
- المُراكم أ، المُراكم ب
- أ (المُجمِّع)، م ق (الناتج المضاعف)
- أ (المُجمِّع)، ق (الناتج)
- المُجمِّع العلوي، المُجمِّع السفلي
- ↑ مثال،
- المُراكم 1-3 على أجهزة IBM 7070 و7072 و7074
مراجع
- ↑ تستند هذه المقالة إلى مواد مأخوذة من Accumulator في قاموس الحوسبة المجاني على الإنترنت قبل 1 نوفمبر 2008 وتم دمجها بموجب شروط "إعادة الترخيص" الخاصة بـ GFDL ، الإصدار 1.3 أو أحدث.
- ↑ "نظرة عامة على HC16" . Freescale.com. مؤرشف من الأصل بتاريخ 28 سبتمبر 2007. تم الاطلاع عليه بتاريخ 22 سبتمبر 2008 .
- ↑ دليل معالج البيانات المبرمج-6 (PDF) . شركة المعدات الرقمية . أغسطس 1964. الصفحات 20، 22.
- ↑ الكتاب الأول: البرمجة باستخدام مجموعة تعليمات PDP-10 (ملف PDF) . دليل مرجعي لـ PDP-10. شركة ديجيتال إكويبمنت . 1969. صفحة 9.
- ↑ ج. بريسبر إيكرت، "مسح لأنظمة ذاكرة الكمبيوتر الرقمية"، حوليات IEEE لتاريخ الحوسبة، 1988، ص 15-28.
- ↑ "جدوى آلة لودجيت التحليلية" .
- 1 2 هايغ، توماس؛ بريستلي، مارك؛ روبيفير، كريسبين (2016). إينياك في العمل: صنع وإعادة صنع الحاسوب الحديث . مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 9780262334419.
- ↑ دليل معالج البيانات المبرمج-1 (PDF) ، ماينارد، ماساتشوستس : شركة المعدات الرقمية ، 1961، صفحة 7: مخطط كتلة نظام PDP-1، مؤرشف (PDF) من الأصل بتاريخ 2022-10-09 ، تم استرجاعه بتاريخ 2014-07-03
- ↑ إيرفين، كيب ر. (2007). لغة التجميع لأجهزة الكمبيوتر القائمة على معالجات إنتل ( الطبعة الخامسة). بيرسون برنتيس هول. الصفحات 633، 622. ISBN 978-0-13-238310-3.
- جولدستين، هيرمان هـ. ، وفون نيومان، جون ، "تخطيط وتشفير مسائل جهاز حاسوب إلكتروني"، تقرير رقم 1947، معهد الدراسات المتقدمة ، برينستون. أعيد طبعه في الصفحات 92-119 من كتاب بيل، سي. جوردون ونيويل، ألين (1971)، هياكل الحاسوب: قراءات وأمثلة ، شركة ماكجرو هيل للنشر، نيويورك. ISBN 0-07-004357-4}. كنز حقيقي من الأوصاف التفصيلية للآلات القديمة، بما في ذلك الصور.
- وحدات المعالجة المركزية
- السجلات الرقمية
