সিপিইউ রেজিস্ট্রার কি?


27

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

আমি যখন মনে করি তারা দুটি একই হয় তখন কি আমি দুজনের মধ্যে কোনও পার্থক্য রয়েছে? এটি কার্যকর করার জন্য কোনও সিজিইউর অভ্যন্তরে কোনও রেজিস্টার থাকা দরকার?

উইকিপিডিয়া অনুসারে একটি রেজিস্টার সিপিইউতে এমন একটি জায়গা যেখানে র‌্যামে ফিরে যাওয়ার আগে মেমরিটি দ্রুত অ্যাক্সেস এবং সংশোধন করা যায়। আমি কি এই ভুলটি বুঝতে পেরেছি বা ক্যাশে এবং নিবন্ধটি আসলে একই রকম?


13
সিপিইউ রেজিস্ট্রার এমন একটি সংস্থা যা আপনার সিপিইউ আপনার জন্য ট্র্যাক করে। এনএসএ হ'ল সিপিইউ নিবন্ধকের উদাহরণ।
জিমি হোফা

3
সিপিইউ স্তর 1-ক্যাশে প্রায়শই একই ধরণের সিলিকন স্টাফ রেজিস্টার হিসাবে তৈরি করা হয়। এটি যথেষ্ট তত দ্রুত নয় কারণ ক্যাশে অবস্থানের সাথে ক্যাশেড ঠিকানাগুলি যুক্ত করতে এটির জন্য অতিরিক্ত লুকআপ দরকার। তবে রেজিস্টার এবং ক্যাশে অবশ্যই চিপসের আলাদা আলাদা জায়গা।
Zan Lynx

3
@ জিমি হোফা: আমি আশঙ্কা করছি যে আপনার মন্তব্যটি ওপি-র কাছে কম্পিউটার বিজ্ঞানের জ্ঞানের ক্ষতির জন্য খুব বিভ্রান্তিকর হবে।
রোবং

3
@ রোং নাহ আমি পেয়েছি, আমি ভেবেছিলাম এটি মজার ছিল। : পি
জেরোইন

1
এবং অন্য পার্থক্য আকার: একটি রেজিস্টার ফাইল শত শত শব্দের তুলনায় খুব কমই বড় হয়, যখন এল 1 ক্যাশে সহজেই 64 কের মতো বড় কিছু হতে পারে।
এসকে-যুক্তি

উত্তর:


61

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

কাজের জায়গায় ছুতার কল্পনা করুন। তার হাতে কয়েকটি আইটেম রয়েছে (নিবন্ধসমূহ) এবং তারপরে খুব ঘনিষ্ঠভাবে তার ওয়ার্কব্যাঞ্চ (ক্যাশে) জিনিসগুলিতে তিনি প্রায়শই কাজ করছেন তবে এই মুহুর্তটি সঠিকভাবে ব্যবহার করছেন না এবং তারপরে ওয়ার্কশপে (মূল স্মৃতি) জিনিসগুলি যা সম্পর্কিত প্রকল্পটি হাতে রয়েছে তবে তা তাত্ক্ষণিকভাবে ওয়ার্কবেঞ্চে থাকা যথেষ্ট গুরুত্বপূর্ণ নয়।

সম্পাদনা: নিবন্ধের যুক্তি কীভাবে কাজ করে তার একটি সহজ ব্যাখ্যা এখানে।

আসুন কল্পনা করুন যে আমাদের চারটি নিবন্ধ রয়েছে যার নাম রয়েছে আর 1..আর 4। আপনি যদি এমন একটি বিবৃতি সংকলন করেন যা দেখে মনে হয়:

x = y + z * 3;

সংকলকটি মেশিন কোডকে আউটপুট দেয় যা (যখন বিচ্ছিন্ন করা হয়) এরকম কিছু দেখায়:

LOAD  R1, ADDRESS_Z //move the value of Z into register 1
MUL   R1, 3         //multiply the value of register 1 by 3
LOAD  R2, ADDRESS_Y //move the value of Y into register 2
ADD   R1, R2        //adds the value in R2 to the value in R1
STORE R1, ADDRESS_X //move the value of register 1 into X

যেহেতু বেশিরভাগ আধুনিক সিপিইউতে নিবন্ধগুলি রয়েছে যা 32 বা 64 বিট প্রস্থের হয় তাই তারা যে পরিমাণ মান ধরে রাখতে পারে তা গণিত করতে পারে। ছোট মানগুলির জন্য তাদের বিশেষ রেজিস্টারগুলির প্রয়োজন নেই; তারা কেবল বিশেষ ASM নির্দেশাবলী ব্যবহার করে যা এটি কেবলমাত্র নিবন্ধকের অংশ ব্যবহার করতে বলে। এবং, কেবলমাত্র দু'হাত সহ কার্পেন্টারের মতোই, নিবন্ধগুলি কেবল একবারে অল্প পরিমাণে ডেটা ধরে রাখতে পারে তবে সেগুলি পুনরায় ব্যবহার করা যেতে পারে, এগুলির মধ্যে এবং বাইরে সক্রিয় ডেটাগুলি পাস করে যার অর্থ "প্রচুর রেজিস্ট্রার" হয় না শেষ হচ্ছে (প্রচুর উপলভ্য থাকায় কমপাইলাররা অবশ্যই দ্রুত কোড তৈরি করতে দেয়, তবে এটি কঠোরভাবে প্রয়োজনীয় নয় necessary)


26
এবং শহর (ডিস্ক) জুড়ে গুদামে আরও স্টাফ এবং তিনি (নেটওয়ার্ক) ফেডেক্সে থাকতে পারেন এমন অন্যান্য জিনিস :-)
ড্যান পিচেলম্যান

2
প্রশ্নে সিস্টেম আর্কিটেকচারের উপর খুব ভারী নির্ভর করে।
বিশ্ব প্রকৌশলী

5
@ বিনেরো একটি 16 বিট x86 প্রসেসরে আপনার অক্ষ, বিএক্স এবং আরও কিছু নাম রেজিস্টার রয়েছে। যখন তারা 32 বিট প্রসেসরে স্থানান্তরিত হয় তারা 32 বিট ইএক্স, ইবিএক্সে রেজিস্টারগুলি প্রসারিত করে, আপনি যদি অ্যাক্স অ্যাক্সেস করেন তবে আপনি ইএক্সের কম 16 বিট পান। Bit৪ বিট মোডে তারা নিখরচায় র্যাক্সের নামকরণ করেছেন যার সাথে নিম্ন 32 বিট ইএএক্স এবং নিম্ন 16 বিট এখনও অক্ষ রয়েছে। এই ডায়াগ্রামে খুঁজে বার করো কিভাবে আপনি 16 বিট এক্স রেজিস্টার করো উচ্চ বাইট পেতে হিঃ মত বাইট অন্যান্য অংশে পেতে দেখতে: en.wikipedia.org/wiki/X86#Structure
stonemetal

2
এবং আধুনিক সিপিইউগুলিতে, এই ধরণটিও ভেঙে যায়, পাশাপাশি রেজিস্ট্রিগুলি কেবলমাত্র রিয়েল ফাস্ট মেমোরির একটি অভ্যন্তরীণ ব্যাংকে সাময়িক ম্যাপিং হওয়ার কারণে, নির্দেশের স্ট্রিমের উপর নির্ভর করে পরিবর্তিত হয় এবং ভবিষ্যদ্বাণী করা নির্দেশ প্রবাহটি কতটা ঘনিষ্ঠভাবে অনুসরণ করে।
ভ্যাটাইন

2
@ ম্যাসনওহিলার আপনার পক্ষে একটি ভাল পছন্দ।
ভ্যাটাইন

3

আসলে সিপিইউ টার্মিনোলজিতে একটি রেজিস্টার হ'ল মাইক্রোপ্রসেসর (সিপিইউ) -এর ভিতরে পাওয়া মেমরির নামযুক্ত অংশ, নিবন্ধগুলির নির্দিষ্ট নাম, আকার এবং ফাংশন প্রসেসর থেকে প্রসেসরের পরিবর্তিত হয়, উদাহরণস্বরূপ, যদি ৮০৮৫ মাইক্রোপ্রসেসর গ্রহণ করা হয় তবে একটি ৮-বিট প্রসেসর রয়েছে 8 -বিট রেজিস্ট্রার (এ: অ্যাকিউমুলেটর, বি, সি, ডি, ই, এইচ, এবং এল রেজিস্টার এবং একটি পতাকা নিবন্ধগুলি সমস্ত 8-বিট)। দুটি 16-বিট রেজিস্টার পিসি এবং এসপি সকলের বিশেষ ফাংশন রয়েছে এবং ফাংশনগুলি এসেম্বলি প্রোগ্রামিংয়ের সময় ছবিতে আসে। কয়েকটি রেজিস্টার নিয়ন্ত্রণ প্রোগ্রামারের বাইরে beyond

আপনি যদি অন্য প্রসেসর নেন তবে রেজিস্টারগুলি পৃথক হয়ে উঠুক বলুন 8086 টি 16-বিট প্রসেসর এবং এতে রয়েছে এক্স, বিএক্স, সিএক্স এবং ডিএক্স সবই 16-বিট, পিসি, এসপি এবং পতাকা রেজিস্টার।

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

তবে প্রসেসর (সিপিইউ) ক্যাশে এবং প্রসেসর (সিপিইউ) রেজিস্টরের মধ্যে কিছুটা পার্থক্য রয়েছে, মেমরি পয়েন্টার, প্রোগ্রামের স্থিতি ইত্যাদির মতো কিছু বিশেষ ক্রিয়াকলাপের জন্য আসলে নিবন্ধগুলি প্রয়োজন। প্রাক্তন: পিসি: প্রোগ্রাম কাউন্টার যা প্রোগ্রামের স্মৃতিতে একটি মেমরি পয়েন্টারকে কাজ করে, এসপি: স্ট্যাক পয়েন্টার যা স্ট্যাক মেমরিতে একটি মেমরি পয়েন্টার কাজ করে। অ্যারিমেটিক অপ্সের জন্য ALU অ্যাক্সেস করতে একিউমুলেটর বাফার এবং প্রধান নিবন্ধক ...

এক্সপালগুলির জন্য আপনি ম্যাসন হুইলারের ব্যাখ্যা দেখতে পারেন


1

আমি মনে করি এটি নিখুঁতভাবে মনে করতে সহায়তা করে যে নিবন্ধগুলি মেমরি নয় এবং এর মতো চিন্তা করা উচিত নয়।

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

কেবল রেজিস্টারগুলি লিখতে দেখা অস্বাভাবিক কিছু নয় - স্মৃতির পক্ষে খুব কমই। এটি কোনও লিখিত ছাড়াই কোনও রেজিস্টার মান পরিবর্তন করা সম্ভব - আবারও, আপনি যে আচরণটি স্মৃতিচারণের প্রত্যাশা করেন তা নয়।


মেমরি-ম্যাপ করা আই / ও-তে, কেবল "মেমরি" -র লেখার অঞ্চলগুলি অসাধারণ নয়।
এসকে-যুক্তি

@ এসকে-যুক্তি - সঠিক - তবে প্রশ্নের প্রসঙ্গে পরিষ্কারভাবে জিজ্ঞাসা করা হয়েছে ওপি স্মৃতিচারণকে এমন কিছু হিসাবে মনে করে যা আপনি পড়েছেন এবং লিখেছেন। তাকে আর বিভ্রান্ত করার দরকার নেই :)
mattnz

0

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

এটি সিপিইউটি তারের সাথে সম্পর্কিত। মেমরি এবং ALU এর মধ্যে কোনও শারীরিক পথ নেই; এএলইউকে সরবরাহ করা সমস্ত ডেটা কোনও না কোনও রেজিস্টারে বাফার করতে হবে। এটি ভিন্ন হতে পারে, তবে মেমরিটিকে সরাসরি ALU- তে সংযুক্ত করার জন্য প্রয়োজনীয় সার্কিটরিটি অত্যন্ত জটিল হবে: উল্লিখিত ডেটা পাথ দ্বারা নির্ধারিত হিসাবে রেজিস্টার ফাইলের মাধ্যমে মেমরি এবং ALU এর মধ্যে সমস্ত যোগাযোগের মধ্যস্থতা করা সহজ এবং আরও কার্যকর is । প্রকৃতপক্ষে, যখন কোনও প্রদত্ত নির্দেশ অপারেন্ড হিসাবে একটি মেমরি অবস্থান নির্দিষ্ট করে ( সরাসরি ঠিকানা হিসাবে পরিচিত একটি ঠিকানা মোড ), তখন সম্পর্কিত ডেটা ইউনিট এমবিআর (মেমরি বাফার রেজিস্টার, কখনও কখনও এমডিআর, মেমরি ডেটা বাফার নামে পরিচিত একটি রেজিস্টারে লোড করা হয়) )।

লক্ষ্য করুন যে সিপিইউর দৃষ্টিকোণ থেকে, তথ্য (ডেটা বা কোড) মূল স্মৃতি বা ক্যাশে থেকে আসে তা আসলে কী আসে যায় না, তবে পরবর্তীটি আরও দ্রুত। কর্মক্ষমতা কারণে ক্যাশে বিদ্যমান, সিপিইউর ডিজাইনের কারণে (যেমন, ডেটা পাথের কারণে) রেজিস্টারগুলি বিদ্যমান। চতুর প্রোগ্রামাররা (চতুর সংকলক, প্রকৃতপক্ষে) মেমরি অ্যাক্সেসগুলি কমানোর জন্য নিবন্ধগুলির ব্যবহার সর্বাধিক করার চেষ্টা করে (রেজিস্টারগুলি ক্যাশে বা মেমরির চেয়ে দ্রুত হয়)। এটি ন্যায়সঙ্গত কারণ কারণ রেজিস্টারে সঞ্চিত তথ্য একাধিকবার ব্যবহৃত হতে থাকে এবং প্রকৃতপক্ষে এটি আরআইএসসি দর্শনের অন্যতম মূলনীতি।

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