আইএসএ অপকড --- তারা কোথা থেকে এসেছে?


13

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

সম্পাদনা: আরও গবেষণা করার পরে, আমি বিশ্বাস করি যে আমি বিভিন্ন সিপিইউ নির্দেশাবলীর জন্য অপকডগুলি কীভাবে বরাদ্দ করা হয়েছে তা উদ্বেগগুলি জিজ্ঞাসা করার চেষ্টা করছি। এডিডি 10010 এর একটি অপকোড দিয়ে মনোনীত হতে পারে; একটি লোড নির্দেশ 10110 হিসাবে মনোনীত হতে পারে। নির্দেশিকাটির জন্য এই বাইনারি অপকডগুলি নির্ধারণের ক্ষেত্রে কোন চিন্তা প্রক্রিয়াটি চলে?


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

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

2
অন্য কেউ এই প্রশ্ন জিজ্ঞাসা। মঙ্গলবার হতে হবে।
Ignacio Vazquez-Abram

5
@ স্টিভেন এটি সম্পর্কে চিন্তা করুন। যদি আপনি একটি | ISA ডিজাইন করার ছিল, কি হবে আপনি সম্পর্কে চিন্তা? যদি আপনার নির্দেশাবলী একই দৈর্ঘ্যের সমস্ত না হয়ে থাকে তবে আপনি কীভাবে ছোট বা দীর্ঘতর নির্দেশের শব্দ বেছে নেবেন , কোন নির্দেশাবলীর জন্য? আপনি যদি একটি ডিজাইন করতে ছিল ডিকোড পর্যায় , আপনি কি হবে ইচ্ছুক মত সন্ধান করার জন্য আপনার | ISA জন্য? আমি মনে করি প্রশ্নটি অহেতুকভাবে বিস্তৃত (এবং এইভাবে সম্পূর্ণ উত্তর দেওয়া অসম্ভব) তবে আপনি এর মধ্যে আরও কিছু নিজস্ব চিন্তাভাবনা রেখে এবং একটি সুনির্দিষ্ট প্রশ্ন জিজ্ঞাসা করে এটির উন্নতি করতে পারেন যার উত্তর দেওয়ার জন্য আমাদের কোনও বই লেখার দরকার নেই এটা।
মার্কাস মুলার

4
আরআইএসসি-ভি নির্দিষ্টকরণের নকশা সিদ্ধান্ত তারা সব স্তরে তৈরী মেশিন নির্দেশাবলীর এনকোডিং করা সম্পর্কে একটি ন্যায্য বিট সহ সম্পর্কে কথা বলুন। (এটি একটি প্রসেসরের ম্যানুয়ালের জন্য অস্বাভাবিক; আরআইএসসি-ভি হ'ল একাডেমিক অনুশীলন এবং বেশিরভাগের চেয়ে আলাদা সিপিইউ আর্কিটেকচার।)
zwol

উত্তর:


6

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

6502 কীভাবে বিপরীত ইঞ্জিনিয়ারিং করা হয়েছিল তা ব্যাখ্যা করে এই ভিডিওটি দেখুন , বিশেষত 34:20 থেকে।

6502 একটি 8-বিট মাইক্রোপ্রসেসর যা 1975 সালে প্রবর্তিত হয়েছিল। যদিও এটি Z80 এর তুলনায় 60% কম গেট ছিল এটি দ্বিগুণ দ্রুত ছিল, এবং যদিও এটি আরও বাধা ছিল (রেজিস্টারগুলির ক্ষেত্রে) তবে এটি এটির সাথে তৈরি হয়েছিল মার্জিত নির্দেশিকা সেট।

এটিতে কেবলমাত্র 3510 ট্রানজিস্টর রয়েছে, যা হাতে হাতে আঁকা কিছু ছোট প্লাস্টিকের শীটের উপর দিয়ে হামাগুড়ি দিয়েছিল যা পরে অপ্টিক্যালি সঙ্কুচিত হয়ে 6502 এর বিভিন্ন স্তর তৈরি করে।

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

6502 ব্লক ডায়াগ্রাম

ভিডিওটিতে 37:00 এ আপনি ডিকোড রমের একটি টেবিল দেখতে পাবেন যা দেখায় যে প্রদত্ত নিয়ন্ত্রণের আউটপুট জন্য "1" পেতে ইনপুটগুলি কী শর্ত পূরণ করতে হবে shows আপনি এই পৃষ্ঠায় এটি পেতে পারেন ।

আপনি দেখতে পারেন যে এই টেবিলের বেশিরভাগ জিনিসের বিভিন্ন পদে এক্স রয়েছে। উদাহরণস্বরূপ নেওয়া যাক

011XXXXX 2 X RORRORA

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

সুতরাং মূলত, ওপকডগুলি বেছে নেওয়া হয়েছিল যাতে নির্দেশাবলীর যা একে অপরের মতো একই কাজ করার প্রয়োজন ছিল তাদের বিট প্যাটার্ন জুড়ে সাধারণ কিছু ছিল। আপনি এটি একটি অপকোড টেবিলটি দেখে দেখতে পারেন ; সমস্ত OR নির্দেশাবলী 000 দিয়ে শুরু হয়, সমস্ত স্টোর নির্দেশাবলী 010 দিয়ে শুরু হয়, সমস্ত নির্দেশাবলী যা শূন্য পৃষ্ঠার ঠিকানা ব্যবহার করে তা xxxx01xx ফর্মের। অবশ্যই, কিছু নির্দেশাবলী "ফিট" বলে মনে হচ্ছে না, কারণ উদ্দেশ্যটি সম্পূর্ণ নিয়মিত ওপকোড ফর্ম্যাট নয় বরং একটি শক্তিশালী নির্দেশিকা সেট সরবরাহ করা। এবং এ কারণেই "এলোমেলো নিয়ন্ত্রণ যুক্তি" প্রয়োজনীয় ছিল।

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


22

এটি নির্ভর করে আইএসএর বয়স কত।

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

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

পরে আইএসএগুলি "ক্লিন আপ" হতে পারে এবং তাদের এবং প্রকৃত হার্ডওয়্যার-স্তর নিয়ন্ত্রণ সংকেতগুলির মাঝে অনুবাদ করার জন্য হার্ডওয়ারের সাহায্যে আরও নিয়মিত এবং সহজতর হতে পারে, কখনও কখনও "মাইক্রোকোড" এর মাধ্যমে। এগুলিকে "সিআইএসসি" বা "কমপ্লেক্স ইন্সট্রাকশন সেট কোডিং" বলা হয়। X86 "রেপ" নির্দেশ উপসর্গ এটির একটি সাধারণ উদাহরণ - এটি ফর লুপ লেখার জন্য সংরক্ষণের জন্য নিম্নলিখিত নির্দেশকে বহুবার পুনরাবৃত্তি করে।

পরে এখনও (১৯৮০-এর দশকে) সরাসরি এনকোডিংয়ের একটি সহজ স্টাইলে ফিরে এসেছিল (আরআইএসসি - হ্রাসযুক্ত নির্দেশ সেট কোডিং) যা আপনি এআরএম প্রসেসরগুলিতে দেখতে পাচ্ছেন। এটি তখনকার ছোট আকারের এএসআইসি দ্বারা চালিত হয়েছিল, এবং তাদের উপরে 32-বিট সিপিইউ রাখার আকাঙ্ক্ষা ছিল, তাই জটিল নির্দেশ সেট ডিকোডারদের জন্য প্রায় 20,000 গেটের নিচে সম্পূর্ণ সিপিইউ পাওয়ার জন্য কোনও অতিরিক্ত ক্ষমতা ছিল না। (একটি অস্থায়ী পারফরম্যান্স উত্সাহও ছিল, কারণ লোকেরা এখনও সিআইএসসি ডিকোডারগুলিকে দ্রুত তৈরি করার কৌশল বিকাশ করতে পারেনি - এটি পেনটিয়াম প্রো নিয়ে 1995 সালে এসেছিল)

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


2
আমি নিশ্চিত নই যে আমি সত্যই সিআইএসসিকে "ব্যবহার করা সহজ" বলেছি। এটিই আসল উদ্দেশ্য হতে পারে তবে 30 বছর পরে তারা "সহজেই ব্যবহারযোগ্য" (অন্তত RISC আইএসএর তুলনায়) এর বিরোধী কান্ডবাদী।
tonysdg

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

4
পার্থক্য উভয়ই হ্রাস পেয়েছে ("আরআইএসসি" সেট আরও নির্দেশাবলী যুক্ত করে) এবং নতুন, এমনকি আরও জটিল আর্কিটেকচার যেমন ভিএলআইডাব্লু দ্বারা সুপারসড; আসলে একমাত্র
sensকমত্য

1
@ টোনিসডজি: আরআইএসসি ব্যবহার করা শক্ত এবং সিআইএসসি ব্যবহার করা শক্ত। "প্রোগ্রামার বন্ধুত্ব" এর একটি ভাল তুলনা হ'ল 68 কে বনাম এআরএম তুলনা করা। এআরএম একটি সংকলকের জন্য ডিজাইন করা হয়েছিল যাতে আপনাকে র‌্যাম থেকে ডেটা পেতে এবং র‌্যামে আবার লিখতে অনেক ম্যানুয়াল কাজ করতে হয়েছিল। 68 কে সমাবেশ প্রোগ্রামারগুলির জন্য ডিজাইন করা হয়েছিল এবং আপনাকে সরাসরি র‌্যামের ডেটাতে পরিচালনা করতে দেয়। যদি আপনি 68 কে আইএসএ দেখেন তবে দেখতে পাবেন যে এটি দেখতে অনেকটা আধুনিক আরআইএসসি আইএসএর মতো একটি ব্যতিক্রম সহ - আপনি সরাসরি র‌্যামে পরিচালনা করতে পারবেন যেখানে আরআইএসসি আপনাকে কেবল রেজিস্টারগুলিতে পরিচালনা করতে দেয়।
slebetman

1
মাইক্রোকোড মূলত একটি সিআইএসসি বৈশিষ্ট্য। তবে আপনি মাইক্রোকোড ছাড়াই সিআইএসসি বাস্তবায়ন করতে পারেন: নির্দেশিকাটির ডিকোডার আরও জটিল হবে। আপনি পেন্টিয়াম-প্রো থেকে কিছু অভ্যন্তরীণভাবে আরআইএসসি হিসাবে বর্ণিত সিআইএসসি দেখতে পাবেন; প্রতিটি সিআইএসসি নির্দেশকে এক বা একাধিক অভ্যন্তরীণ আরআইএসসি অপ্সে অনুবাদ করে: মাইক্রোকোডের আরেকটি নাম (যদিও সুপারক্যালার এক্সিকিউশন ইউনিটগুলিতে পার্থক্য ঝাপসা হয়ে যায়)
ব্রায়ান ড্রামমন্ড

9

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

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


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

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

@ লুয়ান: আসলে, "আমরা এই সমস্ত ট্রানজিস্টরের সাথে কী করব" আজকাল একটি আসল প্রশ্ন। আজকাল ছড়িয়ে পড়া সমস্ত এল 2 / এল 3 ক্যাশে দেখুন। এটি একটি নীরব ভর্তি those সমস্ত মিলিয়ন ট্রানজিস্টরের জন্য আমাদের এর চেয়ে ভাল ব্যবহার নেই। সর্বশেষ শিওনের 2 বিলিয়ন ট্রানজিস্টরকে ক্যাশে উত্সর্গ করেছে !
MSalters

6

কেউ কোনও সময় বসে তাদের সংজ্ঞা দিয়েছিলেন।

একটি ভাল আইএসএ ডিকোডারটি যতটা সম্ভব সহজ করে তুলবে।

উদাহরণস্বরূপ একটি ALU নির্দেশের সাহায্যে আপনি অপকডের কিছু বিট সরাসরি ALU এর নিয়ন্ত্রণ লাইনে প্রেরণ করতে পারেন।


চমৎকার উত্তরের জন্য সকলকে ধন্যবাদ। আপনারা সবাই আমাকে এটিকে আরও ভালভাবে বুঝতে সাহায্য করেছেন।
স্টিভেন

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

5

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

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


1

ইন্সট্রাকশন এনকোডিং হল একটি কুরুচিপূর্ণ সমঝোতা।

ডিকোডকে সহজ করে তোলার জন্য, এর জন্য আপনি ক্ষেত্রগুলির একটি সহজ সেট চান যাগুলির প্রত্যেকটি পৃথকভাবে ডিকোড করা যায় এবং এক্সিকিউশন ইঞ্জিনের একটি পৃথক অংশে যেতে পারে।

সীমিত আকারের নির্দেশ শব্দের মধ্যে যতটা সম্ভব কার্যকারিতা প্যাক করা। এটি বিশেষ ধ্রুবক ফর্ম্যাটগুলির মতো জিনিসগুলিতে নিয়ে যায় যা বিভিন্ন সাধারণ সংখ্যাকে এনকোড করতে পারে।

সামনের দিকে এবং সামনের দিকে সামঞ্জস্য। আপনি যদি প্রতিটি সম্ভাব্য ওপোডে কার্যকারিতা বরাদ্দ করেন তবে আপনি নিজেকে আর্কিটেকচারটি প্রসারিত করার জন্য কোনও জায়গা দেবেন না। আপনি যদি কোনও বিদ্যমান আর্কিটেকচারে যুক্ত হন তবে আপনাকে নতুন নির্দেশাবলী অতিরিক্ত অপকডগুলিতে স্লট করতে হবে।


1

র‌্যান্ডি হাইডের দুর্দান্ত (কিছুটা তারিখ থাকলে) আর্ট অফ অ্যাসেম্বলিটি অনুচ্ছেদ 3.৩.৪ এ কিছু বিস্তারিতভাবে সেট করা x86 নির্দেশিকায় চলেছে কন্ট্রোল ইউনিট এবং নির্দেশিকা নির্ধারণ এবং নিম্নলিখিতগুলি।

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

তারপরে তিনি বেশ আকর্ষণীয় এবং দীর্ঘস্থায়ীভাবে দেখান যে নির্দেশাবলীর জন্য প্রথম দুটি প্লাগ কীভাবে দাঁড়ায়, পরবর্তী প্লাগগুলি উত্স এবং গন্তব্যকে এনকোড করে। অবশ্যই, আজ আর কেউ "প্লাগ" করে না, তবে সত্যিই পুরানো আইএসএর জন্য, অপকোডের বিটগুলি মূলত আগের প্লাগগুলির মতো একই কাজ করে।

আপনি এই জাতীয় কিছু দিয়ে শেষ:

এখানে চিত্র বর্ণনা লিখুন


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