Transactional Synchronization Extensions
ট্রানজেকশনাল সিঙ্ক্রোনাইজেশন এক্সটেনশন (টি. এস. এক্স), যাকে ট্রানজেকশনাল সিঙ্ক্রোনাইজেশন এক্সটেনশন নিউ ইন্সট্রাকশন (টি. এস. এক্স-এন. আই) ও বলা হয়, x86 ইন্সট্রাকশন সেট আর্কিটেকচারের (আই. এস. এ) একটি এক্সটেনশন যা হার্ডওয়্যার ট্রানজেকশনাল মেমরি সাপোর্ট যোগ করে, লক এলিশনের মাধ্যমে মাল্টি-থ্রেডেড সফ্টওয়্যারের এক্সিকিউশনকে ত্বরান্বিত করে। বিভিন্ন মানদণ্ড অনুসারে, টি. এস. এক্স/টি. এস. এক্স-এন. আই নির্দিষ্ট কাজের চাপে প্রায় 40 শতাংশ দ্রুত অ্যাপ্লিকেশন সম্পাদন এবং প্রতি সেকেন্ডে 4-5 গুণ বেশি ডাটাবেস লেনদেন (টি. পি. এস) প্রদান করতে পারে। টিএসএক্স/টিএসএক্স-এনআই 2012 সালের ফেব্রুয়ারিতে ইন্টেল দ্বারা নথিভুক্ত করা হয়েছিল এবং 2013 সালের জুন মাসে হ্যাসওয়েল মাইক্রোআর্কিটেকচারের উপর ভিত্তি করে নির্বাচিত ইন্টেল মাইক্রোপ্রসেসরগুলিতে আত্মপ্রকাশ করেছিল। 45x-এর নিচে হ্যাসওয়েল প্রসেসরের পাশাপাশি আর-সিরিজ এবং কে-সিরিজ (আনলক করা গুণক সহ) এস. কে. ইউ টি. এস. এক্স/টি. এস. এক্স-এন. আই সমর্থন করে না। 2014 সালের আগস্টে, ইন্টেল হ্যাসওয়েল, হ্যাসওয়েল-ই, হ্যাসওয়েল-ইপি এবং প্রাথমিক ব্রডওয়েল সিপিইউগুলির বর্তমান ধাপগুলিতে টিএসএক্স/টিএসএক্স-এনআই বাস্তবায়নে একটি বাগ ঘোষণা করে, যার ফলে একটি মাইক্রোকোড আপডেটের মাধ্যমে প্রভাবিত সিপিইউগুলিতে টিএসএক্স/টিএসএক্স-এনআই বৈশিষ্ট্যটি অক্ষম করা হয়। 2016 সালে, টি. এস. এক্স/টি. এস. এক্স-এন. আই লেনদেনের ত্রুটিগুলি যেভাবে পরিচালনা করে তার অপব্যবহার করে একটি পার্শ্ব-চ্যানেল সময় আক্রমণ পাওয়া গেছে (অর্থাৎ। সমস্ত প্রধান অপারেটিং সিস্টেমে কার্নেল অ্যাড্রেস স্পেস লেআউট র্যান্ডমাইজেশন (কেএএসএলআর) ভাঙার জন্য। 2021 সালে, ইন্টেল একটি মাইক্রোকোড আপডেট প্রকাশ করেছে যা আবিষ্কৃত নিরাপত্তা সমস্যাগুলির প্রশমন হিসাবে স্কাইলেক থেকে কফি লেক পর্যন্ত সিপিইউ প্রজন্মের উপর টিএসএক্স/টিএসএক্স-এনআই বৈশিষ্ট্যটি নিষ্ক্রিয় করেছে। টি. এস. এক্স/টি. এস. এক্স-এন. আই অনুকরণের জন্য সমর্থন ইন্টেল সফ্টওয়্যার ডেভেলপমেন্ট এমুলেটরের অংশ হিসাবে প্রদান করা হয়। একটি কিউইএমইউ কাঁটাতে টিএসএক্স/টিএসএক্স-এনআই অনুকরণের জন্য পরীক্ষামূলক সমর্থনও রয়েছে। বৈশিষ্ট্য টি. এস. এক্স/টি. এস. এক্স-এন. আই লেনদেনের জন্য কোড অঞ্চল নির্ধারণের জন্য দুটি সফ্টওয়্যার ইন্টারফেস সরবরাহ করে। হার্ডওয়্যার লক এলিশন (এইচ. এল. ই) একটি নির্দেশ উপসর্গ-ভিত্তিক ইন্টারফেস যা টি. এস. এক্স/টি. এস. এক্স-এন. আই সমর্থন ছাড়াই প্রসেসরের সাথে পিছনের দিকে সামঞ্জস্যপূর্ণ হওয়ার জন্য ডিজাইন করা হয়েছে। সীমাবদ্ধ লেনদেনমূলক স্মৃতি (আরটিএম) একটি নতুন নির্দেশ সেট ইন্টারফেস যা প্রোগ্রামারদের জন্য আরও বেশি নমনীয়তা প্রদান করে। টি. এস. এক্স/টি. এস. এক্স-এন. আই লেনদেনের কোড অঞ্চলগুলির আশাবাদী কার্যকারিতা সক্ষম করে। হার্ডওয়্যারটি দ্বন্দ্বপূর্ণ মেমরি অ্যাক্সেসের জন্য একাধিক থ্রেড পর্যবেক্ষণ করে, যখন সফলভাবে সম্পন্ন করা যায় না এমন লেনদেনগুলি বাতিল এবং রোল ব্যাক করে। ব্যর্থ লেনদেনগুলি সনাক্ত এবং পরিচালনা করার জন্য সফ্টওয়্যারের জন্য প্রক্রিয়া সরবরাহ করা হয়। অন্য কথায়, লেনদেনের মাধ্যমে লক এলিশন মেমরি লেনদেনকে যেখানে সম্ভব দ্রুত পথ হিসাবে ব্যবহার করে, যেখানে ধীর (ফলব্যাক) পথটি এখনও একটি স্বাভাবিক লক। হার্ডওয়্যার লক এলিশন (এইচ. এল. ই) দুটি নতুন নির্দেশ উপসর্গ যোগ করেছে, এক্স. এ. সি. কিউ. আই. আর এবং এক্স. আর. ই. এল. ই. এ. এস। এই দুটি উপসর্গ বিদ্যমান আরইপিএনই/আরইপিই উপসর্গের (এফ2এইচ/এফ3এইচ) অপকোডগুলি পুনরায় ব্যবহার করে। যে প্রসেসরগুলি এইচ. এল. ই সমর্থন করে না, সেগুলিতে আর. ই. পি. এন. ই/আর. ই. পি. ই উপসর্গগুলি সেই নির্দেশাবলীতে উপেক্ষা করা হয় যার জন্য এক্স. এ. সি. কিউ. আই. আর. ই/এক্স. আর. ই. এল. ই. এ. এস বৈধ, এইভাবে পশ্চাদগামী সামঞ্জস্যতা সক্ষম করে। XACQUIRE উপসর্গ ইঙ্গিত শুধুমাত্র একটি স্পষ্ট লক উপসর্গ সহ নিম্নলিখিত নির্দেশাবলীর সাথে ব্যবহার করা যেতে পারেঃ ADD, ADC, AND, BTC, BTR, BTS, CMPXCHG, CMPXCHG8B, DEC, INC, NEG, NOT, OR, SBB, SUV, XOR, XADD, এবং XCHG। এক্সসিএইচজি নির্দেশটি লক উপসর্গ ছাড়াই ব্যবহার করা যেতে পারে। এক্সআরইএলইএএসই উপসর্গ ইঙ্গিতটি উপরে তালিকাভুক্ত নির্দেশাবলীর সাথে এবং এমওভি মেম, রেগ এবং এমওভি মেম, আইএম নির্দেশাবলীর সাথে উভয়ই ব্যবহার করা যেতে পারে। এইচ. এল. ই একটি লকে লেখা বাদ দিয়ে একটি সমালোচনামূলক অংশের আশাবাদী সম্পাদনের অনুমতি দেয়, যাতে লকটি অন্যান্য থ্রেডে মুক্ত বলে মনে হয়। একটি ব্যর্থ লেনদেনের ফলে এক্সএসিকিউআইআরই-পূর্বনির্ধারিত নির্দেশ থেকে এক্সিকিউশন পুনরায় চালু হয়, তবে নির্দেশটিকে এমনভাবে বিবেচনা করা হয় যেন এক্সএসিকিউআইআরই উপসর্গ উপস্থিত ছিল না। রেস্ট্রিকটেড ট্রানজেকশনাল মেমোরি রেস্ট্রিকটেড ট্রানজেকশনাল মেমোরি (আর. টি. এম) হল এইচ. এল. ই-এর একটি বিকল্প বাস্তবায়ন যা প্রোগ্রামারকে একটি ফলব্যাক কোড পথ নির্দিষ্ট করার নমনীয়তা দেয় যা একটি লেনদেন সফলভাবে কার্যকর করা না গেলে কার্যকর করা হয়। এইচ. এল. ই-এর বিপরীতে, আর. টি. এম এমন প্রসেসরের সাথে সামঞ্জস্যপূর্ণ নয় যা এটি সমর্থন করে না। পশ্চাদপদ সামঞ্জস্যের জন্য, প্রোগ্রামগুলিকে নতুন নির্দেশাবলী ব্যবহার করার আগে সিপিইউতে আরটিএম-এর জন্য সমর্থন সনাক্ত করতে হয়। আর. টি. এম তিনটি নতুন নির্দেশনা যোগ করেছেঃ এক্স. বি. ই. জি. আই. এন, এক্স. ই. এন. ডি এবং এক্স. এ. বি. ও. টি। XBEGIN এবং XEND নির্দেশাবলী একটি লেনদেনের কোড অঞ্চলের শুরু এবং শেষ চিহ্নিত করে; XABORT নির্দেশ স্পষ্টভাবে একটি লেনদেন বাতিল করে। লেনদেনের ব্যর্থতা প্রসেসরকে এক্স. বি. ই. জি. আই. এন নির্দেশ দ্বারা নির্দিষ্ট ফলব্যাক কোড পথে পুনঃনির্দেশিত করে, এবং ই. এ. এক্স রেজিস্টারে বাতিলের অবস্থা ফিরে আসে। এক্স. টি. ই. এস. টি নির্দেশ টি. এস. এক্স/টি. এস. এক্স-এন. আই একটি নতুন এক্স. টি. ই. এস. টি নির্দেশ প্রদান করে যা প্রসেসর একটি লেনদেনের অঞ্চল সম্পাদন করছে কিনা তা প্রদান করে। এই নির্দেশটি প্রসেসর দ্বারা সমর্থিত হয় যদি এটি এইচ. এল. ই বা আর. টি. এম বা উভয়কেই সমর্থন করে। টিএসএক্স সাসপেন্ড লোড অ্যাড্রেস ট্র্যাকিং টিএসএক্স/টিএসএক্স-এনআই সাসপেন্ড লোড অ্যাড্রেস ট্র্যাকিং (টিএসএক্সএলডিটিআরকে) একটি নির্দেশ সেট এক্সটেনশন যা লেনদেনের অঞ্চলের মধ্যে কোডের একটি অংশে মেমরি থেকে ট্র্যাকিং লোডগুলি সাময়িকভাবে অক্ষম করার অনুমতি দেয়। এই বৈশিষ্ট্যটি এইচ. এল. ই এবং আর. টি. এম-কে প্রসারিত করে এবং প্রসেসরে এর সমর্থন অবশ্যই আলাদাভাবে সনাক্ত করতে হবে। টি. এস. এক্স. এল. ডি. টি. আর. কে যথাক্রমে লোড অ্যাড্রেস ট্র্যাকিং স্থগিত এবং পুনরায় শুরু করার জন্য দুটি নতুন নির্দেশাবলী, এক্স. এস. ইউ. এস. এল. ডি. টি. আর. কে এবং এক্স. আর. ই. এস. এল. ডি. টি. আর. কে চালু করেছে। ট্র্যাকিং স্থগিত থাকাকালীন, মেমরি থেকে কোনও লোড লেনদেন রিড সেটে যোগ করা হবে না। এর মানে হল যে, এই মেমরি অবস্থানগুলি যদি স্থগিত অঞ্চলের বাইরে লেনদেনের পড়া বা লেখার সেটগুলিতে যুক্ত না করা হয়, তবে এই অবস্থানগুলিতে অন্যান্য থ্রেড দ্বারা লেখা লেনদেনের অবসান ঘটাবে না। লেনদেনের অঞ্চলের মধ্যে কোডের একটি অংশের জন্য লোড অ্যাড্রেস ট্র্যাকিং স্থগিত করা পড়ার-লেখার দ্বন্দ্বের জন্য ট্র্যাক করা প্রয়োজন এমন মেমরির পরিমাণ হ্রাস করতে এবং তাই লেনদেনের সফল প্রতিশ্রুতিবদ্ধ হওয়ার সম্ভাবনা বাড়িয়ে তোলে। বাস্তবায়ন ইন্টেলের টিএসএক্স/টিএসএক্স-এনআই নির্দিষ্টকরণ বর্ণনা করে যে কীভাবে লেনদেনের মেমরি প্রোগ্রামারদের কাছে উন্মুক্ত হয়, তবে প্রকৃত লেনদেনের মেমরি বাস্তবায়নের বিশদ বিবরণ আটকে রাখে। ইন্টেল তার ডেভেলপার এবং অপ্টিমাইজেশন ম্যানুয়ালগুলিতে নির্দিষ্ট করে যে হ্যাসওয়েল একটি ক্যাশে লাইনের গ্র্যানুলারিটিতে রিড-সেট এবং রাইট-সেট উভয়ই বজায় রাখে, প্রসেসরের এল 1 ডেটা ক্যাশে ঠিকানাগুলি ট্র্যাক করে। ইন্টেল আরও বলেছে যে ডেটা দ্বন্দ্ব ক্যাশে কোহেরেন্স প্রোটোকলের মাধ্যমে সনাক্ত করা হয়। হ্যাসওয়েলের এল1 ডেটা ক্যাশের সহযোগীতা আটটি। এর মানে হল যে এই বাস্তবায়নে, একটি লেনদেনের কার্যকারিতা যা একই ক্যাশ সেটে ম্যাপিং করা নয়টি স্বতন্ত্র স্থানে লেখে তা বাতিল হয়ে যাবে। যাইহোক, মাইক্রো-আর্কিটেকচারাল বাস্তবায়নের কারণে, এর অর্থ এই নয় যে একই সেটের কম অ্যাক্সেস কখনই বাতিল হবে না। উপরন্তু, হাইপার-থ্রেডিং প্রযুক্তির সাথে সিপিইউ কনফিগারেশনে, এল1 ক্যাশে একই কোরের দুটি থ্রেডের মধ্যে ভাগ করা হয়, তাই একই কোরের ভাইবোন লজিক্যাল প্রসেসরের ক্রিয়াকলাপগুলি উচ্ছেদের কারণ হতে পারে। স্বাধীন গবেষণা হ্যাসওয়েলের লেনদেনের স্মৃতির দিকে ইঙ্গিত করে যে এটি সম্ভবত লেনদেনের ডেটা এবং রেজিস্টার চেকপয়েন্টের জন্য প্রতি-কোর ক্যাশে ব্যবহার করে একটি বিলম্বিত আপডেট সিস্টেম। অন্য কথায়, হ্যাসওয়েল ক্যাশ-ভিত্তিক লেনদেনের মেমরি সিস্টেম ব্যবহার করার সম্ভাবনা বেশি, কারণ এটি অনেক কম ঝুঁকিপূর্ণ বাস্তবায়ন পছন্দ। অন্যদিকে, ইন্টেলের স্কাইলেক বা তার পরেরটি এই ক্যাশ-ভিত্তিক পদ্ধতিকে একই উদ্দেশ্যে মেমরি অর্ডারিং বাফার (এমওবি)-এর সাথে একত্রিত করতে পারে, সম্ভবত মাল্টি-ভার্সন লেনদেনের মেমোরিও সরবরাহ করে যা অনুমানমূলক মাল্টিথ্রেডিংয়ের জন্য আরও উপযুক্ত। 2014 সালের আগস্টে, ইন্টেল ঘোষণা করে যে হাসওয়েল, হাসওয়েল-ই, হাসওয়েল-ইপি এবং প্রাথমিক ব্রডওয়েল সিপিইউগুলিতে টিএসএক্স/টিএসএক্স-এনআই বাস্তবায়নে একটি বাগ বিদ্যমান, যার ফলে একটি মাইক্রোকোড আপডেটের মাধ্যমে প্রভাবিত সিপিইউগুলিতে টিএসএক্স/টিএসএক্স-এনআই বৈশিষ্ট্যটি নিষ্ক্রিয় করা হয়েছে। 2014 সালের নভেম্বরে vPro-সক্ষম কোর M-5Y70 ব্রডওয়েল CPU-এর F-0 স্টেপিংসে বাগটি সংশোধন করা হয়েছিল। অ্যাথেন্সের ন্যাশনাল টেকনিক্যাল ইউনিভার্সিটির স্কুল অফ ইলেকট্রিক্যাল অ্যান্ড কম্পিউটার ইঞ্জিনিয়ারিংয়ের একটি ডিপ্লোমা থিসিসের সময় বাগটি পাওয়া যায় এবং তারপর রিপোর্ট করা হয়। 2018 সালের অক্টোবরে, ইন্টেল কিছু স্কাইলেক প্রসেসরে পাওয়া একটি টিএসএক্স/টিএসএক্স-এনআই মেমরি অর্ডারিং সমস্যা প্রকাশ করে। একটি মাইক্রোকোড আপডেটের ফলে, আক্রান্ত সিপিইউগুলিতে এইচ. এল. ই সমর্থন নিষ্ক্রিয় করা হয়েছিল এবং ইন্টেল এসজিএক্স মোড বা সিস্টেম ম্যানেজমেন্ট মোডের (এস. এম. এম) বাইরে ব্যবহার করার সময় একটি পারফরম্যান্স কাউন্টার ত্যাগ করে আর. টি. এম হ্রাস করা হয়েছিল। প্রভাবিত পারফরম্যান্স কাউন্টার ব্যবহার না করার জন্য সিস্টেম সফ্টওয়্যারকে হয় কার্যকরভাবে আরটিএম নিষ্ক্রিয় করতে হবে অথবা পারফরম্যান্স পর্যবেক্ষণ সরঞ্জামগুলি আপডেট করতে হবে। 2021 সালের জুনে, ইন্টেল একটি মাইক্রোকোড আপডেট প্রকাশ করেছে যা টিএসএক্স অ্যাসিঙ্ক্রোনাস অ্যাবর্ট (টিএএ) দুর্বলতার প্রশমন হিসাবে স্কাইলেক থেকে কফি লেক এবং হুইস্কি লেকের মাধ্যমে বিভিন্ন জিওন এবং কোর প্রসেসর মডেলগুলিতে টিএসএক্স/টিএসএক্স-এনআইকে আরও অক্ষম করে। মেমরি অর্ডারিং সমস্যার জন্য পূর্ববর্তী প্রশমন অপসারণ করা হয়েছিল। ডিফল্টরূপে, আপডেটেড মাইক্রোকোডের সাথে, প্রসেসর এখনও আরটিএম-এর জন্য সমর্থন নির্দেশ করবে তবে সর্বদা লেনদেনটি বাতিল করবে। সিস্টেম সফ্টওয়্যার সি. পি. ইউ. আই. ডি নির্দেশ থেকে টি. এস. এক্স/টি. এস. এক্স-এন. আই-এর জন্য অপারেশনের এই মোড এবং মাস্ক সমর্থন সনাক্ত করতে সক্ষম, যা অ্যাপ্লিকেশন দ্বারা টি. এস. এক্স/টি. এস. এক্স-এন. আই সনাক্তকরণ প্রতিরোধ করে। সিস্টেম সফ্টওয়্যার "অসমর্থিত সফ্টওয়্যার ডেভেলপমেন্ট মোড" সক্ষম করতে পারে, যেখানে আরটিএম সম্পূর্ণরূপে সক্রিয়, তবে এই ক্ষেত্রে আরটিএম ব্যবহার আগে বর্ণিত সমস্যাগুলির সাপেক্ষে হতে পারে এবং তাই এই মোডটি উৎপাদন সিস্টেমে সক্ষম করা উচিত নয়। কিছু সিস্টেমে এসজিএক্স সক্রিয় থাকলে আরটিএম পুনরায় সক্রিয় করা যায় না। এইচ. এল. ই সবসময় নিষ্ক্রিয় থাকে। ইন্টেল 64 এবং আইএ-32 আর্কিটেকচারস সফ্টওয়্যার ডেভেলপারের ম্যানুয়াল অনুযায়ী, ভলিউম 1, অধ্যায় 2.5 ইন্টেল নির্দেশ সেট আর্কিটেকচার এবং বৈশিষ্ট্যগুলি সরানো হয়েছে, এইচ. এল. ই 2019 এবং তার পরে প্রকাশিত ইন্টেল পণ্যগুলি থেকে সরানো হয়েছে। আরটিএম অপসারিত হিসাবে নথিভুক্ত করা হয় না। যাইহোক, ইন্টেল 10ম প্রজন্মের কমেট লেক এবং আইস লেক ক্লায়েন্ট প্রসেসর, যা 2020 সালে প্রকাশিত হয়েছিল, এইচ. এল. ই এবং আর. টি. এম উভয় সহ টি. এস. এক্স/টি. এস. এক্স-এন. আই সমর্থন করে না। কমেট লেক প্রসেসরের ইঞ্জিনিয়ারিং সংস্করণগুলি এখনও টিএসএক্স/টিএসএক্স-এনআই সমর্থন বজায় রেখেছিল। 2020 সালের অক্টোবর থেকে ইন্টেল আর্কিটেকচার ইন্সট্রাকশন সেট এক্সটেনশন প্রোগ্রামিং রেফারেন্স রিভিশন 41-এ, একটি নতুন টি. এস. এক্স. এল. ডি. টি. আর. কে ইন্সট্রাকশন সেট এক্সটেনশন নথিভুক্ত করা হয়েছিল। 2023 সালের জানুয়ারিতে মুক্তিপ্রাপ্ত স্যাফায়ার র্যাপিডস প্রসেসরে এটি প্রথম অন্তর্ভুক্ত করা হয়েছিল। আরও দেখুন অ্যাডভান্সড সিঙ্ক্রোনাইজেশন সুবিধা-এএমডি-র প্রতিযোগিতামূলক প্রযুক্তি রেফারেন্স আরও পড়ুন। ইন্টেল টিএসএক্স-এ হার্ডওয়্যার লক-এলিশনে সফ্টওয়্যার-ভিত্তিক উন্নতি। বাহ্যিক লিঙ্ক আইডিএফ 2012 থেকে উপস্থাপনা (পিডিএফ) লিনাক্সে লক এলিশন যোগ করা, লিনাক্স প্লাম্বার্স কনফারেন্স 2012 (পিডিএফ) জিএনইউ সি লাইব্রেরিতে লক এলিশন, LWN.net, জানুয়ারী 30,2013, অ্যান্ডি ক্লিন টিএসএক্স অপ্টিমাইজেশন গাইড, অধ্যায় 12 (পিডিএফ) সফ্টওয়্যার ডেভেলপার ম্যানুয়াল, ভলিউম 1, অধ্যায় 2.5 (পিডিএফ) ইন্টেল ট্রানজেকশনাল সিঙ্ক্রোনাইজেশন এক্সটেনশন x86 সম্পর্কে ওয়েব রিসোর্স, মাইক্রোকোডঃ বিইউজিঃ মাইক্রোকোড আপডেট যা x86 _ ক্ষমতা পরিবর্তন করে, এলকেএমএল, সেপ্টেম্বর 2014 (আরেকটি অনুরূপ বাগ রিপোর্টও রয়েছে) ইন্টেল মাইক্রোকোড, জেন্টু, সেপ্টেম্বর 19,2015 2012 এক্স86 নির্দেশাবলীতে কম্পিউটার সম্পর্কিত ভূমিকা সমান্তরাল