عدد دبابيس منخفض


ناقل LPC ( ناقل عدد الدبابيس المنخفض ) هو ناقل حاسوبي يُستخدم في الحواسيب الشخصية المتوافقة مع IBM لتوصيل الأجهزة ذات النطاق الترددي المنخفض بوحدة المعالجة المركزية ، مثل ذاكرة BIOS ROM (التي نُقلت إلى ناقل SPI في عام 2006 [ 1 ] )، وأجهزة الإدخال/الإخراج القديمة (المدمجة في Super I/O ، ووحدة التحكم المدمجة ، و CPLD ، و/أو شريحة IPMI )، ووحدة النظام الأساسي الموثوقة (TPM). [ 2 ] تشمل أجهزة الإدخال/الإخراج القديمة عادةً المنافذ التسلسلية والمتوازية ، ولوحة مفاتيح PS/2 ، وفأرة PS/2 ، ووحدة تحكم القرص المرن .
تحتوي معظم لوحات الأم لأجهزة الكمبيوتر الشخصية المزودة بناقل LPC إما على وحدة تحكم النظام الأساسي (PCH) أو شريحة الجسر الجنوبي ، والتي تعمل كجهاز مضيف وتتحكم في ناقل LPC. أما جميع الأجهزة الأخرى المتصلة بالأسلاك الفعلية لناقل LPC فهي أجهزة طرفية.
ملخص

قدمت شركة إنتل ناقل LPC في عام 1998 كبديل برمجي متوافق مع ناقل بنية الصناعة القياسية (ISA). يشبه ناقل LPC ناقل ISA برمجياً، على الرغم من اختلافه المادي. يحتوي ناقل ISA على ناقل بيانات 16 بت وناقل عناوين 24 بت، يمكن استخدامهما لعناوين منافذ الإدخال/الإخراج 16 بت وعناوين الذاكرة 24 بت؛ ويعمل كلاهما بسرعة تصل إلى 8.33 ميجاهرتز . أما ناقل LPC فيستخدم ناقلاً عالي التعدد الإرسالي بعرض 4 بت، يعمل بسرعة 33.3 ميجاهرتز (أربعة أضعاف سرعة الساعة ) لنقل العناوين والبيانات بأداء مماثل.
تتمثل الميزة الرئيسية لتقنية LPC في أن ناقلها الأساسي لا يتطلب سوى سبع إشارات، مما يقلل بشكل كبير من عدد الأطراف المطلوبة على الرقاقات الطرفية. ستحتاج الدائرة المتكاملة التي تستخدم LPC إلى ما بين 30 و72 طرفًا أقل من نظيرتها في ISA. وهذا يُسهّل أيضًا عملية توجيه الناقل على اللوحات الأم الحديثة المزدحمة. تم اختيار معدل الساعة ليتوافق مع معدل PCI لتسهيل التكامل بشكل أكبر. كما أن LPC مصممة لتكون ناقلًا خاصًا باللوحات الأم فقط؛ فلا يوجد موصل قياسي شائع الاستخدام، على الرغم من أن إنتل تُعرّف موصلًا لاستخدامه مع وحدات تصحيح الأخطاء. [ 3 ] يتوفر عدد قليل من لوحات LPC الطرفية الفرعية ، بتوزيعات أطراف خاصة بمورّد اللوحة الأم: وحدات النظام الأساسي الموثوقة (TPMs)، [ 2 ] وبطاقات POST لعرض رموز تشخيص BIOS، [ 4 ] ووحدات طرفية للمنافذ التسلسلية متوافقة مع ISA للاستخدام الصناعي. [ 5 ] لا تدعم هذه التقنية اكتشاف الأجهزة. بما أن أجهزة اللوحة الأم أو نماذج محددة من TPM هي فقط المتصلة، فإن صورة البرامج الثابتة للمضيف (BIOS، UEFI ) ستتضمن وصفًا ثابتًا لأي أجهزة وعناوين الإدخال/الإخراج الخاصة بها والمتوقع وجودها على لوحة أم معينة.
الإشارات
إشارات التحكم LPC فعالة عند انخفاض الجهد ، كما هو موضح بالرمز "#" في أسمائها. وتنقسم الإشارات إلى ثلاث فئات:
- أحادية الاتجاه. يتم تشغيلها من مصدر واحد في جميع الأوقات.
- المجمع المفتوح . هذه إشارات منخفضة السرعة يتم سحبها لأعلى (إلى الحالة غير النشطة) بواسطة المضيف عندما لا تكون قيد الاستخدام، ويمكن سحبها لأسفل بواسطة أي جهاز.
- ثنائية الاتجاه. يتم تشغيل هذه الإشارات عالية السرعة بشكل فعال على مستوى عالٍ لدورة واحدة كلما انتهى جهاز من استخدامها، وبعد ذلك تقوم مقاومات السحب الضعيفة بإبقائها على مستوى عالٍ حتى يبدأ جهاز آخر في استخدامها.
تحدد مواصفات LPC سبع إشارات إلزامية مطلوبة لنقل البيانات ثنائي الاتجاه:
- إشارة الساعة LCLK (أحادية الاتجاه، من المضيف): ترددها 33.3 ميجاهرتز. يمكن توصيلها بإشارة الساعة PCI التقليدية (PCICLK)، مما يُغني عن الحاجة إلى منفذ مخصص على المضيف (الجسر الجنوبي). وكما هو الحال في PCI، تُرسل الإشارات الأخرى بعد الحافة الهابطة لإشارة LCLK، وتُستقبل بعد الحافة الصاعدة.
- LRESET# (مجمع مفتوح): إعادة ضبط ناقل البيانات عند انخفاض الجهد. قد يكون متصلاً بـ PCIRST#.
- LFRAME# (أحادي الاتجاه، من المضيف): تشير هذه الإشارة ذات النشاط المنخفض إلى بداية عملية نقل بيانات عبر ناقل LPC. المضيف فقط هو من يمكنه بدء عمليات نقل البيانات عبر الناقل.
- LAD[3:0] (ثنائي الاتجاه): تحمل هذه الإشارات الأربع ثنائية الاتجاه عنوانًا متعدد الإرسال وبيانات ومعلومات أخرى.
هناك ست إشارات إضافية محددة، وهي اختيارية لأجهزة LPC التي لا تتطلب وظائفها، ولكن دعم الإشارتين الأوليين إلزامي للمضيف:
- LDRQ# (أحادي الاتجاه، من الجهاز): طلب الوصول المباشر إلى الذاكرة/التحكم الرئيسي بالناقل. هذا خرج من جهاز يرغب في الوصول المباشر إلى الذاكرة، إما عبر وحدة تحكم DMA المتوافقة مع Intel 8237 ، أو بروتوكول التحكم الرئيسي بالناقل الخاص بمعالجات LPC. يجب على المضيف توفير دبوس إدخال واحد لكل جهاز يحتاج إليه (اثنان كحد أدنى).
- SERIRQ (ثنائي الاتجاه): إشارة مقاطعة تسلسلية متوافقة مع معالج Intel 8259. [ 6 ] يتم مشاركة خط واحد بين جميع أجهزة LPC والجهاز المضيف. ومثل خطوط LAD، يحتوي هذا الخط على مقاومة سحب ضعيفة تُبقيه في حالة عالية إذا لم يكن هناك جهاز يُشغّله.
- CLKRUN# (مجمع مفتوح): إشارة تُستخدم لإعادة تشغيل الساعة في الأنظمة التي يمكنها إيقافها لإدارة الطاقة. غير مطلوبة إذا لم يوقف المضيف الساعة. يمكن توصيلها بإشارة PCI المكافئة.
- LPME# (مجمع مفتوح): حدث لإدارة الطاقة، لإيقاظ النظام من حالة السكون. وهو مكافئ لإشارة PME# الخاصة بناقل PCI.
- LSMI# (مجمع مفتوح): طلب مقاطعة إدارة النظام . هذا مطلوب فقط إذا احتاج جهاز LPC إلى إطلاق SMI# استجابةً للوصول إلى ناقل البيانات (مثلاً لتنفيذ محاكاة برمجية لجهاز طرفي مفقود). خلاف ذلك، يمكن استخدام بروتوكول SERIRQ الأبطأ لطلب SMI.
- LPCPD# (أحادي الاتجاه، من المضيف): إخراج اختياري من المضيف لتحذير جهاز LPC من أن الطاقة على وشك أن تنقطع وأنه لا ينبغي له القيام بأي مقاطعة أو طلبات DMA.
التوقيت والأداء
يستمد ناقل LPC خصائصه الكهربائية من ناقل PCI التقليدي . وعلى وجه الخصوص، يشترك معه في شرط ضرورة وجود دورتين خاملتين لعكس إشارة الناقل بحيث يبدأ جهاز آخر بإرسال البيانات. في الدورة الأولى، يتم رفع مستوى إشارة الناقل بشكل فعال. وفي الدورة الثانية، يتم إيقاف تشغيل الناقل مع الحفاظ على مستوى الإشارة مرتفعًا بواسطة مقاومات السحب. ويمكن لجهاز جديد أن يبدأ بإرسال البيانات عبر الناقل في الدورة الثالثة. وتستغرق عمليات LPC جزءًا كبيرًا من وقتها في تنفيذ عمليات العكس هذه.
كما ذُكر، صُممت ناقلة LPC لتقديم أداء مماثل لناقلة ISA. وتعتمد معدلات نقل البيانات الدقيقة على نوع الوصول إلى الناقلة (الإدخال/الإخراج، الذاكرة، الوصول المباشر إلى الذاكرة ، البرامج الثابتة ) وعلى سرعة كل من المضيف وجهاز LPC. تقضي جميع دورات الناقلة معظم وقتها في عمليات إضافية بدلاً من نقل البيانات، باستثناء دورات قراءة البرامج الثابتة بحجم 16 و128 بايت، والتي تتضمن 17 دورة إضافية، ولكنها تتضمن 32 و256 دورة (على التوالي) لنقل البيانات، مما يحقق معدلات نقل بيانات تبلغ10.88 و15.63 ميجابايت/ثانية . [ 7 ] أما دورة ناقل البيانات الأسرع التالية المحددة في المعيار، وهي دورة كتابة DMA بنمط ISA ذي 32 بت، فتستغرق 8 دورات ساعة فقط من أصل 20 دورة ساعة إجمالية لنقل البيانات (الدورات الـ 12 المتبقية هي دورات إضافية)، مما يحقق سرعة تصل إلى 6.67 ميجابايت/ثانية. [ 7 ]
تُعد عملية قراءة أو كتابة الذاكرة البسيطة واحدة من أبطأ دورات ناقل البيانات، حيث يتم نقل البيانات فقط من خلال دورتين من دورات الساعة الـ 17 (بالإضافة إلى أي حالات انتظار يفرضها الجهاز)، بمعدل نقل يبلغ 1.96 ميجابايت/ثانية.
هيكل المعاملة
تبدأ معاملات LPC بانتقال إشارة LFRAME# من حالة منخفضة إلى حالة عالية. أثناء انخفاض إشارة LFRAME#، يضع المضيف رمز بدء (START) مكونًا من 4 بتات على خطوط LAD. يحدد الرمز المُرسل في الدورة الأخيرة قبل انتقال إشارة LFRAME# إلى حالة عالية معاملة الناقل التالية.
في الوضع الطبيعي، يُبقي المضيف إشارة LFRAME# منخفضة لمدة دورة ساعة واحدة فقط، وذلك لتحسين الكفاءة. ويُستثنى من ذلك عملية إجهاض المعاملة، التي قد تبدأ حتى في منتصف عملية أخرى. يُبقي المضيف إشارة LFRAME# منخفضة لمدة أربع دورات ساعة على الأقل، وخلال هذه الفترة يجب أن تتوقف جميع الأجهزة عن تشغيل ناقل LAD. في الدورة الرابعة، يُفعّل المضيف إشارة LAD (إلى 1111). عند انتقال إشارة LFRAME# من الحالة العالية إلى المنخفضة، يُعاد ضبط الناقل إلى حالة الخمول.
في جميع الحالات الأخرى تقريبًا، تستخدم معاملات LPC البنية العامة التالية:
- رمز البدء
- نوع المعاملة وعنوانها من المضيف
- البيانات من المضيف (في حالة الكتابة)
- دورة الحافلة (دورتان)
- مزامنة من الجهاز (دورة واحدة أو أكثر)
- البيانات من الجهاز (في حالة القراءة)
- دورة الحافلة (دورتان)
تختلف عمليات نقل البيانات المباشرة إلى الذاكرة (DMA) بعض الشيء. § قد تحتوي عمليات نقل البيانات المباشرة إلى الذاكرة المتوافقة مع معيار ISA على مراحل مزامنة ونقل بيانات متعددة. § تحتوي عمليات نقل البيانات المباشرة إلى الذاكرة الرئيسية على عملية تحويل ناقل البيانات مباشرة بعد رمز البدء، ولا توجد عملية تحويل نهائية.
تسمح مرحلة المزامنة للجهاز بإدخال حالات انتظار في العملية. هناك ست قيم مزامنة محتملة، جميعها ذات تكافؤ زوجي ( وزن هامينغ زوجي ). ثلاث منها تُنهي مرحلة المزامنة، بينما تُجبر الثلاث الأخرى المضيف على انتظار بايت مزامنة آخر.
- 0000: جاهز. الجهاز جاهز للمتابعة في العملية. بالنسبة لدورات الوصول المباشر إلى الذاكرة (DMA)، يؤدي هذا أيضًا إلى مسح إشارة طلب الوصول المباشر إلى الذاكرة (DREQ).
- 0011: (غير مستخدم)
- 0101: انتظار قصير. تليها دورة مزامنة أخرى. يُسمح بحد أقصى 8 دورات انتظار قصيرة.
- 0110: انتظار طويل. يشبه الانتظار القصير، لكن قد يكون الانتظار طويلاً (مثل عمليات المنفذ المتوازي المحسّن ).
- 1001: جاهز أكثر. رمز خاص بـ DMA فقط يشير إلى "جاهز" ويطلب الجهاز دورات DMA إضافية (يظل DREQ مؤكدًا).
- 1010: خطأ. الجهاز جاهز للمتابعة، ولكن حدث خطأ جسيم (مثل خطأ في التكافؤ) أثناء النقل. هذا يُعادل إشارات IOCHK# على ناقل ISA أو SERR# على ناقل PCI. في حالة القراءة، ستتبع البيانات ولكن من المحتمل أن تكون تالفة.
- 1100: (غير مستخدم)
- ١١١١: الجهاز غير موجود. إذا لم يستجب أي جهاز للمعاملة، فسيرى المضيف هذا الرمز ويمكنه إلغاء المعاملة. ولمراعاة الأجهزة البطيئة، يُسمح بتكرار هذا الرمز مرتين كحد أقصى قبل إلغاء المعاملة.
التطبيقات
صممت إنتل ناقل LPC بحيث يمكن تخزين صورة نظام BIOS في شريحة ذاكرة فلاش واحدة متصلة مباشرة بناقل LPC. كما أتاحت إنتل إمكانية وضع صور نظام التشغيل وتطبيقات البرامج على شريحة ذاكرة فلاش واحدة متصلة مباشرة بناقل LPC، كبديل لمنفذ ATA المتوازي . [ 8 ]
يمكن لـ CPLD أو FPGA تنفيذ مضيف LPC أو جهاز طرفي. [ 9 ]
يحتوي جهاز ألعاب إكس بوكس الأصلي على منفذ تصحيح أخطاء LPC يمكن استخدامه لإجبار جهاز إكس بوكس على تشغيل رمز جديد. [ 10 ] [ 11 ]
تشغيل متوافق مع معيار ISA
تستخدم جميع معاملات ناقل LPC المتوافقة مع ISA رمز بدء 0000. [ 7 ] خلال الدورة الأولى التي يكون فيها LFRAME# مرتفعًا مرة أخرى، يقوم المضيف بتفعيل حقل "نوع/اتجاه الدورة" (CTDIR): بتان تشيران إلى نوع (إدخال/إخراج، ذاكرة، أو DMA) وبت واحد يشير إلى اتجاه (قراءة من الجهاز، أو كتابة إلى الجهاز) عملية النقل. يلي ذلك حقل عنوان النقل، الذي يعتمد حجمه على نوع الدورة.
- بالنسبة للوصول إلى الإدخال/الإخراج، يكون العنوان 16 بت، ويتم نقل النصف الأكثر أهمية أولاً على مدار 4 دورات.
- للوصول إلى ذاكرة النظام، يكون العنوان 32 بت، ويتم نقل النصف الأكثر أهمية أولاً على مدى 8 دورات.
- بالنسبة لعمليات الوصول المباشر للذاكرة المتوافقة مع معيار ISA، لا يوجد عنوان محدد بحد ذاته ، بل يتم نقل نصف بايت يحتوي على رقم قناة الوصول المباشر للذاكرة، ونصف بايت آخر يحدد حجم النقل، وذلك خلال دورتي ساعة. يُبرمج عنوان الذاكرة في وحدة تحكم الوصول المباشر للذاكرة المتوافقة مع معيار ISA في مجموعة الشرائح أو وحدة المعالجة المركزية خارج ناقل LPC. انظر قسم الوصول المباشر للذاكرة المتوافق مع معيار ISA أدناه.
قراءة وكتابة متوافقة مع معيار ISA
يُسمح بالوصول إلى الذاكرة والإدخال/الإخراج كعمليات وصول أحادية البايت فقط، وتعمل كما هو موضح في § بنية المعاملة :: العنوان، البيانات من المضيف في حالة الكتابة، والتحويل، والمزامنة، والبيانات من الجهاز في حالة القراءة.
إذا حاول المضيف نقل البيانات إلى عنوان غير مستخدم، فلن يقوم أي جهاز بتشغيل دورات المزامنة، وسيرى المضيف القيمة 1111 على ناقل LAD. بعد رؤية ثلاث دورات من القيمة 1111 (يُسمح بدورتين إضافيتين، بالإضافة إلى دورتي الانعكاس، لكي يتمكن الجهاز البطيء من فك تشفير العنوان وبدء تشغيل أنماط المزامنة)، سيقوم المضيف بإلغاء العملية.
DMA متوافق مع ISA
تعمل شريحة مركز التحكم بالمنصة (PCH)، أو شريحة الجسر الجنوبي، كوحدة تحكم رئيسية وتتحكم في ناقل LPC. كما تعمل كوحدة تحكم مركزية للوصول المباشر إلى الذاكرة (DMA) للأجهزة المتصلة بهذا الناقل إذا كانت وحدة تحكم الذاكرة موجودة في مجموعة الشرائح. في وحدات المعالجة المركزية التي تحتوي على وحدة تحكم ذاكرة خاصة بها، تقع وحدة تحكم DMA داخل وحدة المعالجة المركزية. ولضمان التوافق مع البرامج المصممة أصلاً لأنظمة ناقل ISA، تحتوي وحدة تحكم DMA على الدوائر المكافئة للأجهزة الطرفية المدمجة القديمة في بنية IBM PC/AT ، مثل وحدتي تحكم المقاطعات القابلتين للبرمجة ، ومؤقت الفاصل الزمني القابل للبرمجة ، ووحدتي تحكم ISA DMA ، والتي تشارك جميعها في " الوصول المباشر إلى الذاكرة بنمط ISA ".
تستخدم تقنية DMA المتوافقة مع معيار ISA وحدة تحكم DMA متوافقة مع Intel 8237 على الجهاز المضيف، والتي تتولى تتبع موقع وحجم مخزن الذاكرة المؤقت، بالإضافة إلى اتجاه النقل. ببساطة، يطلب الجهاز الخدمة من رقم قناة DMA محدد، ويقوم الجهاز المضيف بتنفيذ عملية الوصول إلى DMA على ناقل LPC.
يتم إرسال الطلب عبر خط طلب DMA افتراضي متوافق مع معيار ISA (DRQ)، والذي يُحاكى باستخدام إشارة LDRQ# الخاصة بالجهاز للإشارة إلى الانتقالات على خط DRQ المُحاكى. يتم ذلك باستخدام طلبات مكونة من 6 بتات على إشارة LDRQ#: بت بدء 0، ورقم قناة DMA المكون من 3 بتات (البت الأكثر أهمية أولاً)، وبت واحد لمستوى الطلب الجديد (عادةً ما يكون 1، مما يشير إلى طلب نقل DMA)، وبت توقف نهائي 1. يستجيب المضيف بتنفيذ دورة DMA عند أول فرصة متاحة. تُسمى دورات DMA بناءً على اتجاه الوصول إلى الذاكرة ، لذا فإن "القراءة" هي عملية نقل إلى جهاز LPC، و"الكتابة" هي عملية نقل من جهاز LPC.
يتكون "العنوان" من 6 بتات يتم إرسالها على شكل نصفين: رقم قناة مكون من 3 بتات ومؤشر عدد طرفي مكون من بت واحد (دبوس TC الخاص بحافلة ISA، أو خرج EOP# الخاص بـ 8237)، متبوعًا بحجم نقل مكون من بتتين.
بشكل افتراضي، تُجري قنوات DMA من 0 إلى 3 عمليات نقل بيانات بحجم 8 بت، بينما تُجري القنوات من 5 إلى 7 عمليات نقل بيانات بحجم 16 بت؛ ولكن يسمح امتداد خاص بـ LPC بعمليات نقل بيانات بحجم 1 أو 2 أو 4 بايت على أي قناة. عند إجراء عملية نقل بيانات متعددة البايتات، يكون لكل بايت حقل SYNC خاص به، كما هو موضح أدناه.
يؤدي نمط SYNC "جاهز" العادي 0000 (أو نمط الخطأ 1010) إلى إلغاء تأكيد إشارة طلب DMA المحاكاة المقابلة؛ سيوقف المضيف عملية DMA بعد البايت التالي مباشرةً حتى يُرسل الجهاز طلب DMA آخر عبر إشارة LDRQ#. يشير نمط SYNC 1001 إلى أنه يجب على المضيف اعتبار طلب DMA الخاص بالجهاز لا يزال نشطًا؛ سيستمر المضيف في نقل أي بايتات متبقية في هذه العملية أو يبدأ عملية نقل أخرى، حسب الاقتضاء، دون طلب منفصل عبر LDRQ#.
في عملية الكتابة عبر الوصول المباشر للذاكرة (DMA)، حيث تُنقل البيانات من الجهاز، يتبع حقل المزامنة (SYNC) ثمانية بتات من البيانات وحقل مزامنة آخر، حتى الوصول إلى الطول المحدد من قِبل المضيف لهذا النقل، أو حتى يُوقف الجهاز عملية النقل. يُكمل حقل الانعكاس (turnaround) العملية. أما في عملية القراءة عبر الوصول المباشر للذاكرة (DMA)، حيث تُنقل البيانات إلى الجهاز، فيتبع حقل المزامنة حقل انعكاس، وتتكرر سلسلة البيانات - الانعكاس - المزامنة - الانعكاس لكل بايت يتم نقله.
المقاطعات المتسلسلة
تُرسل المقاطعات عبر خط SERIRQ مشترك واحد باستخدام بروتوكول "المقاطعات المتسلسلة لـ PCI" الذي طُوّر أصلاً لحافلة PCI. [ 6 ] يُرسل المضيف دوريًا حزم مقاطعات، حيث يُخصص لكل طلب مقاطعة خانة زمنية مدتها ساعة واحدة، تفصل بينها دورتان من دورات الساعة. تتم عملية المزامنة الأولية بواسطة المضيف. كمثال مبسط:
- يقوم المضيف بخفض مستوى خط SERIRQ لمدة أربع إلى ثماني دورات ساعة، متبوعة بدورة انعكاس لمدة دورتين ساعة: يتم رفع مستوى SERIRQ لمدة دورة ساعة واحدة، ثم يبقى مرتفعًا لدورة الانعكاس الثانية.
- إذا احتاج جهاز ما إلى طلب IRQ#6، فإنه ينتظر 6×3=18 دورة ساعة، ثم يقوم بتشغيل SERIRQ منخفضًا لدورة ساعة واحدة ومرتفعًا لدورة أخرى.
تستطيع الأجهزة التعرف على بداية الإطار لأن المضيف وحده هو من يقوم بخفض مستوى الخط لأكثر من دورة واحدة. يحدد المضيف المقاطعة عن طريق عدّ عدد دورات الساعة: إذا رصد انخفاض مستوى خط SERIRQ عند دورة الساعة الثامنة عشرة، فسيتم تفعيل المقاطعة IRQ 18/3=6.
عدد خانات المقاطعة خاص بالنظام، حيث أن 17 هو رقم نموذجي: 16 مقاطعة متوافقة مع ISA (IRQ0 – IRQ15)، بالإضافة إلى NMI .
بعد خانة المقاطعة الأخيرة، يقوم المضيف بإلحاق إشارة "إيقاف" تتكون من دورتين أو ثلاث دورات منخفضة متبوعة بدورتين للانعطاف.
في الوضع "المستمر"، يبدأ المضيف دوريًا بإرسال حزمة بيانات جديدة. يوجد أيضًا وضع "هادئ" حيث يطلب الجهاز حزمة بيانات جديدة عن طريق خفض مستوى إشارة SERIRQ لدورة ساعة واحدة. ثم يستمر المضيف في خفض مستوى الإشارة للسبع دورات ساعة المتبقية. من هذه النقطة فصاعدًا، يكون البروتوكول هو نفسه.
يُتحكم في الوضع بطول إشارة الإيقاف الصادرة من المضيف في نهاية كل حزمة بيانات. إذا كانت الإشارة تتكون من ثلاث دورات ساعة منخفضة، يُفعّل الوضع المستمر، ولا يُسمح إلا للمضيف ببدء حزمة بيانات جديدة. أما إذا كانت إشارة الإيقاف تتكون من دورتين ساعة منخفضتين، يُفعّل الوضع الهادئ، ويُمكن لأي جهاز بدء حزمة بيانات مقاطعة.
معاملات LPC غير الخاضعة لاتفاقية ISA
تُستخدم قيم حقل START غير 0000 أو 1111 للإشارة إلى عمليات نقل البيانات المختلفة غير المتوافقة مع معيار ISA. [ 7 ] عمليات النقل المدعومة هي:
البداية = 1101، 1110: قراءة وكتابة ذاكرة البرامج الثابتة
يسمح هذا بوضع البرامج الثابتة (BIOS) خارج نطاق عناوين الأجهزة الطرفية المعتاد. وتتشابه عمليات النقل هذه مع عمليات النقل المتوافقة مع معيار ISA، باستثناء ما يلي:
- لا يوجد حقل CTDIR؛ يتم ترميز الاتجاه في حقل START (1101 للقراءة، 1110 للكتابة).
- تُعرَّف أول أربع بتات من العنوان كحقل اختيار الجهاز (IDSEL) للسماح باختيار موزع برامج ثابتة واحد من بين عدة موزعات. على سبيل المثال، يمكن استخدام موزع برامج ثابتة ثانٍ لحفظ نسخة احتياطية من نظام الإدخال والإخراج الأساسي (BIOS) في حال تلف نظام الإدخال والإخراج الأساسي بسبب برامج ضارة أو عملية تحديث فاشلة.
- تحدد بتات العنوان الـ 28 المتبقية العنوان داخل الجهاز، بدءًا من النصف الأكثر أهمية.
- يتبع العنوان حقلٌ لتحديد الحجم. الأحجام المدعومة للقراءة والكتابة هي 1 و2 و4 بايت. أما الأحجام 16 و128 بايت فهي مدعومة للقراءة فقط.
- يتم نقل البيانات دفعة واحدة متواصلة، دون أي فترات انتظار. يوجد حقل SYNC واحد فقط لعملية النقل بأكملها.
البداية = 0010، 0011: وحدة التحكم الرئيسية في ناقل البيانات DMA
يمكن لجهازين كحد أقصى على ناقل LPC طلب نقل رئيسي للناقل باستخدام إشارة LDRQ# لطلب استخدام قناة DMA المحجوزة رقم 4. في هذه الحالة، سيبدأ المضيف عملية النقل بحقل بدء خاص بقيمة 0010 للجهاز الرئيسي للناقل رقم 0 أو 0011 للجهاز الرئيسي للناقل رقم 1، يليه مباشرةً دورتان عكسيتان لتسليم الناقل إلى الجهاز الذي طلب دورة DMA الرئيسية للناقل. بعد الدورات العكسية، تتم عملية النقل بشكل مشابه لعملية نقل متوافقة مع ISA يبدأها المضيف، مع عكس الأدوار.
- يرسل الجهاز حقل CTDIR لدورة واحدة (يُسمح فقط بأنواع نقل الإدخال/الإخراج والذاكرة).
- يرسل الجهاز عنوانًا (16 أو 32 بت، حسب النوع). ويتم نقل الجزء الأكثر أهمية أولاً.
- يرسل الجهاز حقل حجم نقل دورة واحدة، مشفرًا 8 أو 16 أو 32 بت.
- في حالة الكتابة، تتبع البيانات. على عكس دورات DMA المتوافقة مع ISA، يتم نقل البيانات في دفعة واحدة، دون أي حالات انتظار أخرى.
- ثم تأتي دورتان ذهاب وإياب بينما يتم تسليم ناقل LAD مرة أخرى إلى المضيف.
- يتم إدخال حقل SYNC متغير الطول، تحت سيطرة المضيف.
- في حالة القراءة، تأتي البيانات التي يقدمها المضيف لاحقاً.
يختلف هذا عن التحكم الرئيسي في ناقل ISA ذي 16 بت، لأن التحكم الرئيسي في ناقل LPC يتطلب عنوان ذاكرة 32 بت عند إجراء نقل البيانات، ولا يستخدم قناة DMA على نمط ISA، ويمكنه دعم عمليات نقل البيانات 8 أو 16 أو 32 بت؛ بينما يتطلب التحكم الرئيسي في ناقل ISA ذي 16 بت عنوان ذاكرة 24 بت عند إجراء نقل البيانات، ويتطلب استخدام قناة DMA على نمط ISA، ولا يمكنه إجراء عمليات نقل البيانات 32 بت. [ 12 ]
البداية = 0101: الوصول إلى موقع TPM
تُحدد مواصفات وحدة النظام الأساسي الموثوقة 2.0 دورات قراءة وكتابة خاصة بوحدة TPM، تستند إلى دورات قراءة وكتابة الإدخال/الإخراج. [ 13 ] تستخدم هذه الدورات حقل بدء بقيمة 0101 (كانت محجوزة سابقًا)، متبوعًا بنصف بايت من CTDIR وعنوان إدخال/إخراج 16 بت، تمامًا كما في عملية الكتابة المتوافقة مع ISA. [ 13 ] تُستخدم هذه الدورات عند استخدام خاصية تحديد الموقع في وحدة TPM. [ 13 ]
الأجهزة الطرفية المدعومة
تحدد مواصفات ناقل LPC أنواع الأجهزة الطرفية التي يمكن توصيلها به. فهي تسمح فقط بالأجهزة التي تنتمي إلى الفئات التالية: أجهزة الإدخال/الإخراج الفائقة، وذاكرة BIOS غير المتطايرة ، وموزعات البرامج الثابتة، وأجهزة الصوت، ووحدات التحكم المدمجة. علاوة على ذلك، تُقيّد كل فئة بعدد دورات الناقل المسموح بها. [ 7 ]
يُسمح لأجهزة الإدخال/الإخراج الفائقة وأجهزة الصوت باستقبال دورات الإدخال/الإخراج، ودورات الوصول المباشر للذاكرة (DMA) من جهات خارجية بنمط ISA، وتوليد دورات التحكم الرئيسية للحافلة. كما يُسمح لأجهزة ذاكرة التطبيقات العامة، مثل ذاكرة BIOS غير المتطايرة وأجهزة ذاكرة الفلاش LPC، باستقبال دورات الذاكرة. ويُسمح لموزعات البرامج الثابتة باستقبال دورات ذاكرة البرامج الثابتة. ويُسمح لوحدات التحكم المدمجة باستقبال دورات الإدخال/الإخراج وتوليد دورات التحكم الرئيسية للحافلة. وقد أُزيلت بعض دورات ISA التي اعتُبرت غير مفيدة لهذه الفئات، بما في ذلك دورات الذاكرة ثنائية البايت التي يبدأها المضيف، ودورات الإدخال/الإخراج ثنائية البايت التي يبدأها المضيف. كان بإمكان المضيف بدء أنواع النقل المُزالة هذه على حافلات ISA، ولكن ليس على حافلات LPC. وكان على المضيف محاكاة دورات البايت بتقسيمها إلى دورتين من بايت واحد. ويتشابه مفهوم حافلة ISA، حيث كانت حافلة ISA الأصلية ذات 8 بت تتطلب تقسيم دورات 16 بت. لذلك، يقوم ناقل ISA ذو 16 بت بتقسيم دورات 16 بت تلقائيًا إلى دورات 8 بت لصالح الأجهزة الطرفية ISA ذات 8 بت، إلا إذا قام جهاز ISA المستهدف بدورة ذاكرة أو إدخال/إخراج 16 بت بإرسال إشارة تُعلم الناقل بإمكانية قبول عملية النقل المطلوبة 16 بت دون الحاجة إلى مُقسِّم دورات ISA. [ 12 ] تم استبدال آلية التحكم الرئيسية في ناقل ISA في ناقل LPC ببروتوكول تحكم رئيسي لا يعتمد على وحدات تحكم DMA الخاصة بـ ISA إطلاقًا. وقد تم ذلك لإزالة قيود ISA على أنواع دورات التحكم الرئيسية التي يُسمح للجهاز ببدئها على قنوات DMA المختلفة. دورات ناقل ISA التي ورثها LPC من ISA هي دورات إدخال/إخراج أحادية البايت تبدأ من المضيف، ودورات ذاكرة أحادية البايت تبدأ من المضيف، ودورات DMA أحادية أو ثنائية البايت تبدأ من المضيف. [ 7 ]
مع ذلك، أُضيفت بعض دورات ناقل البيانات غير المتوافقة مع معيار ISA. تشمل هذه الدورات، التي أُضيفت لتحسين أداء الأجهزة إلى جانب مراكز البرامج الثابتة، دورات ذاكرة رئيسية للناقل بحجم بايت واحد، واثنين، وأربعة بايتات بنمط LPC؛ ودورات إدخال/إخراج رئيسية للناقل بحجم بايت واحد، واثنين، وأربعة بايتات؛ وDMA من طرف ثالث بحجم 32 بت، والذي يتوافق مع جميع قيود DMA من طرف ثالث بنمط ISA، باستثناء قدرته على إجراء عمليات نقل بحجم 32 بت. يُسمح لأي جهاز مُصرَّح له بقبول DMA التقليدي بنمط ISA باستخدام DMA من نمط ISA بحجم 32 بت. يمكن للمضيف بدء دورات DMA من نمط ISA بحجم 32 بت، بينما يمكن للأجهزة الطرفية بدء دورات الذاكرة الرئيسية للناقل. استهلكت مراكز البرامج الثابتة دورات برامج ثابتة مُصممة خصيصًا لها، بحيث يمكن تداخل عناوين البرامج الثابتة وعناوين الإدخال/الإخراج العادية المُخصصة للذاكرة دون تعارض. يمكن لعمليات قراءة ذاكرة البرامج الثابتة قراءة 1، أو 2، أو 4، أو 16، أو 128 بايتًا في المرة الواحدة. يمكن لعمليات الكتابة في ذاكرة البرامج الثابتة أن تكتب بايتًا واحدًا أو اثنين أو أربعة بايتات في المرة الواحدة. [ 7 ]
لا يدعم ناقل LPC بطاقات التوسعة ISA.
انظر أيضاً
مراجع
- ↑ كوفاه، زينو؛ كالينبيرغ، كوري؛ شركة ليغباكور (15 أكتوبر 2015). ذاكرة فلاش SPI (ملف PDF) . معالجات x86 المتقدمة: نظام الإدخال والإخراج الأساسي (BIOS) وآليات إدارة النظام . OpenSecurityTraining.info . ص 5.
- 1 2 يوهانس وينتر (2011). "دليل خاطف حافلة LPC" . tugraz.at . تم الاسترجاع في 19-12-2013 .
- ↑ دليل تصميم وحدة تصحيح أخطاء LPC القابلة للتثبيت (ملف PDF) (المواصفات). الإصدار 1.0. إنتل . 2000. صفحة 15. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 2017-06-04.
- ↑ "قارئ رمز BIOS POST باستخدام Raspberry Pi Pico" . GitHub . تم الاسترجاع في 11 سبتمبر 2024 .
- ↑ "ملحقات اللوحة الأم الصناعية: EXT-RS232" . DFI . تم الاطلاع عليه بتاريخ 11-09-2024 .
- 1 2 دعم IRQ التسلسلي لأنظمة PCI (المراجعة 6.0؛ 1 سبتمبر 1995)
- 1 2 3 4 5 6 7 "مواصفات واجهة Intel ذات عدد الدبابيس المنخفض (LPC)" (ملف PDF) . الإصدار 1.1. Intel . أغسطس 2002. رقم الوثيقة 251289-001. مؤرشف (PDF) من الأصل بتاريخ 31 مارس 2019. تم الاطلاع عليه بتاريخ 11 سبتمبر 2024 .
- ↑ داغان، شارون (2002-05-03). "بدائل تخزين الفلاش لحافلة عدد الأطراف المنخفض (LPC)" . مجلة EE Times .
- ↑ "وحدة تحكم ناقل LPC. التصميم المرجعي RD1049" . www.latticesemi.com . شركة لاتيس لأشباه الموصلات. مؤرشف من النسخة الأصلية (PDF) بتاريخ 7 أغسطس 2013.
- ↑ هوانغ، أندرو (2003). اختراق إكس بوكس: مقدمة في الهندسة العكسية . دار نشر نو ستارش. ص 48، 151. ISBN 1-59327-029-1.
- ↑ O. Theis. "تعديل جهاز Xbox" . قسم "تفاصيل LPC".
- ١ ٢ شركة إنتل (٢٥ أبريل ٢٠٠٣)، "الفصل ١٢: ناقل ISA" (ملف PDF) ، بنية الحاسوب الشخصي للفنيين: المستوى ١ ، تم الاطلاع عليه بتاريخ ٢٧ يناير ٢٠١٥
- 1 2 3 "مواصفات ملف تعريف TPM لمنصة عميل TCG PC (PTP)" (ملف PDF) . مجموعة الحوسبة الموثوقة . 26 يناير 2015. الصفحات 29، 123-124 . تم الاطلاع عليه في 5 أكتوبر 2016 . .
روابط خارجية
- دعم مقاطعات IRQ التسلسلية لأنظمة PCI (مؤرشف بتاريخ 4 مارس 2016 في Wayback Machine) المستخدمة بواسطة ناقل LPC
- نوى LPC المضيفة والطرفية مفتوحة المصدر
- مقدمات متعلقة بالحاسوب في عام 1998
- حافلات الكمبيوتر
- معايير أجهزة الكمبيوتر
