প্রসেসরের কেন 32 টি রেজিস্টার থাকে?


52

আমি সবসময় ভাবতাম কেন প্রসেসরগুলি 32 টি রেজিস্টারে থামে। এটি এখন পর্যন্ত মেশিনের দ্রুততম টুকরো, কেন কেবল আরও রেজিস্টার দিয়ে বড় প্রসেসর তৈরি করা হয় না? তার মানে কি র‌্যামে কম যাওয়া হবে না?


2
আমি মনে করি একটি নির্দিষ্ট পয়েন্টের বাইরে আপনার সমস্ত স্থানীয় ভেরিয়েবলগুলি নিবন্ধগুলিতে ফিট করে। আপনি যে প্রকৃত ডেটা নিয়ে কাজ করছেন তা সম্ভবত যাইহোক অনেক বড়
নিক্লাস বি।

14
আয় কমা. স্পষ্টতই, নিবন্ধগুলি র‌্যামের চেয়ে "বেশি ব্যয়বহুল" (বিভিন্ন অর্থে) বা আমাদের কাছে কেবল 8 জিবি রেজিস্টার থাকতে হবে।
ডেভিড রিচারবি

5
এর এত দ্রুত কারণ হওয়ার কারণগুলির মধ্যে অনেকগুলি রয়েছে।
stackErr

5
সিপিইউতে মোট কতগুলি রেজিস্ট্রার রয়েছে এবং আপনি একবারে কতগুলি ব্যবহার করতে পারেন তার মধ্যে পার্থক্য রয়েছে।
থরবজর্ন রাভন অ্যান্ডারসন

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

উত্তর:


82

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

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

নির্দেশের সেটে প্রকাশিত নিবন্ধকের সংখ্যা আরও বাড়ানো কেন কঠিন হতে পারে তার দুটি কারণ রয়েছে। প্রথমত, আপনাকে প্রতিটি নির্দেশিকায় নিবন্ধক সনাক্তকারী নির্দিষ্ট করতে সক্ষম হতে হবে। 32 রেজিস্টারে একটি 5 বিট রেজিস্ট্রার স্পেসিফায়ার প্রয়োজন, সুতরাং 3-ঠিকানা নির্দেশাবলী (আরআইএসসি আর্কিটেকচারগুলিতে প্রচলিত) 32 টি নির্দেশের বিটগুলির মধ্যে 15 টি কেবলমাত্র নিবন্ধগুলি নির্দিষ্ট করার জন্য ব্যয় করে। আপনি যদি এটি 6 বা 7 বিটগুলিতে বৃদ্ধি করেন তবে আপনার কাছে অপকড এবং ধ্রুবক নির্দিষ্ট করার জন্য কম স্থান থাকবে। জিপিইউ এবং ইটানিয়ামের অনেক বড় নির্দেশ রয়েছে। বড় নির্দেশাবলী ব্যয় করে আসে: আপনার আরও নির্দেশের মেমরি ব্যবহার করা দরকার, সুতরাং আপনার নির্দেশের ক্যাশে আচরণটি কম আদর্শ।

এনহে(এন)


1
আমি স্পারক 64৪ তম VIFI এর 256 এফপিআর এবং 32 অতিরিক্ত নন-উইন্ডো জিপিআর উল্লেখ করেছি, সেট এক্সএআর নির্দেশ যুক্ত করে সম্পন্ন হয়েছে যা পরবর্তী এক বা দুটি নির্দেশের জন্য প্রত্যেকে 13 বিট সরবরাহ করে। এটি এইচপিসিতে লক্ষ্যবস্তু হয়েছিল, তাই নিবন্ধের সংখ্যা আরও বোধগম্য। আরও রেজিস্টারের সাথে যুক্ত কিছু বাণিজ্য-কৌশল এবং কৌশলগুলিও ব্যাখ্যা করার জন্য আমি প্রলুব্ধ হতাম; তবে আপনি আরও ক্লান্তিকর (এবং তারপরেও সম্পূর্ণ নয়) উত্তর এড়াতে বুদ্ধি দেখিয়েছিলেন।
পল এ। ক্লেটন

2
"সাধারণ উদ্দেশ্য" কোডের জন্য আরও নিবন্ধের হ্রাসকারী সুবিধার জন্য কিছুটা যুক্ত করা সার্থক হতে পারে, যদিও অর্থবোধক পরিমাপগুলি সন্ধান করা সহজ নয়। আমি মনে করি মিচ আলসুপ কম্পিউটারে উল্লেখ করেছেন যে ১ mentioned এর চেয়ে x86 থেকে 32 টি রেজিস্টারের ক্ষেত্রে 8 থেকে 16 টি রেজিস্ট্রার বাছাইয়ের জন্য (আইআরটিআর) 10-15% এর তুলনায় কর্মক্ষমতা প্রায় 3% অর্জন করতে পারত। এমনকি লোড-স্টোর আইএসএর জন্য, 64৪ এ যেতে সম্ভবত সামান্য সুবিধা দেয় (কমপক্ষে বর্তমানের জিপি কোডের জন্য)। (বিটিডাব্লু, জিপিইউগুলি প্রায়শই থ্রেডে রেজিস্টারগুলি ভাগ করে দেয়: যেমন একটি থ্রেড 250 দিয়ে অন্য থ্রেডের জন্য মোট 16 টি ব্যক্তিগত রেখে দেয়))
পল এ। ক্লেটন

দেখতে আকর্ষণীয় যে পরিবেশ ব্যবস্থাপনা (প্রায়শই আলফা-রূপান্তর), প্রায়শই উচ্চ-স্তরের ভাষার সাথে যুক্ত, নিবন্ধকের স্তরে আসলে ব্যবহার করা হয়।
বাবু

@ পলএ.ক্লেটন আমি সবসময়ই ভেবেছিলাম যে আইএ -৪৪ হ'ল এমন আর্কিটেকচার যা আইএসএর নিবন্ধের সংখ্যা সবচেয়ে বেশি
ফুক্লভ

@ LưuVĩnhPhúc SPARC64 VIIIfx এইচপিসি-নির্দিষ্ট ছিল। অবগতির জন্য, Am29k (প্রায় চালু 1987-8 ) 64 বিশ্বব্যাপী এবং 128 বাতায়নযুক্ত GPRS যা Itanium এবং Linux সংক্রান্ত (যা 8 শাখা রেজিস্টার এবং একটি লুপ গণনা রেজিস্টার যার ফাংশন কিছু অন্যান্য ISAs মধ্যে GPRS হবে আছে) বেশী GPRS হয় ছিল।
পল এ ক্লেটন

16

নিবন্ধের সংখ্যা সীমাবদ্ধ করার জন্য আরও দুটি কারণ:

  • প্রত্যাশার মতো সামান্য লাভ: সিপিইউ যেমন বর্তমান ইন্টেল / এএমডি এক্স 64৪ মডেলের 32kByte এবং আরও বেশি L1-D ক্যাশে রয়েছে এবং L1 ক্যাশে অ্যাক্সেস সাধারণত কেবল একটি ঘড়ি চক্র নেয় (সম্পূর্ণ একক র‌্যামের জন্য প্রায় একশো ঘড়ির চক্রের তুলনায়) এক্সেস)। সুতরাং L1 ক্যাশে ডেটা রাখার তুলনায় রেজিস্টারগুলিতে বেশি ডেটা পাওয়া থেকে লাভ হবে না
  • অতিরিক্ত গণনার ব্যয়: আরও নিবন্ধভুক্তি একটি ওভারহেড তৈরি করে যা আসলে কম্পিউটারকে ধীর করে দিতে পারে:
    • মাল্টিটাস্কিং-পরিবেশে, একটি টাস্ক স্যুইচ সাধারণত মেমোরিতে রেখে যাওয়া প্রক্রিয়াটির সমস্ত নিবন্ধগুলির বিষয়বস্তু সংরক্ষণ করতে হয় এবং প্রসেসের প্রবেশের জন্য সেগুলি লোড করতে হয়। আপনার যত বেশি রেজিস্টার হবে, তত বেশি সময় লাগে।
    • একইভাবে, নিবন্ধভুক্ত উইন্ডোবিহীন স্থাপত্যগুলিতে, ক্যাসকেড ফাংশন কলগুলি একই সেটগুলির নিবন্ধগুলি ব্যবহার করে। সুতরাং একটি ফাংশন একটি ফাংশন বি কল একটি বি হিসাবে খালি একই রেজিস্টার ব্যবহার করে। অতএব, খ কে ব্যবহার করা সমস্ত রেজিস্টারগুলির বিষয়বস্তু সংরক্ষণ করতে হবে (যা এখনও এ এর ​​মানগুলি ধারণ করে) এবং ফিরে আসার আগে সেগুলি আবার লিখতে হবে (কিছু কলিং কনভেনশনে এটি বি এর আগে ফোন করার আগে রেজিস্টার বিষয়বস্তু সংরক্ষণ করা এ এর ​​কাজ, তবে ওভারহেড একই হয়)। আপনার যত বেশি রেজিস্টার রয়েছে, তত বেশি সময় সংরক্ষণের সময় লাগে এবং এভাবে কোনও ফাংশন কল তত বেশি ব্যয়বহুল হয়ে যায়।

এটি কীভাবে এল 1 ক্যাশে কাজ করবে যাতে আমাদের রেজিস্টারগুলির মতো সমস্যা না হয়?
বাবু

4
উচ্চ পারফরম্যান্স প্রসেসরের উপর এল 1 ড্যাচে ল্যাটেন্সি সাধারণত 3 বা 4 চক্র (অ্যাড্রেস জেনারেশন সহ) হয়, উদাহরণস্বরূপ, ইন্টেলের হাসওয়েলে 4 টি সাইকেল লেটেন্সি থাকে (কোনও ডেটা নির্ভরতা নিবন্ধকের বিলম্ব না থাকা পাইপলাইনে লুকানো সহজ) is Dcache এছাড়াও রেজিস্টার ফাইলের (যেমন, 2 টি পড়া, 1 হাসভেলের জন্য 1 লেখার জন্য) চক্রের জন্য কম অ্যাক্সেসকে সমর্থন করে (উদাহরণস্বরূপ, 4 টি পড়া, 6 আলফা 21264 এর জন্য 6 টি লিখুন যা ফাইলটিকে প্রতিলিপি করেছে, 4 টি রিড সহ 2 টি ফাইল 1 এর চেয়ে দ্রুততর হয়) 8)।
পল এ। ক্লেটন

@ পলএ.ক্লেটন: যদি এল 1 ক্যাশে একটি 3-4 চক্রের বিলম্ব থাকে তবে এটি বোঝাতে পারে যে নিজস্ব cycle৪-শব্দের ঠিকানা স্থানের সাথে একক-চক্র মেমরির কয়েকটি শব্দের কয়েকটি সেট রেখে এবং কিছু উপকার হতে পারে এবং উত্সর্গীকৃত "লোড / স্টোর ডাইরেক্ট" নির্দেশাবলী, বিশেষত যদি সমস্ত শূন্য-না মানকে ধাক্কা দেওয়ার কোনও উপায় থাকে যা অনুসরণ করে কোন শব্দটি শূন্য-শূন্য ছিল এবং তারপরে ফিরে যাওয়ার উপায় (কোনও রেজিস্টার পপড না করে শূন্য করা) । অনেক পদ্ধতিতে স্থানীয় ভেরিয়েবলের 16 থেকে 60 শব্দগুলির মধ্যে থাকে তাই 3-4 চক্র থেকে একের জন্য একসেসের সময় কাটা সহায়ক বলে মনে হয়।
সুপারক্যাট

@ সুপের্যাট বিভিন্ন স্ট্যাক (এবং গ্লোবাল / টিএলএস [উদাহরণস্বরূপ, ন্যাপস্যাক]) ক্যাশে ধারণাগুলি একাডেমিক গবেষণাপত্রের পাশাপাশি স্বাক্ষর বাফার ( পিডিএফ ) এর মতো ব্যবস্থাগুলি উপস্থাপন করা হয়েছে আসল ব্যবহার, এত বেশি নয় (এটি মনে হয়)। এটি চ্যাটি হয়ে যাচ্ছে (সুতরাং সম্ভবত শেষ হওয়া বা অন্য কোথাও যাওয়া উচিত)।
পল এ ক্লেটন

4

প্রচুর কোডে প্রচুর মেমরি অ্যাক্সেস থাকে (30% একটি সাধারণ চিত্র)। এর মধ্যে সাধারণত 2/3 য় অংশ অ্যাক্সেসগুলি পড়ে এবং 1/3 য় অংশ অ্যাক্সেসগুলি লিখতে হয়। অ্যারে অ্যাক্সেস করা, অবজেক্টের সদস্য ভেরিয়েবলগুলি অ্যাক্সেস করা ইত্যাদির চেয়ে নিবন্ধভুক্ত হওয়ার কারণে এটি নয় is

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

এর কারণে, এটি সাধারণ নয় যে সংকলকটি প্রায় 16 টিরও বেশি ব্যবহারের সাথে নিবন্ধের সাথে কিছু করতে সক্ষম হবে। যে কারণে সমস্ত জনপ্রিয় স্থপতিদের কাছে এটির অনেকগুলি রয়েছে (এআরএমের 16 টি)।

এমআইপিএস এবং অন্যান্য আরআইএসসিগুলির ঝুলি 32 রয়েছে কারণ অনেকগুলি রেজিস্টার করা খুব কঠিন নয় - ব্যয়টি যথেষ্ট কম তাই এটি কিছুটা "কেন নয়?" " ৩২ টিরও বেশি বেশিরভাগই অকেজো এবং এতে রেজিস্টার ফাইলটি অ্যাক্সেসের জন্য দীর্ঘতর করার ক্ষয়ক্ষতি রয়েছে (রেজিস্টারে সংখ্যায় প্রতিটি দ্বিগুণ হওয়ার ফলে মাল্টিপ্লেক্সারের একটি অতিরিক্ত স্তর যুক্ত হয় যা আরও কিছুটা বিলম্ব যোগ করে ...)। এটিও গড়পড়তাভাবে নির্দেশিকাগুলি কিছুটা দীর্ঘায়িত করে - এর অর্থ হ'ল নির্দেশ মেমরি ব্যান্ডউইথের উপর নির্ভরশীল যে ধরণের প্রোগ্রামগুলি চালানো হয়, তখন আপনার অতিরিক্ত রেজিস্টারগুলি আপনাকে আসলে ধীর করে দেয়!

যদি আপনার সিপিইউ ক্রমযুক্ত থাকে এবং নাম পরিবর্তন করে নিবন্ধ না করে এবং আপনি চক্র প্রতি প্রচুর অপারেশন করার চেষ্টা করছেন (3 এর বেশি), তবে তত্ত্ব অনুসারে আপনার চক্র প্রতি অপশনের সংখ্যা বাড়ার সাথে আপনার আরও নিবন্ধগুলি প্রয়োজন। এই কারণেই ইটানিয়ামে এতগুলি নিবন্ধ রয়েছে! তবে অনুশীলনে, সংখ্যাগত-ভাসমান-বিন্দু বা সিমডি ওরিয়েন্টেড কোড (যা ইটানিয়ামটি সত্যই ভাল ছিল) বাদে বেশিরভাগ কোডে প্রচুর মেমরি পড়তে / লিখতে এবং ঝাঁপ দিতে হবে যা চক্র প্রতি 3-এর চেয়ে বেশি অপের স্বপ্নকে অসম্ভব করে তোলে impossible (বিশেষত ডাটাবেস, সংকলক, জাভাস্ক্রিপ্ট, এমুলেশন ইত্যাদির মতো উচ্চ-স্তরের ভাষা কার্যকরকরণের মতো সার্ভার-ভিত্তিক সফ্টওয়্যারগুলিতে)। এটিই ডুবে গেল ইটানিয়াম।

এটি সমস্তই গণনা এবং মৃত্যুদন্ডের পার্থক্যে নেমে আসে!


2

কে আপনাকে বলে যে প্রসেসরের সর্বদা 32 টি রেজিস্টার থাকে? x86 এর 8, এআরএম 32-বিট এবং x86_64 এর 16, আইএ -৪৪ এর 128, এবং আরও অনেক সংখ্যা রয়েছে। আপনি এখানে একবার দেখতে পারেন । এমনকি এমআইপিএস, পিপিসি বা যে কোনও আর্কিটেকচারের 32 টি সাধারণ উদ্দেশ্যে রেজিস্ট্রেশন সেটে রেজিস্ট্রি রয়েছে, সংখ্যাটি 32 এর চেয়ে অনেক বেশি যেহেতু এখনও সর্বদা পতাকা রেজিস্টারগুলি (যদি থাকে), নিয়ন্ত্রণ রেজিস্ট্রারগুলি ... নামকরণকৃত রেজিস্টার এবং হার্ডওয়্যার রেজিস্টার সহ নয়

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

তদতিরিক্ত, নিবন্ধের ফাইলটি যত বড় হবে, এটি তত বেশি ব্যয়বহুল এবং জটিল হবে। এসআরএএম হ'ল দ্রুত এবং ব্যয়বহুল র‌্যাম তাই এটি কেবল সিপিইউ ক্যাশে ব্যবহৃত হয়। তবে এটি এখনও অনেক সস্তা এবং একই ক্ষমতা সহ রেজিস্টার ফাইলের চেয়ে কম অঞ্চল নেয়।


2

উদাহরণস্বরূপ, একটি সাধারণ ইনটেল প্রসেসরের "সরকারীভাবে" 16 পূর্ণসংখ্যা এবং 16 ভেক্টর নিবন্ধ রয়েছে। তবে বাস্তবে, আরও অনেক রয়েছে: প্রসেসরটি "রেজিস্টার নাম পরিবর্তনকরণ" ব্যবহার করে। আপনার যদি কোনও নির্দেশ রেজি 3 = রেজি 1 + রেজি 2 থাকে তবে রেজি 3 ব্যবহার করে অন্য কোনও নির্দেশনা এখনও শেষ না হলে আপনার যদি সমস্যা হয় - আপনি পূর্ববর্তী নির্দেশটি পড়ার আগেই রেজি 3 ওভাররাইট করার ক্ষেত্রে নতুন নির্দেশটি কার্যকর করতে পারবেন না।

সুতরাং প্রায় 160 বা তাই বাস্তব নিবন্ধ আছে। সুতরাং উপরের সরল নির্দেশাবলীতে "regX = reg1 + reg2" পরিবর্তন করা হয়েছে এবং মনে রাখবেন যে RegX- এ Reg3 রয়েছে। নাম পরিবর্তনকারী রেজিস্টার না করে, আদেশের বাইরে চলে যাওয়া পানিতে ডুবে মারা যাবে।


1

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

হে(এন2)

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

দেখুন বেল্ট (9 এর 2) - মিল CPU- র আর্কিটেকচার সমস্যা বিবৃতি জন্য, এবং মিলের সমাধান।


"তাদের অবশ্যই প্রতিটি নিবন্ধ থেকে ইনপুট নিতে এবং প্রতিটি নিবন্ধে আউটপুট নিতে সক্ষম হতে হবে।" - আমি আশা করতাম যে এটি সাধারণত একটি বাসের সাথে বাস্তবায়িত হয়, প্রতিটি নিবন্ধের জন্য আ.লীগ (গুলি) এর সাথে আলাদা সংযোগ থাকতে হবে না।
ব্যবহারকারী 253751

1
@ মিমিবিস: আপনি যদি 300 পিকসেকেন্ডের মধ্যে ডেটা সরিয়ে নিতে চান তবে একটি বাস এটি করবে না। এবং আপনি যদি প্রচুর পরিমাণে ডেটা ঘুরিয়ে নিতে চান (উদাহরণস্বরূপ, দুটি চক্রের তিনটি নির্দেশাবলী এবং একই চক্রের প্রতিটি ফলাফল) একটি বাস পুরোপুরি কাজ করবে না।
gnasher729

0

এমআইপিএস আইএসএ হিসাবে, হেনেসি এবং প্যাটারসন, কম্পিউটার সংস্থা এবং ডিজাইন চতুর্থ সংস্করণ পৃষ্ঠা th 176, সরাসরি এই নির্দিষ্ট প্রশ্নের উত্তর দিন:

ছোট ছোট হয়। গতির জন্য আকাঙ্ক্ষা হ'ল এমআইপিএস-এ আরও অনেকের চেয়ে 32 টি নিবন্ধ রয়েছে।

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