আমি পিসিআই-এক্সপ্রেস হার্ডওয়্যার ডিজাইন করতাম যা হার্ডওয়্যার এবং সফ্টওয়্যারটিতে সম্পূর্ণ হট-প্লাগ সমর্থন প্রয়োজন, এবং এটি অবশ্যই সম্ভব, তবে এটি বেশ জড়িত এবং এর জন্য বিস্তৃত সফ্টওয়্যার সমর্থন প্রয়োজন - হার্ডওয়্যারটি আসলে বেশ সহজ is আমাকে হার্ডওয়্যারটি ডিজাইন করতে হয়েছিল, তারপরে ফাইবার এবং কপারের উপরে হট-প্লাগিং স্বেচ্ছাসেবক পিসিআই ডিভাইসগুলির জন্য বিআইওএস (ইউইএফআই) এবং কার্নেল (লিনাক্স) সমর্থন প্রয়োগ করতে হয়েছিল।
একটি সফ্টওয়্যার দৃষ্টিকোণ থেকে, আপনার অবশ্যই মনে রাখতে হবে যে PCIe পিসিআই সফটওয়্যার মডেল সহ চালিয়ে যাচ্ছে, বাস, ডিভাইস, ফাংশন ঠিকানা সম্পর্কিত ধারণাগুলি সহ। পিসিআই বাসটি যখন গণনা করা হয় তখন এটি প্রথম প্রস্থের অনুসন্ধান হিসাবে করা হয়:
পিসিআই গণনা সাধারণত দুবার করা হয়। প্রথমে আপনার BIOS (ইউইএফআই বা অন্যথায়) এটি করবে, কে উপস্থিত আছেন এবং তাদের কত স্মৃতি দরকার তা নির্ধারণ করার জন্য। এই ডেটা হোস্ট ওএসের কাছে দেওয়া যেতে পারে যারা এটিকে যেমনটি গ্রহণ করতে পারে তবে লিনাক্স এবং উইন্ডোজ প্রায়শই তাদের নিজস্ব গণনা পদ্ধতিও সম্পাদন করে। লিনাক্স-এ, এটি মূল পিসিআই সাবসিস্টেমের মাধ্যমে করা হয়, যা বাস সন্ধান করে, ডিভাইসের আইডির ভিত্তিতে প্রয়োজনে যে কোনও তত্পরতা প্রয়োগ করে এবং তার অনুসন্ধানের কার্যক্রমে ম্যাচিং আইডি থাকা ড্রাইভারকে লোড করে। একটি পিসিআই ডিভাইসটি এর ভেন্ডর আইডি (১--বিটস, উদাহরণস্বরূপ ইন্টেল 0x8086) এবং ডিভাইস আইডি (অন্য 16 টি বিট) এর সংমিশ্রণের মাধ্যমে আইডি করা হয় - সর্বাধিক সাধারণ ইন্টারনেট উত্স এখানে: http://pcidatedia.com / ।
কাস্টম সফ্টওয়্যার অংশটি এই গণনা প্রক্রিয়া চলাকালীন আসে এবং এটি আপনার অবশ্যই পিসিআই বাস নম্বর, এবং সম্ভাব্য ভবিষ্যতের ডিভাইসের জন্য মেমরি বিভাগগুলি আগে সংরক্ষণ করতে হবে - এটিকে কখনও কখনও ' বাস প্যাডিং ' বলা হয় । এটি ভবিষ্যতে বাসটিকে পুনরায় গণনা করার প্রয়োজনীয়তা এড়িয়ে চলে যা প্রায়শই সিস্টেমে ব্যত্যয় ছাড়া করা যায় না। একটি পিসিআই ডিভাইসে বারস ( বেস অ্যাড্রেস রেজিস্টারস) রয়েছে) যা হোস্টকে অনুরোধ করে যে ডিভাইসটি কত এবং কী ধরণের (মেমরি বা I / O স্পেস) মেমরির প্রয়োজন - এই কারণেই আপনার আর আইএসএর মতো জাম্পার দরকার নেই :) একইভাবে, লিনাক্স কার্নেল পিসিএইচপি মাধ্যমে পিসিআই হটপ্লাগ প্রয়োগ করে ড্রাইভার। উইন্ডোজ সংস্করণের উপর ভিত্তি করে বিভিন্ন জিনিস করে - পুরানো সংস্করণ (আমি মনে করি এক্সপি) বিআইওএস যা বলে তা উপেক্ষা করে এবং এটি নিজের প্রোবাইং করে। হোস্ট ফার্মওয়্যার (বিআইওএস / ইএফআই) সরবরাহিত এসিপিআই ডিএসডিটি-র প্রতি আমি আরও নতুন সম্মানিত বিশ্বাস করি এবং সেই তথ্যটি অন্তর্ভুক্ত করবে।
এটি বেশ জড়িত বলে মনে হতে পারে এবং এটিও! তবে মনে রাখবেন যে এক্সপ্রেসকার্ড স্লট সহ যে কোনও ল্যাপটপ / ডিভাইস (এটি কেবলমাত্র ইউএসবি-কেবল এক্সপ্রেসকার্ড থাকতে পারে পিসিইই প্রয়োগ করে) অবশ্যই এটি করা উচিত, যদিও সাধারণত প্যাডিং বেশ সহজ - কেবল একটি বাস। আমার পুরানো হার্ডওয়্যারটি পিসিআইই সুইচ হিসাবে ব্যবহৃত হত যার পিছনে আরও 8 টি ডিভাইস ছিল, সুতরাং প্যাডিং কিছুটা জটিল হয়ে উঠল।
একটি হার্ডওয়ার দৃষ্টিকোণ থেকে, এটি অনেক সহজ। কার্ডের জিএনডি পিনগুলি প্রথমে যোগাযোগ করে এবং সংযোগটি তৈরি হওয়ার পরে আমরা এলটিসি থেকে একটি হট-সোয়াপ কন্ট্রোলার আইসি বা অনুরূপ পাওয়ারের জন্য কার্ডে অনুরূপ রাখব। এই মুহুর্তে, অন-বোর্ড এএসআইসি বা এফপিজিএ এটি পাওয়ার-আপ ক্রম শুরু করে এবং তার পিসিআই এক্সপ্রেস লিঙ্কটি লিঙ্ক-প্রশিক্ষণের চেষ্টা শুরু করে। হোস্টকে ধরে রেখে হট-প্লাগিং এবং পিসিআই এক্সপ্রেস এসএলটিসিএপি / এসএলটিসিটিআরএল সমর্থন করেনিবন্ধটি নিবন্ধ করুন (বিশেষত: পিসিআই এক্সপ্রেস স্লট ক্যাপিলিটি রেজিস্টার, পিসিআই এক্সপ্রেস স্লট কন্ট্রোল রেজিস্টার। এর জন্য একটি 1 এবং 2 রয়েছে - দুটি রেজিগুলিতে বিভক্ত হওয়ার জন্য যথেষ্ট পরিমাণ বিট)। যে বন্দরটি হট-প্লাগ সক্ষম তা বোঝাতে কনফিগার করা হয়েছিল, সফ্টওয়্যারটি নতুন ডিভাইসটি গণনা করতে শুরু করতে পারে। স্লট স্থিতি (এসএলটিএসটিএ, পিসিআই এক্সপ্রেস স্লট স্ট্যাটাস রেজিস্টার) রেজিস্টারে বিট রয়েছে যা লক্ষ্য ডিভাইসটি পাওয়ার ত্রুটিগুলি, যান্ত্রিক রিলিজ ল্যাচ এবং অবশ্যই উপস্থিতি সনাক্তকরণ + উপস্থিতি পরিবর্তিত করে সেট করতে পারে।
পূর্বোক্ত রেজিস্টারগুলি 'পিসিআই (এক্সপ্রেস) কনফিগারেশন স্পেস' এ অবস্থিত, যা প্রতিটি সম্ভাব্য বিডিএফ (বাস: ডিভাইস: ফাংশন) এর জন্য বরাদ্দকৃত মেমরি মানচিত্রের একটি ছোট অঞ্চল (PCIe এর জন্য 4K)। আসল নিবন্ধগুলি সাধারণত পেরিফেরিয়াল ডিভাইসে থাকে।
হোস্টের পাশে, আমরা PRSNT1 # / PRSNT2 # কে সাধারণ ডিসি সিগন্যাল হিসাবে ব্যবহার করতে পারি যা একটি পাওয়ার স্যুইচ আইসি সক্ষম করে বা চিপসেট / পিসিএইচে জিপিআইওতে দৌড়ে আইআরকিউ সৃষ্টি করে এবং এসডাব্লু'আরে ট্রিগার করে, কিছু gotোকানো হয় got , এটি সন্ধান করুন এবং এটি কনফিগার করুন! ' রুটিন।
এটি এমন অনেক তথ্য যা আপনার প্রশ্নের সরাসরি উত্তর দেয় না (দ্রুত সংক্ষিপ্তসার জন্য নীচে দেখুন), তবে আশা করি এটি আপনাকে প্রক্রিয়াটি বোঝার ক্ষেত্রে আরও ভাল পটভূমি দেয়। প্রক্রিয়াটির নির্দিষ্ট অংশগুলি সম্পর্কে আপনার যদি কোনও প্রশ্ন থাকে তবে আমাকে এখানে একটি মন্তব্যে জানান বা আমাকে একটি ইমেল মারুন এবং আমি আরও তথ্যের সাথে এই উত্তরটি আপডেট করতে পারি।
সংক্ষিপ্তসার হিসাবে - পেরিফেরিয়াল ডিভাইসটি অবশ্যই একটি হার্ডওয়্যার পিওভির কাছ থেকে মনে রেখে হট-প্লাগ সমর্থন নিয়ে ডিজাইন করা উচিত। একটি সঠিকভাবে নকশা করা হোস্ট / স্লট হট-প্লাগ সক্ষম পাশাপাশি, এবং একটি উচ্চ-শেষ মাদারবোর্ডে আমি এটি নিরাপদ হওয়ার আশা করব। তবে, এর জন্য সফ্টওয়্যার সমর্থন পুরোপুরি আরেকটি প্রশ্ন এবং আপনি দুর্ভাগ্যক্রমে আপনার বায়োসকে আপনার ই এম সরবরাহ করেছেন behold
অনুশীলনে, আপনি এই প্রযুক্তিটি যে কোনও সময় কম্পিউটার থেকে একটি PCIe এক্সপ্রেসকার্ড সরিয়ে / সন্নিবেশ করানোর সময় ব্যবহার করেন। অতিরিক্তভাবে, উচ্চ-সম্পাদনকারী ব্লেড সিস্টেমগুলি (টেলিকম বা অন্যথায়) এই প্রযুক্তিটি নিয়মিতভাবে ব্যবহার করে।
চূড়ান্ত মন্তব্য - বেস স্পেকের সাথে যুক্ত পিডিএফটি সংরক্ষণ করুন, পিসিআই-সিজি সাধারণত তার জন্য টাকা নেয় :)