কীভাবে বিভিন্ন ফাংশন (যেমন, যোগ, বিয়োগ) ইত্যাদি ALU এ প্রয়োগ করা হয়?


9

আমি ভাবছি যেহেতু একটি ALU করার মতো অনেকগুলি কার্যকারিতা রয়েছে, আমি কীভাবে একটি কার্যকর করতে শুরু করতে পারি (লগিসিমের সাথে বেসিক গেটস, ফ্লিপ-ফ্লপ ইত্যাদি ব্যবহার করে এমন হোমওয়ার্ক) যেখানে আমি লগিসিমের সাথে এমআইপিএস সিস্টেমটি বাস্তবায়নের কথা বলি)।

আমি যে অংশটি সম্পর্কে বিভ্রান্ত হয়েছি তা হ'ল আমি কীভাবে একটি ALU বাস্তবায়ন করতে পারি যা অ্যাড / বিয়োগ / এআর / ওআর / ইত্যাদি বিভিন্ন ফাংশন করতে পারে। আমার কি আরও যুক্তি নিয়ন্ত্রণ করতে হবে (নীচে নীচে "পূর্বের নিয়োগ" এ ডানদিকে দেখুন)।

পূর্ববর্তী কার্যক্রমে আমি একটি ALU প্রয়োগ করেছি যা অ্যাড / বিয়োগ / নেগেট করতে পারে। এখন আমি মনে করি একটি ALU এর মতো কাজ করতে সক্ষম হওয়া উচিত

আমার পূর্বের কাজ

উত্তর:


7

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

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

চূড়ান্তভাবে বহন করে আপনি প্রতিটি 1-বিটের 8 টি টুকরো ব্যবহার করতে পারেন। এটি 1-বিট স্লাইস সম্পর্কে চিন্তা করা দরকারী, কারণ এটি এমন পদ্ধতির বিষয়ে চিন্তা করা সহজ করে যা বড় আকারের টুকরোগুলিতে ব্যাক আপ করে। 1-বিট স্লাইস সহ, আপনার কাছে মাত্র 7 টি ইনপুট রয়েছে: 4 বিট ফাংশন কোড, ইনপুট এ থেকে কিছুটা, ইনপুট বি থেকে কিছুটা, এবং একটি ক্যারি-ইন বিট। আপনার মাত্র দুটি আউটপুট রয়েছে: কার্য সম্পাদন করুন এবং পরিচালনা করুন। সুতরাং এখন আপনি মাত্র 7 ইনপুটগুলির ক্ষেত্রে দুটি আউটপুট ফাংশন লিখতে পারেন, যা যুক্তিসঙ্গতভাবে হ্রাস করার জন্য মানুষের দক্ষতার ক্ষেত্রের মধ্যে। আপনি একটি মুষ্টিমেয় গেটস দিয়ে শেষ করবেন যা অগত্যা সবগুলি ফাংশন গণনা করে না, তবে স্লাইসের মধ্যে যা ঘটে তা বিবেচনা করে না , কেবল এটি বাইরে থেকে দেখলে সঠিক ফলাফল দেয়।

এখন আপনি বেশ কয়েকটি পথ যেতে পারেন। একটি উপায় হ'ল এই 1-বিট স্লাইসগুলির 8 টি সহজেই ব্যবহার করা এবং আপনি শেষ করেছেন। আরেকটি উপায় হ'ল বৃহত্তর টুকরা করা এবং তারপরে সেগুলি ব্যবহার করা। 1-বিট থেকে 2-বিটের দিকে যেতে, সমীকরণগুলি 7 ইনপুট থেকে 9 এ যায় এবং 4-বিটগুলির জন্য 13 ইনপুটগুলির কার্যকারিতা প্রয়োজন। এটি অগত্যা সহজ নয়, তবে গণনা-সব-পরে-ম্যাক্স পদ্ধতির চেয়ে আরও কমপ্যাক্ট ফলাফল দেবে। তদ্ব্যতীত, আপনি যদি 74181 4-বিট ALU ফালিটির ইন্টার্নালগুলি দেখেন তবে আপনি সেখানে কোনও ম্যাক্স দেখতে পাবেন না।


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

5

হ্যাঁ, আপনার আরও নিয়ন্ত্রণ যুক্তি প্রয়োজন।

আপনার পূর্ববর্তী কার্যনির্বাহটি খাঁটি অঙ্কের ছিল (এটি কি কোনও শব্দ?), সুতরাং আপনি কোনও ফাংশন যুক্ত করতে পারেন এবং নিয়ন্ত্রণের সংকেত ব্যবহার করে ইনপুটগুলি আপনার পছন্দসই ফাংশনগুলি তৈরি করতে ম্যাসেজ করতে পারেন

আপনার নতুন ফাংশনগুলি যৌক্তিক , সুতরাং লজিকাল ক্রিয়াকলাপগুলি সম্পাদনের জন্য আপনার অন্য একটি ব্লকের প্রয়োজন। নিয়ন্ত্রণ সংকেতগুলি এই ব্লকের কার্যকারিতা পরিবর্তন করবে।

তারপরে আপনার চিত্রের নীচে আপনার একাধিক উত্তর (আউটপুট থেকে প্রাপ্ত উত্তর এবং এটি "ইনপুট ম্যাসেজিং সার্কিট" সার্কিটের জন্য কন্ট্রোল সংকেত দ্বারা চালিত একটি মাল্টিপ্লেক্সার (কখনও কখনও 'মাক্স' নামে পরিচিত) প্রয়োজন হবে বা লজিক অপারেটর থেকে একটি)।

আপনি যদি আপনার এএলইউ নিয়ন্ত্রণের লাইনের জন্য নতুন এনকোডিংগুলি চয়ন করতে পারেন তবে আমি এমএসবিকে "গাণিতিক / যুক্তি" নির্বাচন হিসাবে ব্যবহার করার জন্য প্রলুব্ধ হতে পারি এবং অন্যরা যদি "বোধগম্যতা" নির্বাচন করে তা বোধগম্য হয়, কারণ এটি ডিকোডকে সহজ করে দেয় ফাইনাল ম্যাক্স


হ্যাঁ, পাটিগণিত একটি শব্দ :)
মাজনকো

1
আমার কাছে মনে হচ্ছে শুধু পাটিগণিত হ'ল আপনি চাইছেন শব্দটি। নোট করুন এই শব্দটির তৃতীয় বর্ণমলে উচ্চারণ রয়েছে। দ্বিতীয় সংলাপের উচ্চারণের সাথে এটি গ্রেড স্কুলে শেখার মতো মৌলিক সংখ্যাসূচক অপার্টেজগুলি সম্পাদন করার যান্ত্রিকতার উল্লেখ করে একটি আলাদা শব্দ।
অলিন ল্যাথ্রপ

1

যৌক্তিক ক্রিয়াকলাপ পরিচালনার জন্য একটি দুর্দান্ত পদ্ধতির মধ্যে দুটি অপারেটরের বিটগুলি 4-ইনপুট মাল্টিপ্লেজারে নির্বাচক ইনপুট হিসাবে পরিবেশন করা এবং মাল্টিপ্লেক্সারের "ডেটা" ইনপুটগুলিকে কাঙ্ক্ষিত অপারেশনের সাথে সামঞ্জস্য করে চার-বিট প্যাটার্ন সরবরাহ করা হয় (সাধারণত একটি 8-বিট ALU, সেখানে আটটি মাল্টিপ্লেক্সার থাকবে - প্রতিটি বিটের জন্য একটি - এবং সমস্ত 8 মাল্টিপ্লেক্সারের "ডেটা" ইনপুট একসাথে বাঁধা থাকবে)।


খুব ছোট রম হিসাবে একটি মাল্টিপ্লেক্সার ব্যবহারের সাজানোর - এবং এটি আসার অন্য উপায়, আসল রম ব্যবহার করার জন্য।
জাস্টজেফ

একটি এনএক্স 1-বিট রম এমন একটি মাল্টিপ্লেক্সার যার "ডেটা" ইনপুটগুলি শক্ত ওয়্যার্ড। আমি বর্ণিত দৃশ্যে, মাল্টিপ্লেক্সারের "ডেটা" ইনপুটগুলি অপারেটর-নির্বাচন হবে। অনুশীলনে, সম্ভবত 3 টি বা 4-বিট অপকোড থেকে 16 টি সম্ভাব্য লজিকাল অপারেশনগুলির কয়েকটি এবং আরও কয়েকটি অপারেশন বেছে নেওয়ার জন্য একটি ছোট্ট রম ব্যবহার করা হবে (কেউ চাইলে, অপকডটি সরাসরি পেরিয়ে যেতে পারে লজিকাল ইউনিট, তবে অপকড কোনও কার্যকর লজিকাল অপারেশন তৈরি করে না এমন ক্ষেত্রে অন্যান্য ক্রিয়াকলাপগুলি নির্বাচন করতে অন্যান্য মাল্টিপ্লেক্সার ব্যবহার করুন)।
সুপারক্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.