Friday, 1 December 2017

الانتقال المتوسط كفاءة التنفيذ


دليل العلماء والمهندسين لمعالجة الإشارات الرقمية من قبل ستيفن W. سميث، دكتوراه في الطب. الفصل 24: الخطي معالجة الصور كونفولوتيون بواسطة القابلية للفصل هذه هي تقنية للالتفاف سريع، طالما أن بسف هو فصل. ويقال إن جهاز بسف يمكن فصله إذا أمكن تقسيمه إلى إشارتين أحاديتين الأبعاد: إسقاط رأسي وأفقي. ويبين الشكل 24-5 مثالا على صورة قابلة للفصل، و بسف مربع. على وجه التحديد، قيمة كل بكسل في الصورة تساوي النقطة المقابلة في الإسقاط الأفقي مضروبا في النقطة المقابلة في الإسقاط الرأسي. في الشكل الرياضي: حيث x r، c هي الصورة ثنائية الأبعاد، والرأس r أمبير هورس ج هي إسقاطات أحادية البعد. من الواضح أن معظم الصور لا تفي بهذا الشرط. على سبيل المثال، لا يكون قاب قوسين أو أدنى. ومع ذلك، هناك عدد لا حصر له من الصور القابلة للفصل. ويمكن فهم ذلك من خلال توليد توقعات أفقية ورأسية تعسفية، والعثور على الصورة التي تتوافق معها. على سبيل المثال، الشكل 24-6 يوضح هذا مع التشكيلات التي هي الأسي على الوجهين. ثم يتم العثور على الصورة التي تتوافق مع هذه التشكيلات من إق. 24-1. عندما تظهر، تظهر الصورة على شكل الماس الذي يتحلل أضعافا مضاعفة إلى الصفر مع زيادة المسافة من الأصل. في معظم المهام معالجة الصور، و بسف المثالي هو دائري متماثل. مثل قبعة صغيرة مستديرة. على الرغم من أن الصور الرقمية عادة ما يتم تخزينها ومعالجتها في شكل مستطيل من الصفوف والأعمدة، فمن المطلوب تعديل الصورة نفسها في جميع الاتجاهات. هذا يثير السؤال: هل هناك بسف هو متماثل بشكل دائري وفصل الجواب هو، نعم، ولكن هناك واحد فقط، الغاوس. وكما هو مبين في الشكل 24-7، فإن الصورة الغوسية ثنائية الأبعاد لديها إسقاطات هي أيضا غاوس. الصورة والإسقاط غاوس لديهم نفس الانحراف المعياري. لاقناع صورة مع نواة مرشح قابل للفصل، يقنع كل صف في الصورة مع الإسقاط الأفقي. مما أدى إلى صورة وسيطة. بعد ذلك، حل كل عمود من هذه الصورة المتوسطة مع الإسقاط الرأسي لل بسف. الصورة الناتجة مطابقة للالتفاف المباشر للصورة الأصلية ونواة الفلتر. إذا أردت، قم بتثبيت الأعمدة أولا ثم الصفوف النتيجة هي نفسها. ويتطلب التفاف صورة N N N مع نواة تصفية M مرات M وقتا يتناسب مع N 2 M 2. وبعبارة أخرى، كل بكسل في صورة الإخراج يعتمد على جميع وحدات البكسل في نواة التصفية. في المقابل، يتطلب الالتفاف بواسطة قابلية الفصل فقط وقتا يتناسب مع N 2 M. بالنسبة لحبات المرشحات التي هي المئات من البكسل، فإن هذه التقنية تقلل من وقت التنفيذ بعامل المئات. الأمور يمكن أن تحصل على أفضل. إذا كنت ترغب في استخدام بسف مستطيلة (الشكل 24-5) أو بسف على الوجهين الأسي (الشكل 24-6)، والحسابات هي أكثر كفاءة. ويرجع ذلك إلى أن التحليلات أحادية البعد هي مرشح المتوسط ​​المتحرك (الفصل 15) ومرشح القطب أحادي الاتجاه (الفصل 19)، على التوالي. كل من هذه المرشحات أحادية البعد يمكن أن تنفذ بسرعة عن طريق التكرار. هذا يؤدي إلى وقت صورة التلافيف النسبي فقط N 2. مستقلة تماما عن حجم بسف. وبعبارة أخرى، يمكن أن تتحول صورة مع كبير بسف حسب الحاجة، مع عدد قليل فقط من العمليات الصحيحة لكل بكسل. على سبيل المثال، يتطلب التلافيف صورة 512times512 بضع مئات من الملي ثانية فقط على جهاز كمبيوتر شخصي. ثاتس سريع لا أحب شكل من هذين حبات تصفية قرع الصورة مع واحد منهم عدة مرات لتقريب بسف غاوس (مضمونة من قبل نظرية الحد المركزي، الفصل 7). هذه خوارزميات كبيرة، قادرة على انتزاع النجاح من فكي الفشل. أنها تستحق تذكر تذكر. الجزء الرابع: قرارات التصميم في النواة الرابعة براد برادريجيز ظهرت هذه المقالة لأول مرة في مجلة الحاسوب 59 (كانون الثاني / يناير - شباط / فبراير 1993). مقدمة الجميع في المجتمع الرابع يتحدث عن كم هو سهل للميناء الرابع إلى وحدة المعالجة المركزية الجديدة. ولكن مثل العديد من المهام كوتاسيكوت و كوتوبيسكوت، لم يكتب الكثير عن كيفية القيام بذلك لذلك، عندما اقترح بيل كيبلر هذا الموضوع لمقال، قررت أن كسر مع التقليد الشفهي العظيم من فورثوريتس، ​​وتوثيق العملية بالأبيض والأسود. على مدى هذه المواد سوف تطوير فورثس ل 6809، 8051، و Z80. إم القيام 6809 لتوضيح نموذج من السهل والتقليدي الرابع بالإضافة إلى ذلك، إيف نشرت بالفعل 6809 المجمع ROD91، ROD92، و إل تكون بحاجة إلى 6809 فورث لمشاريع تجي المستقبلية. إم القيام 8051 الرابع لمشروع الجامعة، لكنه يوضح أيضا بعض القرارات تصميم مختلفة بدلا من ذلك. و Z80 فورث هو لجميع القراء كيم من تسج، وبالنسبة لبعض الأصدقاء مع ترس-80s جمع الغبار. الأجهزة الأساسية يجب عليك اختيار وحدة المعالجة المركزية. أنا لن الخوض في مزايا وحدة المعالجة المركزية واحد على آخر ل فورث، لأن اختيار وحدة المعالجة المركزية وعادة ما أجبر عليك من قبل اعتبارات أخرى. الى جانب ذلك، والهدف من هذه المقالة هو لإظهار كيفية نقل فورث إلى أي وحدة المعالجة المركزية. هل يمكن أن نتوقع المعتاد 16 بت نواة فورث (انظر أدناه) لاحتلال حوالي 8K بايت من مساحة البرنامج. لنواة كاملة التي يمكن أن تجمع تعريفات الرابع، يجب أن تسمح الحد الأدنى من 1K بايت من ذاكرة الوصول العشوائي. لاستخدام فورثس نظام إدارة كتلة لتخزين القرص، يجب إضافة 3 كيلو بايت أو أكثر للمخازن المؤقتة. بالنسبة لنموذج فورث 32 بت، مضاعفة هذه الأرقام. هذه هي الحد الأدنى للحصول على نواة الرابعة وتشغيلها. لتشغيل تطبيق على الجهاز الخاص بك، يجب زيادة بروم وذاكرة الوصول العشوائي الأحجام لتناسب. 16 أو 32 بيت حجم الكلمة المستخدمة من قبل فورث ليست بالضرورة نفس وحدة المعالجة المركزية. أصغر عملي الرابع هو نموذج 16 بت أي واحد الذي يستخدم 16 بت عدد صحيح وعناوين 16 بت. ويدعو المجتمع الرابع هذا الحجم كوتلسكوت، منذ كوتوردكوت يشير إلى تعريف الرابع. وحدات المعالجة المركزية 8 بت تقريبا تقريبا دعم 16 بت فورثس. وهذا يتطلب عادة ترميزا صريحا للحساب المزدوج البايت، على الرغم من أن بعض وحدات المعالجة المركزية 8 بت لديها عدد قليل من العمليات 16 بت. وحدات المعالجة المركزية 16 بت عادة تشغيل فورثس 16 بت، على الرغم من أن نفس تقنيات الدقة المزدوجة يمكن استخدامها لكتابة 32 بت الرابع على وحدة المعالجة المركزية 16 بت. وقد كتب واحد على الأقل 32 بت الرابع ل 80868088. وحدات المعالجة المركزية 32 بت عادة تشغيل فورثس 32 بت. نادرا ما يحفظ النموذج الرابع طول الشفرة أو وقت المعالج. ومع ذلك، وأنا أعرف من واحد على الأقل 16 بت الرابع مكتوبة ل 68000. وهذا لا يتقلص حجم رمز التطبيق بعامل من اثنين، حيث أن تعريفات رابع المستوى عالية تصبح سلسلة من عناوين 16 بت بدلا من سلسلة من 32- بت. (وهذا سيصبح واضحا قريبا.) ومعظم 68000s، على الرغم من أن لديها الكثير من ذاكرة الوصول العشوائي. كل الأمثلة الموضحة في هذه المقالة هي فورثس 16 بت تعمل على وحدات المعالجة المركزية 8 بت. ذي ثريادينغ تيشنيك كوثريدد كودكوت هو السمة المميزة فورث. و كوتريدكوت الرابع هو مجرد قائمة عناوين الروتينية التي سيتم تنفيذها. يمكنك التفكير في ذلك كقائمة المكالمات الفرعية، مع إزالة تعليمات كال. على مر السنين وقد وضعت العديد من الاختلافات خيوط، والذي هو أفضل واحد يعتمد على وحدة المعالجة المركزية والتطبيق. لاتخاذ قرار، تحتاج إلى فهم كيفية عملهم، ومقاومتهم. رمز الخيوط غير المباشرة (إيتس) هذه هي تقنية الخيوط الرابعة التقليدية، المستخدمة في الشكلين الرابع والثالث، والواردة في معظم الكتب على الرابع. جميع مخططات الترابط الأخرى هي كوتيمبروفيمنتسكووت على هذا، لذلك تحتاج إلى فهم مركز التجارة الدولية لتقدير الآخرين. دعونا ننظر إلى تعريف الكلمة الرابعة سكوار: في نموذجي إيتس فورث هذا سوف تظهر في الذاكرة كما هو مبين في الشكل 1. (سيتم مناقشة رأس في مقال في المستقبل أنه يحمل معلومات التدبير المنزلي المستخدمة في تجميع، وليس متورطا في خيوط .) تفترض واجهت مربع أثناء تنفيذ بعض الكلمة الرابعة الأخرى. سوف فورثس مترجم (إب) يشير إلى خلية في الذاكرة - الواردة في تلك الكلمة كوثروثكوت - الذي يحتوي على عنوان كلمة سكوير. (على وجه الدقة، تحتوي هذه الخلية على عنوان حقل التعليمات سكوارز.) المترجم جلب هذا العنوان، ومن ثم استخدامه لجلب محتويات حقل التعليمات سكويرز. هذه المحتويات هي عنوان آخر - عنوان روتينية لغة الجهاز الذي ينفذ كلمة سكوار. في الكود الزائف، وهذا هو: وهذا يوضح مبدأ مهم ولكن نادرا-توضيح: عنوان الكلمة الرابعة دخلت للتو يتم الاحتفاظ بها في الكلمات W. كود لا تحتاج هذه المعلومات، ولكن كل أنواع أخرى من الكلمات الرابعة تفعل. إذا كان سكوار مكتوبا في شفرة الماكينة، فستكون هذه هي نهاية القصة: سيتم تنفيذ هذه البتة من شفرة الجهاز، ومن ثم الانتقال إلى مترجم فورث - الذي منذ زيادة إب، يشير إلى الكلمة التالية إلى يعدم. وهذا هو السبب في أن المترجم الرابع يسمى عادة نيكست. ولكن، سكوار هو تعريف كوتكولونكوت رفيع المستوى - أنه يحمل كوتريدكوت، قائمة العناوين. من أجل تنفيذ هذا التعريف، يجب إعادة ترجمة مترجم فورث في موقع جديد: حقل المعلمة سكوار. بطبيعة الحال، يجب أن يتم حفظ المترجمين الموقع القديم، لاستئناف الكلمة كوثروثوت الرابع بمجرد الانتهاء من ساحة. هذا هو تماما مثل استدعاء روتين عمل لغة الآلة سكوير هو ببساطة لدفع إب القديم، تعيين إب إلى موقع جديد، تشغيل مترجم، وعندما يتم سكوير بوب إب. (كما ترون، إب هو كروبروغرام كونتركوت من عالية المستوى فورث.) وهذا ما يسمى دوكولون أو إنتر في فورثس مختلفة: يستخدم هذا الشفرة رمز متطابقة من قبل جميع التعاريف عالية المستوى (أي مترابطة) الرابع ذلك لماذا مؤشر إلى هذه الشفرة رمز، وليس الجزء نفسه، يتم تضمينها في تعريف الرابع. أكثر من مئات التعاريف، المدخرات تضيف، وهذا هو السبب في أنها تسمى خيوط غير المباشرة. و كورتورن من سوبروتينكوت هو كلمة إكسيت، الذي يحصل على تجميع عندما رأى فورث. (بعض فورثس يطلق عليه S بدلا من إكسيت). إكسيت فقط ينفذ روتين لغة الجهاز الذي يفعل ما يلي: المشي من خلال اثنين من تعريفات الرابع المتداخلة، فقط للتأكد من أن هذا يعمل. لاحظ خصائص مركز التجارة الدولية: كل كلمة الرابعة لديها حقل رمز واحد الخلية. تعريفات القولون تجميع خلية واحدة لكل كلمة المستخدمة في التعريف. والمترجم الرابع يجب أن يقوم في الواقع بمضاعفة مزدوجة للحصول على عنوان رمز الجهاز التالي لتشغيل (أولا من خلال إب، ثم من خلال W). مركز التجارة الدولية ليس أصغر وأسرع تقنية خيوط. قد يكون أبسط على الرغم من دتك (وصفها المقبل) هو في الحقيقة لا أكثر تعقيدا. فلماذا هناك الكثير من فورثس غير مترابطة الخيوط أساسا لأن فورثس السابقة، وتستخدم كنماذج، كانت غير مترابطة. في هذه الأيام، دتك أصبحت أكثر شعبية. لذلك عندما ینبغي استخدام مرکز التجارة الدولیة من خلال التقنیات المختلفة، یقوم مرکز التجارة الدولیة بإصدار تعریفات أنظف وأکثر أناقة - لا یوجد إلا بعناوین. إذا کنت متمسکا بھذه الاعتبارات، یجوز لمرکز التجارة الدولیة أن یناشدك. إذا كان الرمز الخاص بك يتناقض مع دوافع التعاريف، فإن بساطة وتوحيد تمثيل مركز التجارة الدولية قد يعزز قابلية النقل. مركز التجارة الدولية هو النموذج الكلاسيكي الرابع، لذلك قد يكون من المفضل للتعليم. وأخيرا، على وحدات المعالجة المركزية التي تفتقر إلى تعليمات مكالمة فرعية - مثل 1802 - مركز التجارة الدولية غالبا ما تكون أكثر كفاءة من دتك. تختلف التعليمات البرمجية المترابطة المباشرة رمز مترابطة (دتك) عن مركز التجارة الدولية في واحد فقط من الاحترام: بدلا من حقل التعليمات البرمجية التي تحتوي على عنوان بعض رموز الجهاز، يحتوي حقل التعليمات البرمجية على رمز الجهاز الفعلي نفسه. إيم لا أقول أن التعليمات البرمجية كاملة ل إنتر الواردة في كل تعريف القولون في كلمات كوثيغ-ليفيلكوت فورث، سوف يحتوي حقل التعليمات البرمجية على مكالمة فرعية. كما هو مبين في الشكل 2. تعريفات القولون، على سبيل المثال، سوف تحتوي على دعوة إلى روتين إنتر. الرمز الزائف التالي للخيوط المباشرة هو ببساطة: هذه سرعة المكاسب: المترجم ينفذ الآن فقط واحد غير مباشر. على Z80 هذا يقلل من روتين نيكست - جزء التعليمات البرمجية الأكثر استخداما في نواة فورث - من أحد عشر تعليمات إلى سبعة هذه التكاليف الفضاء: كل تعريف رفيع المستوى في Z80 فورث (على سبيل المثال) هو الآن بايت واحد أطول، حيث تم استبدال عنوان 2 بايت باستدعاء 3 بايتات. ولكن هذا ليس صحيحا عالميا. وقد يحل محل 32 بت 68000 فورث عنوان 4 بايتات مع تعليمات بسر 4 بايت، دون خسارة صافية. وعلى زيلوغ Super8، الذي يحتوي على تعليمات الجهاز ل دتك فورث، يتم استبدال عنوان 2 بايت بواسطة تعليمات 1 بايت إنتر، مما يجعل دتك الرابع أصغر على Super8 بالطبع، تعريفات دتك كود هي بايتين أقصر، لأنها لم تعد بحاجة إلى مؤشر على الإطلاق اعتدت على الاعتقاد بأن تعريفات عالية المستوى في دتك فورثس تتطلب استخدام مكالمة روتينية في حقل التعليمات البرمجية. فرانك سيرجانتس بيغمي فورث SER90 يوضح أن قفزة بسيطة يمكن استخدامها بسهولة كما هو، وعادة ما تكون أسرع. وقد قام جاي كيلي بتجميع مراجعة رائعة لتطبيقات فورث لجهاز عب بيسي KEL92، الذي أوصي به بشدة لكل كتاب نواة فورث. من 19 فورثس درس، 10 تستخدم دتك، 7 تستخدم إيتس، و 2 تستخدم خيوط الروتين الفرعي (نوقشت بعد ذلك). أوصي باستخدام التعليمات البرمجية المباشر الموضوع على رمز غير مباشر الخيوط لجميع حبات الرابع الجديد. الانتقال إلى التالي، أو التعليمات البرمجية في الخط المترجم الداخلي الرابع، نيكست، هو روتين شائع لجميع تعريفات الكود. قد تبقي نسخة واحدة فقط من هذا الروتين المشترك، ويكون كل الكلمات كود القفز إليها. (لاحظ أنك انتقل إلى التالي روتين الفرعية دعوة ليست ضرورية). ومع ذلك، فإن سرعة نيكست أمر حاسم لسرعة النظام الرابع بأكمله. أيضا، على العديد من وحدات المعالجة المركزية، روتين نيكست قصيرة جدا في كثير من الأحيان سوى اثنين أو ثلاثة تعليمات. لذلك قد يكون من الأفضل أن رمز نيكست في الخط، أينما يتم استخدامه. يتم ذلك في كثير من الأحيان عن طريق جعل نيكست ماكرو المجمع. هذا هو سرعة بسيطة مقابل قرار الفضاء: في خط نيكست هو دائما أسرع، ولكن دائما أكبر تقريبا. زيادة الحجم الكلي هو عدد البايتات الإضافية المطلوبة للتوسع في خط، عدد مرات كلمات كود في النظام. في بعض الأحيان ثيريس أي مقايضة على الإطلاق: في 6809 دتك فورث، في خط نيكست هو أقصر من تعليمات القفز سوبروتين ثريدد كود (ستك) تعريف رفيع المستوى الرابع ليس سوى قائمة من الروتين الفرعية التي سيتم تنفيذها. أنت لا تحتاج إلى مترجمين شفويين لإنجاز هذا يمكنك الحصول على نفس التأثير ببساطة عن طريق التوتير قائمة من دعوات روتين معا: انظر الشكل 3. وقد استخدم هذا التمثيل من الكلمات الرابعة كنقطة انطلاق لشرح تقنيات خيوط الرابع لمبرمجي لغة التجميع KOG82. ستك هو تعريفات القولون التمثيل الأنيق والكلمات كود هي الآن متطابقة. يتم التعامل مع كوتيدفيند وردسكوت (فاريابلز، كونستانتس، وما شابه ذلك) كما هو الحال في دتك - حقل الرمز يبدأ مع قفزة أو استدعاء لبعض رمز الجهاز في مكان آخر. العيب الرئيسي هو أن المكالمات الفرعية عادة ما تكون أكبر من العناوين البسيطة. على Z80، على سبيل المثال، يزيد حجم تعريفات القولون بنسبة 50 - ومعظم التطبيق الخاص بك هو تعريفات القولون على العكس من ذلك، على 32 بت 68000 قد لا يكون هناك أي زيادة حجم على الإطلاق، عندما يتم استبدال عناوين 4 بايت مع 4 بايت بسرس. (ولكن إذا كان حجم التعليمات البرمجية الخاص بك يتجاوز 64K، يجب استبدال بعض هذه العناوين مع جسر 6 بايت.) سوبروتين خيوط قد تكون أسرع من خيوط مباشرة. يمكنك توفير الوقت من خلال عدم وجود مترجم، ولكن تفقد الوقت لأن كل إشارة إلى الكلمة الرابعة ينطوي على دفعة والبوب ​​من عنوان المرسل. في دتك فورث، فقط الكلمات عالية المستوى تسبب النشاط على كومة العودة. على 6809 أو زيلوغ Super8، دتك أسرع من ستك. وهناك ميزة أخرى لشركة الاتصالات السعودية: إنها تستغني عن سجل الملكية الفكرية. بعض المعالجات - مثل 8051 - هي قصيرا في معالجة السجلات. القضاء على إب يمكن تبسيط حقا وتسريع النواة الطريقة الوحيدة لمعرفة بالتأكيد هو كتابة نموذج التعليمات البرمجية. ويتعلق هذا الأمر ارتباطا وثيقا باختيار السجلات، الذي نوقش في القسم التالي. شركة الاتصالات السعودية مع التجميع المباشر في التوسع الأمثل المباشر على وحدات المعالجة المركزية القديمة و 8 بت، تقريبا كل البدائية الرابع يتضمن عدة تعليمات الجهاز. ولكن على وحدات المعالجة المركزية أكثر قوة، يتم كتابة العديد من الأوليات الرابع في تعليمات واحدة. على سبيل المثال، في 32 بت 68000، دروب هو ببساطة في فرعي مترابطة الفرعي، باستخدام دروب في تعريف القولون من شأنه أن يؤدي إلى تسلسل أدق هو تعليم اثنين بايت. لماذا تكتب دعوة فرعية رباعية البايت لتعليم ثنائي البايت بغض النظر عن عدد المرات التي يستخدم فيها دروب، لا توجد مدخرات تكون الشفرة أصغر وأسرع إذا تم تشفير أدق مباشرة في تيار بسرس. بعض المجمعين الرابع يفعلون هذا توسع خط كوتينكوت من الكلمات كود CUR93a. والعيب في التوسع في خط هو أن فك العودة إلى شفرة المصدر الأصلي يصبح من الصعب جدا. طالما يتم استخدام المكالمات الفرعية، لا يزال لديك مؤشرات (عناوين الروتين الفرعي) إلى كلمات فورث التي تتضمن مؤشر الترابط. مع مؤشرات على الكلمات، يمكنك الحصول على أسمائهم. ولكن مرة واحدة يتم توسيع كلمة في التعليمات البرمجية في الخط، كل المعرفة من حيث جاء هذا الرمز من فقدت. ميزة التوسع في خط - وبصرف النظر عن السرعة والحجم - هو إمكانية تحسين التعليمات البرمجية. على سبيل المثال، سيتم تجميع تسلسل فورث في 68000 ستك كما يمكن توسيعها في خط كدليل آلة واحدة الأمثل المجمعين الرابع هو موضوع واسع جدا لهذه المادة. هذا هو مجال نشط من البحوث اللغوية الرابعة انظر، على سبيل المثال، SCO89 و CUR93b. تتويجا النهائي الأمثل ستك هو الرابع الذي يجمع إلى كود آلة كوتوريكوت، تماما مثل C أو فورتران مترجم. رمز خيط رمزية (تك) دتك و ستك تهدف إلى تحسين سرعة البرامج فورث، في بعض التكلفة في الذاكرة. الآن يتيح تحريك الاتجاه الآخر من مركز التجارة الدولية، نحو شيء أبطأ ولكن أصغر. الغرض من موضوع الترابط الرابع هو تحديد قائمة من الكلمات الأربع (فرعون) التي يتعين تنفيذها. لنفرض أن نظام فورث 16 بت فقط كان أقصى 256 كلمة مختلفة. ثم كل كلمة يمكن تحديدها بشكل فريد من قبل عدد 8 بت. بدلا من قائمة من عناوين 16 بت، سيكون لديك قائمة من معرفات 8-بت أو كوتوكنس، وكوت وحجم تعريفات القولون سوف يكون نصفه A مؤشر الترابط الرابع يحتفظ جدول عناوين كل الكلمات الأربع، كما كما هو مبين في الشكل 4. ثم يتم استخدام قيمة الرمزية لفهرسة في هذا الجدول، للعثور على الكلمة الرابعة المقابلة لرمز معين. هذا يضيف مستوى واحد من غير المباشرة إلى مترجم فورث، لذلك هو أبطأ من كوتادس-ثريددكوت فورث. الميزة الرئيسية ل فورثس الخيوط رمزية هو حجم صغير. ويعتبر تك أكثر شيوعا في أجهزة الكمبيوتر المحمولة وغيرها من التطبيقات ذات الحجم المقيد بشدة. أيضا، جدول نقاط الاقتباس في كل الكلمات الأربع يمكن تبسيط ربط وحدات منفصلة. عيب تك هو السرعة: تك يجعل أبطأ فورثس. أيضا، مترجم تك هو قليلا أكثر تعقيدا. إذا كنت بحاجة إلى أكثر من 256 كلمات الرابع، من الضروري أن يكون بعض نظام الترميز مفتوحة لخلط الرموز 8 بت وأكبر. أستطيع أن أتخيل 32 بت الرابع باستخدام الرموز 16 بت، ولكن كم من أنظمة 32 بت هي مقيدة الحجم قطاع خيط التعليمات البرمجية نظرا لوجود الكثير من المشتقات 8086 في العالم، خيوط قطاع يستحق ذكر وجيزة. بدلا من استخدام عناوين بايت كوتنورمالكوت ضمن شريحة 64K، يتم استخدام عناوين الفقرة. (A كوتاراغرافكوت هو 16 بايت في 8086.) ثم، يمكن للمترجم تحميل هذه العناوين في سجلات القطاع، بدلا من في سجلات العناوين المعتادة. وهذا يسمح نموذج فورث 16 بت للوصول بكفاءة ميغابايت كامل من 8086 الذاكرة. العيب الرئيسي من خيوط القطاع هو 16-بايت كوغرانولاريتيكيوت من مساحة الذاكرة. يجب أن تكون كل كلمة الرابعة محاذاة إلى حد 16 بايت. إذا كانت الكلمات الأربع لها أطوال عشوائية، سيتم إهدار 8 بايتات في المتوسط ​​لكل كلمة. تسجيل التخصيص بجانب تقنية الترابط، فإن استخدام سجلات وحدة المعالجة المركزية هو قرار التصميم الأكثر أهمية. وربما كان الأكثر صعوبة. توافر سجلات وحدة المعالجة المركزية يمكن تحديد ما هي تقنية خيوط يمكن استخدامها، وحتى ما هي خريطة الذاكرة سوف تكون السجلات الكلاسيكية الرابعة النموذج الكلاسيكي الرابع خمسة سجلات كفتيرتوال. هذه هي الكيانات المجردة التي تستخدم في العمليات البدائية من الرابعة. تم تعريف نيكست و إنتر و إكسيت في وقت سابق من حيث هذه السجلات المجردة. كل واحدة من هذه الخلايا هي خلية واحدة على نطاق واسع - أي في فورث 16 بت، وهذه هي سجلات 16 بت. (هناك استثناءات لهذه القاعدة، كما سترى لاحقا.) قد لا تكون جميع السجلات بو. إذا كان لديك وحدة المعالجة المركزية لا تملك ما يكفي من السجلات، وبعض هذه يمكن أن تبقى في الذاكرة. سوء وصف لهم في ترتيب أهميتها أي الجزء السفلي من هذه القائمة هي أفضل المرشحين ليتم تخزينها في الذاكرة. W هو سجل العمل. يتم استخدامه لأشياء كثيرة، بما في ذلك إشارة الذاكرة، لذلك يجب أن يكون سجل عنوان أي يجب أن تكون قادرة على جلب وتخزين الذاكرة باستخدام محتويات W كعنوان. تحتاج أيضا أن تكون قادرة على القيام الحساب على W. (في دتك فورثس، يجب أيضا أن تكون قادرة على القفز غير المباشر باستخدام W.) يستخدم W من قبل مترجم في كل كلمة الرابعة. في وحدة المعالجة المركزية وجود سجل واحد فقط، يمكنك استخدامه ل W والحفاظ على كل شيء آخر في الذاكرة (وسيكون النظام بطيئة بشكل لا يصدق). إب هو مترجم مترجم. يتم استخدام هذا من قبل كل كلمة الرابعة (من خلال التالي، إنتر، أو الخروج). يجب أن يكون عنوان إب سجلا عنوانيا. تحتاج أيضا إلى أن تكون قادرة على زيادة إب. سوبروتين الخيوط فورثس لا تحتاج هذا السجل. بسب هو كومة المعلمة (أو كوتداتا ستاكوت) مؤشر، وأحيانا تسمى ببساطة سب. أنا أفضل بسب لأن سب غالبا ما يكون اسم سجل وحدة المعالجة المركزية، وأنها لا ينبغي الخلط. معظم الكلمات كود استخدام هذا. يجب أن يكون بسب مؤشر كومة، أو سجل العناوين التي يمكن أن تكون متزايدة وقصيرة. كما أنها زائد إذا كنت تستطيع أن تفعل معالجة مفهرسة من بسب. رسب هو مؤشر كومة العودة، وأحيانا تسمى ببساطة رب. ويستخدم هذا من قبل تعريفات القولون في مركز التجارة الدولية و دتك فورثس، وبكل الكلمات في ستك فورثس. يجب أن يكون رسب مؤشر كومة، أو سجل العناوين التي يمكن أن تكون متزايدة وقصيرة. إذا كان ذلك ممكنا. وضع W، إب، بسب، و رسب في السجلات. السجلات الافتراضية التي تتبع يمكن الاحتفاظ بها في الذاكرة، ولكن عادة ما يكون هناك ميزة السرعة لإبقائهم في سجلات وحدة المعالجة المركزية. X هو سجل عمل، لا يعتبر واحدا من سجلات كوتلاسيكالكوت فورث، على الرغم من أن المركز الكلاسيكي الرابع فورثس في حاجة إليها للغير مباشر الثاني. في مركز التجارة الدولية يجب أن تكون قادرة على القفز غير المباشر باستخدام X. X يمكن أيضا أن تستخدم من قبل عدد قليل من الكلمات كود للقيام الحساب ومثل هذه. هذا مهم بشكل خاص على المعالجات التي لا يمكن استخدام الذاكرة كمعامل. على سبيل المثال، أد على Z80 قد يكون (في الكود الزائفة) أحيانا يتم تعريف سجل عمل آخر، Y، أيضا. أوب هو مؤشر المستخدم، مع الاستمرار على عنوان قاعدة منطقة المستخدم المهام. أوب عادة ما تضاف إلى إزاحة، وتستخدم من قبل رمز فورث رفيع المستوى، لذلك يمكن تخزينها فقط في مكان ما. ولكن إذا كانت وحدة المعالجة المركزية يمكن أن تفعل معالجة مفهرسة من سجل أوب، يمكن للكلمات كود بسهولة أكبر وسرعة الوصول إلى متغيرات المستخدم. إذا كان لديك فائض من سجلات العناوين، استخدم واحد ل أوب. مهمة واحدة فورثس لا تحتاج أوب. X - إذا لزم الأمر - هو أكثر أهمية للاحتفاظ في سجل من أوب. أوب هو أسهل من السجلات الظاهرية فورث للانتقال إلى الذاكرة. استخدام كومة الأجهزة تحتوي معظم وحدات المعالجة المركزية على مؤشر كومة كجزء من الأجهزة المستخدمة من قبل المقاطعات والمكالمات الفرعية. كيف هذه الخريطة في سجلات فورث يجب أن يكون بسب أو رسب الجواب القصير هو، فإنه يعتمد. ويقال أن بسب يستخدم أكثر من رسب في مركز التجارة الدولية و دتك فورثس. إذا كانت وحدة المعالجة المركزية لديك تحتوي على عدد قليل من سجلات العناوين، و بوش و بوب أسرع من مرجع صريح، استخدم كومة الأجهزة ككومة المعلمة. من ناحية أخرى، إذا وحدة المعالجة المركزية الخاصة بك غنية في معالجة وسائط - ويسمح معالجة مفهرسة - ثيريس زائد في وجود بسب كغرض عنوان الغرض العام. في هذه الحالة، استخدم كومة الأجهزة ككومة الإرجاع. في بعض الأحيان كنت لا تفعل كومة الأجهزة TMS320C25s ثمانية خلايا فقط عميقة - كل ولكن غير مجدية ل فورث. لذلك يتم استخدام كومة الأجهزة فقط للمقاطعات، وكل من بسب و رسب هي سجلات العناوين للأغراض العامة. (أنس فورث تحدد ما لا يقل عن 32 خلية من كومة المعلمة و 24 خلية من كومة العودة أفضل 64 خلية من كل.) سوف تواجه أحيانا العقيدة أن كومة الأجهزة كتكست تكدس كومة المعلمة، أو قم بإزالة كومة العودة. بدلا من ذلك، قم بتدوين بعض العينات الأولية، مثل معرفة أي نهج أصغر أو أسرع. (دوب و دروب، بالمناسبة، لا يوجد اختبار - أنها عادة تافهة). في بعض الأحيان كنت قد وصلت إلى استنتاجات غريبة وأشار غاري بيرغستروم إلى أن 6809 دتك فورث يمكن إجراء بضع دورات أسرع باستخدام مؤشر كومة المستخدم 6809 كما إب نيكست يصبح بوب. يستخدم سجل فهرس لأحد مداخن فورثس. أعلى من المكدس في سجل يمكن تحسين أداء فورثس إلى حد كبير من خلال الحفاظ على العنصر العلوي من كومة المعلمة في سجل العديد من الكلمات الأربع (مثل 0) ثم لا تحتاج إلى استخدام المكدس. كلمات أخرى لا تزال تفعل نفس العدد من يدفع والملوثات العضوية الثابتة، إلا في مكان مختلف في التعليمات البرمجية. فقط عدد قليل من الكلمات الأربع (دروب و 2DROP) تصبح أكثر تعقيدا، حيث لم يعد يمكنك ببساطة ضبط مؤشر كومة - لديك لتحديث سجل توس كذلك. هناك عدد قليل من القواعد عند كتابة الكلمات كود: كلمة التي يزيل العناصر من المكدس يجب أن تطفو على توس توسع في سجلها. الكلمة التي تضيف عناصر إلى المكدس يجب دفع توسك كوتكوت على المكدس (ما لم، بالطبع، المستهلكة من قبل الكلمة). إذا كان لديك ما لا يقل عن ستة سجلات وحدة المعالجة المركزية حجم الخلية، أوصي الحفاظ على توس في السجل. أرى توس أكثر أهمية من أوب أن يكون في التسجيل، ولكن أقل أهمية من W، إب، بسب، و رسب. (توس في السجل يؤدي العديد من وظائف سجل X). مفيدة إذا كان هذا السجل يمكن أن تؤدي معالجة الذاكرة. بدب-11s، Z8s، و 68000s مرشحين جيدين. تسعة من 19 عب بيسي فورثس دراستها غي كيلي KEL92 تبقي توس في السجل. وأعتقد أن هذا الابتكار قد قاوم بسبب المعتقدات الكاذبة أن أ) أنها تضيف تعليمات، و ب) يجب أن يكون عنصر كومة العلوي يمكن الوصول إليها كذاكرة. وتبين أن حتى كلمات مثل بيك، رول، و ديبث يتم تعديلها تافهة ل توس في التسجيل. ماذا عن التخزين المؤقت عنصرين كومة في السجلات عند الاحتفاظ الجزء العلوي من المكدس في سجل، لا يزال العدد الإجمالي للعمليات المنجزة هي نفسها في الأساس. لا يزال دفع دفعة، بغض النظر عما إذا كان قبل أو بعد العملية التي تقوم بها. من ناحية أخرى، التخزين المؤقت عنصرين كومة في سجلات يضيف عددا كبيرا من التعليمات - دفعة يصبح دفعة تليها خطوة. يمكن فقط المعالجات الرابعة المخصصة مثل RTX2000 ومجمعي الأمثل ذكي خيالي الاستفادة من التخزين اثنين من عناصر المكدس في السجلات. بعض الأمثلة هنا هي مهام السجل التي قام بها فورثس لعدد من وحدات المعالجة المركزية المختلفة. حاول استنتاج القرارات التصميمية للمؤلفين من هذه القائمة. يشير كوتسكوت إلى مؤشر كومة الأجهزة. يشير كوزاباجيكوت إلى القيم المحفوظة في صفحة الذاكرة 6502s الصفر، والتي تكون تقريبا مفيدة - أحيانا أكثر فائدة من - القيم المحفوظة في السجلات على سبيل المثال. ويمكن استخدامها لمعالجة الذاكرة. كوتيفيدسكوت يعني أن باينس 8051 فورث لديه واحد، منطقة المستخدم غير المنقولة، و أوب هو ثابت الثابت. سجلات الضيقة لاحظ أي شيء غريب في القائمة السابقة 6502 فورث - نموذج 16 بت - يستخدم مؤشرات مكدس 8 بت فمن الممكن لجعل بسب، رسب، وأصغر من حجم الخلية من الرابع. وذلك لأن المداخن ومنطقة المستخدم هي مناطق صغيرة نسبيا من الذاكرة. كل كومة قد تكون صغيرة مثل 64 خلايا في الطول، ومنطقة المستخدم نادرا ما يتجاوز 128 الخلايا. تحتاج ببساطة للتأكد من أن إما أ) هذه المناطق البيانات تقتصر على مساحة صغيرة من الذاكرة، لذلك يمكن استخدام عنوان قصير، أو ب) يتم توفير بت عنوان عالية بطريقة أخرى، على سبيل المثال. يتم تحديد صفحة الذاكرة. في 6502، يقتصر المكدس الأجهزة إلى الصفحة الأولى من ذاكرة الوصول العشوائي (عناوين 01xxh) من خلال تصميم وحدة المعالجة المركزية. يمكن استخدام مؤشر المكدس 8 بت ل ريتورن ستاك. يتم الاحتفاظ كومة المعلمة في صفحة صفر من ذاكرة الوصول العشوائي، والتي يمكن الوصول إليها بشكل غير مباشر من قبل سجل مؤشر 8 بت X. (سؤال للطالب المتقدم: لماذا استخدام 6502s X، وليس تلميح Y: نظرة على وسائط معالجة المتاحة. ) في 8051، يمكنك استخدام سجلات 8 بت R0 و R1 لمعالجة ذاكرة الوصول العشوائي الخارجية، شريطة أن تقوم بإخراج 8 بت عالية من العنوان إلى المنفذ 2. وهذا يسمح ل كتيباج سيليكتكوت لمكدستين. أوب يختلف عن بسب و رسب: فإنه ببساطة يوفر عنوان قاعدة لم يتم زيادة أو تناقص أبدا. لذلك عملي لتوريد فقط بت عالية من هذا السجل الظاهري. ويجب بعد ذلك توفير البتات المنخفضة باستخدام أي تقنية معالجة مفهرسة. على سبيل المثال، على 6809، يمكنك استخدام سجل دب للاحتفاظ ب 8 بت عالية من أوب، ثم استخدام الصفحة المباشرة معالجة للوصول إلى أي من 256 موقعا في هذه الصفحة. هذا يجبر جميع مناطق المستخدم للبدء على عنوان xx00h، الذي لا توجد مشقة كبيرة، ويحد من مساحة المستخدم إلى 128 خلايا في الطول. على 8086 هل يمكن أن تصور استخدام سجل شريحة لتحديد عنوان قاعدة لمنطقة المستخدم. المراجع CUR93a كيرلي، تشارلز، كوتليف في فاستفورث لين، بانتظار النشر في فورث ديمنزيونس. وصف 68000 روتيني الخيوط الرابع. CUR93b كيرلي، تشارلز، كوتوبوتيميزينغ في بسرجسر الخيوط الرابع، بانتظار نشر في الرابع الأبعاد. واحد تمرير رمز الأمثل ل فاستفورث، في خمس شاشات فقط من رمز يتضمن الإدراج. KEL92 كيلي، غاي M. كوتورث كومباريسونز كومباريسونس، فور فورث ديمنزيونس زيي: 6 (مارابر 1992). نشرت أيضا في إجراءات المؤتمر فورمل 1991. وكلاهما متاح من مجموعة فورث إنتيريست، P. O. بوكس 2154، أواكلاند، كا 94621. يوضح مقايضات التصميم لكثير من 8086 فورثس مع شظايا رمز ومعايير - ينصح بشدة KOG82 كوغ، بيتر M. كوتان الممر المعماري إلى الخيوط - أنظمة كود، إيي الكمبيوتر، المجلد. 15 رقم 3 (مار 1982). يبقى الوصف النهائي لمختلف تقنيات خيوط. ROD91 رودريجيز، B. J.KP. Y.O. أسمبلر، كوت بارت 1، ذي كومبيوتر جورنال 52 (سيبوكت 1991). المبادئ العامة لكتابة المجمعين الرابع. ROD92 رودريجيز، B. J.KP. Y.O. المجمع، الجزء الثاني، مجلة الحاسوب 54 (جانفب 1992). A، 6809، المجمع، إلى داخل، فورث. SCO89 سكوت، أندرو، كوتان إكستنسيبل أوبتميزر فور كومبينغ فورث، كوت 1989 فورمل كونفيرانس بروسيدينغس. مجموعة المصالح الرابعة، P. O. بوكس 2154، أواكلاند، كا 94621. وصف جيد ل 68000 محسن أي رمز المقدمة. CUR86 كيرلي، تشارلز، ريال-فورث ل 68000. تم توزيعها بشكل خاص (1986). JAM80 جيمس، جون S. فيغ-فورث فور بدب-11. فورث إنتيريست غروب (1980). KUN81 كونتز، روبرت E. مفب-فورث عن أبل إي. مطبعة ماونتن فيو (1981). LAX84 لاكسين، H. و بيري، M. F83 ل عب بيسي. الإصدار 2.1.0 (1984). وزعت من قبل المؤلفين، وهي متاحة من مجموعة الفائدة الرابعة أو جيني. LOE81 لوليجر، R. G. ثريدد إنتربريتيف لانغواجيس. بايت بوبليكاتيونس (1981)، إيسبن 0-07-038360-X. قد يكون الكتاب الوحيد من أي وقت مضى مكتوب على هذا الموضوع من خلق نواة تشبه الرابع (المثال المستخدم هو Z80). يستحق ذلك إذا كان يمكنك العثور على نسخة. MPE92 الصغرى هندسة المحدودة مب Z8Super8 بويرفورث الهدف. MPE Ltd. 133 Hill Lane, Shirley, Southampton, S01 5AF, U. K. (June 1992). A commercial product. PAY90 Payne, William H. Embedded Controller FORTH for the 8051 Family . Academic Press (1990), ISBN 0-12-547570-5. This is a complete quotkitquot for a 8051 Forth, including a metacompiler for the IBM PC. Hardcopy only files can be downloaded from GEnie. Not for the novice SER90 Sergeant, Frank, Pygmy Forth for the IBM PC . version 1.3 (1990). Distributed by the author, available from the Forth Interest Group. Version 1.4 is now available on GEnie, and worth the extra effort to obtain. TAL80 Talbot, R. J. fig-Forth for the 6809 . Forth Interest Group (1980). Authors note for web publication: the files formerly available on the GEnie online service are now available from the Forth Interest Group FTP server, ftp:ftp. forth. orgpubForth. The Private Participation in Infrastructure (PPI) Project Database has data on over 6,400 infrastructure projects in 139 low - and middle-income countries. The database is the leading source of PPI trends in the developing world, covering projects in the energy, telecommunications, transport, and water and sewerage sectors. Some key changes were made to the methodology of the PPI database in 2015. See details here (PDF) New Sources of Financing for PPPs in 2015 Access the data on how PPPs in low and middle income countries were financed in 2015. Available under PPI Resources. - Total investments in private infrastructure in emerging markets in 2015 remained steady at US111.6 billion. - 2015 saw the largest single investment commitment ever recorded: Turkeys US35.6 billion IGA Airport. - Excluding Brazil, China, and India, global PPI in 2015 increased by 92 percent year over year. - Solar energy investment climbed 72 percent higher than the previous five-year average to reach US9.4 billion. - Renewable energy captured nearly two-thirds of energy investments with private participation. PPI in IDA Countries, 2009 to 2014: Private investment in infrastructure in IDA countries from 2009 to 2014 totaled US73 billion.

No comments:

Post a Comment