প্রসেসরের এল 1 এবং এল 2 ক্যাশে অক্ষম করবেন কীভাবে?


10

উবুন্টু ১৪.০৪ এ L1 এবং / অথবা L2 ক্যাশে অক্ষম করা সম্ভব (পাইথনের মতো উচ্চ স্তরের ভাষায়)? যদি তাই হয়, কিভাবে?

তদতিরিক্ত, ক্যাশে অক্ষম করা কি বিভিন্ন স্থাপত্যের মধ্যে উল্লেখযোগ্যভাবে পৃথক হবে? যদি তা হয় তবে আমি একটি এআরএম কর্টেক্স-এ 15-তে আরও আগ্রহী।

সম্পাদনা

ক্যাশে কীভাবে অক্ষম করতে হয় সে সম্পর্কে গবেষণা করার সময়, আমি কর্নেল.আর ডকুমেন্টেশন থেকে / proc / sys / vm / এ "ড্রপ_ক্যাচ" ফাইল সম্পর্কে জানতে পারি

"এটি লেখার ফলে কার্নেলটি পরিষ্কার ক্যাশে ফেলে দেওয়ার পাশাপাশি ডেন্ট্রি এবং আইনোডের মতো পুনরুদ্ধারযোগ্য স্ল্যাব অবজেক্টগুলিকে ফেলে দেবে Once একবার বাদ পড়লে তাদের স্মৃতি মুক্ত হয়ে যায়।"

...

"এই ফাইলটি বিভিন্ন কার্নেল ক্যাশে (আইনোড, ডেন্টি, পেজক্যাচ, ইত্যাদির বৃদ্ধি নিয়ন্ত্রণ করার উপায় নয়) যখন সিস্টেমের অন্য কোনও স্থানে মেমরির প্রয়োজন হয় তখন এই বস্তুগুলি স্বয়ংক্রিয়ভাবে কার্নেল দ্বারা পুনরুদ্ধার করা হয়" "

এটি কেবল যা খুঁজছে তা দেখে মনে হচ্ছে না এটি কেবল ক্যাশে অক্ষম করবে বলে মনে হয় না, আমি ভেবেছিলাম যে ভার্চুয়াল মেমরিটি হার্ডওয়্যারটিতে নয় অপারেটিং সিস্টেমের মধ্যে থাকে। আমার লক্ষ্যটি ক্যাশে অক্ষম করা যাতে কাঙ্ক্ষিত মেমরিটি অন্য কোথাও যেমন রামের ভিতরে থাকা উচিত within

সম্পাদনা

স্পষ্ট করার জন্য, আমি বুঝতে পেরেছি ক্যাশে অক্ষম করা সিস্টেমকে কী করবে। তবে, এটি সুরক্ষা-সমালোচনামূলক অ্যাপ্লিকেশনগুলির নির্ভরযোগ্যতা বাড়াতে স্পেস অ্যাপ্লিকেশনগুলিতে ব্যবহৃত একটি সাধারণ প্রযুক্তি। এখানে কিছু সংস্থান রয়েছে যা এই ঘটনাটি নথি করে:

ক্যাশে স্মৃতিগুলির মাধ্যমে এম্বেড থাকা সফ্টওয়্যার বিকিরণ-প্রেরণা ব্যর্থতা হ্রাস করা

স্পেস রেডিয়েশন এনভায়রনমেন্টে মাইক্রোপ্রসেসরের গ্রাউন্ড রেডিয়েশন টেস্টিংয়ের গাইডলাইন

এমনকি এই বিষয়টিতে বই রয়েছে:

ইলেক্ট্রনিক্সে আয়নাইজিং রেডিয়েশন এফেক্টস: মেমোরি থেকে ইমেজার পর্যন্ত


আপনি যদি ক্যাশে অক্ষম করার মতো কিছু করার চেষ্টা করছেন, আপনি এমবেডড প্রোগ্রামিং করছেন, আপনি এম্বেডেড প্রোগ্রামিং করছেন, আপনার সম্ভবত একটি এম্বেডেড ভাষা (সি) ব্যবহার করা উচিত, এবং আমি কোনও ওএস ব্যবহার করব না use একদিকে যেমন ক্যাশে অক্ষম করা আপনার সিস্টেমে ব্যাপকভাবে ধীরগতিতে চলেছে।
স্যাম

ক্যাশে ছাড়াই আমার সিস্টেমে গতি বাড়ানোর অন্যান্য উপায় রয়েছে, তবে আমি ক্যাশে অক্ষম না করা এবং বেঞ্চমার্ক চালানো অবধি এই পদ্ধতিগুলি কতটা কার্যকর তা বলতে পারি না। আমি এমনি এম্বেড অ্যাপ্লিকেশনগুলির জন্য সি বা অ্যাসেমব্লিলি পছন্দসই পছন্দ সম্পর্কে অনেক সচেতন। যাইহোক, বেশ কয়েকটি উচ্চ স্তরের ঘটনা ঘটছে যা পাইথনে আরও বোধগম্য। পাইথনের যদি আমার নির্দিষ্ট অ্যাপ্লিকেশনটির জন্য ক্যাশে নিষ্ক্রিয় করার মতো কিছু করার পক্ষে সমর্থন পাওয়া যায় তবে এটি আরও সুবিধাজনক হবে। ওএস কে ছিনিয়ে নেওয়ার ক্ষেত্রে, দুর্ভাগ্যক্রমে খালি ধাতু আমার পক্ষে বিকল্প নয়।
অস্টিনট্রনিক্স

উত্তর:


2

পাইথনে আপনি সরাসরি এটি করতে পারবেন না, কারণ এটি করার জন্য আপনার কার্নেল মডিউল প্রয়োজন (এবং সেই মডিউলটি লোড করার মূল অধিকার)।

L1 ক্যাশে অকার্যকর করতে যা লাগে তার জন্য http://lxr.free-electrons.com/source/arch/arm/mm/cache-v7.S#L21 দেখুন (অবৈধ, অক্ষম নয়)।

বিভিন্ন সিপিইউ আর্কিটেকচারের (যেমন x86 বনাম এআরএম) ক্যাশে অক্ষম করার জন্য বিভিন্ন এসেম্বলি কোড (সিপিইউ নির্দেশাবলী) প্রয়োজন। আমি নিশ্চিত নই যে লিনাক্স কার্নেলের কাছে L1 / L2 / L3 / L4 ক্যাশেগুলি নিষ্ক্রিয় করার কোনও সম্ভাবনা রয়েছে এবং যদি এটি থাকে তবে আমি বিশ্বাস করি যে সিপিইউটি ধীর হওয়ায় এটি স্বল্প সময়ের জন্য অভ্যন্তরীণভাবে ব্যবহৃত হবে I এই ক্যাশে ছাড়া

দেখুন লিনাক্স সিস্টেমে কি সিপিইউ ক্যাশে (L1 / L2) অক্ষম করার কোনও উপায় আছে? আপনি কীভাবে x86 / x64 সিস্টেমে ক্যাশে অক্ষম করতে পারবেন তার লিঙ্কের জন্য (আপনার নিবন্ধটি পরিবর্তন করতে হবে cr0)। এআরএমের জন্য ক্যাশে অক্ষম আচরণ চেক করুন ।

আমি নিশ্চিত নই যে সিপিইউ ক্যাশেগুলি কী করে আপনি পুরোপুরি বুঝতে পেরেছেন। আপনি কেন আপনার সিস্টেমের কর্মক্ষমতা পঙ্গু করতে চান দয়া করে বিস্তারিত বলতে পারেন?


অ্যাপ্লিকেশনটি হ'ল এয়ারস্পেসের জন্য উচ্চ-কার্যকারিতা এম্বেড করা কম্পিউটিং। পারফরম্যান্সের চেয়ে আমার অ্যাপ্লিকেশনটির জন্য আপ-টাইম আরও গুরুত্বপূর্ণ। আমি জানি এটি অদ্ভুত শোনায় তবে ঘটনাটি ভালভাবে নথিভুক্ত।
অস্টিনট্রনিক্স

সিপিইউ ক্যাশে ছাড়াই কীভাবে আপনি "উচ্চ-পারফরম্যান্স" অ্যাপ্লিকেশন রাখতে পারেন? ক্যাটিস আপটাইম সঙ্গে কি করতে হবে?
tehnicaorg

2
আমি আর অ্যান্ড ডি-তে একটি সফ্টওয়্যার বিকাশকারী, আমরা প্রচুর ক্রেজি জিনিস করি। দুঃখিত যদি মনে হয় যে আমি আমার প্রতিক্রিয়াগুলি জুড়ে তথ্য রেখে যাচ্ছি বা অস্পষ্ট হয়ে যাচ্ছি তবে আমি যতটা চাই ঠিক তেমন তা পেতে পারি না কারণ এটি যথাযথ তথ্য। আপনার আগ্রহী মহাকাশ অ্যাপ্লিকেশনগুলিতে ক্যাশে আপ-টাইম সহ কী করতে আগ্রহী, যদি এখানে প্রকাশ্যে উপলভ্য জেপিএল কাগজ থাকে । এটিতে একটি জার্নাল পেপারও এখানে রয়েছে ।
অস্টিনট্রনিক্স

1
হাস্যকরভাবে, L1 ক্যাশে অক্ষম করা আজকের অর্থ হয়ে যায়!
রিং Ø

4

আপনি সামান্য এএসএম কোড দিয়ে এটি সম্পাদন করতে পারেন, ইন্টেল সিস্টেম প্রোগ্রামিং গাইডের অধ্যায় 11 দেখুন

11.5.3 ক্যাচিং প্রতিরোধ করা

L1, L2, এবং L3 ক্যাশে সক্ষম হওয়ার পরে এবং ক্যাশে পূরণ করার পরে অক্ষম করতে নিম্নলিখিত পদক্ষেপগুলি সম্পাদন করুন: 1. নন-ফিল ক্যাশে মোডটি প্রবেশ করুন। (কন্ট্রোল রেজিস্টারে সিডি ফ্ল্যাগটি সিআরএল থেকে 1 এবং এনডাব্লু পতাকাটি 0 এ সেট করুন। ডাব্লুবিআইএনভিডি নির্দেশিকা ব্যবহার করে সমস্ত ক্যাশে ফ্লাশ করুন 3.. এমটিআরআরগুলি অক্ষম করুন এবং আনচডে ডিফল্ট মেমরি টাইপ সেট করুন বা অবিচ্ছিন্ন মেমরির ধরণের জন্য সমস্ত এমটিআরআর সেট করুন) (টিওয়াইপিই ক্ষেত্রের আলোচনার আলোচনা এবং বিভাগ 11.11.2.1, "IA32_MTRR_DEF_TYPE MSR" তে E পতাকা দেখুন)।

আমি পাইথন মডিউল সম্পর্কে সচেতন নই যা এটি প্রয়োগ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.