রেজিস্টারগুলিতে প্রয়োগ করার সময় ব্যাঙ্কিং শব্দটি দুটি পৃথক পৃথক অর্থে ব্যবহৃত হয়।
বাধা নিবন্ধসমূহ বিঘ্নিত হ্যান্ডলিংয়ের জন্য
ইন্দ্রিয় যা দিয়ে Stackoverflow প্রশ্ন সংশ্লিষ্ট হয় (মেমরি) ব্যবহারের অনুরূপ ব্যাংক সুইচিং মধ্যে (কিছু 8-বিট এবং 16-বিট প্রসেসর দ্বারা ব্যবহৃত) ফাংশন । নিবন্ধের সংগ্রহের নামগুলি শারীরিক নিবন্ধগুলির পৃথক সংকলনে ম্যাপ করা হয়। এআরএমভি 7 তার 16 জিপিআরের 7 টির জন্য একটি অতিরিক্ত ব্যাংক এবং স্ট্যাক পয়েন্টার রেজিস্টার এবং লিংক রেজিস্টারের জন্য আরও পাঁচটি ব্যাঙ্ক সরবরাহ করে (এআরএম লিংক রেজিস্টারটি পিসিটিকে বাধা থেকে ফিরে আসার জন্য সংরক্ষণ করতে ব্যবহার করে)। ইটানিয়াম তার 31 টি স্ট্যাটিক জিপিআর এর 16 টির জন্য একটি অতিরিক্ত ব্যাংক সরবরাহ করে। (এমআইপিএস 31 শে জিপিআর সম্পূর্ণ সেট সরবরাহ করে, তাদের "ছায়ার নিবন্ধের সেট" বলে ডাকে))
মেমোরি ব্যাংক স্যুইচিংয়ের বিপরীতে, এই ধরণের রেজিস্টার ব্যাংকিংয়ের প্রাথমিক উদ্দেশ্যটি (সাধারণত) ঠিকানার যোগ্য সঞ্চয় বাড়াতে নয় তবে নিবন্ধক মানগুলি, বাধাপ্রাপ্ত হ্যান্ডলার দ্বারা ব্যবহৃত লোড মানগুলি সংরক্ষণ করে এবং মূলটি পুনরুদ্ধার করা এড়ানোর মাধ্যমে দ্রুত বাধা হ্যান্ডলিং সরবরাহ করা is মান নিবন্ধ করুন এবং বাধা হ্যান্ডলিং সরল করতে।
(রেজিস্ট্রার রাষ্ট্র সংরক্ষণের জন্য অ্যাপ্লিকেশনটির স্ট্যাকটি ব্যবহার করে এই স্ট্যাকের জন্য বরাদ্দকৃত স্মৃতিটি উপচে পড়ার সম্ভাবনা খোলে, একটি ব্যতিক্রম উত্পন্ন করে যা পরে কোনওভাবে স্টেট সাশ্রয় পরিচালনা করতে হবে W আরও খারাপ, মেমরির পৃষ্ঠাটি অবিলম্বে স্ট্যাকের সীমাটি পেরিয়ে গেলে, বাধা হ্যান্ডলারের সুবিধাগুলি বাড়িয়েছে কিন্তু অ্যাপ্লিকেশন দ্বারা নয়, তারপরে অ্যাপ্লিকেশন কার্যকরভাবে এমন একটি পৃষ্ঠায় লিখন করছে যেখানে এটির লেখার অনুমতি নেই Some কিছু এবিআই এই বাধাটি অতিক্রম করে এক বা একাধিক নিবন্ধকে সংজ্ঞায়িত করে এই বিষয়টি এড়িয়ে চলেছে This এটি বাধা দেয় ক্লাববারিং অ্যাপ্লিকেশন স্টেট ছাড়াই স্ট্যান্ড সেভিংয়ের জন্য একটি পয়েন্টার লোড করার জন্য হ্যান্ডলার, তবে ব্যাঙ্কযুক্ত রেজিস্টারের বিপরীতে এ জাতীয় সফ্টওয়্যার-সংজ্ঞায়িত বিঘ্নিত উদ্বোধনকারী রেজিস্টারগুলিকে অ্যাপ্লিকেশন সফ্টওয়্যার দ্বারা অপরিবর্তিত রাখার বিশ্বাস করা যায় না।)
(এই জাতীয় নিবন্ধের ব্যাংকগুলিকে স্থির উইন্ডোজ হিসাবে ব্যবহারের জন্য উপলব্ধ নিবন্ধগুলির সংখ্যা বাড়ানোর প্রস্তাব করা হয়েছে, যেমন, "একটি উইন্ডোড রেজিস্টার ফাইল ব্যবহার করে একটি নিম্ন-বিদ্যুৎ প্রসেসরে কার্যকর রেজিস্টারের সংখ্যা বৃদ্ধি করা", রাজীব এ। রবীন্দ্রন এট আল।) ২০০৩. যে কোনও পদ্ধতিতে রেজিস্টার এড়ানোর জন্য ব্যবহৃত স্ট্যাকটি রেকর্ড করার জন্য ব্যবহৃত মিল এবং আইটানিয়াম এবং এসপিআরসি হিসাবে ফাংশন কলগুলির জন্য ওভারহেড পুনরুদ্ধার করার জন্য [যা "রেজিস্টার উইন্ডোজ" শব্দটি ব্যবহার করে] ব্যবহার করতে পারে, যদিও এই পদ্ধতিগুলি সাধারণত নিবন্ধের পরিবর্তে নাম বদলানোর পরিবর্তে বদল করে note আউট।)
হার্ডওয়ারের ক্ষেত্রে, ব্যাঙ্কড রেজিস্টারগুলি নির্দেশিকার ডিকোডে নামগুলির নাম পরিবর্তন করে প্রয়োগ করা যেতে পারে। এআরএমের তুলনামূলকভাবে জটিল ব্যাংকিং ব্যবস্থার জন্য এটি সম্ভবত পছন্দের প্রক্রিয়া হবে। ইটানিয়াম এটির মতো সরল ব্যাংকিং ব্যবস্থার জন্য দু'জন নিবন্ধকের শক্তি সহ একক অতিরিক্ত ব্যাংক ব্যবহার করে, নামকরণের ফাইলের সূচিতে নিজেকে পুনরায় নামকরণের সাথে যুক্ত করা ব্যবহারিক হতে পারে। (অবশ্যই, আউট-অফ-অর্ডার এক্সিকিউশনটিকে সমর্থন করার জন্য পুনরায় নামকরণের নির্দিষ্ট ফর্মগুলির সাথে এটি উপযুক্ত নয় would)
একই সাথে বিভিন্ন ব্যাংক অ্যাক্সেস করা যায় না তা স্বীকৃতি দিয়ে, এই পদ্ধতিটি ব্যবহার করে একটি চতুর অপ্টিমাইজেশন "থ্রিডি রেজিস্টার" ব্যবহার করে একটি উচ্চ পোর্টড রেজিস্টার ফাইলের (তারের-সীমাবদ্ধ) ক্ষেত্রের ওভারহেড হ্রাস করতে পারে। (এই কৌশলটি স্পারসি-র নিবন্ধক উইন্ডোগুলির প্রসঙ্গে প্রস্তাবিত হয়েছিল - "সুপারস্ক্যালার প্রসেসরের জন্য একটি তিন ত্রি মাত্রিক রেজিস্টার ফাইল", ট্রাম্ব্লে এট অ্যাল।, 1995 - এবং একটি বৈকল্পিক ইনটেল সোইমটি-র জন্য ব্যবহার করেছিল - "মাল্টি-থ্রেডেড, প্যারিটি-প্রোটেক্টেড) দ্বৈত-কোর ইটানিয়াম-ফ্যামিলি প্রসেসরের উপর 128-ওয়ার্ড রেজিস্টার ফাইলগুলি ", ফেটজার এট অ্যাল।, 2005.)
সম্ভাব্য প্রবেশাধিকারের সংখ্যা বাড়ানোর জন্য ব্যাংকিং
দ্বিতীয় অর্থে ব্যাংকিং শব্দটি রেজিস্টারের জন্য ব্যবহৃত হয় তা বোঝায় রেজিস্টরের একটি সেটকে গ্রুপগুলিতে (ব্যাংক) বিভক্ত করা যার প্রত্যেকে সমান্তরালে অ্যাক্সেস করা যায়। চারটি ব্যাংক ব্যবহার চারটি ফ্যাক্টর দ্বারা সমর্থিত অ্যাক্সেসের সর্বাধিক সংখ্যাকে বৃদ্ধি করে, প্রতিটি ব্যাঙ্ককে প্রদত্ত কার্যকর অ্যাক্সেস কাউন্টের জন্য কম অ্যাক্সেস পোর্টগুলিকে (অঞ্চল এবং শক্তি ব্যবহার হ্রাস) সমর্থন করতে দেয়। তবে, যে পরিমাণ কোনও প্রদত্ত চক্রটিতে অ্যাক্সেসগুলি সমানভাবে ব্যাংকগুলিতে বিতরণ করা হয়নি, সর্বাধিক সংখ্যক অ্যাক্সেস অর্জন করা যাবে না। এমনকি কাঙ্ক্ষিত অ্যাক্সেসের গণনার তুলনায় বিপুল সংখ্যক ব্যাংক থাকা সত্ত্বেও, ব্যাংক সংঘাতগুলি, সবচেয়ে খারাপ ক্ষেত্রে, একক ব্যাঙ্কের সরবরাহিত পোর্টের সংখ্যার মধ্যে প্রকৃত অ্যাক্সেসের গণনা সীমাবদ্ধ করতে পারে।
ব্যাঙ্কড রেজিস্টার ফাইলগুলিতে অনেকগুলি একাডেমিক কাগজপত্র রয়েছে ( গুগল স্কলার অনুসন্ধান)), এবং ব্যাংক বিরোধের প্রভাব হ্রাস করার জন্য বেশ কয়েকটি সাধারণ কৌশল প্রস্তাবিত হয়েছে। সর্বাধিক সুস্পষ্ট কৌশল হ'ল বাফার নির্দেশাবলী (যেমন আদেশের বাইরে চলে যাওয়ার জন্য করা হয়) ব্যাংক সংঘাতের কিছু পরিসংখ্যানগত গড় সরবরাহ করে। নির্দেশ কার্যকর করার জন্য প্রস্তুত হওয়ার আগে একটি রেজিস্টার অপারেন্ড পড়াও সম্ভব (উদাহরণস্বরূপ, যদি অন্য অপরেন্ড এখনও প্রস্তুত না হয় বা কাঠামোগত বিপত্তি কার্যকর করতে বিলম্ব করে)। ব্যাংকগুলিতে নিবন্ধকদের বরাদ্দ দ্বন্দ্বের সম্ভাবনা হ্রাস করতে প্রত্যাশিত ব্যবহার সম্পর্কিত তথ্য কাজে লাগাতে পারে। (সফ্টওয়্যারটি প্রত্যাশিত পদ্ধতিতে রেজিস্ট্রারগুলি ব্যবহার করে অগ্রাধিকার দিয়ে সহায়তা করতে পারে)) ভার্চুয়াল ফিজিক্যাল রেজিস্টার নাম ব্যবহার করে, রেজিস্টারে মান সংরক্ষণ না করা অবধি শারীরিক নিবন্ধের নামগুলি (এবং এইভাবে ব্যাংকগুলি) বরাদ্দ করতে বিলম্ব করা সম্ভব;
এই ধরণের ব্যাংকিংটিকে কখনও কখনও সিডো-মাল্টিপোর্টিং বলা হয় কারণ এটি বিশাল সংখ্যক অ্যাক্সেস পোর্টগুলির মায়া সরবরাহ করে। শারীরিক কাঠামো প্রায়শই অন্যান্য কারণে পৃথক মেমরি অ্যারে বিভক্ত হওয়ায় এই কৌশলটি সাধারণত ক্যাশে ব্যবহৃত হয়।
(এই জাতীয় ব্যাংকের একটি বিকল্প হ'ল রেজিস্টার ফাইলটি প্রতিলিপি করা। নিবন্ধক ফাইলের দুটি অনুলিপি ব্যবহার করে প্রতিটি অনুলিপি অর্ধেক রিড পোর্ট প্রয়োজন, যদিও একই সংখ্যায় রাইটিং পোর্ট প্রয়োজন। এই কৌশলটি POWER2 এবং আলফা 21264 এ ব্যবহৃত হয়েছিল) এবং উচ্চতর পারফরম্যান্স প্রসেসরগুলিতে সাধারণত ব্যবহৃত হয়))
সারসংক্ষেপ
এই দুটি ধরণের ব্যাংকিংকে টেম্পোরাল ব্যাংকিং হিসাবে আলাদা করতে সহায়ক হতে পারে যাতে ব্যাংকের নির্বাচন সময় জুড়ে ছড়িয়ে পড়ে (দ্রুত বাধাগুলির জন্য এআরএমের ব্যাঙ্কড রেজিস্টারের মতো) এবং স্থানিক ব্যাংকিং যেখানে ব্যাঙ্কের অ্যাক্সেস সময়মতো একযোগে হতে পারে তবে স্থানিকভাবে বিতরণ করা হয়।
টেম্পোরাল ব্যাংকিং সাধারণত সফ্টওয়্যারের সংস্পর্শে আসে এবং ব্যাঘাতের ওভারহেড (এবং জটিলতা) হ্রাস করতে ব্যবহৃত হয়। (ধারণামূলকভাবে, একটি স্যুইচ-অন-ইভেন্ট-মাল্টিথ্রেড প্রসেসরে থ্রেড স্যুইচিং বাধা হ্যান্ডলিংয়ের সাথে খুব মিল এবং ওভারহেড হ্রাস করতে অনুরূপ প্রক্রিয়া ব্যবহার করতে পারে))
স্পেসিয়াল ব্যাংকিং ISA এর কম অংশ হয় (যদিও Itanium লোড এবং স্টোর ভাসমান-পয়েন্ট রেজিস্টার জোড়গুলি এবং বিজোড় রেজিস্ট্রার নম্বরগুলি ব্যবহার করার জন্য প্রয়োজন - যা নিবন্ধের ঘূর্ণনের ব্যবহারের গ্যারান্টিযুক্ত নয় - একটি তুচ্ছ দুটি ব্যাংকের নকশাকে অতিরিক্ত সরবরাহ করার অনুমতি দেয় ফাইল অ্যাক্সেসের প্রয়োজনীয়তাগুলি নিবন্ধ করুন) এবং চক্র প্রতি বৃহত সংখ্যক নিবন্ধের প্রবেশাধিকার সরবরাহের ব্যয় হ্রাস করতে ব্যবহৃত হয়।