কর্টেক্স-এ 9 এর মতো এআরএম প্রসেসরগুলি মাইক্রোকোড ব্যবহার করে?


12

এআরএম প্রসেসরগুলি (সাম্প্রতিক ও পুরাতন) মাইক্রোকোড ব্যবহার করে? যদি তাই হয় তবে কিসের জন্য? তাদের নির্দেশাবলী কি মাইক্রো অপ্সে অনুবাদ না করে সরাসরি সম্পাদন করার পক্ষে যথেষ্ট সহজ নয়?

উত্তর:


14

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

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


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

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

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


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

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


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


সুতরাং, এআরএমের মাইক্রোকোডটি হার্ডওয়্যারে থাকে, তাই না?
ক্রাকেন

1
@ ক্র্যাকেন এক অর্থে, হ্যাঁ; মাইক্রোসেকেন্সার ব্যবহার না করে প্রতিটি নির্দেশের নির্দেশটি ডিকোডার দ্বারা সরাসরি সেই অপকোডের জন্য পৃথক মাইক্রো-অপারেশন / মাইক্রো-নির্দেশাবলী (এক বা একাধিক ক্লক চক্র) অনুবাদ করে। নির্দেশ সঙ্কেতমোচক নিবন্ধ , microprocessor নকশা উইকিবুক ইন থেকে টিপিক্যাল আরআইএসসি এবং CISC নির্দেশ ডিকোডারগুলি মধ্যে পার্থক্য ব্যাখ্যা দরকারী।
ব্রেকথ্রু

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