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

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

كان تكوين ENIAC لعام 1945 يحتوي على 20 مُراكمًا، والتي يمكن أن تعمل بالتوازي. [4] : 46 يمكن لكل منها تخزين رقم مكون من ثمانية أرقام عشرية وإضافة (أو طرح) رقم تلقاه إليه. [4] : 33 استخدمت معظم أجهزة الكمبيوتر "العلمية" الثنائية المبكرة لشركة IBM، بدءًا من جهاز IBM 701 ذي الأنبوب المفرغ في عام 1952، مُراكمًا واحدًا مكونًا من 36 بتًا ، إلى جانب سجل مضاعف/حاصل منفصل للتعامل مع العمليات ذات النتائج الأطول. كان لجهاز IBM 650 ، وهو جهاز عشري، موزع واحد مكون من 10 أرقام ومراكمين مكونين من عشرة أرقام؛ وكان لجهاز IBM 7070 ، وهو جهاز عشري ترانزستوري لاحق، ثلاث مُراكمات. كان لدى نظام IBM System/360 ، و PDP-6 من شركة Digital Equipment Corporation ، 16 سجلاً للأغراض العامة، على الرغم من أن PDP-6 وخليفته، PDP-10 ، يطلقان عليها اسم المجمعات.
كان جهاز PDP-8 ذو 12 بت أحد أول أجهزة الكمبيوتر الصغيرة التي تستخدم المراكم، وألهم العديد من الأجهزة اللاحقة. [5] كان جهاز 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 بضرب السجلات 32 بت ECX وEAX وتقسيم النتيجة 64 بت بين EAX وEDX. ومع ذلك، فإن MUL وDIV هما حالتان خاصتان؛ قد تحدد التعليمات الحسابية المنطقية الأخرى (ADD وSUB وCMP وAND وOR وXOR وTEST) أيًا من السجلات الثمانية EAX وECX وEDX وEBX وESP وEBP وESI وEDI كمُجمِّع (أي المتغير الأيسر والوجهة). وهذا مدعوم أيضًا للضرب إذا لم يكن النصف العلوي من النتيجة مطلوبًا. وبالتالي فإن x86 عبارة عن بنية سجل عامة إلى حد ما، على الرغم من أنها تستند إلى نموذج مُجمِّع. [6] تم تعميم امتداد 64 بت لـ x86، x86-64 ، إلى 16 بدلاً من 8 سجلات عامة.
مراجع
- ^ "نظرة عامة على HC16". Freescale.com. مؤرشف من الأصل في 28 سبتمبر 2007. تم الاسترجاع في 2008-09-22 .
- ^ ج. بريسبر إيكرت، "دراسة استقصائية لأنظمة ذاكرة الكمبيوتر الرقمية"، حوليات معهد مهندسي الكهرباء والإلكترونيات لتاريخ الحوسبة، 1988، ص 15-28.
- ^ "جدوى استخدام آلة لودجيت التحليلية".
- ^ ab Haigh, Thomas; Priestley, Mark; Ropefir, Crispin (2016). ENIAC in Action: Making and Remaking the Modern Computer . MIT Press. 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 . كنز حقيقي من الأوصاف التفصيلية للآلات القديمة بما في ذلك الصور.
