আপনি কি এক্স x86 ক্লাস প্রসেসরটি নির্বিঘ্নে চালাতে পারবেন?


9

আধুনিক x86 প্রসেসরের কমপক্ষে 512 কে এল 2 ক্যাশে রয়েছে। এমন অ্যাপ্লিকেশন রয়েছে যা এই পরিমাণ মেমরির মধ্যে পুরোপুরি ফিট করে। র‌্যাম সংযুক্ত না করে আপনি কি এই চিপগুলি চালাতে পারেন? যদি তাই হয়, সিপিইউ যখন র‌্যামের সংগতি বজায় রাখার চেষ্টা করে তখন লিখনব্যাকের সময়দণ্ডকে মুছে ফেলার কোনও উপায় কী আছে?

আমার মনে একটি নির্দিষ্ট অ্যাপ্লিকেশন নেই, এটি কেবল অলস কৌতূহল। আমি নিশ্চিত যে কোথাও একটি কুলুঙ্গি প্রয়োগ আছে যেখানে এটি কার্যকর হবে।

উত্তর:


12

হ্যা, তুমি পারো. একটানা (অ-অযৌক্তিক) শারীরিক মেমরি অবস্থানগুলি থেকে পঠন ফ্যাক্স করে আপনি ট্যাগগুলি ক্যাশে রেখেছিলেন। তারপরে আপনি ক্যাচেলিনগুলির আরও ভরাট বন্ধ করে রাইটব্যাক প্রবেশ করুন, এভাবে ক্যাশে পাঠ্য / লেখার সীমাবদ্ধ করা এবং এটি একটি সাধারণ র‌্যাম হিসাবে আচরণ করবে।

কিছু বায়োস-প্রতিস্থাপন প্রকল্প এটি করে কারণ আপনি তখন চিপসেট এবং চিপসেট মেমরি নিয়ামক সেটআপে আরও অনেক বেশি কোড ব্যয় করতে পারেন, সুতরাং আপনি এটি সিতে লিখতে পারেন উদাহরণস্বরূপ।

এই অনুশীলনটি এম্বেডড-ক্লাসের সিপিইউগুলির পাশাপাশি বুটলোডারগুলি পরিচালনা করার জন্য ব্যাপকভাবে ব্যবহৃত হয়। ক্যাশেটিকে র‌্যামের মতো মোডে পরিণত করার পদ্ধতিগুলি কিছুটা পৃথক হয়।

সংক্ষিপ্ত নিম্ন-স্তরের পরিচিতির জন্য আপনি এই উপস্থাপনাটি পরীক্ষা করে দেখতে পারেন

মনে রাখবেন যে অন্যরা যেমন নির্দেশ করেছে ঠিক ততই আপনাকে কোথাও থেকে স্পষ্টতই বুট-কোডটি লোড করা দরকার।


আসলে, আমি মনে করি প্রায় সমস্ত আধুনিক BIOS এটি ব্যবহার করে এবং প্রায় সমস্ত আধুনিক x86 সিপিইউগুলির পক্ষে এটির জন্য অফিসিয়াল সমর্থন রয়েছে।
ইউহং বাও

7

সিপিইউ রিসেটের বাইরে এলে ক্যাশে বন্ধ করা হয়। বায়োস হ'ল যা প্রাথমিকভাবে ক্যাশেটি কনফিগার করে এবং পরিষ্কার করে। সুতরাং না, আপনি এটি র‍্যাম-কম চালাতে পারবেন না কারণ জিনিসটি প্রথম স্থানে বুট করার জন্য কোনও র‌্যাম নেই।


1
রম থেকে প্রথম কয়েকটি নির্দেশাবলী র‌্যাম ব্যবহার না করেই আরম্ভ এবং ক্যাশে চালু করতে পারে না?
মার্ক রান্সম

1
@ মার্ক র্যানসম মডার্ন ইন্টেল প্রসেসর (এবং আরও অনেক সিপিইউ) বিআইওএস সংরক্ষণ করার জন্য সিরিয়াল ফ্ল্যাশ ব্যবহার করে। তবে এটি সিরিয়াল ফ্ল্যাশ থেকে কোড চালায় না। পরিবর্তে সিপিইউ এই সিরিয়াল ফ্ল্যাশটি র‍্যামে অনুলিপি করে এবং তারপরে এটি কার্যকর করে।

হাহ, আমার অজ্ঞতা প্রদর্শন করছে - আপনি দেখতে পাচ্ছেন যে আমি হার্ডওয়ার ডিজাইনটি পেরিয়েছি কত বছর হয়েছে। সুতরাং সিপিইউ প্রথম নির্দেশ কার্যকর হওয়ার আগে স্বয়ংক্রিয়ভাবে ফ্ল্যাশ অনুলিপি করে? এটি কাটাতে একটি বাজে মুরগী ​​/ ডিমের সমস্যা হবে।
মার্ক রান্সম

@ ডেভিড কড়া কথায় বলতে গেলে এটি 'সিরিয়াল' ফ্ল্যাশ নয় বরং 'ফার্মওয়্যার হাব'। এটি 'সিরিয়াল' থেকে পৃথক যে এটি 1 এর পরিবর্তে একবারে 4 টি বিট স্থানান্তর করে
মজেনকো

1
@ মার্ক মুক্তিপণ অনেকগুলি সিপিইউ'র / এমসিইউ'র / ডিএসপি'র একটি সিরিয়াল লিঙ্ক (সিরিয়াল ফ্ল্যাশ, আরএস -232, এসপিআই, ইত্যাদি) বুট করবে boot তারা সকলেই সিপিইউর অভ্যন্তরে একটি ছোট রম রাখার মাধ্যমে এটি সম্পাদন করে এবং সেই কোডটি যে কোনও জায়গা থেকে "আসল" কোডটি লোড করবে। একটি র‌্যাম-লেস সিস্টেম চালানো, তাত্ত্বিকভাবে, ইন্টেল বাহ্যিক র্যামের পরিবর্তে ক্যাশে ব্যবহার করার জন্য এই কোডটি সংশোধন করে সম্ভব হতে পারে। তবে আমি সন্দেহ করি ইন্টেল এটি করবে।

3

আমি জানি না এটি কতটা সঠিক, তবে এগুলি আমার ধারণা:

আমি মনে করি না আপনি ক্যাশে প্রোগ্রামেটিক অ্যাক্সেস পাওয়ার কোনও উপায় আছে। ক্যাশেতে কী হবে এবং কোথায় এটি থাকবে তা আপনি একটি নির্দেশনা থেকে পরের নির্দেশের গ্যারান্টি দিতে পারবেন না, তাই আপনি সরাসরি এটি অ্যাক্সেস করতে পারলেও আপনি এটি নির্ভরযোগ্যভাবে র‌্যাম হিসাবে ব্যবহার করতে পারবেন না।

আপনি র‌্যাম ছাড়াই একটি x86 চালাতে পারেন, তবে আপনি এটি খুব বেশি দরকারী করতে সক্ষম হবেন না। ডেটা সঞ্চয় করার জন্য আপনাকে খাঁটি অভ্যন্তরীণ রেজিস্টারগুলি ব্যবহার করতে সীমাবদ্ধ থাকবে।


2
ক্যাচলাইন ফিল এবং ফ্লাশ প্রোটোকল x86 সহ বেশিরভাগ সিপিইউতে পুরোপুরি নথিবদ্ধ এবং কনফিগারযোগ্য and নির্দেশাবলীর মধ্যে এলোমেলোভাবে ক্যাশেলাইন সামগ্রীগুলি ফ্লাশ করা হয় না। রৈখিক র‌্যাম হিসাবে আচরণ করার জন্য আপনি সাধারণত কীভাবে সেট আপ করেন সে সম্পর্কে আমার উত্তর দেখুন।
বজর্ন ওয়েসেন

আমি একটি 80x86 ক্লোনটির জন্য একটি হেক্স লোডার ইউটিলিটি লিখেছি যা কোনও র্যাম ছাড়াই সঠিকভাবে কাজ করবে; আইআইআরসি, আমি এসপি ব্যবহার করে রিটার্নের ঠিকানা রাখতে একটি স্তরের কল স্ট্যাক প্রয়োগ করেছি। যেহেতু র‌্যামটি র‌্যামের মতো একই বাসে ছিল, ততটা সমস্যা হওয়ার সম্ভাবনা ছিল না যে র‌্যামটি যখন রমটি করছিল না তখন রমকে কাজ করতে দেবে, তবে এই ক্ষেত্রে লোডার সমস্যাটি সনাক্ত করতে পারে। বহিরাগত কোড বাস সহ কিছু অন্যান্য মাইক্রোতে কিন্তু অল্প পরিমাণে অভ্যন্তরীণ কোড স্পেস, একটি ভাঙা বাসের সাহায্যে একটি সিস্টেমে কোড চালাতে সক্ষম হওয়া একটি কার্যকর ডায়াগনস্টিক সরঞ্জাম ছিল।
সুপারক্যাট

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