বাইনারি সংখ্যা শূন্য কিনা তা কীভাবে সন্ধান করবেন


16

আমি আমার দ্য উপাদানগুলির কম্পিউটারের সিস্টেমের পুস্তকে প্রদত্ত চশমাগুলি থেকে ALU বাস্তবায়ন করছিলাম। আমি কেবল একটি সমস্যায় আটকে আছি। প্রদত্ত সংখ্যাটি শূন্য কিনা আমি কীভাবে খুঁজে পাব। আমি যা করতে পারি তা হল বা বাসের প্রতিটি বিট, এবং তারপরে একটি নট গেট লাগান apply তবে আরও কিছু মার্জিত সমাধান থাকতে হবে।


6
আপনি সত্যিই আটকে আছেন বলে মনে হচ্ছে না - এর চেয়ে বেশি আপনি অসন্তুষ্ট :)
ভাসাচাকু

7
একটি এক্স ইনপুট NOR হ'ল মার্জিত সমাধান solution রেজিস্টারটি শূন্য রয়েছে কিনা তা নির্ধারণ করতে, প্রতিটি বিটটিতে এটি যৌক্তিক 0 রয়েছে কিনা তা পরীক্ষা করে দেখতে হবে। আপনি উল্লেখ করেছেন যে আপনার একক বিট আউটপুট প্রয়োজন। অতএব আপনার এক্স ইনপুট, এবং একটি এনআওআর মত একটি আউটপুট সঙ্গে কিছু ফাংশন প্রয়োজন।
W5VO

উত্তর:


14

সমস্ত বিটগুলিকে ORing করার সহজ উপায় নেই, যতটা অসন্তুষ্ট হয়। তবে আপনি সিলিকনে দুটি ইনপুট গেটেই সীমাবদ্ধ নন। আপনি পুলআপ নেটওয়ার্কে ৪ টি সিরিজ পি-টাইপ ট্রানজিস্টর এবং পুলডাউন নেটওয়ার্কে ৪ টি সমান্তরাল এন-টাইপ ট্রানজিস্টর রেখে সিএমওএস লজিকসে একটি 4 ইনপুট এনওআর গেট তৈরি করতে পারেন। এটি আপনার গাছের টপোলজির গভীরতা এবং তাই আপনার প্রসারণে বিলম্ব হ্রাস করে। আপনি কেবলমাত্র এই তত্ত্বটি নিতে পারেন যদিও সিরিজ ট্রানজিস্টরগুলিতে ক্রমবর্ধমান ভোল্টেজের ড্রপ আগে "1" হওয়ার পক্ষে পুল-আপটিকে যথেষ্ট টান-আপ না করে তোলে ... চারটি থাম্বের একটি ভাল নিয়ম যদি আমি সঠিকভাবে মনে করি।


বিট একটি বৃহত সংখ্যার জন্য বিকল্প NOR এবং NAND গেট ব্যবহার করে বোঝা যাবে? উদাহরণস্বরূপ, 4 গেটের ফ্যান-ইন সহ, একটি 64-বিট শূন্য পরীক্ষায় 4 টি বিট শূন্য থেকে 4 ননড গেটের মধ্যে 1 টির ফলস্বরূপ 16 টি এনওআর গেট ব্যবহার করতে পারে যা সমস্ত 4 বিট 1 হলে সমস্ত ফলাফল 1 থাকে (সমস্ত ১ original টি মূল বিট ছিল ০), এই চারটি ফলাফলের পরে একটি চূড়ান্ত NOR গেটে প্রেরণ করা হবে। (আমি কোনও ইই নই, তবে মধ্যবর্তী ইনভার্টারগুলি ব্যবহার করে the অল-শূন্য ফলাফলটি 0 to এ ফিরে আসা এবং কেবল নোর গেটগুলি ব্যবহার করার চেয়ে ভাল হবে বলে মনে হয়))
পল এ। ক্লেটন

শূন্য সনাক্তকরণের বিলম্বকে আংশিকভাবে যোগ করার বিলম্বের মধ্যে ভাঁজ করার উপায়ও রয়েছে।
পল এ। ক্লেটন

এনএমওএস ব্যবহার সম্পর্কে কী বলা যায়: কোনও ইনপুট 1 হলে স্তরটি নীচে 0 এনে এক টানা আপ প্রতিরোধক এবং এক্স ট্রানজিস্টর?
ওসকার স্কোগ


8

8 বিট মেশিনের সাধারণ সমাধানটি হ'ল ALU হ'ল বেশ কয়েকটি 'পতাকা' বিট তৈরি করবে যা সর্বশেষতম অপারেশনের ফলাফলকে উপস্থাপন করবে। যদিও চারপাশে প্রচুর পতাকা বিট থাকা সম্ভব হবে (যেমন, আপনার সিপিইউতে প্রতিটি নিবন্ধের জন্য আপনার কাছে একটি 'জেড' পতাকা থাকতে পারে) তবে এটি সাধারণত আপনি কেবল এটিই গণনা করেছেন যে আপনি সবচেয়ে আকর্ষণীয়, তাই এটি সেভাবে করার জন্য এটি একটি নির্দিষ্ট ডিগ্রি অর্জন করে।

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


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

আমি সমাধানটি ঠিকঠাক পেয়েছি, তবে এটি আমাকে বাগিয়ে দেয় মাত্র একটি বিট পেতে আমাকে অনেক যুক্তি ব্যবহার করতে হবে। কিছু মার্জিত সমাধান হতে হবে।
রিক_2047

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

হুবহু এফপিজিএ নয় একটি এইচডিএল এবং হার্ডওয়্যার সিমুলেটর।
রিক_2047

3

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


আমার যদি শূন্য রয়েছে এমন একটি রেজিস্টার থাকে তবে আমি কীভাবে নম্বরটি পরীক্ষা করব? এছাড়াও আমি মাত্র একটি বিট উত্পন্ন করতে চাই যা 16 বিটের বাসটি শূন্য কিনা না তার উপর নির্ভর করে সত্য বা মিথ্যা
রিক_2047

1
একটি তুলনাকারী ... যা মহিমান্বিত NOR গেটের অবক্ষয় ঘটে ...
ভিস্যাটাকু

তিনি এইভাবে কিছু অর্জন করতে পারেন যদি নিবন্ধগুলি সস্তা হয় (তারা এফপিজিএতে একটি এসআরএএম ব্লকে থাকে) এবং অন্য যে কোনও কারণে তার জন্য তুলনামূলক নির্দেশের একটি রেজিস্টার প্রয়োজন needs
jpc

@ ভিচাতু - আসলে আপনি যদি দুটি এন বিট সংখ্যার তুলনা করতে চান তবে আপনার এন 2 ইনপুট এক্সওআর গেটের প্রয়োজন হবে। OR / NOR জিনিসটি কেবল শূন্য পরীক্ষার জন্য ভাল।
জাস্টজেফ

তবে শেষ পর্যন্ত আমার যতগুলি গেট ইনপুট বিট রয়েছে বা কমপক্ষে বহু ট্রানজিস্টর ব্যবহার করা দরকার।
রিক_2047

0

আমি এর একটি বড় অনুরাগী or_reduce- বেশিরভাগ সংশ্লেষ সরঞ্জামগুলি এটিকে সর্বোত্তম বাস্তবায়নে অনুকূলিত করবে যেহেতু তারা জানেন যে আপনি কী করছেন।

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