8-বিট কম্পিউটার একটি ব্রেডবোর্ড ওভারভিউ: 3 টি ধাপ
8-বিট কম্পিউটার একটি ব্রেডবোর্ড ওভারভিউ: 3 টি ধাপ
Anonim
একটি ব্রেডবোর্ড ওভারভিউতে 8-বিট কম্পিউটার
একটি ব্রেডবোর্ড ওভারভিউতে 8-বিট কম্পিউটার

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

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

ধাপ 1: পথ ধরে গবেষণা করুন

পথ ধরে গবেষণা
পথ ধরে গবেষণা
পথ ধরে গবেষণা
পথ ধরে গবেষণা

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

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

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

ধাপ 2: সমস্যার সম্মুখীন

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

ধাপ 3: অর্জন এবং প্রতিফলন

সর্বোপরি, আমি বর্তমানে ঘড়ি, অপকোড এবং প্রোগ্রাম কাউন্টার, ALU ইউনিট, rs rt এবং rd রেজিস্টার এবং RAM সম্পন্ন করেছি। এই প্রকল্পটি সম্পন্ন করার জন্য বাস এবং পেরিফেরালগুলি সম্পূর্ণ করার প্রয়োজন ছাড়াও, আমি কম্পিউটার আর্কিটেকচার সম্পর্কে যথেষ্ট পরিমাণে শিখেছি, যা আমি আশা করি কম্পিউটার আর্কিটেকচার কোর্স গ্রহণ করে আমার সিনিয়র ইয়ার ইলেকটিভদের কাছে নিয়ে যাব।

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

প্রস্তাবিত: