سجل المعالج

مسجل المعالج هو موقع تخزين سريع الوصول إليه متاح لمعالج الحاسوب . [ 1 ] تتكون المسجلات عادةً من مساحة تخزين صغيرة وسريعة ، على الرغم من أن بعض المسجلات لها وظائف عتادية محددة، وقد تكون للقراءة فقط أو للكتابة فقط. في بنية الحاسوب ، تتم معالجة المسجلات عادةً بآليات أخرى غير الذاكرة الرئيسية ، ولكن في بعض الحالات قد يتم تخصيص عنوان ذاكرة لها، كما هو الحال في معالجات DEC PDP -6 / PDP-10 و ICT 1900. [ 2 ]
تقوم معظم الحواسيب، سواءً كانت ذات بنية تحميل/تخزين أم لا، بتحميل عناصر البيانات من ذاكرة رئيسية إلى سجلات حيث تُستخدم في العمليات الحسابية ، وعمليات البت ، وغيرها من العمليات، ويتم التعامل معها أو اختبارها بواسطة تعليمات الآلة . ثم تُخزن العناصر المُعالجة عادةً في الذاكرة الرئيسية، إما بنفس التعليمات أو بتعليمات لاحقة. تستخدم المعالجات الحديثة إما ذاكرة وصول عشوائي ثابتة أو ديناميكية (RAM) كذاكرة رئيسية، وعادةً ما يتم الوصول إلى الأخيرة عبر مستوى واحد أو أكثر من مستويات التخزين المؤقت .
تُعدّ سجلات المعالج عادةً في أعلى هرمية الذاكرة ، وتُوفّر أسرع طريقة للوصول إلى البيانات. ويُشير المصطلح عادةً إلى مجموعة السجلات المُشفّرة مباشرةً كجزء من التعليمات، وفقًا لمجموعة التعليمات . مع ذلك، غالبًا ما تحتوي وحدات المعالجة المركزية الحديثة عالية الأداء على نسخ مُكرّرة من هذه "السجلات المعمارية" لتحسين الأداء عبر إعادة تسمية السجلات ، مما يسمح بالتنفيذ المتوازي والتخميني . وقد اكتسب تصميم x86 الحديث هذه التقنيات حوالي عام 1995 مع إصدارات Pentium Pro و Cyrix 6x86 و Nx586 و AMD K5 .
عندما يصل برنامج حاسوبي إلى نفس البيانات بشكل متكرر، يُطلق على ذلك اسم " موضعية المرجع ". يُعدّ تخزين القيم المستخدمة بكثرة في المسجلات أمرًا بالغ الأهمية لأداء البرنامج. يتم تخصيص المسجلات إما بواسطة المُصرّف في مرحلة توليد الكود ، أو يدويًا بواسطة مُبرمج لغة التجميع .
مقاس
تُقاس سعة المسجلات عادةً بعدد البتات التي يمكنها تخزينها، على سبيل المثال، مسجل 8 بت ، مسجل 32 بت ، مسجل 64 بت ، مسجل 128 بت ، أو أكثر. في بعض مجموعات التعليمات ، يمكن للمسجلات العمل في أوضاع مختلفة، حيث تُقسّم ذاكرة التخزين الخاصة بها إلى أجزاء أصغر (مثلاً، تقسيم 32 بت إلى أربعة أجزاء 8 بت) يمكن تحميل بيانات متعددة (متجه، أو مصفوفة بيانات أحادية البعد ) عليها ومعالجتها في الوقت نفسه. عادةً ما يتم ذلك بإضافة مسجلات إضافية تُحوّل ذاكرتها إلى مسجل أكبر. تُسمى المعالجات التي لديها القدرة على تنفيذ تعليمات واحدة على بيانات متعددة بمعالجات SIMD .
الأنواع
غالباً ما يحتوي المعالج على عدة أنواع من السجلات، والتي يمكن تصنيفها وفقاً لأنواع القيم التي يمكنها تخزينها أو التعليمات التي تعمل عليها:
- يمكن قراءة أو كتابة السجلات التي يمكن للمستخدم الوصول إليها بواسطة تعليمات الآلة. ويُعدّ التقسيم الأكثر شيوعًا لهذه السجلات هو تقسيمها إلى سجلات البيانات وسجلات العناوين.
- يمكن لسجلات البيانات أن تحتوي علىقيم بيانات رقميةمثلالأعداد الصحيحة، وفي بعض البنى،أعداد الفاصلة العائمة، بالإضافة إلىالأحرفومصفوفات البتاتالصغيرة، وبيانات أخرى.
- تحتوي سجلات العناوين علىالعناوينوتستخدمها التعليمات التي تصل بشكل غير مباشر إلىالذاكرة الرئيسية.
- تحتوي بعض المعالجات على سجلات تُستخدم إما لتخزين عنوان أو لتخزين قيم عددية فقط (وفي بعض الحالات تُستخدم كسجل فهرس تُضاف قيمته كإزاحة من عنوان معين)؛ بينما تسمح معالجات أخرى بتخزين كلا النوعين من القيم. وتوجد مجموعة واسعة من أنماط العنونة الممكنة ، والتي تُستخدم لتحديد العنوان الفعلي للمعامل.
- تُستخدم مؤشرات المكدس والإطار لإدارة مكدس الاستدعاءات . ونادرًا ما يتم الوصول إلى مكدسات البيانات الأخرى بواسطة سجلات عناوين مخصصة (انظر آلة المكدس ).
- سجلات الأغراض العامة (يمكن لـ GPRs تخزين كل من البيانات والعناوين، أي أنها سجلات بيانات/عناوين مدمجة؛ في بعض البنى،يتمتوحيدملف السجلبحيث يمكن لـ GPRs تخزين أرقام الفاصلة العائمة أيضًا.
- تُستخدم سجلات الفاصلة العائمة (FPRs) لتخزين أرقام الفاصلة العائمة في العديد من البنى.
- تحتوي السجلات الثابتة على قيم للقراءة فقط مثل الصفر أو الواحد أوباي.
- تحتفظ سجلات المتجهات بالبيانات اللازمة لمعالجة المتجهاتالتي تتم بواسطةSIMD(تعليمات واحدة، بيانات متعددة).
- تحتوي سجلات الحالة على قيم منطقيةتُستخدم غالبًا لتحديد ما إذا كان ينبغي تنفيذ بعض التعليمات أم لا.
- تحتوي سجلات الأغراض الخاصة ( SPRs ) على بعض عناصر حالة البرنامج ؛ وتشمل عادةً عداد البرنامج ، المعروف أيضًا بمؤشر التعليمات، وسجل الحالة ؛ وقد يُدمج عداد البرنامج وسجل الحالة في سجل كلمة حالة البرنامج (PSW). ويُضاف مؤشر المكدس المذكور سابقًا أحيانًا إلى هذه المجموعة. كما يمكن أن تحتويالمعالجات الدقيقة المدمجة، مثل وحدات التحكم الدقيقة ، على سجلات وظائف خاصة تتوافق مع عناصر الأجهزة المتخصصة.
- تُستخدم سجلات التحكم لضبط سلوك مكونات النظام مثل وحدة المعالجة المركزية.
- تُخزّن السجلات الخاصة بالطراز (وتُسمى أيضًاالسجلات الخاصة بالجهاز) البيانات والإعدادات المتعلقة بالمعالج نفسه. ونظرًا لارتباط معانيها بتصميم معالج مُحدد، فمن غير المتوقع أن تظل قياسية بين أجيال المعالجات المختلفة.
- سجلات نطاق نوع الذاكرة (MTRR)
- لا يمكن الوصول إلى السجلات الداخلية عن طريق التعليمات، ويتم استخدامها داخليًا لعمليات المعالج.
- يحتوي سجل التعليمات على التعليمات التي يتم تنفيذها حاليًا.
- السجلات المتعلقة بجلب المعلومات من ذاكرة الوصول العشوائي (RAM) ، وهي مجموعة من سجلات التخزين الموجودة على رقائق منفصلة عن وحدة المعالجة المركزية (CPU):
- سجل مخزن الذاكرة (MBR)، المعروف أيضًا باسمسجل بيانات الذاكرة(MDR)
- سجل عنوان الذاكرة (MAR)
- السجلات المعماريةهي سجلات مرئية للبرمجيات ومحددة بواسطة بنية النظام. وقد لا تتطابق مع المكونات المادية إذا كانت عملية إعادة تسمية السجلات تتم بواسطة المكونات المادية الأساسية.
سجلات الأجهزة متشابهة، لكنها تحدث خارج وحدات المعالجة المركزية.
في بعض البنى (مثل SPARC و MIPS )، يُعتبر السجل الأول أو الأخير في ملف سجلات الأعداد الصحيحة سجلاً افتراضياً، حيث يُبرمج مسبقاً ليعيد القيمة صفر عند قراءته (وذلك غالباً لتبسيط أنماط الفهرسة)، ولا يمكن الكتابة فوقه. في Alpha ، يُطبق هذا أيضاً على ملف سجلات الأعداد العشرية. ونتيجةً لذلك، يُشار عادةً إلى ملفات السجلات بأنها تحتوي على سجل واحد أكثر من عدد السجلات القابلة للاستخدام فعلياً؛ على سبيل المثال، يُذكر 32 سجلاً بينما 31 سجلاً فقط تندرج ضمن تعريف السجل المذكور أعلاه.
أمثلة
يوضح الجدول التالي عدد المسجلات في العديد من بنى المعالجات المركزية الشائعة. على الرغم من اختلاف جميع البنى المذكورة أدناه، إلا أن معظمها يتبع ترتيبًا أساسيًا يُعرف باسم بنية فون نيومان ، والتي اقترحها لأول مرة عالم الرياضيات الأمريكي المجري جون فون نيومان . ومن الجدير بالذكر أيضًا أن عدد المسجلات في وحدات معالجة الرسومات (GPUs) أعلى بكثير من عددها في وحدات المعالجة المركزية (CPUs).
| بنيان | سجلات البيانات والعناوين العامة | سجلات FP | ملحوظات |
|---|---|---|---|
| هوبيت من إيه تي آند تي | ٠ | مجموعة من 7 | جميع تعليمات معالجة البيانات تعمل فقط داخل السجلات، ويجب نقل البيانات إلى سجل قبل المعالجة. |
| كراي-1 [ 3 ] | 8 بيانات قياسية، 8 عناوين | 8 كميات قياسية، 8 كميات متجهة (64 عنصرًا) | يمكن أن تكون سجلات البيانات العددية صحيحة أو عشرية؛ بالإضافة إلى 64 سجلًا من نوع T لتخزين البيانات العددية المؤقتة و64 سجلًا من نوع B لتخزين عناوين البيانات المؤقتة. |
| 4004 [ 4 ] | مُراكم واحد، و16 أخرى | ٠ | |
| 8008 [ 5 ] | مُراكم واحد، وستة أخرى | ٠ | المسجل A هو مُجمِّع تُجرى عليه جميع العمليات الحسابية؛ ويمكن استخدام المسجلين H وL معًا كمسجل عنوان؛ ويمكن استخدام جميع المسجلات كمعاملات في تعليمات التحميل/التخزين/النقل/الزيادة/الإنقاص، وكمُعامل مصدر في تعليمات العمليات الحسابية. لا توجد وحدة معالجة الفاصلة العائمة (FPU) متاحة. |
| 8080 [ 6 ] | مُجمِّع واحد، وستة أخرى، ومؤشر مكدس واحد | ٠ | المسجل A هو مُجمِّع تُجرى عليه جميع العمليات الحسابية. يمكن استخدام أزواج المسجلات B·C وD·E وH·L كمسجلات عناوين في بعض التعليمات، لكن تعليمات وحدة الحساب والمنطق (ALU) لا تستخدم إلا H·L كمؤشر إلى معاملات الذاكرة. يمكن استخدام جميع المسجلات كمعاملات في تعليمات التحميل/التخزين/النقل/الزيادة/الإنقاص، وكمُعامل مصدر في تعليمات العمليات الحسابية. كانت معالجات الفاصلة العائمة المُخصصة للمعالج 8080 هي Intel 8231 وAMD Am9511 وIntel 8232. كما كانت قابلة للاستخدام بسهولة مع المعالج Z80 والمعالجات المُشابهة. |
| Z80 [ 7 ] | 17: مُراكم واحد، 6 أخرى، مجموعة بديلة من مُراكم واحد و6 أخرى، سجلان للفهرسة، مؤشر مكدس واحد | ٠ | يُوسّع معالج Z80 مجموعة سجلات معالج 8080. يمكن استبدال المُراكم والعلامات بسجلات بديلة. كما يمكن استبدال السجلات الستة الأخرى كمجموعة بسجلات بديلة. ويمكن عمومًا استبدال سجلات الفهرسة الجديدة (IX أو IY بالإضافة إلى الإزاحة) بسجل HL. |
| 1802 | مُجمِّع واحد 8 بت، و16 مسجلاً 16 بت | ٠ | يمكن أن يكون أي من السجلات عداد البرنامج أو مؤشر المكدس. |
| iAPX432 | ٠ | مجموعة من 6 | آلة تكديس |
| 16 بت x86 [ 8 ] | 8 | مجموعة من 8 (في حال وجود FP) | تدعم معالجات 8086 / 8088 و 80186 / 80188 و 80286 ، إذا تم تزويدها بمعالج مساعد 8087 أو 80187 أو 80287 لعمليات الفاصلة العائمة، مكدس سجلات بعرض 80 بت وعمق 8 مع بعض التعليمات القادرة على استخدام السجلات بالنسبة لأعلى المكدس كمعاملات؛ بدون معالج مساعد، لا يتم دعم سجلات الفاصلة العائمة. |
| IA-32 [ 9 ] | 8 | مجموعة من 8 قطع (إذا كان هناك FP)، 8 (في حالة وجود SSE/MMX) | يتطلب معالج 80386 معالج 80387 لإجراء عمليات الفاصلة العائمة، بينما احتوت المعالجات اللاحقة على وحدة فاصلة عائمة مدمجة، وكلاهما مزود بمكدس سجلات بعرض 80 بت وعمق 8، مع إمكانية استخدام بعض التعليمات للسجلات الموجودة أعلى المكدس كمعاملات. أما معالج بنتيوم 3 والمعالجات اللاحقة، فقد احتوت على وحدة SSE مع سجلات XMM إضافية بعرض 128 بت. |
| x86-64 [ 9 ] [ 10 ] | 16 (أو 32 إذا كان APX متاحًا) | 16 أو 32 (إذا كان AVX-512 متاحًا) | سجلات FP هي سجلات XMM ذات 128 بت، وتم توسيعها لاحقًا إلى سجلات YMM ذات 256 بت مع AVX/AVX2 وسجلات ZMM0–ZMM31 ذات 512 بت مع AVX-512 . [ 11 ] |
| فيرتشايلد إف 8 [ 12 ] | 1 مُجمِّع، 64 سجلًا مؤقتًا، سجل مؤقت غير مباشر واحد (ISAR) | ٠ | يمكن للتعليمات أن تشير مباشرة إلى أول 16 سجلًا مؤقتًا ويمكنها الوصول إلى جميع سجلات الذاكرة المؤقتة بشكل غير مباشر من خلال ISAR [ 13 ]. |
| COP400 [ 14 ] | مُجمِّع واحد، ومؤشر واحد | ٠ | تتضمن بعض الإصدارات اللاحقة مؤشر مكدس ثنائي البت |
| جيود جي إكس | بيانات واحدة، عنوان واحد | 8 | يُعدّ Geode GX/ Media GX / 4x86 / 5x86 محاكاةً لمعالج متوافق مع 486/Pentium من إنتاج Cyrix / National Semiconductor . وكما هو الحال في Transmeta ، يحتوي هذا المعالج على طبقة ترجمة تُحوّل شيفرة x86 إلى شيفرة أصلية وتُنفّذها. لا يدعم هذا المعالج سجلات SSE ذات 128 بت، بل يدعم فقط مكدس 80387 المكون من ثمانية سجلات فاصلة عائمة ذات 80 بت، ويدعم جزئيًا تقنية 3DNow! من AMD. يحتوي المعالج الأصلي على سجل بيانات واحد وسجل عنوان واحد فقط لجميع الأغراض، ويتم ترجمته إلى أربعة مسارات من سجلات التسمية ذات 32 بت: r1 (الأساس)، وr2 (البيانات)، وr3 (مؤشر الرجوع)، وr4 (مؤشر المكدس) ضمن ذاكرة SRAM المؤقتة لإجراء عمليات الأعداد الصحيحة. |
| صن بلس μ'nSP | 8 (sp, r1-r4, bp, sr, pc) | ٠ | معالج 16 بت من شركة Sunplus Technology التايوانية، والذي يستخدم بشكل ملحوظ في خط V.Smile من VTech لأجهزة ألعاب الفيديو التعليمية، بالإضافة إلى العديد من ألعاب التلفزيون القابلة للتوصيل وأجهزة الألعاب غير ذات العلامات التجارية بدءًا من منتصف العقد الأول من القرن الحادي والعشرين. |
| VM Labs Nuon | ٠ | 1 | معالج مكدس 32 بت، طوّرته شركة VM Labs خصيصًا للوسائط المتعددة. يُستخدم في سلسلة أجهزة تشغيل أقراص DVD من إنتاج الشركة، Nuon، وفي نظام الترفيه العائلي Game Wave من شركة ZaPit Games. تأثر تصميمه بشكل كبير بتقنية MMX من إنتل؛ إذ يحتوي على ذاكرة تخزين مؤقتة موحدة بسعة 128 بايت، تدعم كلًا من التعليمات المتجهة والقياسية. يمكن تقسيم هذه الذاكرة المؤقتة الموحدة إلى ثمانية سجلات متجهة بسعة 128 بت، أو اثنين وثلاثين سجلًا قياسيًا من نوع SIMD بسعة 32 بت، وذلك من خلال إعادة تسمية البنوك؛ ولا يوجد سجل للأعداد الصحيحة في هذا التصميم. |
| Nios II [ 15 ] [ 16 ] | 31 | 8 | يعتمد معالج Nios II على مجموعة تعليمات MIPS IV ويحتوي على 31 سجلًا عامًا للأغراض العامة (GPRs) بحجم 32 بت، مع تثبيت السجل 0 على الصفر، وثمانية سجلات فاصلة عائمة بحجم 64 بت. |
| موتورولا 6800 [ 17 ] | مُجمِّعان، وفهرس واحد، ومكدس واحد | ٠ | |
| موتورولا 68k [ 18 ] | 8 بيانات (d0–d7)، 8 عناوين (a0–a7) | 8 (في حال وجود FP) | السجل العنواني رقم 8 (a7) هو مؤشر المكدس. تتطلب المعالجات 68000 و68010 و68012 و68020 و68030 وحدة معالجة الفاصلة العائمة (FPU) لإجراء العمليات الحسابية ذات الفاصلة العائمة؛ بينما تحتوي المعالجات 68040 على وحدة معالجة الفاصلة العائمة مدمجة. سجلات الفاصلة العائمة هي 80 بت. |
| MSP430 [ 19 ] | 13 | ٠ | 13 سجلاً للأغراض العامة بما في ذلك مؤشر المكدس. أخرى: عداد البرنامج، وسجل الحالة، ومولد الثوابت. |
| سوبر إتش | 16 | 6 | إصدار التعليمات ذو 16 بت (قبل SH-5) |
| محرك المشاعر | 3(VU0)+ 32(VU1) | 32 SIMD (مدمجة في UV1) + 2 × 32 متجه (معالج متجه مساعد مخصص موجود بالقرب من وحدة معالجة الرسومات الخاصة به) | النواة الرئيسية لمحرك المشاعر (VU0) هي نواة معالجة الإشارات الرقمية (DSP) عامة مُعدّلة بشكل كبير، مُخصصة لمهام الخلفية العامة، وتحتوي على مُراكم واحد 64 بت، ومسجلين للبيانات العامة، وعداد برنامج واحد 32 بت. أما النواة التنفيذية المُعدّلة MIPS III (VU1) فهي مُخصصة لبيانات اللعبة والتحكم في البروتوكول، وتحتوي على 32 مسجلاً للأغراض العامة 32 بت لحساب الأعداد الصحيحة، و32 مسجلاً SIMD 128 بت لتخزين تعليمات SIMD، وقيمة بيانات البث، وبعض قيم حساب الأعداد الصحيحة، ومسجل مُراكم واحد لربط حسابات الفاصلة العائمة العامة بملف سجل المتجهات على المعالج المُساعد. يُبنى المعالج المساعد باستخدام ملف سجلات متجهية 32 مدخلاً و128 بت (يخزن فقط قيم المتجهات التي تمر من المُراكم في وحدة المعالجة المركزية)، ولا يحتوي على سجلات للأعداد الصحيحة. ويُبنى كل من المعالج المساعد المتجهي (VPU 0/1) ووحدة المعالجة الرئيسية الكاملة لمحرك المشاعر (VU0 + VU1 + VPU0 + VPU1) استنادًا إلى مجموعة تعليمات MIPS مُعدّلة. في هذه الحالة، لا يُستخدم المُراكم للأغراض العامة، بل للتحكم في الحالة. |
| كودا [ 20 ] | قابلة للتكوين، حتى 255 لكل خيط | سمحت الأجيال السابقة بما يصل إلى 127/63 مسجلاً لكل خيط ( تيسلا / فيرمي ). كلما زاد عدد المسجلات المُهيأة لكل خيط، قلّ عدد الخيوط التي يمكن تشغيلها في الوقت نفسه. يبلغ عرض المسجلات 32 بتًا؛ لذا تتطلب الأرقام العشرية ذات الدقة المزدوجة والمؤشرات ذات 64 بت مسجلين. كما يحتوي على ما يصل إلى 8 مسجلات شرطية لكل خيط. [ 21 ] | |
| سلسلة CDC 6000 [ 22 ] | 16 | 8 | تحتوي ثمانية سجلات من النوع "أ"، من A0 إلى A7، على عناوين بطول 18 بت؛ بينما تحتوي ثمانية سجلات من النوع "ب"، من B0 إلى B7، على قيم عددية صحيحة بطول 18 بت (مع ضبط B0 على الصفر بشكل دائم)؛ أما ثمانية سجلات من النوع "س"، من X0 إلى X7، فتحتوي على 60 بت من البيانات العددية الصحيحة أو العشرية. سبعة من سجلات النوع "أ" الثمانية ذات الـ 18 بت كانت مرتبطة بسجلات النوع "س" المقابلة لها: فعند ضبط أي من السجلات من A1 إلى A5 على قيمة ما، يتم تحميل محتويات ذلك العنوان إلى سجل النوع "س" المقابل. وبالمثل، يؤدي ضبط عنوان في السجلين A6 أو A7 إلى تخزين البيانات في ذلك الموقع من الذاكرة من السجلين X6 أو X7. (لم يكن السجلان A0 وX0 مرتبطين بهذه الطريقة). |
| System/360 ، [ 23 ] System/370 ، [ 24 ] System/390 ، z/Architecture [ 25 ] | 16 | 4 (في حالة وجود FP)؛ 16 في طرازات G5 و S/390 اللاحقة و z/Architecture | كانت خاصية الفاصلة العائمة اختيارية في نظام System/360، وموجودة دائمًا في نظام S/370 والإصدارات اللاحقة. في المعالجات المزودة بخاصية Vector Facility، يوجد 16 سجلًا متجهيًا يحتوي كل منها على عدد من العناصر ذات 32 بت يختلف باختلاف الجهاز. [ 26 ] تُخصص بعض السجلات لوظيفة محددة وفقًا لاتفاقيات الاستدعاء ؛ على سبيل المثال، يُستخدم السجل 14 لعناوين إرجاع البرامج الفرعية، وبالنسبة لواجهات التطبيقات الثنائية ELF ، يُستخدم السجل 15 كمؤشر للمكدس. زاد معالج S/390 G5 عدد سجلات الفاصلة العائمة إلى 16. [ 27 ] |
| MMIX [ 28 ] | 256 | 256 | مجموعة تعليمات صممها دونالد كنوث في أواخر التسعينيات لأغراض تعليمية. |
| NS320xx [ 29 ] | 8 | 8 (في حال وجود FP) | |
| Xelerated X10 | 1 | 32 | معالج شبكة قائم على آلة مكدس 32/40 بت مع مجموعة تعليمات MIPS معدلة ووحدة نقطة عائمة 128 بت. |
| مروحة بارالاكس | ٠ | 2 | وحدة تحكم ثمانية النوى بتقنية المكدس المجزأ 8/16 بت، مزودة بدائرة منطقية بسيطة، تحتوي على 8 عدادات (نوى)، كل منها يحتوي على ثلاثة سجلات تحكم خاصة 8/16 بت مع ذاكرة وصول عشوائي للمكدس 32 بت × 512. مع ذلك، لا تحتوي على أي سجل عام للأعداد الصحيحة. على عكس معظم ملفات سجلات الظل في المعالجات الحديثة وأنظمة متعددة النوى ، يمكن الوصول إلى جميع ذاكرة الوصول العشوائي للمكدس في وحدة cog على مستوى التعليمات، مما يسمح لجميع هذه الوحدات بالعمل كنواة واحدة للأغراض العامة عند الحاجة. وحدة الفاصلة العائمة خارجية وتحتوي على سجلين متجهين 80 بت. |
| إيتانيوم [ 30 ] | 128 | 128 | و64 سجلاً للتنبؤات أحادية البت و8 سجلات للتفرع. أما سجلات الفاصلة العائمة فهي 82 بت. |
| SPARC [ 31 ] | 31 | 32 | السجل العام 0 موصول مباشرة بالرقم 0. يستخدم نوافذ السجل . |
| آي بي إم باور | 32 | 32 | كما تتضمن أيضًا سجل ربط، وسجل عد، وسجل حاصل ضرب (MQ). |
| PowerPC / Power ISA [ 32 ] | 32 | 32 | يتضمن ذلك أيضًا سجل ربط وسجل عد. كما تحتوي المعالجات التي تدعم خاصية المتجهات على 32 سجل متجهات سعة 128 بت. |
| بلاكفين [ 33 ] | 8 بيانات، 2 تراكم، 6 عناوين | ٠ | يتضمن النظام أيضًا مؤشرًا للمكدس ومؤشرًا للإطار. وتُستخدم سجلات إضافية لتنفيذ حلقات بدون تكلفة إضافية ومولدات عناوين البيانات الدائرية (DAGs). |
| IBM Cell SPE | 128 | 128 سجلًا للأغراض العامة، والتي يمكنها الاحتفاظ بقيم عددية صحيحة أو عناوين أو قيم فاصلة عائمة [ 34 ] | |
| PDP-10 | 16 | يمكن استخدام جميع السجلات بشكل عام (الأعداد الصحيحة، والأعداد العشرية، ومؤشرات المكدس، والقفز، والفهرسة، إلخ). يمكن أيضًا التعامل مع كل كلمة ذاكرة (أو سجل) 36 بت كنصف كلمة، والتي يمكن اعتبارها عنوانًا (18 بت). تستخدم بعض التعليمات تفسيرات أخرى للكلمات. في معالجات PDP-10 الأصلية، كانت هذه السجلات العامة الستة عشر (GPRs) تُقابل مواقع الذاكرة الرئيسية (أي النواة ) من 0 إلى 15؛ حيث نفّذ خيار الأجهزة المسمى "الذاكرة السريعة" السجلات كدوائر متكاملة منفصلة، وكانت الإشارات إلى مواقع الذاكرة من 0 إلى 15 تُشير إلى سجلات الدوائر المتكاملة. نفّذت الطرازات اللاحقة السجلات كـ"ذاكرة سريعة" واستمرت في جعل مواقع الذاكرة من 0 إلى 15 تُشير إليها. تأخذ تعليمات النقل مُعاملات (سجل، ذاكرة)MOVE 1,2 : هي من سجل إلى سجل، و MOVE 1,1000هي من ذاكرة إلى سجل. | |
| PDP-11 | 7 | 6 (في حال وجود FPP) | R7 هو عداد البرنامج. يمكن لأي سجل أن يكون مؤشرًا للمكدس، لكن R6 يُستخدم لمقاطعات الأجهزة واعتراضاتها. |
| VAX [ 35 ] | 16 | تُستخدم السجلات العامة أيضًا لقيم الفاصلة العائمة. ثلاثة من هذه السجلات لها استخدامات خاصة: R12 (مؤشر الوسائط)، وR13 (مؤشر الإطار)، وR14 (مؤشر المكدس)، بينما يشير R15 إلى عداد البرنامج. | |
| ألفا [ 36 ] | 31 | 31 | يتم توصيل المسجلين R31 (عدد صحيح) و F31 (فاصلة عائمة) بالصفر بشكل ثابت. |
| 6502 | مُجمِّع واحد، ومؤشران، ومكدس واحد | ٠ | يُعدّ سجلّ المُراكم (A) وجهةً لجميع عمليات وحدة الحساب والمنطق (ALU). أما X وY فهما سجلا فهرسة غير مباشر ومباشر (على التوالي). ويشير سجلّ مؤشر المكدس (S) إلى أعلى المكدس. |
| W65C816S | 1 | ٠ | يُعدّ المعالج 65c816 خليفةً للمعالج 6502 ذي 16 بت. تُستخدم سجلات X وY وD (سجل الصفحة المباشرة) كسجلات شرطية، بينما يُستخدم سجل SP كمؤشر خاص فقط. تم توسيع المُراكم الرئيسي إلى 16 بت (C) [ 37 ] مع الإبقاء على 8 بت (A) للتوافق، ويمكن للسجلات الرئيسية الآن عنونة ما يصل إلى 24 بت (تعليمات بيانات بعرض 16 بت/عنوان ذاكرة بعرض 24 بت). |
| MeP | 4 | 8 | كان المعالج المدمج بالوسائط معالجًا 32 بت طورته شركة توشيبا باستخدام مجموعة تعليمات 8080 معدلة. تتوفر سجلات A وB وC وD فقط في جميع الأوضاع (8/16/32 بت). وهو غير متوافق مع معمارية x86، ولكنه يحتوي على وحدة حسابية عائمة 80 بت متوافقة مع معمارية x87. |
| متحكم دقيق PIC | 1 | ٠ | لا تحتوي بنية PIC الأساسية على آلية لفهرسة الذاكرة. |
| وحدة تحكم دقيقة AVR | 32 | ٠ | |
| ARM 32 بت (ARM/A32, Thumb-2/T32) | 14 | يختلف (حتى 32) | المسجل r15 هو عداد البرنامج، ولا يُستخدم كمسجل للأغراض العامة؛ أما r13 فهو مؤشر المكدس؛ ويمكن استبدال المسجلات من r8 إلى r13 بمسجلات أخرى (تخصيصها) عند تبديل وضع المعالج. كانت الإصدارات القديمة تستخدم عنونة 26 بت، [ 38 ] وتستخدم البتات العليا من عداد البرنامج (r15) لعلامات الحالة، مما يجعل هذا المسجل 32 بت. |
| ARM 32 بت (Thumb) | 8 | 16 | الإصدار 1 من Thumb، الذي كان يدعم فقط الوصول إلى السجلات من r0 إلى r7 [ 39 ] |
| ARM 64 بت (A64) [ 40 ] | 31 | 32 | السجل r31 هو مؤشر المكدس أو موصول بشكل ثابت إلى 0، وذلك حسب السياق. |
| MIPS [ 41 ] | 31 | 32 | تم توصيل سجل الأعداد الصحيحة 0 بالرقم 0 بشكل ثابت. |
| RISC-V [ 42 ] | 31 | 32 | يتم توصيل سجل الأعداد الصحيحة 0 بشكل ثابت بالرقم 0. يحتوي متغير RV32E، المخصص للأنظمة ذات الموارد المحدودة للغاية، على 15 سجلًا للأعداد الصحيحة. |
| عيد الغطاس | 64 (لكل نواة) [ 43 ] | تتحكم كل تعليمة في ما إذا كانت السجلات تُفسَّر كأعداد صحيحة أم كأعداد عشرية أحادية الدقة. ويمكن توسيع بنية المعالج لتشمل 4096 نواة، مع توفر إصدارات حاليًا بـ 16 و 64 نواة. | |
الاستخدام
يؤثر عدد المسجلات المتاحة في المعالج والعمليات التي يمكن إجراؤها باستخدام هذه المسجلات تأثيرًا كبيرًا على كفاءة الكود الناتج عن المترجمات المُحسِّنة . ويُحدد عدد ستراهلر لشجرة التعبير الحد الأدنى لعدد المسجلات اللازمة لتقييم تلك الشجرة.
انظر أيضاً
مراجع
- ↑ "ما هو سجل المعالج؟" . موقع تعليمي: دورات تفاعلية لمطوري البرامج . تم الاطلاع عليه بتاريخ 12 أغسطس 2022 .
- ↑ "دراسة استقصائية لتقنيات تصميم وإدارة ملف سجل وحدة المعالجة المركزية" .
- ↑ "دليل مرجعي لأجهزة نظام الكمبيوتر Cray-1" (ملف PDF) . شركة Cray Research . نوفمبر 1977. مؤرشف (ملف PDF) من الأصل بتاريخ 7 نوفمبر 2021. تم الاطلاع عليه بتاريخ 23 ديسمبر 2022 .
- ↑ "دليل مستخدم مجموعة الحواسيب الصغيرة MCS-4" (ملف PDF) . إنتل. فبراير 1973. مؤرشف (ملف PDF) من الأصل بتاريخ 24-02-2005.
- ↑ "دليل مستخدم وحدة المعالجة المركزية المتوازية 8008 ذات 8 بت" (ملف PDF) . إنتل. نوفمبر 1973. مؤرشف (ملف PDF) من الأصل بتاريخ 4 أكتوبر 2007. تم الاطلاع عليه بتاريخ 23 يناير 2014 .
- ↑ "دليل مستخدم أنظمة الحواسيب الصغيرة Intel 8080" (ملف PDF) . شركة Intel. سبتمبر 1975. مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 6 ديسمبر 2010. تم الاطلاع عليه بتاريخ 23 يناير 2014 .
- ↑ دليل مستخدم معالج عائلة Z80 (ملف PDF) . زيلوج . 2016. ص 3. UM008011-0816. مؤرشف (ملف PDF) من الأصل بتاريخ 26 ديسمبر 2023. تم الاطلاع عليه بتاريخ 5 يناير 2024 .
- ↑ "دليل مرجعي للمبرمجين 80286 و80287" (ملف PDF) . إنتل. 1987. مؤرشف (ملف PDF) من الأصل بتاريخ 23-07-2015.
- 1 2 "أدلة مطوري البرامج لبنيتي Intel 64 و IA-32" . Intel. 4 ديسمبر 2019.
- ↑ "دليل مبرمج معمارية AMD64، المجلد 1: برمجة التطبيقات" (ملف PDF) . AMD . أكتوبر 2013.
- ↑ "مرجع برمجة امتدادات مجموعة تعليمات معمارية إنتل والميزات المستقبلية" (ملف PDF) . إنتل . يناير 2018.
- ↑ F8، دليل المستخدم الأولي للمعالج الدقيق (PDF) . فيرتشايلد. يناير 1975.
- ↑ دليل برمجة F8 (ملف PDF) . قسم الحواسيب الصغيرة في شركة فيرتشايلد موس. 1977.
- ↑ دليل مستخدم عائلة المتحكمات الدقيقة COP400 COPS . شركة ناشيونال سيميكوندكتور . تم الاطلاع عليه بتاريخ 23 يونيو 2025 .
- ↑ "دليل مرجعي لمعالج Nios II Classic" (ملف PDF) . شركة Altera . 2 أبريل 2015.
- ↑ "دليل مرجعي لمعالج Nios II Gen2" (ملف PDF) . شركة Altera. 2 أبريل 2015.
- ↑ "دليل برمجة M6800" (ملف PDF) . موتورولا . نوفمبر 1976. مؤرشف (ملف PDF) من الأصل بتاريخ 14 أكتوبر 2011. تم الاطلاع عليه بتاريخ 18 مايو 2015 .
- ↑ "دليل مرجعي لمبرمج عائلة موتورولا M68000" (ملف PDF) . موتورولا. 1992. تم الاطلاع عليه بتاريخ 10 نوفمبر 2024 .
- ↑ "وحدات التحكم الدقيقة للإشارات المختلطة MSP430F552x و MSP430F551x" (ملف PDF) . شركة تكساس إنسترومنتس . تم الاطلاع عليه بتاريخ 10 نوفمبر 2025 .
- ↑ "دليل برمجة CUDA C" . إنفيديا. 2019. تم الاطلاع عليه في 9 يناير 2020 .
- ^ جيا زهي. ماجيوني، ماركو؛ ستيجر، بنيامين. سكاربازا، دانييلي ب. (2018). “تشريح بنية NVIDIA Volta GPU عبر Microbenchmarking”. أرخايف : 1804.06826 [ cs.DC ].
- ↑ أنظمة الكمبيوتر من سلسلة Control Data 6000، دليل مرجعي (PDF) . شركة Control Data. يوليو 1965.
- ↑ مبادئ تشغيل نظام IBM System/360 (ملف PDF) . IBM.
- ↑ نظام IBM/370، مبادئ التشغيل (ملف PDF) . IBM. 1 سبتمبر 1975.
- ↑ z/Architecture, Principles of Operation (PDF) (الطبعة السابعة ). IBM. 2008.
- ↑ "هندسة أنظمة المؤسسات من IBM /370 ونظام /370 - عمليات المتجهات" (ملف PDF) . IBM. SA22-7125-3 . تم الاطلاع عليه بتاريخ 11 مايو 2020 .
- ↑ "معالج IBM S/390 G5 الدقيق" (ملف PDF) .
- ↑ "الصفحة الرئيسية لـ MMIX" .
- ↑ "كتيب بيانات السلسلة 32000" (ملف PDF) . شركة ناشيونال سيميكوندكتور . مؤرشف (ملف PDF) من النسخة الأصلية بتاريخ 25-11-2017.
- ↑ دليل مطوري البرامج، المجلد 3: مرجع مجموعة تعليمات إنتل إيتانيوم (ملف PDF) . إنتل. مايو 2010.
- ↑ ويفر، ديفيد ل.؛ جيرموند، توم (محرران). دليل هندسة SPARC، الإصدار 9 (ملف PDF) . سانتا كلارا، كاليفورنيا: SPARC International, Inc.
- ↑ Power ISA الإصدار 3.1B (ملف PDF) . مؤسسة OpenPOWER. 14 سبتمبر 2021.
- ↑ معالج بلاكفين، مرجع البرمجة، الإصدار 2.2 (ملف PDF) . شركة Analog Devices. فبراير 2013.
- ↑ "بنية مجموعة تعليمات وحدة المعالجة التآزرية الإصدار 1.2" (ملف PDF) . شركة IBM. 27 يناير 2007.
- ↑ ليونارد، تيموثي إي، محرر (1987). بنية VAX، دليل مرجعي (PDF) . كتب DEC.
- ↑ دليل مرجعي لهندسة ألفا (ملف PDF) ( الطبعة الرابعة). شركة كومباك للكمبيوتر. يناير 2002.
- ↑ "تعلم لغة التجميع 65816" . ويكي تطوير سوبر فاميكوم . تم الاطلاع عليه بتاريخ 14 نوفمبر 2019 .
- ↑ "معيار استدعاء الإجراءات لبنية ARM" (ملف PDF) . شركة ARM القابضة . 30 نوفمبر 2013. تم الاطلاع عليه بتاريخ 27 مايو 2013 .
- ↑ "2.6.2. مجموعة سجلات حالة الإبهام" . دليل المرجع التقني لمعالج ARM7TDMI . شركة ARM Holdings .
- ↑ بنية مجموعة تعليمات Arm A64، Armv8، لملف تعريف بنية Armv8-A (ملف PDF) . Arm. 2021.
- ↑ بنية MIPS64 للمبرمجين، المجلد الثاني: مجموعة تعليمات MIPS64 (ملف PDF) . مؤسسة RISC-V. 12 مارس 2001. تم الاطلاع عليه في 6 أكتوبر 2024 .
- ↑ ووترمان، أندرو؛ أسانوفي، كرست، محرران. (مايو 2017). دليل مجموعة تعليمات RISC-V، المجلد الأول: مجموعة تعليمات مستوى المستخدم، إصدار الوثيقة 2.2 (PDF) . مؤسسة RISC-V.
- ↑ "مرجع معماري لـ Epiphany" (ملف PDF) .
- هندسة الحاسوب
- السجلات الرقمية
- وحدات المعالجة المركزية
