ব্রেডবোর্ড এবং বেসিক ইলেকট্রনিক উপাদানগুলি দিয়ে একটি সম্পূর্ণ কম্পিউটার তৈরি করা সম্ভব? উদাহরণস্বরূপ এইভাবে একটি বৈজ্ঞানিক ক্যালকুলেটর তৈরি করা কি সম্ভব?
ব্রেডবোর্ড এবং বেসিক ইলেকট্রনিক উপাদানগুলি দিয়ে একটি সম্পূর্ণ কম্পিউটার তৈরি করা সম্ভব? উদাহরণস্বরূপ এইভাবে একটি বৈজ্ঞানিক ক্যালকুলেটর তৈরি করা কি সম্ভব?
উত্তর:
আমি একমত হতে চলেছি যে একটি রুটিবোর্ডে একটি মাইক্রোকন্ট্রোলার স্থাপন করা একটি ব্রেডবোর্ডে একটি কম্পিউটার তৈরির যোগ্যতা অর্জন করে। আই / ও (যেমন একটি কীবোর্ড এবং প্রদর্শন) ব্যতীত নিজেই একটি মাইক্রোকন্ট্রোলার সম্পূর্ণ কম্পিউটার। এটি কেবল একটি ব্রেডবোর্ডে রাখা এবং কয়েকটি তারের সংযোগ করা তুচ্ছ এবং দশ মিনিটের মধ্যে করা যেতে পারে।
ওপি যখন জিজ্ঞাসা করেছিল, "বেসড ইলেকট্রনিক উপাদানগুলির দ্বারা," ব্রেডবোর্ড এবং বেসিক ইলেকট্রনিক উপাদানগুলি দিয়ে একটি সম্পূর্ণ কম্পিউটার তৈরি করা কি সম্ভব? "
এখন এটি একটি ব্রেডবোর্ডে একটি কম্পিউটার (ভাল, বেশ কয়েকটি ব্রেডবোর্ড), যা মৌলিক উপাদানগুলি থেকে তৈরি । এটা বর্ণনা এখানে । এটি 74LS00 সিরিজের আইসি এর এক ডজন ধরণের সমন্বয়ে গঠিত। (আমি মনে করি না আমরা ট্রানজিস্টরগুলিতে ফিরে যেতে চাই; মূল পিডিপি -8 একটি ছোট ফ্রিজের আকার ছিল )।
বৈজ্ঞানিক ক্যালকুলেটর যতদূর যায়, যদি আপনি উপরে দেখানো মত একটি সাধারণ উদ্দেশ্যে কম্পিউটার তৈরি করে থাকেন তবে এটি একটি বৈজ্ঞানিক ক্যালকুলেটর হিসাবে প্রোগ্রাম করা যেতে পারে। কেবল যুক্তি আইসি এর (কম্পিউটার নয়) ব্যবহার করে বৈজ্ঞানিক ক্যালকুলেটর তৈরি করা অত্যন্ত কঠিন হবে; এর মতো ক্যালকুলেটরগুলির সমস্ত উত্পাদন (টিআই, এইচপি ইত্যাদি) বিশেষ বড় আকারের আইসি ব্যবহার করে । এখানে একটি গৃহ-নির্মিত ক্যালকুলেটর রয়েছে যা ভোর 4-বিট ক্যালকুলেটর আইসি ব্যবহার করে।
আমি একমত হব যে যদি কেউ কম্পিউটারের উপরে উঠতে এবং যত তাড়াতাড়ি সম্ভব চালনা করতে চায় তবে মাইক্রোকন্ট্রোলার ব্যবহার করা উপায়। যদি কোনও কম্পিউটার অভ্যন্তরীণভাবে কীভাবে কাজ করে তা বুঝতে চায়, তবে বেসিক আইসিগুলির মধ্যে একটি তৈরি করা সঠিক পথ।
এটি কেবলমাত্র সম্ভব নয়, আমি আসলে এটি সম্পাদন করেছি: https://www.vttoth.com/CMS/projects/47 দেখুন
এখানে একটি রুটিবোর্ডের পেছনের তারের মতো দেখতে লাগছিল:
অবশ্যই এটি সমস্ত কিসের উপাদানগুলিকে "বেসিক" হিসাবে যোগ্যতা দেয় তার উপর নির্ভর করে। আমার ক্ষেত্রে, মৌলিক উপাদানগুলি ছিল 74 ... সিরিজ টিটিএল চিপস, যার মধ্যে প্রায় একশটি। পুরোপুরি কম্পিউটার তৈরি করতে, বলুন, ট্রানজিস্টর ... এটি অনেক বেশি অভিভূত হবে।
এছাড়াও, আমার 4-বিট কম্পিউটারটি বৈজ্ঞানিক ক্যালকুলেটর হিসাবে ব্যবহার করার পক্ষে যথেষ্ট শক্তিশালী নয়, মূলত মেমরির সীমাবদ্ধতার কারণে (256 4-বিট নাইববলস)। তবে, সম্ভবত কোনও পেজিং প্রক্রিয়া ব্যবহার করে ঠিকানার জায়গার প্রসারিত করা মারাত্মকভাবে কঠিন নয়, এবং নিশ্চিতভাবেই ইতিমধ্যে 5৫৫36 n পাঁজর (১--বিট ঠিকানা) সম্ভবত ৪০৯6 এনবিবলস (১২-বিট ঠিকানা) যথেষ্ট পরিমাণে সম্ভব।
হ্যাঁ এটি সম্ভব, তবে আপনি কোনও মৌলিক উপাদানকে কী বিবেচনা করছেন তার উপর নির্ভর করে কোনও বৈজ্ঞানিক ক্যালকুলেটর নিয়ে আসতে আপনার কিছুটা ব্রেডবোর্ডের চেয়ে কিছুটা বেশি প্রয়োজন: আপনি যদি ট্রানজিস্টরকে একটি মৌলিক উপাদান বা ফ্লিপ-ফ্লপ বলে থাকেন কিনা , একটি EEPROM বা একটি পুরানো রেফ্রিজারেটর থেকে আপনি সোল্ডার আউট করতে পারেন এমন কিছু।
এখানে বেশ কয়েকটি ভাল উত্তর রয়েছে তবে আমি কেবল একটি বিষয় উল্লেখ করতে চাই যা লোকেরা প্রায়শই বিবেচনা করে না। কম্পিউটিং ডিভাইসের ইতিহাসের দিকে তাকালে, গাছের ছাল এবং নখ থেকে কম্পিউটার তৈরি করতে অসুবিধা সিপিইউ বা এএলইউ নয়। মূল সমস্যা স্মৃতি। কারণ পুরো সঞ্চিত প্রোগ্রাম কনসেপ্টটি কাজ করতে আপনার এটির বিশাল পরিমাণ প্রয়োজন। আপনি কয়েকটি ফ্লিপ-ফ্লপ এবং NAND গেট থেকে সিপিইউ তৈরি করতে পারেন; উদাহরণস্বরূপ নির্দিষ্ট সীমাবদ্ধতা সহ পাওয়ার ইলেক্ট্রনিক্স অ্যাপ্লিকেশনটির জন্য, আমি একবার এমন একটি মাইক্রোপ্রসেসর ডিজাইন করেছি যা কেবলমাত্র 69 টি ফ্লিপ-ফ্লপ ব্যবহার করে (4 16-বিট রেজিস্টার, 4 পতাকা এবং 1 স্টেট রেজিস্টার বিট FETCH / এক্সিকিউটি নির্দেশ করে)। এটি সিলিকনে প্রয়োগ করা হয়েছে এবং লোকেরা এমন সফ্টওয়্যার লেখেন যা এটি চালায়। এটি সহজ এবং এটি পাওয়ার ট্রানজিস্টরের ড্রেন যোগাযোগের আকারের সাথে ফিট করে। তবে যে কোনও দরকারী প্রোগ্রাম সংরক্ষণের জন্য প্রয়োজনীয় মেমরিটি অনেক বেশি, অনেক বড়।
শুরুর দিকে, স্মৃতিটি ছিল নকশার প্রারম্ভিক বিন্দু। প্রাথমিক টেলিফোন এক্সচেঞ্জের মতো আপনি দ্বি-স্থিতিশীল রিলে ব্যবহার করতে পারেন। ফ্লিপ-ফ্লপগুলি তৈরি করতে আপনি ভ্যাকুয়াম টিউব বা ট্রানজিস্টর ব্যবহার করতে পারেন; এবং সিপিইউ-র নিবন্ধগুলি সাধারণত এইভাবে প্রয়োগ করা হত। তবে প্রোগ্রাম এবং ডেটা স্টোরেজের জন্য কাগজ টেপ, চৌম্বকীয় টেপ, স্পিনিং ডিস্ক বা স্পিনিং ড্রাম ব্যবহার করা হয়েছিল। এমনকি স্টিলের তারে শাব্দ তরঙ্গগুলি যা ইলেক্ট্রনিক্স দ্বারা নিয়মিত প্রাপ্ত এবং পুনঃপ্রেরণ করা হয়। আপনি যে বিষয়টি ভাবতে পারেন তা যুক্তিসঙ্গত ব্যয়ের সাথে কিছুটা সময় ধরে কিছু পরিমাণ বিট ধারন করতে পারে। অ্যাপোলো অরবিটার এবং চন্দ্র ল্যান্ডার কম্পিউটারগুলি কয়েল কোর স্মৃতি ব্যবহার করে দড়ি হিসাবে ক্ষতবিক্ষত হয়েছিল। এই সমস্তগুলির জন্য বিভিন্ন ইন্টারফেস সরঞ্জাম প্রয়োজন এবং সিপিইউর কী ধরণের স্মৃতিগুলি অ্যাক্সেস করার মতো হওয়া উচিত তার উপর তার বিশাল প্রভাব রয়েছে। সেমিকন্ডাক্টর স্মৃতি শুধুমাত্র সত্যই 1970 এর দশকে হাজির হয়েছিল, অবশেষে সেই ধরণের জটিলতা খারিজ করে দিচ্ছি। তবে তারপরে আবারও আধুনিক গতিশীল র্যামগুলিও এত সহজ নয়।
তারপরে কম্পিউটারের জন্য ইনপুট-আউটপুট উপকরণ ডিজাইন করার অতিরিক্ত যুক্তি রয়েছে। কিছু অ্যাপ্লিকেশনগুলির জন্য কয়েকটি হালকা বাল্বগুলি ঠিক আছে তবে আপনার যদি পাঠ্য ইনপুট / আউটপুট বা আরও জটিল কিছু প্রয়োজন হয় তবে আপনি আবার আরও জটিলতার মুখোমুখি হচ্ছেন। পাঞ্চ কার্ড কার্ড পাঠক, প্রিন্টার এবং কাগজ টার্মিনাল তাদের দিনগুলিতে একটি বিশাল ব্যবসা ছিল। 1978 সালের একটি ভিটি 100 টেক্সট মোড ভিডিও টার্মিনালটিতে আপনার বৈজ্ঞানিক ক্যালকুলেটর ব্রেডবোর্ড কম্পিউটারের চেয়ে অনেক বেশি মেমরি এবং প্রসেসিং শক্তি রয়েছে।
এটি সম্ভব, তবে জটিলতা এবং আকার নির্ভর করে আপনি কীটিকে মৌলিক বৈদ্যুতিন উপাদান বলে on একটি ALU এবং সিকোয়েন্সার যুক্তিটি কিছুটা জটিল তবে কার্যকর। স্মৃতি সহজ, তবে মৌলিক প্যাটার্নটি অবশ্যই খুব বেশি সংখ্যক বার পুনরাবৃত্তি করতে হবে (1000 বারের কথা ভাবেন)।
হার্ডওয়্যার ছাড়াও আপনার এটিতে চালিত সফ্টওয়্যারও প্রয়োজন হবে। মোটামুটি অনুমান হিসাবে, একটি মাঝারি জটিল সিপিইউ (ক্লাসিক 16-বিট নির্দেশাবলী 8-বিট ডেটা স্তর) এর জন্য আপনার সফ্টওয়্যার প্রচেষ্টা আপনার হার্ডওয়্যার প্রচেষ্টার সাথে তুলনীয় হবে। (আরও সরল সিপিইউর জন্য আপনার আরও এসডব্লিউ প্রচেষ্টা প্রয়োজন)) এবং আপনি কীভাবে সেই যন্ত্রটি আপনার মেশিনে লোড করবেন?
বাগ শিকার (এবং সমাধান) একটি আকর্ষণীয় উদ্যোগ হবে be আমি আপনাকে ভিএইচডিএলতে শিঙা শুরু করতে এবং একটি সিমুলেটারে চালানোর পরামর্শ দিচ্ছি, এটি চিপ এবং তারের একগুচ্ছের চেয়ে ডিবাগ করা আরও সহজ হবে।
আমার দুই শিক্ষার্থী সিমুলেশন জন্য ভিএইচডিএল এবং সি কোড দিয়ে শুরু করে ~ 1 বছরে কিছু বেসিক সফ্টওয়্যার (একটি জিসিসি ব্যাকএন্ড পোর্ট সহ) একটি 16-বিট সিপিইউ তৈরি করেছিল। এএলইউ 74181 চিপ ব্যবহার করেছিল, মেমরিটি ছিল স্ট্যাটিক র্যাম এবং তারা পিসি এবং তাদের কম্পিউটারের মধ্যে ইন্টারফেস করতে একটি অ্যাটমেগা ব্যবহার করেছিল। কম্পিউটারটি আংশিকভাবে সোল্ডারলেস ব্রেডবার্ডে এবং আংশিকভাবে পিসিবিতে ছিল (8 16 বিট রেজিস্টার)। (এই দুজনই औसत শিক্ষার্থী ছিলেন না !)
হ্যা এটা সম্ভব. তবে গণিতটি করার জন্য আপনার একটি মাইক্রোকন্ট্রোলার দরকার। এটি একটি উদাহরণ প্রকল্প। এটিতে এভিআর মাইক্রোকন্ট্রোলার এবং 16 × 2 এলসিডি ডিসপ্লে ব্যবহার করা হয়েছে।