سؤال

لقد سمعت المصطلحات:سجل، سجل الأجهزة، سجل البرنامج، ملف التسجيل.

ما الفرق بين كل هذه؟وفي Assebmly ما هو نوع سجل EAX؟تسجيل البرنامج؟

هل كانت مفيدة؟

المحلول

السجل هو منطقة تخزين داخل وحدة المعالجة المركزية.فيما يلي بعض التعريفات:

  • ملف التسجيل عبارة عن مجموعة من السجلات - انظر http://en.wikipedia.org/wiki/Register_file للحصول على وصف كامل.
  • سجل eax هو السجل التراكمي لعائلة وحدات المعالجة المركزية Intel x86 - وهو المكان الذي يتم فيه إجراء العمليات الحسابية الصحيحة.
  • سجل البرنامج (أعتقد أنك تقصد عداد البرنامج) هو سجل ذو غرض خاص يحتوي على عنوان تعليمات كود الجهاز التالية التي سيتم تنفيذها

نصائح أخرى

وبسجل هو جهاز تخزين البيانات أبسط. الآن هذه هي الاختلافات الرئيسية.

وملف السجل عموما هو جمع كبير من السجلات التي نظمت في مثل هذه الطريقة بحيث أنها تستخدم في العمليات الحسابية. في معالج الحديثة، يتم تنفيذ جميع العمليات الحسابية بين القيم المخزنة في عدة سجلات في ملف السجل.

ويشير السجل الأجهزة عموما إلى السجلات التي تقوم بتخزين معلومات التكوين والحالة. هذا يمكن أن يكون للمعالج أو بعض خارجي جهاز I / O.

وبسجل البرنامج قد يشير إلى العداد البرنامج، سجل خاص يخزن موقع الذاكرة التعليمة الحالي يتم تنفيذه من قبل المعالج.

وسجل هو جزء صغير جدا من الذاكرة التي تقع داخل وحدة المعالجة المركزية. ويستخدم من قبل لغة التجميع لأداء المهام المختلفة.

ويمكن أن يكون ذلك من خلال برنامج السجل الذي يعني عداد البرنامج؟

حسنا، لديك سجلات للأغراض العامة، ثم لديك سجلات التي لها استخدام خاص (على سبيل المثال، سجلات عداد البرنامج)، وكان لديك الآخرين مختلف (سجلات الذاكرة / الجزء، SSE).

وEAX، EBX، وما هي معيار سجلات الأغراض العامة. يمكنك استخدامها لكل ما تريد. عادة، يفترض قيمة الإرجاع إلى وضعها في EAX، ولكن هذا هو الأساس. ثم لديك EBP كومة المؤشر، مما يشير إلى بداية الكدسة. وأخيرا، عليك أن العداد، والذي يشير إلى تعليمات الحالي، EIP البرنامج. على x86 و هناك بعض الحالات الخاصة، حيث سجلين الحصول تنصهر عند القيام الحسابية صحيح 64-بت. وتوجد المزيد من حالات خاصة لتعليمات السلسلة. إذا كنت على وشك أن تعلم الجمعية، فإن أسهل أن تكون لتبدأ مع باور، التي لديها أكثر السجلات، وأنت حر في استخدام كل منها دون قيود.

وهذه السجلات هي سجلات الأجهزة بطبيعة الحال، أي أنها مبنية جسديا في وحدة المعالجة المركزية الخاصة بك..) والمكان الذي يسمى لديهم ملف السجل

والنوع الآخر من سجلات ترون هو إذا كان لديك جهاز ظاهري الذي يستخدم سجلات ( الببغاء )، وتحصل على "سجلات افتراضية"، والتي يتم بعد تعيين لسجلات حقيقية. هذا يشبه ما يمكنك القيام به عند كتابة مترجم نفسك، تفترض في الأساس كمية غير محدودة من السجلات (أي، يمكنك إنشاء واحد جديد على كل الاستخدام)، والقيام التحول إلى السجلات الحقيقية في مرحلة مختلفة (تسجيل تخصيص ).

وA "الأجهزة التسجيل" يمكن أن تشير أيضا إلى موقع داخل بعض الجهاز. على سبيل المثال، UART (منفذ COM) يبدو وكأنه موصل على شكل D مع 9 أو 25 دبابيس من خارج مجلس الوزراء، ولكن إلى برنامج تشغيل الجهاز يبدو وكأنه عدة سجلات التكوين، تسجيل حالة وسجلات بيانات عقد الحرف التالي ل إرسال والحرف الأخير من استلامها. (لقد تركت خارج <م> الكثير التفاصيل هناك).

في الهندسة المعمارية إلى x86 وتقع تلك السجلات عادة في مساحة عنوان البدني الخاص التي يتم الوصول إليها مع تعليمات I / O. في منصات أخرى، فإنه من الشائع للسجلات الأجهزة ليتم تعيينها إلى بعض زاوية من مساحة الذاكرة العادي. في كلتا الحالتين، أحد الأدوار الهامة لنظام التشغيل وبرامج تشغيل الأجهزة التي هي لمنع رمز التطبيق من الحاجة إلى معرفة تفاصيل حيث توجد سجلات الأجهزة وما تعنيه.

في بعض أنواع الأجهزة، والتمييز بين الذاكرة والأجهزة سجلات أقل وضوحا. على سبيل المثال، محول الفيديو يحتوي على كتلة من الذاكرة المعروفة باسم المخزن المؤقت الإطار الذي يحمل قيم الألوان والسطوع لكل بكسل الفردية. غير أن الذاكرة سجل الأجهزة كبير أم أنها مجرد منطقة عازلة يحتوي على الآثار الجانبية للاهتمام؟

فيما يتعلق بالسؤال، هناك نوعان عامان من السجلات يجب عليك مراعاتهما:

  • سجلات البرنامج
  • سجلات الأجهزة

يتم تسجيل سجلات الأجهزة (يتم تحديثها عند دقات الساعة) ويتم استخدامها في بدني تصميم دوائر المعالج .

سجلات البرنامج هي ذاكرة وصول عشوائي ويتم الاحتفاظ بها في ملف تسجيل موجود في وحدة المعالجة المركزية.تصل تعليمات رمز التجميع/الجهاز إلى هذه السجلات من خلال أسماء مثل %eax، و%esp، و%rdi، و%edi، وما إلى ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top