اقرأ في هذا المقال
- تعريف المعالج الدقيق 8085 Microprocessor
- معمارية المعالج الدقيق 8085 Microprocessor
- عمل المعالج الدقيق 8085 Microprocessor
تعريف المعالج الدقيق 8085 Microprocessor:
التعريف: المعالج (8085) هو معالج دقيق (8) بت لأنّه يعمل على (8) بت في وقت واحد ويتم إنشاؤه باستخدام تقنية (N-MOS)، يعرض هذا المعالج الدقيق بعض الخصائص الفريدة وهذا هو السبب في أنّه لا يزال يتمتع بشعبية بين المعالجات الدقيقة، في الأساس، كان (8085) أول معالج دقيق ناجح تجاريًا لشركة (Intel)، كما تمّ التخلص من بعض العيوب المعمارية المرتبطة بـالمعالج (8080) بواسطة المعالج (8085).
حجم ناقل البيانات (data bus) (8085) هو (8) بت بينما حجم ناقل العنوان (address bus) هو (16) بت، لذلك، يمكن معالجة ذاكرة (64) كيلو بايت أي (216)، أيضًا، نظرًا لأنّه يمكن أن يؤدي عملية (8) بت، فإنّ حجم (ALU) هو أيضًا (8) بت، كما أنّه يوفر مزايا تشغيلية، حيث يحتاج (8085) إلى مصدر واحد (+ 5) فولت مع ساعة واحدة فقط بعرض (320) نانوثانية، بينما يتطلب المعالج (8080)، (3) خطوط إمداد طاقة وإشارات ساعة من (500) نانوثانية.
معمارية المعالج الدقيق 8085 Microprocessor:
توفر بنية المعالج الدقيق (8085) فكرة حول ماهية العمليات التي سيتم تنفيذها وكيفية تنفيذها، يمكنه إجراء العمليات الموضحة أدناه:
- يعمل ويخزن بيانات (8) بت.
- ينفذ العمليات الحسابية والمنطقية.
- المعالج (8085) أيضا يعمل على تسلسل التعليمات التي سيتم تنفيذها.
- يخزن البيانات بشكل مؤقت.
ومع ذلك، من أجل إجراء جميع هذه العمليات، يحتاج المعالج إلى وحدة تحكم (control unit)، ووحدة منطقية حسابية (arithmetic logic unit)، وسجلات (registers)، ونواقل (buses)، وغيرها.
الوحدات الوظيفية للمعالج 8085:
- السجلات (Registers): هذه ليست سوى مجموعة من (flip flops)، تستخدم بشكل أساسي للاحتفاظ “تخزين” البيانات.
سجلات الأغراض العامة (General purpose registers): تحتوي المعالجات الدقيقة (8085) على (6) سجلات للأغراض العامة موجودة داخل المعالجات الدقيقة وتخزن بيانات (8) بت من أجل تنفيذ البرنامج.
سجلات الأغراض العامة هذه هي (B وC وD وE وH وL)، ويمكن دمج هذه السجلات لتشكيل أزواج: (BC وDE وHL) من أجل تنفيذ عملية (16) بت، هذه السجلات قابلة للبرمجة، وهذا يعني أنّه يتم الوصول إلى هذه السجلات من قبل المبرمج لإدخال ونقل البيانات من خلال الاستفادة من التعليمات.
السجلات المؤقتة (Temporary registers): يتم استخدام هذه السجلات من قبل (ALU) لتخزين البيانات على أساس مؤقت ولا يمكن الوصول إليها من قبل المبرمج، هذه من نوعين:
1- سجل البيانات المؤقت (Temporary data register): هو سجل (8) بت يحمل المعامل ويوفره إلى (ALU) لتنفيذ البرنامج، أيضًا، يتم تخزين النتائج الفورية بواسطة (ALU) في هذا السجل.
2- سجل (W وZ): تُستخدم هذه السجلات أيضًا للاحتفاظ بالقيم المؤقتة، يتم استخدامه بواسطة قسم التحكم في المعالج الدقيق لتخزين البيانات أثناء العمليات.
- عداد البرامج (Program Counter (PC)): هو في الأساس سجل للأغراض الخاصة يتم استخدامه لتخزين موقع ذاكرة التعليمات المراد تنفيذها، كما هو واضح أنّه من أجل جلب تعليمات من الذاكرة، يحتاج المعالج الدقيق إلى معرفة عنوانه.
إنّه سجل (16) بت لأنّه يخزن العنوان، يتم استخدام هذا السجل من قبل المعالج الدقيق لمحاذاة التعليمات التي سيتم تنفيذها بطريقة متسلسلة، إنّه يعمل بطريقة تجلب كود التشغيل من موقع ذاكرة واحد وتتزايد في نفس الوقت من خلال موقع الذاكرة التالي، وبالتالي، فإنّه يوفر تسلسل البرنامج المراد تنفيذه.
- (Stack Pointer (SP)): وهو أيضًا سجل (16) بت وجزء من الذاكرة، يتم تخزين البيانات في المكدس (stack) بتنسيق تسلسلي ويخزن مؤشر المكدس بشكل عام عنوان آخر عنصر بيانات مخزن في المكدس، وبالتالي فإنّ المكدس يعتمد على (LIFO).
عند إضافة بيانات جديدة في المكدس، يبدأ مؤشر المكدس في الإشارة إلى موقع الذاكرة التالي، مقابل ذلك، عند إزالة عنصر بيانات من المكدس، يشير مؤشر المكدس إلى موقع الذاكرة السابق المشغول.
- المجمع (Accumulator): هو سجل (8) بت يخزن نتيجة العملية التي نفذتها وحدة الحساب والمنطق (ALU)، يُعرف أيضًا باسم السجل (A).
- الأعلام (Flags): يحتفظ سجل الإشارة أساسًا بحالة النتيجة الحالية التي تمّ إنشاؤها بواسطة (ALU) وليس النتيجة التي تمّ إنشاؤها بالفعل، وبالتالي يمكننا القول أنّه يتم استخدامه لاختبار شروط البيانات، يحتوي (8085) على (5) أعلام توضح (5) شروط بيانات مختلفة، هذه هي أعلام حمل (carry) والإشارة (sign) وصفر (zero) والتكافؤ (parity) وأعلام حمل مساعدة (auxiliary carry)، ومع ذلك، فإنّ الأكثر استخدامًا هي: الإشارة والحمل والصفر.
عمل المعالج الدقيق 8085 Microprocessor:
الآن بعد الحصول على فكرة عن الوحدات الوظيفية للمعالج الدقيق (8085)، دعنا نفهم عمل المعالج الدقيق (8085)، نحن نعلم بالفعل أنّ وظيفة المعالج الدقيق هي تنفيذ التعليمات، أيضًا، من أجل تنفيذ التعليمات، يجب أولاً إحضارها ثمّ فك تشفيرها ثمّ تنفيذها، ومن أجل إحضار التعليمات، يجب أولاً معرفة عنوان التعليمات.
عنوان التعليمات موجود في عداد البرنامج، ثمّ يتم وضع هذا العنوان على ناقل العنوان ذي (16) بت ثمّ إعادة توجيهه نحو الذاكرة، من الذاكرة، يتم جلب التعليمات الموجودة في هذا الموقع المحدد للذاكرة من خلال ناقل بيانات (8) بت، هنا يمكننا أن نرى بوضوح أنّنا استخدمنا بشكل مشترك ناقل البيانات وناقل العنوان لتقليل عدد النواقل، كما نعلم أنّه في وقت معين، سيصل المعالج إمّا إلى ناقل البيانات أو ناقل العنوان.
علاوةً على ذلك، عندما يتم جلب التعليمات من الذاكرة، ثمّ من خلال النواقل الداخلية يتم توفير التعليمات لسجل التعليمات، في هذا الوقت المحدد، يكون جلب التعليمات من الذاكرة قد انتهى، الآن، حان الوقت للمعالج لفك تشفير التعليمات، لذلك، يتم تغذيتها بعد ذلك إلى وحدة فك ترميز التعليمات.
شرح عمل المعالج الدقيق 8085 Microprocessor:
لدينا بالفعل فكرة أن كلاً من البيانات والتعليمات في الذاكرة مخزنة في شكل كود تشغيل، لذلك، يتم تحليل كود التشغيل الذي تمّ جلبه بواسطة وحدة فك ترميز التعليمات الموجودة داخل المعالج من أجل تنفيذ التعليمات، ولكن هناك نقطة جديرة بالملاحظة هنا وهي أنّه بعد جلب التعليمات من الذاكرة، يقوم الكمبيوتر الشخصي بزيادة نفسه وبالتالي توفير موقع عنوان التعليمات التالية، لأنّ الكمبيوتر الشخصي لا يلعب أي دور في فك التشفير والتنفيذ.
ومع ذلك، بعد تنفيذ التعليمات الأولى، يتم جلب التالي من الذاكرة، الآن، هذا كله يتعلق بالجلب وفك التشفير، والآن ماذا عن تنفيذ التعليمات؟ في دائرة التوقيت والتحكم (timing and control circuit)، ترسل هذه الدائرة بشكل أساسي إشارات التحكم إلى الوحدات المختلفة للمعالج الدقيق لتنفيذ التعليمات.
لنفترض أنّ التعليمات هي (ADD A وB)، هذا يخبر (ALU) ببساطة بإضافة البيانات الموجودة في السجل (B) مع البيانات الموجودة في المجمع، أي السجل (A)، ولكن، في المعالج (8085)، كانت التعليمات التي تمّ فك شفرتها هي ببساطة (ADD B)، لذلك، تلقائيًا، تضيف (ALU) القيمة الموجودة في المجمع مع البيانات الموجودة في السجل (B).
أيضًا، في المعالج (8085)، تمّ تخزين نتيجة العملية في السجل (A) وهو ليس سوى مجمع، علاوةً على ذلك، عندما يتم فك تشفير تعليمة (ADD C) بواسطة (8085)، تتم إضافة البيانات الموجودة في سجل (C) إلى البيانات الموجودة في السجل (A) ويتم تخزينها في السجل (A)، بسبب هذا الإجراء التراكمي، يُطلق على السجل (A) اسم “مجمع”.
بشكل أساسي، ترسل دائرة التوقيت والتحكم في الوقت المناسب الإشارات إلى المجمع لتحرير قيمته لمتابعة التنفيذ، أيضًا، ترسل دائرة التوقيت والتحكم هذه إشارات إلى تحديد السجل الذي يخبرها باختيار السجل المعين، بمجرد جلب البيانات من سجل معين، يتم تخزينها في السجل المؤقت ويتم استخدامها بواسطة (ALU)، يجب أن يؤخذ في الاعتبار أنّه لا يمكن للمبرمج الوصول إلا إلى سجل الأغراض العامة حيث يتم استخدام السجل المؤقت بواسطة المعالج لإجراء المعامل الثاني للعملية.
الآن، بمجرد تنفيذ العملية، يتم إرسال النتيجة إلى المجمع من خلال ناقل البيانات، ولكن يوجد أيضًا سجل علم (flag register) يحمل حالة النتيجة الموجودة في المجمع، كما ناقشنا سابقًا أنّ سجل العلم يحمل علامة ويحمل المعلومات ذات الصلة بالنتيجة التي تمّ إنشاؤها.