X64 নিবন্ধের নামগুলির মধ্যে 'আর' কী বোঝায়?


27

আমি জানি 32 বিট রেজিস্টারের বর্ধিত মানে 'ই' উপসর্গ সহ 16 বিট রেজিস্টারের মতো নামকরণ করা হয়েছিল। আমি সর্বদা ধরে নিয়েছি যার অর্থ 16 থেকে 32 বিট পর্যন্ত বাড়ানো হয়েছে যদিও আমি এর আগে কখনও বলেছি নি।

আমি 'আর' কী বোঝায় তা জানার চেষ্টা করছিলাম কিন্তু আমার গুগল দক্ষতা আমাকে ব্যর্থ করেছে। কেউ জানেন?


উত্তর:


32

এর অর্থ নিবন্ধভুক্ত , এবং এটি সব historicalতিহাসিক কারণে নয়।

Partতিহাসিক অংশটি হ'ল ইন্টেল 8008 (ই প্লাস এইচ এবং এল এর মাধ্যমে A) সহ চিঠি দিয়ে রেজিস্টারগুলি গণনার অভ্যাসে পরিণত হয়েছিল। সেই স্কিমটি তখন পর্যাপ্ত চেয়ে বেশি ছিল কারণ মাইক্রোপ্রসেসরগুলির খুব কম রেজিস্টার ছিল এবং বেশি পাওয়ার সম্ভাবনা ছিল না, এবং বেশিরভাগ ডিজাইন এটি করেছিল। তখনকার প্রচলিত অনুভূতিটি ছিল যে নতুন সিপিইউগুলি উপস্থিত হওয়ার সাথে সাথে সফ্টওয়্যারটি আবার লেখা হবে, সুতরাং মডেলগুলির মধ্যে রেজিস্টার নামকরণের স্কিম পরিবর্তন করা কোনও বড় কথা হত না। আইবিএম পিসিতে অন্তর্ভুক্ত হওয়ার পরে ৮০৮৮ একটি "পরিবার" হিসাবে বিকশিত হওয়ার পূর্বে কেউ তা আগে থেকেই জানতে পারেনি এবং পশ্চাদপদ সামঞ্জস্যের জোয়াল ইন্টেলকে বজায় রাখতে 32-বিট রেজিস্টারে "ই" এর মতো স্কিম গ্রহণ করতে বাধ্য করেছিল।

অ historicalতিহাসিক অংশটি সমস্ত ব্যবহারিক is সাধারণ উদ্দেশ্যে রেজিস্টারগুলির জন্য চিঠিগুলি আপনাকে 26 এর মধ্যে সীমাবদ্ধ করে দেয়, যদি আপনি প্রোগ্রাম কাউন্টার, পতাকা বা স্ট্যাক পয়েন্টারের মতো বিশেষ উদ্দেশ্যে রেজিস্টারগুলির নামগুলির সাথে বিভ্রান্তি সৃষ্টি করতে পারে এমনগুলি কম করে দেন।

এটি নিশ্চিত করার মতো আমার কাছে কোনও উত্স নেই তবে আমি সন্দেহ করি যে Rএকটি উপসর্গ হিসাবে বেছে নেওয়া এবং 15৪-বিট সিপিইউতে আর -15 এর মাধ্যমে আর 8-এর সূচনা সংখ্যায়িত নিবন্ধগুলিতে পরিবর্তনের ইঙ্গিত দেয় যা 32-বিট-এবং মধ্যে আদর্শ হয়ে দাঁড়িয়েছে লার্জার আর্কিটেকচারগুলি প্রায় অর্ধ শতাব্দীর জন্য 8008 থেকে প্রাপ্ত নয়। আইবিএম ১৯60০ এর দশকে এটি 360 এর সাথে করেছিল এবং তার পরে রয়েছে পাওয়ারপিসি, ডিসি আলফা, এমআইপিএস, স্পার্ক, এআরএম, ইন্টেলের আই 860 এবং আই 960 এবং অনেক কিছু যা দীর্ঘকাল ভুলে গেছে।

আপনি লক্ষ করবেন যে বিদ্যমান রেজিস্ট্রারগুলি যদি R7 থাকে তবে তারা R7 এর মধ্যে খুব ভালভাবে ফিট করতে পারে এবং যদি তারা অভ্যন্তরীণভাবে সেভাবে চিকিত্সা করে তবে তা আমাকে অবাক করে না। বিদ্যমান দীর্ঘ নিবন্ধগুলি (RAX / EAX / AX / AL, RBX / EBX / BX / BL, ইত্যাদি) সম্ভবত সূর্য পোড়া না হওয়া অবধি প্রায় থাকবে।


1
কিছুটা অ্যান্টিক্লিম্যাকটিক তবে আমার ধারণা আমার খুব অবাক হওয়া উচিত নয়। ধন্যবাদ।
ম্যাট

3
এগুলিই আমি জোগাড় করতে পেরেছিলাম drama :-)
blrfl

খুব আকর্ষণীয় পড়ার জন্য +1। তবে এটি যদি কেবল একটি লাইনে সংক্ষিপ্তসারিত করা হত তবে আমি যে উত্তর দিয়েছিলাম তা এটিই হত। এই সমস্ত সমৃদ্ধ এবং আকর্ষণীয় তথ্য সংক্ষিপ্তসারিত হলে "historicalতিহাসিক কারণ" এ ভাঁজ হয়ে যায়।
মাইক নকিস

6
এএমডির হয়নি পুনঃনামকরনের বা কম 8 রেজিস্টার aliasing বিবেচনা r0- r7অথবা ব্যবহার UAXপরিবর্তে r8, ইত্যাদি । "কীভাবে নিবন্ধকদের সেরা নামকরণ করা যায় তা নির্ধারণ করাই আসলে নিবন্ধের সম্প্রসারণের অন্যতম কঠিন অঙ্গ ছিল।" (দেখুন stackoverflow.com/a/35619528/224132 কিছু অন্যান্য ঝরঝরে x86-64 'ইতিহাসের জন্য।) এছাড়াও, আদেশ নয় RAX / RBX / ... বাইনারি এনকোডিং, এটা কুঠার, সি এক্স, DX চলে, BX
পিটার কর্ডস

9

পূর্ববর্তী প্রসেসরে সমস্ত রেজিস্টার সমান ছিল না:

  • প্রতিটি রেজিস্টারের জন্য অ্যাডার ইউনিট রাখার জন্য চিপগুলিতে পর্যাপ্ত জায়গা ছিল না।
  • 8 বিট সহ, উত্স এবং গন্তব্যের সমস্ত সম্ভাব্য সংমিশ্রণের জন্য পর্যাপ্ত অপকড উপলব্ধ ছিল না।

সুতরাং ধরে নিই যে সংযোজক জড়িত থাকাকালীন একটি নির্দিষ্ট রেজিস্টার সর্বদা জড়িত থাকে, চিপটিকে কম জটিল করে তোলে এবং ওপকডগুলি সংক্ষিপ্ত করে তোলে।

উদাহরণস্বরূপ, 6510 (কমোডোর 64৪ এ ব্যবহৃত) কেবলমাত্র রেজিস্টার এ ব্যবহার করে এবং এক্স বা ওয়াইড ব্যবহার করে সূচী যুক্ত করতে পারে IN আইএনসি এক্স এবং আইএনসি ওয়াই নির্দেশ রয়েছে, তবে কোনও আইএনসি এ নেই A.

যেহেতু নিবন্ধগুলির বিভিন্ন ব্যবহার রয়েছে, তাই স্মৃতিবিজ্ঞানগুলি তাদের ব্যবহারকে প্রতিফলিত করে। উদাহরণস্বরূপ, 6510 (এ, বি এবং সি এর পরিবর্তে) এ, এক্স, এবং ওয়াই।

8086 এর নামগুলিও তাদের ব্যবহারকে প্রতিফলিত করতে বেছে নেওয়া হয়েছে। ৪ টি সাধারণ উদ্দেশ্য নিবন্ধের সাথে তাদের এক্স, বিএক্স, সিএক্স এবং ডিএক্স নামকরণ যুক্তিসঙ্গত ছিল। অতিরিক্ত সূচী রেজিস্টারগুলিকে বিপি এবং এসপি (স্মৃতিভিত্তিক: বেস পয়েন্টার, স্ট্যাক পয়েন্টার) বলা হত।

অনেকগুলি অপকডগুলিকে 16 বিটে প্রসারিত করা হয়েছিল, চারটি নিবন্ধের মধ্যে কোনটি ব্যবহার করা হয়েছিল তা নির্দেশ করার জন্য কিছু জায়গা ছিল। যাইহোক, কিছু historicalতিহাসিক কারণগুলি এখনও প্রয়োগ হয়েছে, যেমন সিক্স কিছুটা বিশেষ ছিল: আরইপি এবং পছন্দগুলি, যা 8 বিট অপকড হয়, সর্বদা কাউন্টার হিসাবে সিক্স ব্যবহার করে। একটি সাধারণ স্মৃতিচক্র, সিএক্স = কাউন্টার, কোনটি ব্যবহৃত হয় তা মনে রাখতে সহায়তা করে।

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

যে প্রসেসরগুলি এই চিন্তার রেখাটি অনুসরণ করেছিল তাদের সিআইএসসি (কমপ্লেক্স ইন্সট্রাকশন সেট সিপিইউ) এর বিপরীতে RISC প্রসেসর (হ্রাস নির্দেশিকা সিপিইউ) বলা হয়।

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

স্থির দৈর্ঘ্য 32 বিট অপকডগুলিতে উত্স, একটি দ্বিতীয় উত্স, একটি অপারেশন এবং একটি গন্তব্য অন্তর্ভুক্ত করার জন্য পর্যাপ্ত জায়গা রয়েছে। স্পার্ক উত্স, দ্বিতীয় উত্স এবং গন্তব্যগুলির প্রত্যেকের জন্য 5 টি বিট রিংলিং পরিচালিত হয়েছিল এবং তার জন্য একই সময়ে 32 টি রেজিস্টার দৃশ্যমান ছিল।

৩২ টি রেজিস্টার চিঠি ব্যবহারের জন্য অনেক বেশি, এবং সেগুলি বেশিরভাগ ক্ষেত্রেই সমান ছিল, সুতরাং তাদের সংখ্যাটি সুস্পষ্ট পছন্দ ছিল। 'আর' তাদের 0-31 এর ধ্রুবক থেকে আলাদা করতে ব্যবহার করা হয়েছিল, এবং 'আর' নিবন্ধকের পক্ষে একটি সহজ স্মৃতিচারণ ছিল। অতএব: আর0..আর 31।

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

মেমরির অ্যাক্সেসের সংখ্যা হ্রাস করতে, ইন্টেল দ্বারা নিবন্ধকের সংখ্যাও বাড়ানো হয়েছিল।

এবং স্পষ্টতই, ইনটেল শেষ পর্যন্ত আর-স্বরলিপি ব্যবহার শুরু করেছে। পিছনের সামঞ্জস্যতা নিশ্চিত করবে যে এক্স, বিএক্স, ... থাকবে, তবে আমি বাজি ধরব যে এক্স যেমন উদাহরণস্বরূপ আর ০ এর সমার্থক শব্দ।


দাবি অস্বীকার : উপরেরটি ইতিহাস সম্পর্কে আমার দৃষ্টিভঙ্গি। এটি অসম্পূর্ণ হবে কারণ আমি ইতিহাসের প্রথম অংশগুলির প্রথম অংশটি প্রত্যক্ষ করতে পারি নি। তবুও, আমি আশা করি এটি কারওর পক্ষে কার্যকর।


1
00৫০০ পরিবারকে সত্যই আহরণকারী বৃদ্ধির জন্য উত্সর্গীকৃত নির্দেশের প্রয়োজন ছিল না কারণ ১ এর সাথে সাথে তত্ক্ষণিক-মোড অ্যাড একই দুটি চক্রকে INXবা হিসাবে গ্রহণ করেছিল INY, যদিও কোডটি অতিরিক্ত বাইট দখল করেছে। আমি সেই চিপের জন্য প্রচুর সমাবেশ লিখেছিলাম এবং অনুশীলনে এই ধরণের বর্ধন গণিত করার বাইরে বিরল ছিল যা এটির প্রয়োজন ছিল।
blrfl

@ ব্লারফ্লাল আপনি ঠিক বলেছেন: ADD 1কাজ করে তাই বিশেষায়িত 'বাড়ানো এ' দরকার ছিল না। এবং আমি এটি প্রয়োজন মনে করি না।
সুজার্ড

1
এটি লক্ষ করা উচিত যে এটি ইন্টেল নয় যা এক্স 64 এ রেজিস্টারের সংখ্যা বৃদ্ধি করেছিল এবং নামকরণ করেছিল, তবে এএমডি, x86-তে 64-বিট এক্সটেনশনগুলি এএমডি দ্বারা তৈরি করা হয়েছিল । ইন্টেলের -৪-বিট ডিজাইনটি ছিল ইটানিয়াম , যা এটি এতটা ভালভাবে করেনি, যদিও তারা এতে প্রচুর (128 সাধারণ উদ্দেশ্য পূর্ণসংখ্যার সাথে আরও অনেকগুলি) রেজিস্টার রেখেছিলেন।
বিট্রি

5

এর অর্থ 'নিবন্ধন'। .তিহাসিক কারণে।


এটি বর্তমানে historicalতিহাসিক নয় যদি এটি বর্তমানে কোনও রেজিস্টারকে বোঝায়, তাই না? আমি বলব যে নিবন্ধগুলির অন্যান্য নাম (AX, EAX, ইত্যাদি) historicalতিহাসিক কারণে বেশি। তবে যে RAX এ "আর" আসলে খুব বর্তমানে প্রযোজ্য।
কার্ল জি

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