المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيف يتم الربط بين Chip's و البرمجيات ؟



TeT_TaT
04-12-2006, 21:03
من المعروف ان اللغه التي تتعامل معها المكونات الألكترونيات الدقيقة والتي تحتوي على الكثير من الدوائر المنطقة هي لغه (1,0) ولا تفقه هل المعدات اللغه العامه التي نسخدمها في الحاسب .
وفي نفس الوقت نجد ان برامج الحاسب لا تفهم لغه الارقام (1,0) لهذا فيوجد وسيط مترجم بين الاثنين .

الامر الذي بدء يحيرني هو بعض البرامج التي بدات التعامل معها اتضح لي ان بعض من تلك البرامج تتطلب وجوده Chip من نوع خاص , فلم اعرف يمكن ان اربط بين هذه المعلومات
ماهو دور Chip في هذه العمليه مع العلم ان اي Chip يقوم العمل وهو استقبال ارسال الموجات اللاسلكية .

هل نوع Chip يفرق في العمل الوظيفي اذا كانا لنفس فئة العمل ؟

القبطان
04-12-2006, 21:51
أظن في بعض الأعمال يتطلب وجود رقائق معينه لهذا البرنامج
فهو مصمم ليتعامل مع أوامر في هذه الرقاقة مباشرة..

مثل لغة الأسمبلي...فأوامر معالج انتل "التي تتعامل اللغة معها" 8086 غير عن بينتيوم 4 ..فالأول لا يستطيع التعامل مع الثاني بكفاائة.

أما العكس فأظن أنه تستطيع العمل لكن لن تعمل أوامر البينتيوم 4 وإنما أوامر 8086 فقط..

appc777
04-12-2006, 23:15
من المعروف ان اللغه التي تتعامل معها المكونات الألكترونيات الدقيقة والتي تحتوي على الكثير من الدوائر المنطقة هي لغه (1,0) ولا تفقه هل المعدات اللغه العامه التي نسخدمها في الحاسب .
وفي نفس الوقت نجد ان برامج الحاسب لا تفهم لغه الارقام (1,0) لهذا فيوجد وسيط مترجم بين الاثنين .

الامر الذي بدء يحيرني هو بعض البرامج التي بدات التعامل معها اتضح لي ان بعض من تلك البرامج تتطلب وجوده Chip من نوع خاص , فلم اعرف يمكن ان اربط بين هذه المعلومات
ماهو دور Chip في هذه العمليه مع العلم ان اي Chip يقوم العمل وهو استقبال ارسال الموجات اللاسلكية .

هل نوع Chip يفرق في العمل الوظيفي اذا كانا لنفس فئة العمل ؟

إن الغة الوحيدة التي يمكن استخدامها مباشرة في حاسوب ما هي لغة الآلة الخاصة به أي أن الشخص الآمر-المبرمج- يلقي الاوامر إلى الشخص المأمور-الحاسوب- بلغة الطرف الثاني-اللغة الثنائية-وهذا يقتضي بطبيعة الحال أن يتعلم الشخص الاول لغة الشخص الثاني أي أن يتقن المبرمج لغة 0, 1 .
إذن يتكون البرنامج المكتوب بلغة الآلة من أرقام ثنائية تعبر عن التعليمات ومواقع الذاكرة والبيانات الضرورية لحل مشكلة معينة لذلك فإن أي لغة آلة تتكون من مجموعات0,1 ولكن طريقة تنظيمها تختلف من نوع حاسوب إلى آخر فمثلا تعليمة لغة الآلة التي تقوم بجمع 8 إلى القيمة الموجودة في المراكم تكون على الشكل التالي:
10100000 00001000
8 DDA

واستخدام لغة الآلة كان صعبا للغاية ويحتاج إلى وقت كبير كما أنه معرض إلى كثير من الأخطاء والمبرمج لن يكون دقيقا ولن يعمل بكفاءه عندما يقضي معظم وقته في كتابة 1 و 0 كما أنها تعتمد عاى هندسة الحاسوب ولا تحتاج إلى مترجم .

منقووووول

TeT_TaT
05-12-2006, 07:49
طيب هذا مثال جيد
لو ان لدينا ميكروبروسيسور من الموديل 8086 من تصنيع عرب هاروير وميكروبروسيسور اخر 8086 من تصنيع عرب سوفت وير . فلماذا يرفض البرنامج التعامل مع مصنع دون الاخر

القبطان
05-12-2006, 10:05
في البداية لا يفترض أن يتشابهون في الأسماء..
لأنهم إذا تشابهوا سيكونون على نفس الأوامر..

لكن لنفترض ما قلت..

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

لكن مثلا"عندنا في مادة الأسمبلي222" أستطيع تشغيل لغة البرمجة
لمعالج انتل8086 على معالجي amd
لأنه ارفق معه الـSDK تبع انتل
فهذا البرنامج لن يتعامل مع أوامر AMD وإنما أوامر 8086 "طبعا أوامره بسيطة وموجودة في أكثر المعالجات لأنه قديم جدا"

إذن :نستنتج أنه لكل معالج لغة أسمبلي خاصه به يستطيع التعامل معها.

بالنسبة للغة الأسمبلي هي لغة تستطيع التعامل مع أوامر المعالج مباشرة وتستطيع تخزين المعلومات
داخل الـregisters "وهي ذواكر أعلى منL1 على ما أظن" على عكس لغات البرمجة الأخرى..فهي لا تستطيع التعامل مع
المعالج مباشرة...

من هذا نجد أن اجابت ما سألت عنه في أول الموضوع:
هذا البرنامج مصمم ومبرمج ليتعامل مع أوامر هذه الرقاقة..
فلكل رقاقة أوامرها الخاصة .. وإن تشتبهت بعض الأوامر.

لذلك نجد بيوس خاص لكل لوحة أم..
لذلك نجد فريم وير لكل مشغل سيدي ..
وهكذا..

أرجو أني قد أفدت
وسأذهب اليوم إلى الجامعة وأسأل لك عن هذا الموضوع
من دكتورنا...

TeT_TaT
05-12-2006, 10:39
كلام جميل

وعلشان تكون في الصوره اكثر
انا حملت برنامج خاص بالشبكات اللاسلكية , ولكن البرنامج لا يعمل لدي
فعرفت بعد ذالك ان البرنامج يتطلب Chip معين علشان يشتغل , فهو لا يعمل
على Chip الي عندي هذا الي خلاني اطرح السؤال

NaAZoOR
05-12-2006, 12:16
في الواقع الكلام السابق جيد جداً ولكن تنقصه بعض الدقة ....

أولاً هناك ما يسمى بعدم التوافقية بين رقاقات معينة "في اللوحة الأم" وبين بعض الرقاقات المستخدمة مع بعض الكروت .

في حالة الأخ خالد فقد تم تصميم البرنامج بناء على رقاقة معينة وواضح انها المستخدمة على جهاز المبرمج .. واشك كثيراً ان هذا البرنامج ضخم ومن تصميم شركة معروفة لأنهم يراعون استخدام اكواد عامة تستطيع كل الرقاقات التعامل معها.

وهناك احتمال آخر ... أن يكون البرنامج تم تصميمه للإستفادة من خاصية معينة خاصة بالإتصال اللاسلكي مدمجة مع طاقم رقاقات بعينه ... ولذا فهو لا يعمل إلا إذا توافر هذا الطاقم أو ما يشابهه من حيث توافر هذه الخاصية معه.

أما الفكرة العامة للمعالجات الدقيقة فهي "وخاصة INTEL , AMD تبنى بناء على اسس معينة مشتركة والفارق يكون في دعم بعض التقنيات الخاصة مثل MMX و SSE بأجيالها المختلفة و !3d Now وخلافه.

إذن النقطة هنا هي في ان هناك برنامج تم تصميمه للإستفادة بأوامر SSE3 مثلاً والمستخدم كان لديه معالج VIA أو AMD قديم جداً لا يدعم هذه الخاصية ... فماذا سيحدث؟؟

كل ما هنالك أنه سيتعامل بصورة طبيعية جداً "البرنامج" ولكن الخصائص المتطلبة لأوامر SSE3 لن ينفذها.

تماماً مثل كارت شاشة يدعم DX 8.1 ويستخدمه صاحبه للعب لعبة تدعم DX 9.0 الذي سيحدث هو تنفيذ تطبيقات DX 8.0 وتعليماته دون DX 9.0 .

وبالنسبة للسؤال الأصلي فما يربط بين البرامج والتطبيقات المختلفة وبين مكونات وعتاد الجهاز فهو نظام التشغيل الذي تتكون نواته من لغة الآلة (0و1) ثم في مرحلة أعلى يتم استخدام لغة الأسمبلي ثم تأتي المرحلة الأخيرة في استخدام لغة البرمجة المتفدمة والتي هي مزيج من عائلة ال C وعند نزول نظام الملفات Win FS الذي سيخلف NTFS ستدخل انظمة التشغيل في مرحلة جديدة وهي مرحلة استخدام قواعد البيانات مما يسهل عمليات البحث وسرعة تنفيذ الأوامر والتطبيقات.

TeT_TaT
05-12-2006, 12:44
شكرا لك اخي NaAZoOR فيالحقيقة البرنامج هو من اقوى البرامج في مجال الشبكات الاسلكية
ومن اغلى البرامج ايضا

واتوقع ان يكون ماقلته انت هو الصحيح

وهناك احتمال آخر ... أن يكون البرنامج تم تصميمه للإستفادة من خاصية معينة خاصة بالإتصال اللاسلكي مدمجة مع طاقم رقاقات بعينه ... ولذا فهو لا يعمل إلا إذا توافر هذا الطاقم أو ما يشابهه من حيث توافر هذه الخاصية معه.


انتظر المزيد من الاجوبه للتحقق والتعمق في الموضوع

الخلف
05-12-2006, 14:48
ماذكره الأخ نازور صحيح... وأشير لعدة نقاط...

جميع المعالجات الحالية التي نستخدمها بشكل عادي تستخدم معمارية x86 وهي مجموعة معايير وضعتها Intel واختارتها IBM كأساس لأنظمتها والتي بنيت عليها كل الأنظمة الحالية...

ولأن IBM اشترطت انفتاح التقنية فصار لزاماً على Intel أن تنشر تفاصيل بنية x86 لكل شركة تود إنتاج معالج، وصار لزاماً أيضاً على هذه الشركات أن تلتزم بهذه المعايير تماماً...

تطورت الأمور ووصلت إلى حال آخر عندما قررت Intel أن تجري تطويراً جذرياً على معالجات x86 مع ضمان توافقها التام معها، ولكي تضمن أن هذه التطويرات لن تذهب إلى أي شركة منافسه قامت بتسمية معالجها Pentium عندها اضطرت باقي الشركات إلى إجراء تطويراتها الخاصة على معالجات x86... وسرعان ما أنتجت كل شركة نسختها الخاصة أيضاً من التطويرات، وكانت كل التطويرات متوافقة تماماً مع تعليمات x86 الأصلية، ولهذا فكل هذه المعالجات متوافقة مع بعضها...

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

وبعد فترة من بروز MMX ظهرت !3D Now من AMD وجاء رد Intel بتعليمات SSE... وهكذا، ورغم أن Intel رفضت أن تستخدم أي تعليمات من أي شركة منافسة ( حتى لا تنتشر في السوق وهي تقنية تتبع شركة منافسة ) فإنها رضخت أخيراً للواقع وقامت باستخدام تعليمات AMD64 حتى وإن قامت بتغيير اسمها إلى EM64T ثم Intel 64...
عندما تقوم شركة بتطوير تعليمات خاصة بها، فإن شركات إنتاج البرامج يكونون مخيرين في اعتمادها من أجل زيادة الأداء سواء أكان اعتمادها إلزامياً أو اختيارياً ( مثلاً برامج Adobe Premiere يشترط تعلميات SSE والإصدار الأخير له يشترط تعليمات SSE2 أيضاً )...

بعض الأحيان، كحالة البرنامج الاحترافي الذي لديك، فإنه يتم تصميم البرنامج بحيث يتعامل بآليات معينة طبق مواصفات محددة يعتمدها البرنامج، فإن لم تلتزم شركة ما بتلك الآليات فإنه لن يعمل أو سيعمل ولكن بمشاكل أو بدون بعض المزايا...
ومثالين آخرين، نظام البلوتوث في نظام Windows XP يعتمد على بروتوكولات معينة للتواصل مع شريحة البلوتوث، ولهذا يعاني البعض من الحاجة لتركيب برامج خاصة من أجل تشغيل قطعة البلوتوث التي لديهم.
مثال إضافي هو بطاقات موالفات التلفاز، فبعضها فقط يتوافق مع نظام Windows Media Center والحقيقة يمكننا أن نقول أن نظام WMC يفرض مواصفات محددة وتقنيات محددة معتمداً على اشتهاره كنظام تشغيل معتمد، ولهذا فإن الموالف إن لم يتبع هذه المواصفات فإن النظام لن يستطيع تشغيله...

TeT_TaT
08-12-2006, 13:18
شكرا جزيلا اخي الخلف على الاضافه المميزه

استنتج ان الشب ست التي تطلبها تلك البرامج هو ذات تقنيات اعلى
وليست فقط عملية احتكاريه