اللوحات الأم المتقدمة Advanced Motherboard–الجزء الثالث
تضارب عناوين الذاكرة:
تضارب خريطة الذاكرة تضارب الذاكرة Memory Conflicts في حقيقة أنه توجد أنواع أخري من الذاكرة بجانب ذاكرة الـ DRAM . وعلي كل فقد استعرض جميع هذه الأنواع بالتفصيل في الفصل الثالث لكن ما نحتاج تناوله هو ذاكرة الـ ROM لكي نفهم أغلب تضارب الذاكرة شيوعا .
تستخدم ذاكرة الـ ROM للقراءة فقط , لا يستخدمها المعالج للكتابة أنما يقوم بتنفيذ برنامج بدء تشغيل الحاسب المخزن في هذه الذاكرة , يعرف هذا البرنامج بالإسم Initial Program Loader(ILPL) أو Boot ROM بدون هذا البرنامج بالاسم موجود في ROM
فإنه بعد تشغيل الكمبيوتر Turned On , فإنه فى هذه الحالة من المستحيل أن يتمكن النظام من التعرف على أجهزة ال1/ 0 المتصلة أو المشغلات الموصلة به أو حتى من أى جهاز المفروض تنفيذ الBoot منه ( جهاز مثل ال Hard Drive ) او ال FloPPy D rive أو ال CD- RoM أو Network ) . لا يمكن للDRAM تنفيذ هذا العمل , لأن جميع المعلومات تكون قد زالت بعد إطفاء جهاز الكمبيوتر في المرة السابقة .
لذالك يتم كتابة برنامج الBoot عن طريق المصنع فى ذاكرة الROM , ولأن ال ROM ذاكرة دائمه فان هذا البرنامج لن يزول حتى ولو بعد إطفاء جهاز الكمبيوتر , وهذا ما لا يحدث فى ذاكرة الDARM لأنها ذاكرة مؤقتة . قدمت شركة IBM معايير أخرى في هذا الصـدد معتمدة على ضم مجموعة من البرامج الفرعية إلى محتوى رقاقة ال ROM , أطلق عليا الأسم " BIOS" (Basic Input / Out Put Services) . تشتمل هذه البرامج الفرعية على مشغلات الأجهزة Device Drivers للعناصر الأساسية للنظام مثل لوحة المفاتيح , مشغلات الأقراص المرنة , مشغلات الأقراص الصلبة وحاكمات اللوحة الأم وهكذا .......
حاولت شركة IBM ضم مشغلات أكثر بقدر المستطاع إلى محتوي رقاقة الBIOS ROM استمرار تقدم التكنولوجيا وأجهزة الBoot الاختيارية Optional Boot Devices ( مثل قدرات الboot لل CD - ROM والشبكات ) غالبا ما يتطلب رقاقة BIOS ROM إضافية أحيانا يطلق عليها ( Supplemental BIOS) على كروت الموائمة التى يمكن توصيلها بهذه الأجهزة فى بعض الأحوال تحتاج بعض الموئمات Adapters مثل كارتات ربط الشبكات ( NIC) Network Interface إلى كمية صغيرة من ذاكرة ال DRAM تكون موضوعة مباشرة على الكارتة لاستخدامها كا Buffer , هنا يمكن أن يحدث تضارب الذاكرة , إذا حدث وأن إثنين أو أكثر من هذه الكارتات لها ذاكرتها الخاصة سواء Supplemental BIOS ROM أو ال DRAM Buffers قد تم توصيفها لاستخدام أى من عناوين الذاكرة أي عندما يأخذ موقعين أحدهما من الذاكرة الرئيسية والأخر من ذاكرة كارتة من الكارتات نفس العنوان هنا يحدث التضارب وبالتالى أحد الموقعين سيعمل والآخر لن يعمل .
خريطة الذاكرة The Me: Mory Map
كى نقلل فرص حدوث تضارب كارتين موائمة مع بعضهما , إذن لابد من رسم خريطة ذاكرة Memory Map ولأن كروت الموائمة في الماضي كانت مصممة لأجهزة كمبيوتري من النوع IBM PC التي كانت محددة بعنونة حد أقصى من المواقع مقداره واحد ميجابايت ( IBM) ضمن هذه المساحة مساحة مخصصة فقط للذاكرة الممددة Extended Memory وهى ذاكرة الDRAM التي لا يجوز لأي من كروت الموائمة أن تأخذ عناوين تقع ضمن عناوينها او عناوين المواقع المخصصة لكارتات الذاكرة التي كانت تركب على مجارى ناقل الMCA أو ناقل ال ISA أو كارتات الPCI اى جميع الذاكرات التي يتم توصيفها Configure عن طريق الBIOS أو نظام التشغيل أوتوماتيكيا دون مشاكل تضارب Conflicts لذلك فإن مشاكل تضارب الذاكرة لايمكن حدوثها إلا من الكارتات التي تأخذ عناوين ضمن عناوين مواقع الواحد ميجابايت الأولى .
إذن منطقة التضارب Conflicts هي منطقة الواحد ميجابايت الأولى من الذاكرة مهما كان حجم الذاكرة الكلى . لذلك كان لابد من تقسيم هذا الواحد ميجابايت إلى أقسام كل قسم يخص نوع من المواقع , يطلق على هذا التقسيم خريطة الذاكرة . ولأن عنوان أي موقع من المواقع المحصورة داخل هذه الخريطة يتحدد عن طريق 20-bit فقط من العنوان الكلى للنظام , إذن باقى الأرقام الثنائية لنا قل عنوان المعالج سواء هذا الناقل 32-bit او 64-bit لا تهم هذه الخريطة فى شيء . نفرض مثالا لعنوان ثنائى لموقع يقع داخل هذه الخريطة , هو العنوان الثنائى 1100, 0101, 1001, 1010, 0011 , العنوان بهذا الشكل صعب أن نفهم منه فى اى قسم من أقسام الخريطة يقع لذالك , من الأفضل تحويل هذا العنوان من ثنائي Binary إلى سداسي عشر Hexadecimal ولأنه من المحتمل أن يكون بعض قرائي الأعزاء غير ملم بطريقة التحويل من ثنائي إلى سداسي عشر , إذن دعونا نلقى الضوء على طريقة التحويل لنأخذ المثال السابق , أولا نقوم بتقسيم العشرين bit إلى خمسة مجموعات بحيث كل مجموعة تتكون من4bits الرقم الثنائى bit الأول من اليمين وزنه العشري ( 1) بينما الرقم الثنائي الثاني وزنه العشري (2) أما الرقم الثنائي الثالث فوزنه العشري (4) والرقم الثنائي الرابع وزنه العشري (8) فيما يلي المجموعة الأولى وفوقها أوزانها العشرية .
8 4 2 1
0 0 1 1
نقوم بتحويل المجموعة من ثنائي إلى عشري وذلك عن طريق جمع أوزان الآحاد فقط إذن بالنسبة للمجموعة السابقة يكون المكافئ العشري لها هو 3 = 2 +1 أي أن المكافئ العشري للمجموعة الأولى هو 3 . نفعل نفس الشىء مع المجموعة الثانية , إذن :
8 4 2 1
1 0 1 0 = 2+8=A
في هذه المجموعة كان المكافئ العشري هو 10 لكنه يكتب A في النظام السداسي عشر إذا صادفنا أن يكون المكافئ العشري 11 فانه يكتب B أما 12 تكتب C , 13 تكتب D, و14 تكتب E , وأخيرا 15 تكتب F . إذن بعد تحويل المجموعات الخمس للعنوان السابق فإن العنوان الثنائي 1100 , 0101 , 1001 ,1010 , 001 يكافئى C59A3h من هنا نجد أن خريطة الذاكرة للواحد ميجابايت الأولى تبدأ من العنوان السداسي عشر 00000h وتنتهى عند العنوان FFFFFh .
تقسم هذه الخريطة إلى قطاعات " Segments" تعرف هذه القطاعات عن طريق الرقم السداسي عشر الذي في أقصى يسار العنوان . على سبيل المثال , فان مدى العناوين من 00000h وحتى 9FFFFh قدحجزت للRAM التقليدية المستخدمة للDOS ويشار لهذه المواقع بأنها القطاعات من0 إلى 9 . القطاعين التاليين لهم القطاع A والقطاع B ( أي المدى من A0000h حتى BFFFFh ) قد حجزا لاستخدام كارتة الفيديو Video Card تنحصر منطقة احتمالات حدوث مشكلات التضارب Conflicts في القطاعات الباقية , القطاع C والقطاع D القطاع E والقطاع F . فى العادة لا توجد مشكلة فى القطاع F ( العناوين المحصورة من F0000h إلى FFFFFh ) لأنة محجوز لـــ ROM اللوحة الأم ولا يمكن لأى ROM أخرى أن توصف " Configured" بعناوين ذلك القطاع هناك بعض الحالات التضارب التى يمكن ان تحدث بالقطاع F نتيجة Software إدارة الذاكرة "Memory Managements" ( أيضا يمكن أن تحدث فى القطاعين B, A ) ولكن يكون في ذالك مشكلة فقط فى حالة استخدام الDOS وأن تكون الذاكرة ذات حجم محدود وهذاما كان يحدث فى النظم القديمة منذ سنوات بعيدة . يحجز القطاع E أيضا لاستخدام ROM اللوحة الأم , ولكن فى واقع الامر لم يستخدم مطلقا , قليل جدا من كارتات الموائمة هى التى توصف Configure عناوين ال ROM أو ال RAM الخاصة بها داخل قطاع الE لذلك المشاكل بهذا القطاع قليله جدا .
هناك مشاكل ممكن حدوثها فى القطاعين C وD . أي كارته ذات ROM من المحتمل أنها ستحاول أن توصف Configure عناوين ذاكرتها باستخدام عناوين الذاكرة التى تقع فى المدى من C8000h إلى DFFFFh ( النصف الأول من القطاع C أى مدى العناوين من C0000h إلى C7FFFh دائما يخص لكارتات فيديو الVGA) . من الأجهزة الأخرى التى أحيانا تسبب تضارب فى هذا المدى موائمات SCSI المضيفة " SCSI Host adapters" وأيضا كارتات الشبكات " Network Cards" يمكن حل مشكلات التضارب هذه عن طريق تغيير كارتة SCSI الثانية . بالنسبة لكارتات ال ISA – SCSI التى لاتتمتع بخاصية " PNP , يكون حل المشكلة عن طريق تغيير وضع المفتاح أو الجانبر الموجود على دائرة الكارتة . بينما فى حالة أن تكون هذه الكارتة تتمتع بخاصية ال" PNP" أو أن الكارتة هى كارتة PCI فإن حل المشكلة يكون عن طريق الضبط بواسطة ال Software .
لتفادى هذه المشكلة لتضارب الذاكرة , أول شيء نفعله هو إنشاء خريطة لأساس النظام , أى بدون أى كارتات الأغراض الخاصية . ثم بعد ذلك نقوم بتثبيت Install كارتة واحدة ثم نقوم بتعريف توصيف عناوينها إما من خلال " Software تشخيص الكارتات المقدم من قبل المصنع ( صانع الكارتة ) "Manufactures Software Diagnostics " أو من خلال الMS- DOS وذلك باستخدام الأمر msd . exe وهو أحد أوامر ال " Microsoft,s Diagnostics Utility" . يمكن لمستخدمى الويندوز الحصول على هذه المعلومات بواسطة قطاع إدارة الأجهزة " Device Manager" الموجود بنافذة لوحة التحكم " Control Panel" بعد إتمام ذلك مع كل كارتة , يمكنك أن ترى إن كان هناك تداخل عناوين لأى من الكارتات مع عناوين عناصر أخري , فإن حدث فإننا نتوقع حدوث مشكلة تضارب .
منافذ الـ (I/O Ports) I/O:
كل جهاز في كل كمبيوتر يستخدم على الأقل عنوان منفذ 1/ 0 واحد , لكن في أغلب الأحوال فإن الجهاز الواحد يستخدم 4 أو 8 او 16 عنوان منفذ الجهاز الواحد يستخدم عناوين المنافذ فيما يلى :
لإرسال الأوامر إلى الجهاز Send Commands To The Device
للحصول على معلومات الجهاز وحالتة And Status Get Device I n For mation .
ضبط وفحص ومسح مقاطعات الجهاز ( فى حالة الأجهزة التى تدار عن طريق المقاطعة )
لإرسال واستقبال البيانات Send And Receive Data
في العادة تكون تضارب منافذ ال 1/ 0 مع كارتات الISA القديمة , ومع ذلك يمكن أن تحدث مع الأجهزة المبنية مباشرة على اللوحة الأم مع توصيلات بناقل ISA كارتات الISA الأحدث التي من النوع PNP- Compatible يمكن إعادة توصيفها أوتوماتيكيا عن طريق نظام التشغيل وبالتالى فهى فى العادة لن تسبب مشاكل تضارب .
تشبه تضارب منافذ ال1/0 تضارب عناوين الذاكرة فى حقيقة الأمر , فإن أشارات عنوان منفذ ال1/0 تحملها نفس الأسلاك ناقل العنوان مع سلك إضافي يستخدمه المعالج ليخبر به باقي النظام أن هذه العملية هى عملية 1/0 وليست عملية ذاكرة , يطلق على هذا السلك الأسم 10/MEM . يستخدم الناقل المعياري ISA العشرة Bits الأولى من ناقل العنوان لتحديد عنوان منفذ ال1/0 تسمح العشرة Bit هذه بعنونة 1024 عنوان مختلف , مدى هذه العناوين من 000h. حجزت العناوين من 000h للدائرة الداخلية للوحة الأم وبالتالي فإن 768 عنوان الباقية هي المتاحة، ابتداء من العنوان 100h وحتى العنوان 3FFh.
يبين الجدول التالي عناوين منافذ الـ I/O الشائعة وقد رتبت ترتيباً تصاعدياً
تعليقات
إرسال تعليق